110
PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI Untuk memenuhi sebagian persyaratan memperoleh gelar Sarjana Komputer Disusun oleh: Ahmada Bastomi Wijaya NIM: 135150301111033 PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA MALANG 2017

Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI

PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS

SKRIPSI

Untuk memenuhi sebagian persyaratan memperoleh gelar Sarjana Komputer

Disusun oleh Ahmada Bastomi Wijaya NIM 135150301111033

PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA

FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA

MALANG 2017

ii

PENGESAHAN

PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS

SKRIPSI

Diajukan untuk memenuhi sebagian persyaratan

memperoleh gelar Sarjana Komputer

Disusun Oleh Ahmada Bastomi Wijaya

135150301111033

Skripsi ini telah diuji dan dinyatakan lulus pada 08 Agustus 2017

Telah diperiksa dan disetujui oleh

Dosen Pembimbing I

Candra Dewi SKom MSc NIP 19771114 200312 2 001

Dosen Pembimbing II

Bayu Rahayudi ST MT NIP 19740712 200604 1 001

Mengetahui Ketua Jurusan Teknik Informatika

Tri Astoto Kurniawan ST MT PhD NIP 19710518 200312 1 001

iii

PERNYATAAN ORISINALITAS

Saya menyatakan dengan sebenar-benarnya bahwa sepanjang pengetahuan saya di dalam naskah skripsi ini tidak terdapat karya ilmiah yang pernah diajukan oleh orang lain untuk memperoleh gelar akademik di suatu perguruan tinggi dan tidak terdapat karya atau pendapat yang pernah ditulis atau diterbitkan oleh orang lain kecuali yang secara tertulis disitasi dalam naskah ini dan disebutkan dalam daftar pustaka

Apabila ternyata didalam naskah skripsi ini dapat dibuktikan terdapat unsur-unsur plagiasi saya bersedia skripsi ini digugurkan dan gelar akademik yang telah saya peroleh (sarjana) dibatalkan serta diproses sesuai dengan peraturan perundang-undangan yang berlaku (UU No 20 Tahun 2003 Pasal 25 ayat 2 dan Pasal 70)

Malang 10 Agustus 2017

Ahmada Bastomi Wijaya

135150301111033

iv

KATA PENGANTAR

Puji syukur penulis panjatkan kepada Allah SWT yang telah memberikan rahmat dan hidayah-Nya kepada penulis sehingga penulis dapat menyelesaikan skripsi dengan judul ldquoPeramalan Curah Hujan Menggunakan Metode High Order Fuzzy Time Series Multi Factorsrdquo

Melalui kesempatan ini penulis ingin menyampaikan terima kasih kepada semua pihak yang telah memberikan bantuan serta dukungan kepada penulis dalam menyelesaikan skripsi ini diantaranya

1 Kedua orang tua penulis Bapak Wahyudi Rianto amp Ibu Sugihartiwi yang selalu memberikan dorsquoa kasih sayang dan semangat kepada penulis

2 Ibu Candra Dewi SKom MSc selaku dosen pembimbing I yang telah memberikan ilmu serta saran selama proses pengerjaan skripsi ini

3 Bapak Bayu Rahayudi ST MT selaku dosen pembimbing II yang juga telah memberikan ilmu serta saran selama proses pengerjaan skripsi ini

4 Ibu Hurriyatul Fitriyah ST MSc selaku dosen penasihat akademik yang telah memberikan banyak kritik dan saran selama proses perkuliahan

5 Bapak Wayan Firdaus Mahmudy S Si MT PhD selaku Dekan Fakultas Ilmu Komputer Universitas Brawijaya

6 Bapak Tri Astoto Kurniawan ST MT PhD selaku Ketua Jurusan Teknik Informatika Fakultas Ilmu Komputer Universitas Brawijaya

7 Bapak Agus Wahyu Widodo ST MCs selaku Ketua Program Studi Teknik Informatika Fakultas Ilmu Komputer Universitas Brawijaya

8 Semua teman FILKOM khususnya angkatan 2013 yang telah memberikan bantuan serta dukungan selama masa perkuliahan dan pengerjaan skripsi

9 Semua pihak yang tidak dapat disebutkan satu persatu yang terlibat baik secara langsung mapun tidak langsung yang telah membantu penulis dalam menyelesaikan skripsi ini

Penulis menyadari bahwa skripsi ini masih banyak kekurangan sehingga penulis dengan terbuka menerima kritik serta saran yang membangun Akhir kata penulis berharap skripsi ini dapat bermanfaat dan berguna bagi semua pihak yang menggunakannya

Malang 10 Agustus 2017

Penulis

ahmadabastomigmailcom

v

ABSTRAK

Kabupaten Malang merupakan salah satu kabupaten di Jawa Timur yang memiliki tingkat produksi pertanian yang cukup tinggi dimana hampir disetiap kecamatanya memiliki lahan pertanian Permasalahannya adalah pada saat curah hujan yang tinggi tidak sedikit petani yang mengalami gagal panen Curah hujan adalah salah satu dari beberapa faktor yang mempengaruhi perubahan iklim sehingga sangat menentukan hasil panen yang diperoleh Permasalahan gagal panen ini dapat diatasi dengan melakukan peramalan curah hujan dengan adanya peramalan curah hujan petani dapat menentukan waktu pola tanam yang sesuai sehingga dapat mengantisipasi terjadinya gagal panen Pada penelitian ini peramalan curah hujan dalam dasarian berdasarkan beberapa faktor yaitu suhu kelembaban dan kecepatan angin Metode yang digunakan untuk peramalan curah hujan dasarian adalah High Order Fuzzy Time Series Multi factors Pada metode ini pembentukan subinterval dilakukan dengan menggunakan fuzzy C-means Dalam menghitung kesalahan hasil peramalan menggunakan Mean Square Error (MSE) Berdasarkan hasil pengujian yang dilakukan semakin kecil threshold serta semakin besar data training dan order maka nilai kesalahan yang diperoleh semakin rendah Hasil peramalan curah hujan dasarian untuk peramalan satu tahun kedepan menggunakan metode ini mendapatkan hasil MSE terbaik sebesar 539698

Kata kunci curah hujan fuzzy C-means fuzzy time series peramalan

vi

ABSTRACT

Malang Regency is one of the regencies in East Java which has a high level of agricultural production in almost every district has agricultural land The problem is when high rainfall is not a few farmers who experienced crop failure Rainfall is one of several factors that affect climate change so it is very important to determine the yields obtained The problem of this harvest failure can be overcome by forecasting rainfall with rainfall forecasting farmers can determine the time of the appropriate cropping patterns so as to anticipate the occurrence of crop failure On the research of forecasting rainfall in dasarian based on several factors namely temperature humidity and wind speed The methods used for forecasting rainfall dasarian is a High-Order Fuzzy Time Series Multi factors In this method the formation of subinterval using fuzzy C-means In calculating the error of forecasting result using Mean Square Error (MSE) Based on the results of tests conducted the smaller threshold and the greater data training as well order the value error is obtained increasingly low The result of forecasting dasarian rainfall for forecasting one year ahead using this method get the best MSE result of 539698 Keywords rain fall fuzzy C-means fuzzy time series forecasting

vii

DAFTAR ISI

PENGESAHAN ii

PERNYATAAN ORISINALITAS iii

KATA PENGANTAR iv

ABSTRAK v

ABSTRACT vi

DAFTAR ISI vii

DAFTAR TABEL xi

DAFTAR GAMBAR xiii

DAFTAR KODE PROGRAM xv

DAFTAR LAMPIRAN xvi

BAB 1 PENDAHULUAN 1

11 Latar belakang 1

12 Rumusan masalah 2

13 Tujuan 3

14 Manfaat 3

15 Batasan masalah 3

16 Sistematika pembahasan 3

BAB 2 LANDASAN KEPUSTAKAAN 5

21 Kajian Pustaka 5

22 Dasar Teori 7

221 Peramalan 8

222 Curah hujan 8

223 Data time series 9

224 Logika Fuzzy 10

225 Metode Fuzzy C-means 13

226 Metode Peramalan dengan Fuzzy Time Series 15

227 Metode High Order Fuzzy Time Series Multi Factors 17

228 Perhitungan keakuratan metode peramalan 20

BAB 3 METODOLOGI 22

31 Studi Literatur 22

viii

32 Pengumpulan Data 23

33 Perancangan 23

34 Implementasi 23

35 Pengujian dan Analisis 23

36 Kesimpulan dan Saran 24

BAB 4 PERANCANGAN 25

41 Perancangan Proses 25

411 Proses perhitungan Universe of Discourse 26

4111 Proses perhitungan Mean 28

4112 Proses perhitungan standar deviasi 29

4113 Proses perhitungan nilai Dmin dan Dmax 30

412 Proses perhitungan jumlah cluster 31

413 Proses perhitungan pusat cluster 32

414 Proses pembentukan subinterval dan Fuzzy set 37

415 Proses Fuzzifikasi 38

416 Proses pembentukan Fuzzy Logical Relationship 41

417 Proses Defuzzifikasi 43

42 Perhitungan Manual 46

421 Perhitungan Universe of Discourse (U) 46

422 Perhitungan jumlah cluster (k) 48

423 Perhitungan pusat cluster dan subinterval 49

4231 Penentuan pusat cluster 49

4232 Perhitungan batas subinterval 55

424 Pembentukan Fuzzy Set 56

425 Fuzzifikasi 56

426 Pembentukan Fuzzy Logical Relationship (FLR) 58

427 Defuzzifikasi 58

43 Perancangan antarmuka 60

431 Halaman input 60

432 Halaman tampil data 61

433 Halaman proses 62

434 Halaman hasil 63

ix

435 Halaman perhitungan error 64

44 Perancangan pengujian 64

441 Perancangan pengaruh order terhadap nilai MSE 64

442 Perancangan pengaruh threshold terhadap nilai MSE 65

443 Perancangan pengaruh jumlah data training terhadap nilai MSE 65

444 Perancangan validasi sistem 65

BAB 5 IMPLEMENTASI 67

51 Spesifikasi Sistem 67

511 Spesifikasi Perangkat Keras 67

512 Spesifikasi Perangkat Lunak 67

52 Implementasi Algoritma 67

521 Implementasi Proses Universe of Discourse 68

5211 Implementasi proses mean 68

5212 Implementasi proses standar deviasi 68

5213 Implementasi proses Dmin dan Dmax 69

522 Implementasi Proses Jumlah Cluster 69

523 Implementasi Proses Pusat Cluster 70

524 Implementasi Proses Pembentukan Subinterval dan Fuzzy Set 72

525 Implementasi proses fuzzifikasi 74

526 Implementasi Pembentukan Fuzzy Logical Relationship 75

527 Implementasi Proses Defuzzifikasi 77

53 Implementasi Antarmuka 79

531 Implementasi antarmuka halaman input 79

532 Implementasi antarmuka halaman tampil data 80

533 Implementasi antarmuka halaman proses 80

534 Implementasi antarmuka halaman hasil 82

535 Implementasi antarmuka halaman perhitungan error 82

BAB 6 PENGUJIAN DAN ANALISIS 83

61 Sistematika Pengujian 83

62 Hasil dan Analisis Pembahasan 83

621 Pengujian pengaruh order terhadap nilai MSE 83

x

622 Pengujian pengaruh threshold terhadap nilai MSE 85

623 Pengujian pengaruh jumlah data training terhadap nilai MSE 86

624 Pengujian validasi sistem 88

BAB 7 PENUTUP 90

71 Kesimpulan 90

72 Saran 91

DAFTAR PUSTAKA 92

LAMPIRAN 95

Lampiran 1 Data Sampel 95

xi

DAFTAR TABEL

Tabel 21 Kajian Pustaka 5

Tabel 22 Fuzzy Logic Relationship 19

Tabel 23 Peramalan fuzzy set 20

Tabel 41 Data Sampel Perhitungan Manual 46

Tabel 42 Hasil kuadrat dari selisih data ke-i dan mean 47

Tabel 43 Nilai minimum nilai maksimum dan standar deviasi 47

Tabel 44 Hasil Universe of Discourse 48

Tabel 45 Nilai absolut selisih data hari ke-t dengan hari sebelumnya 48

Tabel 46 Hasil jumlah cluster data 49

Tabel 47 Matriks partisi awal pada cluster data A 50

Tabel 48 Derajat keanggotaan matriks partisi data A 51

Tabel 49 Perhitungan pusat cluster data A 52

Tabel 410 Fungsi objektif data A 53

Tabel 411 Perbaikan matriks partisi 54

Tabel 412 Hasil perbaikan matriks partisi 54

Tabel 413 Hasil pusat cluster 55

Tabel 414 Batas subinterval masing ndash masing atribut data 55

Tabel 415 Hasil derajat keanggotaan dan fuzzy set data A 57

Tabel 416 Hasil fuzzifikasi semua data attribut 57

Tabel 417 Hasil pembentukan FLR data training 58

Tabel 418 Hasil pembentukan FLR data testing 58

Tabel 419 Frekuensi FLR yang cocok dengan data testing 59

Tabel 420 Perbandingan data aktual dan hasil peramalan 60

Tabel 421 Rancangan pengujian order terhadap nilai MSE 64

Tabel 422 Rancangan pengujian threshold terhadap nilai MSE 65

Tabel 423 Rancangan pengujian jumlah data training terhadap nilai MSE 65

Tabel 424 Rancangan pengujian validasi sistem 66

Tabel 51 Spesifikasi Perangkat Keras 67

Tabel 52 Spesifikasi Perangkat Lunak 67

Tabel 61 Hasil pengujian order terhadap nilai MSE 83

xii

Tabel 62 Hasil pengujian threshold terhadap nilai MSE 85

Tabel 63 Hasil pengujian jumlah data training terhadap nilai MSE 87

Tabel 64 Hasil pengujian validasi sistem 88

xiii

DAFTAR GAMBAR

Gambar 21 Representasi linear naik 11

Gambar 22 Representasi linear turun 12

Gambar 23 Representasi kurva segitiga 12

Gambar 31 Diagram blok metodologi penelitian 22

Gambar 41 Diagram alir metode penelitian yang digunakan (bagian 1) 25

Gambar 42 Diagram alir metode penelitian yang digunakan (bagian 2) 26

Gambar 43 Diagram alir proses perhitungan Universe of Discourse 27

Gambar 44 Diagram alir proses perhitungan mean 28

Gambar 45 Diagram alir proses perhitungan standar deviasi 29

Gambar 46 Diagram alir perhitungan nilai Min dan Max 30

Gambar 47 Diagram alir proses perhitungan jumlah cluster 31

Gambar 48 Diagram alir proses perhitungan pusat cluster (bagian 1) 32

Gambar 49 Diagram alir proses perhitungan pusat cluster (bagian 2) 33

Gambar 410 Diagram alir proses perhitungan pusat cluster (bagian 3) 34

Gambar 411 Diagram alir proses perhitungan pusat cluster (bagian 4) 35

Gambar 412 Diagram alir proses perhitungan pusat cluster (bagian 5) 36

Gambar 413 Diagram alir pembentukan subinterval dan fuzzy set (bagian 1) 37

Gambar 414 Diagram alir pembentukan subinterval dan fuzzy set (bagian 2) 38

Gambar 415 Diagram alir proses fuzzifikasi (bagian 1) 39

Gambar 416 Diagram alir proses fuzzifikasi (bagian 2) 40

Gambar 417 Diagram alir proses Pembentukan FLR (bagian 1) 41

Gambar 418 Diagram alir proses Pembentukan FLR (bagian 2) 42

Gambar 419 Diagram alir proses Pembentukan FLR (bagian 3) 43

Gambar 420 Diagram alir proses defuzzifikasi (bagian 1) 44

Gambar 421 Diagram alir proses defuzzifikasi (bagian 2) 45

Gambar 422 Grafik fuzzy set data A 56

Gambar 423 Rancangan antarmuka halaman input 61

Gambar 424 Rancangan antarmuka halaman tampil data 61

Gambar 425 Rancangan antarmuka halaman proses clustering 62

Gambar 426 Rancangan antarmuka proses fuzzifikasi 62

xiv

Gambar 427 Rancangan antarmuka proses fuzzy logical relationship 63

Gambar 428 Rancangan antarmuka halaman hasil peramalan 63

Gambar 429 Rancangan antarmuka halaman perhitungan error 64

Gambar 51 Implementasi antarmuka halaman input 79

Gambar 52 Implementasi antarmuka halaman tampil data 80

Gambar 53 Implementasi antarmuka halaman proses clustering 80

Gambar 54 Implementasi antarmuka halaman proses fuzzification 81

Gambar 55 Implementasi halaman antarmuka proses FLR 81

Gambar 56 Implementasi halaman antarmuka hasil 82

Gambar 57 Implementasi halaman antarmuka perhitungan error 82

Gambar 61 Grafik hasil pengujian order terhadap nilai MSE 84

Gambar 62 Grafik hasil pengujian threshold terhadap nilai MSE 86

Gambar 63 Grafik hasil pengujian data training terhadap nilai MSE 87

Gambar 64 Grafik hasil pengujian validasi sistem 88

Gambar 65 Grafik perbandingan data aktual dengan hasil peramalan 89

xv

DAFTAR KODE PROGRAM

Kode Program 51 Implementasi proses Universe of Discourse 68

Kode Program 52 Implementasi proses mean 68

Kode Program 53 Implementasi proses standar deviasi 69

Kode Program 54 Implementasi proses Dmin dan Dmax 69

Kode Program 55 Implementasi proses jumlah cluster 70

Kode Program 56 Implementasi proses pusat cluster 72

Kode Program 57 Implementasi pembentukan subinterval dan fuzzy set 74

Kode Program 58 Implementasi proses fuzzifikasi 75

Kode Program 59 Implementasi pembentukan FLR 77

Kode Program 510 Implementasi proses defuzzifikasi 79

xvi

DAFTAR LAMPIRAN

Lampiran 1 Tabel Data Sampel 95

1

BAB 1 PENDAHULUAN

11 Latar belakang

Kabupaten Malang merupakan salah satu kabupaten di Jawa Timur yang terkenal akan potensi alam yang dimiliki (BPS Kabupaten Malang 2016) Dalam hal ini terkenal akan potensi alamnya karena kabupaten Malang memiliki tingkat produksi di sektor pertanian yang cukup tinggi dimana hampir seluruh kecamatan di kabupaten Malang memiliki lahan pertaniaaan (BPS Jatim 2015) Permasalahan yang terjadi pada sektor pertanian yaitu terjadinya gagal panen apabila memasuki musim penghujan dengan curah hujan yang tinggi yaitu diatas 200 mm per bulan serta apabila memasuki musim kemarau dengan curah hujan yang rendah yaitu dibawah 100 mm per bulan (BMKG Staklim Karangploso Malang 2015) Dalam mengatasi hal tersebut upaya yang dilakukan petani selama ini hanya melakukan tindakan seperti melakukan panen secara dini Upaya ini dianggap petani cukup efektif dalam mengurangi besarnya kerugian gagal panen akan tetapi sebaiknya yang dilakukan adalah melakukan suatu tindakan agar kerugian yang dialami petani tidak terjadi lagi (Ardiyanto 2016)

Salah satu contoh tindakan yang dapat dilakukan adalah membuat Kalender Tanam (KATAM) KATAM dapat digunakan petani sebagai alat bantu atau pedoman dalam menentukan awal musim tanam terbaik seperti yang telah dilakukan oleh Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian Dalam pembuatan KATAM Balitbang menggunakan data peramalan curah hujan dari Badan Meteorologi Klimatologi dan Geofisika (BMKG) Akan tetapi BMKG mengakui bahwa prakiraan cuacanya saat ini memang masih kurang akurat dan masih kalah dengan prakiraan cuaca di Amerika Serikat (Yunanto 2014) Pentingnya akan prakiraan cuaca terbukti adanya beberapa penelitian sebelumnya yaitu penelitian prakiraan cuaca dengan input faktor yang mempengaruhi cuaca yang berupa data time series menggunakan metode Adaptive Neuro Fuzzy Inference System (ANFIS) (Dewi 2014) dan penelitian mengenai prediksi cuaca menggunakan metode Backpropagation Neural Network yang terbukti memiliki nilai akurasi yang baik dalam prediksi cuaca (Dewi 2013)

Teknik atau metode peramalan curah hujan yang sering digunakan BMKG adalah metode Autoregressive Integrated Moving Average (ARIMA) ANFIS dan Wavelet (Kurniawan 2007) Namun dalam penerapannya gabungan dari ketiga metode tersebut masih kurang memuaskan yaitu tingkat akurasinya hanya mencapai 60 - 70 Menurut BMKG kurangnya tingkat akurasinya ini disebabkan oleh keadaan pola atmosfer di Indonesia yang selalu berubah ndash ubah dan kurang menentu

Selain metode yang digunakan oleh BMKG adapun penelitian sebelumnya yang meramalkan curah hujan yaitu penelitian menggunakan metode Fuzzy Time Series Chen dengan studi kasus curah hujan di Samarinda dalam penelitian ini menggunakan data time series curah hujan bulanan dengan kesimpulan pengunaan data yang sedikit memiliki tingkat akurasi lebih tinggi dibandingkan

2

menggunakan data yang banyak yaitu menghasilkan nilai RMSE terkecil 7368 dan MAE terkecil 539 (Fauziah et al 2016)

Selain peramalan yang hanya menggunakan data time series dari data yang akan diramalkan juga terdapat penelitian sebelumnya yang menggunakan faktor - faktor yang mempengaruhi dari data yang akan diramalkan Salah satunya yaitu penelitian dengan menggunakan metode Clusterwise Linear Regression (CLR) Penelitian ini menggunakan data bulanan pada delapan stasiun cuaca di kota Victoria Australia Peramalan curah hujan pada penelitian ini menggunakan faktor yang mempengaruhi yaitu suhu maksimum suhu minimum penguapan tekanan uap dan radiasi matahari Hasil penelitian ini terbukti dapat melakukan peramalan curah hujan dengan hasil yang cukup baik yaitu dengan nilai RMSE terkecil 197 dan MAE terkecil 129 (Bagirov et al 2017)

Berdasarkan paparan yang telah dijelaskan penulis memiliki ide untuk melakukan penelitian dengan judul ldquoPeramalan Curah Hujan dengan Metode High Order Fuzzy Time Series Multi Factorsrdquo Pada metode ini dilakukan klasterisasi data untuk membangun subinterval dengan menggunakan metode fuzzy C-means (LinYang 2009) Dari proses hasil klasterisasi akan digunakan untuk membagi data semesta yang selanjutnya menghasilkan fuzzy set atau himpunan fuzzy yang menggambarkan fitur data (LinYang 2009) Keunggulan dari metode fuzzy time series dengan multi faktor yaitu dengan berdasarkan pada penelitian ndash penelitian sebelumnya yang menggunakan metode tersebut yaitu penelitian prediksi harga emas dengan beberapa faktor yang mempengaruhi menggunakan metode Multi-factors High order Fuzzy Time Series Model dari hasil penelitian ini dengan menggunakan metode evaluasi Mean Absolute Percentage Error (MAPE) dapat diperoleh nilai error terkecil sebesar 0443 (Wardhani et al 2015) dan penelitian peramalan Indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen menggunakan metode Fuzzy Time Series Model dari penilitian ini menunjukan tingkat Average Relative Error (ARError) sebesar 176 untuk bursa efek harian Shanghai sedangkan untuk bursa efek harian Shenzhen didapatkan ARError sebesar 187 (Lin Yang 2009) terbukti menghasilkan hasil peramalan dengan tingkat akurasi yang cukup tinggi Penggunaan metode ini juga sesuai dengan curah hujan yang dipengaruhi oleh beberapa faktor yaitu kelembaban udara kecepatan angin dan suhu (Pradipta 2013) Penelitian ini diharapkan dapat memberikan hasil peramalan curah hujan yang lebih akurat dan memiliki nilai kesalahan yang lebih sedikit

12 Rumusan masalah

Berdasarkan latar belakang yang telah dipaparkan dibuatlah beberapa rumusan masalah sebagai berikut

1 Bagaimana mengimplementasikan Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

2 Berapa tingkat kesalahan dari hasil implementasi Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

3

13 Tujuan

Adapun maksud dan tujuan dari penelitian ini adalah sebagai berikut

1 Mengimplementasikan Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

2 Mengetahui tingkat kesalahan dari hasil implementasi Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

14 Manfaat

Adapun manfaat dari penelitian ini adalah sebagai berikut

1 Bagi Badan Meteorologi dan Geofisika (BMKG) untuk dapat memberikan peramalan curah hujan yang lebih akurat dari sebelumnya

2 Bagi Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian untuk dapat membuat Kalender tanam (KATAM) dengan menggunakan data ramalan curah hujan yang lebih akurat

3 Bagi penduduk kabupaten Malang khususnya yang bekerja pada sektor pertanian agar dapat mengoptimalkan hasil produksi dengan menyesuaikan penanaman sesuai dengan Kalender Tanam (KATAM) yang telah dibuat Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian

15 Batasan masalah

Penelitian ini dibatasi oleh hal ndash hal sebagai berikut

1 Data curah hujan kelembaban udara kecepatan angin dan suhu udara yang digunakan pada penelitian ini merupakan data berdasarkan dasarian dan hanya mencakup wilayah kabupaten Malang dan data diperoleh dari BMKG Karangkates Kabupaten Malang dengan data time series yang digunakan pada penelitian ini yaitu dari tahun 2011 - 2016

2 Model peramalan yang diterapkan adalah semua nilai yang membentuk pola dataset training dan testing diketahui nilainya

3 Perhitungan nilai tingkat kesalahan permalan menggunakan metode Mean Square Error (MSE)

16 Sistematika pembahasan

Sistematika pembahasan penelitian ditunjukkan untuk memberikan gambaran dan uraian dari penyusunan proposal yang meliputi beberapa bab sebagai berikut

BAB 1 PENDAHULUAN

Pada bab ini berisi latar belakang rumusan masalah tujuan penelitian manfaat penelitian batasan masalah sistematika pembahasan dan rencana kerja atau jadwal penelitian

4

BAB 2 LANDASAN KEPUSTAKAAN

Pada bab ini berisi tentang kajian pustaka dan dasar teori yang menjadi dasar dalam melakukan implementasi peramalan curah hujan dengan Metode High Order Fuzzy Time Series Multi Factors

BAB 3 METODOLOGI

Pada bab ini diuraikan tentang tahapan atau langkah ndash langkah yang dilakukan dalam proses penelitian tentang peramalan curah hujan dengan metode High Order Fuzzy Time Series Multi Factors Langkah ndash langkah tersebut terdiri dari tahapan penelitian teknik pengumpulan data algoritma yang digunakan lingkungan pengujian dan pengujian algoritma yang digunakan serta pengambilan kesimpulan

BAB 4 PERANCANGAN

Pada bab ini berisi tentang perancangan proses algoritma perhitungan manual metode High Order Fuzzy Time Series Multi Factors perancangan antar muka dan perancangan pengujian

BAB 5 IMPLEMENTASI

Pada bab ini berisi tentang penjelasan peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors bagaimana user interface dan source code dalam pengimplementasian metode ini

BAB 6 PENGUJIAN DAN ANALISIS

Pada bab ini berisi tentang penjelasan proses dan hasil pengujian dari implementasi metode High Order Fuzzy Time Series Multi Factors dalam peramalan curah hujan serta analisis dari pengujian tersebut

BAB 7 PENUTUP

Pada bab ini berisi kesimpulan yang diperoleh dari hasil pengujian dan saran ndash saran untuk pengembangan penelitian selan

5

BAB 2 LANDASAN KEPUSTAKAAN

Bab ini berisi mengenai kajian pustaka dan dasar ndash dasar teori yang akan dibahas serta digunakan untuk menunjang topik ndash topik pembahasan Pada kajian akan dibahas perbedaan antara penelitian yang telah ada dengan penelitian yang diusulkan oleh penulis Sedangkan pada dasar teori akan dibahas mengenai teori ndash teori yang digunakan pada penelitian yang diusulkan

21 Kajian Pustaka

Pada kajian pustaka disini berisi mengenai perbandingan antara penelitian yang diusulkan oleh penulis dengan penelitian sebelumnya yang relevan Perbandingan tersebut dapat dilihat padat Tabel 21

Tabel 21 Kajian Pustaka

No Judul Objek dan Input Penelitian Metode

1 Penerapan Metode Automatic Clustering dan High Order Fuzzy Time Series Pada Peramalan Curah Hujan (Irsyad Metarice 2013)

Objek Curah hujan

Input Penelitian

Data aktual curah hujan

Metode High Order Fuzzy Time Series dan Automatic Clustering

Nilai evalusi

Mean Absolute Percentage Error (MAPE)

2 Peramalan Menggunakan Fuzzy Time Series Chen (Studi Kasus Curah Hujan Kota Samarinda) (Fauziah et al 2016)

Objek Curah Hujan

Input Penelitian

Data aktual curah hujan

Metode Fuzzy Time Series Chen

Nilai evaluasi

Mean Absolute Error (MAE) Root Mean of Square Error (RMSE)

3 Implementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emas (Wardhani et al 2015)

Objek Harga Emas

Input Penelitian

Kurs Dollar hari sebelumnya

Kurs Euro hari sebelumnya

Harga Emas London hari sebelumnya

Harga Emas hari sebelumnya

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

Nilai evalusi

Mean Absolute Percentage Error (MAPE)

4 Stock Markets Forecasting Based on Fuzzy Time Series Model (Lin Yang 2009)

Objek Indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

6

Input Penelitian

Historical return

Historical turnover volume

Rata ndash rata selisih pergerakan harga selama lima hari

Selisih antara kekuatan bull dan bear

Indeks komposit bursa efek harian Shanghai sebelumnya

Indeks komposit bursa efek harian Shenzhen

Nilai evalusi

Average Relative Error (ARError)

5 Peramalan Curah Hujan Menggunakan Metode High Order Fuzzy Time Series Multi Factors

Objek Curah hujan

Input Penelitian

Suhu

Kelembaban

Kecepatan angin

Curah hujan

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

Nilai evalusi

Mean Square Error (MSE)

Sumber (Irsyad Metarice 2013) (Fauziah et al 2016) (Wardhani et al 2015) dan (Lin Yang 2009)

Pada penelitian yang pertama yaitu penelitian yang dilakukan oleh Muhammad Irsyad dan Sonya Metarice pada tahun 2013 dengan objek penelitian yang diramalkan adalah curah hujan Inputan yang digunakan pada penelitian ini merupakan data aktual curah hujan bulanan Metode yang digunakan penelitian ini adalah Automatic Clustering dan High Order Fuzzy Time Series Pada penelitian ini metode Automatic Clustering digunakan untuk membangun interval dan High Order Fuzzy Time Series untuk melakukan peramalan curah hujan Kesimpulan yang diperoleh dari penelitian ini yaitu metode ini dapat diterapkan untuk permalan curah hujan dan hasil evaluasi menggunakan metode Mean Absolute Percentage Error(MAPE) dari beberapa bercobaan dapat diperoleh nilai kesalahan sebesar 437 Berdasarkan dari hasil nilai kesalahan tersebut maka tingkat kesalahan data pada permalan ini termasuk rendah

Pada tahun 2016 Normalita Fauziah Sri Wahyuningsih dan Yuki Novia Nasution melakukan penelitian dengan objek penelitian curah hujan di kota Samarinda Inputan yang digunakan pada penelitian berupa data aktual bulanan curah hujan di kota Samarinda Metode yang digunakan pada penelitian ini adalah Fuzzy Time Series Chen dengan dalam pembentukkan panjang interval berbasis rata ndash rata atau average based Pada penelitian ini permalan curah hujan terbaik yaitu dengan menggunkan data sebanyak 29 data dengan menghasilkan tingkat nilai kesalahan terkecil yaitu dengan metode Root Mean of Squared Error (RMSE) sebesar 7368 dan metode Mean Absolute Error (MAE) sebesar 539 Pada

(Lanjutan) Tabel 21 Kajian Pustaka

7

penelitian ini disimpulkan bahwa data sebanyak 29 data memiliki tingkat kesalahan lebih kecil dibandingkan dengan menggunakan data dengan jumlah sampel yang lebih banyak

Pada penelitian selanjutnya adalah penelitian yang dilakukan oleh Dessy Kusuma Wardhani Dian Eka Ratnawati dan Budi Darma Setiawan pada tahun 2015 dengan objek penelitian yang diramalkan adalah harga emas harian Inputan yang digunakan pada penelitian ini data aktual harian harga emas indonesia harga emas london kurs dollar ke rupiah dan kurs euro ke rupiah Metode yang digunakan pada penelitian pada pembentukkan sub interval menggunakan metode fuzzy C-means dan untuk peramalan menggunakan metode High Order Fuzzy Time Series Model Hasil pada penelitian ini berdasarkan menggunakan metode evaluasi Mean Absolute Percentage Error (MAPE) dapat diperoleh nilai error terkecil sebesar 0443 karena nilai error lebih kecil dari 10 menunjukkan bahwa metode ini sangat baik digunakan untuk peramalan harga emas

Pada tahun 2009 Yupei Lin dan Yiwei Yang melakukan penelitian dengan objek yang diramalkan adalah indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen Data input penelitian ini meliputi historical return historical turnover volume dan rata ndash rata selisih pergerakan harga selama lima hari serta selisih antara kekuatan bull dan bear Dalam penelitian ini pembentukan subinterval yang berfungsi dalam pendefinisian himpunan fuzzy dilakukan dengan menggunakan klasterisasi fuzzy C-means Hasil dari penilitian ini menunjukan tingkat Average Relative Error (ARError) sebesar 176 untuk bursa efek harian Shanghai sedangkan untuk bursa efek harian Shenzhen didapatkan ARError sebesar 187 Dalam hal ini membuktikan bahwa penelitian dapat menghasilkan peramalan yang cukup baik karena memiliki nilai ARError kurang dari 5

Pada penelitian ini membahas tentang peramalan curah hujan dasarian menggunakan metode High Order Fuzzy Time Series Multi Factors Terdapat empat inputan yang juga dijadikan sebagai variabel dalam penelitian ini yaitu kelembaban udara kecepatan angin suhu udara dan curah hujan Pembentukan subinterval yang berfungsi dalam pendefinisian fuzzy set dilakukan dengan menggunakan klasterisasi fuzzy C-means Penelitian ini menggunakan high order fuzzy logic relationship yaitu membentuk fuzzy logic relationship berdasarkan data dalam kurun waktu beberapa dasarian sebelum dasarian yang akan diramal Pada penelitian ini dalam melakukan perhitungan nilai error untuk mendapatkan hasil evaluasi menggunakan metode Mean Square Error (MSE)

22 Dasar Teori

Pada dasar teori disini dijelaskan tentang metode ndash metode yang digunakan pada penelitian ini yang meliputi peramalan curah hujan data time series logika fuzzy fuzzy C-means metode peramalan dengan Fuzzy Time Series High Order Fuzzy Time Series Multi Factors dan metode perhitungan keakuratan metode peramalan

8

221 Peramalan

Terdapat beberapa definisi tentang peramalan menurut Kamus Besar Bahasa Indonesia (KBBI) yaitu

a Peramalan merupakan prediksi rencana atau estimasi kejadian masa depan yang tidak pasti (KBBI)

b Peramalan adalah sebagai penggunaan teknik ndash teknik statistik dalam bentuk gambaran masa depan berdasarkan pengolahan angka ndash angka yang terjadi pada masa lalu (Buffa et al1996)

c Peramalan adalah bagian internal dari pengambilan keputusan manajemen (Makridakis et al1999)

Berdasarkan beberapa definisi diatas dapat disimpulkan bahwa peramalan merupakan tindakan apa yang akan terjadi di masa mendatang peramalan diperlukan untuk mengambil sebuah keputusan Dalam pengambilan keputusan harus diambil dari pertimbangan ndash pertimbangan yang ada Oleh karena itu peramalan sangat penting hubungannya dengan pengambilan keputusan sehingga kejadian di masa yang akan datang dapat dipersiapkan tindakan apa yang perlu dilakukan

222 Curah hujan

Curah hujan merupakan salah satu faktor penting yang mempengaruhi perubahan iklim suatu wilayah (Mirawati et al 2013) Salah satu contoh kasus nyata yaitu terjadinya perubahan iklim secara tiba ndash tiba atau bisa disebut dengan cuaca ekstrim Curah hujan dapat dijelaskan dengan air hujan yang terkumpul pada suatu wadah datar dimana air hujan tersebut tidak meresap tidak menguap dan tidak mengalir sehingga dapat diukur ketinggiannya Sebagai contoh curah hujan 1 (satu) milimeter dapat dijelaskan dalam suatu wadah datar dengan luas satu meter persegi tertampung air dengan ketinggian sekitar satu milimeter atau tertampung air sebanyak satu liter Metode dalam mendapatkan data curah hujan adalah dengan menggunakan penakar hujan yang kemudian diukur dengan satuan milimeter (mm) (User2015) Intensitas curah hujan dapat dikategorikan ringan jika dibawah 20mm dalam 24 jam dikategorikan lebat jika di atas 50mm dan dikategorikan sedang jika selang 20mm hingga 50mm (User 2015)

Curah hujan mempengaruhi beberapa sektor diantarannya sektor komunikasi dimana penggunaan frekuensi diatas 10 GHz dapat terkena redaman hujan (Mauludiyanto et al 2009) Akan tetapi curah hujan paling berpengaruh terhadap sektor pertanian Hal ini terbukti bahwa sebagian besar terjadinya penurunan produktifitas dan gagal panen di sektor pertanian adalah terjadinya curah hujan yang tinggi

Tinggi dan rendahnya curah hujan dipengaruhi oleh beberapa faktor yaitu kelembaban udara temperatur dan kecepatan angin Pada tahun 2013 Nur Suri Pradipta Pasukat Sembiring dan Pengarapen Bangun melakukan penelitian mengenai pengaruh curah hujan di kota Medan (Pradipta et al 2013)

9

Berdasarkan penelitian tersebut faktor yang mempengaruhi dan digunakan dalam peramalan curah hujan yaitu

1 Kelembaban udara

Kelembaban udara adalah banyaknya kandungan uap air di atmosfer Udara atmosfer adalah campuran dari udara kering dan uap air selain itu kelembaban udara merupakan komponen cuaca yang mempunyai peranan sangat penting bagi stabilitas kehidupan organisme di bumi maupun unsur-unsur cuaca yang lain (Forest 2015) Kelembaban udara berpengaruh terhadap curah hujan Hal ini didukung penelitian oleh (Sipayung et al 2013) yang menyatakan Kelembaban udara berpengaruh positif terhadap curah hujan

2 Kecepatan angin

Kecepatan angin merupakan kecepatan udara yang bergerak secara horizontal pada ketinggian 2 meter diatas tanah Dalam hal ini faktor yang menentukan kecepatan angin adalah perbedaan tekanan udara antara asal dan tujuan angin Kecepatan angin berpengaruh positif terhadap curah hujan artinya jika kecepatan angin tinggi maka curah hujan akan tinggi (Pradipta et al2013)

3 Suhu udara

Suhu udara merupakan ukuran energi kinetik rata ndash rata dari pergerakan molekul ndash molekul Suhu udara berpengaruh negatif terhadap curah hujan artinya jika suhu udara tinggi maka curah hujan akan berkurang (Pradipta et al2013)

223 Data time series

Data time series adalah data statistik yang telah dihimpun dari masa lampau hingga sekarang dan dapat digunakan sebagai acuan dalam melakukan peramalan terhadap data yang akan datang (Wiyanti amp Pulungan 2012) Data time series juga dapat didefinisikan sebagai sebuah kegiatan mengamati data statistik dimana terdapat korelasi (dependensi) antar datanya sehingga data yang sekarang sedang diamati memiliki ketergantungan dengan satu atau lebih data pengamatan sebelumnya (Mirawati et al 2013)

Terdapat dua teknik prediksi yang menggunakan basis data time series yaitu teknik model matematika statistik dan berdasarkan kecerdasan buatan (Wiyanti amp Pulungan 2012) Analisa time series sendiri memiliki beberapa peruntukan salah satunya digunakan dalam melakukan peramalan untuk masa yang akan datang Dalam penggunaan data time series merupakan salah satu proses peramalan kuantitatif dimana berdasar data kuantitatif masa lampau yang direpresentasikan dalam bentuk angka atau nilai (Mirawati et al 2013)

10

224 Logika Fuzzy

Pada tahun 1965 Prof Lotfi A Zadeh memperkenalkan teori logika fuzzy Logika fuzzy merupakan suatu komponen soft computing dan juga suatu cara yang tepat untuk memetakan suatu ruang input ke dalam ruang output Antara ruang input dan ruang output terdapat black box yang berfungsi memetakan input ke ruang output yang sesuai Dasar logika fuzzy adalah teori fuzzy set Pada teori fuzzy set peranan derajat keanggotaan sebagai penentu keberadaan elemen dalam suatu himpunan sangatlah penting Oleh karena itu derajat keanggotaan menjadi ciri utama dalam penalaran dengan logika fuzzy Logika fuzzy bekerja dengan menggunakan derajat keanggotan dari sebuah nilai yang kemudian digunakan untuk menentukan hasil yang ingin dihasilkan berdasarkan atas kriteria yang telah ditentukan (Kusumadewi 2003)

Berikut adalah beberapa alasan digunakannya logika fuzzy (Kusumadewi 2002)

1 Logika fuzzy sangat fleksibel

2 Konsep logika fuzzy mudah dimengerti dan dipahami

3 Logika fuzzy memiliki toleransi terhadap data ndash data yang homogen dan data ndash data yang kurang tepat

4 Logika fuzzy didasari pada bahasa alami atau bahasa sehari - hari sehingga mudah dimengerti

5 Logika fuzzy dapat bekerjasama dengan teknik ndash teknik kendali secara konvensional

6 Logika fuzzy mampu membangun dan mengaplikasikan pengalaman ndash pengalaman para pakar secara langsung tanpa harus melalui tahap atau proses pelatihan

A Himpunan Fuzzy

Himpunan fuzzy atau fuzzy set merupakan perluasan himpunan tegas atau himpunan crisp jadi fungsi karakteristik mencakup bilangan real pada interval [01] Dalam definisi lain himpunan fuzzy adalah suatu himpunan yang mewakili suatu keadaan atau kondisi tertentu dalam suatu variabel fuzzy Keanggotaan fuzzy berbeda dengan probabilitas jika keanggotaan fuzzy pada setiap fungsi karakteristik memberikan suatu pendapat atau keputusan sedangkan probabilitas menunjukan seberapa besar nilai kebenaran dalam fungsi karakteristik tersebut Contohnya yaitu nilai keanggotaan suatu himpunan fuzzy umur muda 09 berarti nilai dalam himpunan tersebut memiliki kemungkinan 90 anggotanya berumur muda dan 10 diharapkan tidak muda Dalam himpunan fuzzy suatu bilangan bisa memiliki dua keanggotaan sekaligus Himpunan fuzzy memiliki dua attribut (Kusumadewi2003)

11

1 Linguistik merupakan penamaan suatu himpunan yang mewakili suatu keadaan atau kondisi tertentu dengan menggunakan bahasa alami misalnya muda parobaya tua

2 Numeris merupakan suatu nilai (angka) yang menunjukkan ukuran dari suatu

variabel seperti 402550 dan sebagainya

B Fungsi Keanggotaan

Fungsi keanggotaan adalah suatu kurva yang menunjukkan pemetaan titik ndash titik input data ke dalam derajat keanggotaannya yang memiliki subinterval antara 0 sampai 1 (Kusumadewi Purnomo 2004) Salah satu cara yang dapat digunakan untuk mendapatkan nilai keanggotaan adalah dengan melalui pendekatan fungsi Ada beberapa fungsi keanggotaa yang dapat digunakan

1 Fungsi representasi linear

Pada fungsi representasi linear pemetaan input ke derajat keanggotaannya digambarkan sebagai suatu garis lurus Bentuk ini paling sederhana dan menjadi pilihan yang baik untuk mendekati suatu konsep yang kurang jelas Keadaan linear himpunan fuzzy terdiri dari dua keadaan yaitu keadaan linear naik dan keadaan linear turun Pada keadaan linear naik kenaikan himpunan dimulai pada nilai domain yang memiliki nilai derajat keanggotaan nol bergerak ke kanan menuju ke nilai domain yang memiliki derajat keanggotaan yang lebih tinggi seperti yang ditunjukkan Gambar 21 Persamaan fungsi keanggotaan pada representasi linear naik ditunjukkan oleh Persamaan 21

Fungsi Keanggotaan

120583(119909) = 0

(119909 minus 119886)(119887 minus 119886)1

119909 le 119886 119886 le 119909 le 119887119909 ge 119887

(21)

b a 0

1

Gambar 21 Representasi linear naik

Sumber Kusumadewi (2002)

120583(119909)

12

Pada keadaan linear turun berbanding terbalik dengan keadaan linear naik Garis lurus dimulai dari nilai domain dengan derajat keanggotaan tertinggi pada sisi kiri kemudian bergerak menurun ke nilai domain yang memiliki derajat keanggotaan lebih rendah yang ditunjukkan Gambar 22 Persamaan fungsi keanggotaan pada representasi linear turun ditunjukkan oleh Persamaan 22

Fungsi Keanggotaan

120583(119909) = (119887 minus 119909)(119887 minus 119886)0

119886 le 119909 le 119887

119909 ge 119887 (22)

2 Fungsi representasi kurva segitiga

Representasi kurva segitiga pada dasarnya merupakan gabungan antara 2 garis linear yaitu linear naik dan linear turun Fungsi representasi kurva segitiga ditandai oleh adanya tiga parameter abc yang akan menentukan koordinat x dari tiga sudut seperti ditunjukkan pada Gambar 23 Persamaan fungsi keanggotaan pada representasi kurva segitiga ditunjukkan oleh Persamaan 23

b a 0

1

Sumber Kusumadewi (2002)

Gambar 22 Representasi linear turun

120583(119909)

c a 0

1

b

Sumber Kusumadewi (2002)

Gambar 23 Representasi kurva segitiga

120583(119909)

13

Fungsi Keanggotaan

120583(119909) =

0 (119909 minus 119886)(119887 minus 119886) (119887 minus 119909)(119888 minus 119887)

119909 le 119886 119886119905119886119906 119909 ge 119888

119886 le 119909 le 119887 119887 le 119909 le 119888

(23)

225 Metode Fuzzy C-means

Fuzzy C-means (FCM) pertama kali diperkenalkan oleh Dunn dan dikembangkan oleh Bezdek yang banyak digunakan dalam pengenalan pola Metode ini merupakan pengembangan dari metode non-hierarkhi K-Means Cluster selanjutnya dilakukan iterasi sampai mendapatkan keanggotaan kelompok tersebut (Klawon 2001)

FCM merupakan salah satu algoritma fuzzy clustering dan juga teknik klasterisasi dimana tiap data ditentukan oleh derajat keanggotaanya Tujuan penggunaan algoritma FCM yaitu untuk menemukan pusat cluster atau centroid dengan meminimumkan fungsi objektif (Bazdek 1984) Ouput dari FCM bukan merupakan fuzzy inference system melainkan deretan pusat cluster dan beberapa derajat keanggotaan untuk setiap titik data Hasil output ini dapat digunakan untuk membangun suatu fuzzy inference system Berikut adalah langkah ndash langkah dari FCM (Kusumadewi 2004)

1 Langkah pertama menentukan jumlah cluster (c ge 2) pembobot (infin gt 119908 gt1) (Bazdek 1984) maksimum iterasi (maxIter) error minimum yang diharapkan yaitu nilai positif yang sangat kecil (120585) fungsi objektif awal (P0 = 0) iterasi awal dideklarasikan 1

2 Langkah kedua memasukkan data X yang akan diklasterisasi berupa matriks berukuran m x n (m = jumlah sampel data n = attribut setiap data) Contoh Xij = data sampel ke-i (i = 1234m) attribu ke-j (j=1234n)

3 Langkah ketiga yaitu dengan membuat bilangan random microik i = 1234n dan k = 123c (n = jumlah sampel pada data c = jumlah cluster yang akan dibentuk) sebagai elemen ndash elemen matriks partisi awal Untuk bilangan penyusun matriks partisi awal dihitung dihitung jumlahnya setiap kolom yang ditunjukkan pada pada Persamaan 24 (Kusumadewi 2004)

119876119896 = sum 120583119894119896119888119896=1 (24)

Dimana

119876119896 = jumlah bilangan pada kolom k

120583119894119896 = bilangan random pada baris i kolom k

119888 = jumlah kolom

14

Selanjutnya untuk menghitung derajat keanggotaan awal dengan melakukan normalisasi pada matiks partisi pada normalisasi dilakukan menggunakan Persamaan 25 (Kusumadewi 2004)

120583119894119896 = 120583119894119896119876119896 (25)

4 Langkah keempat melakukan perhitungan cluster ke-k Vkj dengan k = 1234c dan j = 1234m Perhitungan pusat cluster ditunjukkan pada Persamaan 26 (Kusumadewi 2004)

119881119896119895 = sum ((120583119894119896)119908 times 119883119894119895)119899

119894=1

sum (120583119894119896)119908119899119894=1

(26)

Dimana

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

120583119894119896 = derajat keanggotaan pada data ke-i cluster ke-k

119883119894119895 = data sampel pada data ke-i attribut ke-j

119908 = pembobot

5 Langkah kelima melakukan perhitungan fungsi objektif pada iterasi ke-t P1 Perhitungan fungsi objektif ditunjukkan pada Persamaan 27 (Kusumadewi 2004)

119875119905 = sum sum ([sum (119883119894119895 minus 119881119896119895)119898119895=1

2](120583119894119896)119908)119888

119896=1119899119894=1 (27)

Dimana

119875119905 = fungsi objektif

119883119894119895 = data sampel ke-i atribut ke-j

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

6 Langkah keenam melakukan perhitungan perbaikan matriks partisi yang telah ditunjukkan Persamaan 28 (Kusumadewi 2004)

120583119894119896 = [sum (119883119894119895minus119881119896119895)119898

119895=12

]

minus1119908minus1

sum [sum (119883119894119895minus119881119896119895)119898119895=1

2]

minus1119908minus1119888

119896minus1

(28)

Dimana

119883119894119895 = data sampel ke-i atribut ke-j

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

119908 = pembobot

7 Langkah ketujuh yaitu melakukan pemerikasaan kondisi berhenti dengan kondisi sebagai berikut

a Jika (|119875119905 minus 119875119905minus1| lt 120585) atau ( t gt MaxIter) maka berhenti

b Jika tidak memenuhi t = t +1 ulangi mulai dari langkah ke-4

15

226 Metode Peramalan dengan Fuzzy Time Series

Pada tahun 1996 Chen memperkenalkan metode peramalan dengan menggunakan metode Fuzzy Time Series Metode Fuzzy Time Series memiliki perbedaan dengan metode peramalan time series biasa atau konvensional yaitu terdapat pada data yang digunakan untuk peramalan Fuzzy Time Series data yang digunakan adalah berupa fuzzy set atau himpunan fuzzy dari bilangan ndash bilangan real atas himpunan semesta yang ditentukan Jadi Fuzzy Time Series merupakan metode dengan menggunakan data berupa fuzzy set yang berasal dari bilangan real atas Universe of Discorse pada data aktual Universe of Discourse adalah himpunan semesta dari data penelitian

Berikut adalah langkah ndash langkah metode Fuzzy Time Series yang telah diperkenalkan oleh Chen terdapat enam langkah yaitu

1 Langkah pertama yaitu membagi Universe of Discourse dari bilangan aktual ke dalam subinterval dengan jumlah interval yang sama Perhitungan Universe of Discourse ditunjukkan pada Persamaan 29 (Chen 1996)

119880 = [119863119898119894119899 minus 1198631 119863119898119886119909 + 1198632] (29)

Dimana

119880 = Universe of Discourse

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

1198631 dan 1198632 = bilangan positif yang ditentukan oleh user untuk menentukan Universe of Discourse dari himpunan data sampel

2 Langkah kedua adalah mendefinisikan fuzzy set dari Universe of Discourse (U) menjadikan A1 A2 A3 An ke dalam fuzzy set dengan nilai linguistik sesuai dengan keadaan U Selanjutnya mendefinisikan fuzzy set tersebut ditunjukkan pada Persamaan 210 (Chen 1996)

1198601 =11989111

1199061+

11989112

1199062+

11989113

1199063+ ⋯ +

1198911119896

119906119896 (210)

1198602 =11989121

1199061+

11989122

1199062+

11989123

1199063+ ⋯ +

1198912119896

119906119896

= + + + +

119860119896 =1198911198961

1199061+

1198911198962

1199062+

1198911198963

1199063+ ⋯ +

119891119896119896

119906119896

Dimana 119891119894119895120598 [01] 1 le 119894 le 119896 dan 1 le 119895 le 119898 Variabel 119891119894119895 menunjukkan

derajat keanggotaan dari subinterval 119906119895 dari fuzzy set 1198601 Pada konsep ini

Chen menggunakan nilai linguistik 1198601 = (not many) 1198602 = (not too many) 1198603= (many) 1198604 = (many many) 1198605 = (very many) 1198606 = (too many) 1198607= (too many many) Kemudian nilai linguistik tersebut dimasukkan ke tiap fuzzy set Dari U tersebut dapat dibangun fuzzy set sebagai berikut

16

1198601 = 1

1199061+

05

1199062+

0

1199063+

0

1199064+

0

1199065+

0

1199066+

0

1199067

1198602 = 05

1199061+

1

1199062+

05

1199063+

0

1199064+

0

1199065+

0

1199066+

0

1199067

1198603 = 0

1199061+

05

1199062+

1

1199063+

05

1199064+

0

1199065+

0

1199066+

0

1199067

1198604 = 0

1199061+

0

1199062+

05

1199063+

1

1199064+

05

1199065+

0

1199066+

0

1199067

1198605 = 0

1199061+

0

1199062+

0

1199063+

05

1199064+

1

1199065+

05

1199066+

0

1199067

1198606 = 0

1199061+

0

1199062+

0

1199063+

0

1199064+

05

1199065+

1

1199066+

05

1199067

1198607 = 0

1199061+

0

1199062+

0

1199063+

0

1199064+

0

1199065+

05

1199066+

1

1199067

3 Langkah ketiga yaitu melakukan fuzzifikasi data historis proses fuzzifikasi merupakan proses merubah data aktual yang merupakan bilangan crisp ke dalam bentuk bilangan fuzzy Bilangan fuzzy yang dimaksudkan adalah dalam bentuk derajat keanggotaan Dari beberapa derajat keanggotaan yang terbentuk kemudian dipilih satu fuzzy set yang memiliki derajat keanggotaan teringgi Fuzzifikasi dinotasikan sebagai berikut jika F(t-1) berada pada fuzzy set Ak maka F(t-1) difuzzifikasikan sebagai Ak

4 Langkah keempat adalah mengidentifikasi Fuzzy Logic Relationship (FLR) FLR diidentifikasikan sebagai Ai dan F(t) difuzzifikasikan sebagai Ai rarr Aj Ai sebagai sisi kiri relationship disebut sebagai current state dan Aj sebagai sisi kanan relationship disebut next state Jika terjadi perulangan relationship maka tetap dihitung satu kali

5 Langkah kelima yaitu mengelompokkan menjadi Fuzzy Logical Relationship Group (FLRG) FLRG dibangun berdasarkan sisi kiri (current state) yang sama

6 Langkah terakhir yaitu langkah keenam adalah melakukan defuzzifikasi nilai keluaran peramalan Defuzzifikasi adalah mengubah nilai keluaran fuzzy menjadi bilangan crisp kembali sehingga diperoleh hasil akhir peramalan Defuzzifikasi didasarkan pada tiga (3) rule aturan yaitu (Chen 1996)

I Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai hanya memiliki satu FLR pada FLRG yaitu dengan kondisi Ai rarr Aj dimana nilai maksimum fungsi keanggotaanya berada pada 119906119895 maka nilai peramalan untuk n+1 adalah

nilai tengah dari 119906119895 atau didefinisikan dengan 119898119895

II Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai memiliki lebih dari satu FLR pada FLRG yaitu dengan kondisi Ai rarr Aj1 Aj2 Ajp Dimana nilai tengah untuk masing ndash masing Aj1 Aj2 Aj3 Ajp adalah mj1 mj2 mj3 mjp

maka nilai peramalan untuk n+1 adalah (mj1 mj2 mj3 mjp) p

III Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai tidak memiliki FLR pada FLRG dimana nilai maksimum fungsi keanggotaannya berada pada 119906119895

17

maka nilai peramalan untuk n+1 adalah nilai tengah dari 119906119895 atau

didefinisikan dengan 119898119895

227 Metode High Order Fuzzy Time Series Multi Factors

Metode High Order Fuzzy Time Series Multi Factors adalah metode Fuzzy Time Series (FTS) yang melibatkan beberapa faktor yang mempengaruhi peramalan dengan berdasarkan beberapa periode waktu sebelum periode yang akan diramalkan dalam proses pembentukkan Fuzzy Logical Relationship (FLR) Hasil peramalan dengan banyak faktor yang mempengaruhi dinilai lebih baik dari pada dengan hanya satu faktor yang mempengaruhi (LinYang 2009) Pada metode ini pembentukkan subinterval yang berfungsi dalam pendefinisian fuzzy set dilakukan dengan menggunakan teknik klasterisasi fuzzy C-means Berikut adalah langkah ndash langkah Metode High Order Fuzzy Time Series Multi Factors (LinYang 2009)

1 Langkah pertama adalah melakukan perhitungan Universe of Discourse (U) Sebelum menghitung nilai U terlebih dulu menghitung nilai mean (rata ndash rata) sampel lalu menghitung nilai standar deviasi (120590) Mean merupakan perhitungan jumlah dari semua nilai dalam kumpulan data kemudian dibagi dengan jumlah total data untuk menghitung nilai mean ditunjukkan pada Persamaan 211 (Weisstein 2015) Standar deviasi merupakan akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel untuk menghitung nilai standar deviasi (120590) ditunjukkan pada Persamaan 212 (Weisstein 2015) Perhitungan U ditunjukkan pada Persamaan 213 (LinYang 2009)

119909 =sum 119909119894

119899119894=1

119899 (211)

Dimana

= mean (rata ndash rata)

119909119894 = nilai data ke-i

119899 = banyak data

120590 = radicsum (119909119894minus ) 2119899

119894=1

119899minus1 (212)

Dimana

120590 = Standar deviasi data

119880 = [119863119898119894119899 minus 120590 119863119898119886119909 + 120590] (213)

Dimana

119880 = Universal 0f Discourse

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

18

2 Langkah kedua yaitu menentukan jumlah cluster data Proses klasterisasi bertujuan untuk membagi U kedalam beberapa subinterval Hasil perhitungan banyaknya cluster apabila bernilai pecahan maka harus dibulatkan menjadi bilangan bulat Perhitungan banyaknya cluster ditunjukkan pada Persamaan 214 (LinYang 2009)

119896 = ||119863119898119894119899 minus 119863119898119886119909|sum |119883(119905)minus119883(119905minus1)|119899

119905=1

119899minus1| (214)

Dimana

119896 = banyaknya jumlah cluster

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

119899 = banyaknya data sampel

119883(119905) = data pada waktu ke-t

3 Langkah ketiga yaitu melakukan pembentukan pusat cluster Pada metode ini proses klasterisasi data menggunakan fuzzy C-means (FCM) untuk mendapatkan pusat cluster sebanyak k Tahapannya U dibagi kedalam k subinterval (119863119898119894119899 1198891) (1198891 1198892) (1198892 1198893) hellip (119889119896minus1 119863119898119886119909) dimana di (i = 123k-1) merupakan titik tengah antara dua pusat cluster k subinterval didefinisikan sebagai 1199061 1199062 1199063 hellip 119906119896 Sehingga dalam hal ini subinterval

dengan panjang berbeda dapat menggambarkan struktur data kompleks dengan baik dan dapat meningkatkan peramalan dibandingkan menggunakan subinterval dengan panjang yang sama (LinYang 2009)

4 Langkah keempat yaitu melakukan pembentukan himpunan fuzzy atau fuzzy set Pada langkah ini fuzzy set direpresentasikan dengan kurva bahu Pembentukkan fuzy set ditunjukkan pada Persamaan 215 (LinYang 2009)

1198601 =11989111

1199061+

11989112

1199062+

11989113

1199063+ ⋯ +

1198911119896

119906119896 (215)

= + + + +

119860119896 =1198911198961

1199061+

1198911198962

1199062+

1198911198963

1199063+ ⋯ +

119891119896119896

119906119896

5 Langkah kelima yaitu proses fuzzifikasi Proses fuzzifikasi bertujuan untuk mengubah data sampel yang masih berupa bilangan crisp sehingga menjadi bilangan fuzzy Masing ndash masing data dihitung derajat keanggotaannya terhadap fuzzy set yang sudah terbentuk selajutnya derajat kanggotaan dihitung berdasarkan kurva bahu dan derajat keanggotaan tertinggi menunjukkan hasil fuzzifikasi data tersebut Contohnya A(t) B(t) C(t) dan D(t) dimana t= 123n merupakan time series dari faktor yang mempengaruhi serta n merupakan banyaknya data Berdasarkan pembagian subinterval masing ndash masing time series ini difuzzifikasikan Misalkan hasil dari Persamaan 215 yaitu menghitung banyak cluster dari k1 k2 k3 k4 Jadi time series difuzzifikasikan menjadi empat fuzzy time series yaitu

19

A(ti) dimana i = 1234k1

B(tj) dimana j = 1234k2

C(tp) dimana p = 1234k3

D(tq) dimana q = 1234k4 t = 123n

6 Langkah keenam yaitu melakukan pembentukkan Fuzzy Logical relationship (FLR) Data sampel sebanyak n periode dipilih sebagai data training untuk membentuk fuzzy time series model Misalkan t merupakan periode waktu yang akan diramal dengan menggunakan order ndash 3 maka tiga periode sebelum periode t adalah t-3 t-2 dan t-1 dimana t = 456n Maka FLR yang dihasilkan ditunjukkan pada Persamaan 216 dan berdasarkan persamaan tersebut maka akan membentuk sebuah kumpulan FLR dari data training (LinYang 2009)

(119860(119905minus31198943) 119861(119905minus31198953) 119862(119905minus31199013) 119863(119905minus31199023)) (216)

(119860(119905minus21198942) 119861(119905minus21198952) 119862(119905minus21199012) 119863(119905minus21199022))

(119860(119905minus11198941) 119861(119905minus11198951) 119862(119905minus11199011) 119863(119905minus11199021)) rarr 119860(1199051198944)

Tabel 22 Fuzzy Logic Relationship

(119860(119905minus31198943) 119861(119905minus31198953) 119862(119905minus31199013) 119863(119905minus31199023))

(119860(119905minus21198942) 119861(119905minus21198952) 119862(119905minus21199012) 119863(119905minus21199022))

(119860(119905minus11198941) 119861(119905minus11198951) 119862(119905minus11199011) 119863(119905minus11199021)) rarr 119860(1199051198944)

(119860(119905minus21198943) 119861(119905minus21198953) 119862(119905minus21199013) 119863(119905minus21199023))

(119860(119905minus11198942) 119861(119905minus11198952) 119862(119905minus11199012) 119863(119905minus21199022))

(119860(1199051198941) 119861(1199051198951) 119862(1199051199011) 119863(1199051199021)) rarr 119860(119905+11198944)

(119860(119905+119899minus71198943) 119861(119905+119899minus71198953) 119862(119905+119899minus71199013) 119863(119905+119899minus71199023))

(119860(119905+119899minus61198942) 119861(119905+119899minus61198952) 119862(119905+119899minus61199012) 119863(119905+119899minus61199022))

(119860(119905+119899minus51198941) 119861(119905+119899minus51198951) 119862(119905+119899minus51199011) 119863(119905+119899minus51199021)) rarr 119860(119905+119899minus41198944)

Sumber (LinYang 2009)

7 Langkah terakhir adalah proses Defuzzifikasi Berdasarkan langkah sebelumnya maka dapat diambil hasil fuzzy ke- H yaitu yang digunakan sebagai data testing atau data uji seperti yang ditunjukkan pada Persamaan 217 (LinYang 2009)

(119860(119867minus31198943) 119861(119867minus31198953) 119862(119867minus31199013) 119863(119867minus31199023)) (217)

(119860(119867minus21198942) 119861(119867minus21198952) 119862(119867minus21199012) 119863(119867minus21199022))

(119860(119867minus11198941) 119861(119867minus11198951) 119862(119867minus11199011) 119863(119867minus11199021)) rarr 119860(1198671198944)

20

Faktor ndash faktor di ruas kiri pada Persaman 217 dibandingkan satu per satu dengan FLR data training yang sudah dicatat sebelumnya pada Tabel 22 membandingkannya yaitu dengan cara menghitung nilai absolut dari selisih antara pangkat bawah kedua faktor pada posisi yang sama di FLR Terdapat 12 fuzzy set di ruas kiri pada masing ndash masing FLR sehingga dari hasil perbandingan diperoleh 12 nilai absolut yang kemudian dijumlahkan untuk mendapat total selisihnya Jadi jika total selisih lebih kecil dari threshold yang ditentukan maka FLR tersebut dinyatakan cocok (LinYang 2009)

Selanjutnya jika FLR menemukan N pasangan yang cocok pada Tabel 22 maka N faktor di ruas kanan dari N FLR ini mendasari peramalan fuzzy set A() yang mana jumlah dari setiap fuzzy set pada umumnya berbeda Untuk peramalan dengan fuzzy set ditunjukkan pada Tabel 23 (LinYang 2009)

Tabel 23 Peramalan fuzzy set

Ruas Kanan A(1) A(2) A(3) A(k1)

Pusat cluster c1 c2 c3 ck1

Frekuensi f1 f2 f3 fk1

Sumber (Lin Yang 2009)

Berdasarkan Tabel 23 dengan menggunakan metode centroid untuk melakukan proses defuzzifikasi Proses defuzzifikasi dapat ditunjukkan pada Persamaan 218 (LinYang 2009)

119903119867 =sum 119888119894times 119891119894

1198961119894=1

sum 119891119894119896119894119894=1

(218)

Dimana

119903119867 = hasil (result) peramalan data ke-H

119888119894 = pusat cluster i dimana A(i) adalah ruas kanan dari FLR hasil proses pencocokan

119891119894 = frekuensi banyaknya muncul A(i) pada saat proses pencocokan

228 Perhitungan keakuratan metode peramalan

Dalam perencanaan peramalan tentu menginginkan hasil ramalan yang tepat atau paling tidak hampir mendekati sehingga rencana yang dibuat menjadi rencana yang realistis Keakuratan atau ketepatan merupakan yang menjadi kriteria performance suatu metode peramalan Keakuratan tersebut dapat dinyatakan sebagai kesalahan peramalan (forecast error) Semaikin kecil nilai kesalahan peramalan maka semaikin tinggi keakuratan metode peramalan yang digunakan dan sebaliknya semakin tinggi nilai kesalahan maka semakin rendah keakuratan metode peramalan yang digunakan

Mean Square Error (MSE) adalah salah satu metode yang digunakan untuk menghitung nilai akurasi atau keakuratan dari metode yang digunakan sebagai peramalan atau prediksi MSE merupakan perhitungan pangkat dua dari selisih

21

antara nilai data hasil peramalan dengan nilai data aktual dan kemudian dibagi dengan banyaknya data yang telah diramalkan Pada penentuan nilai evaluasi memilih menggunakan metode MSE karena metode ini dapat menunjukan hasil skala kemiripan antara hasil data peramalan dengan data aktual Berikut merupakan metode Mean Square Error (MSE) yang ditunjukan pada Persamaan 219 (Wang Chen 2009)

119872119878119864 = sum (119865119905minus119860119905)2119899

119894=1

119899 (219)

Dimana 119872119878119864 = nilai Mean Square Error Rate 119860119905 = nilai aktual pada data ke-t 119865119905 = nilai hasil peramalan untuk data ke-t n = banyaknya data

22

BAB 3 METODOLOGI

Pada bab ini akan dibahas mengenai metode yang digunakan beserta tahap ndash tahap pengerjaan penelitian skripsi dengan judul ldquoPeramalan Curah Hujan dengan Metode High Order Fuzzy Time Series Multi Factorsrdquo Penilitian ini digolongkan sebagai penelitian implementatif dengan pendekatan perancangan (design)

Metode penelitian ini meliputi studi literatur pengumpulan data perancangan implementasi pengujian dan analisis pengambilan kesimpulan Berikut adalah alur dari metode penelitian dapat ditunjukkan pada Gambar 31

31 Studi Literatur

Pada tahap studi literatur penelitian ini bertujuan untuk mempelajari literatur dan konsep dari beberapa informasi dan pustaka yang berkaitan dengan penelitian ini Literatur dan sumber ilmu dari penelitian ini diperoleh dari internet buku dan bimbingan oleh dosen pembimbing Adapun literatur yang dipelajari yaitu tentang curah hujan serta faktor ndash faktor yang mempengaruhinya dan metode High Order Fuzzy Time Series Multi Factors

Studi Literatur

Pengumpulan Data

Perancangan

Implementasi

Pengujian dan Analisis

Kesimpulan dan Saran

Gambar 31 Diagram blok metodologi penelitian

23

32 Pengumpulan Data

Pada tahap pengumpulan penelitian ini sumber data yang diperoleh yaitu dari Badan Meteorologi Klimatologi dan Geofisikia (BMKG) Stasiun Klimatologi Kelas III Karangkates Kabupaten Malang Data yang diperoleh untuk peramalan curah hujan yaitu data aktual time series (2011 - 2016) Data yang digunakan dalam bentuk dasarian yaitu dalam rentang waktu sepuluh hari sehingga dalam satu bulan dibagi menjadi tiga dasarian

Dasarian pertama yaitu pada tanggal 1 sampai dengan 10

Dasarian kedua yaitu pada tanggal 11 sampai dengan 20

Dasarian ketiga yaitu pada tanggal 21 sampai dengan akhir bulan

Pada penelitian ini data curah hujan dalam satuan milimeter (mm) kelembaban dalam persen () suhu udara dalam satuan celsius (˚C) kecepatan angin dalam satuan kilometer per jam (kmjam)

33 Perancangan

Pada tahap perancangan penelitian ini bertujuan untuk mengetahui rancangan ndash rancangan yang merupakan langkah yang dilakukan saat melakukan tahap implementasi Pada tahap ini terdapat beberapa perancangan yaitu perancangan proses yang berisi tahapan ndash tahapan proses metode High Order Fuzzy Time Series Multi Factors perhitungan manual yang merupakan manualisasi dari metode yang digunakan pada penelitian ini perancangan antar muka atau user interface yang berisi gambaran kasar dari tampilan antar muka prototype aplikasi yang nantinya diterapkan pada tahap implementasi selanjutnya adalah perancangan pengujian yang berisi rancangan ndash rancangan pengujian metode yang digunakan untuk mengetahui berapa tingkat kesalahan atau error yang dimiliki metode pada penelitian ini dalam melakukan peramalan curah hujan

34 Implementasi

Pada tahap implementasi peneltian ini dilakukan sesuai dengan perancangan yang telah dibuat pada tahapan perancangan sebelumnya Implementasi dari metode High Order Fuzzy Time Series Multi Factors dilakukan menggunakan bahasa pemrograman java serta Integrated Development Environment (IDE) yang digunakan adalah Netbeans Sehingga nantinya hasil dari tahap ini berupa prototype aplikasi dari implementasi metode High Order Fuzzy Time Series Multi Factors untuk peramalan curah hujan

35 Pengujian dan Analisis

Pada tahapan penelitian pengujian ini diperlukan perangkat lunak dan perangkat keras agar pengujian dari hasil implementasi dapat berjalan dengan baik maka pengujian perangkat lunak dijalankan pada laptop ataupun PC (Personal Computer) dengan spesifikasi sebagai berikut

24

1 Prosesor Intel Core i3

2 Memory RAM 8 Gigabytes

3 Sistem Operasi menggunakan Windows 7 64bit

4 Hardisk dengan kapasitas 500 GB

5 Netbeans 81 JDK 7

Pengujian hasil peramalan menggunakan metode High Order Fuzzy Time Series Multi Factors yaitu menggunakan metode Mean Square Error (MSE) Dimana rumus pengujian sesuai dengan Persamaan 219 Dalam pengujian menggunakan metode ini semakin kecil nilai MSE maka semakin tinggi tingkat akurasi hasil peramalan tersebut Pada penelitian ini untuk keperluan pengujian dari proses implementasi dilakukan empat pengujian yaitu pengujian terhadap perbedaan nilai order pengujian terhadap perbedaan nilai threshold pengujian terhadap data training untuk mengetahui pengaruhnya terhadap nilai MSE dan pengujian validasi sistem untuk mengetahui bahwa hasil implementasi metode High Order Fuzzy Time Series Multi Factors dapat melakukan peramalan

36 Kesimpulan dan Saran

Pada pengambilan kesimpulan akan dilakukan apabila semua tahapan ndash tahapan penelitian sudah dilakukan yaitu yang meliputi perancangan implementasi dan pengujian dan analisis telah selesai dilakukan Kesimpulan merupakan tahapan dimana semua rumusan masalah yang sudah ditetapkan sebelumnya dapat terjawab semua Selanjutnya pada saran merupakan berkenaan dengan hasil yang telah dicapai untuk memperbaiki kekurangan - kekurangan yang terjadi pada penelitian ini serta memberikan pertimbangan pada pengembangan penelitian lebih lanjut

25

BAB 4 PERANCANGAN

Pada bab ini berisi tentang perancangan yang nantinya digunakan sebagai dasar dalam tahap implementasi Hal yang dibahas meliputi perancangan proses perhitungan manual perancangan pengujian dan perancangan antar muka

41 Perancangan Proses

Pada perancangan proses ini berisi mengenai tahapan ndash tahapan dari metode yang digunakan yaitu metode High Order Fuzzy Time Series Multi Factors Pada penelitian ini melibatkan faktor ndash faktor yang mempengaruhi curah hujan yaitu suhu udara kelembaban udara dan kecepatan angin Data time series dari curah hujan merupakan faktor utama dalam proses peramalan pada penelitian ini Inputan pada peneltian ini yaitu data time series curah hujan serta faktor ndash faktor yang mempengaruhinya Order yang digunakan pada metode ini merupakan order lebih dari satu oleh karena itu disebut dengan High Order Order merupakan urutan jumlah dari data time series pada periode waktu t yang mempengaruhi nilai data Berikut merupakan diagram alir dari proses peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors yang ditunjukkan pada Gambar 41 dan Gambar 42

Gambar 41 Diagram alir metode penelitian yang digunakan (bagian 1)

Mulai

Data curah hujan suhu kelembaban kecepatan angin jmlh_Banyakdata jmlh_Faktor

Universe_of_Discourse

A

Jumlah_Cluster

26

411 Proses perhitungan Universe of Discourse

Pada perhitungan Universe of Discourse harus sudah dilakukan inputan data agar dapat memulai tahapan perhitungan Tahapan dari proses perhitungannya yaitu pada langkah pertama dilakukan perhitungan nilai mean (rata ndash rata) sesuai dengan Persamaan 211 Setelah mendapatkan nilai mean dapat dilakukan perhitungan untuk mencari nilai standar deviasi sesuai dengan Persamaan 212 Selanjutnya dicari nilai terkecil (119863119898119894119899) dan nilai terbesar (119863119898119886119909) Setelah menyelesaikan tahap ndash tahap tersebut dapat dilakukan perhitungan untuk

Gambar 42 Diagram alir metode penelitian yang digunakan (bagian 2)

A

Perhitungan Pusat Cluster

Fuzzifikasi

Pembentukan Fuzzy Logical Relationship

Defuzzifikasi

Nilai hasil peramalan

Berhenti

Pembentukan Subinterval dan Fuzzy set

27

mencari Universe of Discourse sesuai dengan Persamaan 213 Berikut merupakan diagram alir dari proses perhitungan Universe of Discourse yang ditunjukkan pada Gambar 43

Perhitungan Universe of Discourse

Mulai

Min_dan_Max

mean

standar_deviasi

for i = 0 to jmlh_Faktor-1

i

hsl_uMin ke i = hsl_min ke i ndash hsl_stdev ke i

hsl_uMax ke i = hsl_max ke i + hsl_stdev ke i

hsl_uMin hsl_uMax

Berhenti

Gambar 43 Diagram alir proses perhitungan Universe of Discourse

28

4111 Proses perhitungan Mean

Pada proses perhitungan mean merupakan nilai rata ndash rata dari setiap faktor dimana nilai mean ini nantinya dibutuhkan untuk melakukan proses perhitungan standar deviasi Berikut merupakan diagram alir dari proses perhitungan mean yang ditunjukkan pada Gambar 44

mean

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to jmlh_DataTraining

tmp_jmlh = 0

tmp_jmlh = tmp_jmlh + data ke ij

j

hsl_mean ke i = tmp_jmlhjmlh_DataTraining

i

hsl_mean

Berhenti

Gambar 44 Diagram alir proses perhitungan mean

29

4112 Proses perhitungan standar deviasi

Pada proses perhitungan standar deviasi dapat dilakukan setelah mendapatkan nilai mean dari setiap data sesuai proses sebelumnya Berikut merupakan diagram alir dari proses perhitungan standar deviasi yang ditunjukkan pada Gambar 45

standar_deviasi

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to jmlh_DataTraining

result = 0

result = result + (data ke ij ndash mean ke i)2

j

hsl_stdev ke i = radicresult

jmlh_DataTrainingminus1

i

hsl_stdev

Berhenti

Gambar 45 Diagram alir proses perhitungan standar deviasi

30

4113 Proses perhitungan nilai Dmin dan Dmax

Pada proses perhitungan ini merupakan proses perhitungan untuk mencari nilai terkecil dan terbesar dari setiap faktor data Setelah mendapat nilai terkecil dan terbesar maka data dilakukan proses perhitungan Universe of Discourse Berikut merupakan diagran alir dari proses perhitungan nilai Dmin dan Dmax yang ditunjukkan pada Gambar 46

Gambar 46 Diagram alir perhitungan nilai Min dan Max

ya

ya

tidak

tidak

Min_dan_Max

Mulai

for i = 0 to jmlh_Faktor-1

besar = data ke i0

kecil = data ke i0

for j=0 to jmlh_DataTraining

data ke ij gt besar

besar = data ke ij

data ke ij lt kecil

kecil = data ke ij

j

hsl_max ke i = besar

hsl_min ke i = kecil

i

hsl_max hsl_min

Berhenti 1

1

2

2

3

4

4

5

5

3

31

412 Proses perhitungan jumlah cluster

Pada proses perhitungan jumlah cluster memiliki masukkan proses Dmin dan Dmax

dari proses perhitungan sebelumnya Pada proses ini terdapat perhitungan nilai dari selisih setiap data Pada perhitungan jumlah cluster sesuai dengan Persamaan 214 Berikut merupakan langkah ndash langkah perhitungan jumlah cluster yang ditunjukkan pada Gambar 47

jumlah_Cluster

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to (jmlh_DataTraining-1)

Berhenti

hsl_max hsl_min

selisih = 0

selisih = selisih + |data ke ij ndash data ke i (j+1)|

j

jmlh_Cluster ke i = |ℎ119904119897_119898119894119899 119896119890 119894minusℎ119904119897_119898119886119909 119896119890 119894|

119904119890119897119894119904119894ℎ

119895119898119897ℎ_119863119886119905119886119879119903119886119894119899119894119899119892minus1

i

jmlh_Cluster

Gambar 47 Diagram alir proses perhitungan jumlah cluster

32

413 Proses perhitungan pusat cluster

Pada proses perhitungan pusat cluster ini diperlukan beberapa variabel yang harus dideklarasikan terlebih dahulu yaitu nilai bobot fungsi objektif nilai iterasi awal nilai iterasi maksimum dan error terkecil Perhitungan subinterval ini menggunakan metode fuzzy C-means yang diawali dengan pencarian pusat cluster terlebih dahulu Berikut merupakan langkah ndash langkah perhitungan subinterval yang ditunjukkan pada Gambar 48 Gambar 49 Gambar 410 Gambar 411 Gambar 412

Gambar 48 Diagram alir proses perhitungan pusat cluster (bagian 1)

Perhitungan pusat cluster

Mulai

jmlh_Cluster

for i = 0 to jmlh_Faktor-1

Deklarasi bobot selisih_f_objektif

iter_maksimum error_min

Pembentukan Matriks partisi faktor A jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor A

for iter = iter to iter_maksimum

A

i == 0

Perhitungan pusat_cluster1 faktor A

B C D

tidak

ya

33

Gambar 49 Diagram alir proses perhitungan pusat cluster (bagian 2)

ya

tidak

tidak

ya

Perhitungan f_objektif faktor A

A B C D

Perhitungan selisih_f_objektif faktor A

Perbaikan matriks partisi faktor A

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster1 faktor A

Iter = iter_maksimum

iter

i == 1

Pembentukan Matriks partisi faktor B jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor B

for iter = iter to iter_maksimum

F A G E

34

tidak

tidak

ya

A E F G

Perhitungan pusat_cluster2 faktor B

Perhitungan f_objektif faktor B

Perhitungan selisih_f_objektif faktor B

Perbaikan matriks partisi faktor B

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster2 faktor B

Iter = iter_maksimum

iter

i == 2

Pembentukan Matriks partisi faktor C jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor C

I A H

Gambar 410 Diagram alir proses perhitungan pusat cluster (bagian 3)

ya

35

tidak

tidak

Gambar 411 Diagram alir proses perhitungan pusat cluster (bagian 4)

ya

A H I

for iter = iter to iter_maksimum

Perhitungan pusat_cluster3 faktor C

Perhitungan f_objektif faktor C

Perhitungan selisih_f_objektif faktor C

Perbaikan matriks partisi faktor C

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster3 faktor C

Iter = iter_maksimum

iter

i == 3

Pembentukan Matriks partisi faktor D jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor D

J A K

ya

36

tidak

ya

Gambar 412 Diagram alir proses perhitungan pusat cluster (bagian 5)

A K J

for iter = iter to iter_maksimum

Perhitungan pusat_cluster4 faktor D

Perhitungan f_objektif faktor D

Perhitungan selisih_f_objektif faktor D

Perbaikan matriks partisi faktor D

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster4 faktor D

Iter = iter_maksimum

iter

i

pusat_cluster1pusat_cluster2 pusat_cluster3pusat_cluster4

Berhenti

37

tidak

ya

tidak

ya

Gambar 413 Diagram alir pembentukan subinterval dan fuzzy set (bagian 1)

414 Proses pembentukan subinterval dan Fuzzy set

Pada proses pembentukan fuzzy set atau himpunan fuzzy pada penelitian ini dapat dilakukan setelah perhitungan subinterval selesai dilakukan Nilai subniterval merupakan masukan utama pada pembentukkan fuzzy set Pembentukan fuzzy sesuai dengan Persamaan 215 Berikut merupakan langkah ndash langkah proses pembentukan fuzzy set yang ditunjukkan pada Gambar 413 dan Gambar 414

Pembentukan subinteval dan Fuzzy set

Mulai

pusat_cluster1pusat_cluster2 pusat_cluster3pusat_cluster4

for i = 0 to jmlh_Faktor-1

Menentukan batas_subintervalMinA dan

batas_subintervalMaxA

Menentukan batas_fuzzysetMinA dan batas_fuzzysetMaxA

i == 0

i == 1

Menentukan batas_subintervalMinB dan

batas_subintervalMaxB

Menentukan batas_fuzzysetMinB dan batas_fuzzysetMaxB

A C B

38

tidak

tidak

ya

ya

415 Proses Fuzzifikasi

Pada proses fuzzifikasi ini pembentukanya sesuai derajat keanggotaan pada setiap data Pada proses ini derajat keanggotaan dihitung berdassarkan fungsi keanggotaan kurva bahu Hasil dari proses ini merupakan data yang sudah difuzzifikasikan menjadi data fuzzy Berikut langkah ndash langkah dari proses fuzzifikasi ditunjukkan pada Gambar 415 dan Gambar 416

i == 2

A B C

Menentukan batas_subintervalMinC dan batas_subintervalMaxC

Menentukan batas_fuzzysetMinC dan batas_fuzzysetMaxC

i == 3

Menentukan batas_subintervalMinD dan batas_subintervalMaxD

Menentukan batas_fuzzysetMinD dan batas_fuzzysetMaxD

i

batas_fuzzysetMinA batas_fuzzysetMaxA batas_fuzzysetMinB batas_fuzzysetMaxB batas_fuzzysetMinC batas_fuzzysetMaxC batas_fuzzysetMinD batas_fuzzysetMaxD

Berhenti

Gambar 414 Diagram alir pembentukan subinterval dan fuzzy set (bagian 2)

39

tidak

ya

ya

tidak

Fuzzifikasi

Mulai

for i = 0 to jmlh_Faktor-1

Menentukan hasil_fuzzifikasiA dari faktor A

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinA batas_fuzzysetMaxA

Gambar 415 Diagram alir proses fuzzifikasi (bagian 1)

batas_fuzzysetMinA batas_fuzzysetMaxA batas_fuzzysetMinB batas_fuzzysetMaxB batas_fuzzysetMinC batas_fuzzysetMaxC batas_fuzzysetMinD batas_fuzzysetMaxD

DD

i == 0

i == 1

Menentukan hasil_fuzzifikasiB

dari faktor B

Menghitung derajat keanggotaan

berdasarkan batas_fuzzysetMinB

batas_fuzzysetMaxB

C A B

40

tidak

ya

ya

tidak

ya

i == 2

A B C

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinC batas_fuzzysetMaxC

Menentukan hasil_fuzzifikasiC dari faktor C

i == 3

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinD

batas_fuzzysetMaxD

Menentukan hasil_fuzzifikasiD dari faktor D

i

hasil_fuzzifikasiA hasil_fuzzifikasiB hasil_fuzzifikasiC hasil_fuzzifikasiD

Berhenti

Gambar 416 Diagram alir proses fuzzifikasi (bagian 2)

41

tidak

ya

416 Proses pembentukan Fuzzy Logical Relationship

Setelah data melalui proses fuzzifikasi dan sudah menjadi data fuzzy maka dapat dilakukan pembentukan Fuzzy Logical Relationship (FLR) Pembentukan FLR dilakukan sesuai dengan Persamaan 216Berikut adalah langkah ndash langkah proses pembentukan Fuzzy Logical Relationship (FLR) yang ditunjukkan pada Gambar 417 Gambar 418 dan Gambar 419

Gambar 417 Diagram alir proses Pembentukan FLR

(bagian 1)

Pembentukan Fuzzy Logical Relationship

Mulai

hasil_fuzzifikasiAhasil_fuzzifikasiB hasil_fuzzifikasiChasil_fuzzifikasiD order

for i = 0 to jmlh_dataTraining

max_inc = order jmlh_dataTraining = dataTraining - order

for j = i to max_inc

for k = 0 to jmlh_Faktor-1

j == 0

FLR_kiri_training ke ijk = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D)

ke j

E A B C D

42

ya

tidak

ya

tidak

A B C E D

FLR_kiri_training ke i(j-i)k = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D) ke j

j = 0

k

j

FLR_kanan_training ke i = hasil_fuzzifikasiA ke (i+order)

Max_inc lt (jmlh_DataTraining-1)

i

tmp_JmlhDatatraining = tmp_JmlhDatatraining +1

max_inc = max_inc + 1 tmp_JmlhDatatraining = i

Gambar 418 Diagram alir proses Pembentukan FLR (bagian 2)

for j = 0 to tmp_JmlhDatatraining

for j = tmp_JmlhDatatraining to max_inc

for k = 0 to jmlh_Faktor-1

I H G F

43

tidak

ya

417 Proses Defuzzifikasi

Proses defuzzifikasi merupakan proses akhir dimana keluaran dari proses ini merupakan nilai hasil peramalan Data yang diperlukan pada proses defuzzifikasi adalah hasil dari proses pembentukan Fuzzy Logical Relationship (FLR) nilai threshold yang harus dideklarasikan sebelumnya jumlah data training dan jumlah data testing Dalam proses ini dilakukan perhitungan selisih pada FLR antara data testing dan data training FLR yang dihitung nilai selisihnya adalah FLR pangkat bawah yang terdapat pada ruas kiri Setelah dilakukan perhitungan selisih dan total jumlah selisih lebih kecil dari nilai threshold maka pada setiap FLR yang

I H G F

FLR_kiri_testing ke i(j-tmp_jmlhDatatraining) k = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D) ke j

k

j

FLR_kanan_testing ke i = hasil_fuzzifikasiA ke (i+order)

i

Max_inc lt (jmlh_DataTraining-1)

max_inc = max_inc + 1 tmp_JmlhDatatraining++

FLR_kiri_training FLR_kanan_training FLR_kiri_testing FLR_kanan_testing

Mulai

Gambar 419 Diagram alir proses Pembentukan FLR (bagian 3)

44

ya

tidak

sesuai dengan kondisi tersebut dapat dikatakan cocok atau dapat dilakukan ke tahap perhitungan selanjutnya Setelah mendapatkan FLR yang cocok maka dilakukan pengelompokkan berdasarkan FLR ruas kanan Pengelompokkan ini dihitung jumlah frekuensi yang sama sesuai dengan fuzzy set di ruas kanan Selanjutnya untuk memperoleh hasil peramalan dilakukan proses perhitungan sesuai dengan Persamaan 218 Berikut adalah langkah ndash langkah proses defuzzifikasi yang ditunjukkan pada Gambar 420 dan Gambar 421

Gambar 420 Diagram alir proses defuzzifikasi (bagian 1)

Defuzzifikasi

Mulai

FLR_kiri FLR_kanan order dataTraining dataTesting konstanta

threshold = (jmlh_Faktor x order)+konstanta

for i = 0 to dataTesting

for j = 0 to (dataTraining-i)

Perhitungan hitung_selisih antara FLR_kiri data training dan data testing

hitung_selisih lt threshold

match ke ij = hitung_selisih

j

i

A

45

Gambar 421 Diagram alir proses defuzzifikasi (bagian 2)

A

Menghitung jumlah total FLR_kiri yang cocok untuk setiap data testing

Mencocokan FLR_kiri yang cocok dengan FLR_kanan untuk setiap data testing

for i = 0 to dataTesting

Menghitung frekuensi setiap FLR_kanan yang cocok untuk setap data testing

for j = 0 to jumlah total FLR kiri yang cocok

peramalan = peramalan + Frekuensi setiap FLR_kanan yang cocok x pusat_cluster1

sesuai dengan value FLR_kanannya

j

hasil_peramlan ke i = peramalan jumlah total FLR kiri yang cocok

i

Hasil_permalan

Berhenti

46

42 Perhitungan Manual

Dalam perhitungan manual ini data sampel yang digunakan merupakan data time series dasarian ke-2 pada periode April 2014 sampai dengan dasarian ke-2 Juli 2014 data sampel ditunjukkan pada Tabel 41

Tabel 41 Data Sampel Perhitungan Manual

No Dasarian Curah Hujan

(A)

Suhu (B) Kelembaban (C)

Kecepatan Angin(D)

1 Dasarian 2 (April 2014) 95 2615 8248 629

2 Dasarian 3 (April 2014) 90 2612 8247 628

3 Dasarian 1 (Mei 2014) 94 2607 8247 627

4 Dasarian 2 (Mei 2014) 83 2625 8232 623

5 Dasarian 3 (Mei 2014) 85 2628 8235 623

6 Dasarian 1 (Juni 2014) 92 2609 8241 626

7 Dasarian 2 (Juni 2014) 86 2627 8235 624

8 Dasarian 3 (Juni 2014) 89 2621 8238 624

9 Dasarian 1 (Juli 2014) 93 2607 8242 626

10 Dasarian 2 (Juli 2014) 86 2626 8237 623

Sumber BMKG Kelas III Karangkates Malang

421 Perhitungan Universe of Discourse (U)

Sebelum melakukan perhitungan U maka harus dicari terlebih dahulu nilai 119863119898119894119899 119863119898119886119909 dan standar deviasi 119863119898119894119899 adalah nilai minimum atau nilai terkecil dari data sampel yang ada sedangkan 119863119898119886119909 adalah nilai maksimum atau nilai paling besar dari data sampel yang ada Untuk mencari nilai standar deviasi harus menghitung nilai mean (rata ndash rata) terlebih dahulu sesuai dengan Persamaan 211 Mean dari data curah hujan (A) dihitung dengan cara sebagai berikut

Mean = (data ke-1 + data ke-2 + data ke-3 + + data ke-10) 10

= (95 + 90 + 94 + 83 + 85 + 92 + 86 + 89 + 93 + 86) 10

= 893 10

= 893

Selanjutnya setelah diperoleh nilai mean dilanjutkan melakukan perhitungan standar deviasi sesuai dengan Persamaan 212 Standar deviasi adalah akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel Untuk menghitung standar deviasi agar lebih mudah kita terlebih dahulu melakukan perhitungan nilai kuadrat dari selisih data ke-i dan mean yang ditunjukkan pada Tabel 42

47

Tabel 42 Hasil kuadrat dari selisih data ke-i dan mean

i Data ke-i Data ke-i mean (Data ke-i - mean)sup2

1 95 57 32490

2 90 07 0490

3 94 47 22090

4 83 -63 39690

5 85 -43 18490

6 92 27 7290

7 86 -33 10890

8 89 -03 0090

9 93 37 13690

10 86 -33 10890

Jumlah 1561

Setelah mendapatkan hasil nilai kuadrat dari selisih data ke-i dan mean sesuai dengan Tabel 42 maka dapat dilanjutkan melakukan perhitungan standar deviasi dengan cara sebagai berikut

Standar_deviasi = radic1

10minus1sum (119889119886119905119886 119896119890 minus 119894 minus 119898119890119886119899)10

119894=1

2

= radic1

9 times 1561

= 4165

Untuk perhitungan standar deviasi juga dilakukan pada faktor lainnya yaitu suhu (B) kelembaban (C) dan kecepatan angin (D) Hasil perhitungan 119863119898119894119899 119863119898119886119909 dan standar deviasi ditunjukkan pada Tabel 43

Tabel 43 Nilai minimum nilai maksimum dan standar deviasi

Data D min D max Standar Deviasi

A 83 95 4165

B 2607 2628 0086

C 8232 8248 0057

D 623 629 0022

Berdasarkan hasil yang ditunjukkan Tabel 43 selanjutnya dapat dilakukan perhitungan nilai U sesuai dengan Persamaan 213 Berikut adalah perhitungan U pada data A

U = [119863119898119894119899 minus 120590 119863119898119886119909 + 120590]

= [(83 ndash 4165) (95 ndash 4165)]

= [78835 99165]

48

Untuk perhitungan U juga dilakukan pada semua faktor yaitu data B C dan D Sehingga diperoleh nilai U yang ditunjukkan pada Tabel 44

Tabel 44 Hasil Universe of Discourse

Data U

Batas Bawah Batas Atas

A 78835 99165

B 25984 26366

C 82263 82537

D 6208 6312

422 Perhitungan jumlah cluster (k)

Pada perhitungan jumlah cluster langkah pertamanya adalah mencari nilai absolut dari selisih data hari ke-t dengan hari sebelumnya Perhitungan selisih dilakukan hingga data ke-10 Perhitungan nilai selisih dilakukan pada semua data A B C dan D Selanjutnya masing ndash masing nilai selisih dijumlah sehingga hasilnya seperti ditunjukkan pada Tabel 45

Tabel 45 Nilai absolut selisih data hari ke-t dengan hari sebelumnya

No Tanggal A B C D

1 Dasarian 3 (April 2014) 5 003 001 001

2 Dasarian 1 (Mei 2014) 4 005 0 001

3 Dasarian 2 (Mei 2014) 11 018 015 004

4 Dasarian 3 (Mei 2014) 2 003 003 0

5 Dasarian 1 (Juni 2014) 7 019 006 003

6 Dasarian 2 (Juni 2014) 6 018 006 002

7 Dasarian 3 (Juni 2014) 3 006 003 0

8 Dasarian 1 (Juli 2014) 4 014 004 002

9 Dasarian 2 (Juli 2014) 7 019 005 003

Jumlah 49 105 043 016

Setelah mendapatkan nilai absolut selisih data hari ke-t dengan hari sebelumnya dapat dilanjutkan dengan menghitung jumlah cluster sesuai dengan Persamaan 214 Perhitungan jumlah cluster pada data A (k1) berdasarkan pada Tabel 43 diketahui nilai 119863119898119894119899 adalah 171 nilai 119863119898119886119909 adalah 2048 maka jumlah cluster data A dapat ditunjukkan sebagai berikut

49

1198961 = ||119863119898119894119899 minus 119863119898119886119909|sum |119883(119905) minus 119883(119905 minus 1)|119899

119905=1

119899 minus 1|

= |83 minus 9549

10minus1| = 2204

Apabila hasil perhitungan jumlah cluster merupakan bilangan pecahan maka hasilnya harus dibulatkan Sehingga jumlah cluster pada data A adalah 2 Perhitungan jumlah cluster juga dilakukan pada data B (k2) C (k3) dan D (k4) Berikut merupakan hasil semua perhitungan jumlah cluster yang ditunjukkan pada Tabel 46

Tabel 46 Hasil jumlah cluster data

No Cluster Jumlah Cluster

1 k1 2

2 k2 2

3 k3 3

4 k4 3

423 Perhitungan pusat cluster dan subinterval

Pada pembentukan subinterval berdasarkan pada Tabel 46 yang menunjukkan jumlah subinterval yang selanjutnya digunakan untuk menentukan pusat cluster menggunakan algoritma fuzzy C-means (FCM)

4231 Penentuan pusat cluster

a Penentuan nilai variabel

Pada penentuan subinterval diawali dengan klasterisasi menggunakan algoritma FCM pada awal proses ditentukkan beberapa variabel sebagai berikut

Banyak cluster = k1 = 2

Bobot (w) = 2

Fungsi objektif awal = 0

Iterasi awal = 1

Iterasi maksimum = 100

Error terkecil = 001 b Pembentukan matriks partisi awal (micro)

Data pada pembentukan matriks partisi awal merupakan nilai random diantara nilai 0 sampai 1 Dimensi pada matriks partisi awal dibentuk dengan dimensi jumlah data (i) x jumlah cluster (k) Dalam hal ini telah diketahui jumlah data adalah 10 dan k1 adalah 2 maka partisi dimensi matriks awal adalah 10 x 2 Hasil pembentukan matriks partisi awal ditunjukkan pada Tabel 47 dimana Cluster disimbolkan dengan C

50

Tabel 47 Matriks partisi awal pada cluster data A

c Normalisasi matriks partisi awal

Langkah pertama normalisasi matriks partisi awal adalah dengan menghitung jumlah bilangan penyusun matriks pada setiap kolom yang dapat dilihat pada Tabel 47 dijumlah berdasarkan dengan Persamaan 24 Diketahui jumlah kolom matriks sebanyak 2 sehingga diperoleh Q1 untuk penjumlahan kolom c1 Q2 untuk penjumlahan kolom c2

Q1 = 0355 + 0174 + 02 + 0387 + 0598 + 0819 + 0702 + 0719 + 0349 +

0852

= 5154

Q2 = 0170 + 0815 + 0190 + 0456 + 0526 + 0170 + 0232 + 0572 + 0102 +

0322

= 3554

Langkah selanjutnya dilakukan proses normalisasi menggunakan Persamaan 25 Dimana setiap bilangan penyusun matriks awal dibagi dengan nilai Q sesuai dengan kolomnya masing ndash masing Bilangan penyusun matriks disimbolkan dengan microik dimana i menunjukkan baris dan k menunjukkan kolom posisi bilangan tersebut pada matriks

i micro

c1 c2

1 0355 0170

2 0174 0815

3 0200 0190

4 0387 0456

5 0598 0526

6 0819 0170

7 0702 0232

8 0719 0572

9 0349 0102

10 0852 0322

51

μ11 = bilangan matriks partisi pada baris 1 kolom 1

Q1

= 0355

5154

= 0069

μ12 = bilangan matriks partisi pada baris 1 kolom 2

Q2

= 0170

3554

= 0048

Setelah melakukan perhitungan seperti diatas untuk semua bilangan matriks sehingga matriks partisi sudah ternormalisasi seperti yang ditunjukkan pada Tabel 48

Tabel 48 Derajat keanggotaan matriks partisi data A

i micro

C1 C2

1 0069 0048

2 0034 0229

3 0039 0054

4 0075 0128

5 0116 0148

6 0159 0048

7 0136 0065

8 0140 0161

9 0068 0029

10 0165 0090

d Perhitungan pusat cluster (V)

Pada perhitungan pusat cluster (V) berdasarkan Persamaan 26 Dimana setiap bilangan penyusun matriks partisi (micro) dipangkatkan dengan w dimana variabel w yang sudah dideklarisakan terlebih dahulu dengan nilai sama dengan 2 dan dikalikan dengan bilangan penyusun matriks X yang merupakan matriks berisi data yang ada pada Tabel 41 Selanjutnya hasil perkalian tersebut dijumlah dan dibagi dengan jumlah hasil kuadrat dari bilangan penyusun matriks partisi Hasil perhitungan ditunjukkan pada Tabel 49

52

Tabel 49 Perhitungan pusat cluster data A

Berdasarkan jumlah cluster dari data A yaitu 2 maka terdapat 2 pusat cluster (V) yaitu V1 V2 Perhitungan nilai V adalah sebagai berikut

V1 = sum ((μic1)2 times Xi)10

i=1

sum (μic1)210i=1

= 10730216

0121620

= 8822718207

V2 = sum ((μic2)2 times Xi)10

i=1

sum (μic2)210i=1

= 12111287

0137572

= 8803592572

Jadi berdasarkan perhitungan diatas pusat cluster untuk data A pada iterasi ke-1 adalah 8822718207 8803592572

e Perhitungan fungsi objektif (P)

Pada perhitungan P menggunakan Persamaan 27 dimana setiap baris pada data matriks X dikurangi pusat cluster (V) selanjutnya dikuadratkan Hasilnya

i X microsup2 microsup2 x X

C1 C2 C1 C2

1 95 0004731 0002292 0449450 0217718

2 90 0001137 0052633 0102304 4736927

3 94 0001512 0002864 0142117 0269234

4 83 0005630 0016427 0467258 1363472

5 85 0013448 0021907 1143107 1862112

6 92 0025233 0002291 2321422 0210787

7 86 0018542 0004243 1594602 0364916

8 89 0019487 0025916 1734356 2306543

9 93 0004590 0000816 0426841 0075870

10 86 0027311 0008183 2348759 0703706

Jumlah 0121620 0137572 10730216 12111287

53

kemudian dikalikan dengan micro yang sudah dipangkatkan dengan bobot (w) seperti yang telah ditunjukkan pada Tabel 49 Selanjutnya hasil tersebut dijumlah per kolom seperti yang ditunjukkan pada Tabel 410

Tabel 410 Fungsi objektif data A

i X (X-V)sup2 (X-V)sup2 x microsup2

C1 C2 C1 C2

1 95 458711 484983 02170 01111

2 90 31429 38576 00036 02030

3 94 333254 355702 00504 01019

4 83 273234 253605 01538 04166

5 85 104147 92168 01401 02019

6 92 142342 157139 03592 00360

7 86 49603 41450 00920 00176

8 89 05972 09294 00116 00241

9 93 227798 246420 01046 00201

10 86 49603 41450 01355 00339

Jumlah 1267661573 1166282827

Fungsi Objektif (P) 24339444

Perhitungan nilai fungsi objektif dilakukan seperti Persamaan 27 Nilai fungsi objektif diperoleh dengan cara sebagai berikut P = sum sum ([(Xi minus Vc)2](μik)2)3

c=110i=1

P = 1267661573 + 1166282827

= 24339444

f Perbaikan matriks partisi

Pada langkah ini perbaikan matriks partisi dilakukan berdasarkan Persamaan 28 Data matriks X untuk setiap barisnya dikurangi pusat cluster lalu dikuadratkan seperti yang ditunjukkan pada Tabel 410 Selanjutnya hasilnya dipangkatkan dengan -11 karena w-1 = 1 Hasil pangkat -1 terhadap (X-V)2 ditunjukkan pada Tabel 411

54

Tabel 411 Perbaikan matriks partisi

i ((X-V)sup2)^-1

Jumlah C1 C2

1 0022 0021 0042

2 0318 0259 0577

3 0030 0028 0058

4 0037 0039 0076

5 0096 0108 0205

6 0070 0064 0134

7 0202 0241 0443

8 1674 1076 2750

9 0044 0041 0084

10 0202 0241 0443

Berdasarkan tabel diatas bilangan penyusun matriks partisi yang baru atau yang telah diperbaiki diperoleh dari hasil pembagian data terhadap jumlah per barisnya

12058311 = 0022

0042= 0514

12058312 = 0021

0042= 0486

Pada perhitungan nilai matriks yang sudah diperbaiki dilakukan pada semua elemen matriks sehingga hasil perbaikan matriks seperti yang ditunjukkan pada Tabel 412

Tabel 412 Hasil perbaikan matriks partisi

Setelah mendapatkan hasil perbaikan matriks partisi kita lakukan pengecekan selama iterasi kurang dari iterasi maksimum (maxIter) atau selisih antara fungsi objektif iterasi saat ini dengan iterasi sebelumnya bernilai lebih dari nilai error terkecil yaitu 001 maka proses berlanjut dengan kembali melakukan perhitungan pusat cluster hingga perbaikan matriks partisi Hasil

i micro

C1 C2

1 0514 0486

2 0551 0449

3 0516 0484

4 0481 0519

5 0469 0531

6 0525 0475

7 0455 0545

8 0609 0391

9 0520 0480

10 0455 0545

55

perhitungan pusat cluster dari data A B C dan D setelah dilakukan proses tiga kali iterasi dan diurutkan mulai dari yang terkecil sampai yang terbesar ditunjukkan pada Tabel 413

Tabel 413 Hasil pusat cluster

4232 Perhitungan batas subinterval

Perhitungan batas subinterval dilakukan dengan mencari nilai tengah (Median) dari setiap pusat cluster Berikut merupakan contoh perhitungan batas subinterval pada data A

a Interval 1 Batas bawah = 78835 (Batas bawah Universe of Discourse pada data A) Batas atas = 89347 (Median 88303 dan 90390)

b Interval 2 Batas bawah = 89347 (Median 88303 dan 90390) Batas atas = 99165 (Batas atas Universe of Discourse pada data A)

Seperti perhitungan diatas juga dilakukan pada data suhu (B) kelembaban (C) dan kecepatan angin (D) Dalam hal ini jumlah subinterval setiap atribut berbeda ndash beda sesuai dengan jumlah cluster yang sebelumnya ditunjukkan pada Tabel 46 Berikut merupakan batas subinterval masing ndash masing atribut yang ditunjukkan pada Tabel 414

Tabel 414 Batas subinterval masing ndash masing atribut data

Interval (micro)

A B C D

1

78835 25984 751708 6208

sd sd sd sd

89347 26181 823863 6249

2

89347 26181 823863 6249

sd sd sd sd

99165 26366 82411 6256

3

82411 6256

- - sd sd

82537 6312

Cluster A B C D

1 88303 26165 82391 62497

2 90390 26197 82408 62499

3 - - 82415 62613

56

424 Pembentukan Fuzzy Set

Pembentukan fuzzy set berdasarkan pada derajat keanggotaan dari subinterval (micro) fuzzy set dari data A ditentukan dengan derajat keanggotaan sebagai berikut

A1 = 1micro1 + 05micro2

A2 = 05micro1 + 1micro2

Pada derajat keanggotaan data A diatas simbol ldquo+rdquo menunjukkan operator himpunan gabungan Berdasarkan subinterval pada Tabel 414 nilai batas fuzzy set dari data atribut A dapat ditentukan dengan cara sebagai berikut

A1 = 78835 sd 94256 (Batas bawah interval 1 sd titik tengah interval 2)

A2 = 84091 sd 99165 (Titik tengah interval 1 sd batas atas interval 2)

Setelah diketahui batas masing ndash masing fuzzy set grafik fungsi keanggotaan fuzzy set data A yang direpresentasikan dalam kurva bahu yang ditunjukkan pada Gambar 422 Dengan cara yang sama juga ditentukan pula fuzzy set dari data attribut B C dan D

425 Fuzzifikasi

Pada langkah fuzzifikasi dilakukan dengan mencari derajat keanggotaan yang memiliki nilai paling besar (maksimum) dari masing ndash masing data terhadap fuzzy set yang sudah terbentuk Derajat keanggotaan dicari berdasarkan fungsi keanggotaan kurva bentuk bahu Berikut ini adalah perhitungan derajat keanggotaan dari data attribut A

Data aktual curah hujan (A) pada April 2014 dasarian ke-3 = 90

1198601 = 942558 ndash 90

942558minus840911= 041868427

Gambar 422 Grafik fuzzy set data A

57

1198602 = 90minus840911

942558minus840911= 058131636

Derajat keanggotaan paling besar berada pada A2 sehingga data attribut A pada April 2014 dasarian ke-3 difuzzifikasikan ke fuzzy set A2 Perhitungan yang sama dilakukan pada seluruh data attribut A sehingga didapat derajat keanggotaan dan hasil fuzzifikasi dari data A ditunjukkan pada Tabel 415

Tabel 415 Hasil derajat keanggotaan dan fuzzy set data A

i Data A1 A2 Fuzzyfikasi

1 95 0 1 A2

2 90 041868363 058131636 A2

3 94 002516357 097483642 A2

4 83 1 0 A1

5 85 09105837 008941629 A1

6 92 02219236 077807639 A2

7 86 08122036 018779631 A1

8 89 05170636 048293635 A1

9 93 01235436 087645641 A2

10 86 08122037 018779631 A1

Perhitungan yang sama juga dilakukan pada semua attribut yaitu attribut B C dan D Sehingga dapat diperoleh hasil fuzzifikasi sesuai derajat keanggotaan dengan nilai paling besar Berikut adalah hasil fuzzifikasi untuk semua attribut yang dapat dilihat pada Tabel 416

Tabel 416 Hasil fuzzifikasi semua data attribut

No Tanggal A B C D

1 Dasarian 2 (April 2014) A2 B1 C3 D3

2 Dasarian 3 (April 2014) A2 B1 C3 D3

3 Dasarian 1 (Mei 2014) A2 B1 C3 D3

4 Dasarian 2 (Mei 2014) A1 B2 C1 D1

5 Dasarian 3 (Mei 2014) A1 B2 C1 D1

6 Dasarian 1 (Juni 2014) A2 B1 C2 D2

7 Dasarian 2 (Juni 2014) A1 B2 C1 D1

8 Dasarian 3 (Juni 2014) A1 B2 C2 D1

9 Dasarian 1 (Juli 2014) A2 B1 C2 D2

10 Dasarian 2 (Juli 2014) A1 B2 C2 D1

58

426 Pembentukan Fuzzy Logical Relationship (FLR)

Pada tahap pembentukan FLR dengan berdasarkan nilai order yang sudah ditentukan Pada manualisasi ini berdasarkan dari Tabel 416 di misalkan nilai order kita deklarasikan dengan nilai 3 sehingga dapat menghasilkan 7 FLR Hasil pembentukan FLR Data training dapat ditunjukkan pada Tabel 417 Hasil pembentukan FLR Data testing dapat ditunjukkan pada Tabel 418

Tabel 417 Hasil pembentukan FLR data training

No Fuzzy Logical Relationship (FLR)

1 (A(12)B(11)C(13)D(13)) (A(22)B(21)C(23)D(23)) (A(32)B(31)C(33)D(33)) rarr A1

2 (A(12)B(11)C(13)D(13)) (A(22)B(21)C(23)D(23)) (A(31)B(32)C(31)D(31)) rarr A1

3 (A(12)B(11)C(13)D(13)) (A(21)B(22)C(21)D(21)) (A(31)B(32)C(31)D(31)) rarr A2

4 (A(11)B(12)C(11)D(11)) (A(21)B(22)C(21)D(21)) (A(32)B(31)C(32)D(32)) rarr A1

5 (A(11)B(12)C(11)D(11)) (A(22)B(21)C(22)D(22)) (A(31)B(32)C(31)D(31)) rarr A1

Tabel 418 Hasil pembentukan FLR data testing

No Fuzzy Logical Relationship (FLR)

1 (A(12)B(11)C(12)D(12)) (A(21)B(22)C(21)D(21)) (A(31)B(32)C(32)D(31)) rarr A2

2 (A(11)B(12)C(11)D(11)) (A(21)B(22)C(22)D(21)) (A(32)B(31)C(32)D(32)) rarr A1

427 Defuzzifikasi

Pada tahap ini misalkan jumlah data yang digunakan untuk data uji atau data testing adalah dua yaitu yang pertama data periode ke-9 dan yang kedua data periode ke-10 Sehingga yang digunakan data latih atau data training adalah data pada periode ke-1 sampai data periode ke-8 Pada data testing yang pertama melibatkan FLR ke-1 sampai FLR ke-5 untuk disesuaikan dengan FLR ke-6 yang berdasarkan pada Tabel 417 Pada data testing yang kedua melibatkan FLR ke-1 sampai FLR ke-6 untuk disesuaikan dengan FLR ke-7 yang berdasarkan pada Tabel 417 Selanjutnya setiap ruas kiri FLR data testing dibandingkan dengan FLR data training yaitu pada bilang pangkat bawah fuzzy set dibandingkan sesuai dengan posisinya dan dihitung selisihnya Hasil dari perhitungan selisih tersebut dijumlahkan dan apabila jumlah selisihnya kurang dari threshold maka FLR tersebut dikatakan cocok Threshold merupakan dari hasil mengalikan jumlah order dengan jumlah faktor kemudian dijumlahkan dengan dengan sebuah konstanta Contoh perhitungan selisih nilai ruas kiri FLR pada data testing pertama adalah sebagai berikut

59

Data testing = (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(32) B(31) C(33) D(33)) rarr A1

Data training =

1 (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(31) B(32) C(31) D(31)) rarr A1

2 (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(31) B(32) C(31) D(31)) rarr A1

3 (A(12) B(11) C(13) D(13)) (A(21) B(22) C(21) D(21)) (A(31) B(32) C(31) D(31)) rarr A2

4 (A(11) B(12) C(11) D(11)) (A(21) B(22) C(21) D(21)) (A(32) B(31) C(32) D(32)) rarr A1

5 (A(11) B(12) C(11) D(11)) (A(22) B(21) C(22) D(22)) (A(31) B(32) C(31) D(31)) rarr A1

Selisih data ke- 1 = |2-2|+|1-1|+|3-2|+|3-2|+|2-1|+|1-2|+|3-1|+|3-1|+|2-1|+|1-2|+|3-2|+|3-1| = 13

Selisih data ke- 2 = |2-2|+|1-1|+|3-2|+|3-2|+|2-1|+|1-2|+|3-1|+|3-1|+|1-1|+|2-2|+|1-2|+|1-1| = 9

Selisih data ke- 3 = |2-2|+|1-1|+|3-2|+|3-2|+|1-1|+|2-2|+|1-1|+|1-1|+|1-1|+|2-2|+|1-2|+|1-1| = 3

Selisih data ke- 4 = |1-2|+|2-1|+|1-2|+|1-2|+|1-1|+|2-2|+|1-1|+|1-1|+|2-1|+|1-2|+|2-2|+|2-1| = 7

Selisih data ke- 5 = |1-2|+|2-1|+|1-2|+|1-2|+|2-1|+|1-2|+|2-1|+|2-1|+|1-1|+|2-2|+|1-2|+|1-1| = 9

Pada perhitungan selisih nilai ruas kiri FLR pada data testing juga dilakukan pada semua data testing yang sudah dideklarasikan sebelumnya Dalam hal ini agar dapat menemukan FLR yang cocok dengan data testing Tahap selanjutnya adalah proses defuzzifikasi menggunakan threshold yang dimisalkan 18 sehingga FLR yang memiliki kecocokan dengan data testing pertama adalah semua FLR dari ke-1 sampai ke-5 karena memiliki hasil selisih kurang dari 18 Semua FLR yang cocok ditampung dikelompokkan berdasarkan FLR pada ruas kanan yang sama kemudian dhitung frekuensinya Berikut adalah frekuensi dan pusat cluster dari ruas kanan FLR yang cocok dengan data testing pertama dan kedua ditunjukkan pada Tabel 419

Tabel 419 Frekuensi FLR yang cocok dengan data testing

Data testing 1 Data testing 2

Ruas kanan A1 A2 A1 A2

Pusat Cluster 88303 90390 88303 90390

Frekuensi 4 1 4 2

Berdasarkan pada Tabel 419 dilakukan defuzzifikasi sesuai dengan Persamaan 218 sebagai berikut

119863119886119905119886 119905119890119904119905119894119899119892 1 = (88303times4)+(90390times1)

5= 887204

60

119863119886119905119886 119905119890119904119905119894119899119892 2 = (88303times4)+(90390times2)

6= 889987

Jadi berdasarkan perhitungan diatas diperoleh hasil peramalan curah hujan pada pada April 2014 dasarian ke-3 adalah 1384601636 sedangkan pada tanggal 10012016 adalah 2769203272 Perbandingan data curah hujan aktual dan hasil peramalan dengan metode High Order Fuzzy Time Series Multi Factors dapat dilihat pada Tabel 420

Tabel 420 Perbandingan data aktual dan hasil peramalan

No Data Aktual Hasil Peramalan

1 93 887204

2 86 889987

Dari hasil peramalan yang ditunjukkan pada Tabel 420 dapat dilakukan perhitungan kesalahan peramalan menggunakan metode Mean Square Error (MSE) seperti Persamaan 219

119872119878119864 = ((93minus887206)2+(86minus889989)2)

2

= 136536

43 Perancangan antarmuka

Perancangan antarmuka merupakan perancangan dari tampilan antarmuka atau interface yang nantinya akan diterapkan pada tahapan implementasi Pada perancangan antarmuka ini terdapat lima halaman utama dan juga terdapat dalam menu berupa button yaitu halaman input halaman tampil data halaman proses halaman hasil dan halaman perhitungan error

431 Halaman input

Pada halaman input terdapat inputan data dengan nama button Browse Data pada inputan data ini pengguna diharuskan memasukkan inputan file data dalam bentuk ekstensi xls serta direktori lokasi file yang di inputkan akan ditampilkan pada textfield dan juga terdapat label yang menampilkan jumlah banyaknya data yang terdapat pada file yang telah di inputkan Selanjutnya juga terdata inputan textfield data training data testing order dan nilai konstanta Pada halaman input ini juga terdapat button fuzzification yang berfungsi untuk melakukan proses clustering fuzzifikasi dan FLR Selanjutnya pada button forecasting berfungsi untuk melakukan peramalan atau defuzzifikasi dari hasil proses fuzzifikasi serta menghitung nilai error dari hasil peramalan Berikut

61

merupakan rancangan tampilan antarmuka dari halaman input yang ditunjukkan pada Gambar 423

432 Halaman tampil data

Pada halaman tampil data terdapat tabel yang menampilkan isi data dari xls yang sudah dimasukkan terlebih dahulu pada halaman input Tabel tampil data akan menampilkan tanggal curah hujan kelembaban suhu dan kecepatan angin Berikut merupakan tampilan rancangan halaman tampil data yang ditunjukkan pada Gambar 424

Gambar 423 Rancangan antarmuka halaman input

Gambar 424 Rancangan antarmuka halaman tampil data

62

433 Halaman proses

Pada halaman proses akan menampilkan hasil clustering fuzzifikasi dan fuzzy logical relationship Pada tampilan halaman clustering akan menampilkan Universe of Discourse curah hujan suhu kelembaban dan kecepatan angin Selanjutnya tampilan dibawahnya akan menampilkan jumlah cluster dari setiap faktor yaitu jumlah cluster curah hujan suhu kelembaban dan kecepatan angin Berikut merupakan tampilan perancangan halaman proses clustering yang ditunjukkan Gambar 425

Selanjutnya pada tampilan proses fuzzifikasi akan menampilkan tabel hasil fuzzifikasi dari curah hujan suhu kelembaban dan kecepatan angin Berikut adalah tampilan rancangan proses fuzzifikasi yang ditunjukkan pada Gambar 426

Gambar 425 Rancangan antarmuka halaman proses clustering

Gambar 426 Rancangan antarmuka proses fuzzifikasi

63

Pada tampilan proses fuzzy logical relationship (FLR) akan menampilkan textarea berisi hasil proses FLR dari curah hujan suhu kelembaban dan kecepatan angin Berikut adalah tampilan rancangan proses fuzzy logical relationship yang ditunjukkan pada Gambar 427

434 Halaman hasil

Pada halaman hasil peramalan akan menampilkan tabel yang berisi hasil peramalan curah hujan dan data curah hujan yang sebenarnya Serta terdapat text link yang akan menampilkan grafik perbandingan data hasil peramalan dan data yang sebenarnya Berikut adalah tampilan rancangan halaman hasil yang ditunjukkan pada Gambar 428

Gambar 427 Rancangan antarmuka proses fuzzy logical relationship

Gambar 428 Rancangan antarmuka halaman hasil peramalan

64

435 Halaman perhitungan error

Pada halaman perhitungan error akan menampilkan nilai dari hasil perhitungan Mean Square Error (MSE) pada textfield Berikut adalah tampilan rancangan halaman perhitungan error yang ditunjukkan pada Gambar 429

44 Perancangan pengujian

Pada penelitian ini akan dilakukan empat pengujian yaitu pengujian terhadap nilai order nilai threshold pengujian terhadap jumlah data training untuk mengetahui pengaruhnya terhadap nilai Mean Square Error (MSE) dan pengujian validasi sistem untuk mengetahui kestabilan hasil implementasi

441 Perancangan pengaruh order terhadap nilai MSE

Order merupakan jumlah urutan data yang digunakan dalam pembentukkan Fuzzy Logical Relationship (FLR) Pada pengujian ini dilakukan percobaan dengan order yang berbeda ndash beda Pengujian ini bertujuan untuk mengetahui pengaruh order terhadap hasil peramalan Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Pada setiap pengujian yang telah dilakukan dihitung nilai MSEnya untuk mengetahui tingkat kesalahan metode ini apabila dilakukan dengan order yang berbeda Berikut adalah perancangan pengujian order terhadap nilai MSE ditunjukkan pada Tabel 421

Tabel 421 Rancangan pengujian order terhadap nilai MSE

No Order Threshold MSE

1

Gambar 429 Rancangan antarmuka halaman perhitungan error

65

442 Perancangan pengaruh threshold terhadap nilai MSE

Nilai threshold bergantung jumlah order karena untuk nilai threshold merupakan dari hasil mengalikan jumlah faktor yang mempengaruhi dengan order selanjutnya dijumlah dengan sebuah konstanta Pada pengujian ini dilakukan percobaan dengan konstanta yang berbeda ndash beda sehingga menghasilkan threshold yang berbeda pula Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Dari setiap percobaan yang telah dilakukan dihitung nilai MSEnya untuk mengetahui tingkat kesalahan metode ini apabila dilakukan dengan konstanta dan threshold yang berbeda Berikut merupakan rancangan pengujian pengaruh threshold terhadap nilai MSE yang ditunjukkan pada Tabel 422

Tabel 422 Rancangan pengujian threshold terhadap nilai MSE

No Konstanta Threshold MSE

1

443 Perancangan pengaruh jumlah data training terhadap nilai MSE

Data training sangat berperan penting dalam proses defuzzifikasi sehingga pada penelitian ini dilakukan pengujian pengaruh jumlah data training terhadap tingkat kesalahan dari hasil peramalan Pada pengujian ini dilakukan percobaan dengan jumlah data training yang berbeda ndash beda Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Dari setiap percobaan dilakukan perhitungan nilai MSE untuk mengetahui tingkat kesalahan dari hasil peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors dengan jumlah data training yang berbeda ndash beda Sehingga dari hasil pengujian ini dapat diketahui pengaruh dari jumlah data training Berikut merupakan rancangan pengujian pengaruh jumlah data training yang ditunjukkan pada Tabel 423

Tabel 423 Rancangan pengujian jumlah data training terhadap nilai MSE

No Jumlah Data Training MSE

1

444 Perancangan validasi sistem

Pada pengujian validasi sistem akan melakukan pengujian dengan menggunakan order threshold terbaik seperti yang telah dilakukan pada

66

pengujian ndash pengujian sebelumnya yang menghasilkan hasil error MSE terendah Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Berikut merupakan rancangan pengujian validasi sistem yang ditunjukkan pada Tabel 424

Tabel 424 Rancangan pengujian validasi sistem

Percobaan ke- MSE

1

67

BAB 5 IMPLEMENTASI

Pada bab ini berisi pembahasan hasil implementasi metode High Order Fuzzy Time Series Multi Factors yang sesuai dengan bab sebelumnya yaitu perancangan Bab ini terdiri dari spesifikasi sistem implementasi algoritma dan implementasi antarmuka

51 Spesifikasi Sistem

Pada spesifikasi sistem ini dibagi mejadi dua yaitu spesifikasi perangkat keras dan spesifikasi perangkat lunak

511 Spesifikasi Perangkat Keras

Spesifikasi perangkat keras merupakan perangkat keras yang digunakan pada implementasi penelitian ini Perangkat keras yang digunakan adalah laptop dengan spesifikasi sesuai dengan pada Tabel 51 berikut

Tabel 51 Spesifikasi Perangkat Keras

Komponen Spesifikasi

Processor Intelcopy Core i3-3217U 180 GHz

Memori (RAM) 8 GB RAM

Harddisk 500 GB RAM

512 Spesifikasi Perangkat Lunak

Spesifikasi perangkat lunak merupakan perangkat lunak yang digunakan pada implementasi penelitian ini Perangkat lunak yang digunakan pada implementasi penelitian sesuai dengan yang ditunjukkan pada Tabel 52 berikut

Tabel 52 Spesifikasi Perangkat Lunak

Sistem Operasi Microsoft Windows 7 (64 bit)

Bahasa Pemrograman Java

Tools Pemrograman Netbeans 81

Data Microsoft Excel 2013

52 Implementasi Algoritma

Pada implementasi algoritma ini membahas mengenai hasil implementasi algoritma metode High Order Fuzzy Time Series Multi Factors yang mengacu pada bab sebelumnya yaitu perancangan Dalam penelitian ini implementasi algoritma menggunakan bahasa pemrograman java berbasis desktop Implementasi algoritma terdiri dari beberapa method sesuai dengan langkah ndash langkah pada algoritma metode High Order Fuzzy Time Series Multi Factors

68

521 Implementasi Proses Universe of Discourse

Pada implementasi Universe of Discourse seperti yang ditunjukkan Kode Program 51 dimana pada source code method Universe_of_Discourse baris 3 - 5 terdapat pemanggilan method mean standar_deviasi dan Min_dan_Max Dimana pemanggilan method tersebut dibutuhkan untuk melakukan proses perhitungan selanjutnya yaitu untuk menghitung batas bawah dan batas atas dari Univers of Discourse Baris 7-10 untuk menghitung hasil Universe of Discourse Berikut merupakan source code dari proses Universe of Discourse yang ditunjukkan pada Kode Program 51

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

private void Universe_of_Discourse()

mean()

standar_deviasi()

Min_dan_Max()

hsl_uMin = new double[jmlh_Faktor]

hsl_uMax = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

hsl_uMin[i] = hsl_min[i] - hsl_stdev[i]

hsl_uMax[i] = hsl_max[i] + hsl_stdev[i]

Kode Program 51 Implementasi proses Universe of Discourse

5211 Implementasi proses mean

Pada implementasi proses mean merupakan proses perhitungan nilai rata ndash rata dari setiap faktor yang nantinya hasilnya diperlukan untuk proses perhitungan standar deviasi Berikut merupakan source code dari proses mean yang ditunjukkan pada Kode Program 52 Perhitungan utama proses mean terdapat pada baris 3 ndash 8

Baris Kode

1 2 3 4 5 6 7 8 9

private void mean()

hsl_mean = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double tmp_jmlh = 0

for (int j = 0 j lt jmlh_DataTraining j++)

tmp_jmlh = tmp_jmlh + data[i][j]

hsl_mean[i] = (tmp_jmlh jmlh_DataTraining)

Kode Program 52 Implementasi proses mean

5212 Implementasi proses standar deviasi

Pada implementasi proses perhitungan standar deviasi merupakan akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel Standar deviasi dapat dilakukan perhitungan setelah mendapat nilai hasil dari perhitungan mean Berikut merupakan source code dari implementasi proses standar deviasi yang ditunjukkan pada Kode Program 53 Perhitungan utama proses standar deviasi terdapat pada baris 3 ndash 9

69

Baris Kode

1 2 3 4 5 6 7 8 9 10 11

private void standar_deviasi()

hsl_stdev = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double result = 0

for (int j = 0 j lt jmlh_DataTraining j++)

result = result + (Mathpow((data[i][j] ndash

hsl_mean[i]) 2))

hsl_stdev[i]=Mathsqrt(result(jmlh_DataTraining-

1))

Kode Program 53 Implementasi proses standar deviasi

5213 Implementasi proses Dmin dan Dmax

Pada implementasi proses Dmin dan Dmax merukan untuk mencari nilai minimum dan nilai maksimum dari data sampel untuk setiap faktor Berikut merupakan source code dari implementasi dari proses Dmin dan Dmax yang ditunjukkan pada Kode Program 54 Pada baris 8 ndash 10 merupakan bagian dari proses untuk untuk menentukan nilai data terbesar Selanjutnya pada baris 11 ndash 13 untuk menentukan nilai data terkecil

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

19

private void Min_dan_Max()

hsl_max = new double[jmlh_Faktor]

hsl_min = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double besar = data[i][0]

double kecil = data[i][0]

for (int j = 0 j lt jmlh_DataTraining j++)

if (data[i][j] gt besar)

besar = data[i][j]

if (data[i][j] lt kecil)

kecil = data[i][j]

hsl_max[i] = besar

hsl_min[i] = kecil

Kode Program 54 Implementasi proses Dmin dan Dmax

522 Implementasi Proses Jumlah Cluster

Pada implementasi proses jumlah cluster merupakan proses perhitungan jumlah cluster dari setiap faktor Implementasi ini dapat dilakukan apabila sudah mendapatkan hasil output dari method Min_dan_Max() sudah didapatkan Berikut merupakan source code dari implementasi proses jumlah cluster yang ditunjukkan pada Kode Program 55 Pada baris 3 ndash 7 untuk digunakan untuk menghitung selisih data sampel setiap baris dari semua faktor pada data sampel ke t dengan t+1 Selanjutnya pada baris 9 ndash 10 untuk menghitung jumlah cluster dari setiap faktor

70

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

12

13

private void jumlah_Cluster()

jmlh_Cluster = new int[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double selisih = 0

for (int j = 0 j lt (jmlh_DataTraining - 1) j++)

selisih = selisih + (Mathabs((data[i][j]

- data[i][(j + 1)])))

jmlh_Cluster[i] = (int) Mathround((Mathabs(

hsl_min[i]-hsl_max[i]))(selisih(jmlh_DataTraining

-1)))

Kode Program 55 Implementasi proses jumlah cluster

523 Implementasi Proses Pusat Cluster

Implementasi proses perhitungan pusat cluster ini menggunakan metode fuzzy C-means untuk mendapatkan pusat cluster yang nantinya digunkan sebagai subinterval Implementasi ini memerlukan hasil dari proses method jumlah_Cluster() agar dapat melakukan perhitungan subinterval Berikut merupakan source code dari implementasi proses subinterval yang ditunjukkan pada Kode Program 56 Pada Kode Program 56 hanya menampilkan source code pembentukan subinterval pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 2 ndash 3 merupakan deklarasi variabel bobot iterasi maksimum selisih fungsi objektif awal dan error minimum Pada baris 8 ndash 20 merupakan proses pembentukan matriks partisi dengan nilai random 0 sampai 1 Pada baris 22 ndash 26 merupakan proses normalisasi matriks partisi yang telah terbentuk Pada baris 28 ndash 63 merupakan proses untuk menentukan pusat cluster Pada baris 65 ndash 86 merupakan proses perhitungan fungsi objektif dari iterasi Pada baris 88 ndash 90 merupakan proses perhitungan selisih fungsi objektif Pada baris 92 ndash 108 adalah proses perbaikan matriks partisi Pada baris 110 ndash 115 adalah proses hasil perbaikan matriks partisi Pada baris 116 - 133 adalah proses dengan pengkondisian apakah selisih fungsi objektif lebih kecil dari error minimum serta apabila memenuhi kondisi maka dilanjutkan ke proses pengurutan pusat cluster secara ascending dari hasil iterasi terakhir dan proses pengkondisian iterasi berhenti

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

private void pusat_cluster()

int bobot = 2int iter_maksimum = 100

double selisih_f_objektif = 0double error_min = 001

for (int i = 0 i lt jmlh_Faktor i++)

faktor A

if (i == 0)

Pembentukkan matriks partisi

tmp_Matriks1=new

double[jmlh_Cluster[i]][jmlh_DataTraining]

q1 = new double[jmlh_Cluster[i]]

double jmlh_q1

for (int j = 0 j lt jmlh_Cluster[i] j++)

jmlh_q1 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

71

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

double random = ThreadLocalRandomcurrent()

nextDouble(01 1)

tmp_Matriks1[j][k] = random

jmlh_q1 = jmlh_q1 + random

q1[j] = jmlh_q1

normalisasi matriks

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k] q1[j]

Perhitungan pusat cluster

for (int iter = 0 iter lt iter_maksimum iter++)

selisih_f_objektif = 0

jumA1 = new double[iter_maksimum][jmlh_Cluster[i]]

jumA2 = new double[iter_maksimum][jmlh_Cluster[i]]

miu_Matriks1 = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

XV_Matriks1 = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

pusat_cluster1 = new double[jmlh_Cluster[i]]

double hitung_jum1

double hitung_jum2

for (int j = 0 j lt jmlh_Cluster[i] j++)

hitung_jum1 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow(tmp_Matriks1

[j][k]bobot)

miu_Matriks1[j][k] = tmp_Matriks1[j][k]

hitung_jum1 = hitung_jum1 + tmp_Matriks1

[j][k]

jumA1[iter][j] = hitung_jum1

for (int j = 0 j lt jmlh_Cluster[i] j++)

hitung_jum2 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k]

data[i][k]

hitung_jum2 = hitung_jum2 +

tmp_Matriks1[j][k]

jumA2[iter][j] = hitung_jum2

for (int j = 0 j lt jmlh_Cluster[i] j++)

pusat_cluster1[j] = jumA2[iter][j]

jumA1[iter][j]

perhitungan fungsi objektif

jumA3 = new double[iter_maksimum][jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

double hitung_jum3 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow((data[i][k]

ndash pusat_cluster1[j])

bobot)

XV_Matriks1[j][k] = tmp_Matriks1[j][k]

tmp_Matriks1[j][k] = XV_Matriks1[j][k]

miu_Matriks1[j][k]

hitung_jum3 = hitung_jum3 +

tmp_Matriks1[j][k]

jumA3[iter][j] = hitung_jum3

72

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

double jmlh_f_objektif = 0

for (int j = 0 j lt jmlh_Cluster[i] j++)

jmlh_f_objektif = jmlh_f_objektif

+jumA3[iter][j]

if (iter lt (iter_maksimum - 1))

f_objektif1[iter + 1] = jmlh_f_objektif

perhitungan selisih fungsi objektif

selisih_f_objektif = f_objektif1[iter + 1]

-f_objektif1[iter]

perbaikan matriks partisi

int hitung = bobot - 1int pangkat = -1 hitung

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow(XV_Matriks1

[j][k] pangkat)

jumA4 = new

double[iter_maksimum][jmlh_DataTraining]

for (int j = 0 j lt jmlh_DataTraining j++)

double hitung_jum4 = 0

for (int k = 0 k lt jmlh_Cluster[i] k++)

hitung_jum4 = hitung_jum4 +

tmp_Matriks1[k][j]

jumA4[iter][j] = hitung_jum4

hasil perbaikan matriks

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k]

jumA4[iter][k]

if (selisih_f_objektif lt error_min)

pengurutan ascending pusat cluster

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 kltjmlh_Cluster[i]k++)

if (k lt (jmlh_Cluster[i] - 1))

if (pusat_cluster1[k] gt

pusat_cluster1[k + 1])

double tmp =

pusat_cluster1[k]

pusat_cluster1[k]=

pusat_cluster1[k+1]

pusat_cluster1[k+1] = tmp

iter = iter_maksimum

Kode Program 56 Implementasi proses pusat cluster

524 Implementasi Proses Pembentukan Subinterval dan Fuzzy Set

Pada implementasi proses pembentukan suinterval dan fuzzy set memiliki dua proses yaitu proses menentukan batas subinterval minumum serta maksimum dan proses menentukan batas fuzzy set minimum serta maksimum

73

Proses pembentukan fuzzy dapat menjalankan prosesnya setelah method subinterval() telah diakses Berikut merupakan source code proses pembentukan fuzzy set yang ditunjukkan pada Kode Program 57 Pada Kode Program 57 hanya menampilkan source code pembentukan fuzzy set pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 6 ndash 29 merupakan proses pembentukan batas minimum dan batas maksimum subinterval Pada baris 31 ndash 54 merupakan pembentukan batas minimum dan batas maksimum fuzzy set

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

private void subinterval_dan_fuzzy_set()

for (int i = 0 i lt jmlh_Faktor i++)

faktor A

if (i == 0)

batas subinterval

batas_subintervalMinA = new double[jmlh_Cluster[i]]

batas_subintervalMaxA = new double[jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

if (j == 0)

batas_subintervalMinA[j] = hsl_uMin[i]

batas_subintervalMaxA[j]=(pusat_cluster1[j]

+pusat_cluster1[j+

1])2

else if (j == (jmlh_Cluster[i] - 1))

batas_subintervalMinA[j]=

(pusat_cluster1[j-1] +pusat_cluster1

[j])2

batas_subintervalMaxA[j]=

hsl_uMax[i]

else if ((0 lt j) ampamp (j lt (jmlh_Cluster[i] -

1)))

batas_subintervalMinA[j]=

(pusat_cluster1[j-1]+

pusat_cluster1[j])2

batas_subintervalMaxA[j]=

(pusat_cluster1[j]+

pusat_cluster1[j+1)2

batas fuzzy set

batas_fuzzysetMinA = new double[jmlh_Cluster[i]]

batas_fuzzysetMaxA = new double[jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

if (j == 0)

batas_fuzzysetMinA[j]=

batas_subintervalMinA[j]

batas_fuzzysetMaxA[j]=

(batas_subintervalMinA[j+1]

+batas_subintervalMaxA[j + 1])2

else if (j == (jmlh_Cluster[i] - 1))

batas_fuzzysetMinA[j]=

(batas_subintervalMinA[j-1]

+batas_subintervalMaxA[j - 1])2

batas_fuzzysetMaxA[j] =

batas_subintervalMaxA[j]

else if ((0 lt j) ampamp (jlt(jmlh_Cluster[i]-1)))

batas_fuzzysetMinA[j]=

(batas_subintervalMinA[j-1]+

batas_subintervalMaxA[j-1])2

batas_fuzzysetMaxA[j]=

74

51

52

53

54

55

56

(batas_subintervalMinA[j+1]+

batas_subintervalMaxA[j + 1])2

Kode Program 57 Implementasi pembentukan subinterval dan fuzzy set

525 Implementasi proses fuzzifikasi

Pada Implementasi proses fuzzifikasi memiliki dua proses utama yaitu menentukan derajat keanggotaan dan proses fuzzifikasi Dalam proses ini method fuzzy_set() harus dieksekusi terlebih dahulu karena implementasi proses ini memerlukan output dari method tersebut Berikut merupakan source code fuzzifikasi ditunjukkan pada Kode Program 58 Pada Kode Program 58 hanya menampilkan source code pembentukan fuzzy set pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 3 ndash 81 merupakan proses perhitungan derajat keanggotaan Pada baris 83 ndash 94 adalah proses penentuan fuzzifikasi

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

private void fuzzifikasi()

if (i == 0)

hitung_fuzzifikasiA = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

if(j == 0)

if((data[i][k]gtbatas_fuzzysetMinA[j])ampamp

(data[i][k]lt batas_fuzzysetMinA[j + 1]))

hitung_fuzzifikasiA[j][k] = 1

if ((data[i][k] gt batas_fuzzysetMinA[j + 1])

ampamp (data[i][k] lt batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k]=

(batas_fuzzysetMaxA[j] - data[i][k])

(batas_fuzzysetMaxA[j] ndash

batas_fuzzysetMinA[j + 1])

if ((data[i][k] gt batas_fuzzysetMinA[j]) ampamp

(data[i][k] lt batas_fuzzysetMinA[j + 1])

ampamp(data[i][k] gt batas_fuzzysetMinA[j+1])

ampamp(data[i][k] lt batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k] = 0

else if (j == (jmlh_Cluster[i] - 1))

if((data[i][k] gt batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]))

hitung_fuzzifikasiA[j][k]=

(data[i][k]-batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)])

(batas_fuzzysetMaxA[(jmlh_Cluster[i]ndash

2)]-batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)])

if((data[i][k] gt batas_fuzzysetMaxA

75

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

[(jmlh_Cluster[i]- 2)]) ampamp (data[i][k]

lt batas_fuzzysetMaxA[(jmlh_Cluster[i]

- 1)]))

hitung_fuzzifikasiA[j][k] = 1

if ((data[i][k] gt batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]) ampamp

(data[i][k] gt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 1)]))

hitung_fuzzifikasiA[j][k] = 0

else if ((0 lt j)ampamp(j lt (jmlh_Cluster[i] - 1)))

if ((data[i][k] gt batas_fuzzysetMinA[j])

ampamp (data[i][k] lt batas_fuzzysetMinA[j

+1]))

hitung_fuzzifikasiA[j][k]=

(data[i][k]-batas_fuzzysetMinA[j])

(batas_fuzzysetMinA[j + 1]-

batas_fuzzysetMinA[j])

if ((data[i][k] gt batas_fuzzysetMinA

[j+1])ampamp (data[i][k] lt

batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k]=

(batas_fuzzysetMaxA[j]-data[i][k])

(batas_fuzzysetMaxA[j]-

batas_fuzzysetMinA[j + 1])

if ((data[i][k] gt batas_fuzzysetMinA[j])

ampamp (data[i][k] lt batas_fuzzysetMinA

[j + 1]) ampamp (data[i][k] gt

batas_fuzzysetMinA[j + 1]) ampamp

(data[i][k]ltbatas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k] = 0

hasil_fuzzifikasiA = new int[jmlh_DataTraining]

for (int j = 0 j lt jmlh_DataTraining j++)

int cluster = 0

double besar=hitung_fuzzifikasiA[0][j]

for (int k = 0 k lt jmlh_Cluster[i] k++)

if (besar lt hitung_fuzzifikasiA[k][j])

besar = hitung_fuzzifikasiA[k][j]

cluster = k

hasil_fuzzifikasiA[j] = cluster + 1

Kode Program 58 Implementasi proses fuzzifikasi

526 Implementasi Pembentukan Fuzzy Logical Relationship

Pada implementasi pembentukan Fuzzy Logical Relationship (FLR) memiliki dua output yaitu FLR_kiri dan FLR_kanan Dimana FLR_kiri berisi group dari kelima faktor dan pada FLR_kanan merupakan dari faktor yang akan diramalkan yaitu

76

faktor curah hujan (A) Berdasarkan dari perancangan proses pada bab sebelumnya maka implementasi source code pembentukan Fuzzy Logical Relationship (FLR) dapat ditunjukkan pada Kode Program 59 berikut Pada baris 3 ndash 14 merupakan deklarasi variabel Pada baris 15 ndash 55 adalah proses pembentukan fuzzy logical relationship data training Pada baris 56 ndash 58 merupakan deklarasi variabel Pada baris 59 ndash 86 adalah proses pembentukan fuzzy logical relationship data testing

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

Fuzzy Logical Relationship

private void fuzzy_logical_relationship()

String input_order = fieldOrdergetText()

order = IntegerparseInt(input_order)

int max_inc = order

String input_dataTraining = fieldDatatraininggetText()

int dataTraining = IntegervalueOf(input_dataTraining)

int tmp_jmlhDatatraining = 0

int tmp_order = 0

int jmlh_dataTraining = dataTraining - order

String input_dataTesting = fieldDatatestinggetText()

int jmlh_dataTesting = IntegervalueOf(input_dataTesting)

FLR_kiri_training = new

int[jmlh_DataTraining][order][jmlh_Faktor]

FLR_kanan_training = new int[jmlh_DataTraining]

for (int i = 0 i lt jmlh_dataTraining i++)

for (int j = i j lt max_inc j++)

for (int k = 0 k lt jmlh_Faktor k++)

if (j == 0)

if (k == 0)

FLR_kiri_training[i][j][k]=

hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiD[j]

else if (j = 0)

if (k == 0)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiD[j]

tmp_order = j

FLR_kanan_training[i] = hasil_fuzzifikasiA[(i + order)]

if (max_inc lt (jmlh_DataTraining - 1))

max_inc = max_inc + 1

77

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

tmp_jmlhDatatraining = i

FLR_kiri_testing = new

int[jmlh_DataTraining][order][jmlh_Faktor]

FLR_kanan_testing = new int[(jmlh_DataTraining)]

tmp_jmlhDatatraining = tmp_jmlhDatatraining + 1

for (int i = 0 i lt jmlh_dataTesting i++)

for (int j = tmp_jmlhDatatraining j lt max_inc j++)

for (int k = 0 k lt jmlh_Faktor k++)

if (k == 0)

FLR_kiri_testing[i][j - tmp_jmlhDatatraining][k]

= hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiD[j]

FLR_kanan_testing[i] =

hasil_fuzzifikasiA[(tmp_jmlhDatatraining + order)]

if (max_inc lt (jmlh_DataTraining - 1))

max_inc = max_inc + 1

tmp_jmlhDatatraining++

Kode Program 59 Implementasi pembentukan FLR

527 Implementasi Proses Defuzzifikasi

Pada implementasi proses defuzzifikasi merupakan proses dimana menentukan hasil peramalan dari data testing berdasarkan dari bilangan fuzzy yang terbentuk Implementasi ini memiliki beberapa inputan penting yaitu data training data testing order dan konstanta Inputan tersebut sangat berperan penting dalam proses implementasi defuzzifikasi Berdasarkan dari perancangan proses pada bab sebelumnya maka implementasi source code defuzzifikasi dapat ditunjukkan pada Kode Program 510 berikut Pada baris 2 ndash 11 merupakan deklarasi variabel Pada baris 13 ndash 37 merupakan proses perhitungan selisih antara data training dengan data testing Pada baris 40 ndash 47 menghitung jumlah FLR yang cocok Pada baris 49 ndash 65 merupakan proses mencocokan FLR kiri yang cocok dengan FLR kanan Pada baris 67 ndash 81 merupakan proses menghitung jumlah frekuensi FLR kanan yang cocok Pada baris 83 ndash 91 adalah proses perhitungan hasil peramalan

Baris Kode 1

2

3

4

private void defuzifikasi()

String input_dataTraining = fieldDatatraininggetText()

String input_dataTesting = fieldDatatestinggetText()

String input_konstanta = fieldKonstantagetText()

78

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

int dataTraining = IntegervalueOf(input_dataTraining)

int dataTesting = IntegervalueOf(input_dataTesting)

int konstanta = IntegervalueOf(input_konstanta)

int match[][]

match = new int[dataTesting][2000]

int threshold = (jmlh_Faktor order) + konstanta

int hitung_selisih = 0

perhitungan selisih

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt (dataTraining + i) j++)

hitung_selisih = 0

for (int k = 0 k lt order k++)

for (int l = 0 l lt jmlh_Faktor l++)

if (i == 0)

hitung_selisih = hitung_selisih +

(Mathabs(FLR_kiri_training[j][k][l] ndash

FLR_kiri_testing[i][k][l]))

else if (i gt 0)

FLR_kiri_training[(dataTraining-

1)+i][k][l] = FLR_kiri_testing[i-

1][k][l]

FLR_kanan_training[(dataTraining-1)+i]

= FLR_kanan_testing[i-1]

hitung_selisih = hitung_selisih +

(Mathabs(FLR_kiri_training[j][k][l] ndash

FLR_kiri_testing[i][k][l]))

if (hitung_selisih lt threshold)

match[i][j] = hitung_selisih

menghitung jumlah total FLR yang cocok untuk setiap data

testing

int countGroup[] = new int[dataTesting]

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt (dataTraining + i) j++)

if (match[i][j] gt 0)

countGroup[i]++

mencocokan FLR_kiri yang cocok dengan FLR_kanan

group = new int[dataTesting][2000]

for (int i = 0 i lt dataTesting i++)

int tmp_count = 0

for (int j = 0 j lt (dataTraining + i) j++)

if (match[i][j] gt 0)

if (tmp_count lt countGroup[i])

group[i][tmp_count] = j

tmp_count++

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt countGroup[i] j++)

group[i][j] = FLR_kanan[group[i][j]]

mengelompokkan yang sama

MapltInteger Integergt map = new HashMapltInteger Integergt()

hasil_peramalan = new double[dataTesting]

for (int i = 0 i lt dataTesting i++)

79

70

71

72

73

74

75 76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

double peramalan = 0

mapclear()

for (int j = 0 j lt countGroup[i] j++)

int key = group[i][j]

if (mapcontainsKey(key))

int occurrence = mapget(key)

occurrence++

mapput(key occurrence)

else

mapput(key 1)

menghitung hasil peramlaan

Iterator iterator = mapkeySet()iterator()

while (iteratorhasNext())

int key = (Integer) iteratornext()

int occurrence = mapget(key)

peramalan = (peramalan + (pusat_cluster1[(key - 1)]

occurrence))

hasil_peramalan[i] = (peramalan countGroup[i])

Kode Program 510 Implementasi proses defuzzifikasi

53 Implementasi Antarmuka

Pada implementasi antarmuka dijelaskan beberapa halaman antarmuka untuk penggunaan dari program hasil implementasi Implementasi antarmuka berdasarkan perancangan yang telah dijelasakan pada bab sebelumnya yaitu bab perancangan Halaman antarmuka yang dibuat adalah halaman input halaman tampil data halaman proses halaman hasil dan halaman perhitungan error

531 Implementasi antarmuka halaman input

Halaman input merupakan halaman yang pertama muncul setelah program dijalankan Pada halaman input ini terdapat beberapa inputan yang harus di masukkan yaitu data input data training data testing order dan konstanta Selain itu pada halaman input juga terdapat tiga button yaitu button browse data button fuzzification dan button forecasting Berikut tampilan antarmuka halaman input yang ditunjukkan pada Gambar 51

Gambar 51 Implementasi antarmuka halaman input

80

532 Implementasi antarmuka halaman tampil data

Halaman tampil data merupakan halaman yang tampil setelah melakukan input data Halaman ini berisi tabel yang menampilkan data curah hujan suhu kecepatan angin dan kelembaban Berikut tampilan antarmuka halaman tampil data yang ditunjukkan pada Gambar 52

533 Implementasi antarmuka halaman proses

Halaman proses merupakan halaman yang muncul setelah button fuzzification telah dieksekusi Halaman proses ini terdiri dari tiga bagian atau tab yaitu clustering fuzzification dan Fuzzy logical relationship Pada halaman antarmuka clustering menampilkan Universe of Discourse dan jumlah cluster pada masing ndash masing faktor Berikut merupakan tampilan antarmuka halaman proses bagian clustering yang ditunjukkan pada Gambar 53

Gambar 52 Implementasi antarmuka halaman tampil data

Gambar 53 Implementasi antarmuka halaman proses clustering

81

Pada tab selanjutnya yaitu pada tab fuzzification tab ini menampilkan hasil proses fuzzifikasi Pada halaman ini menampilkan tabel yang berisi hasil fuzzifikasi dari setiap faktor Berikut merupakan tampilan antarmuka halaman proses bagian fuzzification yang ditunjukkan pada Gambar 54

Pada tab Fuzzy Logical Relationship menampilakn hasil dari proses pembentukan Fuzzy Logical Relationship Tampilan pada halaman ini menampilkan berupa textarea yang berisi dari output proses tersebut Berikut merupakan tampilan antarmuka halaman proses bagian Fuzzy Logical Relationship yang ditunjukkan pada Gambar 55

Gambar 54 Implementasi antarmuka halaman proses fuzzification

Gambar 55 Implementasi halaman antarmuka proses FLR

82

534 Implementasi antarmuka halaman hasil

Pada implementasi antarmuka halaman hasil ini merupakan halaman yang menampilkan hasil dari proses defuzzifikasi Halaman hasil ini menampilkan tabel yang berisi data aktual dan data dari hasil peramlan Berikut merupakan tampilan antarmuka halaman hasil yang ditunjukkan pada Gambar 56

535 Implementasi antarmuka halaman perhitungan error

Pada implementasi antarmuka halaman perhitungan error merupakan halaman yang menampilkan hasil dari proses perhitungan Mean Square Error (MSE) Pada halaman antarmuka ini menampilkan hasil error MSE pada textfield Berikut merupakan tampilan antarmuka halaman perhitungan error yang ditunjukkan pada Gambar 57

Gambar 56 Implementasi halaman antarmuka hasil

Gambar 57 Implementasi halaman antarmuka perhitungan error

83

BAB 6 PENGUJIAN DAN ANALISIS

Pada bab ini membahas hasil pengujian dan analisis hasil pengujian dari hasil implementasi metode High Order Fuzzy Time Series Multi factors untuk peramalan curah hujan dasarian Pada pengujian ini disesuaikan dengan perancangan pengujian pada bab 4

61 Sistematika Pengujian

Pada bab sebelumnya yaitu bab 4 mengenai perancangan telah dibahas perancangan pengujian dikatakan bahwa pengujian akan dilakukan sebanyak empat pengujian Pengujian order pengujian threshold pengujian jumlah data training dan pengujian validasi sistem Dari semua pengujian tersebut akan di uji dan di analisis bagaimana pengaruhnya terhadap hasil perhitungan Mean Square Error (MSE)

62 Hasil dan Analisis Pembahasan

Berikut hasil pengujian dan analisis yang disesuaikan dengan perancangan pengujian pada bab sebelumnya

621 Pengujian pengaruh order terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh order terhadap nilai MSE Order merupakan urutan jumlah dari data time series pada periode waktu t yang mempengaruhi nilai data Jadi jika nilai order adalah 3 maka peramalan akan melibatkan 3 data sebelumnya pada proses pembentukan Fuzzy Logical Relationship (FLR) Pada pengujian ini hanya nilai order yang diubah ndash ubah sedangkan variabel lain akan dibuat tetap Pengujian akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai variabel jumlah data training adalah 72 yaitu dari data Januari 2014 dasarian 1 sampai Desember 2015 dasarian 3 nilai data testing adalah 36 yaitu dasarian 1 Januari 2016 sampai dasarian 3 Desember 2016 konstanta adalah 10 Nilai threshold diperoleh dari perhitungan jumlah faktor dikali order dan dijumlah nilai konstanta Berikut adalah hasil pengujian pengaruh order terhadap nilai MSE yang ditunjukkan pada Tabel 61

Tabel 61 Hasil pengujian order terhadap nilai MSE

No Order Threshold MSE

1 3 22 808585

2 6 34 965547

3 9 46 912631

4 12 58 875884

5 15 70 719284

6 18 82 6801207

7 21 94 5637184

8 24 106 5444184

9 27 118 5433631

10 30 130 5418393

84

Dari hasil pengujian order seperti yang telah ditunjukkan pada Tabel 61 maka pada percobaan pertama dengan order = 3 dan threshold 22 dapat diperoleh MSE sebesar 808585 Selanjutnya pada percobaan kedua dengan order = 6 dan threshold = 34 diperoleh MSE sebesar 965547 Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 61

Berdasarkan Gambar 61 order yang berbeda - beda mempengaruhi besar nilai MSE Dalam penelitian ini menentukan order memiliki ketentuan yaitu nilai order harus lebih dari 0 dan batas maksimal order adalah setengah dari nilai data training (LinYang 2009) Nilai MSE terbesar yang ditunjukkan pada pengujian ini adalah 965547 pada pengujian order 6 dan nilai MSE terkecil adalah 5418393 pada pengujian order 30 Pada Gambar 61 menunjukkan bahwa pada order 3 ke order 6 mengalami peningkatan nilai MSE selanjutnya pada order 6 hingga order 30 mengalami penurunan Pada order 3 memiliki nilai MSE lebih kecil dari order 6 order 9 dan order 12 karena memiliki lebih banyak hasil selisih tingkat kecocokan data time series yang tidak terlalu besar dan kurang dari threshold Selain itu karena data time series dari data sampel yang diperoleh memiliki pola data musiman dimana perubahan pola data dasarian tidak terlalu banyak berubah dari tahun ke tahun Selanjutnya pada order 6 hingga order 30 menunjukkan penurunan nilai MSE dan order terbesar memiliki nilai MSE terkecil sehingga dapat disumpulkan bahwa semakin besar order maka semakin kecil pula nilai MSE Dalam hal ini dengan semakin besarnya order maka data sebelumnya yang digunakan untuk pertimbangan dalam menentukan peramalan semakin banyak Sehingga semakin besar nilai order maka dapat membuat peramalan semakin akurat Dalam pengujian ini memimiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoImplementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emasrdquo yang menyatakan bahwa semakin besar nilai order maka semakin kecil nilai kesalahannya (Wardhani et al 2015)

Gambar 61 Grafik hasil pengujian order terhadap nilai MSE

85

622 Pengujian pengaruh threshold terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh threshold terhadap nilai MSE Threshold merupakan hasil dari mengalikan jumlah order dengan jumlah faktor pada data kemudian dijumlahkan dengan dengan nilai konstanta Pada proses defuzzifikasi terdapat proses menghitung selisih antara pangkat bawah Fuzzy Logical Relationship (FLR) data training dan pangkat bawah FLR data testing Selanjutnya setelah mendapatkan nilai selisih maka nilai selisih tersebut dibandingkan dengan nilai threshold untuk mencari FLR yang cocok Pada pengujian ini nilai konstanta saja yang diubah ndash ubah sementara variabel lainnya tetap Pengujian akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai variabel jumlah data training adalah 72 yaitu dari data Januari 2014 dasarian 1 sampai Desember 2015 dasarian 3 nilai data testing adalah 36 yaitu dasarian 1 Januari 2016 sampai dasarian 3 Desember 2016 dan Nilai order adalah 30 Pada penentuan input konstanta nilai minimal harus lebih besar dari 0 dan nilai maksimal menyesuaikan data sampel yang digunakan (LinYang 2009) Berikut adalah hasil pengujian pengaruh threshold terhadap nilai MSE yang ditunjukkan pada Tabel 62

Tabel 62 Hasil pengujian threshold terhadap nilai MSE

No Konstanta Threshold MSE

1 10 130 558485

2 20 140 577498

3 30 150 597364

4 40 160 604660

5 50 170 646951

6 60 180 680257

7 70 190 703013

8 80 200 741484

9 90 210 756749

10 100 220 780600

Dari hasil pengujian threshold seperti yang telah ditunjukkan pada Tabel 62 maka dapat dilihat bahwa konstanta yang dilakukan pengujian dimulai dengan nilai 10 sampai 100 Hasil yang didapat pada percobaan pertama dengan konstanta = 10 dan threshold 130 diperoleh MSE sebesar 558485 Selanjutnya pada percobaan kedua dengan konstanta = 20 dan threshold = 140 diperoleh MSE sebesar 577498 Selanjutnya dapat kita lihat pada percobaan yang telah dilakukan dari percobaan pertama hingga percobaan kesepuluh nilai MSE yang diperoleh mengalami perubahan pada setiap percobaan Dapat dilihat bahwa peningkatan MSE lebih dominan menunjukkan peningkatan sehingga dalam hal ini semakin besar nilai konstanta dan threshold maka semakin besar pula nilai MSE yang diperoleh Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 62

86

Berdasarkan grafik dari Gambar 62 nilai input konstanta yang berbeda - beda mempengaruhi besar nilai MSE semakin besar nilai konstanta maka nilai threshold juga semakin besar karena threshold diperoleh dari perhitungan order dikali jumlah faktor dan selanjutnya dijumlah dengan nilai konstanta Dalam hal ini dengan semakin besar nilai threshold maka dalam proses seleksi untuk mencari nilai selisih FLR juga semakin luas batasannya dan jika semakin kecil nilai threshold maka dalam proses seleksi untuk mencari nilai selisih FLR menjadi semakin sempit dan mempermudah proses peramalan karena hanya adanya sedikit data yang cocok dengan data yang akan diramalkan dan mempermudah proses defuzzifikasi Oleh karena itu semakin kecil threshold maka dapat membuat peramalan semakin akurat Akan tetapi nilai threshold tidak boleh terlalu kecil karena dapat menyebabkan kegagalan peramalan Kegagalan peramalan itu terjadi karena tidak adanya data training yang cocok dengan data testing karena pada metode yang digunakan pada penelitian ini sangat bergantung pada data ndash data sebelumnya Dari hasil percobaan diatas hasil MSE terbesar adalah 7806 yaitu pada konstanta 100 serta threshold 220 dan hasil MSE terkecil adalah 558485 yaitu pada konstanta 10 dan threshold 130 Dalam pengujian ini memiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoImplementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emasrdquo yang menyatakan bahwa semakin kecil nilai konstanta maka semakin kecil nilai kesalahannya (Wardhani et al 2015)

623 Pengujian pengaruh jumlah data training terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh jumlah data training terhadap nilai MSE Pada pengujian ini jumlah data training adalah data dasarian yaitu 1 tahun 2 tahun 3 tahun 4 tahun dan 5 tahun dimana dari setiap 1 tahun memiliki 36 data dasarian Pengujian ini akan dilakukan sebanyak lima kali Pada pengujian ini jumlah data testing adalah 36 nilai order adalah setengah dari

Gambar 62 Grafik hasil pengujian threshold terhadap nilai MSE

87

nilai data training nilai konstanta adalah 20 Berikut adalah hasil pengujian pengaruh jumlah data training terhadap nilai MSE yang ditunjukkan pada Tabel 63

Tabel 63 Hasil pengujian jumlah data training terhadap nilai MSE

No Jumlah Data Training MSE

1 36 786586

2 72 634527

3 108 627190

4 144 614184

5 180 539698

Dari hasil pengujian jumlah data training seperti yang telah ditunjukkan pada Tabel 63 maka pada percobaan pertama dengan data training = 36 dapat diperoleh MSE sebesar 786586 Selanjutnya pada percobaan kedua dengan data training = 72 diperoleh MSE sebesar 634527 Dalam hal ini dari percobaan satu dan dua nilai MSE mengalami penurunan Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 63

Berdasarkan dari Gambar 63 pengujian pertama sampai pengujian kelima mengalami penerunan nilai MSE Sehingga dapat disimpulkan bahwa semakin besar data training maka semakin kecil nilai MSE yang diperoleh Nilai MSE semakin kecil apabila menggunakan data training dalam jumlah besar karena data yang digunakan memiliki rentang jauh dari periode data testing atau data yang akan diramalkan Sedangkan data training yang sedikit memiliki nilai MSE yang besar karena data training yang memiliki kecocokan dengan data testing berada pada periode yang jauh dengan data testing sehingga nilai MSE menjadi tinggi Dalam hal ini terbukti bahwa metode yang digunakan pada penelitian ini memerlukan jumlah data training yang banyak sehingga dapat menurunkan nilai kesalahannya Dari hasil percobaan diatas hasil MSE terbesar adalah 786586 dan

Gambar 63 Grafik hasil pengujian data training terhadap nilai MSE

88

hasil MSE terkecil adalah 539698 Dalam pengujian ini memimiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoPeramalan Jumlah Kunjungan Wisatawan Kota Batu Menggunakan Metode Time Invariant Fuzzy Time Seriesrdquo yang menyatakan bahwa semakin besar jumlah data training maka semakin kecil nilai kesalahannya (Elfajar et al 2017)

624 Pengujian validasi sistem

Pada pengujian ini dilakukan untuk mengetahui kestabilan dari sistem dengan menggunakan order threshold terbaik dari pengujian sebelumnya Pada pengujian ini akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai data training menggunakan 36 data yang berbeda agar dapat menunjukkan gambaran variasi dari nilai kesalahan MSE pada peramalan nilai order adalah 18 dan konstanta adalah 10 sehingga nilai threshold adalah 92 Berikut adalah hasil pengujian validasi sistem yang ditunjukkan pada Tabel 64

Tabel 64 Hasil pengujian validasi sistem

Percobaan ke- MSE

1 714290

2 703856

3 732564

4 732815

5 6973958

6 7532825

7 741726

8 760457

9 709961

10 6256204

Dari hasil pengujian validasi sistem seperti yang telah ditunjukkan pada Tabel 64 maka dapat digambarkan dengan grafik yang ditunjukkan oleh Gambar 64

Gambar 64 Grafik hasil pengujian validasi sistem

89

Berdasarkan dari gambar grafik Gambar 64 bahwa pengujian dari validasi sistem memiliki hasil MSE yang tidak terlalu jauh berbeda dari penggunaan data yang berbeda - beda Oleh karena itu dapat disimpulkan bahwa implementasi dari metode High Order Fuzzy Time Series Multi Factors yang telah digunakan sudah cukup baik untuk digunakan peramalan

Berdasarkan dari pengujian yang dilakukan diatas dapat diketahui bahwa nilai MSE terkecil terdapat pada pengujian jumlah data training yaitu dengan nilai MSE sebesar 539698 Nilai tersebut diperoleh dari pengujian jumlah data training dasarian dari tahun 2011 hingga 2015 untuk melakukan peramalan pada data dasarian tahun 2016 Nilai order adalah 90 dan konstanta adalah 10 Berikut adalah perbandingan data aktual dengan hasil peramalan yang ditunjukkan pada grafik Gambar 65

Gambar 65 Grafik perbandingan data aktual dengan hasil peramalan

90

BAB 7 PENUTUP

Pada bab ini terdiri dari dua sub bab yaitu kesimpulan dan saran Kesimpulan adalah tahapan yang berisi hasil penelitian yang dilakukan dan jawaban semua rumusan masalah yang sudah ditetapkan sebelumnya dan saran adalah tahapan yang berisi hasil yang telah dicapai untuk memperbaiki kekurangan - kekurangan yang terjadi pada penelitian ini serta memberikan pertimbangan pada pengembangan penelitian lebih lanjut

71 Kesimpulan

Pada kesimpulan ini mengacu pada penelitian yang telah dilakukan yang meliputi perancangan implementasi serta pengujian dan analisis terhadap hasil implementasi peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors maka dapat diambil kesimpulan sebagai berikut

1 Berdasarkan dari implementasi metode High Order Fuzzy Time Series Multi Factors dalam melakukan peramalan curah hujan dasarian dilakukan dengan beberapa langkah yaitu langkah pertama perhitungan Universe of Discourse yang terdiri perhitungan mean standar deviasi dan perhitungan Dmin serta Dmax langkah kedua yaitu perhitungan jumlah cluster langkah ketiga yaitu perhitungan pusat cluster langkah keempat yaitu pembentukan subinterval dan fuzzy set langkah kelima yaitu proses fuzzifikasi langkah keenam yaitu pembentukan Fuzzy Logical Relationship(FLR) langkah ketujuh adalah defuzzifikasi yang hasil outputnya merupakan hasil peramalan curah hujan

2 Berdasarkan dari pengujian peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors maka dapat diketahui bahwa

a Order berpengaruh terhadap nilai error semakin besar nilai order maka hasil peramalan semakin baik

b Threshold berpengaruh terhadap nilai error semakin rendah nilai threshold maka hasil peramalan semakin baik Akan tetapi nilai threshold tidak boleh terlalu rendah karena dapat menyebabkan kegagalan peramalan

c Data training berpengaruh terhadap nilai error semakin besar jumlah data training maka hasil peramalan semakin baik Sehingga peramalan menggunakan metode High Order Fuzzy Time Series Multi Factors memerlukan banyak data training

d Hasil implementasi peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors cukup baik digunakan untuk peramalan Hal ini terbukti hasil pengujian validasi sistem menunjukkan grafik yang cukup stabil

Dari pengujian yang telah dilakukan nilai MSE terkecil terdapat pada pengujian jumlah data training yaitu dengan nilai MSE sebesar 539698 Nilai tersebut diperoleh dari pengujian jumlah data training dasarian dari tahun

91

2011 hingga 2015 untuk melakukan peramalan pada data dasarian tahun 2016

72 Saran

Pada penelitian ini dilakukan peramalan curah hujan dasarian dengan faktor yang mempengaruhi adalah suhu kelembaban dan kecapatan angin Saran penulis diharapkan untuk penelitian selanjutnya melakukan penambahan faktor yang mempengaruhi curah hujan atau melakukan peramalan objek lain dengan mempertimbangkan faktor ndash faktor yang mempengaruhinya Serta diharapkan pada penelitian selanjutnya untuk menambahkan data yang lebih banyak serta bervariatif sehingga nilai hasil perhitungan akurasi peramalan yang dihasilkan dalam penelitian dapat meningkat Penggunaan data training yang banyak dan bervariatif dapat membuat pola data semakin terlihat sehingga hasil peramalan yang dihasilkan memiliki akurasi yang lebih baik

92

DAFTAR PUSTAKA

Ardiyanto 2016 ldquoTerendam Air Petani Lamongan Terpaksa Panen Dinirdquo Times Indonesia November 18 httpwwwtimesindonesiacoidread13688520161118102415terendam-air-petani-lamongan-terpaksa-panen-dini (Diakses 25 Februari 2017)

Badan Penelitian dan Pengembangan Pertanian Kementrian Pertanian 2015 ldquoKalender Tanam Terpadu Versi 25 Kota Malang Prov Jawa Timurrdquo httpkatamlitbangpertaniangoidkatam_terpadu2016mh33535733573_tinggipdf (Diakses 25 Februari 2017)

Bagirov M Adil Mahmood Arshad and Barton Andrew 2017 Prediction of monthly rainfall in Victoria Australia Clusterwise linear regression approach Elsevier Atmos Research 188 20-29

BMKG Staklim Karangploso Malang 2015 ldquoAnalisis Dinamika Atmosfer Dan Laut Dasarian III Maret 2015 Update 2 April 2015rdquo httpkarangplosojatimbmkgogoidindexphpanalisis-kondisi-dinamika-atmosfer-laut-dasarian-tahun-2015399-analisis-dinamika-atmosfer-dan-laut-dasarian-iii-maret-2015-update-2-april-2015axzz3X8h9y4fgampgsctab=0 (Diakses 25 Februari 2017)

BPS Kabupaten Malang 2016 ldquoKabupaten Malang Dalam Angka 2016rdquo httpsmalangkabbpsgoidwebsitepdf_publikasiKabupaten-Malang-Dalam-Angka-2016pdf (Diakses 25 Februari 2017)

BPS Jawa Timur 2015 ldquoJawa Timur Dalam Angka 2015rdquo httpsjatimbpsgoid4dmnpdf_publikasiJawa-Timur-Dalam-Angka-2015pdf (Diakses 25 Februari 2017)

Buffa S Elwood Rakesh and Sarin K 1996 Modern Production and Operation Management Eight Edition John Willey and Sons Inc London

Chen M 1996 Forecasting Enrollments based on Fuzzy Time Series Fuzzy Sets and Systems 311-319

Dewi Candra Kartikasari Dani Mursityo Yusi 2014 Prediksi Cuaca Pada Data Time Series Menggunakan Adaptive Neuro Fuzzy Inference System (ANFIS) Jurnal Teknologi Informasi dan Ilmu Komputer (JTIIK) Vol 1 No 1 hlm 18-24

Dewi Candra Muslikh M 2013 Perbandingan Akurasi Backpropagation Neural Network dan ANFIS Untuk Memprediksi Cuaca NATURAL-A Journal of Scientific Modeling amp Computation Volume 1 No1

Elfajar Aria Setiawan Budi Dewi Candra 2017 Peramalan Jumlah Kunjungan Wisatawan Kota Batu Menggunakan Metode Time Invariant Fuzzy Time Series Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer Vol 1 No 2 Hlmn 85-94

93

Fauziah Normalita Wahyuningsih Sri dan Nasution Yuki 2016 Peramalan Menggunakan Fuzzy Time Series Chen (Studi Kasus Curah Hujan Kota Samarinda) Vol4 Statistika

Forest Mahyu 2015 ldquoDefenisi amp Pengertian Kelembabanrdquo httpilmupengetahuaalamblogspotcoid201506defenisi-pengertian-kelembabanhtml (Diakses 25 Februari 2017)

Irsyad Muhammad Metarice Sonya 2013 Penerapan Metode Automatic Clustering dan High Order Fuzzy Time Series Pada Peramalan Curah Hujan Jurnal Sains dan Teknologi Industri Vol 10 No 02

Klawon F 2001 What is About Fuzzy Clustering Understanding and Improving the Concept of the Fuzzier Science Journal httppublic-rzfh-wolfebuetteldeklawon

Kurniawan Carlos 2007 Analisis dan Perancangan Program Aplikasi Peramalan Curah Hujan dengan Metode Wavelet (Studi Kasus BMKG)

Kusumadewi S 2003 ldquoArtificial Intelegence (Teknik amp Aplikasinya)rdquo Graha Ilmu Yogyakarta

Kusumadewi S Purnomo H 2004 ldquoAplikasi Logika Fuzzy untuk Pendukung Keputusanrdquo Graha Ilmu Yogyakarta

Kusumadewi Sri 2002 Analisis amp Desain Sistem Fuzzy Tollbox MATLAB Graha Ilmu Yogyakarta

Lin Yupei Yang Y 2009 Stock Markets Forecasting Based on Fuzzy Time Series Model IEEE Conference Publications 782-886

Makridakis S Steven C Wheelwright Victor E and Gee MC 1999 Metode dan Aplikasi Peramalan Jilid I Edisi Kedua Jakarta Binarupa Aksara

Mirawati T Yasin H and Rusgiyono A 2013 Prediksi Curah Hujan dengan Metode Kalman Filter(Studi Kasus di Kota Semarang 2012) Jurnal Gaussian 2(3) pp 239-248

Pradipta Nur Sembiring Pasukat Bangun Pengarapen 2013 Analisis Pengaruh Curah Hujan di Kota Medan Saintia Matematika Vol 1

Sipayung Putri Metha 2013 Pemodelan Hubungan Kelembapan Udara terhadap Curah Hujan (Studi Kasus Curah Hujan Periode 2001-2009 pada Stasiun Dramaga) httprepositoryipbacidhandle12345678960623 (Diakses 25 Februari 2017)

User 2015 httpstaklimnegaranet[Online] Available at httpwwwstaklimnegaranetindexphpbuletin-hujanpengertian-istilah (Diakses 25 Februari 2017)

Wang Nai-Yi Chen Shyi-Ming 2009 Temperature prediction and TAIFEX forecasting based on automatic clustering techniques and two-factors high-order fuzzy time series Elsevier Expert Systems with Applications 36 2143ndash2154

94

Wardhani Dessy Ratnawati Dian Setiawan Budi 2015 Implementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Saham Repositori Jurnal Mahasiswa PTIIK UB Doro Jurnal Vol 6 No 6

Wiyanti T and Pulungan R 2012 Peramalan Deret Waktu Menggunakan Model Fungsi Basis Radial (RBF) dan Auto Regressive Integrated Moving Average (ARIMA) Jurnal MIPA 35(2) pp 175-182

Yunanto Utomo 2014 ldquoBMKG Akui Prakiraan Cuacanya Masih Kurang Akuratrdquo Kompas Sains Januari 30 httpwwwtimesindonesiacoidread13688520161118102415terendam-air-petani-lamongan-terpaksa-panen-dini (Diakses 25 Februari 2017)

  • Bagian Depanpdf
  • BAB Ipdf
  • BAB IIpdf
  • BAB IIIpdf
  • BAB IVpdf
  • BAB Vpdf
  • BAB VIpdf
  • BAB VIIpdf
  • Daftar Pustakapdf
Page 2: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI

ii

PENGESAHAN

PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS

SKRIPSI

Diajukan untuk memenuhi sebagian persyaratan

memperoleh gelar Sarjana Komputer

Disusun Oleh Ahmada Bastomi Wijaya

135150301111033

Skripsi ini telah diuji dan dinyatakan lulus pada 08 Agustus 2017

Telah diperiksa dan disetujui oleh

Dosen Pembimbing I

Candra Dewi SKom MSc NIP 19771114 200312 2 001

Dosen Pembimbing II

Bayu Rahayudi ST MT NIP 19740712 200604 1 001

Mengetahui Ketua Jurusan Teknik Informatika

Tri Astoto Kurniawan ST MT PhD NIP 19710518 200312 1 001

iii

PERNYATAAN ORISINALITAS

Saya menyatakan dengan sebenar-benarnya bahwa sepanjang pengetahuan saya di dalam naskah skripsi ini tidak terdapat karya ilmiah yang pernah diajukan oleh orang lain untuk memperoleh gelar akademik di suatu perguruan tinggi dan tidak terdapat karya atau pendapat yang pernah ditulis atau diterbitkan oleh orang lain kecuali yang secara tertulis disitasi dalam naskah ini dan disebutkan dalam daftar pustaka

Apabila ternyata didalam naskah skripsi ini dapat dibuktikan terdapat unsur-unsur plagiasi saya bersedia skripsi ini digugurkan dan gelar akademik yang telah saya peroleh (sarjana) dibatalkan serta diproses sesuai dengan peraturan perundang-undangan yang berlaku (UU No 20 Tahun 2003 Pasal 25 ayat 2 dan Pasal 70)

Malang 10 Agustus 2017

Ahmada Bastomi Wijaya

135150301111033

iv

KATA PENGANTAR

Puji syukur penulis panjatkan kepada Allah SWT yang telah memberikan rahmat dan hidayah-Nya kepada penulis sehingga penulis dapat menyelesaikan skripsi dengan judul ldquoPeramalan Curah Hujan Menggunakan Metode High Order Fuzzy Time Series Multi Factorsrdquo

Melalui kesempatan ini penulis ingin menyampaikan terima kasih kepada semua pihak yang telah memberikan bantuan serta dukungan kepada penulis dalam menyelesaikan skripsi ini diantaranya

1 Kedua orang tua penulis Bapak Wahyudi Rianto amp Ibu Sugihartiwi yang selalu memberikan dorsquoa kasih sayang dan semangat kepada penulis

2 Ibu Candra Dewi SKom MSc selaku dosen pembimbing I yang telah memberikan ilmu serta saran selama proses pengerjaan skripsi ini

3 Bapak Bayu Rahayudi ST MT selaku dosen pembimbing II yang juga telah memberikan ilmu serta saran selama proses pengerjaan skripsi ini

4 Ibu Hurriyatul Fitriyah ST MSc selaku dosen penasihat akademik yang telah memberikan banyak kritik dan saran selama proses perkuliahan

5 Bapak Wayan Firdaus Mahmudy S Si MT PhD selaku Dekan Fakultas Ilmu Komputer Universitas Brawijaya

6 Bapak Tri Astoto Kurniawan ST MT PhD selaku Ketua Jurusan Teknik Informatika Fakultas Ilmu Komputer Universitas Brawijaya

7 Bapak Agus Wahyu Widodo ST MCs selaku Ketua Program Studi Teknik Informatika Fakultas Ilmu Komputer Universitas Brawijaya

8 Semua teman FILKOM khususnya angkatan 2013 yang telah memberikan bantuan serta dukungan selama masa perkuliahan dan pengerjaan skripsi

9 Semua pihak yang tidak dapat disebutkan satu persatu yang terlibat baik secara langsung mapun tidak langsung yang telah membantu penulis dalam menyelesaikan skripsi ini

Penulis menyadari bahwa skripsi ini masih banyak kekurangan sehingga penulis dengan terbuka menerima kritik serta saran yang membangun Akhir kata penulis berharap skripsi ini dapat bermanfaat dan berguna bagi semua pihak yang menggunakannya

Malang 10 Agustus 2017

Penulis

ahmadabastomigmailcom

v

ABSTRAK

Kabupaten Malang merupakan salah satu kabupaten di Jawa Timur yang memiliki tingkat produksi pertanian yang cukup tinggi dimana hampir disetiap kecamatanya memiliki lahan pertanian Permasalahannya adalah pada saat curah hujan yang tinggi tidak sedikit petani yang mengalami gagal panen Curah hujan adalah salah satu dari beberapa faktor yang mempengaruhi perubahan iklim sehingga sangat menentukan hasil panen yang diperoleh Permasalahan gagal panen ini dapat diatasi dengan melakukan peramalan curah hujan dengan adanya peramalan curah hujan petani dapat menentukan waktu pola tanam yang sesuai sehingga dapat mengantisipasi terjadinya gagal panen Pada penelitian ini peramalan curah hujan dalam dasarian berdasarkan beberapa faktor yaitu suhu kelembaban dan kecepatan angin Metode yang digunakan untuk peramalan curah hujan dasarian adalah High Order Fuzzy Time Series Multi factors Pada metode ini pembentukan subinterval dilakukan dengan menggunakan fuzzy C-means Dalam menghitung kesalahan hasil peramalan menggunakan Mean Square Error (MSE) Berdasarkan hasil pengujian yang dilakukan semakin kecil threshold serta semakin besar data training dan order maka nilai kesalahan yang diperoleh semakin rendah Hasil peramalan curah hujan dasarian untuk peramalan satu tahun kedepan menggunakan metode ini mendapatkan hasil MSE terbaik sebesar 539698

Kata kunci curah hujan fuzzy C-means fuzzy time series peramalan

vi

ABSTRACT

Malang Regency is one of the regencies in East Java which has a high level of agricultural production in almost every district has agricultural land The problem is when high rainfall is not a few farmers who experienced crop failure Rainfall is one of several factors that affect climate change so it is very important to determine the yields obtained The problem of this harvest failure can be overcome by forecasting rainfall with rainfall forecasting farmers can determine the time of the appropriate cropping patterns so as to anticipate the occurrence of crop failure On the research of forecasting rainfall in dasarian based on several factors namely temperature humidity and wind speed The methods used for forecasting rainfall dasarian is a High-Order Fuzzy Time Series Multi factors In this method the formation of subinterval using fuzzy C-means In calculating the error of forecasting result using Mean Square Error (MSE) Based on the results of tests conducted the smaller threshold and the greater data training as well order the value error is obtained increasingly low The result of forecasting dasarian rainfall for forecasting one year ahead using this method get the best MSE result of 539698 Keywords rain fall fuzzy C-means fuzzy time series forecasting

vii

DAFTAR ISI

PENGESAHAN ii

PERNYATAAN ORISINALITAS iii

KATA PENGANTAR iv

ABSTRAK v

ABSTRACT vi

DAFTAR ISI vii

DAFTAR TABEL xi

DAFTAR GAMBAR xiii

DAFTAR KODE PROGRAM xv

DAFTAR LAMPIRAN xvi

BAB 1 PENDAHULUAN 1

11 Latar belakang 1

12 Rumusan masalah 2

13 Tujuan 3

14 Manfaat 3

15 Batasan masalah 3

16 Sistematika pembahasan 3

BAB 2 LANDASAN KEPUSTAKAAN 5

21 Kajian Pustaka 5

22 Dasar Teori 7

221 Peramalan 8

222 Curah hujan 8

223 Data time series 9

224 Logika Fuzzy 10

225 Metode Fuzzy C-means 13

226 Metode Peramalan dengan Fuzzy Time Series 15

227 Metode High Order Fuzzy Time Series Multi Factors 17

228 Perhitungan keakuratan metode peramalan 20

BAB 3 METODOLOGI 22

31 Studi Literatur 22

viii

32 Pengumpulan Data 23

33 Perancangan 23

34 Implementasi 23

35 Pengujian dan Analisis 23

36 Kesimpulan dan Saran 24

BAB 4 PERANCANGAN 25

41 Perancangan Proses 25

411 Proses perhitungan Universe of Discourse 26

4111 Proses perhitungan Mean 28

4112 Proses perhitungan standar deviasi 29

4113 Proses perhitungan nilai Dmin dan Dmax 30

412 Proses perhitungan jumlah cluster 31

413 Proses perhitungan pusat cluster 32

414 Proses pembentukan subinterval dan Fuzzy set 37

415 Proses Fuzzifikasi 38

416 Proses pembentukan Fuzzy Logical Relationship 41

417 Proses Defuzzifikasi 43

42 Perhitungan Manual 46

421 Perhitungan Universe of Discourse (U) 46

422 Perhitungan jumlah cluster (k) 48

423 Perhitungan pusat cluster dan subinterval 49

4231 Penentuan pusat cluster 49

4232 Perhitungan batas subinterval 55

424 Pembentukan Fuzzy Set 56

425 Fuzzifikasi 56

426 Pembentukan Fuzzy Logical Relationship (FLR) 58

427 Defuzzifikasi 58

43 Perancangan antarmuka 60

431 Halaman input 60

432 Halaman tampil data 61

433 Halaman proses 62

434 Halaman hasil 63

ix

435 Halaman perhitungan error 64

44 Perancangan pengujian 64

441 Perancangan pengaruh order terhadap nilai MSE 64

442 Perancangan pengaruh threshold terhadap nilai MSE 65

443 Perancangan pengaruh jumlah data training terhadap nilai MSE 65

444 Perancangan validasi sistem 65

BAB 5 IMPLEMENTASI 67

51 Spesifikasi Sistem 67

511 Spesifikasi Perangkat Keras 67

512 Spesifikasi Perangkat Lunak 67

52 Implementasi Algoritma 67

521 Implementasi Proses Universe of Discourse 68

5211 Implementasi proses mean 68

5212 Implementasi proses standar deviasi 68

5213 Implementasi proses Dmin dan Dmax 69

522 Implementasi Proses Jumlah Cluster 69

523 Implementasi Proses Pusat Cluster 70

524 Implementasi Proses Pembentukan Subinterval dan Fuzzy Set 72

525 Implementasi proses fuzzifikasi 74

526 Implementasi Pembentukan Fuzzy Logical Relationship 75

527 Implementasi Proses Defuzzifikasi 77

53 Implementasi Antarmuka 79

531 Implementasi antarmuka halaman input 79

532 Implementasi antarmuka halaman tampil data 80

533 Implementasi antarmuka halaman proses 80

534 Implementasi antarmuka halaman hasil 82

535 Implementasi antarmuka halaman perhitungan error 82

BAB 6 PENGUJIAN DAN ANALISIS 83

61 Sistematika Pengujian 83

62 Hasil dan Analisis Pembahasan 83

621 Pengujian pengaruh order terhadap nilai MSE 83

x

622 Pengujian pengaruh threshold terhadap nilai MSE 85

623 Pengujian pengaruh jumlah data training terhadap nilai MSE 86

624 Pengujian validasi sistem 88

BAB 7 PENUTUP 90

71 Kesimpulan 90

72 Saran 91

DAFTAR PUSTAKA 92

LAMPIRAN 95

Lampiran 1 Data Sampel 95

xi

DAFTAR TABEL

Tabel 21 Kajian Pustaka 5

Tabel 22 Fuzzy Logic Relationship 19

Tabel 23 Peramalan fuzzy set 20

Tabel 41 Data Sampel Perhitungan Manual 46

Tabel 42 Hasil kuadrat dari selisih data ke-i dan mean 47

Tabel 43 Nilai minimum nilai maksimum dan standar deviasi 47

Tabel 44 Hasil Universe of Discourse 48

Tabel 45 Nilai absolut selisih data hari ke-t dengan hari sebelumnya 48

Tabel 46 Hasil jumlah cluster data 49

Tabel 47 Matriks partisi awal pada cluster data A 50

Tabel 48 Derajat keanggotaan matriks partisi data A 51

Tabel 49 Perhitungan pusat cluster data A 52

Tabel 410 Fungsi objektif data A 53

Tabel 411 Perbaikan matriks partisi 54

Tabel 412 Hasil perbaikan matriks partisi 54

Tabel 413 Hasil pusat cluster 55

Tabel 414 Batas subinterval masing ndash masing atribut data 55

Tabel 415 Hasil derajat keanggotaan dan fuzzy set data A 57

Tabel 416 Hasil fuzzifikasi semua data attribut 57

Tabel 417 Hasil pembentukan FLR data training 58

Tabel 418 Hasil pembentukan FLR data testing 58

Tabel 419 Frekuensi FLR yang cocok dengan data testing 59

Tabel 420 Perbandingan data aktual dan hasil peramalan 60

Tabel 421 Rancangan pengujian order terhadap nilai MSE 64

Tabel 422 Rancangan pengujian threshold terhadap nilai MSE 65

Tabel 423 Rancangan pengujian jumlah data training terhadap nilai MSE 65

Tabel 424 Rancangan pengujian validasi sistem 66

Tabel 51 Spesifikasi Perangkat Keras 67

Tabel 52 Spesifikasi Perangkat Lunak 67

Tabel 61 Hasil pengujian order terhadap nilai MSE 83

xii

Tabel 62 Hasil pengujian threshold terhadap nilai MSE 85

Tabel 63 Hasil pengujian jumlah data training terhadap nilai MSE 87

Tabel 64 Hasil pengujian validasi sistem 88

xiii

DAFTAR GAMBAR

Gambar 21 Representasi linear naik 11

Gambar 22 Representasi linear turun 12

Gambar 23 Representasi kurva segitiga 12

Gambar 31 Diagram blok metodologi penelitian 22

Gambar 41 Diagram alir metode penelitian yang digunakan (bagian 1) 25

Gambar 42 Diagram alir metode penelitian yang digunakan (bagian 2) 26

Gambar 43 Diagram alir proses perhitungan Universe of Discourse 27

Gambar 44 Diagram alir proses perhitungan mean 28

Gambar 45 Diagram alir proses perhitungan standar deviasi 29

Gambar 46 Diagram alir perhitungan nilai Min dan Max 30

Gambar 47 Diagram alir proses perhitungan jumlah cluster 31

Gambar 48 Diagram alir proses perhitungan pusat cluster (bagian 1) 32

Gambar 49 Diagram alir proses perhitungan pusat cluster (bagian 2) 33

Gambar 410 Diagram alir proses perhitungan pusat cluster (bagian 3) 34

Gambar 411 Diagram alir proses perhitungan pusat cluster (bagian 4) 35

Gambar 412 Diagram alir proses perhitungan pusat cluster (bagian 5) 36

Gambar 413 Diagram alir pembentukan subinterval dan fuzzy set (bagian 1) 37

Gambar 414 Diagram alir pembentukan subinterval dan fuzzy set (bagian 2) 38

Gambar 415 Diagram alir proses fuzzifikasi (bagian 1) 39

Gambar 416 Diagram alir proses fuzzifikasi (bagian 2) 40

Gambar 417 Diagram alir proses Pembentukan FLR (bagian 1) 41

Gambar 418 Diagram alir proses Pembentukan FLR (bagian 2) 42

Gambar 419 Diagram alir proses Pembentukan FLR (bagian 3) 43

Gambar 420 Diagram alir proses defuzzifikasi (bagian 1) 44

Gambar 421 Diagram alir proses defuzzifikasi (bagian 2) 45

Gambar 422 Grafik fuzzy set data A 56

Gambar 423 Rancangan antarmuka halaman input 61

Gambar 424 Rancangan antarmuka halaman tampil data 61

Gambar 425 Rancangan antarmuka halaman proses clustering 62

Gambar 426 Rancangan antarmuka proses fuzzifikasi 62

xiv

Gambar 427 Rancangan antarmuka proses fuzzy logical relationship 63

Gambar 428 Rancangan antarmuka halaman hasil peramalan 63

Gambar 429 Rancangan antarmuka halaman perhitungan error 64

Gambar 51 Implementasi antarmuka halaman input 79

Gambar 52 Implementasi antarmuka halaman tampil data 80

Gambar 53 Implementasi antarmuka halaman proses clustering 80

Gambar 54 Implementasi antarmuka halaman proses fuzzification 81

Gambar 55 Implementasi halaman antarmuka proses FLR 81

Gambar 56 Implementasi halaman antarmuka hasil 82

Gambar 57 Implementasi halaman antarmuka perhitungan error 82

Gambar 61 Grafik hasil pengujian order terhadap nilai MSE 84

Gambar 62 Grafik hasil pengujian threshold terhadap nilai MSE 86

Gambar 63 Grafik hasil pengujian data training terhadap nilai MSE 87

Gambar 64 Grafik hasil pengujian validasi sistem 88

Gambar 65 Grafik perbandingan data aktual dengan hasil peramalan 89

xv

DAFTAR KODE PROGRAM

Kode Program 51 Implementasi proses Universe of Discourse 68

Kode Program 52 Implementasi proses mean 68

Kode Program 53 Implementasi proses standar deviasi 69

Kode Program 54 Implementasi proses Dmin dan Dmax 69

Kode Program 55 Implementasi proses jumlah cluster 70

Kode Program 56 Implementasi proses pusat cluster 72

Kode Program 57 Implementasi pembentukan subinterval dan fuzzy set 74

Kode Program 58 Implementasi proses fuzzifikasi 75

Kode Program 59 Implementasi pembentukan FLR 77

Kode Program 510 Implementasi proses defuzzifikasi 79

xvi

DAFTAR LAMPIRAN

Lampiran 1 Tabel Data Sampel 95

1

BAB 1 PENDAHULUAN

11 Latar belakang

Kabupaten Malang merupakan salah satu kabupaten di Jawa Timur yang terkenal akan potensi alam yang dimiliki (BPS Kabupaten Malang 2016) Dalam hal ini terkenal akan potensi alamnya karena kabupaten Malang memiliki tingkat produksi di sektor pertanian yang cukup tinggi dimana hampir seluruh kecamatan di kabupaten Malang memiliki lahan pertaniaaan (BPS Jatim 2015) Permasalahan yang terjadi pada sektor pertanian yaitu terjadinya gagal panen apabila memasuki musim penghujan dengan curah hujan yang tinggi yaitu diatas 200 mm per bulan serta apabila memasuki musim kemarau dengan curah hujan yang rendah yaitu dibawah 100 mm per bulan (BMKG Staklim Karangploso Malang 2015) Dalam mengatasi hal tersebut upaya yang dilakukan petani selama ini hanya melakukan tindakan seperti melakukan panen secara dini Upaya ini dianggap petani cukup efektif dalam mengurangi besarnya kerugian gagal panen akan tetapi sebaiknya yang dilakukan adalah melakukan suatu tindakan agar kerugian yang dialami petani tidak terjadi lagi (Ardiyanto 2016)

Salah satu contoh tindakan yang dapat dilakukan adalah membuat Kalender Tanam (KATAM) KATAM dapat digunakan petani sebagai alat bantu atau pedoman dalam menentukan awal musim tanam terbaik seperti yang telah dilakukan oleh Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian Dalam pembuatan KATAM Balitbang menggunakan data peramalan curah hujan dari Badan Meteorologi Klimatologi dan Geofisika (BMKG) Akan tetapi BMKG mengakui bahwa prakiraan cuacanya saat ini memang masih kurang akurat dan masih kalah dengan prakiraan cuaca di Amerika Serikat (Yunanto 2014) Pentingnya akan prakiraan cuaca terbukti adanya beberapa penelitian sebelumnya yaitu penelitian prakiraan cuaca dengan input faktor yang mempengaruhi cuaca yang berupa data time series menggunakan metode Adaptive Neuro Fuzzy Inference System (ANFIS) (Dewi 2014) dan penelitian mengenai prediksi cuaca menggunakan metode Backpropagation Neural Network yang terbukti memiliki nilai akurasi yang baik dalam prediksi cuaca (Dewi 2013)

Teknik atau metode peramalan curah hujan yang sering digunakan BMKG adalah metode Autoregressive Integrated Moving Average (ARIMA) ANFIS dan Wavelet (Kurniawan 2007) Namun dalam penerapannya gabungan dari ketiga metode tersebut masih kurang memuaskan yaitu tingkat akurasinya hanya mencapai 60 - 70 Menurut BMKG kurangnya tingkat akurasinya ini disebabkan oleh keadaan pola atmosfer di Indonesia yang selalu berubah ndash ubah dan kurang menentu

Selain metode yang digunakan oleh BMKG adapun penelitian sebelumnya yang meramalkan curah hujan yaitu penelitian menggunakan metode Fuzzy Time Series Chen dengan studi kasus curah hujan di Samarinda dalam penelitian ini menggunakan data time series curah hujan bulanan dengan kesimpulan pengunaan data yang sedikit memiliki tingkat akurasi lebih tinggi dibandingkan

2

menggunakan data yang banyak yaitu menghasilkan nilai RMSE terkecil 7368 dan MAE terkecil 539 (Fauziah et al 2016)

Selain peramalan yang hanya menggunakan data time series dari data yang akan diramalkan juga terdapat penelitian sebelumnya yang menggunakan faktor - faktor yang mempengaruhi dari data yang akan diramalkan Salah satunya yaitu penelitian dengan menggunakan metode Clusterwise Linear Regression (CLR) Penelitian ini menggunakan data bulanan pada delapan stasiun cuaca di kota Victoria Australia Peramalan curah hujan pada penelitian ini menggunakan faktor yang mempengaruhi yaitu suhu maksimum suhu minimum penguapan tekanan uap dan radiasi matahari Hasil penelitian ini terbukti dapat melakukan peramalan curah hujan dengan hasil yang cukup baik yaitu dengan nilai RMSE terkecil 197 dan MAE terkecil 129 (Bagirov et al 2017)

Berdasarkan paparan yang telah dijelaskan penulis memiliki ide untuk melakukan penelitian dengan judul ldquoPeramalan Curah Hujan dengan Metode High Order Fuzzy Time Series Multi Factorsrdquo Pada metode ini dilakukan klasterisasi data untuk membangun subinterval dengan menggunakan metode fuzzy C-means (LinYang 2009) Dari proses hasil klasterisasi akan digunakan untuk membagi data semesta yang selanjutnya menghasilkan fuzzy set atau himpunan fuzzy yang menggambarkan fitur data (LinYang 2009) Keunggulan dari metode fuzzy time series dengan multi faktor yaitu dengan berdasarkan pada penelitian ndash penelitian sebelumnya yang menggunakan metode tersebut yaitu penelitian prediksi harga emas dengan beberapa faktor yang mempengaruhi menggunakan metode Multi-factors High order Fuzzy Time Series Model dari hasil penelitian ini dengan menggunakan metode evaluasi Mean Absolute Percentage Error (MAPE) dapat diperoleh nilai error terkecil sebesar 0443 (Wardhani et al 2015) dan penelitian peramalan Indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen menggunakan metode Fuzzy Time Series Model dari penilitian ini menunjukan tingkat Average Relative Error (ARError) sebesar 176 untuk bursa efek harian Shanghai sedangkan untuk bursa efek harian Shenzhen didapatkan ARError sebesar 187 (Lin Yang 2009) terbukti menghasilkan hasil peramalan dengan tingkat akurasi yang cukup tinggi Penggunaan metode ini juga sesuai dengan curah hujan yang dipengaruhi oleh beberapa faktor yaitu kelembaban udara kecepatan angin dan suhu (Pradipta 2013) Penelitian ini diharapkan dapat memberikan hasil peramalan curah hujan yang lebih akurat dan memiliki nilai kesalahan yang lebih sedikit

12 Rumusan masalah

Berdasarkan latar belakang yang telah dipaparkan dibuatlah beberapa rumusan masalah sebagai berikut

1 Bagaimana mengimplementasikan Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

2 Berapa tingkat kesalahan dari hasil implementasi Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

3

13 Tujuan

Adapun maksud dan tujuan dari penelitian ini adalah sebagai berikut

1 Mengimplementasikan Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

2 Mengetahui tingkat kesalahan dari hasil implementasi Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

14 Manfaat

Adapun manfaat dari penelitian ini adalah sebagai berikut

1 Bagi Badan Meteorologi dan Geofisika (BMKG) untuk dapat memberikan peramalan curah hujan yang lebih akurat dari sebelumnya

2 Bagi Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian untuk dapat membuat Kalender tanam (KATAM) dengan menggunakan data ramalan curah hujan yang lebih akurat

3 Bagi penduduk kabupaten Malang khususnya yang bekerja pada sektor pertanian agar dapat mengoptimalkan hasil produksi dengan menyesuaikan penanaman sesuai dengan Kalender Tanam (KATAM) yang telah dibuat Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian

15 Batasan masalah

Penelitian ini dibatasi oleh hal ndash hal sebagai berikut

1 Data curah hujan kelembaban udara kecepatan angin dan suhu udara yang digunakan pada penelitian ini merupakan data berdasarkan dasarian dan hanya mencakup wilayah kabupaten Malang dan data diperoleh dari BMKG Karangkates Kabupaten Malang dengan data time series yang digunakan pada penelitian ini yaitu dari tahun 2011 - 2016

2 Model peramalan yang diterapkan adalah semua nilai yang membentuk pola dataset training dan testing diketahui nilainya

3 Perhitungan nilai tingkat kesalahan permalan menggunakan metode Mean Square Error (MSE)

16 Sistematika pembahasan

Sistematika pembahasan penelitian ditunjukkan untuk memberikan gambaran dan uraian dari penyusunan proposal yang meliputi beberapa bab sebagai berikut

BAB 1 PENDAHULUAN

Pada bab ini berisi latar belakang rumusan masalah tujuan penelitian manfaat penelitian batasan masalah sistematika pembahasan dan rencana kerja atau jadwal penelitian

4

BAB 2 LANDASAN KEPUSTAKAAN

Pada bab ini berisi tentang kajian pustaka dan dasar teori yang menjadi dasar dalam melakukan implementasi peramalan curah hujan dengan Metode High Order Fuzzy Time Series Multi Factors

BAB 3 METODOLOGI

Pada bab ini diuraikan tentang tahapan atau langkah ndash langkah yang dilakukan dalam proses penelitian tentang peramalan curah hujan dengan metode High Order Fuzzy Time Series Multi Factors Langkah ndash langkah tersebut terdiri dari tahapan penelitian teknik pengumpulan data algoritma yang digunakan lingkungan pengujian dan pengujian algoritma yang digunakan serta pengambilan kesimpulan

BAB 4 PERANCANGAN

Pada bab ini berisi tentang perancangan proses algoritma perhitungan manual metode High Order Fuzzy Time Series Multi Factors perancangan antar muka dan perancangan pengujian

BAB 5 IMPLEMENTASI

Pada bab ini berisi tentang penjelasan peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors bagaimana user interface dan source code dalam pengimplementasian metode ini

BAB 6 PENGUJIAN DAN ANALISIS

Pada bab ini berisi tentang penjelasan proses dan hasil pengujian dari implementasi metode High Order Fuzzy Time Series Multi Factors dalam peramalan curah hujan serta analisis dari pengujian tersebut

BAB 7 PENUTUP

Pada bab ini berisi kesimpulan yang diperoleh dari hasil pengujian dan saran ndash saran untuk pengembangan penelitian selan

5

BAB 2 LANDASAN KEPUSTAKAAN

Bab ini berisi mengenai kajian pustaka dan dasar ndash dasar teori yang akan dibahas serta digunakan untuk menunjang topik ndash topik pembahasan Pada kajian akan dibahas perbedaan antara penelitian yang telah ada dengan penelitian yang diusulkan oleh penulis Sedangkan pada dasar teori akan dibahas mengenai teori ndash teori yang digunakan pada penelitian yang diusulkan

21 Kajian Pustaka

Pada kajian pustaka disini berisi mengenai perbandingan antara penelitian yang diusulkan oleh penulis dengan penelitian sebelumnya yang relevan Perbandingan tersebut dapat dilihat padat Tabel 21

Tabel 21 Kajian Pustaka

No Judul Objek dan Input Penelitian Metode

1 Penerapan Metode Automatic Clustering dan High Order Fuzzy Time Series Pada Peramalan Curah Hujan (Irsyad Metarice 2013)

Objek Curah hujan

Input Penelitian

Data aktual curah hujan

Metode High Order Fuzzy Time Series dan Automatic Clustering

Nilai evalusi

Mean Absolute Percentage Error (MAPE)

2 Peramalan Menggunakan Fuzzy Time Series Chen (Studi Kasus Curah Hujan Kota Samarinda) (Fauziah et al 2016)

Objek Curah Hujan

Input Penelitian

Data aktual curah hujan

Metode Fuzzy Time Series Chen

Nilai evaluasi

Mean Absolute Error (MAE) Root Mean of Square Error (RMSE)

3 Implementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emas (Wardhani et al 2015)

Objek Harga Emas

Input Penelitian

Kurs Dollar hari sebelumnya

Kurs Euro hari sebelumnya

Harga Emas London hari sebelumnya

Harga Emas hari sebelumnya

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

Nilai evalusi

Mean Absolute Percentage Error (MAPE)

4 Stock Markets Forecasting Based on Fuzzy Time Series Model (Lin Yang 2009)

Objek Indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

6

Input Penelitian

Historical return

Historical turnover volume

Rata ndash rata selisih pergerakan harga selama lima hari

Selisih antara kekuatan bull dan bear

Indeks komposit bursa efek harian Shanghai sebelumnya

Indeks komposit bursa efek harian Shenzhen

Nilai evalusi

Average Relative Error (ARError)

5 Peramalan Curah Hujan Menggunakan Metode High Order Fuzzy Time Series Multi Factors

Objek Curah hujan

Input Penelitian

Suhu

Kelembaban

Kecepatan angin

Curah hujan

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

Nilai evalusi

Mean Square Error (MSE)

Sumber (Irsyad Metarice 2013) (Fauziah et al 2016) (Wardhani et al 2015) dan (Lin Yang 2009)

Pada penelitian yang pertama yaitu penelitian yang dilakukan oleh Muhammad Irsyad dan Sonya Metarice pada tahun 2013 dengan objek penelitian yang diramalkan adalah curah hujan Inputan yang digunakan pada penelitian ini merupakan data aktual curah hujan bulanan Metode yang digunakan penelitian ini adalah Automatic Clustering dan High Order Fuzzy Time Series Pada penelitian ini metode Automatic Clustering digunakan untuk membangun interval dan High Order Fuzzy Time Series untuk melakukan peramalan curah hujan Kesimpulan yang diperoleh dari penelitian ini yaitu metode ini dapat diterapkan untuk permalan curah hujan dan hasil evaluasi menggunakan metode Mean Absolute Percentage Error(MAPE) dari beberapa bercobaan dapat diperoleh nilai kesalahan sebesar 437 Berdasarkan dari hasil nilai kesalahan tersebut maka tingkat kesalahan data pada permalan ini termasuk rendah

Pada tahun 2016 Normalita Fauziah Sri Wahyuningsih dan Yuki Novia Nasution melakukan penelitian dengan objek penelitian curah hujan di kota Samarinda Inputan yang digunakan pada penelitian berupa data aktual bulanan curah hujan di kota Samarinda Metode yang digunakan pada penelitian ini adalah Fuzzy Time Series Chen dengan dalam pembentukkan panjang interval berbasis rata ndash rata atau average based Pada penelitian ini permalan curah hujan terbaik yaitu dengan menggunkan data sebanyak 29 data dengan menghasilkan tingkat nilai kesalahan terkecil yaitu dengan metode Root Mean of Squared Error (RMSE) sebesar 7368 dan metode Mean Absolute Error (MAE) sebesar 539 Pada

(Lanjutan) Tabel 21 Kajian Pustaka

7

penelitian ini disimpulkan bahwa data sebanyak 29 data memiliki tingkat kesalahan lebih kecil dibandingkan dengan menggunakan data dengan jumlah sampel yang lebih banyak

Pada penelitian selanjutnya adalah penelitian yang dilakukan oleh Dessy Kusuma Wardhani Dian Eka Ratnawati dan Budi Darma Setiawan pada tahun 2015 dengan objek penelitian yang diramalkan adalah harga emas harian Inputan yang digunakan pada penelitian ini data aktual harian harga emas indonesia harga emas london kurs dollar ke rupiah dan kurs euro ke rupiah Metode yang digunakan pada penelitian pada pembentukkan sub interval menggunakan metode fuzzy C-means dan untuk peramalan menggunakan metode High Order Fuzzy Time Series Model Hasil pada penelitian ini berdasarkan menggunakan metode evaluasi Mean Absolute Percentage Error (MAPE) dapat diperoleh nilai error terkecil sebesar 0443 karena nilai error lebih kecil dari 10 menunjukkan bahwa metode ini sangat baik digunakan untuk peramalan harga emas

Pada tahun 2009 Yupei Lin dan Yiwei Yang melakukan penelitian dengan objek yang diramalkan adalah indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen Data input penelitian ini meliputi historical return historical turnover volume dan rata ndash rata selisih pergerakan harga selama lima hari serta selisih antara kekuatan bull dan bear Dalam penelitian ini pembentukan subinterval yang berfungsi dalam pendefinisian himpunan fuzzy dilakukan dengan menggunakan klasterisasi fuzzy C-means Hasil dari penilitian ini menunjukan tingkat Average Relative Error (ARError) sebesar 176 untuk bursa efek harian Shanghai sedangkan untuk bursa efek harian Shenzhen didapatkan ARError sebesar 187 Dalam hal ini membuktikan bahwa penelitian dapat menghasilkan peramalan yang cukup baik karena memiliki nilai ARError kurang dari 5

Pada penelitian ini membahas tentang peramalan curah hujan dasarian menggunakan metode High Order Fuzzy Time Series Multi Factors Terdapat empat inputan yang juga dijadikan sebagai variabel dalam penelitian ini yaitu kelembaban udara kecepatan angin suhu udara dan curah hujan Pembentukan subinterval yang berfungsi dalam pendefinisian fuzzy set dilakukan dengan menggunakan klasterisasi fuzzy C-means Penelitian ini menggunakan high order fuzzy logic relationship yaitu membentuk fuzzy logic relationship berdasarkan data dalam kurun waktu beberapa dasarian sebelum dasarian yang akan diramal Pada penelitian ini dalam melakukan perhitungan nilai error untuk mendapatkan hasil evaluasi menggunakan metode Mean Square Error (MSE)

22 Dasar Teori

Pada dasar teori disini dijelaskan tentang metode ndash metode yang digunakan pada penelitian ini yang meliputi peramalan curah hujan data time series logika fuzzy fuzzy C-means metode peramalan dengan Fuzzy Time Series High Order Fuzzy Time Series Multi Factors dan metode perhitungan keakuratan metode peramalan

8

221 Peramalan

Terdapat beberapa definisi tentang peramalan menurut Kamus Besar Bahasa Indonesia (KBBI) yaitu

a Peramalan merupakan prediksi rencana atau estimasi kejadian masa depan yang tidak pasti (KBBI)

b Peramalan adalah sebagai penggunaan teknik ndash teknik statistik dalam bentuk gambaran masa depan berdasarkan pengolahan angka ndash angka yang terjadi pada masa lalu (Buffa et al1996)

c Peramalan adalah bagian internal dari pengambilan keputusan manajemen (Makridakis et al1999)

Berdasarkan beberapa definisi diatas dapat disimpulkan bahwa peramalan merupakan tindakan apa yang akan terjadi di masa mendatang peramalan diperlukan untuk mengambil sebuah keputusan Dalam pengambilan keputusan harus diambil dari pertimbangan ndash pertimbangan yang ada Oleh karena itu peramalan sangat penting hubungannya dengan pengambilan keputusan sehingga kejadian di masa yang akan datang dapat dipersiapkan tindakan apa yang perlu dilakukan

222 Curah hujan

Curah hujan merupakan salah satu faktor penting yang mempengaruhi perubahan iklim suatu wilayah (Mirawati et al 2013) Salah satu contoh kasus nyata yaitu terjadinya perubahan iklim secara tiba ndash tiba atau bisa disebut dengan cuaca ekstrim Curah hujan dapat dijelaskan dengan air hujan yang terkumpul pada suatu wadah datar dimana air hujan tersebut tidak meresap tidak menguap dan tidak mengalir sehingga dapat diukur ketinggiannya Sebagai contoh curah hujan 1 (satu) milimeter dapat dijelaskan dalam suatu wadah datar dengan luas satu meter persegi tertampung air dengan ketinggian sekitar satu milimeter atau tertampung air sebanyak satu liter Metode dalam mendapatkan data curah hujan adalah dengan menggunakan penakar hujan yang kemudian diukur dengan satuan milimeter (mm) (User2015) Intensitas curah hujan dapat dikategorikan ringan jika dibawah 20mm dalam 24 jam dikategorikan lebat jika di atas 50mm dan dikategorikan sedang jika selang 20mm hingga 50mm (User 2015)

Curah hujan mempengaruhi beberapa sektor diantarannya sektor komunikasi dimana penggunaan frekuensi diatas 10 GHz dapat terkena redaman hujan (Mauludiyanto et al 2009) Akan tetapi curah hujan paling berpengaruh terhadap sektor pertanian Hal ini terbukti bahwa sebagian besar terjadinya penurunan produktifitas dan gagal panen di sektor pertanian adalah terjadinya curah hujan yang tinggi

Tinggi dan rendahnya curah hujan dipengaruhi oleh beberapa faktor yaitu kelembaban udara temperatur dan kecepatan angin Pada tahun 2013 Nur Suri Pradipta Pasukat Sembiring dan Pengarapen Bangun melakukan penelitian mengenai pengaruh curah hujan di kota Medan (Pradipta et al 2013)

9

Berdasarkan penelitian tersebut faktor yang mempengaruhi dan digunakan dalam peramalan curah hujan yaitu

1 Kelembaban udara

Kelembaban udara adalah banyaknya kandungan uap air di atmosfer Udara atmosfer adalah campuran dari udara kering dan uap air selain itu kelembaban udara merupakan komponen cuaca yang mempunyai peranan sangat penting bagi stabilitas kehidupan organisme di bumi maupun unsur-unsur cuaca yang lain (Forest 2015) Kelembaban udara berpengaruh terhadap curah hujan Hal ini didukung penelitian oleh (Sipayung et al 2013) yang menyatakan Kelembaban udara berpengaruh positif terhadap curah hujan

2 Kecepatan angin

Kecepatan angin merupakan kecepatan udara yang bergerak secara horizontal pada ketinggian 2 meter diatas tanah Dalam hal ini faktor yang menentukan kecepatan angin adalah perbedaan tekanan udara antara asal dan tujuan angin Kecepatan angin berpengaruh positif terhadap curah hujan artinya jika kecepatan angin tinggi maka curah hujan akan tinggi (Pradipta et al2013)

3 Suhu udara

Suhu udara merupakan ukuran energi kinetik rata ndash rata dari pergerakan molekul ndash molekul Suhu udara berpengaruh negatif terhadap curah hujan artinya jika suhu udara tinggi maka curah hujan akan berkurang (Pradipta et al2013)

223 Data time series

Data time series adalah data statistik yang telah dihimpun dari masa lampau hingga sekarang dan dapat digunakan sebagai acuan dalam melakukan peramalan terhadap data yang akan datang (Wiyanti amp Pulungan 2012) Data time series juga dapat didefinisikan sebagai sebuah kegiatan mengamati data statistik dimana terdapat korelasi (dependensi) antar datanya sehingga data yang sekarang sedang diamati memiliki ketergantungan dengan satu atau lebih data pengamatan sebelumnya (Mirawati et al 2013)

Terdapat dua teknik prediksi yang menggunakan basis data time series yaitu teknik model matematika statistik dan berdasarkan kecerdasan buatan (Wiyanti amp Pulungan 2012) Analisa time series sendiri memiliki beberapa peruntukan salah satunya digunakan dalam melakukan peramalan untuk masa yang akan datang Dalam penggunaan data time series merupakan salah satu proses peramalan kuantitatif dimana berdasar data kuantitatif masa lampau yang direpresentasikan dalam bentuk angka atau nilai (Mirawati et al 2013)

10

224 Logika Fuzzy

Pada tahun 1965 Prof Lotfi A Zadeh memperkenalkan teori logika fuzzy Logika fuzzy merupakan suatu komponen soft computing dan juga suatu cara yang tepat untuk memetakan suatu ruang input ke dalam ruang output Antara ruang input dan ruang output terdapat black box yang berfungsi memetakan input ke ruang output yang sesuai Dasar logika fuzzy adalah teori fuzzy set Pada teori fuzzy set peranan derajat keanggotaan sebagai penentu keberadaan elemen dalam suatu himpunan sangatlah penting Oleh karena itu derajat keanggotaan menjadi ciri utama dalam penalaran dengan logika fuzzy Logika fuzzy bekerja dengan menggunakan derajat keanggotan dari sebuah nilai yang kemudian digunakan untuk menentukan hasil yang ingin dihasilkan berdasarkan atas kriteria yang telah ditentukan (Kusumadewi 2003)

Berikut adalah beberapa alasan digunakannya logika fuzzy (Kusumadewi 2002)

1 Logika fuzzy sangat fleksibel

2 Konsep logika fuzzy mudah dimengerti dan dipahami

3 Logika fuzzy memiliki toleransi terhadap data ndash data yang homogen dan data ndash data yang kurang tepat

4 Logika fuzzy didasari pada bahasa alami atau bahasa sehari - hari sehingga mudah dimengerti

5 Logika fuzzy dapat bekerjasama dengan teknik ndash teknik kendali secara konvensional

6 Logika fuzzy mampu membangun dan mengaplikasikan pengalaman ndash pengalaman para pakar secara langsung tanpa harus melalui tahap atau proses pelatihan

A Himpunan Fuzzy

Himpunan fuzzy atau fuzzy set merupakan perluasan himpunan tegas atau himpunan crisp jadi fungsi karakteristik mencakup bilangan real pada interval [01] Dalam definisi lain himpunan fuzzy adalah suatu himpunan yang mewakili suatu keadaan atau kondisi tertentu dalam suatu variabel fuzzy Keanggotaan fuzzy berbeda dengan probabilitas jika keanggotaan fuzzy pada setiap fungsi karakteristik memberikan suatu pendapat atau keputusan sedangkan probabilitas menunjukan seberapa besar nilai kebenaran dalam fungsi karakteristik tersebut Contohnya yaitu nilai keanggotaan suatu himpunan fuzzy umur muda 09 berarti nilai dalam himpunan tersebut memiliki kemungkinan 90 anggotanya berumur muda dan 10 diharapkan tidak muda Dalam himpunan fuzzy suatu bilangan bisa memiliki dua keanggotaan sekaligus Himpunan fuzzy memiliki dua attribut (Kusumadewi2003)

11

1 Linguistik merupakan penamaan suatu himpunan yang mewakili suatu keadaan atau kondisi tertentu dengan menggunakan bahasa alami misalnya muda parobaya tua

2 Numeris merupakan suatu nilai (angka) yang menunjukkan ukuran dari suatu

variabel seperti 402550 dan sebagainya

B Fungsi Keanggotaan

Fungsi keanggotaan adalah suatu kurva yang menunjukkan pemetaan titik ndash titik input data ke dalam derajat keanggotaannya yang memiliki subinterval antara 0 sampai 1 (Kusumadewi Purnomo 2004) Salah satu cara yang dapat digunakan untuk mendapatkan nilai keanggotaan adalah dengan melalui pendekatan fungsi Ada beberapa fungsi keanggotaa yang dapat digunakan

1 Fungsi representasi linear

Pada fungsi representasi linear pemetaan input ke derajat keanggotaannya digambarkan sebagai suatu garis lurus Bentuk ini paling sederhana dan menjadi pilihan yang baik untuk mendekati suatu konsep yang kurang jelas Keadaan linear himpunan fuzzy terdiri dari dua keadaan yaitu keadaan linear naik dan keadaan linear turun Pada keadaan linear naik kenaikan himpunan dimulai pada nilai domain yang memiliki nilai derajat keanggotaan nol bergerak ke kanan menuju ke nilai domain yang memiliki derajat keanggotaan yang lebih tinggi seperti yang ditunjukkan Gambar 21 Persamaan fungsi keanggotaan pada representasi linear naik ditunjukkan oleh Persamaan 21

Fungsi Keanggotaan

120583(119909) = 0

(119909 minus 119886)(119887 minus 119886)1

119909 le 119886 119886 le 119909 le 119887119909 ge 119887

(21)

b a 0

1

Gambar 21 Representasi linear naik

Sumber Kusumadewi (2002)

120583(119909)

12

Pada keadaan linear turun berbanding terbalik dengan keadaan linear naik Garis lurus dimulai dari nilai domain dengan derajat keanggotaan tertinggi pada sisi kiri kemudian bergerak menurun ke nilai domain yang memiliki derajat keanggotaan lebih rendah yang ditunjukkan Gambar 22 Persamaan fungsi keanggotaan pada representasi linear turun ditunjukkan oleh Persamaan 22

Fungsi Keanggotaan

120583(119909) = (119887 minus 119909)(119887 minus 119886)0

119886 le 119909 le 119887

119909 ge 119887 (22)

2 Fungsi representasi kurva segitiga

Representasi kurva segitiga pada dasarnya merupakan gabungan antara 2 garis linear yaitu linear naik dan linear turun Fungsi representasi kurva segitiga ditandai oleh adanya tiga parameter abc yang akan menentukan koordinat x dari tiga sudut seperti ditunjukkan pada Gambar 23 Persamaan fungsi keanggotaan pada representasi kurva segitiga ditunjukkan oleh Persamaan 23

b a 0

1

Sumber Kusumadewi (2002)

Gambar 22 Representasi linear turun

120583(119909)

c a 0

1

b

Sumber Kusumadewi (2002)

Gambar 23 Representasi kurva segitiga

120583(119909)

13

Fungsi Keanggotaan

120583(119909) =

0 (119909 minus 119886)(119887 minus 119886) (119887 minus 119909)(119888 minus 119887)

119909 le 119886 119886119905119886119906 119909 ge 119888

119886 le 119909 le 119887 119887 le 119909 le 119888

(23)

225 Metode Fuzzy C-means

Fuzzy C-means (FCM) pertama kali diperkenalkan oleh Dunn dan dikembangkan oleh Bezdek yang banyak digunakan dalam pengenalan pola Metode ini merupakan pengembangan dari metode non-hierarkhi K-Means Cluster selanjutnya dilakukan iterasi sampai mendapatkan keanggotaan kelompok tersebut (Klawon 2001)

FCM merupakan salah satu algoritma fuzzy clustering dan juga teknik klasterisasi dimana tiap data ditentukan oleh derajat keanggotaanya Tujuan penggunaan algoritma FCM yaitu untuk menemukan pusat cluster atau centroid dengan meminimumkan fungsi objektif (Bazdek 1984) Ouput dari FCM bukan merupakan fuzzy inference system melainkan deretan pusat cluster dan beberapa derajat keanggotaan untuk setiap titik data Hasil output ini dapat digunakan untuk membangun suatu fuzzy inference system Berikut adalah langkah ndash langkah dari FCM (Kusumadewi 2004)

1 Langkah pertama menentukan jumlah cluster (c ge 2) pembobot (infin gt 119908 gt1) (Bazdek 1984) maksimum iterasi (maxIter) error minimum yang diharapkan yaitu nilai positif yang sangat kecil (120585) fungsi objektif awal (P0 = 0) iterasi awal dideklarasikan 1

2 Langkah kedua memasukkan data X yang akan diklasterisasi berupa matriks berukuran m x n (m = jumlah sampel data n = attribut setiap data) Contoh Xij = data sampel ke-i (i = 1234m) attribu ke-j (j=1234n)

3 Langkah ketiga yaitu dengan membuat bilangan random microik i = 1234n dan k = 123c (n = jumlah sampel pada data c = jumlah cluster yang akan dibentuk) sebagai elemen ndash elemen matriks partisi awal Untuk bilangan penyusun matriks partisi awal dihitung dihitung jumlahnya setiap kolom yang ditunjukkan pada pada Persamaan 24 (Kusumadewi 2004)

119876119896 = sum 120583119894119896119888119896=1 (24)

Dimana

119876119896 = jumlah bilangan pada kolom k

120583119894119896 = bilangan random pada baris i kolom k

119888 = jumlah kolom

14

Selanjutnya untuk menghitung derajat keanggotaan awal dengan melakukan normalisasi pada matiks partisi pada normalisasi dilakukan menggunakan Persamaan 25 (Kusumadewi 2004)

120583119894119896 = 120583119894119896119876119896 (25)

4 Langkah keempat melakukan perhitungan cluster ke-k Vkj dengan k = 1234c dan j = 1234m Perhitungan pusat cluster ditunjukkan pada Persamaan 26 (Kusumadewi 2004)

119881119896119895 = sum ((120583119894119896)119908 times 119883119894119895)119899

119894=1

sum (120583119894119896)119908119899119894=1

(26)

Dimana

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

120583119894119896 = derajat keanggotaan pada data ke-i cluster ke-k

119883119894119895 = data sampel pada data ke-i attribut ke-j

119908 = pembobot

5 Langkah kelima melakukan perhitungan fungsi objektif pada iterasi ke-t P1 Perhitungan fungsi objektif ditunjukkan pada Persamaan 27 (Kusumadewi 2004)

119875119905 = sum sum ([sum (119883119894119895 minus 119881119896119895)119898119895=1

2](120583119894119896)119908)119888

119896=1119899119894=1 (27)

Dimana

119875119905 = fungsi objektif

119883119894119895 = data sampel ke-i atribut ke-j

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

6 Langkah keenam melakukan perhitungan perbaikan matriks partisi yang telah ditunjukkan Persamaan 28 (Kusumadewi 2004)

120583119894119896 = [sum (119883119894119895minus119881119896119895)119898

119895=12

]

minus1119908minus1

sum [sum (119883119894119895minus119881119896119895)119898119895=1

2]

minus1119908minus1119888

119896minus1

(28)

Dimana

119883119894119895 = data sampel ke-i atribut ke-j

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

119908 = pembobot

7 Langkah ketujuh yaitu melakukan pemerikasaan kondisi berhenti dengan kondisi sebagai berikut

a Jika (|119875119905 minus 119875119905minus1| lt 120585) atau ( t gt MaxIter) maka berhenti

b Jika tidak memenuhi t = t +1 ulangi mulai dari langkah ke-4

15

226 Metode Peramalan dengan Fuzzy Time Series

Pada tahun 1996 Chen memperkenalkan metode peramalan dengan menggunakan metode Fuzzy Time Series Metode Fuzzy Time Series memiliki perbedaan dengan metode peramalan time series biasa atau konvensional yaitu terdapat pada data yang digunakan untuk peramalan Fuzzy Time Series data yang digunakan adalah berupa fuzzy set atau himpunan fuzzy dari bilangan ndash bilangan real atas himpunan semesta yang ditentukan Jadi Fuzzy Time Series merupakan metode dengan menggunakan data berupa fuzzy set yang berasal dari bilangan real atas Universe of Discorse pada data aktual Universe of Discourse adalah himpunan semesta dari data penelitian

Berikut adalah langkah ndash langkah metode Fuzzy Time Series yang telah diperkenalkan oleh Chen terdapat enam langkah yaitu

1 Langkah pertama yaitu membagi Universe of Discourse dari bilangan aktual ke dalam subinterval dengan jumlah interval yang sama Perhitungan Universe of Discourse ditunjukkan pada Persamaan 29 (Chen 1996)

119880 = [119863119898119894119899 minus 1198631 119863119898119886119909 + 1198632] (29)

Dimana

119880 = Universe of Discourse

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

1198631 dan 1198632 = bilangan positif yang ditentukan oleh user untuk menentukan Universe of Discourse dari himpunan data sampel

2 Langkah kedua adalah mendefinisikan fuzzy set dari Universe of Discourse (U) menjadikan A1 A2 A3 An ke dalam fuzzy set dengan nilai linguistik sesuai dengan keadaan U Selanjutnya mendefinisikan fuzzy set tersebut ditunjukkan pada Persamaan 210 (Chen 1996)

1198601 =11989111

1199061+

11989112

1199062+

11989113

1199063+ ⋯ +

1198911119896

119906119896 (210)

1198602 =11989121

1199061+

11989122

1199062+

11989123

1199063+ ⋯ +

1198912119896

119906119896

= + + + +

119860119896 =1198911198961

1199061+

1198911198962

1199062+

1198911198963

1199063+ ⋯ +

119891119896119896

119906119896

Dimana 119891119894119895120598 [01] 1 le 119894 le 119896 dan 1 le 119895 le 119898 Variabel 119891119894119895 menunjukkan

derajat keanggotaan dari subinterval 119906119895 dari fuzzy set 1198601 Pada konsep ini

Chen menggunakan nilai linguistik 1198601 = (not many) 1198602 = (not too many) 1198603= (many) 1198604 = (many many) 1198605 = (very many) 1198606 = (too many) 1198607= (too many many) Kemudian nilai linguistik tersebut dimasukkan ke tiap fuzzy set Dari U tersebut dapat dibangun fuzzy set sebagai berikut

16

1198601 = 1

1199061+

05

1199062+

0

1199063+

0

1199064+

0

1199065+

0

1199066+

0

1199067

1198602 = 05

1199061+

1

1199062+

05

1199063+

0

1199064+

0

1199065+

0

1199066+

0

1199067

1198603 = 0

1199061+

05

1199062+

1

1199063+

05

1199064+

0

1199065+

0

1199066+

0

1199067

1198604 = 0

1199061+

0

1199062+

05

1199063+

1

1199064+

05

1199065+

0

1199066+

0

1199067

1198605 = 0

1199061+

0

1199062+

0

1199063+

05

1199064+

1

1199065+

05

1199066+

0

1199067

1198606 = 0

1199061+

0

1199062+

0

1199063+

0

1199064+

05

1199065+

1

1199066+

05

1199067

1198607 = 0

1199061+

0

1199062+

0

1199063+

0

1199064+

0

1199065+

05

1199066+

1

1199067

3 Langkah ketiga yaitu melakukan fuzzifikasi data historis proses fuzzifikasi merupakan proses merubah data aktual yang merupakan bilangan crisp ke dalam bentuk bilangan fuzzy Bilangan fuzzy yang dimaksudkan adalah dalam bentuk derajat keanggotaan Dari beberapa derajat keanggotaan yang terbentuk kemudian dipilih satu fuzzy set yang memiliki derajat keanggotaan teringgi Fuzzifikasi dinotasikan sebagai berikut jika F(t-1) berada pada fuzzy set Ak maka F(t-1) difuzzifikasikan sebagai Ak

4 Langkah keempat adalah mengidentifikasi Fuzzy Logic Relationship (FLR) FLR diidentifikasikan sebagai Ai dan F(t) difuzzifikasikan sebagai Ai rarr Aj Ai sebagai sisi kiri relationship disebut sebagai current state dan Aj sebagai sisi kanan relationship disebut next state Jika terjadi perulangan relationship maka tetap dihitung satu kali

5 Langkah kelima yaitu mengelompokkan menjadi Fuzzy Logical Relationship Group (FLRG) FLRG dibangun berdasarkan sisi kiri (current state) yang sama

6 Langkah terakhir yaitu langkah keenam adalah melakukan defuzzifikasi nilai keluaran peramalan Defuzzifikasi adalah mengubah nilai keluaran fuzzy menjadi bilangan crisp kembali sehingga diperoleh hasil akhir peramalan Defuzzifikasi didasarkan pada tiga (3) rule aturan yaitu (Chen 1996)

I Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai hanya memiliki satu FLR pada FLRG yaitu dengan kondisi Ai rarr Aj dimana nilai maksimum fungsi keanggotaanya berada pada 119906119895 maka nilai peramalan untuk n+1 adalah

nilai tengah dari 119906119895 atau didefinisikan dengan 119898119895

II Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai memiliki lebih dari satu FLR pada FLRG yaitu dengan kondisi Ai rarr Aj1 Aj2 Ajp Dimana nilai tengah untuk masing ndash masing Aj1 Aj2 Aj3 Ajp adalah mj1 mj2 mj3 mjp

maka nilai peramalan untuk n+1 adalah (mj1 mj2 mj3 mjp) p

III Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai tidak memiliki FLR pada FLRG dimana nilai maksimum fungsi keanggotaannya berada pada 119906119895

17

maka nilai peramalan untuk n+1 adalah nilai tengah dari 119906119895 atau

didefinisikan dengan 119898119895

227 Metode High Order Fuzzy Time Series Multi Factors

Metode High Order Fuzzy Time Series Multi Factors adalah metode Fuzzy Time Series (FTS) yang melibatkan beberapa faktor yang mempengaruhi peramalan dengan berdasarkan beberapa periode waktu sebelum periode yang akan diramalkan dalam proses pembentukkan Fuzzy Logical Relationship (FLR) Hasil peramalan dengan banyak faktor yang mempengaruhi dinilai lebih baik dari pada dengan hanya satu faktor yang mempengaruhi (LinYang 2009) Pada metode ini pembentukkan subinterval yang berfungsi dalam pendefinisian fuzzy set dilakukan dengan menggunakan teknik klasterisasi fuzzy C-means Berikut adalah langkah ndash langkah Metode High Order Fuzzy Time Series Multi Factors (LinYang 2009)

1 Langkah pertama adalah melakukan perhitungan Universe of Discourse (U) Sebelum menghitung nilai U terlebih dulu menghitung nilai mean (rata ndash rata) sampel lalu menghitung nilai standar deviasi (120590) Mean merupakan perhitungan jumlah dari semua nilai dalam kumpulan data kemudian dibagi dengan jumlah total data untuk menghitung nilai mean ditunjukkan pada Persamaan 211 (Weisstein 2015) Standar deviasi merupakan akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel untuk menghitung nilai standar deviasi (120590) ditunjukkan pada Persamaan 212 (Weisstein 2015) Perhitungan U ditunjukkan pada Persamaan 213 (LinYang 2009)

119909 =sum 119909119894

119899119894=1

119899 (211)

Dimana

= mean (rata ndash rata)

119909119894 = nilai data ke-i

119899 = banyak data

120590 = radicsum (119909119894minus ) 2119899

119894=1

119899minus1 (212)

Dimana

120590 = Standar deviasi data

119880 = [119863119898119894119899 minus 120590 119863119898119886119909 + 120590] (213)

Dimana

119880 = Universal 0f Discourse

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

18

2 Langkah kedua yaitu menentukan jumlah cluster data Proses klasterisasi bertujuan untuk membagi U kedalam beberapa subinterval Hasil perhitungan banyaknya cluster apabila bernilai pecahan maka harus dibulatkan menjadi bilangan bulat Perhitungan banyaknya cluster ditunjukkan pada Persamaan 214 (LinYang 2009)

119896 = ||119863119898119894119899 minus 119863119898119886119909|sum |119883(119905)minus119883(119905minus1)|119899

119905=1

119899minus1| (214)

Dimana

119896 = banyaknya jumlah cluster

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

119899 = banyaknya data sampel

119883(119905) = data pada waktu ke-t

3 Langkah ketiga yaitu melakukan pembentukan pusat cluster Pada metode ini proses klasterisasi data menggunakan fuzzy C-means (FCM) untuk mendapatkan pusat cluster sebanyak k Tahapannya U dibagi kedalam k subinterval (119863119898119894119899 1198891) (1198891 1198892) (1198892 1198893) hellip (119889119896minus1 119863119898119886119909) dimana di (i = 123k-1) merupakan titik tengah antara dua pusat cluster k subinterval didefinisikan sebagai 1199061 1199062 1199063 hellip 119906119896 Sehingga dalam hal ini subinterval

dengan panjang berbeda dapat menggambarkan struktur data kompleks dengan baik dan dapat meningkatkan peramalan dibandingkan menggunakan subinterval dengan panjang yang sama (LinYang 2009)

4 Langkah keempat yaitu melakukan pembentukan himpunan fuzzy atau fuzzy set Pada langkah ini fuzzy set direpresentasikan dengan kurva bahu Pembentukkan fuzy set ditunjukkan pada Persamaan 215 (LinYang 2009)

1198601 =11989111

1199061+

11989112

1199062+

11989113

1199063+ ⋯ +

1198911119896

119906119896 (215)

= + + + +

119860119896 =1198911198961

1199061+

1198911198962

1199062+

1198911198963

1199063+ ⋯ +

119891119896119896

119906119896

5 Langkah kelima yaitu proses fuzzifikasi Proses fuzzifikasi bertujuan untuk mengubah data sampel yang masih berupa bilangan crisp sehingga menjadi bilangan fuzzy Masing ndash masing data dihitung derajat keanggotaannya terhadap fuzzy set yang sudah terbentuk selajutnya derajat kanggotaan dihitung berdasarkan kurva bahu dan derajat keanggotaan tertinggi menunjukkan hasil fuzzifikasi data tersebut Contohnya A(t) B(t) C(t) dan D(t) dimana t= 123n merupakan time series dari faktor yang mempengaruhi serta n merupakan banyaknya data Berdasarkan pembagian subinterval masing ndash masing time series ini difuzzifikasikan Misalkan hasil dari Persamaan 215 yaitu menghitung banyak cluster dari k1 k2 k3 k4 Jadi time series difuzzifikasikan menjadi empat fuzzy time series yaitu

19

A(ti) dimana i = 1234k1

B(tj) dimana j = 1234k2

C(tp) dimana p = 1234k3

D(tq) dimana q = 1234k4 t = 123n

6 Langkah keenam yaitu melakukan pembentukkan Fuzzy Logical relationship (FLR) Data sampel sebanyak n periode dipilih sebagai data training untuk membentuk fuzzy time series model Misalkan t merupakan periode waktu yang akan diramal dengan menggunakan order ndash 3 maka tiga periode sebelum periode t adalah t-3 t-2 dan t-1 dimana t = 456n Maka FLR yang dihasilkan ditunjukkan pada Persamaan 216 dan berdasarkan persamaan tersebut maka akan membentuk sebuah kumpulan FLR dari data training (LinYang 2009)

(119860(119905minus31198943) 119861(119905minus31198953) 119862(119905minus31199013) 119863(119905minus31199023)) (216)

(119860(119905minus21198942) 119861(119905minus21198952) 119862(119905minus21199012) 119863(119905minus21199022))

(119860(119905minus11198941) 119861(119905minus11198951) 119862(119905minus11199011) 119863(119905minus11199021)) rarr 119860(1199051198944)

Tabel 22 Fuzzy Logic Relationship

(119860(119905minus31198943) 119861(119905minus31198953) 119862(119905minus31199013) 119863(119905minus31199023))

(119860(119905minus21198942) 119861(119905minus21198952) 119862(119905minus21199012) 119863(119905minus21199022))

(119860(119905minus11198941) 119861(119905minus11198951) 119862(119905minus11199011) 119863(119905minus11199021)) rarr 119860(1199051198944)

(119860(119905minus21198943) 119861(119905minus21198953) 119862(119905minus21199013) 119863(119905minus21199023))

(119860(119905minus11198942) 119861(119905minus11198952) 119862(119905minus11199012) 119863(119905minus21199022))

(119860(1199051198941) 119861(1199051198951) 119862(1199051199011) 119863(1199051199021)) rarr 119860(119905+11198944)

(119860(119905+119899minus71198943) 119861(119905+119899minus71198953) 119862(119905+119899minus71199013) 119863(119905+119899minus71199023))

(119860(119905+119899minus61198942) 119861(119905+119899minus61198952) 119862(119905+119899minus61199012) 119863(119905+119899minus61199022))

(119860(119905+119899minus51198941) 119861(119905+119899minus51198951) 119862(119905+119899minus51199011) 119863(119905+119899minus51199021)) rarr 119860(119905+119899minus41198944)

Sumber (LinYang 2009)

7 Langkah terakhir adalah proses Defuzzifikasi Berdasarkan langkah sebelumnya maka dapat diambil hasil fuzzy ke- H yaitu yang digunakan sebagai data testing atau data uji seperti yang ditunjukkan pada Persamaan 217 (LinYang 2009)

(119860(119867minus31198943) 119861(119867minus31198953) 119862(119867minus31199013) 119863(119867minus31199023)) (217)

(119860(119867minus21198942) 119861(119867minus21198952) 119862(119867minus21199012) 119863(119867minus21199022))

(119860(119867minus11198941) 119861(119867minus11198951) 119862(119867minus11199011) 119863(119867minus11199021)) rarr 119860(1198671198944)

20

Faktor ndash faktor di ruas kiri pada Persaman 217 dibandingkan satu per satu dengan FLR data training yang sudah dicatat sebelumnya pada Tabel 22 membandingkannya yaitu dengan cara menghitung nilai absolut dari selisih antara pangkat bawah kedua faktor pada posisi yang sama di FLR Terdapat 12 fuzzy set di ruas kiri pada masing ndash masing FLR sehingga dari hasil perbandingan diperoleh 12 nilai absolut yang kemudian dijumlahkan untuk mendapat total selisihnya Jadi jika total selisih lebih kecil dari threshold yang ditentukan maka FLR tersebut dinyatakan cocok (LinYang 2009)

Selanjutnya jika FLR menemukan N pasangan yang cocok pada Tabel 22 maka N faktor di ruas kanan dari N FLR ini mendasari peramalan fuzzy set A() yang mana jumlah dari setiap fuzzy set pada umumnya berbeda Untuk peramalan dengan fuzzy set ditunjukkan pada Tabel 23 (LinYang 2009)

Tabel 23 Peramalan fuzzy set

Ruas Kanan A(1) A(2) A(3) A(k1)

Pusat cluster c1 c2 c3 ck1

Frekuensi f1 f2 f3 fk1

Sumber (Lin Yang 2009)

Berdasarkan Tabel 23 dengan menggunakan metode centroid untuk melakukan proses defuzzifikasi Proses defuzzifikasi dapat ditunjukkan pada Persamaan 218 (LinYang 2009)

119903119867 =sum 119888119894times 119891119894

1198961119894=1

sum 119891119894119896119894119894=1

(218)

Dimana

119903119867 = hasil (result) peramalan data ke-H

119888119894 = pusat cluster i dimana A(i) adalah ruas kanan dari FLR hasil proses pencocokan

119891119894 = frekuensi banyaknya muncul A(i) pada saat proses pencocokan

228 Perhitungan keakuratan metode peramalan

Dalam perencanaan peramalan tentu menginginkan hasil ramalan yang tepat atau paling tidak hampir mendekati sehingga rencana yang dibuat menjadi rencana yang realistis Keakuratan atau ketepatan merupakan yang menjadi kriteria performance suatu metode peramalan Keakuratan tersebut dapat dinyatakan sebagai kesalahan peramalan (forecast error) Semaikin kecil nilai kesalahan peramalan maka semaikin tinggi keakuratan metode peramalan yang digunakan dan sebaliknya semakin tinggi nilai kesalahan maka semakin rendah keakuratan metode peramalan yang digunakan

Mean Square Error (MSE) adalah salah satu metode yang digunakan untuk menghitung nilai akurasi atau keakuratan dari metode yang digunakan sebagai peramalan atau prediksi MSE merupakan perhitungan pangkat dua dari selisih

21

antara nilai data hasil peramalan dengan nilai data aktual dan kemudian dibagi dengan banyaknya data yang telah diramalkan Pada penentuan nilai evaluasi memilih menggunakan metode MSE karena metode ini dapat menunjukan hasil skala kemiripan antara hasil data peramalan dengan data aktual Berikut merupakan metode Mean Square Error (MSE) yang ditunjukan pada Persamaan 219 (Wang Chen 2009)

119872119878119864 = sum (119865119905minus119860119905)2119899

119894=1

119899 (219)

Dimana 119872119878119864 = nilai Mean Square Error Rate 119860119905 = nilai aktual pada data ke-t 119865119905 = nilai hasil peramalan untuk data ke-t n = banyaknya data

22

BAB 3 METODOLOGI

Pada bab ini akan dibahas mengenai metode yang digunakan beserta tahap ndash tahap pengerjaan penelitian skripsi dengan judul ldquoPeramalan Curah Hujan dengan Metode High Order Fuzzy Time Series Multi Factorsrdquo Penilitian ini digolongkan sebagai penelitian implementatif dengan pendekatan perancangan (design)

Metode penelitian ini meliputi studi literatur pengumpulan data perancangan implementasi pengujian dan analisis pengambilan kesimpulan Berikut adalah alur dari metode penelitian dapat ditunjukkan pada Gambar 31

31 Studi Literatur

Pada tahap studi literatur penelitian ini bertujuan untuk mempelajari literatur dan konsep dari beberapa informasi dan pustaka yang berkaitan dengan penelitian ini Literatur dan sumber ilmu dari penelitian ini diperoleh dari internet buku dan bimbingan oleh dosen pembimbing Adapun literatur yang dipelajari yaitu tentang curah hujan serta faktor ndash faktor yang mempengaruhinya dan metode High Order Fuzzy Time Series Multi Factors

Studi Literatur

Pengumpulan Data

Perancangan

Implementasi

Pengujian dan Analisis

Kesimpulan dan Saran

Gambar 31 Diagram blok metodologi penelitian

23

32 Pengumpulan Data

Pada tahap pengumpulan penelitian ini sumber data yang diperoleh yaitu dari Badan Meteorologi Klimatologi dan Geofisikia (BMKG) Stasiun Klimatologi Kelas III Karangkates Kabupaten Malang Data yang diperoleh untuk peramalan curah hujan yaitu data aktual time series (2011 - 2016) Data yang digunakan dalam bentuk dasarian yaitu dalam rentang waktu sepuluh hari sehingga dalam satu bulan dibagi menjadi tiga dasarian

Dasarian pertama yaitu pada tanggal 1 sampai dengan 10

Dasarian kedua yaitu pada tanggal 11 sampai dengan 20

Dasarian ketiga yaitu pada tanggal 21 sampai dengan akhir bulan

Pada penelitian ini data curah hujan dalam satuan milimeter (mm) kelembaban dalam persen () suhu udara dalam satuan celsius (˚C) kecepatan angin dalam satuan kilometer per jam (kmjam)

33 Perancangan

Pada tahap perancangan penelitian ini bertujuan untuk mengetahui rancangan ndash rancangan yang merupakan langkah yang dilakukan saat melakukan tahap implementasi Pada tahap ini terdapat beberapa perancangan yaitu perancangan proses yang berisi tahapan ndash tahapan proses metode High Order Fuzzy Time Series Multi Factors perhitungan manual yang merupakan manualisasi dari metode yang digunakan pada penelitian ini perancangan antar muka atau user interface yang berisi gambaran kasar dari tampilan antar muka prototype aplikasi yang nantinya diterapkan pada tahap implementasi selanjutnya adalah perancangan pengujian yang berisi rancangan ndash rancangan pengujian metode yang digunakan untuk mengetahui berapa tingkat kesalahan atau error yang dimiliki metode pada penelitian ini dalam melakukan peramalan curah hujan

34 Implementasi

Pada tahap implementasi peneltian ini dilakukan sesuai dengan perancangan yang telah dibuat pada tahapan perancangan sebelumnya Implementasi dari metode High Order Fuzzy Time Series Multi Factors dilakukan menggunakan bahasa pemrograman java serta Integrated Development Environment (IDE) yang digunakan adalah Netbeans Sehingga nantinya hasil dari tahap ini berupa prototype aplikasi dari implementasi metode High Order Fuzzy Time Series Multi Factors untuk peramalan curah hujan

35 Pengujian dan Analisis

Pada tahapan penelitian pengujian ini diperlukan perangkat lunak dan perangkat keras agar pengujian dari hasil implementasi dapat berjalan dengan baik maka pengujian perangkat lunak dijalankan pada laptop ataupun PC (Personal Computer) dengan spesifikasi sebagai berikut

24

1 Prosesor Intel Core i3

2 Memory RAM 8 Gigabytes

3 Sistem Operasi menggunakan Windows 7 64bit

4 Hardisk dengan kapasitas 500 GB

5 Netbeans 81 JDK 7

Pengujian hasil peramalan menggunakan metode High Order Fuzzy Time Series Multi Factors yaitu menggunakan metode Mean Square Error (MSE) Dimana rumus pengujian sesuai dengan Persamaan 219 Dalam pengujian menggunakan metode ini semakin kecil nilai MSE maka semakin tinggi tingkat akurasi hasil peramalan tersebut Pada penelitian ini untuk keperluan pengujian dari proses implementasi dilakukan empat pengujian yaitu pengujian terhadap perbedaan nilai order pengujian terhadap perbedaan nilai threshold pengujian terhadap data training untuk mengetahui pengaruhnya terhadap nilai MSE dan pengujian validasi sistem untuk mengetahui bahwa hasil implementasi metode High Order Fuzzy Time Series Multi Factors dapat melakukan peramalan

36 Kesimpulan dan Saran

Pada pengambilan kesimpulan akan dilakukan apabila semua tahapan ndash tahapan penelitian sudah dilakukan yaitu yang meliputi perancangan implementasi dan pengujian dan analisis telah selesai dilakukan Kesimpulan merupakan tahapan dimana semua rumusan masalah yang sudah ditetapkan sebelumnya dapat terjawab semua Selanjutnya pada saran merupakan berkenaan dengan hasil yang telah dicapai untuk memperbaiki kekurangan - kekurangan yang terjadi pada penelitian ini serta memberikan pertimbangan pada pengembangan penelitian lebih lanjut

25

BAB 4 PERANCANGAN

Pada bab ini berisi tentang perancangan yang nantinya digunakan sebagai dasar dalam tahap implementasi Hal yang dibahas meliputi perancangan proses perhitungan manual perancangan pengujian dan perancangan antar muka

41 Perancangan Proses

Pada perancangan proses ini berisi mengenai tahapan ndash tahapan dari metode yang digunakan yaitu metode High Order Fuzzy Time Series Multi Factors Pada penelitian ini melibatkan faktor ndash faktor yang mempengaruhi curah hujan yaitu suhu udara kelembaban udara dan kecepatan angin Data time series dari curah hujan merupakan faktor utama dalam proses peramalan pada penelitian ini Inputan pada peneltian ini yaitu data time series curah hujan serta faktor ndash faktor yang mempengaruhinya Order yang digunakan pada metode ini merupakan order lebih dari satu oleh karena itu disebut dengan High Order Order merupakan urutan jumlah dari data time series pada periode waktu t yang mempengaruhi nilai data Berikut merupakan diagram alir dari proses peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors yang ditunjukkan pada Gambar 41 dan Gambar 42

Gambar 41 Diagram alir metode penelitian yang digunakan (bagian 1)

Mulai

Data curah hujan suhu kelembaban kecepatan angin jmlh_Banyakdata jmlh_Faktor

Universe_of_Discourse

A

Jumlah_Cluster

26

411 Proses perhitungan Universe of Discourse

Pada perhitungan Universe of Discourse harus sudah dilakukan inputan data agar dapat memulai tahapan perhitungan Tahapan dari proses perhitungannya yaitu pada langkah pertama dilakukan perhitungan nilai mean (rata ndash rata) sesuai dengan Persamaan 211 Setelah mendapatkan nilai mean dapat dilakukan perhitungan untuk mencari nilai standar deviasi sesuai dengan Persamaan 212 Selanjutnya dicari nilai terkecil (119863119898119894119899) dan nilai terbesar (119863119898119886119909) Setelah menyelesaikan tahap ndash tahap tersebut dapat dilakukan perhitungan untuk

Gambar 42 Diagram alir metode penelitian yang digunakan (bagian 2)

A

Perhitungan Pusat Cluster

Fuzzifikasi

Pembentukan Fuzzy Logical Relationship

Defuzzifikasi

Nilai hasil peramalan

Berhenti

Pembentukan Subinterval dan Fuzzy set

27

mencari Universe of Discourse sesuai dengan Persamaan 213 Berikut merupakan diagram alir dari proses perhitungan Universe of Discourse yang ditunjukkan pada Gambar 43

Perhitungan Universe of Discourse

Mulai

Min_dan_Max

mean

standar_deviasi

for i = 0 to jmlh_Faktor-1

i

hsl_uMin ke i = hsl_min ke i ndash hsl_stdev ke i

hsl_uMax ke i = hsl_max ke i + hsl_stdev ke i

hsl_uMin hsl_uMax

Berhenti

Gambar 43 Diagram alir proses perhitungan Universe of Discourse

28

4111 Proses perhitungan Mean

Pada proses perhitungan mean merupakan nilai rata ndash rata dari setiap faktor dimana nilai mean ini nantinya dibutuhkan untuk melakukan proses perhitungan standar deviasi Berikut merupakan diagram alir dari proses perhitungan mean yang ditunjukkan pada Gambar 44

mean

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to jmlh_DataTraining

tmp_jmlh = 0

tmp_jmlh = tmp_jmlh + data ke ij

j

hsl_mean ke i = tmp_jmlhjmlh_DataTraining

i

hsl_mean

Berhenti

Gambar 44 Diagram alir proses perhitungan mean

29

4112 Proses perhitungan standar deviasi

Pada proses perhitungan standar deviasi dapat dilakukan setelah mendapatkan nilai mean dari setiap data sesuai proses sebelumnya Berikut merupakan diagram alir dari proses perhitungan standar deviasi yang ditunjukkan pada Gambar 45

standar_deviasi

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to jmlh_DataTraining

result = 0

result = result + (data ke ij ndash mean ke i)2

j

hsl_stdev ke i = radicresult

jmlh_DataTrainingminus1

i

hsl_stdev

Berhenti

Gambar 45 Diagram alir proses perhitungan standar deviasi

30

4113 Proses perhitungan nilai Dmin dan Dmax

Pada proses perhitungan ini merupakan proses perhitungan untuk mencari nilai terkecil dan terbesar dari setiap faktor data Setelah mendapat nilai terkecil dan terbesar maka data dilakukan proses perhitungan Universe of Discourse Berikut merupakan diagran alir dari proses perhitungan nilai Dmin dan Dmax yang ditunjukkan pada Gambar 46

Gambar 46 Diagram alir perhitungan nilai Min dan Max

ya

ya

tidak

tidak

Min_dan_Max

Mulai

for i = 0 to jmlh_Faktor-1

besar = data ke i0

kecil = data ke i0

for j=0 to jmlh_DataTraining

data ke ij gt besar

besar = data ke ij

data ke ij lt kecil

kecil = data ke ij

j

hsl_max ke i = besar

hsl_min ke i = kecil

i

hsl_max hsl_min

Berhenti 1

1

2

2

3

4

4

5

5

3

31

412 Proses perhitungan jumlah cluster

Pada proses perhitungan jumlah cluster memiliki masukkan proses Dmin dan Dmax

dari proses perhitungan sebelumnya Pada proses ini terdapat perhitungan nilai dari selisih setiap data Pada perhitungan jumlah cluster sesuai dengan Persamaan 214 Berikut merupakan langkah ndash langkah perhitungan jumlah cluster yang ditunjukkan pada Gambar 47

jumlah_Cluster

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to (jmlh_DataTraining-1)

Berhenti

hsl_max hsl_min

selisih = 0

selisih = selisih + |data ke ij ndash data ke i (j+1)|

j

jmlh_Cluster ke i = |ℎ119904119897_119898119894119899 119896119890 119894minusℎ119904119897_119898119886119909 119896119890 119894|

119904119890119897119894119904119894ℎ

119895119898119897ℎ_119863119886119905119886119879119903119886119894119899119894119899119892minus1

i

jmlh_Cluster

Gambar 47 Diagram alir proses perhitungan jumlah cluster

32

413 Proses perhitungan pusat cluster

Pada proses perhitungan pusat cluster ini diperlukan beberapa variabel yang harus dideklarasikan terlebih dahulu yaitu nilai bobot fungsi objektif nilai iterasi awal nilai iterasi maksimum dan error terkecil Perhitungan subinterval ini menggunakan metode fuzzy C-means yang diawali dengan pencarian pusat cluster terlebih dahulu Berikut merupakan langkah ndash langkah perhitungan subinterval yang ditunjukkan pada Gambar 48 Gambar 49 Gambar 410 Gambar 411 Gambar 412

Gambar 48 Diagram alir proses perhitungan pusat cluster (bagian 1)

Perhitungan pusat cluster

Mulai

jmlh_Cluster

for i = 0 to jmlh_Faktor-1

Deklarasi bobot selisih_f_objektif

iter_maksimum error_min

Pembentukan Matriks partisi faktor A jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor A

for iter = iter to iter_maksimum

A

i == 0

Perhitungan pusat_cluster1 faktor A

B C D

tidak

ya

33

Gambar 49 Diagram alir proses perhitungan pusat cluster (bagian 2)

ya

tidak

tidak

ya

Perhitungan f_objektif faktor A

A B C D

Perhitungan selisih_f_objektif faktor A

Perbaikan matriks partisi faktor A

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster1 faktor A

Iter = iter_maksimum

iter

i == 1

Pembentukan Matriks partisi faktor B jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor B

for iter = iter to iter_maksimum

F A G E

34

tidak

tidak

ya

A E F G

Perhitungan pusat_cluster2 faktor B

Perhitungan f_objektif faktor B

Perhitungan selisih_f_objektif faktor B

Perbaikan matriks partisi faktor B

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster2 faktor B

Iter = iter_maksimum

iter

i == 2

Pembentukan Matriks partisi faktor C jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor C

I A H

Gambar 410 Diagram alir proses perhitungan pusat cluster (bagian 3)

ya

35

tidak

tidak

Gambar 411 Diagram alir proses perhitungan pusat cluster (bagian 4)

ya

A H I

for iter = iter to iter_maksimum

Perhitungan pusat_cluster3 faktor C

Perhitungan f_objektif faktor C

Perhitungan selisih_f_objektif faktor C

Perbaikan matriks partisi faktor C

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster3 faktor C

Iter = iter_maksimum

iter

i == 3

Pembentukan Matriks partisi faktor D jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor D

J A K

ya

36

tidak

ya

Gambar 412 Diagram alir proses perhitungan pusat cluster (bagian 5)

A K J

for iter = iter to iter_maksimum

Perhitungan pusat_cluster4 faktor D

Perhitungan f_objektif faktor D

Perhitungan selisih_f_objektif faktor D

Perbaikan matriks partisi faktor D

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster4 faktor D

Iter = iter_maksimum

iter

i

pusat_cluster1pusat_cluster2 pusat_cluster3pusat_cluster4

Berhenti

37

tidak

ya

tidak

ya

Gambar 413 Diagram alir pembentukan subinterval dan fuzzy set (bagian 1)

414 Proses pembentukan subinterval dan Fuzzy set

Pada proses pembentukan fuzzy set atau himpunan fuzzy pada penelitian ini dapat dilakukan setelah perhitungan subinterval selesai dilakukan Nilai subniterval merupakan masukan utama pada pembentukkan fuzzy set Pembentukan fuzzy sesuai dengan Persamaan 215 Berikut merupakan langkah ndash langkah proses pembentukan fuzzy set yang ditunjukkan pada Gambar 413 dan Gambar 414

Pembentukan subinteval dan Fuzzy set

Mulai

pusat_cluster1pusat_cluster2 pusat_cluster3pusat_cluster4

for i = 0 to jmlh_Faktor-1

Menentukan batas_subintervalMinA dan

batas_subintervalMaxA

Menentukan batas_fuzzysetMinA dan batas_fuzzysetMaxA

i == 0

i == 1

Menentukan batas_subintervalMinB dan

batas_subintervalMaxB

Menentukan batas_fuzzysetMinB dan batas_fuzzysetMaxB

A C B

38

tidak

tidak

ya

ya

415 Proses Fuzzifikasi

Pada proses fuzzifikasi ini pembentukanya sesuai derajat keanggotaan pada setiap data Pada proses ini derajat keanggotaan dihitung berdassarkan fungsi keanggotaan kurva bahu Hasil dari proses ini merupakan data yang sudah difuzzifikasikan menjadi data fuzzy Berikut langkah ndash langkah dari proses fuzzifikasi ditunjukkan pada Gambar 415 dan Gambar 416

i == 2

A B C

Menentukan batas_subintervalMinC dan batas_subintervalMaxC

Menentukan batas_fuzzysetMinC dan batas_fuzzysetMaxC

i == 3

Menentukan batas_subintervalMinD dan batas_subintervalMaxD

Menentukan batas_fuzzysetMinD dan batas_fuzzysetMaxD

i

batas_fuzzysetMinA batas_fuzzysetMaxA batas_fuzzysetMinB batas_fuzzysetMaxB batas_fuzzysetMinC batas_fuzzysetMaxC batas_fuzzysetMinD batas_fuzzysetMaxD

Berhenti

Gambar 414 Diagram alir pembentukan subinterval dan fuzzy set (bagian 2)

39

tidak

ya

ya

tidak

Fuzzifikasi

Mulai

for i = 0 to jmlh_Faktor-1

Menentukan hasil_fuzzifikasiA dari faktor A

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinA batas_fuzzysetMaxA

Gambar 415 Diagram alir proses fuzzifikasi (bagian 1)

batas_fuzzysetMinA batas_fuzzysetMaxA batas_fuzzysetMinB batas_fuzzysetMaxB batas_fuzzysetMinC batas_fuzzysetMaxC batas_fuzzysetMinD batas_fuzzysetMaxD

DD

i == 0

i == 1

Menentukan hasil_fuzzifikasiB

dari faktor B

Menghitung derajat keanggotaan

berdasarkan batas_fuzzysetMinB

batas_fuzzysetMaxB

C A B

40

tidak

ya

ya

tidak

ya

i == 2

A B C

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinC batas_fuzzysetMaxC

Menentukan hasil_fuzzifikasiC dari faktor C

i == 3

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinD

batas_fuzzysetMaxD

Menentukan hasil_fuzzifikasiD dari faktor D

i

hasil_fuzzifikasiA hasil_fuzzifikasiB hasil_fuzzifikasiC hasil_fuzzifikasiD

Berhenti

Gambar 416 Diagram alir proses fuzzifikasi (bagian 2)

41

tidak

ya

416 Proses pembentukan Fuzzy Logical Relationship

Setelah data melalui proses fuzzifikasi dan sudah menjadi data fuzzy maka dapat dilakukan pembentukan Fuzzy Logical Relationship (FLR) Pembentukan FLR dilakukan sesuai dengan Persamaan 216Berikut adalah langkah ndash langkah proses pembentukan Fuzzy Logical Relationship (FLR) yang ditunjukkan pada Gambar 417 Gambar 418 dan Gambar 419

Gambar 417 Diagram alir proses Pembentukan FLR

(bagian 1)

Pembentukan Fuzzy Logical Relationship

Mulai

hasil_fuzzifikasiAhasil_fuzzifikasiB hasil_fuzzifikasiChasil_fuzzifikasiD order

for i = 0 to jmlh_dataTraining

max_inc = order jmlh_dataTraining = dataTraining - order

for j = i to max_inc

for k = 0 to jmlh_Faktor-1

j == 0

FLR_kiri_training ke ijk = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D)

ke j

E A B C D

42

ya

tidak

ya

tidak

A B C E D

FLR_kiri_training ke i(j-i)k = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D) ke j

j = 0

k

j

FLR_kanan_training ke i = hasil_fuzzifikasiA ke (i+order)

Max_inc lt (jmlh_DataTraining-1)

i

tmp_JmlhDatatraining = tmp_JmlhDatatraining +1

max_inc = max_inc + 1 tmp_JmlhDatatraining = i

Gambar 418 Diagram alir proses Pembentukan FLR (bagian 2)

for j = 0 to tmp_JmlhDatatraining

for j = tmp_JmlhDatatraining to max_inc

for k = 0 to jmlh_Faktor-1

I H G F

43

tidak

ya

417 Proses Defuzzifikasi

Proses defuzzifikasi merupakan proses akhir dimana keluaran dari proses ini merupakan nilai hasil peramalan Data yang diperlukan pada proses defuzzifikasi adalah hasil dari proses pembentukan Fuzzy Logical Relationship (FLR) nilai threshold yang harus dideklarasikan sebelumnya jumlah data training dan jumlah data testing Dalam proses ini dilakukan perhitungan selisih pada FLR antara data testing dan data training FLR yang dihitung nilai selisihnya adalah FLR pangkat bawah yang terdapat pada ruas kiri Setelah dilakukan perhitungan selisih dan total jumlah selisih lebih kecil dari nilai threshold maka pada setiap FLR yang

I H G F

FLR_kiri_testing ke i(j-tmp_jmlhDatatraining) k = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D) ke j

k

j

FLR_kanan_testing ke i = hasil_fuzzifikasiA ke (i+order)

i

Max_inc lt (jmlh_DataTraining-1)

max_inc = max_inc + 1 tmp_JmlhDatatraining++

FLR_kiri_training FLR_kanan_training FLR_kiri_testing FLR_kanan_testing

Mulai

Gambar 419 Diagram alir proses Pembentukan FLR (bagian 3)

44

ya

tidak

sesuai dengan kondisi tersebut dapat dikatakan cocok atau dapat dilakukan ke tahap perhitungan selanjutnya Setelah mendapatkan FLR yang cocok maka dilakukan pengelompokkan berdasarkan FLR ruas kanan Pengelompokkan ini dihitung jumlah frekuensi yang sama sesuai dengan fuzzy set di ruas kanan Selanjutnya untuk memperoleh hasil peramalan dilakukan proses perhitungan sesuai dengan Persamaan 218 Berikut adalah langkah ndash langkah proses defuzzifikasi yang ditunjukkan pada Gambar 420 dan Gambar 421

Gambar 420 Diagram alir proses defuzzifikasi (bagian 1)

Defuzzifikasi

Mulai

FLR_kiri FLR_kanan order dataTraining dataTesting konstanta

threshold = (jmlh_Faktor x order)+konstanta

for i = 0 to dataTesting

for j = 0 to (dataTraining-i)

Perhitungan hitung_selisih antara FLR_kiri data training dan data testing

hitung_selisih lt threshold

match ke ij = hitung_selisih

j

i

A

45

Gambar 421 Diagram alir proses defuzzifikasi (bagian 2)

A

Menghitung jumlah total FLR_kiri yang cocok untuk setiap data testing

Mencocokan FLR_kiri yang cocok dengan FLR_kanan untuk setiap data testing

for i = 0 to dataTesting

Menghitung frekuensi setiap FLR_kanan yang cocok untuk setap data testing

for j = 0 to jumlah total FLR kiri yang cocok

peramalan = peramalan + Frekuensi setiap FLR_kanan yang cocok x pusat_cluster1

sesuai dengan value FLR_kanannya

j

hasil_peramlan ke i = peramalan jumlah total FLR kiri yang cocok

i

Hasil_permalan

Berhenti

46

42 Perhitungan Manual

Dalam perhitungan manual ini data sampel yang digunakan merupakan data time series dasarian ke-2 pada periode April 2014 sampai dengan dasarian ke-2 Juli 2014 data sampel ditunjukkan pada Tabel 41

Tabel 41 Data Sampel Perhitungan Manual

No Dasarian Curah Hujan

(A)

Suhu (B) Kelembaban (C)

Kecepatan Angin(D)

1 Dasarian 2 (April 2014) 95 2615 8248 629

2 Dasarian 3 (April 2014) 90 2612 8247 628

3 Dasarian 1 (Mei 2014) 94 2607 8247 627

4 Dasarian 2 (Mei 2014) 83 2625 8232 623

5 Dasarian 3 (Mei 2014) 85 2628 8235 623

6 Dasarian 1 (Juni 2014) 92 2609 8241 626

7 Dasarian 2 (Juni 2014) 86 2627 8235 624

8 Dasarian 3 (Juni 2014) 89 2621 8238 624

9 Dasarian 1 (Juli 2014) 93 2607 8242 626

10 Dasarian 2 (Juli 2014) 86 2626 8237 623

Sumber BMKG Kelas III Karangkates Malang

421 Perhitungan Universe of Discourse (U)

Sebelum melakukan perhitungan U maka harus dicari terlebih dahulu nilai 119863119898119894119899 119863119898119886119909 dan standar deviasi 119863119898119894119899 adalah nilai minimum atau nilai terkecil dari data sampel yang ada sedangkan 119863119898119886119909 adalah nilai maksimum atau nilai paling besar dari data sampel yang ada Untuk mencari nilai standar deviasi harus menghitung nilai mean (rata ndash rata) terlebih dahulu sesuai dengan Persamaan 211 Mean dari data curah hujan (A) dihitung dengan cara sebagai berikut

Mean = (data ke-1 + data ke-2 + data ke-3 + + data ke-10) 10

= (95 + 90 + 94 + 83 + 85 + 92 + 86 + 89 + 93 + 86) 10

= 893 10

= 893

Selanjutnya setelah diperoleh nilai mean dilanjutkan melakukan perhitungan standar deviasi sesuai dengan Persamaan 212 Standar deviasi adalah akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel Untuk menghitung standar deviasi agar lebih mudah kita terlebih dahulu melakukan perhitungan nilai kuadrat dari selisih data ke-i dan mean yang ditunjukkan pada Tabel 42

47

Tabel 42 Hasil kuadrat dari selisih data ke-i dan mean

i Data ke-i Data ke-i mean (Data ke-i - mean)sup2

1 95 57 32490

2 90 07 0490

3 94 47 22090

4 83 -63 39690

5 85 -43 18490

6 92 27 7290

7 86 -33 10890

8 89 -03 0090

9 93 37 13690

10 86 -33 10890

Jumlah 1561

Setelah mendapatkan hasil nilai kuadrat dari selisih data ke-i dan mean sesuai dengan Tabel 42 maka dapat dilanjutkan melakukan perhitungan standar deviasi dengan cara sebagai berikut

Standar_deviasi = radic1

10minus1sum (119889119886119905119886 119896119890 minus 119894 minus 119898119890119886119899)10

119894=1

2

= radic1

9 times 1561

= 4165

Untuk perhitungan standar deviasi juga dilakukan pada faktor lainnya yaitu suhu (B) kelembaban (C) dan kecepatan angin (D) Hasil perhitungan 119863119898119894119899 119863119898119886119909 dan standar deviasi ditunjukkan pada Tabel 43

Tabel 43 Nilai minimum nilai maksimum dan standar deviasi

Data D min D max Standar Deviasi

A 83 95 4165

B 2607 2628 0086

C 8232 8248 0057

D 623 629 0022

Berdasarkan hasil yang ditunjukkan Tabel 43 selanjutnya dapat dilakukan perhitungan nilai U sesuai dengan Persamaan 213 Berikut adalah perhitungan U pada data A

U = [119863119898119894119899 minus 120590 119863119898119886119909 + 120590]

= [(83 ndash 4165) (95 ndash 4165)]

= [78835 99165]

48

Untuk perhitungan U juga dilakukan pada semua faktor yaitu data B C dan D Sehingga diperoleh nilai U yang ditunjukkan pada Tabel 44

Tabel 44 Hasil Universe of Discourse

Data U

Batas Bawah Batas Atas

A 78835 99165

B 25984 26366

C 82263 82537

D 6208 6312

422 Perhitungan jumlah cluster (k)

Pada perhitungan jumlah cluster langkah pertamanya adalah mencari nilai absolut dari selisih data hari ke-t dengan hari sebelumnya Perhitungan selisih dilakukan hingga data ke-10 Perhitungan nilai selisih dilakukan pada semua data A B C dan D Selanjutnya masing ndash masing nilai selisih dijumlah sehingga hasilnya seperti ditunjukkan pada Tabel 45

Tabel 45 Nilai absolut selisih data hari ke-t dengan hari sebelumnya

No Tanggal A B C D

1 Dasarian 3 (April 2014) 5 003 001 001

2 Dasarian 1 (Mei 2014) 4 005 0 001

3 Dasarian 2 (Mei 2014) 11 018 015 004

4 Dasarian 3 (Mei 2014) 2 003 003 0

5 Dasarian 1 (Juni 2014) 7 019 006 003

6 Dasarian 2 (Juni 2014) 6 018 006 002

7 Dasarian 3 (Juni 2014) 3 006 003 0

8 Dasarian 1 (Juli 2014) 4 014 004 002

9 Dasarian 2 (Juli 2014) 7 019 005 003

Jumlah 49 105 043 016

Setelah mendapatkan nilai absolut selisih data hari ke-t dengan hari sebelumnya dapat dilanjutkan dengan menghitung jumlah cluster sesuai dengan Persamaan 214 Perhitungan jumlah cluster pada data A (k1) berdasarkan pada Tabel 43 diketahui nilai 119863119898119894119899 adalah 171 nilai 119863119898119886119909 adalah 2048 maka jumlah cluster data A dapat ditunjukkan sebagai berikut

49

1198961 = ||119863119898119894119899 minus 119863119898119886119909|sum |119883(119905) minus 119883(119905 minus 1)|119899

119905=1

119899 minus 1|

= |83 minus 9549

10minus1| = 2204

Apabila hasil perhitungan jumlah cluster merupakan bilangan pecahan maka hasilnya harus dibulatkan Sehingga jumlah cluster pada data A adalah 2 Perhitungan jumlah cluster juga dilakukan pada data B (k2) C (k3) dan D (k4) Berikut merupakan hasil semua perhitungan jumlah cluster yang ditunjukkan pada Tabel 46

Tabel 46 Hasil jumlah cluster data

No Cluster Jumlah Cluster

1 k1 2

2 k2 2

3 k3 3

4 k4 3

423 Perhitungan pusat cluster dan subinterval

Pada pembentukan subinterval berdasarkan pada Tabel 46 yang menunjukkan jumlah subinterval yang selanjutnya digunakan untuk menentukan pusat cluster menggunakan algoritma fuzzy C-means (FCM)

4231 Penentuan pusat cluster

a Penentuan nilai variabel

Pada penentuan subinterval diawali dengan klasterisasi menggunakan algoritma FCM pada awal proses ditentukkan beberapa variabel sebagai berikut

Banyak cluster = k1 = 2

Bobot (w) = 2

Fungsi objektif awal = 0

Iterasi awal = 1

Iterasi maksimum = 100

Error terkecil = 001 b Pembentukan matriks partisi awal (micro)

Data pada pembentukan matriks partisi awal merupakan nilai random diantara nilai 0 sampai 1 Dimensi pada matriks partisi awal dibentuk dengan dimensi jumlah data (i) x jumlah cluster (k) Dalam hal ini telah diketahui jumlah data adalah 10 dan k1 adalah 2 maka partisi dimensi matriks awal adalah 10 x 2 Hasil pembentukan matriks partisi awal ditunjukkan pada Tabel 47 dimana Cluster disimbolkan dengan C

50

Tabel 47 Matriks partisi awal pada cluster data A

c Normalisasi matriks partisi awal

Langkah pertama normalisasi matriks partisi awal adalah dengan menghitung jumlah bilangan penyusun matriks pada setiap kolom yang dapat dilihat pada Tabel 47 dijumlah berdasarkan dengan Persamaan 24 Diketahui jumlah kolom matriks sebanyak 2 sehingga diperoleh Q1 untuk penjumlahan kolom c1 Q2 untuk penjumlahan kolom c2

Q1 = 0355 + 0174 + 02 + 0387 + 0598 + 0819 + 0702 + 0719 + 0349 +

0852

= 5154

Q2 = 0170 + 0815 + 0190 + 0456 + 0526 + 0170 + 0232 + 0572 + 0102 +

0322

= 3554

Langkah selanjutnya dilakukan proses normalisasi menggunakan Persamaan 25 Dimana setiap bilangan penyusun matriks awal dibagi dengan nilai Q sesuai dengan kolomnya masing ndash masing Bilangan penyusun matriks disimbolkan dengan microik dimana i menunjukkan baris dan k menunjukkan kolom posisi bilangan tersebut pada matriks

i micro

c1 c2

1 0355 0170

2 0174 0815

3 0200 0190

4 0387 0456

5 0598 0526

6 0819 0170

7 0702 0232

8 0719 0572

9 0349 0102

10 0852 0322

51

μ11 = bilangan matriks partisi pada baris 1 kolom 1

Q1

= 0355

5154

= 0069

μ12 = bilangan matriks partisi pada baris 1 kolom 2

Q2

= 0170

3554

= 0048

Setelah melakukan perhitungan seperti diatas untuk semua bilangan matriks sehingga matriks partisi sudah ternormalisasi seperti yang ditunjukkan pada Tabel 48

Tabel 48 Derajat keanggotaan matriks partisi data A

i micro

C1 C2

1 0069 0048

2 0034 0229

3 0039 0054

4 0075 0128

5 0116 0148

6 0159 0048

7 0136 0065

8 0140 0161

9 0068 0029

10 0165 0090

d Perhitungan pusat cluster (V)

Pada perhitungan pusat cluster (V) berdasarkan Persamaan 26 Dimana setiap bilangan penyusun matriks partisi (micro) dipangkatkan dengan w dimana variabel w yang sudah dideklarisakan terlebih dahulu dengan nilai sama dengan 2 dan dikalikan dengan bilangan penyusun matriks X yang merupakan matriks berisi data yang ada pada Tabel 41 Selanjutnya hasil perkalian tersebut dijumlah dan dibagi dengan jumlah hasil kuadrat dari bilangan penyusun matriks partisi Hasil perhitungan ditunjukkan pada Tabel 49

52

Tabel 49 Perhitungan pusat cluster data A

Berdasarkan jumlah cluster dari data A yaitu 2 maka terdapat 2 pusat cluster (V) yaitu V1 V2 Perhitungan nilai V adalah sebagai berikut

V1 = sum ((μic1)2 times Xi)10

i=1

sum (μic1)210i=1

= 10730216

0121620

= 8822718207

V2 = sum ((μic2)2 times Xi)10

i=1

sum (μic2)210i=1

= 12111287

0137572

= 8803592572

Jadi berdasarkan perhitungan diatas pusat cluster untuk data A pada iterasi ke-1 adalah 8822718207 8803592572

e Perhitungan fungsi objektif (P)

Pada perhitungan P menggunakan Persamaan 27 dimana setiap baris pada data matriks X dikurangi pusat cluster (V) selanjutnya dikuadratkan Hasilnya

i X microsup2 microsup2 x X

C1 C2 C1 C2

1 95 0004731 0002292 0449450 0217718

2 90 0001137 0052633 0102304 4736927

3 94 0001512 0002864 0142117 0269234

4 83 0005630 0016427 0467258 1363472

5 85 0013448 0021907 1143107 1862112

6 92 0025233 0002291 2321422 0210787

7 86 0018542 0004243 1594602 0364916

8 89 0019487 0025916 1734356 2306543

9 93 0004590 0000816 0426841 0075870

10 86 0027311 0008183 2348759 0703706

Jumlah 0121620 0137572 10730216 12111287

53

kemudian dikalikan dengan micro yang sudah dipangkatkan dengan bobot (w) seperti yang telah ditunjukkan pada Tabel 49 Selanjutnya hasil tersebut dijumlah per kolom seperti yang ditunjukkan pada Tabel 410

Tabel 410 Fungsi objektif data A

i X (X-V)sup2 (X-V)sup2 x microsup2

C1 C2 C1 C2

1 95 458711 484983 02170 01111

2 90 31429 38576 00036 02030

3 94 333254 355702 00504 01019

4 83 273234 253605 01538 04166

5 85 104147 92168 01401 02019

6 92 142342 157139 03592 00360

7 86 49603 41450 00920 00176

8 89 05972 09294 00116 00241

9 93 227798 246420 01046 00201

10 86 49603 41450 01355 00339

Jumlah 1267661573 1166282827

Fungsi Objektif (P) 24339444

Perhitungan nilai fungsi objektif dilakukan seperti Persamaan 27 Nilai fungsi objektif diperoleh dengan cara sebagai berikut P = sum sum ([(Xi minus Vc)2](μik)2)3

c=110i=1

P = 1267661573 + 1166282827

= 24339444

f Perbaikan matriks partisi

Pada langkah ini perbaikan matriks partisi dilakukan berdasarkan Persamaan 28 Data matriks X untuk setiap barisnya dikurangi pusat cluster lalu dikuadratkan seperti yang ditunjukkan pada Tabel 410 Selanjutnya hasilnya dipangkatkan dengan -11 karena w-1 = 1 Hasil pangkat -1 terhadap (X-V)2 ditunjukkan pada Tabel 411

54

Tabel 411 Perbaikan matriks partisi

i ((X-V)sup2)^-1

Jumlah C1 C2

1 0022 0021 0042

2 0318 0259 0577

3 0030 0028 0058

4 0037 0039 0076

5 0096 0108 0205

6 0070 0064 0134

7 0202 0241 0443

8 1674 1076 2750

9 0044 0041 0084

10 0202 0241 0443

Berdasarkan tabel diatas bilangan penyusun matriks partisi yang baru atau yang telah diperbaiki diperoleh dari hasil pembagian data terhadap jumlah per barisnya

12058311 = 0022

0042= 0514

12058312 = 0021

0042= 0486

Pada perhitungan nilai matriks yang sudah diperbaiki dilakukan pada semua elemen matriks sehingga hasil perbaikan matriks seperti yang ditunjukkan pada Tabel 412

Tabel 412 Hasil perbaikan matriks partisi

Setelah mendapatkan hasil perbaikan matriks partisi kita lakukan pengecekan selama iterasi kurang dari iterasi maksimum (maxIter) atau selisih antara fungsi objektif iterasi saat ini dengan iterasi sebelumnya bernilai lebih dari nilai error terkecil yaitu 001 maka proses berlanjut dengan kembali melakukan perhitungan pusat cluster hingga perbaikan matriks partisi Hasil

i micro

C1 C2

1 0514 0486

2 0551 0449

3 0516 0484

4 0481 0519

5 0469 0531

6 0525 0475

7 0455 0545

8 0609 0391

9 0520 0480

10 0455 0545

55

perhitungan pusat cluster dari data A B C dan D setelah dilakukan proses tiga kali iterasi dan diurutkan mulai dari yang terkecil sampai yang terbesar ditunjukkan pada Tabel 413

Tabel 413 Hasil pusat cluster

4232 Perhitungan batas subinterval

Perhitungan batas subinterval dilakukan dengan mencari nilai tengah (Median) dari setiap pusat cluster Berikut merupakan contoh perhitungan batas subinterval pada data A

a Interval 1 Batas bawah = 78835 (Batas bawah Universe of Discourse pada data A) Batas atas = 89347 (Median 88303 dan 90390)

b Interval 2 Batas bawah = 89347 (Median 88303 dan 90390) Batas atas = 99165 (Batas atas Universe of Discourse pada data A)

Seperti perhitungan diatas juga dilakukan pada data suhu (B) kelembaban (C) dan kecepatan angin (D) Dalam hal ini jumlah subinterval setiap atribut berbeda ndash beda sesuai dengan jumlah cluster yang sebelumnya ditunjukkan pada Tabel 46 Berikut merupakan batas subinterval masing ndash masing atribut yang ditunjukkan pada Tabel 414

Tabel 414 Batas subinterval masing ndash masing atribut data

Interval (micro)

A B C D

1

78835 25984 751708 6208

sd sd sd sd

89347 26181 823863 6249

2

89347 26181 823863 6249

sd sd sd sd

99165 26366 82411 6256

3

82411 6256

- - sd sd

82537 6312

Cluster A B C D

1 88303 26165 82391 62497

2 90390 26197 82408 62499

3 - - 82415 62613

56

424 Pembentukan Fuzzy Set

Pembentukan fuzzy set berdasarkan pada derajat keanggotaan dari subinterval (micro) fuzzy set dari data A ditentukan dengan derajat keanggotaan sebagai berikut

A1 = 1micro1 + 05micro2

A2 = 05micro1 + 1micro2

Pada derajat keanggotaan data A diatas simbol ldquo+rdquo menunjukkan operator himpunan gabungan Berdasarkan subinterval pada Tabel 414 nilai batas fuzzy set dari data atribut A dapat ditentukan dengan cara sebagai berikut

A1 = 78835 sd 94256 (Batas bawah interval 1 sd titik tengah interval 2)

A2 = 84091 sd 99165 (Titik tengah interval 1 sd batas atas interval 2)

Setelah diketahui batas masing ndash masing fuzzy set grafik fungsi keanggotaan fuzzy set data A yang direpresentasikan dalam kurva bahu yang ditunjukkan pada Gambar 422 Dengan cara yang sama juga ditentukan pula fuzzy set dari data attribut B C dan D

425 Fuzzifikasi

Pada langkah fuzzifikasi dilakukan dengan mencari derajat keanggotaan yang memiliki nilai paling besar (maksimum) dari masing ndash masing data terhadap fuzzy set yang sudah terbentuk Derajat keanggotaan dicari berdasarkan fungsi keanggotaan kurva bentuk bahu Berikut ini adalah perhitungan derajat keanggotaan dari data attribut A

Data aktual curah hujan (A) pada April 2014 dasarian ke-3 = 90

1198601 = 942558 ndash 90

942558minus840911= 041868427

Gambar 422 Grafik fuzzy set data A

57

1198602 = 90minus840911

942558minus840911= 058131636

Derajat keanggotaan paling besar berada pada A2 sehingga data attribut A pada April 2014 dasarian ke-3 difuzzifikasikan ke fuzzy set A2 Perhitungan yang sama dilakukan pada seluruh data attribut A sehingga didapat derajat keanggotaan dan hasil fuzzifikasi dari data A ditunjukkan pada Tabel 415

Tabel 415 Hasil derajat keanggotaan dan fuzzy set data A

i Data A1 A2 Fuzzyfikasi

1 95 0 1 A2

2 90 041868363 058131636 A2

3 94 002516357 097483642 A2

4 83 1 0 A1

5 85 09105837 008941629 A1

6 92 02219236 077807639 A2

7 86 08122036 018779631 A1

8 89 05170636 048293635 A1

9 93 01235436 087645641 A2

10 86 08122037 018779631 A1

Perhitungan yang sama juga dilakukan pada semua attribut yaitu attribut B C dan D Sehingga dapat diperoleh hasil fuzzifikasi sesuai derajat keanggotaan dengan nilai paling besar Berikut adalah hasil fuzzifikasi untuk semua attribut yang dapat dilihat pada Tabel 416

Tabel 416 Hasil fuzzifikasi semua data attribut

No Tanggal A B C D

1 Dasarian 2 (April 2014) A2 B1 C3 D3

2 Dasarian 3 (April 2014) A2 B1 C3 D3

3 Dasarian 1 (Mei 2014) A2 B1 C3 D3

4 Dasarian 2 (Mei 2014) A1 B2 C1 D1

5 Dasarian 3 (Mei 2014) A1 B2 C1 D1

6 Dasarian 1 (Juni 2014) A2 B1 C2 D2

7 Dasarian 2 (Juni 2014) A1 B2 C1 D1

8 Dasarian 3 (Juni 2014) A1 B2 C2 D1

9 Dasarian 1 (Juli 2014) A2 B1 C2 D2

10 Dasarian 2 (Juli 2014) A1 B2 C2 D1

58

426 Pembentukan Fuzzy Logical Relationship (FLR)

Pada tahap pembentukan FLR dengan berdasarkan nilai order yang sudah ditentukan Pada manualisasi ini berdasarkan dari Tabel 416 di misalkan nilai order kita deklarasikan dengan nilai 3 sehingga dapat menghasilkan 7 FLR Hasil pembentukan FLR Data training dapat ditunjukkan pada Tabel 417 Hasil pembentukan FLR Data testing dapat ditunjukkan pada Tabel 418

Tabel 417 Hasil pembentukan FLR data training

No Fuzzy Logical Relationship (FLR)

1 (A(12)B(11)C(13)D(13)) (A(22)B(21)C(23)D(23)) (A(32)B(31)C(33)D(33)) rarr A1

2 (A(12)B(11)C(13)D(13)) (A(22)B(21)C(23)D(23)) (A(31)B(32)C(31)D(31)) rarr A1

3 (A(12)B(11)C(13)D(13)) (A(21)B(22)C(21)D(21)) (A(31)B(32)C(31)D(31)) rarr A2

4 (A(11)B(12)C(11)D(11)) (A(21)B(22)C(21)D(21)) (A(32)B(31)C(32)D(32)) rarr A1

5 (A(11)B(12)C(11)D(11)) (A(22)B(21)C(22)D(22)) (A(31)B(32)C(31)D(31)) rarr A1

Tabel 418 Hasil pembentukan FLR data testing

No Fuzzy Logical Relationship (FLR)

1 (A(12)B(11)C(12)D(12)) (A(21)B(22)C(21)D(21)) (A(31)B(32)C(32)D(31)) rarr A2

2 (A(11)B(12)C(11)D(11)) (A(21)B(22)C(22)D(21)) (A(32)B(31)C(32)D(32)) rarr A1

427 Defuzzifikasi

Pada tahap ini misalkan jumlah data yang digunakan untuk data uji atau data testing adalah dua yaitu yang pertama data periode ke-9 dan yang kedua data periode ke-10 Sehingga yang digunakan data latih atau data training adalah data pada periode ke-1 sampai data periode ke-8 Pada data testing yang pertama melibatkan FLR ke-1 sampai FLR ke-5 untuk disesuaikan dengan FLR ke-6 yang berdasarkan pada Tabel 417 Pada data testing yang kedua melibatkan FLR ke-1 sampai FLR ke-6 untuk disesuaikan dengan FLR ke-7 yang berdasarkan pada Tabel 417 Selanjutnya setiap ruas kiri FLR data testing dibandingkan dengan FLR data training yaitu pada bilang pangkat bawah fuzzy set dibandingkan sesuai dengan posisinya dan dihitung selisihnya Hasil dari perhitungan selisih tersebut dijumlahkan dan apabila jumlah selisihnya kurang dari threshold maka FLR tersebut dikatakan cocok Threshold merupakan dari hasil mengalikan jumlah order dengan jumlah faktor kemudian dijumlahkan dengan dengan sebuah konstanta Contoh perhitungan selisih nilai ruas kiri FLR pada data testing pertama adalah sebagai berikut

59

Data testing = (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(32) B(31) C(33) D(33)) rarr A1

Data training =

1 (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(31) B(32) C(31) D(31)) rarr A1

2 (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(31) B(32) C(31) D(31)) rarr A1

3 (A(12) B(11) C(13) D(13)) (A(21) B(22) C(21) D(21)) (A(31) B(32) C(31) D(31)) rarr A2

4 (A(11) B(12) C(11) D(11)) (A(21) B(22) C(21) D(21)) (A(32) B(31) C(32) D(32)) rarr A1

5 (A(11) B(12) C(11) D(11)) (A(22) B(21) C(22) D(22)) (A(31) B(32) C(31) D(31)) rarr A1

Selisih data ke- 1 = |2-2|+|1-1|+|3-2|+|3-2|+|2-1|+|1-2|+|3-1|+|3-1|+|2-1|+|1-2|+|3-2|+|3-1| = 13

Selisih data ke- 2 = |2-2|+|1-1|+|3-2|+|3-2|+|2-1|+|1-2|+|3-1|+|3-1|+|1-1|+|2-2|+|1-2|+|1-1| = 9

Selisih data ke- 3 = |2-2|+|1-1|+|3-2|+|3-2|+|1-1|+|2-2|+|1-1|+|1-1|+|1-1|+|2-2|+|1-2|+|1-1| = 3

Selisih data ke- 4 = |1-2|+|2-1|+|1-2|+|1-2|+|1-1|+|2-2|+|1-1|+|1-1|+|2-1|+|1-2|+|2-2|+|2-1| = 7

Selisih data ke- 5 = |1-2|+|2-1|+|1-2|+|1-2|+|2-1|+|1-2|+|2-1|+|2-1|+|1-1|+|2-2|+|1-2|+|1-1| = 9

Pada perhitungan selisih nilai ruas kiri FLR pada data testing juga dilakukan pada semua data testing yang sudah dideklarasikan sebelumnya Dalam hal ini agar dapat menemukan FLR yang cocok dengan data testing Tahap selanjutnya adalah proses defuzzifikasi menggunakan threshold yang dimisalkan 18 sehingga FLR yang memiliki kecocokan dengan data testing pertama adalah semua FLR dari ke-1 sampai ke-5 karena memiliki hasil selisih kurang dari 18 Semua FLR yang cocok ditampung dikelompokkan berdasarkan FLR pada ruas kanan yang sama kemudian dhitung frekuensinya Berikut adalah frekuensi dan pusat cluster dari ruas kanan FLR yang cocok dengan data testing pertama dan kedua ditunjukkan pada Tabel 419

Tabel 419 Frekuensi FLR yang cocok dengan data testing

Data testing 1 Data testing 2

Ruas kanan A1 A2 A1 A2

Pusat Cluster 88303 90390 88303 90390

Frekuensi 4 1 4 2

Berdasarkan pada Tabel 419 dilakukan defuzzifikasi sesuai dengan Persamaan 218 sebagai berikut

119863119886119905119886 119905119890119904119905119894119899119892 1 = (88303times4)+(90390times1)

5= 887204

60

119863119886119905119886 119905119890119904119905119894119899119892 2 = (88303times4)+(90390times2)

6= 889987

Jadi berdasarkan perhitungan diatas diperoleh hasil peramalan curah hujan pada pada April 2014 dasarian ke-3 adalah 1384601636 sedangkan pada tanggal 10012016 adalah 2769203272 Perbandingan data curah hujan aktual dan hasil peramalan dengan metode High Order Fuzzy Time Series Multi Factors dapat dilihat pada Tabel 420

Tabel 420 Perbandingan data aktual dan hasil peramalan

No Data Aktual Hasil Peramalan

1 93 887204

2 86 889987

Dari hasil peramalan yang ditunjukkan pada Tabel 420 dapat dilakukan perhitungan kesalahan peramalan menggunakan metode Mean Square Error (MSE) seperti Persamaan 219

119872119878119864 = ((93minus887206)2+(86minus889989)2)

2

= 136536

43 Perancangan antarmuka

Perancangan antarmuka merupakan perancangan dari tampilan antarmuka atau interface yang nantinya akan diterapkan pada tahapan implementasi Pada perancangan antarmuka ini terdapat lima halaman utama dan juga terdapat dalam menu berupa button yaitu halaman input halaman tampil data halaman proses halaman hasil dan halaman perhitungan error

431 Halaman input

Pada halaman input terdapat inputan data dengan nama button Browse Data pada inputan data ini pengguna diharuskan memasukkan inputan file data dalam bentuk ekstensi xls serta direktori lokasi file yang di inputkan akan ditampilkan pada textfield dan juga terdapat label yang menampilkan jumlah banyaknya data yang terdapat pada file yang telah di inputkan Selanjutnya juga terdata inputan textfield data training data testing order dan nilai konstanta Pada halaman input ini juga terdapat button fuzzification yang berfungsi untuk melakukan proses clustering fuzzifikasi dan FLR Selanjutnya pada button forecasting berfungsi untuk melakukan peramalan atau defuzzifikasi dari hasil proses fuzzifikasi serta menghitung nilai error dari hasil peramalan Berikut

61

merupakan rancangan tampilan antarmuka dari halaman input yang ditunjukkan pada Gambar 423

432 Halaman tampil data

Pada halaman tampil data terdapat tabel yang menampilkan isi data dari xls yang sudah dimasukkan terlebih dahulu pada halaman input Tabel tampil data akan menampilkan tanggal curah hujan kelembaban suhu dan kecepatan angin Berikut merupakan tampilan rancangan halaman tampil data yang ditunjukkan pada Gambar 424

Gambar 423 Rancangan antarmuka halaman input

Gambar 424 Rancangan antarmuka halaman tampil data

62

433 Halaman proses

Pada halaman proses akan menampilkan hasil clustering fuzzifikasi dan fuzzy logical relationship Pada tampilan halaman clustering akan menampilkan Universe of Discourse curah hujan suhu kelembaban dan kecepatan angin Selanjutnya tampilan dibawahnya akan menampilkan jumlah cluster dari setiap faktor yaitu jumlah cluster curah hujan suhu kelembaban dan kecepatan angin Berikut merupakan tampilan perancangan halaman proses clustering yang ditunjukkan Gambar 425

Selanjutnya pada tampilan proses fuzzifikasi akan menampilkan tabel hasil fuzzifikasi dari curah hujan suhu kelembaban dan kecepatan angin Berikut adalah tampilan rancangan proses fuzzifikasi yang ditunjukkan pada Gambar 426

Gambar 425 Rancangan antarmuka halaman proses clustering

Gambar 426 Rancangan antarmuka proses fuzzifikasi

63

Pada tampilan proses fuzzy logical relationship (FLR) akan menampilkan textarea berisi hasil proses FLR dari curah hujan suhu kelembaban dan kecepatan angin Berikut adalah tampilan rancangan proses fuzzy logical relationship yang ditunjukkan pada Gambar 427

434 Halaman hasil

Pada halaman hasil peramalan akan menampilkan tabel yang berisi hasil peramalan curah hujan dan data curah hujan yang sebenarnya Serta terdapat text link yang akan menampilkan grafik perbandingan data hasil peramalan dan data yang sebenarnya Berikut adalah tampilan rancangan halaman hasil yang ditunjukkan pada Gambar 428

Gambar 427 Rancangan antarmuka proses fuzzy logical relationship

Gambar 428 Rancangan antarmuka halaman hasil peramalan

64

435 Halaman perhitungan error

Pada halaman perhitungan error akan menampilkan nilai dari hasil perhitungan Mean Square Error (MSE) pada textfield Berikut adalah tampilan rancangan halaman perhitungan error yang ditunjukkan pada Gambar 429

44 Perancangan pengujian

Pada penelitian ini akan dilakukan empat pengujian yaitu pengujian terhadap nilai order nilai threshold pengujian terhadap jumlah data training untuk mengetahui pengaruhnya terhadap nilai Mean Square Error (MSE) dan pengujian validasi sistem untuk mengetahui kestabilan hasil implementasi

441 Perancangan pengaruh order terhadap nilai MSE

Order merupakan jumlah urutan data yang digunakan dalam pembentukkan Fuzzy Logical Relationship (FLR) Pada pengujian ini dilakukan percobaan dengan order yang berbeda ndash beda Pengujian ini bertujuan untuk mengetahui pengaruh order terhadap hasil peramalan Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Pada setiap pengujian yang telah dilakukan dihitung nilai MSEnya untuk mengetahui tingkat kesalahan metode ini apabila dilakukan dengan order yang berbeda Berikut adalah perancangan pengujian order terhadap nilai MSE ditunjukkan pada Tabel 421

Tabel 421 Rancangan pengujian order terhadap nilai MSE

No Order Threshold MSE

1

Gambar 429 Rancangan antarmuka halaman perhitungan error

65

442 Perancangan pengaruh threshold terhadap nilai MSE

Nilai threshold bergantung jumlah order karena untuk nilai threshold merupakan dari hasil mengalikan jumlah faktor yang mempengaruhi dengan order selanjutnya dijumlah dengan sebuah konstanta Pada pengujian ini dilakukan percobaan dengan konstanta yang berbeda ndash beda sehingga menghasilkan threshold yang berbeda pula Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Dari setiap percobaan yang telah dilakukan dihitung nilai MSEnya untuk mengetahui tingkat kesalahan metode ini apabila dilakukan dengan konstanta dan threshold yang berbeda Berikut merupakan rancangan pengujian pengaruh threshold terhadap nilai MSE yang ditunjukkan pada Tabel 422

Tabel 422 Rancangan pengujian threshold terhadap nilai MSE

No Konstanta Threshold MSE

1

443 Perancangan pengaruh jumlah data training terhadap nilai MSE

Data training sangat berperan penting dalam proses defuzzifikasi sehingga pada penelitian ini dilakukan pengujian pengaruh jumlah data training terhadap tingkat kesalahan dari hasil peramalan Pada pengujian ini dilakukan percobaan dengan jumlah data training yang berbeda ndash beda Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Dari setiap percobaan dilakukan perhitungan nilai MSE untuk mengetahui tingkat kesalahan dari hasil peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors dengan jumlah data training yang berbeda ndash beda Sehingga dari hasil pengujian ini dapat diketahui pengaruh dari jumlah data training Berikut merupakan rancangan pengujian pengaruh jumlah data training yang ditunjukkan pada Tabel 423

Tabel 423 Rancangan pengujian jumlah data training terhadap nilai MSE

No Jumlah Data Training MSE

1

444 Perancangan validasi sistem

Pada pengujian validasi sistem akan melakukan pengujian dengan menggunakan order threshold terbaik seperti yang telah dilakukan pada

66

pengujian ndash pengujian sebelumnya yang menghasilkan hasil error MSE terendah Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Berikut merupakan rancangan pengujian validasi sistem yang ditunjukkan pada Tabel 424

Tabel 424 Rancangan pengujian validasi sistem

Percobaan ke- MSE

1

67

BAB 5 IMPLEMENTASI

Pada bab ini berisi pembahasan hasil implementasi metode High Order Fuzzy Time Series Multi Factors yang sesuai dengan bab sebelumnya yaitu perancangan Bab ini terdiri dari spesifikasi sistem implementasi algoritma dan implementasi antarmuka

51 Spesifikasi Sistem

Pada spesifikasi sistem ini dibagi mejadi dua yaitu spesifikasi perangkat keras dan spesifikasi perangkat lunak

511 Spesifikasi Perangkat Keras

Spesifikasi perangkat keras merupakan perangkat keras yang digunakan pada implementasi penelitian ini Perangkat keras yang digunakan adalah laptop dengan spesifikasi sesuai dengan pada Tabel 51 berikut

Tabel 51 Spesifikasi Perangkat Keras

Komponen Spesifikasi

Processor Intelcopy Core i3-3217U 180 GHz

Memori (RAM) 8 GB RAM

Harddisk 500 GB RAM

512 Spesifikasi Perangkat Lunak

Spesifikasi perangkat lunak merupakan perangkat lunak yang digunakan pada implementasi penelitian ini Perangkat lunak yang digunakan pada implementasi penelitian sesuai dengan yang ditunjukkan pada Tabel 52 berikut

Tabel 52 Spesifikasi Perangkat Lunak

Sistem Operasi Microsoft Windows 7 (64 bit)

Bahasa Pemrograman Java

Tools Pemrograman Netbeans 81

Data Microsoft Excel 2013

52 Implementasi Algoritma

Pada implementasi algoritma ini membahas mengenai hasil implementasi algoritma metode High Order Fuzzy Time Series Multi Factors yang mengacu pada bab sebelumnya yaitu perancangan Dalam penelitian ini implementasi algoritma menggunakan bahasa pemrograman java berbasis desktop Implementasi algoritma terdiri dari beberapa method sesuai dengan langkah ndash langkah pada algoritma metode High Order Fuzzy Time Series Multi Factors

68

521 Implementasi Proses Universe of Discourse

Pada implementasi Universe of Discourse seperti yang ditunjukkan Kode Program 51 dimana pada source code method Universe_of_Discourse baris 3 - 5 terdapat pemanggilan method mean standar_deviasi dan Min_dan_Max Dimana pemanggilan method tersebut dibutuhkan untuk melakukan proses perhitungan selanjutnya yaitu untuk menghitung batas bawah dan batas atas dari Univers of Discourse Baris 7-10 untuk menghitung hasil Universe of Discourse Berikut merupakan source code dari proses Universe of Discourse yang ditunjukkan pada Kode Program 51

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

private void Universe_of_Discourse()

mean()

standar_deviasi()

Min_dan_Max()

hsl_uMin = new double[jmlh_Faktor]

hsl_uMax = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

hsl_uMin[i] = hsl_min[i] - hsl_stdev[i]

hsl_uMax[i] = hsl_max[i] + hsl_stdev[i]

Kode Program 51 Implementasi proses Universe of Discourse

5211 Implementasi proses mean

Pada implementasi proses mean merupakan proses perhitungan nilai rata ndash rata dari setiap faktor yang nantinya hasilnya diperlukan untuk proses perhitungan standar deviasi Berikut merupakan source code dari proses mean yang ditunjukkan pada Kode Program 52 Perhitungan utama proses mean terdapat pada baris 3 ndash 8

Baris Kode

1 2 3 4 5 6 7 8 9

private void mean()

hsl_mean = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double tmp_jmlh = 0

for (int j = 0 j lt jmlh_DataTraining j++)

tmp_jmlh = tmp_jmlh + data[i][j]

hsl_mean[i] = (tmp_jmlh jmlh_DataTraining)

Kode Program 52 Implementasi proses mean

5212 Implementasi proses standar deviasi

Pada implementasi proses perhitungan standar deviasi merupakan akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel Standar deviasi dapat dilakukan perhitungan setelah mendapat nilai hasil dari perhitungan mean Berikut merupakan source code dari implementasi proses standar deviasi yang ditunjukkan pada Kode Program 53 Perhitungan utama proses standar deviasi terdapat pada baris 3 ndash 9

69

Baris Kode

1 2 3 4 5 6 7 8 9 10 11

private void standar_deviasi()

hsl_stdev = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double result = 0

for (int j = 0 j lt jmlh_DataTraining j++)

result = result + (Mathpow((data[i][j] ndash

hsl_mean[i]) 2))

hsl_stdev[i]=Mathsqrt(result(jmlh_DataTraining-

1))

Kode Program 53 Implementasi proses standar deviasi

5213 Implementasi proses Dmin dan Dmax

Pada implementasi proses Dmin dan Dmax merukan untuk mencari nilai minimum dan nilai maksimum dari data sampel untuk setiap faktor Berikut merupakan source code dari implementasi dari proses Dmin dan Dmax yang ditunjukkan pada Kode Program 54 Pada baris 8 ndash 10 merupakan bagian dari proses untuk untuk menentukan nilai data terbesar Selanjutnya pada baris 11 ndash 13 untuk menentukan nilai data terkecil

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

19

private void Min_dan_Max()

hsl_max = new double[jmlh_Faktor]

hsl_min = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double besar = data[i][0]

double kecil = data[i][0]

for (int j = 0 j lt jmlh_DataTraining j++)

if (data[i][j] gt besar)

besar = data[i][j]

if (data[i][j] lt kecil)

kecil = data[i][j]

hsl_max[i] = besar

hsl_min[i] = kecil

Kode Program 54 Implementasi proses Dmin dan Dmax

522 Implementasi Proses Jumlah Cluster

Pada implementasi proses jumlah cluster merupakan proses perhitungan jumlah cluster dari setiap faktor Implementasi ini dapat dilakukan apabila sudah mendapatkan hasil output dari method Min_dan_Max() sudah didapatkan Berikut merupakan source code dari implementasi proses jumlah cluster yang ditunjukkan pada Kode Program 55 Pada baris 3 ndash 7 untuk digunakan untuk menghitung selisih data sampel setiap baris dari semua faktor pada data sampel ke t dengan t+1 Selanjutnya pada baris 9 ndash 10 untuk menghitung jumlah cluster dari setiap faktor

70

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

12

13

private void jumlah_Cluster()

jmlh_Cluster = new int[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double selisih = 0

for (int j = 0 j lt (jmlh_DataTraining - 1) j++)

selisih = selisih + (Mathabs((data[i][j]

- data[i][(j + 1)])))

jmlh_Cluster[i] = (int) Mathround((Mathabs(

hsl_min[i]-hsl_max[i]))(selisih(jmlh_DataTraining

-1)))

Kode Program 55 Implementasi proses jumlah cluster

523 Implementasi Proses Pusat Cluster

Implementasi proses perhitungan pusat cluster ini menggunakan metode fuzzy C-means untuk mendapatkan pusat cluster yang nantinya digunkan sebagai subinterval Implementasi ini memerlukan hasil dari proses method jumlah_Cluster() agar dapat melakukan perhitungan subinterval Berikut merupakan source code dari implementasi proses subinterval yang ditunjukkan pada Kode Program 56 Pada Kode Program 56 hanya menampilkan source code pembentukan subinterval pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 2 ndash 3 merupakan deklarasi variabel bobot iterasi maksimum selisih fungsi objektif awal dan error minimum Pada baris 8 ndash 20 merupakan proses pembentukan matriks partisi dengan nilai random 0 sampai 1 Pada baris 22 ndash 26 merupakan proses normalisasi matriks partisi yang telah terbentuk Pada baris 28 ndash 63 merupakan proses untuk menentukan pusat cluster Pada baris 65 ndash 86 merupakan proses perhitungan fungsi objektif dari iterasi Pada baris 88 ndash 90 merupakan proses perhitungan selisih fungsi objektif Pada baris 92 ndash 108 adalah proses perbaikan matriks partisi Pada baris 110 ndash 115 adalah proses hasil perbaikan matriks partisi Pada baris 116 - 133 adalah proses dengan pengkondisian apakah selisih fungsi objektif lebih kecil dari error minimum serta apabila memenuhi kondisi maka dilanjutkan ke proses pengurutan pusat cluster secara ascending dari hasil iterasi terakhir dan proses pengkondisian iterasi berhenti

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

private void pusat_cluster()

int bobot = 2int iter_maksimum = 100

double selisih_f_objektif = 0double error_min = 001

for (int i = 0 i lt jmlh_Faktor i++)

faktor A

if (i == 0)

Pembentukkan matriks partisi

tmp_Matriks1=new

double[jmlh_Cluster[i]][jmlh_DataTraining]

q1 = new double[jmlh_Cluster[i]]

double jmlh_q1

for (int j = 0 j lt jmlh_Cluster[i] j++)

jmlh_q1 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

71

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

double random = ThreadLocalRandomcurrent()

nextDouble(01 1)

tmp_Matriks1[j][k] = random

jmlh_q1 = jmlh_q1 + random

q1[j] = jmlh_q1

normalisasi matriks

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k] q1[j]

Perhitungan pusat cluster

for (int iter = 0 iter lt iter_maksimum iter++)

selisih_f_objektif = 0

jumA1 = new double[iter_maksimum][jmlh_Cluster[i]]

jumA2 = new double[iter_maksimum][jmlh_Cluster[i]]

miu_Matriks1 = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

XV_Matriks1 = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

pusat_cluster1 = new double[jmlh_Cluster[i]]

double hitung_jum1

double hitung_jum2

for (int j = 0 j lt jmlh_Cluster[i] j++)

hitung_jum1 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow(tmp_Matriks1

[j][k]bobot)

miu_Matriks1[j][k] = tmp_Matriks1[j][k]

hitung_jum1 = hitung_jum1 + tmp_Matriks1

[j][k]

jumA1[iter][j] = hitung_jum1

for (int j = 0 j lt jmlh_Cluster[i] j++)

hitung_jum2 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k]

data[i][k]

hitung_jum2 = hitung_jum2 +

tmp_Matriks1[j][k]

jumA2[iter][j] = hitung_jum2

for (int j = 0 j lt jmlh_Cluster[i] j++)

pusat_cluster1[j] = jumA2[iter][j]

jumA1[iter][j]

perhitungan fungsi objektif

jumA3 = new double[iter_maksimum][jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

double hitung_jum3 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow((data[i][k]

ndash pusat_cluster1[j])

bobot)

XV_Matriks1[j][k] = tmp_Matriks1[j][k]

tmp_Matriks1[j][k] = XV_Matriks1[j][k]

miu_Matriks1[j][k]

hitung_jum3 = hitung_jum3 +

tmp_Matriks1[j][k]

jumA3[iter][j] = hitung_jum3

72

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

double jmlh_f_objektif = 0

for (int j = 0 j lt jmlh_Cluster[i] j++)

jmlh_f_objektif = jmlh_f_objektif

+jumA3[iter][j]

if (iter lt (iter_maksimum - 1))

f_objektif1[iter + 1] = jmlh_f_objektif

perhitungan selisih fungsi objektif

selisih_f_objektif = f_objektif1[iter + 1]

-f_objektif1[iter]

perbaikan matriks partisi

int hitung = bobot - 1int pangkat = -1 hitung

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow(XV_Matriks1

[j][k] pangkat)

jumA4 = new

double[iter_maksimum][jmlh_DataTraining]

for (int j = 0 j lt jmlh_DataTraining j++)

double hitung_jum4 = 0

for (int k = 0 k lt jmlh_Cluster[i] k++)

hitung_jum4 = hitung_jum4 +

tmp_Matriks1[k][j]

jumA4[iter][j] = hitung_jum4

hasil perbaikan matriks

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k]

jumA4[iter][k]

if (selisih_f_objektif lt error_min)

pengurutan ascending pusat cluster

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 kltjmlh_Cluster[i]k++)

if (k lt (jmlh_Cluster[i] - 1))

if (pusat_cluster1[k] gt

pusat_cluster1[k + 1])

double tmp =

pusat_cluster1[k]

pusat_cluster1[k]=

pusat_cluster1[k+1]

pusat_cluster1[k+1] = tmp

iter = iter_maksimum

Kode Program 56 Implementasi proses pusat cluster

524 Implementasi Proses Pembentukan Subinterval dan Fuzzy Set

Pada implementasi proses pembentukan suinterval dan fuzzy set memiliki dua proses yaitu proses menentukan batas subinterval minumum serta maksimum dan proses menentukan batas fuzzy set minimum serta maksimum

73

Proses pembentukan fuzzy dapat menjalankan prosesnya setelah method subinterval() telah diakses Berikut merupakan source code proses pembentukan fuzzy set yang ditunjukkan pada Kode Program 57 Pada Kode Program 57 hanya menampilkan source code pembentukan fuzzy set pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 6 ndash 29 merupakan proses pembentukan batas minimum dan batas maksimum subinterval Pada baris 31 ndash 54 merupakan pembentukan batas minimum dan batas maksimum fuzzy set

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

private void subinterval_dan_fuzzy_set()

for (int i = 0 i lt jmlh_Faktor i++)

faktor A

if (i == 0)

batas subinterval

batas_subintervalMinA = new double[jmlh_Cluster[i]]

batas_subintervalMaxA = new double[jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

if (j == 0)

batas_subintervalMinA[j] = hsl_uMin[i]

batas_subintervalMaxA[j]=(pusat_cluster1[j]

+pusat_cluster1[j+

1])2

else if (j == (jmlh_Cluster[i] - 1))

batas_subintervalMinA[j]=

(pusat_cluster1[j-1] +pusat_cluster1

[j])2

batas_subintervalMaxA[j]=

hsl_uMax[i]

else if ((0 lt j) ampamp (j lt (jmlh_Cluster[i] -

1)))

batas_subintervalMinA[j]=

(pusat_cluster1[j-1]+

pusat_cluster1[j])2

batas_subintervalMaxA[j]=

(pusat_cluster1[j]+

pusat_cluster1[j+1)2

batas fuzzy set

batas_fuzzysetMinA = new double[jmlh_Cluster[i]]

batas_fuzzysetMaxA = new double[jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

if (j == 0)

batas_fuzzysetMinA[j]=

batas_subintervalMinA[j]

batas_fuzzysetMaxA[j]=

(batas_subintervalMinA[j+1]

+batas_subintervalMaxA[j + 1])2

else if (j == (jmlh_Cluster[i] - 1))

batas_fuzzysetMinA[j]=

(batas_subintervalMinA[j-1]

+batas_subintervalMaxA[j - 1])2

batas_fuzzysetMaxA[j] =

batas_subintervalMaxA[j]

else if ((0 lt j) ampamp (jlt(jmlh_Cluster[i]-1)))

batas_fuzzysetMinA[j]=

(batas_subintervalMinA[j-1]+

batas_subintervalMaxA[j-1])2

batas_fuzzysetMaxA[j]=

74

51

52

53

54

55

56

(batas_subintervalMinA[j+1]+

batas_subintervalMaxA[j + 1])2

Kode Program 57 Implementasi pembentukan subinterval dan fuzzy set

525 Implementasi proses fuzzifikasi

Pada Implementasi proses fuzzifikasi memiliki dua proses utama yaitu menentukan derajat keanggotaan dan proses fuzzifikasi Dalam proses ini method fuzzy_set() harus dieksekusi terlebih dahulu karena implementasi proses ini memerlukan output dari method tersebut Berikut merupakan source code fuzzifikasi ditunjukkan pada Kode Program 58 Pada Kode Program 58 hanya menampilkan source code pembentukan fuzzy set pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 3 ndash 81 merupakan proses perhitungan derajat keanggotaan Pada baris 83 ndash 94 adalah proses penentuan fuzzifikasi

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

private void fuzzifikasi()

if (i == 0)

hitung_fuzzifikasiA = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

if(j == 0)

if((data[i][k]gtbatas_fuzzysetMinA[j])ampamp

(data[i][k]lt batas_fuzzysetMinA[j + 1]))

hitung_fuzzifikasiA[j][k] = 1

if ((data[i][k] gt batas_fuzzysetMinA[j + 1])

ampamp (data[i][k] lt batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k]=

(batas_fuzzysetMaxA[j] - data[i][k])

(batas_fuzzysetMaxA[j] ndash

batas_fuzzysetMinA[j + 1])

if ((data[i][k] gt batas_fuzzysetMinA[j]) ampamp

(data[i][k] lt batas_fuzzysetMinA[j + 1])

ampamp(data[i][k] gt batas_fuzzysetMinA[j+1])

ampamp(data[i][k] lt batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k] = 0

else if (j == (jmlh_Cluster[i] - 1))

if((data[i][k] gt batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]))

hitung_fuzzifikasiA[j][k]=

(data[i][k]-batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)])

(batas_fuzzysetMaxA[(jmlh_Cluster[i]ndash

2)]-batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)])

if((data[i][k] gt batas_fuzzysetMaxA

75

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

[(jmlh_Cluster[i]- 2)]) ampamp (data[i][k]

lt batas_fuzzysetMaxA[(jmlh_Cluster[i]

- 1)]))

hitung_fuzzifikasiA[j][k] = 1

if ((data[i][k] gt batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]) ampamp

(data[i][k] gt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 1)]))

hitung_fuzzifikasiA[j][k] = 0

else if ((0 lt j)ampamp(j lt (jmlh_Cluster[i] - 1)))

if ((data[i][k] gt batas_fuzzysetMinA[j])

ampamp (data[i][k] lt batas_fuzzysetMinA[j

+1]))

hitung_fuzzifikasiA[j][k]=

(data[i][k]-batas_fuzzysetMinA[j])

(batas_fuzzysetMinA[j + 1]-

batas_fuzzysetMinA[j])

if ((data[i][k] gt batas_fuzzysetMinA

[j+1])ampamp (data[i][k] lt

batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k]=

(batas_fuzzysetMaxA[j]-data[i][k])

(batas_fuzzysetMaxA[j]-

batas_fuzzysetMinA[j + 1])

if ((data[i][k] gt batas_fuzzysetMinA[j])

ampamp (data[i][k] lt batas_fuzzysetMinA

[j + 1]) ampamp (data[i][k] gt

batas_fuzzysetMinA[j + 1]) ampamp

(data[i][k]ltbatas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k] = 0

hasil_fuzzifikasiA = new int[jmlh_DataTraining]

for (int j = 0 j lt jmlh_DataTraining j++)

int cluster = 0

double besar=hitung_fuzzifikasiA[0][j]

for (int k = 0 k lt jmlh_Cluster[i] k++)

if (besar lt hitung_fuzzifikasiA[k][j])

besar = hitung_fuzzifikasiA[k][j]

cluster = k

hasil_fuzzifikasiA[j] = cluster + 1

Kode Program 58 Implementasi proses fuzzifikasi

526 Implementasi Pembentukan Fuzzy Logical Relationship

Pada implementasi pembentukan Fuzzy Logical Relationship (FLR) memiliki dua output yaitu FLR_kiri dan FLR_kanan Dimana FLR_kiri berisi group dari kelima faktor dan pada FLR_kanan merupakan dari faktor yang akan diramalkan yaitu

76

faktor curah hujan (A) Berdasarkan dari perancangan proses pada bab sebelumnya maka implementasi source code pembentukan Fuzzy Logical Relationship (FLR) dapat ditunjukkan pada Kode Program 59 berikut Pada baris 3 ndash 14 merupakan deklarasi variabel Pada baris 15 ndash 55 adalah proses pembentukan fuzzy logical relationship data training Pada baris 56 ndash 58 merupakan deklarasi variabel Pada baris 59 ndash 86 adalah proses pembentukan fuzzy logical relationship data testing

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

Fuzzy Logical Relationship

private void fuzzy_logical_relationship()

String input_order = fieldOrdergetText()

order = IntegerparseInt(input_order)

int max_inc = order

String input_dataTraining = fieldDatatraininggetText()

int dataTraining = IntegervalueOf(input_dataTraining)

int tmp_jmlhDatatraining = 0

int tmp_order = 0

int jmlh_dataTraining = dataTraining - order

String input_dataTesting = fieldDatatestinggetText()

int jmlh_dataTesting = IntegervalueOf(input_dataTesting)

FLR_kiri_training = new

int[jmlh_DataTraining][order][jmlh_Faktor]

FLR_kanan_training = new int[jmlh_DataTraining]

for (int i = 0 i lt jmlh_dataTraining i++)

for (int j = i j lt max_inc j++)

for (int k = 0 k lt jmlh_Faktor k++)

if (j == 0)

if (k == 0)

FLR_kiri_training[i][j][k]=

hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiD[j]

else if (j = 0)

if (k == 0)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiD[j]

tmp_order = j

FLR_kanan_training[i] = hasil_fuzzifikasiA[(i + order)]

if (max_inc lt (jmlh_DataTraining - 1))

max_inc = max_inc + 1

77

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

tmp_jmlhDatatraining = i

FLR_kiri_testing = new

int[jmlh_DataTraining][order][jmlh_Faktor]

FLR_kanan_testing = new int[(jmlh_DataTraining)]

tmp_jmlhDatatraining = tmp_jmlhDatatraining + 1

for (int i = 0 i lt jmlh_dataTesting i++)

for (int j = tmp_jmlhDatatraining j lt max_inc j++)

for (int k = 0 k lt jmlh_Faktor k++)

if (k == 0)

FLR_kiri_testing[i][j - tmp_jmlhDatatraining][k]

= hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiD[j]

FLR_kanan_testing[i] =

hasil_fuzzifikasiA[(tmp_jmlhDatatraining + order)]

if (max_inc lt (jmlh_DataTraining - 1))

max_inc = max_inc + 1

tmp_jmlhDatatraining++

Kode Program 59 Implementasi pembentukan FLR

527 Implementasi Proses Defuzzifikasi

Pada implementasi proses defuzzifikasi merupakan proses dimana menentukan hasil peramalan dari data testing berdasarkan dari bilangan fuzzy yang terbentuk Implementasi ini memiliki beberapa inputan penting yaitu data training data testing order dan konstanta Inputan tersebut sangat berperan penting dalam proses implementasi defuzzifikasi Berdasarkan dari perancangan proses pada bab sebelumnya maka implementasi source code defuzzifikasi dapat ditunjukkan pada Kode Program 510 berikut Pada baris 2 ndash 11 merupakan deklarasi variabel Pada baris 13 ndash 37 merupakan proses perhitungan selisih antara data training dengan data testing Pada baris 40 ndash 47 menghitung jumlah FLR yang cocok Pada baris 49 ndash 65 merupakan proses mencocokan FLR kiri yang cocok dengan FLR kanan Pada baris 67 ndash 81 merupakan proses menghitung jumlah frekuensi FLR kanan yang cocok Pada baris 83 ndash 91 adalah proses perhitungan hasil peramalan

Baris Kode 1

2

3

4

private void defuzifikasi()

String input_dataTraining = fieldDatatraininggetText()

String input_dataTesting = fieldDatatestinggetText()

String input_konstanta = fieldKonstantagetText()

78

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

int dataTraining = IntegervalueOf(input_dataTraining)

int dataTesting = IntegervalueOf(input_dataTesting)

int konstanta = IntegervalueOf(input_konstanta)

int match[][]

match = new int[dataTesting][2000]

int threshold = (jmlh_Faktor order) + konstanta

int hitung_selisih = 0

perhitungan selisih

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt (dataTraining + i) j++)

hitung_selisih = 0

for (int k = 0 k lt order k++)

for (int l = 0 l lt jmlh_Faktor l++)

if (i == 0)

hitung_selisih = hitung_selisih +

(Mathabs(FLR_kiri_training[j][k][l] ndash

FLR_kiri_testing[i][k][l]))

else if (i gt 0)

FLR_kiri_training[(dataTraining-

1)+i][k][l] = FLR_kiri_testing[i-

1][k][l]

FLR_kanan_training[(dataTraining-1)+i]

= FLR_kanan_testing[i-1]

hitung_selisih = hitung_selisih +

(Mathabs(FLR_kiri_training[j][k][l] ndash

FLR_kiri_testing[i][k][l]))

if (hitung_selisih lt threshold)

match[i][j] = hitung_selisih

menghitung jumlah total FLR yang cocok untuk setiap data

testing

int countGroup[] = new int[dataTesting]

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt (dataTraining + i) j++)

if (match[i][j] gt 0)

countGroup[i]++

mencocokan FLR_kiri yang cocok dengan FLR_kanan

group = new int[dataTesting][2000]

for (int i = 0 i lt dataTesting i++)

int tmp_count = 0

for (int j = 0 j lt (dataTraining + i) j++)

if (match[i][j] gt 0)

if (tmp_count lt countGroup[i])

group[i][tmp_count] = j

tmp_count++

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt countGroup[i] j++)

group[i][j] = FLR_kanan[group[i][j]]

mengelompokkan yang sama

MapltInteger Integergt map = new HashMapltInteger Integergt()

hasil_peramalan = new double[dataTesting]

for (int i = 0 i lt dataTesting i++)

79

70

71

72

73

74

75 76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

double peramalan = 0

mapclear()

for (int j = 0 j lt countGroup[i] j++)

int key = group[i][j]

if (mapcontainsKey(key))

int occurrence = mapget(key)

occurrence++

mapput(key occurrence)

else

mapput(key 1)

menghitung hasil peramlaan

Iterator iterator = mapkeySet()iterator()

while (iteratorhasNext())

int key = (Integer) iteratornext()

int occurrence = mapget(key)

peramalan = (peramalan + (pusat_cluster1[(key - 1)]

occurrence))

hasil_peramalan[i] = (peramalan countGroup[i])

Kode Program 510 Implementasi proses defuzzifikasi

53 Implementasi Antarmuka

Pada implementasi antarmuka dijelaskan beberapa halaman antarmuka untuk penggunaan dari program hasil implementasi Implementasi antarmuka berdasarkan perancangan yang telah dijelasakan pada bab sebelumnya yaitu bab perancangan Halaman antarmuka yang dibuat adalah halaman input halaman tampil data halaman proses halaman hasil dan halaman perhitungan error

531 Implementasi antarmuka halaman input

Halaman input merupakan halaman yang pertama muncul setelah program dijalankan Pada halaman input ini terdapat beberapa inputan yang harus di masukkan yaitu data input data training data testing order dan konstanta Selain itu pada halaman input juga terdapat tiga button yaitu button browse data button fuzzification dan button forecasting Berikut tampilan antarmuka halaman input yang ditunjukkan pada Gambar 51

Gambar 51 Implementasi antarmuka halaman input

80

532 Implementasi antarmuka halaman tampil data

Halaman tampil data merupakan halaman yang tampil setelah melakukan input data Halaman ini berisi tabel yang menampilkan data curah hujan suhu kecepatan angin dan kelembaban Berikut tampilan antarmuka halaman tampil data yang ditunjukkan pada Gambar 52

533 Implementasi antarmuka halaman proses

Halaman proses merupakan halaman yang muncul setelah button fuzzification telah dieksekusi Halaman proses ini terdiri dari tiga bagian atau tab yaitu clustering fuzzification dan Fuzzy logical relationship Pada halaman antarmuka clustering menampilkan Universe of Discourse dan jumlah cluster pada masing ndash masing faktor Berikut merupakan tampilan antarmuka halaman proses bagian clustering yang ditunjukkan pada Gambar 53

Gambar 52 Implementasi antarmuka halaman tampil data

Gambar 53 Implementasi antarmuka halaman proses clustering

81

Pada tab selanjutnya yaitu pada tab fuzzification tab ini menampilkan hasil proses fuzzifikasi Pada halaman ini menampilkan tabel yang berisi hasil fuzzifikasi dari setiap faktor Berikut merupakan tampilan antarmuka halaman proses bagian fuzzification yang ditunjukkan pada Gambar 54

Pada tab Fuzzy Logical Relationship menampilakn hasil dari proses pembentukan Fuzzy Logical Relationship Tampilan pada halaman ini menampilkan berupa textarea yang berisi dari output proses tersebut Berikut merupakan tampilan antarmuka halaman proses bagian Fuzzy Logical Relationship yang ditunjukkan pada Gambar 55

Gambar 54 Implementasi antarmuka halaman proses fuzzification

Gambar 55 Implementasi halaman antarmuka proses FLR

82

534 Implementasi antarmuka halaman hasil

Pada implementasi antarmuka halaman hasil ini merupakan halaman yang menampilkan hasil dari proses defuzzifikasi Halaman hasil ini menampilkan tabel yang berisi data aktual dan data dari hasil peramlan Berikut merupakan tampilan antarmuka halaman hasil yang ditunjukkan pada Gambar 56

535 Implementasi antarmuka halaman perhitungan error

Pada implementasi antarmuka halaman perhitungan error merupakan halaman yang menampilkan hasil dari proses perhitungan Mean Square Error (MSE) Pada halaman antarmuka ini menampilkan hasil error MSE pada textfield Berikut merupakan tampilan antarmuka halaman perhitungan error yang ditunjukkan pada Gambar 57

Gambar 56 Implementasi halaman antarmuka hasil

Gambar 57 Implementasi halaman antarmuka perhitungan error

83

BAB 6 PENGUJIAN DAN ANALISIS

Pada bab ini membahas hasil pengujian dan analisis hasil pengujian dari hasil implementasi metode High Order Fuzzy Time Series Multi factors untuk peramalan curah hujan dasarian Pada pengujian ini disesuaikan dengan perancangan pengujian pada bab 4

61 Sistematika Pengujian

Pada bab sebelumnya yaitu bab 4 mengenai perancangan telah dibahas perancangan pengujian dikatakan bahwa pengujian akan dilakukan sebanyak empat pengujian Pengujian order pengujian threshold pengujian jumlah data training dan pengujian validasi sistem Dari semua pengujian tersebut akan di uji dan di analisis bagaimana pengaruhnya terhadap hasil perhitungan Mean Square Error (MSE)

62 Hasil dan Analisis Pembahasan

Berikut hasil pengujian dan analisis yang disesuaikan dengan perancangan pengujian pada bab sebelumnya

621 Pengujian pengaruh order terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh order terhadap nilai MSE Order merupakan urutan jumlah dari data time series pada periode waktu t yang mempengaruhi nilai data Jadi jika nilai order adalah 3 maka peramalan akan melibatkan 3 data sebelumnya pada proses pembentukan Fuzzy Logical Relationship (FLR) Pada pengujian ini hanya nilai order yang diubah ndash ubah sedangkan variabel lain akan dibuat tetap Pengujian akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai variabel jumlah data training adalah 72 yaitu dari data Januari 2014 dasarian 1 sampai Desember 2015 dasarian 3 nilai data testing adalah 36 yaitu dasarian 1 Januari 2016 sampai dasarian 3 Desember 2016 konstanta adalah 10 Nilai threshold diperoleh dari perhitungan jumlah faktor dikali order dan dijumlah nilai konstanta Berikut adalah hasil pengujian pengaruh order terhadap nilai MSE yang ditunjukkan pada Tabel 61

Tabel 61 Hasil pengujian order terhadap nilai MSE

No Order Threshold MSE

1 3 22 808585

2 6 34 965547

3 9 46 912631

4 12 58 875884

5 15 70 719284

6 18 82 6801207

7 21 94 5637184

8 24 106 5444184

9 27 118 5433631

10 30 130 5418393

84

Dari hasil pengujian order seperti yang telah ditunjukkan pada Tabel 61 maka pada percobaan pertama dengan order = 3 dan threshold 22 dapat diperoleh MSE sebesar 808585 Selanjutnya pada percobaan kedua dengan order = 6 dan threshold = 34 diperoleh MSE sebesar 965547 Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 61

Berdasarkan Gambar 61 order yang berbeda - beda mempengaruhi besar nilai MSE Dalam penelitian ini menentukan order memiliki ketentuan yaitu nilai order harus lebih dari 0 dan batas maksimal order adalah setengah dari nilai data training (LinYang 2009) Nilai MSE terbesar yang ditunjukkan pada pengujian ini adalah 965547 pada pengujian order 6 dan nilai MSE terkecil adalah 5418393 pada pengujian order 30 Pada Gambar 61 menunjukkan bahwa pada order 3 ke order 6 mengalami peningkatan nilai MSE selanjutnya pada order 6 hingga order 30 mengalami penurunan Pada order 3 memiliki nilai MSE lebih kecil dari order 6 order 9 dan order 12 karena memiliki lebih banyak hasil selisih tingkat kecocokan data time series yang tidak terlalu besar dan kurang dari threshold Selain itu karena data time series dari data sampel yang diperoleh memiliki pola data musiman dimana perubahan pola data dasarian tidak terlalu banyak berubah dari tahun ke tahun Selanjutnya pada order 6 hingga order 30 menunjukkan penurunan nilai MSE dan order terbesar memiliki nilai MSE terkecil sehingga dapat disumpulkan bahwa semakin besar order maka semakin kecil pula nilai MSE Dalam hal ini dengan semakin besarnya order maka data sebelumnya yang digunakan untuk pertimbangan dalam menentukan peramalan semakin banyak Sehingga semakin besar nilai order maka dapat membuat peramalan semakin akurat Dalam pengujian ini memimiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoImplementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emasrdquo yang menyatakan bahwa semakin besar nilai order maka semakin kecil nilai kesalahannya (Wardhani et al 2015)

Gambar 61 Grafik hasil pengujian order terhadap nilai MSE

85

622 Pengujian pengaruh threshold terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh threshold terhadap nilai MSE Threshold merupakan hasil dari mengalikan jumlah order dengan jumlah faktor pada data kemudian dijumlahkan dengan dengan nilai konstanta Pada proses defuzzifikasi terdapat proses menghitung selisih antara pangkat bawah Fuzzy Logical Relationship (FLR) data training dan pangkat bawah FLR data testing Selanjutnya setelah mendapatkan nilai selisih maka nilai selisih tersebut dibandingkan dengan nilai threshold untuk mencari FLR yang cocok Pada pengujian ini nilai konstanta saja yang diubah ndash ubah sementara variabel lainnya tetap Pengujian akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai variabel jumlah data training adalah 72 yaitu dari data Januari 2014 dasarian 1 sampai Desember 2015 dasarian 3 nilai data testing adalah 36 yaitu dasarian 1 Januari 2016 sampai dasarian 3 Desember 2016 dan Nilai order adalah 30 Pada penentuan input konstanta nilai minimal harus lebih besar dari 0 dan nilai maksimal menyesuaikan data sampel yang digunakan (LinYang 2009) Berikut adalah hasil pengujian pengaruh threshold terhadap nilai MSE yang ditunjukkan pada Tabel 62

Tabel 62 Hasil pengujian threshold terhadap nilai MSE

No Konstanta Threshold MSE

1 10 130 558485

2 20 140 577498

3 30 150 597364

4 40 160 604660

5 50 170 646951

6 60 180 680257

7 70 190 703013

8 80 200 741484

9 90 210 756749

10 100 220 780600

Dari hasil pengujian threshold seperti yang telah ditunjukkan pada Tabel 62 maka dapat dilihat bahwa konstanta yang dilakukan pengujian dimulai dengan nilai 10 sampai 100 Hasil yang didapat pada percobaan pertama dengan konstanta = 10 dan threshold 130 diperoleh MSE sebesar 558485 Selanjutnya pada percobaan kedua dengan konstanta = 20 dan threshold = 140 diperoleh MSE sebesar 577498 Selanjutnya dapat kita lihat pada percobaan yang telah dilakukan dari percobaan pertama hingga percobaan kesepuluh nilai MSE yang diperoleh mengalami perubahan pada setiap percobaan Dapat dilihat bahwa peningkatan MSE lebih dominan menunjukkan peningkatan sehingga dalam hal ini semakin besar nilai konstanta dan threshold maka semakin besar pula nilai MSE yang diperoleh Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 62

86

Berdasarkan grafik dari Gambar 62 nilai input konstanta yang berbeda - beda mempengaruhi besar nilai MSE semakin besar nilai konstanta maka nilai threshold juga semakin besar karena threshold diperoleh dari perhitungan order dikali jumlah faktor dan selanjutnya dijumlah dengan nilai konstanta Dalam hal ini dengan semakin besar nilai threshold maka dalam proses seleksi untuk mencari nilai selisih FLR juga semakin luas batasannya dan jika semakin kecil nilai threshold maka dalam proses seleksi untuk mencari nilai selisih FLR menjadi semakin sempit dan mempermudah proses peramalan karena hanya adanya sedikit data yang cocok dengan data yang akan diramalkan dan mempermudah proses defuzzifikasi Oleh karena itu semakin kecil threshold maka dapat membuat peramalan semakin akurat Akan tetapi nilai threshold tidak boleh terlalu kecil karena dapat menyebabkan kegagalan peramalan Kegagalan peramalan itu terjadi karena tidak adanya data training yang cocok dengan data testing karena pada metode yang digunakan pada penelitian ini sangat bergantung pada data ndash data sebelumnya Dari hasil percobaan diatas hasil MSE terbesar adalah 7806 yaitu pada konstanta 100 serta threshold 220 dan hasil MSE terkecil adalah 558485 yaitu pada konstanta 10 dan threshold 130 Dalam pengujian ini memiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoImplementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emasrdquo yang menyatakan bahwa semakin kecil nilai konstanta maka semakin kecil nilai kesalahannya (Wardhani et al 2015)

623 Pengujian pengaruh jumlah data training terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh jumlah data training terhadap nilai MSE Pada pengujian ini jumlah data training adalah data dasarian yaitu 1 tahun 2 tahun 3 tahun 4 tahun dan 5 tahun dimana dari setiap 1 tahun memiliki 36 data dasarian Pengujian ini akan dilakukan sebanyak lima kali Pada pengujian ini jumlah data testing adalah 36 nilai order adalah setengah dari

Gambar 62 Grafik hasil pengujian threshold terhadap nilai MSE

87

nilai data training nilai konstanta adalah 20 Berikut adalah hasil pengujian pengaruh jumlah data training terhadap nilai MSE yang ditunjukkan pada Tabel 63

Tabel 63 Hasil pengujian jumlah data training terhadap nilai MSE

No Jumlah Data Training MSE

1 36 786586

2 72 634527

3 108 627190

4 144 614184

5 180 539698

Dari hasil pengujian jumlah data training seperti yang telah ditunjukkan pada Tabel 63 maka pada percobaan pertama dengan data training = 36 dapat diperoleh MSE sebesar 786586 Selanjutnya pada percobaan kedua dengan data training = 72 diperoleh MSE sebesar 634527 Dalam hal ini dari percobaan satu dan dua nilai MSE mengalami penurunan Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 63

Berdasarkan dari Gambar 63 pengujian pertama sampai pengujian kelima mengalami penerunan nilai MSE Sehingga dapat disimpulkan bahwa semakin besar data training maka semakin kecil nilai MSE yang diperoleh Nilai MSE semakin kecil apabila menggunakan data training dalam jumlah besar karena data yang digunakan memiliki rentang jauh dari periode data testing atau data yang akan diramalkan Sedangkan data training yang sedikit memiliki nilai MSE yang besar karena data training yang memiliki kecocokan dengan data testing berada pada periode yang jauh dengan data testing sehingga nilai MSE menjadi tinggi Dalam hal ini terbukti bahwa metode yang digunakan pada penelitian ini memerlukan jumlah data training yang banyak sehingga dapat menurunkan nilai kesalahannya Dari hasil percobaan diatas hasil MSE terbesar adalah 786586 dan

Gambar 63 Grafik hasil pengujian data training terhadap nilai MSE

88

hasil MSE terkecil adalah 539698 Dalam pengujian ini memimiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoPeramalan Jumlah Kunjungan Wisatawan Kota Batu Menggunakan Metode Time Invariant Fuzzy Time Seriesrdquo yang menyatakan bahwa semakin besar jumlah data training maka semakin kecil nilai kesalahannya (Elfajar et al 2017)

624 Pengujian validasi sistem

Pada pengujian ini dilakukan untuk mengetahui kestabilan dari sistem dengan menggunakan order threshold terbaik dari pengujian sebelumnya Pada pengujian ini akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai data training menggunakan 36 data yang berbeda agar dapat menunjukkan gambaran variasi dari nilai kesalahan MSE pada peramalan nilai order adalah 18 dan konstanta adalah 10 sehingga nilai threshold adalah 92 Berikut adalah hasil pengujian validasi sistem yang ditunjukkan pada Tabel 64

Tabel 64 Hasil pengujian validasi sistem

Percobaan ke- MSE

1 714290

2 703856

3 732564

4 732815

5 6973958

6 7532825

7 741726

8 760457

9 709961

10 6256204

Dari hasil pengujian validasi sistem seperti yang telah ditunjukkan pada Tabel 64 maka dapat digambarkan dengan grafik yang ditunjukkan oleh Gambar 64

Gambar 64 Grafik hasil pengujian validasi sistem

89

Berdasarkan dari gambar grafik Gambar 64 bahwa pengujian dari validasi sistem memiliki hasil MSE yang tidak terlalu jauh berbeda dari penggunaan data yang berbeda - beda Oleh karena itu dapat disimpulkan bahwa implementasi dari metode High Order Fuzzy Time Series Multi Factors yang telah digunakan sudah cukup baik untuk digunakan peramalan

Berdasarkan dari pengujian yang dilakukan diatas dapat diketahui bahwa nilai MSE terkecil terdapat pada pengujian jumlah data training yaitu dengan nilai MSE sebesar 539698 Nilai tersebut diperoleh dari pengujian jumlah data training dasarian dari tahun 2011 hingga 2015 untuk melakukan peramalan pada data dasarian tahun 2016 Nilai order adalah 90 dan konstanta adalah 10 Berikut adalah perbandingan data aktual dengan hasil peramalan yang ditunjukkan pada grafik Gambar 65

Gambar 65 Grafik perbandingan data aktual dengan hasil peramalan

90

BAB 7 PENUTUP

Pada bab ini terdiri dari dua sub bab yaitu kesimpulan dan saran Kesimpulan adalah tahapan yang berisi hasil penelitian yang dilakukan dan jawaban semua rumusan masalah yang sudah ditetapkan sebelumnya dan saran adalah tahapan yang berisi hasil yang telah dicapai untuk memperbaiki kekurangan - kekurangan yang terjadi pada penelitian ini serta memberikan pertimbangan pada pengembangan penelitian lebih lanjut

71 Kesimpulan

Pada kesimpulan ini mengacu pada penelitian yang telah dilakukan yang meliputi perancangan implementasi serta pengujian dan analisis terhadap hasil implementasi peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors maka dapat diambil kesimpulan sebagai berikut

1 Berdasarkan dari implementasi metode High Order Fuzzy Time Series Multi Factors dalam melakukan peramalan curah hujan dasarian dilakukan dengan beberapa langkah yaitu langkah pertama perhitungan Universe of Discourse yang terdiri perhitungan mean standar deviasi dan perhitungan Dmin serta Dmax langkah kedua yaitu perhitungan jumlah cluster langkah ketiga yaitu perhitungan pusat cluster langkah keempat yaitu pembentukan subinterval dan fuzzy set langkah kelima yaitu proses fuzzifikasi langkah keenam yaitu pembentukan Fuzzy Logical Relationship(FLR) langkah ketujuh adalah defuzzifikasi yang hasil outputnya merupakan hasil peramalan curah hujan

2 Berdasarkan dari pengujian peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors maka dapat diketahui bahwa

a Order berpengaruh terhadap nilai error semakin besar nilai order maka hasil peramalan semakin baik

b Threshold berpengaruh terhadap nilai error semakin rendah nilai threshold maka hasil peramalan semakin baik Akan tetapi nilai threshold tidak boleh terlalu rendah karena dapat menyebabkan kegagalan peramalan

c Data training berpengaruh terhadap nilai error semakin besar jumlah data training maka hasil peramalan semakin baik Sehingga peramalan menggunakan metode High Order Fuzzy Time Series Multi Factors memerlukan banyak data training

d Hasil implementasi peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors cukup baik digunakan untuk peramalan Hal ini terbukti hasil pengujian validasi sistem menunjukkan grafik yang cukup stabil

Dari pengujian yang telah dilakukan nilai MSE terkecil terdapat pada pengujian jumlah data training yaitu dengan nilai MSE sebesar 539698 Nilai tersebut diperoleh dari pengujian jumlah data training dasarian dari tahun

91

2011 hingga 2015 untuk melakukan peramalan pada data dasarian tahun 2016

72 Saran

Pada penelitian ini dilakukan peramalan curah hujan dasarian dengan faktor yang mempengaruhi adalah suhu kelembaban dan kecapatan angin Saran penulis diharapkan untuk penelitian selanjutnya melakukan penambahan faktor yang mempengaruhi curah hujan atau melakukan peramalan objek lain dengan mempertimbangkan faktor ndash faktor yang mempengaruhinya Serta diharapkan pada penelitian selanjutnya untuk menambahkan data yang lebih banyak serta bervariatif sehingga nilai hasil perhitungan akurasi peramalan yang dihasilkan dalam penelitian dapat meningkat Penggunaan data training yang banyak dan bervariatif dapat membuat pola data semakin terlihat sehingga hasil peramalan yang dihasilkan memiliki akurasi yang lebih baik

92

DAFTAR PUSTAKA

Ardiyanto 2016 ldquoTerendam Air Petani Lamongan Terpaksa Panen Dinirdquo Times Indonesia November 18 httpwwwtimesindonesiacoidread13688520161118102415terendam-air-petani-lamongan-terpaksa-panen-dini (Diakses 25 Februari 2017)

Badan Penelitian dan Pengembangan Pertanian Kementrian Pertanian 2015 ldquoKalender Tanam Terpadu Versi 25 Kota Malang Prov Jawa Timurrdquo httpkatamlitbangpertaniangoidkatam_terpadu2016mh33535733573_tinggipdf (Diakses 25 Februari 2017)

Bagirov M Adil Mahmood Arshad and Barton Andrew 2017 Prediction of monthly rainfall in Victoria Australia Clusterwise linear regression approach Elsevier Atmos Research 188 20-29

BMKG Staklim Karangploso Malang 2015 ldquoAnalisis Dinamika Atmosfer Dan Laut Dasarian III Maret 2015 Update 2 April 2015rdquo httpkarangplosojatimbmkgogoidindexphpanalisis-kondisi-dinamika-atmosfer-laut-dasarian-tahun-2015399-analisis-dinamika-atmosfer-dan-laut-dasarian-iii-maret-2015-update-2-april-2015axzz3X8h9y4fgampgsctab=0 (Diakses 25 Februari 2017)

BPS Kabupaten Malang 2016 ldquoKabupaten Malang Dalam Angka 2016rdquo httpsmalangkabbpsgoidwebsitepdf_publikasiKabupaten-Malang-Dalam-Angka-2016pdf (Diakses 25 Februari 2017)

BPS Jawa Timur 2015 ldquoJawa Timur Dalam Angka 2015rdquo httpsjatimbpsgoid4dmnpdf_publikasiJawa-Timur-Dalam-Angka-2015pdf (Diakses 25 Februari 2017)

Buffa S Elwood Rakesh and Sarin K 1996 Modern Production and Operation Management Eight Edition John Willey and Sons Inc London

Chen M 1996 Forecasting Enrollments based on Fuzzy Time Series Fuzzy Sets and Systems 311-319

Dewi Candra Kartikasari Dani Mursityo Yusi 2014 Prediksi Cuaca Pada Data Time Series Menggunakan Adaptive Neuro Fuzzy Inference System (ANFIS) Jurnal Teknologi Informasi dan Ilmu Komputer (JTIIK) Vol 1 No 1 hlm 18-24

Dewi Candra Muslikh M 2013 Perbandingan Akurasi Backpropagation Neural Network dan ANFIS Untuk Memprediksi Cuaca NATURAL-A Journal of Scientific Modeling amp Computation Volume 1 No1

Elfajar Aria Setiawan Budi Dewi Candra 2017 Peramalan Jumlah Kunjungan Wisatawan Kota Batu Menggunakan Metode Time Invariant Fuzzy Time Series Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer Vol 1 No 2 Hlmn 85-94

93

Fauziah Normalita Wahyuningsih Sri dan Nasution Yuki 2016 Peramalan Menggunakan Fuzzy Time Series Chen (Studi Kasus Curah Hujan Kota Samarinda) Vol4 Statistika

Forest Mahyu 2015 ldquoDefenisi amp Pengertian Kelembabanrdquo httpilmupengetahuaalamblogspotcoid201506defenisi-pengertian-kelembabanhtml (Diakses 25 Februari 2017)

Irsyad Muhammad Metarice Sonya 2013 Penerapan Metode Automatic Clustering dan High Order Fuzzy Time Series Pada Peramalan Curah Hujan Jurnal Sains dan Teknologi Industri Vol 10 No 02

Klawon F 2001 What is About Fuzzy Clustering Understanding and Improving the Concept of the Fuzzier Science Journal httppublic-rzfh-wolfebuetteldeklawon

Kurniawan Carlos 2007 Analisis dan Perancangan Program Aplikasi Peramalan Curah Hujan dengan Metode Wavelet (Studi Kasus BMKG)

Kusumadewi S 2003 ldquoArtificial Intelegence (Teknik amp Aplikasinya)rdquo Graha Ilmu Yogyakarta

Kusumadewi S Purnomo H 2004 ldquoAplikasi Logika Fuzzy untuk Pendukung Keputusanrdquo Graha Ilmu Yogyakarta

Kusumadewi Sri 2002 Analisis amp Desain Sistem Fuzzy Tollbox MATLAB Graha Ilmu Yogyakarta

Lin Yupei Yang Y 2009 Stock Markets Forecasting Based on Fuzzy Time Series Model IEEE Conference Publications 782-886

Makridakis S Steven C Wheelwright Victor E and Gee MC 1999 Metode dan Aplikasi Peramalan Jilid I Edisi Kedua Jakarta Binarupa Aksara

Mirawati T Yasin H and Rusgiyono A 2013 Prediksi Curah Hujan dengan Metode Kalman Filter(Studi Kasus di Kota Semarang 2012) Jurnal Gaussian 2(3) pp 239-248

Pradipta Nur Sembiring Pasukat Bangun Pengarapen 2013 Analisis Pengaruh Curah Hujan di Kota Medan Saintia Matematika Vol 1

Sipayung Putri Metha 2013 Pemodelan Hubungan Kelembapan Udara terhadap Curah Hujan (Studi Kasus Curah Hujan Periode 2001-2009 pada Stasiun Dramaga) httprepositoryipbacidhandle12345678960623 (Diakses 25 Februari 2017)

User 2015 httpstaklimnegaranet[Online] Available at httpwwwstaklimnegaranetindexphpbuletin-hujanpengertian-istilah (Diakses 25 Februari 2017)

Wang Nai-Yi Chen Shyi-Ming 2009 Temperature prediction and TAIFEX forecasting based on automatic clustering techniques and two-factors high-order fuzzy time series Elsevier Expert Systems with Applications 36 2143ndash2154

94

Wardhani Dessy Ratnawati Dian Setiawan Budi 2015 Implementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Saham Repositori Jurnal Mahasiswa PTIIK UB Doro Jurnal Vol 6 No 6

Wiyanti T and Pulungan R 2012 Peramalan Deret Waktu Menggunakan Model Fungsi Basis Radial (RBF) dan Auto Regressive Integrated Moving Average (ARIMA) Jurnal MIPA 35(2) pp 175-182

Yunanto Utomo 2014 ldquoBMKG Akui Prakiraan Cuacanya Masih Kurang Akuratrdquo Kompas Sains Januari 30 httpwwwtimesindonesiacoidread13688520161118102415terendam-air-petani-lamongan-terpaksa-panen-dini (Diakses 25 Februari 2017)

  • Bagian Depanpdf
  • BAB Ipdf
  • BAB IIpdf
  • BAB IIIpdf
  • BAB IVpdf
  • BAB Vpdf
  • BAB VIpdf
  • BAB VIIpdf
  • Daftar Pustakapdf
Page 3: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI

iii

PERNYATAAN ORISINALITAS

Saya menyatakan dengan sebenar-benarnya bahwa sepanjang pengetahuan saya di dalam naskah skripsi ini tidak terdapat karya ilmiah yang pernah diajukan oleh orang lain untuk memperoleh gelar akademik di suatu perguruan tinggi dan tidak terdapat karya atau pendapat yang pernah ditulis atau diterbitkan oleh orang lain kecuali yang secara tertulis disitasi dalam naskah ini dan disebutkan dalam daftar pustaka

Apabila ternyata didalam naskah skripsi ini dapat dibuktikan terdapat unsur-unsur plagiasi saya bersedia skripsi ini digugurkan dan gelar akademik yang telah saya peroleh (sarjana) dibatalkan serta diproses sesuai dengan peraturan perundang-undangan yang berlaku (UU No 20 Tahun 2003 Pasal 25 ayat 2 dan Pasal 70)

Malang 10 Agustus 2017

Ahmada Bastomi Wijaya

135150301111033

iv

KATA PENGANTAR

Puji syukur penulis panjatkan kepada Allah SWT yang telah memberikan rahmat dan hidayah-Nya kepada penulis sehingga penulis dapat menyelesaikan skripsi dengan judul ldquoPeramalan Curah Hujan Menggunakan Metode High Order Fuzzy Time Series Multi Factorsrdquo

Melalui kesempatan ini penulis ingin menyampaikan terima kasih kepada semua pihak yang telah memberikan bantuan serta dukungan kepada penulis dalam menyelesaikan skripsi ini diantaranya

1 Kedua orang tua penulis Bapak Wahyudi Rianto amp Ibu Sugihartiwi yang selalu memberikan dorsquoa kasih sayang dan semangat kepada penulis

2 Ibu Candra Dewi SKom MSc selaku dosen pembimbing I yang telah memberikan ilmu serta saran selama proses pengerjaan skripsi ini

3 Bapak Bayu Rahayudi ST MT selaku dosen pembimbing II yang juga telah memberikan ilmu serta saran selama proses pengerjaan skripsi ini

4 Ibu Hurriyatul Fitriyah ST MSc selaku dosen penasihat akademik yang telah memberikan banyak kritik dan saran selama proses perkuliahan

5 Bapak Wayan Firdaus Mahmudy S Si MT PhD selaku Dekan Fakultas Ilmu Komputer Universitas Brawijaya

6 Bapak Tri Astoto Kurniawan ST MT PhD selaku Ketua Jurusan Teknik Informatika Fakultas Ilmu Komputer Universitas Brawijaya

7 Bapak Agus Wahyu Widodo ST MCs selaku Ketua Program Studi Teknik Informatika Fakultas Ilmu Komputer Universitas Brawijaya

8 Semua teman FILKOM khususnya angkatan 2013 yang telah memberikan bantuan serta dukungan selama masa perkuliahan dan pengerjaan skripsi

9 Semua pihak yang tidak dapat disebutkan satu persatu yang terlibat baik secara langsung mapun tidak langsung yang telah membantu penulis dalam menyelesaikan skripsi ini

Penulis menyadari bahwa skripsi ini masih banyak kekurangan sehingga penulis dengan terbuka menerima kritik serta saran yang membangun Akhir kata penulis berharap skripsi ini dapat bermanfaat dan berguna bagi semua pihak yang menggunakannya

Malang 10 Agustus 2017

Penulis

ahmadabastomigmailcom

v

ABSTRAK

Kabupaten Malang merupakan salah satu kabupaten di Jawa Timur yang memiliki tingkat produksi pertanian yang cukup tinggi dimana hampir disetiap kecamatanya memiliki lahan pertanian Permasalahannya adalah pada saat curah hujan yang tinggi tidak sedikit petani yang mengalami gagal panen Curah hujan adalah salah satu dari beberapa faktor yang mempengaruhi perubahan iklim sehingga sangat menentukan hasil panen yang diperoleh Permasalahan gagal panen ini dapat diatasi dengan melakukan peramalan curah hujan dengan adanya peramalan curah hujan petani dapat menentukan waktu pola tanam yang sesuai sehingga dapat mengantisipasi terjadinya gagal panen Pada penelitian ini peramalan curah hujan dalam dasarian berdasarkan beberapa faktor yaitu suhu kelembaban dan kecepatan angin Metode yang digunakan untuk peramalan curah hujan dasarian adalah High Order Fuzzy Time Series Multi factors Pada metode ini pembentukan subinterval dilakukan dengan menggunakan fuzzy C-means Dalam menghitung kesalahan hasil peramalan menggunakan Mean Square Error (MSE) Berdasarkan hasil pengujian yang dilakukan semakin kecil threshold serta semakin besar data training dan order maka nilai kesalahan yang diperoleh semakin rendah Hasil peramalan curah hujan dasarian untuk peramalan satu tahun kedepan menggunakan metode ini mendapatkan hasil MSE terbaik sebesar 539698

Kata kunci curah hujan fuzzy C-means fuzzy time series peramalan

vi

ABSTRACT

Malang Regency is one of the regencies in East Java which has a high level of agricultural production in almost every district has agricultural land The problem is when high rainfall is not a few farmers who experienced crop failure Rainfall is one of several factors that affect climate change so it is very important to determine the yields obtained The problem of this harvest failure can be overcome by forecasting rainfall with rainfall forecasting farmers can determine the time of the appropriate cropping patterns so as to anticipate the occurrence of crop failure On the research of forecasting rainfall in dasarian based on several factors namely temperature humidity and wind speed The methods used for forecasting rainfall dasarian is a High-Order Fuzzy Time Series Multi factors In this method the formation of subinterval using fuzzy C-means In calculating the error of forecasting result using Mean Square Error (MSE) Based on the results of tests conducted the smaller threshold and the greater data training as well order the value error is obtained increasingly low The result of forecasting dasarian rainfall for forecasting one year ahead using this method get the best MSE result of 539698 Keywords rain fall fuzzy C-means fuzzy time series forecasting

vii

DAFTAR ISI

PENGESAHAN ii

PERNYATAAN ORISINALITAS iii

KATA PENGANTAR iv

ABSTRAK v

ABSTRACT vi

DAFTAR ISI vii

DAFTAR TABEL xi

DAFTAR GAMBAR xiii

DAFTAR KODE PROGRAM xv

DAFTAR LAMPIRAN xvi

BAB 1 PENDAHULUAN 1

11 Latar belakang 1

12 Rumusan masalah 2

13 Tujuan 3

14 Manfaat 3

15 Batasan masalah 3

16 Sistematika pembahasan 3

BAB 2 LANDASAN KEPUSTAKAAN 5

21 Kajian Pustaka 5

22 Dasar Teori 7

221 Peramalan 8

222 Curah hujan 8

223 Data time series 9

224 Logika Fuzzy 10

225 Metode Fuzzy C-means 13

226 Metode Peramalan dengan Fuzzy Time Series 15

227 Metode High Order Fuzzy Time Series Multi Factors 17

228 Perhitungan keakuratan metode peramalan 20

BAB 3 METODOLOGI 22

31 Studi Literatur 22

viii

32 Pengumpulan Data 23

33 Perancangan 23

34 Implementasi 23

35 Pengujian dan Analisis 23

36 Kesimpulan dan Saran 24

BAB 4 PERANCANGAN 25

41 Perancangan Proses 25

411 Proses perhitungan Universe of Discourse 26

4111 Proses perhitungan Mean 28

4112 Proses perhitungan standar deviasi 29

4113 Proses perhitungan nilai Dmin dan Dmax 30

412 Proses perhitungan jumlah cluster 31

413 Proses perhitungan pusat cluster 32

414 Proses pembentukan subinterval dan Fuzzy set 37

415 Proses Fuzzifikasi 38

416 Proses pembentukan Fuzzy Logical Relationship 41

417 Proses Defuzzifikasi 43

42 Perhitungan Manual 46

421 Perhitungan Universe of Discourse (U) 46

422 Perhitungan jumlah cluster (k) 48

423 Perhitungan pusat cluster dan subinterval 49

4231 Penentuan pusat cluster 49

4232 Perhitungan batas subinterval 55

424 Pembentukan Fuzzy Set 56

425 Fuzzifikasi 56

426 Pembentukan Fuzzy Logical Relationship (FLR) 58

427 Defuzzifikasi 58

43 Perancangan antarmuka 60

431 Halaman input 60

432 Halaman tampil data 61

433 Halaman proses 62

434 Halaman hasil 63

ix

435 Halaman perhitungan error 64

44 Perancangan pengujian 64

441 Perancangan pengaruh order terhadap nilai MSE 64

442 Perancangan pengaruh threshold terhadap nilai MSE 65

443 Perancangan pengaruh jumlah data training terhadap nilai MSE 65

444 Perancangan validasi sistem 65

BAB 5 IMPLEMENTASI 67

51 Spesifikasi Sistem 67

511 Spesifikasi Perangkat Keras 67

512 Spesifikasi Perangkat Lunak 67

52 Implementasi Algoritma 67

521 Implementasi Proses Universe of Discourse 68

5211 Implementasi proses mean 68

5212 Implementasi proses standar deviasi 68

5213 Implementasi proses Dmin dan Dmax 69

522 Implementasi Proses Jumlah Cluster 69

523 Implementasi Proses Pusat Cluster 70

524 Implementasi Proses Pembentukan Subinterval dan Fuzzy Set 72

525 Implementasi proses fuzzifikasi 74

526 Implementasi Pembentukan Fuzzy Logical Relationship 75

527 Implementasi Proses Defuzzifikasi 77

53 Implementasi Antarmuka 79

531 Implementasi antarmuka halaman input 79

532 Implementasi antarmuka halaman tampil data 80

533 Implementasi antarmuka halaman proses 80

534 Implementasi antarmuka halaman hasil 82

535 Implementasi antarmuka halaman perhitungan error 82

BAB 6 PENGUJIAN DAN ANALISIS 83

61 Sistematika Pengujian 83

62 Hasil dan Analisis Pembahasan 83

621 Pengujian pengaruh order terhadap nilai MSE 83

x

622 Pengujian pengaruh threshold terhadap nilai MSE 85

623 Pengujian pengaruh jumlah data training terhadap nilai MSE 86

624 Pengujian validasi sistem 88

BAB 7 PENUTUP 90

71 Kesimpulan 90

72 Saran 91

DAFTAR PUSTAKA 92

LAMPIRAN 95

Lampiran 1 Data Sampel 95

xi

DAFTAR TABEL

Tabel 21 Kajian Pustaka 5

Tabel 22 Fuzzy Logic Relationship 19

Tabel 23 Peramalan fuzzy set 20

Tabel 41 Data Sampel Perhitungan Manual 46

Tabel 42 Hasil kuadrat dari selisih data ke-i dan mean 47

Tabel 43 Nilai minimum nilai maksimum dan standar deviasi 47

Tabel 44 Hasil Universe of Discourse 48

Tabel 45 Nilai absolut selisih data hari ke-t dengan hari sebelumnya 48

Tabel 46 Hasil jumlah cluster data 49

Tabel 47 Matriks partisi awal pada cluster data A 50

Tabel 48 Derajat keanggotaan matriks partisi data A 51

Tabel 49 Perhitungan pusat cluster data A 52

Tabel 410 Fungsi objektif data A 53

Tabel 411 Perbaikan matriks partisi 54

Tabel 412 Hasil perbaikan matriks partisi 54

Tabel 413 Hasil pusat cluster 55

Tabel 414 Batas subinterval masing ndash masing atribut data 55

Tabel 415 Hasil derajat keanggotaan dan fuzzy set data A 57

Tabel 416 Hasil fuzzifikasi semua data attribut 57

Tabel 417 Hasil pembentukan FLR data training 58

Tabel 418 Hasil pembentukan FLR data testing 58

Tabel 419 Frekuensi FLR yang cocok dengan data testing 59

Tabel 420 Perbandingan data aktual dan hasil peramalan 60

Tabel 421 Rancangan pengujian order terhadap nilai MSE 64

Tabel 422 Rancangan pengujian threshold terhadap nilai MSE 65

Tabel 423 Rancangan pengujian jumlah data training terhadap nilai MSE 65

Tabel 424 Rancangan pengujian validasi sistem 66

Tabel 51 Spesifikasi Perangkat Keras 67

Tabel 52 Spesifikasi Perangkat Lunak 67

Tabel 61 Hasil pengujian order terhadap nilai MSE 83

xii

Tabel 62 Hasil pengujian threshold terhadap nilai MSE 85

Tabel 63 Hasil pengujian jumlah data training terhadap nilai MSE 87

Tabel 64 Hasil pengujian validasi sistem 88

xiii

DAFTAR GAMBAR

Gambar 21 Representasi linear naik 11

Gambar 22 Representasi linear turun 12

Gambar 23 Representasi kurva segitiga 12

Gambar 31 Diagram blok metodologi penelitian 22

Gambar 41 Diagram alir metode penelitian yang digunakan (bagian 1) 25

Gambar 42 Diagram alir metode penelitian yang digunakan (bagian 2) 26

Gambar 43 Diagram alir proses perhitungan Universe of Discourse 27

Gambar 44 Diagram alir proses perhitungan mean 28

Gambar 45 Diagram alir proses perhitungan standar deviasi 29

Gambar 46 Diagram alir perhitungan nilai Min dan Max 30

Gambar 47 Diagram alir proses perhitungan jumlah cluster 31

Gambar 48 Diagram alir proses perhitungan pusat cluster (bagian 1) 32

Gambar 49 Diagram alir proses perhitungan pusat cluster (bagian 2) 33

Gambar 410 Diagram alir proses perhitungan pusat cluster (bagian 3) 34

Gambar 411 Diagram alir proses perhitungan pusat cluster (bagian 4) 35

Gambar 412 Diagram alir proses perhitungan pusat cluster (bagian 5) 36

Gambar 413 Diagram alir pembentukan subinterval dan fuzzy set (bagian 1) 37

Gambar 414 Diagram alir pembentukan subinterval dan fuzzy set (bagian 2) 38

Gambar 415 Diagram alir proses fuzzifikasi (bagian 1) 39

Gambar 416 Diagram alir proses fuzzifikasi (bagian 2) 40

Gambar 417 Diagram alir proses Pembentukan FLR (bagian 1) 41

Gambar 418 Diagram alir proses Pembentukan FLR (bagian 2) 42

Gambar 419 Diagram alir proses Pembentukan FLR (bagian 3) 43

Gambar 420 Diagram alir proses defuzzifikasi (bagian 1) 44

Gambar 421 Diagram alir proses defuzzifikasi (bagian 2) 45

Gambar 422 Grafik fuzzy set data A 56

Gambar 423 Rancangan antarmuka halaman input 61

Gambar 424 Rancangan antarmuka halaman tampil data 61

Gambar 425 Rancangan antarmuka halaman proses clustering 62

Gambar 426 Rancangan antarmuka proses fuzzifikasi 62

xiv

Gambar 427 Rancangan antarmuka proses fuzzy logical relationship 63

Gambar 428 Rancangan antarmuka halaman hasil peramalan 63

Gambar 429 Rancangan antarmuka halaman perhitungan error 64

Gambar 51 Implementasi antarmuka halaman input 79

Gambar 52 Implementasi antarmuka halaman tampil data 80

Gambar 53 Implementasi antarmuka halaman proses clustering 80

Gambar 54 Implementasi antarmuka halaman proses fuzzification 81

Gambar 55 Implementasi halaman antarmuka proses FLR 81

Gambar 56 Implementasi halaman antarmuka hasil 82

Gambar 57 Implementasi halaman antarmuka perhitungan error 82

Gambar 61 Grafik hasil pengujian order terhadap nilai MSE 84

Gambar 62 Grafik hasil pengujian threshold terhadap nilai MSE 86

Gambar 63 Grafik hasil pengujian data training terhadap nilai MSE 87

Gambar 64 Grafik hasil pengujian validasi sistem 88

Gambar 65 Grafik perbandingan data aktual dengan hasil peramalan 89

xv

DAFTAR KODE PROGRAM

Kode Program 51 Implementasi proses Universe of Discourse 68

Kode Program 52 Implementasi proses mean 68

Kode Program 53 Implementasi proses standar deviasi 69

Kode Program 54 Implementasi proses Dmin dan Dmax 69

Kode Program 55 Implementasi proses jumlah cluster 70

Kode Program 56 Implementasi proses pusat cluster 72

Kode Program 57 Implementasi pembentukan subinterval dan fuzzy set 74

Kode Program 58 Implementasi proses fuzzifikasi 75

Kode Program 59 Implementasi pembentukan FLR 77

Kode Program 510 Implementasi proses defuzzifikasi 79

xvi

DAFTAR LAMPIRAN

Lampiran 1 Tabel Data Sampel 95

1

BAB 1 PENDAHULUAN

11 Latar belakang

Kabupaten Malang merupakan salah satu kabupaten di Jawa Timur yang terkenal akan potensi alam yang dimiliki (BPS Kabupaten Malang 2016) Dalam hal ini terkenal akan potensi alamnya karena kabupaten Malang memiliki tingkat produksi di sektor pertanian yang cukup tinggi dimana hampir seluruh kecamatan di kabupaten Malang memiliki lahan pertaniaaan (BPS Jatim 2015) Permasalahan yang terjadi pada sektor pertanian yaitu terjadinya gagal panen apabila memasuki musim penghujan dengan curah hujan yang tinggi yaitu diatas 200 mm per bulan serta apabila memasuki musim kemarau dengan curah hujan yang rendah yaitu dibawah 100 mm per bulan (BMKG Staklim Karangploso Malang 2015) Dalam mengatasi hal tersebut upaya yang dilakukan petani selama ini hanya melakukan tindakan seperti melakukan panen secara dini Upaya ini dianggap petani cukup efektif dalam mengurangi besarnya kerugian gagal panen akan tetapi sebaiknya yang dilakukan adalah melakukan suatu tindakan agar kerugian yang dialami petani tidak terjadi lagi (Ardiyanto 2016)

Salah satu contoh tindakan yang dapat dilakukan adalah membuat Kalender Tanam (KATAM) KATAM dapat digunakan petani sebagai alat bantu atau pedoman dalam menentukan awal musim tanam terbaik seperti yang telah dilakukan oleh Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian Dalam pembuatan KATAM Balitbang menggunakan data peramalan curah hujan dari Badan Meteorologi Klimatologi dan Geofisika (BMKG) Akan tetapi BMKG mengakui bahwa prakiraan cuacanya saat ini memang masih kurang akurat dan masih kalah dengan prakiraan cuaca di Amerika Serikat (Yunanto 2014) Pentingnya akan prakiraan cuaca terbukti adanya beberapa penelitian sebelumnya yaitu penelitian prakiraan cuaca dengan input faktor yang mempengaruhi cuaca yang berupa data time series menggunakan metode Adaptive Neuro Fuzzy Inference System (ANFIS) (Dewi 2014) dan penelitian mengenai prediksi cuaca menggunakan metode Backpropagation Neural Network yang terbukti memiliki nilai akurasi yang baik dalam prediksi cuaca (Dewi 2013)

Teknik atau metode peramalan curah hujan yang sering digunakan BMKG adalah metode Autoregressive Integrated Moving Average (ARIMA) ANFIS dan Wavelet (Kurniawan 2007) Namun dalam penerapannya gabungan dari ketiga metode tersebut masih kurang memuaskan yaitu tingkat akurasinya hanya mencapai 60 - 70 Menurut BMKG kurangnya tingkat akurasinya ini disebabkan oleh keadaan pola atmosfer di Indonesia yang selalu berubah ndash ubah dan kurang menentu

Selain metode yang digunakan oleh BMKG adapun penelitian sebelumnya yang meramalkan curah hujan yaitu penelitian menggunakan metode Fuzzy Time Series Chen dengan studi kasus curah hujan di Samarinda dalam penelitian ini menggunakan data time series curah hujan bulanan dengan kesimpulan pengunaan data yang sedikit memiliki tingkat akurasi lebih tinggi dibandingkan

2

menggunakan data yang banyak yaitu menghasilkan nilai RMSE terkecil 7368 dan MAE terkecil 539 (Fauziah et al 2016)

Selain peramalan yang hanya menggunakan data time series dari data yang akan diramalkan juga terdapat penelitian sebelumnya yang menggunakan faktor - faktor yang mempengaruhi dari data yang akan diramalkan Salah satunya yaitu penelitian dengan menggunakan metode Clusterwise Linear Regression (CLR) Penelitian ini menggunakan data bulanan pada delapan stasiun cuaca di kota Victoria Australia Peramalan curah hujan pada penelitian ini menggunakan faktor yang mempengaruhi yaitu suhu maksimum suhu minimum penguapan tekanan uap dan radiasi matahari Hasil penelitian ini terbukti dapat melakukan peramalan curah hujan dengan hasil yang cukup baik yaitu dengan nilai RMSE terkecil 197 dan MAE terkecil 129 (Bagirov et al 2017)

Berdasarkan paparan yang telah dijelaskan penulis memiliki ide untuk melakukan penelitian dengan judul ldquoPeramalan Curah Hujan dengan Metode High Order Fuzzy Time Series Multi Factorsrdquo Pada metode ini dilakukan klasterisasi data untuk membangun subinterval dengan menggunakan metode fuzzy C-means (LinYang 2009) Dari proses hasil klasterisasi akan digunakan untuk membagi data semesta yang selanjutnya menghasilkan fuzzy set atau himpunan fuzzy yang menggambarkan fitur data (LinYang 2009) Keunggulan dari metode fuzzy time series dengan multi faktor yaitu dengan berdasarkan pada penelitian ndash penelitian sebelumnya yang menggunakan metode tersebut yaitu penelitian prediksi harga emas dengan beberapa faktor yang mempengaruhi menggunakan metode Multi-factors High order Fuzzy Time Series Model dari hasil penelitian ini dengan menggunakan metode evaluasi Mean Absolute Percentage Error (MAPE) dapat diperoleh nilai error terkecil sebesar 0443 (Wardhani et al 2015) dan penelitian peramalan Indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen menggunakan metode Fuzzy Time Series Model dari penilitian ini menunjukan tingkat Average Relative Error (ARError) sebesar 176 untuk bursa efek harian Shanghai sedangkan untuk bursa efek harian Shenzhen didapatkan ARError sebesar 187 (Lin Yang 2009) terbukti menghasilkan hasil peramalan dengan tingkat akurasi yang cukup tinggi Penggunaan metode ini juga sesuai dengan curah hujan yang dipengaruhi oleh beberapa faktor yaitu kelembaban udara kecepatan angin dan suhu (Pradipta 2013) Penelitian ini diharapkan dapat memberikan hasil peramalan curah hujan yang lebih akurat dan memiliki nilai kesalahan yang lebih sedikit

12 Rumusan masalah

Berdasarkan latar belakang yang telah dipaparkan dibuatlah beberapa rumusan masalah sebagai berikut

1 Bagaimana mengimplementasikan Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

2 Berapa tingkat kesalahan dari hasil implementasi Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

3

13 Tujuan

Adapun maksud dan tujuan dari penelitian ini adalah sebagai berikut

1 Mengimplementasikan Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

2 Mengetahui tingkat kesalahan dari hasil implementasi Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

14 Manfaat

Adapun manfaat dari penelitian ini adalah sebagai berikut

1 Bagi Badan Meteorologi dan Geofisika (BMKG) untuk dapat memberikan peramalan curah hujan yang lebih akurat dari sebelumnya

2 Bagi Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian untuk dapat membuat Kalender tanam (KATAM) dengan menggunakan data ramalan curah hujan yang lebih akurat

3 Bagi penduduk kabupaten Malang khususnya yang bekerja pada sektor pertanian agar dapat mengoptimalkan hasil produksi dengan menyesuaikan penanaman sesuai dengan Kalender Tanam (KATAM) yang telah dibuat Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian

15 Batasan masalah

Penelitian ini dibatasi oleh hal ndash hal sebagai berikut

1 Data curah hujan kelembaban udara kecepatan angin dan suhu udara yang digunakan pada penelitian ini merupakan data berdasarkan dasarian dan hanya mencakup wilayah kabupaten Malang dan data diperoleh dari BMKG Karangkates Kabupaten Malang dengan data time series yang digunakan pada penelitian ini yaitu dari tahun 2011 - 2016

2 Model peramalan yang diterapkan adalah semua nilai yang membentuk pola dataset training dan testing diketahui nilainya

3 Perhitungan nilai tingkat kesalahan permalan menggunakan metode Mean Square Error (MSE)

16 Sistematika pembahasan

Sistematika pembahasan penelitian ditunjukkan untuk memberikan gambaran dan uraian dari penyusunan proposal yang meliputi beberapa bab sebagai berikut

BAB 1 PENDAHULUAN

Pada bab ini berisi latar belakang rumusan masalah tujuan penelitian manfaat penelitian batasan masalah sistematika pembahasan dan rencana kerja atau jadwal penelitian

4

BAB 2 LANDASAN KEPUSTAKAAN

Pada bab ini berisi tentang kajian pustaka dan dasar teori yang menjadi dasar dalam melakukan implementasi peramalan curah hujan dengan Metode High Order Fuzzy Time Series Multi Factors

BAB 3 METODOLOGI

Pada bab ini diuraikan tentang tahapan atau langkah ndash langkah yang dilakukan dalam proses penelitian tentang peramalan curah hujan dengan metode High Order Fuzzy Time Series Multi Factors Langkah ndash langkah tersebut terdiri dari tahapan penelitian teknik pengumpulan data algoritma yang digunakan lingkungan pengujian dan pengujian algoritma yang digunakan serta pengambilan kesimpulan

BAB 4 PERANCANGAN

Pada bab ini berisi tentang perancangan proses algoritma perhitungan manual metode High Order Fuzzy Time Series Multi Factors perancangan antar muka dan perancangan pengujian

BAB 5 IMPLEMENTASI

Pada bab ini berisi tentang penjelasan peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors bagaimana user interface dan source code dalam pengimplementasian metode ini

BAB 6 PENGUJIAN DAN ANALISIS

Pada bab ini berisi tentang penjelasan proses dan hasil pengujian dari implementasi metode High Order Fuzzy Time Series Multi Factors dalam peramalan curah hujan serta analisis dari pengujian tersebut

BAB 7 PENUTUP

Pada bab ini berisi kesimpulan yang diperoleh dari hasil pengujian dan saran ndash saran untuk pengembangan penelitian selan

5

BAB 2 LANDASAN KEPUSTAKAAN

Bab ini berisi mengenai kajian pustaka dan dasar ndash dasar teori yang akan dibahas serta digunakan untuk menunjang topik ndash topik pembahasan Pada kajian akan dibahas perbedaan antara penelitian yang telah ada dengan penelitian yang diusulkan oleh penulis Sedangkan pada dasar teori akan dibahas mengenai teori ndash teori yang digunakan pada penelitian yang diusulkan

21 Kajian Pustaka

Pada kajian pustaka disini berisi mengenai perbandingan antara penelitian yang diusulkan oleh penulis dengan penelitian sebelumnya yang relevan Perbandingan tersebut dapat dilihat padat Tabel 21

Tabel 21 Kajian Pustaka

No Judul Objek dan Input Penelitian Metode

1 Penerapan Metode Automatic Clustering dan High Order Fuzzy Time Series Pada Peramalan Curah Hujan (Irsyad Metarice 2013)

Objek Curah hujan

Input Penelitian

Data aktual curah hujan

Metode High Order Fuzzy Time Series dan Automatic Clustering

Nilai evalusi

Mean Absolute Percentage Error (MAPE)

2 Peramalan Menggunakan Fuzzy Time Series Chen (Studi Kasus Curah Hujan Kota Samarinda) (Fauziah et al 2016)

Objek Curah Hujan

Input Penelitian

Data aktual curah hujan

Metode Fuzzy Time Series Chen

Nilai evaluasi

Mean Absolute Error (MAE) Root Mean of Square Error (RMSE)

3 Implementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emas (Wardhani et al 2015)

Objek Harga Emas

Input Penelitian

Kurs Dollar hari sebelumnya

Kurs Euro hari sebelumnya

Harga Emas London hari sebelumnya

Harga Emas hari sebelumnya

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

Nilai evalusi

Mean Absolute Percentage Error (MAPE)

4 Stock Markets Forecasting Based on Fuzzy Time Series Model (Lin Yang 2009)

Objek Indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

6

Input Penelitian

Historical return

Historical turnover volume

Rata ndash rata selisih pergerakan harga selama lima hari

Selisih antara kekuatan bull dan bear

Indeks komposit bursa efek harian Shanghai sebelumnya

Indeks komposit bursa efek harian Shenzhen

Nilai evalusi

Average Relative Error (ARError)

5 Peramalan Curah Hujan Menggunakan Metode High Order Fuzzy Time Series Multi Factors

Objek Curah hujan

Input Penelitian

Suhu

Kelembaban

Kecepatan angin

Curah hujan

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

Nilai evalusi

Mean Square Error (MSE)

Sumber (Irsyad Metarice 2013) (Fauziah et al 2016) (Wardhani et al 2015) dan (Lin Yang 2009)

Pada penelitian yang pertama yaitu penelitian yang dilakukan oleh Muhammad Irsyad dan Sonya Metarice pada tahun 2013 dengan objek penelitian yang diramalkan adalah curah hujan Inputan yang digunakan pada penelitian ini merupakan data aktual curah hujan bulanan Metode yang digunakan penelitian ini adalah Automatic Clustering dan High Order Fuzzy Time Series Pada penelitian ini metode Automatic Clustering digunakan untuk membangun interval dan High Order Fuzzy Time Series untuk melakukan peramalan curah hujan Kesimpulan yang diperoleh dari penelitian ini yaitu metode ini dapat diterapkan untuk permalan curah hujan dan hasil evaluasi menggunakan metode Mean Absolute Percentage Error(MAPE) dari beberapa bercobaan dapat diperoleh nilai kesalahan sebesar 437 Berdasarkan dari hasil nilai kesalahan tersebut maka tingkat kesalahan data pada permalan ini termasuk rendah

Pada tahun 2016 Normalita Fauziah Sri Wahyuningsih dan Yuki Novia Nasution melakukan penelitian dengan objek penelitian curah hujan di kota Samarinda Inputan yang digunakan pada penelitian berupa data aktual bulanan curah hujan di kota Samarinda Metode yang digunakan pada penelitian ini adalah Fuzzy Time Series Chen dengan dalam pembentukkan panjang interval berbasis rata ndash rata atau average based Pada penelitian ini permalan curah hujan terbaik yaitu dengan menggunkan data sebanyak 29 data dengan menghasilkan tingkat nilai kesalahan terkecil yaitu dengan metode Root Mean of Squared Error (RMSE) sebesar 7368 dan metode Mean Absolute Error (MAE) sebesar 539 Pada

(Lanjutan) Tabel 21 Kajian Pustaka

7

penelitian ini disimpulkan bahwa data sebanyak 29 data memiliki tingkat kesalahan lebih kecil dibandingkan dengan menggunakan data dengan jumlah sampel yang lebih banyak

Pada penelitian selanjutnya adalah penelitian yang dilakukan oleh Dessy Kusuma Wardhani Dian Eka Ratnawati dan Budi Darma Setiawan pada tahun 2015 dengan objek penelitian yang diramalkan adalah harga emas harian Inputan yang digunakan pada penelitian ini data aktual harian harga emas indonesia harga emas london kurs dollar ke rupiah dan kurs euro ke rupiah Metode yang digunakan pada penelitian pada pembentukkan sub interval menggunakan metode fuzzy C-means dan untuk peramalan menggunakan metode High Order Fuzzy Time Series Model Hasil pada penelitian ini berdasarkan menggunakan metode evaluasi Mean Absolute Percentage Error (MAPE) dapat diperoleh nilai error terkecil sebesar 0443 karena nilai error lebih kecil dari 10 menunjukkan bahwa metode ini sangat baik digunakan untuk peramalan harga emas

Pada tahun 2009 Yupei Lin dan Yiwei Yang melakukan penelitian dengan objek yang diramalkan adalah indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen Data input penelitian ini meliputi historical return historical turnover volume dan rata ndash rata selisih pergerakan harga selama lima hari serta selisih antara kekuatan bull dan bear Dalam penelitian ini pembentukan subinterval yang berfungsi dalam pendefinisian himpunan fuzzy dilakukan dengan menggunakan klasterisasi fuzzy C-means Hasil dari penilitian ini menunjukan tingkat Average Relative Error (ARError) sebesar 176 untuk bursa efek harian Shanghai sedangkan untuk bursa efek harian Shenzhen didapatkan ARError sebesar 187 Dalam hal ini membuktikan bahwa penelitian dapat menghasilkan peramalan yang cukup baik karena memiliki nilai ARError kurang dari 5

Pada penelitian ini membahas tentang peramalan curah hujan dasarian menggunakan metode High Order Fuzzy Time Series Multi Factors Terdapat empat inputan yang juga dijadikan sebagai variabel dalam penelitian ini yaitu kelembaban udara kecepatan angin suhu udara dan curah hujan Pembentukan subinterval yang berfungsi dalam pendefinisian fuzzy set dilakukan dengan menggunakan klasterisasi fuzzy C-means Penelitian ini menggunakan high order fuzzy logic relationship yaitu membentuk fuzzy logic relationship berdasarkan data dalam kurun waktu beberapa dasarian sebelum dasarian yang akan diramal Pada penelitian ini dalam melakukan perhitungan nilai error untuk mendapatkan hasil evaluasi menggunakan metode Mean Square Error (MSE)

22 Dasar Teori

Pada dasar teori disini dijelaskan tentang metode ndash metode yang digunakan pada penelitian ini yang meliputi peramalan curah hujan data time series logika fuzzy fuzzy C-means metode peramalan dengan Fuzzy Time Series High Order Fuzzy Time Series Multi Factors dan metode perhitungan keakuratan metode peramalan

8

221 Peramalan

Terdapat beberapa definisi tentang peramalan menurut Kamus Besar Bahasa Indonesia (KBBI) yaitu

a Peramalan merupakan prediksi rencana atau estimasi kejadian masa depan yang tidak pasti (KBBI)

b Peramalan adalah sebagai penggunaan teknik ndash teknik statistik dalam bentuk gambaran masa depan berdasarkan pengolahan angka ndash angka yang terjadi pada masa lalu (Buffa et al1996)

c Peramalan adalah bagian internal dari pengambilan keputusan manajemen (Makridakis et al1999)

Berdasarkan beberapa definisi diatas dapat disimpulkan bahwa peramalan merupakan tindakan apa yang akan terjadi di masa mendatang peramalan diperlukan untuk mengambil sebuah keputusan Dalam pengambilan keputusan harus diambil dari pertimbangan ndash pertimbangan yang ada Oleh karena itu peramalan sangat penting hubungannya dengan pengambilan keputusan sehingga kejadian di masa yang akan datang dapat dipersiapkan tindakan apa yang perlu dilakukan

222 Curah hujan

Curah hujan merupakan salah satu faktor penting yang mempengaruhi perubahan iklim suatu wilayah (Mirawati et al 2013) Salah satu contoh kasus nyata yaitu terjadinya perubahan iklim secara tiba ndash tiba atau bisa disebut dengan cuaca ekstrim Curah hujan dapat dijelaskan dengan air hujan yang terkumpul pada suatu wadah datar dimana air hujan tersebut tidak meresap tidak menguap dan tidak mengalir sehingga dapat diukur ketinggiannya Sebagai contoh curah hujan 1 (satu) milimeter dapat dijelaskan dalam suatu wadah datar dengan luas satu meter persegi tertampung air dengan ketinggian sekitar satu milimeter atau tertampung air sebanyak satu liter Metode dalam mendapatkan data curah hujan adalah dengan menggunakan penakar hujan yang kemudian diukur dengan satuan milimeter (mm) (User2015) Intensitas curah hujan dapat dikategorikan ringan jika dibawah 20mm dalam 24 jam dikategorikan lebat jika di atas 50mm dan dikategorikan sedang jika selang 20mm hingga 50mm (User 2015)

Curah hujan mempengaruhi beberapa sektor diantarannya sektor komunikasi dimana penggunaan frekuensi diatas 10 GHz dapat terkena redaman hujan (Mauludiyanto et al 2009) Akan tetapi curah hujan paling berpengaruh terhadap sektor pertanian Hal ini terbukti bahwa sebagian besar terjadinya penurunan produktifitas dan gagal panen di sektor pertanian adalah terjadinya curah hujan yang tinggi

Tinggi dan rendahnya curah hujan dipengaruhi oleh beberapa faktor yaitu kelembaban udara temperatur dan kecepatan angin Pada tahun 2013 Nur Suri Pradipta Pasukat Sembiring dan Pengarapen Bangun melakukan penelitian mengenai pengaruh curah hujan di kota Medan (Pradipta et al 2013)

9

Berdasarkan penelitian tersebut faktor yang mempengaruhi dan digunakan dalam peramalan curah hujan yaitu

1 Kelembaban udara

Kelembaban udara adalah banyaknya kandungan uap air di atmosfer Udara atmosfer adalah campuran dari udara kering dan uap air selain itu kelembaban udara merupakan komponen cuaca yang mempunyai peranan sangat penting bagi stabilitas kehidupan organisme di bumi maupun unsur-unsur cuaca yang lain (Forest 2015) Kelembaban udara berpengaruh terhadap curah hujan Hal ini didukung penelitian oleh (Sipayung et al 2013) yang menyatakan Kelembaban udara berpengaruh positif terhadap curah hujan

2 Kecepatan angin

Kecepatan angin merupakan kecepatan udara yang bergerak secara horizontal pada ketinggian 2 meter diatas tanah Dalam hal ini faktor yang menentukan kecepatan angin adalah perbedaan tekanan udara antara asal dan tujuan angin Kecepatan angin berpengaruh positif terhadap curah hujan artinya jika kecepatan angin tinggi maka curah hujan akan tinggi (Pradipta et al2013)

3 Suhu udara

Suhu udara merupakan ukuran energi kinetik rata ndash rata dari pergerakan molekul ndash molekul Suhu udara berpengaruh negatif terhadap curah hujan artinya jika suhu udara tinggi maka curah hujan akan berkurang (Pradipta et al2013)

223 Data time series

Data time series adalah data statistik yang telah dihimpun dari masa lampau hingga sekarang dan dapat digunakan sebagai acuan dalam melakukan peramalan terhadap data yang akan datang (Wiyanti amp Pulungan 2012) Data time series juga dapat didefinisikan sebagai sebuah kegiatan mengamati data statistik dimana terdapat korelasi (dependensi) antar datanya sehingga data yang sekarang sedang diamati memiliki ketergantungan dengan satu atau lebih data pengamatan sebelumnya (Mirawati et al 2013)

Terdapat dua teknik prediksi yang menggunakan basis data time series yaitu teknik model matematika statistik dan berdasarkan kecerdasan buatan (Wiyanti amp Pulungan 2012) Analisa time series sendiri memiliki beberapa peruntukan salah satunya digunakan dalam melakukan peramalan untuk masa yang akan datang Dalam penggunaan data time series merupakan salah satu proses peramalan kuantitatif dimana berdasar data kuantitatif masa lampau yang direpresentasikan dalam bentuk angka atau nilai (Mirawati et al 2013)

10

224 Logika Fuzzy

Pada tahun 1965 Prof Lotfi A Zadeh memperkenalkan teori logika fuzzy Logika fuzzy merupakan suatu komponen soft computing dan juga suatu cara yang tepat untuk memetakan suatu ruang input ke dalam ruang output Antara ruang input dan ruang output terdapat black box yang berfungsi memetakan input ke ruang output yang sesuai Dasar logika fuzzy adalah teori fuzzy set Pada teori fuzzy set peranan derajat keanggotaan sebagai penentu keberadaan elemen dalam suatu himpunan sangatlah penting Oleh karena itu derajat keanggotaan menjadi ciri utama dalam penalaran dengan logika fuzzy Logika fuzzy bekerja dengan menggunakan derajat keanggotan dari sebuah nilai yang kemudian digunakan untuk menentukan hasil yang ingin dihasilkan berdasarkan atas kriteria yang telah ditentukan (Kusumadewi 2003)

Berikut adalah beberapa alasan digunakannya logika fuzzy (Kusumadewi 2002)

1 Logika fuzzy sangat fleksibel

2 Konsep logika fuzzy mudah dimengerti dan dipahami

3 Logika fuzzy memiliki toleransi terhadap data ndash data yang homogen dan data ndash data yang kurang tepat

4 Logika fuzzy didasari pada bahasa alami atau bahasa sehari - hari sehingga mudah dimengerti

5 Logika fuzzy dapat bekerjasama dengan teknik ndash teknik kendali secara konvensional

6 Logika fuzzy mampu membangun dan mengaplikasikan pengalaman ndash pengalaman para pakar secara langsung tanpa harus melalui tahap atau proses pelatihan

A Himpunan Fuzzy

Himpunan fuzzy atau fuzzy set merupakan perluasan himpunan tegas atau himpunan crisp jadi fungsi karakteristik mencakup bilangan real pada interval [01] Dalam definisi lain himpunan fuzzy adalah suatu himpunan yang mewakili suatu keadaan atau kondisi tertentu dalam suatu variabel fuzzy Keanggotaan fuzzy berbeda dengan probabilitas jika keanggotaan fuzzy pada setiap fungsi karakteristik memberikan suatu pendapat atau keputusan sedangkan probabilitas menunjukan seberapa besar nilai kebenaran dalam fungsi karakteristik tersebut Contohnya yaitu nilai keanggotaan suatu himpunan fuzzy umur muda 09 berarti nilai dalam himpunan tersebut memiliki kemungkinan 90 anggotanya berumur muda dan 10 diharapkan tidak muda Dalam himpunan fuzzy suatu bilangan bisa memiliki dua keanggotaan sekaligus Himpunan fuzzy memiliki dua attribut (Kusumadewi2003)

11

1 Linguistik merupakan penamaan suatu himpunan yang mewakili suatu keadaan atau kondisi tertentu dengan menggunakan bahasa alami misalnya muda parobaya tua

2 Numeris merupakan suatu nilai (angka) yang menunjukkan ukuran dari suatu

variabel seperti 402550 dan sebagainya

B Fungsi Keanggotaan

Fungsi keanggotaan adalah suatu kurva yang menunjukkan pemetaan titik ndash titik input data ke dalam derajat keanggotaannya yang memiliki subinterval antara 0 sampai 1 (Kusumadewi Purnomo 2004) Salah satu cara yang dapat digunakan untuk mendapatkan nilai keanggotaan adalah dengan melalui pendekatan fungsi Ada beberapa fungsi keanggotaa yang dapat digunakan

1 Fungsi representasi linear

Pada fungsi representasi linear pemetaan input ke derajat keanggotaannya digambarkan sebagai suatu garis lurus Bentuk ini paling sederhana dan menjadi pilihan yang baik untuk mendekati suatu konsep yang kurang jelas Keadaan linear himpunan fuzzy terdiri dari dua keadaan yaitu keadaan linear naik dan keadaan linear turun Pada keadaan linear naik kenaikan himpunan dimulai pada nilai domain yang memiliki nilai derajat keanggotaan nol bergerak ke kanan menuju ke nilai domain yang memiliki derajat keanggotaan yang lebih tinggi seperti yang ditunjukkan Gambar 21 Persamaan fungsi keanggotaan pada representasi linear naik ditunjukkan oleh Persamaan 21

Fungsi Keanggotaan

120583(119909) = 0

(119909 minus 119886)(119887 minus 119886)1

119909 le 119886 119886 le 119909 le 119887119909 ge 119887

(21)

b a 0

1

Gambar 21 Representasi linear naik

Sumber Kusumadewi (2002)

120583(119909)

12

Pada keadaan linear turun berbanding terbalik dengan keadaan linear naik Garis lurus dimulai dari nilai domain dengan derajat keanggotaan tertinggi pada sisi kiri kemudian bergerak menurun ke nilai domain yang memiliki derajat keanggotaan lebih rendah yang ditunjukkan Gambar 22 Persamaan fungsi keanggotaan pada representasi linear turun ditunjukkan oleh Persamaan 22

Fungsi Keanggotaan

120583(119909) = (119887 minus 119909)(119887 minus 119886)0

119886 le 119909 le 119887

119909 ge 119887 (22)

2 Fungsi representasi kurva segitiga

Representasi kurva segitiga pada dasarnya merupakan gabungan antara 2 garis linear yaitu linear naik dan linear turun Fungsi representasi kurva segitiga ditandai oleh adanya tiga parameter abc yang akan menentukan koordinat x dari tiga sudut seperti ditunjukkan pada Gambar 23 Persamaan fungsi keanggotaan pada representasi kurva segitiga ditunjukkan oleh Persamaan 23

b a 0

1

Sumber Kusumadewi (2002)

Gambar 22 Representasi linear turun

120583(119909)

c a 0

1

b

Sumber Kusumadewi (2002)

Gambar 23 Representasi kurva segitiga

120583(119909)

13

Fungsi Keanggotaan

120583(119909) =

0 (119909 minus 119886)(119887 minus 119886) (119887 minus 119909)(119888 minus 119887)

119909 le 119886 119886119905119886119906 119909 ge 119888

119886 le 119909 le 119887 119887 le 119909 le 119888

(23)

225 Metode Fuzzy C-means

Fuzzy C-means (FCM) pertama kali diperkenalkan oleh Dunn dan dikembangkan oleh Bezdek yang banyak digunakan dalam pengenalan pola Metode ini merupakan pengembangan dari metode non-hierarkhi K-Means Cluster selanjutnya dilakukan iterasi sampai mendapatkan keanggotaan kelompok tersebut (Klawon 2001)

FCM merupakan salah satu algoritma fuzzy clustering dan juga teknik klasterisasi dimana tiap data ditentukan oleh derajat keanggotaanya Tujuan penggunaan algoritma FCM yaitu untuk menemukan pusat cluster atau centroid dengan meminimumkan fungsi objektif (Bazdek 1984) Ouput dari FCM bukan merupakan fuzzy inference system melainkan deretan pusat cluster dan beberapa derajat keanggotaan untuk setiap titik data Hasil output ini dapat digunakan untuk membangun suatu fuzzy inference system Berikut adalah langkah ndash langkah dari FCM (Kusumadewi 2004)

1 Langkah pertama menentukan jumlah cluster (c ge 2) pembobot (infin gt 119908 gt1) (Bazdek 1984) maksimum iterasi (maxIter) error minimum yang diharapkan yaitu nilai positif yang sangat kecil (120585) fungsi objektif awal (P0 = 0) iterasi awal dideklarasikan 1

2 Langkah kedua memasukkan data X yang akan diklasterisasi berupa matriks berukuran m x n (m = jumlah sampel data n = attribut setiap data) Contoh Xij = data sampel ke-i (i = 1234m) attribu ke-j (j=1234n)

3 Langkah ketiga yaitu dengan membuat bilangan random microik i = 1234n dan k = 123c (n = jumlah sampel pada data c = jumlah cluster yang akan dibentuk) sebagai elemen ndash elemen matriks partisi awal Untuk bilangan penyusun matriks partisi awal dihitung dihitung jumlahnya setiap kolom yang ditunjukkan pada pada Persamaan 24 (Kusumadewi 2004)

119876119896 = sum 120583119894119896119888119896=1 (24)

Dimana

119876119896 = jumlah bilangan pada kolom k

120583119894119896 = bilangan random pada baris i kolom k

119888 = jumlah kolom

14

Selanjutnya untuk menghitung derajat keanggotaan awal dengan melakukan normalisasi pada matiks partisi pada normalisasi dilakukan menggunakan Persamaan 25 (Kusumadewi 2004)

120583119894119896 = 120583119894119896119876119896 (25)

4 Langkah keempat melakukan perhitungan cluster ke-k Vkj dengan k = 1234c dan j = 1234m Perhitungan pusat cluster ditunjukkan pada Persamaan 26 (Kusumadewi 2004)

119881119896119895 = sum ((120583119894119896)119908 times 119883119894119895)119899

119894=1

sum (120583119894119896)119908119899119894=1

(26)

Dimana

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

120583119894119896 = derajat keanggotaan pada data ke-i cluster ke-k

119883119894119895 = data sampel pada data ke-i attribut ke-j

119908 = pembobot

5 Langkah kelima melakukan perhitungan fungsi objektif pada iterasi ke-t P1 Perhitungan fungsi objektif ditunjukkan pada Persamaan 27 (Kusumadewi 2004)

119875119905 = sum sum ([sum (119883119894119895 minus 119881119896119895)119898119895=1

2](120583119894119896)119908)119888

119896=1119899119894=1 (27)

Dimana

119875119905 = fungsi objektif

119883119894119895 = data sampel ke-i atribut ke-j

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

6 Langkah keenam melakukan perhitungan perbaikan matriks partisi yang telah ditunjukkan Persamaan 28 (Kusumadewi 2004)

120583119894119896 = [sum (119883119894119895minus119881119896119895)119898

119895=12

]

minus1119908minus1

sum [sum (119883119894119895minus119881119896119895)119898119895=1

2]

minus1119908minus1119888

119896minus1

(28)

Dimana

119883119894119895 = data sampel ke-i atribut ke-j

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

119908 = pembobot

7 Langkah ketujuh yaitu melakukan pemerikasaan kondisi berhenti dengan kondisi sebagai berikut

a Jika (|119875119905 minus 119875119905minus1| lt 120585) atau ( t gt MaxIter) maka berhenti

b Jika tidak memenuhi t = t +1 ulangi mulai dari langkah ke-4

15

226 Metode Peramalan dengan Fuzzy Time Series

Pada tahun 1996 Chen memperkenalkan metode peramalan dengan menggunakan metode Fuzzy Time Series Metode Fuzzy Time Series memiliki perbedaan dengan metode peramalan time series biasa atau konvensional yaitu terdapat pada data yang digunakan untuk peramalan Fuzzy Time Series data yang digunakan adalah berupa fuzzy set atau himpunan fuzzy dari bilangan ndash bilangan real atas himpunan semesta yang ditentukan Jadi Fuzzy Time Series merupakan metode dengan menggunakan data berupa fuzzy set yang berasal dari bilangan real atas Universe of Discorse pada data aktual Universe of Discourse adalah himpunan semesta dari data penelitian

Berikut adalah langkah ndash langkah metode Fuzzy Time Series yang telah diperkenalkan oleh Chen terdapat enam langkah yaitu

1 Langkah pertama yaitu membagi Universe of Discourse dari bilangan aktual ke dalam subinterval dengan jumlah interval yang sama Perhitungan Universe of Discourse ditunjukkan pada Persamaan 29 (Chen 1996)

119880 = [119863119898119894119899 minus 1198631 119863119898119886119909 + 1198632] (29)

Dimana

119880 = Universe of Discourse

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

1198631 dan 1198632 = bilangan positif yang ditentukan oleh user untuk menentukan Universe of Discourse dari himpunan data sampel

2 Langkah kedua adalah mendefinisikan fuzzy set dari Universe of Discourse (U) menjadikan A1 A2 A3 An ke dalam fuzzy set dengan nilai linguistik sesuai dengan keadaan U Selanjutnya mendefinisikan fuzzy set tersebut ditunjukkan pada Persamaan 210 (Chen 1996)

1198601 =11989111

1199061+

11989112

1199062+

11989113

1199063+ ⋯ +

1198911119896

119906119896 (210)

1198602 =11989121

1199061+

11989122

1199062+

11989123

1199063+ ⋯ +

1198912119896

119906119896

= + + + +

119860119896 =1198911198961

1199061+

1198911198962

1199062+

1198911198963

1199063+ ⋯ +

119891119896119896

119906119896

Dimana 119891119894119895120598 [01] 1 le 119894 le 119896 dan 1 le 119895 le 119898 Variabel 119891119894119895 menunjukkan

derajat keanggotaan dari subinterval 119906119895 dari fuzzy set 1198601 Pada konsep ini

Chen menggunakan nilai linguistik 1198601 = (not many) 1198602 = (not too many) 1198603= (many) 1198604 = (many many) 1198605 = (very many) 1198606 = (too many) 1198607= (too many many) Kemudian nilai linguistik tersebut dimasukkan ke tiap fuzzy set Dari U tersebut dapat dibangun fuzzy set sebagai berikut

16

1198601 = 1

1199061+

05

1199062+

0

1199063+

0

1199064+

0

1199065+

0

1199066+

0

1199067

1198602 = 05

1199061+

1

1199062+

05

1199063+

0

1199064+

0

1199065+

0

1199066+

0

1199067

1198603 = 0

1199061+

05

1199062+

1

1199063+

05

1199064+

0

1199065+

0

1199066+

0

1199067

1198604 = 0

1199061+

0

1199062+

05

1199063+

1

1199064+

05

1199065+

0

1199066+

0

1199067

1198605 = 0

1199061+

0

1199062+

0

1199063+

05

1199064+

1

1199065+

05

1199066+

0

1199067

1198606 = 0

1199061+

0

1199062+

0

1199063+

0

1199064+

05

1199065+

1

1199066+

05

1199067

1198607 = 0

1199061+

0

1199062+

0

1199063+

0

1199064+

0

1199065+

05

1199066+

1

1199067

3 Langkah ketiga yaitu melakukan fuzzifikasi data historis proses fuzzifikasi merupakan proses merubah data aktual yang merupakan bilangan crisp ke dalam bentuk bilangan fuzzy Bilangan fuzzy yang dimaksudkan adalah dalam bentuk derajat keanggotaan Dari beberapa derajat keanggotaan yang terbentuk kemudian dipilih satu fuzzy set yang memiliki derajat keanggotaan teringgi Fuzzifikasi dinotasikan sebagai berikut jika F(t-1) berada pada fuzzy set Ak maka F(t-1) difuzzifikasikan sebagai Ak

4 Langkah keempat adalah mengidentifikasi Fuzzy Logic Relationship (FLR) FLR diidentifikasikan sebagai Ai dan F(t) difuzzifikasikan sebagai Ai rarr Aj Ai sebagai sisi kiri relationship disebut sebagai current state dan Aj sebagai sisi kanan relationship disebut next state Jika terjadi perulangan relationship maka tetap dihitung satu kali

5 Langkah kelima yaitu mengelompokkan menjadi Fuzzy Logical Relationship Group (FLRG) FLRG dibangun berdasarkan sisi kiri (current state) yang sama

6 Langkah terakhir yaitu langkah keenam adalah melakukan defuzzifikasi nilai keluaran peramalan Defuzzifikasi adalah mengubah nilai keluaran fuzzy menjadi bilangan crisp kembali sehingga diperoleh hasil akhir peramalan Defuzzifikasi didasarkan pada tiga (3) rule aturan yaitu (Chen 1996)

I Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai hanya memiliki satu FLR pada FLRG yaitu dengan kondisi Ai rarr Aj dimana nilai maksimum fungsi keanggotaanya berada pada 119906119895 maka nilai peramalan untuk n+1 adalah

nilai tengah dari 119906119895 atau didefinisikan dengan 119898119895

II Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai memiliki lebih dari satu FLR pada FLRG yaitu dengan kondisi Ai rarr Aj1 Aj2 Ajp Dimana nilai tengah untuk masing ndash masing Aj1 Aj2 Aj3 Ajp adalah mj1 mj2 mj3 mjp

maka nilai peramalan untuk n+1 adalah (mj1 mj2 mj3 mjp) p

III Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai tidak memiliki FLR pada FLRG dimana nilai maksimum fungsi keanggotaannya berada pada 119906119895

17

maka nilai peramalan untuk n+1 adalah nilai tengah dari 119906119895 atau

didefinisikan dengan 119898119895

227 Metode High Order Fuzzy Time Series Multi Factors

Metode High Order Fuzzy Time Series Multi Factors adalah metode Fuzzy Time Series (FTS) yang melibatkan beberapa faktor yang mempengaruhi peramalan dengan berdasarkan beberapa periode waktu sebelum periode yang akan diramalkan dalam proses pembentukkan Fuzzy Logical Relationship (FLR) Hasil peramalan dengan banyak faktor yang mempengaruhi dinilai lebih baik dari pada dengan hanya satu faktor yang mempengaruhi (LinYang 2009) Pada metode ini pembentukkan subinterval yang berfungsi dalam pendefinisian fuzzy set dilakukan dengan menggunakan teknik klasterisasi fuzzy C-means Berikut adalah langkah ndash langkah Metode High Order Fuzzy Time Series Multi Factors (LinYang 2009)

1 Langkah pertama adalah melakukan perhitungan Universe of Discourse (U) Sebelum menghitung nilai U terlebih dulu menghitung nilai mean (rata ndash rata) sampel lalu menghitung nilai standar deviasi (120590) Mean merupakan perhitungan jumlah dari semua nilai dalam kumpulan data kemudian dibagi dengan jumlah total data untuk menghitung nilai mean ditunjukkan pada Persamaan 211 (Weisstein 2015) Standar deviasi merupakan akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel untuk menghitung nilai standar deviasi (120590) ditunjukkan pada Persamaan 212 (Weisstein 2015) Perhitungan U ditunjukkan pada Persamaan 213 (LinYang 2009)

119909 =sum 119909119894

119899119894=1

119899 (211)

Dimana

= mean (rata ndash rata)

119909119894 = nilai data ke-i

119899 = banyak data

120590 = radicsum (119909119894minus ) 2119899

119894=1

119899minus1 (212)

Dimana

120590 = Standar deviasi data

119880 = [119863119898119894119899 minus 120590 119863119898119886119909 + 120590] (213)

Dimana

119880 = Universal 0f Discourse

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

18

2 Langkah kedua yaitu menentukan jumlah cluster data Proses klasterisasi bertujuan untuk membagi U kedalam beberapa subinterval Hasil perhitungan banyaknya cluster apabila bernilai pecahan maka harus dibulatkan menjadi bilangan bulat Perhitungan banyaknya cluster ditunjukkan pada Persamaan 214 (LinYang 2009)

119896 = ||119863119898119894119899 minus 119863119898119886119909|sum |119883(119905)minus119883(119905minus1)|119899

119905=1

119899minus1| (214)

Dimana

119896 = banyaknya jumlah cluster

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

119899 = banyaknya data sampel

119883(119905) = data pada waktu ke-t

3 Langkah ketiga yaitu melakukan pembentukan pusat cluster Pada metode ini proses klasterisasi data menggunakan fuzzy C-means (FCM) untuk mendapatkan pusat cluster sebanyak k Tahapannya U dibagi kedalam k subinterval (119863119898119894119899 1198891) (1198891 1198892) (1198892 1198893) hellip (119889119896minus1 119863119898119886119909) dimana di (i = 123k-1) merupakan titik tengah antara dua pusat cluster k subinterval didefinisikan sebagai 1199061 1199062 1199063 hellip 119906119896 Sehingga dalam hal ini subinterval

dengan panjang berbeda dapat menggambarkan struktur data kompleks dengan baik dan dapat meningkatkan peramalan dibandingkan menggunakan subinterval dengan panjang yang sama (LinYang 2009)

4 Langkah keempat yaitu melakukan pembentukan himpunan fuzzy atau fuzzy set Pada langkah ini fuzzy set direpresentasikan dengan kurva bahu Pembentukkan fuzy set ditunjukkan pada Persamaan 215 (LinYang 2009)

1198601 =11989111

1199061+

11989112

1199062+

11989113

1199063+ ⋯ +

1198911119896

119906119896 (215)

= + + + +

119860119896 =1198911198961

1199061+

1198911198962

1199062+

1198911198963

1199063+ ⋯ +

119891119896119896

119906119896

5 Langkah kelima yaitu proses fuzzifikasi Proses fuzzifikasi bertujuan untuk mengubah data sampel yang masih berupa bilangan crisp sehingga menjadi bilangan fuzzy Masing ndash masing data dihitung derajat keanggotaannya terhadap fuzzy set yang sudah terbentuk selajutnya derajat kanggotaan dihitung berdasarkan kurva bahu dan derajat keanggotaan tertinggi menunjukkan hasil fuzzifikasi data tersebut Contohnya A(t) B(t) C(t) dan D(t) dimana t= 123n merupakan time series dari faktor yang mempengaruhi serta n merupakan banyaknya data Berdasarkan pembagian subinterval masing ndash masing time series ini difuzzifikasikan Misalkan hasil dari Persamaan 215 yaitu menghitung banyak cluster dari k1 k2 k3 k4 Jadi time series difuzzifikasikan menjadi empat fuzzy time series yaitu

19

A(ti) dimana i = 1234k1

B(tj) dimana j = 1234k2

C(tp) dimana p = 1234k3

D(tq) dimana q = 1234k4 t = 123n

6 Langkah keenam yaitu melakukan pembentukkan Fuzzy Logical relationship (FLR) Data sampel sebanyak n periode dipilih sebagai data training untuk membentuk fuzzy time series model Misalkan t merupakan periode waktu yang akan diramal dengan menggunakan order ndash 3 maka tiga periode sebelum periode t adalah t-3 t-2 dan t-1 dimana t = 456n Maka FLR yang dihasilkan ditunjukkan pada Persamaan 216 dan berdasarkan persamaan tersebut maka akan membentuk sebuah kumpulan FLR dari data training (LinYang 2009)

(119860(119905minus31198943) 119861(119905minus31198953) 119862(119905minus31199013) 119863(119905minus31199023)) (216)

(119860(119905minus21198942) 119861(119905minus21198952) 119862(119905minus21199012) 119863(119905minus21199022))

(119860(119905minus11198941) 119861(119905minus11198951) 119862(119905minus11199011) 119863(119905minus11199021)) rarr 119860(1199051198944)

Tabel 22 Fuzzy Logic Relationship

(119860(119905minus31198943) 119861(119905minus31198953) 119862(119905minus31199013) 119863(119905minus31199023))

(119860(119905minus21198942) 119861(119905minus21198952) 119862(119905minus21199012) 119863(119905minus21199022))

(119860(119905minus11198941) 119861(119905minus11198951) 119862(119905minus11199011) 119863(119905minus11199021)) rarr 119860(1199051198944)

(119860(119905minus21198943) 119861(119905minus21198953) 119862(119905minus21199013) 119863(119905minus21199023))

(119860(119905minus11198942) 119861(119905minus11198952) 119862(119905minus11199012) 119863(119905minus21199022))

(119860(1199051198941) 119861(1199051198951) 119862(1199051199011) 119863(1199051199021)) rarr 119860(119905+11198944)

(119860(119905+119899minus71198943) 119861(119905+119899minus71198953) 119862(119905+119899minus71199013) 119863(119905+119899minus71199023))

(119860(119905+119899minus61198942) 119861(119905+119899minus61198952) 119862(119905+119899minus61199012) 119863(119905+119899minus61199022))

(119860(119905+119899minus51198941) 119861(119905+119899minus51198951) 119862(119905+119899minus51199011) 119863(119905+119899minus51199021)) rarr 119860(119905+119899minus41198944)

Sumber (LinYang 2009)

7 Langkah terakhir adalah proses Defuzzifikasi Berdasarkan langkah sebelumnya maka dapat diambil hasil fuzzy ke- H yaitu yang digunakan sebagai data testing atau data uji seperti yang ditunjukkan pada Persamaan 217 (LinYang 2009)

(119860(119867minus31198943) 119861(119867minus31198953) 119862(119867minus31199013) 119863(119867minus31199023)) (217)

(119860(119867minus21198942) 119861(119867minus21198952) 119862(119867minus21199012) 119863(119867minus21199022))

(119860(119867minus11198941) 119861(119867minus11198951) 119862(119867minus11199011) 119863(119867minus11199021)) rarr 119860(1198671198944)

20

Faktor ndash faktor di ruas kiri pada Persaman 217 dibandingkan satu per satu dengan FLR data training yang sudah dicatat sebelumnya pada Tabel 22 membandingkannya yaitu dengan cara menghitung nilai absolut dari selisih antara pangkat bawah kedua faktor pada posisi yang sama di FLR Terdapat 12 fuzzy set di ruas kiri pada masing ndash masing FLR sehingga dari hasil perbandingan diperoleh 12 nilai absolut yang kemudian dijumlahkan untuk mendapat total selisihnya Jadi jika total selisih lebih kecil dari threshold yang ditentukan maka FLR tersebut dinyatakan cocok (LinYang 2009)

Selanjutnya jika FLR menemukan N pasangan yang cocok pada Tabel 22 maka N faktor di ruas kanan dari N FLR ini mendasari peramalan fuzzy set A() yang mana jumlah dari setiap fuzzy set pada umumnya berbeda Untuk peramalan dengan fuzzy set ditunjukkan pada Tabel 23 (LinYang 2009)

Tabel 23 Peramalan fuzzy set

Ruas Kanan A(1) A(2) A(3) A(k1)

Pusat cluster c1 c2 c3 ck1

Frekuensi f1 f2 f3 fk1

Sumber (Lin Yang 2009)

Berdasarkan Tabel 23 dengan menggunakan metode centroid untuk melakukan proses defuzzifikasi Proses defuzzifikasi dapat ditunjukkan pada Persamaan 218 (LinYang 2009)

119903119867 =sum 119888119894times 119891119894

1198961119894=1

sum 119891119894119896119894119894=1

(218)

Dimana

119903119867 = hasil (result) peramalan data ke-H

119888119894 = pusat cluster i dimana A(i) adalah ruas kanan dari FLR hasil proses pencocokan

119891119894 = frekuensi banyaknya muncul A(i) pada saat proses pencocokan

228 Perhitungan keakuratan metode peramalan

Dalam perencanaan peramalan tentu menginginkan hasil ramalan yang tepat atau paling tidak hampir mendekati sehingga rencana yang dibuat menjadi rencana yang realistis Keakuratan atau ketepatan merupakan yang menjadi kriteria performance suatu metode peramalan Keakuratan tersebut dapat dinyatakan sebagai kesalahan peramalan (forecast error) Semaikin kecil nilai kesalahan peramalan maka semaikin tinggi keakuratan metode peramalan yang digunakan dan sebaliknya semakin tinggi nilai kesalahan maka semakin rendah keakuratan metode peramalan yang digunakan

Mean Square Error (MSE) adalah salah satu metode yang digunakan untuk menghitung nilai akurasi atau keakuratan dari metode yang digunakan sebagai peramalan atau prediksi MSE merupakan perhitungan pangkat dua dari selisih

21

antara nilai data hasil peramalan dengan nilai data aktual dan kemudian dibagi dengan banyaknya data yang telah diramalkan Pada penentuan nilai evaluasi memilih menggunakan metode MSE karena metode ini dapat menunjukan hasil skala kemiripan antara hasil data peramalan dengan data aktual Berikut merupakan metode Mean Square Error (MSE) yang ditunjukan pada Persamaan 219 (Wang Chen 2009)

119872119878119864 = sum (119865119905minus119860119905)2119899

119894=1

119899 (219)

Dimana 119872119878119864 = nilai Mean Square Error Rate 119860119905 = nilai aktual pada data ke-t 119865119905 = nilai hasil peramalan untuk data ke-t n = banyaknya data

22

BAB 3 METODOLOGI

Pada bab ini akan dibahas mengenai metode yang digunakan beserta tahap ndash tahap pengerjaan penelitian skripsi dengan judul ldquoPeramalan Curah Hujan dengan Metode High Order Fuzzy Time Series Multi Factorsrdquo Penilitian ini digolongkan sebagai penelitian implementatif dengan pendekatan perancangan (design)

Metode penelitian ini meliputi studi literatur pengumpulan data perancangan implementasi pengujian dan analisis pengambilan kesimpulan Berikut adalah alur dari metode penelitian dapat ditunjukkan pada Gambar 31

31 Studi Literatur

Pada tahap studi literatur penelitian ini bertujuan untuk mempelajari literatur dan konsep dari beberapa informasi dan pustaka yang berkaitan dengan penelitian ini Literatur dan sumber ilmu dari penelitian ini diperoleh dari internet buku dan bimbingan oleh dosen pembimbing Adapun literatur yang dipelajari yaitu tentang curah hujan serta faktor ndash faktor yang mempengaruhinya dan metode High Order Fuzzy Time Series Multi Factors

Studi Literatur

Pengumpulan Data

Perancangan

Implementasi

Pengujian dan Analisis

Kesimpulan dan Saran

Gambar 31 Diagram blok metodologi penelitian

23

32 Pengumpulan Data

Pada tahap pengumpulan penelitian ini sumber data yang diperoleh yaitu dari Badan Meteorologi Klimatologi dan Geofisikia (BMKG) Stasiun Klimatologi Kelas III Karangkates Kabupaten Malang Data yang diperoleh untuk peramalan curah hujan yaitu data aktual time series (2011 - 2016) Data yang digunakan dalam bentuk dasarian yaitu dalam rentang waktu sepuluh hari sehingga dalam satu bulan dibagi menjadi tiga dasarian

Dasarian pertama yaitu pada tanggal 1 sampai dengan 10

Dasarian kedua yaitu pada tanggal 11 sampai dengan 20

Dasarian ketiga yaitu pada tanggal 21 sampai dengan akhir bulan

Pada penelitian ini data curah hujan dalam satuan milimeter (mm) kelembaban dalam persen () suhu udara dalam satuan celsius (˚C) kecepatan angin dalam satuan kilometer per jam (kmjam)

33 Perancangan

Pada tahap perancangan penelitian ini bertujuan untuk mengetahui rancangan ndash rancangan yang merupakan langkah yang dilakukan saat melakukan tahap implementasi Pada tahap ini terdapat beberapa perancangan yaitu perancangan proses yang berisi tahapan ndash tahapan proses metode High Order Fuzzy Time Series Multi Factors perhitungan manual yang merupakan manualisasi dari metode yang digunakan pada penelitian ini perancangan antar muka atau user interface yang berisi gambaran kasar dari tampilan antar muka prototype aplikasi yang nantinya diterapkan pada tahap implementasi selanjutnya adalah perancangan pengujian yang berisi rancangan ndash rancangan pengujian metode yang digunakan untuk mengetahui berapa tingkat kesalahan atau error yang dimiliki metode pada penelitian ini dalam melakukan peramalan curah hujan

34 Implementasi

Pada tahap implementasi peneltian ini dilakukan sesuai dengan perancangan yang telah dibuat pada tahapan perancangan sebelumnya Implementasi dari metode High Order Fuzzy Time Series Multi Factors dilakukan menggunakan bahasa pemrograman java serta Integrated Development Environment (IDE) yang digunakan adalah Netbeans Sehingga nantinya hasil dari tahap ini berupa prototype aplikasi dari implementasi metode High Order Fuzzy Time Series Multi Factors untuk peramalan curah hujan

35 Pengujian dan Analisis

Pada tahapan penelitian pengujian ini diperlukan perangkat lunak dan perangkat keras agar pengujian dari hasil implementasi dapat berjalan dengan baik maka pengujian perangkat lunak dijalankan pada laptop ataupun PC (Personal Computer) dengan spesifikasi sebagai berikut

24

1 Prosesor Intel Core i3

2 Memory RAM 8 Gigabytes

3 Sistem Operasi menggunakan Windows 7 64bit

4 Hardisk dengan kapasitas 500 GB

5 Netbeans 81 JDK 7

Pengujian hasil peramalan menggunakan metode High Order Fuzzy Time Series Multi Factors yaitu menggunakan metode Mean Square Error (MSE) Dimana rumus pengujian sesuai dengan Persamaan 219 Dalam pengujian menggunakan metode ini semakin kecil nilai MSE maka semakin tinggi tingkat akurasi hasil peramalan tersebut Pada penelitian ini untuk keperluan pengujian dari proses implementasi dilakukan empat pengujian yaitu pengujian terhadap perbedaan nilai order pengujian terhadap perbedaan nilai threshold pengujian terhadap data training untuk mengetahui pengaruhnya terhadap nilai MSE dan pengujian validasi sistem untuk mengetahui bahwa hasil implementasi metode High Order Fuzzy Time Series Multi Factors dapat melakukan peramalan

36 Kesimpulan dan Saran

Pada pengambilan kesimpulan akan dilakukan apabila semua tahapan ndash tahapan penelitian sudah dilakukan yaitu yang meliputi perancangan implementasi dan pengujian dan analisis telah selesai dilakukan Kesimpulan merupakan tahapan dimana semua rumusan masalah yang sudah ditetapkan sebelumnya dapat terjawab semua Selanjutnya pada saran merupakan berkenaan dengan hasil yang telah dicapai untuk memperbaiki kekurangan - kekurangan yang terjadi pada penelitian ini serta memberikan pertimbangan pada pengembangan penelitian lebih lanjut

25

BAB 4 PERANCANGAN

Pada bab ini berisi tentang perancangan yang nantinya digunakan sebagai dasar dalam tahap implementasi Hal yang dibahas meliputi perancangan proses perhitungan manual perancangan pengujian dan perancangan antar muka

41 Perancangan Proses

Pada perancangan proses ini berisi mengenai tahapan ndash tahapan dari metode yang digunakan yaitu metode High Order Fuzzy Time Series Multi Factors Pada penelitian ini melibatkan faktor ndash faktor yang mempengaruhi curah hujan yaitu suhu udara kelembaban udara dan kecepatan angin Data time series dari curah hujan merupakan faktor utama dalam proses peramalan pada penelitian ini Inputan pada peneltian ini yaitu data time series curah hujan serta faktor ndash faktor yang mempengaruhinya Order yang digunakan pada metode ini merupakan order lebih dari satu oleh karena itu disebut dengan High Order Order merupakan urutan jumlah dari data time series pada periode waktu t yang mempengaruhi nilai data Berikut merupakan diagram alir dari proses peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors yang ditunjukkan pada Gambar 41 dan Gambar 42

Gambar 41 Diagram alir metode penelitian yang digunakan (bagian 1)

Mulai

Data curah hujan suhu kelembaban kecepatan angin jmlh_Banyakdata jmlh_Faktor

Universe_of_Discourse

A

Jumlah_Cluster

26

411 Proses perhitungan Universe of Discourse

Pada perhitungan Universe of Discourse harus sudah dilakukan inputan data agar dapat memulai tahapan perhitungan Tahapan dari proses perhitungannya yaitu pada langkah pertama dilakukan perhitungan nilai mean (rata ndash rata) sesuai dengan Persamaan 211 Setelah mendapatkan nilai mean dapat dilakukan perhitungan untuk mencari nilai standar deviasi sesuai dengan Persamaan 212 Selanjutnya dicari nilai terkecil (119863119898119894119899) dan nilai terbesar (119863119898119886119909) Setelah menyelesaikan tahap ndash tahap tersebut dapat dilakukan perhitungan untuk

Gambar 42 Diagram alir metode penelitian yang digunakan (bagian 2)

A

Perhitungan Pusat Cluster

Fuzzifikasi

Pembentukan Fuzzy Logical Relationship

Defuzzifikasi

Nilai hasil peramalan

Berhenti

Pembentukan Subinterval dan Fuzzy set

27

mencari Universe of Discourse sesuai dengan Persamaan 213 Berikut merupakan diagram alir dari proses perhitungan Universe of Discourse yang ditunjukkan pada Gambar 43

Perhitungan Universe of Discourse

Mulai

Min_dan_Max

mean

standar_deviasi

for i = 0 to jmlh_Faktor-1

i

hsl_uMin ke i = hsl_min ke i ndash hsl_stdev ke i

hsl_uMax ke i = hsl_max ke i + hsl_stdev ke i

hsl_uMin hsl_uMax

Berhenti

Gambar 43 Diagram alir proses perhitungan Universe of Discourse

28

4111 Proses perhitungan Mean

Pada proses perhitungan mean merupakan nilai rata ndash rata dari setiap faktor dimana nilai mean ini nantinya dibutuhkan untuk melakukan proses perhitungan standar deviasi Berikut merupakan diagram alir dari proses perhitungan mean yang ditunjukkan pada Gambar 44

mean

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to jmlh_DataTraining

tmp_jmlh = 0

tmp_jmlh = tmp_jmlh + data ke ij

j

hsl_mean ke i = tmp_jmlhjmlh_DataTraining

i

hsl_mean

Berhenti

Gambar 44 Diagram alir proses perhitungan mean

29

4112 Proses perhitungan standar deviasi

Pada proses perhitungan standar deviasi dapat dilakukan setelah mendapatkan nilai mean dari setiap data sesuai proses sebelumnya Berikut merupakan diagram alir dari proses perhitungan standar deviasi yang ditunjukkan pada Gambar 45

standar_deviasi

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to jmlh_DataTraining

result = 0

result = result + (data ke ij ndash mean ke i)2

j

hsl_stdev ke i = radicresult

jmlh_DataTrainingminus1

i

hsl_stdev

Berhenti

Gambar 45 Diagram alir proses perhitungan standar deviasi

30

4113 Proses perhitungan nilai Dmin dan Dmax

Pada proses perhitungan ini merupakan proses perhitungan untuk mencari nilai terkecil dan terbesar dari setiap faktor data Setelah mendapat nilai terkecil dan terbesar maka data dilakukan proses perhitungan Universe of Discourse Berikut merupakan diagran alir dari proses perhitungan nilai Dmin dan Dmax yang ditunjukkan pada Gambar 46

Gambar 46 Diagram alir perhitungan nilai Min dan Max

ya

ya

tidak

tidak

Min_dan_Max

Mulai

for i = 0 to jmlh_Faktor-1

besar = data ke i0

kecil = data ke i0

for j=0 to jmlh_DataTraining

data ke ij gt besar

besar = data ke ij

data ke ij lt kecil

kecil = data ke ij

j

hsl_max ke i = besar

hsl_min ke i = kecil

i

hsl_max hsl_min

Berhenti 1

1

2

2

3

4

4

5

5

3

31

412 Proses perhitungan jumlah cluster

Pada proses perhitungan jumlah cluster memiliki masukkan proses Dmin dan Dmax

dari proses perhitungan sebelumnya Pada proses ini terdapat perhitungan nilai dari selisih setiap data Pada perhitungan jumlah cluster sesuai dengan Persamaan 214 Berikut merupakan langkah ndash langkah perhitungan jumlah cluster yang ditunjukkan pada Gambar 47

jumlah_Cluster

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to (jmlh_DataTraining-1)

Berhenti

hsl_max hsl_min

selisih = 0

selisih = selisih + |data ke ij ndash data ke i (j+1)|

j

jmlh_Cluster ke i = |ℎ119904119897_119898119894119899 119896119890 119894minusℎ119904119897_119898119886119909 119896119890 119894|

119904119890119897119894119904119894ℎ

119895119898119897ℎ_119863119886119905119886119879119903119886119894119899119894119899119892minus1

i

jmlh_Cluster

Gambar 47 Diagram alir proses perhitungan jumlah cluster

32

413 Proses perhitungan pusat cluster

Pada proses perhitungan pusat cluster ini diperlukan beberapa variabel yang harus dideklarasikan terlebih dahulu yaitu nilai bobot fungsi objektif nilai iterasi awal nilai iterasi maksimum dan error terkecil Perhitungan subinterval ini menggunakan metode fuzzy C-means yang diawali dengan pencarian pusat cluster terlebih dahulu Berikut merupakan langkah ndash langkah perhitungan subinterval yang ditunjukkan pada Gambar 48 Gambar 49 Gambar 410 Gambar 411 Gambar 412

Gambar 48 Diagram alir proses perhitungan pusat cluster (bagian 1)

Perhitungan pusat cluster

Mulai

jmlh_Cluster

for i = 0 to jmlh_Faktor-1

Deklarasi bobot selisih_f_objektif

iter_maksimum error_min

Pembentukan Matriks partisi faktor A jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor A

for iter = iter to iter_maksimum

A

i == 0

Perhitungan pusat_cluster1 faktor A

B C D

tidak

ya

33

Gambar 49 Diagram alir proses perhitungan pusat cluster (bagian 2)

ya

tidak

tidak

ya

Perhitungan f_objektif faktor A

A B C D

Perhitungan selisih_f_objektif faktor A

Perbaikan matriks partisi faktor A

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster1 faktor A

Iter = iter_maksimum

iter

i == 1

Pembentukan Matriks partisi faktor B jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor B

for iter = iter to iter_maksimum

F A G E

34

tidak

tidak

ya

A E F G

Perhitungan pusat_cluster2 faktor B

Perhitungan f_objektif faktor B

Perhitungan selisih_f_objektif faktor B

Perbaikan matriks partisi faktor B

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster2 faktor B

Iter = iter_maksimum

iter

i == 2

Pembentukan Matriks partisi faktor C jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor C

I A H

Gambar 410 Diagram alir proses perhitungan pusat cluster (bagian 3)

ya

35

tidak

tidak

Gambar 411 Diagram alir proses perhitungan pusat cluster (bagian 4)

ya

A H I

for iter = iter to iter_maksimum

Perhitungan pusat_cluster3 faktor C

Perhitungan f_objektif faktor C

Perhitungan selisih_f_objektif faktor C

Perbaikan matriks partisi faktor C

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster3 faktor C

Iter = iter_maksimum

iter

i == 3

Pembentukan Matriks partisi faktor D jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor D

J A K

ya

36

tidak

ya

Gambar 412 Diagram alir proses perhitungan pusat cluster (bagian 5)

A K J

for iter = iter to iter_maksimum

Perhitungan pusat_cluster4 faktor D

Perhitungan f_objektif faktor D

Perhitungan selisih_f_objektif faktor D

Perbaikan matriks partisi faktor D

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster4 faktor D

Iter = iter_maksimum

iter

i

pusat_cluster1pusat_cluster2 pusat_cluster3pusat_cluster4

Berhenti

37

tidak

ya

tidak

ya

Gambar 413 Diagram alir pembentukan subinterval dan fuzzy set (bagian 1)

414 Proses pembentukan subinterval dan Fuzzy set

Pada proses pembentukan fuzzy set atau himpunan fuzzy pada penelitian ini dapat dilakukan setelah perhitungan subinterval selesai dilakukan Nilai subniterval merupakan masukan utama pada pembentukkan fuzzy set Pembentukan fuzzy sesuai dengan Persamaan 215 Berikut merupakan langkah ndash langkah proses pembentukan fuzzy set yang ditunjukkan pada Gambar 413 dan Gambar 414

Pembentukan subinteval dan Fuzzy set

Mulai

pusat_cluster1pusat_cluster2 pusat_cluster3pusat_cluster4

for i = 0 to jmlh_Faktor-1

Menentukan batas_subintervalMinA dan

batas_subintervalMaxA

Menentukan batas_fuzzysetMinA dan batas_fuzzysetMaxA

i == 0

i == 1

Menentukan batas_subintervalMinB dan

batas_subintervalMaxB

Menentukan batas_fuzzysetMinB dan batas_fuzzysetMaxB

A C B

38

tidak

tidak

ya

ya

415 Proses Fuzzifikasi

Pada proses fuzzifikasi ini pembentukanya sesuai derajat keanggotaan pada setiap data Pada proses ini derajat keanggotaan dihitung berdassarkan fungsi keanggotaan kurva bahu Hasil dari proses ini merupakan data yang sudah difuzzifikasikan menjadi data fuzzy Berikut langkah ndash langkah dari proses fuzzifikasi ditunjukkan pada Gambar 415 dan Gambar 416

i == 2

A B C

Menentukan batas_subintervalMinC dan batas_subintervalMaxC

Menentukan batas_fuzzysetMinC dan batas_fuzzysetMaxC

i == 3

Menentukan batas_subintervalMinD dan batas_subintervalMaxD

Menentukan batas_fuzzysetMinD dan batas_fuzzysetMaxD

i

batas_fuzzysetMinA batas_fuzzysetMaxA batas_fuzzysetMinB batas_fuzzysetMaxB batas_fuzzysetMinC batas_fuzzysetMaxC batas_fuzzysetMinD batas_fuzzysetMaxD

Berhenti

Gambar 414 Diagram alir pembentukan subinterval dan fuzzy set (bagian 2)

39

tidak

ya

ya

tidak

Fuzzifikasi

Mulai

for i = 0 to jmlh_Faktor-1

Menentukan hasil_fuzzifikasiA dari faktor A

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinA batas_fuzzysetMaxA

Gambar 415 Diagram alir proses fuzzifikasi (bagian 1)

batas_fuzzysetMinA batas_fuzzysetMaxA batas_fuzzysetMinB batas_fuzzysetMaxB batas_fuzzysetMinC batas_fuzzysetMaxC batas_fuzzysetMinD batas_fuzzysetMaxD

DD

i == 0

i == 1

Menentukan hasil_fuzzifikasiB

dari faktor B

Menghitung derajat keanggotaan

berdasarkan batas_fuzzysetMinB

batas_fuzzysetMaxB

C A B

40

tidak

ya

ya

tidak

ya

i == 2

A B C

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinC batas_fuzzysetMaxC

Menentukan hasil_fuzzifikasiC dari faktor C

i == 3

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinD

batas_fuzzysetMaxD

Menentukan hasil_fuzzifikasiD dari faktor D

i

hasil_fuzzifikasiA hasil_fuzzifikasiB hasil_fuzzifikasiC hasil_fuzzifikasiD

Berhenti

Gambar 416 Diagram alir proses fuzzifikasi (bagian 2)

41

tidak

ya

416 Proses pembentukan Fuzzy Logical Relationship

Setelah data melalui proses fuzzifikasi dan sudah menjadi data fuzzy maka dapat dilakukan pembentukan Fuzzy Logical Relationship (FLR) Pembentukan FLR dilakukan sesuai dengan Persamaan 216Berikut adalah langkah ndash langkah proses pembentukan Fuzzy Logical Relationship (FLR) yang ditunjukkan pada Gambar 417 Gambar 418 dan Gambar 419

Gambar 417 Diagram alir proses Pembentukan FLR

(bagian 1)

Pembentukan Fuzzy Logical Relationship

Mulai

hasil_fuzzifikasiAhasil_fuzzifikasiB hasil_fuzzifikasiChasil_fuzzifikasiD order

for i = 0 to jmlh_dataTraining

max_inc = order jmlh_dataTraining = dataTraining - order

for j = i to max_inc

for k = 0 to jmlh_Faktor-1

j == 0

FLR_kiri_training ke ijk = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D)

ke j

E A B C D

42

ya

tidak

ya

tidak

A B C E D

FLR_kiri_training ke i(j-i)k = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D) ke j

j = 0

k

j

FLR_kanan_training ke i = hasil_fuzzifikasiA ke (i+order)

Max_inc lt (jmlh_DataTraining-1)

i

tmp_JmlhDatatraining = tmp_JmlhDatatraining +1

max_inc = max_inc + 1 tmp_JmlhDatatraining = i

Gambar 418 Diagram alir proses Pembentukan FLR (bagian 2)

for j = 0 to tmp_JmlhDatatraining

for j = tmp_JmlhDatatraining to max_inc

for k = 0 to jmlh_Faktor-1

I H G F

43

tidak

ya

417 Proses Defuzzifikasi

Proses defuzzifikasi merupakan proses akhir dimana keluaran dari proses ini merupakan nilai hasil peramalan Data yang diperlukan pada proses defuzzifikasi adalah hasil dari proses pembentukan Fuzzy Logical Relationship (FLR) nilai threshold yang harus dideklarasikan sebelumnya jumlah data training dan jumlah data testing Dalam proses ini dilakukan perhitungan selisih pada FLR antara data testing dan data training FLR yang dihitung nilai selisihnya adalah FLR pangkat bawah yang terdapat pada ruas kiri Setelah dilakukan perhitungan selisih dan total jumlah selisih lebih kecil dari nilai threshold maka pada setiap FLR yang

I H G F

FLR_kiri_testing ke i(j-tmp_jmlhDatatraining) k = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D) ke j

k

j

FLR_kanan_testing ke i = hasil_fuzzifikasiA ke (i+order)

i

Max_inc lt (jmlh_DataTraining-1)

max_inc = max_inc + 1 tmp_JmlhDatatraining++

FLR_kiri_training FLR_kanan_training FLR_kiri_testing FLR_kanan_testing

Mulai

Gambar 419 Diagram alir proses Pembentukan FLR (bagian 3)

44

ya

tidak

sesuai dengan kondisi tersebut dapat dikatakan cocok atau dapat dilakukan ke tahap perhitungan selanjutnya Setelah mendapatkan FLR yang cocok maka dilakukan pengelompokkan berdasarkan FLR ruas kanan Pengelompokkan ini dihitung jumlah frekuensi yang sama sesuai dengan fuzzy set di ruas kanan Selanjutnya untuk memperoleh hasil peramalan dilakukan proses perhitungan sesuai dengan Persamaan 218 Berikut adalah langkah ndash langkah proses defuzzifikasi yang ditunjukkan pada Gambar 420 dan Gambar 421

Gambar 420 Diagram alir proses defuzzifikasi (bagian 1)

Defuzzifikasi

Mulai

FLR_kiri FLR_kanan order dataTraining dataTesting konstanta

threshold = (jmlh_Faktor x order)+konstanta

for i = 0 to dataTesting

for j = 0 to (dataTraining-i)

Perhitungan hitung_selisih antara FLR_kiri data training dan data testing

hitung_selisih lt threshold

match ke ij = hitung_selisih

j

i

A

45

Gambar 421 Diagram alir proses defuzzifikasi (bagian 2)

A

Menghitung jumlah total FLR_kiri yang cocok untuk setiap data testing

Mencocokan FLR_kiri yang cocok dengan FLR_kanan untuk setiap data testing

for i = 0 to dataTesting

Menghitung frekuensi setiap FLR_kanan yang cocok untuk setap data testing

for j = 0 to jumlah total FLR kiri yang cocok

peramalan = peramalan + Frekuensi setiap FLR_kanan yang cocok x pusat_cluster1

sesuai dengan value FLR_kanannya

j

hasil_peramlan ke i = peramalan jumlah total FLR kiri yang cocok

i

Hasil_permalan

Berhenti

46

42 Perhitungan Manual

Dalam perhitungan manual ini data sampel yang digunakan merupakan data time series dasarian ke-2 pada periode April 2014 sampai dengan dasarian ke-2 Juli 2014 data sampel ditunjukkan pada Tabel 41

Tabel 41 Data Sampel Perhitungan Manual

No Dasarian Curah Hujan

(A)

Suhu (B) Kelembaban (C)

Kecepatan Angin(D)

1 Dasarian 2 (April 2014) 95 2615 8248 629

2 Dasarian 3 (April 2014) 90 2612 8247 628

3 Dasarian 1 (Mei 2014) 94 2607 8247 627

4 Dasarian 2 (Mei 2014) 83 2625 8232 623

5 Dasarian 3 (Mei 2014) 85 2628 8235 623

6 Dasarian 1 (Juni 2014) 92 2609 8241 626

7 Dasarian 2 (Juni 2014) 86 2627 8235 624

8 Dasarian 3 (Juni 2014) 89 2621 8238 624

9 Dasarian 1 (Juli 2014) 93 2607 8242 626

10 Dasarian 2 (Juli 2014) 86 2626 8237 623

Sumber BMKG Kelas III Karangkates Malang

421 Perhitungan Universe of Discourse (U)

Sebelum melakukan perhitungan U maka harus dicari terlebih dahulu nilai 119863119898119894119899 119863119898119886119909 dan standar deviasi 119863119898119894119899 adalah nilai minimum atau nilai terkecil dari data sampel yang ada sedangkan 119863119898119886119909 adalah nilai maksimum atau nilai paling besar dari data sampel yang ada Untuk mencari nilai standar deviasi harus menghitung nilai mean (rata ndash rata) terlebih dahulu sesuai dengan Persamaan 211 Mean dari data curah hujan (A) dihitung dengan cara sebagai berikut

Mean = (data ke-1 + data ke-2 + data ke-3 + + data ke-10) 10

= (95 + 90 + 94 + 83 + 85 + 92 + 86 + 89 + 93 + 86) 10

= 893 10

= 893

Selanjutnya setelah diperoleh nilai mean dilanjutkan melakukan perhitungan standar deviasi sesuai dengan Persamaan 212 Standar deviasi adalah akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel Untuk menghitung standar deviasi agar lebih mudah kita terlebih dahulu melakukan perhitungan nilai kuadrat dari selisih data ke-i dan mean yang ditunjukkan pada Tabel 42

47

Tabel 42 Hasil kuadrat dari selisih data ke-i dan mean

i Data ke-i Data ke-i mean (Data ke-i - mean)sup2

1 95 57 32490

2 90 07 0490

3 94 47 22090

4 83 -63 39690

5 85 -43 18490

6 92 27 7290

7 86 -33 10890

8 89 -03 0090

9 93 37 13690

10 86 -33 10890

Jumlah 1561

Setelah mendapatkan hasil nilai kuadrat dari selisih data ke-i dan mean sesuai dengan Tabel 42 maka dapat dilanjutkan melakukan perhitungan standar deviasi dengan cara sebagai berikut

Standar_deviasi = radic1

10minus1sum (119889119886119905119886 119896119890 minus 119894 minus 119898119890119886119899)10

119894=1

2

= radic1

9 times 1561

= 4165

Untuk perhitungan standar deviasi juga dilakukan pada faktor lainnya yaitu suhu (B) kelembaban (C) dan kecepatan angin (D) Hasil perhitungan 119863119898119894119899 119863119898119886119909 dan standar deviasi ditunjukkan pada Tabel 43

Tabel 43 Nilai minimum nilai maksimum dan standar deviasi

Data D min D max Standar Deviasi

A 83 95 4165

B 2607 2628 0086

C 8232 8248 0057

D 623 629 0022

Berdasarkan hasil yang ditunjukkan Tabel 43 selanjutnya dapat dilakukan perhitungan nilai U sesuai dengan Persamaan 213 Berikut adalah perhitungan U pada data A

U = [119863119898119894119899 minus 120590 119863119898119886119909 + 120590]

= [(83 ndash 4165) (95 ndash 4165)]

= [78835 99165]

48

Untuk perhitungan U juga dilakukan pada semua faktor yaitu data B C dan D Sehingga diperoleh nilai U yang ditunjukkan pada Tabel 44

Tabel 44 Hasil Universe of Discourse

Data U

Batas Bawah Batas Atas

A 78835 99165

B 25984 26366

C 82263 82537

D 6208 6312

422 Perhitungan jumlah cluster (k)

Pada perhitungan jumlah cluster langkah pertamanya adalah mencari nilai absolut dari selisih data hari ke-t dengan hari sebelumnya Perhitungan selisih dilakukan hingga data ke-10 Perhitungan nilai selisih dilakukan pada semua data A B C dan D Selanjutnya masing ndash masing nilai selisih dijumlah sehingga hasilnya seperti ditunjukkan pada Tabel 45

Tabel 45 Nilai absolut selisih data hari ke-t dengan hari sebelumnya

No Tanggal A B C D

1 Dasarian 3 (April 2014) 5 003 001 001

2 Dasarian 1 (Mei 2014) 4 005 0 001

3 Dasarian 2 (Mei 2014) 11 018 015 004

4 Dasarian 3 (Mei 2014) 2 003 003 0

5 Dasarian 1 (Juni 2014) 7 019 006 003

6 Dasarian 2 (Juni 2014) 6 018 006 002

7 Dasarian 3 (Juni 2014) 3 006 003 0

8 Dasarian 1 (Juli 2014) 4 014 004 002

9 Dasarian 2 (Juli 2014) 7 019 005 003

Jumlah 49 105 043 016

Setelah mendapatkan nilai absolut selisih data hari ke-t dengan hari sebelumnya dapat dilanjutkan dengan menghitung jumlah cluster sesuai dengan Persamaan 214 Perhitungan jumlah cluster pada data A (k1) berdasarkan pada Tabel 43 diketahui nilai 119863119898119894119899 adalah 171 nilai 119863119898119886119909 adalah 2048 maka jumlah cluster data A dapat ditunjukkan sebagai berikut

49

1198961 = ||119863119898119894119899 minus 119863119898119886119909|sum |119883(119905) minus 119883(119905 minus 1)|119899

119905=1

119899 minus 1|

= |83 minus 9549

10minus1| = 2204

Apabila hasil perhitungan jumlah cluster merupakan bilangan pecahan maka hasilnya harus dibulatkan Sehingga jumlah cluster pada data A adalah 2 Perhitungan jumlah cluster juga dilakukan pada data B (k2) C (k3) dan D (k4) Berikut merupakan hasil semua perhitungan jumlah cluster yang ditunjukkan pada Tabel 46

Tabel 46 Hasil jumlah cluster data

No Cluster Jumlah Cluster

1 k1 2

2 k2 2

3 k3 3

4 k4 3

423 Perhitungan pusat cluster dan subinterval

Pada pembentukan subinterval berdasarkan pada Tabel 46 yang menunjukkan jumlah subinterval yang selanjutnya digunakan untuk menentukan pusat cluster menggunakan algoritma fuzzy C-means (FCM)

4231 Penentuan pusat cluster

a Penentuan nilai variabel

Pada penentuan subinterval diawali dengan klasterisasi menggunakan algoritma FCM pada awal proses ditentukkan beberapa variabel sebagai berikut

Banyak cluster = k1 = 2

Bobot (w) = 2

Fungsi objektif awal = 0

Iterasi awal = 1

Iterasi maksimum = 100

Error terkecil = 001 b Pembentukan matriks partisi awal (micro)

Data pada pembentukan matriks partisi awal merupakan nilai random diantara nilai 0 sampai 1 Dimensi pada matriks partisi awal dibentuk dengan dimensi jumlah data (i) x jumlah cluster (k) Dalam hal ini telah diketahui jumlah data adalah 10 dan k1 adalah 2 maka partisi dimensi matriks awal adalah 10 x 2 Hasil pembentukan matriks partisi awal ditunjukkan pada Tabel 47 dimana Cluster disimbolkan dengan C

50

Tabel 47 Matriks partisi awal pada cluster data A

c Normalisasi matriks partisi awal

Langkah pertama normalisasi matriks partisi awal adalah dengan menghitung jumlah bilangan penyusun matriks pada setiap kolom yang dapat dilihat pada Tabel 47 dijumlah berdasarkan dengan Persamaan 24 Diketahui jumlah kolom matriks sebanyak 2 sehingga diperoleh Q1 untuk penjumlahan kolom c1 Q2 untuk penjumlahan kolom c2

Q1 = 0355 + 0174 + 02 + 0387 + 0598 + 0819 + 0702 + 0719 + 0349 +

0852

= 5154

Q2 = 0170 + 0815 + 0190 + 0456 + 0526 + 0170 + 0232 + 0572 + 0102 +

0322

= 3554

Langkah selanjutnya dilakukan proses normalisasi menggunakan Persamaan 25 Dimana setiap bilangan penyusun matriks awal dibagi dengan nilai Q sesuai dengan kolomnya masing ndash masing Bilangan penyusun matriks disimbolkan dengan microik dimana i menunjukkan baris dan k menunjukkan kolom posisi bilangan tersebut pada matriks

i micro

c1 c2

1 0355 0170

2 0174 0815

3 0200 0190

4 0387 0456

5 0598 0526

6 0819 0170

7 0702 0232

8 0719 0572

9 0349 0102

10 0852 0322

51

μ11 = bilangan matriks partisi pada baris 1 kolom 1

Q1

= 0355

5154

= 0069

μ12 = bilangan matriks partisi pada baris 1 kolom 2

Q2

= 0170

3554

= 0048

Setelah melakukan perhitungan seperti diatas untuk semua bilangan matriks sehingga matriks partisi sudah ternormalisasi seperti yang ditunjukkan pada Tabel 48

Tabel 48 Derajat keanggotaan matriks partisi data A

i micro

C1 C2

1 0069 0048

2 0034 0229

3 0039 0054

4 0075 0128

5 0116 0148

6 0159 0048

7 0136 0065

8 0140 0161

9 0068 0029

10 0165 0090

d Perhitungan pusat cluster (V)

Pada perhitungan pusat cluster (V) berdasarkan Persamaan 26 Dimana setiap bilangan penyusun matriks partisi (micro) dipangkatkan dengan w dimana variabel w yang sudah dideklarisakan terlebih dahulu dengan nilai sama dengan 2 dan dikalikan dengan bilangan penyusun matriks X yang merupakan matriks berisi data yang ada pada Tabel 41 Selanjutnya hasil perkalian tersebut dijumlah dan dibagi dengan jumlah hasil kuadrat dari bilangan penyusun matriks partisi Hasil perhitungan ditunjukkan pada Tabel 49

52

Tabel 49 Perhitungan pusat cluster data A

Berdasarkan jumlah cluster dari data A yaitu 2 maka terdapat 2 pusat cluster (V) yaitu V1 V2 Perhitungan nilai V adalah sebagai berikut

V1 = sum ((μic1)2 times Xi)10

i=1

sum (μic1)210i=1

= 10730216

0121620

= 8822718207

V2 = sum ((μic2)2 times Xi)10

i=1

sum (μic2)210i=1

= 12111287

0137572

= 8803592572

Jadi berdasarkan perhitungan diatas pusat cluster untuk data A pada iterasi ke-1 adalah 8822718207 8803592572

e Perhitungan fungsi objektif (P)

Pada perhitungan P menggunakan Persamaan 27 dimana setiap baris pada data matriks X dikurangi pusat cluster (V) selanjutnya dikuadratkan Hasilnya

i X microsup2 microsup2 x X

C1 C2 C1 C2

1 95 0004731 0002292 0449450 0217718

2 90 0001137 0052633 0102304 4736927

3 94 0001512 0002864 0142117 0269234

4 83 0005630 0016427 0467258 1363472

5 85 0013448 0021907 1143107 1862112

6 92 0025233 0002291 2321422 0210787

7 86 0018542 0004243 1594602 0364916

8 89 0019487 0025916 1734356 2306543

9 93 0004590 0000816 0426841 0075870

10 86 0027311 0008183 2348759 0703706

Jumlah 0121620 0137572 10730216 12111287

53

kemudian dikalikan dengan micro yang sudah dipangkatkan dengan bobot (w) seperti yang telah ditunjukkan pada Tabel 49 Selanjutnya hasil tersebut dijumlah per kolom seperti yang ditunjukkan pada Tabel 410

Tabel 410 Fungsi objektif data A

i X (X-V)sup2 (X-V)sup2 x microsup2

C1 C2 C1 C2

1 95 458711 484983 02170 01111

2 90 31429 38576 00036 02030

3 94 333254 355702 00504 01019

4 83 273234 253605 01538 04166

5 85 104147 92168 01401 02019

6 92 142342 157139 03592 00360

7 86 49603 41450 00920 00176

8 89 05972 09294 00116 00241

9 93 227798 246420 01046 00201

10 86 49603 41450 01355 00339

Jumlah 1267661573 1166282827

Fungsi Objektif (P) 24339444

Perhitungan nilai fungsi objektif dilakukan seperti Persamaan 27 Nilai fungsi objektif diperoleh dengan cara sebagai berikut P = sum sum ([(Xi minus Vc)2](μik)2)3

c=110i=1

P = 1267661573 + 1166282827

= 24339444

f Perbaikan matriks partisi

Pada langkah ini perbaikan matriks partisi dilakukan berdasarkan Persamaan 28 Data matriks X untuk setiap barisnya dikurangi pusat cluster lalu dikuadratkan seperti yang ditunjukkan pada Tabel 410 Selanjutnya hasilnya dipangkatkan dengan -11 karena w-1 = 1 Hasil pangkat -1 terhadap (X-V)2 ditunjukkan pada Tabel 411

54

Tabel 411 Perbaikan matriks partisi

i ((X-V)sup2)^-1

Jumlah C1 C2

1 0022 0021 0042

2 0318 0259 0577

3 0030 0028 0058

4 0037 0039 0076

5 0096 0108 0205

6 0070 0064 0134

7 0202 0241 0443

8 1674 1076 2750

9 0044 0041 0084

10 0202 0241 0443

Berdasarkan tabel diatas bilangan penyusun matriks partisi yang baru atau yang telah diperbaiki diperoleh dari hasil pembagian data terhadap jumlah per barisnya

12058311 = 0022

0042= 0514

12058312 = 0021

0042= 0486

Pada perhitungan nilai matriks yang sudah diperbaiki dilakukan pada semua elemen matriks sehingga hasil perbaikan matriks seperti yang ditunjukkan pada Tabel 412

Tabel 412 Hasil perbaikan matriks partisi

Setelah mendapatkan hasil perbaikan matriks partisi kita lakukan pengecekan selama iterasi kurang dari iterasi maksimum (maxIter) atau selisih antara fungsi objektif iterasi saat ini dengan iterasi sebelumnya bernilai lebih dari nilai error terkecil yaitu 001 maka proses berlanjut dengan kembali melakukan perhitungan pusat cluster hingga perbaikan matriks partisi Hasil

i micro

C1 C2

1 0514 0486

2 0551 0449

3 0516 0484

4 0481 0519

5 0469 0531

6 0525 0475

7 0455 0545

8 0609 0391

9 0520 0480

10 0455 0545

55

perhitungan pusat cluster dari data A B C dan D setelah dilakukan proses tiga kali iterasi dan diurutkan mulai dari yang terkecil sampai yang terbesar ditunjukkan pada Tabel 413

Tabel 413 Hasil pusat cluster

4232 Perhitungan batas subinterval

Perhitungan batas subinterval dilakukan dengan mencari nilai tengah (Median) dari setiap pusat cluster Berikut merupakan contoh perhitungan batas subinterval pada data A

a Interval 1 Batas bawah = 78835 (Batas bawah Universe of Discourse pada data A) Batas atas = 89347 (Median 88303 dan 90390)

b Interval 2 Batas bawah = 89347 (Median 88303 dan 90390) Batas atas = 99165 (Batas atas Universe of Discourse pada data A)

Seperti perhitungan diatas juga dilakukan pada data suhu (B) kelembaban (C) dan kecepatan angin (D) Dalam hal ini jumlah subinterval setiap atribut berbeda ndash beda sesuai dengan jumlah cluster yang sebelumnya ditunjukkan pada Tabel 46 Berikut merupakan batas subinterval masing ndash masing atribut yang ditunjukkan pada Tabel 414

Tabel 414 Batas subinterval masing ndash masing atribut data

Interval (micro)

A B C D

1

78835 25984 751708 6208

sd sd sd sd

89347 26181 823863 6249

2

89347 26181 823863 6249

sd sd sd sd

99165 26366 82411 6256

3

82411 6256

- - sd sd

82537 6312

Cluster A B C D

1 88303 26165 82391 62497

2 90390 26197 82408 62499

3 - - 82415 62613

56

424 Pembentukan Fuzzy Set

Pembentukan fuzzy set berdasarkan pada derajat keanggotaan dari subinterval (micro) fuzzy set dari data A ditentukan dengan derajat keanggotaan sebagai berikut

A1 = 1micro1 + 05micro2

A2 = 05micro1 + 1micro2

Pada derajat keanggotaan data A diatas simbol ldquo+rdquo menunjukkan operator himpunan gabungan Berdasarkan subinterval pada Tabel 414 nilai batas fuzzy set dari data atribut A dapat ditentukan dengan cara sebagai berikut

A1 = 78835 sd 94256 (Batas bawah interval 1 sd titik tengah interval 2)

A2 = 84091 sd 99165 (Titik tengah interval 1 sd batas atas interval 2)

Setelah diketahui batas masing ndash masing fuzzy set grafik fungsi keanggotaan fuzzy set data A yang direpresentasikan dalam kurva bahu yang ditunjukkan pada Gambar 422 Dengan cara yang sama juga ditentukan pula fuzzy set dari data attribut B C dan D

425 Fuzzifikasi

Pada langkah fuzzifikasi dilakukan dengan mencari derajat keanggotaan yang memiliki nilai paling besar (maksimum) dari masing ndash masing data terhadap fuzzy set yang sudah terbentuk Derajat keanggotaan dicari berdasarkan fungsi keanggotaan kurva bentuk bahu Berikut ini adalah perhitungan derajat keanggotaan dari data attribut A

Data aktual curah hujan (A) pada April 2014 dasarian ke-3 = 90

1198601 = 942558 ndash 90

942558minus840911= 041868427

Gambar 422 Grafik fuzzy set data A

57

1198602 = 90minus840911

942558minus840911= 058131636

Derajat keanggotaan paling besar berada pada A2 sehingga data attribut A pada April 2014 dasarian ke-3 difuzzifikasikan ke fuzzy set A2 Perhitungan yang sama dilakukan pada seluruh data attribut A sehingga didapat derajat keanggotaan dan hasil fuzzifikasi dari data A ditunjukkan pada Tabel 415

Tabel 415 Hasil derajat keanggotaan dan fuzzy set data A

i Data A1 A2 Fuzzyfikasi

1 95 0 1 A2

2 90 041868363 058131636 A2

3 94 002516357 097483642 A2

4 83 1 0 A1

5 85 09105837 008941629 A1

6 92 02219236 077807639 A2

7 86 08122036 018779631 A1

8 89 05170636 048293635 A1

9 93 01235436 087645641 A2

10 86 08122037 018779631 A1

Perhitungan yang sama juga dilakukan pada semua attribut yaitu attribut B C dan D Sehingga dapat diperoleh hasil fuzzifikasi sesuai derajat keanggotaan dengan nilai paling besar Berikut adalah hasil fuzzifikasi untuk semua attribut yang dapat dilihat pada Tabel 416

Tabel 416 Hasil fuzzifikasi semua data attribut

No Tanggal A B C D

1 Dasarian 2 (April 2014) A2 B1 C3 D3

2 Dasarian 3 (April 2014) A2 B1 C3 D3

3 Dasarian 1 (Mei 2014) A2 B1 C3 D3

4 Dasarian 2 (Mei 2014) A1 B2 C1 D1

5 Dasarian 3 (Mei 2014) A1 B2 C1 D1

6 Dasarian 1 (Juni 2014) A2 B1 C2 D2

7 Dasarian 2 (Juni 2014) A1 B2 C1 D1

8 Dasarian 3 (Juni 2014) A1 B2 C2 D1

9 Dasarian 1 (Juli 2014) A2 B1 C2 D2

10 Dasarian 2 (Juli 2014) A1 B2 C2 D1

58

426 Pembentukan Fuzzy Logical Relationship (FLR)

Pada tahap pembentukan FLR dengan berdasarkan nilai order yang sudah ditentukan Pada manualisasi ini berdasarkan dari Tabel 416 di misalkan nilai order kita deklarasikan dengan nilai 3 sehingga dapat menghasilkan 7 FLR Hasil pembentukan FLR Data training dapat ditunjukkan pada Tabel 417 Hasil pembentukan FLR Data testing dapat ditunjukkan pada Tabel 418

Tabel 417 Hasil pembentukan FLR data training

No Fuzzy Logical Relationship (FLR)

1 (A(12)B(11)C(13)D(13)) (A(22)B(21)C(23)D(23)) (A(32)B(31)C(33)D(33)) rarr A1

2 (A(12)B(11)C(13)D(13)) (A(22)B(21)C(23)D(23)) (A(31)B(32)C(31)D(31)) rarr A1

3 (A(12)B(11)C(13)D(13)) (A(21)B(22)C(21)D(21)) (A(31)B(32)C(31)D(31)) rarr A2

4 (A(11)B(12)C(11)D(11)) (A(21)B(22)C(21)D(21)) (A(32)B(31)C(32)D(32)) rarr A1

5 (A(11)B(12)C(11)D(11)) (A(22)B(21)C(22)D(22)) (A(31)B(32)C(31)D(31)) rarr A1

Tabel 418 Hasil pembentukan FLR data testing

No Fuzzy Logical Relationship (FLR)

1 (A(12)B(11)C(12)D(12)) (A(21)B(22)C(21)D(21)) (A(31)B(32)C(32)D(31)) rarr A2

2 (A(11)B(12)C(11)D(11)) (A(21)B(22)C(22)D(21)) (A(32)B(31)C(32)D(32)) rarr A1

427 Defuzzifikasi

Pada tahap ini misalkan jumlah data yang digunakan untuk data uji atau data testing adalah dua yaitu yang pertama data periode ke-9 dan yang kedua data periode ke-10 Sehingga yang digunakan data latih atau data training adalah data pada periode ke-1 sampai data periode ke-8 Pada data testing yang pertama melibatkan FLR ke-1 sampai FLR ke-5 untuk disesuaikan dengan FLR ke-6 yang berdasarkan pada Tabel 417 Pada data testing yang kedua melibatkan FLR ke-1 sampai FLR ke-6 untuk disesuaikan dengan FLR ke-7 yang berdasarkan pada Tabel 417 Selanjutnya setiap ruas kiri FLR data testing dibandingkan dengan FLR data training yaitu pada bilang pangkat bawah fuzzy set dibandingkan sesuai dengan posisinya dan dihitung selisihnya Hasil dari perhitungan selisih tersebut dijumlahkan dan apabila jumlah selisihnya kurang dari threshold maka FLR tersebut dikatakan cocok Threshold merupakan dari hasil mengalikan jumlah order dengan jumlah faktor kemudian dijumlahkan dengan dengan sebuah konstanta Contoh perhitungan selisih nilai ruas kiri FLR pada data testing pertama adalah sebagai berikut

59

Data testing = (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(32) B(31) C(33) D(33)) rarr A1

Data training =

1 (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(31) B(32) C(31) D(31)) rarr A1

2 (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(31) B(32) C(31) D(31)) rarr A1

3 (A(12) B(11) C(13) D(13)) (A(21) B(22) C(21) D(21)) (A(31) B(32) C(31) D(31)) rarr A2

4 (A(11) B(12) C(11) D(11)) (A(21) B(22) C(21) D(21)) (A(32) B(31) C(32) D(32)) rarr A1

5 (A(11) B(12) C(11) D(11)) (A(22) B(21) C(22) D(22)) (A(31) B(32) C(31) D(31)) rarr A1

Selisih data ke- 1 = |2-2|+|1-1|+|3-2|+|3-2|+|2-1|+|1-2|+|3-1|+|3-1|+|2-1|+|1-2|+|3-2|+|3-1| = 13

Selisih data ke- 2 = |2-2|+|1-1|+|3-2|+|3-2|+|2-1|+|1-2|+|3-1|+|3-1|+|1-1|+|2-2|+|1-2|+|1-1| = 9

Selisih data ke- 3 = |2-2|+|1-1|+|3-2|+|3-2|+|1-1|+|2-2|+|1-1|+|1-1|+|1-1|+|2-2|+|1-2|+|1-1| = 3

Selisih data ke- 4 = |1-2|+|2-1|+|1-2|+|1-2|+|1-1|+|2-2|+|1-1|+|1-1|+|2-1|+|1-2|+|2-2|+|2-1| = 7

Selisih data ke- 5 = |1-2|+|2-1|+|1-2|+|1-2|+|2-1|+|1-2|+|2-1|+|2-1|+|1-1|+|2-2|+|1-2|+|1-1| = 9

Pada perhitungan selisih nilai ruas kiri FLR pada data testing juga dilakukan pada semua data testing yang sudah dideklarasikan sebelumnya Dalam hal ini agar dapat menemukan FLR yang cocok dengan data testing Tahap selanjutnya adalah proses defuzzifikasi menggunakan threshold yang dimisalkan 18 sehingga FLR yang memiliki kecocokan dengan data testing pertama adalah semua FLR dari ke-1 sampai ke-5 karena memiliki hasil selisih kurang dari 18 Semua FLR yang cocok ditampung dikelompokkan berdasarkan FLR pada ruas kanan yang sama kemudian dhitung frekuensinya Berikut adalah frekuensi dan pusat cluster dari ruas kanan FLR yang cocok dengan data testing pertama dan kedua ditunjukkan pada Tabel 419

Tabel 419 Frekuensi FLR yang cocok dengan data testing

Data testing 1 Data testing 2

Ruas kanan A1 A2 A1 A2

Pusat Cluster 88303 90390 88303 90390

Frekuensi 4 1 4 2

Berdasarkan pada Tabel 419 dilakukan defuzzifikasi sesuai dengan Persamaan 218 sebagai berikut

119863119886119905119886 119905119890119904119905119894119899119892 1 = (88303times4)+(90390times1)

5= 887204

60

119863119886119905119886 119905119890119904119905119894119899119892 2 = (88303times4)+(90390times2)

6= 889987

Jadi berdasarkan perhitungan diatas diperoleh hasil peramalan curah hujan pada pada April 2014 dasarian ke-3 adalah 1384601636 sedangkan pada tanggal 10012016 adalah 2769203272 Perbandingan data curah hujan aktual dan hasil peramalan dengan metode High Order Fuzzy Time Series Multi Factors dapat dilihat pada Tabel 420

Tabel 420 Perbandingan data aktual dan hasil peramalan

No Data Aktual Hasil Peramalan

1 93 887204

2 86 889987

Dari hasil peramalan yang ditunjukkan pada Tabel 420 dapat dilakukan perhitungan kesalahan peramalan menggunakan metode Mean Square Error (MSE) seperti Persamaan 219

119872119878119864 = ((93minus887206)2+(86minus889989)2)

2

= 136536

43 Perancangan antarmuka

Perancangan antarmuka merupakan perancangan dari tampilan antarmuka atau interface yang nantinya akan diterapkan pada tahapan implementasi Pada perancangan antarmuka ini terdapat lima halaman utama dan juga terdapat dalam menu berupa button yaitu halaman input halaman tampil data halaman proses halaman hasil dan halaman perhitungan error

431 Halaman input

Pada halaman input terdapat inputan data dengan nama button Browse Data pada inputan data ini pengguna diharuskan memasukkan inputan file data dalam bentuk ekstensi xls serta direktori lokasi file yang di inputkan akan ditampilkan pada textfield dan juga terdapat label yang menampilkan jumlah banyaknya data yang terdapat pada file yang telah di inputkan Selanjutnya juga terdata inputan textfield data training data testing order dan nilai konstanta Pada halaman input ini juga terdapat button fuzzification yang berfungsi untuk melakukan proses clustering fuzzifikasi dan FLR Selanjutnya pada button forecasting berfungsi untuk melakukan peramalan atau defuzzifikasi dari hasil proses fuzzifikasi serta menghitung nilai error dari hasil peramalan Berikut

61

merupakan rancangan tampilan antarmuka dari halaman input yang ditunjukkan pada Gambar 423

432 Halaman tampil data

Pada halaman tampil data terdapat tabel yang menampilkan isi data dari xls yang sudah dimasukkan terlebih dahulu pada halaman input Tabel tampil data akan menampilkan tanggal curah hujan kelembaban suhu dan kecepatan angin Berikut merupakan tampilan rancangan halaman tampil data yang ditunjukkan pada Gambar 424

Gambar 423 Rancangan antarmuka halaman input

Gambar 424 Rancangan antarmuka halaman tampil data

62

433 Halaman proses

Pada halaman proses akan menampilkan hasil clustering fuzzifikasi dan fuzzy logical relationship Pada tampilan halaman clustering akan menampilkan Universe of Discourse curah hujan suhu kelembaban dan kecepatan angin Selanjutnya tampilan dibawahnya akan menampilkan jumlah cluster dari setiap faktor yaitu jumlah cluster curah hujan suhu kelembaban dan kecepatan angin Berikut merupakan tampilan perancangan halaman proses clustering yang ditunjukkan Gambar 425

Selanjutnya pada tampilan proses fuzzifikasi akan menampilkan tabel hasil fuzzifikasi dari curah hujan suhu kelembaban dan kecepatan angin Berikut adalah tampilan rancangan proses fuzzifikasi yang ditunjukkan pada Gambar 426

Gambar 425 Rancangan antarmuka halaman proses clustering

Gambar 426 Rancangan antarmuka proses fuzzifikasi

63

Pada tampilan proses fuzzy logical relationship (FLR) akan menampilkan textarea berisi hasil proses FLR dari curah hujan suhu kelembaban dan kecepatan angin Berikut adalah tampilan rancangan proses fuzzy logical relationship yang ditunjukkan pada Gambar 427

434 Halaman hasil

Pada halaman hasil peramalan akan menampilkan tabel yang berisi hasil peramalan curah hujan dan data curah hujan yang sebenarnya Serta terdapat text link yang akan menampilkan grafik perbandingan data hasil peramalan dan data yang sebenarnya Berikut adalah tampilan rancangan halaman hasil yang ditunjukkan pada Gambar 428

Gambar 427 Rancangan antarmuka proses fuzzy logical relationship

Gambar 428 Rancangan antarmuka halaman hasil peramalan

64

435 Halaman perhitungan error

Pada halaman perhitungan error akan menampilkan nilai dari hasil perhitungan Mean Square Error (MSE) pada textfield Berikut adalah tampilan rancangan halaman perhitungan error yang ditunjukkan pada Gambar 429

44 Perancangan pengujian

Pada penelitian ini akan dilakukan empat pengujian yaitu pengujian terhadap nilai order nilai threshold pengujian terhadap jumlah data training untuk mengetahui pengaruhnya terhadap nilai Mean Square Error (MSE) dan pengujian validasi sistem untuk mengetahui kestabilan hasil implementasi

441 Perancangan pengaruh order terhadap nilai MSE

Order merupakan jumlah urutan data yang digunakan dalam pembentukkan Fuzzy Logical Relationship (FLR) Pada pengujian ini dilakukan percobaan dengan order yang berbeda ndash beda Pengujian ini bertujuan untuk mengetahui pengaruh order terhadap hasil peramalan Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Pada setiap pengujian yang telah dilakukan dihitung nilai MSEnya untuk mengetahui tingkat kesalahan metode ini apabila dilakukan dengan order yang berbeda Berikut adalah perancangan pengujian order terhadap nilai MSE ditunjukkan pada Tabel 421

Tabel 421 Rancangan pengujian order terhadap nilai MSE

No Order Threshold MSE

1

Gambar 429 Rancangan antarmuka halaman perhitungan error

65

442 Perancangan pengaruh threshold terhadap nilai MSE

Nilai threshold bergantung jumlah order karena untuk nilai threshold merupakan dari hasil mengalikan jumlah faktor yang mempengaruhi dengan order selanjutnya dijumlah dengan sebuah konstanta Pada pengujian ini dilakukan percobaan dengan konstanta yang berbeda ndash beda sehingga menghasilkan threshold yang berbeda pula Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Dari setiap percobaan yang telah dilakukan dihitung nilai MSEnya untuk mengetahui tingkat kesalahan metode ini apabila dilakukan dengan konstanta dan threshold yang berbeda Berikut merupakan rancangan pengujian pengaruh threshold terhadap nilai MSE yang ditunjukkan pada Tabel 422

Tabel 422 Rancangan pengujian threshold terhadap nilai MSE

No Konstanta Threshold MSE

1

443 Perancangan pengaruh jumlah data training terhadap nilai MSE

Data training sangat berperan penting dalam proses defuzzifikasi sehingga pada penelitian ini dilakukan pengujian pengaruh jumlah data training terhadap tingkat kesalahan dari hasil peramalan Pada pengujian ini dilakukan percobaan dengan jumlah data training yang berbeda ndash beda Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Dari setiap percobaan dilakukan perhitungan nilai MSE untuk mengetahui tingkat kesalahan dari hasil peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors dengan jumlah data training yang berbeda ndash beda Sehingga dari hasil pengujian ini dapat diketahui pengaruh dari jumlah data training Berikut merupakan rancangan pengujian pengaruh jumlah data training yang ditunjukkan pada Tabel 423

Tabel 423 Rancangan pengujian jumlah data training terhadap nilai MSE

No Jumlah Data Training MSE

1

444 Perancangan validasi sistem

Pada pengujian validasi sistem akan melakukan pengujian dengan menggunakan order threshold terbaik seperti yang telah dilakukan pada

66

pengujian ndash pengujian sebelumnya yang menghasilkan hasil error MSE terendah Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Berikut merupakan rancangan pengujian validasi sistem yang ditunjukkan pada Tabel 424

Tabel 424 Rancangan pengujian validasi sistem

Percobaan ke- MSE

1

67

BAB 5 IMPLEMENTASI

Pada bab ini berisi pembahasan hasil implementasi metode High Order Fuzzy Time Series Multi Factors yang sesuai dengan bab sebelumnya yaitu perancangan Bab ini terdiri dari spesifikasi sistem implementasi algoritma dan implementasi antarmuka

51 Spesifikasi Sistem

Pada spesifikasi sistem ini dibagi mejadi dua yaitu spesifikasi perangkat keras dan spesifikasi perangkat lunak

511 Spesifikasi Perangkat Keras

Spesifikasi perangkat keras merupakan perangkat keras yang digunakan pada implementasi penelitian ini Perangkat keras yang digunakan adalah laptop dengan spesifikasi sesuai dengan pada Tabel 51 berikut

Tabel 51 Spesifikasi Perangkat Keras

Komponen Spesifikasi

Processor Intelcopy Core i3-3217U 180 GHz

Memori (RAM) 8 GB RAM

Harddisk 500 GB RAM

512 Spesifikasi Perangkat Lunak

Spesifikasi perangkat lunak merupakan perangkat lunak yang digunakan pada implementasi penelitian ini Perangkat lunak yang digunakan pada implementasi penelitian sesuai dengan yang ditunjukkan pada Tabel 52 berikut

Tabel 52 Spesifikasi Perangkat Lunak

Sistem Operasi Microsoft Windows 7 (64 bit)

Bahasa Pemrograman Java

Tools Pemrograman Netbeans 81

Data Microsoft Excel 2013

52 Implementasi Algoritma

Pada implementasi algoritma ini membahas mengenai hasil implementasi algoritma metode High Order Fuzzy Time Series Multi Factors yang mengacu pada bab sebelumnya yaitu perancangan Dalam penelitian ini implementasi algoritma menggunakan bahasa pemrograman java berbasis desktop Implementasi algoritma terdiri dari beberapa method sesuai dengan langkah ndash langkah pada algoritma metode High Order Fuzzy Time Series Multi Factors

68

521 Implementasi Proses Universe of Discourse

Pada implementasi Universe of Discourse seperti yang ditunjukkan Kode Program 51 dimana pada source code method Universe_of_Discourse baris 3 - 5 terdapat pemanggilan method mean standar_deviasi dan Min_dan_Max Dimana pemanggilan method tersebut dibutuhkan untuk melakukan proses perhitungan selanjutnya yaitu untuk menghitung batas bawah dan batas atas dari Univers of Discourse Baris 7-10 untuk menghitung hasil Universe of Discourse Berikut merupakan source code dari proses Universe of Discourse yang ditunjukkan pada Kode Program 51

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

private void Universe_of_Discourse()

mean()

standar_deviasi()

Min_dan_Max()

hsl_uMin = new double[jmlh_Faktor]

hsl_uMax = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

hsl_uMin[i] = hsl_min[i] - hsl_stdev[i]

hsl_uMax[i] = hsl_max[i] + hsl_stdev[i]

Kode Program 51 Implementasi proses Universe of Discourse

5211 Implementasi proses mean

Pada implementasi proses mean merupakan proses perhitungan nilai rata ndash rata dari setiap faktor yang nantinya hasilnya diperlukan untuk proses perhitungan standar deviasi Berikut merupakan source code dari proses mean yang ditunjukkan pada Kode Program 52 Perhitungan utama proses mean terdapat pada baris 3 ndash 8

Baris Kode

1 2 3 4 5 6 7 8 9

private void mean()

hsl_mean = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double tmp_jmlh = 0

for (int j = 0 j lt jmlh_DataTraining j++)

tmp_jmlh = tmp_jmlh + data[i][j]

hsl_mean[i] = (tmp_jmlh jmlh_DataTraining)

Kode Program 52 Implementasi proses mean

5212 Implementasi proses standar deviasi

Pada implementasi proses perhitungan standar deviasi merupakan akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel Standar deviasi dapat dilakukan perhitungan setelah mendapat nilai hasil dari perhitungan mean Berikut merupakan source code dari implementasi proses standar deviasi yang ditunjukkan pada Kode Program 53 Perhitungan utama proses standar deviasi terdapat pada baris 3 ndash 9

69

Baris Kode

1 2 3 4 5 6 7 8 9 10 11

private void standar_deviasi()

hsl_stdev = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double result = 0

for (int j = 0 j lt jmlh_DataTraining j++)

result = result + (Mathpow((data[i][j] ndash

hsl_mean[i]) 2))

hsl_stdev[i]=Mathsqrt(result(jmlh_DataTraining-

1))

Kode Program 53 Implementasi proses standar deviasi

5213 Implementasi proses Dmin dan Dmax

Pada implementasi proses Dmin dan Dmax merukan untuk mencari nilai minimum dan nilai maksimum dari data sampel untuk setiap faktor Berikut merupakan source code dari implementasi dari proses Dmin dan Dmax yang ditunjukkan pada Kode Program 54 Pada baris 8 ndash 10 merupakan bagian dari proses untuk untuk menentukan nilai data terbesar Selanjutnya pada baris 11 ndash 13 untuk menentukan nilai data terkecil

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

19

private void Min_dan_Max()

hsl_max = new double[jmlh_Faktor]

hsl_min = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double besar = data[i][0]

double kecil = data[i][0]

for (int j = 0 j lt jmlh_DataTraining j++)

if (data[i][j] gt besar)

besar = data[i][j]

if (data[i][j] lt kecil)

kecil = data[i][j]

hsl_max[i] = besar

hsl_min[i] = kecil

Kode Program 54 Implementasi proses Dmin dan Dmax

522 Implementasi Proses Jumlah Cluster

Pada implementasi proses jumlah cluster merupakan proses perhitungan jumlah cluster dari setiap faktor Implementasi ini dapat dilakukan apabila sudah mendapatkan hasil output dari method Min_dan_Max() sudah didapatkan Berikut merupakan source code dari implementasi proses jumlah cluster yang ditunjukkan pada Kode Program 55 Pada baris 3 ndash 7 untuk digunakan untuk menghitung selisih data sampel setiap baris dari semua faktor pada data sampel ke t dengan t+1 Selanjutnya pada baris 9 ndash 10 untuk menghitung jumlah cluster dari setiap faktor

70

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

12

13

private void jumlah_Cluster()

jmlh_Cluster = new int[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double selisih = 0

for (int j = 0 j lt (jmlh_DataTraining - 1) j++)

selisih = selisih + (Mathabs((data[i][j]

- data[i][(j + 1)])))

jmlh_Cluster[i] = (int) Mathround((Mathabs(

hsl_min[i]-hsl_max[i]))(selisih(jmlh_DataTraining

-1)))

Kode Program 55 Implementasi proses jumlah cluster

523 Implementasi Proses Pusat Cluster

Implementasi proses perhitungan pusat cluster ini menggunakan metode fuzzy C-means untuk mendapatkan pusat cluster yang nantinya digunkan sebagai subinterval Implementasi ini memerlukan hasil dari proses method jumlah_Cluster() agar dapat melakukan perhitungan subinterval Berikut merupakan source code dari implementasi proses subinterval yang ditunjukkan pada Kode Program 56 Pada Kode Program 56 hanya menampilkan source code pembentukan subinterval pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 2 ndash 3 merupakan deklarasi variabel bobot iterasi maksimum selisih fungsi objektif awal dan error minimum Pada baris 8 ndash 20 merupakan proses pembentukan matriks partisi dengan nilai random 0 sampai 1 Pada baris 22 ndash 26 merupakan proses normalisasi matriks partisi yang telah terbentuk Pada baris 28 ndash 63 merupakan proses untuk menentukan pusat cluster Pada baris 65 ndash 86 merupakan proses perhitungan fungsi objektif dari iterasi Pada baris 88 ndash 90 merupakan proses perhitungan selisih fungsi objektif Pada baris 92 ndash 108 adalah proses perbaikan matriks partisi Pada baris 110 ndash 115 adalah proses hasil perbaikan matriks partisi Pada baris 116 - 133 adalah proses dengan pengkondisian apakah selisih fungsi objektif lebih kecil dari error minimum serta apabila memenuhi kondisi maka dilanjutkan ke proses pengurutan pusat cluster secara ascending dari hasil iterasi terakhir dan proses pengkondisian iterasi berhenti

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

private void pusat_cluster()

int bobot = 2int iter_maksimum = 100

double selisih_f_objektif = 0double error_min = 001

for (int i = 0 i lt jmlh_Faktor i++)

faktor A

if (i == 0)

Pembentukkan matriks partisi

tmp_Matriks1=new

double[jmlh_Cluster[i]][jmlh_DataTraining]

q1 = new double[jmlh_Cluster[i]]

double jmlh_q1

for (int j = 0 j lt jmlh_Cluster[i] j++)

jmlh_q1 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

71

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

double random = ThreadLocalRandomcurrent()

nextDouble(01 1)

tmp_Matriks1[j][k] = random

jmlh_q1 = jmlh_q1 + random

q1[j] = jmlh_q1

normalisasi matriks

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k] q1[j]

Perhitungan pusat cluster

for (int iter = 0 iter lt iter_maksimum iter++)

selisih_f_objektif = 0

jumA1 = new double[iter_maksimum][jmlh_Cluster[i]]

jumA2 = new double[iter_maksimum][jmlh_Cluster[i]]

miu_Matriks1 = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

XV_Matriks1 = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

pusat_cluster1 = new double[jmlh_Cluster[i]]

double hitung_jum1

double hitung_jum2

for (int j = 0 j lt jmlh_Cluster[i] j++)

hitung_jum1 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow(tmp_Matriks1

[j][k]bobot)

miu_Matriks1[j][k] = tmp_Matriks1[j][k]

hitung_jum1 = hitung_jum1 + tmp_Matriks1

[j][k]

jumA1[iter][j] = hitung_jum1

for (int j = 0 j lt jmlh_Cluster[i] j++)

hitung_jum2 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k]

data[i][k]

hitung_jum2 = hitung_jum2 +

tmp_Matriks1[j][k]

jumA2[iter][j] = hitung_jum2

for (int j = 0 j lt jmlh_Cluster[i] j++)

pusat_cluster1[j] = jumA2[iter][j]

jumA1[iter][j]

perhitungan fungsi objektif

jumA3 = new double[iter_maksimum][jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

double hitung_jum3 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow((data[i][k]

ndash pusat_cluster1[j])

bobot)

XV_Matriks1[j][k] = tmp_Matriks1[j][k]

tmp_Matriks1[j][k] = XV_Matriks1[j][k]

miu_Matriks1[j][k]

hitung_jum3 = hitung_jum3 +

tmp_Matriks1[j][k]

jumA3[iter][j] = hitung_jum3

72

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

double jmlh_f_objektif = 0

for (int j = 0 j lt jmlh_Cluster[i] j++)

jmlh_f_objektif = jmlh_f_objektif

+jumA3[iter][j]

if (iter lt (iter_maksimum - 1))

f_objektif1[iter + 1] = jmlh_f_objektif

perhitungan selisih fungsi objektif

selisih_f_objektif = f_objektif1[iter + 1]

-f_objektif1[iter]

perbaikan matriks partisi

int hitung = bobot - 1int pangkat = -1 hitung

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow(XV_Matriks1

[j][k] pangkat)

jumA4 = new

double[iter_maksimum][jmlh_DataTraining]

for (int j = 0 j lt jmlh_DataTraining j++)

double hitung_jum4 = 0

for (int k = 0 k lt jmlh_Cluster[i] k++)

hitung_jum4 = hitung_jum4 +

tmp_Matriks1[k][j]

jumA4[iter][j] = hitung_jum4

hasil perbaikan matriks

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k]

jumA4[iter][k]

if (selisih_f_objektif lt error_min)

pengurutan ascending pusat cluster

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 kltjmlh_Cluster[i]k++)

if (k lt (jmlh_Cluster[i] - 1))

if (pusat_cluster1[k] gt

pusat_cluster1[k + 1])

double tmp =

pusat_cluster1[k]

pusat_cluster1[k]=

pusat_cluster1[k+1]

pusat_cluster1[k+1] = tmp

iter = iter_maksimum

Kode Program 56 Implementasi proses pusat cluster

524 Implementasi Proses Pembentukan Subinterval dan Fuzzy Set

Pada implementasi proses pembentukan suinterval dan fuzzy set memiliki dua proses yaitu proses menentukan batas subinterval minumum serta maksimum dan proses menentukan batas fuzzy set minimum serta maksimum

73

Proses pembentukan fuzzy dapat menjalankan prosesnya setelah method subinterval() telah diakses Berikut merupakan source code proses pembentukan fuzzy set yang ditunjukkan pada Kode Program 57 Pada Kode Program 57 hanya menampilkan source code pembentukan fuzzy set pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 6 ndash 29 merupakan proses pembentukan batas minimum dan batas maksimum subinterval Pada baris 31 ndash 54 merupakan pembentukan batas minimum dan batas maksimum fuzzy set

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

private void subinterval_dan_fuzzy_set()

for (int i = 0 i lt jmlh_Faktor i++)

faktor A

if (i == 0)

batas subinterval

batas_subintervalMinA = new double[jmlh_Cluster[i]]

batas_subintervalMaxA = new double[jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

if (j == 0)

batas_subintervalMinA[j] = hsl_uMin[i]

batas_subintervalMaxA[j]=(pusat_cluster1[j]

+pusat_cluster1[j+

1])2

else if (j == (jmlh_Cluster[i] - 1))

batas_subintervalMinA[j]=

(pusat_cluster1[j-1] +pusat_cluster1

[j])2

batas_subintervalMaxA[j]=

hsl_uMax[i]

else if ((0 lt j) ampamp (j lt (jmlh_Cluster[i] -

1)))

batas_subintervalMinA[j]=

(pusat_cluster1[j-1]+

pusat_cluster1[j])2

batas_subintervalMaxA[j]=

(pusat_cluster1[j]+

pusat_cluster1[j+1)2

batas fuzzy set

batas_fuzzysetMinA = new double[jmlh_Cluster[i]]

batas_fuzzysetMaxA = new double[jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

if (j == 0)

batas_fuzzysetMinA[j]=

batas_subintervalMinA[j]

batas_fuzzysetMaxA[j]=

(batas_subintervalMinA[j+1]

+batas_subintervalMaxA[j + 1])2

else if (j == (jmlh_Cluster[i] - 1))

batas_fuzzysetMinA[j]=

(batas_subintervalMinA[j-1]

+batas_subintervalMaxA[j - 1])2

batas_fuzzysetMaxA[j] =

batas_subintervalMaxA[j]

else if ((0 lt j) ampamp (jlt(jmlh_Cluster[i]-1)))

batas_fuzzysetMinA[j]=

(batas_subintervalMinA[j-1]+

batas_subintervalMaxA[j-1])2

batas_fuzzysetMaxA[j]=

74

51

52

53

54

55

56

(batas_subintervalMinA[j+1]+

batas_subintervalMaxA[j + 1])2

Kode Program 57 Implementasi pembentukan subinterval dan fuzzy set

525 Implementasi proses fuzzifikasi

Pada Implementasi proses fuzzifikasi memiliki dua proses utama yaitu menentukan derajat keanggotaan dan proses fuzzifikasi Dalam proses ini method fuzzy_set() harus dieksekusi terlebih dahulu karena implementasi proses ini memerlukan output dari method tersebut Berikut merupakan source code fuzzifikasi ditunjukkan pada Kode Program 58 Pada Kode Program 58 hanya menampilkan source code pembentukan fuzzy set pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 3 ndash 81 merupakan proses perhitungan derajat keanggotaan Pada baris 83 ndash 94 adalah proses penentuan fuzzifikasi

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

private void fuzzifikasi()

if (i == 0)

hitung_fuzzifikasiA = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

if(j == 0)

if((data[i][k]gtbatas_fuzzysetMinA[j])ampamp

(data[i][k]lt batas_fuzzysetMinA[j + 1]))

hitung_fuzzifikasiA[j][k] = 1

if ((data[i][k] gt batas_fuzzysetMinA[j + 1])

ampamp (data[i][k] lt batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k]=

(batas_fuzzysetMaxA[j] - data[i][k])

(batas_fuzzysetMaxA[j] ndash

batas_fuzzysetMinA[j + 1])

if ((data[i][k] gt batas_fuzzysetMinA[j]) ampamp

(data[i][k] lt batas_fuzzysetMinA[j + 1])

ampamp(data[i][k] gt batas_fuzzysetMinA[j+1])

ampamp(data[i][k] lt batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k] = 0

else if (j == (jmlh_Cluster[i] - 1))

if((data[i][k] gt batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]))

hitung_fuzzifikasiA[j][k]=

(data[i][k]-batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)])

(batas_fuzzysetMaxA[(jmlh_Cluster[i]ndash

2)]-batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)])

if((data[i][k] gt batas_fuzzysetMaxA

75

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

[(jmlh_Cluster[i]- 2)]) ampamp (data[i][k]

lt batas_fuzzysetMaxA[(jmlh_Cluster[i]

- 1)]))

hitung_fuzzifikasiA[j][k] = 1

if ((data[i][k] gt batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]) ampamp

(data[i][k] gt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 1)]))

hitung_fuzzifikasiA[j][k] = 0

else if ((0 lt j)ampamp(j lt (jmlh_Cluster[i] - 1)))

if ((data[i][k] gt batas_fuzzysetMinA[j])

ampamp (data[i][k] lt batas_fuzzysetMinA[j

+1]))

hitung_fuzzifikasiA[j][k]=

(data[i][k]-batas_fuzzysetMinA[j])

(batas_fuzzysetMinA[j + 1]-

batas_fuzzysetMinA[j])

if ((data[i][k] gt batas_fuzzysetMinA

[j+1])ampamp (data[i][k] lt

batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k]=

(batas_fuzzysetMaxA[j]-data[i][k])

(batas_fuzzysetMaxA[j]-

batas_fuzzysetMinA[j + 1])

if ((data[i][k] gt batas_fuzzysetMinA[j])

ampamp (data[i][k] lt batas_fuzzysetMinA

[j + 1]) ampamp (data[i][k] gt

batas_fuzzysetMinA[j + 1]) ampamp

(data[i][k]ltbatas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k] = 0

hasil_fuzzifikasiA = new int[jmlh_DataTraining]

for (int j = 0 j lt jmlh_DataTraining j++)

int cluster = 0

double besar=hitung_fuzzifikasiA[0][j]

for (int k = 0 k lt jmlh_Cluster[i] k++)

if (besar lt hitung_fuzzifikasiA[k][j])

besar = hitung_fuzzifikasiA[k][j]

cluster = k

hasil_fuzzifikasiA[j] = cluster + 1

Kode Program 58 Implementasi proses fuzzifikasi

526 Implementasi Pembentukan Fuzzy Logical Relationship

Pada implementasi pembentukan Fuzzy Logical Relationship (FLR) memiliki dua output yaitu FLR_kiri dan FLR_kanan Dimana FLR_kiri berisi group dari kelima faktor dan pada FLR_kanan merupakan dari faktor yang akan diramalkan yaitu

76

faktor curah hujan (A) Berdasarkan dari perancangan proses pada bab sebelumnya maka implementasi source code pembentukan Fuzzy Logical Relationship (FLR) dapat ditunjukkan pada Kode Program 59 berikut Pada baris 3 ndash 14 merupakan deklarasi variabel Pada baris 15 ndash 55 adalah proses pembentukan fuzzy logical relationship data training Pada baris 56 ndash 58 merupakan deklarasi variabel Pada baris 59 ndash 86 adalah proses pembentukan fuzzy logical relationship data testing

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

Fuzzy Logical Relationship

private void fuzzy_logical_relationship()

String input_order = fieldOrdergetText()

order = IntegerparseInt(input_order)

int max_inc = order

String input_dataTraining = fieldDatatraininggetText()

int dataTraining = IntegervalueOf(input_dataTraining)

int tmp_jmlhDatatraining = 0

int tmp_order = 0

int jmlh_dataTraining = dataTraining - order

String input_dataTesting = fieldDatatestinggetText()

int jmlh_dataTesting = IntegervalueOf(input_dataTesting)

FLR_kiri_training = new

int[jmlh_DataTraining][order][jmlh_Faktor]

FLR_kanan_training = new int[jmlh_DataTraining]

for (int i = 0 i lt jmlh_dataTraining i++)

for (int j = i j lt max_inc j++)

for (int k = 0 k lt jmlh_Faktor k++)

if (j == 0)

if (k == 0)

FLR_kiri_training[i][j][k]=

hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiD[j]

else if (j = 0)

if (k == 0)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiD[j]

tmp_order = j

FLR_kanan_training[i] = hasil_fuzzifikasiA[(i + order)]

if (max_inc lt (jmlh_DataTraining - 1))

max_inc = max_inc + 1

77

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

tmp_jmlhDatatraining = i

FLR_kiri_testing = new

int[jmlh_DataTraining][order][jmlh_Faktor]

FLR_kanan_testing = new int[(jmlh_DataTraining)]

tmp_jmlhDatatraining = tmp_jmlhDatatraining + 1

for (int i = 0 i lt jmlh_dataTesting i++)

for (int j = tmp_jmlhDatatraining j lt max_inc j++)

for (int k = 0 k lt jmlh_Faktor k++)

if (k == 0)

FLR_kiri_testing[i][j - tmp_jmlhDatatraining][k]

= hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiD[j]

FLR_kanan_testing[i] =

hasil_fuzzifikasiA[(tmp_jmlhDatatraining + order)]

if (max_inc lt (jmlh_DataTraining - 1))

max_inc = max_inc + 1

tmp_jmlhDatatraining++

Kode Program 59 Implementasi pembentukan FLR

527 Implementasi Proses Defuzzifikasi

Pada implementasi proses defuzzifikasi merupakan proses dimana menentukan hasil peramalan dari data testing berdasarkan dari bilangan fuzzy yang terbentuk Implementasi ini memiliki beberapa inputan penting yaitu data training data testing order dan konstanta Inputan tersebut sangat berperan penting dalam proses implementasi defuzzifikasi Berdasarkan dari perancangan proses pada bab sebelumnya maka implementasi source code defuzzifikasi dapat ditunjukkan pada Kode Program 510 berikut Pada baris 2 ndash 11 merupakan deklarasi variabel Pada baris 13 ndash 37 merupakan proses perhitungan selisih antara data training dengan data testing Pada baris 40 ndash 47 menghitung jumlah FLR yang cocok Pada baris 49 ndash 65 merupakan proses mencocokan FLR kiri yang cocok dengan FLR kanan Pada baris 67 ndash 81 merupakan proses menghitung jumlah frekuensi FLR kanan yang cocok Pada baris 83 ndash 91 adalah proses perhitungan hasil peramalan

Baris Kode 1

2

3

4

private void defuzifikasi()

String input_dataTraining = fieldDatatraininggetText()

String input_dataTesting = fieldDatatestinggetText()

String input_konstanta = fieldKonstantagetText()

78

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

int dataTraining = IntegervalueOf(input_dataTraining)

int dataTesting = IntegervalueOf(input_dataTesting)

int konstanta = IntegervalueOf(input_konstanta)

int match[][]

match = new int[dataTesting][2000]

int threshold = (jmlh_Faktor order) + konstanta

int hitung_selisih = 0

perhitungan selisih

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt (dataTraining + i) j++)

hitung_selisih = 0

for (int k = 0 k lt order k++)

for (int l = 0 l lt jmlh_Faktor l++)

if (i == 0)

hitung_selisih = hitung_selisih +

(Mathabs(FLR_kiri_training[j][k][l] ndash

FLR_kiri_testing[i][k][l]))

else if (i gt 0)

FLR_kiri_training[(dataTraining-

1)+i][k][l] = FLR_kiri_testing[i-

1][k][l]

FLR_kanan_training[(dataTraining-1)+i]

= FLR_kanan_testing[i-1]

hitung_selisih = hitung_selisih +

(Mathabs(FLR_kiri_training[j][k][l] ndash

FLR_kiri_testing[i][k][l]))

if (hitung_selisih lt threshold)

match[i][j] = hitung_selisih

menghitung jumlah total FLR yang cocok untuk setiap data

testing

int countGroup[] = new int[dataTesting]

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt (dataTraining + i) j++)

if (match[i][j] gt 0)

countGroup[i]++

mencocokan FLR_kiri yang cocok dengan FLR_kanan

group = new int[dataTesting][2000]

for (int i = 0 i lt dataTesting i++)

int tmp_count = 0

for (int j = 0 j lt (dataTraining + i) j++)

if (match[i][j] gt 0)

if (tmp_count lt countGroup[i])

group[i][tmp_count] = j

tmp_count++

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt countGroup[i] j++)

group[i][j] = FLR_kanan[group[i][j]]

mengelompokkan yang sama

MapltInteger Integergt map = new HashMapltInteger Integergt()

hasil_peramalan = new double[dataTesting]

for (int i = 0 i lt dataTesting i++)

79

70

71

72

73

74

75 76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

double peramalan = 0

mapclear()

for (int j = 0 j lt countGroup[i] j++)

int key = group[i][j]

if (mapcontainsKey(key))

int occurrence = mapget(key)

occurrence++

mapput(key occurrence)

else

mapput(key 1)

menghitung hasil peramlaan

Iterator iterator = mapkeySet()iterator()

while (iteratorhasNext())

int key = (Integer) iteratornext()

int occurrence = mapget(key)

peramalan = (peramalan + (pusat_cluster1[(key - 1)]

occurrence))

hasil_peramalan[i] = (peramalan countGroup[i])

Kode Program 510 Implementasi proses defuzzifikasi

53 Implementasi Antarmuka

Pada implementasi antarmuka dijelaskan beberapa halaman antarmuka untuk penggunaan dari program hasil implementasi Implementasi antarmuka berdasarkan perancangan yang telah dijelasakan pada bab sebelumnya yaitu bab perancangan Halaman antarmuka yang dibuat adalah halaman input halaman tampil data halaman proses halaman hasil dan halaman perhitungan error

531 Implementasi antarmuka halaman input

Halaman input merupakan halaman yang pertama muncul setelah program dijalankan Pada halaman input ini terdapat beberapa inputan yang harus di masukkan yaitu data input data training data testing order dan konstanta Selain itu pada halaman input juga terdapat tiga button yaitu button browse data button fuzzification dan button forecasting Berikut tampilan antarmuka halaman input yang ditunjukkan pada Gambar 51

Gambar 51 Implementasi antarmuka halaman input

80

532 Implementasi antarmuka halaman tampil data

Halaman tampil data merupakan halaman yang tampil setelah melakukan input data Halaman ini berisi tabel yang menampilkan data curah hujan suhu kecepatan angin dan kelembaban Berikut tampilan antarmuka halaman tampil data yang ditunjukkan pada Gambar 52

533 Implementasi antarmuka halaman proses

Halaman proses merupakan halaman yang muncul setelah button fuzzification telah dieksekusi Halaman proses ini terdiri dari tiga bagian atau tab yaitu clustering fuzzification dan Fuzzy logical relationship Pada halaman antarmuka clustering menampilkan Universe of Discourse dan jumlah cluster pada masing ndash masing faktor Berikut merupakan tampilan antarmuka halaman proses bagian clustering yang ditunjukkan pada Gambar 53

Gambar 52 Implementasi antarmuka halaman tampil data

Gambar 53 Implementasi antarmuka halaman proses clustering

81

Pada tab selanjutnya yaitu pada tab fuzzification tab ini menampilkan hasil proses fuzzifikasi Pada halaman ini menampilkan tabel yang berisi hasil fuzzifikasi dari setiap faktor Berikut merupakan tampilan antarmuka halaman proses bagian fuzzification yang ditunjukkan pada Gambar 54

Pada tab Fuzzy Logical Relationship menampilakn hasil dari proses pembentukan Fuzzy Logical Relationship Tampilan pada halaman ini menampilkan berupa textarea yang berisi dari output proses tersebut Berikut merupakan tampilan antarmuka halaman proses bagian Fuzzy Logical Relationship yang ditunjukkan pada Gambar 55

Gambar 54 Implementasi antarmuka halaman proses fuzzification

Gambar 55 Implementasi halaman antarmuka proses FLR

82

534 Implementasi antarmuka halaman hasil

Pada implementasi antarmuka halaman hasil ini merupakan halaman yang menampilkan hasil dari proses defuzzifikasi Halaman hasil ini menampilkan tabel yang berisi data aktual dan data dari hasil peramlan Berikut merupakan tampilan antarmuka halaman hasil yang ditunjukkan pada Gambar 56

535 Implementasi antarmuka halaman perhitungan error

Pada implementasi antarmuka halaman perhitungan error merupakan halaman yang menampilkan hasil dari proses perhitungan Mean Square Error (MSE) Pada halaman antarmuka ini menampilkan hasil error MSE pada textfield Berikut merupakan tampilan antarmuka halaman perhitungan error yang ditunjukkan pada Gambar 57

Gambar 56 Implementasi halaman antarmuka hasil

Gambar 57 Implementasi halaman antarmuka perhitungan error

83

BAB 6 PENGUJIAN DAN ANALISIS

Pada bab ini membahas hasil pengujian dan analisis hasil pengujian dari hasil implementasi metode High Order Fuzzy Time Series Multi factors untuk peramalan curah hujan dasarian Pada pengujian ini disesuaikan dengan perancangan pengujian pada bab 4

61 Sistematika Pengujian

Pada bab sebelumnya yaitu bab 4 mengenai perancangan telah dibahas perancangan pengujian dikatakan bahwa pengujian akan dilakukan sebanyak empat pengujian Pengujian order pengujian threshold pengujian jumlah data training dan pengujian validasi sistem Dari semua pengujian tersebut akan di uji dan di analisis bagaimana pengaruhnya terhadap hasil perhitungan Mean Square Error (MSE)

62 Hasil dan Analisis Pembahasan

Berikut hasil pengujian dan analisis yang disesuaikan dengan perancangan pengujian pada bab sebelumnya

621 Pengujian pengaruh order terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh order terhadap nilai MSE Order merupakan urutan jumlah dari data time series pada periode waktu t yang mempengaruhi nilai data Jadi jika nilai order adalah 3 maka peramalan akan melibatkan 3 data sebelumnya pada proses pembentukan Fuzzy Logical Relationship (FLR) Pada pengujian ini hanya nilai order yang diubah ndash ubah sedangkan variabel lain akan dibuat tetap Pengujian akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai variabel jumlah data training adalah 72 yaitu dari data Januari 2014 dasarian 1 sampai Desember 2015 dasarian 3 nilai data testing adalah 36 yaitu dasarian 1 Januari 2016 sampai dasarian 3 Desember 2016 konstanta adalah 10 Nilai threshold diperoleh dari perhitungan jumlah faktor dikali order dan dijumlah nilai konstanta Berikut adalah hasil pengujian pengaruh order terhadap nilai MSE yang ditunjukkan pada Tabel 61

Tabel 61 Hasil pengujian order terhadap nilai MSE

No Order Threshold MSE

1 3 22 808585

2 6 34 965547

3 9 46 912631

4 12 58 875884

5 15 70 719284

6 18 82 6801207

7 21 94 5637184

8 24 106 5444184

9 27 118 5433631

10 30 130 5418393

84

Dari hasil pengujian order seperti yang telah ditunjukkan pada Tabel 61 maka pada percobaan pertama dengan order = 3 dan threshold 22 dapat diperoleh MSE sebesar 808585 Selanjutnya pada percobaan kedua dengan order = 6 dan threshold = 34 diperoleh MSE sebesar 965547 Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 61

Berdasarkan Gambar 61 order yang berbeda - beda mempengaruhi besar nilai MSE Dalam penelitian ini menentukan order memiliki ketentuan yaitu nilai order harus lebih dari 0 dan batas maksimal order adalah setengah dari nilai data training (LinYang 2009) Nilai MSE terbesar yang ditunjukkan pada pengujian ini adalah 965547 pada pengujian order 6 dan nilai MSE terkecil adalah 5418393 pada pengujian order 30 Pada Gambar 61 menunjukkan bahwa pada order 3 ke order 6 mengalami peningkatan nilai MSE selanjutnya pada order 6 hingga order 30 mengalami penurunan Pada order 3 memiliki nilai MSE lebih kecil dari order 6 order 9 dan order 12 karena memiliki lebih banyak hasil selisih tingkat kecocokan data time series yang tidak terlalu besar dan kurang dari threshold Selain itu karena data time series dari data sampel yang diperoleh memiliki pola data musiman dimana perubahan pola data dasarian tidak terlalu banyak berubah dari tahun ke tahun Selanjutnya pada order 6 hingga order 30 menunjukkan penurunan nilai MSE dan order terbesar memiliki nilai MSE terkecil sehingga dapat disumpulkan bahwa semakin besar order maka semakin kecil pula nilai MSE Dalam hal ini dengan semakin besarnya order maka data sebelumnya yang digunakan untuk pertimbangan dalam menentukan peramalan semakin banyak Sehingga semakin besar nilai order maka dapat membuat peramalan semakin akurat Dalam pengujian ini memimiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoImplementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emasrdquo yang menyatakan bahwa semakin besar nilai order maka semakin kecil nilai kesalahannya (Wardhani et al 2015)

Gambar 61 Grafik hasil pengujian order terhadap nilai MSE

85

622 Pengujian pengaruh threshold terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh threshold terhadap nilai MSE Threshold merupakan hasil dari mengalikan jumlah order dengan jumlah faktor pada data kemudian dijumlahkan dengan dengan nilai konstanta Pada proses defuzzifikasi terdapat proses menghitung selisih antara pangkat bawah Fuzzy Logical Relationship (FLR) data training dan pangkat bawah FLR data testing Selanjutnya setelah mendapatkan nilai selisih maka nilai selisih tersebut dibandingkan dengan nilai threshold untuk mencari FLR yang cocok Pada pengujian ini nilai konstanta saja yang diubah ndash ubah sementara variabel lainnya tetap Pengujian akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai variabel jumlah data training adalah 72 yaitu dari data Januari 2014 dasarian 1 sampai Desember 2015 dasarian 3 nilai data testing adalah 36 yaitu dasarian 1 Januari 2016 sampai dasarian 3 Desember 2016 dan Nilai order adalah 30 Pada penentuan input konstanta nilai minimal harus lebih besar dari 0 dan nilai maksimal menyesuaikan data sampel yang digunakan (LinYang 2009) Berikut adalah hasil pengujian pengaruh threshold terhadap nilai MSE yang ditunjukkan pada Tabel 62

Tabel 62 Hasil pengujian threshold terhadap nilai MSE

No Konstanta Threshold MSE

1 10 130 558485

2 20 140 577498

3 30 150 597364

4 40 160 604660

5 50 170 646951

6 60 180 680257

7 70 190 703013

8 80 200 741484

9 90 210 756749

10 100 220 780600

Dari hasil pengujian threshold seperti yang telah ditunjukkan pada Tabel 62 maka dapat dilihat bahwa konstanta yang dilakukan pengujian dimulai dengan nilai 10 sampai 100 Hasil yang didapat pada percobaan pertama dengan konstanta = 10 dan threshold 130 diperoleh MSE sebesar 558485 Selanjutnya pada percobaan kedua dengan konstanta = 20 dan threshold = 140 diperoleh MSE sebesar 577498 Selanjutnya dapat kita lihat pada percobaan yang telah dilakukan dari percobaan pertama hingga percobaan kesepuluh nilai MSE yang diperoleh mengalami perubahan pada setiap percobaan Dapat dilihat bahwa peningkatan MSE lebih dominan menunjukkan peningkatan sehingga dalam hal ini semakin besar nilai konstanta dan threshold maka semakin besar pula nilai MSE yang diperoleh Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 62

86

Berdasarkan grafik dari Gambar 62 nilai input konstanta yang berbeda - beda mempengaruhi besar nilai MSE semakin besar nilai konstanta maka nilai threshold juga semakin besar karena threshold diperoleh dari perhitungan order dikali jumlah faktor dan selanjutnya dijumlah dengan nilai konstanta Dalam hal ini dengan semakin besar nilai threshold maka dalam proses seleksi untuk mencari nilai selisih FLR juga semakin luas batasannya dan jika semakin kecil nilai threshold maka dalam proses seleksi untuk mencari nilai selisih FLR menjadi semakin sempit dan mempermudah proses peramalan karena hanya adanya sedikit data yang cocok dengan data yang akan diramalkan dan mempermudah proses defuzzifikasi Oleh karena itu semakin kecil threshold maka dapat membuat peramalan semakin akurat Akan tetapi nilai threshold tidak boleh terlalu kecil karena dapat menyebabkan kegagalan peramalan Kegagalan peramalan itu terjadi karena tidak adanya data training yang cocok dengan data testing karena pada metode yang digunakan pada penelitian ini sangat bergantung pada data ndash data sebelumnya Dari hasil percobaan diatas hasil MSE terbesar adalah 7806 yaitu pada konstanta 100 serta threshold 220 dan hasil MSE terkecil adalah 558485 yaitu pada konstanta 10 dan threshold 130 Dalam pengujian ini memiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoImplementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emasrdquo yang menyatakan bahwa semakin kecil nilai konstanta maka semakin kecil nilai kesalahannya (Wardhani et al 2015)

623 Pengujian pengaruh jumlah data training terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh jumlah data training terhadap nilai MSE Pada pengujian ini jumlah data training adalah data dasarian yaitu 1 tahun 2 tahun 3 tahun 4 tahun dan 5 tahun dimana dari setiap 1 tahun memiliki 36 data dasarian Pengujian ini akan dilakukan sebanyak lima kali Pada pengujian ini jumlah data testing adalah 36 nilai order adalah setengah dari

Gambar 62 Grafik hasil pengujian threshold terhadap nilai MSE

87

nilai data training nilai konstanta adalah 20 Berikut adalah hasil pengujian pengaruh jumlah data training terhadap nilai MSE yang ditunjukkan pada Tabel 63

Tabel 63 Hasil pengujian jumlah data training terhadap nilai MSE

No Jumlah Data Training MSE

1 36 786586

2 72 634527

3 108 627190

4 144 614184

5 180 539698

Dari hasil pengujian jumlah data training seperti yang telah ditunjukkan pada Tabel 63 maka pada percobaan pertama dengan data training = 36 dapat diperoleh MSE sebesar 786586 Selanjutnya pada percobaan kedua dengan data training = 72 diperoleh MSE sebesar 634527 Dalam hal ini dari percobaan satu dan dua nilai MSE mengalami penurunan Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 63

Berdasarkan dari Gambar 63 pengujian pertama sampai pengujian kelima mengalami penerunan nilai MSE Sehingga dapat disimpulkan bahwa semakin besar data training maka semakin kecil nilai MSE yang diperoleh Nilai MSE semakin kecil apabila menggunakan data training dalam jumlah besar karena data yang digunakan memiliki rentang jauh dari periode data testing atau data yang akan diramalkan Sedangkan data training yang sedikit memiliki nilai MSE yang besar karena data training yang memiliki kecocokan dengan data testing berada pada periode yang jauh dengan data testing sehingga nilai MSE menjadi tinggi Dalam hal ini terbukti bahwa metode yang digunakan pada penelitian ini memerlukan jumlah data training yang banyak sehingga dapat menurunkan nilai kesalahannya Dari hasil percobaan diatas hasil MSE terbesar adalah 786586 dan

Gambar 63 Grafik hasil pengujian data training terhadap nilai MSE

88

hasil MSE terkecil adalah 539698 Dalam pengujian ini memimiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoPeramalan Jumlah Kunjungan Wisatawan Kota Batu Menggunakan Metode Time Invariant Fuzzy Time Seriesrdquo yang menyatakan bahwa semakin besar jumlah data training maka semakin kecil nilai kesalahannya (Elfajar et al 2017)

624 Pengujian validasi sistem

Pada pengujian ini dilakukan untuk mengetahui kestabilan dari sistem dengan menggunakan order threshold terbaik dari pengujian sebelumnya Pada pengujian ini akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai data training menggunakan 36 data yang berbeda agar dapat menunjukkan gambaran variasi dari nilai kesalahan MSE pada peramalan nilai order adalah 18 dan konstanta adalah 10 sehingga nilai threshold adalah 92 Berikut adalah hasil pengujian validasi sistem yang ditunjukkan pada Tabel 64

Tabel 64 Hasil pengujian validasi sistem

Percobaan ke- MSE

1 714290

2 703856

3 732564

4 732815

5 6973958

6 7532825

7 741726

8 760457

9 709961

10 6256204

Dari hasil pengujian validasi sistem seperti yang telah ditunjukkan pada Tabel 64 maka dapat digambarkan dengan grafik yang ditunjukkan oleh Gambar 64

Gambar 64 Grafik hasil pengujian validasi sistem

89

Berdasarkan dari gambar grafik Gambar 64 bahwa pengujian dari validasi sistem memiliki hasil MSE yang tidak terlalu jauh berbeda dari penggunaan data yang berbeda - beda Oleh karena itu dapat disimpulkan bahwa implementasi dari metode High Order Fuzzy Time Series Multi Factors yang telah digunakan sudah cukup baik untuk digunakan peramalan

Berdasarkan dari pengujian yang dilakukan diatas dapat diketahui bahwa nilai MSE terkecil terdapat pada pengujian jumlah data training yaitu dengan nilai MSE sebesar 539698 Nilai tersebut diperoleh dari pengujian jumlah data training dasarian dari tahun 2011 hingga 2015 untuk melakukan peramalan pada data dasarian tahun 2016 Nilai order adalah 90 dan konstanta adalah 10 Berikut adalah perbandingan data aktual dengan hasil peramalan yang ditunjukkan pada grafik Gambar 65

Gambar 65 Grafik perbandingan data aktual dengan hasil peramalan

90

BAB 7 PENUTUP

Pada bab ini terdiri dari dua sub bab yaitu kesimpulan dan saran Kesimpulan adalah tahapan yang berisi hasil penelitian yang dilakukan dan jawaban semua rumusan masalah yang sudah ditetapkan sebelumnya dan saran adalah tahapan yang berisi hasil yang telah dicapai untuk memperbaiki kekurangan - kekurangan yang terjadi pada penelitian ini serta memberikan pertimbangan pada pengembangan penelitian lebih lanjut

71 Kesimpulan

Pada kesimpulan ini mengacu pada penelitian yang telah dilakukan yang meliputi perancangan implementasi serta pengujian dan analisis terhadap hasil implementasi peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors maka dapat diambil kesimpulan sebagai berikut

1 Berdasarkan dari implementasi metode High Order Fuzzy Time Series Multi Factors dalam melakukan peramalan curah hujan dasarian dilakukan dengan beberapa langkah yaitu langkah pertama perhitungan Universe of Discourse yang terdiri perhitungan mean standar deviasi dan perhitungan Dmin serta Dmax langkah kedua yaitu perhitungan jumlah cluster langkah ketiga yaitu perhitungan pusat cluster langkah keempat yaitu pembentukan subinterval dan fuzzy set langkah kelima yaitu proses fuzzifikasi langkah keenam yaitu pembentukan Fuzzy Logical Relationship(FLR) langkah ketujuh adalah defuzzifikasi yang hasil outputnya merupakan hasil peramalan curah hujan

2 Berdasarkan dari pengujian peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors maka dapat diketahui bahwa

a Order berpengaruh terhadap nilai error semakin besar nilai order maka hasil peramalan semakin baik

b Threshold berpengaruh terhadap nilai error semakin rendah nilai threshold maka hasil peramalan semakin baik Akan tetapi nilai threshold tidak boleh terlalu rendah karena dapat menyebabkan kegagalan peramalan

c Data training berpengaruh terhadap nilai error semakin besar jumlah data training maka hasil peramalan semakin baik Sehingga peramalan menggunakan metode High Order Fuzzy Time Series Multi Factors memerlukan banyak data training

d Hasil implementasi peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors cukup baik digunakan untuk peramalan Hal ini terbukti hasil pengujian validasi sistem menunjukkan grafik yang cukup stabil

Dari pengujian yang telah dilakukan nilai MSE terkecil terdapat pada pengujian jumlah data training yaitu dengan nilai MSE sebesar 539698 Nilai tersebut diperoleh dari pengujian jumlah data training dasarian dari tahun

91

2011 hingga 2015 untuk melakukan peramalan pada data dasarian tahun 2016

72 Saran

Pada penelitian ini dilakukan peramalan curah hujan dasarian dengan faktor yang mempengaruhi adalah suhu kelembaban dan kecapatan angin Saran penulis diharapkan untuk penelitian selanjutnya melakukan penambahan faktor yang mempengaruhi curah hujan atau melakukan peramalan objek lain dengan mempertimbangkan faktor ndash faktor yang mempengaruhinya Serta diharapkan pada penelitian selanjutnya untuk menambahkan data yang lebih banyak serta bervariatif sehingga nilai hasil perhitungan akurasi peramalan yang dihasilkan dalam penelitian dapat meningkat Penggunaan data training yang banyak dan bervariatif dapat membuat pola data semakin terlihat sehingga hasil peramalan yang dihasilkan memiliki akurasi yang lebih baik

92

DAFTAR PUSTAKA

Ardiyanto 2016 ldquoTerendam Air Petani Lamongan Terpaksa Panen Dinirdquo Times Indonesia November 18 httpwwwtimesindonesiacoidread13688520161118102415terendam-air-petani-lamongan-terpaksa-panen-dini (Diakses 25 Februari 2017)

Badan Penelitian dan Pengembangan Pertanian Kementrian Pertanian 2015 ldquoKalender Tanam Terpadu Versi 25 Kota Malang Prov Jawa Timurrdquo httpkatamlitbangpertaniangoidkatam_terpadu2016mh33535733573_tinggipdf (Diakses 25 Februari 2017)

Bagirov M Adil Mahmood Arshad and Barton Andrew 2017 Prediction of monthly rainfall in Victoria Australia Clusterwise linear regression approach Elsevier Atmos Research 188 20-29

BMKG Staklim Karangploso Malang 2015 ldquoAnalisis Dinamika Atmosfer Dan Laut Dasarian III Maret 2015 Update 2 April 2015rdquo httpkarangplosojatimbmkgogoidindexphpanalisis-kondisi-dinamika-atmosfer-laut-dasarian-tahun-2015399-analisis-dinamika-atmosfer-dan-laut-dasarian-iii-maret-2015-update-2-april-2015axzz3X8h9y4fgampgsctab=0 (Diakses 25 Februari 2017)

BPS Kabupaten Malang 2016 ldquoKabupaten Malang Dalam Angka 2016rdquo httpsmalangkabbpsgoidwebsitepdf_publikasiKabupaten-Malang-Dalam-Angka-2016pdf (Diakses 25 Februari 2017)

BPS Jawa Timur 2015 ldquoJawa Timur Dalam Angka 2015rdquo httpsjatimbpsgoid4dmnpdf_publikasiJawa-Timur-Dalam-Angka-2015pdf (Diakses 25 Februari 2017)

Buffa S Elwood Rakesh and Sarin K 1996 Modern Production and Operation Management Eight Edition John Willey and Sons Inc London

Chen M 1996 Forecasting Enrollments based on Fuzzy Time Series Fuzzy Sets and Systems 311-319

Dewi Candra Kartikasari Dani Mursityo Yusi 2014 Prediksi Cuaca Pada Data Time Series Menggunakan Adaptive Neuro Fuzzy Inference System (ANFIS) Jurnal Teknologi Informasi dan Ilmu Komputer (JTIIK) Vol 1 No 1 hlm 18-24

Dewi Candra Muslikh M 2013 Perbandingan Akurasi Backpropagation Neural Network dan ANFIS Untuk Memprediksi Cuaca NATURAL-A Journal of Scientific Modeling amp Computation Volume 1 No1

Elfajar Aria Setiawan Budi Dewi Candra 2017 Peramalan Jumlah Kunjungan Wisatawan Kota Batu Menggunakan Metode Time Invariant Fuzzy Time Series Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer Vol 1 No 2 Hlmn 85-94

93

Fauziah Normalita Wahyuningsih Sri dan Nasution Yuki 2016 Peramalan Menggunakan Fuzzy Time Series Chen (Studi Kasus Curah Hujan Kota Samarinda) Vol4 Statistika

Forest Mahyu 2015 ldquoDefenisi amp Pengertian Kelembabanrdquo httpilmupengetahuaalamblogspotcoid201506defenisi-pengertian-kelembabanhtml (Diakses 25 Februari 2017)

Irsyad Muhammad Metarice Sonya 2013 Penerapan Metode Automatic Clustering dan High Order Fuzzy Time Series Pada Peramalan Curah Hujan Jurnal Sains dan Teknologi Industri Vol 10 No 02

Klawon F 2001 What is About Fuzzy Clustering Understanding and Improving the Concept of the Fuzzier Science Journal httppublic-rzfh-wolfebuetteldeklawon

Kurniawan Carlos 2007 Analisis dan Perancangan Program Aplikasi Peramalan Curah Hujan dengan Metode Wavelet (Studi Kasus BMKG)

Kusumadewi S 2003 ldquoArtificial Intelegence (Teknik amp Aplikasinya)rdquo Graha Ilmu Yogyakarta

Kusumadewi S Purnomo H 2004 ldquoAplikasi Logika Fuzzy untuk Pendukung Keputusanrdquo Graha Ilmu Yogyakarta

Kusumadewi Sri 2002 Analisis amp Desain Sistem Fuzzy Tollbox MATLAB Graha Ilmu Yogyakarta

Lin Yupei Yang Y 2009 Stock Markets Forecasting Based on Fuzzy Time Series Model IEEE Conference Publications 782-886

Makridakis S Steven C Wheelwright Victor E and Gee MC 1999 Metode dan Aplikasi Peramalan Jilid I Edisi Kedua Jakarta Binarupa Aksara

Mirawati T Yasin H and Rusgiyono A 2013 Prediksi Curah Hujan dengan Metode Kalman Filter(Studi Kasus di Kota Semarang 2012) Jurnal Gaussian 2(3) pp 239-248

Pradipta Nur Sembiring Pasukat Bangun Pengarapen 2013 Analisis Pengaruh Curah Hujan di Kota Medan Saintia Matematika Vol 1

Sipayung Putri Metha 2013 Pemodelan Hubungan Kelembapan Udara terhadap Curah Hujan (Studi Kasus Curah Hujan Periode 2001-2009 pada Stasiun Dramaga) httprepositoryipbacidhandle12345678960623 (Diakses 25 Februari 2017)

User 2015 httpstaklimnegaranet[Online] Available at httpwwwstaklimnegaranetindexphpbuletin-hujanpengertian-istilah (Diakses 25 Februari 2017)

Wang Nai-Yi Chen Shyi-Ming 2009 Temperature prediction and TAIFEX forecasting based on automatic clustering techniques and two-factors high-order fuzzy time series Elsevier Expert Systems with Applications 36 2143ndash2154

94

Wardhani Dessy Ratnawati Dian Setiawan Budi 2015 Implementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Saham Repositori Jurnal Mahasiswa PTIIK UB Doro Jurnal Vol 6 No 6

Wiyanti T and Pulungan R 2012 Peramalan Deret Waktu Menggunakan Model Fungsi Basis Radial (RBF) dan Auto Regressive Integrated Moving Average (ARIMA) Jurnal MIPA 35(2) pp 175-182

Yunanto Utomo 2014 ldquoBMKG Akui Prakiraan Cuacanya Masih Kurang Akuratrdquo Kompas Sains Januari 30 httpwwwtimesindonesiacoidread13688520161118102415terendam-air-petani-lamongan-terpaksa-panen-dini (Diakses 25 Februari 2017)

  • Bagian Depanpdf
  • BAB Ipdf
  • BAB IIpdf
  • BAB IIIpdf
  • BAB IVpdf
  • BAB Vpdf
  • BAB VIpdf
  • BAB VIIpdf
  • Daftar Pustakapdf
Page 4: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI

iv

KATA PENGANTAR

Puji syukur penulis panjatkan kepada Allah SWT yang telah memberikan rahmat dan hidayah-Nya kepada penulis sehingga penulis dapat menyelesaikan skripsi dengan judul ldquoPeramalan Curah Hujan Menggunakan Metode High Order Fuzzy Time Series Multi Factorsrdquo

Melalui kesempatan ini penulis ingin menyampaikan terima kasih kepada semua pihak yang telah memberikan bantuan serta dukungan kepada penulis dalam menyelesaikan skripsi ini diantaranya

1 Kedua orang tua penulis Bapak Wahyudi Rianto amp Ibu Sugihartiwi yang selalu memberikan dorsquoa kasih sayang dan semangat kepada penulis

2 Ibu Candra Dewi SKom MSc selaku dosen pembimbing I yang telah memberikan ilmu serta saran selama proses pengerjaan skripsi ini

3 Bapak Bayu Rahayudi ST MT selaku dosen pembimbing II yang juga telah memberikan ilmu serta saran selama proses pengerjaan skripsi ini

4 Ibu Hurriyatul Fitriyah ST MSc selaku dosen penasihat akademik yang telah memberikan banyak kritik dan saran selama proses perkuliahan

5 Bapak Wayan Firdaus Mahmudy S Si MT PhD selaku Dekan Fakultas Ilmu Komputer Universitas Brawijaya

6 Bapak Tri Astoto Kurniawan ST MT PhD selaku Ketua Jurusan Teknik Informatika Fakultas Ilmu Komputer Universitas Brawijaya

7 Bapak Agus Wahyu Widodo ST MCs selaku Ketua Program Studi Teknik Informatika Fakultas Ilmu Komputer Universitas Brawijaya

8 Semua teman FILKOM khususnya angkatan 2013 yang telah memberikan bantuan serta dukungan selama masa perkuliahan dan pengerjaan skripsi

9 Semua pihak yang tidak dapat disebutkan satu persatu yang terlibat baik secara langsung mapun tidak langsung yang telah membantu penulis dalam menyelesaikan skripsi ini

Penulis menyadari bahwa skripsi ini masih banyak kekurangan sehingga penulis dengan terbuka menerima kritik serta saran yang membangun Akhir kata penulis berharap skripsi ini dapat bermanfaat dan berguna bagi semua pihak yang menggunakannya

Malang 10 Agustus 2017

Penulis

ahmadabastomigmailcom

v

ABSTRAK

Kabupaten Malang merupakan salah satu kabupaten di Jawa Timur yang memiliki tingkat produksi pertanian yang cukup tinggi dimana hampir disetiap kecamatanya memiliki lahan pertanian Permasalahannya adalah pada saat curah hujan yang tinggi tidak sedikit petani yang mengalami gagal panen Curah hujan adalah salah satu dari beberapa faktor yang mempengaruhi perubahan iklim sehingga sangat menentukan hasil panen yang diperoleh Permasalahan gagal panen ini dapat diatasi dengan melakukan peramalan curah hujan dengan adanya peramalan curah hujan petani dapat menentukan waktu pola tanam yang sesuai sehingga dapat mengantisipasi terjadinya gagal panen Pada penelitian ini peramalan curah hujan dalam dasarian berdasarkan beberapa faktor yaitu suhu kelembaban dan kecepatan angin Metode yang digunakan untuk peramalan curah hujan dasarian adalah High Order Fuzzy Time Series Multi factors Pada metode ini pembentukan subinterval dilakukan dengan menggunakan fuzzy C-means Dalam menghitung kesalahan hasil peramalan menggunakan Mean Square Error (MSE) Berdasarkan hasil pengujian yang dilakukan semakin kecil threshold serta semakin besar data training dan order maka nilai kesalahan yang diperoleh semakin rendah Hasil peramalan curah hujan dasarian untuk peramalan satu tahun kedepan menggunakan metode ini mendapatkan hasil MSE terbaik sebesar 539698

Kata kunci curah hujan fuzzy C-means fuzzy time series peramalan

vi

ABSTRACT

Malang Regency is one of the regencies in East Java which has a high level of agricultural production in almost every district has agricultural land The problem is when high rainfall is not a few farmers who experienced crop failure Rainfall is one of several factors that affect climate change so it is very important to determine the yields obtained The problem of this harvest failure can be overcome by forecasting rainfall with rainfall forecasting farmers can determine the time of the appropriate cropping patterns so as to anticipate the occurrence of crop failure On the research of forecasting rainfall in dasarian based on several factors namely temperature humidity and wind speed The methods used for forecasting rainfall dasarian is a High-Order Fuzzy Time Series Multi factors In this method the formation of subinterval using fuzzy C-means In calculating the error of forecasting result using Mean Square Error (MSE) Based on the results of tests conducted the smaller threshold and the greater data training as well order the value error is obtained increasingly low The result of forecasting dasarian rainfall for forecasting one year ahead using this method get the best MSE result of 539698 Keywords rain fall fuzzy C-means fuzzy time series forecasting

vii

DAFTAR ISI

PENGESAHAN ii

PERNYATAAN ORISINALITAS iii

KATA PENGANTAR iv

ABSTRAK v

ABSTRACT vi

DAFTAR ISI vii

DAFTAR TABEL xi

DAFTAR GAMBAR xiii

DAFTAR KODE PROGRAM xv

DAFTAR LAMPIRAN xvi

BAB 1 PENDAHULUAN 1

11 Latar belakang 1

12 Rumusan masalah 2

13 Tujuan 3

14 Manfaat 3

15 Batasan masalah 3

16 Sistematika pembahasan 3

BAB 2 LANDASAN KEPUSTAKAAN 5

21 Kajian Pustaka 5

22 Dasar Teori 7

221 Peramalan 8

222 Curah hujan 8

223 Data time series 9

224 Logika Fuzzy 10

225 Metode Fuzzy C-means 13

226 Metode Peramalan dengan Fuzzy Time Series 15

227 Metode High Order Fuzzy Time Series Multi Factors 17

228 Perhitungan keakuratan metode peramalan 20

BAB 3 METODOLOGI 22

31 Studi Literatur 22

viii

32 Pengumpulan Data 23

33 Perancangan 23

34 Implementasi 23

35 Pengujian dan Analisis 23

36 Kesimpulan dan Saran 24

BAB 4 PERANCANGAN 25

41 Perancangan Proses 25

411 Proses perhitungan Universe of Discourse 26

4111 Proses perhitungan Mean 28

4112 Proses perhitungan standar deviasi 29

4113 Proses perhitungan nilai Dmin dan Dmax 30

412 Proses perhitungan jumlah cluster 31

413 Proses perhitungan pusat cluster 32

414 Proses pembentukan subinterval dan Fuzzy set 37

415 Proses Fuzzifikasi 38

416 Proses pembentukan Fuzzy Logical Relationship 41

417 Proses Defuzzifikasi 43

42 Perhitungan Manual 46

421 Perhitungan Universe of Discourse (U) 46

422 Perhitungan jumlah cluster (k) 48

423 Perhitungan pusat cluster dan subinterval 49

4231 Penentuan pusat cluster 49

4232 Perhitungan batas subinterval 55

424 Pembentukan Fuzzy Set 56

425 Fuzzifikasi 56

426 Pembentukan Fuzzy Logical Relationship (FLR) 58

427 Defuzzifikasi 58

43 Perancangan antarmuka 60

431 Halaman input 60

432 Halaman tampil data 61

433 Halaman proses 62

434 Halaman hasil 63

ix

435 Halaman perhitungan error 64

44 Perancangan pengujian 64

441 Perancangan pengaruh order terhadap nilai MSE 64

442 Perancangan pengaruh threshold terhadap nilai MSE 65

443 Perancangan pengaruh jumlah data training terhadap nilai MSE 65

444 Perancangan validasi sistem 65

BAB 5 IMPLEMENTASI 67

51 Spesifikasi Sistem 67

511 Spesifikasi Perangkat Keras 67

512 Spesifikasi Perangkat Lunak 67

52 Implementasi Algoritma 67

521 Implementasi Proses Universe of Discourse 68

5211 Implementasi proses mean 68

5212 Implementasi proses standar deviasi 68

5213 Implementasi proses Dmin dan Dmax 69

522 Implementasi Proses Jumlah Cluster 69

523 Implementasi Proses Pusat Cluster 70

524 Implementasi Proses Pembentukan Subinterval dan Fuzzy Set 72

525 Implementasi proses fuzzifikasi 74

526 Implementasi Pembentukan Fuzzy Logical Relationship 75

527 Implementasi Proses Defuzzifikasi 77

53 Implementasi Antarmuka 79

531 Implementasi antarmuka halaman input 79

532 Implementasi antarmuka halaman tampil data 80

533 Implementasi antarmuka halaman proses 80

534 Implementasi antarmuka halaman hasil 82

535 Implementasi antarmuka halaman perhitungan error 82

BAB 6 PENGUJIAN DAN ANALISIS 83

61 Sistematika Pengujian 83

62 Hasil dan Analisis Pembahasan 83

621 Pengujian pengaruh order terhadap nilai MSE 83

x

622 Pengujian pengaruh threshold terhadap nilai MSE 85

623 Pengujian pengaruh jumlah data training terhadap nilai MSE 86

624 Pengujian validasi sistem 88

BAB 7 PENUTUP 90

71 Kesimpulan 90

72 Saran 91

DAFTAR PUSTAKA 92

LAMPIRAN 95

Lampiran 1 Data Sampel 95

xi

DAFTAR TABEL

Tabel 21 Kajian Pustaka 5

Tabel 22 Fuzzy Logic Relationship 19

Tabel 23 Peramalan fuzzy set 20

Tabel 41 Data Sampel Perhitungan Manual 46

Tabel 42 Hasil kuadrat dari selisih data ke-i dan mean 47

Tabel 43 Nilai minimum nilai maksimum dan standar deviasi 47

Tabel 44 Hasil Universe of Discourse 48

Tabel 45 Nilai absolut selisih data hari ke-t dengan hari sebelumnya 48

Tabel 46 Hasil jumlah cluster data 49

Tabel 47 Matriks partisi awal pada cluster data A 50

Tabel 48 Derajat keanggotaan matriks partisi data A 51

Tabel 49 Perhitungan pusat cluster data A 52

Tabel 410 Fungsi objektif data A 53

Tabel 411 Perbaikan matriks partisi 54

Tabel 412 Hasil perbaikan matriks partisi 54

Tabel 413 Hasil pusat cluster 55

Tabel 414 Batas subinterval masing ndash masing atribut data 55

Tabel 415 Hasil derajat keanggotaan dan fuzzy set data A 57

Tabel 416 Hasil fuzzifikasi semua data attribut 57

Tabel 417 Hasil pembentukan FLR data training 58

Tabel 418 Hasil pembentukan FLR data testing 58

Tabel 419 Frekuensi FLR yang cocok dengan data testing 59

Tabel 420 Perbandingan data aktual dan hasil peramalan 60

Tabel 421 Rancangan pengujian order terhadap nilai MSE 64

Tabel 422 Rancangan pengujian threshold terhadap nilai MSE 65

Tabel 423 Rancangan pengujian jumlah data training terhadap nilai MSE 65

Tabel 424 Rancangan pengujian validasi sistem 66

Tabel 51 Spesifikasi Perangkat Keras 67

Tabel 52 Spesifikasi Perangkat Lunak 67

Tabel 61 Hasil pengujian order terhadap nilai MSE 83

xii

Tabel 62 Hasil pengujian threshold terhadap nilai MSE 85

Tabel 63 Hasil pengujian jumlah data training terhadap nilai MSE 87

Tabel 64 Hasil pengujian validasi sistem 88

xiii

DAFTAR GAMBAR

Gambar 21 Representasi linear naik 11

Gambar 22 Representasi linear turun 12

Gambar 23 Representasi kurva segitiga 12

Gambar 31 Diagram blok metodologi penelitian 22

Gambar 41 Diagram alir metode penelitian yang digunakan (bagian 1) 25

Gambar 42 Diagram alir metode penelitian yang digunakan (bagian 2) 26

Gambar 43 Diagram alir proses perhitungan Universe of Discourse 27

Gambar 44 Diagram alir proses perhitungan mean 28

Gambar 45 Diagram alir proses perhitungan standar deviasi 29

Gambar 46 Diagram alir perhitungan nilai Min dan Max 30

Gambar 47 Diagram alir proses perhitungan jumlah cluster 31

Gambar 48 Diagram alir proses perhitungan pusat cluster (bagian 1) 32

Gambar 49 Diagram alir proses perhitungan pusat cluster (bagian 2) 33

Gambar 410 Diagram alir proses perhitungan pusat cluster (bagian 3) 34

Gambar 411 Diagram alir proses perhitungan pusat cluster (bagian 4) 35

Gambar 412 Diagram alir proses perhitungan pusat cluster (bagian 5) 36

Gambar 413 Diagram alir pembentukan subinterval dan fuzzy set (bagian 1) 37

Gambar 414 Diagram alir pembentukan subinterval dan fuzzy set (bagian 2) 38

Gambar 415 Diagram alir proses fuzzifikasi (bagian 1) 39

Gambar 416 Diagram alir proses fuzzifikasi (bagian 2) 40

Gambar 417 Diagram alir proses Pembentukan FLR (bagian 1) 41

Gambar 418 Diagram alir proses Pembentukan FLR (bagian 2) 42

Gambar 419 Diagram alir proses Pembentukan FLR (bagian 3) 43

Gambar 420 Diagram alir proses defuzzifikasi (bagian 1) 44

Gambar 421 Diagram alir proses defuzzifikasi (bagian 2) 45

Gambar 422 Grafik fuzzy set data A 56

Gambar 423 Rancangan antarmuka halaman input 61

Gambar 424 Rancangan antarmuka halaman tampil data 61

Gambar 425 Rancangan antarmuka halaman proses clustering 62

Gambar 426 Rancangan antarmuka proses fuzzifikasi 62

xiv

Gambar 427 Rancangan antarmuka proses fuzzy logical relationship 63

Gambar 428 Rancangan antarmuka halaman hasil peramalan 63

Gambar 429 Rancangan antarmuka halaman perhitungan error 64

Gambar 51 Implementasi antarmuka halaman input 79

Gambar 52 Implementasi antarmuka halaman tampil data 80

Gambar 53 Implementasi antarmuka halaman proses clustering 80

Gambar 54 Implementasi antarmuka halaman proses fuzzification 81

Gambar 55 Implementasi halaman antarmuka proses FLR 81

Gambar 56 Implementasi halaman antarmuka hasil 82

Gambar 57 Implementasi halaman antarmuka perhitungan error 82

Gambar 61 Grafik hasil pengujian order terhadap nilai MSE 84

Gambar 62 Grafik hasil pengujian threshold terhadap nilai MSE 86

Gambar 63 Grafik hasil pengujian data training terhadap nilai MSE 87

Gambar 64 Grafik hasil pengujian validasi sistem 88

Gambar 65 Grafik perbandingan data aktual dengan hasil peramalan 89

xv

DAFTAR KODE PROGRAM

Kode Program 51 Implementasi proses Universe of Discourse 68

Kode Program 52 Implementasi proses mean 68

Kode Program 53 Implementasi proses standar deviasi 69

Kode Program 54 Implementasi proses Dmin dan Dmax 69

Kode Program 55 Implementasi proses jumlah cluster 70

Kode Program 56 Implementasi proses pusat cluster 72

Kode Program 57 Implementasi pembentukan subinterval dan fuzzy set 74

Kode Program 58 Implementasi proses fuzzifikasi 75

Kode Program 59 Implementasi pembentukan FLR 77

Kode Program 510 Implementasi proses defuzzifikasi 79

xvi

DAFTAR LAMPIRAN

Lampiran 1 Tabel Data Sampel 95

1

BAB 1 PENDAHULUAN

11 Latar belakang

Kabupaten Malang merupakan salah satu kabupaten di Jawa Timur yang terkenal akan potensi alam yang dimiliki (BPS Kabupaten Malang 2016) Dalam hal ini terkenal akan potensi alamnya karena kabupaten Malang memiliki tingkat produksi di sektor pertanian yang cukup tinggi dimana hampir seluruh kecamatan di kabupaten Malang memiliki lahan pertaniaaan (BPS Jatim 2015) Permasalahan yang terjadi pada sektor pertanian yaitu terjadinya gagal panen apabila memasuki musim penghujan dengan curah hujan yang tinggi yaitu diatas 200 mm per bulan serta apabila memasuki musim kemarau dengan curah hujan yang rendah yaitu dibawah 100 mm per bulan (BMKG Staklim Karangploso Malang 2015) Dalam mengatasi hal tersebut upaya yang dilakukan petani selama ini hanya melakukan tindakan seperti melakukan panen secara dini Upaya ini dianggap petani cukup efektif dalam mengurangi besarnya kerugian gagal panen akan tetapi sebaiknya yang dilakukan adalah melakukan suatu tindakan agar kerugian yang dialami petani tidak terjadi lagi (Ardiyanto 2016)

Salah satu contoh tindakan yang dapat dilakukan adalah membuat Kalender Tanam (KATAM) KATAM dapat digunakan petani sebagai alat bantu atau pedoman dalam menentukan awal musim tanam terbaik seperti yang telah dilakukan oleh Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian Dalam pembuatan KATAM Balitbang menggunakan data peramalan curah hujan dari Badan Meteorologi Klimatologi dan Geofisika (BMKG) Akan tetapi BMKG mengakui bahwa prakiraan cuacanya saat ini memang masih kurang akurat dan masih kalah dengan prakiraan cuaca di Amerika Serikat (Yunanto 2014) Pentingnya akan prakiraan cuaca terbukti adanya beberapa penelitian sebelumnya yaitu penelitian prakiraan cuaca dengan input faktor yang mempengaruhi cuaca yang berupa data time series menggunakan metode Adaptive Neuro Fuzzy Inference System (ANFIS) (Dewi 2014) dan penelitian mengenai prediksi cuaca menggunakan metode Backpropagation Neural Network yang terbukti memiliki nilai akurasi yang baik dalam prediksi cuaca (Dewi 2013)

Teknik atau metode peramalan curah hujan yang sering digunakan BMKG adalah metode Autoregressive Integrated Moving Average (ARIMA) ANFIS dan Wavelet (Kurniawan 2007) Namun dalam penerapannya gabungan dari ketiga metode tersebut masih kurang memuaskan yaitu tingkat akurasinya hanya mencapai 60 - 70 Menurut BMKG kurangnya tingkat akurasinya ini disebabkan oleh keadaan pola atmosfer di Indonesia yang selalu berubah ndash ubah dan kurang menentu

Selain metode yang digunakan oleh BMKG adapun penelitian sebelumnya yang meramalkan curah hujan yaitu penelitian menggunakan metode Fuzzy Time Series Chen dengan studi kasus curah hujan di Samarinda dalam penelitian ini menggunakan data time series curah hujan bulanan dengan kesimpulan pengunaan data yang sedikit memiliki tingkat akurasi lebih tinggi dibandingkan

2

menggunakan data yang banyak yaitu menghasilkan nilai RMSE terkecil 7368 dan MAE terkecil 539 (Fauziah et al 2016)

Selain peramalan yang hanya menggunakan data time series dari data yang akan diramalkan juga terdapat penelitian sebelumnya yang menggunakan faktor - faktor yang mempengaruhi dari data yang akan diramalkan Salah satunya yaitu penelitian dengan menggunakan metode Clusterwise Linear Regression (CLR) Penelitian ini menggunakan data bulanan pada delapan stasiun cuaca di kota Victoria Australia Peramalan curah hujan pada penelitian ini menggunakan faktor yang mempengaruhi yaitu suhu maksimum suhu minimum penguapan tekanan uap dan radiasi matahari Hasil penelitian ini terbukti dapat melakukan peramalan curah hujan dengan hasil yang cukup baik yaitu dengan nilai RMSE terkecil 197 dan MAE terkecil 129 (Bagirov et al 2017)

Berdasarkan paparan yang telah dijelaskan penulis memiliki ide untuk melakukan penelitian dengan judul ldquoPeramalan Curah Hujan dengan Metode High Order Fuzzy Time Series Multi Factorsrdquo Pada metode ini dilakukan klasterisasi data untuk membangun subinterval dengan menggunakan metode fuzzy C-means (LinYang 2009) Dari proses hasil klasterisasi akan digunakan untuk membagi data semesta yang selanjutnya menghasilkan fuzzy set atau himpunan fuzzy yang menggambarkan fitur data (LinYang 2009) Keunggulan dari metode fuzzy time series dengan multi faktor yaitu dengan berdasarkan pada penelitian ndash penelitian sebelumnya yang menggunakan metode tersebut yaitu penelitian prediksi harga emas dengan beberapa faktor yang mempengaruhi menggunakan metode Multi-factors High order Fuzzy Time Series Model dari hasil penelitian ini dengan menggunakan metode evaluasi Mean Absolute Percentage Error (MAPE) dapat diperoleh nilai error terkecil sebesar 0443 (Wardhani et al 2015) dan penelitian peramalan Indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen menggunakan metode Fuzzy Time Series Model dari penilitian ini menunjukan tingkat Average Relative Error (ARError) sebesar 176 untuk bursa efek harian Shanghai sedangkan untuk bursa efek harian Shenzhen didapatkan ARError sebesar 187 (Lin Yang 2009) terbukti menghasilkan hasil peramalan dengan tingkat akurasi yang cukup tinggi Penggunaan metode ini juga sesuai dengan curah hujan yang dipengaruhi oleh beberapa faktor yaitu kelembaban udara kecepatan angin dan suhu (Pradipta 2013) Penelitian ini diharapkan dapat memberikan hasil peramalan curah hujan yang lebih akurat dan memiliki nilai kesalahan yang lebih sedikit

12 Rumusan masalah

Berdasarkan latar belakang yang telah dipaparkan dibuatlah beberapa rumusan masalah sebagai berikut

1 Bagaimana mengimplementasikan Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

2 Berapa tingkat kesalahan dari hasil implementasi Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

3

13 Tujuan

Adapun maksud dan tujuan dari penelitian ini adalah sebagai berikut

1 Mengimplementasikan Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

2 Mengetahui tingkat kesalahan dari hasil implementasi Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

14 Manfaat

Adapun manfaat dari penelitian ini adalah sebagai berikut

1 Bagi Badan Meteorologi dan Geofisika (BMKG) untuk dapat memberikan peramalan curah hujan yang lebih akurat dari sebelumnya

2 Bagi Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian untuk dapat membuat Kalender tanam (KATAM) dengan menggunakan data ramalan curah hujan yang lebih akurat

3 Bagi penduduk kabupaten Malang khususnya yang bekerja pada sektor pertanian agar dapat mengoptimalkan hasil produksi dengan menyesuaikan penanaman sesuai dengan Kalender Tanam (KATAM) yang telah dibuat Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian

15 Batasan masalah

Penelitian ini dibatasi oleh hal ndash hal sebagai berikut

1 Data curah hujan kelembaban udara kecepatan angin dan suhu udara yang digunakan pada penelitian ini merupakan data berdasarkan dasarian dan hanya mencakup wilayah kabupaten Malang dan data diperoleh dari BMKG Karangkates Kabupaten Malang dengan data time series yang digunakan pada penelitian ini yaitu dari tahun 2011 - 2016

2 Model peramalan yang diterapkan adalah semua nilai yang membentuk pola dataset training dan testing diketahui nilainya

3 Perhitungan nilai tingkat kesalahan permalan menggunakan metode Mean Square Error (MSE)

16 Sistematika pembahasan

Sistematika pembahasan penelitian ditunjukkan untuk memberikan gambaran dan uraian dari penyusunan proposal yang meliputi beberapa bab sebagai berikut

BAB 1 PENDAHULUAN

Pada bab ini berisi latar belakang rumusan masalah tujuan penelitian manfaat penelitian batasan masalah sistematika pembahasan dan rencana kerja atau jadwal penelitian

4

BAB 2 LANDASAN KEPUSTAKAAN

Pada bab ini berisi tentang kajian pustaka dan dasar teori yang menjadi dasar dalam melakukan implementasi peramalan curah hujan dengan Metode High Order Fuzzy Time Series Multi Factors

BAB 3 METODOLOGI

Pada bab ini diuraikan tentang tahapan atau langkah ndash langkah yang dilakukan dalam proses penelitian tentang peramalan curah hujan dengan metode High Order Fuzzy Time Series Multi Factors Langkah ndash langkah tersebut terdiri dari tahapan penelitian teknik pengumpulan data algoritma yang digunakan lingkungan pengujian dan pengujian algoritma yang digunakan serta pengambilan kesimpulan

BAB 4 PERANCANGAN

Pada bab ini berisi tentang perancangan proses algoritma perhitungan manual metode High Order Fuzzy Time Series Multi Factors perancangan antar muka dan perancangan pengujian

BAB 5 IMPLEMENTASI

Pada bab ini berisi tentang penjelasan peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors bagaimana user interface dan source code dalam pengimplementasian metode ini

BAB 6 PENGUJIAN DAN ANALISIS

Pada bab ini berisi tentang penjelasan proses dan hasil pengujian dari implementasi metode High Order Fuzzy Time Series Multi Factors dalam peramalan curah hujan serta analisis dari pengujian tersebut

BAB 7 PENUTUP

Pada bab ini berisi kesimpulan yang diperoleh dari hasil pengujian dan saran ndash saran untuk pengembangan penelitian selan

5

BAB 2 LANDASAN KEPUSTAKAAN

Bab ini berisi mengenai kajian pustaka dan dasar ndash dasar teori yang akan dibahas serta digunakan untuk menunjang topik ndash topik pembahasan Pada kajian akan dibahas perbedaan antara penelitian yang telah ada dengan penelitian yang diusulkan oleh penulis Sedangkan pada dasar teori akan dibahas mengenai teori ndash teori yang digunakan pada penelitian yang diusulkan

21 Kajian Pustaka

Pada kajian pustaka disini berisi mengenai perbandingan antara penelitian yang diusulkan oleh penulis dengan penelitian sebelumnya yang relevan Perbandingan tersebut dapat dilihat padat Tabel 21

Tabel 21 Kajian Pustaka

No Judul Objek dan Input Penelitian Metode

1 Penerapan Metode Automatic Clustering dan High Order Fuzzy Time Series Pada Peramalan Curah Hujan (Irsyad Metarice 2013)

Objek Curah hujan

Input Penelitian

Data aktual curah hujan

Metode High Order Fuzzy Time Series dan Automatic Clustering

Nilai evalusi

Mean Absolute Percentage Error (MAPE)

2 Peramalan Menggunakan Fuzzy Time Series Chen (Studi Kasus Curah Hujan Kota Samarinda) (Fauziah et al 2016)

Objek Curah Hujan

Input Penelitian

Data aktual curah hujan

Metode Fuzzy Time Series Chen

Nilai evaluasi

Mean Absolute Error (MAE) Root Mean of Square Error (RMSE)

3 Implementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emas (Wardhani et al 2015)

Objek Harga Emas

Input Penelitian

Kurs Dollar hari sebelumnya

Kurs Euro hari sebelumnya

Harga Emas London hari sebelumnya

Harga Emas hari sebelumnya

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

Nilai evalusi

Mean Absolute Percentage Error (MAPE)

4 Stock Markets Forecasting Based on Fuzzy Time Series Model (Lin Yang 2009)

Objek Indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

6

Input Penelitian

Historical return

Historical turnover volume

Rata ndash rata selisih pergerakan harga selama lima hari

Selisih antara kekuatan bull dan bear

Indeks komposit bursa efek harian Shanghai sebelumnya

Indeks komposit bursa efek harian Shenzhen

Nilai evalusi

Average Relative Error (ARError)

5 Peramalan Curah Hujan Menggunakan Metode High Order Fuzzy Time Series Multi Factors

Objek Curah hujan

Input Penelitian

Suhu

Kelembaban

Kecepatan angin

Curah hujan

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

Nilai evalusi

Mean Square Error (MSE)

Sumber (Irsyad Metarice 2013) (Fauziah et al 2016) (Wardhani et al 2015) dan (Lin Yang 2009)

Pada penelitian yang pertama yaitu penelitian yang dilakukan oleh Muhammad Irsyad dan Sonya Metarice pada tahun 2013 dengan objek penelitian yang diramalkan adalah curah hujan Inputan yang digunakan pada penelitian ini merupakan data aktual curah hujan bulanan Metode yang digunakan penelitian ini adalah Automatic Clustering dan High Order Fuzzy Time Series Pada penelitian ini metode Automatic Clustering digunakan untuk membangun interval dan High Order Fuzzy Time Series untuk melakukan peramalan curah hujan Kesimpulan yang diperoleh dari penelitian ini yaitu metode ini dapat diterapkan untuk permalan curah hujan dan hasil evaluasi menggunakan metode Mean Absolute Percentage Error(MAPE) dari beberapa bercobaan dapat diperoleh nilai kesalahan sebesar 437 Berdasarkan dari hasil nilai kesalahan tersebut maka tingkat kesalahan data pada permalan ini termasuk rendah

Pada tahun 2016 Normalita Fauziah Sri Wahyuningsih dan Yuki Novia Nasution melakukan penelitian dengan objek penelitian curah hujan di kota Samarinda Inputan yang digunakan pada penelitian berupa data aktual bulanan curah hujan di kota Samarinda Metode yang digunakan pada penelitian ini adalah Fuzzy Time Series Chen dengan dalam pembentukkan panjang interval berbasis rata ndash rata atau average based Pada penelitian ini permalan curah hujan terbaik yaitu dengan menggunkan data sebanyak 29 data dengan menghasilkan tingkat nilai kesalahan terkecil yaitu dengan metode Root Mean of Squared Error (RMSE) sebesar 7368 dan metode Mean Absolute Error (MAE) sebesar 539 Pada

(Lanjutan) Tabel 21 Kajian Pustaka

7

penelitian ini disimpulkan bahwa data sebanyak 29 data memiliki tingkat kesalahan lebih kecil dibandingkan dengan menggunakan data dengan jumlah sampel yang lebih banyak

Pada penelitian selanjutnya adalah penelitian yang dilakukan oleh Dessy Kusuma Wardhani Dian Eka Ratnawati dan Budi Darma Setiawan pada tahun 2015 dengan objek penelitian yang diramalkan adalah harga emas harian Inputan yang digunakan pada penelitian ini data aktual harian harga emas indonesia harga emas london kurs dollar ke rupiah dan kurs euro ke rupiah Metode yang digunakan pada penelitian pada pembentukkan sub interval menggunakan metode fuzzy C-means dan untuk peramalan menggunakan metode High Order Fuzzy Time Series Model Hasil pada penelitian ini berdasarkan menggunakan metode evaluasi Mean Absolute Percentage Error (MAPE) dapat diperoleh nilai error terkecil sebesar 0443 karena nilai error lebih kecil dari 10 menunjukkan bahwa metode ini sangat baik digunakan untuk peramalan harga emas

Pada tahun 2009 Yupei Lin dan Yiwei Yang melakukan penelitian dengan objek yang diramalkan adalah indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen Data input penelitian ini meliputi historical return historical turnover volume dan rata ndash rata selisih pergerakan harga selama lima hari serta selisih antara kekuatan bull dan bear Dalam penelitian ini pembentukan subinterval yang berfungsi dalam pendefinisian himpunan fuzzy dilakukan dengan menggunakan klasterisasi fuzzy C-means Hasil dari penilitian ini menunjukan tingkat Average Relative Error (ARError) sebesar 176 untuk bursa efek harian Shanghai sedangkan untuk bursa efek harian Shenzhen didapatkan ARError sebesar 187 Dalam hal ini membuktikan bahwa penelitian dapat menghasilkan peramalan yang cukup baik karena memiliki nilai ARError kurang dari 5

Pada penelitian ini membahas tentang peramalan curah hujan dasarian menggunakan metode High Order Fuzzy Time Series Multi Factors Terdapat empat inputan yang juga dijadikan sebagai variabel dalam penelitian ini yaitu kelembaban udara kecepatan angin suhu udara dan curah hujan Pembentukan subinterval yang berfungsi dalam pendefinisian fuzzy set dilakukan dengan menggunakan klasterisasi fuzzy C-means Penelitian ini menggunakan high order fuzzy logic relationship yaitu membentuk fuzzy logic relationship berdasarkan data dalam kurun waktu beberapa dasarian sebelum dasarian yang akan diramal Pada penelitian ini dalam melakukan perhitungan nilai error untuk mendapatkan hasil evaluasi menggunakan metode Mean Square Error (MSE)

22 Dasar Teori

Pada dasar teori disini dijelaskan tentang metode ndash metode yang digunakan pada penelitian ini yang meliputi peramalan curah hujan data time series logika fuzzy fuzzy C-means metode peramalan dengan Fuzzy Time Series High Order Fuzzy Time Series Multi Factors dan metode perhitungan keakuratan metode peramalan

8

221 Peramalan

Terdapat beberapa definisi tentang peramalan menurut Kamus Besar Bahasa Indonesia (KBBI) yaitu

a Peramalan merupakan prediksi rencana atau estimasi kejadian masa depan yang tidak pasti (KBBI)

b Peramalan adalah sebagai penggunaan teknik ndash teknik statistik dalam bentuk gambaran masa depan berdasarkan pengolahan angka ndash angka yang terjadi pada masa lalu (Buffa et al1996)

c Peramalan adalah bagian internal dari pengambilan keputusan manajemen (Makridakis et al1999)

Berdasarkan beberapa definisi diatas dapat disimpulkan bahwa peramalan merupakan tindakan apa yang akan terjadi di masa mendatang peramalan diperlukan untuk mengambil sebuah keputusan Dalam pengambilan keputusan harus diambil dari pertimbangan ndash pertimbangan yang ada Oleh karena itu peramalan sangat penting hubungannya dengan pengambilan keputusan sehingga kejadian di masa yang akan datang dapat dipersiapkan tindakan apa yang perlu dilakukan

222 Curah hujan

Curah hujan merupakan salah satu faktor penting yang mempengaruhi perubahan iklim suatu wilayah (Mirawati et al 2013) Salah satu contoh kasus nyata yaitu terjadinya perubahan iklim secara tiba ndash tiba atau bisa disebut dengan cuaca ekstrim Curah hujan dapat dijelaskan dengan air hujan yang terkumpul pada suatu wadah datar dimana air hujan tersebut tidak meresap tidak menguap dan tidak mengalir sehingga dapat diukur ketinggiannya Sebagai contoh curah hujan 1 (satu) milimeter dapat dijelaskan dalam suatu wadah datar dengan luas satu meter persegi tertampung air dengan ketinggian sekitar satu milimeter atau tertampung air sebanyak satu liter Metode dalam mendapatkan data curah hujan adalah dengan menggunakan penakar hujan yang kemudian diukur dengan satuan milimeter (mm) (User2015) Intensitas curah hujan dapat dikategorikan ringan jika dibawah 20mm dalam 24 jam dikategorikan lebat jika di atas 50mm dan dikategorikan sedang jika selang 20mm hingga 50mm (User 2015)

Curah hujan mempengaruhi beberapa sektor diantarannya sektor komunikasi dimana penggunaan frekuensi diatas 10 GHz dapat terkena redaman hujan (Mauludiyanto et al 2009) Akan tetapi curah hujan paling berpengaruh terhadap sektor pertanian Hal ini terbukti bahwa sebagian besar terjadinya penurunan produktifitas dan gagal panen di sektor pertanian adalah terjadinya curah hujan yang tinggi

Tinggi dan rendahnya curah hujan dipengaruhi oleh beberapa faktor yaitu kelembaban udara temperatur dan kecepatan angin Pada tahun 2013 Nur Suri Pradipta Pasukat Sembiring dan Pengarapen Bangun melakukan penelitian mengenai pengaruh curah hujan di kota Medan (Pradipta et al 2013)

9

Berdasarkan penelitian tersebut faktor yang mempengaruhi dan digunakan dalam peramalan curah hujan yaitu

1 Kelembaban udara

Kelembaban udara adalah banyaknya kandungan uap air di atmosfer Udara atmosfer adalah campuran dari udara kering dan uap air selain itu kelembaban udara merupakan komponen cuaca yang mempunyai peranan sangat penting bagi stabilitas kehidupan organisme di bumi maupun unsur-unsur cuaca yang lain (Forest 2015) Kelembaban udara berpengaruh terhadap curah hujan Hal ini didukung penelitian oleh (Sipayung et al 2013) yang menyatakan Kelembaban udara berpengaruh positif terhadap curah hujan

2 Kecepatan angin

Kecepatan angin merupakan kecepatan udara yang bergerak secara horizontal pada ketinggian 2 meter diatas tanah Dalam hal ini faktor yang menentukan kecepatan angin adalah perbedaan tekanan udara antara asal dan tujuan angin Kecepatan angin berpengaruh positif terhadap curah hujan artinya jika kecepatan angin tinggi maka curah hujan akan tinggi (Pradipta et al2013)

3 Suhu udara

Suhu udara merupakan ukuran energi kinetik rata ndash rata dari pergerakan molekul ndash molekul Suhu udara berpengaruh negatif terhadap curah hujan artinya jika suhu udara tinggi maka curah hujan akan berkurang (Pradipta et al2013)

223 Data time series

Data time series adalah data statistik yang telah dihimpun dari masa lampau hingga sekarang dan dapat digunakan sebagai acuan dalam melakukan peramalan terhadap data yang akan datang (Wiyanti amp Pulungan 2012) Data time series juga dapat didefinisikan sebagai sebuah kegiatan mengamati data statistik dimana terdapat korelasi (dependensi) antar datanya sehingga data yang sekarang sedang diamati memiliki ketergantungan dengan satu atau lebih data pengamatan sebelumnya (Mirawati et al 2013)

Terdapat dua teknik prediksi yang menggunakan basis data time series yaitu teknik model matematika statistik dan berdasarkan kecerdasan buatan (Wiyanti amp Pulungan 2012) Analisa time series sendiri memiliki beberapa peruntukan salah satunya digunakan dalam melakukan peramalan untuk masa yang akan datang Dalam penggunaan data time series merupakan salah satu proses peramalan kuantitatif dimana berdasar data kuantitatif masa lampau yang direpresentasikan dalam bentuk angka atau nilai (Mirawati et al 2013)

10

224 Logika Fuzzy

Pada tahun 1965 Prof Lotfi A Zadeh memperkenalkan teori logika fuzzy Logika fuzzy merupakan suatu komponen soft computing dan juga suatu cara yang tepat untuk memetakan suatu ruang input ke dalam ruang output Antara ruang input dan ruang output terdapat black box yang berfungsi memetakan input ke ruang output yang sesuai Dasar logika fuzzy adalah teori fuzzy set Pada teori fuzzy set peranan derajat keanggotaan sebagai penentu keberadaan elemen dalam suatu himpunan sangatlah penting Oleh karena itu derajat keanggotaan menjadi ciri utama dalam penalaran dengan logika fuzzy Logika fuzzy bekerja dengan menggunakan derajat keanggotan dari sebuah nilai yang kemudian digunakan untuk menentukan hasil yang ingin dihasilkan berdasarkan atas kriteria yang telah ditentukan (Kusumadewi 2003)

Berikut adalah beberapa alasan digunakannya logika fuzzy (Kusumadewi 2002)

1 Logika fuzzy sangat fleksibel

2 Konsep logika fuzzy mudah dimengerti dan dipahami

3 Logika fuzzy memiliki toleransi terhadap data ndash data yang homogen dan data ndash data yang kurang tepat

4 Logika fuzzy didasari pada bahasa alami atau bahasa sehari - hari sehingga mudah dimengerti

5 Logika fuzzy dapat bekerjasama dengan teknik ndash teknik kendali secara konvensional

6 Logika fuzzy mampu membangun dan mengaplikasikan pengalaman ndash pengalaman para pakar secara langsung tanpa harus melalui tahap atau proses pelatihan

A Himpunan Fuzzy

Himpunan fuzzy atau fuzzy set merupakan perluasan himpunan tegas atau himpunan crisp jadi fungsi karakteristik mencakup bilangan real pada interval [01] Dalam definisi lain himpunan fuzzy adalah suatu himpunan yang mewakili suatu keadaan atau kondisi tertentu dalam suatu variabel fuzzy Keanggotaan fuzzy berbeda dengan probabilitas jika keanggotaan fuzzy pada setiap fungsi karakteristik memberikan suatu pendapat atau keputusan sedangkan probabilitas menunjukan seberapa besar nilai kebenaran dalam fungsi karakteristik tersebut Contohnya yaitu nilai keanggotaan suatu himpunan fuzzy umur muda 09 berarti nilai dalam himpunan tersebut memiliki kemungkinan 90 anggotanya berumur muda dan 10 diharapkan tidak muda Dalam himpunan fuzzy suatu bilangan bisa memiliki dua keanggotaan sekaligus Himpunan fuzzy memiliki dua attribut (Kusumadewi2003)

11

1 Linguistik merupakan penamaan suatu himpunan yang mewakili suatu keadaan atau kondisi tertentu dengan menggunakan bahasa alami misalnya muda parobaya tua

2 Numeris merupakan suatu nilai (angka) yang menunjukkan ukuran dari suatu

variabel seperti 402550 dan sebagainya

B Fungsi Keanggotaan

Fungsi keanggotaan adalah suatu kurva yang menunjukkan pemetaan titik ndash titik input data ke dalam derajat keanggotaannya yang memiliki subinterval antara 0 sampai 1 (Kusumadewi Purnomo 2004) Salah satu cara yang dapat digunakan untuk mendapatkan nilai keanggotaan adalah dengan melalui pendekatan fungsi Ada beberapa fungsi keanggotaa yang dapat digunakan

1 Fungsi representasi linear

Pada fungsi representasi linear pemetaan input ke derajat keanggotaannya digambarkan sebagai suatu garis lurus Bentuk ini paling sederhana dan menjadi pilihan yang baik untuk mendekati suatu konsep yang kurang jelas Keadaan linear himpunan fuzzy terdiri dari dua keadaan yaitu keadaan linear naik dan keadaan linear turun Pada keadaan linear naik kenaikan himpunan dimulai pada nilai domain yang memiliki nilai derajat keanggotaan nol bergerak ke kanan menuju ke nilai domain yang memiliki derajat keanggotaan yang lebih tinggi seperti yang ditunjukkan Gambar 21 Persamaan fungsi keanggotaan pada representasi linear naik ditunjukkan oleh Persamaan 21

Fungsi Keanggotaan

120583(119909) = 0

(119909 minus 119886)(119887 minus 119886)1

119909 le 119886 119886 le 119909 le 119887119909 ge 119887

(21)

b a 0

1

Gambar 21 Representasi linear naik

Sumber Kusumadewi (2002)

120583(119909)

12

Pada keadaan linear turun berbanding terbalik dengan keadaan linear naik Garis lurus dimulai dari nilai domain dengan derajat keanggotaan tertinggi pada sisi kiri kemudian bergerak menurun ke nilai domain yang memiliki derajat keanggotaan lebih rendah yang ditunjukkan Gambar 22 Persamaan fungsi keanggotaan pada representasi linear turun ditunjukkan oleh Persamaan 22

Fungsi Keanggotaan

120583(119909) = (119887 minus 119909)(119887 minus 119886)0

119886 le 119909 le 119887

119909 ge 119887 (22)

2 Fungsi representasi kurva segitiga

Representasi kurva segitiga pada dasarnya merupakan gabungan antara 2 garis linear yaitu linear naik dan linear turun Fungsi representasi kurva segitiga ditandai oleh adanya tiga parameter abc yang akan menentukan koordinat x dari tiga sudut seperti ditunjukkan pada Gambar 23 Persamaan fungsi keanggotaan pada representasi kurva segitiga ditunjukkan oleh Persamaan 23

b a 0

1

Sumber Kusumadewi (2002)

Gambar 22 Representasi linear turun

120583(119909)

c a 0

1

b

Sumber Kusumadewi (2002)

Gambar 23 Representasi kurva segitiga

120583(119909)

13

Fungsi Keanggotaan

120583(119909) =

0 (119909 minus 119886)(119887 minus 119886) (119887 minus 119909)(119888 minus 119887)

119909 le 119886 119886119905119886119906 119909 ge 119888

119886 le 119909 le 119887 119887 le 119909 le 119888

(23)

225 Metode Fuzzy C-means

Fuzzy C-means (FCM) pertama kali diperkenalkan oleh Dunn dan dikembangkan oleh Bezdek yang banyak digunakan dalam pengenalan pola Metode ini merupakan pengembangan dari metode non-hierarkhi K-Means Cluster selanjutnya dilakukan iterasi sampai mendapatkan keanggotaan kelompok tersebut (Klawon 2001)

FCM merupakan salah satu algoritma fuzzy clustering dan juga teknik klasterisasi dimana tiap data ditentukan oleh derajat keanggotaanya Tujuan penggunaan algoritma FCM yaitu untuk menemukan pusat cluster atau centroid dengan meminimumkan fungsi objektif (Bazdek 1984) Ouput dari FCM bukan merupakan fuzzy inference system melainkan deretan pusat cluster dan beberapa derajat keanggotaan untuk setiap titik data Hasil output ini dapat digunakan untuk membangun suatu fuzzy inference system Berikut adalah langkah ndash langkah dari FCM (Kusumadewi 2004)

1 Langkah pertama menentukan jumlah cluster (c ge 2) pembobot (infin gt 119908 gt1) (Bazdek 1984) maksimum iterasi (maxIter) error minimum yang diharapkan yaitu nilai positif yang sangat kecil (120585) fungsi objektif awal (P0 = 0) iterasi awal dideklarasikan 1

2 Langkah kedua memasukkan data X yang akan diklasterisasi berupa matriks berukuran m x n (m = jumlah sampel data n = attribut setiap data) Contoh Xij = data sampel ke-i (i = 1234m) attribu ke-j (j=1234n)

3 Langkah ketiga yaitu dengan membuat bilangan random microik i = 1234n dan k = 123c (n = jumlah sampel pada data c = jumlah cluster yang akan dibentuk) sebagai elemen ndash elemen matriks partisi awal Untuk bilangan penyusun matriks partisi awal dihitung dihitung jumlahnya setiap kolom yang ditunjukkan pada pada Persamaan 24 (Kusumadewi 2004)

119876119896 = sum 120583119894119896119888119896=1 (24)

Dimana

119876119896 = jumlah bilangan pada kolom k

120583119894119896 = bilangan random pada baris i kolom k

119888 = jumlah kolom

14

Selanjutnya untuk menghitung derajat keanggotaan awal dengan melakukan normalisasi pada matiks partisi pada normalisasi dilakukan menggunakan Persamaan 25 (Kusumadewi 2004)

120583119894119896 = 120583119894119896119876119896 (25)

4 Langkah keempat melakukan perhitungan cluster ke-k Vkj dengan k = 1234c dan j = 1234m Perhitungan pusat cluster ditunjukkan pada Persamaan 26 (Kusumadewi 2004)

119881119896119895 = sum ((120583119894119896)119908 times 119883119894119895)119899

119894=1

sum (120583119894119896)119908119899119894=1

(26)

Dimana

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

120583119894119896 = derajat keanggotaan pada data ke-i cluster ke-k

119883119894119895 = data sampel pada data ke-i attribut ke-j

119908 = pembobot

5 Langkah kelima melakukan perhitungan fungsi objektif pada iterasi ke-t P1 Perhitungan fungsi objektif ditunjukkan pada Persamaan 27 (Kusumadewi 2004)

119875119905 = sum sum ([sum (119883119894119895 minus 119881119896119895)119898119895=1

2](120583119894119896)119908)119888

119896=1119899119894=1 (27)

Dimana

119875119905 = fungsi objektif

119883119894119895 = data sampel ke-i atribut ke-j

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

6 Langkah keenam melakukan perhitungan perbaikan matriks partisi yang telah ditunjukkan Persamaan 28 (Kusumadewi 2004)

120583119894119896 = [sum (119883119894119895minus119881119896119895)119898

119895=12

]

minus1119908minus1

sum [sum (119883119894119895minus119881119896119895)119898119895=1

2]

minus1119908minus1119888

119896minus1

(28)

Dimana

119883119894119895 = data sampel ke-i atribut ke-j

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

119908 = pembobot

7 Langkah ketujuh yaitu melakukan pemerikasaan kondisi berhenti dengan kondisi sebagai berikut

a Jika (|119875119905 minus 119875119905minus1| lt 120585) atau ( t gt MaxIter) maka berhenti

b Jika tidak memenuhi t = t +1 ulangi mulai dari langkah ke-4

15

226 Metode Peramalan dengan Fuzzy Time Series

Pada tahun 1996 Chen memperkenalkan metode peramalan dengan menggunakan metode Fuzzy Time Series Metode Fuzzy Time Series memiliki perbedaan dengan metode peramalan time series biasa atau konvensional yaitu terdapat pada data yang digunakan untuk peramalan Fuzzy Time Series data yang digunakan adalah berupa fuzzy set atau himpunan fuzzy dari bilangan ndash bilangan real atas himpunan semesta yang ditentukan Jadi Fuzzy Time Series merupakan metode dengan menggunakan data berupa fuzzy set yang berasal dari bilangan real atas Universe of Discorse pada data aktual Universe of Discourse adalah himpunan semesta dari data penelitian

Berikut adalah langkah ndash langkah metode Fuzzy Time Series yang telah diperkenalkan oleh Chen terdapat enam langkah yaitu

1 Langkah pertama yaitu membagi Universe of Discourse dari bilangan aktual ke dalam subinterval dengan jumlah interval yang sama Perhitungan Universe of Discourse ditunjukkan pada Persamaan 29 (Chen 1996)

119880 = [119863119898119894119899 minus 1198631 119863119898119886119909 + 1198632] (29)

Dimana

119880 = Universe of Discourse

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

1198631 dan 1198632 = bilangan positif yang ditentukan oleh user untuk menentukan Universe of Discourse dari himpunan data sampel

2 Langkah kedua adalah mendefinisikan fuzzy set dari Universe of Discourse (U) menjadikan A1 A2 A3 An ke dalam fuzzy set dengan nilai linguistik sesuai dengan keadaan U Selanjutnya mendefinisikan fuzzy set tersebut ditunjukkan pada Persamaan 210 (Chen 1996)

1198601 =11989111

1199061+

11989112

1199062+

11989113

1199063+ ⋯ +

1198911119896

119906119896 (210)

1198602 =11989121

1199061+

11989122

1199062+

11989123

1199063+ ⋯ +

1198912119896

119906119896

= + + + +

119860119896 =1198911198961

1199061+

1198911198962

1199062+

1198911198963

1199063+ ⋯ +

119891119896119896

119906119896

Dimana 119891119894119895120598 [01] 1 le 119894 le 119896 dan 1 le 119895 le 119898 Variabel 119891119894119895 menunjukkan

derajat keanggotaan dari subinterval 119906119895 dari fuzzy set 1198601 Pada konsep ini

Chen menggunakan nilai linguistik 1198601 = (not many) 1198602 = (not too many) 1198603= (many) 1198604 = (many many) 1198605 = (very many) 1198606 = (too many) 1198607= (too many many) Kemudian nilai linguistik tersebut dimasukkan ke tiap fuzzy set Dari U tersebut dapat dibangun fuzzy set sebagai berikut

16

1198601 = 1

1199061+

05

1199062+

0

1199063+

0

1199064+

0

1199065+

0

1199066+

0

1199067

1198602 = 05

1199061+

1

1199062+

05

1199063+

0

1199064+

0

1199065+

0

1199066+

0

1199067

1198603 = 0

1199061+

05

1199062+

1

1199063+

05

1199064+

0

1199065+

0

1199066+

0

1199067

1198604 = 0

1199061+

0

1199062+

05

1199063+

1

1199064+

05

1199065+

0

1199066+

0

1199067

1198605 = 0

1199061+

0

1199062+

0

1199063+

05

1199064+

1

1199065+

05

1199066+

0

1199067

1198606 = 0

1199061+

0

1199062+

0

1199063+

0

1199064+

05

1199065+

1

1199066+

05

1199067

1198607 = 0

1199061+

0

1199062+

0

1199063+

0

1199064+

0

1199065+

05

1199066+

1

1199067

3 Langkah ketiga yaitu melakukan fuzzifikasi data historis proses fuzzifikasi merupakan proses merubah data aktual yang merupakan bilangan crisp ke dalam bentuk bilangan fuzzy Bilangan fuzzy yang dimaksudkan adalah dalam bentuk derajat keanggotaan Dari beberapa derajat keanggotaan yang terbentuk kemudian dipilih satu fuzzy set yang memiliki derajat keanggotaan teringgi Fuzzifikasi dinotasikan sebagai berikut jika F(t-1) berada pada fuzzy set Ak maka F(t-1) difuzzifikasikan sebagai Ak

4 Langkah keempat adalah mengidentifikasi Fuzzy Logic Relationship (FLR) FLR diidentifikasikan sebagai Ai dan F(t) difuzzifikasikan sebagai Ai rarr Aj Ai sebagai sisi kiri relationship disebut sebagai current state dan Aj sebagai sisi kanan relationship disebut next state Jika terjadi perulangan relationship maka tetap dihitung satu kali

5 Langkah kelima yaitu mengelompokkan menjadi Fuzzy Logical Relationship Group (FLRG) FLRG dibangun berdasarkan sisi kiri (current state) yang sama

6 Langkah terakhir yaitu langkah keenam adalah melakukan defuzzifikasi nilai keluaran peramalan Defuzzifikasi adalah mengubah nilai keluaran fuzzy menjadi bilangan crisp kembali sehingga diperoleh hasil akhir peramalan Defuzzifikasi didasarkan pada tiga (3) rule aturan yaitu (Chen 1996)

I Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai hanya memiliki satu FLR pada FLRG yaitu dengan kondisi Ai rarr Aj dimana nilai maksimum fungsi keanggotaanya berada pada 119906119895 maka nilai peramalan untuk n+1 adalah

nilai tengah dari 119906119895 atau didefinisikan dengan 119898119895

II Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai memiliki lebih dari satu FLR pada FLRG yaitu dengan kondisi Ai rarr Aj1 Aj2 Ajp Dimana nilai tengah untuk masing ndash masing Aj1 Aj2 Aj3 Ajp adalah mj1 mj2 mj3 mjp

maka nilai peramalan untuk n+1 adalah (mj1 mj2 mj3 mjp) p

III Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai tidak memiliki FLR pada FLRG dimana nilai maksimum fungsi keanggotaannya berada pada 119906119895

17

maka nilai peramalan untuk n+1 adalah nilai tengah dari 119906119895 atau

didefinisikan dengan 119898119895

227 Metode High Order Fuzzy Time Series Multi Factors

Metode High Order Fuzzy Time Series Multi Factors adalah metode Fuzzy Time Series (FTS) yang melibatkan beberapa faktor yang mempengaruhi peramalan dengan berdasarkan beberapa periode waktu sebelum periode yang akan diramalkan dalam proses pembentukkan Fuzzy Logical Relationship (FLR) Hasil peramalan dengan banyak faktor yang mempengaruhi dinilai lebih baik dari pada dengan hanya satu faktor yang mempengaruhi (LinYang 2009) Pada metode ini pembentukkan subinterval yang berfungsi dalam pendefinisian fuzzy set dilakukan dengan menggunakan teknik klasterisasi fuzzy C-means Berikut adalah langkah ndash langkah Metode High Order Fuzzy Time Series Multi Factors (LinYang 2009)

1 Langkah pertama adalah melakukan perhitungan Universe of Discourse (U) Sebelum menghitung nilai U terlebih dulu menghitung nilai mean (rata ndash rata) sampel lalu menghitung nilai standar deviasi (120590) Mean merupakan perhitungan jumlah dari semua nilai dalam kumpulan data kemudian dibagi dengan jumlah total data untuk menghitung nilai mean ditunjukkan pada Persamaan 211 (Weisstein 2015) Standar deviasi merupakan akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel untuk menghitung nilai standar deviasi (120590) ditunjukkan pada Persamaan 212 (Weisstein 2015) Perhitungan U ditunjukkan pada Persamaan 213 (LinYang 2009)

119909 =sum 119909119894

119899119894=1

119899 (211)

Dimana

= mean (rata ndash rata)

119909119894 = nilai data ke-i

119899 = banyak data

120590 = radicsum (119909119894minus ) 2119899

119894=1

119899minus1 (212)

Dimana

120590 = Standar deviasi data

119880 = [119863119898119894119899 minus 120590 119863119898119886119909 + 120590] (213)

Dimana

119880 = Universal 0f Discourse

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

18

2 Langkah kedua yaitu menentukan jumlah cluster data Proses klasterisasi bertujuan untuk membagi U kedalam beberapa subinterval Hasil perhitungan banyaknya cluster apabila bernilai pecahan maka harus dibulatkan menjadi bilangan bulat Perhitungan banyaknya cluster ditunjukkan pada Persamaan 214 (LinYang 2009)

119896 = ||119863119898119894119899 minus 119863119898119886119909|sum |119883(119905)minus119883(119905minus1)|119899

119905=1

119899minus1| (214)

Dimana

119896 = banyaknya jumlah cluster

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

119899 = banyaknya data sampel

119883(119905) = data pada waktu ke-t

3 Langkah ketiga yaitu melakukan pembentukan pusat cluster Pada metode ini proses klasterisasi data menggunakan fuzzy C-means (FCM) untuk mendapatkan pusat cluster sebanyak k Tahapannya U dibagi kedalam k subinterval (119863119898119894119899 1198891) (1198891 1198892) (1198892 1198893) hellip (119889119896minus1 119863119898119886119909) dimana di (i = 123k-1) merupakan titik tengah antara dua pusat cluster k subinterval didefinisikan sebagai 1199061 1199062 1199063 hellip 119906119896 Sehingga dalam hal ini subinterval

dengan panjang berbeda dapat menggambarkan struktur data kompleks dengan baik dan dapat meningkatkan peramalan dibandingkan menggunakan subinterval dengan panjang yang sama (LinYang 2009)

4 Langkah keempat yaitu melakukan pembentukan himpunan fuzzy atau fuzzy set Pada langkah ini fuzzy set direpresentasikan dengan kurva bahu Pembentukkan fuzy set ditunjukkan pada Persamaan 215 (LinYang 2009)

1198601 =11989111

1199061+

11989112

1199062+

11989113

1199063+ ⋯ +

1198911119896

119906119896 (215)

= + + + +

119860119896 =1198911198961

1199061+

1198911198962

1199062+

1198911198963

1199063+ ⋯ +

119891119896119896

119906119896

5 Langkah kelima yaitu proses fuzzifikasi Proses fuzzifikasi bertujuan untuk mengubah data sampel yang masih berupa bilangan crisp sehingga menjadi bilangan fuzzy Masing ndash masing data dihitung derajat keanggotaannya terhadap fuzzy set yang sudah terbentuk selajutnya derajat kanggotaan dihitung berdasarkan kurva bahu dan derajat keanggotaan tertinggi menunjukkan hasil fuzzifikasi data tersebut Contohnya A(t) B(t) C(t) dan D(t) dimana t= 123n merupakan time series dari faktor yang mempengaruhi serta n merupakan banyaknya data Berdasarkan pembagian subinterval masing ndash masing time series ini difuzzifikasikan Misalkan hasil dari Persamaan 215 yaitu menghitung banyak cluster dari k1 k2 k3 k4 Jadi time series difuzzifikasikan menjadi empat fuzzy time series yaitu

19

A(ti) dimana i = 1234k1

B(tj) dimana j = 1234k2

C(tp) dimana p = 1234k3

D(tq) dimana q = 1234k4 t = 123n

6 Langkah keenam yaitu melakukan pembentukkan Fuzzy Logical relationship (FLR) Data sampel sebanyak n periode dipilih sebagai data training untuk membentuk fuzzy time series model Misalkan t merupakan periode waktu yang akan diramal dengan menggunakan order ndash 3 maka tiga periode sebelum periode t adalah t-3 t-2 dan t-1 dimana t = 456n Maka FLR yang dihasilkan ditunjukkan pada Persamaan 216 dan berdasarkan persamaan tersebut maka akan membentuk sebuah kumpulan FLR dari data training (LinYang 2009)

(119860(119905minus31198943) 119861(119905minus31198953) 119862(119905minus31199013) 119863(119905minus31199023)) (216)

(119860(119905minus21198942) 119861(119905minus21198952) 119862(119905minus21199012) 119863(119905minus21199022))

(119860(119905minus11198941) 119861(119905minus11198951) 119862(119905minus11199011) 119863(119905minus11199021)) rarr 119860(1199051198944)

Tabel 22 Fuzzy Logic Relationship

(119860(119905minus31198943) 119861(119905minus31198953) 119862(119905minus31199013) 119863(119905minus31199023))

(119860(119905minus21198942) 119861(119905minus21198952) 119862(119905minus21199012) 119863(119905minus21199022))

(119860(119905minus11198941) 119861(119905minus11198951) 119862(119905minus11199011) 119863(119905minus11199021)) rarr 119860(1199051198944)

(119860(119905minus21198943) 119861(119905minus21198953) 119862(119905minus21199013) 119863(119905minus21199023))

(119860(119905minus11198942) 119861(119905minus11198952) 119862(119905minus11199012) 119863(119905minus21199022))

(119860(1199051198941) 119861(1199051198951) 119862(1199051199011) 119863(1199051199021)) rarr 119860(119905+11198944)

(119860(119905+119899minus71198943) 119861(119905+119899minus71198953) 119862(119905+119899minus71199013) 119863(119905+119899minus71199023))

(119860(119905+119899minus61198942) 119861(119905+119899minus61198952) 119862(119905+119899minus61199012) 119863(119905+119899minus61199022))

(119860(119905+119899minus51198941) 119861(119905+119899minus51198951) 119862(119905+119899minus51199011) 119863(119905+119899minus51199021)) rarr 119860(119905+119899minus41198944)

Sumber (LinYang 2009)

7 Langkah terakhir adalah proses Defuzzifikasi Berdasarkan langkah sebelumnya maka dapat diambil hasil fuzzy ke- H yaitu yang digunakan sebagai data testing atau data uji seperti yang ditunjukkan pada Persamaan 217 (LinYang 2009)

(119860(119867minus31198943) 119861(119867minus31198953) 119862(119867minus31199013) 119863(119867minus31199023)) (217)

(119860(119867minus21198942) 119861(119867minus21198952) 119862(119867minus21199012) 119863(119867minus21199022))

(119860(119867minus11198941) 119861(119867minus11198951) 119862(119867minus11199011) 119863(119867minus11199021)) rarr 119860(1198671198944)

20

Faktor ndash faktor di ruas kiri pada Persaman 217 dibandingkan satu per satu dengan FLR data training yang sudah dicatat sebelumnya pada Tabel 22 membandingkannya yaitu dengan cara menghitung nilai absolut dari selisih antara pangkat bawah kedua faktor pada posisi yang sama di FLR Terdapat 12 fuzzy set di ruas kiri pada masing ndash masing FLR sehingga dari hasil perbandingan diperoleh 12 nilai absolut yang kemudian dijumlahkan untuk mendapat total selisihnya Jadi jika total selisih lebih kecil dari threshold yang ditentukan maka FLR tersebut dinyatakan cocok (LinYang 2009)

Selanjutnya jika FLR menemukan N pasangan yang cocok pada Tabel 22 maka N faktor di ruas kanan dari N FLR ini mendasari peramalan fuzzy set A() yang mana jumlah dari setiap fuzzy set pada umumnya berbeda Untuk peramalan dengan fuzzy set ditunjukkan pada Tabel 23 (LinYang 2009)

Tabel 23 Peramalan fuzzy set

Ruas Kanan A(1) A(2) A(3) A(k1)

Pusat cluster c1 c2 c3 ck1

Frekuensi f1 f2 f3 fk1

Sumber (Lin Yang 2009)

Berdasarkan Tabel 23 dengan menggunakan metode centroid untuk melakukan proses defuzzifikasi Proses defuzzifikasi dapat ditunjukkan pada Persamaan 218 (LinYang 2009)

119903119867 =sum 119888119894times 119891119894

1198961119894=1

sum 119891119894119896119894119894=1

(218)

Dimana

119903119867 = hasil (result) peramalan data ke-H

119888119894 = pusat cluster i dimana A(i) adalah ruas kanan dari FLR hasil proses pencocokan

119891119894 = frekuensi banyaknya muncul A(i) pada saat proses pencocokan

228 Perhitungan keakuratan metode peramalan

Dalam perencanaan peramalan tentu menginginkan hasil ramalan yang tepat atau paling tidak hampir mendekati sehingga rencana yang dibuat menjadi rencana yang realistis Keakuratan atau ketepatan merupakan yang menjadi kriteria performance suatu metode peramalan Keakuratan tersebut dapat dinyatakan sebagai kesalahan peramalan (forecast error) Semaikin kecil nilai kesalahan peramalan maka semaikin tinggi keakuratan metode peramalan yang digunakan dan sebaliknya semakin tinggi nilai kesalahan maka semakin rendah keakuratan metode peramalan yang digunakan

Mean Square Error (MSE) adalah salah satu metode yang digunakan untuk menghitung nilai akurasi atau keakuratan dari metode yang digunakan sebagai peramalan atau prediksi MSE merupakan perhitungan pangkat dua dari selisih

21

antara nilai data hasil peramalan dengan nilai data aktual dan kemudian dibagi dengan banyaknya data yang telah diramalkan Pada penentuan nilai evaluasi memilih menggunakan metode MSE karena metode ini dapat menunjukan hasil skala kemiripan antara hasil data peramalan dengan data aktual Berikut merupakan metode Mean Square Error (MSE) yang ditunjukan pada Persamaan 219 (Wang Chen 2009)

119872119878119864 = sum (119865119905minus119860119905)2119899

119894=1

119899 (219)

Dimana 119872119878119864 = nilai Mean Square Error Rate 119860119905 = nilai aktual pada data ke-t 119865119905 = nilai hasil peramalan untuk data ke-t n = banyaknya data

22

BAB 3 METODOLOGI

Pada bab ini akan dibahas mengenai metode yang digunakan beserta tahap ndash tahap pengerjaan penelitian skripsi dengan judul ldquoPeramalan Curah Hujan dengan Metode High Order Fuzzy Time Series Multi Factorsrdquo Penilitian ini digolongkan sebagai penelitian implementatif dengan pendekatan perancangan (design)

Metode penelitian ini meliputi studi literatur pengumpulan data perancangan implementasi pengujian dan analisis pengambilan kesimpulan Berikut adalah alur dari metode penelitian dapat ditunjukkan pada Gambar 31

31 Studi Literatur

Pada tahap studi literatur penelitian ini bertujuan untuk mempelajari literatur dan konsep dari beberapa informasi dan pustaka yang berkaitan dengan penelitian ini Literatur dan sumber ilmu dari penelitian ini diperoleh dari internet buku dan bimbingan oleh dosen pembimbing Adapun literatur yang dipelajari yaitu tentang curah hujan serta faktor ndash faktor yang mempengaruhinya dan metode High Order Fuzzy Time Series Multi Factors

Studi Literatur

Pengumpulan Data

Perancangan

Implementasi

Pengujian dan Analisis

Kesimpulan dan Saran

Gambar 31 Diagram blok metodologi penelitian

23

32 Pengumpulan Data

Pada tahap pengumpulan penelitian ini sumber data yang diperoleh yaitu dari Badan Meteorologi Klimatologi dan Geofisikia (BMKG) Stasiun Klimatologi Kelas III Karangkates Kabupaten Malang Data yang diperoleh untuk peramalan curah hujan yaitu data aktual time series (2011 - 2016) Data yang digunakan dalam bentuk dasarian yaitu dalam rentang waktu sepuluh hari sehingga dalam satu bulan dibagi menjadi tiga dasarian

Dasarian pertama yaitu pada tanggal 1 sampai dengan 10

Dasarian kedua yaitu pada tanggal 11 sampai dengan 20

Dasarian ketiga yaitu pada tanggal 21 sampai dengan akhir bulan

Pada penelitian ini data curah hujan dalam satuan milimeter (mm) kelembaban dalam persen () suhu udara dalam satuan celsius (˚C) kecepatan angin dalam satuan kilometer per jam (kmjam)

33 Perancangan

Pada tahap perancangan penelitian ini bertujuan untuk mengetahui rancangan ndash rancangan yang merupakan langkah yang dilakukan saat melakukan tahap implementasi Pada tahap ini terdapat beberapa perancangan yaitu perancangan proses yang berisi tahapan ndash tahapan proses metode High Order Fuzzy Time Series Multi Factors perhitungan manual yang merupakan manualisasi dari metode yang digunakan pada penelitian ini perancangan antar muka atau user interface yang berisi gambaran kasar dari tampilan antar muka prototype aplikasi yang nantinya diterapkan pada tahap implementasi selanjutnya adalah perancangan pengujian yang berisi rancangan ndash rancangan pengujian metode yang digunakan untuk mengetahui berapa tingkat kesalahan atau error yang dimiliki metode pada penelitian ini dalam melakukan peramalan curah hujan

34 Implementasi

Pada tahap implementasi peneltian ini dilakukan sesuai dengan perancangan yang telah dibuat pada tahapan perancangan sebelumnya Implementasi dari metode High Order Fuzzy Time Series Multi Factors dilakukan menggunakan bahasa pemrograman java serta Integrated Development Environment (IDE) yang digunakan adalah Netbeans Sehingga nantinya hasil dari tahap ini berupa prototype aplikasi dari implementasi metode High Order Fuzzy Time Series Multi Factors untuk peramalan curah hujan

35 Pengujian dan Analisis

Pada tahapan penelitian pengujian ini diperlukan perangkat lunak dan perangkat keras agar pengujian dari hasil implementasi dapat berjalan dengan baik maka pengujian perangkat lunak dijalankan pada laptop ataupun PC (Personal Computer) dengan spesifikasi sebagai berikut

24

1 Prosesor Intel Core i3

2 Memory RAM 8 Gigabytes

3 Sistem Operasi menggunakan Windows 7 64bit

4 Hardisk dengan kapasitas 500 GB

5 Netbeans 81 JDK 7

Pengujian hasil peramalan menggunakan metode High Order Fuzzy Time Series Multi Factors yaitu menggunakan metode Mean Square Error (MSE) Dimana rumus pengujian sesuai dengan Persamaan 219 Dalam pengujian menggunakan metode ini semakin kecil nilai MSE maka semakin tinggi tingkat akurasi hasil peramalan tersebut Pada penelitian ini untuk keperluan pengujian dari proses implementasi dilakukan empat pengujian yaitu pengujian terhadap perbedaan nilai order pengujian terhadap perbedaan nilai threshold pengujian terhadap data training untuk mengetahui pengaruhnya terhadap nilai MSE dan pengujian validasi sistem untuk mengetahui bahwa hasil implementasi metode High Order Fuzzy Time Series Multi Factors dapat melakukan peramalan

36 Kesimpulan dan Saran

Pada pengambilan kesimpulan akan dilakukan apabila semua tahapan ndash tahapan penelitian sudah dilakukan yaitu yang meliputi perancangan implementasi dan pengujian dan analisis telah selesai dilakukan Kesimpulan merupakan tahapan dimana semua rumusan masalah yang sudah ditetapkan sebelumnya dapat terjawab semua Selanjutnya pada saran merupakan berkenaan dengan hasil yang telah dicapai untuk memperbaiki kekurangan - kekurangan yang terjadi pada penelitian ini serta memberikan pertimbangan pada pengembangan penelitian lebih lanjut

25

BAB 4 PERANCANGAN

Pada bab ini berisi tentang perancangan yang nantinya digunakan sebagai dasar dalam tahap implementasi Hal yang dibahas meliputi perancangan proses perhitungan manual perancangan pengujian dan perancangan antar muka

41 Perancangan Proses

Pada perancangan proses ini berisi mengenai tahapan ndash tahapan dari metode yang digunakan yaitu metode High Order Fuzzy Time Series Multi Factors Pada penelitian ini melibatkan faktor ndash faktor yang mempengaruhi curah hujan yaitu suhu udara kelembaban udara dan kecepatan angin Data time series dari curah hujan merupakan faktor utama dalam proses peramalan pada penelitian ini Inputan pada peneltian ini yaitu data time series curah hujan serta faktor ndash faktor yang mempengaruhinya Order yang digunakan pada metode ini merupakan order lebih dari satu oleh karena itu disebut dengan High Order Order merupakan urutan jumlah dari data time series pada periode waktu t yang mempengaruhi nilai data Berikut merupakan diagram alir dari proses peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors yang ditunjukkan pada Gambar 41 dan Gambar 42

Gambar 41 Diagram alir metode penelitian yang digunakan (bagian 1)

Mulai

Data curah hujan suhu kelembaban kecepatan angin jmlh_Banyakdata jmlh_Faktor

Universe_of_Discourse

A

Jumlah_Cluster

26

411 Proses perhitungan Universe of Discourse

Pada perhitungan Universe of Discourse harus sudah dilakukan inputan data agar dapat memulai tahapan perhitungan Tahapan dari proses perhitungannya yaitu pada langkah pertama dilakukan perhitungan nilai mean (rata ndash rata) sesuai dengan Persamaan 211 Setelah mendapatkan nilai mean dapat dilakukan perhitungan untuk mencari nilai standar deviasi sesuai dengan Persamaan 212 Selanjutnya dicari nilai terkecil (119863119898119894119899) dan nilai terbesar (119863119898119886119909) Setelah menyelesaikan tahap ndash tahap tersebut dapat dilakukan perhitungan untuk

Gambar 42 Diagram alir metode penelitian yang digunakan (bagian 2)

A

Perhitungan Pusat Cluster

Fuzzifikasi

Pembentukan Fuzzy Logical Relationship

Defuzzifikasi

Nilai hasil peramalan

Berhenti

Pembentukan Subinterval dan Fuzzy set

27

mencari Universe of Discourse sesuai dengan Persamaan 213 Berikut merupakan diagram alir dari proses perhitungan Universe of Discourse yang ditunjukkan pada Gambar 43

Perhitungan Universe of Discourse

Mulai

Min_dan_Max

mean

standar_deviasi

for i = 0 to jmlh_Faktor-1

i

hsl_uMin ke i = hsl_min ke i ndash hsl_stdev ke i

hsl_uMax ke i = hsl_max ke i + hsl_stdev ke i

hsl_uMin hsl_uMax

Berhenti

Gambar 43 Diagram alir proses perhitungan Universe of Discourse

28

4111 Proses perhitungan Mean

Pada proses perhitungan mean merupakan nilai rata ndash rata dari setiap faktor dimana nilai mean ini nantinya dibutuhkan untuk melakukan proses perhitungan standar deviasi Berikut merupakan diagram alir dari proses perhitungan mean yang ditunjukkan pada Gambar 44

mean

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to jmlh_DataTraining

tmp_jmlh = 0

tmp_jmlh = tmp_jmlh + data ke ij

j

hsl_mean ke i = tmp_jmlhjmlh_DataTraining

i

hsl_mean

Berhenti

Gambar 44 Diagram alir proses perhitungan mean

29

4112 Proses perhitungan standar deviasi

Pada proses perhitungan standar deviasi dapat dilakukan setelah mendapatkan nilai mean dari setiap data sesuai proses sebelumnya Berikut merupakan diagram alir dari proses perhitungan standar deviasi yang ditunjukkan pada Gambar 45

standar_deviasi

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to jmlh_DataTraining

result = 0

result = result + (data ke ij ndash mean ke i)2

j

hsl_stdev ke i = radicresult

jmlh_DataTrainingminus1

i

hsl_stdev

Berhenti

Gambar 45 Diagram alir proses perhitungan standar deviasi

30

4113 Proses perhitungan nilai Dmin dan Dmax

Pada proses perhitungan ini merupakan proses perhitungan untuk mencari nilai terkecil dan terbesar dari setiap faktor data Setelah mendapat nilai terkecil dan terbesar maka data dilakukan proses perhitungan Universe of Discourse Berikut merupakan diagran alir dari proses perhitungan nilai Dmin dan Dmax yang ditunjukkan pada Gambar 46

Gambar 46 Diagram alir perhitungan nilai Min dan Max

ya

ya

tidak

tidak

Min_dan_Max

Mulai

for i = 0 to jmlh_Faktor-1

besar = data ke i0

kecil = data ke i0

for j=0 to jmlh_DataTraining

data ke ij gt besar

besar = data ke ij

data ke ij lt kecil

kecil = data ke ij

j

hsl_max ke i = besar

hsl_min ke i = kecil

i

hsl_max hsl_min

Berhenti 1

1

2

2

3

4

4

5

5

3

31

412 Proses perhitungan jumlah cluster

Pada proses perhitungan jumlah cluster memiliki masukkan proses Dmin dan Dmax

dari proses perhitungan sebelumnya Pada proses ini terdapat perhitungan nilai dari selisih setiap data Pada perhitungan jumlah cluster sesuai dengan Persamaan 214 Berikut merupakan langkah ndash langkah perhitungan jumlah cluster yang ditunjukkan pada Gambar 47

jumlah_Cluster

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to (jmlh_DataTraining-1)

Berhenti

hsl_max hsl_min

selisih = 0

selisih = selisih + |data ke ij ndash data ke i (j+1)|

j

jmlh_Cluster ke i = |ℎ119904119897_119898119894119899 119896119890 119894minusℎ119904119897_119898119886119909 119896119890 119894|

119904119890119897119894119904119894ℎ

119895119898119897ℎ_119863119886119905119886119879119903119886119894119899119894119899119892minus1

i

jmlh_Cluster

Gambar 47 Diagram alir proses perhitungan jumlah cluster

32

413 Proses perhitungan pusat cluster

Pada proses perhitungan pusat cluster ini diperlukan beberapa variabel yang harus dideklarasikan terlebih dahulu yaitu nilai bobot fungsi objektif nilai iterasi awal nilai iterasi maksimum dan error terkecil Perhitungan subinterval ini menggunakan metode fuzzy C-means yang diawali dengan pencarian pusat cluster terlebih dahulu Berikut merupakan langkah ndash langkah perhitungan subinterval yang ditunjukkan pada Gambar 48 Gambar 49 Gambar 410 Gambar 411 Gambar 412

Gambar 48 Diagram alir proses perhitungan pusat cluster (bagian 1)

Perhitungan pusat cluster

Mulai

jmlh_Cluster

for i = 0 to jmlh_Faktor-1

Deklarasi bobot selisih_f_objektif

iter_maksimum error_min

Pembentukan Matriks partisi faktor A jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor A

for iter = iter to iter_maksimum

A

i == 0

Perhitungan pusat_cluster1 faktor A

B C D

tidak

ya

33

Gambar 49 Diagram alir proses perhitungan pusat cluster (bagian 2)

ya

tidak

tidak

ya

Perhitungan f_objektif faktor A

A B C D

Perhitungan selisih_f_objektif faktor A

Perbaikan matriks partisi faktor A

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster1 faktor A

Iter = iter_maksimum

iter

i == 1

Pembentukan Matriks partisi faktor B jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor B

for iter = iter to iter_maksimum

F A G E

34

tidak

tidak

ya

A E F G

Perhitungan pusat_cluster2 faktor B

Perhitungan f_objektif faktor B

Perhitungan selisih_f_objektif faktor B

Perbaikan matriks partisi faktor B

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster2 faktor B

Iter = iter_maksimum

iter

i == 2

Pembentukan Matriks partisi faktor C jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor C

I A H

Gambar 410 Diagram alir proses perhitungan pusat cluster (bagian 3)

ya

35

tidak

tidak

Gambar 411 Diagram alir proses perhitungan pusat cluster (bagian 4)

ya

A H I

for iter = iter to iter_maksimum

Perhitungan pusat_cluster3 faktor C

Perhitungan f_objektif faktor C

Perhitungan selisih_f_objektif faktor C

Perbaikan matriks partisi faktor C

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster3 faktor C

Iter = iter_maksimum

iter

i == 3

Pembentukan Matriks partisi faktor D jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor D

J A K

ya

36

tidak

ya

Gambar 412 Diagram alir proses perhitungan pusat cluster (bagian 5)

A K J

for iter = iter to iter_maksimum

Perhitungan pusat_cluster4 faktor D

Perhitungan f_objektif faktor D

Perhitungan selisih_f_objektif faktor D

Perbaikan matriks partisi faktor D

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster4 faktor D

Iter = iter_maksimum

iter

i

pusat_cluster1pusat_cluster2 pusat_cluster3pusat_cluster4

Berhenti

37

tidak

ya

tidak

ya

Gambar 413 Diagram alir pembentukan subinterval dan fuzzy set (bagian 1)

414 Proses pembentukan subinterval dan Fuzzy set

Pada proses pembentukan fuzzy set atau himpunan fuzzy pada penelitian ini dapat dilakukan setelah perhitungan subinterval selesai dilakukan Nilai subniterval merupakan masukan utama pada pembentukkan fuzzy set Pembentukan fuzzy sesuai dengan Persamaan 215 Berikut merupakan langkah ndash langkah proses pembentukan fuzzy set yang ditunjukkan pada Gambar 413 dan Gambar 414

Pembentukan subinteval dan Fuzzy set

Mulai

pusat_cluster1pusat_cluster2 pusat_cluster3pusat_cluster4

for i = 0 to jmlh_Faktor-1

Menentukan batas_subintervalMinA dan

batas_subintervalMaxA

Menentukan batas_fuzzysetMinA dan batas_fuzzysetMaxA

i == 0

i == 1

Menentukan batas_subintervalMinB dan

batas_subintervalMaxB

Menentukan batas_fuzzysetMinB dan batas_fuzzysetMaxB

A C B

38

tidak

tidak

ya

ya

415 Proses Fuzzifikasi

Pada proses fuzzifikasi ini pembentukanya sesuai derajat keanggotaan pada setiap data Pada proses ini derajat keanggotaan dihitung berdassarkan fungsi keanggotaan kurva bahu Hasil dari proses ini merupakan data yang sudah difuzzifikasikan menjadi data fuzzy Berikut langkah ndash langkah dari proses fuzzifikasi ditunjukkan pada Gambar 415 dan Gambar 416

i == 2

A B C

Menentukan batas_subintervalMinC dan batas_subintervalMaxC

Menentukan batas_fuzzysetMinC dan batas_fuzzysetMaxC

i == 3

Menentukan batas_subintervalMinD dan batas_subintervalMaxD

Menentukan batas_fuzzysetMinD dan batas_fuzzysetMaxD

i

batas_fuzzysetMinA batas_fuzzysetMaxA batas_fuzzysetMinB batas_fuzzysetMaxB batas_fuzzysetMinC batas_fuzzysetMaxC batas_fuzzysetMinD batas_fuzzysetMaxD

Berhenti

Gambar 414 Diagram alir pembentukan subinterval dan fuzzy set (bagian 2)

39

tidak

ya

ya

tidak

Fuzzifikasi

Mulai

for i = 0 to jmlh_Faktor-1

Menentukan hasil_fuzzifikasiA dari faktor A

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinA batas_fuzzysetMaxA

Gambar 415 Diagram alir proses fuzzifikasi (bagian 1)

batas_fuzzysetMinA batas_fuzzysetMaxA batas_fuzzysetMinB batas_fuzzysetMaxB batas_fuzzysetMinC batas_fuzzysetMaxC batas_fuzzysetMinD batas_fuzzysetMaxD

DD

i == 0

i == 1

Menentukan hasil_fuzzifikasiB

dari faktor B

Menghitung derajat keanggotaan

berdasarkan batas_fuzzysetMinB

batas_fuzzysetMaxB

C A B

40

tidak

ya

ya

tidak

ya

i == 2

A B C

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinC batas_fuzzysetMaxC

Menentukan hasil_fuzzifikasiC dari faktor C

i == 3

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinD

batas_fuzzysetMaxD

Menentukan hasil_fuzzifikasiD dari faktor D

i

hasil_fuzzifikasiA hasil_fuzzifikasiB hasil_fuzzifikasiC hasil_fuzzifikasiD

Berhenti

Gambar 416 Diagram alir proses fuzzifikasi (bagian 2)

41

tidak

ya

416 Proses pembentukan Fuzzy Logical Relationship

Setelah data melalui proses fuzzifikasi dan sudah menjadi data fuzzy maka dapat dilakukan pembentukan Fuzzy Logical Relationship (FLR) Pembentukan FLR dilakukan sesuai dengan Persamaan 216Berikut adalah langkah ndash langkah proses pembentukan Fuzzy Logical Relationship (FLR) yang ditunjukkan pada Gambar 417 Gambar 418 dan Gambar 419

Gambar 417 Diagram alir proses Pembentukan FLR

(bagian 1)

Pembentukan Fuzzy Logical Relationship

Mulai

hasil_fuzzifikasiAhasil_fuzzifikasiB hasil_fuzzifikasiChasil_fuzzifikasiD order

for i = 0 to jmlh_dataTraining

max_inc = order jmlh_dataTraining = dataTraining - order

for j = i to max_inc

for k = 0 to jmlh_Faktor-1

j == 0

FLR_kiri_training ke ijk = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D)

ke j

E A B C D

42

ya

tidak

ya

tidak

A B C E D

FLR_kiri_training ke i(j-i)k = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D) ke j

j = 0

k

j

FLR_kanan_training ke i = hasil_fuzzifikasiA ke (i+order)

Max_inc lt (jmlh_DataTraining-1)

i

tmp_JmlhDatatraining = tmp_JmlhDatatraining +1

max_inc = max_inc + 1 tmp_JmlhDatatraining = i

Gambar 418 Diagram alir proses Pembentukan FLR (bagian 2)

for j = 0 to tmp_JmlhDatatraining

for j = tmp_JmlhDatatraining to max_inc

for k = 0 to jmlh_Faktor-1

I H G F

43

tidak

ya

417 Proses Defuzzifikasi

Proses defuzzifikasi merupakan proses akhir dimana keluaran dari proses ini merupakan nilai hasil peramalan Data yang diperlukan pada proses defuzzifikasi adalah hasil dari proses pembentukan Fuzzy Logical Relationship (FLR) nilai threshold yang harus dideklarasikan sebelumnya jumlah data training dan jumlah data testing Dalam proses ini dilakukan perhitungan selisih pada FLR antara data testing dan data training FLR yang dihitung nilai selisihnya adalah FLR pangkat bawah yang terdapat pada ruas kiri Setelah dilakukan perhitungan selisih dan total jumlah selisih lebih kecil dari nilai threshold maka pada setiap FLR yang

I H G F

FLR_kiri_testing ke i(j-tmp_jmlhDatatraining) k = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D) ke j

k

j

FLR_kanan_testing ke i = hasil_fuzzifikasiA ke (i+order)

i

Max_inc lt (jmlh_DataTraining-1)

max_inc = max_inc + 1 tmp_JmlhDatatraining++

FLR_kiri_training FLR_kanan_training FLR_kiri_testing FLR_kanan_testing

Mulai

Gambar 419 Diagram alir proses Pembentukan FLR (bagian 3)

44

ya

tidak

sesuai dengan kondisi tersebut dapat dikatakan cocok atau dapat dilakukan ke tahap perhitungan selanjutnya Setelah mendapatkan FLR yang cocok maka dilakukan pengelompokkan berdasarkan FLR ruas kanan Pengelompokkan ini dihitung jumlah frekuensi yang sama sesuai dengan fuzzy set di ruas kanan Selanjutnya untuk memperoleh hasil peramalan dilakukan proses perhitungan sesuai dengan Persamaan 218 Berikut adalah langkah ndash langkah proses defuzzifikasi yang ditunjukkan pada Gambar 420 dan Gambar 421

Gambar 420 Diagram alir proses defuzzifikasi (bagian 1)

Defuzzifikasi

Mulai

FLR_kiri FLR_kanan order dataTraining dataTesting konstanta

threshold = (jmlh_Faktor x order)+konstanta

for i = 0 to dataTesting

for j = 0 to (dataTraining-i)

Perhitungan hitung_selisih antara FLR_kiri data training dan data testing

hitung_selisih lt threshold

match ke ij = hitung_selisih

j

i

A

45

Gambar 421 Diagram alir proses defuzzifikasi (bagian 2)

A

Menghitung jumlah total FLR_kiri yang cocok untuk setiap data testing

Mencocokan FLR_kiri yang cocok dengan FLR_kanan untuk setiap data testing

for i = 0 to dataTesting

Menghitung frekuensi setiap FLR_kanan yang cocok untuk setap data testing

for j = 0 to jumlah total FLR kiri yang cocok

peramalan = peramalan + Frekuensi setiap FLR_kanan yang cocok x pusat_cluster1

sesuai dengan value FLR_kanannya

j

hasil_peramlan ke i = peramalan jumlah total FLR kiri yang cocok

i

Hasil_permalan

Berhenti

46

42 Perhitungan Manual

Dalam perhitungan manual ini data sampel yang digunakan merupakan data time series dasarian ke-2 pada periode April 2014 sampai dengan dasarian ke-2 Juli 2014 data sampel ditunjukkan pada Tabel 41

Tabel 41 Data Sampel Perhitungan Manual

No Dasarian Curah Hujan

(A)

Suhu (B) Kelembaban (C)

Kecepatan Angin(D)

1 Dasarian 2 (April 2014) 95 2615 8248 629

2 Dasarian 3 (April 2014) 90 2612 8247 628

3 Dasarian 1 (Mei 2014) 94 2607 8247 627

4 Dasarian 2 (Mei 2014) 83 2625 8232 623

5 Dasarian 3 (Mei 2014) 85 2628 8235 623

6 Dasarian 1 (Juni 2014) 92 2609 8241 626

7 Dasarian 2 (Juni 2014) 86 2627 8235 624

8 Dasarian 3 (Juni 2014) 89 2621 8238 624

9 Dasarian 1 (Juli 2014) 93 2607 8242 626

10 Dasarian 2 (Juli 2014) 86 2626 8237 623

Sumber BMKG Kelas III Karangkates Malang

421 Perhitungan Universe of Discourse (U)

Sebelum melakukan perhitungan U maka harus dicari terlebih dahulu nilai 119863119898119894119899 119863119898119886119909 dan standar deviasi 119863119898119894119899 adalah nilai minimum atau nilai terkecil dari data sampel yang ada sedangkan 119863119898119886119909 adalah nilai maksimum atau nilai paling besar dari data sampel yang ada Untuk mencari nilai standar deviasi harus menghitung nilai mean (rata ndash rata) terlebih dahulu sesuai dengan Persamaan 211 Mean dari data curah hujan (A) dihitung dengan cara sebagai berikut

Mean = (data ke-1 + data ke-2 + data ke-3 + + data ke-10) 10

= (95 + 90 + 94 + 83 + 85 + 92 + 86 + 89 + 93 + 86) 10

= 893 10

= 893

Selanjutnya setelah diperoleh nilai mean dilanjutkan melakukan perhitungan standar deviasi sesuai dengan Persamaan 212 Standar deviasi adalah akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel Untuk menghitung standar deviasi agar lebih mudah kita terlebih dahulu melakukan perhitungan nilai kuadrat dari selisih data ke-i dan mean yang ditunjukkan pada Tabel 42

47

Tabel 42 Hasil kuadrat dari selisih data ke-i dan mean

i Data ke-i Data ke-i mean (Data ke-i - mean)sup2

1 95 57 32490

2 90 07 0490

3 94 47 22090

4 83 -63 39690

5 85 -43 18490

6 92 27 7290

7 86 -33 10890

8 89 -03 0090

9 93 37 13690

10 86 -33 10890

Jumlah 1561

Setelah mendapatkan hasil nilai kuadrat dari selisih data ke-i dan mean sesuai dengan Tabel 42 maka dapat dilanjutkan melakukan perhitungan standar deviasi dengan cara sebagai berikut

Standar_deviasi = radic1

10minus1sum (119889119886119905119886 119896119890 minus 119894 minus 119898119890119886119899)10

119894=1

2

= radic1

9 times 1561

= 4165

Untuk perhitungan standar deviasi juga dilakukan pada faktor lainnya yaitu suhu (B) kelembaban (C) dan kecepatan angin (D) Hasil perhitungan 119863119898119894119899 119863119898119886119909 dan standar deviasi ditunjukkan pada Tabel 43

Tabel 43 Nilai minimum nilai maksimum dan standar deviasi

Data D min D max Standar Deviasi

A 83 95 4165

B 2607 2628 0086

C 8232 8248 0057

D 623 629 0022

Berdasarkan hasil yang ditunjukkan Tabel 43 selanjutnya dapat dilakukan perhitungan nilai U sesuai dengan Persamaan 213 Berikut adalah perhitungan U pada data A

U = [119863119898119894119899 minus 120590 119863119898119886119909 + 120590]

= [(83 ndash 4165) (95 ndash 4165)]

= [78835 99165]

48

Untuk perhitungan U juga dilakukan pada semua faktor yaitu data B C dan D Sehingga diperoleh nilai U yang ditunjukkan pada Tabel 44

Tabel 44 Hasil Universe of Discourse

Data U

Batas Bawah Batas Atas

A 78835 99165

B 25984 26366

C 82263 82537

D 6208 6312

422 Perhitungan jumlah cluster (k)

Pada perhitungan jumlah cluster langkah pertamanya adalah mencari nilai absolut dari selisih data hari ke-t dengan hari sebelumnya Perhitungan selisih dilakukan hingga data ke-10 Perhitungan nilai selisih dilakukan pada semua data A B C dan D Selanjutnya masing ndash masing nilai selisih dijumlah sehingga hasilnya seperti ditunjukkan pada Tabel 45

Tabel 45 Nilai absolut selisih data hari ke-t dengan hari sebelumnya

No Tanggal A B C D

1 Dasarian 3 (April 2014) 5 003 001 001

2 Dasarian 1 (Mei 2014) 4 005 0 001

3 Dasarian 2 (Mei 2014) 11 018 015 004

4 Dasarian 3 (Mei 2014) 2 003 003 0

5 Dasarian 1 (Juni 2014) 7 019 006 003

6 Dasarian 2 (Juni 2014) 6 018 006 002

7 Dasarian 3 (Juni 2014) 3 006 003 0

8 Dasarian 1 (Juli 2014) 4 014 004 002

9 Dasarian 2 (Juli 2014) 7 019 005 003

Jumlah 49 105 043 016

Setelah mendapatkan nilai absolut selisih data hari ke-t dengan hari sebelumnya dapat dilanjutkan dengan menghitung jumlah cluster sesuai dengan Persamaan 214 Perhitungan jumlah cluster pada data A (k1) berdasarkan pada Tabel 43 diketahui nilai 119863119898119894119899 adalah 171 nilai 119863119898119886119909 adalah 2048 maka jumlah cluster data A dapat ditunjukkan sebagai berikut

49

1198961 = ||119863119898119894119899 minus 119863119898119886119909|sum |119883(119905) minus 119883(119905 minus 1)|119899

119905=1

119899 minus 1|

= |83 minus 9549

10minus1| = 2204

Apabila hasil perhitungan jumlah cluster merupakan bilangan pecahan maka hasilnya harus dibulatkan Sehingga jumlah cluster pada data A adalah 2 Perhitungan jumlah cluster juga dilakukan pada data B (k2) C (k3) dan D (k4) Berikut merupakan hasil semua perhitungan jumlah cluster yang ditunjukkan pada Tabel 46

Tabel 46 Hasil jumlah cluster data

No Cluster Jumlah Cluster

1 k1 2

2 k2 2

3 k3 3

4 k4 3

423 Perhitungan pusat cluster dan subinterval

Pada pembentukan subinterval berdasarkan pada Tabel 46 yang menunjukkan jumlah subinterval yang selanjutnya digunakan untuk menentukan pusat cluster menggunakan algoritma fuzzy C-means (FCM)

4231 Penentuan pusat cluster

a Penentuan nilai variabel

Pada penentuan subinterval diawali dengan klasterisasi menggunakan algoritma FCM pada awal proses ditentukkan beberapa variabel sebagai berikut

Banyak cluster = k1 = 2

Bobot (w) = 2

Fungsi objektif awal = 0

Iterasi awal = 1

Iterasi maksimum = 100

Error terkecil = 001 b Pembentukan matriks partisi awal (micro)

Data pada pembentukan matriks partisi awal merupakan nilai random diantara nilai 0 sampai 1 Dimensi pada matriks partisi awal dibentuk dengan dimensi jumlah data (i) x jumlah cluster (k) Dalam hal ini telah diketahui jumlah data adalah 10 dan k1 adalah 2 maka partisi dimensi matriks awal adalah 10 x 2 Hasil pembentukan matriks partisi awal ditunjukkan pada Tabel 47 dimana Cluster disimbolkan dengan C

50

Tabel 47 Matriks partisi awal pada cluster data A

c Normalisasi matriks partisi awal

Langkah pertama normalisasi matriks partisi awal adalah dengan menghitung jumlah bilangan penyusun matriks pada setiap kolom yang dapat dilihat pada Tabel 47 dijumlah berdasarkan dengan Persamaan 24 Diketahui jumlah kolom matriks sebanyak 2 sehingga diperoleh Q1 untuk penjumlahan kolom c1 Q2 untuk penjumlahan kolom c2

Q1 = 0355 + 0174 + 02 + 0387 + 0598 + 0819 + 0702 + 0719 + 0349 +

0852

= 5154

Q2 = 0170 + 0815 + 0190 + 0456 + 0526 + 0170 + 0232 + 0572 + 0102 +

0322

= 3554

Langkah selanjutnya dilakukan proses normalisasi menggunakan Persamaan 25 Dimana setiap bilangan penyusun matriks awal dibagi dengan nilai Q sesuai dengan kolomnya masing ndash masing Bilangan penyusun matriks disimbolkan dengan microik dimana i menunjukkan baris dan k menunjukkan kolom posisi bilangan tersebut pada matriks

i micro

c1 c2

1 0355 0170

2 0174 0815

3 0200 0190

4 0387 0456

5 0598 0526

6 0819 0170

7 0702 0232

8 0719 0572

9 0349 0102

10 0852 0322

51

μ11 = bilangan matriks partisi pada baris 1 kolom 1

Q1

= 0355

5154

= 0069

μ12 = bilangan matriks partisi pada baris 1 kolom 2

Q2

= 0170

3554

= 0048

Setelah melakukan perhitungan seperti diatas untuk semua bilangan matriks sehingga matriks partisi sudah ternormalisasi seperti yang ditunjukkan pada Tabel 48

Tabel 48 Derajat keanggotaan matriks partisi data A

i micro

C1 C2

1 0069 0048

2 0034 0229

3 0039 0054

4 0075 0128

5 0116 0148

6 0159 0048

7 0136 0065

8 0140 0161

9 0068 0029

10 0165 0090

d Perhitungan pusat cluster (V)

Pada perhitungan pusat cluster (V) berdasarkan Persamaan 26 Dimana setiap bilangan penyusun matriks partisi (micro) dipangkatkan dengan w dimana variabel w yang sudah dideklarisakan terlebih dahulu dengan nilai sama dengan 2 dan dikalikan dengan bilangan penyusun matriks X yang merupakan matriks berisi data yang ada pada Tabel 41 Selanjutnya hasil perkalian tersebut dijumlah dan dibagi dengan jumlah hasil kuadrat dari bilangan penyusun matriks partisi Hasil perhitungan ditunjukkan pada Tabel 49

52

Tabel 49 Perhitungan pusat cluster data A

Berdasarkan jumlah cluster dari data A yaitu 2 maka terdapat 2 pusat cluster (V) yaitu V1 V2 Perhitungan nilai V adalah sebagai berikut

V1 = sum ((μic1)2 times Xi)10

i=1

sum (μic1)210i=1

= 10730216

0121620

= 8822718207

V2 = sum ((μic2)2 times Xi)10

i=1

sum (μic2)210i=1

= 12111287

0137572

= 8803592572

Jadi berdasarkan perhitungan diatas pusat cluster untuk data A pada iterasi ke-1 adalah 8822718207 8803592572

e Perhitungan fungsi objektif (P)

Pada perhitungan P menggunakan Persamaan 27 dimana setiap baris pada data matriks X dikurangi pusat cluster (V) selanjutnya dikuadratkan Hasilnya

i X microsup2 microsup2 x X

C1 C2 C1 C2

1 95 0004731 0002292 0449450 0217718

2 90 0001137 0052633 0102304 4736927

3 94 0001512 0002864 0142117 0269234

4 83 0005630 0016427 0467258 1363472

5 85 0013448 0021907 1143107 1862112

6 92 0025233 0002291 2321422 0210787

7 86 0018542 0004243 1594602 0364916

8 89 0019487 0025916 1734356 2306543

9 93 0004590 0000816 0426841 0075870

10 86 0027311 0008183 2348759 0703706

Jumlah 0121620 0137572 10730216 12111287

53

kemudian dikalikan dengan micro yang sudah dipangkatkan dengan bobot (w) seperti yang telah ditunjukkan pada Tabel 49 Selanjutnya hasil tersebut dijumlah per kolom seperti yang ditunjukkan pada Tabel 410

Tabel 410 Fungsi objektif data A

i X (X-V)sup2 (X-V)sup2 x microsup2

C1 C2 C1 C2

1 95 458711 484983 02170 01111

2 90 31429 38576 00036 02030

3 94 333254 355702 00504 01019

4 83 273234 253605 01538 04166

5 85 104147 92168 01401 02019

6 92 142342 157139 03592 00360

7 86 49603 41450 00920 00176

8 89 05972 09294 00116 00241

9 93 227798 246420 01046 00201

10 86 49603 41450 01355 00339

Jumlah 1267661573 1166282827

Fungsi Objektif (P) 24339444

Perhitungan nilai fungsi objektif dilakukan seperti Persamaan 27 Nilai fungsi objektif diperoleh dengan cara sebagai berikut P = sum sum ([(Xi minus Vc)2](μik)2)3

c=110i=1

P = 1267661573 + 1166282827

= 24339444

f Perbaikan matriks partisi

Pada langkah ini perbaikan matriks partisi dilakukan berdasarkan Persamaan 28 Data matriks X untuk setiap barisnya dikurangi pusat cluster lalu dikuadratkan seperti yang ditunjukkan pada Tabel 410 Selanjutnya hasilnya dipangkatkan dengan -11 karena w-1 = 1 Hasil pangkat -1 terhadap (X-V)2 ditunjukkan pada Tabel 411

54

Tabel 411 Perbaikan matriks partisi

i ((X-V)sup2)^-1

Jumlah C1 C2

1 0022 0021 0042

2 0318 0259 0577

3 0030 0028 0058

4 0037 0039 0076

5 0096 0108 0205

6 0070 0064 0134

7 0202 0241 0443

8 1674 1076 2750

9 0044 0041 0084

10 0202 0241 0443

Berdasarkan tabel diatas bilangan penyusun matriks partisi yang baru atau yang telah diperbaiki diperoleh dari hasil pembagian data terhadap jumlah per barisnya

12058311 = 0022

0042= 0514

12058312 = 0021

0042= 0486

Pada perhitungan nilai matriks yang sudah diperbaiki dilakukan pada semua elemen matriks sehingga hasil perbaikan matriks seperti yang ditunjukkan pada Tabel 412

Tabel 412 Hasil perbaikan matriks partisi

Setelah mendapatkan hasil perbaikan matriks partisi kita lakukan pengecekan selama iterasi kurang dari iterasi maksimum (maxIter) atau selisih antara fungsi objektif iterasi saat ini dengan iterasi sebelumnya bernilai lebih dari nilai error terkecil yaitu 001 maka proses berlanjut dengan kembali melakukan perhitungan pusat cluster hingga perbaikan matriks partisi Hasil

i micro

C1 C2

1 0514 0486

2 0551 0449

3 0516 0484

4 0481 0519

5 0469 0531

6 0525 0475

7 0455 0545

8 0609 0391

9 0520 0480

10 0455 0545

55

perhitungan pusat cluster dari data A B C dan D setelah dilakukan proses tiga kali iterasi dan diurutkan mulai dari yang terkecil sampai yang terbesar ditunjukkan pada Tabel 413

Tabel 413 Hasil pusat cluster

4232 Perhitungan batas subinterval

Perhitungan batas subinterval dilakukan dengan mencari nilai tengah (Median) dari setiap pusat cluster Berikut merupakan contoh perhitungan batas subinterval pada data A

a Interval 1 Batas bawah = 78835 (Batas bawah Universe of Discourse pada data A) Batas atas = 89347 (Median 88303 dan 90390)

b Interval 2 Batas bawah = 89347 (Median 88303 dan 90390) Batas atas = 99165 (Batas atas Universe of Discourse pada data A)

Seperti perhitungan diatas juga dilakukan pada data suhu (B) kelembaban (C) dan kecepatan angin (D) Dalam hal ini jumlah subinterval setiap atribut berbeda ndash beda sesuai dengan jumlah cluster yang sebelumnya ditunjukkan pada Tabel 46 Berikut merupakan batas subinterval masing ndash masing atribut yang ditunjukkan pada Tabel 414

Tabel 414 Batas subinterval masing ndash masing atribut data

Interval (micro)

A B C D

1

78835 25984 751708 6208

sd sd sd sd

89347 26181 823863 6249

2

89347 26181 823863 6249

sd sd sd sd

99165 26366 82411 6256

3

82411 6256

- - sd sd

82537 6312

Cluster A B C D

1 88303 26165 82391 62497

2 90390 26197 82408 62499

3 - - 82415 62613

56

424 Pembentukan Fuzzy Set

Pembentukan fuzzy set berdasarkan pada derajat keanggotaan dari subinterval (micro) fuzzy set dari data A ditentukan dengan derajat keanggotaan sebagai berikut

A1 = 1micro1 + 05micro2

A2 = 05micro1 + 1micro2

Pada derajat keanggotaan data A diatas simbol ldquo+rdquo menunjukkan operator himpunan gabungan Berdasarkan subinterval pada Tabel 414 nilai batas fuzzy set dari data atribut A dapat ditentukan dengan cara sebagai berikut

A1 = 78835 sd 94256 (Batas bawah interval 1 sd titik tengah interval 2)

A2 = 84091 sd 99165 (Titik tengah interval 1 sd batas atas interval 2)

Setelah diketahui batas masing ndash masing fuzzy set grafik fungsi keanggotaan fuzzy set data A yang direpresentasikan dalam kurva bahu yang ditunjukkan pada Gambar 422 Dengan cara yang sama juga ditentukan pula fuzzy set dari data attribut B C dan D

425 Fuzzifikasi

Pada langkah fuzzifikasi dilakukan dengan mencari derajat keanggotaan yang memiliki nilai paling besar (maksimum) dari masing ndash masing data terhadap fuzzy set yang sudah terbentuk Derajat keanggotaan dicari berdasarkan fungsi keanggotaan kurva bentuk bahu Berikut ini adalah perhitungan derajat keanggotaan dari data attribut A

Data aktual curah hujan (A) pada April 2014 dasarian ke-3 = 90

1198601 = 942558 ndash 90

942558minus840911= 041868427

Gambar 422 Grafik fuzzy set data A

57

1198602 = 90minus840911

942558minus840911= 058131636

Derajat keanggotaan paling besar berada pada A2 sehingga data attribut A pada April 2014 dasarian ke-3 difuzzifikasikan ke fuzzy set A2 Perhitungan yang sama dilakukan pada seluruh data attribut A sehingga didapat derajat keanggotaan dan hasil fuzzifikasi dari data A ditunjukkan pada Tabel 415

Tabel 415 Hasil derajat keanggotaan dan fuzzy set data A

i Data A1 A2 Fuzzyfikasi

1 95 0 1 A2

2 90 041868363 058131636 A2

3 94 002516357 097483642 A2

4 83 1 0 A1

5 85 09105837 008941629 A1

6 92 02219236 077807639 A2

7 86 08122036 018779631 A1

8 89 05170636 048293635 A1

9 93 01235436 087645641 A2

10 86 08122037 018779631 A1

Perhitungan yang sama juga dilakukan pada semua attribut yaitu attribut B C dan D Sehingga dapat diperoleh hasil fuzzifikasi sesuai derajat keanggotaan dengan nilai paling besar Berikut adalah hasil fuzzifikasi untuk semua attribut yang dapat dilihat pada Tabel 416

Tabel 416 Hasil fuzzifikasi semua data attribut

No Tanggal A B C D

1 Dasarian 2 (April 2014) A2 B1 C3 D3

2 Dasarian 3 (April 2014) A2 B1 C3 D3

3 Dasarian 1 (Mei 2014) A2 B1 C3 D3

4 Dasarian 2 (Mei 2014) A1 B2 C1 D1

5 Dasarian 3 (Mei 2014) A1 B2 C1 D1

6 Dasarian 1 (Juni 2014) A2 B1 C2 D2

7 Dasarian 2 (Juni 2014) A1 B2 C1 D1

8 Dasarian 3 (Juni 2014) A1 B2 C2 D1

9 Dasarian 1 (Juli 2014) A2 B1 C2 D2

10 Dasarian 2 (Juli 2014) A1 B2 C2 D1

58

426 Pembentukan Fuzzy Logical Relationship (FLR)

Pada tahap pembentukan FLR dengan berdasarkan nilai order yang sudah ditentukan Pada manualisasi ini berdasarkan dari Tabel 416 di misalkan nilai order kita deklarasikan dengan nilai 3 sehingga dapat menghasilkan 7 FLR Hasil pembentukan FLR Data training dapat ditunjukkan pada Tabel 417 Hasil pembentukan FLR Data testing dapat ditunjukkan pada Tabel 418

Tabel 417 Hasil pembentukan FLR data training

No Fuzzy Logical Relationship (FLR)

1 (A(12)B(11)C(13)D(13)) (A(22)B(21)C(23)D(23)) (A(32)B(31)C(33)D(33)) rarr A1

2 (A(12)B(11)C(13)D(13)) (A(22)B(21)C(23)D(23)) (A(31)B(32)C(31)D(31)) rarr A1

3 (A(12)B(11)C(13)D(13)) (A(21)B(22)C(21)D(21)) (A(31)B(32)C(31)D(31)) rarr A2

4 (A(11)B(12)C(11)D(11)) (A(21)B(22)C(21)D(21)) (A(32)B(31)C(32)D(32)) rarr A1

5 (A(11)B(12)C(11)D(11)) (A(22)B(21)C(22)D(22)) (A(31)B(32)C(31)D(31)) rarr A1

Tabel 418 Hasil pembentukan FLR data testing

No Fuzzy Logical Relationship (FLR)

1 (A(12)B(11)C(12)D(12)) (A(21)B(22)C(21)D(21)) (A(31)B(32)C(32)D(31)) rarr A2

2 (A(11)B(12)C(11)D(11)) (A(21)B(22)C(22)D(21)) (A(32)B(31)C(32)D(32)) rarr A1

427 Defuzzifikasi

Pada tahap ini misalkan jumlah data yang digunakan untuk data uji atau data testing adalah dua yaitu yang pertama data periode ke-9 dan yang kedua data periode ke-10 Sehingga yang digunakan data latih atau data training adalah data pada periode ke-1 sampai data periode ke-8 Pada data testing yang pertama melibatkan FLR ke-1 sampai FLR ke-5 untuk disesuaikan dengan FLR ke-6 yang berdasarkan pada Tabel 417 Pada data testing yang kedua melibatkan FLR ke-1 sampai FLR ke-6 untuk disesuaikan dengan FLR ke-7 yang berdasarkan pada Tabel 417 Selanjutnya setiap ruas kiri FLR data testing dibandingkan dengan FLR data training yaitu pada bilang pangkat bawah fuzzy set dibandingkan sesuai dengan posisinya dan dihitung selisihnya Hasil dari perhitungan selisih tersebut dijumlahkan dan apabila jumlah selisihnya kurang dari threshold maka FLR tersebut dikatakan cocok Threshold merupakan dari hasil mengalikan jumlah order dengan jumlah faktor kemudian dijumlahkan dengan dengan sebuah konstanta Contoh perhitungan selisih nilai ruas kiri FLR pada data testing pertama adalah sebagai berikut

59

Data testing = (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(32) B(31) C(33) D(33)) rarr A1

Data training =

1 (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(31) B(32) C(31) D(31)) rarr A1

2 (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(31) B(32) C(31) D(31)) rarr A1

3 (A(12) B(11) C(13) D(13)) (A(21) B(22) C(21) D(21)) (A(31) B(32) C(31) D(31)) rarr A2

4 (A(11) B(12) C(11) D(11)) (A(21) B(22) C(21) D(21)) (A(32) B(31) C(32) D(32)) rarr A1

5 (A(11) B(12) C(11) D(11)) (A(22) B(21) C(22) D(22)) (A(31) B(32) C(31) D(31)) rarr A1

Selisih data ke- 1 = |2-2|+|1-1|+|3-2|+|3-2|+|2-1|+|1-2|+|3-1|+|3-1|+|2-1|+|1-2|+|3-2|+|3-1| = 13

Selisih data ke- 2 = |2-2|+|1-1|+|3-2|+|3-2|+|2-1|+|1-2|+|3-1|+|3-1|+|1-1|+|2-2|+|1-2|+|1-1| = 9

Selisih data ke- 3 = |2-2|+|1-1|+|3-2|+|3-2|+|1-1|+|2-2|+|1-1|+|1-1|+|1-1|+|2-2|+|1-2|+|1-1| = 3

Selisih data ke- 4 = |1-2|+|2-1|+|1-2|+|1-2|+|1-1|+|2-2|+|1-1|+|1-1|+|2-1|+|1-2|+|2-2|+|2-1| = 7

Selisih data ke- 5 = |1-2|+|2-1|+|1-2|+|1-2|+|2-1|+|1-2|+|2-1|+|2-1|+|1-1|+|2-2|+|1-2|+|1-1| = 9

Pada perhitungan selisih nilai ruas kiri FLR pada data testing juga dilakukan pada semua data testing yang sudah dideklarasikan sebelumnya Dalam hal ini agar dapat menemukan FLR yang cocok dengan data testing Tahap selanjutnya adalah proses defuzzifikasi menggunakan threshold yang dimisalkan 18 sehingga FLR yang memiliki kecocokan dengan data testing pertama adalah semua FLR dari ke-1 sampai ke-5 karena memiliki hasil selisih kurang dari 18 Semua FLR yang cocok ditampung dikelompokkan berdasarkan FLR pada ruas kanan yang sama kemudian dhitung frekuensinya Berikut adalah frekuensi dan pusat cluster dari ruas kanan FLR yang cocok dengan data testing pertama dan kedua ditunjukkan pada Tabel 419

Tabel 419 Frekuensi FLR yang cocok dengan data testing

Data testing 1 Data testing 2

Ruas kanan A1 A2 A1 A2

Pusat Cluster 88303 90390 88303 90390

Frekuensi 4 1 4 2

Berdasarkan pada Tabel 419 dilakukan defuzzifikasi sesuai dengan Persamaan 218 sebagai berikut

119863119886119905119886 119905119890119904119905119894119899119892 1 = (88303times4)+(90390times1)

5= 887204

60

119863119886119905119886 119905119890119904119905119894119899119892 2 = (88303times4)+(90390times2)

6= 889987

Jadi berdasarkan perhitungan diatas diperoleh hasil peramalan curah hujan pada pada April 2014 dasarian ke-3 adalah 1384601636 sedangkan pada tanggal 10012016 adalah 2769203272 Perbandingan data curah hujan aktual dan hasil peramalan dengan metode High Order Fuzzy Time Series Multi Factors dapat dilihat pada Tabel 420

Tabel 420 Perbandingan data aktual dan hasil peramalan

No Data Aktual Hasil Peramalan

1 93 887204

2 86 889987

Dari hasil peramalan yang ditunjukkan pada Tabel 420 dapat dilakukan perhitungan kesalahan peramalan menggunakan metode Mean Square Error (MSE) seperti Persamaan 219

119872119878119864 = ((93minus887206)2+(86minus889989)2)

2

= 136536

43 Perancangan antarmuka

Perancangan antarmuka merupakan perancangan dari tampilan antarmuka atau interface yang nantinya akan diterapkan pada tahapan implementasi Pada perancangan antarmuka ini terdapat lima halaman utama dan juga terdapat dalam menu berupa button yaitu halaman input halaman tampil data halaman proses halaman hasil dan halaman perhitungan error

431 Halaman input

Pada halaman input terdapat inputan data dengan nama button Browse Data pada inputan data ini pengguna diharuskan memasukkan inputan file data dalam bentuk ekstensi xls serta direktori lokasi file yang di inputkan akan ditampilkan pada textfield dan juga terdapat label yang menampilkan jumlah banyaknya data yang terdapat pada file yang telah di inputkan Selanjutnya juga terdata inputan textfield data training data testing order dan nilai konstanta Pada halaman input ini juga terdapat button fuzzification yang berfungsi untuk melakukan proses clustering fuzzifikasi dan FLR Selanjutnya pada button forecasting berfungsi untuk melakukan peramalan atau defuzzifikasi dari hasil proses fuzzifikasi serta menghitung nilai error dari hasil peramalan Berikut

61

merupakan rancangan tampilan antarmuka dari halaman input yang ditunjukkan pada Gambar 423

432 Halaman tampil data

Pada halaman tampil data terdapat tabel yang menampilkan isi data dari xls yang sudah dimasukkan terlebih dahulu pada halaman input Tabel tampil data akan menampilkan tanggal curah hujan kelembaban suhu dan kecepatan angin Berikut merupakan tampilan rancangan halaman tampil data yang ditunjukkan pada Gambar 424

Gambar 423 Rancangan antarmuka halaman input

Gambar 424 Rancangan antarmuka halaman tampil data

62

433 Halaman proses

Pada halaman proses akan menampilkan hasil clustering fuzzifikasi dan fuzzy logical relationship Pada tampilan halaman clustering akan menampilkan Universe of Discourse curah hujan suhu kelembaban dan kecepatan angin Selanjutnya tampilan dibawahnya akan menampilkan jumlah cluster dari setiap faktor yaitu jumlah cluster curah hujan suhu kelembaban dan kecepatan angin Berikut merupakan tampilan perancangan halaman proses clustering yang ditunjukkan Gambar 425

Selanjutnya pada tampilan proses fuzzifikasi akan menampilkan tabel hasil fuzzifikasi dari curah hujan suhu kelembaban dan kecepatan angin Berikut adalah tampilan rancangan proses fuzzifikasi yang ditunjukkan pada Gambar 426

Gambar 425 Rancangan antarmuka halaman proses clustering

Gambar 426 Rancangan antarmuka proses fuzzifikasi

63

Pada tampilan proses fuzzy logical relationship (FLR) akan menampilkan textarea berisi hasil proses FLR dari curah hujan suhu kelembaban dan kecepatan angin Berikut adalah tampilan rancangan proses fuzzy logical relationship yang ditunjukkan pada Gambar 427

434 Halaman hasil

Pada halaman hasil peramalan akan menampilkan tabel yang berisi hasil peramalan curah hujan dan data curah hujan yang sebenarnya Serta terdapat text link yang akan menampilkan grafik perbandingan data hasil peramalan dan data yang sebenarnya Berikut adalah tampilan rancangan halaman hasil yang ditunjukkan pada Gambar 428

Gambar 427 Rancangan antarmuka proses fuzzy logical relationship

Gambar 428 Rancangan antarmuka halaman hasil peramalan

64

435 Halaman perhitungan error

Pada halaman perhitungan error akan menampilkan nilai dari hasil perhitungan Mean Square Error (MSE) pada textfield Berikut adalah tampilan rancangan halaman perhitungan error yang ditunjukkan pada Gambar 429

44 Perancangan pengujian

Pada penelitian ini akan dilakukan empat pengujian yaitu pengujian terhadap nilai order nilai threshold pengujian terhadap jumlah data training untuk mengetahui pengaruhnya terhadap nilai Mean Square Error (MSE) dan pengujian validasi sistem untuk mengetahui kestabilan hasil implementasi

441 Perancangan pengaruh order terhadap nilai MSE

Order merupakan jumlah urutan data yang digunakan dalam pembentukkan Fuzzy Logical Relationship (FLR) Pada pengujian ini dilakukan percobaan dengan order yang berbeda ndash beda Pengujian ini bertujuan untuk mengetahui pengaruh order terhadap hasil peramalan Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Pada setiap pengujian yang telah dilakukan dihitung nilai MSEnya untuk mengetahui tingkat kesalahan metode ini apabila dilakukan dengan order yang berbeda Berikut adalah perancangan pengujian order terhadap nilai MSE ditunjukkan pada Tabel 421

Tabel 421 Rancangan pengujian order terhadap nilai MSE

No Order Threshold MSE

1

Gambar 429 Rancangan antarmuka halaman perhitungan error

65

442 Perancangan pengaruh threshold terhadap nilai MSE

Nilai threshold bergantung jumlah order karena untuk nilai threshold merupakan dari hasil mengalikan jumlah faktor yang mempengaruhi dengan order selanjutnya dijumlah dengan sebuah konstanta Pada pengujian ini dilakukan percobaan dengan konstanta yang berbeda ndash beda sehingga menghasilkan threshold yang berbeda pula Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Dari setiap percobaan yang telah dilakukan dihitung nilai MSEnya untuk mengetahui tingkat kesalahan metode ini apabila dilakukan dengan konstanta dan threshold yang berbeda Berikut merupakan rancangan pengujian pengaruh threshold terhadap nilai MSE yang ditunjukkan pada Tabel 422

Tabel 422 Rancangan pengujian threshold terhadap nilai MSE

No Konstanta Threshold MSE

1

443 Perancangan pengaruh jumlah data training terhadap nilai MSE

Data training sangat berperan penting dalam proses defuzzifikasi sehingga pada penelitian ini dilakukan pengujian pengaruh jumlah data training terhadap tingkat kesalahan dari hasil peramalan Pada pengujian ini dilakukan percobaan dengan jumlah data training yang berbeda ndash beda Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Dari setiap percobaan dilakukan perhitungan nilai MSE untuk mengetahui tingkat kesalahan dari hasil peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors dengan jumlah data training yang berbeda ndash beda Sehingga dari hasil pengujian ini dapat diketahui pengaruh dari jumlah data training Berikut merupakan rancangan pengujian pengaruh jumlah data training yang ditunjukkan pada Tabel 423

Tabel 423 Rancangan pengujian jumlah data training terhadap nilai MSE

No Jumlah Data Training MSE

1

444 Perancangan validasi sistem

Pada pengujian validasi sistem akan melakukan pengujian dengan menggunakan order threshold terbaik seperti yang telah dilakukan pada

66

pengujian ndash pengujian sebelumnya yang menghasilkan hasil error MSE terendah Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Berikut merupakan rancangan pengujian validasi sistem yang ditunjukkan pada Tabel 424

Tabel 424 Rancangan pengujian validasi sistem

Percobaan ke- MSE

1

67

BAB 5 IMPLEMENTASI

Pada bab ini berisi pembahasan hasil implementasi metode High Order Fuzzy Time Series Multi Factors yang sesuai dengan bab sebelumnya yaitu perancangan Bab ini terdiri dari spesifikasi sistem implementasi algoritma dan implementasi antarmuka

51 Spesifikasi Sistem

Pada spesifikasi sistem ini dibagi mejadi dua yaitu spesifikasi perangkat keras dan spesifikasi perangkat lunak

511 Spesifikasi Perangkat Keras

Spesifikasi perangkat keras merupakan perangkat keras yang digunakan pada implementasi penelitian ini Perangkat keras yang digunakan adalah laptop dengan spesifikasi sesuai dengan pada Tabel 51 berikut

Tabel 51 Spesifikasi Perangkat Keras

Komponen Spesifikasi

Processor Intelcopy Core i3-3217U 180 GHz

Memori (RAM) 8 GB RAM

Harddisk 500 GB RAM

512 Spesifikasi Perangkat Lunak

Spesifikasi perangkat lunak merupakan perangkat lunak yang digunakan pada implementasi penelitian ini Perangkat lunak yang digunakan pada implementasi penelitian sesuai dengan yang ditunjukkan pada Tabel 52 berikut

Tabel 52 Spesifikasi Perangkat Lunak

Sistem Operasi Microsoft Windows 7 (64 bit)

Bahasa Pemrograman Java

Tools Pemrograman Netbeans 81

Data Microsoft Excel 2013

52 Implementasi Algoritma

Pada implementasi algoritma ini membahas mengenai hasil implementasi algoritma metode High Order Fuzzy Time Series Multi Factors yang mengacu pada bab sebelumnya yaitu perancangan Dalam penelitian ini implementasi algoritma menggunakan bahasa pemrograman java berbasis desktop Implementasi algoritma terdiri dari beberapa method sesuai dengan langkah ndash langkah pada algoritma metode High Order Fuzzy Time Series Multi Factors

68

521 Implementasi Proses Universe of Discourse

Pada implementasi Universe of Discourse seperti yang ditunjukkan Kode Program 51 dimana pada source code method Universe_of_Discourse baris 3 - 5 terdapat pemanggilan method mean standar_deviasi dan Min_dan_Max Dimana pemanggilan method tersebut dibutuhkan untuk melakukan proses perhitungan selanjutnya yaitu untuk menghitung batas bawah dan batas atas dari Univers of Discourse Baris 7-10 untuk menghitung hasil Universe of Discourse Berikut merupakan source code dari proses Universe of Discourse yang ditunjukkan pada Kode Program 51

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

private void Universe_of_Discourse()

mean()

standar_deviasi()

Min_dan_Max()

hsl_uMin = new double[jmlh_Faktor]

hsl_uMax = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

hsl_uMin[i] = hsl_min[i] - hsl_stdev[i]

hsl_uMax[i] = hsl_max[i] + hsl_stdev[i]

Kode Program 51 Implementasi proses Universe of Discourse

5211 Implementasi proses mean

Pada implementasi proses mean merupakan proses perhitungan nilai rata ndash rata dari setiap faktor yang nantinya hasilnya diperlukan untuk proses perhitungan standar deviasi Berikut merupakan source code dari proses mean yang ditunjukkan pada Kode Program 52 Perhitungan utama proses mean terdapat pada baris 3 ndash 8

Baris Kode

1 2 3 4 5 6 7 8 9

private void mean()

hsl_mean = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double tmp_jmlh = 0

for (int j = 0 j lt jmlh_DataTraining j++)

tmp_jmlh = tmp_jmlh + data[i][j]

hsl_mean[i] = (tmp_jmlh jmlh_DataTraining)

Kode Program 52 Implementasi proses mean

5212 Implementasi proses standar deviasi

Pada implementasi proses perhitungan standar deviasi merupakan akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel Standar deviasi dapat dilakukan perhitungan setelah mendapat nilai hasil dari perhitungan mean Berikut merupakan source code dari implementasi proses standar deviasi yang ditunjukkan pada Kode Program 53 Perhitungan utama proses standar deviasi terdapat pada baris 3 ndash 9

69

Baris Kode

1 2 3 4 5 6 7 8 9 10 11

private void standar_deviasi()

hsl_stdev = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double result = 0

for (int j = 0 j lt jmlh_DataTraining j++)

result = result + (Mathpow((data[i][j] ndash

hsl_mean[i]) 2))

hsl_stdev[i]=Mathsqrt(result(jmlh_DataTraining-

1))

Kode Program 53 Implementasi proses standar deviasi

5213 Implementasi proses Dmin dan Dmax

Pada implementasi proses Dmin dan Dmax merukan untuk mencari nilai minimum dan nilai maksimum dari data sampel untuk setiap faktor Berikut merupakan source code dari implementasi dari proses Dmin dan Dmax yang ditunjukkan pada Kode Program 54 Pada baris 8 ndash 10 merupakan bagian dari proses untuk untuk menentukan nilai data terbesar Selanjutnya pada baris 11 ndash 13 untuk menentukan nilai data terkecil

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

19

private void Min_dan_Max()

hsl_max = new double[jmlh_Faktor]

hsl_min = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double besar = data[i][0]

double kecil = data[i][0]

for (int j = 0 j lt jmlh_DataTraining j++)

if (data[i][j] gt besar)

besar = data[i][j]

if (data[i][j] lt kecil)

kecil = data[i][j]

hsl_max[i] = besar

hsl_min[i] = kecil

Kode Program 54 Implementasi proses Dmin dan Dmax

522 Implementasi Proses Jumlah Cluster

Pada implementasi proses jumlah cluster merupakan proses perhitungan jumlah cluster dari setiap faktor Implementasi ini dapat dilakukan apabila sudah mendapatkan hasil output dari method Min_dan_Max() sudah didapatkan Berikut merupakan source code dari implementasi proses jumlah cluster yang ditunjukkan pada Kode Program 55 Pada baris 3 ndash 7 untuk digunakan untuk menghitung selisih data sampel setiap baris dari semua faktor pada data sampel ke t dengan t+1 Selanjutnya pada baris 9 ndash 10 untuk menghitung jumlah cluster dari setiap faktor

70

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

12

13

private void jumlah_Cluster()

jmlh_Cluster = new int[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double selisih = 0

for (int j = 0 j lt (jmlh_DataTraining - 1) j++)

selisih = selisih + (Mathabs((data[i][j]

- data[i][(j + 1)])))

jmlh_Cluster[i] = (int) Mathround((Mathabs(

hsl_min[i]-hsl_max[i]))(selisih(jmlh_DataTraining

-1)))

Kode Program 55 Implementasi proses jumlah cluster

523 Implementasi Proses Pusat Cluster

Implementasi proses perhitungan pusat cluster ini menggunakan metode fuzzy C-means untuk mendapatkan pusat cluster yang nantinya digunkan sebagai subinterval Implementasi ini memerlukan hasil dari proses method jumlah_Cluster() agar dapat melakukan perhitungan subinterval Berikut merupakan source code dari implementasi proses subinterval yang ditunjukkan pada Kode Program 56 Pada Kode Program 56 hanya menampilkan source code pembentukan subinterval pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 2 ndash 3 merupakan deklarasi variabel bobot iterasi maksimum selisih fungsi objektif awal dan error minimum Pada baris 8 ndash 20 merupakan proses pembentukan matriks partisi dengan nilai random 0 sampai 1 Pada baris 22 ndash 26 merupakan proses normalisasi matriks partisi yang telah terbentuk Pada baris 28 ndash 63 merupakan proses untuk menentukan pusat cluster Pada baris 65 ndash 86 merupakan proses perhitungan fungsi objektif dari iterasi Pada baris 88 ndash 90 merupakan proses perhitungan selisih fungsi objektif Pada baris 92 ndash 108 adalah proses perbaikan matriks partisi Pada baris 110 ndash 115 adalah proses hasil perbaikan matriks partisi Pada baris 116 - 133 adalah proses dengan pengkondisian apakah selisih fungsi objektif lebih kecil dari error minimum serta apabila memenuhi kondisi maka dilanjutkan ke proses pengurutan pusat cluster secara ascending dari hasil iterasi terakhir dan proses pengkondisian iterasi berhenti

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

private void pusat_cluster()

int bobot = 2int iter_maksimum = 100

double selisih_f_objektif = 0double error_min = 001

for (int i = 0 i lt jmlh_Faktor i++)

faktor A

if (i == 0)

Pembentukkan matriks partisi

tmp_Matriks1=new

double[jmlh_Cluster[i]][jmlh_DataTraining]

q1 = new double[jmlh_Cluster[i]]

double jmlh_q1

for (int j = 0 j lt jmlh_Cluster[i] j++)

jmlh_q1 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

71

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

double random = ThreadLocalRandomcurrent()

nextDouble(01 1)

tmp_Matriks1[j][k] = random

jmlh_q1 = jmlh_q1 + random

q1[j] = jmlh_q1

normalisasi matriks

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k] q1[j]

Perhitungan pusat cluster

for (int iter = 0 iter lt iter_maksimum iter++)

selisih_f_objektif = 0

jumA1 = new double[iter_maksimum][jmlh_Cluster[i]]

jumA2 = new double[iter_maksimum][jmlh_Cluster[i]]

miu_Matriks1 = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

XV_Matriks1 = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

pusat_cluster1 = new double[jmlh_Cluster[i]]

double hitung_jum1

double hitung_jum2

for (int j = 0 j lt jmlh_Cluster[i] j++)

hitung_jum1 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow(tmp_Matriks1

[j][k]bobot)

miu_Matriks1[j][k] = tmp_Matriks1[j][k]

hitung_jum1 = hitung_jum1 + tmp_Matriks1

[j][k]

jumA1[iter][j] = hitung_jum1

for (int j = 0 j lt jmlh_Cluster[i] j++)

hitung_jum2 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k]

data[i][k]

hitung_jum2 = hitung_jum2 +

tmp_Matriks1[j][k]

jumA2[iter][j] = hitung_jum2

for (int j = 0 j lt jmlh_Cluster[i] j++)

pusat_cluster1[j] = jumA2[iter][j]

jumA1[iter][j]

perhitungan fungsi objektif

jumA3 = new double[iter_maksimum][jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

double hitung_jum3 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow((data[i][k]

ndash pusat_cluster1[j])

bobot)

XV_Matriks1[j][k] = tmp_Matriks1[j][k]

tmp_Matriks1[j][k] = XV_Matriks1[j][k]

miu_Matriks1[j][k]

hitung_jum3 = hitung_jum3 +

tmp_Matriks1[j][k]

jumA3[iter][j] = hitung_jum3

72

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

double jmlh_f_objektif = 0

for (int j = 0 j lt jmlh_Cluster[i] j++)

jmlh_f_objektif = jmlh_f_objektif

+jumA3[iter][j]

if (iter lt (iter_maksimum - 1))

f_objektif1[iter + 1] = jmlh_f_objektif

perhitungan selisih fungsi objektif

selisih_f_objektif = f_objektif1[iter + 1]

-f_objektif1[iter]

perbaikan matriks partisi

int hitung = bobot - 1int pangkat = -1 hitung

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow(XV_Matriks1

[j][k] pangkat)

jumA4 = new

double[iter_maksimum][jmlh_DataTraining]

for (int j = 0 j lt jmlh_DataTraining j++)

double hitung_jum4 = 0

for (int k = 0 k lt jmlh_Cluster[i] k++)

hitung_jum4 = hitung_jum4 +

tmp_Matriks1[k][j]

jumA4[iter][j] = hitung_jum4

hasil perbaikan matriks

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k]

jumA4[iter][k]

if (selisih_f_objektif lt error_min)

pengurutan ascending pusat cluster

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 kltjmlh_Cluster[i]k++)

if (k lt (jmlh_Cluster[i] - 1))

if (pusat_cluster1[k] gt

pusat_cluster1[k + 1])

double tmp =

pusat_cluster1[k]

pusat_cluster1[k]=

pusat_cluster1[k+1]

pusat_cluster1[k+1] = tmp

iter = iter_maksimum

Kode Program 56 Implementasi proses pusat cluster

524 Implementasi Proses Pembentukan Subinterval dan Fuzzy Set

Pada implementasi proses pembentukan suinterval dan fuzzy set memiliki dua proses yaitu proses menentukan batas subinterval minumum serta maksimum dan proses menentukan batas fuzzy set minimum serta maksimum

73

Proses pembentukan fuzzy dapat menjalankan prosesnya setelah method subinterval() telah diakses Berikut merupakan source code proses pembentukan fuzzy set yang ditunjukkan pada Kode Program 57 Pada Kode Program 57 hanya menampilkan source code pembentukan fuzzy set pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 6 ndash 29 merupakan proses pembentukan batas minimum dan batas maksimum subinterval Pada baris 31 ndash 54 merupakan pembentukan batas minimum dan batas maksimum fuzzy set

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

private void subinterval_dan_fuzzy_set()

for (int i = 0 i lt jmlh_Faktor i++)

faktor A

if (i == 0)

batas subinterval

batas_subintervalMinA = new double[jmlh_Cluster[i]]

batas_subintervalMaxA = new double[jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

if (j == 0)

batas_subintervalMinA[j] = hsl_uMin[i]

batas_subintervalMaxA[j]=(pusat_cluster1[j]

+pusat_cluster1[j+

1])2

else if (j == (jmlh_Cluster[i] - 1))

batas_subintervalMinA[j]=

(pusat_cluster1[j-1] +pusat_cluster1

[j])2

batas_subintervalMaxA[j]=

hsl_uMax[i]

else if ((0 lt j) ampamp (j lt (jmlh_Cluster[i] -

1)))

batas_subintervalMinA[j]=

(pusat_cluster1[j-1]+

pusat_cluster1[j])2

batas_subintervalMaxA[j]=

(pusat_cluster1[j]+

pusat_cluster1[j+1)2

batas fuzzy set

batas_fuzzysetMinA = new double[jmlh_Cluster[i]]

batas_fuzzysetMaxA = new double[jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

if (j == 0)

batas_fuzzysetMinA[j]=

batas_subintervalMinA[j]

batas_fuzzysetMaxA[j]=

(batas_subintervalMinA[j+1]

+batas_subintervalMaxA[j + 1])2

else if (j == (jmlh_Cluster[i] - 1))

batas_fuzzysetMinA[j]=

(batas_subintervalMinA[j-1]

+batas_subintervalMaxA[j - 1])2

batas_fuzzysetMaxA[j] =

batas_subintervalMaxA[j]

else if ((0 lt j) ampamp (jlt(jmlh_Cluster[i]-1)))

batas_fuzzysetMinA[j]=

(batas_subintervalMinA[j-1]+

batas_subintervalMaxA[j-1])2

batas_fuzzysetMaxA[j]=

74

51

52

53

54

55

56

(batas_subintervalMinA[j+1]+

batas_subintervalMaxA[j + 1])2

Kode Program 57 Implementasi pembentukan subinterval dan fuzzy set

525 Implementasi proses fuzzifikasi

Pada Implementasi proses fuzzifikasi memiliki dua proses utama yaitu menentukan derajat keanggotaan dan proses fuzzifikasi Dalam proses ini method fuzzy_set() harus dieksekusi terlebih dahulu karena implementasi proses ini memerlukan output dari method tersebut Berikut merupakan source code fuzzifikasi ditunjukkan pada Kode Program 58 Pada Kode Program 58 hanya menampilkan source code pembentukan fuzzy set pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 3 ndash 81 merupakan proses perhitungan derajat keanggotaan Pada baris 83 ndash 94 adalah proses penentuan fuzzifikasi

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

private void fuzzifikasi()

if (i == 0)

hitung_fuzzifikasiA = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

if(j == 0)

if((data[i][k]gtbatas_fuzzysetMinA[j])ampamp

(data[i][k]lt batas_fuzzysetMinA[j + 1]))

hitung_fuzzifikasiA[j][k] = 1

if ((data[i][k] gt batas_fuzzysetMinA[j + 1])

ampamp (data[i][k] lt batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k]=

(batas_fuzzysetMaxA[j] - data[i][k])

(batas_fuzzysetMaxA[j] ndash

batas_fuzzysetMinA[j + 1])

if ((data[i][k] gt batas_fuzzysetMinA[j]) ampamp

(data[i][k] lt batas_fuzzysetMinA[j + 1])

ampamp(data[i][k] gt batas_fuzzysetMinA[j+1])

ampamp(data[i][k] lt batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k] = 0

else if (j == (jmlh_Cluster[i] - 1))

if((data[i][k] gt batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]))

hitung_fuzzifikasiA[j][k]=

(data[i][k]-batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)])

(batas_fuzzysetMaxA[(jmlh_Cluster[i]ndash

2)]-batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)])

if((data[i][k] gt batas_fuzzysetMaxA

75

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

[(jmlh_Cluster[i]- 2)]) ampamp (data[i][k]

lt batas_fuzzysetMaxA[(jmlh_Cluster[i]

- 1)]))

hitung_fuzzifikasiA[j][k] = 1

if ((data[i][k] gt batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]) ampamp

(data[i][k] gt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 1)]))

hitung_fuzzifikasiA[j][k] = 0

else if ((0 lt j)ampamp(j lt (jmlh_Cluster[i] - 1)))

if ((data[i][k] gt batas_fuzzysetMinA[j])

ampamp (data[i][k] lt batas_fuzzysetMinA[j

+1]))

hitung_fuzzifikasiA[j][k]=

(data[i][k]-batas_fuzzysetMinA[j])

(batas_fuzzysetMinA[j + 1]-

batas_fuzzysetMinA[j])

if ((data[i][k] gt batas_fuzzysetMinA

[j+1])ampamp (data[i][k] lt

batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k]=

(batas_fuzzysetMaxA[j]-data[i][k])

(batas_fuzzysetMaxA[j]-

batas_fuzzysetMinA[j + 1])

if ((data[i][k] gt batas_fuzzysetMinA[j])

ampamp (data[i][k] lt batas_fuzzysetMinA

[j + 1]) ampamp (data[i][k] gt

batas_fuzzysetMinA[j + 1]) ampamp

(data[i][k]ltbatas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k] = 0

hasil_fuzzifikasiA = new int[jmlh_DataTraining]

for (int j = 0 j lt jmlh_DataTraining j++)

int cluster = 0

double besar=hitung_fuzzifikasiA[0][j]

for (int k = 0 k lt jmlh_Cluster[i] k++)

if (besar lt hitung_fuzzifikasiA[k][j])

besar = hitung_fuzzifikasiA[k][j]

cluster = k

hasil_fuzzifikasiA[j] = cluster + 1

Kode Program 58 Implementasi proses fuzzifikasi

526 Implementasi Pembentukan Fuzzy Logical Relationship

Pada implementasi pembentukan Fuzzy Logical Relationship (FLR) memiliki dua output yaitu FLR_kiri dan FLR_kanan Dimana FLR_kiri berisi group dari kelima faktor dan pada FLR_kanan merupakan dari faktor yang akan diramalkan yaitu

76

faktor curah hujan (A) Berdasarkan dari perancangan proses pada bab sebelumnya maka implementasi source code pembentukan Fuzzy Logical Relationship (FLR) dapat ditunjukkan pada Kode Program 59 berikut Pada baris 3 ndash 14 merupakan deklarasi variabel Pada baris 15 ndash 55 adalah proses pembentukan fuzzy logical relationship data training Pada baris 56 ndash 58 merupakan deklarasi variabel Pada baris 59 ndash 86 adalah proses pembentukan fuzzy logical relationship data testing

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

Fuzzy Logical Relationship

private void fuzzy_logical_relationship()

String input_order = fieldOrdergetText()

order = IntegerparseInt(input_order)

int max_inc = order

String input_dataTraining = fieldDatatraininggetText()

int dataTraining = IntegervalueOf(input_dataTraining)

int tmp_jmlhDatatraining = 0

int tmp_order = 0

int jmlh_dataTraining = dataTraining - order

String input_dataTesting = fieldDatatestinggetText()

int jmlh_dataTesting = IntegervalueOf(input_dataTesting)

FLR_kiri_training = new

int[jmlh_DataTraining][order][jmlh_Faktor]

FLR_kanan_training = new int[jmlh_DataTraining]

for (int i = 0 i lt jmlh_dataTraining i++)

for (int j = i j lt max_inc j++)

for (int k = 0 k lt jmlh_Faktor k++)

if (j == 0)

if (k == 0)

FLR_kiri_training[i][j][k]=

hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiD[j]

else if (j = 0)

if (k == 0)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiD[j]

tmp_order = j

FLR_kanan_training[i] = hasil_fuzzifikasiA[(i + order)]

if (max_inc lt (jmlh_DataTraining - 1))

max_inc = max_inc + 1

77

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

tmp_jmlhDatatraining = i

FLR_kiri_testing = new

int[jmlh_DataTraining][order][jmlh_Faktor]

FLR_kanan_testing = new int[(jmlh_DataTraining)]

tmp_jmlhDatatraining = tmp_jmlhDatatraining + 1

for (int i = 0 i lt jmlh_dataTesting i++)

for (int j = tmp_jmlhDatatraining j lt max_inc j++)

for (int k = 0 k lt jmlh_Faktor k++)

if (k == 0)

FLR_kiri_testing[i][j - tmp_jmlhDatatraining][k]

= hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiD[j]

FLR_kanan_testing[i] =

hasil_fuzzifikasiA[(tmp_jmlhDatatraining + order)]

if (max_inc lt (jmlh_DataTraining - 1))

max_inc = max_inc + 1

tmp_jmlhDatatraining++

Kode Program 59 Implementasi pembentukan FLR

527 Implementasi Proses Defuzzifikasi

Pada implementasi proses defuzzifikasi merupakan proses dimana menentukan hasil peramalan dari data testing berdasarkan dari bilangan fuzzy yang terbentuk Implementasi ini memiliki beberapa inputan penting yaitu data training data testing order dan konstanta Inputan tersebut sangat berperan penting dalam proses implementasi defuzzifikasi Berdasarkan dari perancangan proses pada bab sebelumnya maka implementasi source code defuzzifikasi dapat ditunjukkan pada Kode Program 510 berikut Pada baris 2 ndash 11 merupakan deklarasi variabel Pada baris 13 ndash 37 merupakan proses perhitungan selisih antara data training dengan data testing Pada baris 40 ndash 47 menghitung jumlah FLR yang cocok Pada baris 49 ndash 65 merupakan proses mencocokan FLR kiri yang cocok dengan FLR kanan Pada baris 67 ndash 81 merupakan proses menghitung jumlah frekuensi FLR kanan yang cocok Pada baris 83 ndash 91 adalah proses perhitungan hasil peramalan

Baris Kode 1

2

3

4

private void defuzifikasi()

String input_dataTraining = fieldDatatraininggetText()

String input_dataTesting = fieldDatatestinggetText()

String input_konstanta = fieldKonstantagetText()

78

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

int dataTraining = IntegervalueOf(input_dataTraining)

int dataTesting = IntegervalueOf(input_dataTesting)

int konstanta = IntegervalueOf(input_konstanta)

int match[][]

match = new int[dataTesting][2000]

int threshold = (jmlh_Faktor order) + konstanta

int hitung_selisih = 0

perhitungan selisih

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt (dataTraining + i) j++)

hitung_selisih = 0

for (int k = 0 k lt order k++)

for (int l = 0 l lt jmlh_Faktor l++)

if (i == 0)

hitung_selisih = hitung_selisih +

(Mathabs(FLR_kiri_training[j][k][l] ndash

FLR_kiri_testing[i][k][l]))

else if (i gt 0)

FLR_kiri_training[(dataTraining-

1)+i][k][l] = FLR_kiri_testing[i-

1][k][l]

FLR_kanan_training[(dataTraining-1)+i]

= FLR_kanan_testing[i-1]

hitung_selisih = hitung_selisih +

(Mathabs(FLR_kiri_training[j][k][l] ndash

FLR_kiri_testing[i][k][l]))

if (hitung_selisih lt threshold)

match[i][j] = hitung_selisih

menghitung jumlah total FLR yang cocok untuk setiap data

testing

int countGroup[] = new int[dataTesting]

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt (dataTraining + i) j++)

if (match[i][j] gt 0)

countGroup[i]++

mencocokan FLR_kiri yang cocok dengan FLR_kanan

group = new int[dataTesting][2000]

for (int i = 0 i lt dataTesting i++)

int tmp_count = 0

for (int j = 0 j lt (dataTraining + i) j++)

if (match[i][j] gt 0)

if (tmp_count lt countGroup[i])

group[i][tmp_count] = j

tmp_count++

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt countGroup[i] j++)

group[i][j] = FLR_kanan[group[i][j]]

mengelompokkan yang sama

MapltInteger Integergt map = new HashMapltInteger Integergt()

hasil_peramalan = new double[dataTesting]

for (int i = 0 i lt dataTesting i++)

79

70

71

72

73

74

75 76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

double peramalan = 0

mapclear()

for (int j = 0 j lt countGroup[i] j++)

int key = group[i][j]

if (mapcontainsKey(key))

int occurrence = mapget(key)

occurrence++

mapput(key occurrence)

else

mapput(key 1)

menghitung hasil peramlaan

Iterator iterator = mapkeySet()iterator()

while (iteratorhasNext())

int key = (Integer) iteratornext()

int occurrence = mapget(key)

peramalan = (peramalan + (pusat_cluster1[(key - 1)]

occurrence))

hasil_peramalan[i] = (peramalan countGroup[i])

Kode Program 510 Implementasi proses defuzzifikasi

53 Implementasi Antarmuka

Pada implementasi antarmuka dijelaskan beberapa halaman antarmuka untuk penggunaan dari program hasil implementasi Implementasi antarmuka berdasarkan perancangan yang telah dijelasakan pada bab sebelumnya yaitu bab perancangan Halaman antarmuka yang dibuat adalah halaman input halaman tampil data halaman proses halaman hasil dan halaman perhitungan error

531 Implementasi antarmuka halaman input

Halaman input merupakan halaman yang pertama muncul setelah program dijalankan Pada halaman input ini terdapat beberapa inputan yang harus di masukkan yaitu data input data training data testing order dan konstanta Selain itu pada halaman input juga terdapat tiga button yaitu button browse data button fuzzification dan button forecasting Berikut tampilan antarmuka halaman input yang ditunjukkan pada Gambar 51

Gambar 51 Implementasi antarmuka halaman input

80

532 Implementasi antarmuka halaman tampil data

Halaman tampil data merupakan halaman yang tampil setelah melakukan input data Halaman ini berisi tabel yang menampilkan data curah hujan suhu kecepatan angin dan kelembaban Berikut tampilan antarmuka halaman tampil data yang ditunjukkan pada Gambar 52

533 Implementasi antarmuka halaman proses

Halaman proses merupakan halaman yang muncul setelah button fuzzification telah dieksekusi Halaman proses ini terdiri dari tiga bagian atau tab yaitu clustering fuzzification dan Fuzzy logical relationship Pada halaman antarmuka clustering menampilkan Universe of Discourse dan jumlah cluster pada masing ndash masing faktor Berikut merupakan tampilan antarmuka halaman proses bagian clustering yang ditunjukkan pada Gambar 53

Gambar 52 Implementasi antarmuka halaman tampil data

Gambar 53 Implementasi antarmuka halaman proses clustering

81

Pada tab selanjutnya yaitu pada tab fuzzification tab ini menampilkan hasil proses fuzzifikasi Pada halaman ini menampilkan tabel yang berisi hasil fuzzifikasi dari setiap faktor Berikut merupakan tampilan antarmuka halaman proses bagian fuzzification yang ditunjukkan pada Gambar 54

Pada tab Fuzzy Logical Relationship menampilakn hasil dari proses pembentukan Fuzzy Logical Relationship Tampilan pada halaman ini menampilkan berupa textarea yang berisi dari output proses tersebut Berikut merupakan tampilan antarmuka halaman proses bagian Fuzzy Logical Relationship yang ditunjukkan pada Gambar 55

Gambar 54 Implementasi antarmuka halaman proses fuzzification

Gambar 55 Implementasi halaman antarmuka proses FLR

82

534 Implementasi antarmuka halaman hasil

Pada implementasi antarmuka halaman hasil ini merupakan halaman yang menampilkan hasil dari proses defuzzifikasi Halaman hasil ini menampilkan tabel yang berisi data aktual dan data dari hasil peramlan Berikut merupakan tampilan antarmuka halaman hasil yang ditunjukkan pada Gambar 56

535 Implementasi antarmuka halaman perhitungan error

Pada implementasi antarmuka halaman perhitungan error merupakan halaman yang menampilkan hasil dari proses perhitungan Mean Square Error (MSE) Pada halaman antarmuka ini menampilkan hasil error MSE pada textfield Berikut merupakan tampilan antarmuka halaman perhitungan error yang ditunjukkan pada Gambar 57

Gambar 56 Implementasi halaman antarmuka hasil

Gambar 57 Implementasi halaman antarmuka perhitungan error

83

BAB 6 PENGUJIAN DAN ANALISIS

Pada bab ini membahas hasil pengujian dan analisis hasil pengujian dari hasil implementasi metode High Order Fuzzy Time Series Multi factors untuk peramalan curah hujan dasarian Pada pengujian ini disesuaikan dengan perancangan pengujian pada bab 4

61 Sistematika Pengujian

Pada bab sebelumnya yaitu bab 4 mengenai perancangan telah dibahas perancangan pengujian dikatakan bahwa pengujian akan dilakukan sebanyak empat pengujian Pengujian order pengujian threshold pengujian jumlah data training dan pengujian validasi sistem Dari semua pengujian tersebut akan di uji dan di analisis bagaimana pengaruhnya terhadap hasil perhitungan Mean Square Error (MSE)

62 Hasil dan Analisis Pembahasan

Berikut hasil pengujian dan analisis yang disesuaikan dengan perancangan pengujian pada bab sebelumnya

621 Pengujian pengaruh order terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh order terhadap nilai MSE Order merupakan urutan jumlah dari data time series pada periode waktu t yang mempengaruhi nilai data Jadi jika nilai order adalah 3 maka peramalan akan melibatkan 3 data sebelumnya pada proses pembentukan Fuzzy Logical Relationship (FLR) Pada pengujian ini hanya nilai order yang diubah ndash ubah sedangkan variabel lain akan dibuat tetap Pengujian akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai variabel jumlah data training adalah 72 yaitu dari data Januari 2014 dasarian 1 sampai Desember 2015 dasarian 3 nilai data testing adalah 36 yaitu dasarian 1 Januari 2016 sampai dasarian 3 Desember 2016 konstanta adalah 10 Nilai threshold diperoleh dari perhitungan jumlah faktor dikali order dan dijumlah nilai konstanta Berikut adalah hasil pengujian pengaruh order terhadap nilai MSE yang ditunjukkan pada Tabel 61

Tabel 61 Hasil pengujian order terhadap nilai MSE

No Order Threshold MSE

1 3 22 808585

2 6 34 965547

3 9 46 912631

4 12 58 875884

5 15 70 719284

6 18 82 6801207

7 21 94 5637184

8 24 106 5444184

9 27 118 5433631

10 30 130 5418393

84

Dari hasil pengujian order seperti yang telah ditunjukkan pada Tabel 61 maka pada percobaan pertama dengan order = 3 dan threshold 22 dapat diperoleh MSE sebesar 808585 Selanjutnya pada percobaan kedua dengan order = 6 dan threshold = 34 diperoleh MSE sebesar 965547 Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 61

Berdasarkan Gambar 61 order yang berbeda - beda mempengaruhi besar nilai MSE Dalam penelitian ini menentukan order memiliki ketentuan yaitu nilai order harus lebih dari 0 dan batas maksimal order adalah setengah dari nilai data training (LinYang 2009) Nilai MSE terbesar yang ditunjukkan pada pengujian ini adalah 965547 pada pengujian order 6 dan nilai MSE terkecil adalah 5418393 pada pengujian order 30 Pada Gambar 61 menunjukkan bahwa pada order 3 ke order 6 mengalami peningkatan nilai MSE selanjutnya pada order 6 hingga order 30 mengalami penurunan Pada order 3 memiliki nilai MSE lebih kecil dari order 6 order 9 dan order 12 karena memiliki lebih banyak hasil selisih tingkat kecocokan data time series yang tidak terlalu besar dan kurang dari threshold Selain itu karena data time series dari data sampel yang diperoleh memiliki pola data musiman dimana perubahan pola data dasarian tidak terlalu banyak berubah dari tahun ke tahun Selanjutnya pada order 6 hingga order 30 menunjukkan penurunan nilai MSE dan order terbesar memiliki nilai MSE terkecil sehingga dapat disumpulkan bahwa semakin besar order maka semakin kecil pula nilai MSE Dalam hal ini dengan semakin besarnya order maka data sebelumnya yang digunakan untuk pertimbangan dalam menentukan peramalan semakin banyak Sehingga semakin besar nilai order maka dapat membuat peramalan semakin akurat Dalam pengujian ini memimiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoImplementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emasrdquo yang menyatakan bahwa semakin besar nilai order maka semakin kecil nilai kesalahannya (Wardhani et al 2015)

Gambar 61 Grafik hasil pengujian order terhadap nilai MSE

85

622 Pengujian pengaruh threshold terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh threshold terhadap nilai MSE Threshold merupakan hasil dari mengalikan jumlah order dengan jumlah faktor pada data kemudian dijumlahkan dengan dengan nilai konstanta Pada proses defuzzifikasi terdapat proses menghitung selisih antara pangkat bawah Fuzzy Logical Relationship (FLR) data training dan pangkat bawah FLR data testing Selanjutnya setelah mendapatkan nilai selisih maka nilai selisih tersebut dibandingkan dengan nilai threshold untuk mencari FLR yang cocok Pada pengujian ini nilai konstanta saja yang diubah ndash ubah sementara variabel lainnya tetap Pengujian akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai variabel jumlah data training adalah 72 yaitu dari data Januari 2014 dasarian 1 sampai Desember 2015 dasarian 3 nilai data testing adalah 36 yaitu dasarian 1 Januari 2016 sampai dasarian 3 Desember 2016 dan Nilai order adalah 30 Pada penentuan input konstanta nilai minimal harus lebih besar dari 0 dan nilai maksimal menyesuaikan data sampel yang digunakan (LinYang 2009) Berikut adalah hasil pengujian pengaruh threshold terhadap nilai MSE yang ditunjukkan pada Tabel 62

Tabel 62 Hasil pengujian threshold terhadap nilai MSE

No Konstanta Threshold MSE

1 10 130 558485

2 20 140 577498

3 30 150 597364

4 40 160 604660

5 50 170 646951

6 60 180 680257

7 70 190 703013

8 80 200 741484

9 90 210 756749

10 100 220 780600

Dari hasil pengujian threshold seperti yang telah ditunjukkan pada Tabel 62 maka dapat dilihat bahwa konstanta yang dilakukan pengujian dimulai dengan nilai 10 sampai 100 Hasil yang didapat pada percobaan pertama dengan konstanta = 10 dan threshold 130 diperoleh MSE sebesar 558485 Selanjutnya pada percobaan kedua dengan konstanta = 20 dan threshold = 140 diperoleh MSE sebesar 577498 Selanjutnya dapat kita lihat pada percobaan yang telah dilakukan dari percobaan pertama hingga percobaan kesepuluh nilai MSE yang diperoleh mengalami perubahan pada setiap percobaan Dapat dilihat bahwa peningkatan MSE lebih dominan menunjukkan peningkatan sehingga dalam hal ini semakin besar nilai konstanta dan threshold maka semakin besar pula nilai MSE yang diperoleh Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 62

86

Berdasarkan grafik dari Gambar 62 nilai input konstanta yang berbeda - beda mempengaruhi besar nilai MSE semakin besar nilai konstanta maka nilai threshold juga semakin besar karena threshold diperoleh dari perhitungan order dikali jumlah faktor dan selanjutnya dijumlah dengan nilai konstanta Dalam hal ini dengan semakin besar nilai threshold maka dalam proses seleksi untuk mencari nilai selisih FLR juga semakin luas batasannya dan jika semakin kecil nilai threshold maka dalam proses seleksi untuk mencari nilai selisih FLR menjadi semakin sempit dan mempermudah proses peramalan karena hanya adanya sedikit data yang cocok dengan data yang akan diramalkan dan mempermudah proses defuzzifikasi Oleh karena itu semakin kecil threshold maka dapat membuat peramalan semakin akurat Akan tetapi nilai threshold tidak boleh terlalu kecil karena dapat menyebabkan kegagalan peramalan Kegagalan peramalan itu terjadi karena tidak adanya data training yang cocok dengan data testing karena pada metode yang digunakan pada penelitian ini sangat bergantung pada data ndash data sebelumnya Dari hasil percobaan diatas hasil MSE terbesar adalah 7806 yaitu pada konstanta 100 serta threshold 220 dan hasil MSE terkecil adalah 558485 yaitu pada konstanta 10 dan threshold 130 Dalam pengujian ini memiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoImplementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emasrdquo yang menyatakan bahwa semakin kecil nilai konstanta maka semakin kecil nilai kesalahannya (Wardhani et al 2015)

623 Pengujian pengaruh jumlah data training terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh jumlah data training terhadap nilai MSE Pada pengujian ini jumlah data training adalah data dasarian yaitu 1 tahun 2 tahun 3 tahun 4 tahun dan 5 tahun dimana dari setiap 1 tahun memiliki 36 data dasarian Pengujian ini akan dilakukan sebanyak lima kali Pada pengujian ini jumlah data testing adalah 36 nilai order adalah setengah dari

Gambar 62 Grafik hasil pengujian threshold terhadap nilai MSE

87

nilai data training nilai konstanta adalah 20 Berikut adalah hasil pengujian pengaruh jumlah data training terhadap nilai MSE yang ditunjukkan pada Tabel 63

Tabel 63 Hasil pengujian jumlah data training terhadap nilai MSE

No Jumlah Data Training MSE

1 36 786586

2 72 634527

3 108 627190

4 144 614184

5 180 539698

Dari hasil pengujian jumlah data training seperti yang telah ditunjukkan pada Tabel 63 maka pada percobaan pertama dengan data training = 36 dapat diperoleh MSE sebesar 786586 Selanjutnya pada percobaan kedua dengan data training = 72 diperoleh MSE sebesar 634527 Dalam hal ini dari percobaan satu dan dua nilai MSE mengalami penurunan Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 63

Berdasarkan dari Gambar 63 pengujian pertama sampai pengujian kelima mengalami penerunan nilai MSE Sehingga dapat disimpulkan bahwa semakin besar data training maka semakin kecil nilai MSE yang diperoleh Nilai MSE semakin kecil apabila menggunakan data training dalam jumlah besar karena data yang digunakan memiliki rentang jauh dari periode data testing atau data yang akan diramalkan Sedangkan data training yang sedikit memiliki nilai MSE yang besar karena data training yang memiliki kecocokan dengan data testing berada pada periode yang jauh dengan data testing sehingga nilai MSE menjadi tinggi Dalam hal ini terbukti bahwa metode yang digunakan pada penelitian ini memerlukan jumlah data training yang banyak sehingga dapat menurunkan nilai kesalahannya Dari hasil percobaan diatas hasil MSE terbesar adalah 786586 dan

Gambar 63 Grafik hasil pengujian data training terhadap nilai MSE

88

hasil MSE terkecil adalah 539698 Dalam pengujian ini memimiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoPeramalan Jumlah Kunjungan Wisatawan Kota Batu Menggunakan Metode Time Invariant Fuzzy Time Seriesrdquo yang menyatakan bahwa semakin besar jumlah data training maka semakin kecil nilai kesalahannya (Elfajar et al 2017)

624 Pengujian validasi sistem

Pada pengujian ini dilakukan untuk mengetahui kestabilan dari sistem dengan menggunakan order threshold terbaik dari pengujian sebelumnya Pada pengujian ini akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai data training menggunakan 36 data yang berbeda agar dapat menunjukkan gambaran variasi dari nilai kesalahan MSE pada peramalan nilai order adalah 18 dan konstanta adalah 10 sehingga nilai threshold adalah 92 Berikut adalah hasil pengujian validasi sistem yang ditunjukkan pada Tabel 64

Tabel 64 Hasil pengujian validasi sistem

Percobaan ke- MSE

1 714290

2 703856

3 732564

4 732815

5 6973958

6 7532825

7 741726

8 760457

9 709961

10 6256204

Dari hasil pengujian validasi sistem seperti yang telah ditunjukkan pada Tabel 64 maka dapat digambarkan dengan grafik yang ditunjukkan oleh Gambar 64

Gambar 64 Grafik hasil pengujian validasi sistem

89

Berdasarkan dari gambar grafik Gambar 64 bahwa pengujian dari validasi sistem memiliki hasil MSE yang tidak terlalu jauh berbeda dari penggunaan data yang berbeda - beda Oleh karena itu dapat disimpulkan bahwa implementasi dari metode High Order Fuzzy Time Series Multi Factors yang telah digunakan sudah cukup baik untuk digunakan peramalan

Berdasarkan dari pengujian yang dilakukan diatas dapat diketahui bahwa nilai MSE terkecil terdapat pada pengujian jumlah data training yaitu dengan nilai MSE sebesar 539698 Nilai tersebut diperoleh dari pengujian jumlah data training dasarian dari tahun 2011 hingga 2015 untuk melakukan peramalan pada data dasarian tahun 2016 Nilai order adalah 90 dan konstanta adalah 10 Berikut adalah perbandingan data aktual dengan hasil peramalan yang ditunjukkan pada grafik Gambar 65

Gambar 65 Grafik perbandingan data aktual dengan hasil peramalan

90

BAB 7 PENUTUP

Pada bab ini terdiri dari dua sub bab yaitu kesimpulan dan saran Kesimpulan adalah tahapan yang berisi hasil penelitian yang dilakukan dan jawaban semua rumusan masalah yang sudah ditetapkan sebelumnya dan saran adalah tahapan yang berisi hasil yang telah dicapai untuk memperbaiki kekurangan - kekurangan yang terjadi pada penelitian ini serta memberikan pertimbangan pada pengembangan penelitian lebih lanjut

71 Kesimpulan

Pada kesimpulan ini mengacu pada penelitian yang telah dilakukan yang meliputi perancangan implementasi serta pengujian dan analisis terhadap hasil implementasi peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors maka dapat diambil kesimpulan sebagai berikut

1 Berdasarkan dari implementasi metode High Order Fuzzy Time Series Multi Factors dalam melakukan peramalan curah hujan dasarian dilakukan dengan beberapa langkah yaitu langkah pertama perhitungan Universe of Discourse yang terdiri perhitungan mean standar deviasi dan perhitungan Dmin serta Dmax langkah kedua yaitu perhitungan jumlah cluster langkah ketiga yaitu perhitungan pusat cluster langkah keempat yaitu pembentukan subinterval dan fuzzy set langkah kelima yaitu proses fuzzifikasi langkah keenam yaitu pembentukan Fuzzy Logical Relationship(FLR) langkah ketujuh adalah defuzzifikasi yang hasil outputnya merupakan hasil peramalan curah hujan

2 Berdasarkan dari pengujian peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors maka dapat diketahui bahwa

a Order berpengaruh terhadap nilai error semakin besar nilai order maka hasil peramalan semakin baik

b Threshold berpengaruh terhadap nilai error semakin rendah nilai threshold maka hasil peramalan semakin baik Akan tetapi nilai threshold tidak boleh terlalu rendah karena dapat menyebabkan kegagalan peramalan

c Data training berpengaruh terhadap nilai error semakin besar jumlah data training maka hasil peramalan semakin baik Sehingga peramalan menggunakan metode High Order Fuzzy Time Series Multi Factors memerlukan banyak data training

d Hasil implementasi peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors cukup baik digunakan untuk peramalan Hal ini terbukti hasil pengujian validasi sistem menunjukkan grafik yang cukup stabil

Dari pengujian yang telah dilakukan nilai MSE terkecil terdapat pada pengujian jumlah data training yaitu dengan nilai MSE sebesar 539698 Nilai tersebut diperoleh dari pengujian jumlah data training dasarian dari tahun

91

2011 hingga 2015 untuk melakukan peramalan pada data dasarian tahun 2016

72 Saran

Pada penelitian ini dilakukan peramalan curah hujan dasarian dengan faktor yang mempengaruhi adalah suhu kelembaban dan kecapatan angin Saran penulis diharapkan untuk penelitian selanjutnya melakukan penambahan faktor yang mempengaruhi curah hujan atau melakukan peramalan objek lain dengan mempertimbangkan faktor ndash faktor yang mempengaruhinya Serta diharapkan pada penelitian selanjutnya untuk menambahkan data yang lebih banyak serta bervariatif sehingga nilai hasil perhitungan akurasi peramalan yang dihasilkan dalam penelitian dapat meningkat Penggunaan data training yang banyak dan bervariatif dapat membuat pola data semakin terlihat sehingga hasil peramalan yang dihasilkan memiliki akurasi yang lebih baik

92

DAFTAR PUSTAKA

Ardiyanto 2016 ldquoTerendam Air Petani Lamongan Terpaksa Panen Dinirdquo Times Indonesia November 18 httpwwwtimesindonesiacoidread13688520161118102415terendam-air-petani-lamongan-terpaksa-panen-dini (Diakses 25 Februari 2017)

Badan Penelitian dan Pengembangan Pertanian Kementrian Pertanian 2015 ldquoKalender Tanam Terpadu Versi 25 Kota Malang Prov Jawa Timurrdquo httpkatamlitbangpertaniangoidkatam_terpadu2016mh33535733573_tinggipdf (Diakses 25 Februari 2017)

Bagirov M Adil Mahmood Arshad and Barton Andrew 2017 Prediction of monthly rainfall in Victoria Australia Clusterwise linear regression approach Elsevier Atmos Research 188 20-29

BMKG Staklim Karangploso Malang 2015 ldquoAnalisis Dinamika Atmosfer Dan Laut Dasarian III Maret 2015 Update 2 April 2015rdquo httpkarangplosojatimbmkgogoidindexphpanalisis-kondisi-dinamika-atmosfer-laut-dasarian-tahun-2015399-analisis-dinamika-atmosfer-dan-laut-dasarian-iii-maret-2015-update-2-april-2015axzz3X8h9y4fgampgsctab=0 (Diakses 25 Februari 2017)

BPS Kabupaten Malang 2016 ldquoKabupaten Malang Dalam Angka 2016rdquo httpsmalangkabbpsgoidwebsitepdf_publikasiKabupaten-Malang-Dalam-Angka-2016pdf (Diakses 25 Februari 2017)

BPS Jawa Timur 2015 ldquoJawa Timur Dalam Angka 2015rdquo httpsjatimbpsgoid4dmnpdf_publikasiJawa-Timur-Dalam-Angka-2015pdf (Diakses 25 Februari 2017)

Buffa S Elwood Rakesh and Sarin K 1996 Modern Production and Operation Management Eight Edition John Willey and Sons Inc London

Chen M 1996 Forecasting Enrollments based on Fuzzy Time Series Fuzzy Sets and Systems 311-319

Dewi Candra Kartikasari Dani Mursityo Yusi 2014 Prediksi Cuaca Pada Data Time Series Menggunakan Adaptive Neuro Fuzzy Inference System (ANFIS) Jurnal Teknologi Informasi dan Ilmu Komputer (JTIIK) Vol 1 No 1 hlm 18-24

Dewi Candra Muslikh M 2013 Perbandingan Akurasi Backpropagation Neural Network dan ANFIS Untuk Memprediksi Cuaca NATURAL-A Journal of Scientific Modeling amp Computation Volume 1 No1

Elfajar Aria Setiawan Budi Dewi Candra 2017 Peramalan Jumlah Kunjungan Wisatawan Kota Batu Menggunakan Metode Time Invariant Fuzzy Time Series Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer Vol 1 No 2 Hlmn 85-94

93

Fauziah Normalita Wahyuningsih Sri dan Nasution Yuki 2016 Peramalan Menggunakan Fuzzy Time Series Chen (Studi Kasus Curah Hujan Kota Samarinda) Vol4 Statistika

Forest Mahyu 2015 ldquoDefenisi amp Pengertian Kelembabanrdquo httpilmupengetahuaalamblogspotcoid201506defenisi-pengertian-kelembabanhtml (Diakses 25 Februari 2017)

Irsyad Muhammad Metarice Sonya 2013 Penerapan Metode Automatic Clustering dan High Order Fuzzy Time Series Pada Peramalan Curah Hujan Jurnal Sains dan Teknologi Industri Vol 10 No 02

Klawon F 2001 What is About Fuzzy Clustering Understanding and Improving the Concept of the Fuzzier Science Journal httppublic-rzfh-wolfebuetteldeklawon

Kurniawan Carlos 2007 Analisis dan Perancangan Program Aplikasi Peramalan Curah Hujan dengan Metode Wavelet (Studi Kasus BMKG)

Kusumadewi S 2003 ldquoArtificial Intelegence (Teknik amp Aplikasinya)rdquo Graha Ilmu Yogyakarta

Kusumadewi S Purnomo H 2004 ldquoAplikasi Logika Fuzzy untuk Pendukung Keputusanrdquo Graha Ilmu Yogyakarta

Kusumadewi Sri 2002 Analisis amp Desain Sistem Fuzzy Tollbox MATLAB Graha Ilmu Yogyakarta

Lin Yupei Yang Y 2009 Stock Markets Forecasting Based on Fuzzy Time Series Model IEEE Conference Publications 782-886

Makridakis S Steven C Wheelwright Victor E and Gee MC 1999 Metode dan Aplikasi Peramalan Jilid I Edisi Kedua Jakarta Binarupa Aksara

Mirawati T Yasin H and Rusgiyono A 2013 Prediksi Curah Hujan dengan Metode Kalman Filter(Studi Kasus di Kota Semarang 2012) Jurnal Gaussian 2(3) pp 239-248

Pradipta Nur Sembiring Pasukat Bangun Pengarapen 2013 Analisis Pengaruh Curah Hujan di Kota Medan Saintia Matematika Vol 1

Sipayung Putri Metha 2013 Pemodelan Hubungan Kelembapan Udara terhadap Curah Hujan (Studi Kasus Curah Hujan Periode 2001-2009 pada Stasiun Dramaga) httprepositoryipbacidhandle12345678960623 (Diakses 25 Februari 2017)

User 2015 httpstaklimnegaranet[Online] Available at httpwwwstaklimnegaranetindexphpbuletin-hujanpengertian-istilah (Diakses 25 Februari 2017)

Wang Nai-Yi Chen Shyi-Ming 2009 Temperature prediction and TAIFEX forecasting based on automatic clustering techniques and two-factors high-order fuzzy time series Elsevier Expert Systems with Applications 36 2143ndash2154

94

Wardhani Dessy Ratnawati Dian Setiawan Budi 2015 Implementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Saham Repositori Jurnal Mahasiswa PTIIK UB Doro Jurnal Vol 6 No 6

Wiyanti T and Pulungan R 2012 Peramalan Deret Waktu Menggunakan Model Fungsi Basis Radial (RBF) dan Auto Regressive Integrated Moving Average (ARIMA) Jurnal MIPA 35(2) pp 175-182

Yunanto Utomo 2014 ldquoBMKG Akui Prakiraan Cuacanya Masih Kurang Akuratrdquo Kompas Sains Januari 30 httpwwwtimesindonesiacoidread13688520161118102415terendam-air-petani-lamongan-terpaksa-panen-dini (Diakses 25 Februari 2017)

  • Bagian Depanpdf
  • BAB Ipdf
  • BAB IIpdf
  • BAB IIIpdf
  • BAB IVpdf
  • BAB Vpdf
  • BAB VIpdf
  • BAB VIIpdf
  • Daftar Pustakapdf
Page 5: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI

v

ABSTRAK

Kabupaten Malang merupakan salah satu kabupaten di Jawa Timur yang memiliki tingkat produksi pertanian yang cukup tinggi dimana hampir disetiap kecamatanya memiliki lahan pertanian Permasalahannya adalah pada saat curah hujan yang tinggi tidak sedikit petani yang mengalami gagal panen Curah hujan adalah salah satu dari beberapa faktor yang mempengaruhi perubahan iklim sehingga sangat menentukan hasil panen yang diperoleh Permasalahan gagal panen ini dapat diatasi dengan melakukan peramalan curah hujan dengan adanya peramalan curah hujan petani dapat menentukan waktu pola tanam yang sesuai sehingga dapat mengantisipasi terjadinya gagal panen Pada penelitian ini peramalan curah hujan dalam dasarian berdasarkan beberapa faktor yaitu suhu kelembaban dan kecepatan angin Metode yang digunakan untuk peramalan curah hujan dasarian adalah High Order Fuzzy Time Series Multi factors Pada metode ini pembentukan subinterval dilakukan dengan menggunakan fuzzy C-means Dalam menghitung kesalahan hasil peramalan menggunakan Mean Square Error (MSE) Berdasarkan hasil pengujian yang dilakukan semakin kecil threshold serta semakin besar data training dan order maka nilai kesalahan yang diperoleh semakin rendah Hasil peramalan curah hujan dasarian untuk peramalan satu tahun kedepan menggunakan metode ini mendapatkan hasil MSE terbaik sebesar 539698

Kata kunci curah hujan fuzzy C-means fuzzy time series peramalan

vi

ABSTRACT

Malang Regency is one of the regencies in East Java which has a high level of agricultural production in almost every district has agricultural land The problem is when high rainfall is not a few farmers who experienced crop failure Rainfall is one of several factors that affect climate change so it is very important to determine the yields obtained The problem of this harvest failure can be overcome by forecasting rainfall with rainfall forecasting farmers can determine the time of the appropriate cropping patterns so as to anticipate the occurrence of crop failure On the research of forecasting rainfall in dasarian based on several factors namely temperature humidity and wind speed The methods used for forecasting rainfall dasarian is a High-Order Fuzzy Time Series Multi factors In this method the formation of subinterval using fuzzy C-means In calculating the error of forecasting result using Mean Square Error (MSE) Based on the results of tests conducted the smaller threshold and the greater data training as well order the value error is obtained increasingly low The result of forecasting dasarian rainfall for forecasting one year ahead using this method get the best MSE result of 539698 Keywords rain fall fuzzy C-means fuzzy time series forecasting

vii

DAFTAR ISI

PENGESAHAN ii

PERNYATAAN ORISINALITAS iii

KATA PENGANTAR iv

ABSTRAK v

ABSTRACT vi

DAFTAR ISI vii

DAFTAR TABEL xi

DAFTAR GAMBAR xiii

DAFTAR KODE PROGRAM xv

DAFTAR LAMPIRAN xvi

BAB 1 PENDAHULUAN 1

11 Latar belakang 1

12 Rumusan masalah 2

13 Tujuan 3

14 Manfaat 3

15 Batasan masalah 3

16 Sistematika pembahasan 3

BAB 2 LANDASAN KEPUSTAKAAN 5

21 Kajian Pustaka 5

22 Dasar Teori 7

221 Peramalan 8

222 Curah hujan 8

223 Data time series 9

224 Logika Fuzzy 10

225 Metode Fuzzy C-means 13

226 Metode Peramalan dengan Fuzzy Time Series 15

227 Metode High Order Fuzzy Time Series Multi Factors 17

228 Perhitungan keakuratan metode peramalan 20

BAB 3 METODOLOGI 22

31 Studi Literatur 22

viii

32 Pengumpulan Data 23

33 Perancangan 23

34 Implementasi 23

35 Pengujian dan Analisis 23

36 Kesimpulan dan Saran 24

BAB 4 PERANCANGAN 25

41 Perancangan Proses 25

411 Proses perhitungan Universe of Discourse 26

4111 Proses perhitungan Mean 28

4112 Proses perhitungan standar deviasi 29

4113 Proses perhitungan nilai Dmin dan Dmax 30

412 Proses perhitungan jumlah cluster 31

413 Proses perhitungan pusat cluster 32

414 Proses pembentukan subinterval dan Fuzzy set 37

415 Proses Fuzzifikasi 38

416 Proses pembentukan Fuzzy Logical Relationship 41

417 Proses Defuzzifikasi 43

42 Perhitungan Manual 46

421 Perhitungan Universe of Discourse (U) 46

422 Perhitungan jumlah cluster (k) 48

423 Perhitungan pusat cluster dan subinterval 49

4231 Penentuan pusat cluster 49

4232 Perhitungan batas subinterval 55

424 Pembentukan Fuzzy Set 56

425 Fuzzifikasi 56

426 Pembentukan Fuzzy Logical Relationship (FLR) 58

427 Defuzzifikasi 58

43 Perancangan antarmuka 60

431 Halaman input 60

432 Halaman tampil data 61

433 Halaman proses 62

434 Halaman hasil 63

ix

435 Halaman perhitungan error 64

44 Perancangan pengujian 64

441 Perancangan pengaruh order terhadap nilai MSE 64

442 Perancangan pengaruh threshold terhadap nilai MSE 65

443 Perancangan pengaruh jumlah data training terhadap nilai MSE 65

444 Perancangan validasi sistem 65

BAB 5 IMPLEMENTASI 67

51 Spesifikasi Sistem 67

511 Spesifikasi Perangkat Keras 67

512 Spesifikasi Perangkat Lunak 67

52 Implementasi Algoritma 67

521 Implementasi Proses Universe of Discourse 68

5211 Implementasi proses mean 68

5212 Implementasi proses standar deviasi 68

5213 Implementasi proses Dmin dan Dmax 69

522 Implementasi Proses Jumlah Cluster 69

523 Implementasi Proses Pusat Cluster 70

524 Implementasi Proses Pembentukan Subinterval dan Fuzzy Set 72

525 Implementasi proses fuzzifikasi 74

526 Implementasi Pembentukan Fuzzy Logical Relationship 75

527 Implementasi Proses Defuzzifikasi 77

53 Implementasi Antarmuka 79

531 Implementasi antarmuka halaman input 79

532 Implementasi antarmuka halaman tampil data 80

533 Implementasi antarmuka halaman proses 80

534 Implementasi antarmuka halaman hasil 82

535 Implementasi antarmuka halaman perhitungan error 82

BAB 6 PENGUJIAN DAN ANALISIS 83

61 Sistematika Pengujian 83

62 Hasil dan Analisis Pembahasan 83

621 Pengujian pengaruh order terhadap nilai MSE 83

x

622 Pengujian pengaruh threshold terhadap nilai MSE 85

623 Pengujian pengaruh jumlah data training terhadap nilai MSE 86

624 Pengujian validasi sistem 88

BAB 7 PENUTUP 90

71 Kesimpulan 90

72 Saran 91

DAFTAR PUSTAKA 92

LAMPIRAN 95

Lampiran 1 Data Sampel 95

xi

DAFTAR TABEL

Tabel 21 Kajian Pustaka 5

Tabel 22 Fuzzy Logic Relationship 19

Tabel 23 Peramalan fuzzy set 20

Tabel 41 Data Sampel Perhitungan Manual 46

Tabel 42 Hasil kuadrat dari selisih data ke-i dan mean 47

Tabel 43 Nilai minimum nilai maksimum dan standar deviasi 47

Tabel 44 Hasil Universe of Discourse 48

Tabel 45 Nilai absolut selisih data hari ke-t dengan hari sebelumnya 48

Tabel 46 Hasil jumlah cluster data 49

Tabel 47 Matriks partisi awal pada cluster data A 50

Tabel 48 Derajat keanggotaan matriks partisi data A 51

Tabel 49 Perhitungan pusat cluster data A 52

Tabel 410 Fungsi objektif data A 53

Tabel 411 Perbaikan matriks partisi 54

Tabel 412 Hasil perbaikan matriks partisi 54

Tabel 413 Hasil pusat cluster 55

Tabel 414 Batas subinterval masing ndash masing atribut data 55

Tabel 415 Hasil derajat keanggotaan dan fuzzy set data A 57

Tabel 416 Hasil fuzzifikasi semua data attribut 57

Tabel 417 Hasil pembentukan FLR data training 58

Tabel 418 Hasil pembentukan FLR data testing 58

Tabel 419 Frekuensi FLR yang cocok dengan data testing 59

Tabel 420 Perbandingan data aktual dan hasil peramalan 60

Tabel 421 Rancangan pengujian order terhadap nilai MSE 64

Tabel 422 Rancangan pengujian threshold terhadap nilai MSE 65

Tabel 423 Rancangan pengujian jumlah data training terhadap nilai MSE 65

Tabel 424 Rancangan pengujian validasi sistem 66

Tabel 51 Spesifikasi Perangkat Keras 67

Tabel 52 Spesifikasi Perangkat Lunak 67

Tabel 61 Hasil pengujian order terhadap nilai MSE 83

xii

Tabel 62 Hasil pengujian threshold terhadap nilai MSE 85

Tabel 63 Hasil pengujian jumlah data training terhadap nilai MSE 87

Tabel 64 Hasil pengujian validasi sistem 88

xiii

DAFTAR GAMBAR

Gambar 21 Representasi linear naik 11

Gambar 22 Representasi linear turun 12

Gambar 23 Representasi kurva segitiga 12

Gambar 31 Diagram blok metodologi penelitian 22

Gambar 41 Diagram alir metode penelitian yang digunakan (bagian 1) 25

Gambar 42 Diagram alir metode penelitian yang digunakan (bagian 2) 26

Gambar 43 Diagram alir proses perhitungan Universe of Discourse 27

Gambar 44 Diagram alir proses perhitungan mean 28

Gambar 45 Diagram alir proses perhitungan standar deviasi 29

Gambar 46 Diagram alir perhitungan nilai Min dan Max 30

Gambar 47 Diagram alir proses perhitungan jumlah cluster 31

Gambar 48 Diagram alir proses perhitungan pusat cluster (bagian 1) 32

Gambar 49 Diagram alir proses perhitungan pusat cluster (bagian 2) 33

Gambar 410 Diagram alir proses perhitungan pusat cluster (bagian 3) 34

Gambar 411 Diagram alir proses perhitungan pusat cluster (bagian 4) 35

Gambar 412 Diagram alir proses perhitungan pusat cluster (bagian 5) 36

Gambar 413 Diagram alir pembentukan subinterval dan fuzzy set (bagian 1) 37

Gambar 414 Diagram alir pembentukan subinterval dan fuzzy set (bagian 2) 38

Gambar 415 Diagram alir proses fuzzifikasi (bagian 1) 39

Gambar 416 Diagram alir proses fuzzifikasi (bagian 2) 40

Gambar 417 Diagram alir proses Pembentukan FLR (bagian 1) 41

Gambar 418 Diagram alir proses Pembentukan FLR (bagian 2) 42

Gambar 419 Diagram alir proses Pembentukan FLR (bagian 3) 43

Gambar 420 Diagram alir proses defuzzifikasi (bagian 1) 44

Gambar 421 Diagram alir proses defuzzifikasi (bagian 2) 45

Gambar 422 Grafik fuzzy set data A 56

Gambar 423 Rancangan antarmuka halaman input 61

Gambar 424 Rancangan antarmuka halaman tampil data 61

Gambar 425 Rancangan antarmuka halaman proses clustering 62

Gambar 426 Rancangan antarmuka proses fuzzifikasi 62

xiv

Gambar 427 Rancangan antarmuka proses fuzzy logical relationship 63

Gambar 428 Rancangan antarmuka halaman hasil peramalan 63

Gambar 429 Rancangan antarmuka halaman perhitungan error 64

Gambar 51 Implementasi antarmuka halaman input 79

Gambar 52 Implementasi antarmuka halaman tampil data 80

Gambar 53 Implementasi antarmuka halaman proses clustering 80

Gambar 54 Implementasi antarmuka halaman proses fuzzification 81

Gambar 55 Implementasi halaman antarmuka proses FLR 81

Gambar 56 Implementasi halaman antarmuka hasil 82

Gambar 57 Implementasi halaman antarmuka perhitungan error 82

Gambar 61 Grafik hasil pengujian order terhadap nilai MSE 84

Gambar 62 Grafik hasil pengujian threshold terhadap nilai MSE 86

Gambar 63 Grafik hasil pengujian data training terhadap nilai MSE 87

Gambar 64 Grafik hasil pengujian validasi sistem 88

Gambar 65 Grafik perbandingan data aktual dengan hasil peramalan 89

xv

DAFTAR KODE PROGRAM

Kode Program 51 Implementasi proses Universe of Discourse 68

Kode Program 52 Implementasi proses mean 68

Kode Program 53 Implementasi proses standar deviasi 69

Kode Program 54 Implementasi proses Dmin dan Dmax 69

Kode Program 55 Implementasi proses jumlah cluster 70

Kode Program 56 Implementasi proses pusat cluster 72

Kode Program 57 Implementasi pembentukan subinterval dan fuzzy set 74

Kode Program 58 Implementasi proses fuzzifikasi 75

Kode Program 59 Implementasi pembentukan FLR 77

Kode Program 510 Implementasi proses defuzzifikasi 79

xvi

DAFTAR LAMPIRAN

Lampiran 1 Tabel Data Sampel 95

1

BAB 1 PENDAHULUAN

11 Latar belakang

Kabupaten Malang merupakan salah satu kabupaten di Jawa Timur yang terkenal akan potensi alam yang dimiliki (BPS Kabupaten Malang 2016) Dalam hal ini terkenal akan potensi alamnya karena kabupaten Malang memiliki tingkat produksi di sektor pertanian yang cukup tinggi dimana hampir seluruh kecamatan di kabupaten Malang memiliki lahan pertaniaaan (BPS Jatim 2015) Permasalahan yang terjadi pada sektor pertanian yaitu terjadinya gagal panen apabila memasuki musim penghujan dengan curah hujan yang tinggi yaitu diatas 200 mm per bulan serta apabila memasuki musim kemarau dengan curah hujan yang rendah yaitu dibawah 100 mm per bulan (BMKG Staklim Karangploso Malang 2015) Dalam mengatasi hal tersebut upaya yang dilakukan petani selama ini hanya melakukan tindakan seperti melakukan panen secara dini Upaya ini dianggap petani cukup efektif dalam mengurangi besarnya kerugian gagal panen akan tetapi sebaiknya yang dilakukan adalah melakukan suatu tindakan agar kerugian yang dialami petani tidak terjadi lagi (Ardiyanto 2016)

Salah satu contoh tindakan yang dapat dilakukan adalah membuat Kalender Tanam (KATAM) KATAM dapat digunakan petani sebagai alat bantu atau pedoman dalam menentukan awal musim tanam terbaik seperti yang telah dilakukan oleh Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian Dalam pembuatan KATAM Balitbang menggunakan data peramalan curah hujan dari Badan Meteorologi Klimatologi dan Geofisika (BMKG) Akan tetapi BMKG mengakui bahwa prakiraan cuacanya saat ini memang masih kurang akurat dan masih kalah dengan prakiraan cuaca di Amerika Serikat (Yunanto 2014) Pentingnya akan prakiraan cuaca terbukti adanya beberapa penelitian sebelumnya yaitu penelitian prakiraan cuaca dengan input faktor yang mempengaruhi cuaca yang berupa data time series menggunakan metode Adaptive Neuro Fuzzy Inference System (ANFIS) (Dewi 2014) dan penelitian mengenai prediksi cuaca menggunakan metode Backpropagation Neural Network yang terbukti memiliki nilai akurasi yang baik dalam prediksi cuaca (Dewi 2013)

Teknik atau metode peramalan curah hujan yang sering digunakan BMKG adalah metode Autoregressive Integrated Moving Average (ARIMA) ANFIS dan Wavelet (Kurniawan 2007) Namun dalam penerapannya gabungan dari ketiga metode tersebut masih kurang memuaskan yaitu tingkat akurasinya hanya mencapai 60 - 70 Menurut BMKG kurangnya tingkat akurasinya ini disebabkan oleh keadaan pola atmosfer di Indonesia yang selalu berubah ndash ubah dan kurang menentu

Selain metode yang digunakan oleh BMKG adapun penelitian sebelumnya yang meramalkan curah hujan yaitu penelitian menggunakan metode Fuzzy Time Series Chen dengan studi kasus curah hujan di Samarinda dalam penelitian ini menggunakan data time series curah hujan bulanan dengan kesimpulan pengunaan data yang sedikit memiliki tingkat akurasi lebih tinggi dibandingkan

2

menggunakan data yang banyak yaitu menghasilkan nilai RMSE terkecil 7368 dan MAE terkecil 539 (Fauziah et al 2016)

Selain peramalan yang hanya menggunakan data time series dari data yang akan diramalkan juga terdapat penelitian sebelumnya yang menggunakan faktor - faktor yang mempengaruhi dari data yang akan diramalkan Salah satunya yaitu penelitian dengan menggunakan metode Clusterwise Linear Regression (CLR) Penelitian ini menggunakan data bulanan pada delapan stasiun cuaca di kota Victoria Australia Peramalan curah hujan pada penelitian ini menggunakan faktor yang mempengaruhi yaitu suhu maksimum suhu minimum penguapan tekanan uap dan radiasi matahari Hasil penelitian ini terbukti dapat melakukan peramalan curah hujan dengan hasil yang cukup baik yaitu dengan nilai RMSE terkecil 197 dan MAE terkecil 129 (Bagirov et al 2017)

Berdasarkan paparan yang telah dijelaskan penulis memiliki ide untuk melakukan penelitian dengan judul ldquoPeramalan Curah Hujan dengan Metode High Order Fuzzy Time Series Multi Factorsrdquo Pada metode ini dilakukan klasterisasi data untuk membangun subinterval dengan menggunakan metode fuzzy C-means (LinYang 2009) Dari proses hasil klasterisasi akan digunakan untuk membagi data semesta yang selanjutnya menghasilkan fuzzy set atau himpunan fuzzy yang menggambarkan fitur data (LinYang 2009) Keunggulan dari metode fuzzy time series dengan multi faktor yaitu dengan berdasarkan pada penelitian ndash penelitian sebelumnya yang menggunakan metode tersebut yaitu penelitian prediksi harga emas dengan beberapa faktor yang mempengaruhi menggunakan metode Multi-factors High order Fuzzy Time Series Model dari hasil penelitian ini dengan menggunakan metode evaluasi Mean Absolute Percentage Error (MAPE) dapat diperoleh nilai error terkecil sebesar 0443 (Wardhani et al 2015) dan penelitian peramalan Indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen menggunakan metode Fuzzy Time Series Model dari penilitian ini menunjukan tingkat Average Relative Error (ARError) sebesar 176 untuk bursa efek harian Shanghai sedangkan untuk bursa efek harian Shenzhen didapatkan ARError sebesar 187 (Lin Yang 2009) terbukti menghasilkan hasil peramalan dengan tingkat akurasi yang cukup tinggi Penggunaan metode ini juga sesuai dengan curah hujan yang dipengaruhi oleh beberapa faktor yaitu kelembaban udara kecepatan angin dan suhu (Pradipta 2013) Penelitian ini diharapkan dapat memberikan hasil peramalan curah hujan yang lebih akurat dan memiliki nilai kesalahan yang lebih sedikit

12 Rumusan masalah

Berdasarkan latar belakang yang telah dipaparkan dibuatlah beberapa rumusan masalah sebagai berikut

1 Bagaimana mengimplementasikan Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

2 Berapa tingkat kesalahan dari hasil implementasi Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

3

13 Tujuan

Adapun maksud dan tujuan dari penelitian ini adalah sebagai berikut

1 Mengimplementasikan Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

2 Mengetahui tingkat kesalahan dari hasil implementasi Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

14 Manfaat

Adapun manfaat dari penelitian ini adalah sebagai berikut

1 Bagi Badan Meteorologi dan Geofisika (BMKG) untuk dapat memberikan peramalan curah hujan yang lebih akurat dari sebelumnya

2 Bagi Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian untuk dapat membuat Kalender tanam (KATAM) dengan menggunakan data ramalan curah hujan yang lebih akurat

3 Bagi penduduk kabupaten Malang khususnya yang bekerja pada sektor pertanian agar dapat mengoptimalkan hasil produksi dengan menyesuaikan penanaman sesuai dengan Kalender Tanam (KATAM) yang telah dibuat Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian

15 Batasan masalah

Penelitian ini dibatasi oleh hal ndash hal sebagai berikut

1 Data curah hujan kelembaban udara kecepatan angin dan suhu udara yang digunakan pada penelitian ini merupakan data berdasarkan dasarian dan hanya mencakup wilayah kabupaten Malang dan data diperoleh dari BMKG Karangkates Kabupaten Malang dengan data time series yang digunakan pada penelitian ini yaitu dari tahun 2011 - 2016

2 Model peramalan yang diterapkan adalah semua nilai yang membentuk pola dataset training dan testing diketahui nilainya

3 Perhitungan nilai tingkat kesalahan permalan menggunakan metode Mean Square Error (MSE)

16 Sistematika pembahasan

Sistematika pembahasan penelitian ditunjukkan untuk memberikan gambaran dan uraian dari penyusunan proposal yang meliputi beberapa bab sebagai berikut

BAB 1 PENDAHULUAN

Pada bab ini berisi latar belakang rumusan masalah tujuan penelitian manfaat penelitian batasan masalah sistematika pembahasan dan rencana kerja atau jadwal penelitian

4

BAB 2 LANDASAN KEPUSTAKAAN

Pada bab ini berisi tentang kajian pustaka dan dasar teori yang menjadi dasar dalam melakukan implementasi peramalan curah hujan dengan Metode High Order Fuzzy Time Series Multi Factors

BAB 3 METODOLOGI

Pada bab ini diuraikan tentang tahapan atau langkah ndash langkah yang dilakukan dalam proses penelitian tentang peramalan curah hujan dengan metode High Order Fuzzy Time Series Multi Factors Langkah ndash langkah tersebut terdiri dari tahapan penelitian teknik pengumpulan data algoritma yang digunakan lingkungan pengujian dan pengujian algoritma yang digunakan serta pengambilan kesimpulan

BAB 4 PERANCANGAN

Pada bab ini berisi tentang perancangan proses algoritma perhitungan manual metode High Order Fuzzy Time Series Multi Factors perancangan antar muka dan perancangan pengujian

BAB 5 IMPLEMENTASI

Pada bab ini berisi tentang penjelasan peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors bagaimana user interface dan source code dalam pengimplementasian metode ini

BAB 6 PENGUJIAN DAN ANALISIS

Pada bab ini berisi tentang penjelasan proses dan hasil pengujian dari implementasi metode High Order Fuzzy Time Series Multi Factors dalam peramalan curah hujan serta analisis dari pengujian tersebut

BAB 7 PENUTUP

Pada bab ini berisi kesimpulan yang diperoleh dari hasil pengujian dan saran ndash saran untuk pengembangan penelitian selan

5

BAB 2 LANDASAN KEPUSTAKAAN

Bab ini berisi mengenai kajian pustaka dan dasar ndash dasar teori yang akan dibahas serta digunakan untuk menunjang topik ndash topik pembahasan Pada kajian akan dibahas perbedaan antara penelitian yang telah ada dengan penelitian yang diusulkan oleh penulis Sedangkan pada dasar teori akan dibahas mengenai teori ndash teori yang digunakan pada penelitian yang diusulkan

21 Kajian Pustaka

Pada kajian pustaka disini berisi mengenai perbandingan antara penelitian yang diusulkan oleh penulis dengan penelitian sebelumnya yang relevan Perbandingan tersebut dapat dilihat padat Tabel 21

Tabel 21 Kajian Pustaka

No Judul Objek dan Input Penelitian Metode

1 Penerapan Metode Automatic Clustering dan High Order Fuzzy Time Series Pada Peramalan Curah Hujan (Irsyad Metarice 2013)

Objek Curah hujan

Input Penelitian

Data aktual curah hujan

Metode High Order Fuzzy Time Series dan Automatic Clustering

Nilai evalusi

Mean Absolute Percentage Error (MAPE)

2 Peramalan Menggunakan Fuzzy Time Series Chen (Studi Kasus Curah Hujan Kota Samarinda) (Fauziah et al 2016)

Objek Curah Hujan

Input Penelitian

Data aktual curah hujan

Metode Fuzzy Time Series Chen

Nilai evaluasi

Mean Absolute Error (MAE) Root Mean of Square Error (RMSE)

3 Implementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emas (Wardhani et al 2015)

Objek Harga Emas

Input Penelitian

Kurs Dollar hari sebelumnya

Kurs Euro hari sebelumnya

Harga Emas London hari sebelumnya

Harga Emas hari sebelumnya

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

Nilai evalusi

Mean Absolute Percentage Error (MAPE)

4 Stock Markets Forecasting Based on Fuzzy Time Series Model (Lin Yang 2009)

Objek Indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

6

Input Penelitian

Historical return

Historical turnover volume

Rata ndash rata selisih pergerakan harga selama lima hari

Selisih antara kekuatan bull dan bear

Indeks komposit bursa efek harian Shanghai sebelumnya

Indeks komposit bursa efek harian Shenzhen

Nilai evalusi

Average Relative Error (ARError)

5 Peramalan Curah Hujan Menggunakan Metode High Order Fuzzy Time Series Multi Factors

Objek Curah hujan

Input Penelitian

Suhu

Kelembaban

Kecepatan angin

Curah hujan

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

Nilai evalusi

Mean Square Error (MSE)

Sumber (Irsyad Metarice 2013) (Fauziah et al 2016) (Wardhani et al 2015) dan (Lin Yang 2009)

Pada penelitian yang pertama yaitu penelitian yang dilakukan oleh Muhammad Irsyad dan Sonya Metarice pada tahun 2013 dengan objek penelitian yang diramalkan adalah curah hujan Inputan yang digunakan pada penelitian ini merupakan data aktual curah hujan bulanan Metode yang digunakan penelitian ini adalah Automatic Clustering dan High Order Fuzzy Time Series Pada penelitian ini metode Automatic Clustering digunakan untuk membangun interval dan High Order Fuzzy Time Series untuk melakukan peramalan curah hujan Kesimpulan yang diperoleh dari penelitian ini yaitu metode ini dapat diterapkan untuk permalan curah hujan dan hasil evaluasi menggunakan metode Mean Absolute Percentage Error(MAPE) dari beberapa bercobaan dapat diperoleh nilai kesalahan sebesar 437 Berdasarkan dari hasil nilai kesalahan tersebut maka tingkat kesalahan data pada permalan ini termasuk rendah

Pada tahun 2016 Normalita Fauziah Sri Wahyuningsih dan Yuki Novia Nasution melakukan penelitian dengan objek penelitian curah hujan di kota Samarinda Inputan yang digunakan pada penelitian berupa data aktual bulanan curah hujan di kota Samarinda Metode yang digunakan pada penelitian ini adalah Fuzzy Time Series Chen dengan dalam pembentukkan panjang interval berbasis rata ndash rata atau average based Pada penelitian ini permalan curah hujan terbaik yaitu dengan menggunkan data sebanyak 29 data dengan menghasilkan tingkat nilai kesalahan terkecil yaitu dengan metode Root Mean of Squared Error (RMSE) sebesar 7368 dan metode Mean Absolute Error (MAE) sebesar 539 Pada

(Lanjutan) Tabel 21 Kajian Pustaka

7

penelitian ini disimpulkan bahwa data sebanyak 29 data memiliki tingkat kesalahan lebih kecil dibandingkan dengan menggunakan data dengan jumlah sampel yang lebih banyak

Pada penelitian selanjutnya adalah penelitian yang dilakukan oleh Dessy Kusuma Wardhani Dian Eka Ratnawati dan Budi Darma Setiawan pada tahun 2015 dengan objek penelitian yang diramalkan adalah harga emas harian Inputan yang digunakan pada penelitian ini data aktual harian harga emas indonesia harga emas london kurs dollar ke rupiah dan kurs euro ke rupiah Metode yang digunakan pada penelitian pada pembentukkan sub interval menggunakan metode fuzzy C-means dan untuk peramalan menggunakan metode High Order Fuzzy Time Series Model Hasil pada penelitian ini berdasarkan menggunakan metode evaluasi Mean Absolute Percentage Error (MAPE) dapat diperoleh nilai error terkecil sebesar 0443 karena nilai error lebih kecil dari 10 menunjukkan bahwa metode ini sangat baik digunakan untuk peramalan harga emas

Pada tahun 2009 Yupei Lin dan Yiwei Yang melakukan penelitian dengan objek yang diramalkan adalah indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen Data input penelitian ini meliputi historical return historical turnover volume dan rata ndash rata selisih pergerakan harga selama lima hari serta selisih antara kekuatan bull dan bear Dalam penelitian ini pembentukan subinterval yang berfungsi dalam pendefinisian himpunan fuzzy dilakukan dengan menggunakan klasterisasi fuzzy C-means Hasil dari penilitian ini menunjukan tingkat Average Relative Error (ARError) sebesar 176 untuk bursa efek harian Shanghai sedangkan untuk bursa efek harian Shenzhen didapatkan ARError sebesar 187 Dalam hal ini membuktikan bahwa penelitian dapat menghasilkan peramalan yang cukup baik karena memiliki nilai ARError kurang dari 5

Pada penelitian ini membahas tentang peramalan curah hujan dasarian menggunakan metode High Order Fuzzy Time Series Multi Factors Terdapat empat inputan yang juga dijadikan sebagai variabel dalam penelitian ini yaitu kelembaban udara kecepatan angin suhu udara dan curah hujan Pembentukan subinterval yang berfungsi dalam pendefinisian fuzzy set dilakukan dengan menggunakan klasterisasi fuzzy C-means Penelitian ini menggunakan high order fuzzy logic relationship yaitu membentuk fuzzy logic relationship berdasarkan data dalam kurun waktu beberapa dasarian sebelum dasarian yang akan diramal Pada penelitian ini dalam melakukan perhitungan nilai error untuk mendapatkan hasil evaluasi menggunakan metode Mean Square Error (MSE)

22 Dasar Teori

Pada dasar teori disini dijelaskan tentang metode ndash metode yang digunakan pada penelitian ini yang meliputi peramalan curah hujan data time series logika fuzzy fuzzy C-means metode peramalan dengan Fuzzy Time Series High Order Fuzzy Time Series Multi Factors dan metode perhitungan keakuratan metode peramalan

8

221 Peramalan

Terdapat beberapa definisi tentang peramalan menurut Kamus Besar Bahasa Indonesia (KBBI) yaitu

a Peramalan merupakan prediksi rencana atau estimasi kejadian masa depan yang tidak pasti (KBBI)

b Peramalan adalah sebagai penggunaan teknik ndash teknik statistik dalam bentuk gambaran masa depan berdasarkan pengolahan angka ndash angka yang terjadi pada masa lalu (Buffa et al1996)

c Peramalan adalah bagian internal dari pengambilan keputusan manajemen (Makridakis et al1999)

Berdasarkan beberapa definisi diatas dapat disimpulkan bahwa peramalan merupakan tindakan apa yang akan terjadi di masa mendatang peramalan diperlukan untuk mengambil sebuah keputusan Dalam pengambilan keputusan harus diambil dari pertimbangan ndash pertimbangan yang ada Oleh karena itu peramalan sangat penting hubungannya dengan pengambilan keputusan sehingga kejadian di masa yang akan datang dapat dipersiapkan tindakan apa yang perlu dilakukan

222 Curah hujan

Curah hujan merupakan salah satu faktor penting yang mempengaruhi perubahan iklim suatu wilayah (Mirawati et al 2013) Salah satu contoh kasus nyata yaitu terjadinya perubahan iklim secara tiba ndash tiba atau bisa disebut dengan cuaca ekstrim Curah hujan dapat dijelaskan dengan air hujan yang terkumpul pada suatu wadah datar dimana air hujan tersebut tidak meresap tidak menguap dan tidak mengalir sehingga dapat diukur ketinggiannya Sebagai contoh curah hujan 1 (satu) milimeter dapat dijelaskan dalam suatu wadah datar dengan luas satu meter persegi tertampung air dengan ketinggian sekitar satu milimeter atau tertampung air sebanyak satu liter Metode dalam mendapatkan data curah hujan adalah dengan menggunakan penakar hujan yang kemudian diukur dengan satuan milimeter (mm) (User2015) Intensitas curah hujan dapat dikategorikan ringan jika dibawah 20mm dalam 24 jam dikategorikan lebat jika di atas 50mm dan dikategorikan sedang jika selang 20mm hingga 50mm (User 2015)

Curah hujan mempengaruhi beberapa sektor diantarannya sektor komunikasi dimana penggunaan frekuensi diatas 10 GHz dapat terkena redaman hujan (Mauludiyanto et al 2009) Akan tetapi curah hujan paling berpengaruh terhadap sektor pertanian Hal ini terbukti bahwa sebagian besar terjadinya penurunan produktifitas dan gagal panen di sektor pertanian adalah terjadinya curah hujan yang tinggi

Tinggi dan rendahnya curah hujan dipengaruhi oleh beberapa faktor yaitu kelembaban udara temperatur dan kecepatan angin Pada tahun 2013 Nur Suri Pradipta Pasukat Sembiring dan Pengarapen Bangun melakukan penelitian mengenai pengaruh curah hujan di kota Medan (Pradipta et al 2013)

9

Berdasarkan penelitian tersebut faktor yang mempengaruhi dan digunakan dalam peramalan curah hujan yaitu

1 Kelembaban udara

Kelembaban udara adalah banyaknya kandungan uap air di atmosfer Udara atmosfer adalah campuran dari udara kering dan uap air selain itu kelembaban udara merupakan komponen cuaca yang mempunyai peranan sangat penting bagi stabilitas kehidupan organisme di bumi maupun unsur-unsur cuaca yang lain (Forest 2015) Kelembaban udara berpengaruh terhadap curah hujan Hal ini didukung penelitian oleh (Sipayung et al 2013) yang menyatakan Kelembaban udara berpengaruh positif terhadap curah hujan

2 Kecepatan angin

Kecepatan angin merupakan kecepatan udara yang bergerak secara horizontal pada ketinggian 2 meter diatas tanah Dalam hal ini faktor yang menentukan kecepatan angin adalah perbedaan tekanan udara antara asal dan tujuan angin Kecepatan angin berpengaruh positif terhadap curah hujan artinya jika kecepatan angin tinggi maka curah hujan akan tinggi (Pradipta et al2013)

3 Suhu udara

Suhu udara merupakan ukuran energi kinetik rata ndash rata dari pergerakan molekul ndash molekul Suhu udara berpengaruh negatif terhadap curah hujan artinya jika suhu udara tinggi maka curah hujan akan berkurang (Pradipta et al2013)

223 Data time series

Data time series adalah data statistik yang telah dihimpun dari masa lampau hingga sekarang dan dapat digunakan sebagai acuan dalam melakukan peramalan terhadap data yang akan datang (Wiyanti amp Pulungan 2012) Data time series juga dapat didefinisikan sebagai sebuah kegiatan mengamati data statistik dimana terdapat korelasi (dependensi) antar datanya sehingga data yang sekarang sedang diamati memiliki ketergantungan dengan satu atau lebih data pengamatan sebelumnya (Mirawati et al 2013)

Terdapat dua teknik prediksi yang menggunakan basis data time series yaitu teknik model matematika statistik dan berdasarkan kecerdasan buatan (Wiyanti amp Pulungan 2012) Analisa time series sendiri memiliki beberapa peruntukan salah satunya digunakan dalam melakukan peramalan untuk masa yang akan datang Dalam penggunaan data time series merupakan salah satu proses peramalan kuantitatif dimana berdasar data kuantitatif masa lampau yang direpresentasikan dalam bentuk angka atau nilai (Mirawati et al 2013)

10

224 Logika Fuzzy

Pada tahun 1965 Prof Lotfi A Zadeh memperkenalkan teori logika fuzzy Logika fuzzy merupakan suatu komponen soft computing dan juga suatu cara yang tepat untuk memetakan suatu ruang input ke dalam ruang output Antara ruang input dan ruang output terdapat black box yang berfungsi memetakan input ke ruang output yang sesuai Dasar logika fuzzy adalah teori fuzzy set Pada teori fuzzy set peranan derajat keanggotaan sebagai penentu keberadaan elemen dalam suatu himpunan sangatlah penting Oleh karena itu derajat keanggotaan menjadi ciri utama dalam penalaran dengan logika fuzzy Logika fuzzy bekerja dengan menggunakan derajat keanggotan dari sebuah nilai yang kemudian digunakan untuk menentukan hasil yang ingin dihasilkan berdasarkan atas kriteria yang telah ditentukan (Kusumadewi 2003)

Berikut adalah beberapa alasan digunakannya logika fuzzy (Kusumadewi 2002)

1 Logika fuzzy sangat fleksibel

2 Konsep logika fuzzy mudah dimengerti dan dipahami

3 Logika fuzzy memiliki toleransi terhadap data ndash data yang homogen dan data ndash data yang kurang tepat

4 Logika fuzzy didasari pada bahasa alami atau bahasa sehari - hari sehingga mudah dimengerti

5 Logika fuzzy dapat bekerjasama dengan teknik ndash teknik kendali secara konvensional

6 Logika fuzzy mampu membangun dan mengaplikasikan pengalaman ndash pengalaman para pakar secara langsung tanpa harus melalui tahap atau proses pelatihan

A Himpunan Fuzzy

Himpunan fuzzy atau fuzzy set merupakan perluasan himpunan tegas atau himpunan crisp jadi fungsi karakteristik mencakup bilangan real pada interval [01] Dalam definisi lain himpunan fuzzy adalah suatu himpunan yang mewakili suatu keadaan atau kondisi tertentu dalam suatu variabel fuzzy Keanggotaan fuzzy berbeda dengan probabilitas jika keanggotaan fuzzy pada setiap fungsi karakteristik memberikan suatu pendapat atau keputusan sedangkan probabilitas menunjukan seberapa besar nilai kebenaran dalam fungsi karakteristik tersebut Contohnya yaitu nilai keanggotaan suatu himpunan fuzzy umur muda 09 berarti nilai dalam himpunan tersebut memiliki kemungkinan 90 anggotanya berumur muda dan 10 diharapkan tidak muda Dalam himpunan fuzzy suatu bilangan bisa memiliki dua keanggotaan sekaligus Himpunan fuzzy memiliki dua attribut (Kusumadewi2003)

11

1 Linguistik merupakan penamaan suatu himpunan yang mewakili suatu keadaan atau kondisi tertentu dengan menggunakan bahasa alami misalnya muda parobaya tua

2 Numeris merupakan suatu nilai (angka) yang menunjukkan ukuran dari suatu

variabel seperti 402550 dan sebagainya

B Fungsi Keanggotaan

Fungsi keanggotaan adalah suatu kurva yang menunjukkan pemetaan titik ndash titik input data ke dalam derajat keanggotaannya yang memiliki subinterval antara 0 sampai 1 (Kusumadewi Purnomo 2004) Salah satu cara yang dapat digunakan untuk mendapatkan nilai keanggotaan adalah dengan melalui pendekatan fungsi Ada beberapa fungsi keanggotaa yang dapat digunakan

1 Fungsi representasi linear

Pada fungsi representasi linear pemetaan input ke derajat keanggotaannya digambarkan sebagai suatu garis lurus Bentuk ini paling sederhana dan menjadi pilihan yang baik untuk mendekati suatu konsep yang kurang jelas Keadaan linear himpunan fuzzy terdiri dari dua keadaan yaitu keadaan linear naik dan keadaan linear turun Pada keadaan linear naik kenaikan himpunan dimulai pada nilai domain yang memiliki nilai derajat keanggotaan nol bergerak ke kanan menuju ke nilai domain yang memiliki derajat keanggotaan yang lebih tinggi seperti yang ditunjukkan Gambar 21 Persamaan fungsi keanggotaan pada representasi linear naik ditunjukkan oleh Persamaan 21

Fungsi Keanggotaan

120583(119909) = 0

(119909 minus 119886)(119887 minus 119886)1

119909 le 119886 119886 le 119909 le 119887119909 ge 119887

(21)

b a 0

1

Gambar 21 Representasi linear naik

Sumber Kusumadewi (2002)

120583(119909)

12

Pada keadaan linear turun berbanding terbalik dengan keadaan linear naik Garis lurus dimulai dari nilai domain dengan derajat keanggotaan tertinggi pada sisi kiri kemudian bergerak menurun ke nilai domain yang memiliki derajat keanggotaan lebih rendah yang ditunjukkan Gambar 22 Persamaan fungsi keanggotaan pada representasi linear turun ditunjukkan oleh Persamaan 22

Fungsi Keanggotaan

120583(119909) = (119887 minus 119909)(119887 minus 119886)0

119886 le 119909 le 119887

119909 ge 119887 (22)

2 Fungsi representasi kurva segitiga

Representasi kurva segitiga pada dasarnya merupakan gabungan antara 2 garis linear yaitu linear naik dan linear turun Fungsi representasi kurva segitiga ditandai oleh adanya tiga parameter abc yang akan menentukan koordinat x dari tiga sudut seperti ditunjukkan pada Gambar 23 Persamaan fungsi keanggotaan pada representasi kurva segitiga ditunjukkan oleh Persamaan 23

b a 0

1

Sumber Kusumadewi (2002)

Gambar 22 Representasi linear turun

120583(119909)

c a 0

1

b

Sumber Kusumadewi (2002)

Gambar 23 Representasi kurva segitiga

120583(119909)

13

Fungsi Keanggotaan

120583(119909) =

0 (119909 minus 119886)(119887 minus 119886) (119887 minus 119909)(119888 minus 119887)

119909 le 119886 119886119905119886119906 119909 ge 119888

119886 le 119909 le 119887 119887 le 119909 le 119888

(23)

225 Metode Fuzzy C-means

Fuzzy C-means (FCM) pertama kali diperkenalkan oleh Dunn dan dikembangkan oleh Bezdek yang banyak digunakan dalam pengenalan pola Metode ini merupakan pengembangan dari metode non-hierarkhi K-Means Cluster selanjutnya dilakukan iterasi sampai mendapatkan keanggotaan kelompok tersebut (Klawon 2001)

FCM merupakan salah satu algoritma fuzzy clustering dan juga teknik klasterisasi dimana tiap data ditentukan oleh derajat keanggotaanya Tujuan penggunaan algoritma FCM yaitu untuk menemukan pusat cluster atau centroid dengan meminimumkan fungsi objektif (Bazdek 1984) Ouput dari FCM bukan merupakan fuzzy inference system melainkan deretan pusat cluster dan beberapa derajat keanggotaan untuk setiap titik data Hasil output ini dapat digunakan untuk membangun suatu fuzzy inference system Berikut adalah langkah ndash langkah dari FCM (Kusumadewi 2004)

1 Langkah pertama menentukan jumlah cluster (c ge 2) pembobot (infin gt 119908 gt1) (Bazdek 1984) maksimum iterasi (maxIter) error minimum yang diharapkan yaitu nilai positif yang sangat kecil (120585) fungsi objektif awal (P0 = 0) iterasi awal dideklarasikan 1

2 Langkah kedua memasukkan data X yang akan diklasterisasi berupa matriks berukuran m x n (m = jumlah sampel data n = attribut setiap data) Contoh Xij = data sampel ke-i (i = 1234m) attribu ke-j (j=1234n)

3 Langkah ketiga yaitu dengan membuat bilangan random microik i = 1234n dan k = 123c (n = jumlah sampel pada data c = jumlah cluster yang akan dibentuk) sebagai elemen ndash elemen matriks partisi awal Untuk bilangan penyusun matriks partisi awal dihitung dihitung jumlahnya setiap kolom yang ditunjukkan pada pada Persamaan 24 (Kusumadewi 2004)

119876119896 = sum 120583119894119896119888119896=1 (24)

Dimana

119876119896 = jumlah bilangan pada kolom k

120583119894119896 = bilangan random pada baris i kolom k

119888 = jumlah kolom

14

Selanjutnya untuk menghitung derajat keanggotaan awal dengan melakukan normalisasi pada matiks partisi pada normalisasi dilakukan menggunakan Persamaan 25 (Kusumadewi 2004)

120583119894119896 = 120583119894119896119876119896 (25)

4 Langkah keempat melakukan perhitungan cluster ke-k Vkj dengan k = 1234c dan j = 1234m Perhitungan pusat cluster ditunjukkan pada Persamaan 26 (Kusumadewi 2004)

119881119896119895 = sum ((120583119894119896)119908 times 119883119894119895)119899

119894=1

sum (120583119894119896)119908119899119894=1

(26)

Dimana

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

120583119894119896 = derajat keanggotaan pada data ke-i cluster ke-k

119883119894119895 = data sampel pada data ke-i attribut ke-j

119908 = pembobot

5 Langkah kelima melakukan perhitungan fungsi objektif pada iterasi ke-t P1 Perhitungan fungsi objektif ditunjukkan pada Persamaan 27 (Kusumadewi 2004)

119875119905 = sum sum ([sum (119883119894119895 minus 119881119896119895)119898119895=1

2](120583119894119896)119908)119888

119896=1119899119894=1 (27)

Dimana

119875119905 = fungsi objektif

119883119894119895 = data sampel ke-i atribut ke-j

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

6 Langkah keenam melakukan perhitungan perbaikan matriks partisi yang telah ditunjukkan Persamaan 28 (Kusumadewi 2004)

120583119894119896 = [sum (119883119894119895minus119881119896119895)119898

119895=12

]

minus1119908minus1

sum [sum (119883119894119895minus119881119896119895)119898119895=1

2]

minus1119908minus1119888

119896minus1

(28)

Dimana

119883119894119895 = data sampel ke-i atribut ke-j

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

119908 = pembobot

7 Langkah ketujuh yaitu melakukan pemerikasaan kondisi berhenti dengan kondisi sebagai berikut

a Jika (|119875119905 minus 119875119905minus1| lt 120585) atau ( t gt MaxIter) maka berhenti

b Jika tidak memenuhi t = t +1 ulangi mulai dari langkah ke-4

15

226 Metode Peramalan dengan Fuzzy Time Series

Pada tahun 1996 Chen memperkenalkan metode peramalan dengan menggunakan metode Fuzzy Time Series Metode Fuzzy Time Series memiliki perbedaan dengan metode peramalan time series biasa atau konvensional yaitu terdapat pada data yang digunakan untuk peramalan Fuzzy Time Series data yang digunakan adalah berupa fuzzy set atau himpunan fuzzy dari bilangan ndash bilangan real atas himpunan semesta yang ditentukan Jadi Fuzzy Time Series merupakan metode dengan menggunakan data berupa fuzzy set yang berasal dari bilangan real atas Universe of Discorse pada data aktual Universe of Discourse adalah himpunan semesta dari data penelitian

Berikut adalah langkah ndash langkah metode Fuzzy Time Series yang telah diperkenalkan oleh Chen terdapat enam langkah yaitu

1 Langkah pertama yaitu membagi Universe of Discourse dari bilangan aktual ke dalam subinterval dengan jumlah interval yang sama Perhitungan Universe of Discourse ditunjukkan pada Persamaan 29 (Chen 1996)

119880 = [119863119898119894119899 minus 1198631 119863119898119886119909 + 1198632] (29)

Dimana

119880 = Universe of Discourse

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

1198631 dan 1198632 = bilangan positif yang ditentukan oleh user untuk menentukan Universe of Discourse dari himpunan data sampel

2 Langkah kedua adalah mendefinisikan fuzzy set dari Universe of Discourse (U) menjadikan A1 A2 A3 An ke dalam fuzzy set dengan nilai linguistik sesuai dengan keadaan U Selanjutnya mendefinisikan fuzzy set tersebut ditunjukkan pada Persamaan 210 (Chen 1996)

1198601 =11989111

1199061+

11989112

1199062+

11989113

1199063+ ⋯ +

1198911119896

119906119896 (210)

1198602 =11989121

1199061+

11989122

1199062+

11989123

1199063+ ⋯ +

1198912119896

119906119896

= + + + +

119860119896 =1198911198961

1199061+

1198911198962

1199062+

1198911198963

1199063+ ⋯ +

119891119896119896

119906119896

Dimana 119891119894119895120598 [01] 1 le 119894 le 119896 dan 1 le 119895 le 119898 Variabel 119891119894119895 menunjukkan

derajat keanggotaan dari subinterval 119906119895 dari fuzzy set 1198601 Pada konsep ini

Chen menggunakan nilai linguistik 1198601 = (not many) 1198602 = (not too many) 1198603= (many) 1198604 = (many many) 1198605 = (very many) 1198606 = (too many) 1198607= (too many many) Kemudian nilai linguistik tersebut dimasukkan ke tiap fuzzy set Dari U tersebut dapat dibangun fuzzy set sebagai berikut

16

1198601 = 1

1199061+

05

1199062+

0

1199063+

0

1199064+

0

1199065+

0

1199066+

0

1199067

1198602 = 05

1199061+

1

1199062+

05

1199063+

0

1199064+

0

1199065+

0

1199066+

0

1199067

1198603 = 0

1199061+

05

1199062+

1

1199063+

05

1199064+

0

1199065+

0

1199066+

0

1199067

1198604 = 0

1199061+

0

1199062+

05

1199063+

1

1199064+

05

1199065+

0

1199066+

0

1199067

1198605 = 0

1199061+

0

1199062+

0

1199063+

05

1199064+

1

1199065+

05

1199066+

0

1199067

1198606 = 0

1199061+

0

1199062+

0

1199063+

0

1199064+

05

1199065+

1

1199066+

05

1199067

1198607 = 0

1199061+

0

1199062+

0

1199063+

0

1199064+

0

1199065+

05

1199066+

1

1199067

3 Langkah ketiga yaitu melakukan fuzzifikasi data historis proses fuzzifikasi merupakan proses merubah data aktual yang merupakan bilangan crisp ke dalam bentuk bilangan fuzzy Bilangan fuzzy yang dimaksudkan adalah dalam bentuk derajat keanggotaan Dari beberapa derajat keanggotaan yang terbentuk kemudian dipilih satu fuzzy set yang memiliki derajat keanggotaan teringgi Fuzzifikasi dinotasikan sebagai berikut jika F(t-1) berada pada fuzzy set Ak maka F(t-1) difuzzifikasikan sebagai Ak

4 Langkah keempat adalah mengidentifikasi Fuzzy Logic Relationship (FLR) FLR diidentifikasikan sebagai Ai dan F(t) difuzzifikasikan sebagai Ai rarr Aj Ai sebagai sisi kiri relationship disebut sebagai current state dan Aj sebagai sisi kanan relationship disebut next state Jika terjadi perulangan relationship maka tetap dihitung satu kali

5 Langkah kelima yaitu mengelompokkan menjadi Fuzzy Logical Relationship Group (FLRG) FLRG dibangun berdasarkan sisi kiri (current state) yang sama

6 Langkah terakhir yaitu langkah keenam adalah melakukan defuzzifikasi nilai keluaran peramalan Defuzzifikasi adalah mengubah nilai keluaran fuzzy menjadi bilangan crisp kembali sehingga diperoleh hasil akhir peramalan Defuzzifikasi didasarkan pada tiga (3) rule aturan yaitu (Chen 1996)

I Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai hanya memiliki satu FLR pada FLRG yaitu dengan kondisi Ai rarr Aj dimana nilai maksimum fungsi keanggotaanya berada pada 119906119895 maka nilai peramalan untuk n+1 adalah

nilai tengah dari 119906119895 atau didefinisikan dengan 119898119895

II Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai memiliki lebih dari satu FLR pada FLRG yaitu dengan kondisi Ai rarr Aj1 Aj2 Ajp Dimana nilai tengah untuk masing ndash masing Aj1 Aj2 Aj3 Ajp adalah mj1 mj2 mj3 mjp

maka nilai peramalan untuk n+1 adalah (mj1 mj2 mj3 mjp) p

III Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai tidak memiliki FLR pada FLRG dimana nilai maksimum fungsi keanggotaannya berada pada 119906119895

17

maka nilai peramalan untuk n+1 adalah nilai tengah dari 119906119895 atau

didefinisikan dengan 119898119895

227 Metode High Order Fuzzy Time Series Multi Factors

Metode High Order Fuzzy Time Series Multi Factors adalah metode Fuzzy Time Series (FTS) yang melibatkan beberapa faktor yang mempengaruhi peramalan dengan berdasarkan beberapa periode waktu sebelum periode yang akan diramalkan dalam proses pembentukkan Fuzzy Logical Relationship (FLR) Hasil peramalan dengan banyak faktor yang mempengaruhi dinilai lebih baik dari pada dengan hanya satu faktor yang mempengaruhi (LinYang 2009) Pada metode ini pembentukkan subinterval yang berfungsi dalam pendefinisian fuzzy set dilakukan dengan menggunakan teknik klasterisasi fuzzy C-means Berikut adalah langkah ndash langkah Metode High Order Fuzzy Time Series Multi Factors (LinYang 2009)

1 Langkah pertama adalah melakukan perhitungan Universe of Discourse (U) Sebelum menghitung nilai U terlebih dulu menghitung nilai mean (rata ndash rata) sampel lalu menghitung nilai standar deviasi (120590) Mean merupakan perhitungan jumlah dari semua nilai dalam kumpulan data kemudian dibagi dengan jumlah total data untuk menghitung nilai mean ditunjukkan pada Persamaan 211 (Weisstein 2015) Standar deviasi merupakan akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel untuk menghitung nilai standar deviasi (120590) ditunjukkan pada Persamaan 212 (Weisstein 2015) Perhitungan U ditunjukkan pada Persamaan 213 (LinYang 2009)

119909 =sum 119909119894

119899119894=1

119899 (211)

Dimana

= mean (rata ndash rata)

119909119894 = nilai data ke-i

119899 = banyak data

120590 = radicsum (119909119894minus ) 2119899

119894=1

119899minus1 (212)

Dimana

120590 = Standar deviasi data

119880 = [119863119898119894119899 minus 120590 119863119898119886119909 + 120590] (213)

Dimana

119880 = Universal 0f Discourse

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

18

2 Langkah kedua yaitu menentukan jumlah cluster data Proses klasterisasi bertujuan untuk membagi U kedalam beberapa subinterval Hasil perhitungan banyaknya cluster apabila bernilai pecahan maka harus dibulatkan menjadi bilangan bulat Perhitungan banyaknya cluster ditunjukkan pada Persamaan 214 (LinYang 2009)

119896 = ||119863119898119894119899 minus 119863119898119886119909|sum |119883(119905)minus119883(119905minus1)|119899

119905=1

119899minus1| (214)

Dimana

119896 = banyaknya jumlah cluster

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

119899 = banyaknya data sampel

119883(119905) = data pada waktu ke-t

3 Langkah ketiga yaitu melakukan pembentukan pusat cluster Pada metode ini proses klasterisasi data menggunakan fuzzy C-means (FCM) untuk mendapatkan pusat cluster sebanyak k Tahapannya U dibagi kedalam k subinterval (119863119898119894119899 1198891) (1198891 1198892) (1198892 1198893) hellip (119889119896minus1 119863119898119886119909) dimana di (i = 123k-1) merupakan titik tengah antara dua pusat cluster k subinterval didefinisikan sebagai 1199061 1199062 1199063 hellip 119906119896 Sehingga dalam hal ini subinterval

dengan panjang berbeda dapat menggambarkan struktur data kompleks dengan baik dan dapat meningkatkan peramalan dibandingkan menggunakan subinterval dengan panjang yang sama (LinYang 2009)

4 Langkah keempat yaitu melakukan pembentukan himpunan fuzzy atau fuzzy set Pada langkah ini fuzzy set direpresentasikan dengan kurva bahu Pembentukkan fuzy set ditunjukkan pada Persamaan 215 (LinYang 2009)

1198601 =11989111

1199061+

11989112

1199062+

11989113

1199063+ ⋯ +

1198911119896

119906119896 (215)

= + + + +

119860119896 =1198911198961

1199061+

1198911198962

1199062+

1198911198963

1199063+ ⋯ +

119891119896119896

119906119896

5 Langkah kelima yaitu proses fuzzifikasi Proses fuzzifikasi bertujuan untuk mengubah data sampel yang masih berupa bilangan crisp sehingga menjadi bilangan fuzzy Masing ndash masing data dihitung derajat keanggotaannya terhadap fuzzy set yang sudah terbentuk selajutnya derajat kanggotaan dihitung berdasarkan kurva bahu dan derajat keanggotaan tertinggi menunjukkan hasil fuzzifikasi data tersebut Contohnya A(t) B(t) C(t) dan D(t) dimana t= 123n merupakan time series dari faktor yang mempengaruhi serta n merupakan banyaknya data Berdasarkan pembagian subinterval masing ndash masing time series ini difuzzifikasikan Misalkan hasil dari Persamaan 215 yaitu menghitung banyak cluster dari k1 k2 k3 k4 Jadi time series difuzzifikasikan menjadi empat fuzzy time series yaitu

19

A(ti) dimana i = 1234k1

B(tj) dimana j = 1234k2

C(tp) dimana p = 1234k3

D(tq) dimana q = 1234k4 t = 123n

6 Langkah keenam yaitu melakukan pembentukkan Fuzzy Logical relationship (FLR) Data sampel sebanyak n periode dipilih sebagai data training untuk membentuk fuzzy time series model Misalkan t merupakan periode waktu yang akan diramal dengan menggunakan order ndash 3 maka tiga periode sebelum periode t adalah t-3 t-2 dan t-1 dimana t = 456n Maka FLR yang dihasilkan ditunjukkan pada Persamaan 216 dan berdasarkan persamaan tersebut maka akan membentuk sebuah kumpulan FLR dari data training (LinYang 2009)

(119860(119905minus31198943) 119861(119905minus31198953) 119862(119905minus31199013) 119863(119905minus31199023)) (216)

(119860(119905minus21198942) 119861(119905minus21198952) 119862(119905minus21199012) 119863(119905minus21199022))

(119860(119905minus11198941) 119861(119905minus11198951) 119862(119905minus11199011) 119863(119905minus11199021)) rarr 119860(1199051198944)

Tabel 22 Fuzzy Logic Relationship

(119860(119905minus31198943) 119861(119905minus31198953) 119862(119905minus31199013) 119863(119905minus31199023))

(119860(119905minus21198942) 119861(119905minus21198952) 119862(119905minus21199012) 119863(119905minus21199022))

(119860(119905minus11198941) 119861(119905minus11198951) 119862(119905minus11199011) 119863(119905minus11199021)) rarr 119860(1199051198944)

(119860(119905minus21198943) 119861(119905minus21198953) 119862(119905minus21199013) 119863(119905minus21199023))

(119860(119905minus11198942) 119861(119905minus11198952) 119862(119905minus11199012) 119863(119905minus21199022))

(119860(1199051198941) 119861(1199051198951) 119862(1199051199011) 119863(1199051199021)) rarr 119860(119905+11198944)

(119860(119905+119899minus71198943) 119861(119905+119899minus71198953) 119862(119905+119899minus71199013) 119863(119905+119899minus71199023))

(119860(119905+119899minus61198942) 119861(119905+119899minus61198952) 119862(119905+119899minus61199012) 119863(119905+119899minus61199022))

(119860(119905+119899minus51198941) 119861(119905+119899minus51198951) 119862(119905+119899minus51199011) 119863(119905+119899minus51199021)) rarr 119860(119905+119899minus41198944)

Sumber (LinYang 2009)

7 Langkah terakhir adalah proses Defuzzifikasi Berdasarkan langkah sebelumnya maka dapat diambil hasil fuzzy ke- H yaitu yang digunakan sebagai data testing atau data uji seperti yang ditunjukkan pada Persamaan 217 (LinYang 2009)

(119860(119867minus31198943) 119861(119867minus31198953) 119862(119867minus31199013) 119863(119867minus31199023)) (217)

(119860(119867minus21198942) 119861(119867minus21198952) 119862(119867minus21199012) 119863(119867minus21199022))

(119860(119867minus11198941) 119861(119867minus11198951) 119862(119867minus11199011) 119863(119867minus11199021)) rarr 119860(1198671198944)

20

Faktor ndash faktor di ruas kiri pada Persaman 217 dibandingkan satu per satu dengan FLR data training yang sudah dicatat sebelumnya pada Tabel 22 membandingkannya yaitu dengan cara menghitung nilai absolut dari selisih antara pangkat bawah kedua faktor pada posisi yang sama di FLR Terdapat 12 fuzzy set di ruas kiri pada masing ndash masing FLR sehingga dari hasil perbandingan diperoleh 12 nilai absolut yang kemudian dijumlahkan untuk mendapat total selisihnya Jadi jika total selisih lebih kecil dari threshold yang ditentukan maka FLR tersebut dinyatakan cocok (LinYang 2009)

Selanjutnya jika FLR menemukan N pasangan yang cocok pada Tabel 22 maka N faktor di ruas kanan dari N FLR ini mendasari peramalan fuzzy set A() yang mana jumlah dari setiap fuzzy set pada umumnya berbeda Untuk peramalan dengan fuzzy set ditunjukkan pada Tabel 23 (LinYang 2009)

Tabel 23 Peramalan fuzzy set

Ruas Kanan A(1) A(2) A(3) A(k1)

Pusat cluster c1 c2 c3 ck1

Frekuensi f1 f2 f3 fk1

Sumber (Lin Yang 2009)

Berdasarkan Tabel 23 dengan menggunakan metode centroid untuk melakukan proses defuzzifikasi Proses defuzzifikasi dapat ditunjukkan pada Persamaan 218 (LinYang 2009)

119903119867 =sum 119888119894times 119891119894

1198961119894=1

sum 119891119894119896119894119894=1

(218)

Dimana

119903119867 = hasil (result) peramalan data ke-H

119888119894 = pusat cluster i dimana A(i) adalah ruas kanan dari FLR hasil proses pencocokan

119891119894 = frekuensi banyaknya muncul A(i) pada saat proses pencocokan

228 Perhitungan keakuratan metode peramalan

Dalam perencanaan peramalan tentu menginginkan hasil ramalan yang tepat atau paling tidak hampir mendekati sehingga rencana yang dibuat menjadi rencana yang realistis Keakuratan atau ketepatan merupakan yang menjadi kriteria performance suatu metode peramalan Keakuratan tersebut dapat dinyatakan sebagai kesalahan peramalan (forecast error) Semaikin kecil nilai kesalahan peramalan maka semaikin tinggi keakuratan metode peramalan yang digunakan dan sebaliknya semakin tinggi nilai kesalahan maka semakin rendah keakuratan metode peramalan yang digunakan

Mean Square Error (MSE) adalah salah satu metode yang digunakan untuk menghitung nilai akurasi atau keakuratan dari metode yang digunakan sebagai peramalan atau prediksi MSE merupakan perhitungan pangkat dua dari selisih

21

antara nilai data hasil peramalan dengan nilai data aktual dan kemudian dibagi dengan banyaknya data yang telah diramalkan Pada penentuan nilai evaluasi memilih menggunakan metode MSE karena metode ini dapat menunjukan hasil skala kemiripan antara hasil data peramalan dengan data aktual Berikut merupakan metode Mean Square Error (MSE) yang ditunjukan pada Persamaan 219 (Wang Chen 2009)

119872119878119864 = sum (119865119905minus119860119905)2119899

119894=1

119899 (219)

Dimana 119872119878119864 = nilai Mean Square Error Rate 119860119905 = nilai aktual pada data ke-t 119865119905 = nilai hasil peramalan untuk data ke-t n = banyaknya data

22

BAB 3 METODOLOGI

Pada bab ini akan dibahas mengenai metode yang digunakan beserta tahap ndash tahap pengerjaan penelitian skripsi dengan judul ldquoPeramalan Curah Hujan dengan Metode High Order Fuzzy Time Series Multi Factorsrdquo Penilitian ini digolongkan sebagai penelitian implementatif dengan pendekatan perancangan (design)

Metode penelitian ini meliputi studi literatur pengumpulan data perancangan implementasi pengujian dan analisis pengambilan kesimpulan Berikut adalah alur dari metode penelitian dapat ditunjukkan pada Gambar 31

31 Studi Literatur

Pada tahap studi literatur penelitian ini bertujuan untuk mempelajari literatur dan konsep dari beberapa informasi dan pustaka yang berkaitan dengan penelitian ini Literatur dan sumber ilmu dari penelitian ini diperoleh dari internet buku dan bimbingan oleh dosen pembimbing Adapun literatur yang dipelajari yaitu tentang curah hujan serta faktor ndash faktor yang mempengaruhinya dan metode High Order Fuzzy Time Series Multi Factors

Studi Literatur

Pengumpulan Data

Perancangan

Implementasi

Pengujian dan Analisis

Kesimpulan dan Saran

Gambar 31 Diagram blok metodologi penelitian

23

32 Pengumpulan Data

Pada tahap pengumpulan penelitian ini sumber data yang diperoleh yaitu dari Badan Meteorologi Klimatologi dan Geofisikia (BMKG) Stasiun Klimatologi Kelas III Karangkates Kabupaten Malang Data yang diperoleh untuk peramalan curah hujan yaitu data aktual time series (2011 - 2016) Data yang digunakan dalam bentuk dasarian yaitu dalam rentang waktu sepuluh hari sehingga dalam satu bulan dibagi menjadi tiga dasarian

Dasarian pertama yaitu pada tanggal 1 sampai dengan 10

Dasarian kedua yaitu pada tanggal 11 sampai dengan 20

Dasarian ketiga yaitu pada tanggal 21 sampai dengan akhir bulan

Pada penelitian ini data curah hujan dalam satuan milimeter (mm) kelembaban dalam persen () suhu udara dalam satuan celsius (˚C) kecepatan angin dalam satuan kilometer per jam (kmjam)

33 Perancangan

Pada tahap perancangan penelitian ini bertujuan untuk mengetahui rancangan ndash rancangan yang merupakan langkah yang dilakukan saat melakukan tahap implementasi Pada tahap ini terdapat beberapa perancangan yaitu perancangan proses yang berisi tahapan ndash tahapan proses metode High Order Fuzzy Time Series Multi Factors perhitungan manual yang merupakan manualisasi dari metode yang digunakan pada penelitian ini perancangan antar muka atau user interface yang berisi gambaran kasar dari tampilan antar muka prototype aplikasi yang nantinya diterapkan pada tahap implementasi selanjutnya adalah perancangan pengujian yang berisi rancangan ndash rancangan pengujian metode yang digunakan untuk mengetahui berapa tingkat kesalahan atau error yang dimiliki metode pada penelitian ini dalam melakukan peramalan curah hujan

34 Implementasi

Pada tahap implementasi peneltian ini dilakukan sesuai dengan perancangan yang telah dibuat pada tahapan perancangan sebelumnya Implementasi dari metode High Order Fuzzy Time Series Multi Factors dilakukan menggunakan bahasa pemrograman java serta Integrated Development Environment (IDE) yang digunakan adalah Netbeans Sehingga nantinya hasil dari tahap ini berupa prototype aplikasi dari implementasi metode High Order Fuzzy Time Series Multi Factors untuk peramalan curah hujan

35 Pengujian dan Analisis

Pada tahapan penelitian pengujian ini diperlukan perangkat lunak dan perangkat keras agar pengujian dari hasil implementasi dapat berjalan dengan baik maka pengujian perangkat lunak dijalankan pada laptop ataupun PC (Personal Computer) dengan spesifikasi sebagai berikut

24

1 Prosesor Intel Core i3

2 Memory RAM 8 Gigabytes

3 Sistem Operasi menggunakan Windows 7 64bit

4 Hardisk dengan kapasitas 500 GB

5 Netbeans 81 JDK 7

Pengujian hasil peramalan menggunakan metode High Order Fuzzy Time Series Multi Factors yaitu menggunakan metode Mean Square Error (MSE) Dimana rumus pengujian sesuai dengan Persamaan 219 Dalam pengujian menggunakan metode ini semakin kecil nilai MSE maka semakin tinggi tingkat akurasi hasil peramalan tersebut Pada penelitian ini untuk keperluan pengujian dari proses implementasi dilakukan empat pengujian yaitu pengujian terhadap perbedaan nilai order pengujian terhadap perbedaan nilai threshold pengujian terhadap data training untuk mengetahui pengaruhnya terhadap nilai MSE dan pengujian validasi sistem untuk mengetahui bahwa hasil implementasi metode High Order Fuzzy Time Series Multi Factors dapat melakukan peramalan

36 Kesimpulan dan Saran

Pada pengambilan kesimpulan akan dilakukan apabila semua tahapan ndash tahapan penelitian sudah dilakukan yaitu yang meliputi perancangan implementasi dan pengujian dan analisis telah selesai dilakukan Kesimpulan merupakan tahapan dimana semua rumusan masalah yang sudah ditetapkan sebelumnya dapat terjawab semua Selanjutnya pada saran merupakan berkenaan dengan hasil yang telah dicapai untuk memperbaiki kekurangan - kekurangan yang terjadi pada penelitian ini serta memberikan pertimbangan pada pengembangan penelitian lebih lanjut

25

BAB 4 PERANCANGAN

Pada bab ini berisi tentang perancangan yang nantinya digunakan sebagai dasar dalam tahap implementasi Hal yang dibahas meliputi perancangan proses perhitungan manual perancangan pengujian dan perancangan antar muka

41 Perancangan Proses

Pada perancangan proses ini berisi mengenai tahapan ndash tahapan dari metode yang digunakan yaitu metode High Order Fuzzy Time Series Multi Factors Pada penelitian ini melibatkan faktor ndash faktor yang mempengaruhi curah hujan yaitu suhu udara kelembaban udara dan kecepatan angin Data time series dari curah hujan merupakan faktor utama dalam proses peramalan pada penelitian ini Inputan pada peneltian ini yaitu data time series curah hujan serta faktor ndash faktor yang mempengaruhinya Order yang digunakan pada metode ini merupakan order lebih dari satu oleh karena itu disebut dengan High Order Order merupakan urutan jumlah dari data time series pada periode waktu t yang mempengaruhi nilai data Berikut merupakan diagram alir dari proses peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors yang ditunjukkan pada Gambar 41 dan Gambar 42

Gambar 41 Diagram alir metode penelitian yang digunakan (bagian 1)

Mulai

Data curah hujan suhu kelembaban kecepatan angin jmlh_Banyakdata jmlh_Faktor

Universe_of_Discourse

A

Jumlah_Cluster

26

411 Proses perhitungan Universe of Discourse

Pada perhitungan Universe of Discourse harus sudah dilakukan inputan data agar dapat memulai tahapan perhitungan Tahapan dari proses perhitungannya yaitu pada langkah pertama dilakukan perhitungan nilai mean (rata ndash rata) sesuai dengan Persamaan 211 Setelah mendapatkan nilai mean dapat dilakukan perhitungan untuk mencari nilai standar deviasi sesuai dengan Persamaan 212 Selanjutnya dicari nilai terkecil (119863119898119894119899) dan nilai terbesar (119863119898119886119909) Setelah menyelesaikan tahap ndash tahap tersebut dapat dilakukan perhitungan untuk

Gambar 42 Diagram alir metode penelitian yang digunakan (bagian 2)

A

Perhitungan Pusat Cluster

Fuzzifikasi

Pembentukan Fuzzy Logical Relationship

Defuzzifikasi

Nilai hasil peramalan

Berhenti

Pembentukan Subinterval dan Fuzzy set

27

mencari Universe of Discourse sesuai dengan Persamaan 213 Berikut merupakan diagram alir dari proses perhitungan Universe of Discourse yang ditunjukkan pada Gambar 43

Perhitungan Universe of Discourse

Mulai

Min_dan_Max

mean

standar_deviasi

for i = 0 to jmlh_Faktor-1

i

hsl_uMin ke i = hsl_min ke i ndash hsl_stdev ke i

hsl_uMax ke i = hsl_max ke i + hsl_stdev ke i

hsl_uMin hsl_uMax

Berhenti

Gambar 43 Diagram alir proses perhitungan Universe of Discourse

28

4111 Proses perhitungan Mean

Pada proses perhitungan mean merupakan nilai rata ndash rata dari setiap faktor dimana nilai mean ini nantinya dibutuhkan untuk melakukan proses perhitungan standar deviasi Berikut merupakan diagram alir dari proses perhitungan mean yang ditunjukkan pada Gambar 44

mean

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to jmlh_DataTraining

tmp_jmlh = 0

tmp_jmlh = tmp_jmlh + data ke ij

j

hsl_mean ke i = tmp_jmlhjmlh_DataTraining

i

hsl_mean

Berhenti

Gambar 44 Diagram alir proses perhitungan mean

29

4112 Proses perhitungan standar deviasi

Pada proses perhitungan standar deviasi dapat dilakukan setelah mendapatkan nilai mean dari setiap data sesuai proses sebelumnya Berikut merupakan diagram alir dari proses perhitungan standar deviasi yang ditunjukkan pada Gambar 45

standar_deviasi

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to jmlh_DataTraining

result = 0

result = result + (data ke ij ndash mean ke i)2

j

hsl_stdev ke i = radicresult

jmlh_DataTrainingminus1

i

hsl_stdev

Berhenti

Gambar 45 Diagram alir proses perhitungan standar deviasi

30

4113 Proses perhitungan nilai Dmin dan Dmax

Pada proses perhitungan ini merupakan proses perhitungan untuk mencari nilai terkecil dan terbesar dari setiap faktor data Setelah mendapat nilai terkecil dan terbesar maka data dilakukan proses perhitungan Universe of Discourse Berikut merupakan diagran alir dari proses perhitungan nilai Dmin dan Dmax yang ditunjukkan pada Gambar 46

Gambar 46 Diagram alir perhitungan nilai Min dan Max

ya

ya

tidak

tidak

Min_dan_Max

Mulai

for i = 0 to jmlh_Faktor-1

besar = data ke i0

kecil = data ke i0

for j=0 to jmlh_DataTraining

data ke ij gt besar

besar = data ke ij

data ke ij lt kecil

kecil = data ke ij

j

hsl_max ke i = besar

hsl_min ke i = kecil

i

hsl_max hsl_min

Berhenti 1

1

2

2

3

4

4

5

5

3

31

412 Proses perhitungan jumlah cluster

Pada proses perhitungan jumlah cluster memiliki masukkan proses Dmin dan Dmax

dari proses perhitungan sebelumnya Pada proses ini terdapat perhitungan nilai dari selisih setiap data Pada perhitungan jumlah cluster sesuai dengan Persamaan 214 Berikut merupakan langkah ndash langkah perhitungan jumlah cluster yang ditunjukkan pada Gambar 47

jumlah_Cluster

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to (jmlh_DataTraining-1)

Berhenti

hsl_max hsl_min

selisih = 0

selisih = selisih + |data ke ij ndash data ke i (j+1)|

j

jmlh_Cluster ke i = |ℎ119904119897_119898119894119899 119896119890 119894minusℎ119904119897_119898119886119909 119896119890 119894|

119904119890119897119894119904119894ℎ

119895119898119897ℎ_119863119886119905119886119879119903119886119894119899119894119899119892minus1

i

jmlh_Cluster

Gambar 47 Diagram alir proses perhitungan jumlah cluster

32

413 Proses perhitungan pusat cluster

Pada proses perhitungan pusat cluster ini diperlukan beberapa variabel yang harus dideklarasikan terlebih dahulu yaitu nilai bobot fungsi objektif nilai iterasi awal nilai iterasi maksimum dan error terkecil Perhitungan subinterval ini menggunakan metode fuzzy C-means yang diawali dengan pencarian pusat cluster terlebih dahulu Berikut merupakan langkah ndash langkah perhitungan subinterval yang ditunjukkan pada Gambar 48 Gambar 49 Gambar 410 Gambar 411 Gambar 412

Gambar 48 Diagram alir proses perhitungan pusat cluster (bagian 1)

Perhitungan pusat cluster

Mulai

jmlh_Cluster

for i = 0 to jmlh_Faktor-1

Deklarasi bobot selisih_f_objektif

iter_maksimum error_min

Pembentukan Matriks partisi faktor A jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor A

for iter = iter to iter_maksimum

A

i == 0

Perhitungan pusat_cluster1 faktor A

B C D

tidak

ya

33

Gambar 49 Diagram alir proses perhitungan pusat cluster (bagian 2)

ya

tidak

tidak

ya

Perhitungan f_objektif faktor A

A B C D

Perhitungan selisih_f_objektif faktor A

Perbaikan matriks partisi faktor A

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster1 faktor A

Iter = iter_maksimum

iter

i == 1

Pembentukan Matriks partisi faktor B jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor B

for iter = iter to iter_maksimum

F A G E

34

tidak

tidak

ya

A E F G

Perhitungan pusat_cluster2 faktor B

Perhitungan f_objektif faktor B

Perhitungan selisih_f_objektif faktor B

Perbaikan matriks partisi faktor B

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster2 faktor B

Iter = iter_maksimum

iter

i == 2

Pembentukan Matriks partisi faktor C jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor C

I A H

Gambar 410 Diagram alir proses perhitungan pusat cluster (bagian 3)

ya

35

tidak

tidak

Gambar 411 Diagram alir proses perhitungan pusat cluster (bagian 4)

ya

A H I

for iter = iter to iter_maksimum

Perhitungan pusat_cluster3 faktor C

Perhitungan f_objektif faktor C

Perhitungan selisih_f_objektif faktor C

Perbaikan matriks partisi faktor C

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster3 faktor C

Iter = iter_maksimum

iter

i == 3

Pembentukan Matriks partisi faktor D jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor D

J A K

ya

36

tidak

ya

Gambar 412 Diagram alir proses perhitungan pusat cluster (bagian 5)

A K J

for iter = iter to iter_maksimum

Perhitungan pusat_cluster4 faktor D

Perhitungan f_objektif faktor D

Perhitungan selisih_f_objektif faktor D

Perbaikan matriks partisi faktor D

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster4 faktor D

Iter = iter_maksimum

iter

i

pusat_cluster1pusat_cluster2 pusat_cluster3pusat_cluster4

Berhenti

37

tidak

ya

tidak

ya

Gambar 413 Diagram alir pembentukan subinterval dan fuzzy set (bagian 1)

414 Proses pembentukan subinterval dan Fuzzy set

Pada proses pembentukan fuzzy set atau himpunan fuzzy pada penelitian ini dapat dilakukan setelah perhitungan subinterval selesai dilakukan Nilai subniterval merupakan masukan utama pada pembentukkan fuzzy set Pembentukan fuzzy sesuai dengan Persamaan 215 Berikut merupakan langkah ndash langkah proses pembentukan fuzzy set yang ditunjukkan pada Gambar 413 dan Gambar 414

Pembentukan subinteval dan Fuzzy set

Mulai

pusat_cluster1pusat_cluster2 pusat_cluster3pusat_cluster4

for i = 0 to jmlh_Faktor-1

Menentukan batas_subintervalMinA dan

batas_subintervalMaxA

Menentukan batas_fuzzysetMinA dan batas_fuzzysetMaxA

i == 0

i == 1

Menentukan batas_subintervalMinB dan

batas_subintervalMaxB

Menentukan batas_fuzzysetMinB dan batas_fuzzysetMaxB

A C B

38

tidak

tidak

ya

ya

415 Proses Fuzzifikasi

Pada proses fuzzifikasi ini pembentukanya sesuai derajat keanggotaan pada setiap data Pada proses ini derajat keanggotaan dihitung berdassarkan fungsi keanggotaan kurva bahu Hasil dari proses ini merupakan data yang sudah difuzzifikasikan menjadi data fuzzy Berikut langkah ndash langkah dari proses fuzzifikasi ditunjukkan pada Gambar 415 dan Gambar 416

i == 2

A B C

Menentukan batas_subintervalMinC dan batas_subintervalMaxC

Menentukan batas_fuzzysetMinC dan batas_fuzzysetMaxC

i == 3

Menentukan batas_subintervalMinD dan batas_subintervalMaxD

Menentukan batas_fuzzysetMinD dan batas_fuzzysetMaxD

i

batas_fuzzysetMinA batas_fuzzysetMaxA batas_fuzzysetMinB batas_fuzzysetMaxB batas_fuzzysetMinC batas_fuzzysetMaxC batas_fuzzysetMinD batas_fuzzysetMaxD

Berhenti

Gambar 414 Diagram alir pembentukan subinterval dan fuzzy set (bagian 2)

39

tidak

ya

ya

tidak

Fuzzifikasi

Mulai

for i = 0 to jmlh_Faktor-1

Menentukan hasil_fuzzifikasiA dari faktor A

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinA batas_fuzzysetMaxA

Gambar 415 Diagram alir proses fuzzifikasi (bagian 1)

batas_fuzzysetMinA batas_fuzzysetMaxA batas_fuzzysetMinB batas_fuzzysetMaxB batas_fuzzysetMinC batas_fuzzysetMaxC batas_fuzzysetMinD batas_fuzzysetMaxD

DD

i == 0

i == 1

Menentukan hasil_fuzzifikasiB

dari faktor B

Menghitung derajat keanggotaan

berdasarkan batas_fuzzysetMinB

batas_fuzzysetMaxB

C A B

40

tidak

ya

ya

tidak

ya

i == 2

A B C

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinC batas_fuzzysetMaxC

Menentukan hasil_fuzzifikasiC dari faktor C

i == 3

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinD

batas_fuzzysetMaxD

Menentukan hasil_fuzzifikasiD dari faktor D

i

hasil_fuzzifikasiA hasil_fuzzifikasiB hasil_fuzzifikasiC hasil_fuzzifikasiD

Berhenti

Gambar 416 Diagram alir proses fuzzifikasi (bagian 2)

41

tidak

ya

416 Proses pembentukan Fuzzy Logical Relationship

Setelah data melalui proses fuzzifikasi dan sudah menjadi data fuzzy maka dapat dilakukan pembentukan Fuzzy Logical Relationship (FLR) Pembentukan FLR dilakukan sesuai dengan Persamaan 216Berikut adalah langkah ndash langkah proses pembentukan Fuzzy Logical Relationship (FLR) yang ditunjukkan pada Gambar 417 Gambar 418 dan Gambar 419

Gambar 417 Diagram alir proses Pembentukan FLR

(bagian 1)

Pembentukan Fuzzy Logical Relationship

Mulai

hasil_fuzzifikasiAhasil_fuzzifikasiB hasil_fuzzifikasiChasil_fuzzifikasiD order

for i = 0 to jmlh_dataTraining

max_inc = order jmlh_dataTraining = dataTraining - order

for j = i to max_inc

for k = 0 to jmlh_Faktor-1

j == 0

FLR_kiri_training ke ijk = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D)

ke j

E A B C D

42

ya

tidak

ya

tidak

A B C E D

FLR_kiri_training ke i(j-i)k = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D) ke j

j = 0

k

j

FLR_kanan_training ke i = hasil_fuzzifikasiA ke (i+order)

Max_inc lt (jmlh_DataTraining-1)

i

tmp_JmlhDatatraining = tmp_JmlhDatatraining +1

max_inc = max_inc + 1 tmp_JmlhDatatraining = i

Gambar 418 Diagram alir proses Pembentukan FLR (bagian 2)

for j = 0 to tmp_JmlhDatatraining

for j = tmp_JmlhDatatraining to max_inc

for k = 0 to jmlh_Faktor-1

I H G F

43

tidak

ya

417 Proses Defuzzifikasi

Proses defuzzifikasi merupakan proses akhir dimana keluaran dari proses ini merupakan nilai hasil peramalan Data yang diperlukan pada proses defuzzifikasi adalah hasil dari proses pembentukan Fuzzy Logical Relationship (FLR) nilai threshold yang harus dideklarasikan sebelumnya jumlah data training dan jumlah data testing Dalam proses ini dilakukan perhitungan selisih pada FLR antara data testing dan data training FLR yang dihitung nilai selisihnya adalah FLR pangkat bawah yang terdapat pada ruas kiri Setelah dilakukan perhitungan selisih dan total jumlah selisih lebih kecil dari nilai threshold maka pada setiap FLR yang

I H G F

FLR_kiri_testing ke i(j-tmp_jmlhDatatraining) k = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D) ke j

k

j

FLR_kanan_testing ke i = hasil_fuzzifikasiA ke (i+order)

i

Max_inc lt (jmlh_DataTraining-1)

max_inc = max_inc + 1 tmp_JmlhDatatraining++

FLR_kiri_training FLR_kanan_training FLR_kiri_testing FLR_kanan_testing

Mulai

Gambar 419 Diagram alir proses Pembentukan FLR (bagian 3)

44

ya

tidak

sesuai dengan kondisi tersebut dapat dikatakan cocok atau dapat dilakukan ke tahap perhitungan selanjutnya Setelah mendapatkan FLR yang cocok maka dilakukan pengelompokkan berdasarkan FLR ruas kanan Pengelompokkan ini dihitung jumlah frekuensi yang sama sesuai dengan fuzzy set di ruas kanan Selanjutnya untuk memperoleh hasil peramalan dilakukan proses perhitungan sesuai dengan Persamaan 218 Berikut adalah langkah ndash langkah proses defuzzifikasi yang ditunjukkan pada Gambar 420 dan Gambar 421

Gambar 420 Diagram alir proses defuzzifikasi (bagian 1)

Defuzzifikasi

Mulai

FLR_kiri FLR_kanan order dataTraining dataTesting konstanta

threshold = (jmlh_Faktor x order)+konstanta

for i = 0 to dataTesting

for j = 0 to (dataTraining-i)

Perhitungan hitung_selisih antara FLR_kiri data training dan data testing

hitung_selisih lt threshold

match ke ij = hitung_selisih

j

i

A

45

Gambar 421 Diagram alir proses defuzzifikasi (bagian 2)

A

Menghitung jumlah total FLR_kiri yang cocok untuk setiap data testing

Mencocokan FLR_kiri yang cocok dengan FLR_kanan untuk setiap data testing

for i = 0 to dataTesting

Menghitung frekuensi setiap FLR_kanan yang cocok untuk setap data testing

for j = 0 to jumlah total FLR kiri yang cocok

peramalan = peramalan + Frekuensi setiap FLR_kanan yang cocok x pusat_cluster1

sesuai dengan value FLR_kanannya

j

hasil_peramlan ke i = peramalan jumlah total FLR kiri yang cocok

i

Hasil_permalan

Berhenti

46

42 Perhitungan Manual

Dalam perhitungan manual ini data sampel yang digunakan merupakan data time series dasarian ke-2 pada periode April 2014 sampai dengan dasarian ke-2 Juli 2014 data sampel ditunjukkan pada Tabel 41

Tabel 41 Data Sampel Perhitungan Manual

No Dasarian Curah Hujan

(A)

Suhu (B) Kelembaban (C)

Kecepatan Angin(D)

1 Dasarian 2 (April 2014) 95 2615 8248 629

2 Dasarian 3 (April 2014) 90 2612 8247 628

3 Dasarian 1 (Mei 2014) 94 2607 8247 627

4 Dasarian 2 (Mei 2014) 83 2625 8232 623

5 Dasarian 3 (Mei 2014) 85 2628 8235 623

6 Dasarian 1 (Juni 2014) 92 2609 8241 626

7 Dasarian 2 (Juni 2014) 86 2627 8235 624

8 Dasarian 3 (Juni 2014) 89 2621 8238 624

9 Dasarian 1 (Juli 2014) 93 2607 8242 626

10 Dasarian 2 (Juli 2014) 86 2626 8237 623

Sumber BMKG Kelas III Karangkates Malang

421 Perhitungan Universe of Discourse (U)

Sebelum melakukan perhitungan U maka harus dicari terlebih dahulu nilai 119863119898119894119899 119863119898119886119909 dan standar deviasi 119863119898119894119899 adalah nilai minimum atau nilai terkecil dari data sampel yang ada sedangkan 119863119898119886119909 adalah nilai maksimum atau nilai paling besar dari data sampel yang ada Untuk mencari nilai standar deviasi harus menghitung nilai mean (rata ndash rata) terlebih dahulu sesuai dengan Persamaan 211 Mean dari data curah hujan (A) dihitung dengan cara sebagai berikut

Mean = (data ke-1 + data ke-2 + data ke-3 + + data ke-10) 10

= (95 + 90 + 94 + 83 + 85 + 92 + 86 + 89 + 93 + 86) 10

= 893 10

= 893

Selanjutnya setelah diperoleh nilai mean dilanjutkan melakukan perhitungan standar deviasi sesuai dengan Persamaan 212 Standar deviasi adalah akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel Untuk menghitung standar deviasi agar lebih mudah kita terlebih dahulu melakukan perhitungan nilai kuadrat dari selisih data ke-i dan mean yang ditunjukkan pada Tabel 42

47

Tabel 42 Hasil kuadrat dari selisih data ke-i dan mean

i Data ke-i Data ke-i mean (Data ke-i - mean)sup2

1 95 57 32490

2 90 07 0490

3 94 47 22090

4 83 -63 39690

5 85 -43 18490

6 92 27 7290

7 86 -33 10890

8 89 -03 0090

9 93 37 13690

10 86 -33 10890

Jumlah 1561

Setelah mendapatkan hasil nilai kuadrat dari selisih data ke-i dan mean sesuai dengan Tabel 42 maka dapat dilanjutkan melakukan perhitungan standar deviasi dengan cara sebagai berikut

Standar_deviasi = radic1

10minus1sum (119889119886119905119886 119896119890 minus 119894 minus 119898119890119886119899)10

119894=1

2

= radic1

9 times 1561

= 4165

Untuk perhitungan standar deviasi juga dilakukan pada faktor lainnya yaitu suhu (B) kelembaban (C) dan kecepatan angin (D) Hasil perhitungan 119863119898119894119899 119863119898119886119909 dan standar deviasi ditunjukkan pada Tabel 43

Tabel 43 Nilai minimum nilai maksimum dan standar deviasi

Data D min D max Standar Deviasi

A 83 95 4165

B 2607 2628 0086

C 8232 8248 0057

D 623 629 0022

Berdasarkan hasil yang ditunjukkan Tabel 43 selanjutnya dapat dilakukan perhitungan nilai U sesuai dengan Persamaan 213 Berikut adalah perhitungan U pada data A

U = [119863119898119894119899 minus 120590 119863119898119886119909 + 120590]

= [(83 ndash 4165) (95 ndash 4165)]

= [78835 99165]

48

Untuk perhitungan U juga dilakukan pada semua faktor yaitu data B C dan D Sehingga diperoleh nilai U yang ditunjukkan pada Tabel 44

Tabel 44 Hasil Universe of Discourse

Data U

Batas Bawah Batas Atas

A 78835 99165

B 25984 26366

C 82263 82537

D 6208 6312

422 Perhitungan jumlah cluster (k)

Pada perhitungan jumlah cluster langkah pertamanya adalah mencari nilai absolut dari selisih data hari ke-t dengan hari sebelumnya Perhitungan selisih dilakukan hingga data ke-10 Perhitungan nilai selisih dilakukan pada semua data A B C dan D Selanjutnya masing ndash masing nilai selisih dijumlah sehingga hasilnya seperti ditunjukkan pada Tabel 45

Tabel 45 Nilai absolut selisih data hari ke-t dengan hari sebelumnya

No Tanggal A B C D

1 Dasarian 3 (April 2014) 5 003 001 001

2 Dasarian 1 (Mei 2014) 4 005 0 001

3 Dasarian 2 (Mei 2014) 11 018 015 004

4 Dasarian 3 (Mei 2014) 2 003 003 0

5 Dasarian 1 (Juni 2014) 7 019 006 003

6 Dasarian 2 (Juni 2014) 6 018 006 002

7 Dasarian 3 (Juni 2014) 3 006 003 0

8 Dasarian 1 (Juli 2014) 4 014 004 002

9 Dasarian 2 (Juli 2014) 7 019 005 003

Jumlah 49 105 043 016

Setelah mendapatkan nilai absolut selisih data hari ke-t dengan hari sebelumnya dapat dilanjutkan dengan menghitung jumlah cluster sesuai dengan Persamaan 214 Perhitungan jumlah cluster pada data A (k1) berdasarkan pada Tabel 43 diketahui nilai 119863119898119894119899 adalah 171 nilai 119863119898119886119909 adalah 2048 maka jumlah cluster data A dapat ditunjukkan sebagai berikut

49

1198961 = ||119863119898119894119899 minus 119863119898119886119909|sum |119883(119905) minus 119883(119905 minus 1)|119899

119905=1

119899 minus 1|

= |83 minus 9549

10minus1| = 2204

Apabila hasil perhitungan jumlah cluster merupakan bilangan pecahan maka hasilnya harus dibulatkan Sehingga jumlah cluster pada data A adalah 2 Perhitungan jumlah cluster juga dilakukan pada data B (k2) C (k3) dan D (k4) Berikut merupakan hasil semua perhitungan jumlah cluster yang ditunjukkan pada Tabel 46

Tabel 46 Hasil jumlah cluster data

No Cluster Jumlah Cluster

1 k1 2

2 k2 2

3 k3 3

4 k4 3

423 Perhitungan pusat cluster dan subinterval

Pada pembentukan subinterval berdasarkan pada Tabel 46 yang menunjukkan jumlah subinterval yang selanjutnya digunakan untuk menentukan pusat cluster menggunakan algoritma fuzzy C-means (FCM)

4231 Penentuan pusat cluster

a Penentuan nilai variabel

Pada penentuan subinterval diawali dengan klasterisasi menggunakan algoritma FCM pada awal proses ditentukkan beberapa variabel sebagai berikut

Banyak cluster = k1 = 2

Bobot (w) = 2

Fungsi objektif awal = 0

Iterasi awal = 1

Iterasi maksimum = 100

Error terkecil = 001 b Pembentukan matriks partisi awal (micro)

Data pada pembentukan matriks partisi awal merupakan nilai random diantara nilai 0 sampai 1 Dimensi pada matriks partisi awal dibentuk dengan dimensi jumlah data (i) x jumlah cluster (k) Dalam hal ini telah diketahui jumlah data adalah 10 dan k1 adalah 2 maka partisi dimensi matriks awal adalah 10 x 2 Hasil pembentukan matriks partisi awal ditunjukkan pada Tabel 47 dimana Cluster disimbolkan dengan C

50

Tabel 47 Matriks partisi awal pada cluster data A

c Normalisasi matriks partisi awal

Langkah pertama normalisasi matriks partisi awal adalah dengan menghitung jumlah bilangan penyusun matriks pada setiap kolom yang dapat dilihat pada Tabel 47 dijumlah berdasarkan dengan Persamaan 24 Diketahui jumlah kolom matriks sebanyak 2 sehingga diperoleh Q1 untuk penjumlahan kolom c1 Q2 untuk penjumlahan kolom c2

Q1 = 0355 + 0174 + 02 + 0387 + 0598 + 0819 + 0702 + 0719 + 0349 +

0852

= 5154

Q2 = 0170 + 0815 + 0190 + 0456 + 0526 + 0170 + 0232 + 0572 + 0102 +

0322

= 3554

Langkah selanjutnya dilakukan proses normalisasi menggunakan Persamaan 25 Dimana setiap bilangan penyusun matriks awal dibagi dengan nilai Q sesuai dengan kolomnya masing ndash masing Bilangan penyusun matriks disimbolkan dengan microik dimana i menunjukkan baris dan k menunjukkan kolom posisi bilangan tersebut pada matriks

i micro

c1 c2

1 0355 0170

2 0174 0815

3 0200 0190

4 0387 0456

5 0598 0526

6 0819 0170

7 0702 0232

8 0719 0572

9 0349 0102

10 0852 0322

51

μ11 = bilangan matriks partisi pada baris 1 kolom 1

Q1

= 0355

5154

= 0069

μ12 = bilangan matriks partisi pada baris 1 kolom 2

Q2

= 0170

3554

= 0048

Setelah melakukan perhitungan seperti diatas untuk semua bilangan matriks sehingga matriks partisi sudah ternormalisasi seperti yang ditunjukkan pada Tabel 48

Tabel 48 Derajat keanggotaan matriks partisi data A

i micro

C1 C2

1 0069 0048

2 0034 0229

3 0039 0054

4 0075 0128

5 0116 0148

6 0159 0048

7 0136 0065

8 0140 0161

9 0068 0029

10 0165 0090

d Perhitungan pusat cluster (V)

Pada perhitungan pusat cluster (V) berdasarkan Persamaan 26 Dimana setiap bilangan penyusun matriks partisi (micro) dipangkatkan dengan w dimana variabel w yang sudah dideklarisakan terlebih dahulu dengan nilai sama dengan 2 dan dikalikan dengan bilangan penyusun matriks X yang merupakan matriks berisi data yang ada pada Tabel 41 Selanjutnya hasil perkalian tersebut dijumlah dan dibagi dengan jumlah hasil kuadrat dari bilangan penyusun matriks partisi Hasil perhitungan ditunjukkan pada Tabel 49

52

Tabel 49 Perhitungan pusat cluster data A

Berdasarkan jumlah cluster dari data A yaitu 2 maka terdapat 2 pusat cluster (V) yaitu V1 V2 Perhitungan nilai V adalah sebagai berikut

V1 = sum ((μic1)2 times Xi)10

i=1

sum (μic1)210i=1

= 10730216

0121620

= 8822718207

V2 = sum ((μic2)2 times Xi)10

i=1

sum (μic2)210i=1

= 12111287

0137572

= 8803592572

Jadi berdasarkan perhitungan diatas pusat cluster untuk data A pada iterasi ke-1 adalah 8822718207 8803592572

e Perhitungan fungsi objektif (P)

Pada perhitungan P menggunakan Persamaan 27 dimana setiap baris pada data matriks X dikurangi pusat cluster (V) selanjutnya dikuadratkan Hasilnya

i X microsup2 microsup2 x X

C1 C2 C1 C2

1 95 0004731 0002292 0449450 0217718

2 90 0001137 0052633 0102304 4736927

3 94 0001512 0002864 0142117 0269234

4 83 0005630 0016427 0467258 1363472

5 85 0013448 0021907 1143107 1862112

6 92 0025233 0002291 2321422 0210787

7 86 0018542 0004243 1594602 0364916

8 89 0019487 0025916 1734356 2306543

9 93 0004590 0000816 0426841 0075870

10 86 0027311 0008183 2348759 0703706

Jumlah 0121620 0137572 10730216 12111287

53

kemudian dikalikan dengan micro yang sudah dipangkatkan dengan bobot (w) seperti yang telah ditunjukkan pada Tabel 49 Selanjutnya hasil tersebut dijumlah per kolom seperti yang ditunjukkan pada Tabel 410

Tabel 410 Fungsi objektif data A

i X (X-V)sup2 (X-V)sup2 x microsup2

C1 C2 C1 C2

1 95 458711 484983 02170 01111

2 90 31429 38576 00036 02030

3 94 333254 355702 00504 01019

4 83 273234 253605 01538 04166

5 85 104147 92168 01401 02019

6 92 142342 157139 03592 00360

7 86 49603 41450 00920 00176

8 89 05972 09294 00116 00241

9 93 227798 246420 01046 00201

10 86 49603 41450 01355 00339

Jumlah 1267661573 1166282827

Fungsi Objektif (P) 24339444

Perhitungan nilai fungsi objektif dilakukan seperti Persamaan 27 Nilai fungsi objektif diperoleh dengan cara sebagai berikut P = sum sum ([(Xi minus Vc)2](μik)2)3

c=110i=1

P = 1267661573 + 1166282827

= 24339444

f Perbaikan matriks partisi

Pada langkah ini perbaikan matriks partisi dilakukan berdasarkan Persamaan 28 Data matriks X untuk setiap barisnya dikurangi pusat cluster lalu dikuadratkan seperti yang ditunjukkan pada Tabel 410 Selanjutnya hasilnya dipangkatkan dengan -11 karena w-1 = 1 Hasil pangkat -1 terhadap (X-V)2 ditunjukkan pada Tabel 411

54

Tabel 411 Perbaikan matriks partisi

i ((X-V)sup2)^-1

Jumlah C1 C2

1 0022 0021 0042

2 0318 0259 0577

3 0030 0028 0058

4 0037 0039 0076

5 0096 0108 0205

6 0070 0064 0134

7 0202 0241 0443

8 1674 1076 2750

9 0044 0041 0084

10 0202 0241 0443

Berdasarkan tabel diatas bilangan penyusun matriks partisi yang baru atau yang telah diperbaiki diperoleh dari hasil pembagian data terhadap jumlah per barisnya

12058311 = 0022

0042= 0514

12058312 = 0021

0042= 0486

Pada perhitungan nilai matriks yang sudah diperbaiki dilakukan pada semua elemen matriks sehingga hasil perbaikan matriks seperti yang ditunjukkan pada Tabel 412

Tabel 412 Hasil perbaikan matriks partisi

Setelah mendapatkan hasil perbaikan matriks partisi kita lakukan pengecekan selama iterasi kurang dari iterasi maksimum (maxIter) atau selisih antara fungsi objektif iterasi saat ini dengan iterasi sebelumnya bernilai lebih dari nilai error terkecil yaitu 001 maka proses berlanjut dengan kembali melakukan perhitungan pusat cluster hingga perbaikan matriks partisi Hasil

i micro

C1 C2

1 0514 0486

2 0551 0449

3 0516 0484

4 0481 0519

5 0469 0531

6 0525 0475

7 0455 0545

8 0609 0391

9 0520 0480

10 0455 0545

55

perhitungan pusat cluster dari data A B C dan D setelah dilakukan proses tiga kali iterasi dan diurutkan mulai dari yang terkecil sampai yang terbesar ditunjukkan pada Tabel 413

Tabel 413 Hasil pusat cluster

4232 Perhitungan batas subinterval

Perhitungan batas subinterval dilakukan dengan mencari nilai tengah (Median) dari setiap pusat cluster Berikut merupakan contoh perhitungan batas subinterval pada data A

a Interval 1 Batas bawah = 78835 (Batas bawah Universe of Discourse pada data A) Batas atas = 89347 (Median 88303 dan 90390)

b Interval 2 Batas bawah = 89347 (Median 88303 dan 90390) Batas atas = 99165 (Batas atas Universe of Discourse pada data A)

Seperti perhitungan diatas juga dilakukan pada data suhu (B) kelembaban (C) dan kecepatan angin (D) Dalam hal ini jumlah subinterval setiap atribut berbeda ndash beda sesuai dengan jumlah cluster yang sebelumnya ditunjukkan pada Tabel 46 Berikut merupakan batas subinterval masing ndash masing atribut yang ditunjukkan pada Tabel 414

Tabel 414 Batas subinterval masing ndash masing atribut data

Interval (micro)

A B C D

1

78835 25984 751708 6208

sd sd sd sd

89347 26181 823863 6249

2

89347 26181 823863 6249

sd sd sd sd

99165 26366 82411 6256

3

82411 6256

- - sd sd

82537 6312

Cluster A B C D

1 88303 26165 82391 62497

2 90390 26197 82408 62499

3 - - 82415 62613

56

424 Pembentukan Fuzzy Set

Pembentukan fuzzy set berdasarkan pada derajat keanggotaan dari subinterval (micro) fuzzy set dari data A ditentukan dengan derajat keanggotaan sebagai berikut

A1 = 1micro1 + 05micro2

A2 = 05micro1 + 1micro2

Pada derajat keanggotaan data A diatas simbol ldquo+rdquo menunjukkan operator himpunan gabungan Berdasarkan subinterval pada Tabel 414 nilai batas fuzzy set dari data atribut A dapat ditentukan dengan cara sebagai berikut

A1 = 78835 sd 94256 (Batas bawah interval 1 sd titik tengah interval 2)

A2 = 84091 sd 99165 (Titik tengah interval 1 sd batas atas interval 2)

Setelah diketahui batas masing ndash masing fuzzy set grafik fungsi keanggotaan fuzzy set data A yang direpresentasikan dalam kurva bahu yang ditunjukkan pada Gambar 422 Dengan cara yang sama juga ditentukan pula fuzzy set dari data attribut B C dan D

425 Fuzzifikasi

Pada langkah fuzzifikasi dilakukan dengan mencari derajat keanggotaan yang memiliki nilai paling besar (maksimum) dari masing ndash masing data terhadap fuzzy set yang sudah terbentuk Derajat keanggotaan dicari berdasarkan fungsi keanggotaan kurva bentuk bahu Berikut ini adalah perhitungan derajat keanggotaan dari data attribut A

Data aktual curah hujan (A) pada April 2014 dasarian ke-3 = 90

1198601 = 942558 ndash 90

942558minus840911= 041868427

Gambar 422 Grafik fuzzy set data A

57

1198602 = 90minus840911

942558minus840911= 058131636

Derajat keanggotaan paling besar berada pada A2 sehingga data attribut A pada April 2014 dasarian ke-3 difuzzifikasikan ke fuzzy set A2 Perhitungan yang sama dilakukan pada seluruh data attribut A sehingga didapat derajat keanggotaan dan hasil fuzzifikasi dari data A ditunjukkan pada Tabel 415

Tabel 415 Hasil derajat keanggotaan dan fuzzy set data A

i Data A1 A2 Fuzzyfikasi

1 95 0 1 A2

2 90 041868363 058131636 A2

3 94 002516357 097483642 A2

4 83 1 0 A1

5 85 09105837 008941629 A1

6 92 02219236 077807639 A2

7 86 08122036 018779631 A1

8 89 05170636 048293635 A1

9 93 01235436 087645641 A2

10 86 08122037 018779631 A1

Perhitungan yang sama juga dilakukan pada semua attribut yaitu attribut B C dan D Sehingga dapat diperoleh hasil fuzzifikasi sesuai derajat keanggotaan dengan nilai paling besar Berikut adalah hasil fuzzifikasi untuk semua attribut yang dapat dilihat pada Tabel 416

Tabel 416 Hasil fuzzifikasi semua data attribut

No Tanggal A B C D

1 Dasarian 2 (April 2014) A2 B1 C3 D3

2 Dasarian 3 (April 2014) A2 B1 C3 D3

3 Dasarian 1 (Mei 2014) A2 B1 C3 D3

4 Dasarian 2 (Mei 2014) A1 B2 C1 D1

5 Dasarian 3 (Mei 2014) A1 B2 C1 D1

6 Dasarian 1 (Juni 2014) A2 B1 C2 D2

7 Dasarian 2 (Juni 2014) A1 B2 C1 D1

8 Dasarian 3 (Juni 2014) A1 B2 C2 D1

9 Dasarian 1 (Juli 2014) A2 B1 C2 D2

10 Dasarian 2 (Juli 2014) A1 B2 C2 D1

58

426 Pembentukan Fuzzy Logical Relationship (FLR)

Pada tahap pembentukan FLR dengan berdasarkan nilai order yang sudah ditentukan Pada manualisasi ini berdasarkan dari Tabel 416 di misalkan nilai order kita deklarasikan dengan nilai 3 sehingga dapat menghasilkan 7 FLR Hasil pembentukan FLR Data training dapat ditunjukkan pada Tabel 417 Hasil pembentukan FLR Data testing dapat ditunjukkan pada Tabel 418

Tabel 417 Hasil pembentukan FLR data training

No Fuzzy Logical Relationship (FLR)

1 (A(12)B(11)C(13)D(13)) (A(22)B(21)C(23)D(23)) (A(32)B(31)C(33)D(33)) rarr A1

2 (A(12)B(11)C(13)D(13)) (A(22)B(21)C(23)D(23)) (A(31)B(32)C(31)D(31)) rarr A1

3 (A(12)B(11)C(13)D(13)) (A(21)B(22)C(21)D(21)) (A(31)B(32)C(31)D(31)) rarr A2

4 (A(11)B(12)C(11)D(11)) (A(21)B(22)C(21)D(21)) (A(32)B(31)C(32)D(32)) rarr A1

5 (A(11)B(12)C(11)D(11)) (A(22)B(21)C(22)D(22)) (A(31)B(32)C(31)D(31)) rarr A1

Tabel 418 Hasil pembentukan FLR data testing

No Fuzzy Logical Relationship (FLR)

1 (A(12)B(11)C(12)D(12)) (A(21)B(22)C(21)D(21)) (A(31)B(32)C(32)D(31)) rarr A2

2 (A(11)B(12)C(11)D(11)) (A(21)B(22)C(22)D(21)) (A(32)B(31)C(32)D(32)) rarr A1

427 Defuzzifikasi

Pada tahap ini misalkan jumlah data yang digunakan untuk data uji atau data testing adalah dua yaitu yang pertama data periode ke-9 dan yang kedua data periode ke-10 Sehingga yang digunakan data latih atau data training adalah data pada periode ke-1 sampai data periode ke-8 Pada data testing yang pertama melibatkan FLR ke-1 sampai FLR ke-5 untuk disesuaikan dengan FLR ke-6 yang berdasarkan pada Tabel 417 Pada data testing yang kedua melibatkan FLR ke-1 sampai FLR ke-6 untuk disesuaikan dengan FLR ke-7 yang berdasarkan pada Tabel 417 Selanjutnya setiap ruas kiri FLR data testing dibandingkan dengan FLR data training yaitu pada bilang pangkat bawah fuzzy set dibandingkan sesuai dengan posisinya dan dihitung selisihnya Hasil dari perhitungan selisih tersebut dijumlahkan dan apabila jumlah selisihnya kurang dari threshold maka FLR tersebut dikatakan cocok Threshold merupakan dari hasil mengalikan jumlah order dengan jumlah faktor kemudian dijumlahkan dengan dengan sebuah konstanta Contoh perhitungan selisih nilai ruas kiri FLR pada data testing pertama adalah sebagai berikut

59

Data testing = (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(32) B(31) C(33) D(33)) rarr A1

Data training =

1 (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(31) B(32) C(31) D(31)) rarr A1

2 (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(31) B(32) C(31) D(31)) rarr A1

3 (A(12) B(11) C(13) D(13)) (A(21) B(22) C(21) D(21)) (A(31) B(32) C(31) D(31)) rarr A2

4 (A(11) B(12) C(11) D(11)) (A(21) B(22) C(21) D(21)) (A(32) B(31) C(32) D(32)) rarr A1

5 (A(11) B(12) C(11) D(11)) (A(22) B(21) C(22) D(22)) (A(31) B(32) C(31) D(31)) rarr A1

Selisih data ke- 1 = |2-2|+|1-1|+|3-2|+|3-2|+|2-1|+|1-2|+|3-1|+|3-1|+|2-1|+|1-2|+|3-2|+|3-1| = 13

Selisih data ke- 2 = |2-2|+|1-1|+|3-2|+|3-2|+|2-1|+|1-2|+|3-1|+|3-1|+|1-1|+|2-2|+|1-2|+|1-1| = 9

Selisih data ke- 3 = |2-2|+|1-1|+|3-2|+|3-2|+|1-1|+|2-2|+|1-1|+|1-1|+|1-1|+|2-2|+|1-2|+|1-1| = 3

Selisih data ke- 4 = |1-2|+|2-1|+|1-2|+|1-2|+|1-1|+|2-2|+|1-1|+|1-1|+|2-1|+|1-2|+|2-2|+|2-1| = 7

Selisih data ke- 5 = |1-2|+|2-1|+|1-2|+|1-2|+|2-1|+|1-2|+|2-1|+|2-1|+|1-1|+|2-2|+|1-2|+|1-1| = 9

Pada perhitungan selisih nilai ruas kiri FLR pada data testing juga dilakukan pada semua data testing yang sudah dideklarasikan sebelumnya Dalam hal ini agar dapat menemukan FLR yang cocok dengan data testing Tahap selanjutnya adalah proses defuzzifikasi menggunakan threshold yang dimisalkan 18 sehingga FLR yang memiliki kecocokan dengan data testing pertama adalah semua FLR dari ke-1 sampai ke-5 karena memiliki hasil selisih kurang dari 18 Semua FLR yang cocok ditampung dikelompokkan berdasarkan FLR pada ruas kanan yang sama kemudian dhitung frekuensinya Berikut adalah frekuensi dan pusat cluster dari ruas kanan FLR yang cocok dengan data testing pertama dan kedua ditunjukkan pada Tabel 419

Tabel 419 Frekuensi FLR yang cocok dengan data testing

Data testing 1 Data testing 2

Ruas kanan A1 A2 A1 A2

Pusat Cluster 88303 90390 88303 90390

Frekuensi 4 1 4 2

Berdasarkan pada Tabel 419 dilakukan defuzzifikasi sesuai dengan Persamaan 218 sebagai berikut

119863119886119905119886 119905119890119904119905119894119899119892 1 = (88303times4)+(90390times1)

5= 887204

60

119863119886119905119886 119905119890119904119905119894119899119892 2 = (88303times4)+(90390times2)

6= 889987

Jadi berdasarkan perhitungan diatas diperoleh hasil peramalan curah hujan pada pada April 2014 dasarian ke-3 adalah 1384601636 sedangkan pada tanggal 10012016 adalah 2769203272 Perbandingan data curah hujan aktual dan hasil peramalan dengan metode High Order Fuzzy Time Series Multi Factors dapat dilihat pada Tabel 420

Tabel 420 Perbandingan data aktual dan hasil peramalan

No Data Aktual Hasil Peramalan

1 93 887204

2 86 889987

Dari hasil peramalan yang ditunjukkan pada Tabel 420 dapat dilakukan perhitungan kesalahan peramalan menggunakan metode Mean Square Error (MSE) seperti Persamaan 219

119872119878119864 = ((93minus887206)2+(86minus889989)2)

2

= 136536

43 Perancangan antarmuka

Perancangan antarmuka merupakan perancangan dari tampilan antarmuka atau interface yang nantinya akan diterapkan pada tahapan implementasi Pada perancangan antarmuka ini terdapat lima halaman utama dan juga terdapat dalam menu berupa button yaitu halaman input halaman tampil data halaman proses halaman hasil dan halaman perhitungan error

431 Halaman input

Pada halaman input terdapat inputan data dengan nama button Browse Data pada inputan data ini pengguna diharuskan memasukkan inputan file data dalam bentuk ekstensi xls serta direktori lokasi file yang di inputkan akan ditampilkan pada textfield dan juga terdapat label yang menampilkan jumlah banyaknya data yang terdapat pada file yang telah di inputkan Selanjutnya juga terdata inputan textfield data training data testing order dan nilai konstanta Pada halaman input ini juga terdapat button fuzzification yang berfungsi untuk melakukan proses clustering fuzzifikasi dan FLR Selanjutnya pada button forecasting berfungsi untuk melakukan peramalan atau defuzzifikasi dari hasil proses fuzzifikasi serta menghitung nilai error dari hasil peramalan Berikut

61

merupakan rancangan tampilan antarmuka dari halaman input yang ditunjukkan pada Gambar 423

432 Halaman tampil data

Pada halaman tampil data terdapat tabel yang menampilkan isi data dari xls yang sudah dimasukkan terlebih dahulu pada halaman input Tabel tampil data akan menampilkan tanggal curah hujan kelembaban suhu dan kecepatan angin Berikut merupakan tampilan rancangan halaman tampil data yang ditunjukkan pada Gambar 424

Gambar 423 Rancangan antarmuka halaman input

Gambar 424 Rancangan antarmuka halaman tampil data

62

433 Halaman proses

Pada halaman proses akan menampilkan hasil clustering fuzzifikasi dan fuzzy logical relationship Pada tampilan halaman clustering akan menampilkan Universe of Discourse curah hujan suhu kelembaban dan kecepatan angin Selanjutnya tampilan dibawahnya akan menampilkan jumlah cluster dari setiap faktor yaitu jumlah cluster curah hujan suhu kelembaban dan kecepatan angin Berikut merupakan tampilan perancangan halaman proses clustering yang ditunjukkan Gambar 425

Selanjutnya pada tampilan proses fuzzifikasi akan menampilkan tabel hasil fuzzifikasi dari curah hujan suhu kelembaban dan kecepatan angin Berikut adalah tampilan rancangan proses fuzzifikasi yang ditunjukkan pada Gambar 426

Gambar 425 Rancangan antarmuka halaman proses clustering

Gambar 426 Rancangan antarmuka proses fuzzifikasi

63

Pada tampilan proses fuzzy logical relationship (FLR) akan menampilkan textarea berisi hasil proses FLR dari curah hujan suhu kelembaban dan kecepatan angin Berikut adalah tampilan rancangan proses fuzzy logical relationship yang ditunjukkan pada Gambar 427

434 Halaman hasil

Pada halaman hasil peramalan akan menampilkan tabel yang berisi hasil peramalan curah hujan dan data curah hujan yang sebenarnya Serta terdapat text link yang akan menampilkan grafik perbandingan data hasil peramalan dan data yang sebenarnya Berikut adalah tampilan rancangan halaman hasil yang ditunjukkan pada Gambar 428

Gambar 427 Rancangan antarmuka proses fuzzy logical relationship

Gambar 428 Rancangan antarmuka halaman hasil peramalan

64

435 Halaman perhitungan error

Pada halaman perhitungan error akan menampilkan nilai dari hasil perhitungan Mean Square Error (MSE) pada textfield Berikut adalah tampilan rancangan halaman perhitungan error yang ditunjukkan pada Gambar 429

44 Perancangan pengujian

Pada penelitian ini akan dilakukan empat pengujian yaitu pengujian terhadap nilai order nilai threshold pengujian terhadap jumlah data training untuk mengetahui pengaruhnya terhadap nilai Mean Square Error (MSE) dan pengujian validasi sistem untuk mengetahui kestabilan hasil implementasi

441 Perancangan pengaruh order terhadap nilai MSE

Order merupakan jumlah urutan data yang digunakan dalam pembentukkan Fuzzy Logical Relationship (FLR) Pada pengujian ini dilakukan percobaan dengan order yang berbeda ndash beda Pengujian ini bertujuan untuk mengetahui pengaruh order terhadap hasil peramalan Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Pada setiap pengujian yang telah dilakukan dihitung nilai MSEnya untuk mengetahui tingkat kesalahan metode ini apabila dilakukan dengan order yang berbeda Berikut adalah perancangan pengujian order terhadap nilai MSE ditunjukkan pada Tabel 421

Tabel 421 Rancangan pengujian order terhadap nilai MSE

No Order Threshold MSE

1

Gambar 429 Rancangan antarmuka halaman perhitungan error

65

442 Perancangan pengaruh threshold terhadap nilai MSE

Nilai threshold bergantung jumlah order karena untuk nilai threshold merupakan dari hasil mengalikan jumlah faktor yang mempengaruhi dengan order selanjutnya dijumlah dengan sebuah konstanta Pada pengujian ini dilakukan percobaan dengan konstanta yang berbeda ndash beda sehingga menghasilkan threshold yang berbeda pula Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Dari setiap percobaan yang telah dilakukan dihitung nilai MSEnya untuk mengetahui tingkat kesalahan metode ini apabila dilakukan dengan konstanta dan threshold yang berbeda Berikut merupakan rancangan pengujian pengaruh threshold terhadap nilai MSE yang ditunjukkan pada Tabel 422

Tabel 422 Rancangan pengujian threshold terhadap nilai MSE

No Konstanta Threshold MSE

1

443 Perancangan pengaruh jumlah data training terhadap nilai MSE

Data training sangat berperan penting dalam proses defuzzifikasi sehingga pada penelitian ini dilakukan pengujian pengaruh jumlah data training terhadap tingkat kesalahan dari hasil peramalan Pada pengujian ini dilakukan percobaan dengan jumlah data training yang berbeda ndash beda Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Dari setiap percobaan dilakukan perhitungan nilai MSE untuk mengetahui tingkat kesalahan dari hasil peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors dengan jumlah data training yang berbeda ndash beda Sehingga dari hasil pengujian ini dapat diketahui pengaruh dari jumlah data training Berikut merupakan rancangan pengujian pengaruh jumlah data training yang ditunjukkan pada Tabel 423

Tabel 423 Rancangan pengujian jumlah data training terhadap nilai MSE

No Jumlah Data Training MSE

1

444 Perancangan validasi sistem

Pada pengujian validasi sistem akan melakukan pengujian dengan menggunakan order threshold terbaik seperti yang telah dilakukan pada

66

pengujian ndash pengujian sebelumnya yang menghasilkan hasil error MSE terendah Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Berikut merupakan rancangan pengujian validasi sistem yang ditunjukkan pada Tabel 424

Tabel 424 Rancangan pengujian validasi sistem

Percobaan ke- MSE

1

67

BAB 5 IMPLEMENTASI

Pada bab ini berisi pembahasan hasil implementasi metode High Order Fuzzy Time Series Multi Factors yang sesuai dengan bab sebelumnya yaitu perancangan Bab ini terdiri dari spesifikasi sistem implementasi algoritma dan implementasi antarmuka

51 Spesifikasi Sistem

Pada spesifikasi sistem ini dibagi mejadi dua yaitu spesifikasi perangkat keras dan spesifikasi perangkat lunak

511 Spesifikasi Perangkat Keras

Spesifikasi perangkat keras merupakan perangkat keras yang digunakan pada implementasi penelitian ini Perangkat keras yang digunakan adalah laptop dengan spesifikasi sesuai dengan pada Tabel 51 berikut

Tabel 51 Spesifikasi Perangkat Keras

Komponen Spesifikasi

Processor Intelcopy Core i3-3217U 180 GHz

Memori (RAM) 8 GB RAM

Harddisk 500 GB RAM

512 Spesifikasi Perangkat Lunak

Spesifikasi perangkat lunak merupakan perangkat lunak yang digunakan pada implementasi penelitian ini Perangkat lunak yang digunakan pada implementasi penelitian sesuai dengan yang ditunjukkan pada Tabel 52 berikut

Tabel 52 Spesifikasi Perangkat Lunak

Sistem Operasi Microsoft Windows 7 (64 bit)

Bahasa Pemrograman Java

Tools Pemrograman Netbeans 81

Data Microsoft Excel 2013

52 Implementasi Algoritma

Pada implementasi algoritma ini membahas mengenai hasil implementasi algoritma metode High Order Fuzzy Time Series Multi Factors yang mengacu pada bab sebelumnya yaitu perancangan Dalam penelitian ini implementasi algoritma menggunakan bahasa pemrograman java berbasis desktop Implementasi algoritma terdiri dari beberapa method sesuai dengan langkah ndash langkah pada algoritma metode High Order Fuzzy Time Series Multi Factors

68

521 Implementasi Proses Universe of Discourse

Pada implementasi Universe of Discourse seperti yang ditunjukkan Kode Program 51 dimana pada source code method Universe_of_Discourse baris 3 - 5 terdapat pemanggilan method mean standar_deviasi dan Min_dan_Max Dimana pemanggilan method tersebut dibutuhkan untuk melakukan proses perhitungan selanjutnya yaitu untuk menghitung batas bawah dan batas atas dari Univers of Discourse Baris 7-10 untuk menghitung hasil Universe of Discourse Berikut merupakan source code dari proses Universe of Discourse yang ditunjukkan pada Kode Program 51

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

private void Universe_of_Discourse()

mean()

standar_deviasi()

Min_dan_Max()

hsl_uMin = new double[jmlh_Faktor]

hsl_uMax = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

hsl_uMin[i] = hsl_min[i] - hsl_stdev[i]

hsl_uMax[i] = hsl_max[i] + hsl_stdev[i]

Kode Program 51 Implementasi proses Universe of Discourse

5211 Implementasi proses mean

Pada implementasi proses mean merupakan proses perhitungan nilai rata ndash rata dari setiap faktor yang nantinya hasilnya diperlukan untuk proses perhitungan standar deviasi Berikut merupakan source code dari proses mean yang ditunjukkan pada Kode Program 52 Perhitungan utama proses mean terdapat pada baris 3 ndash 8

Baris Kode

1 2 3 4 5 6 7 8 9

private void mean()

hsl_mean = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double tmp_jmlh = 0

for (int j = 0 j lt jmlh_DataTraining j++)

tmp_jmlh = tmp_jmlh + data[i][j]

hsl_mean[i] = (tmp_jmlh jmlh_DataTraining)

Kode Program 52 Implementasi proses mean

5212 Implementasi proses standar deviasi

Pada implementasi proses perhitungan standar deviasi merupakan akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel Standar deviasi dapat dilakukan perhitungan setelah mendapat nilai hasil dari perhitungan mean Berikut merupakan source code dari implementasi proses standar deviasi yang ditunjukkan pada Kode Program 53 Perhitungan utama proses standar deviasi terdapat pada baris 3 ndash 9

69

Baris Kode

1 2 3 4 5 6 7 8 9 10 11

private void standar_deviasi()

hsl_stdev = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double result = 0

for (int j = 0 j lt jmlh_DataTraining j++)

result = result + (Mathpow((data[i][j] ndash

hsl_mean[i]) 2))

hsl_stdev[i]=Mathsqrt(result(jmlh_DataTraining-

1))

Kode Program 53 Implementasi proses standar deviasi

5213 Implementasi proses Dmin dan Dmax

Pada implementasi proses Dmin dan Dmax merukan untuk mencari nilai minimum dan nilai maksimum dari data sampel untuk setiap faktor Berikut merupakan source code dari implementasi dari proses Dmin dan Dmax yang ditunjukkan pada Kode Program 54 Pada baris 8 ndash 10 merupakan bagian dari proses untuk untuk menentukan nilai data terbesar Selanjutnya pada baris 11 ndash 13 untuk menentukan nilai data terkecil

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

19

private void Min_dan_Max()

hsl_max = new double[jmlh_Faktor]

hsl_min = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double besar = data[i][0]

double kecil = data[i][0]

for (int j = 0 j lt jmlh_DataTraining j++)

if (data[i][j] gt besar)

besar = data[i][j]

if (data[i][j] lt kecil)

kecil = data[i][j]

hsl_max[i] = besar

hsl_min[i] = kecil

Kode Program 54 Implementasi proses Dmin dan Dmax

522 Implementasi Proses Jumlah Cluster

Pada implementasi proses jumlah cluster merupakan proses perhitungan jumlah cluster dari setiap faktor Implementasi ini dapat dilakukan apabila sudah mendapatkan hasil output dari method Min_dan_Max() sudah didapatkan Berikut merupakan source code dari implementasi proses jumlah cluster yang ditunjukkan pada Kode Program 55 Pada baris 3 ndash 7 untuk digunakan untuk menghitung selisih data sampel setiap baris dari semua faktor pada data sampel ke t dengan t+1 Selanjutnya pada baris 9 ndash 10 untuk menghitung jumlah cluster dari setiap faktor

70

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

12

13

private void jumlah_Cluster()

jmlh_Cluster = new int[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double selisih = 0

for (int j = 0 j lt (jmlh_DataTraining - 1) j++)

selisih = selisih + (Mathabs((data[i][j]

- data[i][(j + 1)])))

jmlh_Cluster[i] = (int) Mathround((Mathabs(

hsl_min[i]-hsl_max[i]))(selisih(jmlh_DataTraining

-1)))

Kode Program 55 Implementasi proses jumlah cluster

523 Implementasi Proses Pusat Cluster

Implementasi proses perhitungan pusat cluster ini menggunakan metode fuzzy C-means untuk mendapatkan pusat cluster yang nantinya digunkan sebagai subinterval Implementasi ini memerlukan hasil dari proses method jumlah_Cluster() agar dapat melakukan perhitungan subinterval Berikut merupakan source code dari implementasi proses subinterval yang ditunjukkan pada Kode Program 56 Pada Kode Program 56 hanya menampilkan source code pembentukan subinterval pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 2 ndash 3 merupakan deklarasi variabel bobot iterasi maksimum selisih fungsi objektif awal dan error minimum Pada baris 8 ndash 20 merupakan proses pembentukan matriks partisi dengan nilai random 0 sampai 1 Pada baris 22 ndash 26 merupakan proses normalisasi matriks partisi yang telah terbentuk Pada baris 28 ndash 63 merupakan proses untuk menentukan pusat cluster Pada baris 65 ndash 86 merupakan proses perhitungan fungsi objektif dari iterasi Pada baris 88 ndash 90 merupakan proses perhitungan selisih fungsi objektif Pada baris 92 ndash 108 adalah proses perbaikan matriks partisi Pada baris 110 ndash 115 adalah proses hasil perbaikan matriks partisi Pada baris 116 - 133 adalah proses dengan pengkondisian apakah selisih fungsi objektif lebih kecil dari error minimum serta apabila memenuhi kondisi maka dilanjutkan ke proses pengurutan pusat cluster secara ascending dari hasil iterasi terakhir dan proses pengkondisian iterasi berhenti

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

private void pusat_cluster()

int bobot = 2int iter_maksimum = 100

double selisih_f_objektif = 0double error_min = 001

for (int i = 0 i lt jmlh_Faktor i++)

faktor A

if (i == 0)

Pembentukkan matriks partisi

tmp_Matriks1=new

double[jmlh_Cluster[i]][jmlh_DataTraining]

q1 = new double[jmlh_Cluster[i]]

double jmlh_q1

for (int j = 0 j lt jmlh_Cluster[i] j++)

jmlh_q1 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

71

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

double random = ThreadLocalRandomcurrent()

nextDouble(01 1)

tmp_Matriks1[j][k] = random

jmlh_q1 = jmlh_q1 + random

q1[j] = jmlh_q1

normalisasi matriks

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k] q1[j]

Perhitungan pusat cluster

for (int iter = 0 iter lt iter_maksimum iter++)

selisih_f_objektif = 0

jumA1 = new double[iter_maksimum][jmlh_Cluster[i]]

jumA2 = new double[iter_maksimum][jmlh_Cluster[i]]

miu_Matriks1 = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

XV_Matriks1 = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

pusat_cluster1 = new double[jmlh_Cluster[i]]

double hitung_jum1

double hitung_jum2

for (int j = 0 j lt jmlh_Cluster[i] j++)

hitung_jum1 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow(tmp_Matriks1

[j][k]bobot)

miu_Matriks1[j][k] = tmp_Matriks1[j][k]

hitung_jum1 = hitung_jum1 + tmp_Matriks1

[j][k]

jumA1[iter][j] = hitung_jum1

for (int j = 0 j lt jmlh_Cluster[i] j++)

hitung_jum2 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k]

data[i][k]

hitung_jum2 = hitung_jum2 +

tmp_Matriks1[j][k]

jumA2[iter][j] = hitung_jum2

for (int j = 0 j lt jmlh_Cluster[i] j++)

pusat_cluster1[j] = jumA2[iter][j]

jumA1[iter][j]

perhitungan fungsi objektif

jumA3 = new double[iter_maksimum][jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

double hitung_jum3 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow((data[i][k]

ndash pusat_cluster1[j])

bobot)

XV_Matriks1[j][k] = tmp_Matriks1[j][k]

tmp_Matriks1[j][k] = XV_Matriks1[j][k]

miu_Matriks1[j][k]

hitung_jum3 = hitung_jum3 +

tmp_Matriks1[j][k]

jumA3[iter][j] = hitung_jum3

72

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

double jmlh_f_objektif = 0

for (int j = 0 j lt jmlh_Cluster[i] j++)

jmlh_f_objektif = jmlh_f_objektif

+jumA3[iter][j]

if (iter lt (iter_maksimum - 1))

f_objektif1[iter + 1] = jmlh_f_objektif

perhitungan selisih fungsi objektif

selisih_f_objektif = f_objektif1[iter + 1]

-f_objektif1[iter]

perbaikan matriks partisi

int hitung = bobot - 1int pangkat = -1 hitung

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow(XV_Matriks1

[j][k] pangkat)

jumA4 = new

double[iter_maksimum][jmlh_DataTraining]

for (int j = 0 j lt jmlh_DataTraining j++)

double hitung_jum4 = 0

for (int k = 0 k lt jmlh_Cluster[i] k++)

hitung_jum4 = hitung_jum4 +

tmp_Matriks1[k][j]

jumA4[iter][j] = hitung_jum4

hasil perbaikan matriks

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k]

jumA4[iter][k]

if (selisih_f_objektif lt error_min)

pengurutan ascending pusat cluster

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 kltjmlh_Cluster[i]k++)

if (k lt (jmlh_Cluster[i] - 1))

if (pusat_cluster1[k] gt

pusat_cluster1[k + 1])

double tmp =

pusat_cluster1[k]

pusat_cluster1[k]=

pusat_cluster1[k+1]

pusat_cluster1[k+1] = tmp

iter = iter_maksimum

Kode Program 56 Implementasi proses pusat cluster

524 Implementasi Proses Pembentukan Subinterval dan Fuzzy Set

Pada implementasi proses pembentukan suinterval dan fuzzy set memiliki dua proses yaitu proses menentukan batas subinterval minumum serta maksimum dan proses menentukan batas fuzzy set minimum serta maksimum

73

Proses pembentukan fuzzy dapat menjalankan prosesnya setelah method subinterval() telah diakses Berikut merupakan source code proses pembentukan fuzzy set yang ditunjukkan pada Kode Program 57 Pada Kode Program 57 hanya menampilkan source code pembentukan fuzzy set pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 6 ndash 29 merupakan proses pembentukan batas minimum dan batas maksimum subinterval Pada baris 31 ndash 54 merupakan pembentukan batas minimum dan batas maksimum fuzzy set

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

private void subinterval_dan_fuzzy_set()

for (int i = 0 i lt jmlh_Faktor i++)

faktor A

if (i == 0)

batas subinterval

batas_subintervalMinA = new double[jmlh_Cluster[i]]

batas_subintervalMaxA = new double[jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

if (j == 0)

batas_subintervalMinA[j] = hsl_uMin[i]

batas_subintervalMaxA[j]=(pusat_cluster1[j]

+pusat_cluster1[j+

1])2

else if (j == (jmlh_Cluster[i] - 1))

batas_subintervalMinA[j]=

(pusat_cluster1[j-1] +pusat_cluster1

[j])2

batas_subintervalMaxA[j]=

hsl_uMax[i]

else if ((0 lt j) ampamp (j lt (jmlh_Cluster[i] -

1)))

batas_subintervalMinA[j]=

(pusat_cluster1[j-1]+

pusat_cluster1[j])2

batas_subintervalMaxA[j]=

(pusat_cluster1[j]+

pusat_cluster1[j+1)2

batas fuzzy set

batas_fuzzysetMinA = new double[jmlh_Cluster[i]]

batas_fuzzysetMaxA = new double[jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

if (j == 0)

batas_fuzzysetMinA[j]=

batas_subintervalMinA[j]

batas_fuzzysetMaxA[j]=

(batas_subintervalMinA[j+1]

+batas_subintervalMaxA[j + 1])2

else if (j == (jmlh_Cluster[i] - 1))

batas_fuzzysetMinA[j]=

(batas_subintervalMinA[j-1]

+batas_subintervalMaxA[j - 1])2

batas_fuzzysetMaxA[j] =

batas_subintervalMaxA[j]

else if ((0 lt j) ampamp (jlt(jmlh_Cluster[i]-1)))

batas_fuzzysetMinA[j]=

(batas_subintervalMinA[j-1]+

batas_subintervalMaxA[j-1])2

batas_fuzzysetMaxA[j]=

74

51

52

53

54

55

56

(batas_subintervalMinA[j+1]+

batas_subintervalMaxA[j + 1])2

Kode Program 57 Implementasi pembentukan subinterval dan fuzzy set

525 Implementasi proses fuzzifikasi

Pada Implementasi proses fuzzifikasi memiliki dua proses utama yaitu menentukan derajat keanggotaan dan proses fuzzifikasi Dalam proses ini method fuzzy_set() harus dieksekusi terlebih dahulu karena implementasi proses ini memerlukan output dari method tersebut Berikut merupakan source code fuzzifikasi ditunjukkan pada Kode Program 58 Pada Kode Program 58 hanya menampilkan source code pembentukan fuzzy set pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 3 ndash 81 merupakan proses perhitungan derajat keanggotaan Pada baris 83 ndash 94 adalah proses penentuan fuzzifikasi

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

private void fuzzifikasi()

if (i == 0)

hitung_fuzzifikasiA = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

if(j == 0)

if((data[i][k]gtbatas_fuzzysetMinA[j])ampamp

(data[i][k]lt batas_fuzzysetMinA[j + 1]))

hitung_fuzzifikasiA[j][k] = 1

if ((data[i][k] gt batas_fuzzysetMinA[j + 1])

ampamp (data[i][k] lt batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k]=

(batas_fuzzysetMaxA[j] - data[i][k])

(batas_fuzzysetMaxA[j] ndash

batas_fuzzysetMinA[j + 1])

if ((data[i][k] gt batas_fuzzysetMinA[j]) ampamp

(data[i][k] lt batas_fuzzysetMinA[j + 1])

ampamp(data[i][k] gt batas_fuzzysetMinA[j+1])

ampamp(data[i][k] lt batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k] = 0

else if (j == (jmlh_Cluster[i] - 1))

if((data[i][k] gt batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]))

hitung_fuzzifikasiA[j][k]=

(data[i][k]-batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)])

(batas_fuzzysetMaxA[(jmlh_Cluster[i]ndash

2)]-batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)])

if((data[i][k] gt batas_fuzzysetMaxA

75

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

[(jmlh_Cluster[i]- 2)]) ampamp (data[i][k]

lt batas_fuzzysetMaxA[(jmlh_Cluster[i]

- 1)]))

hitung_fuzzifikasiA[j][k] = 1

if ((data[i][k] gt batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]) ampamp

(data[i][k] gt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 1)]))

hitung_fuzzifikasiA[j][k] = 0

else if ((0 lt j)ampamp(j lt (jmlh_Cluster[i] - 1)))

if ((data[i][k] gt batas_fuzzysetMinA[j])

ampamp (data[i][k] lt batas_fuzzysetMinA[j

+1]))

hitung_fuzzifikasiA[j][k]=

(data[i][k]-batas_fuzzysetMinA[j])

(batas_fuzzysetMinA[j + 1]-

batas_fuzzysetMinA[j])

if ((data[i][k] gt batas_fuzzysetMinA

[j+1])ampamp (data[i][k] lt

batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k]=

(batas_fuzzysetMaxA[j]-data[i][k])

(batas_fuzzysetMaxA[j]-

batas_fuzzysetMinA[j + 1])

if ((data[i][k] gt batas_fuzzysetMinA[j])

ampamp (data[i][k] lt batas_fuzzysetMinA

[j + 1]) ampamp (data[i][k] gt

batas_fuzzysetMinA[j + 1]) ampamp

(data[i][k]ltbatas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k] = 0

hasil_fuzzifikasiA = new int[jmlh_DataTraining]

for (int j = 0 j lt jmlh_DataTraining j++)

int cluster = 0

double besar=hitung_fuzzifikasiA[0][j]

for (int k = 0 k lt jmlh_Cluster[i] k++)

if (besar lt hitung_fuzzifikasiA[k][j])

besar = hitung_fuzzifikasiA[k][j]

cluster = k

hasil_fuzzifikasiA[j] = cluster + 1

Kode Program 58 Implementasi proses fuzzifikasi

526 Implementasi Pembentukan Fuzzy Logical Relationship

Pada implementasi pembentukan Fuzzy Logical Relationship (FLR) memiliki dua output yaitu FLR_kiri dan FLR_kanan Dimana FLR_kiri berisi group dari kelima faktor dan pada FLR_kanan merupakan dari faktor yang akan diramalkan yaitu

76

faktor curah hujan (A) Berdasarkan dari perancangan proses pada bab sebelumnya maka implementasi source code pembentukan Fuzzy Logical Relationship (FLR) dapat ditunjukkan pada Kode Program 59 berikut Pada baris 3 ndash 14 merupakan deklarasi variabel Pada baris 15 ndash 55 adalah proses pembentukan fuzzy logical relationship data training Pada baris 56 ndash 58 merupakan deklarasi variabel Pada baris 59 ndash 86 adalah proses pembentukan fuzzy logical relationship data testing

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

Fuzzy Logical Relationship

private void fuzzy_logical_relationship()

String input_order = fieldOrdergetText()

order = IntegerparseInt(input_order)

int max_inc = order

String input_dataTraining = fieldDatatraininggetText()

int dataTraining = IntegervalueOf(input_dataTraining)

int tmp_jmlhDatatraining = 0

int tmp_order = 0

int jmlh_dataTraining = dataTraining - order

String input_dataTesting = fieldDatatestinggetText()

int jmlh_dataTesting = IntegervalueOf(input_dataTesting)

FLR_kiri_training = new

int[jmlh_DataTraining][order][jmlh_Faktor]

FLR_kanan_training = new int[jmlh_DataTraining]

for (int i = 0 i lt jmlh_dataTraining i++)

for (int j = i j lt max_inc j++)

for (int k = 0 k lt jmlh_Faktor k++)

if (j == 0)

if (k == 0)

FLR_kiri_training[i][j][k]=

hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiD[j]

else if (j = 0)

if (k == 0)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiD[j]

tmp_order = j

FLR_kanan_training[i] = hasil_fuzzifikasiA[(i + order)]

if (max_inc lt (jmlh_DataTraining - 1))

max_inc = max_inc + 1

77

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

tmp_jmlhDatatraining = i

FLR_kiri_testing = new

int[jmlh_DataTraining][order][jmlh_Faktor]

FLR_kanan_testing = new int[(jmlh_DataTraining)]

tmp_jmlhDatatraining = tmp_jmlhDatatraining + 1

for (int i = 0 i lt jmlh_dataTesting i++)

for (int j = tmp_jmlhDatatraining j lt max_inc j++)

for (int k = 0 k lt jmlh_Faktor k++)

if (k == 0)

FLR_kiri_testing[i][j - tmp_jmlhDatatraining][k]

= hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiD[j]

FLR_kanan_testing[i] =

hasil_fuzzifikasiA[(tmp_jmlhDatatraining + order)]

if (max_inc lt (jmlh_DataTraining - 1))

max_inc = max_inc + 1

tmp_jmlhDatatraining++

Kode Program 59 Implementasi pembentukan FLR

527 Implementasi Proses Defuzzifikasi

Pada implementasi proses defuzzifikasi merupakan proses dimana menentukan hasil peramalan dari data testing berdasarkan dari bilangan fuzzy yang terbentuk Implementasi ini memiliki beberapa inputan penting yaitu data training data testing order dan konstanta Inputan tersebut sangat berperan penting dalam proses implementasi defuzzifikasi Berdasarkan dari perancangan proses pada bab sebelumnya maka implementasi source code defuzzifikasi dapat ditunjukkan pada Kode Program 510 berikut Pada baris 2 ndash 11 merupakan deklarasi variabel Pada baris 13 ndash 37 merupakan proses perhitungan selisih antara data training dengan data testing Pada baris 40 ndash 47 menghitung jumlah FLR yang cocok Pada baris 49 ndash 65 merupakan proses mencocokan FLR kiri yang cocok dengan FLR kanan Pada baris 67 ndash 81 merupakan proses menghitung jumlah frekuensi FLR kanan yang cocok Pada baris 83 ndash 91 adalah proses perhitungan hasil peramalan

Baris Kode 1

2

3

4

private void defuzifikasi()

String input_dataTraining = fieldDatatraininggetText()

String input_dataTesting = fieldDatatestinggetText()

String input_konstanta = fieldKonstantagetText()

78

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

int dataTraining = IntegervalueOf(input_dataTraining)

int dataTesting = IntegervalueOf(input_dataTesting)

int konstanta = IntegervalueOf(input_konstanta)

int match[][]

match = new int[dataTesting][2000]

int threshold = (jmlh_Faktor order) + konstanta

int hitung_selisih = 0

perhitungan selisih

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt (dataTraining + i) j++)

hitung_selisih = 0

for (int k = 0 k lt order k++)

for (int l = 0 l lt jmlh_Faktor l++)

if (i == 0)

hitung_selisih = hitung_selisih +

(Mathabs(FLR_kiri_training[j][k][l] ndash

FLR_kiri_testing[i][k][l]))

else if (i gt 0)

FLR_kiri_training[(dataTraining-

1)+i][k][l] = FLR_kiri_testing[i-

1][k][l]

FLR_kanan_training[(dataTraining-1)+i]

= FLR_kanan_testing[i-1]

hitung_selisih = hitung_selisih +

(Mathabs(FLR_kiri_training[j][k][l] ndash

FLR_kiri_testing[i][k][l]))

if (hitung_selisih lt threshold)

match[i][j] = hitung_selisih

menghitung jumlah total FLR yang cocok untuk setiap data

testing

int countGroup[] = new int[dataTesting]

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt (dataTraining + i) j++)

if (match[i][j] gt 0)

countGroup[i]++

mencocokan FLR_kiri yang cocok dengan FLR_kanan

group = new int[dataTesting][2000]

for (int i = 0 i lt dataTesting i++)

int tmp_count = 0

for (int j = 0 j lt (dataTraining + i) j++)

if (match[i][j] gt 0)

if (tmp_count lt countGroup[i])

group[i][tmp_count] = j

tmp_count++

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt countGroup[i] j++)

group[i][j] = FLR_kanan[group[i][j]]

mengelompokkan yang sama

MapltInteger Integergt map = new HashMapltInteger Integergt()

hasil_peramalan = new double[dataTesting]

for (int i = 0 i lt dataTesting i++)

79

70

71

72

73

74

75 76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

double peramalan = 0

mapclear()

for (int j = 0 j lt countGroup[i] j++)

int key = group[i][j]

if (mapcontainsKey(key))

int occurrence = mapget(key)

occurrence++

mapput(key occurrence)

else

mapput(key 1)

menghitung hasil peramlaan

Iterator iterator = mapkeySet()iterator()

while (iteratorhasNext())

int key = (Integer) iteratornext()

int occurrence = mapget(key)

peramalan = (peramalan + (pusat_cluster1[(key - 1)]

occurrence))

hasil_peramalan[i] = (peramalan countGroup[i])

Kode Program 510 Implementasi proses defuzzifikasi

53 Implementasi Antarmuka

Pada implementasi antarmuka dijelaskan beberapa halaman antarmuka untuk penggunaan dari program hasil implementasi Implementasi antarmuka berdasarkan perancangan yang telah dijelasakan pada bab sebelumnya yaitu bab perancangan Halaman antarmuka yang dibuat adalah halaman input halaman tampil data halaman proses halaman hasil dan halaman perhitungan error

531 Implementasi antarmuka halaman input

Halaman input merupakan halaman yang pertama muncul setelah program dijalankan Pada halaman input ini terdapat beberapa inputan yang harus di masukkan yaitu data input data training data testing order dan konstanta Selain itu pada halaman input juga terdapat tiga button yaitu button browse data button fuzzification dan button forecasting Berikut tampilan antarmuka halaman input yang ditunjukkan pada Gambar 51

Gambar 51 Implementasi antarmuka halaman input

80

532 Implementasi antarmuka halaman tampil data

Halaman tampil data merupakan halaman yang tampil setelah melakukan input data Halaman ini berisi tabel yang menampilkan data curah hujan suhu kecepatan angin dan kelembaban Berikut tampilan antarmuka halaman tampil data yang ditunjukkan pada Gambar 52

533 Implementasi antarmuka halaman proses

Halaman proses merupakan halaman yang muncul setelah button fuzzification telah dieksekusi Halaman proses ini terdiri dari tiga bagian atau tab yaitu clustering fuzzification dan Fuzzy logical relationship Pada halaman antarmuka clustering menampilkan Universe of Discourse dan jumlah cluster pada masing ndash masing faktor Berikut merupakan tampilan antarmuka halaman proses bagian clustering yang ditunjukkan pada Gambar 53

Gambar 52 Implementasi antarmuka halaman tampil data

Gambar 53 Implementasi antarmuka halaman proses clustering

81

Pada tab selanjutnya yaitu pada tab fuzzification tab ini menampilkan hasil proses fuzzifikasi Pada halaman ini menampilkan tabel yang berisi hasil fuzzifikasi dari setiap faktor Berikut merupakan tampilan antarmuka halaman proses bagian fuzzification yang ditunjukkan pada Gambar 54

Pada tab Fuzzy Logical Relationship menampilakn hasil dari proses pembentukan Fuzzy Logical Relationship Tampilan pada halaman ini menampilkan berupa textarea yang berisi dari output proses tersebut Berikut merupakan tampilan antarmuka halaman proses bagian Fuzzy Logical Relationship yang ditunjukkan pada Gambar 55

Gambar 54 Implementasi antarmuka halaman proses fuzzification

Gambar 55 Implementasi halaman antarmuka proses FLR

82

534 Implementasi antarmuka halaman hasil

Pada implementasi antarmuka halaman hasil ini merupakan halaman yang menampilkan hasil dari proses defuzzifikasi Halaman hasil ini menampilkan tabel yang berisi data aktual dan data dari hasil peramlan Berikut merupakan tampilan antarmuka halaman hasil yang ditunjukkan pada Gambar 56

535 Implementasi antarmuka halaman perhitungan error

Pada implementasi antarmuka halaman perhitungan error merupakan halaman yang menampilkan hasil dari proses perhitungan Mean Square Error (MSE) Pada halaman antarmuka ini menampilkan hasil error MSE pada textfield Berikut merupakan tampilan antarmuka halaman perhitungan error yang ditunjukkan pada Gambar 57

Gambar 56 Implementasi halaman antarmuka hasil

Gambar 57 Implementasi halaman antarmuka perhitungan error

83

BAB 6 PENGUJIAN DAN ANALISIS

Pada bab ini membahas hasil pengujian dan analisis hasil pengujian dari hasil implementasi metode High Order Fuzzy Time Series Multi factors untuk peramalan curah hujan dasarian Pada pengujian ini disesuaikan dengan perancangan pengujian pada bab 4

61 Sistematika Pengujian

Pada bab sebelumnya yaitu bab 4 mengenai perancangan telah dibahas perancangan pengujian dikatakan bahwa pengujian akan dilakukan sebanyak empat pengujian Pengujian order pengujian threshold pengujian jumlah data training dan pengujian validasi sistem Dari semua pengujian tersebut akan di uji dan di analisis bagaimana pengaruhnya terhadap hasil perhitungan Mean Square Error (MSE)

62 Hasil dan Analisis Pembahasan

Berikut hasil pengujian dan analisis yang disesuaikan dengan perancangan pengujian pada bab sebelumnya

621 Pengujian pengaruh order terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh order terhadap nilai MSE Order merupakan urutan jumlah dari data time series pada periode waktu t yang mempengaruhi nilai data Jadi jika nilai order adalah 3 maka peramalan akan melibatkan 3 data sebelumnya pada proses pembentukan Fuzzy Logical Relationship (FLR) Pada pengujian ini hanya nilai order yang diubah ndash ubah sedangkan variabel lain akan dibuat tetap Pengujian akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai variabel jumlah data training adalah 72 yaitu dari data Januari 2014 dasarian 1 sampai Desember 2015 dasarian 3 nilai data testing adalah 36 yaitu dasarian 1 Januari 2016 sampai dasarian 3 Desember 2016 konstanta adalah 10 Nilai threshold diperoleh dari perhitungan jumlah faktor dikali order dan dijumlah nilai konstanta Berikut adalah hasil pengujian pengaruh order terhadap nilai MSE yang ditunjukkan pada Tabel 61

Tabel 61 Hasil pengujian order terhadap nilai MSE

No Order Threshold MSE

1 3 22 808585

2 6 34 965547

3 9 46 912631

4 12 58 875884

5 15 70 719284

6 18 82 6801207

7 21 94 5637184

8 24 106 5444184

9 27 118 5433631

10 30 130 5418393

84

Dari hasil pengujian order seperti yang telah ditunjukkan pada Tabel 61 maka pada percobaan pertama dengan order = 3 dan threshold 22 dapat diperoleh MSE sebesar 808585 Selanjutnya pada percobaan kedua dengan order = 6 dan threshold = 34 diperoleh MSE sebesar 965547 Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 61

Berdasarkan Gambar 61 order yang berbeda - beda mempengaruhi besar nilai MSE Dalam penelitian ini menentukan order memiliki ketentuan yaitu nilai order harus lebih dari 0 dan batas maksimal order adalah setengah dari nilai data training (LinYang 2009) Nilai MSE terbesar yang ditunjukkan pada pengujian ini adalah 965547 pada pengujian order 6 dan nilai MSE terkecil adalah 5418393 pada pengujian order 30 Pada Gambar 61 menunjukkan bahwa pada order 3 ke order 6 mengalami peningkatan nilai MSE selanjutnya pada order 6 hingga order 30 mengalami penurunan Pada order 3 memiliki nilai MSE lebih kecil dari order 6 order 9 dan order 12 karena memiliki lebih banyak hasil selisih tingkat kecocokan data time series yang tidak terlalu besar dan kurang dari threshold Selain itu karena data time series dari data sampel yang diperoleh memiliki pola data musiman dimana perubahan pola data dasarian tidak terlalu banyak berubah dari tahun ke tahun Selanjutnya pada order 6 hingga order 30 menunjukkan penurunan nilai MSE dan order terbesar memiliki nilai MSE terkecil sehingga dapat disumpulkan bahwa semakin besar order maka semakin kecil pula nilai MSE Dalam hal ini dengan semakin besarnya order maka data sebelumnya yang digunakan untuk pertimbangan dalam menentukan peramalan semakin banyak Sehingga semakin besar nilai order maka dapat membuat peramalan semakin akurat Dalam pengujian ini memimiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoImplementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emasrdquo yang menyatakan bahwa semakin besar nilai order maka semakin kecil nilai kesalahannya (Wardhani et al 2015)

Gambar 61 Grafik hasil pengujian order terhadap nilai MSE

85

622 Pengujian pengaruh threshold terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh threshold terhadap nilai MSE Threshold merupakan hasil dari mengalikan jumlah order dengan jumlah faktor pada data kemudian dijumlahkan dengan dengan nilai konstanta Pada proses defuzzifikasi terdapat proses menghitung selisih antara pangkat bawah Fuzzy Logical Relationship (FLR) data training dan pangkat bawah FLR data testing Selanjutnya setelah mendapatkan nilai selisih maka nilai selisih tersebut dibandingkan dengan nilai threshold untuk mencari FLR yang cocok Pada pengujian ini nilai konstanta saja yang diubah ndash ubah sementara variabel lainnya tetap Pengujian akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai variabel jumlah data training adalah 72 yaitu dari data Januari 2014 dasarian 1 sampai Desember 2015 dasarian 3 nilai data testing adalah 36 yaitu dasarian 1 Januari 2016 sampai dasarian 3 Desember 2016 dan Nilai order adalah 30 Pada penentuan input konstanta nilai minimal harus lebih besar dari 0 dan nilai maksimal menyesuaikan data sampel yang digunakan (LinYang 2009) Berikut adalah hasil pengujian pengaruh threshold terhadap nilai MSE yang ditunjukkan pada Tabel 62

Tabel 62 Hasil pengujian threshold terhadap nilai MSE

No Konstanta Threshold MSE

1 10 130 558485

2 20 140 577498

3 30 150 597364

4 40 160 604660

5 50 170 646951

6 60 180 680257

7 70 190 703013

8 80 200 741484

9 90 210 756749

10 100 220 780600

Dari hasil pengujian threshold seperti yang telah ditunjukkan pada Tabel 62 maka dapat dilihat bahwa konstanta yang dilakukan pengujian dimulai dengan nilai 10 sampai 100 Hasil yang didapat pada percobaan pertama dengan konstanta = 10 dan threshold 130 diperoleh MSE sebesar 558485 Selanjutnya pada percobaan kedua dengan konstanta = 20 dan threshold = 140 diperoleh MSE sebesar 577498 Selanjutnya dapat kita lihat pada percobaan yang telah dilakukan dari percobaan pertama hingga percobaan kesepuluh nilai MSE yang diperoleh mengalami perubahan pada setiap percobaan Dapat dilihat bahwa peningkatan MSE lebih dominan menunjukkan peningkatan sehingga dalam hal ini semakin besar nilai konstanta dan threshold maka semakin besar pula nilai MSE yang diperoleh Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 62

86

Berdasarkan grafik dari Gambar 62 nilai input konstanta yang berbeda - beda mempengaruhi besar nilai MSE semakin besar nilai konstanta maka nilai threshold juga semakin besar karena threshold diperoleh dari perhitungan order dikali jumlah faktor dan selanjutnya dijumlah dengan nilai konstanta Dalam hal ini dengan semakin besar nilai threshold maka dalam proses seleksi untuk mencari nilai selisih FLR juga semakin luas batasannya dan jika semakin kecil nilai threshold maka dalam proses seleksi untuk mencari nilai selisih FLR menjadi semakin sempit dan mempermudah proses peramalan karena hanya adanya sedikit data yang cocok dengan data yang akan diramalkan dan mempermudah proses defuzzifikasi Oleh karena itu semakin kecil threshold maka dapat membuat peramalan semakin akurat Akan tetapi nilai threshold tidak boleh terlalu kecil karena dapat menyebabkan kegagalan peramalan Kegagalan peramalan itu terjadi karena tidak adanya data training yang cocok dengan data testing karena pada metode yang digunakan pada penelitian ini sangat bergantung pada data ndash data sebelumnya Dari hasil percobaan diatas hasil MSE terbesar adalah 7806 yaitu pada konstanta 100 serta threshold 220 dan hasil MSE terkecil adalah 558485 yaitu pada konstanta 10 dan threshold 130 Dalam pengujian ini memiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoImplementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emasrdquo yang menyatakan bahwa semakin kecil nilai konstanta maka semakin kecil nilai kesalahannya (Wardhani et al 2015)

623 Pengujian pengaruh jumlah data training terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh jumlah data training terhadap nilai MSE Pada pengujian ini jumlah data training adalah data dasarian yaitu 1 tahun 2 tahun 3 tahun 4 tahun dan 5 tahun dimana dari setiap 1 tahun memiliki 36 data dasarian Pengujian ini akan dilakukan sebanyak lima kali Pada pengujian ini jumlah data testing adalah 36 nilai order adalah setengah dari

Gambar 62 Grafik hasil pengujian threshold terhadap nilai MSE

87

nilai data training nilai konstanta adalah 20 Berikut adalah hasil pengujian pengaruh jumlah data training terhadap nilai MSE yang ditunjukkan pada Tabel 63

Tabel 63 Hasil pengujian jumlah data training terhadap nilai MSE

No Jumlah Data Training MSE

1 36 786586

2 72 634527

3 108 627190

4 144 614184

5 180 539698

Dari hasil pengujian jumlah data training seperti yang telah ditunjukkan pada Tabel 63 maka pada percobaan pertama dengan data training = 36 dapat diperoleh MSE sebesar 786586 Selanjutnya pada percobaan kedua dengan data training = 72 diperoleh MSE sebesar 634527 Dalam hal ini dari percobaan satu dan dua nilai MSE mengalami penurunan Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 63

Berdasarkan dari Gambar 63 pengujian pertama sampai pengujian kelima mengalami penerunan nilai MSE Sehingga dapat disimpulkan bahwa semakin besar data training maka semakin kecil nilai MSE yang diperoleh Nilai MSE semakin kecil apabila menggunakan data training dalam jumlah besar karena data yang digunakan memiliki rentang jauh dari periode data testing atau data yang akan diramalkan Sedangkan data training yang sedikit memiliki nilai MSE yang besar karena data training yang memiliki kecocokan dengan data testing berada pada periode yang jauh dengan data testing sehingga nilai MSE menjadi tinggi Dalam hal ini terbukti bahwa metode yang digunakan pada penelitian ini memerlukan jumlah data training yang banyak sehingga dapat menurunkan nilai kesalahannya Dari hasil percobaan diatas hasil MSE terbesar adalah 786586 dan

Gambar 63 Grafik hasil pengujian data training terhadap nilai MSE

88

hasil MSE terkecil adalah 539698 Dalam pengujian ini memimiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoPeramalan Jumlah Kunjungan Wisatawan Kota Batu Menggunakan Metode Time Invariant Fuzzy Time Seriesrdquo yang menyatakan bahwa semakin besar jumlah data training maka semakin kecil nilai kesalahannya (Elfajar et al 2017)

624 Pengujian validasi sistem

Pada pengujian ini dilakukan untuk mengetahui kestabilan dari sistem dengan menggunakan order threshold terbaik dari pengujian sebelumnya Pada pengujian ini akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai data training menggunakan 36 data yang berbeda agar dapat menunjukkan gambaran variasi dari nilai kesalahan MSE pada peramalan nilai order adalah 18 dan konstanta adalah 10 sehingga nilai threshold adalah 92 Berikut adalah hasil pengujian validasi sistem yang ditunjukkan pada Tabel 64

Tabel 64 Hasil pengujian validasi sistem

Percobaan ke- MSE

1 714290

2 703856

3 732564

4 732815

5 6973958

6 7532825

7 741726

8 760457

9 709961

10 6256204

Dari hasil pengujian validasi sistem seperti yang telah ditunjukkan pada Tabel 64 maka dapat digambarkan dengan grafik yang ditunjukkan oleh Gambar 64

Gambar 64 Grafik hasil pengujian validasi sistem

89

Berdasarkan dari gambar grafik Gambar 64 bahwa pengujian dari validasi sistem memiliki hasil MSE yang tidak terlalu jauh berbeda dari penggunaan data yang berbeda - beda Oleh karena itu dapat disimpulkan bahwa implementasi dari metode High Order Fuzzy Time Series Multi Factors yang telah digunakan sudah cukup baik untuk digunakan peramalan

Berdasarkan dari pengujian yang dilakukan diatas dapat diketahui bahwa nilai MSE terkecil terdapat pada pengujian jumlah data training yaitu dengan nilai MSE sebesar 539698 Nilai tersebut diperoleh dari pengujian jumlah data training dasarian dari tahun 2011 hingga 2015 untuk melakukan peramalan pada data dasarian tahun 2016 Nilai order adalah 90 dan konstanta adalah 10 Berikut adalah perbandingan data aktual dengan hasil peramalan yang ditunjukkan pada grafik Gambar 65

Gambar 65 Grafik perbandingan data aktual dengan hasil peramalan

90

BAB 7 PENUTUP

Pada bab ini terdiri dari dua sub bab yaitu kesimpulan dan saran Kesimpulan adalah tahapan yang berisi hasil penelitian yang dilakukan dan jawaban semua rumusan masalah yang sudah ditetapkan sebelumnya dan saran adalah tahapan yang berisi hasil yang telah dicapai untuk memperbaiki kekurangan - kekurangan yang terjadi pada penelitian ini serta memberikan pertimbangan pada pengembangan penelitian lebih lanjut

71 Kesimpulan

Pada kesimpulan ini mengacu pada penelitian yang telah dilakukan yang meliputi perancangan implementasi serta pengujian dan analisis terhadap hasil implementasi peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors maka dapat diambil kesimpulan sebagai berikut

1 Berdasarkan dari implementasi metode High Order Fuzzy Time Series Multi Factors dalam melakukan peramalan curah hujan dasarian dilakukan dengan beberapa langkah yaitu langkah pertama perhitungan Universe of Discourse yang terdiri perhitungan mean standar deviasi dan perhitungan Dmin serta Dmax langkah kedua yaitu perhitungan jumlah cluster langkah ketiga yaitu perhitungan pusat cluster langkah keempat yaitu pembentukan subinterval dan fuzzy set langkah kelima yaitu proses fuzzifikasi langkah keenam yaitu pembentukan Fuzzy Logical Relationship(FLR) langkah ketujuh adalah defuzzifikasi yang hasil outputnya merupakan hasil peramalan curah hujan

2 Berdasarkan dari pengujian peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors maka dapat diketahui bahwa

a Order berpengaruh terhadap nilai error semakin besar nilai order maka hasil peramalan semakin baik

b Threshold berpengaruh terhadap nilai error semakin rendah nilai threshold maka hasil peramalan semakin baik Akan tetapi nilai threshold tidak boleh terlalu rendah karena dapat menyebabkan kegagalan peramalan

c Data training berpengaruh terhadap nilai error semakin besar jumlah data training maka hasil peramalan semakin baik Sehingga peramalan menggunakan metode High Order Fuzzy Time Series Multi Factors memerlukan banyak data training

d Hasil implementasi peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors cukup baik digunakan untuk peramalan Hal ini terbukti hasil pengujian validasi sistem menunjukkan grafik yang cukup stabil

Dari pengujian yang telah dilakukan nilai MSE terkecil terdapat pada pengujian jumlah data training yaitu dengan nilai MSE sebesar 539698 Nilai tersebut diperoleh dari pengujian jumlah data training dasarian dari tahun

91

2011 hingga 2015 untuk melakukan peramalan pada data dasarian tahun 2016

72 Saran

Pada penelitian ini dilakukan peramalan curah hujan dasarian dengan faktor yang mempengaruhi adalah suhu kelembaban dan kecapatan angin Saran penulis diharapkan untuk penelitian selanjutnya melakukan penambahan faktor yang mempengaruhi curah hujan atau melakukan peramalan objek lain dengan mempertimbangkan faktor ndash faktor yang mempengaruhinya Serta diharapkan pada penelitian selanjutnya untuk menambahkan data yang lebih banyak serta bervariatif sehingga nilai hasil perhitungan akurasi peramalan yang dihasilkan dalam penelitian dapat meningkat Penggunaan data training yang banyak dan bervariatif dapat membuat pola data semakin terlihat sehingga hasil peramalan yang dihasilkan memiliki akurasi yang lebih baik

92

DAFTAR PUSTAKA

Ardiyanto 2016 ldquoTerendam Air Petani Lamongan Terpaksa Panen Dinirdquo Times Indonesia November 18 httpwwwtimesindonesiacoidread13688520161118102415terendam-air-petani-lamongan-terpaksa-panen-dini (Diakses 25 Februari 2017)

Badan Penelitian dan Pengembangan Pertanian Kementrian Pertanian 2015 ldquoKalender Tanam Terpadu Versi 25 Kota Malang Prov Jawa Timurrdquo httpkatamlitbangpertaniangoidkatam_terpadu2016mh33535733573_tinggipdf (Diakses 25 Februari 2017)

Bagirov M Adil Mahmood Arshad and Barton Andrew 2017 Prediction of monthly rainfall in Victoria Australia Clusterwise linear regression approach Elsevier Atmos Research 188 20-29

BMKG Staklim Karangploso Malang 2015 ldquoAnalisis Dinamika Atmosfer Dan Laut Dasarian III Maret 2015 Update 2 April 2015rdquo httpkarangplosojatimbmkgogoidindexphpanalisis-kondisi-dinamika-atmosfer-laut-dasarian-tahun-2015399-analisis-dinamika-atmosfer-dan-laut-dasarian-iii-maret-2015-update-2-april-2015axzz3X8h9y4fgampgsctab=0 (Diakses 25 Februari 2017)

BPS Kabupaten Malang 2016 ldquoKabupaten Malang Dalam Angka 2016rdquo httpsmalangkabbpsgoidwebsitepdf_publikasiKabupaten-Malang-Dalam-Angka-2016pdf (Diakses 25 Februari 2017)

BPS Jawa Timur 2015 ldquoJawa Timur Dalam Angka 2015rdquo httpsjatimbpsgoid4dmnpdf_publikasiJawa-Timur-Dalam-Angka-2015pdf (Diakses 25 Februari 2017)

Buffa S Elwood Rakesh and Sarin K 1996 Modern Production and Operation Management Eight Edition John Willey and Sons Inc London

Chen M 1996 Forecasting Enrollments based on Fuzzy Time Series Fuzzy Sets and Systems 311-319

Dewi Candra Kartikasari Dani Mursityo Yusi 2014 Prediksi Cuaca Pada Data Time Series Menggunakan Adaptive Neuro Fuzzy Inference System (ANFIS) Jurnal Teknologi Informasi dan Ilmu Komputer (JTIIK) Vol 1 No 1 hlm 18-24

Dewi Candra Muslikh M 2013 Perbandingan Akurasi Backpropagation Neural Network dan ANFIS Untuk Memprediksi Cuaca NATURAL-A Journal of Scientific Modeling amp Computation Volume 1 No1

Elfajar Aria Setiawan Budi Dewi Candra 2017 Peramalan Jumlah Kunjungan Wisatawan Kota Batu Menggunakan Metode Time Invariant Fuzzy Time Series Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer Vol 1 No 2 Hlmn 85-94

93

Fauziah Normalita Wahyuningsih Sri dan Nasution Yuki 2016 Peramalan Menggunakan Fuzzy Time Series Chen (Studi Kasus Curah Hujan Kota Samarinda) Vol4 Statistika

Forest Mahyu 2015 ldquoDefenisi amp Pengertian Kelembabanrdquo httpilmupengetahuaalamblogspotcoid201506defenisi-pengertian-kelembabanhtml (Diakses 25 Februari 2017)

Irsyad Muhammad Metarice Sonya 2013 Penerapan Metode Automatic Clustering dan High Order Fuzzy Time Series Pada Peramalan Curah Hujan Jurnal Sains dan Teknologi Industri Vol 10 No 02

Klawon F 2001 What is About Fuzzy Clustering Understanding and Improving the Concept of the Fuzzier Science Journal httppublic-rzfh-wolfebuetteldeklawon

Kurniawan Carlos 2007 Analisis dan Perancangan Program Aplikasi Peramalan Curah Hujan dengan Metode Wavelet (Studi Kasus BMKG)

Kusumadewi S 2003 ldquoArtificial Intelegence (Teknik amp Aplikasinya)rdquo Graha Ilmu Yogyakarta

Kusumadewi S Purnomo H 2004 ldquoAplikasi Logika Fuzzy untuk Pendukung Keputusanrdquo Graha Ilmu Yogyakarta

Kusumadewi Sri 2002 Analisis amp Desain Sistem Fuzzy Tollbox MATLAB Graha Ilmu Yogyakarta

Lin Yupei Yang Y 2009 Stock Markets Forecasting Based on Fuzzy Time Series Model IEEE Conference Publications 782-886

Makridakis S Steven C Wheelwright Victor E and Gee MC 1999 Metode dan Aplikasi Peramalan Jilid I Edisi Kedua Jakarta Binarupa Aksara

Mirawati T Yasin H and Rusgiyono A 2013 Prediksi Curah Hujan dengan Metode Kalman Filter(Studi Kasus di Kota Semarang 2012) Jurnal Gaussian 2(3) pp 239-248

Pradipta Nur Sembiring Pasukat Bangun Pengarapen 2013 Analisis Pengaruh Curah Hujan di Kota Medan Saintia Matematika Vol 1

Sipayung Putri Metha 2013 Pemodelan Hubungan Kelembapan Udara terhadap Curah Hujan (Studi Kasus Curah Hujan Periode 2001-2009 pada Stasiun Dramaga) httprepositoryipbacidhandle12345678960623 (Diakses 25 Februari 2017)

User 2015 httpstaklimnegaranet[Online] Available at httpwwwstaklimnegaranetindexphpbuletin-hujanpengertian-istilah (Diakses 25 Februari 2017)

Wang Nai-Yi Chen Shyi-Ming 2009 Temperature prediction and TAIFEX forecasting based on automatic clustering techniques and two-factors high-order fuzzy time series Elsevier Expert Systems with Applications 36 2143ndash2154

94

Wardhani Dessy Ratnawati Dian Setiawan Budi 2015 Implementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Saham Repositori Jurnal Mahasiswa PTIIK UB Doro Jurnal Vol 6 No 6

Wiyanti T and Pulungan R 2012 Peramalan Deret Waktu Menggunakan Model Fungsi Basis Radial (RBF) dan Auto Regressive Integrated Moving Average (ARIMA) Jurnal MIPA 35(2) pp 175-182

Yunanto Utomo 2014 ldquoBMKG Akui Prakiraan Cuacanya Masih Kurang Akuratrdquo Kompas Sains Januari 30 httpwwwtimesindonesiacoidread13688520161118102415terendam-air-petani-lamongan-terpaksa-panen-dini (Diakses 25 Februari 2017)

  • Bagian Depanpdf
  • BAB Ipdf
  • BAB IIpdf
  • BAB IIIpdf
  • BAB IVpdf
  • BAB Vpdf
  • BAB VIpdf
  • BAB VIIpdf
  • Daftar Pustakapdf
Page 6: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI

vi

ABSTRACT

Malang Regency is one of the regencies in East Java which has a high level of agricultural production in almost every district has agricultural land The problem is when high rainfall is not a few farmers who experienced crop failure Rainfall is one of several factors that affect climate change so it is very important to determine the yields obtained The problem of this harvest failure can be overcome by forecasting rainfall with rainfall forecasting farmers can determine the time of the appropriate cropping patterns so as to anticipate the occurrence of crop failure On the research of forecasting rainfall in dasarian based on several factors namely temperature humidity and wind speed The methods used for forecasting rainfall dasarian is a High-Order Fuzzy Time Series Multi factors In this method the formation of subinterval using fuzzy C-means In calculating the error of forecasting result using Mean Square Error (MSE) Based on the results of tests conducted the smaller threshold and the greater data training as well order the value error is obtained increasingly low The result of forecasting dasarian rainfall for forecasting one year ahead using this method get the best MSE result of 539698 Keywords rain fall fuzzy C-means fuzzy time series forecasting

vii

DAFTAR ISI

PENGESAHAN ii

PERNYATAAN ORISINALITAS iii

KATA PENGANTAR iv

ABSTRAK v

ABSTRACT vi

DAFTAR ISI vii

DAFTAR TABEL xi

DAFTAR GAMBAR xiii

DAFTAR KODE PROGRAM xv

DAFTAR LAMPIRAN xvi

BAB 1 PENDAHULUAN 1

11 Latar belakang 1

12 Rumusan masalah 2

13 Tujuan 3

14 Manfaat 3

15 Batasan masalah 3

16 Sistematika pembahasan 3

BAB 2 LANDASAN KEPUSTAKAAN 5

21 Kajian Pustaka 5

22 Dasar Teori 7

221 Peramalan 8

222 Curah hujan 8

223 Data time series 9

224 Logika Fuzzy 10

225 Metode Fuzzy C-means 13

226 Metode Peramalan dengan Fuzzy Time Series 15

227 Metode High Order Fuzzy Time Series Multi Factors 17

228 Perhitungan keakuratan metode peramalan 20

BAB 3 METODOLOGI 22

31 Studi Literatur 22

viii

32 Pengumpulan Data 23

33 Perancangan 23

34 Implementasi 23

35 Pengujian dan Analisis 23

36 Kesimpulan dan Saran 24

BAB 4 PERANCANGAN 25

41 Perancangan Proses 25

411 Proses perhitungan Universe of Discourse 26

4111 Proses perhitungan Mean 28

4112 Proses perhitungan standar deviasi 29

4113 Proses perhitungan nilai Dmin dan Dmax 30

412 Proses perhitungan jumlah cluster 31

413 Proses perhitungan pusat cluster 32

414 Proses pembentukan subinterval dan Fuzzy set 37

415 Proses Fuzzifikasi 38

416 Proses pembentukan Fuzzy Logical Relationship 41

417 Proses Defuzzifikasi 43

42 Perhitungan Manual 46

421 Perhitungan Universe of Discourse (U) 46

422 Perhitungan jumlah cluster (k) 48

423 Perhitungan pusat cluster dan subinterval 49

4231 Penentuan pusat cluster 49

4232 Perhitungan batas subinterval 55

424 Pembentukan Fuzzy Set 56

425 Fuzzifikasi 56

426 Pembentukan Fuzzy Logical Relationship (FLR) 58

427 Defuzzifikasi 58

43 Perancangan antarmuka 60

431 Halaman input 60

432 Halaman tampil data 61

433 Halaman proses 62

434 Halaman hasil 63

ix

435 Halaman perhitungan error 64

44 Perancangan pengujian 64

441 Perancangan pengaruh order terhadap nilai MSE 64

442 Perancangan pengaruh threshold terhadap nilai MSE 65

443 Perancangan pengaruh jumlah data training terhadap nilai MSE 65

444 Perancangan validasi sistem 65

BAB 5 IMPLEMENTASI 67

51 Spesifikasi Sistem 67

511 Spesifikasi Perangkat Keras 67

512 Spesifikasi Perangkat Lunak 67

52 Implementasi Algoritma 67

521 Implementasi Proses Universe of Discourse 68

5211 Implementasi proses mean 68

5212 Implementasi proses standar deviasi 68

5213 Implementasi proses Dmin dan Dmax 69

522 Implementasi Proses Jumlah Cluster 69

523 Implementasi Proses Pusat Cluster 70

524 Implementasi Proses Pembentukan Subinterval dan Fuzzy Set 72

525 Implementasi proses fuzzifikasi 74

526 Implementasi Pembentukan Fuzzy Logical Relationship 75

527 Implementasi Proses Defuzzifikasi 77

53 Implementasi Antarmuka 79

531 Implementasi antarmuka halaman input 79

532 Implementasi antarmuka halaman tampil data 80

533 Implementasi antarmuka halaman proses 80

534 Implementasi antarmuka halaman hasil 82

535 Implementasi antarmuka halaman perhitungan error 82

BAB 6 PENGUJIAN DAN ANALISIS 83

61 Sistematika Pengujian 83

62 Hasil dan Analisis Pembahasan 83

621 Pengujian pengaruh order terhadap nilai MSE 83

x

622 Pengujian pengaruh threshold terhadap nilai MSE 85

623 Pengujian pengaruh jumlah data training terhadap nilai MSE 86

624 Pengujian validasi sistem 88

BAB 7 PENUTUP 90

71 Kesimpulan 90

72 Saran 91

DAFTAR PUSTAKA 92

LAMPIRAN 95

Lampiran 1 Data Sampel 95

xi

DAFTAR TABEL

Tabel 21 Kajian Pustaka 5

Tabel 22 Fuzzy Logic Relationship 19

Tabel 23 Peramalan fuzzy set 20

Tabel 41 Data Sampel Perhitungan Manual 46

Tabel 42 Hasil kuadrat dari selisih data ke-i dan mean 47

Tabel 43 Nilai minimum nilai maksimum dan standar deviasi 47

Tabel 44 Hasil Universe of Discourse 48

Tabel 45 Nilai absolut selisih data hari ke-t dengan hari sebelumnya 48

Tabel 46 Hasil jumlah cluster data 49

Tabel 47 Matriks partisi awal pada cluster data A 50

Tabel 48 Derajat keanggotaan matriks partisi data A 51

Tabel 49 Perhitungan pusat cluster data A 52

Tabel 410 Fungsi objektif data A 53

Tabel 411 Perbaikan matriks partisi 54

Tabel 412 Hasil perbaikan matriks partisi 54

Tabel 413 Hasil pusat cluster 55

Tabel 414 Batas subinterval masing ndash masing atribut data 55

Tabel 415 Hasil derajat keanggotaan dan fuzzy set data A 57

Tabel 416 Hasil fuzzifikasi semua data attribut 57

Tabel 417 Hasil pembentukan FLR data training 58

Tabel 418 Hasil pembentukan FLR data testing 58

Tabel 419 Frekuensi FLR yang cocok dengan data testing 59

Tabel 420 Perbandingan data aktual dan hasil peramalan 60

Tabel 421 Rancangan pengujian order terhadap nilai MSE 64

Tabel 422 Rancangan pengujian threshold terhadap nilai MSE 65

Tabel 423 Rancangan pengujian jumlah data training terhadap nilai MSE 65

Tabel 424 Rancangan pengujian validasi sistem 66

Tabel 51 Spesifikasi Perangkat Keras 67

Tabel 52 Spesifikasi Perangkat Lunak 67

Tabel 61 Hasil pengujian order terhadap nilai MSE 83

xii

Tabel 62 Hasil pengujian threshold terhadap nilai MSE 85

Tabel 63 Hasil pengujian jumlah data training terhadap nilai MSE 87

Tabel 64 Hasil pengujian validasi sistem 88

xiii

DAFTAR GAMBAR

Gambar 21 Representasi linear naik 11

Gambar 22 Representasi linear turun 12

Gambar 23 Representasi kurva segitiga 12

Gambar 31 Diagram blok metodologi penelitian 22

Gambar 41 Diagram alir metode penelitian yang digunakan (bagian 1) 25

Gambar 42 Diagram alir metode penelitian yang digunakan (bagian 2) 26

Gambar 43 Diagram alir proses perhitungan Universe of Discourse 27

Gambar 44 Diagram alir proses perhitungan mean 28

Gambar 45 Diagram alir proses perhitungan standar deviasi 29

Gambar 46 Diagram alir perhitungan nilai Min dan Max 30

Gambar 47 Diagram alir proses perhitungan jumlah cluster 31

Gambar 48 Diagram alir proses perhitungan pusat cluster (bagian 1) 32

Gambar 49 Diagram alir proses perhitungan pusat cluster (bagian 2) 33

Gambar 410 Diagram alir proses perhitungan pusat cluster (bagian 3) 34

Gambar 411 Diagram alir proses perhitungan pusat cluster (bagian 4) 35

Gambar 412 Diagram alir proses perhitungan pusat cluster (bagian 5) 36

Gambar 413 Diagram alir pembentukan subinterval dan fuzzy set (bagian 1) 37

Gambar 414 Diagram alir pembentukan subinterval dan fuzzy set (bagian 2) 38

Gambar 415 Diagram alir proses fuzzifikasi (bagian 1) 39

Gambar 416 Diagram alir proses fuzzifikasi (bagian 2) 40

Gambar 417 Diagram alir proses Pembentukan FLR (bagian 1) 41

Gambar 418 Diagram alir proses Pembentukan FLR (bagian 2) 42

Gambar 419 Diagram alir proses Pembentukan FLR (bagian 3) 43

Gambar 420 Diagram alir proses defuzzifikasi (bagian 1) 44

Gambar 421 Diagram alir proses defuzzifikasi (bagian 2) 45

Gambar 422 Grafik fuzzy set data A 56

Gambar 423 Rancangan antarmuka halaman input 61

Gambar 424 Rancangan antarmuka halaman tampil data 61

Gambar 425 Rancangan antarmuka halaman proses clustering 62

Gambar 426 Rancangan antarmuka proses fuzzifikasi 62

xiv

Gambar 427 Rancangan antarmuka proses fuzzy logical relationship 63

Gambar 428 Rancangan antarmuka halaman hasil peramalan 63

Gambar 429 Rancangan antarmuka halaman perhitungan error 64

Gambar 51 Implementasi antarmuka halaman input 79

Gambar 52 Implementasi antarmuka halaman tampil data 80

Gambar 53 Implementasi antarmuka halaman proses clustering 80

Gambar 54 Implementasi antarmuka halaman proses fuzzification 81

Gambar 55 Implementasi halaman antarmuka proses FLR 81

Gambar 56 Implementasi halaman antarmuka hasil 82

Gambar 57 Implementasi halaman antarmuka perhitungan error 82

Gambar 61 Grafik hasil pengujian order terhadap nilai MSE 84

Gambar 62 Grafik hasil pengujian threshold terhadap nilai MSE 86

Gambar 63 Grafik hasil pengujian data training terhadap nilai MSE 87

Gambar 64 Grafik hasil pengujian validasi sistem 88

Gambar 65 Grafik perbandingan data aktual dengan hasil peramalan 89

xv

DAFTAR KODE PROGRAM

Kode Program 51 Implementasi proses Universe of Discourse 68

Kode Program 52 Implementasi proses mean 68

Kode Program 53 Implementasi proses standar deviasi 69

Kode Program 54 Implementasi proses Dmin dan Dmax 69

Kode Program 55 Implementasi proses jumlah cluster 70

Kode Program 56 Implementasi proses pusat cluster 72

Kode Program 57 Implementasi pembentukan subinterval dan fuzzy set 74

Kode Program 58 Implementasi proses fuzzifikasi 75

Kode Program 59 Implementasi pembentukan FLR 77

Kode Program 510 Implementasi proses defuzzifikasi 79

xvi

DAFTAR LAMPIRAN

Lampiran 1 Tabel Data Sampel 95

1

BAB 1 PENDAHULUAN

11 Latar belakang

Kabupaten Malang merupakan salah satu kabupaten di Jawa Timur yang terkenal akan potensi alam yang dimiliki (BPS Kabupaten Malang 2016) Dalam hal ini terkenal akan potensi alamnya karena kabupaten Malang memiliki tingkat produksi di sektor pertanian yang cukup tinggi dimana hampir seluruh kecamatan di kabupaten Malang memiliki lahan pertaniaaan (BPS Jatim 2015) Permasalahan yang terjadi pada sektor pertanian yaitu terjadinya gagal panen apabila memasuki musim penghujan dengan curah hujan yang tinggi yaitu diatas 200 mm per bulan serta apabila memasuki musim kemarau dengan curah hujan yang rendah yaitu dibawah 100 mm per bulan (BMKG Staklim Karangploso Malang 2015) Dalam mengatasi hal tersebut upaya yang dilakukan petani selama ini hanya melakukan tindakan seperti melakukan panen secara dini Upaya ini dianggap petani cukup efektif dalam mengurangi besarnya kerugian gagal panen akan tetapi sebaiknya yang dilakukan adalah melakukan suatu tindakan agar kerugian yang dialami petani tidak terjadi lagi (Ardiyanto 2016)

Salah satu contoh tindakan yang dapat dilakukan adalah membuat Kalender Tanam (KATAM) KATAM dapat digunakan petani sebagai alat bantu atau pedoman dalam menentukan awal musim tanam terbaik seperti yang telah dilakukan oleh Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian Dalam pembuatan KATAM Balitbang menggunakan data peramalan curah hujan dari Badan Meteorologi Klimatologi dan Geofisika (BMKG) Akan tetapi BMKG mengakui bahwa prakiraan cuacanya saat ini memang masih kurang akurat dan masih kalah dengan prakiraan cuaca di Amerika Serikat (Yunanto 2014) Pentingnya akan prakiraan cuaca terbukti adanya beberapa penelitian sebelumnya yaitu penelitian prakiraan cuaca dengan input faktor yang mempengaruhi cuaca yang berupa data time series menggunakan metode Adaptive Neuro Fuzzy Inference System (ANFIS) (Dewi 2014) dan penelitian mengenai prediksi cuaca menggunakan metode Backpropagation Neural Network yang terbukti memiliki nilai akurasi yang baik dalam prediksi cuaca (Dewi 2013)

Teknik atau metode peramalan curah hujan yang sering digunakan BMKG adalah metode Autoregressive Integrated Moving Average (ARIMA) ANFIS dan Wavelet (Kurniawan 2007) Namun dalam penerapannya gabungan dari ketiga metode tersebut masih kurang memuaskan yaitu tingkat akurasinya hanya mencapai 60 - 70 Menurut BMKG kurangnya tingkat akurasinya ini disebabkan oleh keadaan pola atmosfer di Indonesia yang selalu berubah ndash ubah dan kurang menentu

Selain metode yang digunakan oleh BMKG adapun penelitian sebelumnya yang meramalkan curah hujan yaitu penelitian menggunakan metode Fuzzy Time Series Chen dengan studi kasus curah hujan di Samarinda dalam penelitian ini menggunakan data time series curah hujan bulanan dengan kesimpulan pengunaan data yang sedikit memiliki tingkat akurasi lebih tinggi dibandingkan

2

menggunakan data yang banyak yaitu menghasilkan nilai RMSE terkecil 7368 dan MAE terkecil 539 (Fauziah et al 2016)

Selain peramalan yang hanya menggunakan data time series dari data yang akan diramalkan juga terdapat penelitian sebelumnya yang menggunakan faktor - faktor yang mempengaruhi dari data yang akan diramalkan Salah satunya yaitu penelitian dengan menggunakan metode Clusterwise Linear Regression (CLR) Penelitian ini menggunakan data bulanan pada delapan stasiun cuaca di kota Victoria Australia Peramalan curah hujan pada penelitian ini menggunakan faktor yang mempengaruhi yaitu suhu maksimum suhu minimum penguapan tekanan uap dan radiasi matahari Hasil penelitian ini terbukti dapat melakukan peramalan curah hujan dengan hasil yang cukup baik yaitu dengan nilai RMSE terkecil 197 dan MAE terkecil 129 (Bagirov et al 2017)

Berdasarkan paparan yang telah dijelaskan penulis memiliki ide untuk melakukan penelitian dengan judul ldquoPeramalan Curah Hujan dengan Metode High Order Fuzzy Time Series Multi Factorsrdquo Pada metode ini dilakukan klasterisasi data untuk membangun subinterval dengan menggunakan metode fuzzy C-means (LinYang 2009) Dari proses hasil klasterisasi akan digunakan untuk membagi data semesta yang selanjutnya menghasilkan fuzzy set atau himpunan fuzzy yang menggambarkan fitur data (LinYang 2009) Keunggulan dari metode fuzzy time series dengan multi faktor yaitu dengan berdasarkan pada penelitian ndash penelitian sebelumnya yang menggunakan metode tersebut yaitu penelitian prediksi harga emas dengan beberapa faktor yang mempengaruhi menggunakan metode Multi-factors High order Fuzzy Time Series Model dari hasil penelitian ini dengan menggunakan metode evaluasi Mean Absolute Percentage Error (MAPE) dapat diperoleh nilai error terkecil sebesar 0443 (Wardhani et al 2015) dan penelitian peramalan Indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen menggunakan metode Fuzzy Time Series Model dari penilitian ini menunjukan tingkat Average Relative Error (ARError) sebesar 176 untuk bursa efek harian Shanghai sedangkan untuk bursa efek harian Shenzhen didapatkan ARError sebesar 187 (Lin Yang 2009) terbukti menghasilkan hasil peramalan dengan tingkat akurasi yang cukup tinggi Penggunaan metode ini juga sesuai dengan curah hujan yang dipengaruhi oleh beberapa faktor yaitu kelembaban udara kecepatan angin dan suhu (Pradipta 2013) Penelitian ini diharapkan dapat memberikan hasil peramalan curah hujan yang lebih akurat dan memiliki nilai kesalahan yang lebih sedikit

12 Rumusan masalah

Berdasarkan latar belakang yang telah dipaparkan dibuatlah beberapa rumusan masalah sebagai berikut

1 Bagaimana mengimplementasikan Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

2 Berapa tingkat kesalahan dari hasil implementasi Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

3

13 Tujuan

Adapun maksud dan tujuan dari penelitian ini adalah sebagai berikut

1 Mengimplementasikan Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

2 Mengetahui tingkat kesalahan dari hasil implementasi Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

14 Manfaat

Adapun manfaat dari penelitian ini adalah sebagai berikut

1 Bagi Badan Meteorologi dan Geofisika (BMKG) untuk dapat memberikan peramalan curah hujan yang lebih akurat dari sebelumnya

2 Bagi Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian untuk dapat membuat Kalender tanam (KATAM) dengan menggunakan data ramalan curah hujan yang lebih akurat

3 Bagi penduduk kabupaten Malang khususnya yang bekerja pada sektor pertanian agar dapat mengoptimalkan hasil produksi dengan menyesuaikan penanaman sesuai dengan Kalender Tanam (KATAM) yang telah dibuat Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian

15 Batasan masalah

Penelitian ini dibatasi oleh hal ndash hal sebagai berikut

1 Data curah hujan kelembaban udara kecepatan angin dan suhu udara yang digunakan pada penelitian ini merupakan data berdasarkan dasarian dan hanya mencakup wilayah kabupaten Malang dan data diperoleh dari BMKG Karangkates Kabupaten Malang dengan data time series yang digunakan pada penelitian ini yaitu dari tahun 2011 - 2016

2 Model peramalan yang diterapkan adalah semua nilai yang membentuk pola dataset training dan testing diketahui nilainya

3 Perhitungan nilai tingkat kesalahan permalan menggunakan metode Mean Square Error (MSE)

16 Sistematika pembahasan

Sistematika pembahasan penelitian ditunjukkan untuk memberikan gambaran dan uraian dari penyusunan proposal yang meliputi beberapa bab sebagai berikut

BAB 1 PENDAHULUAN

Pada bab ini berisi latar belakang rumusan masalah tujuan penelitian manfaat penelitian batasan masalah sistematika pembahasan dan rencana kerja atau jadwal penelitian

4

BAB 2 LANDASAN KEPUSTAKAAN

Pada bab ini berisi tentang kajian pustaka dan dasar teori yang menjadi dasar dalam melakukan implementasi peramalan curah hujan dengan Metode High Order Fuzzy Time Series Multi Factors

BAB 3 METODOLOGI

Pada bab ini diuraikan tentang tahapan atau langkah ndash langkah yang dilakukan dalam proses penelitian tentang peramalan curah hujan dengan metode High Order Fuzzy Time Series Multi Factors Langkah ndash langkah tersebut terdiri dari tahapan penelitian teknik pengumpulan data algoritma yang digunakan lingkungan pengujian dan pengujian algoritma yang digunakan serta pengambilan kesimpulan

BAB 4 PERANCANGAN

Pada bab ini berisi tentang perancangan proses algoritma perhitungan manual metode High Order Fuzzy Time Series Multi Factors perancangan antar muka dan perancangan pengujian

BAB 5 IMPLEMENTASI

Pada bab ini berisi tentang penjelasan peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors bagaimana user interface dan source code dalam pengimplementasian metode ini

BAB 6 PENGUJIAN DAN ANALISIS

Pada bab ini berisi tentang penjelasan proses dan hasil pengujian dari implementasi metode High Order Fuzzy Time Series Multi Factors dalam peramalan curah hujan serta analisis dari pengujian tersebut

BAB 7 PENUTUP

Pada bab ini berisi kesimpulan yang diperoleh dari hasil pengujian dan saran ndash saran untuk pengembangan penelitian selan

5

BAB 2 LANDASAN KEPUSTAKAAN

Bab ini berisi mengenai kajian pustaka dan dasar ndash dasar teori yang akan dibahas serta digunakan untuk menunjang topik ndash topik pembahasan Pada kajian akan dibahas perbedaan antara penelitian yang telah ada dengan penelitian yang diusulkan oleh penulis Sedangkan pada dasar teori akan dibahas mengenai teori ndash teori yang digunakan pada penelitian yang diusulkan

21 Kajian Pustaka

Pada kajian pustaka disini berisi mengenai perbandingan antara penelitian yang diusulkan oleh penulis dengan penelitian sebelumnya yang relevan Perbandingan tersebut dapat dilihat padat Tabel 21

Tabel 21 Kajian Pustaka

No Judul Objek dan Input Penelitian Metode

1 Penerapan Metode Automatic Clustering dan High Order Fuzzy Time Series Pada Peramalan Curah Hujan (Irsyad Metarice 2013)

Objek Curah hujan

Input Penelitian

Data aktual curah hujan

Metode High Order Fuzzy Time Series dan Automatic Clustering

Nilai evalusi

Mean Absolute Percentage Error (MAPE)

2 Peramalan Menggunakan Fuzzy Time Series Chen (Studi Kasus Curah Hujan Kota Samarinda) (Fauziah et al 2016)

Objek Curah Hujan

Input Penelitian

Data aktual curah hujan

Metode Fuzzy Time Series Chen

Nilai evaluasi

Mean Absolute Error (MAE) Root Mean of Square Error (RMSE)

3 Implementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emas (Wardhani et al 2015)

Objek Harga Emas

Input Penelitian

Kurs Dollar hari sebelumnya

Kurs Euro hari sebelumnya

Harga Emas London hari sebelumnya

Harga Emas hari sebelumnya

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

Nilai evalusi

Mean Absolute Percentage Error (MAPE)

4 Stock Markets Forecasting Based on Fuzzy Time Series Model (Lin Yang 2009)

Objek Indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

6

Input Penelitian

Historical return

Historical turnover volume

Rata ndash rata selisih pergerakan harga selama lima hari

Selisih antara kekuatan bull dan bear

Indeks komposit bursa efek harian Shanghai sebelumnya

Indeks komposit bursa efek harian Shenzhen

Nilai evalusi

Average Relative Error (ARError)

5 Peramalan Curah Hujan Menggunakan Metode High Order Fuzzy Time Series Multi Factors

Objek Curah hujan

Input Penelitian

Suhu

Kelembaban

Kecepatan angin

Curah hujan

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

Nilai evalusi

Mean Square Error (MSE)

Sumber (Irsyad Metarice 2013) (Fauziah et al 2016) (Wardhani et al 2015) dan (Lin Yang 2009)

Pada penelitian yang pertama yaitu penelitian yang dilakukan oleh Muhammad Irsyad dan Sonya Metarice pada tahun 2013 dengan objek penelitian yang diramalkan adalah curah hujan Inputan yang digunakan pada penelitian ini merupakan data aktual curah hujan bulanan Metode yang digunakan penelitian ini adalah Automatic Clustering dan High Order Fuzzy Time Series Pada penelitian ini metode Automatic Clustering digunakan untuk membangun interval dan High Order Fuzzy Time Series untuk melakukan peramalan curah hujan Kesimpulan yang diperoleh dari penelitian ini yaitu metode ini dapat diterapkan untuk permalan curah hujan dan hasil evaluasi menggunakan metode Mean Absolute Percentage Error(MAPE) dari beberapa bercobaan dapat diperoleh nilai kesalahan sebesar 437 Berdasarkan dari hasil nilai kesalahan tersebut maka tingkat kesalahan data pada permalan ini termasuk rendah

Pada tahun 2016 Normalita Fauziah Sri Wahyuningsih dan Yuki Novia Nasution melakukan penelitian dengan objek penelitian curah hujan di kota Samarinda Inputan yang digunakan pada penelitian berupa data aktual bulanan curah hujan di kota Samarinda Metode yang digunakan pada penelitian ini adalah Fuzzy Time Series Chen dengan dalam pembentukkan panjang interval berbasis rata ndash rata atau average based Pada penelitian ini permalan curah hujan terbaik yaitu dengan menggunkan data sebanyak 29 data dengan menghasilkan tingkat nilai kesalahan terkecil yaitu dengan metode Root Mean of Squared Error (RMSE) sebesar 7368 dan metode Mean Absolute Error (MAE) sebesar 539 Pada

(Lanjutan) Tabel 21 Kajian Pustaka

7

penelitian ini disimpulkan bahwa data sebanyak 29 data memiliki tingkat kesalahan lebih kecil dibandingkan dengan menggunakan data dengan jumlah sampel yang lebih banyak

Pada penelitian selanjutnya adalah penelitian yang dilakukan oleh Dessy Kusuma Wardhani Dian Eka Ratnawati dan Budi Darma Setiawan pada tahun 2015 dengan objek penelitian yang diramalkan adalah harga emas harian Inputan yang digunakan pada penelitian ini data aktual harian harga emas indonesia harga emas london kurs dollar ke rupiah dan kurs euro ke rupiah Metode yang digunakan pada penelitian pada pembentukkan sub interval menggunakan metode fuzzy C-means dan untuk peramalan menggunakan metode High Order Fuzzy Time Series Model Hasil pada penelitian ini berdasarkan menggunakan metode evaluasi Mean Absolute Percentage Error (MAPE) dapat diperoleh nilai error terkecil sebesar 0443 karena nilai error lebih kecil dari 10 menunjukkan bahwa metode ini sangat baik digunakan untuk peramalan harga emas

Pada tahun 2009 Yupei Lin dan Yiwei Yang melakukan penelitian dengan objek yang diramalkan adalah indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen Data input penelitian ini meliputi historical return historical turnover volume dan rata ndash rata selisih pergerakan harga selama lima hari serta selisih antara kekuatan bull dan bear Dalam penelitian ini pembentukan subinterval yang berfungsi dalam pendefinisian himpunan fuzzy dilakukan dengan menggunakan klasterisasi fuzzy C-means Hasil dari penilitian ini menunjukan tingkat Average Relative Error (ARError) sebesar 176 untuk bursa efek harian Shanghai sedangkan untuk bursa efek harian Shenzhen didapatkan ARError sebesar 187 Dalam hal ini membuktikan bahwa penelitian dapat menghasilkan peramalan yang cukup baik karena memiliki nilai ARError kurang dari 5

Pada penelitian ini membahas tentang peramalan curah hujan dasarian menggunakan metode High Order Fuzzy Time Series Multi Factors Terdapat empat inputan yang juga dijadikan sebagai variabel dalam penelitian ini yaitu kelembaban udara kecepatan angin suhu udara dan curah hujan Pembentukan subinterval yang berfungsi dalam pendefinisian fuzzy set dilakukan dengan menggunakan klasterisasi fuzzy C-means Penelitian ini menggunakan high order fuzzy logic relationship yaitu membentuk fuzzy logic relationship berdasarkan data dalam kurun waktu beberapa dasarian sebelum dasarian yang akan diramal Pada penelitian ini dalam melakukan perhitungan nilai error untuk mendapatkan hasil evaluasi menggunakan metode Mean Square Error (MSE)

22 Dasar Teori

Pada dasar teori disini dijelaskan tentang metode ndash metode yang digunakan pada penelitian ini yang meliputi peramalan curah hujan data time series logika fuzzy fuzzy C-means metode peramalan dengan Fuzzy Time Series High Order Fuzzy Time Series Multi Factors dan metode perhitungan keakuratan metode peramalan

8

221 Peramalan

Terdapat beberapa definisi tentang peramalan menurut Kamus Besar Bahasa Indonesia (KBBI) yaitu

a Peramalan merupakan prediksi rencana atau estimasi kejadian masa depan yang tidak pasti (KBBI)

b Peramalan adalah sebagai penggunaan teknik ndash teknik statistik dalam bentuk gambaran masa depan berdasarkan pengolahan angka ndash angka yang terjadi pada masa lalu (Buffa et al1996)

c Peramalan adalah bagian internal dari pengambilan keputusan manajemen (Makridakis et al1999)

Berdasarkan beberapa definisi diatas dapat disimpulkan bahwa peramalan merupakan tindakan apa yang akan terjadi di masa mendatang peramalan diperlukan untuk mengambil sebuah keputusan Dalam pengambilan keputusan harus diambil dari pertimbangan ndash pertimbangan yang ada Oleh karena itu peramalan sangat penting hubungannya dengan pengambilan keputusan sehingga kejadian di masa yang akan datang dapat dipersiapkan tindakan apa yang perlu dilakukan

222 Curah hujan

Curah hujan merupakan salah satu faktor penting yang mempengaruhi perubahan iklim suatu wilayah (Mirawati et al 2013) Salah satu contoh kasus nyata yaitu terjadinya perubahan iklim secara tiba ndash tiba atau bisa disebut dengan cuaca ekstrim Curah hujan dapat dijelaskan dengan air hujan yang terkumpul pada suatu wadah datar dimana air hujan tersebut tidak meresap tidak menguap dan tidak mengalir sehingga dapat diukur ketinggiannya Sebagai contoh curah hujan 1 (satu) milimeter dapat dijelaskan dalam suatu wadah datar dengan luas satu meter persegi tertampung air dengan ketinggian sekitar satu milimeter atau tertampung air sebanyak satu liter Metode dalam mendapatkan data curah hujan adalah dengan menggunakan penakar hujan yang kemudian diukur dengan satuan milimeter (mm) (User2015) Intensitas curah hujan dapat dikategorikan ringan jika dibawah 20mm dalam 24 jam dikategorikan lebat jika di atas 50mm dan dikategorikan sedang jika selang 20mm hingga 50mm (User 2015)

Curah hujan mempengaruhi beberapa sektor diantarannya sektor komunikasi dimana penggunaan frekuensi diatas 10 GHz dapat terkena redaman hujan (Mauludiyanto et al 2009) Akan tetapi curah hujan paling berpengaruh terhadap sektor pertanian Hal ini terbukti bahwa sebagian besar terjadinya penurunan produktifitas dan gagal panen di sektor pertanian adalah terjadinya curah hujan yang tinggi

Tinggi dan rendahnya curah hujan dipengaruhi oleh beberapa faktor yaitu kelembaban udara temperatur dan kecepatan angin Pada tahun 2013 Nur Suri Pradipta Pasukat Sembiring dan Pengarapen Bangun melakukan penelitian mengenai pengaruh curah hujan di kota Medan (Pradipta et al 2013)

9

Berdasarkan penelitian tersebut faktor yang mempengaruhi dan digunakan dalam peramalan curah hujan yaitu

1 Kelembaban udara

Kelembaban udara adalah banyaknya kandungan uap air di atmosfer Udara atmosfer adalah campuran dari udara kering dan uap air selain itu kelembaban udara merupakan komponen cuaca yang mempunyai peranan sangat penting bagi stabilitas kehidupan organisme di bumi maupun unsur-unsur cuaca yang lain (Forest 2015) Kelembaban udara berpengaruh terhadap curah hujan Hal ini didukung penelitian oleh (Sipayung et al 2013) yang menyatakan Kelembaban udara berpengaruh positif terhadap curah hujan

2 Kecepatan angin

Kecepatan angin merupakan kecepatan udara yang bergerak secara horizontal pada ketinggian 2 meter diatas tanah Dalam hal ini faktor yang menentukan kecepatan angin adalah perbedaan tekanan udara antara asal dan tujuan angin Kecepatan angin berpengaruh positif terhadap curah hujan artinya jika kecepatan angin tinggi maka curah hujan akan tinggi (Pradipta et al2013)

3 Suhu udara

Suhu udara merupakan ukuran energi kinetik rata ndash rata dari pergerakan molekul ndash molekul Suhu udara berpengaruh negatif terhadap curah hujan artinya jika suhu udara tinggi maka curah hujan akan berkurang (Pradipta et al2013)

223 Data time series

Data time series adalah data statistik yang telah dihimpun dari masa lampau hingga sekarang dan dapat digunakan sebagai acuan dalam melakukan peramalan terhadap data yang akan datang (Wiyanti amp Pulungan 2012) Data time series juga dapat didefinisikan sebagai sebuah kegiatan mengamati data statistik dimana terdapat korelasi (dependensi) antar datanya sehingga data yang sekarang sedang diamati memiliki ketergantungan dengan satu atau lebih data pengamatan sebelumnya (Mirawati et al 2013)

Terdapat dua teknik prediksi yang menggunakan basis data time series yaitu teknik model matematika statistik dan berdasarkan kecerdasan buatan (Wiyanti amp Pulungan 2012) Analisa time series sendiri memiliki beberapa peruntukan salah satunya digunakan dalam melakukan peramalan untuk masa yang akan datang Dalam penggunaan data time series merupakan salah satu proses peramalan kuantitatif dimana berdasar data kuantitatif masa lampau yang direpresentasikan dalam bentuk angka atau nilai (Mirawati et al 2013)

10

224 Logika Fuzzy

Pada tahun 1965 Prof Lotfi A Zadeh memperkenalkan teori logika fuzzy Logika fuzzy merupakan suatu komponen soft computing dan juga suatu cara yang tepat untuk memetakan suatu ruang input ke dalam ruang output Antara ruang input dan ruang output terdapat black box yang berfungsi memetakan input ke ruang output yang sesuai Dasar logika fuzzy adalah teori fuzzy set Pada teori fuzzy set peranan derajat keanggotaan sebagai penentu keberadaan elemen dalam suatu himpunan sangatlah penting Oleh karena itu derajat keanggotaan menjadi ciri utama dalam penalaran dengan logika fuzzy Logika fuzzy bekerja dengan menggunakan derajat keanggotan dari sebuah nilai yang kemudian digunakan untuk menentukan hasil yang ingin dihasilkan berdasarkan atas kriteria yang telah ditentukan (Kusumadewi 2003)

Berikut adalah beberapa alasan digunakannya logika fuzzy (Kusumadewi 2002)

1 Logika fuzzy sangat fleksibel

2 Konsep logika fuzzy mudah dimengerti dan dipahami

3 Logika fuzzy memiliki toleransi terhadap data ndash data yang homogen dan data ndash data yang kurang tepat

4 Logika fuzzy didasari pada bahasa alami atau bahasa sehari - hari sehingga mudah dimengerti

5 Logika fuzzy dapat bekerjasama dengan teknik ndash teknik kendali secara konvensional

6 Logika fuzzy mampu membangun dan mengaplikasikan pengalaman ndash pengalaman para pakar secara langsung tanpa harus melalui tahap atau proses pelatihan

A Himpunan Fuzzy

Himpunan fuzzy atau fuzzy set merupakan perluasan himpunan tegas atau himpunan crisp jadi fungsi karakteristik mencakup bilangan real pada interval [01] Dalam definisi lain himpunan fuzzy adalah suatu himpunan yang mewakili suatu keadaan atau kondisi tertentu dalam suatu variabel fuzzy Keanggotaan fuzzy berbeda dengan probabilitas jika keanggotaan fuzzy pada setiap fungsi karakteristik memberikan suatu pendapat atau keputusan sedangkan probabilitas menunjukan seberapa besar nilai kebenaran dalam fungsi karakteristik tersebut Contohnya yaitu nilai keanggotaan suatu himpunan fuzzy umur muda 09 berarti nilai dalam himpunan tersebut memiliki kemungkinan 90 anggotanya berumur muda dan 10 diharapkan tidak muda Dalam himpunan fuzzy suatu bilangan bisa memiliki dua keanggotaan sekaligus Himpunan fuzzy memiliki dua attribut (Kusumadewi2003)

11

1 Linguistik merupakan penamaan suatu himpunan yang mewakili suatu keadaan atau kondisi tertentu dengan menggunakan bahasa alami misalnya muda parobaya tua

2 Numeris merupakan suatu nilai (angka) yang menunjukkan ukuran dari suatu

variabel seperti 402550 dan sebagainya

B Fungsi Keanggotaan

Fungsi keanggotaan adalah suatu kurva yang menunjukkan pemetaan titik ndash titik input data ke dalam derajat keanggotaannya yang memiliki subinterval antara 0 sampai 1 (Kusumadewi Purnomo 2004) Salah satu cara yang dapat digunakan untuk mendapatkan nilai keanggotaan adalah dengan melalui pendekatan fungsi Ada beberapa fungsi keanggotaa yang dapat digunakan

1 Fungsi representasi linear

Pada fungsi representasi linear pemetaan input ke derajat keanggotaannya digambarkan sebagai suatu garis lurus Bentuk ini paling sederhana dan menjadi pilihan yang baik untuk mendekati suatu konsep yang kurang jelas Keadaan linear himpunan fuzzy terdiri dari dua keadaan yaitu keadaan linear naik dan keadaan linear turun Pada keadaan linear naik kenaikan himpunan dimulai pada nilai domain yang memiliki nilai derajat keanggotaan nol bergerak ke kanan menuju ke nilai domain yang memiliki derajat keanggotaan yang lebih tinggi seperti yang ditunjukkan Gambar 21 Persamaan fungsi keanggotaan pada representasi linear naik ditunjukkan oleh Persamaan 21

Fungsi Keanggotaan

120583(119909) = 0

(119909 minus 119886)(119887 minus 119886)1

119909 le 119886 119886 le 119909 le 119887119909 ge 119887

(21)

b a 0

1

Gambar 21 Representasi linear naik

Sumber Kusumadewi (2002)

120583(119909)

12

Pada keadaan linear turun berbanding terbalik dengan keadaan linear naik Garis lurus dimulai dari nilai domain dengan derajat keanggotaan tertinggi pada sisi kiri kemudian bergerak menurun ke nilai domain yang memiliki derajat keanggotaan lebih rendah yang ditunjukkan Gambar 22 Persamaan fungsi keanggotaan pada representasi linear turun ditunjukkan oleh Persamaan 22

Fungsi Keanggotaan

120583(119909) = (119887 minus 119909)(119887 minus 119886)0

119886 le 119909 le 119887

119909 ge 119887 (22)

2 Fungsi representasi kurva segitiga

Representasi kurva segitiga pada dasarnya merupakan gabungan antara 2 garis linear yaitu linear naik dan linear turun Fungsi representasi kurva segitiga ditandai oleh adanya tiga parameter abc yang akan menentukan koordinat x dari tiga sudut seperti ditunjukkan pada Gambar 23 Persamaan fungsi keanggotaan pada representasi kurva segitiga ditunjukkan oleh Persamaan 23

b a 0

1

Sumber Kusumadewi (2002)

Gambar 22 Representasi linear turun

120583(119909)

c a 0

1

b

Sumber Kusumadewi (2002)

Gambar 23 Representasi kurva segitiga

120583(119909)

13

Fungsi Keanggotaan

120583(119909) =

0 (119909 minus 119886)(119887 minus 119886) (119887 minus 119909)(119888 minus 119887)

119909 le 119886 119886119905119886119906 119909 ge 119888

119886 le 119909 le 119887 119887 le 119909 le 119888

(23)

225 Metode Fuzzy C-means

Fuzzy C-means (FCM) pertama kali diperkenalkan oleh Dunn dan dikembangkan oleh Bezdek yang banyak digunakan dalam pengenalan pola Metode ini merupakan pengembangan dari metode non-hierarkhi K-Means Cluster selanjutnya dilakukan iterasi sampai mendapatkan keanggotaan kelompok tersebut (Klawon 2001)

FCM merupakan salah satu algoritma fuzzy clustering dan juga teknik klasterisasi dimana tiap data ditentukan oleh derajat keanggotaanya Tujuan penggunaan algoritma FCM yaitu untuk menemukan pusat cluster atau centroid dengan meminimumkan fungsi objektif (Bazdek 1984) Ouput dari FCM bukan merupakan fuzzy inference system melainkan deretan pusat cluster dan beberapa derajat keanggotaan untuk setiap titik data Hasil output ini dapat digunakan untuk membangun suatu fuzzy inference system Berikut adalah langkah ndash langkah dari FCM (Kusumadewi 2004)

1 Langkah pertama menentukan jumlah cluster (c ge 2) pembobot (infin gt 119908 gt1) (Bazdek 1984) maksimum iterasi (maxIter) error minimum yang diharapkan yaitu nilai positif yang sangat kecil (120585) fungsi objektif awal (P0 = 0) iterasi awal dideklarasikan 1

2 Langkah kedua memasukkan data X yang akan diklasterisasi berupa matriks berukuran m x n (m = jumlah sampel data n = attribut setiap data) Contoh Xij = data sampel ke-i (i = 1234m) attribu ke-j (j=1234n)

3 Langkah ketiga yaitu dengan membuat bilangan random microik i = 1234n dan k = 123c (n = jumlah sampel pada data c = jumlah cluster yang akan dibentuk) sebagai elemen ndash elemen matriks partisi awal Untuk bilangan penyusun matriks partisi awal dihitung dihitung jumlahnya setiap kolom yang ditunjukkan pada pada Persamaan 24 (Kusumadewi 2004)

119876119896 = sum 120583119894119896119888119896=1 (24)

Dimana

119876119896 = jumlah bilangan pada kolom k

120583119894119896 = bilangan random pada baris i kolom k

119888 = jumlah kolom

14

Selanjutnya untuk menghitung derajat keanggotaan awal dengan melakukan normalisasi pada matiks partisi pada normalisasi dilakukan menggunakan Persamaan 25 (Kusumadewi 2004)

120583119894119896 = 120583119894119896119876119896 (25)

4 Langkah keempat melakukan perhitungan cluster ke-k Vkj dengan k = 1234c dan j = 1234m Perhitungan pusat cluster ditunjukkan pada Persamaan 26 (Kusumadewi 2004)

119881119896119895 = sum ((120583119894119896)119908 times 119883119894119895)119899

119894=1

sum (120583119894119896)119908119899119894=1

(26)

Dimana

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

120583119894119896 = derajat keanggotaan pada data ke-i cluster ke-k

119883119894119895 = data sampel pada data ke-i attribut ke-j

119908 = pembobot

5 Langkah kelima melakukan perhitungan fungsi objektif pada iterasi ke-t P1 Perhitungan fungsi objektif ditunjukkan pada Persamaan 27 (Kusumadewi 2004)

119875119905 = sum sum ([sum (119883119894119895 minus 119881119896119895)119898119895=1

2](120583119894119896)119908)119888

119896=1119899119894=1 (27)

Dimana

119875119905 = fungsi objektif

119883119894119895 = data sampel ke-i atribut ke-j

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

6 Langkah keenam melakukan perhitungan perbaikan matriks partisi yang telah ditunjukkan Persamaan 28 (Kusumadewi 2004)

120583119894119896 = [sum (119883119894119895minus119881119896119895)119898

119895=12

]

minus1119908minus1

sum [sum (119883119894119895minus119881119896119895)119898119895=1

2]

minus1119908minus1119888

119896minus1

(28)

Dimana

119883119894119895 = data sampel ke-i atribut ke-j

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

119908 = pembobot

7 Langkah ketujuh yaitu melakukan pemerikasaan kondisi berhenti dengan kondisi sebagai berikut

a Jika (|119875119905 minus 119875119905minus1| lt 120585) atau ( t gt MaxIter) maka berhenti

b Jika tidak memenuhi t = t +1 ulangi mulai dari langkah ke-4

15

226 Metode Peramalan dengan Fuzzy Time Series

Pada tahun 1996 Chen memperkenalkan metode peramalan dengan menggunakan metode Fuzzy Time Series Metode Fuzzy Time Series memiliki perbedaan dengan metode peramalan time series biasa atau konvensional yaitu terdapat pada data yang digunakan untuk peramalan Fuzzy Time Series data yang digunakan adalah berupa fuzzy set atau himpunan fuzzy dari bilangan ndash bilangan real atas himpunan semesta yang ditentukan Jadi Fuzzy Time Series merupakan metode dengan menggunakan data berupa fuzzy set yang berasal dari bilangan real atas Universe of Discorse pada data aktual Universe of Discourse adalah himpunan semesta dari data penelitian

Berikut adalah langkah ndash langkah metode Fuzzy Time Series yang telah diperkenalkan oleh Chen terdapat enam langkah yaitu

1 Langkah pertama yaitu membagi Universe of Discourse dari bilangan aktual ke dalam subinterval dengan jumlah interval yang sama Perhitungan Universe of Discourse ditunjukkan pada Persamaan 29 (Chen 1996)

119880 = [119863119898119894119899 minus 1198631 119863119898119886119909 + 1198632] (29)

Dimana

119880 = Universe of Discourse

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

1198631 dan 1198632 = bilangan positif yang ditentukan oleh user untuk menentukan Universe of Discourse dari himpunan data sampel

2 Langkah kedua adalah mendefinisikan fuzzy set dari Universe of Discourse (U) menjadikan A1 A2 A3 An ke dalam fuzzy set dengan nilai linguistik sesuai dengan keadaan U Selanjutnya mendefinisikan fuzzy set tersebut ditunjukkan pada Persamaan 210 (Chen 1996)

1198601 =11989111

1199061+

11989112

1199062+

11989113

1199063+ ⋯ +

1198911119896

119906119896 (210)

1198602 =11989121

1199061+

11989122

1199062+

11989123

1199063+ ⋯ +

1198912119896

119906119896

= + + + +

119860119896 =1198911198961

1199061+

1198911198962

1199062+

1198911198963

1199063+ ⋯ +

119891119896119896

119906119896

Dimana 119891119894119895120598 [01] 1 le 119894 le 119896 dan 1 le 119895 le 119898 Variabel 119891119894119895 menunjukkan

derajat keanggotaan dari subinterval 119906119895 dari fuzzy set 1198601 Pada konsep ini

Chen menggunakan nilai linguistik 1198601 = (not many) 1198602 = (not too many) 1198603= (many) 1198604 = (many many) 1198605 = (very many) 1198606 = (too many) 1198607= (too many many) Kemudian nilai linguistik tersebut dimasukkan ke tiap fuzzy set Dari U tersebut dapat dibangun fuzzy set sebagai berikut

16

1198601 = 1

1199061+

05

1199062+

0

1199063+

0

1199064+

0

1199065+

0

1199066+

0

1199067

1198602 = 05

1199061+

1

1199062+

05

1199063+

0

1199064+

0

1199065+

0

1199066+

0

1199067

1198603 = 0

1199061+

05

1199062+

1

1199063+

05

1199064+

0

1199065+

0

1199066+

0

1199067

1198604 = 0

1199061+

0

1199062+

05

1199063+

1

1199064+

05

1199065+

0

1199066+

0

1199067

1198605 = 0

1199061+

0

1199062+

0

1199063+

05

1199064+

1

1199065+

05

1199066+

0

1199067

1198606 = 0

1199061+

0

1199062+

0

1199063+

0

1199064+

05

1199065+

1

1199066+

05

1199067

1198607 = 0

1199061+

0

1199062+

0

1199063+

0

1199064+

0

1199065+

05

1199066+

1

1199067

3 Langkah ketiga yaitu melakukan fuzzifikasi data historis proses fuzzifikasi merupakan proses merubah data aktual yang merupakan bilangan crisp ke dalam bentuk bilangan fuzzy Bilangan fuzzy yang dimaksudkan adalah dalam bentuk derajat keanggotaan Dari beberapa derajat keanggotaan yang terbentuk kemudian dipilih satu fuzzy set yang memiliki derajat keanggotaan teringgi Fuzzifikasi dinotasikan sebagai berikut jika F(t-1) berada pada fuzzy set Ak maka F(t-1) difuzzifikasikan sebagai Ak

4 Langkah keempat adalah mengidentifikasi Fuzzy Logic Relationship (FLR) FLR diidentifikasikan sebagai Ai dan F(t) difuzzifikasikan sebagai Ai rarr Aj Ai sebagai sisi kiri relationship disebut sebagai current state dan Aj sebagai sisi kanan relationship disebut next state Jika terjadi perulangan relationship maka tetap dihitung satu kali

5 Langkah kelima yaitu mengelompokkan menjadi Fuzzy Logical Relationship Group (FLRG) FLRG dibangun berdasarkan sisi kiri (current state) yang sama

6 Langkah terakhir yaitu langkah keenam adalah melakukan defuzzifikasi nilai keluaran peramalan Defuzzifikasi adalah mengubah nilai keluaran fuzzy menjadi bilangan crisp kembali sehingga diperoleh hasil akhir peramalan Defuzzifikasi didasarkan pada tiga (3) rule aturan yaitu (Chen 1996)

I Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai hanya memiliki satu FLR pada FLRG yaitu dengan kondisi Ai rarr Aj dimana nilai maksimum fungsi keanggotaanya berada pada 119906119895 maka nilai peramalan untuk n+1 adalah

nilai tengah dari 119906119895 atau didefinisikan dengan 119898119895

II Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai memiliki lebih dari satu FLR pada FLRG yaitu dengan kondisi Ai rarr Aj1 Aj2 Ajp Dimana nilai tengah untuk masing ndash masing Aj1 Aj2 Aj3 Ajp adalah mj1 mj2 mj3 mjp

maka nilai peramalan untuk n+1 adalah (mj1 mj2 mj3 mjp) p

III Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai tidak memiliki FLR pada FLRG dimana nilai maksimum fungsi keanggotaannya berada pada 119906119895

17

maka nilai peramalan untuk n+1 adalah nilai tengah dari 119906119895 atau

didefinisikan dengan 119898119895

227 Metode High Order Fuzzy Time Series Multi Factors

Metode High Order Fuzzy Time Series Multi Factors adalah metode Fuzzy Time Series (FTS) yang melibatkan beberapa faktor yang mempengaruhi peramalan dengan berdasarkan beberapa periode waktu sebelum periode yang akan diramalkan dalam proses pembentukkan Fuzzy Logical Relationship (FLR) Hasil peramalan dengan banyak faktor yang mempengaruhi dinilai lebih baik dari pada dengan hanya satu faktor yang mempengaruhi (LinYang 2009) Pada metode ini pembentukkan subinterval yang berfungsi dalam pendefinisian fuzzy set dilakukan dengan menggunakan teknik klasterisasi fuzzy C-means Berikut adalah langkah ndash langkah Metode High Order Fuzzy Time Series Multi Factors (LinYang 2009)

1 Langkah pertama adalah melakukan perhitungan Universe of Discourse (U) Sebelum menghitung nilai U terlebih dulu menghitung nilai mean (rata ndash rata) sampel lalu menghitung nilai standar deviasi (120590) Mean merupakan perhitungan jumlah dari semua nilai dalam kumpulan data kemudian dibagi dengan jumlah total data untuk menghitung nilai mean ditunjukkan pada Persamaan 211 (Weisstein 2015) Standar deviasi merupakan akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel untuk menghitung nilai standar deviasi (120590) ditunjukkan pada Persamaan 212 (Weisstein 2015) Perhitungan U ditunjukkan pada Persamaan 213 (LinYang 2009)

119909 =sum 119909119894

119899119894=1

119899 (211)

Dimana

= mean (rata ndash rata)

119909119894 = nilai data ke-i

119899 = banyak data

120590 = radicsum (119909119894minus ) 2119899

119894=1

119899minus1 (212)

Dimana

120590 = Standar deviasi data

119880 = [119863119898119894119899 minus 120590 119863119898119886119909 + 120590] (213)

Dimana

119880 = Universal 0f Discourse

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

18

2 Langkah kedua yaitu menentukan jumlah cluster data Proses klasterisasi bertujuan untuk membagi U kedalam beberapa subinterval Hasil perhitungan banyaknya cluster apabila bernilai pecahan maka harus dibulatkan menjadi bilangan bulat Perhitungan banyaknya cluster ditunjukkan pada Persamaan 214 (LinYang 2009)

119896 = ||119863119898119894119899 minus 119863119898119886119909|sum |119883(119905)minus119883(119905minus1)|119899

119905=1

119899minus1| (214)

Dimana

119896 = banyaknya jumlah cluster

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

119899 = banyaknya data sampel

119883(119905) = data pada waktu ke-t

3 Langkah ketiga yaitu melakukan pembentukan pusat cluster Pada metode ini proses klasterisasi data menggunakan fuzzy C-means (FCM) untuk mendapatkan pusat cluster sebanyak k Tahapannya U dibagi kedalam k subinterval (119863119898119894119899 1198891) (1198891 1198892) (1198892 1198893) hellip (119889119896minus1 119863119898119886119909) dimana di (i = 123k-1) merupakan titik tengah antara dua pusat cluster k subinterval didefinisikan sebagai 1199061 1199062 1199063 hellip 119906119896 Sehingga dalam hal ini subinterval

dengan panjang berbeda dapat menggambarkan struktur data kompleks dengan baik dan dapat meningkatkan peramalan dibandingkan menggunakan subinterval dengan panjang yang sama (LinYang 2009)

4 Langkah keempat yaitu melakukan pembentukan himpunan fuzzy atau fuzzy set Pada langkah ini fuzzy set direpresentasikan dengan kurva bahu Pembentukkan fuzy set ditunjukkan pada Persamaan 215 (LinYang 2009)

1198601 =11989111

1199061+

11989112

1199062+

11989113

1199063+ ⋯ +

1198911119896

119906119896 (215)

= + + + +

119860119896 =1198911198961

1199061+

1198911198962

1199062+

1198911198963

1199063+ ⋯ +

119891119896119896

119906119896

5 Langkah kelima yaitu proses fuzzifikasi Proses fuzzifikasi bertujuan untuk mengubah data sampel yang masih berupa bilangan crisp sehingga menjadi bilangan fuzzy Masing ndash masing data dihitung derajat keanggotaannya terhadap fuzzy set yang sudah terbentuk selajutnya derajat kanggotaan dihitung berdasarkan kurva bahu dan derajat keanggotaan tertinggi menunjukkan hasil fuzzifikasi data tersebut Contohnya A(t) B(t) C(t) dan D(t) dimana t= 123n merupakan time series dari faktor yang mempengaruhi serta n merupakan banyaknya data Berdasarkan pembagian subinterval masing ndash masing time series ini difuzzifikasikan Misalkan hasil dari Persamaan 215 yaitu menghitung banyak cluster dari k1 k2 k3 k4 Jadi time series difuzzifikasikan menjadi empat fuzzy time series yaitu

19

A(ti) dimana i = 1234k1

B(tj) dimana j = 1234k2

C(tp) dimana p = 1234k3

D(tq) dimana q = 1234k4 t = 123n

6 Langkah keenam yaitu melakukan pembentukkan Fuzzy Logical relationship (FLR) Data sampel sebanyak n periode dipilih sebagai data training untuk membentuk fuzzy time series model Misalkan t merupakan periode waktu yang akan diramal dengan menggunakan order ndash 3 maka tiga periode sebelum periode t adalah t-3 t-2 dan t-1 dimana t = 456n Maka FLR yang dihasilkan ditunjukkan pada Persamaan 216 dan berdasarkan persamaan tersebut maka akan membentuk sebuah kumpulan FLR dari data training (LinYang 2009)

(119860(119905minus31198943) 119861(119905minus31198953) 119862(119905minus31199013) 119863(119905minus31199023)) (216)

(119860(119905minus21198942) 119861(119905minus21198952) 119862(119905minus21199012) 119863(119905minus21199022))

(119860(119905minus11198941) 119861(119905minus11198951) 119862(119905minus11199011) 119863(119905minus11199021)) rarr 119860(1199051198944)

Tabel 22 Fuzzy Logic Relationship

(119860(119905minus31198943) 119861(119905minus31198953) 119862(119905minus31199013) 119863(119905minus31199023))

(119860(119905minus21198942) 119861(119905minus21198952) 119862(119905minus21199012) 119863(119905minus21199022))

(119860(119905minus11198941) 119861(119905minus11198951) 119862(119905minus11199011) 119863(119905minus11199021)) rarr 119860(1199051198944)

(119860(119905minus21198943) 119861(119905minus21198953) 119862(119905minus21199013) 119863(119905minus21199023))

(119860(119905minus11198942) 119861(119905minus11198952) 119862(119905minus11199012) 119863(119905minus21199022))

(119860(1199051198941) 119861(1199051198951) 119862(1199051199011) 119863(1199051199021)) rarr 119860(119905+11198944)

(119860(119905+119899minus71198943) 119861(119905+119899minus71198953) 119862(119905+119899minus71199013) 119863(119905+119899minus71199023))

(119860(119905+119899minus61198942) 119861(119905+119899minus61198952) 119862(119905+119899minus61199012) 119863(119905+119899minus61199022))

(119860(119905+119899minus51198941) 119861(119905+119899minus51198951) 119862(119905+119899minus51199011) 119863(119905+119899minus51199021)) rarr 119860(119905+119899minus41198944)

Sumber (LinYang 2009)

7 Langkah terakhir adalah proses Defuzzifikasi Berdasarkan langkah sebelumnya maka dapat diambil hasil fuzzy ke- H yaitu yang digunakan sebagai data testing atau data uji seperti yang ditunjukkan pada Persamaan 217 (LinYang 2009)

(119860(119867minus31198943) 119861(119867minus31198953) 119862(119867minus31199013) 119863(119867minus31199023)) (217)

(119860(119867minus21198942) 119861(119867minus21198952) 119862(119867minus21199012) 119863(119867minus21199022))

(119860(119867minus11198941) 119861(119867minus11198951) 119862(119867minus11199011) 119863(119867minus11199021)) rarr 119860(1198671198944)

20

Faktor ndash faktor di ruas kiri pada Persaman 217 dibandingkan satu per satu dengan FLR data training yang sudah dicatat sebelumnya pada Tabel 22 membandingkannya yaitu dengan cara menghitung nilai absolut dari selisih antara pangkat bawah kedua faktor pada posisi yang sama di FLR Terdapat 12 fuzzy set di ruas kiri pada masing ndash masing FLR sehingga dari hasil perbandingan diperoleh 12 nilai absolut yang kemudian dijumlahkan untuk mendapat total selisihnya Jadi jika total selisih lebih kecil dari threshold yang ditentukan maka FLR tersebut dinyatakan cocok (LinYang 2009)

Selanjutnya jika FLR menemukan N pasangan yang cocok pada Tabel 22 maka N faktor di ruas kanan dari N FLR ini mendasari peramalan fuzzy set A() yang mana jumlah dari setiap fuzzy set pada umumnya berbeda Untuk peramalan dengan fuzzy set ditunjukkan pada Tabel 23 (LinYang 2009)

Tabel 23 Peramalan fuzzy set

Ruas Kanan A(1) A(2) A(3) A(k1)

Pusat cluster c1 c2 c3 ck1

Frekuensi f1 f2 f3 fk1

Sumber (Lin Yang 2009)

Berdasarkan Tabel 23 dengan menggunakan metode centroid untuk melakukan proses defuzzifikasi Proses defuzzifikasi dapat ditunjukkan pada Persamaan 218 (LinYang 2009)

119903119867 =sum 119888119894times 119891119894

1198961119894=1

sum 119891119894119896119894119894=1

(218)

Dimana

119903119867 = hasil (result) peramalan data ke-H

119888119894 = pusat cluster i dimana A(i) adalah ruas kanan dari FLR hasil proses pencocokan

119891119894 = frekuensi banyaknya muncul A(i) pada saat proses pencocokan

228 Perhitungan keakuratan metode peramalan

Dalam perencanaan peramalan tentu menginginkan hasil ramalan yang tepat atau paling tidak hampir mendekati sehingga rencana yang dibuat menjadi rencana yang realistis Keakuratan atau ketepatan merupakan yang menjadi kriteria performance suatu metode peramalan Keakuratan tersebut dapat dinyatakan sebagai kesalahan peramalan (forecast error) Semaikin kecil nilai kesalahan peramalan maka semaikin tinggi keakuratan metode peramalan yang digunakan dan sebaliknya semakin tinggi nilai kesalahan maka semakin rendah keakuratan metode peramalan yang digunakan

Mean Square Error (MSE) adalah salah satu metode yang digunakan untuk menghitung nilai akurasi atau keakuratan dari metode yang digunakan sebagai peramalan atau prediksi MSE merupakan perhitungan pangkat dua dari selisih

21

antara nilai data hasil peramalan dengan nilai data aktual dan kemudian dibagi dengan banyaknya data yang telah diramalkan Pada penentuan nilai evaluasi memilih menggunakan metode MSE karena metode ini dapat menunjukan hasil skala kemiripan antara hasil data peramalan dengan data aktual Berikut merupakan metode Mean Square Error (MSE) yang ditunjukan pada Persamaan 219 (Wang Chen 2009)

119872119878119864 = sum (119865119905minus119860119905)2119899

119894=1

119899 (219)

Dimana 119872119878119864 = nilai Mean Square Error Rate 119860119905 = nilai aktual pada data ke-t 119865119905 = nilai hasil peramalan untuk data ke-t n = banyaknya data

22

BAB 3 METODOLOGI

Pada bab ini akan dibahas mengenai metode yang digunakan beserta tahap ndash tahap pengerjaan penelitian skripsi dengan judul ldquoPeramalan Curah Hujan dengan Metode High Order Fuzzy Time Series Multi Factorsrdquo Penilitian ini digolongkan sebagai penelitian implementatif dengan pendekatan perancangan (design)

Metode penelitian ini meliputi studi literatur pengumpulan data perancangan implementasi pengujian dan analisis pengambilan kesimpulan Berikut adalah alur dari metode penelitian dapat ditunjukkan pada Gambar 31

31 Studi Literatur

Pada tahap studi literatur penelitian ini bertujuan untuk mempelajari literatur dan konsep dari beberapa informasi dan pustaka yang berkaitan dengan penelitian ini Literatur dan sumber ilmu dari penelitian ini diperoleh dari internet buku dan bimbingan oleh dosen pembimbing Adapun literatur yang dipelajari yaitu tentang curah hujan serta faktor ndash faktor yang mempengaruhinya dan metode High Order Fuzzy Time Series Multi Factors

Studi Literatur

Pengumpulan Data

Perancangan

Implementasi

Pengujian dan Analisis

Kesimpulan dan Saran

Gambar 31 Diagram blok metodologi penelitian

23

32 Pengumpulan Data

Pada tahap pengumpulan penelitian ini sumber data yang diperoleh yaitu dari Badan Meteorologi Klimatologi dan Geofisikia (BMKG) Stasiun Klimatologi Kelas III Karangkates Kabupaten Malang Data yang diperoleh untuk peramalan curah hujan yaitu data aktual time series (2011 - 2016) Data yang digunakan dalam bentuk dasarian yaitu dalam rentang waktu sepuluh hari sehingga dalam satu bulan dibagi menjadi tiga dasarian

Dasarian pertama yaitu pada tanggal 1 sampai dengan 10

Dasarian kedua yaitu pada tanggal 11 sampai dengan 20

Dasarian ketiga yaitu pada tanggal 21 sampai dengan akhir bulan

Pada penelitian ini data curah hujan dalam satuan milimeter (mm) kelembaban dalam persen () suhu udara dalam satuan celsius (˚C) kecepatan angin dalam satuan kilometer per jam (kmjam)

33 Perancangan

Pada tahap perancangan penelitian ini bertujuan untuk mengetahui rancangan ndash rancangan yang merupakan langkah yang dilakukan saat melakukan tahap implementasi Pada tahap ini terdapat beberapa perancangan yaitu perancangan proses yang berisi tahapan ndash tahapan proses metode High Order Fuzzy Time Series Multi Factors perhitungan manual yang merupakan manualisasi dari metode yang digunakan pada penelitian ini perancangan antar muka atau user interface yang berisi gambaran kasar dari tampilan antar muka prototype aplikasi yang nantinya diterapkan pada tahap implementasi selanjutnya adalah perancangan pengujian yang berisi rancangan ndash rancangan pengujian metode yang digunakan untuk mengetahui berapa tingkat kesalahan atau error yang dimiliki metode pada penelitian ini dalam melakukan peramalan curah hujan

34 Implementasi

Pada tahap implementasi peneltian ini dilakukan sesuai dengan perancangan yang telah dibuat pada tahapan perancangan sebelumnya Implementasi dari metode High Order Fuzzy Time Series Multi Factors dilakukan menggunakan bahasa pemrograman java serta Integrated Development Environment (IDE) yang digunakan adalah Netbeans Sehingga nantinya hasil dari tahap ini berupa prototype aplikasi dari implementasi metode High Order Fuzzy Time Series Multi Factors untuk peramalan curah hujan

35 Pengujian dan Analisis

Pada tahapan penelitian pengujian ini diperlukan perangkat lunak dan perangkat keras agar pengujian dari hasil implementasi dapat berjalan dengan baik maka pengujian perangkat lunak dijalankan pada laptop ataupun PC (Personal Computer) dengan spesifikasi sebagai berikut

24

1 Prosesor Intel Core i3

2 Memory RAM 8 Gigabytes

3 Sistem Operasi menggunakan Windows 7 64bit

4 Hardisk dengan kapasitas 500 GB

5 Netbeans 81 JDK 7

Pengujian hasil peramalan menggunakan metode High Order Fuzzy Time Series Multi Factors yaitu menggunakan metode Mean Square Error (MSE) Dimana rumus pengujian sesuai dengan Persamaan 219 Dalam pengujian menggunakan metode ini semakin kecil nilai MSE maka semakin tinggi tingkat akurasi hasil peramalan tersebut Pada penelitian ini untuk keperluan pengujian dari proses implementasi dilakukan empat pengujian yaitu pengujian terhadap perbedaan nilai order pengujian terhadap perbedaan nilai threshold pengujian terhadap data training untuk mengetahui pengaruhnya terhadap nilai MSE dan pengujian validasi sistem untuk mengetahui bahwa hasil implementasi metode High Order Fuzzy Time Series Multi Factors dapat melakukan peramalan

36 Kesimpulan dan Saran

Pada pengambilan kesimpulan akan dilakukan apabila semua tahapan ndash tahapan penelitian sudah dilakukan yaitu yang meliputi perancangan implementasi dan pengujian dan analisis telah selesai dilakukan Kesimpulan merupakan tahapan dimana semua rumusan masalah yang sudah ditetapkan sebelumnya dapat terjawab semua Selanjutnya pada saran merupakan berkenaan dengan hasil yang telah dicapai untuk memperbaiki kekurangan - kekurangan yang terjadi pada penelitian ini serta memberikan pertimbangan pada pengembangan penelitian lebih lanjut

25

BAB 4 PERANCANGAN

Pada bab ini berisi tentang perancangan yang nantinya digunakan sebagai dasar dalam tahap implementasi Hal yang dibahas meliputi perancangan proses perhitungan manual perancangan pengujian dan perancangan antar muka

41 Perancangan Proses

Pada perancangan proses ini berisi mengenai tahapan ndash tahapan dari metode yang digunakan yaitu metode High Order Fuzzy Time Series Multi Factors Pada penelitian ini melibatkan faktor ndash faktor yang mempengaruhi curah hujan yaitu suhu udara kelembaban udara dan kecepatan angin Data time series dari curah hujan merupakan faktor utama dalam proses peramalan pada penelitian ini Inputan pada peneltian ini yaitu data time series curah hujan serta faktor ndash faktor yang mempengaruhinya Order yang digunakan pada metode ini merupakan order lebih dari satu oleh karena itu disebut dengan High Order Order merupakan urutan jumlah dari data time series pada periode waktu t yang mempengaruhi nilai data Berikut merupakan diagram alir dari proses peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors yang ditunjukkan pada Gambar 41 dan Gambar 42

Gambar 41 Diagram alir metode penelitian yang digunakan (bagian 1)

Mulai

Data curah hujan suhu kelembaban kecepatan angin jmlh_Banyakdata jmlh_Faktor

Universe_of_Discourse

A

Jumlah_Cluster

26

411 Proses perhitungan Universe of Discourse

Pada perhitungan Universe of Discourse harus sudah dilakukan inputan data agar dapat memulai tahapan perhitungan Tahapan dari proses perhitungannya yaitu pada langkah pertama dilakukan perhitungan nilai mean (rata ndash rata) sesuai dengan Persamaan 211 Setelah mendapatkan nilai mean dapat dilakukan perhitungan untuk mencari nilai standar deviasi sesuai dengan Persamaan 212 Selanjutnya dicari nilai terkecil (119863119898119894119899) dan nilai terbesar (119863119898119886119909) Setelah menyelesaikan tahap ndash tahap tersebut dapat dilakukan perhitungan untuk

Gambar 42 Diagram alir metode penelitian yang digunakan (bagian 2)

A

Perhitungan Pusat Cluster

Fuzzifikasi

Pembentukan Fuzzy Logical Relationship

Defuzzifikasi

Nilai hasil peramalan

Berhenti

Pembentukan Subinterval dan Fuzzy set

27

mencari Universe of Discourse sesuai dengan Persamaan 213 Berikut merupakan diagram alir dari proses perhitungan Universe of Discourse yang ditunjukkan pada Gambar 43

Perhitungan Universe of Discourse

Mulai

Min_dan_Max

mean

standar_deviasi

for i = 0 to jmlh_Faktor-1

i

hsl_uMin ke i = hsl_min ke i ndash hsl_stdev ke i

hsl_uMax ke i = hsl_max ke i + hsl_stdev ke i

hsl_uMin hsl_uMax

Berhenti

Gambar 43 Diagram alir proses perhitungan Universe of Discourse

28

4111 Proses perhitungan Mean

Pada proses perhitungan mean merupakan nilai rata ndash rata dari setiap faktor dimana nilai mean ini nantinya dibutuhkan untuk melakukan proses perhitungan standar deviasi Berikut merupakan diagram alir dari proses perhitungan mean yang ditunjukkan pada Gambar 44

mean

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to jmlh_DataTraining

tmp_jmlh = 0

tmp_jmlh = tmp_jmlh + data ke ij

j

hsl_mean ke i = tmp_jmlhjmlh_DataTraining

i

hsl_mean

Berhenti

Gambar 44 Diagram alir proses perhitungan mean

29

4112 Proses perhitungan standar deviasi

Pada proses perhitungan standar deviasi dapat dilakukan setelah mendapatkan nilai mean dari setiap data sesuai proses sebelumnya Berikut merupakan diagram alir dari proses perhitungan standar deviasi yang ditunjukkan pada Gambar 45

standar_deviasi

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to jmlh_DataTraining

result = 0

result = result + (data ke ij ndash mean ke i)2

j

hsl_stdev ke i = radicresult

jmlh_DataTrainingminus1

i

hsl_stdev

Berhenti

Gambar 45 Diagram alir proses perhitungan standar deviasi

30

4113 Proses perhitungan nilai Dmin dan Dmax

Pada proses perhitungan ini merupakan proses perhitungan untuk mencari nilai terkecil dan terbesar dari setiap faktor data Setelah mendapat nilai terkecil dan terbesar maka data dilakukan proses perhitungan Universe of Discourse Berikut merupakan diagran alir dari proses perhitungan nilai Dmin dan Dmax yang ditunjukkan pada Gambar 46

Gambar 46 Diagram alir perhitungan nilai Min dan Max

ya

ya

tidak

tidak

Min_dan_Max

Mulai

for i = 0 to jmlh_Faktor-1

besar = data ke i0

kecil = data ke i0

for j=0 to jmlh_DataTraining

data ke ij gt besar

besar = data ke ij

data ke ij lt kecil

kecil = data ke ij

j

hsl_max ke i = besar

hsl_min ke i = kecil

i

hsl_max hsl_min

Berhenti 1

1

2

2

3

4

4

5

5

3

31

412 Proses perhitungan jumlah cluster

Pada proses perhitungan jumlah cluster memiliki masukkan proses Dmin dan Dmax

dari proses perhitungan sebelumnya Pada proses ini terdapat perhitungan nilai dari selisih setiap data Pada perhitungan jumlah cluster sesuai dengan Persamaan 214 Berikut merupakan langkah ndash langkah perhitungan jumlah cluster yang ditunjukkan pada Gambar 47

jumlah_Cluster

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to (jmlh_DataTraining-1)

Berhenti

hsl_max hsl_min

selisih = 0

selisih = selisih + |data ke ij ndash data ke i (j+1)|

j

jmlh_Cluster ke i = |ℎ119904119897_119898119894119899 119896119890 119894minusℎ119904119897_119898119886119909 119896119890 119894|

119904119890119897119894119904119894ℎ

119895119898119897ℎ_119863119886119905119886119879119903119886119894119899119894119899119892minus1

i

jmlh_Cluster

Gambar 47 Diagram alir proses perhitungan jumlah cluster

32

413 Proses perhitungan pusat cluster

Pada proses perhitungan pusat cluster ini diperlukan beberapa variabel yang harus dideklarasikan terlebih dahulu yaitu nilai bobot fungsi objektif nilai iterasi awal nilai iterasi maksimum dan error terkecil Perhitungan subinterval ini menggunakan metode fuzzy C-means yang diawali dengan pencarian pusat cluster terlebih dahulu Berikut merupakan langkah ndash langkah perhitungan subinterval yang ditunjukkan pada Gambar 48 Gambar 49 Gambar 410 Gambar 411 Gambar 412

Gambar 48 Diagram alir proses perhitungan pusat cluster (bagian 1)

Perhitungan pusat cluster

Mulai

jmlh_Cluster

for i = 0 to jmlh_Faktor-1

Deklarasi bobot selisih_f_objektif

iter_maksimum error_min

Pembentukan Matriks partisi faktor A jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor A

for iter = iter to iter_maksimum

A

i == 0

Perhitungan pusat_cluster1 faktor A

B C D

tidak

ya

33

Gambar 49 Diagram alir proses perhitungan pusat cluster (bagian 2)

ya

tidak

tidak

ya

Perhitungan f_objektif faktor A

A B C D

Perhitungan selisih_f_objektif faktor A

Perbaikan matriks partisi faktor A

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster1 faktor A

Iter = iter_maksimum

iter

i == 1

Pembentukan Matriks partisi faktor B jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor B

for iter = iter to iter_maksimum

F A G E

34

tidak

tidak

ya

A E F G

Perhitungan pusat_cluster2 faktor B

Perhitungan f_objektif faktor B

Perhitungan selisih_f_objektif faktor B

Perbaikan matriks partisi faktor B

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster2 faktor B

Iter = iter_maksimum

iter

i == 2

Pembentukan Matriks partisi faktor C jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor C

I A H

Gambar 410 Diagram alir proses perhitungan pusat cluster (bagian 3)

ya

35

tidak

tidak

Gambar 411 Diagram alir proses perhitungan pusat cluster (bagian 4)

ya

A H I

for iter = iter to iter_maksimum

Perhitungan pusat_cluster3 faktor C

Perhitungan f_objektif faktor C

Perhitungan selisih_f_objektif faktor C

Perbaikan matriks partisi faktor C

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster3 faktor C

Iter = iter_maksimum

iter

i == 3

Pembentukan Matriks partisi faktor D jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor D

J A K

ya

36

tidak

ya

Gambar 412 Diagram alir proses perhitungan pusat cluster (bagian 5)

A K J

for iter = iter to iter_maksimum

Perhitungan pusat_cluster4 faktor D

Perhitungan f_objektif faktor D

Perhitungan selisih_f_objektif faktor D

Perbaikan matriks partisi faktor D

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster4 faktor D

Iter = iter_maksimum

iter

i

pusat_cluster1pusat_cluster2 pusat_cluster3pusat_cluster4

Berhenti

37

tidak

ya

tidak

ya

Gambar 413 Diagram alir pembentukan subinterval dan fuzzy set (bagian 1)

414 Proses pembentukan subinterval dan Fuzzy set

Pada proses pembentukan fuzzy set atau himpunan fuzzy pada penelitian ini dapat dilakukan setelah perhitungan subinterval selesai dilakukan Nilai subniterval merupakan masukan utama pada pembentukkan fuzzy set Pembentukan fuzzy sesuai dengan Persamaan 215 Berikut merupakan langkah ndash langkah proses pembentukan fuzzy set yang ditunjukkan pada Gambar 413 dan Gambar 414

Pembentukan subinteval dan Fuzzy set

Mulai

pusat_cluster1pusat_cluster2 pusat_cluster3pusat_cluster4

for i = 0 to jmlh_Faktor-1

Menentukan batas_subintervalMinA dan

batas_subintervalMaxA

Menentukan batas_fuzzysetMinA dan batas_fuzzysetMaxA

i == 0

i == 1

Menentukan batas_subintervalMinB dan

batas_subintervalMaxB

Menentukan batas_fuzzysetMinB dan batas_fuzzysetMaxB

A C B

38

tidak

tidak

ya

ya

415 Proses Fuzzifikasi

Pada proses fuzzifikasi ini pembentukanya sesuai derajat keanggotaan pada setiap data Pada proses ini derajat keanggotaan dihitung berdassarkan fungsi keanggotaan kurva bahu Hasil dari proses ini merupakan data yang sudah difuzzifikasikan menjadi data fuzzy Berikut langkah ndash langkah dari proses fuzzifikasi ditunjukkan pada Gambar 415 dan Gambar 416

i == 2

A B C

Menentukan batas_subintervalMinC dan batas_subintervalMaxC

Menentukan batas_fuzzysetMinC dan batas_fuzzysetMaxC

i == 3

Menentukan batas_subintervalMinD dan batas_subintervalMaxD

Menentukan batas_fuzzysetMinD dan batas_fuzzysetMaxD

i

batas_fuzzysetMinA batas_fuzzysetMaxA batas_fuzzysetMinB batas_fuzzysetMaxB batas_fuzzysetMinC batas_fuzzysetMaxC batas_fuzzysetMinD batas_fuzzysetMaxD

Berhenti

Gambar 414 Diagram alir pembentukan subinterval dan fuzzy set (bagian 2)

39

tidak

ya

ya

tidak

Fuzzifikasi

Mulai

for i = 0 to jmlh_Faktor-1

Menentukan hasil_fuzzifikasiA dari faktor A

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinA batas_fuzzysetMaxA

Gambar 415 Diagram alir proses fuzzifikasi (bagian 1)

batas_fuzzysetMinA batas_fuzzysetMaxA batas_fuzzysetMinB batas_fuzzysetMaxB batas_fuzzysetMinC batas_fuzzysetMaxC batas_fuzzysetMinD batas_fuzzysetMaxD

DD

i == 0

i == 1

Menentukan hasil_fuzzifikasiB

dari faktor B

Menghitung derajat keanggotaan

berdasarkan batas_fuzzysetMinB

batas_fuzzysetMaxB

C A B

40

tidak

ya

ya

tidak

ya

i == 2

A B C

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinC batas_fuzzysetMaxC

Menentukan hasil_fuzzifikasiC dari faktor C

i == 3

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinD

batas_fuzzysetMaxD

Menentukan hasil_fuzzifikasiD dari faktor D

i

hasil_fuzzifikasiA hasil_fuzzifikasiB hasil_fuzzifikasiC hasil_fuzzifikasiD

Berhenti

Gambar 416 Diagram alir proses fuzzifikasi (bagian 2)

41

tidak

ya

416 Proses pembentukan Fuzzy Logical Relationship

Setelah data melalui proses fuzzifikasi dan sudah menjadi data fuzzy maka dapat dilakukan pembentukan Fuzzy Logical Relationship (FLR) Pembentukan FLR dilakukan sesuai dengan Persamaan 216Berikut adalah langkah ndash langkah proses pembentukan Fuzzy Logical Relationship (FLR) yang ditunjukkan pada Gambar 417 Gambar 418 dan Gambar 419

Gambar 417 Diagram alir proses Pembentukan FLR

(bagian 1)

Pembentukan Fuzzy Logical Relationship

Mulai

hasil_fuzzifikasiAhasil_fuzzifikasiB hasil_fuzzifikasiChasil_fuzzifikasiD order

for i = 0 to jmlh_dataTraining

max_inc = order jmlh_dataTraining = dataTraining - order

for j = i to max_inc

for k = 0 to jmlh_Faktor-1

j == 0

FLR_kiri_training ke ijk = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D)

ke j

E A B C D

42

ya

tidak

ya

tidak

A B C E D

FLR_kiri_training ke i(j-i)k = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D) ke j

j = 0

k

j

FLR_kanan_training ke i = hasil_fuzzifikasiA ke (i+order)

Max_inc lt (jmlh_DataTraining-1)

i

tmp_JmlhDatatraining = tmp_JmlhDatatraining +1

max_inc = max_inc + 1 tmp_JmlhDatatraining = i

Gambar 418 Diagram alir proses Pembentukan FLR (bagian 2)

for j = 0 to tmp_JmlhDatatraining

for j = tmp_JmlhDatatraining to max_inc

for k = 0 to jmlh_Faktor-1

I H G F

43

tidak

ya

417 Proses Defuzzifikasi

Proses defuzzifikasi merupakan proses akhir dimana keluaran dari proses ini merupakan nilai hasil peramalan Data yang diperlukan pada proses defuzzifikasi adalah hasil dari proses pembentukan Fuzzy Logical Relationship (FLR) nilai threshold yang harus dideklarasikan sebelumnya jumlah data training dan jumlah data testing Dalam proses ini dilakukan perhitungan selisih pada FLR antara data testing dan data training FLR yang dihitung nilai selisihnya adalah FLR pangkat bawah yang terdapat pada ruas kiri Setelah dilakukan perhitungan selisih dan total jumlah selisih lebih kecil dari nilai threshold maka pada setiap FLR yang

I H G F

FLR_kiri_testing ke i(j-tmp_jmlhDatatraining) k = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D) ke j

k

j

FLR_kanan_testing ke i = hasil_fuzzifikasiA ke (i+order)

i

Max_inc lt (jmlh_DataTraining-1)

max_inc = max_inc + 1 tmp_JmlhDatatraining++

FLR_kiri_training FLR_kanan_training FLR_kiri_testing FLR_kanan_testing

Mulai

Gambar 419 Diagram alir proses Pembentukan FLR (bagian 3)

44

ya

tidak

sesuai dengan kondisi tersebut dapat dikatakan cocok atau dapat dilakukan ke tahap perhitungan selanjutnya Setelah mendapatkan FLR yang cocok maka dilakukan pengelompokkan berdasarkan FLR ruas kanan Pengelompokkan ini dihitung jumlah frekuensi yang sama sesuai dengan fuzzy set di ruas kanan Selanjutnya untuk memperoleh hasil peramalan dilakukan proses perhitungan sesuai dengan Persamaan 218 Berikut adalah langkah ndash langkah proses defuzzifikasi yang ditunjukkan pada Gambar 420 dan Gambar 421

Gambar 420 Diagram alir proses defuzzifikasi (bagian 1)

Defuzzifikasi

Mulai

FLR_kiri FLR_kanan order dataTraining dataTesting konstanta

threshold = (jmlh_Faktor x order)+konstanta

for i = 0 to dataTesting

for j = 0 to (dataTraining-i)

Perhitungan hitung_selisih antara FLR_kiri data training dan data testing

hitung_selisih lt threshold

match ke ij = hitung_selisih

j

i

A

45

Gambar 421 Diagram alir proses defuzzifikasi (bagian 2)

A

Menghitung jumlah total FLR_kiri yang cocok untuk setiap data testing

Mencocokan FLR_kiri yang cocok dengan FLR_kanan untuk setiap data testing

for i = 0 to dataTesting

Menghitung frekuensi setiap FLR_kanan yang cocok untuk setap data testing

for j = 0 to jumlah total FLR kiri yang cocok

peramalan = peramalan + Frekuensi setiap FLR_kanan yang cocok x pusat_cluster1

sesuai dengan value FLR_kanannya

j

hasil_peramlan ke i = peramalan jumlah total FLR kiri yang cocok

i

Hasil_permalan

Berhenti

46

42 Perhitungan Manual

Dalam perhitungan manual ini data sampel yang digunakan merupakan data time series dasarian ke-2 pada periode April 2014 sampai dengan dasarian ke-2 Juli 2014 data sampel ditunjukkan pada Tabel 41

Tabel 41 Data Sampel Perhitungan Manual

No Dasarian Curah Hujan

(A)

Suhu (B) Kelembaban (C)

Kecepatan Angin(D)

1 Dasarian 2 (April 2014) 95 2615 8248 629

2 Dasarian 3 (April 2014) 90 2612 8247 628

3 Dasarian 1 (Mei 2014) 94 2607 8247 627

4 Dasarian 2 (Mei 2014) 83 2625 8232 623

5 Dasarian 3 (Mei 2014) 85 2628 8235 623

6 Dasarian 1 (Juni 2014) 92 2609 8241 626

7 Dasarian 2 (Juni 2014) 86 2627 8235 624

8 Dasarian 3 (Juni 2014) 89 2621 8238 624

9 Dasarian 1 (Juli 2014) 93 2607 8242 626

10 Dasarian 2 (Juli 2014) 86 2626 8237 623

Sumber BMKG Kelas III Karangkates Malang

421 Perhitungan Universe of Discourse (U)

Sebelum melakukan perhitungan U maka harus dicari terlebih dahulu nilai 119863119898119894119899 119863119898119886119909 dan standar deviasi 119863119898119894119899 adalah nilai minimum atau nilai terkecil dari data sampel yang ada sedangkan 119863119898119886119909 adalah nilai maksimum atau nilai paling besar dari data sampel yang ada Untuk mencari nilai standar deviasi harus menghitung nilai mean (rata ndash rata) terlebih dahulu sesuai dengan Persamaan 211 Mean dari data curah hujan (A) dihitung dengan cara sebagai berikut

Mean = (data ke-1 + data ke-2 + data ke-3 + + data ke-10) 10

= (95 + 90 + 94 + 83 + 85 + 92 + 86 + 89 + 93 + 86) 10

= 893 10

= 893

Selanjutnya setelah diperoleh nilai mean dilanjutkan melakukan perhitungan standar deviasi sesuai dengan Persamaan 212 Standar deviasi adalah akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel Untuk menghitung standar deviasi agar lebih mudah kita terlebih dahulu melakukan perhitungan nilai kuadrat dari selisih data ke-i dan mean yang ditunjukkan pada Tabel 42

47

Tabel 42 Hasil kuadrat dari selisih data ke-i dan mean

i Data ke-i Data ke-i mean (Data ke-i - mean)sup2

1 95 57 32490

2 90 07 0490

3 94 47 22090

4 83 -63 39690

5 85 -43 18490

6 92 27 7290

7 86 -33 10890

8 89 -03 0090

9 93 37 13690

10 86 -33 10890

Jumlah 1561

Setelah mendapatkan hasil nilai kuadrat dari selisih data ke-i dan mean sesuai dengan Tabel 42 maka dapat dilanjutkan melakukan perhitungan standar deviasi dengan cara sebagai berikut

Standar_deviasi = radic1

10minus1sum (119889119886119905119886 119896119890 minus 119894 minus 119898119890119886119899)10

119894=1

2

= radic1

9 times 1561

= 4165

Untuk perhitungan standar deviasi juga dilakukan pada faktor lainnya yaitu suhu (B) kelembaban (C) dan kecepatan angin (D) Hasil perhitungan 119863119898119894119899 119863119898119886119909 dan standar deviasi ditunjukkan pada Tabel 43

Tabel 43 Nilai minimum nilai maksimum dan standar deviasi

Data D min D max Standar Deviasi

A 83 95 4165

B 2607 2628 0086

C 8232 8248 0057

D 623 629 0022

Berdasarkan hasil yang ditunjukkan Tabel 43 selanjutnya dapat dilakukan perhitungan nilai U sesuai dengan Persamaan 213 Berikut adalah perhitungan U pada data A

U = [119863119898119894119899 minus 120590 119863119898119886119909 + 120590]

= [(83 ndash 4165) (95 ndash 4165)]

= [78835 99165]

48

Untuk perhitungan U juga dilakukan pada semua faktor yaitu data B C dan D Sehingga diperoleh nilai U yang ditunjukkan pada Tabel 44

Tabel 44 Hasil Universe of Discourse

Data U

Batas Bawah Batas Atas

A 78835 99165

B 25984 26366

C 82263 82537

D 6208 6312

422 Perhitungan jumlah cluster (k)

Pada perhitungan jumlah cluster langkah pertamanya adalah mencari nilai absolut dari selisih data hari ke-t dengan hari sebelumnya Perhitungan selisih dilakukan hingga data ke-10 Perhitungan nilai selisih dilakukan pada semua data A B C dan D Selanjutnya masing ndash masing nilai selisih dijumlah sehingga hasilnya seperti ditunjukkan pada Tabel 45

Tabel 45 Nilai absolut selisih data hari ke-t dengan hari sebelumnya

No Tanggal A B C D

1 Dasarian 3 (April 2014) 5 003 001 001

2 Dasarian 1 (Mei 2014) 4 005 0 001

3 Dasarian 2 (Mei 2014) 11 018 015 004

4 Dasarian 3 (Mei 2014) 2 003 003 0

5 Dasarian 1 (Juni 2014) 7 019 006 003

6 Dasarian 2 (Juni 2014) 6 018 006 002

7 Dasarian 3 (Juni 2014) 3 006 003 0

8 Dasarian 1 (Juli 2014) 4 014 004 002

9 Dasarian 2 (Juli 2014) 7 019 005 003

Jumlah 49 105 043 016

Setelah mendapatkan nilai absolut selisih data hari ke-t dengan hari sebelumnya dapat dilanjutkan dengan menghitung jumlah cluster sesuai dengan Persamaan 214 Perhitungan jumlah cluster pada data A (k1) berdasarkan pada Tabel 43 diketahui nilai 119863119898119894119899 adalah 171 nilai 119863119898119886119909 adalah 2048 maka jumlah cluster data A dapat ditunjukkan sebagai berikut

49

1198961 = ||119863119898119894119899 minus 119863119898119886119909|sum |119883(119905) minus 119883(119905 minus 1)|119899

119905=1

119899 minus 1|

= |83 minus 9549

10minus1| = 2204

Apabila hasil perhitungan jumlah cluster merupakan bilangan pecahan maka hasilnya harus dibulatkan Sehingga jumlah cluster pada data A adalah 2 Perhitungan jumlah cluster juga dilakukan pada data B (k2) C (k3) dan D (k4) Berikut merupakan hasil semua perhitungan jumlah cluster yang ditunjukkan pada Tabel 46

Tabel 46 Hasil jumlah cluster data

No Cluster Jumlah Cluster

1 k1 2

2 k2 2

3 k3 3

4 k4 3

423 Perhitungan pusat cluster dan subinterval

Pada pembentukan subinterval berdasarkan pada Tabel 46 yang menunjukkan jumlah subinterval yang selanjutnya digunakan untuk menentukan pusat cluster menggunakan algoritma fuzzy C-means (FCM)

4231 Penentuan pusat cluster

a Penentuan nilai variabel

Pada penentuan subinterval diawali dengan klasterisasi menggunakan algoritma FCM pada awal proses ditentukkan beberapa variabel sebagai berikut

Banyak cluster = k1 = 2

Bobot (w) = 2

Fungsi objektif awal = 0

Iterasi awal = 1

Iterasi maksimum = 100

Error terkecil = 001 b Pembentukan matriks partisi awal (micro)

Data pada pembentukan matriks partisi awal merupakan nilai random diantara nilai 0 sampai 1 Dimensi pada matriks partisi awal dibentuk dengan dimensi jumlah data (i) x jumlah cluster (k) Dalam hal ini telah diketahui jumlah data adalah 10 dan k1 adalah 2 maka partisi dimensi matriks awal adalah 10 x 2 Hasil pembentukan matriks partisi awal ditunjukkan pada Tabel 47 dimana Cluster disimbolkan dengan C

50

Tabel 47 Matriks partisi awal pada cluster data A

c Normalisasi matriks partisi awal

Langkah pertama normalisasi matriks partisi awal adalah dengan menghitung jumlah bilangan penyusun matriks pada setiap kolom yang dapat dilihat pada Tabel 47 dijumlah berdasarkan dengan Persamaan 24 Diketahui jumlah kolom matriks sebanyak 2 sehingga diperoleh Q1 untuk penjumlahan kolom c1 Q2 untuk penjumlahan kolom c2

Q1 = 0355 + 0174 + 02 + 0387 + 0598 + 0819 + 0702 + 0719 + 0349 +

0852

= 5154

Q2 = 0170 + 0815 + 0190 + 0456 + 0526 + 0170 + 0232 + 0572 + 0102 +

0322

= 3554

Langkah selanjutnya dilakukan proses normalisasi menggunakan Persamaan 25 Dimana setiap bilangan penyusun matriks awal dibagi dengan nilai Q sesuai dengan kolomnya masing ndash masing Bilangan penyusun matriks disimbolkan dengan microik dimana i menunjukkan baris dan k menunjukkan kolom posisi bilangan tersebut pada matriks

i micro

c1 c2

1 0355 0170

2 0174 0815

3 0200 0190

4 0387 0456

5 0598 0526

6 0819 0170

7 0702 0232

8 0719 0572

9 0349 0102

10 0852 0322

51

μ11 = bilangan matriks partisi pada baris 1 kolom 1

Q1

= 0355

5154

= 0069

μ12 = bilangan matriks partisi pada baris 1 kolom 2

Q2

= 0170

3554

= 0048

Setelah melakukan perhitungan seperti diatas untuk semua bilangan matriks sehingga matriks partisi sudah ternormalisasi seperti yang ditunjukkan pada Tabel 48

Tabel 48 Derajat keanggotaan matriks partisi data A

i micro

C1 C2

1 0069 0048

2 0034 0229

3 0039 0054

4 0075 0128

5 0116 0148

6 0159 0048

7 0136 0065

8 0140 0161

9 0068 0029

10 0165 0090

d Perhitungan pusat cluster (V)

Pada perhitungan pusat cluster (V) berdasarkan Persamaan 26 Dimana setiap bilangan penyusun matriks partisi (micro) dipangkatkan dengan w dimana variabel w yang sudah dideklarisakan terlebih dahulu dengan nilai sama dengan 2 dan dikalikan dengan bilangan penyusun matriks X yang merupakan matriks berisi data yang ada pada Tabel 41 Selanjutnya hasil perkalian tersebut dijumlah dan dibagi dengan jumlah hasil kuadrat dari bilangan penyusun matriks partisi Hasil perhitungan ditunjukkan pada Tabel 49

52

Tabel 49 Perhitungan pusat cluster data A

Berdasarkan jumlah cluster dari data A yaitu 2 maka terdapat 2 pusat cluster (V) yaitu V1 V2 Perhitungan nilai V adalah sebagai berikut

V1 = sum ((μic1)2 times Xi)10

i=1

sum (μic1)210i=1

= 10730216

0121620

= 8822718207

V2 = sum ((μic2)2 times Xi)10

i=1

sum (μic2)210i=1

= 12111287

0137572

= 8803592572

Jadi berdasarkan perhitungan diatas pusat cluster untuk data A pada iterasi ke-1 adalah 8822718207 8803592572

e Perhitungan fungsi objektif (P)

Pada perhitungan P menggunakan Persamaan 27 dimana setiap baris pada data matriks X dikurangi pusat cluster (V) selanjutnya dikuadratkan Hasilnya

i X microsup2 microsup2 x X

C1 C2 C1 C2

1 95 0004731 0002292 0449450 0217718

2 90 0001137 0052633 0102304 4736927

3 94 0001512 0002864 0142117 0269234

4 83 0005630 0016427 0467258 1363472

5 85 0013448 0021907 1143107 1862112

6 92 0025233 0002291 2321422 0210787

7 86 0018542 0004243 1594602 0364916

8 89 0019487 0025916 1734356 2306543

9 93 0004590 0000816 0426841 0075870

10 86 0027311 0008183 2348759 0703706

Jumlah 0121620 0137572 10730216 12111287

53

kemudian dikalikan dengan micro yang sudah dipangkatkan dengan bobot (w) seperti yang telah ditunjukkan pada Tabel 49 Selanjutnya hasil tersebut dijumlah per kolom seperti yang ditunjukkan pada Tabel 410

Tabel 410 Fungsi objektif data A

i X (X-V)sup2 (X-V)sup2 x microsup2

C1 C2 C1 C2

1 95 458711 484983 02170 01111

2 90 31429 38576 00036 02030

3 94 333254 355702 00504 01019

4 83 273234 253605 01538 04166

5 85 104147 92168 01401 02019

6 92 142342 157139 03592 00360

7 86 49603 41450 00920 00176

8 89 05972 09294 00116 00241

9 93 227798 246420 01046 00201

10 86 49603 41450 01355 00339

Jumlah 1267661573 1166282827

Fungsi Objektif (P) 24339444

Perhitungan nilai fungsi objektif dilakukan seperti Persamaan 27 Nilai fungsi objektif diperoleh dengan cara sebagai berikut P = sum sum ([(Xi minus Vc)2](μik)2)3

c=110i=1

P = 1267661573 + 1166282827

= 24339444

f Perbaikan matriks partisi

Pada langkah ini perbaikan matriks partisi dilakukan berdasarkan Persamaan 28 Data matriks X untuk setiap barisnya dikurangi pusat cluster lalu dikuadratkan seperti yang ditunjukkan pada Tabel 410 Selanjutnya hasilnya dipangkatkan dengan -11 karena w-1 = 1 Hasil pangkat -1 terhadap (X-V)2 ditunjukkan pada Tabel 411

54

Tabel 411 Perbaikan matriks partisi

i ((X-V)sup2)^-1

Jumlah C1 C2

1 0022 0021 0042

2 0318 0259 0577

3 0030 0028 0058

4 0037 0039 0076

5 0096 0108 0205

6 0070 0064 0134

7 0202 0241 0443

8 1674 1076 2750

9 0044 0041 0084

10 0202 0241 0443

Berdasarkan tabel diatas bilangan penyusun matriks partisi yang baru atau yang telah diperbaiki diperoleh dari hasil pembagian data terhadap jumlah per barisnya

12058311 = 0022

0042= 0514

12058312 = 0021

0042= 0486

Pada perhitungan nilai matriks yang sudah diperbaiki dilakukan pada semua elemen matriks sehingga hasil perbaikan matriks seperti yang ditunjukkan pada Tabel 412

Tabel 412 Hasil perbaikan matriks partisi

Setelah mendapatkan hasil perbaikan matriks partisi kita lakukan pengecekan selama iterasi kurang dari iterasi maksimum (maxIter) atau selisih antara fungsi objektif iterasi saat ini dengan iterasi sebelumnya bernilai lebih dari nilai error terkecil yaitu 001 maka proses berlanjut dengan kembali melakukan perhitungan pusat cluster hingga perbaikan matriks partisi Hasil

i micro

C1 C2

1 0514 0486

2 0551 0449

3 0516 0484

4 0481 0519

5 0469 0531

6 0525 0475

7 0455 0545

8 0609 0391

9 0520 0480

10 0455 0545

55

perhitungan pusat cluster dari data A B C dan D setelah dilakukan proses tiga kali iterasi dan diurutkan mulai dari yang terkecil sampai yang terbesar ditunjukkan pada Tabel 413

Tabel 413 Hasil pusat cluster

4232 Perhitungan batas subinterval

Perhitungan batas subinterval dilakukan dengan mencari nilai tengah (Median) dari setiap pusat cluster Berikut merupakan contoh perhitungan batas subinterval pada data A

a Interval 1 Batas bawah = 78835 (Batas bawah Universe of Discourse pada data A) Batas atas = 89347 (Median 88303 dan 90390)

b Interval 2 Batas bawah = 89347 (Median 88303 dan 90390) Batas atas = 99165 (Batas atas Universe of Discourse pada data A)

Seperti perhitungan diatas juga dilakukan pada data suhu (B) kelembaban (C) dan kecepatan angin (D) Dalam hal ini jumlah subinterval setiap atribut berbeda ndash beda sesuai dengan jumlah cluster yang sebelumnya ditunjukkan pada Tabel 46 Berikut merupakan batas subinterval masing ndash masing atribut yang ditunjukkan pada Tabel 414

Tabel 414 Batas subinterval masing ndash masing atribut data

Interval (micro)

A B C D

1

78835 25984 751708 6208

sd sd sd sd

89347 26181 823863 6249

2

89347 26181 823863 6249

sd sd sd sd

99165 26366 82411 6256

3

82411 6256

- - sd sd

82537 6312

Cluster A B C D

1 88303 26165 82391 62497

2 90390 26197 82408 62499

3 - - 82415 62613

56

424 Pembentukan Fuzzy Set

Pembentukan fuzzy set berdasarkan pada derajat keanggotaan dari subinterval (micro) fuzzy set dari data A ditentukan dengan derajat keanggotaan sebagai berikut

A1 = 1micro1 + 05micro2

A2 = 05micro1 + 1micro2

Pada derajat keanggotaan data A diatas simbol ldquo+rdquo menunjukkan operator himpunan gabungan Berdasarkan subinterval pada Tabel 414 nilai batas fuzzy set dari data atribut A dapat ditentukan dengan cara sebagai berikut

A1 = 78835 sd 94256 (Batas bawah interval 1 sd titik tengah interval 2)

A2 = 84091 sd 99165 (Titik tengah interval 1 sd batas atas interval 2)

Setelah diketahui batas masing ndash masing fuzzy set grafik fungsi keanggotaan fuzzy set data A yang direpresentasikan dalam kurva bahu yang ditunjukkan pada Gambar 422 Dengan cara yang sama juga ditentukan pula fuzzy set dari data attribut B C dan D

425 Fuzzifikasi

Pada langkah fuzzifikasi dilakukan dengan mencari derajat keanggotaan yang memiliki nilai paling besar (maksimum) dari masing ndash masing data terhadap fuzzy set yang sudah terbentuk Derajat keanggotaan dicari berdasarkan fungsi keanggotaan kurva bentuk bahu Berikut ini adalah perhitungan derajat keanggotaan dari data attribut A

Data aktual curah hujan (A) pada April 2014 dasarian ke-3 = 90

1198601 = 942558 ndash 90

942558minus840911= 041868427

Gambar 422 Grafik fuzzy set data A

57

1198602 = 90minus840911

942558minus840911= 058131636

Derajat keanggotaan paling besar berada pada A2 sehingga data attribut A pada April 2014 dasarian ke-3 difuzzifikasikan ke fuzzy set A2 Perhitungan yang sama dilakukan pada seluruh data attribut A sehingga didapat derajat keanggotaan dan hasil fuzzifikasi dari data A ditunjukkan pada Tabel 415

Tabel 415 Hasil derajat keanggotaan dan fuzzy set data A

i Data A1 A2 Fuzzyfikasi

1 95 0 1 A2

2 90 041868363 058131636 A2

3 94 002516357 097483642 A2

4 83 1 0 A1

5 85 09105837 008941629 A1

6 92 02219236 077807639 A2

7 86 08122036 018779631 A1

8 89 05170636 048293635 A1

9 93 01235436 087645641 A2

10 86 08122037 018779631 A1

Perhitungan yang sama juga dilakukan pada semua attribut yaitu attribut B C dan D Sehingga dapat diperoleh hasil fuzzifikasi sesuai derajat keanggotaan dengan nilai paling besar Berikut adalah hasil fuzzifikasi untuk semua attribut yang dapat dilihat pada Tabel 416

Tabel 416 Hasil fuzzifikasi semua data attribut

No Tanggal A B C D

1 Dasarian 2 (April 2014) A2 B1 C3 D3

2 Dasarian 3 (April 2014) A2 B1 C3 D3

3 Dasarian 1 (Mei 2014) A2 B1 C3 D3

4 Dasarian 2 (Mei 2014) A1 B2 C1 D1

5 Dasarian 3 (Mei 2014) A1 B2 C1 D1

6 Dasarian 1 (Juni 2014) A2 B1 C2 D2

7 Dasarian 2 (Juni 2014) A1 B2 C1 D1

8 Dasarian 3 (Juni 2014) A1 B2 C2 D1

9 Dasarian 1 (Juli 2014) A2 B1 C2 D2

10 Dasarian 2 (Juli 2014) A1 B2 C2 D1

58

426 Pembentukan Fuzzy Logical Relationship (FLR)

Pada tahap pembentukan FLR dengan berdasarkan nilai order yang sudah ditentukan Pada manualisasi ini berdasarkan dari Tabel 416 di misalkan nilai order kita deklarasikan dengan nilai 3 sehingga dapat menghasilkan 7 FLR Hasil pembentukan FLR Data training dapat ditunjukkan pada Tabel 417 Hasil pembentukan FLR Data testing dapat ditunjukkan pada Tabel 418

Tabel 417 Hasil pembentukan FLR data training

No Fuzzy Logical Relationship (FLR)

1 (A(12)B(11)C(13)D(13)) (A(22)B(21)C(23)D(23)) (A(32)B(31)C(33)D(33)) rarr A1

2 (A(12)B(11)C(13)D(13)) (A(22)B(21)C(23)D(23)) (A(31)B(32)C(31)D(31)) rarr A1

3 (A(12)B(11)C(13)D(13)) (A(21)B(22)C(21)D(21)) (A(31)B(32)C(31)D(31)) rarr A2

4 (A(11)B(12)C(11)D(11)) (A(21)B(22)C(21)D(21)) (A(32)B(31)C(32)D(32)) rarr A1

5 (A(11)B(12)C(11)D(11)) (A(22)B(21)C(22)D(22)) (A(31)B(32)C(31)D(31)) rarr A1

Tabel 418 Hasil pembentukan FLR data testing

No Fuzzy Logical Relationship (FLR)

1 (A(12)B(11)C(12)D(12)) (A(21)B(22)C(21)D(21)) (A(31)B(32)C(32)D(31)) rarr A2

2 (A(11)B(12)C(11)D(11)) (A(21)B(22)C(22)D(21)) (A(32)B(31)C(32)D(32)) rarr A1

427 Defuzzifikasi

Pada tahap ini misalkan jumlah data yang digunakan untuk data uji atau data testing adalah dua yaitu yang pertama data periode ke-9 dan yang kedua data periode ke-10 Sehingga yang digunakan data latih atau data training adalah data pada periode ke-1 sampai data periode ke-8 Pada data testing yang pertama melibatkan FLR ke-1 sampai FLR ke-5 untuk disesuaikan dengan FLR ke-6 yang berdasarkan pada Tabel 417 Pada data testing yang kedua melibatkan FLR ke-1 sampai FLR ke-6 untuk disesuaikan dengan FLR ke-7 yang berdasarkan pada Tabel 417 Selanjutnya setiap ruas kiri FLR data testing dibandingkan dengan FLR data training yaitu pada bilang pangkat bawah fuzzy set dibandingkan sesuai dengan posisinya dan dihitung selisihnya Hasil dari perhitungan selisih tersebut dijumlahkan dan apabila jumlah selisihnya kurang dari threshold maka FLR tersebut dikatakan cocok Threshold merupakan dari hasil mengalikan jumlah order dengan jumlah faktor kemudian dijumlahkan dengan dengan sebuah konstanta Contoh perhitungan selisih nilai ruas kiri FLR pada data testing pertama adalah sebagai berikut

59

Data testing = (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(32) B(31) C(33) D(33)) rarr A1

Data training =

1 (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(31) B(32) C(31) D(31)) rarr A1

2 (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(31) B(32) C(31) D(31)) rarr A1

3 (A(12) B(11) C(13) D(13)) (A(21) B(22) C(21) D(21)) (A(31) B(32) C(31) D(31)) rarr A2

4 (A(11) B(12) C(11) D(11)) (A(21) B(22) C(21) D(21)) (A(32) B(31) C(32) D(32)) rarr A1

5 (A(11) B(12) C(11) D(11)) (A(22) B(21) C(22) D(22)) (A(31) B(32) C(31) D(31)) rarr A1

Selisih data ke- 1 = |2-2|+|1-1|+|3-2|+|3-2|+|2-1|+|1-2|+|3-1|+|3-1|+|2-1|+|1-2|+|3-2|+|3-1| = 13

Selisih data ke- 2 = |2-2|+|1-1|+|3-2|+|3-2|+|2-1|+|1-2|+|3-1|+|3-1|+|1-1|+|2-2|+|1-2|+|1-1| = 9

Selisih data ke- 3 = |2-2|+|1-1|+|3-2|+|3-2|+|1-1|+|2-2|+|1-1|+|1-1|+|1-1|+|2-2|+|1-2|+|1-1| = 3

Selisih data ke- 4 = |1-2|+|2-1|+|1-2|+|1-2|+|1-1|+|2-2|+|1-1|+|1-1|+|2-1|+|1-2|+|2-2|+|2-1| = 7

Selisih data ke- 5 = |1-2|+|2-1|+|1-2|+|1-2|+|2-1|+|1-2|+|2-1|+|2-1|+|1-1|+|2-2|+|1-2|+|1-1| = 9

Pada perhitungan selisih nilai ruas kiri FLR pada data testing juga dilakukan pada semua data testing yang sudah dideklarasikan sebelumnya Dalam hal ini agar dapat menemukan FLR yang cocok dengan data testing Tahap selanjutnya adalah proses defuzzifikasi menggunakan threshold yang dimisalkan 18 sehingga FLR yang memiliki kecocokan dengan data testing pertama adalah semua FLR dari ke-1 sampai ke-5 karena memiliki hasil selisih kurang dari 18 Semua FLR yang cocok ditampung dikelompokkan berdasarkan FLR pada ruas kanan yang sama kemudian dhitung frekuensinya Berikut adalah frekuensi dan pusat cluster dari ruas kanan FLR yang cocok dengan data testing pertama dan kedua ditunjukkan pada Tabel 419

Tabel 419 Frekuensi FLR yang cocok dengan data testing

Data testing 1 Data testing 2

Ruas kanan A1 A2 A1 A2

Pusat Cluster 88303 90390 88303 90390

Frekuensi 4 1 4 2

Berdasarkan pada Tabel 419 dilakukan defuzzifikasi sesuai dengan Persamaan 218 sebagai berikut

119863119886119905119886 119905119890119904119905119894119899119892 1 = (88303times4)+(90390times1)

5= 887204

60

119863119886119905119886 119905119890119904119905119894119899119892 2 = (88303times4)+(90390times2)

6= 889987

Jadi berdasarkan perhitungan diatas diperoleh hasil peramalan curah hujan pada pada April 2014 dasarian ke-3 adalah 1384601636 sedangkan pada tanggal 10012016 adalah 2769203272 Perbandingan data curah hujan aktual dan hasil peramalan dengan metode High Order Fuzzy Time Series Multi Factors dapat dilihat pada Tabel 420

Tabel 420 Perbandingan data aktual dan hasil peramalan

No Data Aktual Hasil Peramalan

1 93 887204

2 86 889987

Dari hasil peramalan yang ditunjukkan pada Tabel 420 dapat dilakukan perhitungan kesalahan peramalan menggunakan metode Mean Square Error (MSE) seperti Persamaan 219

119872119878119864 = ((93minus887206)2+(86minus889989)2)

2

= 136536

43 Perancangan antarmuka

Perancangan antarmuka merupakan perancangan dari tampilan antarmuka atau interface yang nantinya akan diterapkan pada tahapan implementasi Pada perancangan antarmuka ini terdapat lima halaman utama dan juga terdapat dalam menu berupa button yaitu halaman input halaman tampil data halaman proses halaman hasil dan halaman perhitungan error

431 Halaman input

Pada halaman input terdapat inputan data dengan nama button Browse Data pada inputan data ini pengguna diharuskan memasukkan inputan file data dalam bentuk ekstensi xls serta direktori lokasi file yang di inputkan akan ditampilkan pada textfield dan juga terdapat label yang menampilkan jumlah banyaknya data yang terdapat pada file yang telah di inputkan Selanjutnya juga terdata inputan textfield data training data testing order dan nilai konstanta Pada halaman input ini juga terdapat button fuzzification yang berfungsi untuk melakukan proses clustering fuzzifikasi dan FLR Selanjutnya pada button forecasting berfungsi untuk melakukan peramalan atau defuzzifikasi dari hasil proses fuzzifikasi serta menghitung nilai error dari hasil peramalan Berikut

61

merupakan rancangan tampilan antarmuka dari halaman input yang ditunjukkan pada Gambar 423

432 Halaman tampil data

Pada halaman tampil data terdapat tabel yang menampilkan isi data dari xls yang sudah dimasukkan terlebih dahulu pada halaman input Tabel tampil data akan menampilkan tanggal curah hujan kelembaban suhu dan kecepatan angin Berikut merupakan tampilan rancangan halaman tampil data yang ditunjukkan pada Gambar 424

Gambar 423 Rancangan antarmuka halaman input

Gambar 424 Rancangan antarmuka halaman tampil data

62

433 Halaman proses

Pada halaman proses akan menampilkan hasil clustering fuzzifikasi dan fuzzy logical relationship Pada tampilan halaman clustering akan menampilkan Universe of Discourse curah hujan suhu kelembaban dan kecepatan angin Selanjutnya tampilan dibawahnya akan menampilkan jumlah cluster dari setiap faktor yaitu jumlah cluster curah hujan suhu kelembaban dan kecepatan angin Berikut merupakan tampilan perancangan halaman proses clustering yang ditunjukkan Gambar 425

Selanjutnya pada tampilan proses fuzzifikasi akan menampilkan tabel hasil fuzzifikasi dari curah hujan suhu kelembaban dan kecepatan angin Berikut adalah tampilan rancangan proses fuzzifikasi yang ditunjukkan pada Gambar 426

Gambar 425 Rancangan antarmuka halaman proses clustering

Gambar 426 Rancangan antarmuka proses fuzzifikasi

63

Pada tampilan proses fuzzy logical relationship (FLR) akan menampilkan textarea berisi hasil proses FLR dari curah hujan suhu kelembaban dan kecepatan angin Berikut adalah tampilan rancangan proses fuzzy logical relationship yang ditunjukkan pada Gambar 427

434 Halaman hasil

Pada halaman hasil peramalan akan menampilkan tabel yang berisi hasil peramalan curah hujan dan data curah hujan yang sebenarnya Serta terdapat text link yang akan menampilkan grafik perbandingan data hasil peramalan dan data yang sebenarnya Berikut adalah tampilan rancangan halaman hasil yang ditunjukkan pada Gambar 428

Gambar 427 Rancangan antarmuka proses fuzzy logical relationship

Gambar 428 Rancangan antarmuka halaman hasil peramalan

64

435 Halaman perhitungan error

Pada halaman perhitungan error akan menampilkan nilai dari hasil perhitungan Mean Square Error (MSE) pada textfield Berikut adalah tampilan rancangan halaman perhitungan error yang ditunjukkan pada Gambar 429

44 Perancangan pengujian

Pada penelitian ini akan dilakukan empat pengujian yaitu pengujian terhadap nilai order nilai threshold pengujian terhadap jumlah data training untuk mengetahui pengaruhnya terhadap nilai Mean Square Error (MSE) dan pengujian validasi sistem untuk mengetahui kestabilan hasil implementasi

441 Perancangan pengaruh order terhadap nilai MSE

Order merupakan jumlah urutan data yang digunakan dalam pembentukkan Fuzzy Logical Relationship (FLR) Pada pengujian ini dilakukan percobaan dengan order yang berbeda ndash beda Pengujian ini bertujuan untuk mengetahui pengaruh order terhadap hasil peramalan Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Pada setiap pengujian yang telah dilakukan dihitung nilai MSEnya untuk mengetahui tingkat kesalahan metode ini apabila dilakukan dengan order yang berbeda Berikut adalah perancangan pengujian order terhadap nilai MSE ditunjukkan pada Tabel 421

Tabel 421 Rancangan pengujian order terhadap nilai MSE

No Order Threshold MSE

1

Gambar 429 Rancangan antarmuka halaman perhitungan error

65

442 Perancangan pengaruh threshold terhadap nilai MSE

Nilai threshold bergantung jumlah order karena untuk nilai threshold merupakan dari hasil mengalikan jumlah faktor yang mempengaruhi dengan order selanjutnya dijumlah dengan sebuah konstanta Pada pengujian ini dilakukan percobaan dengan konstanta yang berbeda ndash beda sehingga menghasilkan threshold yang berbeda pula Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Dari setiap percobaan yang telah dilakukan dihitung nilai MSEnya untuk mengetahui tingkat kesalahan metode ini apabila dilakukan dengan konstanta dan threshold yang berbeda Berikut merupakan rancangan pengujian pengaruh threshold terhadap nilai MSE yang ditunjukkan pada Tabel 422

Tabel 422 Rancangan pengujian threshold terhadap nilai MSE

No Konstanta Threshold MSE

1

443 Perancangan pengaruh jumlah data training terhadap nilai MSE

Data training sangat berperan penting dalam proses defuzzifikasi sehingga pada penelitian ini dilakukan pengujian pengaruh jumlah data training terhadap tingkat kesalahan dari hasil peramalan Pada pengujian ini dilakukan percobaan dengan jumlah data training yang berbeda ndash beda Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Dari setiap percobaan dilakukan perhitungan nilai MSE untuk mengetahui tingkat kesalahan dari hasil peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors dengan jumlah data training yang berbeda ndash beda Sehingga dari hasil pengujian ini dapat diketahui pengaruh dari jumlah data training Berikut merupakan rancangan pengujian pengaruh jumlah data training yang ditunjukkan pada Tabel 423

Tabel 423 Rancangan pengujian jumlah data training terhadap nilai MSE

No Jumlah Data Training MSE

1

444 Perancangan validasi sistem

Pada pengujian validasi sistem akan melakukan pengujian dengan menggunakan order threshold terbaik seperti yang telah dilakukan pada

66

pengujian ndash pengujian sebelumnya yang menghasilkan hasil error MSE terendah Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Berikut merupakan rancangan pengujian validasi sistem yang ditunjukkan pada Tabel 424

Tabel 424 Rancangan pengujian validasi sistem

Percobaan ke- MSE

1

67

BAB 5 IMPLEMENTASI

Pada bab ini berisi pembahasan hasil implementasi metode High Order Fuzzy Time Series Multi Factors yang sesuai dengan bab sebelumnya yaitu perancangan Bab ini terdiri dari spesifikasi sistem implementasi algoritma dan implementasi antarmuka

51 Spesifikasi Sistem

Pada spesifikasi sistem ini dibagi mejadi dua yaitu spesifikasi perangkat keras dan spesifikasi perangkat lunak

511 Spesifikasi Perangkat Keras

Spesifikasi perangkat keras merupakan perangkat keras yang digunakan pada implementasi penelitian ini Perangkat keras yang digunakan adalah laptop dengan spesifikasi sesuai dengan pada Tabel 51 berikut

Tabel 51 Spesifikasi Perangkat Keras

Komponen Spesifikasi

Processor Intelcopy Core i3-3217U 180 GHz

Memori (RAM) 8 GB RAM

Harddisk 500 GB RAM

512 Spesifikasi Perangkat Lunak

Spesifikasi perangkat lunak merupakan perangkat lunak yang digunakan pada implementasi penelitian ini Perangkat lunak yang digunakan pada implementasi penelitian sesuai dengan yang ditunjukkan pada Tabel 52 berikut

Tabel 52 Spesifikasi Perangkat Lunak

Sistem Operasi Microsoft Windows 7 (64 bit)

Bahasa Pemrograman Java

Tools Pemrograman Netbeans 81

Data Microsoft Excel 2013

52 Implementasi Algoritma

Pada implementasi algoritma ini membahas mengenai hasil implementasi algoritma metode High Order Fuzzy Time Series Multi Factors yang mengacu pada bab sebelumnya yaitu perancangan Dalam penelitian ini implementasi algoritma menggunakan bahasa pemrograman java berbasis desktop Implementasi algoritma terdiri dari beberapa method sesuai dengan langkah ndash langkah pada algoritma metode High Order Fuzzy Time Series Multi Factors

68

521 Implementasi Proses Universe of Discourse

Pada implementasi Universe of Discourse seperti yang ditunjukkan Kode Program 51 dimana pada source code method Universe_of_Discourse baris 3 - 5 terdapat pemanggilan method mean standar_deviasi dan Min_dan_Max Dimana pemanggilan method tersebut dibutuhkan untuk melakukan proses perhitungan selanjutnya yaitu untuk menghitung batas bawah dan batas atas dari Univers of Discourse Baris 7-10 untuk menghitung hasil Universe of Discourse Berikut merupakan source code dari proses Universe of Discourse yang ditunjukkan pada Kode Program 51

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

private void Universe_of_Discourse()

mean()

standar_deviasi()

Min_dan_Max()

hsl_uMin = new double[jmlh_Faktor]

hsl_uMax = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

hsl_uMin[i] = hsl_min[i] - hsl_stdev[i]

hsl_uMax[i] = hsl_max[i] + hsl_stdev[i]

Kode Program 51 Implementasi proses Universe of Discourse

5211 Implementasi proses mean

Pada implementasi proses mean merupakan proses perhitungan nilai rata ndash rata dari setiap faktor yang nantinya hasilnya diperlukan untuk proses perhitungan standar deviasi Berikut merupakan source code dari proses mean yang ditunjukkan pada Kode Program 52 Perhitungan utama proses mean terdapat pada baris 3 ndash 8

Baris Kode

1 2 3 4 5 6 7 8 9

private void mean()

hsl_mean = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double tmp_jmlh = 0

for (int j = 0 j lt jmlh_DataTraining j++)

tmp_jmlh = tmp_jmlh + data[i][j]

hsl_mean[i] = (tmp_jmlh jmlh_DataTraining)

Kode Program 52 Implementasi proses mean

5212 Implementasi proses standar deviasi

Pada implementasi proses perhitungan standar deviasi merupakan akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel Standar deviasi dapat dilakukan perhitungan setelah mendapat nilai hasil dari perhitungan mean Berikut merupakan source code dari implementasi proses standar deviasi yang ditunjukkan pada Kode Program 53 Perhitungan utama proses standar deviasi terdapat pada baris 3 ndash 9

69

Baris Kode

1 2 3 4 5 6 7 8 9 10 11

private void standar_deviasi()

hsl_stdev = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double result = 0

for (int j = 0 j lt jmlh_DataTraining j++)

result = result + (Mathpow((data[i][j] ndash

hsl_mean[i]) 2))

hsl_stdev[i]=Mathsqrt(result(jmlh_DataTraining-

1))

Kode Program 53 Implementasi proses standar deviasi

5213 Implementasi proses Dmin dan Dmax

Pada implementasi proses Dmin dan Dmax merukan untuk mencari nilai minimum dan nilai maksimum dari data sampel untuk setiap faktor Berikut merupakan source code dari implementasi dari proses Dmin dan Dmax yang ditunjukkan pada Kode Program 54 Pada baris 8 ndash 10 merupakan bagian dari proses untuk untuk menentukan nilai data terbesar Selanjutnya pada baris 11 ndash 13 untuk menentukan nilai data terkecil

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

19

private void Min_dan_Max()

hsl_max = new double[jmlh_Faktor]

hsl_min = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double besar = data[i][0]

double kecil = data[i][0]

for (int j = 0 j lt jmlh_DataTraining j++)

if (data[i][j] gt besar)

besar = data[i][j]

if (data[i][j] lt kecil)

kecil = data[i][j]

hsl_max[i] = besar

hsl_min[i] = kecil

Kode Program 54 Implementasi proses Dmin dan Dmax

522 Implementasi Proses Jumlah Cluster

Pada implementasi proses jumlah cluster merupakan proses perhitungan jumlah cluster dari setiap faktor Implementasi ini dapat dilakukan apabila sudah mendapatkan hasil output dari method Min_dan_Max() sudah didapatkan Berikut merupakan source code dari implementasi proses jumlah cluster yang ditunjukkan pada Kode Program 55 Pada baris 3 ndash 7 untuk digunakan untuk menghitung selisih data sampel setiap baris dari semua faktor pada data sampel ke t dengan t+1 Selanjutnya pada baris 9 ndash 10 untuk menghitung jumlah cluster dari setiap faktor

70

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

12

13

private void jumlah_Cluster()

jmlh_Cluster = new int[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double selisih = 0

for (int j = 0 j lt (jmlh_DataTraining - 1) j++)

selisih = selisih + (Mathabs((data[i][j]

- data[i][(j + 1)])))

jmlh_Cluster[i] = (int) Mathround((Mathabs(

hsl_min[i]-hsl_max[i]))(selisih(jmlh_DataTraining

-1)))

Kode Program 55 Implementasi proses jumlah cluster

523 Implementasi Proses Pusat Cluster

Implementasi proses perhitungan pusat cluster ini menggunakan metode fuzzy C-means untuk mendapatkan pusat cluster yang nantinya digunkan sebagai subinterval Implementasi ini memerlukan hasil dari proses method jumlah_Cluster() agar dapat melakukan perhitungan subinterval Berikut merupakan source code dari implementasi proses subinterval yang ditunjukkan pada Kode Program 56 Pada Kode Program 56 hanya menampilkan source code pembentukan subinterval pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 2 ndash 3 merupakan deklarasi variabel bobot iterasi maksimum selisih fungsi objektif awal dan error minimum Pada baris 8 ndash 20 merupakan proses pembentukan matriks partisi dengan nilai random 0 sampai 1 Pada baris 22 ndash 26 merupakan proses normalisasi matriks partisi yang telah terbentuk Pada baris 28 ndash 63 merupakan proses untuk menentukan pusat cluster Pada baris 65 ndash 86 merupakan proses perhitungan fungsi objektif dari iterasi Pada baris 88 ndash 90 merupakan proses perhitungan selisih fungsi objektif Pada baris 92 ndash 108 adalah proses perbaikan matriks partisi Pada baris 110 ndash 115 adalah proses hasil perbaikan matriks partisi Pada baris 116 - 133 adalah proses dengan pengkondisian apakah selisih fungsi objektif lebih kecil dari error minimum serta apabila memenuhi kondisi maka dilanjutkan ke proses pengurutan pusat cluster secara ascending dari hasil iterasi terakhir dan proses pengkondisian iterasi berhenti

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

private void pusat_cluster()

int bobot = 2int iter_maksimum = 100

double selisih_f_objektif = 0double error_min = 001

for (int i = 0 i lt jmlh_Faktor i++)

faktor A

if (i == 0)

Pembentukkan matriks partisi

tmp_Matriks1=new

double[jmlh_Cluster[i]][jmlh_DataTraining]

q1 = new double[jmlh_Cluster[i]]

double jmlh_q1

for (int j = 0 j lt jmlh_Cluster[i] j++)

jmlh_q1 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

71

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

double random = ThreadLocalRandomcurrent()

nextDouble(01 1)

tmp_Matriks1[j][k] = random

jmlh_q1 = jmlh_q1 + random

q1[j] = jmlh_q1

normalisasi matriks

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k] q1[j]

Perhitungan pusat cluster

for (int iter = 0 iter lt iter_maksimum iter++)

selisih_f_objektif = 0

jumA1 = new double[iter_maksimum][jmlh_Cluster[i]]

jumA2 = new double[iter_maksimum][jmlh_Cluster[i]]

miu_Matriks1 = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

XV_Matriks1 = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

pusat_cluster1 = new double[jmlh_Cluster[i]]

double hitung_jum1

double hitung_jum2

for (int j = 0 j lt jmlh_Cluster[i] j++)

hitung_jum1 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow(tmp_Matriks1

[j][k]bobot)

miu_Matriks1[j][k] = tmp_Matriks1[j][k]

hitung_jum1 = hitung_jum1 + tmp_Matriks1

[j][k]

jumA1[iter][j] = hitung_jum1

for (int j = 0 j lt jmlh_Cluster[i] j++)

hitung_jum2 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k]

data[i][k]

hitung_jum2 = hitung_jum2 +

tmp_Matriks1[j][k]

jumA2[iter][j] = hitung_jum2

for (int j = 0 j lt jmlh_Cluster[i] j++)

pusat_cluster1[j] = jumA2[iter][j]

jumA1[iter][j]

perhitungan fungsi objektif

jumA3 = new double[iter_maksimum][jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

double hitung_jum3 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow((data[i][k]

ndash pusat_cluster1[j])

bobot)

XV_Matriks1[j][k] = tmp_Matriks1[j][k]

tmp_Matriks1[j][k] = XV_Matriks1[j][k]

miu_Matriks1[j][k]

hitung_jum3 = hitung_jum3 +

tmp_Matriks1[j][k]

jumA3[iter][j] = hitung_jum3

72

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

double jmlh_f_objektif = 0

for (int j = 0 j lt jmlh_Cluster[i] j++)

jmlh_f_objektif = jmlh_f_objektif

+jumA3[iter][j]

if (iter lt (iter_maksimum - 1))

f_objektif1[iter + 1] = jmlh_f_objektif

perhitungan selisih fungsi objektif

selisih_f_objektif = f_objektif1[iter + 1]

-f_objektif1[iter]

perbaikan matriks partisi

int hitung = bobot - 1int pangkat = -1 hitung

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow(XV_Matriks1

[j][k] pangkat)

jumA4 = new

double[iter_maksimum][jmlh_DataTraining]

for (int j = 0 j lt jmlh_DataTraining j++)

double hitung_jum4 = 0

for (int k = 0 k lt jmlh_Cluster[i] k++)

hitung_jum4 = hitung_jum4 +

tmp_Matriks1[k][j]

jumA4[iter][j] = hitung_jum4

hasil perbaikan matriks

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k]

jumA4[iter][k]

if (selisih_f_objektif lt error_min)

pengurutan ascending pusat cluster

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 kltjmlh_Cluster[i]k++)

if (k lt (jmlh_Cluster[i] - 1))

if (pusat_cluster1[k] gt

pusat_cluster1[k + 1])

double tmp =

pusat_cluster1[k]

pusat_cluster1[k]=

pusat_cluster1[k+1]

pusat_cluster1[k+1] = tmp

iter = iter_maksimum

Kode Program 56 Implementasi proses pusat cluster

524 Implementasi Proses Pembentukan Subinterval dan Fuzzy Set

Pada implementasi proses pembentukan suinterval dan fuzzy set memiliki dua proses yaitu proses menentukan batas subinterval minumum serta maksimum dan proses menentukan batas fuzzy set minimum serta maksimum

73

Proses pembentukan fuzzy dapat menjalankan prosesnya setelah method subinterval() telah diakses Berikut merupakan source code proses pembentukan fuzzy set yang ditunjukkan pada Kode Program 57 Pada Kode Program 57 hanya menampilkan source code pembentukan fuzzy set pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 6 ndash 29 merupakan proses pembentukan batas minimum dan batas maksimum subinterval Pada baris 31 ndash 54 merupakan pembentukan batas minimum dan batas maksimum fuzzy set

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

private void subinterval_dan_fuzzy_set()

for (int i = 0 i lt jmlh_Faktor i++)

faktor A

if (i == 0)

batas subinterval

batas_subintervalMinA = new double[jmlh_Cluster[i]]

batas_subintervalMaxA = new double[jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

if (j == 0)

batas_subintervalMinA[j] = hsl_uMin[i]

batas_subintervalMaxA[j]=(pusat_cluster1[j]

+pusat_cluster1[j+

1])2

else if (j == (jmlh_Cluster[i] - 1))

batas_subintervalMinA[j]=

(pusat_cluster1[j-1] +pusat_cluster1

[j])2

batas_subintervalMaxA[j]=

hsl_uMax[i]

else if ((0 lt j) ampamp (j lt (jmlh_Cluster[i] -

1)))

batas_subintervalMinA[j]=

(pusat_cluster1[j-1]+

pusat_cluster1[j])2

batas_subintervalMaxA[j]=

(pusat_cluster1[j]+

pusat_cluster1[j+1)2

batas fuzzy set

batas_fuzzysetMinA = new double[jmlh_Cluster[i]]

batas_fuzzysetMaxA = new double[jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

if (j == 0)

batas_fuzzysetMinA[j]=

batas_subintervalMinA[j]

batas_fuzzysetMaxA[j]=

(batas_subintervalMinA[j+1]

+batas_subintervalMaxA[j + 1])2

else if (j == (jmlh_Cluster[i] - 1))

batas_fuzzysetMinA[j]=

(batas_subintervalMinA[j-1]

+batas_subintervalMaxA[j - 1])2

batas_fuzzysetMaxA[j] =

batas_subintervalMaxA[j]

else if ((0 lt j) ampamp (jlt(jmlh_Cluster[i]-1)))

batas_fuzzysetMinA[j]=

(batas_subintervalMinA[j-1]+

batas_subintervalMaxA[j-1])2

batas_fuzzysetMaxA[j]=

74

51

52

53

54

55

56

(batas_subintervalMinA[j+1]+

batas_subintervalMaxA[j + 1])2

Kode Program 57 Implementasi pembentukan subinterval dan fuzzy set

525 Implementasi proses fuzzifikasi

Pada Implementasi proses fuzzifikasi memiliki dua proses utama yaitu menentukan derajat keanggotaan dan proses fuzzifikasi Dalam proses ini method fuzzy_set() harus dieksekusi terlebih dahulu karena implementasi proses ini memerlukan output dari method tersebut Berikut merupakan source code fuzzifikasi ditunjukkan pada Kode Program 58 Pada Kode Program 58 hanya menampilkan source code pembentukan fuzzy set pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 3 ndash 81 merupakan proses perhitungan derajat keanggotaan Pada baris 83 ndash 94 adalah proses penentuan fuzzifikasi

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

private void fuzzifikasi()

if (i == 0)

hitung_fuzzifikasiA = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

if(j == 0)

if((data[i][k]gtbatas_fuzzysetMinA[j])ampamp

(data[i][k]lt batas_fuzzysetMinA[j + 1]))

hitung_fuzzifikasiA[j][k] = 1

if ((data[i][k] gt batas_fuzzysetMinA[j + 1])

ampamp (data[i][k] lt batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k]=

(batas_fuzzysetMaxA[j] - data[i][k])

(batas_fuzzysetMaxA[j] ndash

batas_fuzzysetMinA[j + 1])

if ((data[i][k] gt batas_fuzzysetMinA[j]) ampamp

(data[i][k] lt batas_fuzzysetMinA[j + 1])

ampamp(data[i][k] gt batas_fuzzysetMinA[j+1])

ampamp(data[i][k] lt batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k] = 0

else if (j == (jmlh_Cluster[i] - 1))

if((data[i][k] gt batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]))

hitung_fuzzifikasiA[j][k]=

(data[i][k]-batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)])

(batas_fuzzysetMaxA[(jmlh_Cluster[i]ndash

2)]-batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)])

if((data[i][k] gt batas_fuzzysetMaxA

75

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

[(jmlh_Cluster[i]- 2)]) ampamp (data[i][k]

lt batas_fuzzysetMaxA[(jmlh_Cluster[i]

- 1)]))

hitung_fuzzifikasiA[j][k] = 1

if ((data[i][k] gt batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]) ampamp

(data[i][k] gt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 1)]))

hitung_fuzzifikasiA[j][k] = 0

else if ((0 lt j)ampamp(j lt (jmlh_Cluster[i] - 1)))

if ((data[i][k] gt batas_fuzzysetMinA[j])

ampamp (data[i][k] lt batas_fuzzysetMinA[j

+1]))

hitung_fuzzifikasiA[j][k]=

(data[i][k]-batas_fuzzysetMinA[j])

(batas_fuzzysetMinA[j + 1]-

batas_fuzzysetMinA[j])

if ((data[i][k] gt batas_fuzzysetMinA

[j+1])ampamp (data[i][k] lt

batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k]=

(batas_fuzzysetMaxA[j]-data[i][k])

(batas_fuzzysetMaxA[j]-

batas_fuzzysetMinA[j + 1])

if ((data[i][k] gt batas_fuzzysetMinA[j])

ampamp (data[i][k] lt batas_fuzzysetMinA

[j + 1]) ampamp (data[i][k] gt

batas_fuzzysetMinA[j + 1]) ampamp

(data[i][k]ltbatas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k] = 0

hasil_fuzzifikasiA = new int[jmlh_DataTraining]

for (int j = 0 j lt jmlh_DataTraining j++)

int cluster = 0

double besar=hitung_fuzzifikasiA[0][j]

for (int k = 0 k lt jmlh_Cluster[i] k++)

if (besar lt hitung_fuzzifikasiA[k][j])

besar = hitung_fuzzifikasiA[k][j]

cluster = k

hasil_fuzzifikasiA[j] = cluster + 1

Kode Program 58 Implementasi proses fuzzifikasi

526 Implementasi Pembentukan Fuzzy Logical Relationship

Pada implementasi pembentukan Fuzzy Logical Relationship (FLR) memiliki dua output yaitu FLR_kiri dan FLR_kanan Dimana FLR_kiri berisi group dari kelima faktor dan pada FLR_kanan merupakan dari faktor yang akan diramalkan yaitu

76

faktor curah hujan (A) Berdasarkan dari perancangan proses pada bab sebelumnya maka implementasi source code pembentukan Fuzzy Logical Relationship (FLR) dapat ditunjukkan pada Kode Program 59 berikut Pada baris 3 ndash 14 merupakan deklarasi variabel Pada baris 15 ndash 55 adalah proses pembentukan fuzzy logical relationship data training Pada baris 56 ndash 58 merupakan deklarasi variabel Pada baris 59 ndash 86 adalah proses pembentukan fuzzy logical relationship data testing

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

Fuzzy Logical Relationship

private void fuzzy_logical_relationship()

String input_order = fieldOrdergetText()

order = IntegerparseInt(input_order)

int max_inc = order

String input_dataTraining = fieldDatatraininggetText()

int dataTraining = IntegervalueOf(input_dataTraining)

int tmp_jmlhDatatraining = 0

int tmp_order = 0

int jmlh_dataTraining = dataTraining - order

String input_dataTesting = fieldDatatestinggetText()

int jmlh_dataTesting = IntegervalueOf(input_dataTesting)

FLR_kiri_training = new

int[jmlh_DataTraining][order][jmlh_Faktor]

FLR_kanan_training = new int[jmlh_DataTraining]

for (int i = 0 i lt jmlh_dataTraining i++)

for (int j = i j lt max_inc j++)

for (int k = 0 k lt jmlh_Faktor k++)

if (j == 0)

if (k == 0)

FLR_kiri_training[i][j][k]=

hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiD[j]

else if (j = 0)

if (k == 0)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiD[j]

tmp_order = j

FLR_kanan_training[i] = hasil_fuzzifikasiA[(i + order)]

if (max_inc lt (jmlh_DataTraining - 1))

max_inc = max_inc + 1

77

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

tmp_jmlhDatatraining = i

FLR_kiri_testing = new

int[jmlh_DataTraining][order][jmlh_Faktor]

FLR_kanan_testing = new int[(jmlh_DataTraining)]

tmp_jmlhDatatraining = tmp_jmlhDatatraining + 1

for (int i = 0 i lt jmlh_dataTesting i++)

for (int j = tmp_jmlhDatatraining j lt max_inc j++)

for (int k = 0 k lt jmlh_Faktor k++)

if (k == 0)

FLR_kiri_testing[i][j - tmp_jmlhDatatraining][k]

= hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiD[j]

FLR_kanan_testing[i] =

hasil_fuzzifikasiA[(tmp_jmlhDatatraining + order)]

if (max_inc lt (jmlh_DataTraining - 1))

max_inc = max_inc + 1

tmp_jmlhDatatraining++

Kode Program 59 Implementasi pembentukan FLR

527 Implementasi Proses Defuzzifikasi

Pada implementasi proses defuzzifikasi merupakan proses dimana menentukan hasil peramalan dari data testing berdasarkan dari bilangan fuzzy yang terbentuk Implementasi ini memiliki beberapa inputan penting yaitu data training data testing order dan konstanta Inputan tersebut sangat berperan penting dalam proses implementasi defuzzifikasi Berdasarkan dari perancangan proses pada bab sebelumnya maka implementasi source code defuzzifikasi dapat ditunjukkan pada Kode Program 510 berikut Pada baris 2 ndash 11 merupakan deklarasi variabel Pada baris 13 ndash 37 merupakan proses perhitungan selisih antara data training dengan data testing Pada baris 40 ndash 47 menghitung jumlah FLR yang cocok Pada baris 49 ndash 65 merupakan proses mencocokan FLR kiri yang cocok dengan FLR kanan Pada baris 67 ndash 81 merupakan proses menghitung jumlah frekuensi FLR kanan yang cocok Pada baris 83 ndash 91 adalah proses perhitungan hasil peramalan

Baris Kode 1

2

3

4

private void defuzifikasi()

String input_dataTraining = fieldDatatraininggetText()

String input_dataTesting = fieldDatatestinggetText()

String input_konstanta = fieldKonstantagetText()

78

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

int dataTraining = IntegervalueOf(input_dataTraining)

int dataTesting = IntegervalueOf(input_dataTesting)

int konstanta = IntegervalueOf(input_konstanta)

int match[][]

match = new int[dataTesting][2000]

int threshold = (jmlh_Faktor order) + konstanta

int hitung_selisih = 0

perhitungan selisih

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt (dataTraining + i) j++)

hitung_selisih = 0

for (int k = 0 k lt order k++)

for (int l = 0 l lt jmlh_Faktor l++)

if (i == 0)

hitung_selisih = hitung_selisih +

(Mathabs(FLR_kiri_training[j][k][l] ndash

FLR_kiri_testing[i][k][l]))

else if (i gt 0)

FLR_kiri_training[(dataTraining-

1)+i][k][l] = FLR_kiri_testing[i-

1][k][l]

FLR_kanan_training[(dataTraining-1)+i]

= FLR_kanan_testing[i-1]

hitung_selisih = hitung_selisih +

(Mathabs(FLR_kiri_training[j][k][l] ndash

FLR_kiri_testing[i][k][l]))

if (hitung_selisih lt threshold)

match[i][j] = hitung_selisih

menghitung jumlah total FLR yang cocok untuk setiap data

testing

int countGroup[] = new int[dataTesting]

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt (dataTraining + i) j++)

if (match[i][j] gt 0)

countGroup[i]++

mencocokan FLR_kiri yang cocok dengan FLR_kanan

group = new int[dataTesting][2000]

for (int i = 0 i lt dataTesting i++)

int tmp_count = 0

for (int j = 0 j lt (dataTraining + i) j++)

if (match[i][j] gt 0)

if (tmp_count lt countGroup[i])

group[i][tmp_count] = j

tmp_count++

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt countGroup[i] j++)

group[i][j] = FLR_kanan[group[i][j]]

mengelompokkan yang sama

MapltInteger Integergt map = new HashMapltInteger Integergt()

hasil_peramalan = new double[dataTesting]

for (int i = 0 i lt dataTesting i++)

79

70

71

72

73

74

75 76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

double peramalan = 0

mapclear()

for (int j = 0 j lt countGroup[i] j++)

int key = group[i][j]

if (mapcontainsKey(key))

int occurrence = mapget(key)

occurrence++

mapput(key occurrence)

else

mapput(key 1)

menghitung hasil peramlaan

Iterator iterator = mapkeySet()iterator()

while (iteratorhasNext())

int key = (Integer) iteratornext()

int occurrence = mapget(key)

peramalan = (peramalan + (pusat_cluster1[(key - 1)]

occurrence))

hasil_peramalan[i] = (peramalan countGroup[i])

Kode Program 510 Implementasi proses defuzzifikasi

53 Implementasi Antarmuka

Pada implementasi antarmuka dijelaskan beberapa halaman antarmuka untuk penggunaan dari program hasil implementasi Implementasi antarmuka berdasarkan perancangan yang telah dijelasakan pada bab sebelumnya yaitu bab perancangan Halaman antarmuka yang dibuat adalah halaman input halaman tampil data halaman proses halaman hasil dan halaman perhitungan error

531 Implementasi antarmuka halaman input

Halaman input merupakan halaman yang pertama muncul setelah program dijalankan Pada halaman input ini terdapat beberapa inputan yang harus di masukkan yaitu data input data training data testing order dan konstanta Selain itu pada halaman input juga terdapat tiga button yaitu button browse data button fuzzification dan button forecasting Berikut tampilan antarmuka halaman input yang ditunjukkan pada Gambar 51

Gambar 51 Implementasi antarmuka halaman input

80

532 Implementasi antarmuka halaman tampil data

Halaman tampil data merupakan halaman yang tampil setelah melakukan input data Halaman ini berisi tabel yang menampilkan data curah hujan suhu kecepatan angin dan kelembaban Berikut tampilan antarmuka halaman tampil data yang ditunjukkan pada Gambar 52

533 Implementasi antarmuka halaman proses

Halaman proses merupakan halaman yang muncul setelah button fuzzification telah dieksekusi Halaman proses ini terdiri dari tiga bagian atau tab yaitu clustering fuzzification dan Fuzzy logical relationship Pada halaman antarmuka clustering menampilkan Universe of Discourse dan jumlah cluster pada masing ndash masing faktor Berikut merupakan tampilan antarmuka halaman proses bagian clustering yang ditunjukkan pada Gambar 53

Gambar 52 Implementasi antarmuka halaman tampil data

Gambar 53 Implementasi antarmuka halaman proses clustering

81

Pada tab selanjutnya yaitu pada tab fuzzification tab ini menampilkan hasil proses fuzzifikasi Pada halaman ini menampilkan tabel yang berisi hasil fuzzifikasi dari setiap faktor Berikut merupakan tampilan antarmuka halaman proses bagian fuzzification yang ditunjukkan pada Gambar 54

Pada tab Fuzzy Logical Relationship menampilakn hasil dari proses pembentukan Fuzzy Logical Relationship Tampilan pada halaman ini menampilkan berupa textarea yang berisi dari output proses tersebut Berikut merupakan tampilan antarmuka halaman proses bagian Fuzzy Logical Relationship yang ditunjukkan pada Gambar 55

Gambar 54 Implementasi antarmuka halaman proses fuzzification

Gambar 55 Implementasi halaman antarmuka proses FLR

82

534 Implementasi antarmuka halaman hasil

Pada implementasi antarmuka halaman hasil ini merupakan halaman yang menampilkan hasil dari proses defuzzifikasi Halaman hasil ini menampilkan tabel yang berisi data aktual dan data dari hasil peramlan Berikut merupakan tampilan antarmuka halaman hasil yang ditunjukkan pada Gambar 56

535 Implementasi antarmuka halaman perhitungan error

Pada implementasi antarmuka halaman perhitungan error merupakan halaman yang menampilkan hasil dari proses perhitungan Mean Square Error (MSE) Pada halaman antarmuka ini menampilkan hasil error MSE pada textfield Berikut merupakan tampilan antarmuka halaman perhitungan error yang ditunjukkan pada Gambar 57

Gambar 56 Implementasi halaman antarmuka hasil

Gambar 57 Implementasi halaman antarmuka perhitungan error

83

BAB 6 PENGUJIAN DAN ANALISIS

Pada bab ini membahas hasil pengujian dan analisis hasil pengujian dari hasil implementasi metode High Order Fuzzy Time Series Multi factors untuk peramalan curah hujan dasarian Pada pengujian ini disesuaikan dengan perancangan pengujian pada bab 4

61 Sistematika Pengujian

Pada bab sebelumnya yaitu bab 4 mengenai perancangan telah dibahas perancangan pengujian dikatakan bahwa pengujian akan dilakukan sebanyak empat pengujian Pengujian order pengujian threshold pengujian jumlah data training dan pengujian validasi sistem Dari semua pengujian tersebut akan di uji dan di analisis bagaimana pengaruhnya terhadap hasil perhitungan Mean Square Error (MSE)

62 Hasil dan Analisis Pembahasan

Berikut hasil pengujian dan analisis yang disesuaikan dengan perancangan pengujian pada bab sebelumnya

621 Pengujian pengaruh order terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh order terhadap nilai MSE Order merupakan urutan jumlah dari data time series pada periode waktu t yang mempengaruhi nilai data Jadi jika nilai order adalah 3 maka peramalan akan melibatkan 3 data sebelumnya pada proses pembentukan Fuzzy Logical Relationship (FLR) Pada pengujian ini hanya nilai order yang diubah ndash ubah sedangkan variabel lain akan dibuat tetap Pengujian akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai variabel jumlah data training adalah 72 yaitu dari data Januari 2014 dasarian 1 sampai Desember 2015 dasarian 3 nilai data testing adalah 36 yaitu dasarian 1 Januari 2016 sampai dasarian 3 Desember 2016 konstanta adalah 10 Nilai threshold diperoleh dari perhitungan jumlah faktor dikali order dan dijumlah nilai konstanta Berikut adalah hasil pengujian pengaruh order terhadap nilai MSE yang ditunjukkan pada Tabel 61

Tabel 61 Hasil pengujian order terhadap nilai MSE

No Order Threshold MSE

1 3 22 808585

2 6 34 965547

3 9 46 912631

4 12 58 875884

5 15 70 719284

6 18 82 6801207

7 21 94 5637184

8 24 106 5444184

9 27 118 5433631

10 30 130 5418393

84

Dari hasil pengujian order seperti yang telah ditunjukkan pada Tabel 61 maka pada percobaan pertama dengan order = 3 dan threshold 22 dapat diperoleh MSE sebesar 808585 Selanjutnya pada percobaan kedua dengan order = 6 dan threshold = 34 diperoleh MSE sebesar 965547 Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 61

Berdasarkan Gambar 61 order yang berbeda - beda mempengaruhi besar nilai MSE Dalam penelitian ini menentukan order memiliki ketentuan yaitu nilai order harus lebih dari 0 dan batas maksimal order adalah setengah dari nilai data training (LinYang 2009) Nilai MSE terbesar yang ditunjukkan pada pengujian ini adalah 965547 pada pengujian order 6 dan nilai MSE terkecil adalah 5418393 pada pengujian order 30 Pada Gambar 61 menunjukkan bahwa pada order 3 ke order 6 mengalami peningkatan nilai MSE selanjutnya pada order 6 hingga order 30 mengalami penurunan Pada order 3 memiliki nilai MSE lebih kecil dari order 6 order 9 dan order 12 karena memiliki lebih banyak hasil selisih tingkat kecocokan data time series yang tidak terlalu besar dan kurang dari threshold Selain itu karena data time series dari data sampel yang diperoleh memiliki pola data musiman dimana perubahan pola data dasarian tidak terlalu banyak berubah dari tahun ke tahun Selanjutnya pada order 6 hingga order 30 menunjukkan penurunan nilai MSE dan order terbesar memiliki nilai MSE terkecil sehingga dapat disumpulkan bahwa semakin besar order maka semakin kecil pula nilai MSE Dalam hal ini dengan semakin besarnya order maka data sebelumnya yang digunakan untuk pertimbangan dalam menentukan peramalan semakin banyak Sehingga semakin besar nilai order maka dapat membuat peramalan semakin akurat Dalam pengujian ini memimiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoImplementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emasrdquo yang menyatakan bahwa semakin besar nilai order maka semakin kecil nilai kesalahannya (Wardhani et al 2015)

Gambar 61 Grafik hasil pengujian order terhadap nilai MSE

85

622 Pengujian pengaruh threshold terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh threshold terhadap nilai MSE Threshold merupakan hasil dari mengalikan jumlah order dengan jumlah faktor pada data kemudian dijumlahkan dengan dengan nilai konstanta Pada proses defuzzifikasi terdapat proses menghitung selisih antara pangkat bawah Fuzzy Logical Relationship (FLR) data training dan pangkat bawah FLR data testing Selanjutnya setelah mendapatkan nilai selisih maka nilai selisih tersebut dibandingkan dengan nilai threshold untuk mencari FLR yang cocok Pada pengujian ini nilai konstanta saja yang diubah ndash ubah sementara variabel lainnya tetap Pengujian akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai variabel jumlah data training adalah 72 yaitu dari data Januari 2014 dasarian 1 sampai Desember 2015 dasarian 3 nilai data testing adalah 36 yaitu dasarian 1 Januari 2016 sampai dasarian 3 Desember 2016 dan Nilai order adalah 30 Pada penentuan input konstanta nilai minimal harus lebih besar dari 0 dan nilai maksimal menyesuaikan data sampel yang digunakan (LinYang 2009) Berikut adalah hasil pengujian pengaruh threshold terhadap nilai MSE yang ditunjukkan pada Tabel 62

Tabel 62 Hasil pengujian threshold terhadap nilai MSE

No Konstanta Threshold MSE

1 10 130 558485

2 20 140 577498

3 30 150 597364

4 40 160 604660

5 50 170 646951

6 60 180 680257

7 70 190 703013

8 80 200 741484

9 90 210 756749

10 100 220 780600

Dari hasil pengujian threshold seperti yang telah ditunjukkan pada Tabel 62 maka dapat dilihat bahwa konstanta yang dilakukan pengujian dimulai dengan nilai 10 sampai 100 Hasil yang didapat pada percobaan pertama dengan konstanta = 10 dan threshold 130 diperoleh MSE sebesar 558485 Selanjutnya pada percobaan kedua dengan konstanta = 20 dan threshold = 140 diperoleh MSE sebesar 577498 Selanjutnya dapat kita lihat pada percobaan yang telah dilakukan dari percobaan pertama hingga percobaan kesepuluh nilai MSE yang diperoleh mengalami perubahan pada setiap percobaan Dapat dilihat bahwa peningkatan MSE lebih dominan menunjukkan peningkatan sehingga dalam hal ini semakin besar nilai konstanta dan threshold maka semakin besar pula nilai MSE yang diperoleh Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 62

86

Berdasarkan grafik dari Gambar 62 nilai input konstanta yang berbeda - beda mempengaruhi besar nilai MSE semakin besar nilai konstanta maka nilai threshold juga semakin besar karena threshold diperoleh dari perhitungan order dikali jumlah faktor dan selanjutnya dijumlah dengan nilai konstanta Dalam hal ini dengan semakin besar nilai threshold maka dalam proses seleksi untuk mencari nilai selisih FLR juga semakin luas batasannya dan jika semakin kecil nilai threshold maka dalam proses seleksi untuk mencari nilai selisih FLR menjadi semakin sempit dan mempermudah proses peramalan karena hanya adanya sedikit data yang cocok dengan data yang akan diramalkan dan mempermudah proses defuzzifikasi Oleh karena itu semakin kecil threshold maka dapat membuat peramalan semakin akurat Akan tetapi nilai threshold tidak boleh terlalu kecil karena dapat menyebabkan kegagalan peramalan Kegagalan peramalan itu terjadi karena tidak adanya data training yang cocok dengan data testing karena pada metode yang digunakan pada penelitian ini sangat bergantung pada data ndash data sebelumnya Dari hasil percobaan diatas hasil MSE terbesar adalah 7806 yaitu pada konstanta 100 serta threshold 220 dan hasil MSE terkecil adalah 558485 yaitu pada konstanta 10 dan threshold 130 Dalam pengujian ini memiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoImplementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emasrdquo yang menyatakan bahwa semakin kecil nilai konstanta maka semakin kecil nilai kesalahannya (Wardhani et al 2015)

623 Pengujian pengaruh jumlah data training terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh jumlah data training terhadap nilai MSE Pada pengujian ini jumlah data training adalah data dasarian yaitu 1 tahun 2 tahun 3 tahun 4 tahun dan 5 tahun dimana dari setiap 1 tahun memiliki 36 data dasarian Pengujian ini akan dilakukan sebanyak lima kali Pada pengujian ini jumlah data testing adalah 36 nilai order adalah setengah dari

Gambar 62 Grafik hasil pengujian threshold terhadap nilai MSE

87

nilai data training nilai konstanta adalah 20 Berikut adalah hasil pengujian pengaruh jumlah data training terhadap nilai MSE yang ditunjukkan pada Tabel 63

Tabel 63 Hasil pengujian jumlah data training terhadap nilai MSE

No Jumlah Data Training MSE

1 36 786586

2 72 634527

3 108 627190

4 144 614184

5 180 539698

Dari hasil pengujian jumlah data training seperti yang telah ditunjukkan pada Tabel 63 maka pada percobaan pertama dengan data training = 36 dapat diperoleh MSE sebesar 786586 Selanjutnya pada percobaan kedua dengan data training = 72 diperoleh MSE sebesar 634527 Dalam hal ini dari percobaan satu dan dua nilai MSE mengalami penurunan Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 63

Berdasarkan dari Gambar 63 pengujian pertama sampai pengujian kelima mengalami penerunan nilai MSE Sehingga dapat disimpulkan bahwa semakin besar data training maka semakin kecil nilai MSE yang diperoleh Nilai MSE semakin kecil apabila menggunakan data training dalam jumlah besar karena data yang digunakan memiliki rentang jauh dari periode data testing atau data yang akan diramalkan Sedangkan data training yang sedikit memiliki nilai MSE yang besar karena data training yang memiliki kecocokan dengan data testing berada pada periode yang jauh dengan data testing sehingga nilai MSE menjadi tinggi Dalam hal ini terbukti bahwa metode yang digunakan pada penelitian ini memerlukan jumlah data training yang banyak sehingga dapat menurunkan nilai kesalahannya Dari hasil percobaan diatas hasil MSE terbesar adalah 786586 dan

Gambar 63 Grafik hasil pengujian data training terhadap nilai MSE

88

hasil MSE terkecil adalah 539698 Dalam pengujian ini memimiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoPeramalan Jumlah Kunjungan Wisatawan Kota Batu Menggunakan Metode Time Invariant Fuzzy Time Seriesrdquo yang menyatakan bahwa semakin besar jumlah data training maka semakin kecil nilai kesalahannya (Elfajar et al 2017)

624 Pengujian validasi sistem

Pada pengujian ini dilakukan untuk mengetahui kestabilan dari sistem dengan menggunakan order threshold terbaik dari pengujian sebelumnya Pada pengujian ini akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai data training menggunakan 36 data yang berbeda agar dapat menunjukkan gambaran variasi dari nilai kesalahan MSE pada peramalan nilai order adalah 18 dan konstanta adalah 10 sehingga nilai threshold adalah 92 Berikut adalah hasil pengujian validasi sistem yang ditunjukkan pada Tabel 64

Tabel 64 Hasil pengujian validasi sistem

Percobaan ke- MSE

1 714290

2 703856

3 732564

4 732815

5 6973958

6 7532825

7 741726

8 760457

9 709961

10 6256204

Dari hasil pengujian validasi sistem seperti yang telah ditunjukkan pada Tabel 64 maka dapat digambarkan dengan grafik yang ditunjukkan oleh Gambar 64

Gambar 64 Grafik hasil pengujian validasi sistem

89

Berdasarkan dari gambar grafik Gambar 64 bahwa pengujian dari validasi sistem memiliki hasil MSE yang tidak terlalu jauh berbeda dari penggunaan data yang berbeda - beda Oleh karena itu dapat disimpulkan bahwa implementasi dari metode High Order Fuzzy Time Series Multi Factors yang telah digunakan sudah cukup baik untuk digunakan peramalan

Berdasarkan dari pengujian yang dilakukan diatas dapat diketahui bahwa nilai MSE terkecil terdapat pada pengujian jumlah data training yaitu dengan nilai MSE sebesar 539698 Nilai tersebut diperoleh dari pengujian jumlah data training dasarian dari tahun 2011 hingga 2015 untuk melakukan peramalan pada data dasarian tahun 2016 Nilai order adalah 90 dan konstanta adalah 10 Berikut adalah perbandingan data aktual dengan hasil peramalan yang ditunjukkan pada grafik Gambar 65

Gambar 65 Grafik perbandingan data aktual dengan hasil peramalan

90

BAB 7 PENUTUP

Pada bab ini terdiri dari dua sub bab yaitu kesimpulan dan saran Kesimpulan adalah tahapan yang berisi hasil penelitian yang dilakukan dan jawaban semua rumusan masalah yang sudah ditetapkan sebelumnya dan saran adalah tahapan yang berisi hasil yang telah dicapai untuk memperbaiki kekurangan - kekurangan yang terjadi pada penelitian ini serta memberikan pertimbangan pada pengembangan penelitian lebih lanjut

71 Kesimpulan

Pada kesimpulan ini mengacu pada penelitian yang telah dilakukan yang meliputi perancangan implementasi serta pengujian dan analisis terhadap hasil implementasi peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors maka dapat diambil kesimpulan sebagai berikut

1 Berdasarkan dari implementasi metode High Order Fuzzy Time Series Multi Factors dalam melakukan peramalan curah hujan dasarian dilakukan dengan beberapa langkah yaitu langkah pertama perhitungan Universe of Discourse yang terdiri perhitungan mean standar deviasi dan perhitungan Dmin serta Dmax langkah kedua yaitu perhitungan jumlah cluster langkah ketiga yaitu perhitungan pusat cluster langkah keempat yaitu pembentukan subinterval dan fuzzy set langkah kelima yaitu proses fuzzifikasi langkah keenam yaitu pembentukan Fuzzy Logical Relationship(FLR) langkah ketujuh adalah defuzzifikasi yang hasil outputnya merupakan hasil peramalan curah hujan

2 Berdasarkan dari pengujian peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors maka dapat diketahui bahwa

a Order berpengaruh terhadap nilai error semakin besar nilai order maka hasil peramalan semakin baik

b Threshold berpengaruh terhadap nilai error semakin rendah nilai threshold maka hasil peramalan semakin baik Akan tetapi nilai threshold tidak boleh terlalu rendah karena dapat menyebabkan kegagalan peramalan

c Data training berpengaruh terhadap nilai error semakin besar jumlah data training maka hasil peramalan semakin baik Sehingga peramalan menggunakan metode High Order Fuzzy Time Series Multi Factors memerlukan banyak data training

d Hasil implementasi peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors cukup baik digunakan untuk peramalan Hal ini terbukti hasil pengujian validasi sistem menunjukkan grafik yang cukup stabil

Dari pengujian yang telah dilakukan nilai MSE terkecil terdapat pada pengujian jumlah data training yaitu dengan nilai MSE sebesar 539698 Nilai tersebut diperoleh dari pengujian jumlah data training dasarian dari tahun

91

2011 hingga 2015 untuk melakukan peramalan pada data dasarian tahun 2016

72 Saran

Pada penelitian ini dilakukan peramalan curah hujan dasarian dengan faktor yang mempengaruhi adalah suhu kelembaban dan kecapatan angin Saran penulis diharapkan untuk penelitian selanjutnya melakukan penambahan faktor yang mempengaruhi curah hujan atau melakukan peramalan objek lain dengan mempertimbangkan faktor ndash faktor yang mempengaruhinya Serta diharapkan pada penelitian selanjutnya untuk menambahkan data yang lebih banyak serta bervariatif sehingga nilai hasil perhitungan akurasi peramalan yang dihasilkan dalam penelitian dapat meningkat Penggunaan data training yang banyak dan bervariatif dapat membuat pola data semakin terlihat sehingga hasil peramalan yang dihasilkan memiliki akurasi yang lebih baik

92

DAFTAR PUSTAKA

Ardiyanto 2016 ldquoTerendam Air Petani Lamongan Terpaksa Panen Dinirdquo Times Indonesia November 18 httpwwwtimesindonesiacoidread13688520161118102415terendam-air-petani-lamongan-terpaksa-panen-dini (Diakses 25 Februari 2017)

Badan Penelitian dan Pengembangan Pertanian Kementrian Pertanian 2015 ldquoKalender Tanam Terpadu Versi 25 Kota Malang Prov Jawa Timurrdquo httpkatamlitbangpertaniangoidkatam_terpadu2016mh33535733573_tinggipdf (Diakses 25 Februari 2017)

Bagirov M Adil Mahmood Arshad and Barton Andrew 2017 Prediction of monthly rainfall in Victoria Australia Clusterwise linear regression approach Elsevier Atmos Research 188 20-29

BMKG Staklim Karangploso Malang 2015 ldquoAnalisis Dinamika Atmosfer Dan Laut Dasarian III Maret 2015 Update 2 April 2015rdquo httpkarangplosojatimbmkgogoidindexphpanalisis-kondisi-dinamika-atmosfer-laut-dasarian-tahun-2015399-analisis-dinamika-atmosfer-dan-laut-dasarian-iii-maret-2015-update-2-april-2015axzz3X8h9y4fgampgsctab=0 (Diakses 25 Februari 2017)

BPS Kabupaten Malang 2016 ldquoKabupaten Malang Dalam Angka 2016rdquo httpsmalangkabbpsgoidwebsitepdf_publikasiKabupaten-Malang-Dalam-Angka-2016pdf (Diakses 25 Februari 2017)

BPS Jawa Timur 2015 ldquoJawa Timur Dalam Angka 2015rdquo httpsjatimbpsgoid4dmnpdf_publikasiJawa-Timur-Dalam-Angka-2015pdf (Diakses 25 Februari 2017)

Buffa S Elwood Rakesh and Sarin K 1996 Modern Production and Operation Management Eight Edition John Willey and Sons Inc London

Chen M 1996 Forecasting Enrollments based on Fuzzy Time Series Fuzzy Sets and Systems 311-319

Dewi Candra Kartikasari Dani Mursityo Yusi 2014 Prediksi Cuaca Pada Data Time Series Menggunakan Adaptive Neuro Fuzzy Inference System (ANFIS) Jurnal Teknologi Informasi dan Ilmu Komputer (JTIIK) Vol 1 No 1 hlm 18-24

Dewi Candra Muslikh M 2013 Perbandingan Akurasi Backpropagation Neural Network dan ANFIS Untuk Memprediksi Cuaca NATURAL-A Journal of Scientific Modeling amp Computation Volume 1 No1

Elfajar Aria Setiawan Budi Dewi Candra 2017 Peramalan Jumlah Kunjungan Wisatawan Kota Batu Menggunakan Metode Time Invariant Fuzzy Time Series Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer Vol 1 No 2 Hlmn 85-94

93

Fauziah Normalita Wahyuningsih Sri dan Nasution Yuki 2016 Peramalan Menggunakan Fuzzy Time Series Chen (Studi Kasus Curah Hujan Kota Samarinda) Vol4 Statistika

Forest Mahyu 2015 ldquoDefenisi amp Pengertian Kelembabanrdquo httpilmupengetahuaalamblogspotcoid201506defenisi-pengertian-kelembabanhtml (Diakses 25 Februari 2017)

Irsyad Muhammad Metarice Sonya 2013 Penerapan Metode Automatic Clustering dan High Order Fuzzy Time Series Pada Peramalan Curah Hujan Jurnal Sains dan Teknologi Industri Vol 10 No 02

Klawon F 2001 What is About Fuzzy Clustering Understanding and Improving the Concept of the Fuzzier Science Journal httppublic-rzfh-wolfebuetteldeklawon

Kurniawan Carlos 2007 Analisis dan Perancangan Program Aplikasi Peramalan Curah Hujan dengan Metode Wavelet (Studi Kasus BMKG)

Kusumadewi S 2003 ldquoArtificial Intelegence (Teknik amp Aplikasinya)rdquo Graha Ilmu Yogyakarta

Kusumadewi S Purnomo H 2004 ldquoAplikasi Logika Fuzzy untuk Pendukung Keputusanrdquo Graha Ilmu Yogyakarta

Kusumadewi Sri 2002 Analisis amp Desain Sistem Fuzzy Tollbox MATLAB Graha Ilmu Yogyakarta

Lin Yupei Yang Y 2009 Stock Markets Forecasting Based on Fuzzy Time Series Model IEEE Conference Publications 782-886

Makridakis S Steven C Wheelwright Victor E and Gee MC 1999 Metode dan Aplikasi Peramalan Jilid I Edisi Kedua Jakarta Binarupa Aksara

Mirawati T Yasin H and Rusgiyono A 2013 Prediksi Curah Hujan dengan Metode Kalman Filter(Studi Kasus di Kota Semarang 2012) Jurnal Gaussian 2(3) pp 239-248

Pradipta Nur Sembiring Pasukat Bangun Pengarapen 2013 Analisis Pengaruh Curah Hujan di Kota Medan Saintia Matematika Vol 1

Sipayung Putri Metha 2013 Pemodelan Hubungan Kelembapan Udara terhadap Curah Hujan (Studi Kasus Curah Hujan Periode 2001-2009 pada Stasiun Dramaga) httprepositoryipbacidhandle12345678960623 (Diakses 25 Februari 2017)

User 2015 httpstaklimnegaranet[Online] Available at httpwwwstaklimnegaranetindexphpbuletin-hujanpengertian-istilah (Diakses 25 Februari 2017)

Wang Nai-Yi Chen Shyi-Ming 2009 Temperature prediction and TAIFEX forecasting based on automatic clustering techniques and two-factors high-order fuzzy time series Elsevier Expert Systems with Applications 36 2143ndash2154

94

Wardhani Dessy Ratnawati Dian Setiawan Budi 2015 Implementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Saham Repositori Jurnal Mahasiswa PTIIK UB Doro Jurnal Vol 6 No 6

Wiyanti T and Pulungan R 2012 Peramalan Deret Waktu Menggunakan Model Fungsi Basis Radial (RBF) dan Auto Regressive Integrated Moving Average (ARIMA) Jurnal MIPA 35(2) pp 175-182

Yunanto Utomo 2014 ldquoBMKG Akui Prakiraan Cuacanya Masih Kurang Akuratrdquo Kompas Sains Januari 30 httpwwwtimesindonesiacoidread13688520161118102415terendam-air-petani-lamongan-terpaksa-panen-dini (Diakses 25 Februari 2017)

  • Bagian Depanpdf
  • BAB Ipdf
  • BAB IIpdf
  • BAB IIIpdf
  • BAB IVpdf
  • BAB Vpdf
  • BAB VIpdf
  • BAB VIIpdf
  • Daftar Pustakapdf
Page 7: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI

vii

DAFTAR ISI

PENGESAHAN ii

PERNYATAAN ORISINALITAS iii

KATA PENGANTAR iv

ABSTRAK v

ABSTRACT vi

DAFTAR ISI vii

DAFTAR TABEL xi

DAFTAR GAMBAR xiii

DAFTAR KODE PROGRAM xv

DAFTAR LAMPIRAN xvi

BAB 1 PENDAHULUAN 1

11 Latar belakang 1

12 Rumusan masalah 2

13 Tujuan 3

14 Manfaat 3

15 Batasan masalah 3

16 Sistematika pembahasan 3

BAB 2 LANDASAN KEPUSTAKAAN 5

21 Kajian Pustaka 5

22 Dasar Teori 7

221 Peramalan 8

222 Curah hujan 8

223 Data time series 9

224 Logika Fuzzy 10

225 Metode Fuzzy C-means 13

226 Metode Peramalan dengan Fuzzy Time Series 15

227 Metode High Order Fuzzy Time Series Multi Factors 17

228 Perhitungan keakuratan metode peramalan 20

BAB 3 METODOLOGI 22

31 Studi Literatur 22

viii

32 Pengumpulan Data 23

33 Perancangan 23

34 Implementasi 23

35 Pengujian dan Analisis 23

36 Kesimpulan dan Saran 24

BAB 4 PERANCANGAN 25

41 Perancangan Proses 25

411 Proses perhitungan Universe of Discourse 26

4111 Proses perhitungan Mean 28

4112 Proses perhitungan standar deviasi 29

4113 Proses perhitungan nilai Dmin dan Dmax 30

412 Proses perhitungan jumlah cluster 31

413 Proses perhitungan pusat cluster 32

414 Proses pembentukan subinterval dan Fuzzy set 37

415 Proses Fuzzifikasi 38

416 Proses pembentukan Fuzzy Logical Relationship 41

417 Proses Defuzzifikasi 43

42 Perhitungan Manual 46

421 Perhitungan Universe of Discourse (U) 46

422 Perhitungan jumlah cluster (k) 48

423 Perhitungan pusat cluster dan subinterval 49

4231 Penentuan pusat cluster 49

4232 Perhitungan batas subinterval 55

424 Pembentukan Fuzzy Set 56

425 Fuzzifikasi 56

426 Pembentukan Fuzzy Logical Relationship (FLR) 58

427 Defuzzifikasi 58

43 Perancangan antarmuka 60

431 Halaman input 60

432 Halaman tampil data 61

433 Halaman proses 62

434 Halaman hasil 63

ix

435 Halaman perhitungan error 64

44 Perancangan pengujian 64

441 Perancangan pengaruh order terhadap nilai MSE 64

442 Perancangan pengaruh threshold terhadap nilai MSE 65

443 Perancangan pengaruh jumlah data training terhadap nilai MSE 65

444 Perancangan validasi sistem 65

BAB 5 IMPLEMENTASI 67

51 Spesifikasi Sistem 67

511 Spesifikasi Perangkat Keras 67

512 Spesifikasi Perangkat Lunak 67

52 Implementasi Algoritma 67

521 Implementasi Proses Universe of Discourse 68

5211 Implementasi proses mean 68

5212 Implementasi proses standar deviasi 68

5213 Implementasi proses Dmin dan Dmax 69

522 Implementasi Proses Jumlah Cluster 69

523 Implementasi Proses Pusat Cluster 70

524 Implementasi Proses Pembentukan Subinterval dan Fuzzy Set 72

525 Implementasi proses fuzzifikasi 74

526 Implementasi Pembentukan Fuzzy Logical Relationship 75

527 Implementasi Proses Defuzzifikasi 77

53 Implementasi Antarmuka 79

531 Implementasi antarmuka halaman input 79

532 Implementasi antarmuka halaman tampil data 80

533 Implementasi antarmuka halaman proses 80

534 Implementasi antarmuka halaman hasil 82

535 Implementasi antarmuka halaman perhitungan error 82

BAB 6 PENGUJIAN DAN ANALISIS 83

61 Sistematika Pengujian 83

62 Hasil dan Analisis Pembahasan 83

621 Pengujian pengaruh order terhadap nilai MSE 83

x

622 Pengujian pengaruh threshold terhadap nilai MSE 85

623 Pengujian pengaruh jumlah data training terhadap nilai MSE 86

624 Pengujian validasi sistem 88

BAB 7 PENUTUP 90

71 Kesimpulan 90

72 Saran 91

DAFTAR PUSTAKA 92

LAMPIRAN 95

Lampiran 1 Data Sampel 95

xi

DAFTAR TABEL

Tabel 21 Kajian Pustaka 5

Tabel 22 Fuzzy Logic Relationship 19

Tabel 23 Peramalan fuzzy set 20

Tabel 41 Data Sampel Perhitungan Manual 46

Tabel 42 Hasil kuadrat dari selisih data ke-i dan mean 47

Tabel 43 Nilai minimum nilai maksimum dan standar deviasi 47

Tabel 44 Hasil Universe of Discourse 48

Tabel 45 Nilai absolut selisih data hari ke-t dengan hari sebelumnya 48

Tabel 46 Hasil jumlah cluster data 49

Tabel 47 Matriks partisi awal pada cluster data A 50

Tabel 48 Derajat keanggotaan matriks partisi data A 51

Tabel 49 Perhitungan pusat cluster data A 52

Tabel 410 Fungsi objektif data A 53

Tabel 411 Perbaikan matriks partisi 54

Tabel 412 Hasil perbaikan matriks partisi 54

Tabel 413 Hasil pusat cluster 55

Tabel 414 Batas subinterval masing ndash masing atribut data 55

Tabel 415 Hasil derajat keanggotaan dan fuzzy set data A 57

Tabel 416 Hasil fuzzifikasi semua data attribut 57

Tabel 417 Hasil pembentukan FLR data training 58

Tabel 418 Hasil pembentukan FLR data testing 58

Tabel 419 Frekuensi FLR yang cocok dengan data testing 59

Tabel 420 Perbandingan data aktual dan hasil peramalan 60

Tabel 421 Rancangan pengujian order terhadap nilai MSE 64

Tabel 422 Rancangan pengujian threshold terhadap nilai MSE 65

Tabel 423 Rancangan pengujian jumlah data training terhadap nilai MSE 65

Tabel 424 Rancangan pengujian validasi sistem 66

Tabel 51 Spesifikasi Perangkat Keras 67

Tabel 52 Spesifikasi Perangkat Lunak 67

Tabel 61 Hasil pengujian order terhadap nilai MSE 83

xii

Tabel 62 Hasil pengujian threshold terhadap nilai MSE 85

Tabel 63 Hasil pengujian jumlah data training terhadap nilai MSE 87

Tabel 64 Hasil pengujian validasi sistem 88

xiii

DAFTAR GAMBAR

Gambar 21 Representasi linear naik 11

Gambar 22 Representasi linear turun 12

Gambar 23 Representasi kurva segitiga 12

Gambar 31 Diagram blok metodologi penelitian 22

Gambar 41 Diagram alir metode penelitian yang digunakan (bagian 1) 25

Gambar 42 Diagram alir metode penelitian yang digunakan (bagian 2) 26

Gambar 43 Diagram alir proses perhitungan Universe of Discourse 27

Gambar 44 Diagram alir proses perhitungan mean 28

Gambar 45 Diagram alir proses perhitungan standar deviasi 29

Gambar 46 Diagram alir perhitungan nilai Min dan Max 30

Gambar 47 Diagram alir proses perhitungan jumlah cluster 31

Gambar 48 Diagram alir proses perhitungan pusat cluster (bagian 1) 32

Gambar 49 Diagram alir proses perhitungan pusat cluster (bagian 2) 33

Gambar 410 Diagram alir proses perhitungan pusat cluster (bagian 3) 34

Gambar 411 Diagram alir proses perhitungan pusat cluster (bagian 4) 35

Gambar 412 Diagram alir proses perhitungan pusat cluster (bagian 5) 36

Gambar 413 Diagram alir pembentukan subinterval dan fuzzy set (bagian 1) 37

Gambar 414 Diagram alir pembentukan subinterval dan fuzzy set (bagian 2) 38

Gambar 415 Diagram alir proses fuzzifikasi (bagian 1) 39

Gambar 416 Diagram alir proses fuzzifikasi (bagian 2) 40

Gambar 417 Diagram alir proses Pembentukan FLR (bagian 1) 41

Gambar 418 Diagram alir proses Pembentukan FLR (bagian 2) 42

Gambar 419 Diagram alir proses Pembentukan FLR (bagian 3) 43

Gambar 420 Diagram alir proses defuzzifikasi (bagian 1) 44

Gambar 421 Diagram alir proses defuzzifikasi (bagian 2) 45

Gambar 422 Grafik fuzzy set data A 56

Gambar 423 Rancangan antarmuka halaman input 61

Gambar 424 Rancangan antarmuka halaman tampil data 61

Gambar 425 Rancangan antarmuka halaman proses clustering 62

Gambar 426 Rancangan antarmuka proses fuzzifikasi 62

xiv

Gambar 427 Rancangan antarmuka proses fuzzy logical relationship 63

Gambar 428 Rancangan antarmuka halaman hasil peramalan 63

Gambar 429 Rancangan antarmuka halaman perhitungan error 64

Gambar 51 Implementasi antarmuka halaman input 79

Gambar 52 Implementasi antarmuka halaman tampil data 80

Gambar 53 Implementasi antarmuka halaman proses clustering 80

Gambar 54 Implementasi antarmuka halaman proses fuzzification 81

Gambar 55 Implementasi halaman antarmuka proses FLR 81

Gambar 56 Implementasi halaman antarmuka hasil 82

Gambar 57 Implementasi halaman antarmuka perhitungan error 82

Gambar 61 Grafik hasil pengujian order terhadap nilai MSE 84

Gambar 62 Grafik hasil pengujian threshold terhadap nilai MSE 86

Gambar 63 Grafik hasil pengujian data training terhadap nilai MSE 87

Gambar 64 Grafik hasil pengujian validasi sistem 88

Gambar 65 Grafik perbandingan data aktual dengan hasil peramalan 89

xv

DAFTAR KODE PROGRAM

Kode Program 51 Implementasi proses Universe of Discourse 68

Kode Program 52 Implementasi proses mean 68

Kode Program 53 Implementasi proses standar deviasi 69

Kode Program 54 Implementasi proses Dmin dan Dmax 69

Kode Program 55 Implementasi proses jumlah cluster 70

Kode Program 56 Implementasi proses pusat cluster 72

Kode Program 57 Implementasi pembentukan subinterval dan fuzzy set 74

Kode Program 58 Implementasi proses fuzzifikasi 75

Kode Program 59 Implementasi pembentukan FLR 77

Kode Program 510 Implementasi proses defuzzifikasi 79

xvi

DAFTAR LAMPIRAN

Lampiran 1 Tabel Data Sampel 95

1

BAB 1 PENDAHULUAN

11 Latar belakang

Kabupaten Malang merupakan salah satu kabupaten di Jawa Timur yang terkenal akan potensi alam yang dimiliki (BPS Kabupaten Malang 2016) Dalam hal ini terkenal akan potensi alamnya karena kabupaten Malang memiliki tingkat produksi di sektor pertanian yang cukup tinggi dimana hampir seluruh kecamatan di kabupaten Malang memiliki lahan pertaniaaan (BPS Jatim 2015) Permasalahan yang terjadi pada sektor pertanian yaitu terjadinya gagal panen apabila memasuki musim penghujan dengan curah hujan yang tinggi yaitu diatas 200 mm per bulan serta apabila memasuki musim kemarau dengan curah hujan yang rendah yaitu dibawah 100 mm per bulan (BMKG Staklim Karangploso Malang 2015) Dalam mengatasi hal tersebut upaya yang dilakukan petani selama ini hanya melakukan tindakan seperti melakukan panen secara dini Upaya ini dianggap petani cukup efektif dalam mengurangi besarnya kerugian gagal panen akan tetapi sebaiknya yang dilakukan adalah melakukan suatu tindakan agar kerugian yang dialami petani tidak terjadi lagi (Ardiyanto 2016)

Salah satu contoh tindakan yang dapat dilakukan adalah membuat Kalender Tanam (KATAM) KATAM dapat digunakan petani sebagai alat bantu atau pedoman dalam menentukan awal musim tanam terbaik seperti yang telah dilakukan oleh Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian Dalam pembuatan KATAM Balitbang menggunakan data peramalan curah hujan dari Badan Meteorologi Klimatologi dan Geofisika (BMKG) Akan tetapi BMKG mengakui bahwa prakiraan cuacanya saat ini memang masih kurang akurat dan masih kalah dengan prakiraan cuaca di Amerika Serikat (Yunanto 2014) Pentingnya akan prakiraan cuaca terbukti adanya beberapa penelitian sebelumnya yaitu penelitian prakiraan cuaca dengan input faktor yang mempengaruhi cuaca yang berupa data time series menggunakan metode Adaptive Neuro Fuzzy Inference System (ANFIS) (Dewi 2014) dan penelitian mengenai prediksi cuaca menggunakan metode Backpropagation Neural Network yang terbukti memiliki nilai akurasi yang baik dalam prediksi cuaca (Dewi 2013)

Teknik atau metode peramalan curah hujan yang sering digunakan BMKG adalah metode Autoregressive Integrated Moving Average (ARIMA) ANFIS dan Wavelet (Kurniawan 2007) Namun dalam penerapannya gabungan dari ketiga metode tersebut masih kurang memuaskan yaitu tingkat akurasinya hanya mencapai 60 - 70 Menurut BMKG kurangnya tingkat akurasinya ini disebabkan oleh keadaan pola atmosfer di Indonesia yang selalu berubah ndash ubah dan kurang menentu

Selain metode yang digunakan oleh BMKG adapun penelitian sebelumnya yang meramalkan curah hujan yaitu penelitian menggunakan metode Fuzzy Time Series Chen dengan studi kasus curah hujan di Samarinda dalam penelitian ini menggunakan data time series curah hujan bulanan dengan kesimpulan pengunaan data yang sedikit memiliki tingkat akurasi lebih tinggi dibandingkan

2

menggunakan data yang banyak yaitu menghasilkan nilai RMSE terkecil 7368 dan MAE terkecil 539 (Fauziah et al 2016)

Selain peramalan yang hanya menggunakan data time series dari data yang akan diramalkan juga terdapat penelitian sebelumnya yang menggunakan faktor - faktor yang mempengaruhi dari data yang akan diramalkan Salah satunya yaitu penelitian dengan menggunakan metode Clusterwise Linear Regression (CLR) Penelitian ini menggunakan data bulanan pada delapan stasiun cuaca di kota Victoria Australia Peramalan curah hujan pada penelitian ini menggunakan faktor yang mempengaruhi yaitu suhu maksimum suhu minimum penguapan tekanan uap dan radiasi matahari Hasil penelitian ini terbukti dapat melakukan peramalan curah hujan dengan hasil yang cukup baik yaitu dengan nilai RMSE terkecil 197 dan MAE terkecil 129 (Bagirov et al 2017)

Berdasarkan paparan yang telah dijelaskan penulis memiliki ide untuk melakukan penelitian dengan judul ldquoPeramalan Curah Hujan dengan Metode High Order Fuzzy Time Series Multi Factorsrdquo Pada metode ini dilakukan klasterisasi data untuk membangun subinterval dengan menggunakan metode fuzzy C-means (LinYang 2009) Dari proses hasil klasterisasi akan digunakan untuk membagi data semesta yang selanjutnya menghasilkan fuzzy set atau himpunan fuzzy yang menggambarkan fitur data (LinYang 2009) Keunggulan dari metode fuzzy time series dengan multi faktor yaitu dengan berdasarkan pada penelitian ndash penelitian sebelumnya yang menggunakan metode tersebut yaitu penelitian prediksi harga emas dengan beberapa faktor yang mempengaruhi menggunakan metode Multi-factors High order Fuzzy Time Series Model dari hasil penelitian ini dengan menggunakan metode evaluasi Mean Absolute Percentage Error (MAPE) dapat diperoleh nilai error terkecil sebesar 0443 (Wardhani et al 2015) dan penelitian peramalan Indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen menggunakan metode Fuzzy Time Series Model dari penilitian ini menunjukan tingkat Average Relative Error (ARError) sebesar 176 untuk bursa efek harian Shanghai sedangkan untuk bursa efek harian Shenzhen didapatkan ARError sebesar 187 (Lin Yang 2009) terbukti menghasilkan hasil peramalan dengan tingkat akurasi yang cukup tinggi Penggunaan metode ini juga sesuai dengan curah hujan yang dipengaruhi oleh beberapa faktor yaitu kelembaban udara kecepatan angin dan suhu (Pradipta 2013) Penelitian ini diharapkan dapat memberikan hasil peramalan curah hujan yang lebih akurat dan memiliki nilai kesalahan yang lebih sedikit

12 Rumusan masalah

Berdasarkan latar belakang yang telah dipaparkan dibuatlah beberapa rumusan masalah sebagai berikut

1 Bagaimana mengimplementasikan Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

2 Berapa tingkat kesalahan dari hasil implementasi Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

3

13 Tujuan

Adapun maksud dan tujuan dari penelitian ini adalah sebagai berikut

1 Mengimplementasikan Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

2 Mengetahui tingkat kesalahan dari hasil implementasi Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

14 Manfaat

Adapun manfaat dari penelitian ini adalah sebagai berikut

1 Bagi Badan Meteorologi dan Geofisika (BMKG) untuk dapat memberikan peramalan curah hujan yang lebih akurat dari sebelumnya

2 Bagi Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian untuk dapat membuat Kalender tanam (KATAM) dengan menggunakan data ramalan curah hujan yang lebih akurat

3 Bagi penduduk kabupaten Malang khususnya yang bekerja pada sektor pertanian agar dapat mengoptimalkan hasil produksi dengan menyesuaikan penanaman sesuai dengan Kalender Tanam (KATAM) yang telah dibuat Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian

15 Batasan masalah

Penelitian ini dibatasi oleh hal ndash hal sebagai berikut

1 Data curah hujan kelembaban udara kecepatan angin dan suhu udara yang digunakan pada penelitian ini merupakan data berdasarkan dasarian dan hanya mencakup wilayah kabupaten Malang dan data diperoleh dari BMKG Karangkates Kabupaten Malang dengan data time series yang digunakan pada penelitian ini yaitu dari tahun 2011 - 2016

2 Model peramalan yang diterapkan adalah semua nilai yang membentuk pola dataset training dan testing diketahui nilainya

3 Perhitungan nilai tingkat kesalahan permalan menggunakan metode Mean Square Error (MSE)

16 Sistematika pembahasan

Sistematika pembahasan penelitian ditunjukkan untuk memberikan gambaran dan uraian dari penyusunan proposal yang meliputi beberapa bab sebagai berikut

BAB 1 PENDAHULUAN

Pada bab ini berisi latar belakang rumusan masalah tujuan penelitian manfaat penelitian batasan masalah sistematika pembahasan dan rencana kerja atau jadwal penelitian

4

BAB 2 LANDASAN KEPUSTAKAAN

Pada bab ini berisi tentang kajian pustaka dan dasar teori yang menjadi dasar dalam melakukan implementasi peramalan curah hujan dengan Metode High Order Fuzzy Time Series Multi Factors

BAB 3 METODOLOGI

Pada bab ini diuraikan tentang tahapan atau langkah ndash langkah yang dilakukan dalam proses penelitian tentang peramalan curah hujan dengan metode High Order Fuzzy Time Series Multi Factors Langkah ndash langkah tersebut terdiri dari tahapan penelitian teknik pengumpulan data algoritma yang digunakan lingkungan pengujian dan pengujian algoritma yang digunakan serta pengambilan kesimpulan

BAB 4 PERANCANGAN

Pada bab ini berisi tentang perancangan proses algoritma perhitungan manual metode High Order Fuzzy Time Series Multi Factors perancangan antar muka dan perancangan pengujian

BAB 5 IMPLEMENTASI

Pada bab ini berisi tentang penjelasan peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors bagaimana user interface dan source code dalam pengimplementasian metode ini

BAB 6 PENGUJIAN DAN ANALISIS

Pada bab ini berisi tentang penjelasan proses dan hasil pengujian dari implementasi metode High Order Fuzzy Time Series Multi Factors dalam peramalan curah hujan serta analisis dari pengujian tersebut

BAB 7 PENUTUP

Pada bab ini berisi kesimpulan yang diperoleh dari hasil pengujian dan saran ndash saran untuk pengembangan penelitian selan

5

BAB 2 LANDASAN KEPUSTAKAAN

Bab ini berisi mengenai kajian pustaka dan dasar ndash dasar teori yang akan dibahas serta digunakan untuk menunjang topik ndash topik pembahasan Pada kajian akan dibahas perbedaan antara penelitian yang telah ada dengan penelitian yang diusulkan oleh penulis Sedangkan pada dasar teori akan dibahas mengenai teori ndash teori yang digunakan pada penelitian yang diusulkan

21 Kajian Pustaka

Pada kajian pustaka disini berisi mengenai perbandingan antara penelitian yang diusulkan oleh penulis dengan penelitian sebelumnya yang relevan Perbandingan tersebut dapat dilihat padat Tabel 21

Tabel 21 Kajian Pustaka

No Judul Objek dan Input Penelitian Metode

1 Penerapan Metode Automatic Clustering dan High Order Fuzzy Time Series Pada Peramalan Curah Hujan (Irsyad Metarice 2013)

Objek Curah hujan

Input Penelitian

Data aktual curah hujan

Metode High Order Fuzzy Time Series dan Automatic Clustering

Nilai evalusi

Mean Absolute Percentage Error (MAPE)

2 Peramalan Menggunakan Fuzzy Time Series Chen (Studi Kasus Curah Hujan Kota Samarinda) (Fauziah et al 2016)

Objek Curah Hujan

Input Penelitian

Data aktual curah hujan

Metode Fuzzy Time Series Chen

Nilai evaluasi

Mean Absolute Error (MAE) Root Mean of Square Error (RMSE)

3 Implementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emas (Wardhani et al 2015)

Objek Harga Emas

Input Penelitian

Kurs Dollar hari sebelumnya

Kurs Euro hari sebelumnya

Harga Emas London hari sebelumnya

Harga Emas hari sebelumnya

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

Nilai evalusi

Mean Absolute Percentage Error (MAPE)

4 Stock Markets Forecasting Based on Fuzzy Time Series Model (Lin Yang 2009)

Objek Indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

6

Input Penelitian

Historical return

Historical turnover volume

Rata ndash rata selisih pergerakan harga selama lima hari

Selisih antara kekuatan bull dan bear

Indeks komposit bursa efek harian Shanghai sebelumnya

Indeks komposit bursa efek harian Shenzhen

Nilai evalusi

Average Relative Error (ARError)

5 Peramalan Curah Hujan Menggunakan Metode High Order Fuzzy Time Series Multi Factors

Objek Curah hujan

Input Penelitian

Suhu

Kelembaban

Kecepatan angin

Curah hujan

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

Nilai evalusi

Mean Square Error (MSE)

Sumber (Irsyad Metarice 2013) (Fauziah et al 2016) (Wardhani et al 2015) dan (Lin Yang 2009)

Pada penelitian yang pertama yaitu penelitian yang dilakukan oleh Muhammad Irsyad dan Sonya Metarice pada tahun 2013 dengan objek penelitian yang diramalkan adalah curah hujan Inputan yang digunakan pada penelitian ini merupakan data aktual curah hujan bulanan Metode yang digunakan penelitian ini adalah Automatic Clustering dan High Order Fuzzy Time Series Pada penelitian ini metode Automatic Clustering digunakan untuk membangun interval dan High Order Fuzzy Time Series untuk melakukan peramalan curah hujan Kesimpulan yang diperoleh dari penelitian ini yaitu metode ini dapat diterapkan untuk permalan curah hujan dan hasil evaluasi menggunakan metode Mean Absolute Percentage Error(MAPE) dari beberapa bercobaan dapat diperoleh nilai kesalahan sebesar 437 Berdasarkan dari hasil nilai kesalahan tersebut maka tingkat kesalahan data pada permalan ini termasuk rendah

Pada tahun 2016 Normalita Fauziah Sri Wahyuningsih dan Yuki Novia Nasution melakukan penelitian dengan objek penelitian curah hujan di kota Samarinda Inputan yang digunakan pada penelitian berupa data aktual bulanan curah hujan di kota Samarinda Metode yang digunakan pada penelitian ini adalah Fuzzy Time Series Chen dengan dalam pembentukkan panjang interval berbasis rata ndash rata atau average based Pada penelitian ini permalan curah hujan terbaik yaitu dengan menggunkan data sebanyak 29 data dengan menghasilkan tingkat nilai kesalahan terkecil yaitu dengan metode Root Mean of Squared Error (RMSE) sebesar 7368 dan metode Mean Absolute Error (MAE) sebesar 539 Pada

(Lanjutan) Tabel 21 Kajian Pustaka

7

penelitian ini disimpulkan bahwa data sebanyak 29 data memiliki tingkat kesalahan lebih kecil dibandingkan dengan menggunakan data dengan jumlah sampel yang lebih banyak

Pada penelitian selanjutnya adalah penelitian yang dilakukan oleh Dessy Kusuma Wardhani Dian Eka Ratnawati dan Budi Darma Setiawan pada tahun 2015 dengan objek penelitian yang diramalkan adalah harga emas harian Inputan yang digunakan pada penelitian ini data aktual harian harga emas indonesia harga emas london kurs dollar ke rupiah dan kurs euro ke rupiah Metode yang digunakan pada penelitian pada pembentukkan sub interval menggunakan metode fuzzy C-means dan untuk peramalan menggunakan metode High Order Fuzzy Time Series Model Hasil pada penelitian ini berdasarkan menggunakan metode evaluasi Mean Absolute Percentage Error (MAPE) dapat diperoleh nilai error terkecil sebesar 0443 karena nilai error lebih kecil dari 10 menunjukkan bahwa metode ini sangat baik digunakan untuk peramalan harga emas

Pada tahun 2009 Yupei Lin dan Yiwei Yang melakukan penelitian dengan objek yang diramalkan adalah indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen Data input penelitian ini meliputi historical return historical turnover volume dan rata ndash rata selisih pergerakan harga selama lima hari serta selisih antara kekuatan bull dan bear Dalam penelitian ini pembentukan subinterval yang berfungsi dalam pendefinisian himpunan fuzzy dilakukan dengan menggunakan klasterisasi fuzzy C-means Hasil dari penilitian ini menunjukan tingkat Average Relative Error (ARError) sebesar 176 untuk bursa efek harian Shanghai sedangkan untuk bursa efek harian Shenzhen didapatkan ARError sebesar 187 Dalam hal ini membuktikan bahwa penelitian dapat menghasilkan peramalan yang cukup baik karena memiliki nilai ARError kurang dari 5

Pada penelitian ini membahas tentang peramalan curah hujan dasarian menggunakan metode High Order Fuzzy Time Series Multi Factors Terdapat empat inputan yang juga dijadikan sebagai variabel dalam penelitian ini yaitu kelembaban udara kecepatan angin suhu udara dan curah hujan Pembentukan subinterval yang berfungsi dalam pendefinisian fuzzy set dilakukan dengan menggunakan klasterisasi fuzzy C-means Penelitian ini menggunakan high order fuzzy logic relationship yaitu membentuk fuzzy logic relationship berdasarkan data dalam kurun waktu beberapa dasarian sebelum dasarian yang akan diramal Pada penelitian ini dalam melakukan perhitungan nilai error untuk mendapatkan hasil evaluasi menggunakan metode Mean Square Error (MSE)

22 Dasar Teori

Pada dasar teori disini dijelaskan tentang metode ndash metode yang digunakan pada penelitian ini yang meliputi peramalan curah hujan data time series logika fuzzy fuzzy C-means metode peramalan dengan Fuzzy Time Series High Order Fuzzy Time Series Multi Factors dan metode perhitungan keakuratan metode peramalan

8

221 Peramalan

Terdapat beberapa definisi tentang peramalan menurut Kamus Besar Bahasa Indonesia (KBBI) yaitu

a Peramalan merupakan prediksi rencana atau estimasi kejadian masa depan yang tidak pasti (KBBI)

b Peramalan adalah sebagai penggunaan teknik ndash teknik statistik dalam bentuk gambaran masa depan berdasarkan pengolahan angka ndash angka yang terjadi pada masa lalu (Buffa et al1996)

c Peramalan adalah bagian internal dari pengambilan keputusan manajemen (Makridakis et al1999)

Berdasarkan beberapa definisi diatas dapat disimpulkan bahwa peramalan merupakan tindakan apa yang akan terjadi di masa mendatang peramalan diperlukan untuk mengambil sebuah keputusan Dalam pengambilan keputusan harus diambil dari pertimbangan ndash pertimbangan yang ada Oleh karena itu peramalan sangat penting hubungannya dengan pengambilan keputusan sehingga kejadian di masa yang akan datang dapat dipersiapkan tindakan apa yang perlu dilakukan

222 Curah hujan

Curah hujan merupakan salah satu faktor penting yang mempengaruhi perubahan iklim suatu wilayah (Mirawati et al 2013) Salah satu contoh kasus nyata yaitu terjadinya perubahan iklim secara tiba ndash tiba atau bisa disebut dengan cuaca ekstrim Curah hujan dapat dijelaskan dengan air hujan yang terkumpul pada suatu wadah datar dimana air hujan tersebut tidak meresap tidak menguap dan tidak mengalir sehingga dapat diukur ketinggiannya Sebagai contoh curah hujan 1 (satu) milimeter dapat dijelaskan dalam suatu wadah datar dengan luas satu meter persegi tertampung air dengan ketinggian sekitar satu milimeter atau tertampung air sebanyak satu liter Metode dalam mendapatkan data curah hujan adalah dengan menggunakan penakar hujan yang kemudian diukur dengan satuan milimeter (mm) (User2015) Intensitas curah hujan dapat dikategorikan ringan jika dibawah 20mm dalam 24 jam dikategorikan lebat jika di atas 50mm dan dikategorikan sedang jika selang 20mm hingga 50mm (User 2015)

Curah hujan mempengaruhi beberapa sektor diantarannya sektor komunikasi dimana penggunaan frekuensi diatas 10 GHz dapat terkena redaman hujan (Mauludiyanto et al 2009) Akan tetapi curah hujan paling berpengaruh terhadap sektor pertanian Hal ini terbukti bahwa sebagian besar terjadinya penurunan produktifitas dan gagal panen di sektor pertanian adalah terjadinya curah hujan yang tinggi

Tinggi dan rendahnya curah hujan dipengaruhi oleh beberapa faktor yaitu kelembaban udara temperatur dan kecepatan angin Pada tahun 2013 Nur Suri Pradipta Pasukat Sembiring dan Pengarapen Bangun melakukan penelitian mengenai pengaruh curah hujan di kota Medan (Pradipta et al 2013)

9

Berdasarkan penelitian tersebut faktor yang mempengaruhi dan digunakan dalam peramalan curah hujan yaitu

1 Kelembaban udara

Kelembaban udara adalah banyaknya kandungan uap air di atmosfer Udara atmosfer adalah campuran dari udara kering dan uap air selain itu kelembaban udara merupakan komponen cuaca yang mempunyai peranan sangat penting bagi stabilitas kehidupan organisme di bumi maupun unsur-unsur cuaca yang lain (Forest 2015) Kelembaban udara berpengaruh terhadap curah hujan Hal ini didukung penelitian oleh (Sipayung et al 2013) yang menyatakan Kelembaban udara berpengaruh positif terhadap curah hujan

2 Kecepatan angin

Kecepatan angin merupakan kecepatan udara yang bergerak secara horizontal pada ketinggian 2 meter diatas tanah Dalam hal ini faktor yang menentukan kecepatan angin adalah perbedaan tekanan udara antara asal dan tujuan angin Kecepatan angin berpengaruh positif terhadap curah hujan artinya jika kecepatan angin tinggi maka curah hujan akan tinggi (Pradipta et al2013)

3 Suhu udara

Suhu udara merupakan ukuran energi kinetik rata ndash rata dari pergerakan molekul ndash molekul Suhu udara berpengaruh negatif terhadap curah hujan artinya jika suhu udara tinggi maka curah hujan akan berkurang (Pradipta et al2013)

223 Data time series

Data time series adalah data statistik yang telah dihimpun dari masa lampau hingga sekarang dan dapat digunakan sebagai acuan dalam melakukan peramalan terhadap data yang akan datang (Wiyanti amp Pulungan 2012) Data time series juga dapat didefinisikan sebagai sebuah kegiatan mengamati data statistik dimana terdapat korelasi (dependensi) antar datanya sehingga data yang sekarang sedang diamati memiliki ketergantungan dengan satu atau lebih data pengamatan sebelumnya (Mirawati et al 2013)

Terdapat dua teknik prediksi yang menggunakan basis data time series yaitu teknik model matematika statistik dan berdasarkan kecerdasan buatan (Wiyanti amp Pulungan 2012) Analisa time series sendiri memiliki beberapa peruntukan salah satunya digunakan dalam melakukan peramalan untuk masa yang akan datang Dalam penggunaan data time series merupakan salah satu proses peramalan kuantitatif dimana berdasar data kuantitatif masa lampau yang direpresentasikan dalam bentuk angka atau nilai (Mirawati et al 2013)

10

224 Logika Fuzzy

Pada tahun 1965 Prof Lotfi A Zadeh memperkenalkan teori logika fuzzy Logika fuzzy merupakan suatu komponen soft computing dan juga suatu cara yang tepat untuk memetakan suatu ruang input ke dalam ruang output Antara ruang input dan ruang output terdapat black box yang berfungsi memetakan input ke ruang output yang sesuai Dasar logika fuzzy adalah teori fuzzy set Pada teori fuzzy set peranan derajat keanggotaan sebagai penentu keberadaan elemen dalam suatu himpunan sangatlah penting Oleh karena itu derajat keanggotaan menjadi ciri utama dalam penalaran dengan logika fuzzy Logika fuzzy bekerja dengan menggunakan derajat keanggotan dari sebuah nilai yang kemudian digunakan untuk menentukan hasil yang ingin dihasilkan berdasarkan atas kriteria yang telah ditentukan (Kusumadewi 2003)

Berikut adalah beberapa alasan digunakannya logika fuzzy (Kusumadewi 2002)

1 Logika fuzzy sangat fleksibel

2 Konsep logika fuzzy mudah dimengerti dan dipahami

3 Logika fuzzy memiliki toleransi terhadap data ndash data yang homogen dan data ndash data yang kurang tepat

4 Logika fuzzy didasari pada bahasa alami atau bahasa sehari - hari sehingga mudah dimengerti

5 Logika fuzzy dapat bekerjasama dengan teknik ndash teknik kendali secara konvensional

6 Logika fuzzy mampu membangun dan mengaplikasikan pengalaman ndash pengalaman para pakar secara langsung tanpa harus melalui tahap atau proses pelatihan

A Himpunan Fuzzy

Himpunan fuzzy atau fuzzy set merupakan perluasan himpunan tegas atau himpunan crisp jadi fungsi karakteristik mencakup bilangan real pada interval [01] Dalam definisi lain himpunan fuzzy adalah suatu himpunan yang mewakili suatu keadaan atau kondisi tertentu dalam suatu variabel fuzzy Keanggotaan fuzzy berbeda dengan probabilitas jika keanggotaan fuzzy pada setiap fungsi karakteristik memberikan suatu pendapat atau keputusan sedangkan probabilitas menunjukan seberapa besar nilai kebenaran dalam fungsi karakteristik tersebut Contohnya yaitu nilai keanggotaan suatu himpunan fuzzy umur muda 09 berarti nilai dalam himpunan tersebut memiliki kemungkinan 90 anggotanya berumur muda dan 10 diharapkan tidak muda Dalam himpunan fuzzy suatu bilangan bisa memiliki dua keanggotaan sekaligus Himpunan fuzzy memiliki dua attribut (Kusumadewi2003)

11

1 Linguistik merupakan penamaan suatu himpunan yang mewakili suatu keadaan atau kondisi tertentu dengan menggunakan bahasa alami misalnya muda parobaya tua

2 Numeris merupakan suatu nilai (angka) yang menunjukkan ukuran dari suatu

variabel seperti 402550 dan sebagainya

B Fungsi Keanggotaan

Fungsi keanggotaan adalah suatu kurva yang menunjukkan pemetaan titik ndash titik input data ke dalam derajat keanggotaannya yang memiliki subinterval antara 0 sampai 1 (Kusumadewi Purnomo 2004) Salah satu cara yang dapat digunakan untuk mendapatkan nilai keanggotaan adalah dengan melalui pendekatan fungsi Ada beberapa fungsi keanggotaa yang dapat digunakan

1 Fungsi representasi linear

Pada fungsi representasi linear pemetaan input ke derajat keanggotaannya digambarkan sebagai suatu garis lurus Bentuk ini paling sederhana dan menjadi pilihan yang baik untuk mendekati suatu konsep yang kurang jelas Keadaan linear himpunan fuzzy terdiri dari dua keadaan yaitu keadaan linear naik dan keadaan linear turun Pada keadaan linear naik kenaikan himpunan dimulai pada nilai domain yang memiliki nilai derajat keanggotaan nol bergerak ke kanan menuju ke nilai domain yang memiliki derajat keanggotaan yang lebih tinggi seperti yang ditunjukkan Gambar 21 Persamaan fungsi keanggotaan pada representasi linear naik ditunjukkan oleh Persamaan 21

Fungsi Keanggotaan

120583(119909) = 0

(119909 minus 119886)(119887 minus 119886)1

119909 le 119886 119886 le 119909 le 119887119909 ge 119887

(21)

b a 0

1

Gambar 21 Representasi linear naik

Sumber Kusumadewi (2002)

120583(119909)

12

Pada keadaan linear turun berbanding terbalik dengan keadaan linear naik Garis lurus dimulai dari nilai domain dengan derajat keanggotaan tertinggi pada sisi kiri kemudian bergerak menurun ke nilai domain yang memiliki derajat keanggotaan lebih rendah yang ditunjukkan Gambar 22 Persamaan fungsi keanggotaan pada representasi linear turun ditunjukkan oleh Persamaan 22

Fungsi Keanggotaan

120583(119909) = (119887 minus 119909)(119887 minus 119886)0

119886 le 119909 le 119887

119909 ge 119887 (22)

2 Fungsi representasi kurva segitiga

Representasi kurva segitiga pada dasarnya merupakan gabungan antara 2 garis linear yaitu linear naik dan linear turun Fungsi representasi kurva segitiga ditandai oleh adanya tiga parameter abc yang akan menentukan koordinat x dari tiga sudut seperti ditunjukkan pada Gambar 23 Persamaan fungsi keanggotaan pada representasi kurva segitiga ditunjukkan oleh Persamaan 23

b a 0

1

Sumber Kusumadewi (2002)

Gambar 22 Representasi linear turun

120583(119909)

c a 0

1

b

Sumber Kusumadewi (2002)

Gambar 23 Representasi kurva segitiga

120583(119909)

13

Fungsi Keanggotaan

120583(119909) =

0 (119909 minus 119886)(119887 minus 119886) (119887 minus 119909)(119888 minus 119887)

119909 le 119886 119886119905119886119906 119909 ge 119888

119886 le 119909 le 119887 119887 le 119909 le 119888

(23)

225 Metode Fuzzy C-means

Fuzzy C-means (FCM) pertama kali diperkenalkan oleh Dunn dan dikembangkan oleh Bezdek yang banyak digunakan dalam pengenalan pola Metode ini merupakan pengembangan dari metode non-hierarkhi K-Means Cluster selanjutnya dilakukan iterasi sampai mendapatkan keanggotaan kelompok tersebut (Klawon 2001)

FCM merupakan salah satu algoritma fuzzy clustering dan juga teknik klasterisasi dimana tiap data ditentukan oleh derajat keanggotaanya Tujuan penggunaan algoritma FCM yaitu untuk menemukan pusat cluster atau centroid dengan meminimumkan fungsi objektif (Bazdek 1984) Ouput dari FCM bukan merupakan fuzzy inference system melainkan deretan pusat cluster dan beberapa derajat keanggotaan untuk setiap titik data Hasil output ini dapat digunakan untuk membangun suatu fuzzy inference system Berikut adalah langkah ndash langkah dari FCM (Kusumadewi 2004)

1 Langkah pertama menentukan jumlah cluster (c ge 2) pembobot (infin gt 119908 gt1) (Bazdek 1984) maksimum iterasi (maxIter) error minimum yang diharapkan yaitu nilai positif yang sangat kecil (120585) fungsi objektif awal (P0 = 0) iterasi awal dideklarasikan 1

2 Langkah kedua memasukkan data X yang akan diklasterisasi berupa matriks berukuran m x n (m = jumlah sampel data n = attribut setiap data) Contoh Xij = data sampel ke-i (i = 1234m) attribu ke-j (j=1234n)

3 Langkah ketiga yaitu dengan membuat bilangan random microik i = 1234n dan k = 123c (n = jumlah sampel pada data c = jumlah cluster yang akan dibentuk) sebagai elemen ndash elemen matriks partisi awal Untuk bilangan penyusun matriks partisi awal dihitung dihitung jumlahnya setiap kolom yang ditunjukkan pada pada Persamaan 24 (Kusumadewi 2004)

119876119896 = sum 120583119894119896119888119896=1 (24)

Dimana

119876119896 = jumlah bilangan pada kolom k

120583119894119896 = bilangan random pada baris i kolom k

119888 = jumlah kolom

14

Selanjutnya untuk menghitung derajat keanggotaan awal dengan melakukan normalisasi pada matiks partisi pada normalisasi dilakukan menggunakan Persamaan 25 (Kusumadewi 2004)

120583119894119896 = 120583119894119896119876119896 (25)

4 Langkah keempat melakukan perhitungan cluster ke-k Vkj dengan k = 1234c dan j = 1234m Perhitungan pusat cluster ditunjukkan pada Persamaan 26 (Kusumadewi 2004)

119881119896119895 = sum ((120583119894119896)119908 times 119883119894119895)119899

119894=1

sum (120583119894119896)119908119899119894=1

(26)

Dimana

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

120583119894119896 = derajat keanggotaan pada data ke-i cluster ke-k

119883119894119895 = data sampel pada data ke-i attribut ke-j

119908 = pembobot

5 Langkah kelima melakukan perhitungan fungsi objektif pada iterasi ke-t P1 Perhitungan fungsi objektif ditunjukkan pada Persamaan 27 (Kusumadewi 2004)

119875119905 = sum sum ([sum (119883119894119895 minus 119881119896119895)119898119895=1

2](120583119894119896)119908)119888

119896=1119899119894=1 (27)

Dimana

119875119905 = fungsi objektif

119883119894119895 = data sampel ke-i atribut ke-j

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

6 Langkah keenam melakukan perhitungan perbaikan matriks partisi yang telah ditunjukkan Persamaan 28 (Kusumadewi 2004)

120583119894119896 = [sum (119883119894119895minus119881119896119895)119898

119895=12

]

minus1119908minus1

sum [sum (119883119894119895minus119881119896119895)119898119895=1

2]

minus1119908minus1119888

119896minus1

(28)

Dimana

119883119894119895 = data sampel ke-i atribut ke-j

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

119908 = pembobot

7 Langkah ketujuh yaitu melakukan pemerikasaan kondisi berhenti dengan kondisi sebagai berikut

a Jika (|119875119905 minus 119875119905minus1| lt 120585) atau ( t gt MaxIter) maka berhenti

b Jika tidak memenuhi t = t +1 ulangi mulai dari langkah ke-4

15

226 Metode Peramalan dengan Fuzzy Time Series

Pada tahun 1996 Chen memperkenalkan metode peramalan dengan menggunakan metode Fuzzy Time Series Metode Fuzzy Time Series memiliki perbedaan dengan metode peramalan time series biasa atau konvensional yaitu terdapat pada data yang digunakan untuk peramalan Fuzzy Time Series data yang digunakan adalah berupa fuzzy set atau himpunan fuzzy dari bilangan ndash bilangan real atas himpunan semesta yang ditentukan Jadi Fuzzy Time Series merupakan metode dengan menggunakan data berupa fuzzy set yang berasal dari bilangan real atas Universe of Discorse pada data aktual Universe of Discourse adalah himpunan semesta dari data penelitian

Berikut adalah langkah ndash langkah metode Fuzzy Time Series yang telah diperkenalkan oleh Chen terdapat enam langkah yaitu

1 Langkah pertama yaitu membagi Universe of Discourse dari bilangan aktual ke dalam subinterval dengan jumlah interval yang sama Perhitungan Universe of Discourse ditunjukkan pada Persamaan 29 (Chen 1996)

119880 = [119863119898119894119899 minus 1198631 119863119898119886119909 + 1198632] (29)

Dimana

119880 = Universe of Discourse

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

1198631 dan 1198632 = bilangan positif yang ditentukan oleh user untuk menentukan Universe of Discourse dari himpunan data sampel

2 Langkah kedua adalah mendefinisikan fuzzy set dari Universe of Discourse (U) menjadikan A1 A2 A3 An ke dalam fuzzy set dengan nilai linguistik sesuai dengan keadaan U Selanjutnya mendefinisikan fuzzy set tersebut ditunjukkan pada Persamaan 210 (Chen 1996)

1198601 =11989111

1199061+

11989112

1199062+

11989113

1199063+ ⋯ +

1198911119896

119906119896 (210)

1198602 =11989121

1199061+

11989122

1199062+

11989123

1199063+ ⋯ +

1198912119896

119906119896

= + + + +

119860119896 =1198911198961

1199061+

1198911198962

1199062+

1198911198963

1199063+ ⋯ +

119891119896119896

119906119896

Dimana 119891119894119895120598 [01] 1 le 119894 le 119896 dan 1 le 119895 le 119898 Variabel 119891119894119895 menunjukkan

derajat keanggotaan dari subinterval 119906119895 dari fuzzy set 1198601 Pada konsep ini

Chen menggunakan nilai linguistik 1198601 = (not many) 1198602 = (not too many) 1198603= (many) 1198604 = (many many) 1198605 = (very many) 1198606 = (too many) 1198607= (too many many) Kemudian nilai linguistik tersebut dimasukkan ke tiap fuzzy set Dari U tersebut dapat dibangun fuzzy set sebagai berikut

16

1198601 = 1

1199061+

05

1199062+

0

1199063+

0

1199064+

0

1199065+

0

1199066+

0

1199067

1198602 = 05

1199061+

1

1199062+

05

1199063+

0

1199064+

0

1199065+

0

1199066+

0

1199067

1198603 = 0

1199061+

05

1199062+

1

1199063+

05

1199064+

0

1199065+

0

1199066+

0

1199067

1198604 = 0

1199061+

0

1199062+

05

1199063+

1

1199064+

05

1199065+

0

1199066+

0

1199067

1198605 = 0

1199061+

0

1199062+

0

1199063+

05

1199064+

1

1199065+

05

1199066+

0

1199067

1198606 = 0

1199061+

0

1199062+

0

1199063+

0

1199064+

05

1199065+

1

1199066+

05

1199067

1198607 = 0

1199061+

0

1199062+

0

1199063+

0

1199064+

0

1199065+

05

1199066+

1

1199067

3 Langkah ketiga yaitu melakukan fuzzifikasi data historis proses fuzzifikasi merupakan proses merubah data aktual yang merupakan bilangan crisp ke dalam bentuk bilangan fuzzy Bilangan fuzzy yang dimaksudkan adalah dalam bentuk derajat keanggotaan Dari beberapa derajat keanggotaan yang terbentuk kemudian dipilih satu fuzzy set yang memiliki derajat keanggotaan teringgi Fuzzifikasi dinotasikan sebagai berikut jika F(t-1) berada pada fuzzy set Ak maka F(t-1) difuzzifikasikan sebagai Ak

4 Langkah keempat adalah mengidentifikasi Fuzzy Logic Relationship (FLR) FLR diidentifikasikan sebagai Ai dan F(t) difuzzifikasikan sebagai Ai rarr Aj Ai sebagai sisi kiri relationship disebut sebagai current state dan Aj sebagai sisi kanan relationship disebut next state Jika terjadi perulangan relationship maka tetap dihitung satu kali

5 Langkah kelima yaitu mengelompokkan menjadi Fuzzy Logical Relationship Group (FLRG) FLRG dibangun berdasarkan sisi kiri (current state) yang sama

6 Langkah terakhir yaitu langkah keenam adalah melakukan defuzzifikasi nilai keluaran peramalan Defuzzifikasi adalah mengubah nilai keluaran fuzzy menjadi bilangan crisp kembali sehingga diperoleh hasil akhir peramalan Defuzzifikasi didasarkan pada tiga (3) rule aturan yaitu (Chen 1996)

I Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai hanya memiliki satu FLR pada FLRG yaitu dengan kondisi Ai rarr Aj dimana nilai maksimum fungsi keanggotaanya berada pada 119906119895 maka nilai peramalan untuk n+1 adalah

nilai tengah dari 119906119895 atau didefinisikan dengan 119898119895

II Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai memiliki lebih dari satu FLR pada FLRG yaitu dengan kondisi Ai rarr Aj1 Aj2 Ajp Dimana nilai tengah untuk masing ndash masing Aj1 Aj2 Aj3 Ajp adalah mj1 mj2 mj3 mjp

maka nilai peramalan untuk n+1 adalah (mj1 mj2 mj3 mjp) p

III Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai tidak memiliki FLR pada FLRG dimana nilai maksimum fungsi keanggotaannya berada pada 119906119895

17

maka nilai peramalan untuk n+1 adalah nilai tengah dari 119906119895 atau

didefinisikan dengan 119898119895

227 Metode High Order Fuzzy Time Series Multi Factors

Metode High Order Fuzzy Time Series Multi Factors adalah metode Fuzzy Time Series (FTS) yang melibatkan beberapa faktor yang mempengaruhi peramalan dengan berdasarkan beberapa periode waktu sebelum periode yang akan diramalkan dalam proses pembentukkan Fuzzy Logical Relationship (FLR) Hasil peramalan dengan banyak faktor yang mempengaruhi dinilai lebih baik dari pada dengan hanya satu faktor yang mempengaruhi (LinYang 2009) Pada metode ini pembentukkan subinterval yang berfungsi dalam pendefinisian fuzzy set dilakukan dengan menggunakan teknik klasterisasi fuzzy C-means Berikut adalah langkah ndash langkah Metode High Order Fuzzy Time Series Multi Factors (LinYang 2009)

1 Langkah pertama adalah melakukan perhitungan Universe of Discourse (U) Sebelum menghitung nilai U terlebih dulu menghitung nilai mean (rata ndash rata) sampel lalu menghitung nilai standar deviasi (120590) Mean merupakan perhitungan jumlah dari semua nilai dalam kumpulan data kemudian dibagi dengan jumlah total data untuk menghitung nilai mean ditunjukkan pada Persamaan 211 (Weisstein 2015) Standar deviasi merupakan akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel untuk menghitung nilai standar deviasi (120590) ditunjukkan pada Persamaan 212 (Weisstein 2015) Perhitungan U ditunjukkan pada Persamaan 213 (LinYang 2009)

119909 =sum 119909119894

119899119894=1

119899 (211)

Dimana

= mean (rata ndash rata)

119909119894 = nilai data ke-i

119899 = banyak data

120590 = radicsum (119909119894minus ) 2119899

119894=1

119899minus1 (212)

Dimana

120590 = Standar deviasi data

119880 = [119863119898119894119899 minus 120590 119863119898119886119909 + 120590] (213)

Dimana

119880 = Universal 0f Discourse

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

18

2 Langkah kedua yaitu menentukan jumlah cluster data Proses klasterisasi bertujuan untuk membagi U kedalam beberapa subinterval Hasil perhitungan banyaknya cluster apabila bernilai pecahan maka harus dibulatkan menjadi bilangan bulat Perhitungan banyaknya cluster ditunjukkan pada Persamaan 214 (LinYang 2009)

119896 = ||119863119898119894119899 minus 119863119898119886119909|sum |119883(119905)minus119883(119905minus1)|119899

119905=1

119899minus1| (214)

Dimana

119896 = banyaknya jumlah cluster

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

119899 = banyaknya data sampel

119883(119905) = data pada waktu ke-t

3 Langkah ketiga yaitu melakukan pembentukan pusat cluster Pada metode ini proses klasterisasi data menggunakan fuzzy C-means (FCM) untuk mendapatkan pusat cluster sebanyak k Tahapannya U dibagi kedalam k subinterval (119863119898119894119899 1198891) (1198891 1198892) (1198892 1198893) hellip (119889119896minus1 119863119898119886119909) dimana di (i = 123k-1) merupakan titik tengah antara dua pusat cluster k subinterval didefinisikan sebagai 1199061 1199062 1199063 hellip 119906119896 Sehingga dalam hal ini subinterval

dengan panjang berbeda dapat menggambarkan struktur data kompleks dengan baik dan dapat meningkatkan peramalan dibandingkan menggunakan subinterval dengan panjang yang sama (LinYang 2009)

4 Langkah keempat yaitu melakukan pembentukan himpunan fuzzy atau fuzzy set Pada langkah ini fuzzy set direpresentasikan dengan kurva bahu Pembentukkan fuzy set ditunjukkan pada Persamaan 215 (LinYang 2009)

1198601 =11989111

1199061+

11989112

1199062+

11989113

1199063+ ⋯ +

1198911119896

119906119896 (215)

= + + + +

119860119896 =1198911198961

1199061+

1198911198962

1199062+

1198911198963

1199063+ ⋯ +

119891119896119896

119906119896

5 Langkah kelima yaitu proses fuzzifikasi Proses fuzzifikasi bertujuan untuk mengubah data sampel yang masih berupa bilangan crisp sehingga menjadi bilangan fuzzy Masing ndash masing data dihitung derajat keanggotaannya terhadap fuzzy set yang sudah terbentuk selajutnya derajat kanggotaan dihitung berdasarkan kurva bahu dan derajat keanggotaan tertinggi menunjukkan hasil fuzzifikasi data tersebut Contohnya A(t) B(t) C(t) dan D(t) dimana t= 123n merupakan time series dari faktor yang mempengaruhi serta n merupakan banyaknya data Berdasarkan pembagian subinterval masing ndash masing time series ini difuzzifikasikan Misalkan hasil dari Persamaan 215 yaitu menghitung banyak cluster dari k1 k2 k3 k4 Jadi time series difuzzifikasikan menjadi empat fuzzy time series yaitu

19

A(ti) dimana i = 1234k1

B(tj) dimana j = 1234k2

C(tp) dimana p = 1234k3

D(tq) dimana q = 1234k4 t = 123n

6 Langkah keenam yaitu melakukan pembentukkan Fuzzy Logical relationship (FLR) Data sampel sebanyak n periode dipilih sebagai data training untuk membentuk fuzzy time series model Misalkan t merupakan periode waktu yang akan diramal dengan menggunakan order ndash 3 maka tiga periode sebelum periode t adalah t-3 t-2 dan t-1 dimana t = 456n Maka FLR yang dihasilkan ditunjukkan pada Persamaan 216 dan berdasarkan persamaan tersebut maka akan membentuk sebuah kumpulan FLR dari data training (LinYang 2009)

(119860(119905minus31198943) 119861(119905minus31198953) 119862(119905minus31199013) 119863(119905minus31199023)) (216)

(119860(119905minus21198942) 119861(119905minus21198952) 119862(119905minus21199012) 119863(119905minus21199022))

(119860(119905minus11198941) 119861(119905minus11198951) 119862(119905minus11199011) 119863(119905minus11199021)) rarr 119860(1199051198944)

Tabel 22 Fuzzy Logic Relationship

(119860(119905minus31198943) 119861(119905minus31198953) 119862(119905minus31199013) 119863(119905minus31199023))

(119860(119905minus21198942) 119861(119905minus21198952) 119862(119905minus21199012) 119863(119905minus21199022))

(119860(119905minus11198941) 119861(119905minus11198951) 119862(119905minus11199011) 119863(119905minus11199021)) rarr 119860(1199051198944)

(119860(119905minus21198943) 119861(119905minus21198953) 119862(119905minus21199013) 119863(119905minus21199023))

(119860(119905minus11198942) 119861(119905minus11198952) 119862(119905minus11199012) 119863(119905minus21199022))

(119860(1199051198941) 119861(1199051198951) 119862(1199051199011) 119863(1199051199021)) rarr 119860(119905+11198944)

(119860(119905+119899minus71198943) 119861(119905+119899minus71198953) 119862(119905+119899minus71199013) 119863(119905+119899minus71199023))

(119860(119905+119899minus61198942) 119861(119905+119899minus61198952) 119862(119905+119899minus61199012) 119863(119905+119899minus61199022))

(119860(119905+119899minus51198941) 119861(119905+119899minus51198951) 119862(119905+119899minus51199011) 119863(119905+119899minus51199021)) rarr 119860(119905+119899minus41198944)

Sumber (LinYang 2009)

7 Langkah terakhir adalah proses Defuzzifikasi Berdasarkan langkah sebelumnya maka dapat diambil hasil fuzzy ke- H yaitu yang digunakan sebagai data testing atau data uji seperti yang ditunjukkan pada Persamaan 217 (LinYang 2009)

(119860(119867minus31198943) 119861(119867minus31198953) 119862(119867minus31199013) 119863(119867minus31199023)) (217)

(119860(119867minus21198942) 119861(119867minus21198952) 119862(119867minus21199012) 119863(119867minus21199022))

(119860(119867minus11198941) 119861(119867minus11198951) 119862(119867minus11199011) 119863(119867minus11199021)) rarr 119860(1198671198944)

20

Faktor ndash faktor di ruas kiri pada Persaman 217 dibandingkan satu per satu dengan FLR data training yang sudah dicatat sebelumnya pada Tabel 22 membandingkannya yaitu dengan cara menghitung nilai absolut dari selisih antara pangkat bawah kedua faktor pada posisi yang sama di FLR Terdapat 12 fuzzy set di ruas kiri pada masing ndash masing FLR sehingga dari hasil perbandingan diperoleh 12 nilai absolut yang kemudian dijumlahkan untuk mendapat total selisihnya Jadi jika total selisih lebih kecil dari threshold yang ditentukan maka FLR tersebut dinyatakan cocok (LinYang 2009)

Selanjutnya jika FLR menemukan N pasangan yang cocok pada Tabel 22 maka N faktor di ruas kanan dari N FLR ini mendasari peramalan fuzzy set A() yang mana jumlah dari setiap fuzzy set pada umumnya berbeda Untuk peramalan dengan fuzzy set ditunjukkan pada Tabel 23 (LinYang 2009)

Tabel 23 Peramalan fuzzy set

Ruas Kanan A(1) A(2) A(3) A(k1)

Pusat cluster c1 c2 c3 ck1

Frekuensi f1 f2 f3 fk1

Sumber (Lin Yang 2009)

Berdasarkan Tabel 23 dengan menggunakan metode centroid untuk melakukan proses defuzzifikasi Proses defuzzifikasi dapat ditunjukkan pada Persamaan 218 (LinYang 2009)

119903119867 =sum 119888119894times 119891119894

1198961119894=1

sum 119891119894119896119894119894=1

(218)

Dimana

119903119867 = hasil (result) peramalan data ke-H

119888119894 = pusat cluster i dimana A(i) adalah ruas kanan dari FLR hasil proses pencocokan

119891119894 = frekuensi banyaknya muncul A(i) pada saat proses pencocokan

228 Perhitungan keakuratan metode peramalan

Dalam perencanaan peramalan tentu menginginkan hasil ramalan yang tepat atau paling tidak hampir mendekati sehingga rencana yang dibuat menjadi rencana yang realistis Keakuratan atau ketepatan merupakan yang menjadi kriteria performance suatu metode peramalan Keakuratan tersebut dapat dinyatakan sebagai kesalahan peramalan (forecast error) Semaikin kecil nilai kesalahan peramalan maka semaikin tinggi keakuratan metode peramalan yang digunakan dan sebaliknya semakin tinggi nilai kesalahan maka semakin rendah keakuratan metode peramalan yang digunakan

Mean Square Error (MSE) adalah salah satu metode yang digunakan untuk menghitung nilai akurasi atau keakuratan dari metode yang digunakan sebagai peramalan atau prediksi MSE merupakan perhitungan pangkat dua dari selisih

21

antara nilai data hasil peramalan dengan nilai data aktual dan kemudian dibagi dengan banyaknya data yang telah diramalkan Pada penentuan nilai evaluasi memilih menggunakan metode MSE karena metode ini dapat menunjukan hasil skala kemiripan antara hasil data peramalan dengan data aktual Berikut merupakan metode Mean Square Error (MSE) yang ditunjukan pada Persamaan 219 (Wang Chen 2009)

119872119878119864 = sum (119865119905minus119860119905)2119899

119894=1

119899 (219)

Dimana 119872119878119864 = nilai Mean Square Error Rate 119860119905 = nilai aktual pada data ke-t 119865119905 = nilai hasil peramalan untuk data ke-t n = banyaknya data

22

BAB 3 METODOLOGI

Pada bab ini akan dibahas mengenai metode yang digunakan beserta tahap ndash tahap pengerjaan penelitian skripsi dengan judul ldquoPeramalan Curah Hujan dengan Metode High Order Fuzzy Time Series Multi Factorsrdquo Penilitian ini digolongkan sebagai penelitian implementatif dengan pendekatan perancangan (design)

Metode penelitian ini meliputi studi literatur pengumpulan data perancangan implementasi pengujian dan analisis pengambilan kesimpulan Berikut adalah alur dari metode penelitian dapat ditunjukkan pada Gambar 31

31 Studi Literatur

Pada tahap studi literatur penelitian ini bertujuan untuk mempelajari literatur dan konsep dari beberapa informasi dan pustaka yang berkaitan dengan penelitian ini Literatur dan sumber ilmu dari penelitian ini diperoleh dari internet buku dan bimbingan oleh dosen pembimbing Adapun literatur yang dipelajari yaitu tentang curah hujan serta faktor ndash faktor yang mempengaruhinya dan metode High Order Fuzzy Time Series Multi Factors

Studi Literatur

Pengumpulan Data

Perancangan

Implementasi

Pengujian dan Analisis

Kesimpulan dan Saran

Gambar 31 Diagram blok metodologi penelitian

23

32 Pengumpulan Data

Pada tahap pengumpulan penelitian ini sumber data yang diperoleh yaitu dari Badan Meteorologi Klimatologi dan Geofisikia (BMKG) Stasiun Klimatologi Kelas III Karangkates Kabupaten Malang Data yang diperoleh untuk peramalan curah hujan yaitu data aktual time series (2011 - 2016) Data yang digunakan dalam bentuk dasarian yaitu dalam rentang waktu sepuluh hari sehingga dalam satu bulan dibagi menjadi tiga dasarian

Dasarian pertama yaitu pada tanggal 1 sampai dengan 10

Dasarian kedua yaitu pada tanggal 11 sampai dengan 20

Dasarian ketiga yaitu pada tanggal 21 sampai dengan akhir bulan

Pada penelitian ini data curah hujan dalam satuan milimeter (mm) kelembaban dalam persen () suhu udara dalam satuan celsius (˚C) kecepatan angin dalam satuan kilometer per jam (kmjam)

33 Perancangan

Pada tahap perancangan penelitian ini bertujuan untuk mengetahui rancangan ndash rancangan yang merupakan langkah yang dilakukan saat melakukan tahap implementasi Pada tahap ini terdapat beberapa perancangan yaitu perancangan proses yang berisi tahapan ndash tahapan proses metode High Order Fuzzy Time Series Multi Factors perhitungan manual yang merupakan manualisasi dari metode yang digunakan pada penelitian ini perancangan antar muka atau user interface yang berisi gambaran kasar dari tampilan antar muka prototype aplikasi yang nantinya diterapkan pada tahap implementasi selanjutnya adalah perancangan pengujian yang berisi rancangan ndash rancangan pengujian metode yang digunakan untuk mengetahui berapa tingkat kesalahan atau error yang dimiliki metode pada penelitian ini dalam melakukan peramalan curah hujan

34 Implementasi

Pada tahap implementasi peneltian ini dilakukan sesuai dengan perancangan yang telah dibuat pada tahapan perancangan sebelumnya Implementasi dari metode High Order Fuzzy Time Series Multi Factors dilakukan menggunakan bahasa pemrograman java serta Integrated Development Environment (IDE) yang digunakan adalah Netbeans Sehingga nantinya hasil dari tahap ini berupa prototype aplikasi dari implementasi metode High Order Fuzzy Time Series Multi Factors untuk peramalan curah hujan

35 Pengujian dan Analisis

Pada tahapan penelitian pengujian ini diperlukan perangkat lunak dan perangkat keras agar pengujian dari hasil implementasi dapat berjalan dengan baik maka pengujian perangkat lunak dijalankan pada laptop ataupun PC (Personal Computer) dengan spesifikasi sebagai berikut

24

1 Prosesor Intel Core i3

2 Memory RAM 8 Gigabytes

3 Sistem Operasi menggunakan Windows 7 64bit

4 Hardisk dengan kapasitas 500 GB

5 Netbeans 81 JDK 7

Pengujian hasil peramalan menggunakan metode High Order Fuzzy Time Series Multi Factors yaitu menggunakan metode Mean Square Error (MSE) Dimana rumus pengujian sesuai dengan Persamaan 219 Dalam pengujian menggunakan metode ini semakin kecil nilai MSE maka semakin tinggi tingkat akurasi hasil peramalan tersebut Pada penelitian ini untuk keperluan pengujian dari proses implementasi dilakukan empat pengujian yaitu pengujian terhadap perbedaan nilai order pengujian terhadap perbedaan nilai threshold pengujian terhadap data training untuk mengetahui pengaruhnya terhadap nilai MSE dan pengujian validasi sistem untuk mengetahui bahwa hasil implementasi metode High Order Fuzzy Time Series Multi Factors dapat melakukan peramalan

36 Kesimpulan dan Saran

Pada pengambilan kesimpulan akan dilakukan apabila semua tahapan ndash tahapan penelitian sudah dilakukan yaitu yang meliputi perancangan implementasi dan pengujian dan analisis telah selesai dilakukan Kesimpulan merupakan tahapan dimana semua rumusan masalah yang sudah ditetapkan sebelumnya dapat terjawab semua Selanjutnya pada saran merupakan berkenaan dengan hasil yang telah dicapai untuk memperbaiki kekurangan - kekurangan yang terjadi pada penelitian ini serta memberikan pertimbangan pada pengembangan penelitian lebih lanjut

25

BAB 4 PERANCANGAN

Pada bab ini berisi tentang perancangan yang nantinya digunakan sebagai dasar dalam tahap implementasi Hal yang dibahas meliputi perancangan proses perhitungan manual perancangan pengujian dan perancangan antar muka

41 Perancangan Proses

Pada perancangan proses ini berisi mengenai tahapan ndash tahapan dari metode yang digunakan yaitu metode High Order Fuzzy Time Series Multi Factors Pada penelitian ini melibatkan faktor ndash faktor yang mempengaruhi curah hujan yaitu suhu udara kelembaban udara dan kecepatan angin Data time series dari curah hujan merupakan faktor utama dalam proses peramalan pada penelitian ini Inputan pada peneltian ini yaitu data time series curah hujan serta faktor ndash faktor yang mempengaruhinya Order yang digunakan pada metode ini merupakan order lebih dari satu oleh karena itu disebut dengan High Order Order merupakan urutan jumlah dari data time series pada periode waktu t yang mempengaruhi nilai data Berikut merupakan diagram alir dari proses peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors yang ditunjukkan pada Gambar 41 dan Gambar 42

Gambar 41 Diagram alir metode penelitian yang digunakan (bagian 1)

Mulai

Data curah hujan suhu kelembaban kecepatan angin jmlh_Banyakdata jmlh_Faktor

Universe_of_Discourse

A

Jumlah_Cluster

26

411 Proses perhitungan Universe of Discourse

Pada perhitungan Universe of Discourse harus sudah dilakukan inputan data agar dapat memulai tahapan perhitungan Tahapan dari proses perhitungannya yaitu pada langkah pertama dilakukan perhitungan nilai mean (rata ndash rata) sesuai dengan Persamaan 211 Setelah mendapatkan nilai mean dapat dilakukan perhitungan untuk mencari nilai standar deviasi sesuai dengan Persamaan 212 Selanjutnya dicari nilai terkecil (119863119898119894119899) dan nilai terbesar (119863119898119886119909) Setelah menyelesaikan tahap ndash tahap tersebut dapat dilakukan perhitungan untuk

Gambar 42 Diagram alir metode penelitian yang digunakan (bagian 2)

A

Perhitungan Pusat Cluster

Fuzzifikasi

Pembentukan Fuzzy Logical Relationship

Defuzzifikasi

Nilai hasil peramalan

Berhenti

Pembentukan Subinterval dan Fuzzy set

27

mencari Universe of Discourse sesuai dengan Persamaan 213 Berikut merupakan diagram alir dari proses perhitungan Universe of Discourse yang ditunjukkan pada Gambar 43

Perhitungan Universe of Discourse

Mulai

Min_dan_Max

mean

standar_deviasi

for i = 0 to jmlh_Faktor-1

i

hsl_uMin ke i = hsl_min ke i ndash hsl_stdev ke i

hsl_uMax ke i = hsl_max ke i + hsl_stdev ke i

hsl_uMin hsl_uMax

Berhenti

Gambar 43 Diagram alir proses perhitungan Universe of Discourse

28

4111 Proses perhitungan Mean

Pada proses perhitungan mean merupakan nilai rata ndash rata dari setiap faktor dimana nilai mean ini nantinya dibutuhkan untuk melakukan proses perhitungan standar deviasi Berikut merupakan diagram alir dari proses perhitungan mean yang ditunjukkan pada Gambar 44

mean

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to jmlh_DataTraining

tmp_jmlh = 0

tmp_jmlh = tmp_jmlh + data ke ij

j

hsl_mean ke i = tmp_jmlhjmlh_DataTraining

i

hsl_mean

Berhenti

Gambar 44 Diagram alir proses perhitungan mean

29

4112 Proses perhitungan standar deviasi

Pada proses perhitungan standar deviasi dapat dilakukan setelah mendapatkan nilai mean dari setiap data sesuai proses sebelumnya Berikut merupakan diagram alir dari proses perhitungan standar deviasi yang ditunjukkan pada Gambar 45

standar_deviasi

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to jmlh_DataTraining

result = 0

result = result + (data ke ij ndash mean ke i)2

j

hsl_stdev ke i = radicresult

jmlh_DataTrainingminus1

i

hsl_stdev

Berhenti

Gambar 45 Diagram alir proses perhitungan standar deviasi

30

4113 Proses perhitungan nilai Dmin dan Dmax

Pada proses perhitungan ini merupakan proses perhitungan untuk mencari nilai terkecil dan terbesar dari setiap faktor data Setelah mendapat nilai terkecil dan terbesar maka data dilakukan proses perhitungan Universe of Discourse Berikut merupakan diagran alir dari proses perhitungan nilai Dmin dan Dmax yang ditunjukkan pada Gambar 46

Gambar 46 Diagram alir perhitungan nilai Min dan Max

ya

ya

tidak

tidak

Min_dan_Max

Mulai

for i = 0 to jmlh_Faktor-1

besar = data ke i0

kecil = data ke i0

for j=0 to jmlh_DataTraining

data ke ij gt besar

besar = data ke ij

data ke ij lt kecil

kecil = data ke ij

j

hsl_max ke i = besar

hsl_min ke i = kecil

i

hsl_max hsl_min

Berhenti 1

1

2

2

3

4

4

5

5

3

31

412 Proses perhitungan jumlah cluster

Pada proses perhitungan jumlah cluster memiliki masukkan proses Dmin dan Dmax

dari proses perhitungan sebelumnya Pada proses ini terdapat perhitungan nilai dari selisih setiap data Pada perhitungan jumlah cluster sesuai dengan Persamaan 214 Berikut merupakan langkah ndash langkah perhitungan jumlah cluster yang ditunjukkan pada Gambar 47

jumlah_Cluster

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to (jmlh_DataTraining-1)

Berhenti

hsl_max hsl_min

selisih = 0

selisih = selisih + |data ke ij ndash data ke i (j+1)|

j

jmlh_Cluster ke i = |ℎ119904119897_119898119894119899 119896119890 119894minusℎ119904119897_119898119886119909 119896119890 119894|

119904119890119897119894119904119894ℎ

119895119898119897ℎ_119863119886119905119886119879119903119886119894119899119894119899119892minus1

i

jmlh_Cluster

Gambar 47 Diagram alir proses perhitungan jumlah cluster

32

413 Proses perhitungan pusat cluster

Pada proses perhitungan pusat cluster ini diperlukan beberapa variabel yang harus dideklarasikan terlebih dahulu yaitu nilai bobot fungsi objektif nilai iterasi awal nilai iterasi maksimum dan error terkecil Perhitungan subinterval ini menggunakan metode fuzzy C-means yang diawali dengan pencarian pusat cluster terlebih dahulu Berikut merupakan langkah ndash langkah perhitungan subinterval yang ditunjukkan pada Gambar 48 Gambar 49 Gambar 410 Gambar 411 Gambar 412

Gambar 48 Diagram alir proses perhitungan pusat cluster (bagian 1)

Perhitungan pusat cluster

Mulai

jmlh_Cluster

for i = 0 to jmlh_Faktor-1

Deklarasi bobot selisih_f_objektif

iter_maksimum error_min

Pembentukan Matriks partisi faktor A jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor A

for iter = iter to iter_maksimum

A

i == 0

Perhitungan pusat_cluster1 faktor A

B C D

tidak

ya

33

Gambar 49 Diagram alir proses perhitungan pusat cluster (bagian 2)

ya

tidak

tidak

ya

Perhitungan f_objektif faktor A

A B C D

Perhitungan selisih_f_objektif faktor A

Perbaikan matriks partisi faktor A

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster1 faktor A

Iter = iter_maksimum

iter

i == 1

Pembentukan Matriks partisi faktor B jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor B

for iter = iter to iter_maksimum

F A G E

34

tidak

tidak

ya

A E F G

Perhitungan pusat_cluster2 faktor B

Perhitungan f_objektif faktor B

Perhitungan selisih_f_objektif faktor B

Perbaikan matriks partisi faktor B

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster2 faktor B

Iter = iter_maksimum

iter

i == 2

Pembentukan Matriks partisi faktor C jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor C

I A H

Gambar 410 Diagram alir proses perhitungan pusat cluster (bagian 3)

ya

35

tidak

tidak

Gambar 411 Diagram alir proses perhitungan pusat cluster (bagian 4)

ya

A H I

for iter = iter to iter_maksimum

Perhitungan pusat_cluster3 faktor C

Perhitungan f_objektif faktor C

Perhitungan selisih_f_objektif faktor C

Perbaikan matriks partisi faktor C

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster3 faktor C

Iter = iter_maksimum

iter

i == 3

Pembentukan Matriks partisi faktor D jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor D

J A K

ya

36

tidak

ya

Gambar 412 Diagram alir proses perhitungan pusat cluster (bagian 5)

A K J

for iter = iter to iter_maksimum

Perhitungan pusat_cluster4 faktor D

Perhitungan f_objektif faktor D

Perhitungan selisih_f_objektif faktor D

Perbaikan matriks partisi faktor D

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster4 faktor D

Iter = iter_maksimum

iter

i

pusat_cluster1pusat_cluster2 pusat_cluster3pusat_cluster4

Berhenti

37

tidak

ya

tidak

ya

Gambar 413 Diagram alir pembentukan subinterval dan fuzzy set (bagian 1)

414 Proses pembentukan subinterval dan Fuzzy set

Pada proses pembentukan fuzzy set atau himpunan fuzzy pada penelitian ini dapat dilakukan setelah perhitungan subinterval selesai dilakukan Nilai subniterval merupakan masukan utama pada pembentukkan fuzzy set Pembentukan fuzzy sesuai dengan Persamaan 215 Berikut merupakan langkah ndash langkah proses pembentukan fuzzy set yang ditunjukkan pada Gambar 413 dan Gambar 414

Pembentukan subinteval dan Fuzzy set

Mulai

pusat_cluster1pusat_cluster2 pusat_cluster3pusat_cluster4

for i = 0 to jmlh_Faktor-1

Menentukan batas_subintervalMinA dan

batas_subintervalMaxA

Menentukan batas_fuzzysetMinA dan batas_fuzzysetMaxA

i == 0

i == 1

Menentukan batas_subintervalMinB dan

batas_subintervalMaxB

Menentukan batas_fuzzysetMinB dan batas_fuzzysetMaxB

A C B

38

tidak

tidak

ya

ya

415 Proses Fuzzifikasi

Pada proses fuzzifikasi ini pembentukanya sesuai derajat keanggotaan pada setiap data Pada proses ini derajat keanggotaan dihitung berdassarkan fungsi keanggotaan kurva bahu Hasil dari proses ini merupakan data yang sudah difuzzifikasikan menjadi data fuzzy Berikut langkah ndash langkah dari proses fuzzifikasi ditunjukkan pada Gambar 415 dan Gambar 416

i == 2

A B C

Menentukan batas_subintervalMinC dan batas_subintervalMaxC

Menentukan batas_fuzzysetMinC dan batas_fuzzysetMaxC

i == 3

Menentukan batas_subintervalMinD dan batas_subintervalMaxD

Menentukan batas_fuzzysetMinD dan batas_fuzzysetMaxD

i

batas_fuzzysetMinA batas_fuzzysetMaxA batas_fuzzysetMinB batas_fuzzysetMaxB batas_fuzzysetMinC batas_fuzzysetMaxC batas_fuzzysetMinD batas_fuzzysetMaxD

Berhenti

Gambar 414 Diagram alir pembentukan subinterval dan fuzzy set (bagian 2)

39

tidak

ya

ya

tidak

Fuzzifikasi

Mulai

for i = 0 to jmlh_Faktor-1

Menentukan hasil_fuzzifikasiA dari faktor A

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinA batas_fuzzysetMaxA

Gambar 415 Diagram alir proses fuzzifikasi (bagian 1)

batas_fuzzysetMinA batas_fuzzysetMaxA batas_fuzzysetMinB batas_fuzzysetMaxB batas_fuzzysetMinC batas_fuzzysetMaxC batas_fuzzysetMinD batas_fuzzysetMaxD

DD

i == 0

i == 1

Menentukan hasil_fuzzifikasiB

dari faktor B

Menghitung derajat keanggotaan

berdasarkan batas_fuzzysetMinB

batas_fuzzysetMaxB

C A B

40

tidak

ya

ya

tidak

ya

i == 2

A B C

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinC batas_fuzzysetMaxC

Menentukan hasil_fuzzifikasiC dari faktor C

i == 3

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinD

batas_fuzzysetMaxD

Menentukan hasil_fuzzifikasiD dari faktor D

i

hasil_fuzzifikasiA hasil_fuzzifikasiB hasil_fuzzifikasiC hasil_fuzzifikasiD

Berhenti

Gambar 416 Diagram alir proses fuzzifikasi (bagian 2)

41

tidak

ya

416 Proses pembentukan Fuzzy Logical Relationship

Setelah data melalui proses fuzzifikasi dan sudah menjadi data fuzzy maka dapat dilakukan pembentukan Fuzzy Logical Relationship (FLR) Pembentukan FLR dilakukan sesuai dengan Persamaan 216Berikut adalah langkah ndash langkah proses pembentukan Fuzzy Logical Relationship (FLR) yang ditunjukkan pada Gambar 417 Gambar 418 dan Gambar 419

Gambar 417 Diagram alir proses Pembentukan FLR

(bagian 1)

Pembentukan Fuzzy Logical Relationship

Mulai

hasil_fuzzifikasiAhasil_fuzzifikasiB hasil_fuzzifikasiChasil_fuzzifikasiD order

for i = 0 to jmlh_dataTraining

max_inc = order jmlh_dataTraining = dataTraining - order

for j = i to max_inc

for k = 0 to jmlh_Faktor-1

j == 0

FLR_kiri_training ke ijk = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D)

ke j

E A B C D

42

ya

tidak

ya

tidak

A B C E D

FLR_kiri_training ke i(j-i)k = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D) ke j

j = 0

k

j

FLR_kanan_training ke i = hasil_fuzzifikasiA ke (i+order)

Max_inc lt (jmlh_DataTraining-1)

i

tmp_JmlhDatatraining = tmp_JmlhDatatraining +1

max_inc = max_inc + 1 tmp_JmlhDatatraining = i

Gambar 418 Diagram alir proses Pembentukan FLR (bagian 2)

for j = 0 to tmp_JmlhDatatraining

for j = tmp_JmlhDatatraining to max_inc

for k = 0 to jmlh_Faktor-1

I H G F

43

tidak

ya

417 Proses Defuzzifikasi

Proses defuzzifikasi merupakan proses akhir dimana keluaran dari proses ini merupakan nilai hasil peramalan Data yang diperlukan pada proses defuzzifikasi adalah hasil dari proses pembentukan Fuzzy Logical Relationship (FLR) nilai threshold yang harus dideklarasikan sebelumnya jumlah data training dan jumlah data testing Dalam proses ini dilakukan perhitungan selisih pada FLR antara data testing dan data training FLR yang dihitung nilai selisihnya adalah FLR pangkat bawah yang terdapat pada ruas kiri Setelah dilakukan perhitungan selisih dan total jumlah selisih lebih kecil dari nilai threshold maka pada setiap FLR yang

I H G F

FLR_kiri_testing ke i(j-tmp_jmlhDatatraining) k = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D) ke j

k

j

FLR_kanan_testing ke i = hasil_fuzzifikasiA ke (i+order)

i

Max_inc lt (jmlh_DataTraining-1)

max_inc = max_inc + 1 tmp_JmlhDatatraining++

FLR_kiri_training FLR_kanan_training FLR_kiri_testing FLR_kanan_testing

Mulai

Gambar 419 Diagram alir proses Pembentukan FLR (bagian 3)

44

ya

tidak

sesuai dengan kondisi tersebut dapat dikatakan cocok atau dapat dilakukan ke tahap perhitungan selanjutnya Setelah mendapatkan FLR yang cocok maka dilakukan pengelompokkan berdasarkan FLR ruas kanan Pengelompokkan ini dihitung jumlah frekuensi yang sama sesuai dengan fuzzy set di ruas kanan Selanjutnya untuk memperoleh hasil peramalan dilakukan proses perhitungan sesuai dengan Persamaan 218 Berikut adalah langkah ndash langkah proses defuzzifikasi yang ditunjukkan pada Gambar 420 dan Gambar 421

Gambar 420 Diagram alir proses defuzzifikasi (bagian 1)

Defuzzifikasi

Mulai

FLR_kiri FLR_kanan order dataTraining dataTesting konstanta

threshold = (jmlh_Faktor x order)+konstanta

for i = 0 to dataTesting

for j = 0 to (dataTraining-i)

Perhitungan hitung_selisih antara FLR_kiri data training dan data testing

hitung_selisih lt threshold

match ke ij = hitung_selisih

j

i

A

45

Gambar 421 Diagram alir proses defuzzifikasi (bagian 2)

A

Menghitung jumlah total FLR_kiri yang cocok untuk setiap data testing

Mencocokan FLR_kiri yang cocok dengan FLR_kanan untuk setiap data testing

for i = 0 to dataTesting

Menghitung frekuensi setiap FLR_kanan yang cocok untuk setap data testing

for j = 0 to jumlah total FLR kiri yang cocok

peramalan = peramalan + Frekuensi setiap FLR_kanan yang cocok x pusat_cluster1

sesuai dengan value FLR_kanannya

j

hasil_peramlan ke i = peramalan jumlah total FLR kiri yang cocok

i

Hasil_permalan

Berhenti

46

42 Perhitungan Manual

Dalam perhitungan manual ini data sampel yang digunakan merupakan data time series dasarian ke-2 pada periode April 2014 sampai dengan dasarian ke-2 Juli 2014 data sampel ditunjukkan pada Tabel 41

Tabel 41 Data Sampel Perhitungan Manual

No Dasarian Curah Hujan

(A)

Suhu (B) Kelembaban (C)

Kecepatan Angin(D)

1 Dasarian 2 (April 2014) 95 2615 8248 629

2 Dasarian 3 (April 2014) 90 2612 8247 628

3 Dasarian 1 (Mei 2014) 94 2607 8247 627

4 Dasarian 2 (Mei 2014) 83 2625 8232 623

5 Dasarian 3 (Mei 2014) 85 2628 8235 623

6 Dasarian 1 (Juni 2014) 92 2609 8241 626

7 Dasarian 2 (Juni 2014) 86 2627 8235 624

8 Dasarian 3 (Juni 2014) 89 2621 8238 624

9 Dasarian 1 (Juli 2014) 93 2607 8242 626

10 Dasarian 2 (Juli 2014) 86 2626 8237 623

Sumber BMKG Kelas III Karangkates Malang

421 Perhitungan Universe of Discourse (U)

Sebelum melakukan perhitungan U maka harus dicari terlebih dahulu nilai 119863119898119894119899 119863119898119886119909 dan standar deviasi 119863119898119894119899 adalah nilai minimum atau nilai terkecil dari data sampel yang ada sedangkan 119863119898119886119909 adalah nilai maksimum atau nilai paling besar dari data sampel yang ada Untuk mencari nilai standar deviasi harus menghitung nilai mean (rata ndash rata) terlebih dahulu sesuai dengan Persamaan 211 Mean dari data curah hujan (A) dihitung dengan cara sebagai berikut

Mean = (data ke-1 + data ke-2 + data ke-3 + + data ke-10) 10

= (95 + 90 + 94 + 83 + 85 + 92 + 86 + 89 + 93 + 86) 10

= 893 10

= 893

Selanjutnya setelah diperoleh nilai mean dilanjutkan melakukan perhitungan standar deviasi sesuai dengan Persamaan 212 Standar deviasi adalah akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel Untuk menghitung standar deviasi agar lebih mudah kita terlebih dahulu melakukan perhitungan nilai kuadrat dari selisih data ke-i dan mean yang ditunjukkan pada Tabel 42

47

Tabel 42 Hasil kuadrat dari selisih data ke-i dan mean

i Data ke-i Data ke-i mean (Data ke-i - mean)sup2

1 95 57 32490

2 90 07 0490

3 94 47 22090

4 83 -63 39690

5 85 -43 18490

6 92 27 7290

7 86 -33 10890

8 89 -03 0090

9 93 37 13690

10 86 -33 10890

Jumlah 1561

Setelah mendapatkan hasil nilai kuadrat dari selisih data ke-i dan mean sesuai dengan Tabel 42 maka dapat dilanjutkan melakukan perhitungan standar deviasi dengan cara sebagai berikut

Standar_deviasi = radic1

10minus1sum (119889119886119905119886 119896119890 minus 119894 minus 119898119890119886119899)10

119894=1

2

= radic1

9 times 1561

= 4165

Untuk perhitungan standar deviasi juga dilakukan pada faktor lainnya yaitu suhu (B) kelembaban (C) dan kecepatan angin (D) Hasil perhitungan 119863119898119894119899 119863119898119886119909 dan standar deviasi ditunjukkan pada Tabel 43

Tabel 43 Nilai minimum nilai maksimum dan standar deviasi

Data D min D max Standar Deviasi

A 83 95 4165

B 2607 2628 0086

C 8232 8248 0057

D 623 629 0022

Berdasarkan hasil yang ditunjukkan Tabel 43 selanjutnya dapat dilakukan perhitungan nilai U sesuai dengan Persamaan 213 Berikut adalah perhitungan U pada data A

U = [119863119898119894119899 minus 120590 119863119898119886119909 + 120590]

= [(83 ndash 4165) (95 ndash 4165)]

= [78835 99165]

48

Untuk perhitungan U juga dilakukan pada semua faktor yaitu data B C dan D Sehingga diperoleh nilai U yang ditunjukkan pada Tabel 44

Tabel 44 Hasil Universe of Discourse

Data U

Batas Bawah Batas Atas

A 78835 99165

B 25984 26366

C 82263 82537

D 6208 6312

422 Perhitungan jumlah cluster (k)

Pada perhitungan jumlah cluster langkah pertamanya adalah mencari nilai absolut dari selisih data hari ke-t dengan hari sebelumnya Perhitungan selisih dilakukan hingga data ke-10 Perhitungan nilai selisih dilakukan pada semua data A B C dan D Selanjutnya masing ndash masing nilai selisih dijumlah sehingga hasilnya seperti ditunjukkan pada Tabel 45

Tabel 45 Nilai absolut selisih data hari ke-t dengan hari sebelumnya

No Tanggal A B C D

1 Dasarian 3 (April 2014) 5 003 001 001

2 Dasarian 1 (Mei 2014) 4 005 0 001

3 Dasarian 2 (Mei 2014) 11 018 015 004

4 Dasarian 3 (Mei 2014) 2 003 003 0

5 Dasarian 1 (Juni 2014) 7 019 006 003

6 Dasarian 2 (Juni 2014) 6 018 006 002

7 Dasarian 3 (Juni 2014) 3 006 003 0

8 Dasarian 1 (Juli 2014) 4 014 004 002

9 Dasarian 2 (Juli 2014) 7 019 005 003

Jumlah 49 105 043 016

Setelah mendapatkan nilai absolut selisih data hari ke-t dengan hari sebelumnya dapat dilanjutkan dengan menghitung jumlah cluster sesuai dengan Persamaan 214 Perhitungan jumlah cluster pada data A (k1) berdasarkan pada Tabel 43 diketahui nilai 119863119898119894119899 adalah 171 nilai 119863119898119886119909 adalah 2048 maka jumlah cluster data A dapat ditunjukkan sebagai berikut

49

1198961 = ||119863119898119894119899 minus 119863119898119886119909|sum |119883(119905) minus 119883(119905 minus 1)|119899

119905=1

119899 minus 1|

= |83 minus 9549

10minus1| = 2204

Apabila hasil perhitungan jumlah cluster merupakan bilangan pecahan maka hasilnya harus dibulatkan Sehingga jumlah cluster pada data A adalah 2 Perhitungan jumlah cluster juga dilakukan pada data B (k2) C (k3) dan D (k4) Berikut merupakan hasil semua perhitungan jumlah cluster yang ditunjukkan pada Tabel 46

Tabel 46 Hasil jumlah cluster data

No Cluster Jumlah Cluster

1 k1 2

2 k2 2

3 k3 3

4 k4 3

423 Perhitungan pusat cluster dan subinterval

Pada pembentukan subinterval berdasarkan pada Tabel 46 yang menunjukkan jumlah subinterval yang selanjutnya digunakan untuk menentukan pusat cluster menggunakan algoritma fuzzy C-means (FCM)

4231 Penentuan pusat cluster

a Penentuan nilai variabel

Pada penentuan subinterval diawali dengan klasterisasi menggunakan algoritma FCM pada awal proses ditentukkan beberapa variabel sebagai berikut

Banyak cluster = k1 = 2

Bobot (w) = 2

Fungsi objektif awal = 0

Iterasi awal = 1

Iterasi maksimum = 100

Error terkecil = 001 b Pembentukan matriks partisi awal (micro)

Data pada pembentukan matriks partisi awal merupakan nilai random diantara nilai 0 sampai 1 Dimensi pada matriks partisi awal dibentuk dengan dimensi jumlah data (i) x jumlah cluster (k) Dalam hal ini telah diketahui jumlah data adalah 10 dan k1 adalah 2 maka partisi dimensi matriks awal adalah 10 x 2 Hasil pembentukan matriks partisi awal ditunjukkan pada Tabel 47 dimana Cluster disimbolkan dengan C

50

Tabel 47 Matriks partisi awal pada cluster data A

c Normalisasi matriks partisi awal

Langkah pertama normalisasi matriks partisi awal adalah dengan menghitung jumlah bilangan penyusun matriks pada setiap kolom yang dapat dilihat pada Tabel 47 dijumlah berdasarkan dengan Persamaan 24 Diketahui jumlah kolom matriks sebanyak 2 sehingga diperoleh Q1 untuk penjumlahan kolom c1 Q2 untuk penjumlahan kolom c2

Q1 = 0355 + 0174 + 02 + 0387 + 0598 + 0819 + 0702 + 0719 + 0349 +

0852

= 5154

Q2 = 0170 + 0815 + 0190 + 0456 + 0526 + 0170 + 0232 + 0572 + 0102 +

0322

= 3554

Langkah selanjutnya dilakukan proses normalisasi menggunakan Persamaan 25 Dimana setiap bilangan penyusun matriks awal dibagi dengan nilai Q sesuai dengan kolomnya masing ndash masing Bilangan penyusun matriks disimbolkan dengan microik dimana i menunjukkan baris dan k menunjukkan kolom posisi bilangan tersebut pada matriks

i micro

c1 c2

1 0355 0170

2 0174 0815

3 0200 0190

4 0387 0456

5 0598 0526

6 0819 0170

7 0702 0232

8 0719 0572

9 0349 0102

10 0852 0322

51

μ11 = bilangan matriks partisi pada baris 1 kolom 1

Q1

= 0355

5154

= 0069

μ12 = bilangan matriks partisi pada baris 1 kolom 2

Q2

= 0170

3554

= 0048

Setelah melakukan perhitungan seperti diatas untuk semua bilangan matriks sehingga matriks partisi sudah ternormalisasi seperti yang ditunjukkan pada Tabel 48

Tabel 48 Derajat keanggotaan matriks partisi data A

i micro

C1 C2

1 0069 0048

2 0034 0229

3 0039 0054

4 0075 0128

5 0116 0148

6 0159 0048

7 0136 0065

8 0140 0161

9 0068 0029

10 0165 0090

d Perhitungan pusat cluster (V)

Pada perhitungan pusat cluster (V) berdasarkan Persamaan 26 Dimana setiap bilangan penyusun matriks partisi (micro) dipangkatkan dengan w dimana variabel w yang sudah dideklarisakan terlebih dahulu dengan nilai sama dengan 2 dan dikalikan dengan bilangan penyusun matriks X yang merupakan matriks berisi data yang ada pada Tabel 41 Selanjutnya hasil perkalian tersebut dijumlah dan dibagi dengan jumlah hasil kuadrat dari bilangan penyusun matriks partisi Hasil perhitungan ditunjukkan pada Tabel 49

52

Tabel 49 Perhitungan pusat cluster data A

Berdasarkan jumlah cluster dari data A yaitu 2 maka terdapat 2 pusat cluster (V) yaitu V1 V2 Perhitungan nilai V adalah sebagai berikut

V1 = sum ((μic1)2 times Xi)10

i=1

sum (μic1)210i=1

= 10730216

0121620

= 8822718207

V2 = sum ((μic2)2 times Xi)10

i=1

sum (μic2)210i=1

= 12111287

0137572

= 8803592572

Jadi berdasarkan perhitungan diatas pusat cluster untuk data A pada iterasi ke-1 adalah 8822718207 8803592572

e Perhitungan fungsi objektif (P)

Pada perhitungan P menggunakan Persamaan 27 dimana setiap baris pada data matriks X dikurangi pusat cluster (V) selanjutnya dikuadratkan Hasilnya

i X microsup2 microsup2 x X

C1 C2 C1 C2

1 95 0004731 0002292 0449450 0217718

2 90 0001137 0052633 0102304 4736927

3 94 0001512 0002864 0142117 0269234

4 83 0005630 0016427 0467258 1363472

5 85 0013448 0021907 1143107 1862112

6 92 0025233 0002291 2321422 0210787

7 86 0018542 0004243 1594602 0364916

8 89 0019487 0025916 1734356 2306543

9 93 0004590 0000816 0426841 0075870

10 86 0027311 0008183 2348759 0703706

Jumlah 0121620 0137572 10730216 12111287

53

kemudian dikalikan dengan micro yang sudah dipangkatkan dengan bobot (w) seperti yang telah ditunjukkan pada Tabel 49 Selanjutnya hasil tersebut dijumlah per kolom seperti yang ditunjukkan pada Tabel 410

Tabel 410 Fungsi objektif data A

i X (X-V)sup2 (X-V)sup2 x microsup2

C1 C2 C1 C2

1 95 458711 484983 02170 01111

2 90 31429 38576 00036 02030

3 94 333254 355702 00504 01019

4 83 273234 253605 01538 04166

5 85 104147 92168 01401 02019

6 92 142342 157139 03592 00360

7 86 49603 41450 00920 00176

8 89 05972 09294 00116 00241

9 93 227798 246420 01046 00201

10 86 49603 41450 01355 00339

Jumlah 1267661573 1166282827

Fungsi Objektif (P) 24339444

Perhitungan nilai fungsi objektif dilakukan seperti Persamaan 27 Nilai fungsi objektif diperoleh dengan cara sebagai berikut P = sum sum ([(Xi minus Vc)2](μik)2)3

c=110i=1

P = 1267661573 + 1166282827

= 24339444

f Perbaikan matriks partisi

Pada langkah ini perbaikan matriks partisi dilakukan berdasarkan Persamaan 28 Data matriks X untuk setiap barisnya dikurangi pusat cluster lalu dikuadratkan seperti yang ditunjukkan pada Tabel 410 Selanjutnya hasilnya dipangkatkan dengan -11 karena w-1 = 1 Hasil pangkat -1 terhadap (X-V)2 ditunjukkan pada Tabel 411

54

Tabel 411 Perbaikan matriks partisi

i ((X-V)sup2)^-1

Jumlah C1 C2

1 0022 0021 0042

2 0318 0259 0577

3 0030 0028 0058

4 0037 0039 0076

5 0096 0108 0205

6 0070 0064 0134

7 0202 0241 0443

8 1674 1076 2750

9 0044 0041 0084

10 0202 0241 0443

Berdasarkan tabel diatas bilangan penyusun matriks partisi yang baru atau yang telah diperbaiki diperoleh dari hasil pembagian data terhadap jumlah per barisnya

12058311 = 0022

0042= 0514

12058312 = 0021

0042= 0486

Pada perhitungan nilai matriks yang sudah diperbaiki dilakukan pada semua elemen matriks sehingga hasil perbaikan matriks seperti yang ditunjukkan pada Tabel 412

Tabel 412 Hasil perbaikan matriks partisi

Setelah mendapatkan hasil perbaikan matriks partisi kita lakukan pengecekan selama iterasi kurang dari iterasi maksimum (maxIter) atau selisih antara fungsi objektif iterasi saat ini dengan iterasi sebelumnya bernilai lebih dari nilai error terkecil yaitu 001 maka proses berlanjut dengan kembali melakukan perhitungan pusat cluster hingga perbaikan matriks partisi Hasil

i micro

C1 C2

1 0514 0486

2 0551 0449

3 0516 0484

4 0481 0519

5 0469 0531

6 0525 0475

7 0455 0545

8 0609 0391

9 0520 0480

10 0455 0545

55

perhitungan pusat cluster dari data A B C dan D setelah dilakukan proses tiga kali iterasi dan diurutkan mulai dari yang terkecil sampai yang terbesar ditunjukkan pada Tabel 413

Tabel 413 Hasil pusat cluster

4232 Perhitungan batas subinterval

Perhitungan batas subinterval dilakukan dengan mencari nilai tengah (Median) dari setiap pusat cluster Berikut merupakan contoh perhitungan batas subinterval pada data A

a Interval 1 Batas bawah = 78835 (Batas bawah Universe of Discourse pada data A) Batas atas = 89347 (Median 88303 dan 90390)

b Interval 2 Batas bawah = 89347 (Median 88303 dan 90390) Batas atas = 99165 (Batas atas Universe of Discourse pada data A)

Seperti perhitungan diatas juga dilakukan pada data suhu (B) kelembaban (C) dan kecepatan angin (D) Dalam hal ini jumlah subinterval setiap atribut berbeda ndash beda sesuai dengan jumlah cluster yang sebelumnya ditunjukkan pada Tabel 46 Berikut merupakan batas subinterval masing ndash masing atribut yang ditunjukkan pada Tabel 414

Tabel 414 Batas subinterval masing ndash masing atribut data

Interval (micro)

A B C D

1

78835 25984 751708 6208

sd sd sd sd

89347 26181 823863 6249

2

89347 26181 823863 6249

sd sd sd sd

99165 26366 82411 6256

3

82411 6256

- - sd sd

82537 6312

Cluster A B C D

1 88303 26165 82391 62497

2 90390 26197 82408 62499

3 - - 82415 62613

56

424 Pembentukan Fuzzy Set

Pembentukan fuzzy set berdasarkan pada derajat keanggotaan dari subinterval (micro) fuzzy set dari data A ditentukan dengan derajat keanggotaan sebagai berikut

A1 = 1micro1 + 05micro2

A2 = 05micro1 + 1micro2

Pada derajat keanggotaan data A diatas simbol ldquo+rdquo menunjukkan operator himpunan gabungan Berdasarkan subinterval pada Tabel 414 nilai batas fuzzy set dari data atribut A dapat ditentukan dengan cara sebagai berikut

A1 = 78835 sd 94256 (Batas bawah interval 1 sd titik tengah interval 2)

A2 = 84091 sd 99165 (Titik tengah interval 1 sd batas atas interval 2)

Setelah diketahui batas masing ndash masing fuzzy set grafik fungsi keanggotaan fuzzy set data A yang direpresentasikan dalam kurva bahu yang ditunjukkan pada Gambar 422 Dengan cara yang sama juga ditentukan pula fuzzy set dari data attribut B C dan D

425 Fuzzifikasi

Pada langkah fuzzifikasi dilakukan dengan mencari derajat keanggotaan yang memiliki nilai paling besar (maksimum) dari masing ndash masing data terhadap fuzzy set yang sudah terbentuk Derajat keanggotaan dicari berdasarkan fungsi keanggotaan kurva bentuk bahu Berikut ini adalah perhitungan derajat keanggotaan dari data attribut A

Data aktual curah hujan (A) pada April 2014 dasarian ke-3 = 90

1198601 = 942558 ndash 90

942558minus840911= 041868427

Gambar 422 Grafik fuzzy set data A

57

1198602 = 90minus840911

942558minus840911= 058131636

Derajat keanggotaan paling besar berada pada A2 sehingga data attribut A pada April 2014 dasarian ke-3 difuzzifikasikan ke fuzzy set A2 Perhitungan yang sama dilakukan pada seluruh data attribut A sehingga didapat derajat keanggotaan dan hasil fuzzifikasi dari data A ditunjukkan pada Tabel 415

Tabel 415 Hasil derajat keanggotaan dan fuzzy set data A

i Data A1 A2 Fuzzyfikasi

1 95 0 1 A2

2 90 041868363 058131636 A2

3 94 002516357 097483642 A2

4 83 1 0 A1

5 85 09105837 008941629 A1

6 92 02219236 077807639 A2

7 86 08122036 018779631 A1

8 89 05170636 048293635 A1

9 93 01235436 087645641 A2

10 86 08122037 018779631 A1

Perhitungan yang sama juga dilakukan pada semua attribut yaitu attribut B C dan D Sehingga dapat diperoleh hasil fuzzifikasi sesuai derajat keanggotaan dengan nilai paling besar Berikut adalah hasil fuzzifikasi untuk semua attribut yang dapat dilihat pada Tabel 416

Tabel 416 Hasil fuzzifikasi semua data attribut

No Tanggal A B C D

1 Dasarian 2 (April 2014) A2 B1 C3 D3

2 Dasarian 3 (April 2014) A2 B1 C3 D3

3 Dasarian 1 (Mei 2014) A2 B1 C3 D3

4 Dasarian 2 (Mei 2014) A1 B2 C1 D1

5 Dasarian 3 (Mei 2014) A1 B2 C1 D1

6 Dasarian 1 (Juni 2014) A2 B1 C2 D2

7 Dasarian 2 (Juni 2014) A1 B2 C1 D1

8 Dasarian 3 (Juni 2014) A1 B2 C2 D1

9 Dasarian 1 (Juli 2014) A2 B1 C2 D2

10 Dasarian 2 (Juli 2014) A1 B2 C2 D1

58

426 Pembentukan Fuzzy Logical Relationship (FLR)

Pada tahap pembentukan FLR dengan berdasarkan nilai order yang sudah ditentukan Pada manualisasi ini berdasarkan dari Tabel 416 di misalkan nilai order kita deklarasikan dengan nilai 3 sehingga dapat menghasilkan 7 FLR Hasil pembentukan FLR Data training dapat ditunjukkan pada Tabel 417 Hasil pembentukan FLR Data testing dapat ditunjukkan pada Tabel 418

Tabel 417 Hasil pembentukan FLR data training

No Fuzzy Logical Relationship (FLR)

1 (A(12)B(11)C(13)D(13)) (A(22)B(21)C(23)D(23)) (A(32)B(31)C(33)D(33)) rarr A1

2 (A(12)B(11)C(13)D(13)) (A(22)B(21)C(23)D(23)) (A(31)B(32)C(31)D(31)) rarr A1

3 (A(12)B(11)C(13)D(13)) (A(21)B(22)C(21)D(21)) (A(31)B(32)C(31)D(31)) rarr A2

4 (A(11)B(12)C(11)D(11)) (A(21)B(22)C(21)D(21)) (A(32)B(31)C(32)D(32)) rarr A1

5 (A(11)B(12)C(11)D(11)) (A(22)B(21)C(22)D(22)) (A(31)B(32)C(31)D(31)) rarr A1

Tabel 418 Hasil pembentukan FLR data testing

No Fuzzy Logical Relationship (FLR)

1 (A(12)B(11)C(12)D(12)) (A(21)B(22)C(21)D(21)) (A(31)B(32)C(32)D(31)) rarr A2

2 (A(11)B(12)C(11)D(11)) (A(21)B(22)C(22)D(21)) (A(32)B(31)C(32)D(32)) rarr A1

427 Defuzzifikasi

Pada tahap ini misalkan jumlah data yang digunakan untuk data uji atau data testing adalah dua yaitu yang pertama data periode ke-9 dan yang kedua data periode ke-10 Sehingga yang digunakan data latih atau data training adalah data pada periode ke-1 sampai data periode ke-8 Pada data testing yang pertama melibatkan FLR ke-1 sampai FLR ke-5 untuk disesuaikan dengan FLR ke-6 yang berdasarkan pada Tabel 417 Pada data testing yang kedua melibatkan FLR ke-1 sampai FLR ke-6 untuk disesuaikan dengan FLR ke-7 yang berdasarkan pada Tabel 417 Selanjutnya setiap ruas kiri FLR data testing dibandingkan dengan FLR data training yaitu pada bilang pangkat bawah fuzzy set dibandingkan sesuai dengan posisinya dan dihitung selisihnya Hasil dari perhitungan selisih tersebut dijumlahkan dan apabila jumlah selisihnya kurang dari threshold maka FLR tersebut dikatakan cocok Threshold merupakan dari hasil mengalikan jumlah order dengan jumlah faktor kemudian dijumlahkan dengan dengan sebuah konstanta Contoh perhitungan selisih nilai ruas kiri FLR pada data testing pertama adalah sebagai berikut

59

Data testing = (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(32) B(31) C(33) D(33)) rarr A1

Data training =

1 (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(31) B(32) C(31) D(31)) rarr A1

2 (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(31) B(32) C(31) D(31)) rarr A1

3 (A(12) B(11) C(13) D(13)) (A(21) B(22) C(21) D(21)) (A(31) B(32) C(31) D(31)) rarr A2

4 (A(11) B(12) C(11) D(11)) (A(21) B(22) C(21) D(21)) (A(32) B(31) C(32) D(32)) rarr A1

5 (A(11) B(12) C(11) D(11)) (A(22) B(21) C(22) D(22)) (A(31) B(32) C(31) D(31)) rarr A1

Selisih data ke- 1 = |2-2|+|1-1|+|3-2|+|3-2|+|2-1|+|1-2|+|3-1|+|3-1|+|2-1|+|1-2|+|3-2|+|3-1| = 13

Selisih data ke- 2 = |2-2|+|1-1|+|3-2|+|3-2|+|2-1|+|1-2|+|3-1|+|3-1|+|1-1|+|2-2|+|1-2|+|1-1| = 9

Selisih data ke- 3 = |2-2|+|1-1|+|3-2|+|3-2|+|1-1|+|2-2|+|1-1|+|1-1|+|1-1|+|2-2|+|1-2|+|1-1| = 3

Selisih data ke- 4 = |1-2|+|2-1|+|1-2|+|1-2|+|1-1|+|2-2|+|1-1|+|1-1|+|2-1|+|1-2|+|2-2|+|2-1| = 7

Selisih data ke- 5 = |1-2|+|2-1|+|1-2|+|1-2|+|2-1|+|1-2|+|2-1|+|2-1|+|1-1|+|2-2|+|1-2|+|1-1| = 9

Pada perhitungan selisih nilai ruas kiri FLR pada data testing juga dilakukan pada semua data testing yang sudah dideklarasikan sebelumnya Dalam hal ini agar dapat menemukan FLR yang cocok dengan data testing Tahap selanjutnya adalah proses defuzzifikasi menggunakan threshold yang dimisalkan 18 sehingga FLR yang memiliki kecocokan dengan data testing pertama adalah semua FLR dari ke-1 sampai ke-5 karena memiliki hasil selisih kurang dari 18 Semua FLR yang cocok ditampung dikelompokkan berdasarkan FLR pada ruas kanan yang sama kemudian dhitung frekuensinya Berikut adalah frekuensi dan pusat cluster dari ruas kanan FLR yang cocok dengan data testing pertama dan kedua ditunjukkan pada Tabel 419

Tabel 419 Frekuensi FLR yang cocok dengan data testing

Data testing 1 Data testing 2

Ruas kanan A1 A2 A1 A2

Pusat Cluster 88303 90390 88303 90390

Frekuensi 4 1 4 2

Berdasarkan pada Tabel 419 dilakukan defuzzifikasi sesuai dengan Persamaan 218 sebagai berikut

119863119886119905119886 119905119890119904119905119894119899119892 1 = (88303times4)+(90390times1)

5= 887204

60

119863119886119905119886 119905119890119904119905119894119899119892 2 = (88303times4)+(90390times2)

6= 889987

Jadi berdasarkan perhitungan diatas diperoleh hasil peramalan curah hujan pada pada April 2014 dasarian ke-3 adalah 1384601636 sedangkan pada tanggal 10012016 adalah 2769203272 Perbandingan data curah hujan aktual dan hasil peramalan dengan metode High Order Fuzzy Time Series Multi Factors dapat dilihat pada Tabel 420

Tabel 420 Perbandingan data aktual dan hasil peramalan

No Data Aktual Hasil Peramalan

1 93 887204

2 86 889987

Dari hasil peramalan yang ditunjukkan pada Tabel 420 dapat dilakukan perhitungan kesalahan peramalan menggunakan metode Mean Square Error (MSE) seperti Persamaan 219

119872119878119864 = ((93minus887206)2+(86minus889989)2)

2

= 136536

43 Perancangan antarmuka

Perancangan antarmuka merupakan perancangan dari tampilan antarmuka atau interface yang nantinya akan diterapkan pada tahapan implementasi Pada perancangan antarmuka ini terdapat lima halaman utama dan juga terdapat dalam menu berupa button yaitu halaman input halaman tampil data halaman proses halaman hasil dan halaman perhitungan error

431 Halaman input

Pada halaman input terdapat inputan data dengan nama button Browse Data pada inputan data ini pengguna diharuskan memasukkan inputan file data dalam bentuk ekstensi xls serta direktori lokasi file yang di inputkan akan ditampilkan pada textfield dan juga terdapat label yang menampilkan jumlah banyaknya data yang terdapat pada file yang telah di inputkan Selanjutnya juga terdata inputan textfield data training data testing order dan nilai konstanta Pada halaman input ini juga terdapat button fuzzification yang berfungsi untuk melakukan proses clustering fuzzifikasi dan FLR Selanjutnya pada button forecasting berfungsi untuk melakukan peramalan atau defuzzifikasi dari hasil proses fuzzifikasi serta menghitung nilai error dari hasil peramalan Berikut

61

merupakan rancangan tampilan antarmuka dari halaman input yang ditunjukkan pada Gambar 423

432 Halaman tampil data

Pada halaman tampil data terdapat tabel yang menampilkan isi data dari xls yang sudah dimasukkan terlebih dahulu pada halaman input Tabel tampil data akan menampilkan tanggal curah hujan kelembaban suhu dan kecepatan angin Berikut merupakan tampilan rancangan halaman tampil data yang ditunjukkan pada Gambar 424

Gambar 423 Rancangan antarmuka halaman input

Gambar 424 Rancangan antarmuka halaman tampil data

62

433 Halaman proses

Pada halaman proses akan menampilkan hasil clustering fuzzifikasi dan fuzzy logical relationship Pada tampilan halaman clustering akan menampilkan Universe of Discourse curah hujan suhu kelembaban dan kecepatan angin Selanjutnya tampilan dibawahnya akan menampilkan jumlah cluster dari setiap faktor yaitu jumlah cluster curah hujan suhu kelembaban dan kecepatan angin Berikut merupakan tampilan perancangan halaman proses clustering yang ditunjukkan Gambar 425

Selanjutnya pada tampilan proses fuzzifikasi akan menampilkan tabel hasil fuzzifikasi dari curah hujan suhu kelembaban dan kecepatan angin Berikut adalah tampilan rancangan proses fuzzifikasi yang ditunjukkan pada Gambar 426

Gambar 425 Rancangan antarmuka halaman proses clustering

Gambar 426 Rancangan antarmuka proses fuzzifikasi

63

Pada tampilan proses fuzzy logical relationship (FLR) akan menampilkan textarea berisi hasil proses FLR dari curah hujan suhu kelembaban dan kecepatan angin Berikut adalah tampilan rancangan proses fuzzy logical relationship yang ditunjukkan pada Gambar 427

434 Halaman hasil

Pada halaman hasil peramalan akan menampilkan tabel yang berisi hasil peramalan curah hujan dan data curah hujan yang sebenarnya Serta terdapat text link yang akan menampilkan grafik perbandingan data hasil peramalan dan data yang sebenarnya Berikut adalah tampilan rancangan halaman hasil yang ditunjukkan pada Gambar 428

Gambar 427 Rancangan antarmuka proses fuzzy logical relationship

Gambar 428 Rancangan antarmuka halaman hasil peramalan

64

435 Halaman perhitungan error

Pada halaman perhitungan error akan menampilkan nilai dari hasil perhitungan Mean Square Error (MSE) pada textfield Berikut adalah tampilan rancangan halaman perhitungan error yang ditunjukkan pada Gambar 429

44 Perancangan pengujian

Pada penelitian ini akan dilakukan empat pengujian yaitu pengujian terhadap nilai order nilai threshold pengujian terhadap jumlah data training untuk mengetahui pengaruhnya terhadap nilai Mean Square Error (MSE) dan pengujian validasi sistem untuk mengetahui kestabilan hasil implementasi

441 Perancangan pengaruh order terhadap nilai MSE

Order merupakan jumlah urutan data yang digunakan dalam pembentukkan Fuzzy Logical Relationship (FLR) Pada pengujian ini dilakukan percobaan dengan order yang berbeda ndash beda Pengujian ini bertujuan untuk mengetahui pengaruh order terhadap hasil peramalan Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Pada setiap pengujian yang telah dilakukan dihitung nilai MSEnya untuk mengetahui tingkat kesalahan metode ini apabila dilakukan dengan order yang berbeda Berikut adalah perancangan pengujian order terhadap nilai MSE ditunjukkan pada Tabel 421

Tabel 421 Rancangan pengujian order terhadap nilai MSE

No Order Threshold MSE

1

Gambar 429 Rancangan antarmuka halaman perhitungan error

65

442 Perancangan pengaruh threshold terhadap nilai MSE

Nilai threshold bergantung jumlah order karena untuk nilai threshold merupakan dari hasil mengalikan jumlah faktor yang mempengaruhi dengan order selanjutnya dijumlah dengan sebuah konstanta Pada pengujian ini dilakukan percobaan dengan konstanta yang berbeda ndash beda sehingga menghasilkan threshold yang berbeda pula Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Dari setiap percobaan yang telah dilakukan dihitung nilai MSEnya untuk mengetahui tingkat kesalahan metode ini apabila dilakukan dengan konstanta dan threshold yang berbeda Berikut merupakan rancangan pengujian pengaruh threshold terhadap nilai MSE yang ditunjukkan pada Tabel 422

Tabel 422 Rancangan pengujian threshold terhadap nilai MSE

No Konstanta Threshold MSE

1

443 Perancangan pengaruh jumlah data training terhadap nilai MSE

Data training sangat berperan penting dalam proses defuzzifikasi sehingga pada penelitian ini dilakukan pengujian pengaruh jumlah data training terhadap tingkat kesalahan dari hasil peramalan Pada pengujian ini dilakukan percobaan dengan jumlah data training yang berbeda ndash beda Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Dari setiap percobaan dilakukan perhitungan nilai MSE untuk mengetahui tingkat kesalahan dari hasil peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors dengan jumlah data training yang berbeda ndash beda Sehingga dari hasil pengujian ini dapat diketahui pengaruh dari jumlah data training Berikut merupakan rancangan pengujian pengaruh jumlah data training yang ditunjukkan pada Tabel 423

Tabel 423 Rancangan pengujian jumlah data training terhadap nilai MSE

No Jumlah Data Training MSE

1

444 Perancangan validasi sistem

Pada pengujian validasi sistem akan melakukan pengujian dengan menggunakan order threshold terbaik seperti yang telah dilakukan pada

66

pengujian ndash pengujian sebelumnya yang menghasilkan hasil error MSE terendah Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Berikut merupakan rancangan pengujian validasi sistem yang ditunjukkan pada Tabel 424

Tabel 424 Rancangan pengujian validasi sistem

Percobaan ke- MSE

1

67

BAB 5 IMPLEMENTASI

Pada bab ini berisi pembahasan hasil implementasi metode High Order Fuzzy Time Series Multi Factors yang sesuai dengan bab sebelumnya yaitu perancangan Bab ini terdiri dari spesifikasi sistem implementasi algoritma dan implementasi antarmuka

51 Spesifikasi Sistem

Pada spesifikasi sistem ini dibagi mejadi dua yaitu spesifikasi perangkat keras dan spesifikasi perangkat lunak

511 Spesifikasi Perangkat Keras

Spesifikasi perangkat keras merupakan perangkat keras yang digunakan pada implementasi penelitian ini Perangkat keras yang digunakan adalah laptop dengan spesifikasi sesuai dengan pada Tabel 51 berikut

Tabel 51 Spesifikasi Perangkat Keras

Komponen Spesifikasi

Processor Intelcopy Core i3-3217U 180 GHz

Memori (RAM) 8 GB RAM

Harddisk 500 GB RAM

512 Spesifikasi Perangkat Lunak

Spesifikasi perangkat lunak merupakan perangkat lunak yang digunakan pada implementasi penelitian ini Perangkat lunak yang digunakan pada implementasi penelitian sesuai dengan yang ditunjukkan pada Tabel 52 berikut

Tabel 52 Spesifikasi Perangkat Lunak

Sistem Operasi Microsoft Windows 7 (64 bit)

Bahasa Pemrograman Java

Tools Pemrograman Netbeans 81

Data Microsoft Excel 2013

52 Implementasi Algoritma

Pada implementasi algoritma ini membahas mengenai hasil implementasi algoritma metode High Order Fuzzy Time Series Multi Factors yang mengacu pada bab sebelumnya yaitu perancangan Dalam penelitian ini implementasi algoritma menggunakan bahasa pemrograman java berbasis desktop Implementasi algoritma terdiri dari beberapa method sesuai dengan langkah ndash langkah pada algoritma metode High Order Fuzzy Time Series Multi Factors

68

521 Implementasi Proses Universe of Discourse

Pada implementasi Universe of Discourse seperti yang ditunjukkan Kode Program 51 dimana pada source code method Universe_of_Discourse baris 3 - 5 terdapat pemanggilan method mean standar_deviasi dan Min_dan_Max Dimana pemanggilan method tersebut dibutuhkan untuk melakukan proses perhitungan selanjutnya yaitu untuk menghitung batas bawah dan batas atas dari Univers of Discourse Baris 7-10 untuk menghitung hasil Universe of Discourse Berikut merupakan source code dari proses Universe of Discourse yang ditunjukkan pada Kode Program 51

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

private void Universe_of_Discourse()

mean()

standar_deviasi()

Min_dan_Max()

hsl_uMin = new double[jmlh_Faktor]

hsl_uMax = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

hsl_uMin[i] = hsl_min[i] - hsl_stdev[i]

hsl_uMax[i] = hsl_max[i] + hsl_stdev[i]

Kode Program 51 Implementasi proses Universe of Discourse

5211 Implementasi proses mean

Pada implementasi proses mean merupakan proses perhitungan nilai rata ndash rata dari setiap faktor yang nantinya hasilnya diperlukan untuk proses perhitungan standar deviasi Berikut merupakan source code dari proses mean yang ditunjukkan pada Kode Program 52 Perhitungan utama proses mean terdapat pada baris 3 ndash 8

Baris Kode

1 2 3 4 5 6 7 8 9

private void mean()

hsl_mean = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double tmp_jmlh = 0

for (int j = 0 j lt jmlh_DataTraining j++)

tmp_jmlh = tmp_jmlh + data[i][j]

hsl_mean[i] = (tmp_jmlh jmlh_DataTraining)

Kode Program 52 Implementasi proses mean

5212 Implementasi proses standar deviasi

Pada implementasi proses perhitungan standar deviasi merupakan akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel Standar deviasi dapat dilakukan perhitungan setelah mendapat nilai hasil dari perhitungan mean Berikut merupakan source code dari implementasi proses standar deviasi yang ditunjukkan pada Kode Program 53 Perhitungan utama proses standar deviasi terdapat pada baris 3 ndash 9

69

Baris Kode

1 2 3 4 5 6 7 8 9 10 11

private void standar_deviasi()

hsl_stdev = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double result = 0

for (int j = 0 j lt jmlh_DataTraining j++)

result = result + (Mathpow((data[i][j] ndash

hsl_mean[i]) 2))

hsl_stdev[i]=Mathsqrt(result(jmlh_DataTraining-

1))

Kode Program 53 Implementasi proses standar deviasi

5213 Implementasi proses Dmin dan Dmax

Pada implementasi proses Dmin dan Dmax merukan untuk mencari nilai minimum dan nilai maksimum dari data sampel untuk setiap faktor Berikut merupakan source code dari implementasi dari proses Dmin dan Dmax yang ditunjukkan pada Kode Program 54 Pada baris 8 ndash 10 merupakan bagian dari proses untuk untuk menentukan nilai data terbesar Selanjutnya pada baris 11 ndash 13 untuk menentukan nilai data terkecil

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

19

private void Min_dan_Max()

hsl_max = new double[jmlh_Faktor]

hsl_min = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double besar = data[i][0]

double kecil = data[i][0]

for (int j = 0 j lt jmlh_DataTraining j++)

if (data[i][j] gt besar)

besar = data[i][j]

if (data[i][j] lt kecil)

kecil = data[i][j]

hsl_max[i] = besar

hsl_min[i] = kecil

Kode Program 54 Implementasi proses Dmin dan Dmax

522 Implementasi Proses Jumlah Cluster

Pada implementasi proses jumlah cluster merupakan proses perhitungan jumlah cluster dari setiap faktor Implementasi ini dapat dilakukan apabila sudah mendapatkan hasil output dari method Min_dan_Max() sudah didapatkan Berikut merupakan source code dari implementasi proses jumlah cluster yang ditunjukkan pada Kode Program 55 Pada baris 3 ndash 7 untuk digunakan untuk menghitung selisih data sampel setiap baris dari semua faktor pada data sampel ke t dengan t+1 Selanjutnya pada baris 9 ndash 10 untuk menghitung jumlah cluster dari setiap faktor

70

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

12

13

private void jumlah_Cluster()

jmlh_Cluster = new int[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double selisih = 0

for (int j = 0 j lt (jmlh_DataTraining - 1) j++)

selisih = selisih + (Mathabs((data[i][j]

- data[i][(j + 1)])))

jmlh_Cluster[i] = (int) Mathround((Mathabs(

hsl_min[i]-hsl_max[i]))(selisih(jmlh_DataTraining

-1)))

Kode Program 55 Implementasi proses jumlah cluster

523 Implementasi Proses Pusat Cluster

Implementasi proses perhitungan pusat cluster ini menggunakan metode fuzzy C-means untuk mendapatkan pusat cluster yang nantinya digunkan sebagai subinterval Implementasi ini memerlukan hasil dari proses method jumlah_Cluster() agar dapat melakukan perhitungan subinterval Berikut merupakan source code dari implementasi proses subinterval yang ditunjukkan pada Kode Program 56 Pada Kode Program 56 hanya menampilkan source code pembentukan subinterval pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 2 ndash 3 merupakan deklarasi variabel bobot iterasi maksimum selisih fungsi objektif awal dan error minimum Pada baris 8 ndash 20 merupakan proses pembentukan matriks partisi dengan nilai random 0 sampai 1 Pada baris 22 ndash 26 merupakan proses normalisasi matriks partisi yang telah terbentuk Pada baris 28 ndash 63 merupakan proses untuk menentukan pusat cluster Pada baris 65 ndash 86 merupakan proses perhitungan fungsi objektif dari iterasi Pada baris 88 ndash 90 merupakan proses perhitungan selisih fungsi objektif Pada baris 92 ndash 108 adalah proses perbaikan matriks partisi Pada baris 110 ndash 115 adalah proses hasil perbaikan matriks partisi Pada baris 116 - 133 adalah proses dengan pengkondisian apakah selisih fungsi objektif lebih kecil dari error minimum serta apabila memenuhi kondisi maka dilanjutkan ke proses pengurutan pusat cluster secara ascending dari hasil iterasi terakhir dan proses pengkondisian iterasi berhenti

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

private void pusat_cluster()

int bobot = 2int iter_maksimum = 100

double selisih_f_objektif = 0double error_min = 001

for (int i = 0 i lt jmlh_Faktor i++)

faktor A

if (i == 0)

Pembentukkan matriks partisi

tmp_Matriks1=new

double[jmlh_Cluster[i]][jmlh_DataTraining]

q1 = new double[jmlh_Cluster[i]]

double jmlh_q1

for (int j = 0 j lt jmlh_Cluster[i] j++)

jmlh_q1 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

71

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

double random = ThreadLocalRandomcurrent()

nextDouble(01 1)

tmp_Matriks1[j][k] = random

jmlh_q1 = jmlh_q1 + random

q1[j] = jmlh_q1

normalisasi matriks

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k] q1[j]

Perhitungan pusat cluster

for (int iter = 0 iter lt iter_maksimum iter++)

selisih_f_objektif = 0

jumA1 = new double[iter_maksimum][jmlh_Cluster[i]]

jumA2 = new double[iter_maksimum][jmlh_Cluster[i]]

miu_Matriks1 = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

XV_Matriks1 = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

pusat_cluster1 = new double[jmlh_Cluster[i]]

double hitung_jum1

double hitung_jum2

for (int j = 0 j lt jmlh_Cluster[i] j++)

hitung_jum1 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow(tmp_Matriks1

[j][k]bobot)

miu_Matriks1[j][k] = tmp_Matriks1[j][k]

hitung_jum1 = hitung_jum1 + tmp_Matriks1

[j][k]

jumA1[iter][j] = hitung_jum1

for (int j = 0 j lt jmlh_Cluster[i] j++)

hitung_jum2 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k]

data[i][k]

hitung_jum2 = hitung_jum2 +

tmp_Matriks1[j][k]

jumA2[iter][j] = hitung_jum2

for (int j = 0 j lt jmlh_Cluster[i] j++)

pusat_cluster1[j] = jumA2[iter][j]

jumA1[iter][j]

perhitungan fungsi objektif

jumA3 = new double[iter_maksimum][jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

double hitung_jum3 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow((data[i][k]

ndash pusat_cluster1[j])

bobot)

XV_Matriks1[j][k] = tmp_Matriks1[j][k]

tmp_Matriks1[j][k] = XV_Matriks1[j][k]

miu_Matriks1[j][k]

hitung_jum3 = hitung_jum3 +

tmp_Matriks1[j][k]

jumA3[iter][j] = hitung_jum3

72

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

double jmlh_f_objektif = 0

for (int j = 0 j lt jmlh_Cluster[i] j++)

jmlh_f_objektif = jmlh_f_objektif

+jumA3[iter][j]

if (iter lt (iter_maksimum - 1))

f_objektif1[iter + 1] = jmlh_f_objektif

perhitungan selisih fungsi objektif

selisih_f_objektif = f_objektif1[iter + 1]

-f_objektif1[iter]

perbaikan matriks partisi

int hitung = bobot - 1int pangkat = -1 hitung

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow(XV_Matriks1

[j][k] pangkat)

jumA4 = new

double[iter_maksimum][jmlh_DataTraining]

for (int j = 0 j lt jmlh_DataTraining j++)

double hitung_jum4 = 0

for (int k = 0 k lt jmlh_Cluster[i] k++)

hitung_jum4 = hitung_jum4 +

tmp_Matriks1[k][j]

jumA4[iter][j] = hitung_jum4

hasil perbaikan matriks

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k]

jumA4[iter][k]

if (selisih_f_objektif lt error_min)

pengurutan ascending pusat cluster

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 kltjmlh_Cluster[i]k++)

if (k lt (jmlh_Cluster[i] - 1))

if (pusat_cluster1[k] gt

pusat_cluster1[k + 1])

double tmp =

pusat_cluster1[k]

pusat_cluster1[k]=

pusat_cluster1[k+1]

pusat_cluster1[k+1] = tmp

iter = iter_maksimum

Kode Program 56 Implementasi proses pusat cluster

524 Implementasi Proses Pembentukan Subinterval dan Fuzzy Set

Pada implementasi proses pembentukan suinterval dan fuzzy set memiliki dua proses yaitu proses menentukan batas subinterval minumum serta maksimum dan proses menentukan batas fuzzy set minimum serta maksimum

73

Proses pembentukan fuzzy dapat menjalankan prosesnya setelah method subinterval() telah diakses Berikut merupakan source code proses pembentukan fuzzy set yang ditunjukkan pada Kode Program 57 Pada Kode Program 57 hanya menampilkan source code pembentukan fuzzy set pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 6 ndash 29 merupakan proses pembentukan batas minimum dan batas maksimum subinterval Pada baris 31 ndash 54 merupakan pembentukan batas minimum dan batas maksimum fuzzy set

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

private void subinterval_dan_fuzzy_set()

for (int i = 0 i lt jmlh_Faktor i++)

faktor A

if (i == 0)

batas subinterval

batas_subintervalMinA = new double[jmlh_Cluster[i]]

batas_subintervalMaxA = new double[jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

if (j == 0)

batas_subintervalMinA[j] = hsl_uMin[i]

batas_subintervalMaxA[j]=(pusat_cluster1[j]

+pusat_cluster1[j+

1])2

else if (j == (jmlh_Cluster[i] - 1))

batas_subintervalMinA[j]=

(pusat_cluster1[j-1] +pusat_cluster1

[j])2

batas_subintervalMaxA[j]=

hsl_uMax[i]

else if ((0 lt j) ampamp (j lt (jmlh_Cluster[i] -

1)))

batas_subintervalMinA[j]=

(pusat_cluster1[j-1]+

pusat_cluster1[j])2

batas_subintervalMaxA[j]=

(pusat_cluster1[j]+

pusat_cluster1[j+1)2

batas fuzzy set

batas_fuzzysetMinA = new double[jmlh_Cluster[i]]

batas_fuzzysetMaxA = new double[jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

if (j == 0)

batas_fuzzysetMinA[j]=

batas_subintervalMinA[j]

batas_fuzzysetMaxA[j]=

(batas_subintervalMinA[j+1]

+batas_subintervalMaxA[j + 1])2

else if (j == (jmlh_Cluster[i] - 1))

batas_fuzzysetMinA[j]=

(batas_subintervalMinA[j-1]

+batas_subintervalMaxA[j - 1])2

batas_fuzzysetMaxA[j] =

batas_subintervalMaxA[j]

else if ((0 lt j) ampamp (jlt(jmlh_Cluster[i]-1)))

batas_fuzzysetMinA[j]=

(batas_subintervalMinA[j-1]+

batas_subintervalMaxA[j-1])2

batas_fuzzysetMaxA[j]=

74

51

52

53

54

55

56

(batas_subintervalMinA[j+1]+

batas_subintervalMaxA[j + 1])2

Kode Program 57 Implementasi pembentukan subinterval dan fuzzy set

525 Implementasi proses fuzzifikasi

Pada Implementasi proses fuzzifikasi memiliki dua proses utama yaitu menentukan derajat keanggotaan dan proses fuzzifikasi Dalam proses ini method fuzzy_set() harus dieksekusi terlebih dahulu karena implementasi proses ini memerlukan output dari method tersebut Berikut merupakan source code fuzzifikasi ditunjukkan pada Kode Program 58 Pada Kode Program 58 hanya menampilkan source code pembentukan fuzzy set pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 3 ndash 81 merupakan proses perhitungan derajat keanggotaan Pada baris 83 ndash 94 adalah proses penentuan fuzzifikasi

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

private void fuzzifikasi()

if (i == 0)

hitung_fuzzifikasiA = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

if(j == 0)

if((data[i][k]gtbatas_fuzzysetMinA[j])ampamp

(data[i][k]lt batas_fuzzysetMinA[j + 1]))

hitung_fuzzifikasiA[j][k] = 1

if ((data[i][k] gt batas_fuzzysetMinA[j + 1])

ampamp (data[i][k] lt batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k]=

(batas_fuzzysetMaxA[j] - data[i][k])

(batas_fuzzysetMaxA[j] ndash

batas_fuzzysetMinA[j + 1])

if ((data[i][k] gt batas_fuzzysetMinA[j]) ampamp

(data[i][k] lt batas_fuzzysetMinA[j + 1])

ampamp(data[i][k] gt batas_fuzzysetMinA[j+1])

ampamp(data[i][k] lt batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k] = 0

else if (j == (jmlh_Cluster[i] - 1))

if((data[i][k] gt batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]))

hitung_fuzzifikasiA[j][k]=

(data[i][k]-batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)])

(batas_fuzzysetMaxA[(jmlh_Cluster[i]ndash

2)]-batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)])

if((data[i][k] gt batas_fuzzysetMaxA

75

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

[(jmlh_Cluster[i]- 2)]) ampamp (data[i][k]

lt batas_fuzzysetMaxA[(jmlh_Cluster[i]

- 1)]))

hitung_fuzzifikasiA[j][k] = 1

if ((data[i][k] gt batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]) ampamp

(data[i][k] gt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 1)]))

hitung_fuzzifikasiA[j][k] = 0

else if ((0 lt j)ampamp(j lt (jmlh_Cluster[i] - 1)))

if ((data[i][k] gt batas_fuzzysetMinA[j])

ampamp (data[i][k] lt batas_fuzzysetMinA[j

+1]))

hitung_fuzzifikasiA[j][k]=

(data[i][k]-batas_fuzzysetMinA[j])

(batas_fuzzysetMinA[j + 1]-

batas_fuzzysetMinA[j])

if ((data[i][k] gt batas_fuzzysetMinA

[j+1])ampamp (data[i][k] lt

batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k]=

(batas_fuzzysetMaxA[j]-data[i][k])

(batas_fuzzysetMaxA[j]-

batas_fuzzysetMinA[j + 1])

if ((data[i][k] gt batas_fuzzysetMinA[j])

ampamp (data[i][k] lt batas_fuzzysetMinA

[j + 1]) ampamp (data[i][k] gt

batas_fuzzysetMinA[j + 1]) ampamp

(data[i][k]ltbatas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k] = 0

hasil_fuzzifikasiA = new int[jmlh_DataTraining]

for (int j = 0 j lt jmlh_DataTraining j++)

int cluster = 0

double besar=hitung_fuzzifikasiA[0][j]

for (int k = 0 k lt jmlh_Cluster[i] k++)

if (besar lt hitung_fuzzifikasiA[k][j])

besar = hitung_fuzzifikasiA[k][j]

cluster = k

hasil_fuzzifikasiA[j] = cluster + 1

Kode Program 58 Implementasi proses fuzzifikasi

526 Implementasi Pembentukan Fuzzy Logical Relationship

Pada implementasi pembentukan Fuzzy Logical Relationship (FLR) memiliki dua output yaitu FLR_kiri dan FLR_kanan Dimana FLR_kiri berisi group dari kelima faktor dan pada FLR_kanan merupakan dari faktor yang akan diramalkan yaitu

76

faktor curah hujan (A) Berdasarkan dari perancangan proses pada bab sebelumnya maka implementasi source code pembentukan Fuzzy Logical Relationship (FLR) dapat ditunjukkan pada Kode Program 59 berikut Pada baris 3 ndash 14 merupakan deklarasi variabel Pada baris 15 ndash 55 adalah proses pembentukan fuzzy logical relationship data training Pada baris 56 ndash 58 merupakan deklarasi variabel Pada baris 59 ndash 86 adalah proses pembentukan fuzzy logical relationship data testing

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

Fuzzy Logical Relationship

private void fuzzy_logical_relationship()

String input_order = fieldOrdergetText()

order = IntegerparseInt(input_order)

int max_inc = order

String input_dataTraining = fieldDatatraininggetText()

int dataTraining = IntegervalueOf(input_dataTraining)

int tmp_jmlhDatatraining = 0

int tmp_order = 0

int jmlh_dataTraining = dataTraining - order

String input_dataTesting = fieldDatatestinggetText()

int jmlh_dataTesting = IntegervalueOf(input_dataTesting)

FLR_kiri_training = new

int[jmlh_DataTraining][order][jmlh_Faktor]

FLR_kanan_training = new int[jmlh_DataTraining]

for (int i = 0 i lt jmlh_dataTraining i++)

for (int j = i j lt max_inc j++)

for (int k = 0 k lt jmlh_Faktor k++)

if (j == 0)

if (k == 0)

FLR_kiri_training[i][j][k]=

hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiD[j]

else if (j = 0)

if (k == 0)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiD[j]

tmp_order = j

FLR_kanan_training[i] = hasil_fuzzifikasiA[(i + order)]

if (max_inc lt (jmlh_DataTraining - 1))

max_inc = max_inc + 1

77

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

tmp_jmlhDatatraining = i

FLR_kiri_testing = new

int[jmlh_DataTraining][order][jmlh_Faktor]

FLR_kanan_testing = new int[(jmlh_DataTraining)]

tmp_jmlhDatatraining = tmp_jmlhDatatraining + 1

for (int i = 0 i lt jmlh_dataTesting i++)

for (int j = tmp_jmlhDatatraining j lt max_inc j++)

for (int k = 0 k lt jmlh_Faktor k++)

if (k == 0)

FLR_kiri_testing[i][j - tmp_jmlhDatatraining][k]

= hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiD[j]

FLR_kanan_testing[i] =

hasil_fuzzifikasiA[(tmp_jmlhDatatraining + order)]

if (max_inc lt (jmlh_DataTraining - 1))

max_inc = max_inc + 1

tmp_jmlhDatatraining++

Kode Program 59 Implementasi pembentukan FLR

527 Implementasi Proses Defuzzifikasi

Pada implementasi proses defuzzifikasi merupakan proses dimana menentukan hasil peramalan dari data testing berdasarkan dari bilangan fuzzy yang terbentuk Implementasi ini memiliki beberapa inputan penting yaitu data training data testing order dan konstanta Inputan tersebut sangat berperan penting dalam proses implementasi defuzzifikasi Berdasarkan dari perancangan proses pada bab sebelumnya maka implementasi source code defuzzifikasi dapat ditunjukkan pada Kode Program 510 berikut Pada baris 2 ndash 11 merupakan deklarasi variabel Pada baris 13 ndash 37 merupakan proses perhitungan selisih antara data training dengan data testing Pada baris 40 ndash 47 menghitung jumlah FLR yang cocok Pada baris 49 ndash 65 merupakan proses mencocokan FLR kiri yang cocok dengan FLR kanan Pada baris 67 ndash 81 merupakan proses menghitung jumlah frekuensi FLR kanan yang cocok Pada baris 83 ndash 91 adalah proses perhitungan hasil peramalan

Baris Kode 1

2

3

4

private void defuzifikasi()

String input_dataTraining = fieldDatatraininggetText()

String input_dataTesting = fieldDatatestinggetText()

String input_konstanta = fieldKonstantagetText()

78

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

int dataTraining = IntegervalueOf(input_dataTraining)

int dataTesting = IntegervalueOf(input_dataTesting)

int konstanta = IntegervalueOf(input_konstanta)

int match[][]

match = new int[dataTesting][2000]

int threshold = (jmlh_Faktor order) + konstanta

int hitung_selisih = 0

perhitungan selisih

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt (dataTraining + i) j++)

hitung_selisih = 0

for (int k = 0 k lt order k++)

for (int l = 0 l lt jmlh_Faktor l++)

if (i == 0)

hitung_selisih = hitung_selisih +

(Mathabs(FLR_kiri_training[j][k][l] ndash

FLR_kiri_testing[i][k][l]))

else if (i gt 0)

FLR_kiri_training[(dataTraining-

1)+i][k][l] = FLR_kiri_testing[i-

1][k][l]

FLR_kanan_training[(dataTraining-1)+i]

= FLR_kanan_testing[i-1]

hitung_selisih = hitung_selisih +

(Mathabs(FLR_kiri_training[j][k][l] ndash

FLR_kiri_testing[i][k][l]))

if (hitung_selisih lt threshold)

match[i][j] = hitung_selisih

menghitung jumlah total FLR yang cocok untuk setiap data

testing

int countGroup[] = new int[dataTesting]

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt (dataTraining + i) j++)

if (match[i][j] gt 0)

countGroup[i]++

mencocokan FLR_kiri yang cocok dengan FLR_kanan

group = new int[dataTesting][2000]

for (int i = 0 i lt dataTesting i++)

int tmp_count = 0

for (int j = 0 j lt (dataTraining + i) j++)

if (match[i][j] gt 0)

if (tmp_count lt countGroup[i])

group[i][tmp_count] = j

tmp_count++

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt countGroup[i] j++)

group[i][j] = FLR_kanan[group[i][j]]

mengelompokkan yang sama

MapltInteger Integergt map = new HashMapltInteger Integergt()

hasil_peramalan = new double[dataTesting]

for (int i = 0 i lt dataTesting i++)

79

70

71

72

73

74

75 76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

double peramalan = 0

mapclear()

for (int j = 0 j lt countGroup[i] j++)

int key = group[i][j]

if (mapcontainsKey(key))

int occurrence = mapget(key)

occurrence++

mapput(key occurrence)

else

mapput(key 1)

menghitung hasil peramlaan

Iterator iterator = mapkeySet()iterator()

while (iteratorhasNext())

int key = (Integer) iteratornext()

int occurrence = mapget(key)

peramalan = (peramalan + (pusat_cluster1[(key - 1)]

occurrence))

hasil_peramalan[i] = (peramalan countGroup[i])

Kode Program 510 Implementasi proses defuzzifikasi

53 Implementasi Antarmuka

Pada implementasi antarmuka dijelaskan beberapa halaman antarmuka untuk penggunaan dari program hasil implementasi Implementasi antarmuka berdasarkan perancangan yang telah dijelasakan pada bab sebelumnya yaitu bab perancangan Halaman antarmuka yang dibuat adalah halaman input halaman tampil data halaman proses halaman hasil dan halaman perhitungan error

531 Implementasi antarmuka halaman input

Halaman input merupakan halaman yang pertama muncul setelah program dijalankan Pada halaman input ini terdapat beberapa inputan yang harus di masukkan yaitu data input data training data testing order dan konstanta Selain itu pada halaman input juga terdapat tiga button yaitu button browse data button fuzzification dan button forecasting Berikut tampilan antarmuka halaman input yang ditunjukkan pada Gambar 51

Gambar 51 Implementasi antarmuka halaman input

80

532 Implementasi antarmuka halaman tampil data

Halaman tampil data merupakan halaman yang tampil setelah melakukan input data Halaman ini berisi tabel yang menampilkan data curah hujan suhu kecepatan angin dan kelembaban Berikut tampilan antarmuka halaman tampil data yang ditunjukkan pada Gambar 52

533 Implementasi antarmuka halaman proses

Halaman proses merupakan halaman yang muncul setelah button fuzzification telah dieksekusi Halaman proses ini terdiri dari tiga bagian atau tab yaitu clustering fuzzification dan Fuzzy logical relationship Pada halaman antarmuka clustering menampilkan Universe of Discourse dan jumlah cluster pada masing ndash masing faktor Berikut merupakan tampilan antarmuka halaman proses bagian clustering yang ditunjukkan pada Gambar 53

Gambar 52 Implementasi antarmuka halaman tampil data

Gambar 53 Implementasi antarmuka halaman proses clustering

81

Pada tab selanjutnya yaitu pada tab fuzzification tab ini menampilkan hasil proses fuzzifikasi Pada halaman ini menampilkan tabel yang berisi hasil fuzzifikasi dari setiap faktor Berikut merupakan tampilan antarmuka halaman proses bagian fuzzification yang ditunjukkan pada Gambar 54

Pada tab Fuzzy Logical Relationship menampilakn hasil dari proses pembentukan Fuzzy Logical Relationship Tampilan pada halaman ini menampilkan berupa textarea yang berisi dari output proses tersebut Berikut merupakan tampilan antarmuka halaman proses bagian Fuzzy Logical Relationship yang ditunjukkan pada Gambar 55

Gambar 54 Implementasi antarmuka halaman proses fuzzification

Gambar 55 Implementasi halaman antarmuka proses FLR

82

534 Implementasi antarmuka halaman hasil

Pada implementasi antarmuka halaman hasil ini merupakan halaman yang menampilkan hasil dari proses defuzzifikasi Halaman hasil ini menampilkan tabel yang berisi data aktual dan data dari hasil peramlan Berikut merupakan tampilan antarmuka halaman hasil yang ditunjukkan pada Gambar 56

535 Implementasi antarmuka halaman perhitungan error

Pada implementasi antarmuka halaman perhitungan error merupakan halaman yang menampilkan hasil dari proses perhitungan Mean Square Error (MSE) Pada halaman antarmuka ini menampilkan hasil error MSE pada textfield Berikut merupakan tampilan antarmuka halaman perhitungan error yang ditunjukkan pada Gambar 57

Gambar 56 Implementasi halaman antarmuka hasil

Gambar 57 Implementasi halaman antarmuka perhitungan error

83

BAB 6 PENGUJIAN DAN ANALISIS

Pada bab ini membahas hasil pengujian dan analisis hasil pengujian dari hasil implementasi metode High Order Fuzzy Time Series Multi factors untuk peramalan curah hujan dasarian Pada pengujian ini disesuaikan dengan perancangan pengujian pada bab 4

61 Sistematika Pengujian

Pada bab sebelumnya yaitu bab 4 mengenai perancangan telah dibahas perancangan pengujian dikatakan bahwa pengujian akan dilakukan sebanyak empat pengujian Pengujian order pengujian threshold pengujian jumlah data training dan pengujian validasi sistem Dari semua pengujian tersebut akan di uji dan di analisis bagaimana pengaruhnya terhadap hasil perhitungan Mean Square Error (MSE)

62 Hasil dan Analisis Pembahasan

Berikut hasil pengujian dan analisis yang disesuaikan dengan perancangan pengujian pada bab sebelumnya

621 Pengujian pengaruh order terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh order terhadap nilai MSE Order merupakan urutan jumlah dari data time series pada periode waktu t yang mempengaruhi nilai data Jadi jika nilai order adalah 3 maka peramalan akan melibatkan 3 data sebelumnya pada proses pembentukan Fuzzy Logical Relationship (FLR) Pada pengujian ini hanya nilai order yang diubah ndash ubah sedangkan variabel lain akan dibuat tetap Pengujian akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai variabel jumlah data training adalah 72 yaitu dari data Januari 2014 dasarian 1 sampai Desember 2015 dasarian 3 nilai data testing adalah 36 yaitu dasarian 1 Januari 2016 sampai dasarian 3 Desember 2016 konstanta adalah 10 Nilai threshold diperoleh dari perhitungan jumlah faktor dikali order dan dijumlah nilai konstanta Berikut adalah hasil pengujian pengaruh order terhadap nilai MSE yang ditunjukkan pada Tabel 61

Tabel 61 Hasil pengujian order terhadap nilai MSE

No Order Threshold MSE

1 3 22 808585

2 6 34 965547

3 9 46 912631

4 12 58 875884

5 15 70 719284

6 18 82 6801207

7 21 94 5637184

8 24 106 5444184

9 27 118 5433631

10 30 130 5418393

84

Dari hasil pengujian order seperti yang telah ditunjukkan pada Tabel 61 maka pada percobaan pertama dengan order = 3 dan threshold 22 dapat diperoleh MSE sebesar 808585 Selanjutnya pada percobaan kedua dengan order = 6 dan threshold = 34 diperoleh MSE sebesar 965547 Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 61

Berdasarkan Gambar 61 order yang berbeda - beda mempengaruhi besar nilai MSE Dalam penelitian ini menentukan order memiliki ketentuan yaitu nilai order harus lebih dari 0 dan batas maksimal order adalah setengah dari nilai data training (LinYang 2009) Nilai MSE terbesar yang ditunjukkan pada pengujian ini adalah 965547 pada pengujian order 6 dan nilai MSE terkecil adalah 5418393 pada pengujian order 30 Pada Gambar 61 menunjukkan bahwa pada order 3 ke order 6 mengalami peningkatan nilai MSE selanjutnya pada order 6 hingga order 30 mengalami penurunan Pada order 3 memiliki nilai MSE lebih kecil dari order 6 order 9 dan order 12 karena memiliki lebih banyak hasil selisih tingkat kecocokan data time series yang tidak terlalu besar dan kurang dari threshold Selain itu karena data time series dari data sampel yang diperoleh memiliki pola data musiman dimana perubahan pola data dasarian tidak terlalu banyak berubah dari tahun ke tahun Selanjutnya pada order 6 hingga order 30 menunjukkan penurunan nilai MSE dan order terbesar memiliki nilai MSE terkecil sehingga dapat disumpulkan bahwa semakin besar order maka semakin kecil pula nilai MSE Dalam hal ini dengan semakin besarnya order maka data sebelumnya yang digunakan untuk pertimbangan dalam menentukan peramalan semakin banyak Sehingga semakin besar nilai order maka dapat membuat peramalan semakin akurat Dalam pengujian ini memimiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoImplementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emasrdquo yang menyatakan bahwa semakin besar nilai order maka semakin kecil nilai kesalahannya (Wardhani et al 2015)

Gambar 61 Grafik hasil pengujian order terhadap nilai MSE

85

622 Pengujian pengaruh threshold terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh threshold terhadap nilai MSE Threshold merupakan hasil dari mengalikan jumlah order dengan jumlah faktor pada data kemudian dijumlahkan dengan dengan nilai konstanta Pada proses defuzzifikasi terdapat proses menghitung selisih antara pangkat bawah Fuzzy Logical Relationship (FLR) data training dan pangkat bawah FLR data testing Selanjutnya setelah mendapatkan nilai selisih maka nilai selisih tersebut dibandingkan dengan nilai threshold untuk mencari FLR yang cocok Pada pengujian ini nilai konstanta saja yang diubah ndash ubah sementara variabel lainnya tetap Pengujian akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai variabel jumlah data training adalah 72 yaitu dari data Januari 2014 dasarian 1 sampai Desember 2015 dasarian 3 nilai data testing adalah 36 yaitu dasarian 1 Januari 2016 sampai dasarian 3 Desember 2016 dan Nilai order adalah 30 Pada penentuan input konstanta nilai minimal harus lebih besar dari 0 dan nilai maksimal menyesuaikan data sampel yang digunakan (LinYang 2009) Berikut adalah hasil pengujian pengaruh threshold terhadap nilai MSE yang ditunjukkan pada Tabel 62

Tabel 62 Hasil pengujian threshold terhadap nilai MSE

No Konstanta Threshold MSE

1 10 130 558485

2 20 140 577498

3 30 150 597364

4 40 160 604660

5 50 170 646951

6 60 180 680257

7 70 190 703013

8 80 200 741484

9 90 210 756749

10 100 220 780600

Dari hasil pengujian threshold seperti yang telah ditunjukkan pada Tabel 62 maka dapat dilihat bahwa konstanta yang dilakukan pengujian dimulai dengan nilai 10 sampai 100 Hasil yang didapat pada percobaan pertama dengan konstanta = 10 dan threshold 130 diperoleh MSE sebesar 558485 Selanjutnya pada percobaan kedua dengan konstanta = 20 dan threshold = 140 diperoleh MSE sebesar 577498 Selanjutnya dapat kita lihat pada percobaan yang telah dilakukan dari percobaan pertama hingga percobaan kesepuluh nilai MSE yang diperoleh mengalami perubahan pada setiap percobaan Dapat dilihat bahwa peningkatan MSE lebih dominan menunjukkan peningkatan sehingga dalam hal ini semakin besar nilai konstanta dan threshold maka semakin besar pula nilai MSE yang diperoleh Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 62

86

Berdasarkan grafik dari Gambar 62 nilai input konstanta yang berbeda - beda mempengaruhi besar nilai MSE semakin besar nilai konstanta maka nilai threshold juga semakin besar karena threshold diperoleh dari perhitungan order dikali jumlah faktor dan selanjutnya dijumlah dengan nilai konstanta Dalam hal ini dengan semakin besar nilai threshold maka dalam proses seleksi untuk mencari nilai selisih FLR juga semakin luas batasannya dan jika semakin kecil nilai threshold maka dalam proses seleksi untuk mencari nilai selisih FLR menjadi semakin sempit dan mempermudah proses peramalan karena hanya adanya sedikit data yang cocok dengan data yang akan diramalkan dan mempermudah proses defuzzifikasi Oleh karena itu semakin kecil threshold maka dapat membuat peramalan semakin akurat Akan tetapi nilai threshold tidak boleh terlalu kecil karena dapat menyebabkan kegagalan peramalan Kegagalan peramalan itu terjadi karena tidak adanya data training yang cocok dengan data testing karena pada metode yang digunakan pada penelitian ini sangat bergantung pada data ndash data sebelumnya Dari hasil percobaan diatas hasil MSE terbesar adalah 7806 yaitu pada konstanta 100 serta threshold 220 dan hasil MSE terkecil adalah 558485 yaitu pada konstanta 10 dan threshold 130 Dalam pengujian ini memiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoImplementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emasrdquo yang menyatakan bahwa semakin kecil nilai konstanta maka semakin kecil nilai kesalahannya (Wardhani et al 2015)

623 Pengujian pengaruh jumlah data training terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh jumlah data training terhadap nilai MSE Pada pengujian ini jumlah data training adalah data dasarian yaitu 1 tahun 2 tahun 3 tahun 4 tahun dan 5 tahun dimana dari setiap 1 tahun memiliki 36 data dasarian Pengujian ini akan dilakukan sebanyak lima kali Pada pengujian ini jumlah data testing adalah 36 nilai order adalah setengah dari

Gambar 62 Grafik hasil pengujian threshold terhadap nilai MSE

87

nilai data training nilai konstanta adalah 20 Berikut adalah hasil pengujian pengaruh jumlah data training terhadap nilai MSE yang ditunjukkan pada Tabel 63

Tabel 63 Hasil pengujian jumlah data training terhadap nilai MSE

No Jumlah Data Training MSE

1 36 786586

2 72 634527

3 108 627190

4 144 614184

5 180 539698

Dari hasil pengujian jumlah data training seperti yang telah ditunjukkan pada Tabel 63 maka pada percobaan pertama dengan data training = 36 dapat diperoleh MSE sebesar 786586 Selanjutnya pada percobaan kedua dengan data training = 72 diperoleh MSE sebesar 634527 Dalam hal ini dari percobaan satu dan dua nilai MSE mengalami penurunan Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 63

Berdasarkan dari Gambar 63 pengujian pertama sampai pengujian kelima mengalami penerunan nilai MSE Sehingga dapat disimpulkan bahwa semakin besar data training maka semakin kecil nilai MSE yang diperoleh Nilai MSE semakin kecil apabila menggunakan data training dalam jumlah besar karena data yang digunakan memiliki rentang jauh dari periode data testing atau data yang akan diramalkan Sedangkan data training yang sedikit memiliki nilai MSE yang besar karena data training yang memiliki kecocokan dengan data testing berada pada periode yang jauh dengan data testing sehingga nilai MSE menjadi tinggi Dalam hal ini terbukti bahwa metode yang digunakan pada penelitian ini memerlukan jumlah data training yang banyak sehingga dapat menurunkan nilai kesalahannya Dari hasil percobaan diatas hasil MSE terbesar adalah 786586 dan

Gambar 63 Grafik hasil pengujian data training terhadap nilai MSE

88

hasil MSE terkecil adalah 539698 Dalam pengujian ini memimiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoPeramalan Jumlah Kunjungan Wisatawan Kota Batu Menggunakan Metode Time Invariant Fuzzy Time Seriesrdquo yang menyatakan bahwa semakin besar jumlah data training maka semakin kecil nilai kesalahannya (Elfajar et al 2017)

624 Pengujian validasi sistem

Pada pengujian ini dilakukan untuk mengetahui kestabilan dari sistem dengan menggunakan order threshold terbaik dari pengujian sebelumnya Pada pengujian ini akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai data training menggunakan 36 data yang berbeda agar dapat menunjukkan gambaran variasi dari nilai kesalahan MSE pada peramalan nilai order adalah 18 dan konstanta adalah 10 sehingga nilai threshold adalah 92 Berikut adalah hasil pengujian validasi sistem yang ditunjukkan pada Tabel 64

Tabel 64 Hasil pengujian validasi sistem

Percobaan ke- MSE

1 714290

2 703856

3 732564

4 732815

5 6973958

6 7532825

7 741726

8 760457

9 709961

10 6256204

Dari hasil pengujian validasi sistem seperti yang telah ditunjukkan pada Tabel 64 maka dapat digambarkan dengan grafik yang ditunjukkan oleh Gambar 64

Gambar 64 Grafik hasil pengujian validasi sistem

89

Berdasarkan dari gambar grafik Gambar 64 bahwa pengujian dari validasi sistem memiliki hasil MSE yang tidak terlalu jauh berbeda dari penggunaan data yang berbeda - beda Oleh karena itu dapat disimpulkan bahwa implementasi dari metode High Order Fuzzy Time Series Multi Factors yang telah digunakan sudah cukup baik untuk digunakan peramalan

Berdasarkan dari pengujian yang dilakukan diatas dapat diketahui bahwa nilai MSE terkecil terdapat pada pengujian jumlah data training yaitu dengan nilai MSE sebesar 539698 Nilai tersebut diperoleh dari pengujian jumlah data training dasarian dari tahun 2011 hingga 2015 untuk melakukan peramalan pada data dasarian tahun 2016 Nilai order adalah 90 dan konstanta adalah 10 Berikut adalah perbandingan data aktual dengan hasil peramalan yang ditunjukkan pada grafik Gambar 65

Gambar 65 Grafik perbandingan data aktual dengan hasil peramalan

90

BAB 7 PENUTUP

Pada bab ini terdiri dari dua sub bab yaitu kesimpulan dan saran Kesimpulan adalah tahapan yang berisi hasil penelitian yang dilakukan dan jawaban semua rumusan masalah yang sudah ditetapkan sebelumnya dan saran adalah tahapan yang berisi hasil yang telah dicapai untuk memperbaiki kekurangan - kekurangan yang terjadi pada penelitian ini serta memberikan pertimbangan pada pengembangan penelitian lebih lanjut

71 Kesimpulan

Pada kesimpulan ini mengacu pada penelitian yang telah dilakukan yang meliputi perancangan implementasi serta pengujian dan analisis terhadap hasil implementasi peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors maka dapat diambil kesimpulan sebagai berikut

1 Berdasarkan dari implementasi metode High Order Fuzzy Time Series Multi Factors dalam melakukan peramalan curah hujan dasarian dilakukan dengan beberapa langkah yaitu langkah pertama perhitungan Universe of Discourse yang terdiri perhitungan mean standar deviasi dan perhitungan Dmin serta Dmax langkah kedua yaitu perhitungan jumlah cluster langkah ketiga yaitu perhitungan pusat cluster langkah keempat yaitu pembentukan subinterval dan fuzzy set langkah kelima yaitu proses fuzzifikasi langkah keenam yaitu pembentukan Fuzzy Logical Relationship(FLR) langkah ketujuh adalah defuzzifikasi yang hasil outputnya merupakan hasil peramalan curah hujan

2 Berdasarkan dari pengujian peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors maka dapat diketahui bahwa

a Order berpengaruh terhadap nilai error semakin besar nilai order maka hasil peramalan semakin baik

b Threshold berpengaruh terhadap nilai error semakin rendah nilai threshold maka hasil peramalan semakin baik Akan tetapi nilai threshold tidak boleh terlalu rendah karena dapat menyebabkan kegagalan peramalan

c Data training berpengaruh terhadap nilai error semakin besar jumlah data training maka hasil peramalan semakin baik Sehingga peramalan menggunakan metode High Order Fuzzy Time Series Multi Factors memerlukan banyak data training

d Hasil implementasi peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors cukup baik digunakan untuk peramalan Hal ini terbukti hasil pengujian validasi sistem menunjukkan grafik yang cukup stabil

Dari pengujian yang telah dilakukan nilai MSE terkecil terdapat pada pengujian jumlah data training yaitu dengan nilai MSE sebesar 539698 Nilai tersebut diperoleh dari pengujian jumlah data training dasarian dari tahun

91

2011 hingga 2015 untuk melakukan peramalan pada data dasarian tahun 2016

72 Saran

Pada penelitian ini dilakukan peramalan curah hujan dasarian dengan faktor yang mempengaruhi adalah suhu kelembaban dan kecapatan angin Saran penulis diharapkan untuk penelitian selanjutnya melakukan penambahan faktor yang mempengaruhi curah hujan atau melakukan peramalan objek lain dengan mempertimbangkan faktor ndash faktor yang mempengaruhinya Serta diharapkan pada penelitian selanjutnya untuk menambahkan data yang lebih banyak serta bervariatif sehingga nilai hasil perhitungan akurasi peramalan yang dihasilkan dalam penelitian dapat meningkat Penggunaan data training yang banyak dan bervariatif dapat membuat pola data semakin terlihat sehingga hasil peramalan yang dihasilkan memiliki akurasi yang lebih baik

92

DAFTAR PUSTAKA

Ardiyanto 2016 ldquoTerendam Air Petani Lamongan Terpaksa Panen Dinirdquo Times Indonesia November 18 httpwwwtimesindonesiacoidread13688520161118102415terendam-air-petani-lamongan-terpaksa-panen-dini (Diakses 25 Februari 2017)

Badan Penelitian dan Pengembangan Pertanian Kementrian Pertanian 2015 ldquoKalender Tanam Terpadu Versi 25 Kota Malang Prov Jawa Timurrdquo httpkatamlitbangpertaniangoidkatam_terpadu2016mh33535733573_tinggipdf (Diakses 25 Februari 2017)

Bagirov M Adil Mahmood Arshad and Barton Andrew 2017 Prediction of monthly rainfall in Victoria Australia Clusterwise linear regression approach Elsevier Atmos Research 188 20-29

BMKG Staklim Karangploso Malang 2015 ldquoAnalisis Dinamika Atmosfer Dan Laut Dasarian III Maret 2015 Update 2 April 2015rdquo httpkarangplosojatimbmkgogoidindexphpanalisis-kondisi-dinamika-atmosfer-laut-dasarian-tahun-2015399-analisis-dinamika-atmosfer-dan-laut-dasarian-iii-maret-2015-update-2-april-2015axzz3X8h9y4fgampgsctab=0 (Diakses 25 Februari 2017)

BPS Kabupaten Malang 2016 ldquoKabupaten Malang Dalam Angka 2016rdquo httpsmalangkabbpsgoidwebsitepdf_publikasiKabupaten-Malang-Dalam-Angka-2016pdf (Diakses 25 Februari 2017)

BPS Jawa Timur 2015 ldquoJawa Timur Dalam Angka 2015rdquo httpsjatimbpsgoid4dmnpdf_publikasiJawa-Timur-Dalam-Angka-2015pdf (Diakses 25 Februari 2017)

Buffa S Elwood Rakesh and Sarin K 1996 Modern Production and Operation Management Eight Edition John Willey and Sons Inc London

Chen M 1996 Forecasting Enrollments based on Fuzzy Time Series Fuzzy Sets and Systems 311-319

Dewi Candra Kartikasari Dani Mursityo Yusi 2014 Prediksi Cuaca Pada Data Time Series Menggunakan Adaptive Neuro Fuzzy Inference System (ANFIS) Jurnal Teknologi Informasi dan Ilmu Komputer (JTIIK) Vol 1 No 1 hlm 18-24

Dewi Candra Muslikh M 2013 Perbandingan Akurasi Backpropagation Neural Network dan ANFIS Untuk Memprediksi Cuaca NATURAL-A Journal of Scientific Modeling amp Computation Volume 1 No1

Elfajar Aria Setiawan Budi Dewi Candra 2017 Peramalan Jumlah Kunjungan Wisatawan Kota Batu Menggunakan Metode Time Invariant Fuzzy Time Series Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer Vol 1 No 2 Hlmn 85-94

93

Fauziah Normalita Wahyuningsih Sri dan Nasution Yuki 2016 Peramalan Menggunakan Fuzzy Time Series Chen (Studi Kasus Curah Hujan Kota Samarinda) Vol4 Statistika

Forest Mahyu 2015 ldquoDefenisi amp Pengertian Kelembabanrdquo httpilmupengetahuaalamblogspotcoid201506defenisi-pengertian-kelembabanhtml (Diakses 25 Februari 2017)

Irsyad Muhammad Metarice Sonya 2013 Penerapan Metode Automatic Clustering dan High Order Fuzzy Time Series Pada Peramalan Curah Hujan Jurnal Sains dan Teknologi Industri Vol 10 No 02

Klawon F 2001 What is About Fuzzy Clustering Understanding and Improving the Concept of the Fuzzier Science Journal httppublic-rzfh-wolfebuetteldeklawon

Kurniawan Carlos 2007 Analisis dan Perancangan Program Aplikasi Peramalan Curah Hujan dengan Metode Wavelet (Studi Kasus BMKG)

Kusumadewi S 2003 ldquoArtificial Intelegence (Teknik amp Aplikasinya)rdquo Graha Ilmu Yogyakarta

Kusumadewi S Purnomo H 2004 ldquoAplikasi Logika Fuzzy untuk Pendukung Keputusanrdquo Graha Ilmu Yogyakarta

Kusumadewi Sri 2002 Analisis amp Desain Sistem Fuzzy Tollbox MATLAB Graha Ilmu Yogyakarta

Lin Yupei Yang Y 2009 Stock Markets Forecasting Based on Fuzzy Time Series Model IEEE Conference Publications 782-886

Makridakis S Steven C Wheelwright Victor E and Gee MC 1999 Metode dan Aplikasi Peramalan Jilid I Edisi Kedua Jakarta Binarupa Aksara

Mirawati T Yasin H and Rusgiyono A 2013 Prediksi Curah Hujan dengan Metode Kalman Filter(Studi Kasus di Kota Semarang 2012) Jurnal Gaussian 2(3) pp 239-248

Pradipta Nur Sembiring Pasukat Bangun Pengarapen 2013 Analisis Pengaruh Curah Hujan di Kota Medan Saintia Matematika Vol 1

Sipayung Putri Metha 2013 Pemodelan Hubungan Kelembapan Udara terhadap Curah Hujan (Studi Kasus Curah Hujan Periode 2001-2009 pada Stasiun Dramaga) httprepositoryipbacidhandle12345678960623 (Diakses 25 Februari 2017)

User 2015 httpstaklimnegaranet[Online] Available at httpwwwstaklimnegaranetindexphpbuletin-hujanpengertian-istilah (Diakses 25 Februari 2017)

Wang Nai-Yi Chen Shyi-Ming 2009 Temperature prediction and TAIFEX forecasting based on automatic clustering techniques and two-factors high-order fuzzy time series Elsevier Expert Systems with Applications 36 2143ndash2154

94

Wardhani Dessy Ratnawati Dian Setiawan Budi 2015 Implementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Saham Repositori Jurnal Mahasiswa PTIIK UB Doro Jurnal Vol 6 No 6

Wiyanti T and Pulungan R 2012 Peramalan Deret Waktu Menggunakan Model Fungsi Basis Radial (RBF) dan Auto Regressive Integrated Moving Average (ARIMA) Jurnal MIPA 35(2) pp 175-182

Yunanto Utomo 2014 ldquoBMKG Akui Prakiraan Cuacanya Masih Kurang Akuratrdquo Kompas Sains Januari 30 httpwwwtimesindonesiacoidread13688520161118102415terendam-air-petani-lamongan-terpaksa-panen-dini (Diakses 25 Februari 2017)

  • Bagian Depanpdf
  • BAB Ipdf
  • BAB IIpdf
  • BAB IIIpdf
  • BAB IVpdf
  • BAB Vpdf
  • BAB VIpdf
  • BAB VIIpdf
  • Daftar Pustakapdf
Page 8: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI

viii

32 Pengumpulan Data 23

33 Perancangan 23

34 Implementasi 23

35 Pengujian dan Analisis 23

36 Kesimpulan dan Saran 24

BAB 4 PERANCANGAN 25

41 Perancangan Proses 25

411 Proses perhitungan Universe of Discourse 26

4111 Proses perhitungan Mean 28

4112 Proses perhitungan standar deviasi 29

4113 Proses perhitungan nilai Dmin dan Dmax 30

412 Proses perhitungan jumlah cluster 31

413 Proses perhitungan pusat cluster 32

414 Proses pembentukan subinterval dan Fuzzy set 37

415 Proses Fuzzifikasi 38

416 Proses pembentukan Fuzzy Logical Relationship 41

417 Proses Defuzzifikasi 43

42 Perhitungan Manual 46

421 Perhitungan Universe of Discourse (U) 46

422 Perhitungan jumlah cluster (k) 48

423 Perhitungan pusat cluster dan subinterval 49

4231 Penentuan pusat cluster 49

4232 Perhitungan batas subinterval 55

424 Pembentukan Fuzzy Set 56

425 Fuzzifikasi 56

426 Pembentukan Fuzzy Logical Relationship (FLR) 58

427 Defuzzifikasi 58

43 Perancangan antarmuka 60

431 Halaman input 60

432 Halaman tampil data 61

433 Halaman proses 62

434 Halaman hasil 63

ix

435 Halaman perhitungan error 64

44 Perancangan pengujian 64

441 Perancangan pengaruh order terhadap nilai MSE 64

442 Perancangan pengaruh threshold terhadap nilai MSE 65

443 Perancangan pengaruh jumlah data training terhadap nilai MSE 65

444 Perancangan validasi sistem 65

BAB 5 IMPLEMENTASI 67

51 Spesifikasi Sistem 67

511 Spesifikasi Perangkat Keras 67

512 Spesifikasi Perangkat Lunak 67

52 Implementasi Algoritma 67

521 Implementasi Proses Universe of Discourse 68

5211 Implementasi proses mean 68

5212 Implementasi proses standar deviasi 68

5213 Implementasi proses Dmin dan Dmax 69

522 Implementasi Proses Jumlah Cluster 69

523 Implementasi Proses Pusat Cluster 70

524 Implementasi Proses Pembentukan Subinterval dan Fuzzy Set 72

525 Implementasi proses fuzzifikasi 74

526 Implementasi Pembentukan Fuzzy Logical Relationship 75

527 Implementasi Proses Defuzzifikasi 77

53 Implementasi Antarmuka 79

531 Implementasi antarmuka halaman input 79

532 Implementasi antarmuka halaman tampil data 80

533 Implementasi antarmuka halaman proses 80

534 Implementasi antarmuka halaman hasil 82

535 Implementasi antarmuka halaman perhitungan error 82

BAB 6 PENGUJIAN DAN ANALISIS 83

61 Sistematika Pengujian 83

62 Hasil dan Analisis Pembahasan 83

621 Pengujian pengaruh order terhadap nilai MSE 83

x

622 Pengujian pengaruh threshold terhadap nilai MSE 85

623 Pengujian pengaruh jumlah data training terhadap nilai MSE 86

624 Pengujian validasi sistem 88

BAB 7 PENUTUP 90

71 Kesimpulan 90

72 Saran 91

DAFTAR PUSTAKA 92

LAMPIRAN 95

Lampiran 1 Data Sampel 95

xi

DAFTAR TABEL

Tabel 21 Kajian Pustaka 5

Tabel 22 Fuzzy Logic Relationship 19

Tabel 23 Peramalan fuzzy set 20

Tabel 41 Data Sampel Perhitungan Manual 46

Tabel 42 Hasil kuadrat dari selisih data ke-i dan mean 47

Tabel 43 Nilai minimum nilai maksimum dan standar deviasi 47

Tabel 44 Hasil Universe of Discourse 48

Tabel 45 Nilai absolut selisih data hari ke-t dengan hari sebelumnya 48

Tabel 46 Hasil jumlah cluster data 49

Tabel 47 Matriks partisi awal pada cluster data A 50

Tabel 48 Derajat keanggotaan matriks partisi data A 51

Tabel 49 Perhitungan pusat cluster data A 52

Tabel 410 Fungsi objektif data A 53

Tabel 411 Perbaikan matriks partisi 54

Tabel 412 Hasil perbaikan matriks partisi 54

Tabel 413 Hasil pusat cluster 55

Tabel 414 Batas subinterval masing ndash masing atribut data 55

Tabel 415 Hasil derajat keanggotaan dan fuzzy set data A 57

Tabel 416 Hasil fuzzifikasi semua data attribut 57

Tabel 417 Hasil pembentukan FLR data training 58

Tabel 418 Hasil pembentukan FLR data testing 58

Tabel 419 Frekuensi FLR yang cocok dengan data testing 59

Tabel 420 Perbandingan data aktual dan hasil peramalan 60

Tabel 421 Rancangan pengujian order terhadap nilai MSE 64

Tabel 422 Rancangan pengujian threshold terhadap nilai MSE 65

Tabel 423 Rancangan pengujian jumlah data training terhadap nilai MSE 65

Tabel 424 Rancangan pengujian validasi sistem 66

Tabel 51 Spesifikasi Perangkat Keras 67

Tabel 52 Spesifikasi Perangkat Lunak 67

Tabel 61 Hasil pengujian order terhadap nilai MSE 83

xii

Tabel 62 Hasil pengujian threshold terhadap nilai MSE 85

Tabel 63 Hasil pengujian jumlah data training terhadap nilai MSE 87

Tabel 64 Hasil pengujian validasi sistem 88

xiii

DAFTAR GAMBAR

Gambar 21 Representasi linear naik 11

Gambar 22 Representasi linear turun 12

Gambar 23 Representasi kurva segitiga 12

Gambar 31 Diagram blok metodologi penelitian 22

Gambar 41 Diagram alir metode penelitian yang digunakan (bagian 1) 25

Gambar 42 Diagram alir metode penelitian yang digunakan (bagian 2) 26

Gambar 43 Diagram alir proses perhitungan Universe of Discourse 27

Gambar 44 Diagram alir proses perhitungan mean 28

Gambar 45 Diagram alir proses perhitungan standar deviasi 29

Gambar 46 Diagram alir perhitungan nilai Min dan Max 30

Gambar 47 Diagram alir proses perhitungan jumlah cluster 31

Gambar 48 Diagram alir proses perhitungan pusat cluster (bagian 1) 32

Gambar 49 Diagram alir proses perhitungan pusat cluster (bagian 2) 33

Gambar 410 Diagram alir proses perhitungan pusat cluster (bagian 3) 34

Gambar 411 Diagram alir proses perhitungan pusat cluster (bagian 4) 35

Gambar 412 Diagram alir proses perhitungan pusat cluster (bagian 5) 36

Gambar 413 Diagram alir pembentukan subinterval dan fuzzy set (bagian 1) 37

Gambar 414 Diagram alir pembentukan subinterval dan fuzzy set (bagian 2) 38

Gambar 415 Diagram alir proses fuzzifikasi (bagian 1) 39

Gambar 416 Diagram alir proses fuzzifikasi (bagian 2) 40

Gambar 417 Diagram alir proses Pembentukan FLR (bagian 1) 41

Gambar 418 Diagram alir proses Pembentukan FLR (bagian 2) 42

Gambar 419 Diagram alir proses Pembentukan FLR (bagian 3) 43

Gambar 420 Diagram alir proses defuzzifikasi (bagian 1) 44

Gambar 421 Diagram alir proses defuzzifikasi (bagian 2) 45

Gambar 422 Grafik fuzzy set data A 56

Gambar 423 Rancangan antarmuka halaman input 61

Gambar 424 Rancangan antarmuka halaman tampil data 61

Gambar 425 Rancangan antarmuka halaman proses clustering 62

Gambar 426 Rancangan antarmuka proses fuzzifikasi 62

xiv

Gambar 427 Rancangan antarmuka proses fuzzy logical relationship 63

Gambar 428 Rancangan antarmuka halaman hasil peramalan 63

Gambar 429 Rancangan antarmuka halaman perhitungan error 64

Gambar 51 Implementasi antarmuka halaman input 79

Gambar 52 Implementasi antarmuka halaman tampil data 80

Gambar 53 Implementasi antarmuka halaman proses clustering 80

Gambar 54 Implementasi antarmuka halaman proses fuzzification 81

Gambar 55 Implementasi halaman antarmuka proses FLR 81

Gambar 56 Implementasi halaman antarmuka hasil 82

Gambar 57 Implementasi halaman antarmuka perhitungan error 82

Gambar 61 Grafik hasil pengujian order terhadap nilai MSE 84

Gambar 62 Grafik hasil pengujian threshold terhadap nilai MSE 86

Gambar 63 Grafik hasil pengujian data training terhadap nilai MSE 87

Gambar 64 Grafik hasil pengujian validasi sistem 88

Gambar 65 Grafik perbandingan data aktual dengan hasil peramalan 89

xv

DAFTAR KODE PROGRAM

Kode Program 51 Implementasi proses Universe of Discourse 68

Kode Program 52 Implementasi proses mean 68

Kode Program 53 Implementasi proses standar deviasi 69

Kode Program 54 Implementasi proses Dmin dan Dmax 69

Kode Program 55 Implementasi proses jumlah cluster 70

Kode Program 56 Implementasi proses pusat cluster 72

Kode Program 57 Implementasi pembentukan subinterval dan fuzzy set 74

Kode Program 58 Implementasi proses fuzzifikasi 75

Kode Program 59 Implementasi pembentukan FLR 77

Kode Program 510 Implementasi proses defuzzifikasi 79

xvi

DAFTAR LAMPIRAN

Lampiran 1 Tabel Data Sampel 95

1

BAB 1 PENDAHULUAN

11 Latar belakang

Kabupaten Malang merupakan salah satu kabupaten di Jawa Timur yang terkenal akan potensi alam yang dimiliki (BPS Kabupaten Malang 2016) Dalam hal ini terkenal akan potensi alamnya karena kabupaten Malang memiliki tingkat produksi di sektor pertanian yang cukup tinggi dimana hampir seluruh kecamatan di kabupaten Malang memiliki lahan pertaniaaan (BPS Jatim 2015) Permasalahan yang terjadi pada sektor pertanian yaitu terjadinya gagal panen apabila memasuki musim penghujan dengan curah hujan yang tinggi yaitu diatas 200 mm per bulan serta apabila memasuki musim kemarau dengan curah hujan yang rendah yaitu dibawah 100 mm per bulan (BMKG Staklim Karangploso Malang 2015) Dalam mengatasi hal tersebut upaya yang dilakukan petani selama ini hanya melakukan tindakan seperti melakukan panen secara dini Upaya ini dianggap petani cukup efektif dalam mengurangi besarnya kerugian gagal panen akan tetapi sebaiknya yang dilakukan adalah melakukan suatu tindakan agar kerugian yang dialami petani tidak terjadi lagi (Ardiyanto 2016)

Salah satu contoh tindakan yang dapat dilakukan adalah membuat Kalender Tanam (KATAM) KATAM dapat digunakan petani sebagai alat bantu atau pedoman dalam menentukan awal musim tanam terbaik seperti yang telah dilakukan oleh Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian Dalam pembuatan KATAM Balitbang menggunakan data peramalan curah hujan dari Badan Meteorologi Klimatologi dan Geofisika (BMKG) Akan tetapi BMKG mengakui bahwa prakiraan cuacanya saat ini memang masih kurang akurat dan masih kalah dengan prakiraan cuaca di Amerika Serikat (Yunanto 2014) Pentingnya akan prakiraan cuaca terbukti adanya beberapa penelitian sebelumnya yaitu penelitian prakiraan cuaca dengan input faktor yang mempengaruhi cuaca yang berupa data time series menggunakan metode Adaptive Neuro Fuzzy Inference System (ANFIS) (Dewi 2014) dan penelitian mengenai prediksi cuaca menggunakan metode Backpropagation Neural Network yang terbukti memiliki nilai akurasi yang baik dalam prediksi cuaca (Dewi 2013)

Teknik atau metode peramalan curah hujan yang sering digunakan BMKG adalah metode Autoregressive Integrated Moving Average (ARIMA) ANFIS dan Wavelet (Kurniawan 2007) Namun dalam penerapannya gabungan dari ketiga metode tersebut masih kurang memuaskan yaitu tingkat akurasinya hanya mencapai 60 - 70 Menurut BMKG kurangnya tingkat akurasinya ini disebabkan oleh keadaan pola atmosfer di Indonesia yang selalu berubah ndash ubah dan kurang menentu

Selain metode yang digunakan oleh BMKG adapun penelitian sebelumnya yang meramalkan curah hujan yaitu penelitian menggunakan metode Fuzzy Time Series Chen dengan studi kasus curah hujan di Samarinda dalam penelitian ini menggunakan data time series curah hujan bulanan dengan kesimpulan pengunaan data yang sedikit memiliki tingkat akurasi lebih tinggi dibandingkan

2

menggunakan data yang banyak yaitu menghasilkan nilai RMSE terkecil 7368 dan MAE terkecil 539 (Fauziah et al 2016)

Selain peramalan yang hanya menggunakan data time series dari data yang akan diramalkan juga terdapat penelitian sebelumnya yang menggunakan faktor - faktor yang mempengaruhi dari data yang akan diramalkan Salah satunya yaitu penelitian dengan menggunakan metode Clusterwise Linear Regression (CLR) Penelitian ini menggunakan data bulanan pada delapan stasiun cuaca di kota Victoria Australia Peramalan curah hujan pada penelitian ini menggunakan faktor yang mempengaruhi yaitu suhu maksimum suhu minimum penguapan tekanan uap dan radiasi matahari Hasil penelitian ini terbukti dapat melakukan peramalan curah hujan dengan hasil yang cukup baik yaitu dengan nilai RMSE terkecil 197 dan MAE terkecil 129 (Bagirov et al 2017)

Berdasarkan paparan yang telah dijelaskan penulis memiliki ide untuk melakukan penelitian dengan judul ldquoPeramalan Curah Hujan dengan Metode High Order Fuzzy Time Series Multi Factorsrdquo Pada metode ini dilakukan klasterisasi data untuk membangun subinterval dengan menggunakan metode fuzzy C-means (LinYang 2009) Dari proses hasil klasterisasi akan digunakan untuk membagi data semesta yang selanjutnya menghasilkan fuzzy set atau himpunan fuzzy yang menggambarkan fitur data (LinYang 2009) Keunggulan dari metode fuzzy time series dengan multi faktor yaitu dengan berdasarkan pada penelitian ndash penelitian sebelumnya yang menggunakan metode tersebut yaitu penelitian prediksi harga emas dengan beberapa faktor yang mempengaruhi menggunakan metode Multi-factors High order Fuzzy Time Series Model dari hasil penelitian ini dengan menggunakan metode evaluasi Mean Absolute Percentage Error (MAPE) dapat diperoleh nilai error terkecil sebesar 0443 (Wardhani et al 2015) dan penelitian peramalan Indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen menggunakan metode Fuzzy Time Series Model dari penilitian ini menunjukan tingkat Average Relative Error (ARError) sebesar 176 untuk bursa efek harian Shanghai sedangkan untuk bursa efek harian Shenzhen didapatkan ARError sebesar 187 (Lin Yang 2009) terbukti menghasilkan hasil peramalan dengan tingkat akurasi yang cukup tinggi Penggunaan metode ini juga sesuai dengan curah hujan yang dipengaruhi oleh beberapa faktor yaitu kelembaban udara kecepatan angin dan suhu (Pradipta 2013) Penelitian ini diharapkan dapat memberikan hasil peramalan curah hujan yang lebih akurat dan memiliki nilai kesalahan yang lebih sedikit

12 Rumusan masalah

Berdasarkan latar belakang yang telah dipaparkan dibuatlah beberapa rumusan masalah sebagai berikut

1 Bagaimana mengimplementasikan Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

2 Berapa tingkat kesalahan dari hasil implementasi Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

3

13 Tujuan

Adapun maksud dan tujuan dari penelitian ini adalah sebagai berikut

1 Mengimplementasikan Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

2 Mengetahui tingkat kesalahan dari hasil implementasi Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

14 Manfaat

Adapun manfaat dari penelitian ini adalah sebagai berikut

1 Bagi Badan Meteorologi dan Geofisika (BMKG) untuk dapat memberikan peramalan curah hujan yang lebih akurat dari sebelumnya

2 Bagi Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian untuk dapat membuat Kalender tanam (KATAM) dengan menggunakan data ramalan curah hujan yang lebih akurat

3 Bagi penduduk kabupaten Malang khususnya yang bekerja pada sektor pertanian agar dapat mengoptimalkan hasil produksi dengan menyesuaikan penanaman sesuai dengan Kalender Tanam (KATAM) yang telah dibuat Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian

15 Batasan masalah

Penelitian ini dibatasi oleh hal ndash hal sebagai berikut

1 Data curah hujan kelembaban udara kecepatan angin dan suhu udara yang digunakan pada penelitian ini merupakan data berdasarkan dasarian dan hanya mencakup wilayah kabupaten Malang dan data diperoleh dari BMKG Karangkates Kabupaten Malang dengan data time series yang digunakan pada penelitian ini yaitu dari tahun 2011 - 2016

2 Model peramalan yang diterapkan adalah semua nilai yang membentuk pola dataset training dan testing diketahui nilainya

3 Perhitungan nilai tingkat kesalahan permalan menggunakan metode Mean Square Error (MSE)

16 Sistematika pembahasan

Sistematika pembahasan penelitian ditunjukkan untuk memberikan gambaran dan uraian dari penyusunan proposal yang meliputi beberapa bab sebagai berikut

BAB 1 PENDAHULUAN

Pada bab ini berisi latar belakang rumusan masalah tujuan penelitian manfaat penelitian batasan masalah sistematika pembahasan dan rencana kerja atau jadwal penelitian

4

BAB 2 LANDASAN KEPUSTAKAAN

Pada bab ini berisi tentang kajian pustaka dan dasar teori yang menjadi dasar dalam melakukan implementasi peramalan curah hujan dengan Metode High Order Fuzzy Time Series Multi Factors

BAB 3 METODOLOGI

Pada bab ini diuraikan tentang tahapan atau langkah ndash langkah yang dilakukan dalam proses penelitian tentang peramalan curah hujan dengan metode High Order Fuzzy Time Series Multi Factors Langkah ndash langkah tersebut terdiri dari tahapan penelitian teknik pengumpulan data algoritma yang digunakan lingkungan pengujian dan pengujian algoritma yang digunakan serta pengambilan kesimpulan

BAB 4 PERANCANGAN

Pada bab ini berisi tentang perancangan proses algoritma perhitungan manual metode High Order Fuzzy Time Series Multi Factors perancangan antar muka dan perancangan pengujian

BAB 5 IMPLEMENTASI

Pada bab ini berisi tentang penjelasan peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors bagaimana user interface dan source code dalam pengimplementasian metode ini

BAB 6 PENGUJIAN DAN ANALISIS

Pada bab ini berisi tentang penjelasan proses dan hasil pengujian dari implementasi metode High Order Fuzzy Time Series Multi Factors dalam peramalan curah hujan serta analisis dari pengujian tersebut

BAB 7 PENUTUP

Pada bab ini berisi kesimpulan yang diperoleh dari hasil pengujian dan saran ndash saran untuk pengembangan penelitian selan

5

BAB 2 LANDASAN KEPUSTAKAAN

Bab ini berisi mengenai kajian pustaka dan dasar ndash dasar teori yang akan dibahas serta digunakan untuk menunjang topik ndash topik pembahasan Pada kajian akan dibahas perbedaan antara penelitian yang telah ada dengan penelitian yang diusulkan oleh penulis Sedangkan pada dasar teori akan dibahas mengenai teori ndash teori yang digunakan pada penelitian yang diusulkan

21 Kajian Pustaka

Pada kajian pustaka disini berisi mengenai perbandingan antara penelitian yang diusulkan oleh penulis dengan penelitian sebelumnya yang relevan Perbandingan tersebut dapat dilihat padat Tabel 21

Tabel 21 Kajian Pustaka

No Judul Objek dan Input Penelitian Metode

1 Penerapan Metode Automatic Clustering dan High Order Fuzzy Time Series Pada Peramalan Curah Hujan (Irsyad Metarice 2013)

Objek Curah hujan

Input Penelitian

Data aktual curah hujan

Metode High Order Fuzzy Time Series dan Automatic Clustering

Nilai evalusi

Mean Absolute Percentage Error (MAPE)

2 Peramalan Menggunakan Fuzzy Time Series Chen (Studi Kasus Curah Hujan Kota Samarinda) (Fauziah et al 2016)

Objek Curah Hujan

Input Penelitian

Data aktual curah hujan

Metode Fuzzy Time Series Chen

Nilai evaluasi

Mean Absolute Error (MAE) Root Mean of Square Error (RMSE)

3 Implementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emas (Wardhani et al 2015)

Objek Harga Emas

Input Penelitian

Kurs Dollar hari sebelumnya

Kurs Euro hari sebelumnya

Harga Emas London hari sebelumnya

Harga Emas hari sebelumnya

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

Nilai evalusi

Mean Absolute Percentage Error (MAPE)

4 Stock Markets Forecasting Based on Fuzzy Time Series Model (Lin Yang 2009)

Objek Indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

6

Input Penelitian

Historical return

Historical turnover volume

Rata ndash rata selisih pergerakan harga selama lima hari

Selisih antara kekuatan bull dan bear

Indeks komposit bursa efek harian Shanghai sebelumnya

Indeks komposit bursa efek harian Shenzhen

Nilai evalusi

Average Relative Error (ARError)

5 Peramalan Curah Hujan Menggunakan Metode High Order Fuzzy Time Series Multi Factors

Objek Curah hujan

Input Penelitian

Suhu

Kelembaban

Kecepatan angin

Curah hujan

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

Nilai evalusi

Mean Square Error (MSE)

Sumber (Irsyad Metarice 2013) (Fauziah et al 2016) (Wardhani et al 2015) dan (Lin Yang 2009)

Pada penelitian yang pertama yaitu penelitian yang dilakukan oleh Muhammad Irsyad dan Sonya Metarice pada tahun 2013 dengan objek penelitian yang diramalkan adalah curah hujan Inputan yang digunakan pada penelitian ini merupakan data aktual curah hujan bulanan Metode yang digunakan penelitian ini adalah Automatic Clustering dan High Order Fuzzy Time Series Pada penelitian ini metode Automatic Clustering digunakan untuk membangun interval dan High Order Fuzzy Time Series untuk melakukan peramalan curah hujan Kesimpulan yang diperoleh dari penelitian ini yaitu metode ini dapat diterapkan untuk permalan curah hujan dan hasil evaluasi menggunakan metode Mean Absolute Percentage Error(MAPE) dari beberapa bercobaan dapat diperoleh nilai kesalahan sebesar 437 Berdasarkan dari hasil nilai kesalahan tersebut maka tingkat kesalahan data pada permalan ini termasuk rendah

Pada tahun 2016 Normalita Fauziah Sri Wahyuningsih dan Yuki Novia Nasution melakukan penelitian dengan objek penelitian curah hujan di kota Samarinda Inputan yang digunakan pada penelitian berupa data aktual bulanan curah hujan di kota Samarinda Metode yang digunakan pada penelitian ini adalah Fuzzy Time Series Chen dengan dalam pembentukkan panjang interval berbasis rata ndash rata atau average based Pada penelitian ini permalan curah hujan terbaik yaitu dengan menggunkan data sebanyak 29 data dengan menghasilkan tingkat nilai kesalahan terkecil yaitu dengan metode Root Mean of Squared Error (RMSE) sebesar 7368 dan metode Mean Absolute Error (MAE) sebesar 539 Pada

(Lanjutan) Tabel 21 Kajian Pustaka

7

penelitian ini disimpulkan bahwa data sebanyak 29 data memiliki tingkat kesalahan lebih kecil dibandingkan dengan menggunakan data dengan jumlah sampel yang lebih banyak

Pada penelitian selanjutnya adalah penelitian yang dilakukan oleh Dessy Kusuma Wardhani Dian Eka Ratnawati dan Budi Darma Setiawan pada tahun 2015 dengan objek penelitian yang diramalkan adalah harga emas harian Inputan yang digunakan pada penelitian ini data aktual harian harga emas indonesia harga emas london kurs dollar ke rupiah dan kurs euro ke rupiah Metode yang digunakan pada penelitian pada pembentukkan sub interval menggunakan metode fuzzy C-means dan untuk peramalan menggunakan metode High Order Fuzzy Time Series Model Hasil pada penelitian ini berdasarkan menggunakan metode evaluasi Mean Absolute Percentage Error (MAPE) dapat diperoleh nilai error terkecil sebesar 0443 karena nilai error lebih kecil dari 10 menunjukkan bahwa metode ini sangat baik digunakan untuk peramalan harga emas

Pada tahun 2009 Yupei Lin dan Yiwei Yang melakukan penelitian dengan objek yang diramalkan adalah indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen Data input penelitian ini meliputi historical return historical turnover volume dan rata ndash rata selisih pergerakan harga selama lima hari serta selisih antara kekuatan bull dan bear Dalam penelitian ini pembentukan subinterval yang berfungsi dalam pendefinisian himpunan fuzzy dilakukan dengan menggunakan klasterisasi fuzzy C-means Hasil dari penilitian ini menunjukan tingkat Average Relative Error (ARError) sebesar 176 untuk bursa efek harian Shanghai sedangkan untuk bursa efek harian Shenzhen didapatkan ARError sebesar 187 Dalam hal ini membuktikan bahwa penelitian dapat menghasilkan peramalan yang cukup baik karena memiliki nilai ARError kurang dari 5

Pada penelitian ini membahas tentang peramalan curah hujan dasarian menggunakan metode High Order Fuzzy Time Series Multi Factors Terdapat empat inputan yang juga dijadikan sebagai variabel dalam penelitian ini yaitu kelembaban udara kecepatan angin suhu udara dan curah hujan Pembentukan subinterval yang berfungsi dalam pendefinisian fuzzy set dilakukan dengan menggunakan klasterisasi fuzzy C-means Penelitian ini menggunakan high order fuzzy logic relationship yaitu membentuk fuzzy logic relationship berdasarkan data dalam kurun waktu beberapa dasarian sebelum dasarian yang akan diramal Pada penelitian ini dalam melakukan perhitungan nilai error untuk mendapatkan hasil evaluasi menggunakan metode Mean Square Error (MSE)

22 Dasar Teori

Pada dasar teori disini dijelaskan tentang metode ndash metode yang digunakan pada penelitian ini yang meliputi peramalan curah hujan data time series logika fuzzy fuzzy C-means metode peramalan dengan Fuzzy Time Series High Order Fuzzy Time Series Multi Factors dan metode perhitungan keakuratan metode peramalan

8

221 Peramalan

Terdapat beberapa definisi tentang peramalan menurut Kamus Besar Bahasa Indonesia (KBBI) yaitu

a Peramalan merupakan prediksi rencana atau estimasi kejadian masa depan yang tidak pasti (KBBI)

b Peramalan adalah sebagai penggunaan teknik ndash teknik statistik dalam bentuk gambaran masa depan berdasarkan pengolahan angka ndash angka yang terjadi pada masa lalu (Buffa et al1996)

c Peramalan adalah bagian internal dari pengambilan keputusan manajemen (Makridakis et al1999)

Berdasarkan beberapa definisi diatas dapat disimpulkan bahwa peramalan merupakan tindakan apa yang akan terjadi di masa mendatang peramalan diperlukan untuk mengambil sebuah keputusan Dalam pengambilan keputusan harus diambil dari pertimbangan ndash pertimbangan yang ada Oleh karena itu peramalan sangat penting hubungannya dengan pengambilan keputusan sehingga kejadian di masa yang akan datang dapat dipersiapkan tindakan apa yang perlu dilakukan

222 Curah hujan

Curah hujan merupakan salah satu faktor penting yang mempengaruhi perubahan iklim suatu wilayah (Mirawati et al 2013) Salah satu contoh kasus nyata yaitu terjadinya perubahan iklim secara tiba ndash tiba atau bisa disebut dengan cuaca ekstrim Curah hujan dapat dijelaskan dengan air hujan yang terkumpul pada suatu wadah datar dimana air hujan tersebut tidak meresap tidak menguap dan tidak mengalir sehingga dapat diukur ketinggiannya Sebagai contoh curah hujan 1 (satu) milimeter dapat dijelaskan dalam suatu wadah datar dengan luas satu meter persegi tertampung air dengan ketinggian sekitar satu milimeter atau tertampung air sebanyak satu liter Metode dalam mendapatkan data curah hujan adalah dengan menggunakan penakar hujan yang kemudian diukur dengan satuan milimeter (mm) (User2015) Intensitas curah hujan dapat dikategorikan ringan jika dibawah 20mm dalam 24 jam dikategorikan lebat jika di atas 50mm dan dikategorikan sedang jika selang 20mm hingga 50mm (User 2015)

Curah hujan mempengaruhi beberapa sektor diantarannya sektor komunikasi dimana penggunaan frekuensi diatas 10 GHz dapat terkena redaman hujan (Mauludiyanto et al 2009) Akan tetapi curah hujan paling berpengaruh terhadap sektor pertanian Hal ini terbukti bahwa sebagian besar terjadinya penurunan produktifitas dan gagal panen di sektor pertanian adalah terjadinya curah hujan yang tinggi

Tinggi dan rendahnya curah hujan dipengaruhi oleh beberapa faktor yaitu kelembaban udara temperatur dan kecepatan angin Pada tahun 2013 Nur Suri Pradipta Pasukat Sembiring dan Pengarapen Bangun melakukan penelitian mengenai pengaruh curah hujan di kota Medan (Pradipta et al 2013)

9

Berdasarkan penelitian tersebut faktor yang mempengaruhi dan digunakan dalam peramalan curah hujan yaitu

1 Kelembaban udara

Kelembaban udara adalah banyaknya kandungan uap air di atmosfer Udara atmosfer adalah campuran dari udara kering dan uap air selain itu kelembaban udara merupakan komponen cuaca yang mempunyai peranan sangat penting bagi stabilitas kehidupan organisme di bumi maupun unsur-unsur cuaca yang lain (Forest 2015) Kelembaban udara berpengaruh terhadap curah hujan Hal ini didukung penelitian oleh (Sipayung et al 2013) yang menyatakan Kelembaban udara berpengaruh positif terhadap curah hujan

2 Kecepatan angin

Kecepatan angin merupakan kecepatan udara yang bergerak secara horizontal pada ketinggian 2 meter diatas tanah Dalam hal ini faktor yang menentukan kecepatan angin adalah perbedaan tekanan udara antara asal dan tujuan angin Kecepatan angin berpengaruh positif terhadap curah hujan artinya jika kecepatan angin tinggi maka curah hujan akan tinggi (Pradipta et al2013)

3 Suhu udara

Suhu udara merupakan ukuran energi kinetik rata ndash rata dari pergerakan molekul ndash molekul Suhu udara berpengaruh negatif terhadap curah hujan artinya jika suhu udara tinggi maka curah hujan akan berkurang (Pradipta et al2013)

223 Data time series

Data time series adalah data statistik yang telah dihimpun dari masa lampau hingga sekarang dan dapat digunakan sebagai acuan dalam melakukan peramalan terhadap data yang akan datang (Wiyanti amp Pulungan 2012) Data time series juga dapat didefinisikan sebagai sebuah kegiatan mengamati data statistik dimana terdapat korelasi (dependensi) antar datanya sehingga data yang sekarang sedang diamati memiliki ketergantungan dengan satu atau lebih data pengamatan sebelumnya (Mirawati et al 2013)

Terdapat dua teknik prediksi yang menggunakan basis data time series yaitu teknik model matematika statistik dan berdasarkan kecerdasan buatan (Wiyanti amp Pulungan 2012) Analisa time series sendiri memiliki beberapa peruntukan salah satunya digunakan dalam melakukan peramalan untuk masa yang akan datang Dalam penggunaan data time series merupakan salah satu proses peramalan kuantitatif dimana berdasar data kuantitatif masa lampau yang direpresentasikan dalam bentuk angka atau nilai (Mirawati et al 2013)

10

224 Logika Fuzzy

Pada tahun 1965 Prof Lotfi A Zadeh memperkenalkan teori logika fuzzy Logika fuzzy merupakan suatu komponen soft computing dan juga suatu cara yang tepat untuk memetakan suatu ruang input ke dalam ruang output Antara ruang input dan ruang output terdapat black box yang berfungsi memetakan input ke ruang output yang sesuai Dasar logika fuzzy adalah teori fuzzy set Pada teori fuzzy set peranan derajat keanggotaan sebagai penentu keberadaan elemen dalam suatu himpunan sangatlah penting Oleh karena itu derajat keanggotaan menjadi ciri utama dalam penalaran dengan logika fuzzy Logika fuzzy bekerja dengan menggunakan derajat keanggotan dari sebuah nilai yang kemudian digunakan untuk menentukan hasil yang ingin dihasilkan berdasarkan atas kriteria yang telah ditentukan (Kusumadewi 2003)

Berikut adalah beberapa alasan digunakannya logika fuzzy (Kusumadewi 2002)

1 Logika fuzzy sangat fleksibel

2 Konsep logika fuzzy mudah dimengerti dan dipahami

3 Logika fuzzy memiliki toleransi terhadap data ndash data yang homogen dan data ndash data yang kurang tepat

4 Logika fuzzy didasari pada bahasa alami atau bahasa sehari - hari sehingga mudah dimengerti

5 Logika fuzzy dapat bekerjasama dengan teknik ndash teknik kendali secara konvensional

6 Logika fuzzy mampu membangun dan mengaplikasikan pengalaman ndash pengalaman para pakar secara langsung tanpa harus melalui tahap atau proses pelatihan

A Himpunan Fuzzy

Himpunan fuzzy atau fuzzy set merupakan perluasan himpunan tegas atau himpunan crisp jadi fungsi karakteristik mencakup bilangan real pada interval [01] Dalam definisi lain himpunan fuzzy adalah suatu himpunan yang mewakili suatu keadaan atau kondisi tertentu dalam suatu variabel fuzzy Keanggotaan fuzzy berbeda dengan probabilitas jika keanggotaan fuzzy pada setiap fungsi karakteristik memberikan suatu pendapat atau keputusan sedangkan probabilitas menunjukan seberapa besar nilai kebenaran dalam fungsi karakteristik tersebut Contohnya yaitu nilai keanggotaan suatu himpunan fuzzy umur muda 09 berarti nilai dalam himpunan tersebut memiliki kemungkinan 90 anggotanya berumur muda dan 10 diharapkan tidak muda Dalam himpunan fuzzy suatu bilangan bisa memiliki dua keanggotaan sekaligus Himpunan fuzzy memiliki dua attribut (Kusumadewi2003)

11

1 Linguistik merupakan penamaan suatu himpunan yang mewakili suatu keadaan atau kondisi tertentu dengan menggunakan bahasa alami misalnya muda parobaya tua

2 Numeris merupakan suatu nilai (angka) yang menunjukkan ukuran dari suatu

variabel seperti 402550 dan sebagainya

B Fungsi Keanggotaan

Fungsi keanggotaan adalah suatu kurva yang menunjukkan pemetaan titik ndash titik input data ke dalam derajat keanggotaannya yang memiliki subinterval antara 0 sampai 1 (Kusumadewi Purnomo 2004) Salah satu cara yang dapat digunakan untuk mendapatkan nilai keanggotaan adalah dengan melalui pendekatan fungsi Ada beberapa fungsi keanggotaa yang dapat digunakan

1 Fungsi representasi linear

Pada fungsi representasi linear pemetaan input ke derajat keanggotaannya digambarkan sebagai suatu garis lurus Bentuk ini paling sederhana dan menjadi pilihan yang baik untuk mendekati suatu konsep yang kurang jelas Keadaan linear himpunan fuzzy terdiri dari dua keadaan yaitu keadaan linear naik dan keadaan linear turun Pada keadaan linear naik kenaikan himpunan dimulai pada nilai domain yang memiliki nilai derajat keanggotaan nol bergerak ke kanan menuju ke nilai domain yang memiliki derajat keanggotaan yang lebih tinggi seperti yang ditunjukkan Gambar 21 Persamaan fungsi keanggotaan pada representasi linear naik ditunjukkan oleh Persamaan 21

Fungsi Keanggotaan

120583(119909) = 0

(119909 minus 119886)(119887 minus 119886)1

119909 le 119886 119886 le 119909 le 119887119909 ge 119887

(21)

b a 0

1

Gambar 21 Representasi linear naik

Sumber Kusumadewi (2002)

120583(119909)

12

Pada keadaan linear turun berbanding terbalik dengan keadaan linear naik Garis lurus dimulai dari nilai domain dengan derajat keanggotaan tertinggi pada sisi kiri kemudian bergerak menurun ke nilai domain yang memiliki derajat keanggotaan lebih rendah yang ditunjukkan Gambar 22 Persamaan fungsi keanggotaan pada representasi linear turun ditunjukkan oleh Persamaan 22

Fungsi Keanggotaan

120583(119909) = (119887 minus 119909)(119887 minus 119886)0

119886 le 119909 le 119887

119909 ge 119887 (22)

2 Fungsi representasi kurva segitiga

Representasi kurva segitiga pada dasarnya merupakan gabungan antara 2 garis linear yaitu linear naik dan linear turun Fungsi representasi kurva segitiga ditandai oleh adanya tiga parameter abc yang akan menentukan koordinat x dari tiga sudut seperti ditunjukkan pada Gambar 23 Persamaan fungsi keanggotaan pada representasi kurva segitiga ditunjukkan oleh Persamaan 23

b a 0

1

Sumber Kusumadewi (2002)

Gambar 22 Representasi linear turun

120583(119909)

c a 0

1

b

Sumber Kusumadewi (2002)

Gambar 23 Representasi kurva segitiga

120583(119909)

13

Fungsi Keanggotaan

120583(119909) =

0 (119909 minus 119886)(119887 minus 119886) (119887 minus 119909)(119888 minus 119887)

119909 le 119886 119886119905119886119906 119909 ge 119888

119886 le 119909 le 119887 119887 le 119909 le 119888

(23)

225 Metode Fuzzy C-means

Fuzzy C-means (FCM) pertama kali diperkenalkan oleh Dunn dan dikembangkan oleh Bezdek yang banyak digunakan dalam pengenalan pola Metode ini merupakan pengembangan dari metode non-hierarkhi K-Means Cluster selanjutnya dilakukan iterasi sampai mendapatkan keanggotaan kelompok tersebut (Klawon 2001)

FCM merupakan salah satu algoritma fuzzy clustering dan juga teknik klasterisasi dimana tiap data ditentukan oleh derajat keanggotaanya Tujuan penggunaan algoritma FCM yaitu untuk menemukan pusat cluster atau centroid dengan meminimumkan fungsi objektif (Bazdek 1984) Ouput dari FCM bukan merupakan fuzzy inference system melainkan deretan pusat cluster dan beberapa derajat keanggotaan untuk setiap titik data Hasil output ini dapat digunakan untuk membangun suatu fuzzy inference system Berikut adalah langkah ndash langkah dari FCM (Kusumadewi 2004)

1 Langkah pertama menentukan jumlah cluster (c ge 2) pembobot (infin gt 119908 gt1) (Bazdek 1984) maksimum iterasi (maxIter) error minimum yang diharapkan yaitu nilai positif yang sangat kecil (120585) fungsi objektif awal (P0 = 0) iterasi awal dideklarasikan 1

2 Langkah kedua memasukkan data X yang akan diklasterisasi berupa matriks berukuran m x n (m = jumlah sampel data n = attribut setiap data) Contoh Xij = data sampel ke-i (i = 1234m) attribu ke-j (j=1234n)

3 Langkah ketiga yaitu dengan membuat bilangan random microik i = 1234n dan k = 123c (n = jumlah sampel pada data c = jumlah cluster yang akan dibentuk) sebagai elemen ndash elemen matriks partisi awal Untuk bilangan penyusun matriks partisi awal dihitung dihitung jumlahnya setiap kolom yang ditunjukkan pada pada Persamaan 24 (Kusumadewi 2004)

119876119896 = sum 120583119894119896119888119896=1 (24)

Dimana

119876119896 = jumlah bilangan pada kolom k

120583119894119896 = bilangan random pada baris i kolom k

119888 = jumlah kolom

14

Selanjutnya untuk menghitung derajat keanggotaan awal dengan melakukan normalisasi pada matiks partisi pada normalisasi dilakukan menggunakan Persamaan 25 (Kusumadewi 2004)

120583119894119896 = 120583119894119896119876119896 (25)

4 Langkah keempat melakukan perhitungan cluster ke-k Vkj dengan k = 1234c dan j = 1234m Perhitungan pusat cluster ditunjukkan pada Persamaan 26 (Kusumadewi 2004)

119881119896119895 = sum ((120583119894119896)119908 times 119883119894119895)119899

119894=1

sum (120583119894119896)119908119899119894=1

(26)

Dimana

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

120583119894119896 = derajat keanggotaan pada data ke-i cluster ke-k

119883119894119895 = data sampel pada data ke-i attribut ke-j

119908 = pembobot

5 Langkah kelima melakukan perhitungan fungsi objektif pada iterasi ke-t P1 Perhitungan fungsi objektif ditunjukkan pada Persamaan 27 (Kusumadewi 2004)

119875119905 = sum sum ([sum (119883119894119895 minus 119881119896119895)119898119895=1

2](120583119894119896)119908)119888

119896=1119899119894=1 (27)

Dimana

119875119905 = fungsi objektif

119883119894119895 = data sampel ke-i atribut ke-j

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

6 Langkah keenam melakukan perhitungan perbaikan matriks partisi yang telah ditunjukkan Persamaan 28 (Kusumadewi 2004)

120583119894119896 = [sum (119883119894119895minus119881119896119895)119898

119895=12

]

minus1119908minus1

sum [sum (119883119894119895minus119881119896119895)119898119895=1

2]

minus1119908minus1119888

119896minus1

(28)

Dimana

119883119894119895 = data sampel ke-i atribut ke-j

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

119908 = pembobot

7 Langkah ketujuh yaitu melakukan pemerikasaan kondisi berhenti dengan kondisi sebagai berikut

a Jika (|119875119905 minus 119875119905minus1| lt 120585) atau ( t gt MaxIter) maka berhenti

b Jika tidak memenuhi t = t +1 ulangi mulai dari langkah ke-4

15

226 Metode Peramalan dengan Fuzzy Time Series

Pada tahun 1996 Chen memperkenalkan metode peramalan dengan menggunakan metode Fuzzy Time Series Metode Fuzzy Time Series memiliki perbedaan dengan metode peramalan time series biasa atau konvensional yaitu terdapat pada data yang digunakan untuk peramalan Fuzzy Time Series data yang digunakan adalah berupa fuzzy set atau himpunan fuzzy dari bilangan ndash bilangan real atas himpunan semesta yang ditentukan Jadi Fuzzy Time Series merupakan metode dengan menggunakan data berupa fuzzy set yang berasal dari bilangan real atas Universe of Discorse pada data aktual Universe of Discourse adalah himpunan semesta dari data penelitian

Berikut adalah langkah ndash langkah metode Fuzzy Time Series yang telah diperkenalkan oleh Chen terdapat enam langkah yaitu

1 Langkah pertama yaitu membagi Universe of Discourse dari bilangan aktual ke dalam subinterval dengan jumlah interval yang sama Perhitungan Universe of Discourse ditunjukkan pada Persamaan 29 (Chen 1996)

119880 = [119863119898119894119899 minus 1198631 119863119898119886119909 + 1198632] (29)

Dimana

119880 = Universe of Discourse

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

1198631 dan 1198632 = bilangan positif yang ditentukan oleh user untuk menentukan Universe of Discourse dari himpunan data sampel

2 Langkah kedua adalah mendefinisikan fuzzy set dari Universe of Discourse (U) menjadikan A1 A2 A3 An ke dalam fuzzy set dengan nilai linguistik sesuai dengan keadaan U Selanjutnya mendefinisikan fuzzy set tersebut ditunjukkan pada Persamaan 210 (Chen 1996)

1198601 =11989111

1199061+

11989112

1199062+

11989113

1199063+ ⋯ +

1198911119896

119906119896 (210)

1198602 =11989121

1199061+

11989122

1199062+

11989123

1199063+ ⋯ +

1198912119896

119906119896

= + + + +

119860119896 =1198911198961

1199061+

1198911198962

1199062+

1198911198963

1199063+ ⋯ +

119891119896119896

119906119896

Dimana 119891119894119895120598 [01] 1 le 119894 le 119896 dan 1 le 119895 le 119898 Variabel 119891119894119895 menunjukkan

derajat keanggotaan dari subinterval 119906119895 dari fuzzy set 1198601 Pada konsep ini

Chen menggunakan nilai linguistik 1198601 = (not many) 1198602 = (not too many) 1198603= (many) 1198604 = (many many) 1198605 = (very many) 1198606 = (too many) 1198607= (too many many) Kemudian nilai linguistik tersebut dimasukkan ke tiap fuzzy set Dari U tersebut dapat dibangun fuzzy set sebagai berikut

16

1198601 = 1

1199061+

05

1199062+

0

1199063+

0

1199064+

0

1199065+

0

1199066+

0

1199067

1198602 = 05

1199061+

1

1199062+

05

1199063+

0

1199064+

0

1199065+

0

1199066+

0

1199067

1198603 = 0

1199061+

05

1199062+

1

1199063+

05

1199064+

0

1199065+

0

1199066+

0

1199067

1198604 = 0

1199061+

0

1199062+

05

1199063+

1

1199064+

05

1199065+

0

1199066+

0

1199067

1198605 = 0

1199061+

0

1199062+

0

1199063+

05

1199064+

1

1199065+

05

1199066+

0

1199067

1198606 = 0

1199061+

0

1199062+

0

1199063+

0

1199064+

05

1199065+

1

1199066+

05

1199067

1198607 = 0

1199061+

0

1199062+

0

1199063+

0

1199064+

0

1199065+

05

1199066+

1

1199067

3 Langkah ketiga yaitu melakukan fuzzifikasi data historis proses fuzzifikasi merupakan proses merubah data aktual yang merupakan bilangan crisp ke dalam bentuk bilangan fuzzy Bilangan fuzzy yang dimaksudkan adalah dalam bentuk derajat keanggotaan Dari beberapa derajat keanggotaan yang terbentuk kemudian dipilih satu fuzzy set yang memiliki derajat keanggotaan teringgi Fuzzifikasi dinotasikan sebagai berikut jika F(t-1) berada pada fuzzy set Ak maka F(t-1) difuzzifikasikan sebagai Ak

4 Langkah keempat adalah mengidentifikasi Fuzzy Logic Relationship (FLR) FLR diidentifikasikan sebagai Ai dan F(t) difuzzifikasikan sebagai Ai rarr Aj Ai sebagai sisi kiri relationship disebut sebagai current state dan Aj sebagai sisi kanan relationship disebut next state Jika terjadi perulangan relationship maka tetap dihitung satu kali

5 Langkah kelima yaitu mengelompokkan menjadi Fuzzy Logical Relationship Group (FLRG) FLRG dibangun berdasarkan sisi kiri (current state) yang sama

6 Langkah terakhir yaitu langkah keenam adalah melakukan defuzzifikasi nilai keluaran peramalan Defuzzifikasi adalah mengubah nilai keluaran fuzzy menjadi bilangan crisp kembali sehingga diperoleh hasil akhir peramalan Defuzzifikasi didasarkan pada tiga (3) rule aturan yaitu (Chen 1996)

I Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai hanya memiliki satu FLR pada FLRG yaitu dengan kondisi Ai rarr Aj dimana nilai maksimum fungsi keanggotaanya berada pada 119906119895 maka nilai peramalan untuk n+1 adalah

nilai tengah dari 119906119895 atau didefinisikan dengan 119898119895

II Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai memiliki lebih dari satu FLR pada FLRG yaitu dengan kondisi Ai rarr Aj1 Aj2 Ajp Dimana nilai tengah untuk masing ndash masing Aj1 Aj2 Aj3 Ajp adalah mj1 mj2 mj3 mjp

maka nilai peramalan untuk n+1 adalah (mj1 mj2 mj3 mjp) p

III Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai tidak memiliki FLR pada FLRG dimana nilai maksimum fungsi keanggotaannya berada pada 119906119895

17

maka nilai peramalan untuk n+1 adalah nilai tengah dari 119906119895 atau

didefinisikan dengan 119898119895

227 Metode High Order Fuzzy Time Series Multi Factors

Metode High Order Fuzzy Time Series Multi Factors adalah metode Fuzzy Time Series (FTS) yang melibatkan beberapa faktor yang mempengaruhi peramalan dengan berdasarkan beberapa periode waktu sebelum periode yang akan diramalkan dalam proses pembentukkan Fuzzy Logical Relationship (FLR) Hasil peramalan dengan banyak faktor yang mempengaruhi dinilai lebih baik dari pada dengan hanya satu faktor yang mempengaruhi (LinYang 2009) Pada metode ini pembentukkan subinterval yang berfungsi dalam pendefinisian fuzzy set dilakukan dengan menggunakan teknik klasterisasi fuzzy C-means Berikut adalah langkah ndash langkah Metode High Order Fuzzy Time Series Multi Factors (LinYang 2009)

1 Langkah pertama adalah melakukan perhitungan Universe of Discourse (U) Sebelum menghitung nilai U terlebih dulu menghitung nilai mean (rata ndash rata) sampel lalu menghitung nilai standar deviasi (120590) Mean merupakan perhitungan jumlah dari semua nilai dalam kumpulan data kemudian dibagi dengan jumlah total data untuk menghitung nilai mean ditunjukkan pada Persamaan 211 (Weisstein 2015) Standar deviasi merupakan akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel untuk menghitung nilai standar deviasi (120590) ditunjukkan pada Persamaan 212 (Weisstein 2015) Perhitungan U ditunjukkan pada Persamaan 213 (LinYang 2009)

119909 =sum 119909119894

119899119894=1

119899 (211)

Dimana

= mean (rata ndash rata)

119909119894 = nilai data ke-i

119899 = banyak data

120590 = radicsum (119909119894minus ) 2119899

119894=1

119899minus1 (212)

Dimana

120590 = Standar deviasi data

119880 = [119863119898119894119899 minus 120590 119863119898119886119909 + 120590] (213)

Dimana

119880 = Universal 0f Discourse

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

18

2 Langkah kedua yaitu menentukan jumlah cluster data Proses klasterisasi bertujuan untuk membagi U kedalam beberapa subinterval Hasil perhitungan banyaknya cluster apabila bernilai pecahan maka harus dibulatkan menjadi bilangan bulat Perhitungan banyaknya cluster ditunjukkan pada Persamaan 214 (LinYang 2009)

119896 = ||119863119898119894119899 minus 119863119898119886119909|sum |119883(119905)minus119883(119905minus1)|119899

119905=1

119899minus1| (214)

Dimana

119896 = banyaknya jumlah cluster

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

119899 = banyaknya data sampel

119883(119905) = data pada waktu ke-t

3 Langkah ketiga yaitu melakukan pembentukan pusat cluster Pada metode ini proses klasterisasi data menggunakan fuzzy C-means (FCM) untuk mendapatkan pusat cluster sebanyak k Tahapannya U dibagi kedalam k subinterval (119863119898119894119899 1198891) (1198891 1198892) (1198892 1198893) hellip (119889119896minus1 119863119898119886119909) dimana di (i = 123k-1) merupakan titik tengah antara dua pusat cluster k subinterval didefinisikan sebagai 1199061 1199062 1199063 hellip 119906119896 Sehingga dalam hal ini subinterval

dengan panjang berbeda dapat menggambarkan struktur data kompleks dengan baik dan dapat meningkatkan peramalan dibandingkan menggunakan subinterval dengan panjang yang sama (LinYang 2009)

4 Langkah keempat yaitu melakukan pembentukan himpunan fuzzy atau fuzzy set Pada langkah ini fuzzy set direpresentasikan dengan kurva bahu Pembentukkan fuzy set ditunjukkan pada Persamaan 215 (LinYang 2009)

1198601 =11989111

1199061+

11989112

1199062+

11989113

1199063+ ⋯ +

1198911119896

119906119896 (215)

= + + + +

119860119896 =1198911198961

1199061+

1198911198962

1199062+

1198911198963

1199063+ ⋯ +

119891119896119896

119906119896

5 Langkah kelima yaitu proses fuzzifikasi Proses fuzzifikasi bertujuan untuk mengubah data sampel yang masih berupa bilangan crisp sehingga menjadi bilangan fuzzy Masing ndash masing data dihitung derajat keanggotaannya terhadap fuzzy set yang sudah terbentuk selajutnya derajat kanggotaan dihitung berdasarkan kurva bahu dan derajat keanggotaan tertinggi menunjukkan hasil fuzzifikasi data tersebut Contohnya A(t) B(t) C(t) dan D(t) dimana t= 123n merupakan time series dari faktor yang mempengaruhi serta n merupakan banyaknya data Berdasarkan pembagian subinterval masing ndash masing time series ini difuzzifikasikan Misalkan hasil dari Persamaan 215 yaitu menghitung banyak cluster dari k1 k2 k3 k4 Jadi time series difuzzifikasikan menjadi empat fuzzy time series yaitu

19

A(ti) dimana i = 1234k1

B(tj) dimana j = 1234k2

C(tp) dimana p = 1234k3

D(tq) dimana q = 1234k4 t = 123n

6 Langkah keenam yaitu melakukan pembentukkan Fuzzy Logical relationship (FLR) Data sampel sebanyak n periode dipilih sebagai data training untuk membentuk fuzzy time series model Misalkan t merupakan periode waktu yang akan diramal dengan menggunakan order ndash 3 maka tiga periode sebelum periode t adalah t-3 t-2 dan t-1 dimana t = 456n Maka FLR yang dihasilkan ditunjukkan pada Persamaan 216 dan berdasarkan persamaan tersebut maka akan membentuk sebuah kumpulan FLR dari data training (LinYang 2009)

(119860(119905minus31198943) 119861(119905minus31198953) 119862(119905minus31199013) 119863(119905minus31199023)) (216)

(119860(119905minus21198942) 119861(119905minus21198952) 119862(119905minus21199012) 119863(119905minus21199022))

(119860(119905minus11198941) 119861(119905minus11198951) 119862(119905minus11199011) 119863(119905minus11199021)) rarr 119860(1199051198944)

Tabel 22 Fuzzy Logic Relationship

(119860(119905minus31198943) 119861(119905minus31198953) 119862(119905minus31199013) 119863(119905minus31199023))

(119860(119905minus21198942) 119861(119905minus21198952) 119862(119905minus21199012) 119863(119905minus21199022))

(119860(119905minus11198941) 119861(119905minus11198951) 119862(119905minus11199011) 119863(119905minus11199021)) rarr 119860(1199051198944)

(119860(119905minus21198943) 119861(119905minus21198953) 119862(119905minus21199013) 119863(119905minus21199023))

(119860(119905minus11198942) 119861(119905minus11198952) 119862(119905minus11199012) 119863(119905minus21199022))

(119860(1199051198941) 119861(1199051198951) 119862(1199051199011) 119863(1199051199021)) rarr 119860(119905+11198944)

(119860(119905+119899minus71198943) 119861(119905+119899minus71198953) 119862(119905+119899minus71199013) 119863(119905+119899minus71199023))

(119860(119905+119899minus61198942) 119861(119905+119899minus61198952) 119862(119905+119899minus61199012) 119863(119905+119899minus61199022))

(119860(119905+119899minus51198941) 119861(119905+119899minus51198951) 119862(119905+119899minus51199011) 119863(119905+119899minus51199021)) rarr 119860(119905+119899minus41198944)

Sumber (LinYang 2009)

7 Langkah terakhir adalah proses Defuzzifikasi Berdasarkan langkah sebelumnya maka dapat diambil hasil fuzzy ke- H yaitu yang digunakan sebagai data testing atau data uji seperti yang ditunjukkan pada Persamaan 217 (LinYang 2009)

(119860(119867minus31198943) 119861(119867minus31198953) 119862(119867minus31199013) 119863(119867minus31199023)) (217)

(119860(119867minus21198942) 119861(119867minus21198952) 119862(119867minus21199012) 119863(119867minus21199022))

(119860(119867minus11198941) 119861(119867minus11198951) 119862(119867minus11199011) 119863(119867minus11199021)) rarr 119860(1198671198944)

20

Faktor ndash faktor di ruas kiri pada Persaman 217 dibandingkan satu per satu dengan FLR data training yang sudah dicatat sebelumnya pada Tabel 22 membandingkannya yaitu dengan cara menghitung nilai absolut dari selisih antara pangkat bawah kedua faktor pada posisi yang sama di FLR Terdapat 12 fuzzy set di ruas kiri pada masing ndash masing FLR sehingga dari hasil perbandingan diperoleh 12 nilai absolut yang kemudian dijumlahkan untuk mendapat total selisihnya Jadi jika total selisih lebih kecil dari threshold yang ditentukan maka FLR tersebut dinyatakan cocok (LinYang 2009)

Selanjutnya jika FLR menemukan N pasangan yang cocok pada Tabel 22 maka N faktor di ruas kanan dari N FLR ini mendasari peramalan fuzzy set A() yang mana jumlah dari setiap fuzzy set pada umumnya berbeda Untuk peramalan dengan fuzzy set ditunjukkan pada Tabel 23 (LinYang 2009)

Tabel 23 Peramalan fuzzy set

Ruas Kanan A(1) A(2) A(3) A(k1)

Pusat cluster c1 c2 c3 ck1

Frekuensi f1 f2 f3 fk1

Sumber (Lin Yang 2009)

Berdasarkan Tabel 23 dengan menggunakan metode centroid untuk melakukan proses defuzzifikasi Proses defuzzifikasi dapat ditunjukkan pada Persamaan 218 (LinYang 2009)

119903119867 =sum 119888119894times 119891119894

1198961119894=1

sum 119891119894119896119894119894=1

(218)

Dimana

119903119867 = hasil (result) peramalan data ke-H

119888119894 = pusat cluster i dimana A(i) adalah ruas kanan dari FLR hasil proses pencocokan

119891119894 = frekuensi banyaknya muncul A(i) pada saat proses pencocokan

228 Perhitungan keakuratan metode peramalan

Dalam perencanaan peramalan tentu menginginkan hasil ramalan yang tepat atau paling tidak hampir mendekati sehingga rencana yang dibuat menjadi rencana yang realistis Keakuratan atau ketepatan merupakan yang menjadi kriteria performance suatu metode peramalan Keakuratan tersebut dapat dinyatakan sebagai kesalahan peramalan (forecast error) Semaikin kecil nilai kesalahan peramalan maka semaikin tinggi keakuratan metode peramalan yang digunakan dan sebaliknya semakin tinggi nilai kesalahan maka semakin rendah keakuratan metode peramalan yang digunakan

Mean Square Error (MSE) adalah salah satu metode yang digunakan untuk menghitung nilai akurasi atau keakuratan dari metode yang digunakan sebagai peramalan atau prediksi MSE merupakan perhitungan pangkat dua dari selisih

21

antara nilai data hasil peramalan dengan nilai data aktual dan kemudian dibagi dengan banyaknya data yang telah diramalkan Pada penentuan nilai evaluasi memilih menggunakan metode MSE karena metode ini dapat menunjukan hasil skala kemiripan antara hasil data peramalan dengan data aktual Berikut merupakan metode Mean Square Error (MSE) yang ditunjukan pada Persamaan 219 (Wang Chen 2009)

119872119878119864 = sum (119865119905minus119860119905)2119899

119894=1

119899 (219)

Dimana 119872119878119864 = nilai Mean Square Error Rate 119860119905 = nilai aktual pada data ke-t 119865119905 = nilai hasil peramalan untuk data ke-t n = banyaknya data

22

BAB 3 METODOLOGI

Pada bab ini akan dibahas mengenai metode yang digunakan beserta tahap ndash tahap pengerjaan penelitian skripsi dengan judul ldquoPeramalan Curah Hujan dengan Metode High Order Fuzzy Time Series Multi Factorsrdquo Penilitian ini digolongkan sebagai penelitian implementatif dengan pendekatan perancangan (design)

Metode penelitian ini meliputi studi literatur pengumpulan data perancangan implementasi pengujian dan analisis pengambilan kesimpulan Berikut adalah alur dari metode penelitian dapat ditunjukkan pada Gambar 31

31 Studi Literatur

Pada tahap studi literatur penelitian ini bertujuan untuk mempelajari literatur dan konsep dari beberapa informasi dan pustaka yang berkaitan dengan penelitian ini Literatur dan sumber ilmu dari penelitian ini diperoleh dari internet buku dan bimbingan oleh dosen pembimbing Adapun literatur yang dipelajari yaitu tentang curah hujan serta faktor ndash faktor yang mempengaruhinya dan metode High Order Fuzzy Time Series Multi Factors

Studi Literatur

Pengumpulan Data

Perancangan

Implementasi

Pengujian dan Analisis

Kesimpulan dan Saran

Gambar 31 Diagram blok metodologi penelitian

23

32 Pengumpulan Data

Pada tahap pengumpulan penelitian ini sumber data yang diperoleh yaitu dari Badan Meteorologi Klimatologi dan Geofisikia (BMKG) Stasiun Klimatologi Kelas III Karangkates Kabupaten Malang Data yang diperoleh untuk peramalan curah hujan yaitu data aktual time series (2011 - 2016) Data yang digunakan dalam bentuk dasarian yaitu dalam rentang waktu sepuluh hari sehingga dalam satu bulan dibagi menjadi tiga dasarian

Dasarian pertama yaitu pada tanggal 1 sampai dengan 10

Dasarian kedua yaitu pada tanggal 11 sampai dengan 20

Dasarian ketiga yaitu pada tanggal 21 sampai dengan akhir bulan

Pada penelitian ini data curah hujan dalam satuan milimeter (mm) kelembaban dalam persen () suhu udara dalam satuan celsius (˚C) kecepatan angin dalam satuan kilometer per jam (kmjam)

33 Perancangan

Pada tahap perancangan penelitian ini bertujuan untuk mengetahui rancangan ndash rancangan yang merupakan langkah yang dilakukan saat melakukan tahap implementasi Pada tahap ini terdapat beberapa perancangan yaitu perancangan proses yang berisi tahapan ndash tahapan proses metode High Order Fuzzy Time Series Multi Factors perhitungan manual yang merupakan manualisasi dari metode yang digunakan pada penelitian ini perancangan antar muka atau user interface yang berisi gambaran kasar dari tampilan antar muka prototype aplikasi yang nantinya diterapkan pada tahap implementasi selanjutnya adalah perancangan pengujian yang berisi rancangan ndash rancangan pengujian metode yang digunakan untuk mengetahui berapa tingkat kesalahan atau error yang dimiliki metode pada penelitian ini dalam melakukan peramalan curah hujan

34 Implementasi

Pada tahap implementasi peneltian ini dilakukan sesuai dengan perancangan yang telah dibuat pada tahapan perancangan sebelumnya Implementasi dari metode High Order Fuzzy Time Series Multi Factors dilakukan menggunakan bahasa pemrograman java serta Integrated Development Environment (IDE) yang digunakan adalah Netbeans Sehingga nantinya hasil dari tahap ini berupa prototype aplikasi dari implementasi metode High Order Fuzzy Time Series Multi Factors untuk peramalan curah hujan

35 Pengujian dan Analisis

Pada tahapan penelitian pengujian ini diperlukan perangkat lunak dan perangkat keras agar pengujian dari hasil implementasi dapat berjalan dengan baik maka pengujian perangkat lunak dijalankan pada laptop ataupun PC (Personal Computer) dengan spesifikasi sebagai berikut

24

1 Prosesor Intel Core i3

2 Memory RAM 8 Gigabytes

3 Sistem Operasi menggunakan Windows 7 64bit

4 Hardisk dengan kapasitas 500 GB

5 Netbeans 81 JDK 7

Pengujian hasil peramalan menggunakan metode High Order Fuzzy Time Series Multi Factors yaitu menggunakan metode Mean Square Error (MSE) Dimana rumus pengujian sesuai dengan Persamaan 219 Dalam pengujian menggunakan metode ini semakin kecil nilai MSE maka semakin tinggi tingkat akurasi hasil peramalan tersebut Pada penelitian ini untuk keperluan pengujian dari proses implementasi dilakukan empat pengujian yaitu pengujian terhadap perbedaan nilai order pengujian terhadap perbedaan nilai threshold pengujian terhadap data training untuk mengetahui pengaruhnya terhadap nilai MSE dan pengujian validasi sistem untuk mengetahui bahwa hasil implementasi metode High Order Fuzzy Time Series Multi Factors dapat melakukan peramalan

36 Kesimpulan dan Saran

Pada pengambilan kesimpulan akan dilakukan apabila semua tahapan ndash tahapan penelitian sudah dilakukan yaitu yang meliputi perancangan implementasi dan pengujian dan analisis telah selesai dilakukan Kesimpulan merupakan tahapan dimana semua rumusan masalah yang sudah ditetapkan sebelumnya dapat terjawab semua Selanjutnya pada saran merupakan berkenaan dengan hasil yang telah dicapai untuk memperbaiki kekurangan - kekurangan yang terjadi pada penelitian ini serta memberikan pertimbangan pada pengembangan penelitian lebih lanjut

25

BAB 4 PERANCANGAN

Pada bab ini berisi tentang perancangan yang nantinya digunakan sebagai dasar dalam tahap implementasi Hal yang dibahas meliputi perancangan proses perhitungan manual perancangan pengujian dan perancangan antar muka

41 Perancangan Proses

Pada perancangan proses ini berisi mengenai tahapan ndash tahapan dari metode yang digunakan yaitu metode High Order Fuzzy Time Series Multi Factors Pada penelitian ini melibatkan faktor ndash faktor yang mempengaruhi curah hujan yaitu suhu udara kelembaban udara dan kecepatan angin Data time series dari curah hujan merupakan faktor utama dalam proses peramalan pada penelitian ini Inputan pada peneltian ini yaitu data time series curah hujan serta faktor ndash faktor yang mempengaruhinya Order yang digunakan pada metode ini merupakan order lebih dari satu oleh karena itu disebut dengan High Order Order merupakan urutan jumlah dari data time series pada periode waktu t yang mempengaruhi nilai data Berikut merupakan diagram alir dari proses peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors yang ditunjukkan pada Gambar 41 dan Gambar 42

Gambar 41 Diagram alir metode penelitian yang digunakan (bagian 1)

Mulai

Data curah hujan suhu kelembaban kecepatan angin jmlh_Banyakdata jmlh_Faktor

Universe_of_Discourse

A

Jumlah_Cluster

26

411 Proses perhitungan Universe of Discourse

Pada perhitungan Universe of Discourse harus sudah dilakukan inputan data agar dapat memulai tahapan perhitungan Tahapan dari proses perhitungannya yaitu pada langkah pertama dilakukan perhitungan nilai mean (rata ndash rata) sesuai dengan Persamaan 211 Setelah mendapatkan nilai mean dapat dilakukan perhitungan untuk mencari nilai standar deviasi sesuai dengan Persamaan 212 Selanjutnya dicari nilai terkecil (119863119898119894119899) dan nilai terbesar (119863119898119886119909) Setelah menyelesaikan tahap ndash tahap tersebut dapat dilakukan perhitungan untuk

Gambar 42 Diagram alir metode penelitian yang digunakan (bagian 2)

A

Perhitungan Pusat Cluster

Fuzzifikasi

Pembentukan Fuzzy Logical Relationship

Defuzzifikasi

Nilai hasil peramalan

Berhenti

Pembentukan Subinterval dan Fuzzy set

27

mencari Universe of Discourse sesuai dengan Persamaan 213 Berikut merupakan diagram alir dari proses perhitungan Universe of Discourse yang ditunjukkan pada Gambar 43

Perhitungan Universe of Discourse

Mulai

Min_dan_Max

mean

standar_deviasi

for i = 0 to jmlh_Faktor-1

i

hsl_uMin ke i = hsl_min ke i ndash hsl_stdev ke i

hsl_uMax ke i = hsl_max ke i + hsl_stdev ke i

hsl_uMin hsl_uMax

Berhenti

Gambar 43 Diagram alir proses perhitungan Universe of Discourse

28

4111 Proses perhitungan Mean

Pada proses perhitungan mean merupakan nilai rata ndash rata dari setiap faktor dimana nilai mean ini nantinya dibutuhkan untuk melakukan proses perhitungan standar deviasi Berikut merupakan diagram alir dari proses perhitungan mean yang ditunjukkan pada Gambar 44

mean

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to jmlh_DataTraining

tmp_jmlh = 0

tmp_jmlh = tmp_jmlh + data ke ij

j

hsl_mean ke i = tmp_jmlhjmlh_DataTraining

i

hsl_mean

Berhenti

Gambar 44 Diagram alir proses perhitungan mean

29

4112 Proses perhitungan standar deviasi

Pada proses perhitungan standar deviasi dapat dilakukan setelah mendapatkan nilai mean dari setiap data sesuai proses sebelumnya Berikut merupakan diagram alir dari proses perhitungan standar deviasi yang ditunjukkan pada Gambar 45

standar_deviasi

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to jmlh_DataTraining

result = 0

result = result + (data ke ij ndash mean ke i)2

j

hsl_stdev ke i = radicresult

jmlh_DataTrainingminus1

i

hsl_stdev

Berhenti

Gambar 45 Diagram alir proses perhitungan standar deviasi

30

4113 Proses perhitungan nilai Dmin dan Dmax

Pada proses perhitungan ini merupakan proses perhitungan untuk mencari nilai terkecil dan terbesar dari setiap faktor data Setelah mendapat nilai terkecil dan terbesar maka data dilakukan proses perhitungan Universe of Discourse Berikut merupakan diagran alir dari proses perhitungan nilai Dmin dan Dmax yang ditunjukkan pada Gambar 46

Gambar 46 Diagram alir perhitungan nilai Min dan Max

ya

ya

tidak

tidak

Min_dan_Max

Mulai

for i = 0 to jmlh_Faktor-1

besar = data ke i0

kecil = data ke i0

for j=0 to jmlh_DataTraining

data ke ij gt besar

besar = data ke ij

data ke ij lt kecil

kecil = data ke ij

j

hsl_max ke i = besar

hsl_min ke i = kecil

i

hsl_max hsl_min

Berhenti 1

1

2

2

3

4

4

5

5

3

31

412 Proses perhitungan jumlah cluster

Pada proses perhitungan jumlah cluster memiliki masukkan proses Dmin dan Dmax

dari proses perhitungan sebelumnya Pada proses ini terdapat perhitungan nilai dari selisih setiap data Pada perhitungan jumlah cluster sesuai dengan Persamaan 214 Berikut merupakan langkah ndash langkah perhitungan jumlah cluster yang ditunjukkan pada Gambar 47

jumlah_Cluster

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to (jmlh_DataTraining-1)

Berhenti

hsl_max hsl_min

selisih = 0

selisih = selisih + |data ke ij ndash data ke i (j+1)|

j

jmlh_Cluster ke i = |ℎ119904119897_119898119894119899 119896119890 119894minusℎ119904119897_119898119886119909 119896119890 119894|

119904119890119897119894119904119894ℎ

119895119898119897ℎ_119863119886119905119886119879119903119886119894119899119894119899119892minus1

i

jmlh_Cluster

Gambar 47 Diagram alir proses perhitungan jumlah cluster

32

413 Proses perhitungan pusat cluster

Pada proses perhitungan pusat cluster ini diperlukan beberapa variabel yang harus dideklarasikan terlebih dahulu yaitu nilai bobot fungsi objektif nilai iterasi awal nilai iterasi maksimum dan error terkecil Perhitungan subinterval ini menggunakan metode fuzzy C-means yang diawali dengan pencarian pusat cluster terlebih dahulu Berikut merupakan langkah ndash langkah perhitungan subinterval yang ditunjukkan pada Gambar 48 Gambar 49 Gambar 410 Gambar 411 Gambar 412

Gambar 48 Diagram alir proses perhitungan pusat cluster (bagian 1)

Perhitungan pusat cluster

Mulai

jmlh_Cluster

for i = 0 to jmlh_Faktor-1

Deklarasi bobot selisih_f_objektif

iter_maksimum error_min

Pembentukan Matriks partisi faktor A jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor A

for iter = iter to iter_maksimum

A

i == 0

Perhitungan pusat_cluster1 faktor A

B C D

tidak

ya

33

Gambar 49 Diagram alir proses perhitungan pusat cluster (bagian 2)

ya

tidak

tidak

ya

Perhitungan f_objektif faktor A

A B C D

Perhitungan selisih_f_objektif faktor A

Perbaikan matriks partisi faktor A

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster1 faktor A

Iter = iter_maksimum

iter

i == 1

Pembentukan Matriks partisi faktor B jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor B

for iter = iter to iter_maksimum

F A G E

34

tidak

tidak

ya

A E F G

Perhitungan pusat_cluster2 faktor B

Perhitungan f_objektif faktor B

Perhitungan selisih_f_objektif faktor B

Perbaikan matriks partisi faktor B

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster2 faktor B

Iter = iter_maksimum

iter

i == 2

Pembentukan Matriks partisi faktor C jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor C

I A H

Gambar 410 Diagram alir proses perhitungan pusat cluster (bagian 3)

ya

35

tidak

tidak

Gambar 411 Diagram alir proses perhitungan pusat cluster (bagian 4)

ya

A H I

for iter = iter to iter_maksimum

Perhitungan pusat_cluster3 faktor C

Perhitungan f_objektif faktor C

Perhitungan selisih_f_objektif faktor C

Perbaikan matriks partisi faktor C

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster3 faktor C

Iter = iter_maksimum

iter

i == 3

Pembentukan Matriks partisi faktor D jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor D

J A K

ya

36

tidak

ya

Gambar 412 Diagram alir proses perhitungan pusat cluster (bagian 5)

A K J

for iter = iter to iter_maksimum

Perhitungan pusat_cluster4 faktor D

Perhitungan f_objektif faktor D

Perhitungan selisih_f_objektif faktor D

Perbaikan matriks partisi faktor D

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster4 faktor D

Iter = iter_maksimum

iter

i

pusat_cluster1pusat_cluster2 pusat_cluster3pusat_cluster4

Berhenti

37

tidak

ya

tidak

ya

Gambar 413 Diagram alir pembentukan subinterval dan fuzzy set (bagian 1)

414 Proses pembentukan subinterval dan Fuzzy set

Pada proses pembentukan fuzzy set atau himpunan fuzzy pada penelitian ini dapat dilakukan setelah perhitungan subinterval selesai dilakukan Nilai subniterval merupakan masukan utama pada pembentukkan fuzzy set Pembentukan fuzzy sesuai dengan Persamaan 215 Berikut merupakan langkah ndash langkah proses pembentukan fuzzy set yang ditunjukkan pada Gambar 413 dan Gambar 414

Pembentukan subinteval dan Fuzzy set

Mulai

pusat_cluster1pusat_cluster2 pusat_cluster3pusat_cluster4

for i = 0 to jmlh_Faktor-1

Menentukan batas_subintervalMinA dan

batas_subintervalMaxA

Menentukan batas_fuzzysetMinA dan batas_fuzzysetMaxA

i == 0

i == 1

Menentukan batas_subintervalMinB dan

batas_subintervalMaxB

Menentukan batas_fuzzysetMinB dan batas_fuzzysetMaxB

A C B

38

tidak

tidak

ya

ya

415 Proses Fuzzifikasi

Pada proses fuzzifikasi ini pembentukanya sesuai derajat keanggotaan pada setiap data Pada proses ini derajat keanggotaan dihitung berdassarkan fungsi keanggotaan kurva bahu Hasil dari proses ini merupakan data yang sudah difuzzifikasikan menjadi data fuzzy Berikut langkah ndash langkah dari proses fuzzifikasi ditunjukkan pada Gambar 415 dan Gambar 416

i == 2

A B C

Menentukan batas_subintervalMinC dan batas_subintervalMaxC

Menentukan batas_fuzzysetMinC dan batas_fuzzysetMaxC

i == 3

Menentukan batas_subintervalMinD dan batas_subintervalMaxD

Menentukan batas_fuzzysetMinD dan batas_fuzzysetMaxD

i

batas_fuzzysetMinA batas_fuzzysetMaxA batas_fuzzysetMinB batas_fuzzysetMaxB batas_fuzzysetMinC batas_fuzzysetMaxC batas_fuzzysetMinD batas_fuzzysetMaxD

Berhenti

Gambar 414 Diagram alir pembentukan subinterval dan fuzzy set (bagian 2)

39

tidak

ya

ya

tidak

Fuzzifikasi

Mulai

for i = 0 to jmlh_Faktor-1

Menentukan hasil_fuzzifikasiA dari faktor A

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinA batas_fuzzysetMaxA

Gambar 415 Diagram alir proses fuzzifikasi (bagian 1)

batas_fuzzysetMinA batas_fuzzysetMaxA batas_fuzzysetMinB batas_fuzzysetMaxB batas_fuzzysetMinC batas_fuzzysetMaxC batas_fuzzysetMinD batas_fuzzysetMaxD

DD

i == 0

i == 1

Menentukan hasil_fuzzifikasiB

dari faktor B

Menghitung derajat keanggotaan

berdasarkan batas_fuzzysetMinB

batas_fuzzysetMaxB

C A B

40

tidak

ya

ya

tidak

ya

i == 2

A B C

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinC batas_fuzzysetMaxC

Menentukan hasil_fuzzifikasiC dari faktor C

i == 3

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinD

batas_fuzzysetMaxD

Menentukan hasil_fuzzifikasiD dari faktor D

i

hasil_fuzzifikasiA hasil_fuzzifikasiB hasil_fuzzifikasiC hasil_fuzzifikasiD

Berhenti

Gambar 416 Diagram alir proses fuzzifikasi (bagian 2)

41

tidak

ya

416 Proses pembentukan Fuzzy Logical Relationship

Setelah data melalui proses fuzzifikasi dan sudah menjadi data fuzzy maka dapat dilakukan pembentukan Fuzzy Logical Relationship (FLR) Pembentukan FLR dilakukan sesuai dengan Persamaan 216Berikut adalah langkah ndash langkah proses pembentukan Fuzzy Logical Relationship (FLR) yang ditunjukkan pada Gambar 417 Gambar 418 dan Gambar 419

Gambar 417 Diagram alir proses Pembentukan FLR

(bagian 1)

Pembentukan Fuzzy Logical Relationship

Mulai

hasil_fuzzifikasiAhasil_fuzzifikasiB hasil_fuzzifikasiChasil_fuzzifikasiD order

for i = 0 to jmlh_dataTraining

max_inc = order jmlh_dataTraining = dataTraining - order

for j = i to max_inc

for k = 0 to jmlh_Faktor-1

j == 0

FLR_kiri_training ke ijk = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D)

ke j

E A B C D

42

ya

tidak

ya

tidak

A B C E D

FLR_kiri_training ke i(j-i)k = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D) ke j

j = 0

k

j

FLR_kanan_training ke i = hasil_fuzzifikasiA ke (i+order)

Max_inc lt (jmlh_DataTraining-1)

i

tmp_JmlhDatatraining = tmp_JmlhDatatraining +1

max_inc = max_inc + 1 tmp_JmlhDatatraining = i

Gambar 418 Diagram alir proses Pembentukan FLR (bagian 2)

for j = 0 to tmp_JmlhDatatraining

for j = tmp_JmlhDatatraining to max_inc

for k = 0 to jmlh_Faktor-1

I H G F

43

tidak

ya

417 Proses Defuzzifikasi

Proses defuzzifikasi merupakan proses akhir dimana keluaran dari proses ini merupakan nilai hasil peramalan Data yang diperlukan pada proses defuzzifikasi adalah hasil dari proses pembentukan Fuzzy Logical Relationship (FLR) nilai threshold yang harus dideklarasikan sebelumnya jumlah data training dan jumlah data testing Dalam proses ini dilakukan perhitungan selisih pada FLR antara data testing dan data training FLR yang dihitung nilai selisihnya adalah FLR pangkat bawah yang terdapat pada ruas kiri Setelah dilakukan perhitungan selisih dan total jumlah selisih lebih kecil dari nilai threshold maka pada setiap FLR yang

I H G F

FLR_kiri_testing ke i(j-tmp_jmlhDatatraining) k = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D) ke j

k

j

FLR_kanan_testing ke i = hasil_fuzzifikasiA ke (i+order)

i

Max_inc lt (jmlh_DataTraining-1)

max_inc = max_inc + 1 tmp_JmlhDatatraining++

FLR_kiri_training FLR_kanan_training FLR_kiri_testing FLR_kanan_testing

Mulai

Gambar 419 Diagram alir proses Pembentukan FLR (bagian 3)

44

ya

tidak

sesuai dengan kondisi tersebut dapat dikatakan cocok atau dapat dilakukan ke tahap perhitungan selanjutnya Setelah mendapatkan FLR yang cocok maka dilakukan pengelompokkan berdasarkan FLR ruas kanan Pengelompokkan ini dihitung jumlah frekuensi yang sama sesuai dengan fuzzy set di ruas kanan Selanjutnya untuk memperoleh hasil peramalan dilakukan proses perhitungan sesuai dengan Persamaan 218 Berikut adalah langkah ndash langkah proses defuzzifikasi yang ditunjukkan pada Gambar 420 dan Gambar 421

Gambar 420 Diagram alir proses defuzzifikasi (bagian 1)

Defuzzifikasi

Mulai

FLR_kiri FLR_kanan order dataTraining dataTesting konstanta

threshold = (jmlh_Faktor x order)+konstanta

for i = 0 to dataTesting

for j = 0 to (dataTraining-i)

Perhitungan hitung_selisih antara FLR_kiri data training dan data testing

hitung_selisih lt threshold

match ke ij = hitung_selisih

j

i

A

45

Gambar 421 Diagram alir proses defuzzifikasi (bagian 2)

A

Menghitung jumlah total FLR_kiri yang cocok untuk setiap data testing

Mencocokan FLR_kiri yang cocok dengan FLR_kanan untuk setiap data testing

for i = 0 to dataTesting

Menghitung frekuensi setiap FLR_kanan yang cocok untuk setap data testing

for j = 0 to jumlah total FLR kiri yang cocok

peramalan = peramalan + Frekuensi setiap FLR_kanan yang cocok x pusat_cluster1

sesuai dengan value FLR_kanannya

j

hasil_peramlan ke i = peramalan jumlah total FLR kiri yang cocok

i

Hasil_permalan

Berhenti

46

42 Perhitungan Manual

Dalam perhitungan manual ini data sampel yang digunakan merupakan data time series dasarian ke-2 pada periode April 2014 sampai dengan dasarian ke-2 Juli 2014 data sampel ditunjukkan pada Tabel 41

Tabel 41 Data Sampel Perhitungan Manual

No Dasarian Curah Hujan

(A)

Suhu (B) Kelembaban (C)

Kecepatan Angin(D)

1 Dasarian 2 (April 2014) 95 2615 8248 629

2 Dasarian 3 (April 2014) 90 2612 8247 628

3 Dasarian 1 (Mei 2014) 94 2607 8247 627

4 Dasarian 2 (Mei 2014) 83 2625 8232 623

5 Dasarian 3 (Mei 2014) 85 2628 8235 623

6 Dasarian 1 (Juni 2014) 92 2609 8241 626

7 Dasarian 2 (Juni 2014) 86 2627 8235 624

8 Dasarian 3 (Juni 2014) 89 2621 8238 624

9 Dasarian 1 (Juli 2014) 93 2607 8242 626

10 Dasarian 2 (Juli 2014) 86 2626 8237 623

Sumber BMKG Kelas III Karangkates Malang

421 Perhitungan Universe of Discourse (U)

Sebelum melakukan perhitungan U maka harus dicari terlebih dahulu nilai 119863119898119894119899 119863119898119886119909 dan standar deviasi 119863119898119894119899 adalah nilai minimum atau nilai terkecil dari data sampel yang ada sedangkan 119863119898119886119909 adalah nilai maksimum atau nilai paling besar dari data sampel yang ada Untuk mencari nilai standar deviasi harus menghitung nilai mean (rata ndash rata) terlebih dahulu sesuai dengan Persamaan 211 Mean dari data curah hujan (A) dihitung dengan cara sebagai berikut

Mean = (data ke-1 + data ke-2 + data ke-3 + + data ke-10) 10

= (95 + 90 + 94 + 83 + 85 + 92 + 86 + 89 + 93 + 86) 10

= 893 10

= 893

Selanjutnya setelah diperoleh nilai mean dilanjutkan melakukan perhitungan standar deviasi sesuai dengan Persamaan 212 Standar deviasi adalah akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel Untuk menghitung standar deviasi agar lebih mudah kita terlebih dahulu melakukan perhitungan nilai kuadrat dari selisih data ke-i dan mean yang ditunjukkan pada Tabel 42

47

Tabel 42 Hasil kuadrat dari selisih data ke-i dan mean

i Data ke-i Data ke-i mean (Data ke-i - mean)sup2

1 95 57 32490

2 90 07 0490

3 94 47 22090

4 83 -63 39690

5 85 -43 18490

6 92 27 7290

7 86 -33 10890

8 89 -03 0090

9 93 37 13690

10 86 -33 10890

Jumlah 1561

Setelah mendapatkan hasil nilai kuadrat dari selisih data ke-i dan mean sesuai dengan Tabel 42 maka dapat dilanjutkan melakukan perhitungan standar deviasi dengan cara sebagai berikut

Standar_deviasi = radic1

10minus1sum (119889119886119905119886 119896119890 minus 119894 minus 119898119890119886119899)10

119894=1

2

= radic1

9 times 1561

= 4165

Untuk perhitungan standar deviasi juga dilakukan pada faktor lainnya yaitu suhu (B) kelembaban (C) dan kecepatan angin (D) Hasil perhitungan 119863119898119894119899 119863119898119886119909 dan standar deviasi ditunjukkan pada Tabel 43

Tabel 43 Nilai minimum nilai maksimum dan standar deviasi

Data D min D max Standar Deviasi

A 83 95 4165

B 2607 2628 0086

C 8232 8248 0057

D 623 629 0022

Berdasarkan hasil yang ditunjukkan Tabel 43 selanjutnya dapat dilakukan perhitungan nilai U sesuai dengan Persamaan 213 Berikut adalah perhitungan U pada data A

U = [119863119898119894119899 minus 120590 119863119898119886119909 + 120590]

= [(83 ndash 4165) (95 ndash 4165)]

= [78835 99165]

48

Untuk perhitungan U juga dilakukan pada semua faktor yaitu data B C dan D Sehingga diperoleh nilai U yang ditunjukkan pada Tabel 44

Tabel 44 Hasil Universe of Discourse

Data U

Batas Bawah Batas Atas

A 78835 99165

B 25984 26366

C 82263 82537

D 6208 6312

422 Perhitungan jumlah cluster (k)

Pada perhitungan jumlah cluster langkah pertamanya adalah mencari nilai absolut dari selisih data hari ke-t dengan hari sebelumnya Perhitungan selisih dilakukan hingga data ke-10 Perhitungan nilai selisih dilakukan pada semua data A B C dan D Selanjutnya masing ndash masing nilai selisih dijumlah sehingga hasilnya seperti ditunjukkan pada Tabel 45

Tabel 45 Nilai absolut selisih data hari ke-t dengan hari sebelumnya

No Tanggal A B C D

1 Dasarian 3 (April 2014) 5 003 001 001

2 Dasarian 1 (Mei 2014) 4 005 0 001

3 Dasarian 2 (Mei 2014) 11 018 015 004

4 Dasarian 3 (Mei 2014) 2 003 003 0

5 Dasarian 1 (Juni 2014) 7 019 006 003

6 Dasarian 2 (Juni 2014) 6 018 006 002

7 Dasarian 3 (Juni 2014) 3 006 003 0

8 Dasarian 1 (Juli 2014) 4 014 004 002

9 Dasarian 2 (Juli 2014) 7 019 005 003

Jumlah 49 105 043 016

Setelah mendapatkan nilai absolut selisih data hari ke-t dengan hari sebelumnya dapat dilanjutkan dengan menghitung jumlah cluster sesuai dengan Persamaan 214 Perhitungan jumlah cluster pada data A (k1) berdasarkan pada Tabel 43 diketahui nilai 119863119898119894119899 adalah 171 nilai 119863119898119886119909 adalah 2048 maka jumlah cluster data A dapat ditunjukkan sebagai berikut

49

1198961 = ||119863119898119894119899 minus 119863119898119886119909|sum |119883(119905) minus 119883(119905 minus 1)|119899

119905=1

119899 minus 1|

= |83 minus 9549

10minus1| = 2204

Apabila hasil perhitungan jumlah cluster merupakan bilangan pecahan maka hasilnya harus dibulatkan Sehingga jumlah cluster pada data A adalah 2 Perhitungan jumlah cluster juga dilakukan pada data B (k2) C (k3) dan D (k4) Berikut merupakan hasil semua perhitungan jumlah cluster yang ditunjukkan pada Tabel 46

Tabel 46 Hasil jumlah cluster data

No Cluster Jumlah Cluster

1 k1 2

2 k2 2

3 k3 3

4 k4 3

423 Perhitungan pusat cluster dan subinterval

Pada pembentukan subinterval berdasarkan pada Tabel 46 yang menunjukkan jumlah subinterval yang selanjutnya digunakan untuk menentukan pusat cluster menggunakan algoritma fuzzy C-means (FCM)

4231 Penentuan pusat cluster

a Penentuan nilai variabel

Pada penentuan subinterval diawali dengan klasterisasi menggunakan algoritma FCM pada awal proses ditentukkan beberapa variabel sebagai berikut

Banyak cluster = k1 = 2

Bobot (w) = 2

Fungsi objektif awal = 0

Iterasi awal = 1

Iterasi maksimum = 100

Error terkecil = 001 b Pembentukan matriks partisi awal (micro)

Data pada pembentukan matriks partisi awal merupakan nilai random diantara nilai 0 sampai 1 Dimensi pada matriks partisi awal dibentuk dengan dimensi jumlah data (i) x jumlah cluster (k) Dalam hal ini telah diketahui jumlah data adalah 10 dan k1 adalah 2 maka partisi dimensi matriks awal adalah 10 x 2 Hasil pembentukan matriks partisi awal ditunjukkan pada Tabel 47 dimana Cluster disimbolkan dengan C

50

Tabel 47 Matriks partisi awal pada cluster data A

c Normalisasi matriks partisi awal

Langkah pertama normalisasi matriks partisi awal adalah dengan menghitung jumlah bilangan penyusun matriks pada setiap kolom yang dapat dilihat pada Tabel 47 dijumlah berdasarkan dengan Persamaan 24 Diketahui jumlah kolom matriks sebanyak 2 sehingga diperoleh Q1 untuk penjumlahan kolom c1 Q2 untuk penjumlahan kolom c2

Q1 = 0355 + 0174 + 02 + 0387 + 0598 + 0819 + 0702 + 0719 + 0349 +

0852

= 5154

Q2 = 0170 + 0815 + 0190 + 0456 + 0526 + 0170 + 0232 + 0572 + 0102 +

0322

= 3554

Langkah selanjutnya dilakukan proses normalisasi menggunakan Persamaan 25 Dimana setiap bilangan penyusun matriks awal dibagi dengan nilai Q sesuai dengan kolomnya masing ndash masing Bilangan penyusun matriks disimbolkan dengan microik dimana i menunjukkan baris dan k menunjukkan kolom posisi bilangan tersebut pada matriks

i micro

c1 c2

1 0355 0170

2 0174 0815

3 0200 0190

4 0387 0456

5 0598 0526

6 0819 0170

7 0702 0232

8 0719 0572

9 0349 0102

10 0852 0322

51

μ11 = bilangan matriks partisi pada baris 1 kolom 1

Q1

= 0355

5154

= 0069

μ12 = bilangan matriks partisi pada baris 1 kolom 2

Q2

= 0170

3554

= 0048

Setelah melakukan perhitungan seperti diatas untuk semua bilangan matriks sehingga matriks partisi sudah ternormalisasi seperti yang ditunjukkan pada Tabel 48

Tabel 48 Derajat keanggotaan matriks partisi data A

i micro

C1 C2

1 0069 0048

2 0034 0229

3 0039 0054

4 0075 0128

5 0116 0148

6 0159 0048

7 0136 0065

8 0140 0161

9 0068 0029

10 0165 0090

d Perhitungan pusat cluster (V)

Pada perhitungan pusat cluster (V) berdasarkan Persamaan 26 Dimana setiap bilangan penyusun matriks partisi (micro) dipangkatkan dengan w dimana variabel w yang sudah dideklarisakan terlebih dahulu dengan nilai sama dengan 2 dan dikalikan dengan bilangan penyusun matriks X yang merupakan matriks berisi data yang ada pada Tabel 41 Selanjutnya hasil perkalian tersebut dijumlah dan dibagi dengan jumlah hasil kuadrat dari bilangan penyusun matriks partisi Hasil perhitungan ditunjukkan pada Tabel 49

52

Tabel 49 Perhitungan pusat cluster data A

Berdasarkan jumlah cluster dari data A yaitu 2 maka terdapat 2 pusat cluster (V) yaitu V1 V2 Perhitungan nilai V adalah sebagai berikut

V1 = sum ((μic1)2 times Xi)10

i=1

sum (μic1)210i=1

= 10730216

0121620

= 8822718207

V2 = sum ((μic2)2 times Xi)10

i=1

sum (μic2)210i=1

= 12111287

0137572

= 8803592572

Jadi berdasarkan perhitungan diatas pusat cluster untuk data A pada iterasi ke-1 adalah 8822718207 8803592572

e Perhitungan fungsi objektif (P)

Pada perhitungan P menggunakan Persamaan 27 dimana setiap baris pada data matriks X dikurangi pusat cluster (V) selanjutnya dikuadratkan Hasilnya

i X microsup2 microsup2 x X

C1 C2 C1 C2

1 95 0004731 0002292 0449450 0217718

2 90 0001137 0052633 0102304 4736927

3 94 0001512 0002864 0142117 0269234

4 83 0005630 0016427 0467258 1363472

5 85 0013448 0021907 1143107 1862112

6 92 0025233 0002291 2321422 0210787

7 86 0018542 0004243 1594602 0364916

8 89 0019487 0025916 1734356 2306543

9 93 0004590 0000816 0426841 0075870

10 86 0027311 0008183 2348759 0703706

Jumlah 0121620 0137572 10730216 12111287

53

kemudian dikalikan dengan micro yang sudah dipangkatkan dengan bobot (w) seperti yang telah ditunjukkan pada Tabel 49 Selanjutnya hasil tersebut dijumlah per kolom seperti yang ditunjukkan pada Tabel 410

Tabel 410 Fungsi objektif data A

i X (X-V)sup2 (X-V)sup2 x microsup2

C1 C2 C1 C2

1 95 458711 484983 02170 01111

2 90 31429 38576 00036 02030

3 94 333254 355702 00504 01019

4 83 273234 253605 01538 04166

5 85 104147 92168 01401 02019

6 92 142342 157139 03592 00360

7 86 49603 41450 00920 00176

8 89 05972 09294 00116 00241

9 93 227798 246420 01046 00201

10 86 49603 41450 01355 00339

Jumlah 1267661573 1166282827

Fungsi Objektif (P) 24339444

Perhitungan nilai fungsi objektif dilakukan seperti Persamaan 27 Nilai fungsi objektif diperoleh dengan cara sebagai berikut P = sum sum ([(Xi minus Vc)2](μik)2)3

c=110i=1

P = 1267661573 + 1166282827

= 24339444

f Perbaikan matriks partisi

Pada langkah ini perbaikan matriks partisi dilakukan berdasarkan Persamaan 28 Data matriks X untuk setiap barisnya dikurangi pusat cluster lalu dikuadratkan seperti yang ditunjukkan pada Tabel 410 Selanjutnya hasilnya dipangkatkan dengan -11 karena w-1 = 1 Hasil pangkat -1 terhadap (X-V)2 ditunjukkan pada Tabel 411

54

Tabel 411 Perbaikan matriks partisi

i ((X-V)sup2)^-1

Jumlah C1 C2

1 0022 0021 0042

2 0318 0259 0577

3 0030 0028 0058

4 0037 0039 0076

5 0096 0108 0205

6 0070 0064 0134

7 0202 0241 0443

8 1674 1076 2750

9 0044 0041 0084

10 0202 0241 0443

Berdasarkan tabel diatas bilangan penyusun matriks partisi yang baru atau yang telah diperbaiki diperoleh dari hasil pembagian data terhadap jumlah per barisnya

12058311 = 0022

0042= 0514

12058312 = 0021

0042= 0486

Pada perhitungan nilai matriks yang sudah diperbaiki dilakukan pada semua elemen matriks sehingga hasil perbaikan matriks seperti yang ditunjukkan pada Tabel 412

Tabel 412 Hasil perbaikan matriks partisi

Setelah mendapatkan hasil perbaikan matriks partisi kita lakukan pengecekan selama iterasi kurang dari iterasi maksimum (maxIter) atau selisih antara fungsi objektif iterasi saat ini dengan iterasi sebelumnya bernilai lebih dari nilai error terkecil yaitu 001 maka proses berlanjut dengan kembali melakukan perhitungan pusat cluster hingga perbaikan matriks partisi Hasil

i micro

C1 C2

1 0514 0486

2 0551 0449

3 0516 0484

4 0481 0519

5 0469 0531

6 0525 0475

7 0455 0545

8 0609 0391

9 0520 0480

10 0455 0545

55

perhitungan pusat cluster dari data A B C dan D setelah dilakukan proses tiga kali iterasi dan diurutkan mulai dari yang terkecil sampai yang terbesar ditunjukkan pada Tabel 413

Tabel 413 Hasil pusat cluster

4232 Perhitungan batas subinterval

Perhitungan batas subinterval dilakukan dengan mencari nilai tengah (Median) dari setiap pusat cluster Berikut merupakan contoh perhitungan batas subinterval pada data A

a Interval 1 Batas bawah = 78835 (Batas bawah Universe of Discourse pada data A) Batas atas = 89347 (Median 88303 dan 90390)

b Interval 2 Batas bawah = 89347 (Median 88303 dan 90390) Batas atas = 99165 (Batas atas Universe of Discourse pada data A)

Seperti perhitungan diatas juga dilakukan pada data suhu (B) kelembaban (C) dan kecepatan angin (D) Dalam hal ini jumlah subinterval setiap atribut berbeda ndash beda sesuai dengan jumlah cluster yang sebelumnya ditunjukkan pada Tabel 46 Berikut merupakan batas subinterval masing ndash masing atribut yang ditunjukkan pada Tabel 414

Tabel 414 Batas subinterval masing ndash masing atribut data

Interval (micro)

A B C D

1

78835 25984 751708 6208

sd sd sd sd

89347 26181 823863 6249

2

89347 26181 823863 6249

sd sd sd sd

99165 26366 82411 6256

3

82411 6256

- - sd sd

82537 6312

Cluster A B C D

1 88303 26165 82391 62497

2 90390 26197 82408 62499

3 - - 82415 62613

56

424 Pembentukan Fuzzy Set

Pembentukan fuzzy set berdasarkan pada derajat keanggotaan dari subinterval (micro) fuzzy set dari data A ditentukan dengan derajat keanggotaan sebagai berikut

A1 = 1micro1 + 05micro2

A2 = 05micro1 + 1micro2

Pada derajat keanggotaan data A diatas simbol ldquo+rdquo menunjukkan operator himpunan gabungan Berdasarkan subinterval pada Tabel 414 nilai batas fuzzy set dari data atribut A dapat ditentukan dengan cara sebagai berikut

A1 = 78835 sd 94256 (Batas bawah interval 1 sd titik tengah interval 2)

A2 = 84091 sd 99165 (Titik tengah interval 1 sd batas atas interval 2)

Setelah diketahui batas masing ndash masing fuzzy set grafik fungsi keanggotaan fuzzy set data A yang direpresentasikan dalam kurva bahu yang ditunjukkan pada Gambar 422 Dengan cara yang sama juga ditentukan pula fuzzy set dari data attribut B C dan D

425 Fuzzifikasi

Pada langkah fuzzifikasi dilakukan dengan mencari derajat keanggotaan yang memiliki nilai paling besar (maksimum) dari masing ndash masing data terhadap fuzzy set yang sudah terbentuk Derajat keanggotaan dicari berdasarkan fungsi keanggotaan kurva bentuk bahu Berikut ini adalah perhitungan derajat keanggotaan dari data attribut A

Data aktual curah hujan (A) pada April 2014 dasarian ke-3 = 90

1198601 = 942558 ndash 90

942558minus840911= 041868427

Gambar 422 Grafik fuzzy set data A

57

1198602 = 90minus840911

942558minus840911= 058131636

Derajat keanggotaan paling besar berada pada A2 sehingga data attribut A pada April 2014 dasarian ke-3 difuzzifikasikan ke fuzzy set A2 Perhitungan yang sama dilakukan pada seluruh data attribut A sehingga didapat derajat keanggotaan dan hasil fuzzifikasi dari data A ditunjukkan pada Tabel 415

Tabel 415 Hasil derajat keanggotaan dan fuzzy set data A

i Data A1 A2 Fuzzyfikasi

1 95 0 1 A2

2 90 041868363 058131636 A2

3 94 002516357 097483642 A2

4 83 1 0 A1

5 85 09105837 008941629 A1

6 92 02219236 077807639 A2

7 86 08122036 018779631 A1

8 89 05170636 048293635 A1

9 93 01235436 087645641 A2

10 86 08122037 018779631 A1

Perhitungan yang sama juga dilakukan pada semua attribut yaitu attribut B C dan D Sehingga dapat diperoleh hasil fuzzifikasi sesuai derajat keanggotaan dengan nilai paling besar Berikut adalah hasil fuzzifikasi untuk semua attribut yang dapat dilihat pada Tabel 416

Tabel 416 Hasil fuzzifikasi semua data attribut

No Tanggal A B C D

1 Dasarian 2 (April 2014) A2 B1 C3 D3

2 Dasarian 3 (April 2014) A2 B1 C3 D3

3 Dasarian 1 (Mei 2014) A2 B1 C3 D3

4 Dasarian 2 (Mei 2014) A1 B2 C1 D1

5 Dasarian 3 (Mei 2014) A1 B2 C1 D1

6 Dasarian 1 (Juni 2014) A2 B1 C2 D2

7 Dasarian 2 (Juni 2014) A1 B2 C1 D1

8 Dasarian 3 (Juni 2014) A1 B2 C2 D1

9 Dasarian 1 (Juli 2014) A2 B1 C2 D2

10 Dasarian 2 (Juli 2014) A1 B2 C2 D1

58

426 Pembentukan Fuzzy Logical Relationship (FLR)

Pada tahap pembentukan FLR dengan berdasarkan nilai order yang sudah ditentukan Pada manualisasi ini berdasarkan dari Tabel 416 di misalkan nilai order kita deklarasikan dengan nilai 3 sehingga dapat menghasilkan 7 FLR Hasil pembentukan FLR Data training dapat ditunjukkan pada Tabel 417 Hasil pembentukan FLR Data testing dapat ditunjukkan pada Tabel 418

Tabel 417 Hasil pembentukan FLR data training

No Fuzzy Logical Relationship (FLR)

1 (A(12)B(11)C(13)D(13)) (A(22)B(21)C(23)D(23)) (A(32)B(31)C(33)D(33)) rarr A1

2 (A(12)B(11)C(13)D(13)) (A(22)B(21)C(23)D(23)) (A(31)B(32)C(31)D(31)) rarr A1

3 (A(12)B(11)C(13)D(13)) (A(21)B(22)C(21)D(21)) (A(31)B(32)C(31)D(31)) rarr A2

4 (A(11)B(12)C(11)D(11)) (A(21)B(22)C(21)D(21)) (A(32)B(31)C(32)D(32)) rarr A1

5 (A(11)B(12)C(11)D(11)) (A(22)B(21)C(22)D(22)) (A(31)B(32)C(31)D(31)) rarr A1

Tabel 418 Hasil pembentukan FLR data testing

No Fuzzy Logical Relationship (FLR)

1 (A(12)B(11)C(12)D(12)) (A(21)B(22)C(21)D(21)) (A(31)B(32)C(32)D(31)) rarr A2

2 (A(11)B(12)C(11)D(11)) (A(21)B(22)C(22)D(21)) (A(32)B(31)C(32)D(32)) rarr A1

427 Defuzzifikasi

Pada tahap ini misalkan jumlah data yang digunakan untuk data uji atau data testing adalah dua yaitu yang pertama data periode ke-9 dan yang kedua data periode ke-10 Sehingga yang digunakan data latih atau data training adalah data pada periode ke-1 sampai data periode ke-8 Pada data testing yang pertama melibatkan FLR ke-1 sampai FLR ke-5 untuk disesuaikan dengan FLR ke-6 yang berdasarkan pada Tabel 417 Pada data testing yang kedua melibatkan FLR ke-1 sampai FLR ke-6 untuk disesuaikan dengan FLR ke-7 yang berdasarkan pada Tabel 417 Selanjutnya setiap ruas kiri FLR data testing dibandingkan dengan FLR data training yaitu pada bilang pangkat bawah fuzzy set dibandingkan sesuai dengan posisinya dan dihitung selisihnya Hasil dari perhitungan selisih tersebut dijumlahkan dan apabila jumlah selisihnya kurang dari threshold maka FLR tersebut dikatakan cocok Threshold merupakan dari hasil mengalikan jumlah order dengan jumlah faktor kemudian dijumlahkan dengan dengan sebuah konstanta Contoh perhitungan selisih nilai ruas kiri FLR pada data testing pertama adalah sebagai berikut

59

Data testing = (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(32) B(31) C(33) D(33)) rarr A1

Data training =

1 (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(31) B(32) C(31) D(31)) rarr A1

2 (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(31) B(32) C(31) D(31)) rarr A1

3 (A(12) B(11) C(13) D(13)) (A(21) B(22) C(21) D(21)) (A(31) B(32) C(31) D(31)) rarr A2

4 (A(11) B(12) C(11) D(11)) (A(21) B(22) C(21) D(21)) (A(32) B(31) C(32) D(32)) rarr A1

5 (A(11) B(12) C(11) D(11)) (A(22) B(21) C(22) D(22)) (A(31) B(32) C(31) D(31)) rarr A1

Selisih data ke- 1 = |2-2|+|1-1|+|3-2|+|3-2|+|2-1|+|1-2|+|3-1|+|3-1|+|2-1|+|1-2|+|3-2|+|3-1| = 13

Selisih data ke- 2 = |2-2|+|1-1|+|3-2|+|3-2|+|2-1|+|1-2|+|3-1|+|3-1|+|1-1|+|2-2|+|1-2|+|1-1| = 9

Selisih data ke- 3 = |2-2|+|1-1|+|3-2|+|3-2|+|1-1|+|2-2|+|1-1|+|1-1|+|1-1|+|2-2|+|1-2|+|1-1| = 3

Selisih data ke- 4 = |1-2|+|2-1|+|1-2|+|1-2|+|1-1|+|2-2|+|1-1|+|1-1|+|2-1|+|1-2|+|2-2|+|2-1| = 7

Selisih data ke- 5 = |1-2|+|2-1|+|1-2|+|1-2|+|2-1|+|1-2|+|2-1|+|2-1|+|1-1|+|2-2|+|1-2|+|1-1| = 9

Pada perhitungan selisih nilai ruas kiri FLR pada data testing juga dilakukan pada semua data testing yang sudah dideklarasikan sebelumnya Dalam hal ini agar dapat menemukan FLR yang cocok dengan data testing Tahap selanjutnya adalah proses defuzzifikasi menggunakan threshold yang dimisalkan 18 sehingga FLR yang memiliki kecocokan dengan data testing pertama adalah semua FLR dari ke-1 sampai ke-5 karena memiliki hasil selisih kurang dari 18 Semua FLR yang cocok ditampung dikelompokkan berdasarkan FLR pada ruas kanan yang sama kemudian dhitung frekuensinya Berikut adalah frekuensi dan pusat cluster dari ruas kanan FLR yang cocok dengan data testing pertama dan kedua ditunjukkan pada Tabel 419

Tabel 419 Frekuensi FLR yang cocok dengan data testing

Data testing 1 Data testing 2

Ruas kanan A1 A2 A1 A2

Pusat Cluster 88303 90390 88303 90390

Frekuensi 4 1 4 2

Berdasarkan pada Tabel 419 dilakukan defuzzifikasi sesuai dengan Persamaan 218 sebagai berikut

119863119886119905119886 119905119890119904119905119894119899119892 1 = (88303times4)+(90390times1)

5= 887204

60

119863119886119905119886 119905119890119904119905119894119899119892 2 = (88303times4)+(90390times2)

6= 889987

Jadi berdasarkan perhitungan diatas diperoleh hasil peramalan curah hujan pada pada April 2014 dasarian ke-3 adalah 1384601636 sedangkan pada tanggal 10012016 adalah 2769203272 Perbandingan data curah hujan aktual dan hasil peramalan dengan metode High Order Fuzzy Time Series Multi Factors dapat dilihat pada Tabel 420

Tabel 420 Perbandingan data aktual dan hasil peramalan

No Data Aktual Hasil Peramalan

1 93 887204

2 86 889987

Dari hasil peramalan yang ditunjukkan pada Tabel 420 dapat dilakukan perhitungan kesalahan peramalan menggunakan metode Mean Square Error (MSE) seperti Persamaan 219

119872119878119864 = ((93minus887206)2+(86minus889989)2)

2

= 136536

43 Perancangan antarmuka

Perancangan antarmuka merupakan perancangan dari tampilan antarmuka atau interface yang nantinya akan diterapkan pada tahapan implementasi Pada perancangan antarmuka ini terdapat lima halaman utama dan juga terdapat dalam menu berupa button yaitu halaman input halaman tampil data halaman proses halaman hasil dan halaman perhitungan error

431 Halaman input

Pada halaman input terdapat inputan data dengan nama button Browse Data pada inputan data ini pengguna diharuskan memasukkan inputan file data dalam bentuk ekstensi xls serta direktori lokasi file yang di inputkan akan ditampilkan pada textfield dan juga terdapat label yang menampilkan jumlah banyaknya data yang terdapat pada file yang telah di inputkan Selanjutnya juga terdata inputan textfield data training data testing order dan nilai konstanta Pada halaman input ini juga terdapat button fuzzification yang berfungsi untuk melakukan proses clustering fuzzifikasi dan FLR Selanjutnya pada button forecasting berfungsi untuk melakukan peramalan atau defuzzifikasi dari hasil proses fuzzifikasi serta menghitung nilai error dari hasil peramalan Berikut

61

merupakan rancangan tampilan antarmuka dari halaman input yang ditunjukkan pada Gambar 423

432 Halaman tampil data

Pada halaman tampil data terdapat tabel yang menampilkan isi data dari xls yang sudah dimasukkan terlebih dahulu pada halaman input Tabel tampil data akan menampilkan tanggal curah hujan kelembaban suhu dan kecepatan angin Berikut merupakan tampilan rancangan halaman tampil data yang ditunjukkan pada Gambar 424

Gambar 423 Rancangan antarmuka halaman input

Gambar 424 Rancangan antarmuka halaman tampil data

62

433 Halaman proses

Pada halaman proses akan menampilkan hasil clustering fuzzifikasi dan fuzzy logical relationship Pada tampilan halaman clustering akan menampilkan Universe of Discourse curah hujan suhu kelembaban dan kecepatan angin Selanjutnya tampilan dibawahnya akan menampilkan jumlah cluster dari setiap faktor yaitu jumlah cluster curah hujan suhu kelembaban dan kecepatan angin Berikut merupakan tampilan perancangan halaman proses clustering yang ditunjukkan Gambar 425

Selanjutnya pada tampilan proses fuzzifikasi akan menampilkan tabel hasil fuzzifikasi dari curah hujan suhu kelembaban dan kecepatan angin Berikut adalah tampilan rancangan proses fuzzifikasi yang ditunjukkan pada Gambar 426

Gambar 425 Rancangan antarmuka halaman proses clustering

Gambar 426 Rancangan antarmuka proses fuzzifikasi

63

Pada tampilan proses fuzzy logical relationship (FLR) akan menampilkan textarea berisi hasil proses FLR dari curah hujan suhu kelembaban dan kecepatan angin Berikut adalah tampilan rancangan proses fuzzy logical relationship yang ditunjukkan pada Gambar 427

434 Halaman hasil

Pada halaman hasil peramalan akan menampilkan tabel yang berisi hasil peramalan curah hujan dan data curah hujan yang sebenarnya Serta terdapat text link yang akan menampilkan grafik perbandingan data hasil peramalan dan data yang sebenarnya Berikut adalah tampilan rancangan halaman hasil yang ditunjukkan pada Gambar 428

Gambar 427 Rancangan antarmuka proses fuzzy logical relationship

Gambar 428 Rancangan antarmuka halaman hasil peramalan

64

435 Halaman perhitungan error

Pada halaman perhitungan error akan menampilkan nilai dari hasil perhitungan Mean Square Error (MSE) pada textfield Berikut adalah tampilan rancangan halaman perhitungan error yang ditunjukkan pada Gambar 429

44 Perancangan pengujian

Pada penelitian ini akan dilakukan empat pengujian yaitu pengujian terhadap nilai order nilai threshold pengujian terhadap jumlah data training untuk mengetahui pengaruhnya terhadap nilai Mean Square Error (MSE) dan pengujian validasi sistem untuk mengetahui kestabilan hasil implementasi

441 Perancangan pengaruh order terhadap nilai MSE

Order merupakan jumlah urutan data yang digunakan dalam pembentukkan Fuzzy Logical Relationship (FLR) Pada pengujian ini dilakukan percobaan dengan order yang berbeda ndash beda Pengujian ini bertujuan untuk mengetahui pengaruh order terhadap hasil peramalan Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Pada setiap pengujian yang telah dilakukan dihitung nilai MSEnya untuk mengetahui tingkat kesalahan metode ini apabila dilakukan dengan order yang berbeda Berikut adalah perancangan pengujian order terhadap nilai MSE ditunjukkan pada Tabel 421

Tabel 421 Rancangan pengujian order terhadap nilai MSE

No Order Threshold MSE

1

Gambar 429 Rancangan antarmuka halaman perhitungan error

65

442 Perancangan pengaruh threshold terhadap nilai MSE

Nilai threshold bergantung jumlah order karena untuk nilai threshold merupakan dari hasil mengalikan jumlah faktor yang mempengaruhi dengan order selanjutnya dijumlah dengan sebuah konstanta Pada pengujian ini dilakukan percobaan dengan konstanta yang berbeda ndash beda sehingga menghasilkan threshold yang berbeda pula Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Dari setiap percobaan yang telah dilakukan dihitung nilai MSEnya untuk mengetahui tingkat kesalahan metode ini apabila dilakukan dengan konstanta dan threshold yang berbeda Berikut merupakan rancangan pengujian pengaruh threshold terhadap nilai MSE yang ditunjukkan pada Tabel 422

Tabel 422 Rancangan pengujian threshold terhadap nilai MSE

No Konstanta Threshold MSE

1

443 Perancangan pengaruh jumlah data training terhadap nilai MSE

Data training sangat berperan penting dalam proses defuzzifikasi sehingga pada penelitian ini dilakukan pengujian pengaruh jumlah data training terhadap tingkat kesalahan dari hasil peramalan Pada pengujian ini dilakukan percobaan dengan jumlah data training yang berbeda ndash beda Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Dari setiap percobaan dilakukan perhitungan nilai MSE untuk mengetahui tingkat kesalahan dari hasil peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors dengan jumlah data training yang berbeda ndash beda Sehingga dari hasil pengujian ini dapat diketahui pengaruh dari jumlah data training Berikut merupakan rancangan pengujian pengaruh jumlah data training yang ditunjukkan pada Tabel 423

Tabel 423 Rancangan pengujian jumlah data training terhadap nilai MSE

No Jumlah Data Training MSE

1

444 Perancangan validasi sistem

Pada pengujian validasi sistem akan melakukan pengujian dengan menggunakan order threshold terbaik seperti yang telah dilakukan pada

66

pengujian ndash pengujian sebelumnya yang menghasilkan hasil error MSE terendah Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Berikut merupakan rancangan pengujian validasi sistem yang ditunjukkan pada Tabel 424

Tabel 424 Rancangan pengujian validasi sistem

Percobaan ke- MSE

1

67

BAB 5 IMPLEMENTASI

Pada bab ini berisi pembahasan hasil implementasi metode High Order Fuzzy Time Series Multi Factors yang sesuai dengan bab sebelumnya yaitu perancangan Bab ini terdiri dari spesifikasi sistem implementasi algoritma dan implementasi antarmuka

51 Spesifikasi Sistem

Pada spesifikasi sistem ini dibagi mejadi dua yaitu spesifikasi perangkat keras dan spesifikasi perangkat lunak

511 Spesifikasi Perangkat Keras

Spesifikasi perangkat keras merupakan perangkat keras yang digunakan pada implementasi penelitian ini Perangkat keras yang digunakan adalah laptop dengan spesifikasi sesuai dengan pada Tabel 51 berikut

Tabel 51 Spesifikasi Perangkat Keras

Komponen Spesifikasi

Processor Intelcopy Core i3-3217U 180 GHz

Memori (RAM) 8 GB RAM

Harddisk 500 GB RAM

512 Spesifikasi Perangkat Lunak

Spesifikasi perangkat lunak merupakan perangkat lunak yang digunakan pada implementasi penelitian ini Perangkat lunak yang digunakan pada implementasi penelitian sesuai dengan yang ditunjukkan pada Tabel 52 berikut

Tabel 52 Spesifikasi Perangkat Lunak

Sistem Operasi Microsoft Windows 7 (64 bit)

Bahasa Pemrograman Java

Tools Pemrograman Netbeans 81

Data Microsoft Excel 2013

52 Implementasi Algoritma

Pada implementasi algoritma ini membahas mengenai hasil implementasi algoritma metode High Order Fuzzy Time Series Multi Factors yang mengacu pada bab sebelumnya yaitu perancangan Dalam penelitian ini implementasi algoritma menggunakan bahasa pemrograman java berbasis desktop Implementasi algoritma terdiri dari beberapa method sesuai dengan langkah ndash langkah pada algoritma metode High Order Fuzzy Time Series Multi Factors

68

521 Implementasi Proses Universe of Discourse

Pada implementasi Universe of Discourse seperti yang ditunjukkan Kode Program 51 dimana pada source code method Universe_of_Discourse baris 3 - 5 terdapat pemanggilan method mean standar_deviasi dan Min_dan_Max Dimana pemanggilan method tersebut dibutuhkan untuk melakukan proses perhitungan selanjutnya yaitu untuk menghitung batas bawah dan batas atas dari Univers of Discourse Baris 7-10 untuk menghitung hasil Universe of Discourse Berikut merupakan source code dari proses Universe of Discourse yang ditunjukkan pada Kode Program 51

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

private void Universe_of_Discourse()

mean()

standar_deviasi()

Min_dan_Max()

hsl_uMin = new double[jmlh_Faktor]

hsl_uMax = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

hsl_uMin[i] = hsl_min[i] - hsl_stdev[i]

hsl_uMax[i] = hsl_max[i] + hsl_stdev[i]

Kode Program 51 Implementasi proses Universe of Discourse

5211 Implementasi proses mean

Pada implementasi proses mean merupakan proses perhitungan nilai rata ndash rata dari setiap faktor yang nantinya hasilnya diperlukan untuk proses perhitungan standar deviasi Berikut merupakan source code dari proses mean yang ditunjukkan pada Kode Program 52 Perhitungan utama proses mean terdapat pada baris 3 ndash 8

Baris Kode

1 2 3 4 5 6 7 8 9

private void mean()

hsl_mean = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double tmp_jmlh = 0

for (int j = 0 j lt jmlh_DataTraining j++)

tmp_jmlh = tmp_jmlh + data[i][j]

hsl_mean[i] = (tmp_jmlh jmlh_DataTraining)

Kode Program 52 Implementasi proses mean

5212 Implementasi proses standar deviasi

Pada implementasi proses perhitungan standar deviasi merupakan akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel Standar deviasi dapat dilakukan perhitungan setelah mendapat nilai hasil dari perhitungan mean Berikut merupakan source code dari implementasi proses standar deviasi yang ditunjukkan pada Kode Program 53 Perhitungan utama proses standar deviasi terdapat pada baris 3 ndash 9

69

Baris Kode

1 2 3 4 5 6 7 8 9 10 11

private void standar_deviasi()

hsl_stdev = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double result = 0

for (int j = 0 j lt jmlh_DataTraining j++)

result = result + (Mathpow((data[i][j] ndash

hsl_mean[i]) 2))

hsl_stdev[i]=Mathsqrt(result(jmlh_DataTraining-

1))

Kode Program 53 Implementasi proses standar deviasi

5213 Implementasi proses Dmin dan Dmax

Pada implementasi proses Dmin dan Dmax merukan untuk mencari nilai minimum dan nilai maksimum dari data sampel untuk setiap faktor Berikut merupakan source code dari implementasi dari proses Dmin dan Dmax yang ditunjukkan pada Kode Program 54 Pada baris 8 ndash 10 merupakan bagian dari proses untuk untuk menentukan nilai data terbesar Selanjutnya pada baris 11 ndash 13 untuk menentukan nilai data terkecil

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

19

private void Min_dan_Max()

hsl_max = new double[jmlh_Faktor]

hsl_min = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double besar = data[i][0]

double kecil = data[i][0]

for (int j = 0 j lt jmlh_DataTraining j++)

if (data[i][j] gt besar)

besar = data[i][j]

if (data[i][j] lt kecil)

kecil = data[i][j]

hsl_max[i] = besar

hsl_min[i] = kecil

Kode Program 54 Implementasi proses Dmin dan Dmax

522 Implementasi Proses Jumlah Cluster

Pada implementasi proses jumlah cluster merupakan proses perhitungan jumlah cluster dari setiap faktor Implementasi ini dapat dilakukan apabila sudah mendapatkan hasil output dari method Min_dan_Max() sudah didapatkan Berikut merupakan source code dari implementasi proses jumlah cluster yang ditunjukkan pada Kode Program 55 Pada baris 3 ndash 7 untuk digunakan untuk menghitung selisih data sampel setiap baris dari semua faktor pada data sampel ke t dengan t+1 Selanjutnya pada baris 9 ndash 10 untuk menghitung jumlah cluster dari setiap faktor

70

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

12

13

private void jumlah_Cluster()

jmlh_Cluster = new int[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double selisih = 0

for (int j = 0 j lt (jmlh_DataTraining - 1) j++)

selisih = selisih + (Mathabs((data[i][j]

- data[i][(j + 1)])))

jmlh_Cluster[i] = (int) Mathround((Mathabs(

hsl_min[i]-hsl_max[i]))(selisih(jmlh_DataTraining

-1)))

Kode Program 55 Implementasi proses jumlah cluster

523 Implementasi Proses Pusat Cluster

Implementasi proses perhitungan pusat cluster ini menggunakan metode fuzzy C-means untuk mendapatkan pusat cluster yang nantinya digunkan sebagai subinterval Implementasi ini memerlukan hasil dari proses method jumlah_Cluster() agar dapat melakukan perhitungan subinterval Berikut merupakan source code dari implementasi proses subinterval yang ditunjukkan pada Kode Program 56 Pada Kode Program 56 hanya menampilkan source code pembentukan subinterval pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 2 ndash 3 merupakan deklarasi variabel bobot iterasi maksimum selisih fungsi objektif awal dan error minimum Pada baris 8 ndash 20 merupakan proses pembentukan matriks partisi dengan nilai random 0 sampai 1 Pada baris 22 ndash 26 merupakan proses normalisasi matriks partisi yang telah terbentuk Pada baris 28 ndash 63 merupakan proses untuk menentukan pusat cluster Pada baris 65 ndash 86 merupakan proses perhitungan fungsi objektif dari iterasi Pada baris 88 ndash 90 merupakan proses perhitungan selisih fungsi objektif Pada baris 92 ndash 108 adalah proses perbaikan matriks partisi Pada baris 110 ndash 115 adalah proses hasil perbaikan matriks partisi Pada baris 116 - 133 adalah proses dengan pengkondisian apakah selisih fungsi objektif lebih kecil dari error minimum serta apabila memenuhi kondisi maka dilanjutkan ke proses pengurutan pusat cluster secara ascending dari hasil iterasi terakhir dan proses pengkondisian iterasi berhenti

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

private void pusat_cluster()

int bobot = 2int iter_maksimum = 100

double selisih_f_objektif = 0double error_min = 001

for (int i = 0 i lt jmlh_Faktor i++)

faktor A

if (i == 0)

Pembentukkan matriks partisi

tmp_Matriks1=new

double[jmlh_Cluster[i]][jmlh_DataTraining]

q1 = new double[jmlh_Cluster[i]]

double jmlh_q1

for (int j = 0 j lt jmlh_Cluster[i] j++)

jmlh_q1 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

71

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

double random = ThreadLocalRandomcurrent()

nextDouble(01 1)

tmp_Matriks1[j][k] = random

jmlh_q1 = jmlh_q1 + random

q1[j] = jmlh_q1

normalisasi matriks

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k] q1[j]

Perhitungan pusat cluster

for (int iter = 0 iter lt iter_maksimum iter++)

selisih_f_objektif = 0

jumA1 = new double[iter_maksimum][jmlh_Cluster[i]]

jumA2 = new double[iter_maksimum][jmlh_Cluster[i]]

miu_Matriks1 = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

XV_Matriks1 = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

pusat_cluster1 = new double[jmlh_Cluster[i]]

double hitung_jum1

double hitung_jum2

for (int j = 0 j lt jmlh_Cluster[i] j++)

hitung_jum1 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow(tmp_Matriks1

[j][k]bobot)

miu_Matriks1[j][k] = tmp_Matriks1[j][k]

hitung_jum1 = hitung_jum1 + tmp_Matriks1

[j][k]

jumA1[iter][j] = hitung_jum1

for (int j = 0 j lt jmlh_Cluster[i] j++)

hitung_jum2 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k]

data[i][k]

hitung_jum2 = hitung_jum2 +

tmp_Matriks1[j][k]

jumA2[iter][j] = hitung_jum2

for (int j = 0 j lt jmlh_Cluster[i] j++)

pusat_cluster1[j] = jumA2[iter][j]

jumA1[iter][j]

perhitungan fungsi objektif

jumA3 = new double[iter_maksimum][jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

double hitung_jum3 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow((data[i][k]

ndash pusat_cluster1[j])

bobot)

XV_Matriks1[j][k] = tmp_Matriks1[j][k]

tmp_Matriks1[j][k] = XV_Matriks1[j][k]

miu_Matriks1[j][k]

hitung_jum3 = hitung_jum3 +

tmp_Matriks1[j][k]

jumA3[iter][j] = hitung_jum3

72

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

double jmlh_f_objektif = 0

for (int j = 0 j lt jmlh_Cluster[i] j++)

jmlh_f_objektif = jmlh_f_objektif

+jumA3[iter][j]

if (iter lt (iter_maksimum - 1))

f_objektif1[iter + 1] = jmlh_f_objektif

perhitungan selisih fungsi objektif

selisih_f_objektif = f_objektif1[iter + 1]

-f_objektif1[iter]

perbaikan matriks partisi

int hitung = bobot - 1int pangkat = -1 hitung

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow(XV_Matriks1

[j][k] pangkat)

jumA4 = new

double[iter_maksimum][jmlh_DataTraining]

for (int j = 0 j lt jmlh_DataTraining j++)

double hitung_jum4 = 0

for (int k = 0 k lt jmlh_Cluster[i] k++)

hitung_jum4 = hitung_jum4 +

tmp_Matriks1[k][j]

jumA4[iter][j] = hitung_jum4

hasil perbaikan matriks

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k]

jumA4[iter][k]

if (selisih_f_objektif lt error_min)

pengurutan ascending pusat cluster

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 kltjmlh_Cluster[i]k++)

if (k lt (jmlh_Cluster[i] - 1))

if (pusat_cluster1[k] gt

pusat_cluster1[k + 1])

double tmp =

pusat_cluster1[k]

pusat_cluster1[k]=

pusat_cluster1[k+1]

pusat_cluster1[k+1] = tmp

iter = iter_maksimum

Kode Program 56 Implementasi proses pusat cluster

524 Implementasi Proses Pembentukan Subinterval dan Fuzzy Set

Pada implementasi proses pembentukan suinterval dan fuzzy set memiliki dua proses yaitu proses menentukan batas subinterval minumum serta maksimum dan proses menentukan batas fuzzy set minimum serta maksimum

73

Proses pembentukan fuzzy dapat menjalankan prosesnya setelah method subinterval() telah diakses Berikut merupakan source code proses pembentukan fuzzy set yang ditunjukkan pada Kode Program 57 Pada Kode Program 57 hanya menampilkan source code pembentukan fuzzy set pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 6 ndash 29 merupakan proses pembentukan batas minimum dan batas maksimum subinterval Pada baris 31 ndash 54 merupakan pembentukan batas minimum dan batas maksimum fuzzy set

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

private void subinterval_dan_fuzzy_set()

for (int i = 0 i lt jmlh_Faktor i++)

faktor A

if (i == 0)

batas subinterval

batas_subintervalMinA = new double[jmlh_Cluster[i]]

batas_subintervalMaxA = new double[jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

if (j == 0)

batas_subintervalMinA[j] = hsl_uMin[i]

batas_subintervalMaxA[j]=(pusat_cluster1[j]

+pusat_cluster1[j+

1])2

else if (j == (jmlh_Cluster[i] - 1))

batas_subintervalMinA[j]=

(pusat_cluster1[j-1] +pusat_cluster1

[j])2

batas_subintervalMaxA[j]=

hsl_uMax[i]

else if ((0 lt j) ampamp (j lt (jmlh_Cluster[i] -

1)))

batas_subintervalMinA[j]=

(pusat_cluster1[j-1]+

pusat_cluster1[j])2

batas_subintervalMaxA[j]=

(pusat_cluster1[j]+

pusat_cluster1[j+1)2

batas fuzzy set

batas_fuzzysetMinA = new double[jmlh_Cluster[i]]

batas_fuzzysetMaxA = new double[jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

if (j == 0)

batas_fuzzysetMinA[j]=

batas_subintervalMinA[j]

batas_fuzzysetMaxA[j]=

(batas_subintervalMinA[j+1]

+batas_subintervalMaxA[j + 1])2

else if (j == (jmlh_Cluster[i] - 1))

batas_fuzzysetMinA[j]=

(batas_subintervalMinA[j-1]

+batas_subintervalMaxA[j - 1])2

batas_fuzzysetMaxA[j] =

batas_subintervalMaxA[j]

else if ((0 lt j) ampamp (jlt(jmlh_Cluster[i]-1)))

batas_fuzzysetMinA[j]=

(batas_subintervalMinA[j-1]+

batas_subintervalMaxA[j-1])2

batas_fuzzysetMaxA[j]=

74

51

52

53

54

55

56

(batas_subintervalMinA[j+1]+

batas_subintervalMaxA[j + 1])2

Kode Program 57 Implementasi pembentukan subinterval dan fuzzy set

525 Implementasi proses fuzzifikasi

Pada Implementasi proses fuzzifikasi memiliki dua proses utama yaitu menentukan derajat keanggotaan dan proses fuzzifikasi Dalam proses ini method fuzzy_set() harus dieksekusi terlebih dahulu karena implementasi proses ini memerlukan output dari method tersebut Berikut merupakan source code fuzzifikasi ditunjukkan pada Kode Program 58 Pada Kode Program 58 hanya menampilkan source code pembentukan fuzzy set pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 3 ndash 81 merupakan proses perhitungan derajat keanggotaan Pada baris 83 ndash 94 adalah proses penentuan fuzzifikasi

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

private void fuzzifikasi()

if (i == 0)

hitung_fuzzifikasiA = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

if(j == 0)

if((data[i][k]gtbatas_fuzzysetMinA[j])ampamp

(data[i][k]lt batas_fuzzysetMinA[j + 1]))

hitung_fuzzifikasiA[j][k] = 1

if ((data[i][k] gt batas_fuzzysetMinA[j + 1])

ampamp (data[i][k] lt batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k]=

(batas_fuzzysetMaxA[j] - data[i][k])

(batas_fuzzysetMaxA[j] ndash

batas_fuzzysetMinA[j + 1])

if ((data[i][k] gt batas_fuzzysetMinA[j]) ampamp

(data[i][k] lt batas_fuzzysetMinA[j + 1])

ampamp(data[i][k] gt batas_fuzzysetMinA[j+1])

ampamp(data[i][k] lt batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k] = 0

else if (j == (jmlh_Cluster[i] - 1))

if((data[i][k] gt batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]))

hitung_fuzzifikasiA[j][k]=

(data[i][k]-batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)])

(batas_fuzzysetMaxA[(jmlh_Cluster[i]ndash

2)]-batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)])

if((data[i][k] gt batas_fuzzysetMaxA

75

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

[(jmlh_Cluster[i]- 2)]) ampamp (data[i][k]

lt batas_fuzzysetMaxA[(jmlh_Cluster[i]

- 1)]))

hitung_fuzzifikasiA[j][k] = 1

if ((data[i][k] gt batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]) ampamp

(data[i][k] gt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 1)]))

hitung_fuzzifikasiA[j][k] = 0

else if ((0 lt j)ampamp(j lt (jmlh_Cluster[i] - 1)))

if ((data[i][k] gt batas_fuzzysetMinA[j])

ampamp (data[i][k] lt batas_fuzzysetMinA[j

+1]))

hitung_fuzzifikasiA[j][k]=

(data[i][k]-batas_fuzzysetMinA[j])

(batas_fuzzysetMinA[j + 1]-

batas_fuzzysetMinA[j])

if ((data[i][k] gt batas_fuzzysetMinA

[j+1])ampamp (data[i][k] lt

batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k]=

(batas_fuzzysetMaxA[j]-data[i][k])

(batas_fuzzysetMaxA[j]-

batas_fuzzysetMinA[j + 1])

if ((data[i][k] gt batas_fuzzysetMinA[j])

ampamp (data[i][k] lt batas_fuzzysetMinA

[j + 1]) ampamp (data[i][k] gt

batas_fuzzysetMinA[j + 1]) ampamp

(data[i][k]ltbatas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k] = 0

hasil_fuzzifikasiA = new int[jmlh_DataTraining]

for (int j = 0 j lt jmlh_DataTraining j++)

int cluster = 0

double besar=hitung_fuzzifikasiA[0][j]

for (int k = 0 k lt jmlh_Cluster[i] k++)

if (besar lt hitung_fuzzifikasiA[k][j])

besar = hitung_fuzzifikasiA[k][j]

cluster = k

hasil_fuzzifikasiA[j] = cluster + 1

Kode Program 58 Implementasi proses fuzzifikasi

526 Implementasi Pembentukan Fuzzy Logical Relationship

Pada implementasi pembentukan Fuzzy Logical Relationship (FLR) memiliki dua output yaitu FLR_kiri dan FLR_kanan Dimana FLR_kiri berisi group dari kelima faktor dan pada FLR_kanan merupakan dari faktor yang akan diramalkan yaitu

76

faktor curah hujan (A) Berdasarkan dari perancangan proses pada bab sebelumnya maka implementasi source code pembentukan Fuzzy Logical Relationship (FLR) dapat ditunjukkan pada Kode Program 59 berikut Pada baris 3 ndash 14 merupakan deklarasi variabel Pada baris 15 ndash 55 adalah proses pembentukan fuzzy logical relationship data training Pada baris 56 ndash 58 merupakan deklarasi variabel Pada baris 59 ndash 86 adalah proses pembentukan fuzzy logical relationship data testing

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

Fuzzy Logical Relationship

private void fuzzy_logical_relationship()

String input_order = fieldOrdergetText()

order = IntegerparseInt(input_order)

int max_inc = order

String input_dataTraining = fieldDatatraininggetText()

int dataTraining = IntegervalueOf(input_dataTraining)

int tmp_jmlhDatatraining = 0

int tmp_order = 0

int jmlh_dataTraining = dataTraining - order

String input_dataTesting = fieldDatatestinggetText()

int jmlh_dataTesting = IntegervalueOf(input_dataTesting)

FLR_kiri_training = new

int[jmlh_DataTraining][order][jmlh_Faktor]

FLR_kanan_training = new int[jmlh_DataTraining]

for (int i = 0 i lt jmlh_dataTraining i++)

for (int j = i j lt max_inc j++)

for (int k = 0 k lt jmlh_Faktor k++)

if (j == 0)

if (k == 0)

FLR_kiri_training[i][j][k]=

hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiD[j]

else if (j = 0)

if (k == 0)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiD[j]

tmp_order = j

FLR_kanan_training[i] = hasil_fuzzifikasiA[(i + order)]

if (max_inc lt (jmlh_DataTraining - 1))

max_inc = max_inc + 1

77

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

tmp_jmlhDatatraining = i

FLR_kiri_testing = new

int[jmlh_DataTraining][order][jmlh_Faktor]

FLR_kanan_testing = new int[(jmlh_DataTraining)]

tmp_jmlhDatatraining = tmp_jmlhDatatraining + 1

for (int i = 0 i lt jmlh_dataTesting i++)

for (int j = tmp_jmlhDatatraining j lt max_inc j++)

for (int k = 0 k lt jmlh_Faktor k++)

if (k == 0)

FLR_kiri_testing[i][j - tmp_jmlhDatatraining][k]

= hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiD[j]

FLR_kanan_testing[i] =

hasil_fuzzifikasiA[(tmp_jmlhDatatraining + order)]

if (max_inc lt (jmlh_DataTraining - 1))

max_inc = max_inc + 1

tmp_jmlhDatatraining++

Kode Program 59 Implementasi pembentukan FLR

527 Implementasi Proses Defuzzifikasi

Pada implementasi proses defuzzifikasi merupakan proses dimana menentukan hasil peramalan dari data testing berdasarkan dari bilangan fuzzy yang terbentuk Implementasi ini memiliki beberapa inputan penting yaitu data training data testing order dan konstanta Inputan tersebut sangat berperan penting dalam proses implementasi defuzzifikasi Berdasarkan dari perancangan proses pada bab sebelumnya maka implementasi source code defuzzifikasi dapat ditunjukkan pada Kode Program 510 berikut Pada baris 2 ndash 11 merupakan deklarasi variabel Pada baris 13 ndash 37 merupakan proses perhitungan selisih antara data training dengan data testing Pada baris 40 ndash 47 menghitung jumlah FLR yang cocok Pada baris 49 ndash 65 merupakan proses mencocokan FLR kiri yang cocok dengan FLR kanan Pada baris 67 ndash 81 merupakan proses menghitung jumlah frekuensi FLR kanan yang cocok Pada baris 83 ndash 91 adalah proses perhitungan hasil peramalan

Baris Kode 1

2

3

4

private void defuzifikasi()

String input_dataTraining = fieldDatatraininggetText()

String input_dataTesting = fieldDatatestinggetText()

String input_konstanta = fieldKonstantagetText()

78

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

int dataTraining = IntegervalueOf(input_dataTraining)

int dataTesting = IntegervalueOf(input_dataTesting)

int konstanta = IntegervalueOf(input_konstanta)

int match[][]

match = new int[dataTesting][2000]

int threshold = (jmlh_Faktor order) + konstanta

int hitung_selisih = 0

perhitungan selisih

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt (dataTraining + i) j++)

hitung_selisih = 0

for (int k = 0 k lt order k++)

for (int l = 0 l lt jmlh_Faktor l++)

if (i == 0)

hitung_selisih = hitung_selisih +

(Mathabs(FLR_kiri_training[j][k][l] ndash

FLR_kiri_testing[i][k][l]))

else if (i gt 0)

FLR_kiri_training[(dataTraining-

1)+i][k][l] = FLR_kiri_testing[i-

1][k][l]

FLR_kanan_training[(dataTraining-1)+i]

= FLR_kanan_testing[i-1]

hitung_selisih = hitung_selisih +

(Mathabs(FLR_kiri_training[j][k][l] ndash

FLR_kiri_testing[i][k][l]))

if (hitung_selisih lt threshold)

match[i][j] = hitung_selisih

menghitung jumlah total FLR yang cocok untuk setiap data

testing

int countGroup[] = new int[dataTesting]

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt (dataTraining + i) j++)

if (match[i][j] gt 0)

countGroup[i]++

mencocokan FLR_kiri yang cocok dengan FLR_kanan

group = new int[dataTesting][2000]

for (int i = 0 i lt dataTesting i++)

int tmp_count = 0

for (int j = 0 j lt (dataTraining + i) j++)

if (match[i][j] gt 0)

if (tmp_count lt countGroup[i])

group[i][tmp_count] = j

tmp_count++

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt countGroup[i] j++)

group[i][j] = FLR_kanan[group[i][j]]

mengelompokkan yang sama

MapltInteger Integergt map = new HashMapltInteger Integergt()

hasil_peramalan = new double[dataTesting]

for (int i = 0 i lt dataTesting i++)

79

70

71

72

73

74

75 76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

double peramalan = 0

mapclear()

for (int j = 0 j lt countGroup[i] j++)

int key = group[i][j]

if (mapcontainsKey(key))

int occurrence = mapget(key)

occurrence++

mapput(key occurrence)

else

mapput(key 1)

menghitung hasil peramlaan

Iterator iterator = mapkeySet()iterator()

while (iteratorhasNext())

int key = (Integer) iteratornext()

int occurrence = mapget(key)

peramalan = (peramalan + (pusat_cluster1[(key - 1)]

occurrence))

hasil_peramalan[i] = (peramalan countGroup[i])

Kode Program 510 Implementasi proses defuzzifikasi

53 Implementasi Antarmuka

Pada implementasi antarmuka dijelaskan beberapa halaman antarmuka untuk penggunaan dari program hasil implementasi Implementasi antarmuka berdasarkan perancangan yang telah dijelasakan pada bab sebelumnya yaitu bab perancangan Halaman antarmuka yang dibuat adalah halaman input halaman tampil data halaman proses halaman hasil dan halaman perhitungan error

531 Implementasi antarmuka halaman input

Halaman input merupakan halaman yang pertama muncul setelah program dijalankan Pada halaman input ini terdapat beberapa inputan yang harus di masukkan yaitu data input data training data testing order dan konstanta Selain itu pada halaman input juga terdapat tiga button yaitu button browse data button fuzzification dan button forecasting Berikut tampilan antarmuka halaman input yang ditunjukkan pada Gambar 51

Gambar 51 Implementasi antarmuka halaman input

80

532 Implementasi antarmuka halaman tampil data

Halaman tampil data merupakan halaman yang tampil setelah melakukan input data Halaman ini berisi tabel yang menampilkan data curah hujan suhu kecepatan angin dan kelembaban Berikut tampilan antarmuka halaman tampil data yang ditunjukkan pada Gambar 52

533 Implementasi antarmuka halaman proses

Halaman proses merupakan halaman yang muncul setelah button fuzzification telah dieksekusi Halaman proses ini terdiri dari tiga bagian atau tab yaitu clustering fuzzification dan Fuzzy logical relationship Pada halaman antarmuka clustering menampilkan Universe of Discourse dan jumlah cluster pada masing ndash masing faktor Berikut merupakan tampilan antarmuka halaman proses bagian clustering yang ditunjukkan pada Gambar 53

Gambar 52 Implementasi antarmuka halaman tampil data

Gambar 53 Implementasi antarmuka halaman proses clustering

81

Pada tab selanjutnya yaitu pada tab fuzzification tab ini menampilkan hasil proses fuzzifikasi Pada halaman ini menampilkan tabel yang berisi hasil fuzzifikasi dari setiap faktor Berikut merupakan tampilan antarmuka halaman proses bagian fuzzification yang ditunjukkan pada Gambar 54

Pada tab Fuzzy Logical Relationship menampilakn hasil dari proses pembentukan Fuzzy Logical Relationship Tampilan pada halaman ini menampilkan berupa textarea yang berisi dari output proses tersebut Berikut merupakan tampilan antarmuka halaman proses bagian Fuzzy Logical Relationship yang ditunjukkan pada Gambar 55

Gambar 54 Implementasi antarmuka halaman proses fuzzification

Gambar 55 Implementasi halaman antarmuka proses FLR

82

534 Implementasi antarmuka halaman hasil

Pada implementasi antarmuka halaman hasil ini merupakan halaman yang menampilkan hasil dari proses defuzzifikasi Halaman hasil ini menampilkan tabel yang berisi data aktual dan data dari hasil peramlan Berikut merupakan tampilan antarmuka halaman hasil yang ditunjukkan pada Gambar 56

535 Implementasi antarmuka halaman perhitungan error

Pada implementasi antarmuka halaman perhitungan error merupakan halaman yang menampilkan hasil dari proses perhitungan Mean Square Error (MSE) Pada halaman antarmuka ini menampilkan hasil error MSE pada textfield Berikut merupakan tampilan antarmuka halaman perhitungan error yang ditunjukkan pada Gambar 57

Gambar 56 Implementasi halaman antarmuka hasil

Gambar 57 Implementasi halaman antarmuka perhitungan error

83

BAB 6 PENGUJIAN DAN ANALISIS

Pada bab ini membahas hasil pengujian dan analisis hasil pengujian dari hasil implementasi metode High Order Fuzzy Time Series Multi factors untuk peramalan curah hujan dasarian Pada pengujian ini disesuaikan dengan perancangan pengujian pada bab 4

61 Sistematika Pengujian

Pada bab sebelumnya yaitu bab 4 mengenai perancangan telah dibahas perancangan pengujian dikatakan bahwa pengujian akan dilakukan sebanyak empat pengujian Pengujian order pengujian threshold pengujian jumlah data training dan pengujian validasi sistem Dari semua pengujian tersebut akan di uji dan di analisis bagaimana pengaruhnya terhadap hasil perhitungan Mean Square Error (MSE)

62 Hasil dan Analisis Pembahasan

Berikut hasil pengujian dan analisis yang disesuaikan dengan perancangan pengujian pada bab sebelumnya

621 Pengujian pengaruh order terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh order terhadap nilai MSE Order merupakan urutan jumlah dari data time series pada periode waktu t yang mempengaruhi nilai data Jadi jika nilai order adalah 3 maka peramalan akan melibatkan 3 data sebelumnya pada proses pembentukan Fuzzy Logical Relationship (FLR) Pada pengujian ini hanya nilai order yang diubah ndash ubah sedangkan variabel lain akan dibuat tetap Pengujian akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai variabel jumlah data training adalah 72 yaitu dari data Januari 2014 dasarian 1 sampai Desember 2015 dasarian 3 nilai data testing adalah 36 yaitu dasarian 1 Januari 2016 sampai dasarian 3 Desember 2016 konstanta adalah 10 Nilai threshold diperoleh dari perhitungan jumlah faktor dikali order dan dijumlah nilai konstanta Berikut adalah hasil pengujian pengaruh order terhadap nilai MSE yang ditunjukkan pada Tabel 61

Tabel 61 Hasil pengujian order terhadap nilai MSE

No Order Threshold MSE

1 3 22 808585

2 6 34 965547

3 9 46 912631

4 12 58 875884

5 15 70 719284

6 18 82 6801207

7 21 94 5637184

8 24 106 5444184

9 27 118 5433631

10 30 130 5418393

84

Dari hasil pengujian order seperti yang telah ditunjukkan pada Tabel 61 maka pada percobaan pertama dengan order = 3 dan threshold 22 dapat diperoleh MSE sebesar 808585 Selanjutnya pada percobaan kedua dengan order = 6 dan threshold = 34 diperoleh MSE sebesar 965547 Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 61

Berdasarkan Gambar 61 order yang berbeda - beda mempengaruhi besar nilai MSE Dalam penelitian ini menentukan order memiliki ketentuan yaitu nilai order harus lebih dari 0 dan batas maksimal order adalah setengah dari nilai data training (LinYang 2009) Nilai MSE terbesar yang ditunjukkan pada pengujian ini adalah 965547 pada pengujian order 6 dan nilai MSE terkecil adalah 5418393 pada pengujian order 30 Pada Gambar 61 menunjukkan bahwa pada order 3 ke order 6 mengalami peningkatan nilai MSE selanjutnya pada order 6 hingga order 30 mengalami penurunan Pada order 3 memiliki nilai MSE lebih kecil dari order 6 order 9 dan order 12 karena memiliki lebih banyak hasil selisih tingkat kecocokan data time series yang tidak terlalu besar dan kurang dari threshold Selain itu karena data time series dari data sampel yang diperoleh memiliki pola data musiman dimana perubahan pola data dasarian tidak terlalu banyak berubah dari tahun ke tahun Selanjutnya pada order 6 hingga order 30 menunjukkan penurunan nilai MSE dan order terbesar memiliki nilai MSE terkecil sehingga dapat disumpulkan bahwa semakin besar order maka semakin kecil pula nilai MSE Dalam hal ini dengan semakin besarnya order maka data sebelumnya yang digunakan untuk pertimbangan dalam menentukan peramalan semakin banyak Sehingga semakin besar nilai order maka dapat membuat peramalan semakin akurat Dalam pengujian ini memimiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoImplementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emasrdquo yang menyatakan bahwa semakin besar nilai order maka semakin kecil nilai kesalahannya (Wardhani et al 2015)

Gambar 61 Grafik hasil pengujian order terhadap nilai MSE

85

622 Pengujian pengaruh threshold terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh threshold terhadap nilai MSE Threshold merupakan hasil dari mengalikan jumlah order dengan jumlah faktor pada data kemudian dijumlahkan dengan dengan nilai konstanta Pada proses defuzzifikasi terdapat proses menghitung selisih antara pangkat bawah Fuzzy Logical Relationship (FLR) data training dan pangkat bawah FLR data testing Selanjutnya setelah mendapatkan nilai selisih maka nilai selisih tersebut dibandingkan dengan nilai threshold untuk mencari FLR yang cocok Pada pengujian ini nilai konstanta saja yang diubah ndash ubah sementara variabel lainnya tetap Pengujian akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai variabel jumlah data training adalah 72 yaitu dari data Januari 2014 dasarian 1 sampai Desember 2015 dasarian 3 nilai data testing adalah 36 yaitu dasarian 1 Januari 2016 sampai dasarian 3 Desember 2016 dan Nilai order adalah 30 Pada penentuan input konstanta nilai minimal harus lebih besar dari 0 dan nilai maksimal menyesuaikan data sampel yang digunakan (LinYang 2009) Berikut adalah hasil pengujian pengaruh threshold terhadap nilai MSE yang ditunjukkan pada Tabel 62

Tabel 62 Hasil pengujian threshold terhadap nilai MSE

No Konstanta Threshold MSE

1 10 130 558485

2 20 140 577498

3 30 150 597364

4 40 160 604660

5 50 170 646951

6 60 180 680257

7 70 190 703013

8 80 200 741484

9 90 210 756749

10 100 220 780600

Dari hasil pengujian threshold seperti yang telah ditunjukkan pada Tabel 62 maka dapat dilihat bahwa konstanta yang dilakukan pengujian dimulai dengan nilai 10 sampai 100 Hasil yang didapat pada percobaan pertama dengan konstanta = 10 dan threshold 130 diperoleh MSE sebesar 558485 Selanjutnya pada percobaan kedua dengan konstanta = 20 dan threshold = 140 diperoleh MSE sebesar 577498 Selanjutnya dapat kita lihat pada percobaan yang telah dilakukan dari percobaan pertama hingga percobaan kesepuluh nilai MSE yang diperoleh mengalami perubahan pada setiap percobaan Dapat dilihat bahwa peningkatan MSE lebih dominan menunjukkan peningkatan sehingga dalam hal ini semakin besar nilai konstanta dan threshold maka semakin besar pula nilai MSE yang diperoleh Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 62

86

Berdasarkan grafik dari Gambar 62 nilai input konstanta yang berbeda - beda mempengaruhi besar nilai MSE semakin besar nilai konstanta maka nilai threshold juga semakin besar karena threshold diperoleh dari perhitungan order dikali jumlah faktor dan selanjutnya dijumlah dengan nilai konstanta Dalam hal ini dengan semakin besar nilai threshold maka dalam proses seleksi untuk mencari nilai selisih FLR juga semakin luas batasannya dan jika semakin kecil nilai threshold maka dalam proses seleksi untuk mencari nilai selisih FLR menjadi semakin sempit dan mempermudah proses peramalan karena hanya adanya sedikit data yang cocok dengan data yang akan diramalkan dan mempermudah proses defuzzifikasi Oleh karena itu semakin kecil threshold maka dapat membuat peramalan semakin akurat Akan tetapi nilai threshold tidak boleh terlalu kecil karena dapat menyebabkan kegagalan peramalan Kegagalan peramalan itu terjadi karena tidak adanya data training yang cocok dengan data testing karena pada metode yang digunakan pada penelitian ini sangat bergantung pada data ndash data sebelumnya Dari hasil percobaan diatas hasil MSE terbesar adalah 7806 yaitu pada konstanta 100 serta threshold 220 dan hasil MSE terkecil adalah 558485 yaitu pada konstanta 10 dan threshold 130 Dalam pengujian ini memiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoImplementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emasrdquo yang menyatakan bahwa semakin kecil nilai konstanta maka semakin kecil nilai kesalahannya (Wardhani et al 2015)

623 Pengujian pengaruh jumlah data training terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh jumlah data training terhadap nilai MSE Pada pengujian ini jumlah data training adalah data dasarian yaitu 1 tahun 2 tahun 3 tahun 4 tahun dan 5 tahun dimana dari setiap 1 tahun memiliki 36 data dasarian Pengujian ini akan dilakukan sebanyak lima kali Pada pengujian ini jumlah data testing adalah 36 nilai order adalah setengah dari

Gambar 62 Grafik hasil pengujian threshold terhadap nilai MSE

87

nilai data training nilai konstanta adalah 20 Berikut adalah hasil pengujian pengaruh jumlah data training terhadap nilai MSE yang ditunjukkan pada Tabel 63

Tabel 63 Hasil pengujian jumlah data training terhadap nilai MSE

No Jumlah Data Training MSE

1 36 786586

2 72 634527

3 108 627190

4 144 614184

5 180 539698

Dari hasil pengujian jumlah data training seperti yang telah ditunjukkan pada Tabel 63 maka pada percobaan pertama dengan data training = 36 dapat diperoleh MSE sebesar 786586 Selanjutnya pada percobaan kedua dengan data training = 72 diperoleh MSE sebesar 634527 Dalam hal ini dari percobaan satu dan dua nilai MSE mengalami penurunan Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 63

Berdasarkan dari Gambar 63 pengujian pertama sampai pengujian kelima mengalami penerunan nilai MSE Sehingga dapat disimpulkan bahwa semakin besar data training maka semakin kecil nilai MSE yang diperoleh Nilai MSE semakin kecil apabila menggunakan data training dalam jumlah besar karena data yang digunakan memiliki rentang jauh dari periode data testing atau data yang akan diramalkan Sedangkan data training yang sedikit memiliki nilai MSE yang besar karena data training yang memiliki kecocokan dengan data testing berada pada periode yang jauh dengan data testing sehingga nilai MSE menjadi tinggi Dalam hal ini terbukti bahwa metode yang digunakan pada penelitian ini memerlukan jumlah data training yang banyak sehingga dapat menurunkan nilai kesalahannya Dari hasil percobaan diatas hasil MSE terbesar adalah 786586 dan

Gambar 63 Grafik hasil pengujian data training terhadap nilai MSE

88

hasil MSE terkecil adalah 539698 Dalam pengujian ini memimiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoPeramalan Jumlah Kunjungan Wisatawan Kota Batu Menggunakan Metode Time Invariant Fuzzy Time Seriesrdquo yang menyatakan bahwa semakin besar jumlah data training maka semakin kecil nilai kesalahannya (Elfajar et al 2017)

624 Pengujian validasi sistem

Pada pengujian ini dilakukan untuk mengetahui kestabilan dari sistem dengan menggunakan order threshold terbaik dari pengujian sebelumnya Pada pengujian ini akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai data training menggunakan 36 data yang berbeda agar dapat menunjukkan gambaran variasi dari nilai kesalahan MSE pada peramalan nilai order adalah 18 dan konstanta adalah 10 sehingga nilai threshold adalah 92 Berikut adalah hasil pengujian validasi sistem yang ditunjukkan pada Tabel 64

Tabel 64 Hasil pengujian validasi sistem

Percobaan ke- MSE

1 714290

2 703856

3 732564

4 732815

5 6973958

6 7532825

7 741726

8 760457

9 709961

10 6256204

Dari hasil pengujian validasi sistem seperti yang telah ditunjukkan pada Tabel 64 maka dapat digambarkan dengan grafik yang ditunjukkan oleh Gambar 64

Gambar 64 Grafik hasil pengujian validasi sistem

89

Berdasarkan dari gambar grafik Gambar 64 bahwa pengujian dari validasi sistem memiliki hasil MSE yang tidak terlalu jauh berbeda dari penggunaan data yang berbeda - beda Oleh karena itu dapat disimpulkan bahwa implementasi dari metode High Order Fuzzy Time Series Multi Factors yang telah digunakan sudah cukup baik untuk digunakan peramalan

Berdasarkan dari pengujian yang dilakukan diatas dapat diketahui bahwa nilai MSE terkecil terdapat pada pengujian jumlah data training yaitu dengan nilai MSE sebesar 539698 Nilai tersebut diperoleh dari pengujian jumlah data training dasarian dari tahun 2011 hingga 2015 untuk melakukan peramalan pada data dasarian tahun 2016 Nilai order adalah 90 dan konstanta adalah 10 Berikut adalah perbandingan data aktual dengan hasil peramalan yang ditunjukkan pada grafik Gambar 65

Gambar 65 Grafik perbandingan data aktual dengan hasil peramalan

90

BAB 7 PENUTUP

Pada bab ini terdiri dari dua sub bab yaitu kesimpulan dan saran Kesimpulan adalah tahapan yang berisi hasil penelitian yang dilakukan dan jawaban semua rumusan masalah yang sudah ditetapkan sebelumnya dan saran adalah tahapan yang berisi hasil yang telah dicapai untuk memperbaiki kekurangan - kekurangan yang terjadi pada penelitian ini serta memberikan pertimbangan pada pengembangan penelitian lebih lanjut

71 Kesimpulan

Pada kesimpulan ini mengacu pada penelitian yang telah dilakukan yang meliputi perancangan implementasi serta pengujian dan analisis terhadap hasil implementasi peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors maka dapat diambil kesimpulan sebagai berikut

1 Berdasarkan dari implementasi metode High Order Fuzzy Time Series Multi Factors dalam melakukan peramalan curah hujan dasarian dilakukan dengan beberapa langkah yaitu langkah pertama perhitungan Universe of Discourse yang terdiri perhitungan mean standar deviasi dan perhitungan Dmin serta Dmax langkah kedua yaitu perhitungan jumlah cluster langkah ketiga yaitu perhitungan pusat cluster langkah keempat yaitu pembentukan subinterval dan fuzzy set langkah kelima yaitu proses fuzzifikasi langkah keenam yaitu pembentukan Fuzzy Logical Relationship(FLR) langkah ketujuh adalah defuzzifikasi yang hasil outputnya merupakan hasil peramalan curah hujan

2 Berdasarkan dari pengujian peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors maka dapat diketahui bahwa

a Order berpengaruh terhadap nilai error semakin besar nilai order maka hasil peramalan semakin baik

b Threshold berpengaruh terhadap nilai error semakin rendah nilai threshold maka hasil peramalan semakin baik Akan tetapi nilai threshold tidak boleh terlalu rendah karena dapat menyebabkan kegagalan peramalan

c Data training berpengaruh terhadap nilai error semakin besar jumlah data training maka hasil peramalan semakin baik Sehingga peramalan menggunakan metode High Order Fuzzy Time Series Multi Factors memerlukan banyak data training

d Hasil implementasi peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors cukup baik digunakan untuk peramalan Hal ini terbukti hasil pengujian validasi sistem menunjukkan grafik yang cukup stabil

Dari pengujian yang telah dilakukan nilai MSE terkecil terdapat pada pengujian jumlah data training yaitu dengan nilai MSE sebesar 539698 Nilai tersebut diperoleh dari pengujian jumlah data training dasarian dari tahun

91

2011 hingga 2015 untuk melakukan peramalan pada data dasarian tahun 2016

72 Saran

Pada penelitian ini dilakukan peramalan curah hujan dasarian dengan faktor yang mempengaruhi adalah suhu kelembaban dan kecapatan angin Saran penulis diharapkan untuk penelitian selanjutnya melakukan penambahan faktor yang mempengaruhi curah hujan atau melakukan peramalan objek lain dengan mempertimbangkan faktor ndash faktor yang mempengaruhinya Serta diharapkan pada penelitian selanjutnya untuk menambahkan data yang lebih banyak serta bervariatif sehingga nilai hasil perhitungan akurasi peramalan yang dihasilkan dalam penelitian dapat meningkat Penggunaan data training yang banyak dan bervariatif dapat membuat pola data semakin terlihat sehingga hasil peramalan yang dihasilkan memiliki akurasi yang lebih baik

92

DAFTAR PUSTAKA

Ardiyanto 2016 ldquoTerendam Air Petani Lamongan Terpaksa Panen Dinirdquo Times Indonesia November 18 httpwwwtimesindonesiacoidread13688520161118102415terendam-air-petani-lamongan-terpaksa-panen-dini (Diakses 25 Februari 2017)

Badan Penelitian dan Pengembangan Pertanian Kementrian Pertanian 2015 ldquoKalender Tanam Terpadu Versi 25 Kota Malang Prov Jawa Timurrdquo httpkatamlitbangpertaniangoidkatam_terpadu2016mh33535733573_tinggipdf (Diakses 25 Februari 2017)

Bagirov M Adil Mahmood Arshad and Barton Andrew 2017 Prediction of monthly rainfall in Victoria Australia Clusterwise linear regression approach Elsevier Atmos Research 188 20-29

BMKG Staklim Karangploso Malang 2015 ldquoAnalisis Dinamika Atmosfer Dan Laut Dasarian III Maret 2015 Update 2 April 2015rdquo httpkarangplosojatimbmkgogoidindexphpanalisis-kondisi-dinamika-atmosfer-laut-dasarian-tahun-2015399-analisis-dinamika-atmosfer-dan-laut-dasarian-iii-maret-2015-update-2-april-2015axzz3X8h9y4fgampgsctab=0 (Diakses 25 Februari 2017)

BPS Kabupaten Malang 2016 ldquoKabupaten Malang Dalam Angka 2016rdquo httpsmalangkabbpsgoidwebsitepdf_publikasiKabupaten-Malang-Dalam-Angka-2016pdf (Diakses 25 Februari 2017)

BPS Jawa Timur 2015 ldquoJawa Timur Dalam Angka 2015rdquo httpsjatimbpsgoid4dmnpdf_publikasiJawa-Timur-Dalam-Angka-2015pdf (Diakses 25 Februari 2017)

Buffa S Elwood Rakesh and Sarin K 1996 Modern Production and Operation Management Eight Edition John Willey and Sons Inc London

Chen M 1996 Forecasting Enrollments based on Fuzzy Time Series Fuzzy Sets and Systems 311-319

Dewi Candra Kartikasari Dani Mursityo Yusi 2014 Prediksi Cuaca Pada Data Time Series Menggunakan Adaptive Neuro Fuzzy Inference System (ANFIS) Jurnal Teknologi Informasi dan Ilmu Komputer (JTIIK) Vol 1 No 1 hlm 18-24

Dewi Candra Muslikh M 2013 Perbandingan Akurasi Backpropagation Neural Network dan ANFIS Untuk Memprediksi Cuaca NATURAL-A Journal of Scientific Modeling amp Computation Volume 1 No1

Elfajar Aria Setiawan Budi Dewi Candra 2017 Peramalan Jumlah Kunjungan Wisatawan Kota Batu Menggunakan Metode Time Invariant Fuzzy Time Series Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer Vol 1 No 2 Hlmn 85-94

93

Fauziah Normalita Wahyuningsih Sri dan Nasution Yuki 2016 Peramalan Menggunakan Fuzzy Time Series Chen (Studi Kasus Curah Hujan Kota Samarinda) Vol4 Statistika

Forest Mahyu 2015 ldquoDefenisi amp Pengertian Kelembabanrdquo httpilmupengetahuaalamblogspotcoid201506defenisi-pengertian-kelembabanhtml (Diakses 25 Februari 2017)

Irsyad Muhammad Metarice Sonya 2013 Penerapan Metode Automatic Clustering dan High Order Fuzzy Time Series Pada Peramalan Curah Hujan Jurnal Sains dan Teknologi Industri Vol 10 No 02

Klawon F 2001 What is About Fuzzy Clustering Understanding and Improving the Concept of the Fuzzier Science Journal httppublic-rzfh-wolfebuetteldeklawon

Kurniawan Carlos 2007 Analisis dan Perancangan Program Aplikasi Peramalan Curah Hujan dengan Metode Wavelet (Studi Kasus BMKG)

Kusumadewi S 2003 ldquoArtificial Intelegence (Teknik amp Aplikasinya)rdquo Graha Ilmu Yogyakarta

Kusumadewi S Purnomo H 2004 ldquoAplikasi Logika Fuzzy untuk Pendukung Keputusanrdquo Graha Ilmu Yogyakarta

Kusumadewi Sri 2002 Analisis amp Desain Sistem Fuzzy Tollbox MATLAB Graha Ilmu Yogyakarta

Lin Yupei Yang Y 2009 Stock Markets Forecasting Based on Fuzzy Time Series Model IEEE Conference Publications 782-886

Makridakis S Steven C Wheelwright Victor E and Gee MC 1999 Metode dan Aplikasi Peramalan Jilid I Edisi Kedua Jakarta Binarupa Aksara

Mirawati T Yasin H and Rusgiyono A 2013 Prediksi Curah Hujan dengan Metode Kalman Filter(Studi Kasus di Kota Semarang 2012) Jurnal Gaussian 2(3) pp 239-248

Pradipta Nur Sembiring Pasukat Bangun Pengarapen 2013 Analisis Pengaruh Curah Hujan di Kota Medan Saintia Matematika Vol 1

Sipayung Putri Metha 2013 Pemodelan Hubungan Kelembapan Udara terhadap Curah Hujan (Studi Kasus Curah Hujan Periode 2001-2009 pada Stasiun Dramaga) httprepositoryipbacidhandle12345678960623 (Diakses 25 Februari 2017)

User 2015 httpstaklimnegaranet[Online] Available at httpwwwstaklimnegaranetindexphpbuletin-hujanpengertian-istilah (Diakses 25 Februari 2017)

Wang Nai-Yi Chen Shyi-Ming 2009 Temperature prediction and TAIFEX forecasting based on automatic clustering techniques and two-factors high-order fuzzy time series Elsevier Expert Systems with Applications 36 2143ndash2154

94

Wardhani Dessy Ratnawati Dian Setiawan Budi 2015 Implementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Saham Repositori Jurnal Mahasiswa PTIIK UB Doro Jurnal Vol 6 No 6

Wiyanti T and Pulungan R 2012 Peramalan Deret Waktu Menggunakan Model Fungsi Basis Radial (RBF) dan Auto Regressive Integrated Moving Average (ARIMA) Jurnal MIPA 35(2) pp 175-182

Yunanto Utomo 2014 ldquoBMKG Akui Prakiraan Cuacanya Masih Kurang Akuratrdquo Kompas Sains Januari 30 httpwwwtimesindonesiacoidread13688520161118102415terendam-air-petani-lamongan-terpaksa-panen-dini (Diakses 25 Februari 2017)

  • Bagian Depanpdf
  • BAB Ipdf
  • BAB IIpdf
  • BAB IIIpdf
  • BAB IVpdf
  • BAB Vpdf
  • BAB VIpdf
  • BAB VIIpdf
  • Daftar Pustakapdf
Page 9: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI

ix

435 Halaman perhitungan error 64

44 Perancangan pengujian 64

441 Perancangan pengaruh order terhadap nilai MSE 64

442 Perancangan pengaruh threshold terhadap nilai MSE 65

443 Perancangan pengaruh jumlah data training terhadap nilai MSE 65

444 Perancangan validasi sistem 65

BAB 5 IMPLEMENTASI 67

51 Spesifikasi Sistem 67

511 Spesifikasi Perangkat Keras 67

512 Spesifikasi Perangkat Lunak 67

52 Implementasi Algoritma 67

521 Implementasi Proses Universe of Discourse 68

5211 Implementasi proses mean 68

5212 Implementasi proses standar deviasi 68

5213 Implementasi proses Dmin dan Dmax 69

522 Implementasi Proses Jumlah Cluster 69

523 Implementasi Proses Pusat Cluster 70

524 Implementasi Proses Pembentukan Subinterval dan Fuzzy Set 72

525 Implementasi proses fuzzifikasi 74

526 Implementasi Pembentukan Fuzzy Logical Relationship 75

527 Implementasi Proses Defuzzifikasi 77

53 Implementasi Antarmuka 79

531 Implementasi antarmuka halaman input 79

532 Implementasi antarmuka halaman tampil data 80

533 Implementasi antarmuka halaman proses 80

534 Implementasi antarmuka halaman hasil 82

535 Implementasi antarmuka halaman perhitungan error 82

BAB 6 PENGUJIAN DAN ANALISIS 83

61 Sistematika Pengujian 83

62 Hasil dan Analisis Pembahasan 83

621 Pengujian pengaruh order terhadap nilai MSE 83

x

622 Pengujian pengaruh threshold terhadap nilai MSE 85

623 Pengujian pengaruh jumlah data training terhadap nilai MSE 86

624 Pengujian validasi sistem 88

BAB 7 PENUTUP 90

71 Kesimpulan 90

72 Saran 91

DAFTAR PUSTAKA 92

LAMPIRAN 95

Lampiran 1 Data Sampel 95

xi

DAFTAR TABEL

Tabel 21 Kajian Pustaka 5

Tabel 22 Fuzzy Logic Relationship 19

Tabel 23 Peramalan fuzzy set 20

Tabel 41 Data Sampel Perhitungan Manual 46

Tabel 42 Hasil kuadrat dari selisih data ke-i dan mean 47

Tabel 43 Nilai minimum nilai maksimum dan standar deviasi 47

Tabel 44 Hasil Universe of Discourse 48

Tabel 45 Nilai absolut selisih data hari ke-t dengan hari sebelumnya 48

Tabel 46 Hasil jumlah cluster data 49

Tabel 47 Matriks partisi awal pada cluster data A 50

Tabel 48 Derajat keanggotaan matriks partisi data A 51

Tabel 49 Perhitungan pusat cluster data A 52

Tabel 410 Fungsi objektif data A 53

Tabel 411 Perbaikan matriks partisi 54

Tabel 412 Hasil perbaikan matriks partisi 54

Tabel 413 Hasil pusat cluster 55

Tabel 414 Batas subinterval masing ndash masing atribut data 55

Tabel 415 Hasil derajat keanggotaan dan fuzzy set data A 57

Tabel 416 Hasil fuzzifikasi semua data attribut 57

Tabel 417 Hasil pembentukan FLR data training 58

Tabel 418 Hasil pembentukan FLR data testing 58

Tabel 419 Frekuensi FLR yang cocok dengan data testing 59

Tabel 420 Perbandingan data aktual dan hasil peramalan 60

Tabel 421 Rancangan pengujian order terhadap nilai MSE 64

Tabel 422 Rancangan pengujian threshold terhadap nilai MSE 65

Tabel 423 Rancangan pengujian jumlah data training terhadap nilai MSE 65

Tabel 424 Rancangan pengujian validasi sistem 66

Tabel 51 Spesifikasi Perangkat Keras 67

Tabel 52 Spesifikasi Perangkat Lunak 67

Tabel 61 Hasil pengujian order terhadap nilai MSE 83

xii

Tabel 62 Hasil pengujian threshold terhadap nilai MSE 85

Tabel 63 Hasil pengujian jumlah data training terhadap nilai MSE 87

Tabel 64 Hasil pengujian validasi sistem 88

xiii

DAFTAR GAMBAR

Gambar 21 Representasi linear naik 11

Gambar 22 Representasi linear turun 12

Gambar 23 Representasi kurva segitiga 12

Gambar 31 Diagram blok metodologi penelitian 22

Gambar 41 Diagram alir metode penelitian yang digunakan (bagian 1) 25

Gambar 42 Diagram alir metode penelitian yang digunakan (bagian 2) 26

Gambar 43 Diagram alir proses perhitungan Universe of Discourse 27

Gambar 44 Diagram alir proses perhitungan mean 28

Gambar 45 Diagram alir proses perhitungan standar deviasi 29

Gambar 46 Diagram alir perhitungan nilai Min dan Max 30

Gambar 47 Diagram alir proses perhitungan jumlah cluster 31

Gambar 48 Diagram alir proses perhitungan pusat cluster (bagian 1) 32

Gambar 49 Diagram alir proses perhitungan pusat cluster (bagian 2) 33

Gambar 410 Diagram alir proses perhitungan pusat cluster (bagian 3) 34

Gambar 411 Diagram alir proses perhitungan pusat cluster (bagian 4) 35

Gambar 412 Diagram alir proses perhitungan pusat cluster (bagian 5) 36

Gambar 413 Diagram alir pembentukan subinterval dan fuzzy set (bagian 1) 37

Gambar 414 Diagram alir pembentukan subinterval dan fuzzy set (bagian 2) 38

Gambar 415 Diagram alir proses fuzzifikasi (bagian 1) 39

Gambar 416 Diagram alir proses fuzzifikasi (bagian 2) 40

Gambar 417 Diagram alir proses Pembentukan FLR (bagian 1) 41

Gambar 418 Diagram alir proses Pembentukan FLR (bagian 2) 42

Gambar 419 Diagram alir proses Pembentukan FLR (bagian 3) 43

Gambar 420 Diagram alir proses defuzzifikasi (bagian 1) 44

Gambar 421 Diagram alir proses defuzzifikasi (bagian 2) 45

Gambar 422 Grafik fuzzy set data A 56

Gambar 423 Rancangan antarmuka halaman input 61

Gambar 424 Rancangan antarmuka halaman tampil data 61

Gambar 425 Rancangan antarmuka halaman proses clustering 62

Gambar 426 Rancangan antarmuka proses fuzzifikasi 62

xiv

Gambar 427 Rancangan antarmuka proses fuzzy logical relationship 63

Gambar 428 Rancangan antarmuka halaman hasil peramalan 63

Gambar 429 Rancangan antarmuka halaman perhitungan error 64

Gambar 51 Implementasi antarmuka halaman input 79

Gambar 52 Implementasi antarmuka halaman tampil data 80

Gambar 53 Implementasi antarmuka halaman proses clustering 80

Gambar 54 Implementasi antarmuka halaman proses fuzzification 81

Gambar 55 Implementasi halaman antarmuka proses FLR 81

Gambar 56 Implementasi halaman antarmuka hasil 82

Gambar 57 Implementasi halaman antarmuka perhitungan error 82

Gambar 61 Grafik hasil pengujian order terhadap nilai MSE 84

Gambar 62 Grafik hasil pengujian threshold terhadap nilai MSE 86

Gambar 63 Grafik hasil pengujian data training terhadap nilai MSE 87

Gambar 64 Grafik hasil pengujian validasi sistem 88

Gambar 65 Grafik perbandingan data aktual dengan hasil peramalan 89

xv

DAFTAR KODE PROGRAM

Kode Program 51 Implementasi proses Universe of Discourse 68

Kode Program 52 Implementasi proses mean 68

Kode Program 53 Implementasi proses standar deviasi 69

Kode Program 54 Implementasi proses Dmin dan Dmax 69

Kode Program 55 Implementasi proses jumlah cluster 70

Kode Program 56 Implementasi proses pusat cluster 72

Kode Program 57 Implementasi pembentukan subinterval dan fuzzy set 74

Kode Program 58 Implementasi proses fuzzifikasi 75

Kode Program 59 Implementasi pembentukan FLR 77

Kode Program 510 Implementasi proses defuzzifikasi 79

xvi

DAFTAR LAMPIRAN

Lampiran 1 Tabel Data Sampel 95

1

BAB 1 PENDAHULUAN

11 Latar belakang

Kabupaten Malang merupakan salah satu kabupaten di Jawa Timur yang terkenal akan potensi alam yang dimiliki (BPS Kabupaten Malang 2016) Dalam hal ini terkenal akan potensi alamnya karena kabupaten Malang memiliki tingkat produksi di sektor pertanian yang cukup tinggi dimana hampir seluruh kecamatan di kabupaten Malang memiliki lahan pertaniaaan (BPS Jatim 2015) Permasalahan yang terjadi pada sektor pertanian yaitu terjadinya gagal panen apabila memasuki musim penghujan dengan curah hujan yang tinggi yaitu diatas 200 mm per bulan serta apabila memasuki musim kemarau dengan curah hujan yang rendah yaitu dibawah 100 mm per bulan (BMKG Staklim Karangploso Malang 2015) Dalam mengatasi hal tersebut upaya yang dilakukan petani selama ini hanya melakukan tindakan seperti melakukan panen secara dini Upaya ini dianggap petani cukup efektif dalam mengurangi besarnya kerugian gagal panen akan tetapi sebaiknya yang dilakukan adalah melakukan suatu tindakan agar kerugian yang dialami petani tidak terjadi lagi (Ardiyanto 2016)

Salah satu contoh tindakan yang dapat dilakukan adalah membuat Kalender Tanam (KATAM) KATAM dapat digunakan petani sebagai alat bantu atau pedoman dalam menentukan awal musim tanam terbaik seperti yang telah dilakukan oleh Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian Dalam pembuatan KATAM Balitbang menggunakan data peramalan curah hujan dari Badan Meteorologi Klimatologi dan Geofisika (BMKG) Akan tetapi BMKG mengakui bahwa prakiraan cuacanya saat ini memang masih kurang akurat dan masih kalah dengan prakiraan cuaca di Amerika Serikat (Yunanto 2014) Pentingnya akan prakiraan cuaca terbukti adanya beberapa penelitian sebelumnya yaitu penelitian prakiraan cuaca dengan input faktor yang mempengaruhi cuaca yang berupa data time series menggunakan metode Adaptive Neuro Fuzzy Inference System (ANFIS) (Dewi 2014) dan penelitian mengenai prediksi cuaca menggunakan metode Backpropagation Neural Network yang terbukti memiliki nilai akurasi yang baik dalam prediksi cuaca (Dewi 2013)

Teknik atau metode peramalan curah hujan yang sering digunakan BMKG adalah metode Autoregressive Integrated Moving Average (ARIMA) ANFIS dan Wavelet (Kurniawan 2007) Namun dalam penerapannya gabungan dari ketiga metode tersebut masih kurang memuaskan yaitu tingkat akurasinya hanya mencapai 60 - 70 Menurut BMKG kurangnya tingkat akurasinya ini disebabkan oleh keadaan pola atmosfer di Indonesia yang selalu berubah ndash ubah dan kurang menentu

Selain metode yang digunakan oleh BMKG adapun penelitian sebelumnya yang meramalkan curah hujan yaitu penelitian menggunakan metode Fuzzy Time Series Chen dengan studi kasus curah hujan di Samarinda dalam penelitian ini menggunakan data time series curah hujan bulanan dengan kesimpulan pengunaan data yang sedikit memiliki tingkat akurasi lebih tinggi dibandingkan

2

menggunakan data yang banyak yaitu menghasilkan nilai RMSE terkecil 7368 dan MAE terkecil 539 (Fauziah et al 2016)

Selain peramalan yang hanya menggunakan data time series dari data yang akan diramalkan juga terdapat penelitian sebelumnya yang menggunakan faktor - faktor yang mempengaruhi dari data yang akan diramalkan Salah satunya yaitu penelitian dengan menggunakan metode Clusterwise Linear Regression (CLR) Penelitian ini menggunakan data bulanan pada delapan stasiun cuaca di kota Victoria Australia Peramalan curah hujan pada penelitian ini menggunakan faktor yang mempengaruhi yaitu suhu maksimum suhu minimum penguapan tekanan uap dan radiasi matahari Hasil penelitian ini terbukti dapat melakukan peramalan curah hujan dengan hasil yang cukup baik yaitu dengan nilai RMSE terkecil 197 dan MAE terkecil 129 (Bagirov et al 2017)

Berdasarkan paparan yang telah dijelaskan penulis memiliki ide untuk melakukan penelitian dengan judul ldquoPeramalan Curah Hujan dengan Metode High Order Fuzzy Time Series Multi Factorsrdquo Pada metode ini dilakukan klasterisasi data untuk membangun subinterval dengan menggunakan metode fuzzy C-means (LinYang 2009) Dari proses hasil klasterisasi akan digunakan untuk membagi data semesta yang selanjutnya menghasilkan fuzzy set atau himpunan fuzzy yang menggambarkan fitur data (LinYang 2009) Keunggulan dari metode fuzzy time series dengan multi faktor yaitu dengan berdasarkan pada penelitian ndash penelitian sebelumnya yang menggunakan metode tersebut yaitu penelitian prediksi harga emas dengan beberapa faktor yang mempengaruhi menggunakan metode Multi-factors High order Fuzzy Time Series Model dari hasil penelitian ini dengan menggunakan metode evaluasi Mean Absolute Percentage Error (MAPE) dapat diperoleh nilai error terkecil sebesar 0443 (Wardhani et al 2015) dan penelitian peramalan Indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen menggunakan metode Fuzzy Time Series Model dari penilitian ini menunjukan tingkat Average Relative Error (ARError) sebesar 176 untuk bursa efek harian Shanghai sedangkan untuk bursa efek harian Shenzhen didapatkan ARError sebesar 187 (Lin Yang 2009) terbukti menghasilkan hasil peramalan dengan tingkat akurasi yang cukup tinggi Penggunaan metode ini juga sesuai dengan curah hujan yang dipengaruhi oleh beberapa faktor yaitu kelembaban udara kecepatan angin dan suhu (Pradipta 2013) Penelitian ini diharapkan dapat memberikan hasil peramalan curah hujan yang lebih akurat dan memiliki nilai kesalahan yang lebih sedikit

12 Rumusan masalah

Berdasarkan latar belakang yang telah dipaparkan dibuatlah beberapa rumusan masalah sebagai berikut

1 Bagaimana mengimplementasikan Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

2 Berapa tingkat kesalahan dari hasil implementasi Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

3

13 Tujuan

Adapun maksud dan tujuan dari penelitian ini adalah sebagai berikut

1 Mengimplementasikan Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

2 Mengetahui tingkat kesalahan dari hasil implementasi Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

14 Manfaat

Adapun manfaat dari penelitian ini adalah sebagai berikut

1 Bagi Badan Meteorologi dan Geofisika (BMKG) untuk dapat memberikan peramalan curah hujan yang lebih akurat dari sebelumnya

2 Bagi Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian untuk dapat membuat Kalender tanam (KATAM) dengan menggunakan data ramalan curah hujan yang lebih akurat

3 Bagi penduduk kabupaten Malang khususnya yang bekerja pada sektor pertanian agar dapat mengoptimalkan hasil produksi dengan menyesuaikan penanaman sesuai dengan Kalender Tanam (KATAM) yang telah dibuat Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian

15 Batasan masalah

Penelitian ini dibatasi oleh hal ndash hal sebagai berikut

1 Data curah hujan kelembaban udara kecepatan angin dan suhu udara yang digunakan pada penelitian ini merupakan data berdasarkan dasarian dan hanya mencakup wilayah kabupaten Malang dan data diperoleh dari BMKG Karangkates Kabupaten Malang dengan data time series yang digunakan pada penelitian ini yaitu dari tahun 2011 - 2016

2 Model peramalan yang diterapkan adalah semua nilai yang membentuk pola dataset training dan testing diketahui nilainya

3 Perhitungan nilai tingkat kesalahan permalan menggunakan metode Mean Square Error (MSE)

16 Sistematika pembahasan

Sistematika pembahasan penelitian ditunjukkan untuk memberikan gambaran dan uraian dari penyusunan proposal yang meliputi beberapa bab sebagai berikut

BAB 1 PENDAHULUAN

Pada bab ini berisi latar belakang rumusan masalah tujuan penelitian manfaat penelitian batasan masalah sistematika pembahasan dan rencana kerja atau jadwal penelitian

4

BAB 2 LANDASAN KEPUSTAKAAN

Pada bab ini berisi tentang kajian pustaka dan dasar teori yang menjadi dasar dalam melakukan implementasi peramalan curah hujan dengan Metode High Order Fuzzy Time Series Multi Factors

BAB 3 METODOLOGI

Pada bab ini diuraikan tentang tahapan atau langkah ndash langkah yang dilakukan dalam proses penelitian tentang peramalan curah hujan dengan metode High Order Fuzzy Time Series Multi Factors Langkah ndash langkah tersebut terdiri dari tahapan penelitian teknik pengumpulan data algoritma yang digunakan lingkungan pengujian dan pengujian algoritma yang digunakan serta pengambilan kesimpulan

BAB 4 PERANCANGAN

Pada bab ini berisi tentang perancangan proses algoritma perhitungan manual metode High Order Fuzzy Time Series Multi Factors perancangan antar muka dan perancangan pengujian

BAB 5 IMPLEMENTASI

Pada bab ini berisi tentang penjelasan peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors bagaimana user interface dan source code dalam pengimplementasian metode ini

BAB 6 PENGUJIAN DAN ANALISIS

Pada bab ini berisi tentang penjelasan proses dan hasil pengujian dari implementasi metode High Order Fuzzy Time Series Multi Factors dalam peramalan curah hujan serta analisis dari pengujian tersebut

BAB 7 PENUTUP

Pada bab ini berisi kesimpulan yang diperoleh dari hasil pengujian dan saran ndash saran untuk pengembangan penelitian selan

5

BAB 2 LANDASAN KEPUSTAKAAN

Bab ini berisi mengenai kajian pustaka dan dasar ndash dasar teori yang akan dibahas serta digunakan untuk menunjang topik ndash topik pembahasan Pada kajian akan dibahas perbedaan antara penelitian yang telah ada dengan penelitian yang diusulkan oleh penulis Sedangkan pada dasar teori akan dibahas mengenai teori ndash teori yang digunakan pada penelitian yang diusulkan

21 Kajian Pustaka

Pada kajian pustaka disini berisi mengenai perbandingan antara penelitian yang diusulkan oleh penulis dengan penelitian sebelumnya yang relevan Perbandingan tersebut dapat dilihat padat Tabel 21

Tabel 21 Kajian Pustaka

No Judul Objek dan Input Penelitian Metode

1 Penerapan Metode Automatic Clustering dan High Order Fuzzy Time Series Pada Peramalan Curah Hujan (Irsyad Metarice 2013)

Objek Curah hujan

Input Penelitian

Data aktual curah hujan

Metode High Order Fuzzy Time Series dan Automatic Clustering

Nilai evalusi

Mean Absolute Percentage Error (MAPE)

2 Peramalan Menggunakan Fuzzy Time Series Chen (Studi Kasus Curah Hujan Kota Samarinda) (Fauziah et al 2016)

Objek Curah Hujan

Input Penelitian

Data aktual curah hujan

Metode Fuzzy Time Series Chen

Nilai evaluasi

Mean Absolute Error (MAE) Root Mean of Square Error (RMSE)

3 Implementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emas (Wardhani et al 2015)

Objek Harga Emas

Input Penelitian

Kurs Dollar hari sebelumnya

Kurs Euro hari sebelumnya

Harga Emas London hari sebelumnya

Harga Emas hari sebelumnya

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

Nilai evalusi

Mean Absolute Percentage Error (MAPE)

4 Stock Markets Forecasting Based on Fuzzy Time Series Model (Lin Yang 2009)

Objek Indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

6

Input Penelitian

Historical return

Historical turnover volume

Rata ndash rata selisih pergerakan harga selama lima hari

Selisih antara kekuatan bull dan bear

Indeks komposit bursa efek harian Shanghai sebelumnya

Indeks komposit bursa efek harian Shenzhen

Nilai evalusi

Average Relative Error (ARError)

5 Peramalan Curah Hujan Menggunakan Metode High Order Fuzzy Time Series Multi Factors

Objek Curah hujan

Input Penelitian

Suhu

Kelembaban

Kecepatan angin

Curah hujan

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

Nilai evalusi

Mean Square Error (MSE)

Sumber (Irsyad Metarice 2013) (Fauziah et al 2016) (Wardhani et al 2015) dan (Lin Yang 2009)

Pada penelitian yang pertama yaitu penelitian yang dilakukan oleh Muhammad Irsyad dan Sonya Metarice pada tahun 2013 dengan objek penelitian yang diramalkan adalah curah hujan Inputan yang digunakan pada penelitian ini merupakan data aktual curah hujan bulanan Metode yang digunakan penelitian ini adalah Automatic Clustering dan High Order Fuzzy Time Series Pada penelitian ini metode Automatic Clustering digunakan untuk membangun interval dan High Order Fuzzy Time Series untuk melakukan peramalan curah hujan Kesimpulan yang diperoleh dari penelitian ini yaitu metode ini dapat diterapkan untuk permalan curah hujan dan hasil evaluasi menggunakan metode Mean Absolute Percentage Error(MAPE) dari beberapa bercobaan dapat diperoleh nilai kesalahan sebesar 437 Berdasarkan dari hasil nilai kesalahan tersebut maka tingkat kesalahan data pada permalan ini termasuk rendah

Pada tahun 2016 Normalita Fauziah Sri Wahyuningsih dan Yuki Novia Nasution melakukan penelitian dengan objek penelitian curah hujan di kota Samarinda Inputan yang digunakan pada penelitian berupa data aktual bulanan curah hujan di kota Samarinda Metode yang digunakan pada penelitian ini adalah Fuzzy Time Series Chen dengan dalam pembentukkan panjang interval berbasis rata ndash rata atau average based Pada penelitian ini permalan curah hujan terbaik yaitu dengan menggunkan data sebanyak 29 data dengan menghasilkan tingkat nilai kesalahan terkecil yaitu dengan metode Root Mean of Squared Error (RMSE) sebesar 7368 dan metode Mean Absolute Error (MAE) sebesar 539 Pada

(Lanjutan) Tabel 21 Kajian Pustaka

7

penelitian ini disimpulkan bahwa data sebanyak 29 data memiliki tingkat kesalahan lebih kecil dibandingkan dengan menggunakan data dengan jumlah sampel yang lebih banyak

Pada penelitian selanjutnya adalah penelitian yang dilakukan oleh Dessy Kusuma Wardhani Dian Eka Ratnawati dan Budi Darma Setiawan pada tahun 2015 dengan objek penelitian yang diramalkan adalah harga emas harian Inputan yang digunakan pada penelitian ini data aktual harian harga emas indonesia harga emas london kurs dollar ke rupiah dan kurs euro ke rupiah Metode yang digunakan pada penelitian pada pembentukkan sub interval menggunakan metode fuzzy C-means dan untuk peramalan menggunakan metode High Order Fuzzy Time Series Model Hasil pada penelitian ini berdasarkan menggunakan metode evaluasi Mean Absolute Percentage Error (MAPE) dapat diperoleh nilai error terkecil sebesar 0443 karena nilai error lebih kecil dari 10 menunjukkan bahwa metode ini sangat baik digunakan untuk peramalan harga emas

Pada tahun 2009 Yupei Lin dan Yiwei Yang melakukan penelitian dengan objek yang diramalkan adalah indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen Data input penelitian ini meliputi historical return historical turnover volume dan rata ndash rata selisih pergerakan harga selama lima hari serta selisih antara kekuatan bull dan bear Dalam penelitian ini pembentukan subinterval yang berfungsi dalam pendefinisian himpunan fuzzy dilakukan dengan menggunakan klasterisasi fuzzy C-means Hasil dari penilitian ini menunjukan tingkat Average Relative Error (ARError) sebesar 176 untuk bursa efek harian Shanghai sedangkan untuk bursa efek harian Shenzhen didapatkan ARError sebesar 187 Dalam hal ini membuktikan bahwa penelitian dapat menghasilkan peramalan yang cukup baik karena memiliki nilai ARError kurang dari 5

Pada penelitian ini membahas tentang peramalan curah hujan dasarian menggunakan metode High Order Fuzzy Time Series Multi Factors Terdapat empat inputan yang juga dijadikan sebagai variabel dalam penelitian ini yaitu kelembaban udara kecepatan angin suhu udara dan curah hujan Pembentukan subinterval yang berfungsi dalam pendefinisian fuzzy set dilakukan dengan menggunakan klasterisasi fuzzy C-means Penelitian ini menggunakan high order fuzzy logic relationship yaitu membentuk fuzzy logic relationship berdasarkan data dalam kurun waktu beberapa dasarian sebelum dasarian yang akan diramal Pada penelitian ini dalam melakukan perhitungan nilai error untuk mendapatkan hasil evaluasi menggunakan metode Mean Square Error (MSE)

22 Dasar Teori

Pada dasar teori disini dijelaskan tentang metode ndash metode yang digunakan pada penelitian ini yang meliputi peramalan curah hujan data time series logika fuzzy fuzzy C-means metode peramalan dengan Fuzzy Time Series High Order Fuzzy Time Series Multi Factors dan metode perhitungan keakuratan metode peramalan

8

221 Peramalan

Terdapat beberapa definisi tentang peramalan menurut Kamus Besar Bahasa Indonesia (KBBI) yaitu

a Peramalan merupakan prediksi rencana atau estimasi kejadian masa depan yang tidak pasti (KBBI)

b Peramalan adalah sebagai penggunaan teknik ndash teknik statistik dalam bentuk gambaran masa depan berdasarkan pengolahan angka ndash angka yang terjadi pada masa lalu (Buffa et al1996)

c Peramalan adalah bagian internal dari pengambilan keputusan manajemen (Makridakis et al1999)

Berdasarkan beberapa definisi diatas dapat disimpulkan bahwa peramalan merupakan tindakan apa yang akan terjadi di masa mendatang peramalan diperlukan untuk mengambil sebuah keputusan Dalam pengambilan keputusan harus diambil dari pertimbangan ndash pertimbangan yang ada Oleh karena itu peramalan sangat penting hubungannya dengan pengambilan keputusan sehingga kejadian di masa yang akan datang dapat dipersiapkan tindakan apa yang perlu dilakukan

222 Curah hujan

Curah hujan merupakan salah satu faktor penting yang mempengaruhi perubahan iklim suatu wilayah (Mirawati et al 2013) Salah satu contoh kasus nyata yaitu terjadinya perubahan iklim secara tiba ndash tiba atau bisa disebut dengan cuaca ekstrim Curah hujan dapat dijelaskan dengan air hujan yang terkumpul pada suatu wadah datar dimana air hujan tersebut tidak meresap tidak menguap dan tidak mengalir sehingga dapat diukur ketinggiannya Sebagai contoh curah hujan 1 (satu) milimeter dapat dijelaskan dalam suatu wadah datar dengan luas satu meter persegi tertampung air dengan ketinggian sekitar satu milimeter atau tertampung air sebanyak satu liter Metode dalam mendapatkan data curah hujan adalah dengan menggunakan penakar hujan yang kemudian diukur dengan satuan milimeter (mm) (User2015) Intensitas curah hujan dapat dikategorikan ringan jika dibawah 20mm dalam 24 jam dikategorikan lebat jika di atas 50mm dan dikategorikan sedang jika selang 20mm hingga 50mm (User 2015)

Curah hujan mempengaruhi beberapa sektor diantarannya sektor komunikasi dimana penggunaan frekuensi diatas 10 GHz dapat terkena redaman hujan (Mauludiyanto et al 2009) Akan tetapi curah hujan paling berpengaruh terhadap sektor pertanian Hal ini terbukti bahwa sebagian besar terjadinya penurunan produktifitas dan gagal panen di sektor pertanian adalah terjadinya curah hujan yang tinggi

Tinggi dan rendahnya curah hujan dipengaruhi oleh beberapa faktor yaitu kelembaban udara temperatur dan kecepatan angin Pada tahun 2013 Nur Suri Pradipta Pasukat Sembiring dan Pengarapen Bangun melakukan penelitian mengenai pengaruh curah hujan di kota Medan (Pradipta et al 2013)

9

Berdasarkan penelitian tersebut faktor yang mempengaruhi dan digunakan dalam peramalan curah hujan yaitu

1 Kelembaban udara

Kelembaban udara adalah banyaknya kandungan uap air di atmosfer Udara atmosfer adalah campuran dari udara kering dan uap air selain itu kelembaban udara merupakan komponen cuaca yang mempunyai peranan sangat penting bagi stabilitas kehidupan organisme di bumi maupun unsur-unsur cuaca yang lain (Forest 2015) Kelembaban udara berpengaruh terhadap curah hujan Hal ini didukung penelitian oleh (Sipayung et al 2013) yang menyatakan Kelembaban udara berpengaruh positif terhadap curah hujan

2 Kecepatan angin

Kecepatan angin merupakan kecepatan udara yang bergerak secara horizontal pada ketinggian 2 meter diatas tanah Dalam hal ini faktor yang menentukan kecepatan angin adalah perbedaan tekanan udara antara asal dan tujuan angin Kecepatan angin berpengaruh positif terhadap curah hujan artinya jika kecepatan angin tinggi maka curah hujan akan tinggi (Pradipta et al2013)

3 Suhu udara

Suhu udara merupakan ukuran energi kinetik rata ndash rata dari pergerakan molekul ndash molekul Suhu udara berpengaruh negatif terhadap curah hujan artinya jika suhu udara tinggi maka curah hujan akan berkurang (Pradipta et al2013)

223 Data time series

Data time series adalah data statistik yang telah dihimpun dari masa lampau hingga sekarang dan dapat digunakan sebagai acuan dalam melakukan peramalan terhadap data yang akan datang (Wiyanti amp Pulungan 2012) Data time series juga dapat didefinisikan sebagai sebuah kegiatan mengamati data statistik dimana terdapat korelasi (dependensi) antar datanya sehingga data yang sekarang sedang diamati memiliki ketergantungan dengan satu atau lebih data pengamatan sebelumnya (Mirawati et al 2013)

Terdapat dua teknik prediksi yang menggunakan basis data time series yaitu teknik model matematika statistik dan berdasarkan kecerdasan buatan (Wiyanti amp Pulungan 2012) Analisa time series sendiri memiliki beberapa peruntukan salah satunya digunakan dalam melakukan peramalan untuk masa yang akan datang Dalam penggunaan data time series merupakan salah satu proses peramalan kuantitatif dimana berdasar data kuantitatif masa lampau yang direpresentasikan dalam bentuk angka atau nilai (Mirawati et al 2013)

10

224 Logika Fuzzy

Pada tahun 1965 Prof Lotfi A Zadeh memperkenalkan teori logika fuzzy Logika fuzzy merupakan suatu komponen soft computing dan juga suatu cara yang tepat untuk memetakan suatu ruang input ke dalam ruang output Antara ruang input dan ruang output terdapat black box yang berfungsi memetakan input ke ruang output yang sesuai Dasar logika fuzzy adalah teori fuzzy set Pada teori fuzzy set peranan derajat keanggotaan sebagai penentu keberadaan elemen dalam suatu himpunan sangatlah penting Oleh karena itu derajat keanggotaan menjadi ciri utama dalam penalaran dengan logika fuzzy Logika fuzzy bekerja dengan menggunakan derajat keanggotan dari sebuah nilai yang kemudian digunakan untuk menentukan hasil yang ingin dihasilkan berdasarkan atas kriteria yang telah ditentukan (Kusumadewi 2003)

Berikut adalah beberapa alasan digunakannya logika fuzzy (Kusumadewi 2002)

1 Logika fuzzy sangat fleksibel

2 Konsep logika fuzzy mudah dimengerti dan dipahami

3 Logika fuzzy memiliki toleransi terhadap data ndash data yang homogen dan data ndash data yang kurang tepat

4 Logika fuzzy didasari pada bahasa alami atau bahasa sehari - hari sehingga mudah dimengerti

5 Logika fuzzy dapat bekerjasama dengan teknik ndash teknik kendali secara konvensional

6 Logika fuzzy mampu membangun dan mengaplikasikan pengalaman ndash pengalaman para pakar secara langsung tanpa harus melalui tahap atau proses pelatihan

A Himpunan Fuzzy

Himpunan fuzzy atau fuzzy set merupakan perluasan himpunan tegas atau himpunan crisp jadi fungsi karakteristik mencakup bilangan real pada interval [01] Dalam definisi lain himpunan fuzzy adalah suatu himpunan yang mewakili suatu keadaan atau kondisi tertentu dalam suatu variabel fuzzy Keanggotaan fuzzy berbeda dengan probabilitas jika keanggotaan fuzzy pada setiap fungsi karakteristik memberikan suatu pendapat atau keputusan sedangkan probabilitas menunjukan seberapa besar nilai kebenaran dalam fungsi karakteristik tersebut Contohnya yaitu nilai keanggotaan suatu himpunan fuzzy umur muda 09 berarti nilai dalam himpunan tersebut memiliki kemungkinan 90 anggotanya berumur muda dan 10 diharapkan tidak muda Dalam himpunan fuzzy suatu bilangan bisa memiliki dua keanggotaan sekaligus Himpunan fuzzy memiliki dua attribut (Kusumadewi2003)

11

1 Linguistik merupakan penamaan suatu himpunan yang mewakili suatu keadaan atau kondisi tertentu dengan menggunakan bahasa alami misalnya muda parobaya tua

2 Numeris merupakan suatu nilai (angka) yang menunjukkan ukuran dari suatu

variabel seperti 402550 dan sebagainya

B Fungsi Keanggotaan

Fungsi keanggotaan adalah suatu kurva yang menunjukkan pemetaan titik ndash titik input data ke dalam derajat keanggotaannya yang memiliki subinterval antara 0 sampai 1 (Kusumadewi Purnomo 2004) Salah satu cara yang dapat digunakan untuk mendapatkan nilai keanggotaan adalah dengan melalui pendekatan fungsi Ada beberapa fungsi keanggotaa yang dapat digunakan

1 Fungsi representasi linear

Pada fungsi representasi linear pemetaan input ke derajat keanggotaannya digambarkan sebagai suatu garis lurus Bentuk ini paling sederhana dan menjadi pilihan yang baik untuk mendekati suatu konsep yang kurang jelas Keadaan linear himpunan fuzzy terdiri dari dua keadaan yaitu keadaan linear naik dan keadaan linear turun Pada keadaan linear naik kenaikan himpunan dimulai pada nilai domain yang memiliki nilai derajat keanggotaan nol bergerak ke kanan menuju ke nilai domain yang memiliki derajat keanggotaan yang lebih tinggi seperti yang ditunjukkan Gambar 21 Persamaan fungsi keanggotaan pada representasi linear naik ditunjukkan oleh Persamaan 21

Fungsi Keanggotaan

120583(119909) = 0

(119909 minus 119886)(119887 minus 119886)1

119909 le 119886 119886 le 119909 le 119887119909 ge 119887

(21)

b a 0

1

Gambar 21 Representasi linear naik

Sumber Kusumadewi (2002)

120583(119909)

12

Pada keadaan linear turun berbanding terbalik dengan keadaan linear naik Garis lurus dimulai dari nilai domain dengan derajat keanggotaan tertinggi pada sisi kiri kemudian bergerak menurun ke nilai domain yang memiliki derajat keanggotaan lebih rendah yang ditunjukkan Gambar 22 Persamaan fungsi keanggotaan pada representasi linear turun ditunjukkan oleh Persamaan 22

Fungsi Keanggotaan

120583(119909) = (119887 minus 119909)(119887 minus 119886)0

119886 le 119909 le 119887

119909 ge 119887 (22)

2 Fungsi representasi kurva segitiga

Representasi kurva segitiga pada dasarnya merupakan gabungan antara 2 garis linear yaitu linear naik dan linear turun Fungsi representasi kurva segitiga ditandai oleh adanya tiga parameter abc yang akan menentukan koordinat x dari tiga sudut seperti ditunjukkan pada Gambar 23 Persamaan fungsi keanggotaan pada representasi kurva segitiga ditunjukkan oleh Persamaan 23

b a 0

1

Sumber Kusumadewi (2002)

Gambar 22 Representasi linear turun

120583(119909)

c a 0

1

b

Sumber Kusumadewi (2002)

Gambar 23 Representasi kurva segitiga

120583(119909)

13

Fungsi Keanggotaan

120583(119909) =

0 (119909 minus 119886)(119887 minus 119886) (119887 minus 119909)(119888 minus 119887)

119909 le 119886 119886119905119886119906 119909 ge 119888

119886 le 119909 le 119887 119887 le 119909 le 119888

(23)

225 Metode Fuzzy C-means

Fuzzy C-means (FCM) pertama kali diperkenalkan oleh Dunn dan dikembangkan oleh Bezdek yang banyak digunakan dalam pengenalan pola Metode ini merupakan pengembangan dari metode non-hierarkhi K-Means Cluster selanjutnya dilakukan iterasi sampai mendapatkan keanggotaan kelompok tersebut (Klawon 2001)

FCM merupakan salah satu algoritma fuzzy clustering dan juga teknik klasterisasi dimana tiap data ditentukan oleh derajat keanggotaanya Tujuan penggunaan algoritma FCM yaitu untuk menemukan pusat cluster atau centroid dengan meminimumkan fungsi objektif (Bazdek 1984) Ouput dari FCM bukan merupakan fuzzy inference system melainkan deretan pusat cluster dan beberapa derajat keanggotaan untuk setiap titik data Hasil output ini dapat digunakan untuk membangun suatu fuzzy inference system Berikut adalah langkah ndash langkah dari FCM (Kusumadewi 2004)

1 Langkah pertama menentukan jumlah cluster (c ge 2) pembobot (infin gt 119908 gt1) (Bazdek 1984) maksimum iterasi (maxIter) error minimum yang diharapkan yaitu nilai positif yang sangat kecil (120585) fungsi objektif awal (P0 = 0) iterasi awal dideklarasikan 1

2 Langkah kedua memasukkan data X yang akan diklasterisasi berupa matriks berukuran m x n (m = jumlah sampel data n = attribut setiap data) Contoh Xij = data sampel ke-i (i = 1234m) attribu ke-j (j=1234n)

3 Langkah ketiga yaitu dengan membuat bilangan random microik i = 1234n dan k = 123c (n = jumlah sampel pada data c = jumlah cluster yang akan dibentuk) sebagai elemen ndash elemen matriks partisi awal Untuk bilangan penyusun matriks partisi awal dihitung dihitung jumlahnya setiap kolom yang ditunjukkan pada pada Persamaan 24 (Kusumadewi 2004)

119876119896 = sum 120583119894119896119888119896=1 (24)

Dimana

119876119896 = jumlah bilangan pada kolom k

120583119894119896 = bilangan random pada baris i kolom k

119888 = jumlah kolom

14

Selanjutnya untuk menghitung derajat keanggotaan awal dengan melakukan normalisasi pada matiks partisi pada normalisasi dilakukan menggunakan Persamaan 25 (Kusumadewi 2004)

120583119894119896 = 120583119894119896119876119896 (25)

4 Langkah keempat melakukan perhitungan cluster ke-k Vkj dengan k = 1234c dan j = 1234m Perhitungan pusat cluster ditunjukkan pada Persamaan 26 (Kusumadewi 2004)

119881119896119895 = sum ((120583119894119896)119908 times 119883119894119895)119899

119894=1

sum (120583119894119896)119908119899119894=1

(26)

Dimana

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

120583119894119896 = derajat keanggotaan pada data ke-i cluster ke-k

119883119894119895 = data sampel pada data ke-i attribut ke-j

119908 = pembobot

5 Langkah kelima melakukan perhitungan fungsi objektif pada iterasi ke-t P1 Perhitungan fungsi objektif ditunjukkan pada Persamaan 27 (Kusumadewi 2004)

119875119905 = sum sum ([sum (119883119894119895 minus 119881119896119895)119898119895=1

2](120583119894119896)119908)119888

119896=1119899119894=1 (27)

Dimana

119875119905 = fungsi objektif

119883119894119895 = data sampel ke-i atribut ke-j

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

6 Langkah keenam melakukan perhitungan perbaikan matriks partisi yang telah ditunjukkan Persamaan 28 (Kusumadewi 2004)

120583119894119896 = [sum (119883119894119895minus119881119896119895)119898

119895=12

]

minus1119908minus1

sum [sum (119883119894119895minus119881119896119895)119898119895=1

2]

minus1119908minus1119888

119896minus1

(28)

Dimana

119883119894119895 = data sampel ke-i atribut ke-j

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

119908 = pembobot

7 Langkah ketujuh yaitu melakukan pemerikasaan kondisi berhenti dengan kondisi sebagai berikut

a Jika (|119875119905 minus 119875119905minus1| lt 120585) atau ( t gt MaxIter) maka berhenti

b Jika tidak memenuhi t = t +1 ulangi mulai dari langkah ke-4

15

226 Metode Peramalan dengan Fuzzy Time Series

Pada tahun 1996 Chen memperkenalkan metode peramalan dengan menggunakan metode Fuzzy Time Series Metode Fuzzy Time Series memiliki perbedaan dengan metode peramalan time series biasa atau konvensional yaitu terdapat pada data yang digunakan untuk peramalan Fuzzy Time Series data yang digunakan adalah berupa fuzzy set atau himpunan fuzzy dari bilangan ndash bilangan real atas himpunan semesta yang ditentukan Jadi Fuzzy Time Series merupakan metode dengan menggunakan data berupa fuzzy set yang berasal dari bilangan real atas Universe of Discorse pada data aktual Universe of Discourse adalah himpunan semesta dari data penelitian

Berikut adalah langkah ndash langkah metode Fuzzy Time Series yang telah diperkenalkan oleh Chen terdapat enam langkah yaitu

1 Langkah pertama yaitu membagi Universe of Discourse dari bilangan aktual ke dalam subinterval dengan jumlah interval yang sama Perhitungan Universe of Discourse ditunjukkan pada Persamaan 29 (Chen 1996)

119880 = [119863119898119894119899 minus 1198631 119863119898119886119909 + 1198632] (29)

Dimana

119880 = Universe of Discourse

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

1198631 dan 1198632 = bilangan positif yang ditentukan oleh user untuk menentukan Universe of Discourse dari himpunan data sampel

2 Langkah kedua adalah mendefinisikan fuzzy set dari Universe of Discourse (U) menjadikan A1 A2 A3 An ke dalam fuzzy set dengan nilai linguistik sesuai dengan keadaan U Selanjutnya mendefinisikan fuzzy set tersebut ditunjukkan pada Persamaan 210 (Chen 1996)

1198601 =11989111

1199061+

11989112

1199062+

11989113

1199063+ ⋯ +

1198911119896

119906119896 (210)

1198602 =11989121

1199061+

11989122

1199062+

11989123

1199063+ ⋯ +

1198912119896

119906119896

= + + + +

119860119896 =1198911198961

1199061+

1198911198962

1199062+

1198911198963

1199063+ ⋯ +

119891119896119896

119906119896

Dimana 119891119894119895120598 [01] 1 le 119894 le 119896 dan 1 le 119895 le 119898 Variabel 119891119894119895 menunjukkan

derajat keanggotaan dari subinterval 119906119895 dari fuzzy set 1198601 Pada konsep ini

Chen menggunakan nilai linguistik 1198601 = (not many) 1198602 = (not too many) 1198603= (many) 1198604 = (many many) 1198605 = (very many) 1198606 = (too many) 1198607= (too many many) Kemudian nilai linguistik tersebut dimasukkan ke tiap fuzzy set Dari U tersebut dapat dibangun fuzzy set sebagai berikut

16

1198601 = 1

1199061+

05

1199062+

0

1199063+

0

1199064+

0

1199065+

0

1199066+

0

1199067

1198602 = 05

1199061+

1

1199062+

05

1199063+

0

1199064+

0

1199065+

0

1199066+

0

1199067

1198603 = 0

1199061+

05

1199062+

1

1199063+

05

1199064+

0

1199065+

0

1199066+

0

1199067

1198604 = 0

1199061+

0

1199062+

05

1199063+

1

1199064+

05

1199065+

0

1199066+

0

1199067

1198605 = 0

1199061+

0

1199062+

0

1199063+

05

1199064+

1

1199065+

05

1199066+

0

1199067

1198606 = 0

1199061+

0

1199062+

0

1199063+

0

1199064+

05

1199065+

1

1199066+

05

1199067

1198607 = 0

1199061+

0

1199062+

0

1199063+

0

1199064+

0

1199065+

05

1199066+

1

1199067

3 Langkah ketiga yaitu melakukan fuzzifikasi data historis proses fuzzifikasi merupakan proses merubah data aktual yang merupakan bilangan crisp ke dalam bentuk bilangan fuzzy Bilangan fuzzy yang dimaksudkan adalah dalam bentuk derajat keanggotaan Dari beberapa derajat keanggotaan yang terbentuk kemudian dipilih satu fuzzy set yang memiliki derajat keanggotaan teringgi Fuzzifikasi dinotasikan sebagai berikut jika F(t-1) berada pada fuzzy set Ak maka F(t-1) difuzzifikasikan sebagai Ak

4 Langkah keempat adalah mengidentifikasi Fuzzy Logic Relationship (FLR) FLR diidentifikasikan sebagai Ai dan F(t) difuzzifikasikan sebagai Ai rarr Aj Ai sebagai sisi kiri relationship disebut sebagai current state dan Aj sebagai sisi kanan relationship disebut next state Jika terjadi perulangan relationship maka tetap dihitung satu kali

5 Langkah kelima yaitu mengelompokkan menjadi Fuzzy Logical Relationship Group (FLRG) FLRG dibangun berdasarkan sisi kiri (current state) yang sama

6 Langkah terakhir yaitu langkah keenam adalah melakukan defuzzifikasi nilai keluaran peramalan Defuzzifikasi adalah mengubah nilai keluaran fuzzy menjadi bilangan crisp kembali sehingga diperoleh hasil akhir peramalan Defuzzifikasi didasarkan pada tiga (3) rule aturan yaitu (Chen 1996)

I Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai hanya memiliki satu FLR pada FLRG yaitu dengan kondisi Ai rarr Aj dimana nilai maksimum fungsi keanggotaanya berada pada 119906119895 maka nilai peramalan untuk n+1 adalah

nilai tengah dari 119906119895 atau didefinisikan dengan 119898119895

II Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai memiliki lebih dari satu FLR pada FLRG yaitu dengan kondisi Ai rarr Aj1 Aj2 Ajp Dimana nilai tengah untuk masing ndash masing Aj1 Aj2 Aj3 Ajp adalah mj1 mj2 mj3 mjp

maka nilai peramalan untuk n+1 adalah (mj1 mj2 mj3 mjp) p

III Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai tidak memiliki FLR pada FLRG dimana nilai maksimum fungsi keanggotaannya berada pada 119906119895

17

maka nilai peramalan untuk n+1 adalah nilai tengah dari 119906119895 atau

didefinisikan dengan 119898119895

227 Metode High Order Fuzzy Time Series Multi Factors

Metode High Order Fuzzy Time Series Multi Factors adalah metode Fuzzy Time Series (FTS) yang melibatkan beberapa faktor yang mempengaruhi peramalan dengan berdasarkan beberapa periode waktu sebelum periode yang akan diramalkan dalam proses pembentukkan Fuzzy Logical Relationship (FLR) Hasil peramalan dengan banyak faktor yang mempengaruhi dinilai lebih baik dari pada dengan hanya satu faktor yang mempengaruhi (LinYang 2009) Pada metode ini pembentukkan subinterval yang berfungsi dalam pendefinisian fuzzy set dilakukan dengan menggunakan teknik klasterisasi fuzzy C-means Berikut adalah langkah ndash langkah Metode High Order Fuzzy Time Series Multi Factors (LinYang 2009)

1 Langkah pertama adalah melakukan perhitungan Universe of Discourse (U) Sebelum menghitung nilai U terlebih dulu menghitung nilai mean (rata ndash rata) sampel lalu menghitung nilai standar deviasi (120590) Mean merupakan perhitungan jumlah dari semua nilai dalam kumpulan data kemudian dibagi dengan jumlah total data untuk menghitung nilai mean ditunjukkan pada Persamaan 211 (Weisstein 2015) Standar deviasi merupakan akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel untuk menghitung nilai standar deviasi (120590) ditunjukkan pada Persamaan 212 (Weisstein 2015) Perhitungan U ditunjukkan pada Persamaan 213 (LinYang 2009)

119909 =sum 119909119894

119899119894=1

119899 (211)

Dimana

= mean (rata ndash rata)

119909119894 = nilai data ke-i

119899 = banyak data

120590 = radicsum (119909119894minus ) 2119899

119894=1

119899minus1 (212)

Dimana

120590 = Standar deviasi data

119880 = [119863119898119894119899 minus 120590 119863119898119886119909 + 120590] (213)

Dimana

119880 = Universal 0f Discourse

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

18

2 Langkah kedua yaitu menentukan jumlah cluster data Proses klasterisasi bertujuan untuk membagi U kedalam beberapa subinterval Hasil perhitungan banyaknya cluster apabila bernilai pecahan maka harus dibulatkan menjadi bilangan bulat Perhitungan banyaknya cluster ditunjukkan pada Persamaan 214 (LinYang 2009)

119896 = ||119863119898119894119899 minus 119863119898119886119909|sum |119883(119905)minus119883(119905minus1)|119899

119905=1

119899minus1| (214)

Dimana

119896 = banyaknya jumlah cluster

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

119899 = banyaknya data sampel

119883(119905) = data pada waktu ke-t

3 Langkah ketiga yaitu melakukan pembentukan pusat cluster Pada metode ini proses klasterisasi data menggunakan fuzzy C-means (FCM) untuk mendapatkan pusat cluster sebanyak k Tahapannya U dibagi kedalam k subinterval (119863119898119894119899 1198891) (1198891 1198892) (1198892 1198893) hellip (119889119896minus1 119863119898119886119909) dimana di (i = 123k-1) merupakan titik tengah antara dua pusat cluster k subinterval didefinisikan sebagai 1199061 1199062 1199063 hellip 119906119896 Sehingga dalam hal ini subinterval

dengan panjang berbeda dapat menggambarkan struktur data kompleks dengan baik dan dapat meningkatkan peramalan dibandingkan menggunakan subinterval dengan panjang yang sama (LinYang 2009)

4 Langkah keempat yaitu melakukan pembentukan himpunan fuzzy atau fuzzy set Pada langkah ini fuzzy set direpresentasikan dengan kurva bahu Pembentukkan fuzy set ditunjukkan pada Persamaan 215 (LinYang 2009)

1198601 =11989111

1199061+

11989112

1199062+

11989113

1199063+ ⋯ +

1198911119896

119906119896 (215)

= + + + +

119860119896 =1198911198961

1199061+

1198911198962

1199062+

1198911198963

1199063+ ⋯ +

119891119896119896

119906119896

5 Langkah kelima yaitu proses fuzzifikasi Proses fuzzifikasi bertujuan untuk mengubah data sampel yang masih berupa bilangan crisp sehingga menjadi bilangan fuzzy Masing ndash masing data dihitung derajat keanggotaannya terhadap fuzzy set yang sudah terbentuk selajutnya derajat kanggotaan dihitung berdasarkan kurva bahu dan derajat keanggotaan tertinggi menunjukkan hasil fuzzifikasi data tersebut Contohnya A(t) B(t) C(t) dan D(t) dimana t= 123n merupakan time series dari faktor yang mempengaruhi serta n merupakan banyaknya data Berdasarkan pembagian subinterval masing ndash masing time series ini difuzzifikasikan Misalkan hasil dari Persamaan 215 yaitu menghitung banyak cluster dari k1 k2 k3 k4 Jadi time series difuzzifikasikan menjadi empat fuzzy time series yaitu

19

A(ti) dimana i = 1234k1

B(tj) dimana j = 1234k2

C(tp) dimana p = 1234k3

D(tq) dimana q = 1234k4 t = 123n

6 Langkah keenam yaitu melakukan pembentukkan Fuzzy Logical relationship (FLR) Data sampel sebanyak n periode dipilih sebagai data training untuk membentuk fuzzy time series model Misalkan t merupakan periode waktu yang akan diramal dengan menggunakan order ndash 3 maka tiga periode sebelum periode t adalah t-3 t-2 dan t-1 dimana t = 456n Maka FLR yang dihasilkan ditunjukkan pada Persamaan 216 dan berdasarkan persamaan tersebut maka akan membentuk sebuah kumpulan FLR dari data training (LinYang 2009)

(119860(119905minus31198943) 119861(119905minus31198953) 119862(119905minus31199013) 119863(119905minus31199023)) (216)

(119860(119905minus21198942) 119861(119905minus21198952) 119862(119905minus21199012) 119863(119905minus21199022))

(119860(119905minus11198941) 119861(119905minus11198951) 119862(119905minus11199011) 119863(119905minus11199021)) rarr 119860(1199051198944)

Tabel 22 Fuzzy Logic Relationship

(119860(119905minus31198943) 119861(119905minus31198953) 119862(119905minus31199013) 119863(119905minus31199023))

(119860(119905minus21198942) 119861(119905minus21198952) 119862(119905minus21199012) 119863(119905minus21199022))

(119860(119905minus11198941) 119861(119905minus11198951) 119862(119905minus11199011) 119863(119905minus11199021)) rarr 119860(1199051198944)

(119860(119905minus21198943) 119861(119905minus21198953) 119862(119905minus21199013) 119863(119905minus21199023))

(119860(119905minus11198942) 119861(119905minus11198952) 119862(119905minus11199012) 119863(119905minus21199022))

(119860(1199051198941) 119861(1199051198951) 119862(1199051199011) 119863(1199051199021)) rarr 119860(119905+11198944)

(119860(119905+119899minus71198943) 119861(119905+119899minus71198953) 119862(119905+119899minus71199013) 119863(119905+119899minus71199023))

(119860(119905+119899minus61198942) 119861(119905+119899minus61198952) 119862(119905+119899minus61199012) 119863(119905+119899minus61199022))

(119860(119905+119899minus51198941) 119861(119905+119899minus51198951) 119862(119905+119899minus51199011) 119863(119905+119899minus51199021)) rarr 119860(119905+119899minus41198944)

Sumber (LinYang 2009)

7 Langkah terakhir adalah proses Defuzzifikasi Berdasarkan langkah sebelumnya maka dapat diambil hasil fuzzy ke- H yaitu yang digunakan sebagai data testing atau data uji seperti yang ditunjukkan pada Persamaan 217 (LinYang 2009)

(119860(119867minus31198943) 119861(119867minus31198953) 119862(119867minus31199013) 119863(119867minus31199023)) (217)

(119860(119867minus21198942) 119861(119867minus21198952) 119862(119867minus21199012) 119863(119867minus21199022))

(119860(119867minus11198941) 119861(119867minus11198951) 119862(119867minus11199011) 119863(119867minus11199021)) rarr 119860(1198671198944)

20

Faktor ndash faktor di ruas kiri pada Persaman 217 dibandingkan satu per satu dengan FLR data training yang sudah dicatat sebelumnya pada Tabel 22 membandingkannya yaitu dengan cara menghitung nilai absolut dari selisih antara pangkat bawah kedua faktor pada posisi yang sama di FLR Terdapat 12 fuzzy set di ruas kiri pada masing ndash masing FLR sehingga dari hasil perbandingan diperoleh 12 nilai absolut yang kemudian dijumlahkan untuk mendapat total selisihnya Jadi jika total selisih lebih kecil dari threshold yang ditentukan maka FLR tersebut dinyatakan cocok (LinYang 2009)

Selanjutnya jika FLR menemukan N pasangan yang cocok pada Tabel 22 maka N faktor di ruas kanan dari N FLR ini mendasari peramalan fuzzy set A() yang mana jumlah dari setiap fuzzy set pada umumnya berbeda Untuk peramalan dengan fuzzy set ditunjukkan pada Tabel 23 (LinYang 2009)

Tabel 23 Peramalan fuzzy set

Ruas Kanan A(1) A(2) A(3) A(k1)

Pusat cluster c1 c2 c3 ck1

Frekuensi f1 f2 f3 fk1

Sumber (Lin Yang 2009)

Berdasarkan Tabel 23 dengan menggunakan metode centroid untuk melakukan proses defuzzifikasi Proses defuzzifikasi dapat ditunjukkan pada Persamaan 218 (LinYang 2009)

119903119867 =sum 119888119894times 119891119894

1198961119894=1

sum 119891119894119896119894119894=1

(218)

Dimana

119903119867 = hasil (result) peramalan data ke-H

119888119894 = pusat cluster i dimana A(i) adalah ruas kanan dari FLR hasil proses pencocokan

119891119894 = frekuensi banyaknya muncul A(i) pada saat proses pencocokan

228 Perhitungan keakuratan metode peramalan

Dalam perencanaan peramalan tentu menginginkan hasil ramalan yang tepat atau paling tidak hampir mendekati sehingga rencana yang dibuat menjadi rencana yang realistis Keakuratan atau ketepatan merupakan yang menjadi kriteria performance suatu metode peramalan Keakuratan tersebut dapat dinyatakan sebagai kesalahan peramalan (forecast error) Semaikin kecil nilai kesalahan peramalan maka semaikin tinggi keakuratan metode peramalan yang digunakan dan sebaliknya semakin tinggi nilai kesalahan maka semakin rendah keakuratan metode peramalan yang digunakan

Mean Square Error (MSE) adalah salah satu metode yang digunakan untuk menghitung nilai akurasi atau keakuratan dari metode yang digunakan sebagai peramalan atau prediksi MSE merupakan perhitungan pangkat dua dari selisih

21

antara nilai data hasil peramalan dengan nilai data aktual dan kemudian dibagi dengan banyaknya data yang telah diramalkan Pada penentuan nilai evaluasi memilih menggunakan metode MSE karena metode ini dapat menunjukan hasil skala kemiripan antara hasil data peramalan dengan data aktual Berikut merupakan metode Mean Square Error (MSE) yang ditunjukan pada Persamaan 219 (Wang Chen 2009)

119872119878119864 = sum (119865119905minus119860119905)2119899

119894=1

119899 (219)

Dimana 119872119878119864 = nilai Mean Square Error Rate 119860119905 = nilai aktual pada data ke-t 119865119905 = nilai hasil peramalan untuk data ke-t n = banyaknya data

22

BAB 3 METODOLOGI

Pada bab ini akan dibahas mengenai metode yang digunakan beserta tahap ndash tahap pengerjaan penelitian skripsi dengan judul ldquoPeramalan Curah Hujan dengan Metode High Order Fuzzy Time Series Multi Factorsrdquo Penilitian ini digolongkan sebagai penelitian implementatif dengan pendekatan perancangan (design)

Metode penelitian ini meliputi studi literatur pengumpulan data perancangan implementasi pengujian dan analisis pengambilan kesimpulan Berikut adalah alur dari metode penelitian dapat ditunjukkan pada Gambar 31

31 Studi Literatur

Pada tahap studi literatur penelitian ini bertujuan untuk mempelajari literatur dan konsep dari beberapa informasi dan pustaka yang berkaitan dengan penelitian ini Literatur dan sumber ilmu dari penelitian ini diperoleh dari internet buku dan bimbingan oleh dosen pembimbing Adapun literatur yang dipelajari yaitu tentang curah hujan serta faktor ndash faktor yang mempengaruhinya dan metode High Order Fuzzy Time Series Multi Factors

Studi Literatur

Pengumpulan Data

Perancangan

Implementasi

Pengujian dan Analisis

Kesimpulan dan Saran

Gambar 31 Diagram blok metodologi penelitian

23

32 Pengumpulan Data

Pada tahap pengumpulan penelitian ini sumber data yang diperoleh yaitu dari Badan Meteorologi Klimatologi dan Geofisikia (BMKG) Stasiun Klimatologi Kelas III Karangkates Kabupaten Malang Data yang diperoleh untuk peramalan curah hujan yaitu data aktual time series (2011 - 2016) Data yang digunakan dalam bentuk dasarian yaitu dalam rentang waktu sepuluh hari sehingga dalam satu bulan dibagi menjadi tiga dasarian

Dasarian pertama yaitu pada tanggal 1 sampai dengan 10

Dasarian kedua yaitu pada tanggal 11 sampai dengan 20

Dasarian ketiga yaitu pada tanggal 21 sampai dengan akhir bulan

Pada penelitian ini data curah hujan dalam satuan milimeter (mm) kelembaban dalam persen () suhu udara dalam satuan celsius (˚C) kecepatan angin dalam satuan kilometer per jam (kmjam)

33 Perancangan

Pada tahap perancangan penelitian ini bertujuan untuk mengetahui rancangan ndash rancangan yang merupakan langkah yang dilakukan saat melakukan tahap implementasi Pada tahap ini terdapat beberapa perancangan yaitu perancangan proses yang berisi tahapan ndash tahapan proses metode High Order Fuzzy Time Series Multi Factors perhitungan manual yang merupakan manualisasi dari metode yang digunakan pada penelitian ini perancangan antar muka atau user interface yang berisi gambaran kasar dari tampilan antar muka prototype aplikasi yang nantinya diterapkan pada tahap implementasi selanjutnya adalah perancangan pengujian yang berisi rancangan ndash rancangan pengujian metode yang digunakan untuk mengetahui berapa tingkat kesalahan atau error yang dimiliki metode pada penelitian ini dalam melakukan peramalan curah hujan

34 Implementasi

Pada tahap implementasi peneltian ini dilakukan sesuai dengan perancangan yang telah dibuat pada tahapan perancangan sebelumnya Implementasi dari metode High Order Fuzzy Time Series Multi Factors dilakukan menggunakan bahasa pemrograman java serta Integrated Development Environment (IDE) yang digunakan adalah Netbeans Sehingga nantinya hasil dari tahap ini berupa prototype aplikasi dari implementasi metode High Order Fuzzy Time Series Multi Factors untuk peramalan curah hujan

35 Pengujian dan Analisis

Pada tahapan penelitian pengujian ini diperlukan perangkat lunak dan perangkat keras agar pengujian dari hasil implementasi dapat berjalan dengan baik maka pengujian perangkat lunak dijalankan pada laptop ataupun PC (Personal Computer) dengan spesifikasi sebagai berikut

24

1 Prosesor Intel Core i3

2 Memory RAM 8 Gigabytes

3 Sistem Operasi menggunakan Windows 7 64bit

4 Hardisk dengan kapasitas 500 GB

5 Netbeans 81 JDK 7

Pengujian hasil peramalan menggunakan metode High Order Fuzzy Time Series Multi Factors yaitu menggunakan metode Mean Square Error (MSE) Dimana rumus pengujian sesuai dengan Persamaan 219 Dalam pengujian menggunakan metode ini semakin kecil nilai MSE maka semakin tinggi tingkat akurasi hasil peramalan tersebut Pada penelitian ini untuk keperluan pengujian dari proses implementasi dilakukan empat pengujian yaitu pengujian terhadap perbedaan nilai order pengujian terhadap perbedaan nilai threshold pengujian terhadap data training untuk mengetahui pengaruhnya terhadap nilai MSE dan pengujian validasi sistem untuk mengetahui bahwa hasil implementasi metode High Order Fuzzy Time Series Multi Factors dapat melakukan peramalan

36 Kesimpulan dan Saran

Pada pengambilan kesimpulan akan dilakukan apabila semua tahapan ndash tahapan penelitian sudah dilakukan yaitu yang meliputi perancangan implementasi dan pengujian dan analisis telah selesai dilakukan Kesimpulan merupakan tahapan dimana semua rumusan masalah yang sudah ditetapkan sebelumnya dapat terjawab semua Selanjutnya pada saran merupakan berkenaan dengan hasil yang telah dicapai untuk memperbaiki kekurangan - kekurangan yang terjadi pada penelitian ini serta memberikan pertimbangan pada pengembangan penelitian lebih lanjut

25

BAB 4 PERANCANGAN

Pada bab ini berisi tentang perancangan yang nantinya digunakan sebagai dasar dalam tahap implementasi Hal yang dibahas meliputi perancangan proses perhitungan manual perancangan pengujian dan perancangan antar muka

41 Perancangan Proses

Pada perancangan proses ini berisi mengenai tahapan ndash tahapan dari metode yang digunakan yaitu metode High Order Fuzzy Time Series Multi Factors Pada penelitian ini melibatkan faktor ndash faktor yang mempengaruhi curah hujan yaitu suhu udara kelembaban udara dan kecepatan angin Data time series dari curah hujan merupakan faktor utama dalam proses peramalan pada penelitian ini Inputan pada peneltian ini yaitu data time series curah hujan serta faktor ndash faktor yang mempengaruhinya Order yang digunakan pada metode ini merupakan order lebih dari satu oleh karena itu disebut dengan High Order Order merupakan urutan jumlah dari data time series pada periode waktu t yang mempengaruhi nilai data Berikut merupakan diagram alir dari proses peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors yang ditunjukkan pada Gambar 41 dan Gambar 42

Gambar 41 Diagram alir metode penelitian yang digunakan (bagian 1)

Mulai

Data curah hujan suhu kelembaban kecepatan angin jmlh_Banyakdata jmlh_Faktor

Universe_of_Discourse

A

Jumlah_Cluster

26

411 Proses perhitungan Universe of Discourse

Pada perhitungan Universe of Discourse harus sudah dilakukan inputan data agar dapat memulai tahapan perhitungan Tahapan dari proses perhitungannya yaitu pada langkah pertama dilakukan perhitungan nilai mean (rata ndash rata) sesuai dengan Persamaan 211 Setelah mendapatkan nilai mean dapat dilakukan perhitungan untuk mencari nilai standar deviasi sesuai dengan Persamaan 212 Selanjutnya dicari nilai terkecil (119863119898119894119899) dan nilai terbesar (119863119898119886119909) Setelah menyelesaikan tahap ndash tahap tersebut dapat dilakukan perhitungan untuk

Gambar 42 Diagram alir metode penelitian yang digunakan (bagian 2)

A

Perhitungan Pusat Cluster

Fuzzifikasi

Pembentukan Fuzzy Logical Relationship

Defuzzifikasi

Nilai hasil peramalan

Berhenti

Pembentukan Subinterval dan Fuzzy set

27

mencari Universe of Discourse sesuai dengan Persamaan 213 Berikut merupakan diagram alir dari proses perhitungan Universe of Discourse yang ditunjukkan pada Gambar 43

Perhitungan Universe of Discourse

Mulai

Min_dan_Max

mean

standar_deviasi

for i = 0 to jmlh_Faktor-1

i

hsl_uMin ke i = hsl_min ke i ndash hsl_stdev ke i

hsl_uMax ke i = hsl_max ke i + hsl_stdev ke i

hsl_uMin hsl_uMax

Berhenti

Gambar 43 Diagram alir proses perhitungan Universe of Discourse

28

4111 Proses perhitungan Mean

Pada proses perhitungan mean merupakan nilai rata ndash rata dari setiap faktor dimana nilai mean ini nantinya dibutuhkan untuk melakukan proses perhitungan standar deviasi Berikut merupakan diagram alir dari proses perhitungan mean yang ditunjukkan pada Gambar 44

mean

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to jmlh_DataTraining

tmp_jmlh = 0

tmp_jmlh = tmp_jmlh + data ke ij

j

hsl_mean ke i = tmp_jmlhjmlh_DataTraining

i

hsl_mean

Berhenti

Gambar 44 Diagram alir proses perhitungan mean

29

4112 Proses perhitungan standar deviasi

Pada proses perhitungan standar deviasi dapat dilakukan setelah mendapatkan nilai mean dari setiap data sesuai proses sebelumnya Berikut merupakan diagram alir dari proses perhitungan standar deviasi yang ditunjukkan pada Gambar 45

standar_deviasi

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to jmlh_DataTraining

result = 0

result = result + (data ke ij ndash mean ke i)2

j

hsl_stdev ke i = radicresult

jmlh_DataTrainingminus1

i

hsl_stdev

Berhenti

Gambar 45 Diagram alir proses perhitungan standar deviasi

30

4113 Proses perhitungan nilai Dmin dan Dmax

Pada proses perhitungan ini merupakan proses perhitungan untuk mencari nilai terkecil dan terbesar dari setiap faktor data Setelah mendapat nilai terkecil dan terbesar maka data dilakukan proses perhitungan Universe of Discourse Berikut merupakan diagran alir dari proses perhitungan nilai Dmin dan Dmax yang ditunjukkan pada Gambar 46

Gambar 46 Diagram alir perhitungan nilai Min dan Max

ya

ya

tidak

tidak

Min_dan_Max

Mulai

for i = 0 to jmlh_Faktor-1

besar = data ke i0

kecil = data ke i0

for j=0 to jmlh_DataTraining

data ke ij gt besar

besar = data ke ij

data ke ij lt kecil

kecil = data ke ij

j

hsl_max ke i = besar

hsl_min ke i = kecil

i

hsl_max hsl_min

Berhenti 1

1

2

2

3

4

4

5

5

3

31

412 Proses perhitungan jumlah cluster

Pada proses perhitungan jumlah cluster memiliki masukkan proses Dmin dan Dmax

dari proses perhitungan sebelumnya Pada proses ini terdapat perhitungan nilai dari selisih setiap data Pada perhitungan jumlah cluster sesuai dengan Persamaan 214 Berikut merupakan langkah ndash langkah perhitungan jumlah cluster yang ditunjukkan pada Gambar 47

jumlah_Cluster

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to (jmlh_DataTraining-1)

Berhenti

hsl_max hsl_min

selisih = 0

selisih = selisih + |data ke ij ndash data ke i (j+1)|

j

jmlh_Cluster ke i = |ℎ119904119897_119898119894119899 119896119890 119894minusℎ119904119897_119898119886119909 119896119890 119894|

119904119890119897119894119904119894ℎ

119895119898119897ℎ_119863119886119905119886119879119903119886119894119899119894119899119892minus1

i

jmlh_Cluster

Gambar 47 Diagram alir proses perhitungan jumlah cluster

32

413 Proses perhitungan pusat cluster

Pada proses perhitungan pusat cluster ini diperlukan beberapa variabel yang harus dideklarasikan terlebih dahulu yaitu nilai bobot fungsi objektif nilai iterasi awal nilai iterasi maksimum dan error terkecil Perhitungan subinterval ini menggunakan metode fuzzy C-means yang diawali dengan pencarian pusat cluster terlebih dahulu Berikut merupakan langkah ndash langkah perhitungan subinterval yang ditunjukkan pada Gambar 48 Gambar 49 Gambar 410 Gambar 411 Gambar 412

Gambar 48 Diagram alir proses perhitungan pusat cluster (bagian 1)

Perhitungan pusat cluster

Mulai

jmlh_Cluster

for i = 0 to jmlh_Faktor-1

Deklarasi bobot selisih_f_objektif

iter_maksimum error_min

Pembentukan Matriks partisi faktor A jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor A

for iter = iter to iter_maksimum

A

i == 0

Perhitungan pusat_cluster1 faktor A

B C D

tidak

ya

33

Gambar 49 Diagram alir proses perhitungan pusat cluster (bagian 2)

ya

tidak

tidak

ya

Perhitungan f_objektif faktor A

A B C D

Perhitungan selisih_f_objektif faktor A

Perbaikan matriks partisi faktor A

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster1 faktor A

Iter = iter_maksimum

iter

i == 1

Pembentukan Matriks partisi faktor B jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor B

for iter = iter to iter_maksimum

F A G E

34

tidak

tidak

ya

A E F G

Perhitungan pusat_cluster2 faktor B

Perhitungan f_objektif faktor B

Perhitungan selisih_f_objektif faktor B

Perbaikan matriks partisi faktor B

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster2 faktor B

Iter = iter_maksimum

iter

i == 2

Pembentukan Matriks partisi faktor C jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor C

I A H

Gambar 410 Diagram alir proses perhitungan pusat cluster (bagian 3)

ya

35

tidak

tidak

Gambar 411 Diagram alir proses perhitungan pusat cluster (bagian 4)

ya

A H I

for iter = iter to iter_maksimum

Perhitungan pusat_cluster3 faktor C

Perhitungan f_objektif faktor C

Perhitungan selisih_f_objektif faktor C

Perbaikan matriks partisi faktor C

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster3 faktor C

Iter = iter_maksimum

iter

i == 3

Pembentukan Matriks partisi faktor D jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor D

J A K

ya

36

tidak

ya

Gambar 412 Diagram alir proses perhitungan pusat cluster (bagian 5)

A K J

for iter = iter to iter_maksimum

Perhitungan pusat_cluster4 faktor D

Perhitungan f_objektif faktor D

Perhitungan selisih_f_objektif faktor D

Perbaikan matriks partisi faktor D

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster4 faktor D

Iter = iter_maksimum

iter

i

pusat_cluster1pusat_cluster2 pusat_cluster3pusat_cluster4

Berhenti

37

tidak

ya

tidak

ya

Gambar 413 Diagram alir pembentukan subinterval dan fuzzy set (bagian 1)

414 Proses pembentukan subinterval dan Fuzzy set

Pada proses pembentukan fuzzy set atau himpunan fuzzy pada penelitian ini dapat dilakukan setelah perhitungan subinterval selesai dilakukan Nilai subniterval merupakan masukan utama pada pembentukkan fuzzy set Pembentukan fuzzy sesuai dengan Persamaan 215 Berikut merupakan langkah ndash langkah proses pembentukan fuzzy set yang ditunjukkan pada Gambar 413 dan Gambar 414

Pembentukan subinteval dan Fuzzy set

Mulai

pusat_cluster1pusat_cluster2 pusat_cluster3pusat_cluster4

for i = 0 to jmlh_Faktor-1

Menentukan batas_subintervalMinA dan

batas_subintervalMaxA

Menentukan batas_fuzzysetMinA dan batas_fuzzysetMaxA

i == 0

i == 1

Menentukan batas_subintervalMinB dan

batas_subintervalMaxB

Menentukan batas_fuzzysetMinB dan batas_fuzzysetMaxB

A C B

38

tidak

tidak

ya

ya

415 Proses Fuzzifikasi

Pada proses fuzzifikasi ini pembentukanya sesuai derajat keanggotaan pada setiap data Pada proses ini derajat keanggotaan dihitung berdassarkan fungsi keanggotaan kurva bahu Hasil dari proses ini merupakan data yang sudah difuzzifikasikan menjadi data fuzzy Berikut langkah ndash langkah dari proses fuzzifikasi ditunjukkan pada Gambar 415 dan Gambar 416

i == 2

A B C

Menentukan batas_subintervalMinC dan batas_subintervalMaxC

Menentukan batas_fuzzysetMinC dan batas_fuzzysetMaxC

i == 3

Menentukan batas_subintervalMinD dan batas_subintervalMaxD

Menentukan batas_fuzzysetMinD dan batas_fuzzysetMaxD

i

batas_fuzzysetMinA batas_fuzzysetMaxA batas_fuzzysetMinB batas_fuzzysetMaxB batas_fuzzysetMinC batas_fuzzysetMaxC batas_fuzzysetMinD batas_fuzzysetMaxD

Berhenti

Gambar 414 Diagram alir pembentukan subinterval dan fuzzy set (bagian 2)

39

tidak

ya

ya

tidak

Fuzzifikasi

Mulai

for i = 0 to jmlh_Faktor-1

Menentukan hasil_fuzzifikasiA dari faktor A

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinA batas_fuzzysetMaxA

Gambar 415 Diagram alir proses fuzzifikasi (bagian 1)

batas_fuzzysetMinA batas_fuzzysetMaxA batas_fuzzysetMinB batas_fuzzysetMaxB batas_fuzzysetMinC batas_fuzzysetMaxC batas_fuzzysetMinD batas_fuzzysetMaxD

DD

i == 0

i == 1

Menentukan hasil_fuzzifikasiB

dari faktor B

Menghitung derajat keanggotaan

berdasarkan batas_fuzzysetMinB

batas_fuzzysetMaxB

C A B

40

tidak

ya

ya

tidak

ya

i == 2

A B C

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinC batas_fuzzysetMaxC

Menentukan hasil_fuzzifikasiC dari faktor C

i == 3

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinD

batas_fuzzysetMaxD

Menentukan hasil_fuzzifikasiD dari faktor D

i

hasil_fuzzifikasiA hasil_fuzzifikasiB hasil_fuzzifikasiC hasil_fuzzifikasiD

Berhenti

Gambar 416 Diagram alir proses fuzzifikasi (bagian 2)

41

tidak

ya

416 Proses pembentukan Fuzzy Logical Relationship

Setelah data melalui proses fuzzifikasi dan sudah menjadi data fuzzy maka dapat dilakukan pembentukan Fuzzy Logical Relationship (FLR) Pembentukan FLR dilakukan sesuai dengan Persamaan 216Berikut adalah langkah ndash langkah proses pembentukan Fuzzy Logical Relationship (FLR) yang ditunjukkan pada Gambar 417 Gambar 418 dan Gambar 419

Gambar 417 Diagram alir proses Pembentukan FLR

(bagian 1)

Pembentukan Fuzzy Logical Relationship

Mulai

hasil_fuzzifikasiAhasil_fuzzifikasiB hasil_fuzzifikasiChasil_fuzzifikasiD order

for i = 0 to jmlh_dataTraining

max_inc = order jmlh_dataTraining = dataTraining - order

for j = i to max_inc

for k = 0 to jmlh_Faktor-1

j == 0

FLR_kiri_training ke ijk = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D)

ke j

E A B C D

42

ya

tidak

ya

tidak

A B C E D

FLR_kiri_training ke i(j-i)k = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D) ke j

j = 0

k

j

FLR_kanan_training ke i = hasil_fuzzifikasiA ke (i+order)

Max_inc lt (jmlh_DataTraining-1)

i

tmp_JmlhDatatraining = tmp_JmlhDatatraining +1

max_inc = max_inc + 1 tmp_JmlhDatatraining = i

Gambar 418 Diagram alir proses Pembentukan FLR (bagian 2)

for j = 0 to tmp_JmlhDatatraining

for j = tmp_JmlhDatatraining to max_inc

for k = 0 to jmlh_Faktor-1

I H G F

43

tidak

ya

417 Proses Defuzzifikasi

Proses defuzzifikasi merupakan proses akhir dimana keluaran dari proses ini merupakan nilai hasil peramalan Data yang diperlukan pada proses defuzzifikasi adalah hasil dari proses pembentukan Fuzzy Logical Relationship (FLR) nilai threshold yang harus dideklarasikan sebelumnya jumlah data training dan jumlah data testing Dalam proses ini dilakukan perhitungan selisih pada FLR antara data testing dan data training FLR yang dihitung nilai selisihnya adalah FLR pangkat bawah yang terdapat pada ruas kiri Setelah dilakukan perhitungan selisih dan total jumlah selisih lebih kecil dari nilai threshold maka pada setiap FLR yang

I H G F

FLR_kiri_testing ke i(j-tmp_jmlhDatatraining) k = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D) ke j

k

j

FLR_kanan_testing ke i = hasil_fuzzifikasiA ke (i+order)

i

Max_inc lt (jmlh_DataTraining-1)

max_inc = max_inc + 1 tmp_JmlhDatatraining++

FLR_kiri_training FLR_kanan_training FLR_kiri_testing FLR_kanan_testing

Mulai

Gambar 419 Diagram alir proses Pembentukan FLR (bagian 3)

44

ya

tidak

sesuai dengan kondisi tersebut dapat dikatakan cocok atau dapat dilakukan ke tahap perhitungan selanjutnya Setelah mendapatkan FLR yang cocok maka dilakukan pengelompokkan berdasarkan FLR ruas kanan Pengelompokkan ini dihitung jumlah frekuensi yang sama sesuai dengan fuzzy set di ruas kanan Selanjutnya untuk memperoleh hasil peramalan dilakukan proses perhitungan sesuai dengan Persamaan 218 Berikut adalah langkah ndash langkah proses defuzzifikasi yang ditunjukkan pada Gambar 420 dan Gambar 421

Gambar 420 Diagram alir proses defuzzifikasi (bagian 1)

Defuzzifikasi

Mulai

FLR_kiri FLR_kanan order dataTraining dataTesting konstanta

threshold = (jmlh_Faktor x order)+konstanta

for i = 0 to dataTesting

for j = 0 to (dataTraining-i)

Perhitungan hitung_selisih antara FLR_kiri data training dan data testing

hitung_selisih lt threshold

match ke ij = hitung_selisih

j

i

A

45

Gambar 421 Diagram alir proses defuzzifikasi (bagian 2)

A

Menghitung jumlah total FLR_kiri yang cocok untuk setiap data testing

Mencocokan FLR_kiri yang cocok dengan FLR_kanan untuk setiap data testing

for i = 0 to dataTesting

Menghitung frekuensi setiap FLR_kanan yang cocok untuk setap data testing

for j = 0 to jumlah total FLR kiri yang cocok

peramalan = peramalan + Frekuensi setiap FLR_kanan yang cocok x pusat_cluster1

sesuai dengan value FLR_kanannya

j

hasil_peramlan ke i = peramalan jumlah total FLR kiri yang cocok

i

Hasil_permalan

Berhenti

46

42 Perhitungan Manual

Dalam perhitungan manual ini data sampel yang digunakan merupakan data time series dasarian ke-2 pada periode April 2014 sampai dengan dasarian ke-2 Juli 2014 data sampel ditunjukkan pada Tabel 41

Tabel 41 Data Sampel Perhitungan Manual

No Dasarian Curah Hujan

(A)

Suhu (B) Kelembaban (C)

Kecepatan Angin(D)

1 Dasarian 2 (April 2014) 95 2615 8248 629

2 Dasarian 3 (April 2014) 90 2612 8247 628

3 Dasarian 1 (Mei 2014) 94 2607 8247 627

4 Dasarian 2 (Mei 2014) 83 2625 8232 623

5 Dasarian 3 (Mei 2014) 85 2628 8235 623

6 Dasarian 1 (Juni 2014) 92 2609 8241 626

7 Dasarian 2 (Juni 2014) 86 2627 8235 624

8 Dasarian 3 (Juni 2014) 89 2621 8238 624

9 Dasarian 1 (Juli 2014) 93 2607 8242 626

10 Dasarian 2 (Juli 2014) 86 2626 8237 623

Sumber BMKG Kelas III Karangkates Malang

421 Perhitungan Universe of Discourse (U)

Sebelum melakukan perhitungan U maka harus dicari terlebih dahulu nilai 119863119898119894119899 119863119898119886119909 dan standar deviasi 119863119898119894119899 adalah nilai minimum atau nilai terkecil dari data sampel yang ada sedangkan 119863119898119886119909 adalah nilai maksimum atau nilai paling besar dari data sampel yang ada Untuk mencari nilai standar deviasi harus menghitung nilai mean (rata ndash rata) terlebih dahulu sesuai dengan Persamaan 211 Mean dari data curah hujan (A) dihitung dengan cara sebagai berikut

Mean = (data ke-1 + data ke-2 + data ke-3 + + data ke-10) 10

= (95 + 90 + 94 + 83 + 85 + 92 + 86 + 89 + 93 + 86) 10

= 893 10

= 893

Selanjutnya setelah diperoleh nilai mean dilanjutkan melakukan perhitungan standar deviasi sesuai dengan Persamaan 212 Standar deviasi adalah akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel Untuk menghitung standar deviasi agar lebih mudah kita terlebih dahulu melakukan perhitungan nilai kuadrat dari selisih data ke-i dan mean yang ditunjukkan pada Tabel 42

47

Tabel 42 Hasil kuadrat dari selisih data ke-i dan mean

i Data ke-i Data ke-i mean (Data ke-i - mean)sup2

1 95 57 32490

2 90 07 0490

3 94 47 22090

4 83 -63 39690

5 85 -43 18490

6 92 27 7290

7 86 -33 10890

8 89 -03 0090

9 93 37 13690

10 86 -33 10890

Jumlah 1561

Setelah mendapatkan hasil nilai kuadrat dari selisih data ke-i dan mean sesuai dengan Tabel 42 maka dapat dilanjutkan melakukan perhitungan standar deviasi dengan cara sebagai berikut

Standar_deviasi = radic1

10minus1sum (119889119886119905119886 119896119890 minus 119894 minus 119898119890119886119899)10

119894=1

2

= radic1

9 times 1561

= 4165

Untuk perhitungan standar deviasi juga dilakukan pada faktor lainnya yaitu suhu (B) kelembaban (C) dan kecepatan angin (D) Hasil perhitungan 119863119898119894119899 119863119898119886119909 dan standar deviasi ditunjukkan pada Tabel 43

Tabel 43 Nilai minimum nilai maksimum dan standar deviasi

Data D min D max Standar Deviasi

A 83 95 4165

B 2607 2628 0086

C 8232 8248 0057

D 623 629 0022

Berdasarkan hasil yang ditunjukkan Tabel 43 selanjutnya dapat dilakukan perhitungan nilai U sesuai dengan Persamaan 213 Berikut adalah perhitungan U pada data A

U = [119863119898119894119899 minus 120590 119863119898119886119909 + 120590]

= [(83 ndash 4165) (95 ndash 4165)]

= [78835 99165]

48

Untuk perhitungan U juga dilakukan pada semua faktor yaitu data B C dan D Sehingga diperoleh nilai U yang ditunjukkan pada Tabel 44

Tabel 44 Hasil Universe of Discourse

Data U

Batas Bawah Batas Atas

A 78835 99165

B 25984 26366

C 82263 82537

D 6208 6312

422 Perhitungan jumlah cluster (k)

Pada perhitungan jumlah cluster langkah pertamanya adalah mencari nilai absolut dari selisih data hari ke-t dengan hari sebelumnya Perhitungan selisih dilakukan hingga data ke-10 Perhitungan nilai selisih dilakukan pada semua data A B C dan D Selanjutnya masing ndash masing nilai selisih dijumlah sehingga hasilnya seperti ditunjukkan pada Tabel 45

Tabel 45 Nilai absolut selisih data hari ke-t dengan hari sebelumnya

No Tanggal A B C D

1 Dasarian 3 (April 2014) 5 003 001 001

2 Dasarian 1 (Mei 2014) 4 005 0 001

3 Dasarian 2 (Mei 2014) 11 018 015 004

4 Dasarian 3 (Mei 2014) 2 003 003 0

5 Dasarian 1 (Juni 2014) 7 019 006 003

6 Dasarian 2 (Juni 2014) 6 018 006 002

7 Dasarian 3 (Juni 2014) 3 006 003 0

8 Dasarian 1 (Juli 2014) 4 014 004 002

9 Dasarian 2 (Juli 2014) 7 019 005 003

Jumlah 49 105 043 016

Setelah mendapatkan nilai absolut selisih data hari ke-t dengan hari sebelumnya dapat dilanjutkan dengan menghitung jumlah cluster sesuai dengan Persamaan 214 Perhitungan jumlah cluster pada data A (k1) berdasarkan pada Tabel 43 diketahui nilai 119863119898119894119899 adalah 171 nilai 119863119898119886119909 adalah 2048 maka jumlah cluster data A dapat ditunjukkan sebagai berikut

49

1198961 = ||119863119898119894119899 minus 119863119898119886119909|sum |119883(119905) minus 119883(119905 minus 1)|119899

119905=1

119899 minus 1|

= |83 minus 9549

10minus1| = 2204

Apabila hasil perhitungan jumlah cluster merupakan bilangan pecahan maka hasilnya harus dibulatkan Sehingga jumlah cluster pada data A adalah 2 Perhitungan jumlah cluster juga dilakukan pada data B (k2) C (k3) dan D (k4) Berikut merupakan hasil semua perhitungan jumlah cluster yang ditunjukkan pada Tabel 46

Tabel 46 Hasil jumlah cluster data

No Cluster Jumlah Cluster

1 k1 2

2 k2 2

3 k3 3

4 k4 3

423 Perhitungan pusat cluster dan subinterval

Pada pembentukan subinterval berdasarkan pada Tabel 46 yang menunjukkan jumlah subinterval yang selanjutnya digunakan untuk menentukan pusat cluster menggunakan algoritma fuzzy C-means (FCM)

4231 Penentuan pusat cluster

a Penentuan nilai variabel

Pada penentuan subinterval diawali dengan klasterisasi menggunakan algoritma FCM pada awal proses ditentukkan beberapa variabel sebagai berikut

Banyak cluster = k1 = 2

Bobot (w) = 2

Fungsi objektif awal = 0

Iterasi awal = 1

Iterasi maksimum = 100

Error terkecil = 001 b Pembentukan matriks partisi awal (micro)

Data pada pembentukan matriks partisi awal merupakan nilai random diantara nilai 0 sampai 1 Dimensi pada matriks partisi awal dibentuk dengan dimensi jumlah data (i) x jumlah cluster (k) Dalam hal ini telah diketahui jumlah data adalah 10 dan k1 adalah 2 maka partisi dimensi matriks awal adalah 10 x 2 Hasil pembentukan matriks partisi awal ditunjukkan pada Tabel 47 dimana Cluster disimbolkan dengan C

50

Tabel 47 Matriks partisi awal pada cluster data A

c Normalisasi matriks partisi awal

Langkah pertama normalisasi matriks partisi awal adalah dengan menghitung jumlah bilangan penyusun matriks pada setiap kolom yang dapat dilihat pada Tabel 47 dijumlah berdasarkan dengan Persamaan 24 Diketahui jumlah kolom matriks sebanyak 2 sehingga diperoleh Q1 untuk penjumlahan kolom c1 Q2 untuk penjumlahan kolom c2

Q1 = 0355 + 0174 + 02 + 0387 + 0598 + 0819 + 0702 + 0719 + 0349 +

0852

= 5154

Q2 = 0170 + 0815 + 0190 + 0456 + 0526 + 0170 + 0232 + 0572 + 0102 +

0322

= 3554

Langkah selanjutnya dilakukan proses normalisasi menggunakan Persamaan 25 Dimana setiap bilangan penyusun matriks awal dibagi dengan nilai Q sesuai dengan kolomnya masing ndash masing Bilangan penyusun matriks disimbolkan dengan microik dimana i menunjukkan baris dan k menunjukkan kolom posisi bilangan tersebut pada matriks

i micro

c1 c2

1 0355 0170

2 0174 0815

3 0200 0190

4 0387 0456

5 0598 0526

6 0819 0170

7 0702 0232

8 0719 0572

9 0349 0102

10 0852 0322

51

μ11 = bilangan matriks partisi pada baris 1 kolom 1

Q1

= 0355

5154

= 0069

μ12 = bilangan matriks partisi pada baris 1 kolom 2

Q2

= 0170

3554

= 0048

Setelah melakukan perhitungan seperti diatas untuk semua bilangan matriks sehingga matriks partisi sudah ternormalisasi seperti yang ditunjukkan pada Tabel 48

Tabel 48 Derajat keanggotaan matriks partisi data A

i micro

C1 C2

1 0069 0048

2 0034 0229

3 0039 0054

4 0075 0128

5 0116 0148

6 0159 0048

7 0136 0065

8 0140 0161

9 0068 0029

10 0165 0090

d Perhitungan pusat cluster (V)

Pada perhitungan pusat cluster (V) berdasarkan Persamaan 26 Dimana setiap bilangan penyusun matriks partisi (micro) dipangkatkan dengan w dimana variabel w yang sudah dideklarisakan terlebih dahulu dengan nilai sama dengan 2 dan dikalikan dengan bilangan penyusun matriks X yang merupakan matriks berisi data yang ada pada Tabel 41 Selanjutnya hasil perkalian tersebut dijumlah dan dibagi dengan jumlah hasil kuadrat dari bilangan penyusun matriks partisi Hasil perhitungan ditunjukkan pada Tabel 49

52

Tabel 49 Perhitungan pusat cluster data A

Berdasarkan jumlah cluster dari data A yaitu 2 maka terdapat 2 pusat cluster (V) yaitu V1 V2 Perhitungan nilai V adalah sebagai berikut

V1 = sum ((μic1)2 times Xi)10

i=1

sum (μic1)210i=1

= 10730216

0121620

= 8822718207

V2 = sum ((μic2)2 times Xi)10

i=1

sum (μic2)210i=1

= 12111287

0137572

= 8803592572

Jadi berdasarkan perhitungan diatas pusat cluster untuk data A pada iterasi ke-1 adalah 8822718207 8803592572

e Perhitungan fungsi objektif (P)

Pada perhitungan P menggunakan Persamaan 27 dimana setiap baris pada data matriks X dikurangi pusat cluster (V) selanjutnya dikuadratkan Hasilnya

i X microsup2 microsup2 x X

C1 C2 C1 C2

1 95 0004731 0002292 0449450 0217718

2 90 0001137 0052633 0102304 4736927

3 94 0001512 0002864 0142117 0269234

4 83 0005630 0016427 0467258 1363472

5 85 0013448 0021907 1143107 1862112

6 92 0025233 0002291 2321422 0210787

7 86 0018542 0004243 1594602 0364916

8 89 0019487 0025916 1734356 2306543

9 93 0004590 0000816 0426841 0075870

10 86 0027311 0008183 2348759 0703706

Jumlah 0121620 0137572 10730216 12111287

53

kemudian dikalikan dengan micro yang sudah dipangkatkan dengan bobot (w) seperti yang telah ditunjukkan pada Tabel 49 Selanjutnya hasil tersebut dijumlah per kolom seperti yang ditunjukkan pada Tabel 410

Tabel 410 Fungsi objektif data A

i X (X-V)sup2 (X-V)sup2 x microsup2

C1 C2 C1 C2

1 95 458711 484983 02170 01111

2 90 31429 38576 00036 02030

3 94 333254 355702 00504 01019

4 83 273234 253605 01538 04166

5 85 104147 92168 01401 02019

6 92 142342 157139 03592 00360

7 86 49603 41450 00920 00176

8 89 05972 09294 00116 00241

9 93 227798 246420 01046 00201

10 86 49603 41450 01355 00339

Jumlah 1267661573 1166282827

Fungsi Objektif (P) 24339444

Perhitungan nilai fungsi objektif dilakukan seperti Persamaan 27 Nilai fungsi objektif diperoleh dengan cara sebagai berikut P = sum sum ([(Xi minus Vc)2](μik)2)3

c=110i=1

P = 1267661573 + 1166282827

= 24339444

f Perbaikan matriks partisi

Pada langkah ini perbaikan matriks partisi dilakukan berdasarkan Persamaan 28 Data matriks X untuk setiap barisnya dikurangi pusat cluster lalu dikuadratkan seperti yang ditunjukkan pada Tabel 410 Selanjutnya hasilnya dipangkatkan dengan -11 karena w-1 = 1 Hasil pangkat -1 terhadap (X-V)2 ditunjukkan pada Tabel 411

54

Tabel 411 Perbaikan matriks partisi

i ((X-V)sup2)^-1

Jumlah C1 C2

1 0022 0021 0042

2 0318 0259 0577

3 0030 0028 0058

4 0037 0039 0076

5 0096 0108 0205

6 0070 0064 0134

7 0202 0241 0443

8 1674 1076 2750

9 0044 0041 0084

10 0202 0241 0443

Berdasarkan tabel diatas bilangan penyusun matriks partisi yang baru atau yang telah diperbaiki diperoleh dari hasil pembagian data terhadap jumlah per barisnya

12058311 = 0022

0042= 0514

12058312 = 0021

0042= 0486

Pada perhitungan nilai matriks yang sudah diperbaiki dilakukan pada semua elemen matriks sehingga hasil perbaikan matriks seperti yang ditunjukkan pada Tabel 412

Tabel 412 Hasil perbaikan matriks partisi

Setelah mendapatkan hasil perbaikan matriks partisi kita lakukan pengecekan selama iterasi kurang dari iterasi maksimum (maxIter) atau selisih antara fungsi objektif iterasi saat ini dengan iterasi sebelumnya bernilai lebih dari nilai error terkecil yaitu 001 maka proses berlanjut dengan kembali melakukan perhitungan pusat cluster hingga perbaikan matriks partisi Hasil

i micro

C1 C2

1 0514 0486

2 0551 0449

3 0516 0484

4 0481 0519

5 0469 0531

6 0525 0475

7 0455 0545

8 0609 0391

9 0520 0480

10 0455 0545

55

perhitungan pusat cluster dari data A B C dan D setelah dilakukan proses tiga kali iterasi dan diurutkan mulai dari yang terkecil sampai yang terbesar ditunjukkan pada Tabel 413

Tabel 413 Hasil pusat cluster

4232 Perhitungan batas subinterval

Perhitungan batas subinterval dilakukan dengan mencari nilai tengah (Median) dari setiap pusat cluster Berikut merupakan contoh perhitungan batas subinterval pada data A

a Interval 1 Batas bawah = 78835 (Batas bawah Universe of Discourse pada data A) Batas atas = 89347 (Median 88303 dan 90390)

b Interval 2 Batas bawah = 89347 (Median 88303 dan 90390) Batas atas = 99165 (Batas atas Universe of Discourse pada data A)

Seperti perhitungan diatas juga dilakukan pada data suhu (B) kelembaban (C) dan kecepatan angin (D) Dalam hal ini jumlah subinterval setiap atribut berbeda ndash beda sesuai dengan jumlah cluster yang sebelumnya ditunjukkan pada Tabel 46 Berikut merupakan batas subinterval masing ndash masing atribut yang ditunjukkan pada Tabel 414

Tabel 414 Batas subinterval masing ndash masing atribut data

Interval (micro)

A B C D

1

78835 25984 751708 6208

sd sd sd sd

89347 26181 823863 6249

2

89347 26181 823863 6249

sd sd sd sd

99165 26366 82411 6256

3

82411 6256

- - sd sd

82537 6312

Cluster A B C D

1 88303 26165 82391 62497

2 90390 26197 82408 62499

3 - - 82415 62613

56

424 Pembentukan Fuzzy Set

Pembentukan fuzzy set berdasarkan pada derajat keanggotaan dari subinterval (micro) fuzzy set dari data A ditentukan dengan derajat keanggotaan sebagai berikut

A1 = 1micro1 + 05micro2

A2 = 05micro1 + 1micro2

Pada derajat keanggotaan data A diatas simbol ldquo+rdquo menunjukkan operator himpunan gabungan Berdasarkan subinterval pada Tabel 414 nilai batas fuzzy set dari data atribut A dapat ditentukan dengan cara sebagai berikut

A1 = 78835 sd 94256 (Batas bawah interval 1 sd titik tengah interval 2)

A2 = 84091 sd 99165 (Titik tengah interval 1 sd batas atas interval 2)

Setelah diketahui batas masing ndash masing fuzzy set grafik fungsi keanggotaan fuzzy set data A yang direpresentasikan dalam kurva bahu yang ditunjukkan pada Gambar 422 Dengan cara yang sama juga ditentukan pula fuzzy set dari data attribut B C dan D

425 Fuzzifikasi

Pada langkah fuzzifikasi dilakukan dengan mencari derajat keanggotaan yang memiliki nilai paling besar (maksimum) dari masing ndash masing data terhadap fuzzy set yang sudah terbentuk Derajat keanggotaan dicari berdasarkan fungsi keanggotaan kurva bentuk bahu Berikut ini adalah perhitungan derajat keanggotaan dari data attribut A

Data aktual curah hujan (A) pada April 2014 dasarian ke-3 = 90

1198601 = 942558 ndash 90

942558minus840911= 041868427

Gambar 422 Grafik fuzzy set data A

57

1198602 = 90minus840911

942558minus840911= 058131636

Derajat keanggotaan paling besar berada pada A2 sehingga data attribut A pada April 2014 dasarian ke-3 difuzzifikasikan ke fuzzy set A2 Perhitungan yang sama dilakukan pada seluruh data attribut A sehingga didapat derajat keanggotaan dan hasil fuzzifikasi dari data A ditunjukkan pada Tabel 415

Tabel 415 Hasil derajat keanggotaan dan fuzzy set data A

i Data A1 A2 Fuzzyfikasi

1 95 0 1 A2

2 90 041868363 058131636 A2

3 94 002516357 097483642 A2

4 83 1 0 A1

5 85 09105837 008941629 A1

6 92 02219236 077807639 A2

7 86 08122036 018779631 A1

8 89 05170636 048293635 A1

9 93 01235436 087645641 A2

10 86 08122037 018779631 A1

Perhitungan yang sama juga dilakukan pada semua attribut yaitu attribut B C dan D Sehingga dapat diperoleh hasil fuzzifikasi sesuai derajat keanggotaan dengan nilai paling besar Berikut adalah hasil fuzzifikasi untuk semua attribut yang dapat dilihat pada Tabel 416

Tabel 416 Hasil fuzzifikasi semua data attribut

No Tanggal A B C D

1 Dasarian 2 (April 2014) A2 B1 C3 D3

2 Dasarian 3 (April 2014) A2 B1 C3 D3

3 Dasarian 1 (Mei 2014) A2 B1 C3 D3

4 Dasarian 2 (Mei 2014) A1 B2 C1 D1

5 Dasarian 3 (Mei 2014) A1 B2 C1 D1

6 Dasarian 1 (Juni 2014) A2 B1 C2 D2

7 Dasarian 2 (Juni 2014) A1 B2 C1 D1

8 Dasarian 3 (Juni 2014) A1 B2 C2 D1

9 Dasarian 1 (Juli 2014) A2 B1 C2 D2

10 Dasarian 2 (Juli 2014) A1 B2 C2 D1

58

426 Pembentukan Fuzzy Logical Relationship (FLR)

Pada tahap pembentukan FLR dengan berdasarkan nilai order yang sudah ditentukan Pada manualisasi ini berdasarkan dari Tabel 416 di misalkan nilai order kita deklarasikan dengan nilai 3 sehingga dapat menghasilkan 7 FLR Hasil pembentukan FLR Data training dapat ditunjukkan pada Tabel 417 Hasil pembentukan FLR Data testing dapat ditunjukkan pada Tabel 418

Tabel 417 Hasil pembentukan FLR data training

No Fuzzy Logical Relationship (FLR)

1 (A(12)B(11)C(13)D(13)) (A(22)B(21)C(23)D(23)) (A(32)B(31)C(33)D(33)) rarr A1

2 (A(12)B(11)C(13)D(13)) (A(22)B(21)C(23)D(23)) (A(31)B(32)C(31)D(31)) rarr A1

3 (A(12)B(11)C(13)D(13)) (A(21)B(22)C(21)D(21)) (A(31)B(32)C(31)D(31)) rarr A2

4 (A(11)B(12)C(11)D(11)) (A(21)B(22)C(21)D(21)) (A(32)B(31)C(32)D(32)) rarr A1

5 (A(11)B(12)C(11)D(11)) (A(22)B(21)C(22)D(22)) (A(31)B(32)C(31)D(31)) rarr A1

Tabel 418 Hasil pembentukan FLR data testing

No Fuzzy Logical Relationship (FLR)

1 (A(12)B(11)C(12)D(12)) (A(21)B(22)C(21)D(21)) (A(31)B(32)C(32)D(31)) rarr A2

2 (A(11)B(12)C(11)D(11)) (A(21)B(22)C(22)D(21)) (A(32)B(31)C(32)D(32)) rarr A1

427 Defuzzifikasi

Pada tahap ini misalkan jumlah data yang digunakan untuk data uji atau data testing adalah dua yaitu yang pertama data periode ke-9 dan yang kedua data periode ke-10 Sehingga yang digunakan data latih atau data training adalah data pada periode ke-1 sampai data periode ke-8 Pada data testing yang pertama melibatkan FLR ke-1 sampai FLR ke-5 untuk disesuaikan dengan FLR ke-6 yang berdasarkan pada Tabel 417 Pada data testing yang kedua melibatkan FLR ke-1 sampai FLR ke-6 untuk disesuaikan dengan FLR ke-7 yang berdasarkan pada Tabel 417 Selanjutnya setiap ruas kiri FLR data testing dibandingkan dengan FLR data training yaitu pada bilang pangkat bawah fuzzy set dibandingkan sesuai dengan posisinya dan dihitung selisihnya Hasil dari perhitungan selisih tersebut dijumlahkan dan apabila jumlah selisihnya kurang dari threshold maka FLR tersebut dikatakan cocok Threshold merupakan dari hasil mengalikan jumlah order dengan jumlah faktor kemudian dijumlahkan dengan dengan sebuah konstanta Contoh perhitungan selisih nilai ruas kiri FLR pada data testing pertama adalah sebagai berikut

59

Data testing = (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(32) B(31) C(33) D(33)) rarr A1

Data training =

1 (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(31) B(32) C(31) D(31)) rarr A1

2 (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(31) B(32) C(31) D(31)) rarr A1

3 (A(12) B(11) C(13) D(13)) (A(21) B(22) C(21) D(21)) (A(31) B(32) C(31) D(31)) rarr A2

4 (A(11) B(12) C(11) D(11)) (A(21) B(22) C(21) D(21)) (A(32) B(31) C(32) D(32)) rarr A1

5 (A(11) B(12) C(11) D(11)) (A(22) B(21) C(22) D(22)) (A(31) B(32) C(31) D(31)) rarr A1

Selisih data ke- 1 = |2-2|+|1-1|+|3-2|+|3-2|+|2-1|+|1-2|+|3-1|+|3-1|+|2-1|+|1-2|+|3-2|+|3-1| = 13

Selisih data ke- 2 = |2-2|+|1-1|+|3-2|+|3-2|+|2-1|+|1-2|+|3-1|+|3-1|+|1-1|+|2-2|+|1-2|+|1-1| = 9

Selisih data ke- 3 = |2-2|+|1-1|+|3-2|+|3-2|+|1-1|+|2-2|+|1-1|+|1-1|+|1-1|+|2-2|+|1-2|+|1-1| = 3

Selisih data ke- 4 = |1-2|+|2-1|+|1-2|+|1-2|+|1-1|+|2-2|+|1-1|+|1-1|+|2-1|+|1-2|+|2-2|+|2-1| = 7

Selisih data ke- 5 = |1-2|+|2-1|+|1-2|+|1-2|+|2-1|+|1-2|+|2-1|+|2-1|+|1-1|+|2-2|+|1-2|+|1-1| = 9

Pada perhitungan selisih nilai ruas kiri FLR pada data testing juga dilakukan pada semua data testing yang sudah dideklarasikan sebelumnya Dalam hal ini agar dapat menemukan FLR yang cocok dengan data testing Tahap selanjutnya adalah proses defuzzifikasi menggunakan threshold yang dimisalkan 18 sehingga FLR yang memiliki kecocokan dengan data testing pertama adalah semua FLR dari ke-1 sampai ke-5 karena memiliki hasil selisih kurang dari 18 Semua FLR yang cocok ditampung dikelompokkan berdasarkan FLR pada ruas kanan yang sama kemudian dhitung frekuensinya Berikut adalah frekuensi dan pusat cluster dari ruas kanan FLR yang cocok dengan data testing pertama dan kedua ditunjukkan pada Tabel 419

Tabel 419 Frekuensi FLR yang cocok dengan data testing

Data testing 1 Data testing 2

Ruas kanan A1 A2 A1 A2

Pusat Cluster 88303 90390 88303 90390

Frekuensi 4 1 4 2

Berdasarkan pada Tabel 419 dilakukan defuzzifikasi sesuai dengan Persamaan 218 sebagai berikut

119863119886119905119886 119905119890119904119905119894119899119892 1 = (88303times4)+(90390times1)

5= 887204

60

119863119886119905119886 119905119890119904119905119894119899119892 2 = (88303times4)+(90390times2)

6= 889987

Jadi berdasarkan perhitungan diatas diperoleh hasil peramalan curah hujan pada pada April 2014 dasarian ke-3 adalah 1384601636 sedangkan pada tanggal 10012016 adalah 2769203272 Perbandingan data curah hujan aktual dan hasil peramalan dengan metode High Order Fuzzy Time Series Multi Factors dapat dilihat pada Tabel 420

Tabel 420 Perbandingan data aktual dan hasil peramalan

No Data Aktual Hasil Peramalan

1 93 887204

2 86 889987

Dari hasil peramalan yang ditunjukkan pada Tabel 420 dapat dilakukan perhitungan kesalahan peramalan menggunakan metode Mean Square Error (MSE) seperti Persamaan 219

119872119878119864 = ((93minus887206)2+(86minus889989)2)

2

= 136536

43 Perancangan antarmuka

Perancangan antarmuka merupakan perancangan dari tampilan antarmuka atau interface yang nantinya akan diterapkan pada tahapan implementasi Pada perancangan antarmuka ini terdapat lima halaman utama dan juga terdapat dalam menu berupa button yaitu halaman input halaman tampil data halaman proses halaman hasil dan halaman perhitungan error

431 Halaman input

Pada halaman input terdapat inputan data dengan nama button Browse Data pada inputan data ini pengguna diharuskan memasukkan inputan file data dalam bentuk ekstensi xls serta direktori lokasi file yang di inputkan akan ditampilkan pada textfield dan juga terdapat label yang menampilkan jumlah banyaknya data yang terdapat pada file yang telah di inputkan Selanjutnya juga terdata inputan textfield data training data testing order dan nilai konstanta Pada halaman input ini juga terdapat button fuzzification yang berfungsi untuk melakukan proses clustering fuzzifikasi dan FLR Selanjutnya pada button forecasting berfungsi untuk melakukan peramalan atau defuzzifikasi dari hasil proses fuzzifikasi serta menghitung nilai error dari hasil peramalan Berikut

61

merupakan rancangan tampilan antarmuka dari halaman input yang ditunjukkan pada Gambar 423

432 Halaman tampil data

Pada halaman tampil data terdapat tabel yang menampilkan isi data dari xls yang sudah dimasukkan terlebih dahulu pada halaman input Tabel tampil data akan menampilkan tanggal curah hujan kelembaban suhu dan kecepatan angin Berikut merupakan tampilan rancangan halaman tampil data yang ditunjukkan pada Gambar 424

Gambar 423 Rancangan antarmuka halaman input

Gambar 424 Rancangan antarmuka halaman tampil data

62

433 Halaman proses

Pada halaman proses akan menampilkan hasil clustering fuzzifikasi dan fuzzy logical relationship Pada tampilan halaman clustering akan menampilkan Universe of Discourse curah hujan suhu kelembaban dan kecepatan angin Selanjutnya tampilan dibawahnya akan menampilkan jumlah cluster dari setiap faktor yaitu jumlah cluster curah hujan suhu kelembaban dan kecepatan angin Berikut merupakan tampilan perancangan halaman proses clustering yang ditunjukkan Gambar 425

Selanjutnya pada tampilan proses fuzzifikasi akan menampilkan tabel hasil fuzzifikasi dari curah hujan suhu kelembaban dan kecepatan angin Berikut adalah tampilan rancangan proses fuzzifikasi yang ditunjukkan pada Gambar 426

Gambar 425 Rancangan antarmuka halaman proses clustering

Gambar 426 Rancangan antarmuka proses fuzzifikasi

63

Pada tampilan proses fuzzy logical relationship (FLR) akan menampilkan textarea berisi hasil proses FLR dari curah hujan suhu kelembaban dan kecepatan angin Berikut adalah tampilan rancangan proses fuzzy logical relationship yang ditunjukkan pada Gambar 427

434 Halaman hasil

Pada halaman hasil peramalan akan menampilkan tabel yang berisi hasil peramalan curah hujan dan data curah hujan yang sebenarnya Serta terdapat text link yang akan menampilkan grafik perbandingan data hasil peramalan dan data yang sebenarnya Berikut adalah tampilan rancangan halaman hasil yang ditunjukkan pada Gambar 428

Gambar 427 Rancangan antarmuka proses fuzzy logical relationship

Gambar 428 Rancangan antarmuka halaman hasil peramalan

64

435 Halaman perhitungan error

Pada halaman perhitungan error akan menampilkan nilai dari hasil perhitungan Mean Square Error (MSE) pada textfield Berikut adalah tampilan rancangan halaman perhitungan error yang ditunjukkan pada Gambar 429

44 Perancangan pengujian

Pada penelitian ini akan dilakukan empat pengujian yaitu pengujian terhadap nilai order nilai threshold pengujian terhadap jumlah data training untuk mengetahui pengaruhnya terhadap nilai Mean Square Error (MSE) dan pengujian validasi sistem untuk mengetahui kestabilan hasil implementasi

441 Perancangan pengaruh order terhadap nilai MSE

Order merupakan jumlah urutan data yang digunakan dalam pembentukkan Fuzzy Logical Relationship (FLR) Pada pengujian ini dilakukan percobaan dengan order yang berbeda ndash beda Pengujian ini bertujuan untuk mengetahui pengaruh order terhadap hasil peramalan Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Pada setiap pengujian yang telah dilakukan dihitung nilai MSEnya untuk mengetahui tingkat kesalahan metode ini apabila dilakukan dengan order yang berbeda Berikut adalah perancangan pengujian order terhadap nilai MSE ditunjukkan pada Tabel 421

Tabel 421 Rancangan pengujian order terhadap nilai MSE

No Order Threshold MSE

1

Gambar 429 Rancangan antarmuka halaman perhitungan error

65

442 Perancangan pengaruh threshold terhadap nilai MSE

Nilai threshold bergantung jumlah order karena untuk nilai threshold merupakan dari hasil mengalikan jumlah faktor yang mempengaruhi dengan order selanjutnya dijumlah dengan sebuah konstanta Pada pengujian ini dilakukan percobaan dengan konstanta yang berbeda ndash beda sehingga menghasilkan threshold yang berbeda pula Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Dari setiap percobaan yang telah dilakukan dihitung nilai MSEnya untuk mengetahui tingkat kesalahan metode ini apabila dilakukan dengan konstanta dan threshold yang berbeda Berikut merupakan rancangan pengujian pengaruh threshold terhadap nilai MSE yang ditunjukkan pada Tabel 422

Tabel 422 Rancangan pengujian threshold terhadap nilai MSE

No Konstanta Threshold MSE

1

443 Perancangan pengaruh jumlah data training terhadap nilai MSE

Data training sangat berperan penting dalam proses defuzzifikasi sehingga pada penelitian ini dilakukan pengujian pengaruh jumlah data training terhadap tingkat kesalahan dari hasil peramalan Pada pengujian ini dilakukan percobaan dengan jumlah data training yang berbeda ndash beda Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Dari setiap percobaan dilakukan perhitungan nilai MSE untuk mengetahui tingkat kesalahan dari hasil peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors dengan jumlah data training yang berbeda ndash beda Sehingga dari hasil pengujian ini dapat diketahui pengaruh dari jumlah data training Berikut merupakan rancangan pengujian pengaruh jumlah data training yang ditunjukkan pada Tabel 423

Tabel 423 Rancangan pengujian jumlah data training terhadap nilai MSE

No Jumlah Data Training MSE

1

444 Perancangan validasi sistem

Pada pengujian validasi sistem akan melakukan pengujian dengan menggunakan order threshold terbaik seperti yang telah dilakukan pada

66

pengujian ndash pengujian sebelumnya yang menghasilkan hasil error MSE terendah Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Berikut merupakan rancangan pengujian validasi sistem yang ditunjukkan pada Tabel 424

Tabel 424 Rancangan pengujian validasi sistem

Percobaan ke- MSE

1

67

BAB 5 IMPLEMENTASI

Pada bab ini berisi pembahasan hasil implementasi metode High Order Fuzzy Time Series Multi Factors yang sesuai dengan bab sebelumnya yaitu perancangan Bab ini terdiri dari spesifikasi sistem implementasi algoritma dan implementasi antarmuka

51 Spesifikasi Sistem

Pada spesifikasi sistem ini dibagi mejadi dua yaitu spesifikasi perangkat keras dan spesifikasi perangkat lunak

511 Spesifikasi Perangkat Keras

Spesifikasi perangkat keras merupakan perangkat keras yang digunakan pada implementasi penelitian ini Perangkat keras yang digunakan adalah laptop dengan spesifikasi sesuai dengan pada Tabel 51 berikut

Tabel 51 Spesifikasi Perangkat Keras

Komponen Spesifikasi

Processor Intelcopy Core i3-3217U 180 GHz

Memori (RAM) 8 GB RAM

Harddisk 500 GB RAM

512 Spesifikasi Perangkat Lunak

Spesifikasi perangkat lunak merupakan perangkat lunak yang digunakan pada implementasi penelitian ini Perangkat lunak yang digunakan pada implementasi penelitian sesuai dengan yang ditunjukkan pada Tabel 52 berikut

Tabel 52 Spesifikasi Perangkat Lunak

Sistem Operasi Microsoft Windows 7 (64 bit)

Bahasa Pemrograman Java

Tools Pemrograman Netbeans 81

Data Microsoft Excel 2013

52 Implementasi Algoritma

Pada implementasi algoritma ini membahas mengenai hasil implementasi algoritma metode High Order Fuzzy Time Series Multi Factors yang mengacu pada bab sebelumnya yaitu perancangan Dalam penelitian ini implementasi algoritma menggunakan bahasa pemrograman java berbasis desktop Implementasi algoritma terdiri dari beberapa method sesuai dengan langkah ndash langkah pada algoritma metode High Order Fuzzy Time Series Multi Factors

68

521 Implementasi Proses Universe of Discourse

Pada implementasi Universe of Discourse seperti yang ditunjukkan Kode Program 51 dimana pada source code method Universe_of_Discourse baris 3 - 5 terdapat pemanggilan method mean standar_deviasi dan Min_dan_Max Dimana pemanggilan method tersebut dibutuhkan untuk melakukan proses perhitungan selanjutnya yaitu untuk menghitung batas bawah dan batas atas dari Univers of Discourse Baris 7-10 untuk menghitung hasil Universe of Discourse Berikut merupakan source code dari proses Universe of Discourse yang ditunjukkan pada Kode Program 51

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

private void Universe_of_Discourse()

mean()

standar_deviasi()

Min_dan_Max()

hsl_uMin = new double[jmlh_Faktor]

hsl_uMax = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

hsl_uMin[i] = hsl_min[i] - hsl_stdev[i]

hsl_uMax[i] = hsl_max[i] + hsl_stdev[i]

Kode Program 51 Implementasi proses Universe of Discourse

5211 Implementasi proses mean

Pada implementasi proses mean merupakan proses perhitungan nilai rata ndash rata dari setiap faktor yang nantinya hasilnya diperlukan untuk proses perhitungan standar deviasi Berikut merupakan source code dari proses mean yang ditunjukkan pada Kode Program 52 Perhitungan utama proses mean terdapat pada baris 3 ndash 8

Baris Kode

1 2 3 4 5 6 7 8 9

private void mean()

hsl_mean = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double tmp_jmlh = 0

for (int j = 0 j lt jmlh_DataTraining j++)

tmp_jmlh = tmp_jmlh + data[i][j]

hsl_mean[i] = (tmp_jmlh jmlh_DataTraining)

Kode Program 52 Implementasi proses mean

5212 Implementasi proses standar deviasi

Pada implementasi proses perhitungan standar deviasi merupakan akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel Standar deviasi dapat dilakukan perhitungan setelah mendapat nilai hasil dari perhitungan mean Berikut merupakan source code dari implementasi proses standar deviasi yang ditunjukkan pada Kode Program 53 Perhitungan utama proses standar deviasi terdapat pada baris 3 ndash 9

69

Baris Kode

1 2 3 4 5 6 7 8 9 10 11

private void standar_deviasi()

hsl_stdev = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double result = 0

for (int j = 0 j lt jmlh_DataTraining j++)

result = result + (Mathpow((data[i][j] ndash

hsl_mean[i]) 2))

hsl_stdev[i]=Mathsqrt(result(jmlh_DataTraining-

1))

Kode Program 53 Implementasi proses standar deviasi

5213 Implementasi proses Dmin dan Dmax

Pada implementasi proses Dmin dan Dmax merukan untuk mencari nilai minimum dan nilai maksimum dari data sampel untuk setiap faktor Berikut merupakan source code dari implementasi dari proses Dmin dan Dmax yang ditunjukkan pada Kode Program 54 Pada baris 8 ndash 10 merupakan bagian dari proses untuk untuk menentukan nilai data terbesar Selanjutnya pada baris 11 ndash 13 untuk menentukan nilai data terkecil

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

19

private void Min_dan_Max()

hsl_max = new double[jmlh_Faktor]

hsl_min = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double besar = data[i][0]

double kecil = data[i][0]

for (int j = 0 j lt jmlh_DataTraining j++)

if (data[i][j] gt besar)

besar = data[i][j]

if (data[i][j] lt kecil)

kecil = data[i][j]

hsl_max[i] = besar

hsl_min[i] = kecil

Kode Program 54 Implementasi proses Dmin dan Dmax

522 Implementasi Proses Jumlah Cluster

Pada implementasi proses jumlah cluster merupakan proses perhitungan jumlah cluster dari setiap faktor Implementasi ini dapat dilakukan apabila sudah mendapatkan hasil output dari method Min_dan_Max() sudah didapatkan Berikut merupakan source code dari implementasi proses jumlah cluster yang ditunjukkan pada Kode Program 55 Pada baris 3 ndash 7 untuk digunakan untuk menghitung selisih data sampel setiap baris dari semua faktor pada data sampel ke t dengan t+1 Selanjutnya pada baris 9 ndash 10 untuk menghitung jumlah cluster dari setiap faktor

70

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

12

13

private void jumlah_Cluster()

jmlh_Cluster = new int[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double selisih = 0

for (int j = 0 j lt (jmlh_DataTraining - 1) j++)

selisih = selisih + (Mathabs((data[i][j]

- data[i][(j + 1)])))

jmlh_Cluster[i] = (int) Mathround((Mathabs(

hsl_min[i]-hsl_max[i]))(selisih(jmlh_DataTraining

-1)))

Kode Program 55 Implementasi proses jumlah cluster

523 Implementasi Proses Pusat Cluster

Implementasi proses perhitungan pusat cluster ini menggunakan metode fuzzy C-means untuk mendapatkan pusat cluster yang nantinya digunkan sebagai subinterval Implementasi ini memerlukan hasil dari proses method jumlah_Cluster() agar dapat melakukan perhitungan subinterval Berikut merupakan source code dari implementasi proses subinterval yang ditunjukkan pada Kode Program 56 Pada Kode Program 56 hanya menampilkan source code pembentukan subinterval pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 2 ndash 3 merupakan deklarasi variabel bobot iterasi maksimum selisih fungsi objektif awal dan error minimum Pada baris 8 ndash 20 merupakan proses pembentukan matriks partisi dengan nilai random 0 sampai 1 Pada baris 22 ndash 26 merupakan proses normalisasi matriks partisi yang telah terbentuk Pada baris 28 ndash 63 merupakan proses untuk menentukan pusat cluster Pada baris 65 ndash 86 merupakan proses perhitungan fungsi objektif dari iterasi Pada baris 88 ndash 90 merupakan proses perhitungan selisih fungsi objektif Pada baris 92 ndash 108 adalah proses perbaikan matriks partisi Pada baris 110 ndash 115 adalah proses hasil perbaikan matriks partisi Pada baris 116 - 133 adalah proses dengan pengkondisian apakah selisih fungsi objektif lebih kecil dari error minimum serta apabila memenuhi kondisi maka dilanjutkan ke proses pengurutan pusat cluster secara ascending dari hasil iterasi terakhir dan proses pengkondisian iterasi berhenti

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

private void pusat_cluster()

int bobot = 2int iter_maksimum = 100

double selisih_f_objektif = 0double error_min = 001

for (int i = 0 i lt jmlh_Faktor i++)

faktor A

if (i == 0)

Pembentukkan matriks partisi

tmp_Matriks1=new

double[jmlh_Cluster[i]][jmlh_DataTraining]

q1 = new double[jmlh_Cluster[i]]

double jmlh_q1

for (int j = 0 j lt jmlh_Cluster[i] j++)

jmlh_q1 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

71

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

double random = ThreadLocalRandomcurrent()

nextDouble(01 1)

tmp_Matriks1[j][k] = random

jmlh_q1 = jmlh_q1 + random

q1[j] = jmlh_q1

normalisasi matriks

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k] q1[j]

Perhitungan pusat cluster

for (int iter = 0 iter lt iter_maksimum iter++)

selisih_f_objektif = 0

jumA1 = new double[iter_maksimum][jmlh_Cluster[i]]

jumA2 = new double[iter_maksimum][jmlh_Cluster[i]]

miu_Matriks1 = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

XV_Matriks1 = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

pusat_cluster1 = new double[jmlh_Cluster[i]]

double hitung_jum1

double hitung_jum2

for (int j = 0 j lt jmlh_Cluster[i] j++)

hitung_jum1 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow(tmp_Matriks1

[j][k]bobot)

miu_Matriks1[j][k] = tmp_Matriks1[j][k]

hitung_jum1 = hitung_jum1 + tmp_Matriks1

[j][k]

jumA1[iter][j] = hitung_jum1

for (int j = 0 j lt jmlh_Cluster[i] j++)

hitung_jum2 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k]

data[i][k]

hitung_jum2 = hitung_jum2 +

tmp_Matriks1[j][k]

jumA2[iter][j] = hitung_jum2

for (int j = 0 j lt jmlh_Cluster[i] j++)

pusat_cluster1[j] = jumA2[iter][j]

jumA1[iter][j]

perhitungan fungsi objektif

jumA3 = new double[iter_maksimum][jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

double hitung_jum3 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow((data[i][k]

ndash pusat_cluster1[j])

bobot)

XV_Matriks1[j][k] = tmp_Matriks1[j][k]

tmp_Matriks1[j][k] = XV_Matriks1[j][k]

miu_Matriks1[j][k]

hitung_jum3 = hitung_jum3 +

tmp_Matriks1[j][k]

jumA3[iter][j] = hitung_jum3

72

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

double jmlh_f_objektif = 0

for (int j = 0 j lt jmlh_Cluster[i] j++)

jmlh_f_objektif = jmlh_f_objektif

+jumA3[iter][j]

if (iter lt (iter_maksimum - 1))

f_objektif1[iter + 1] = jmlh_f_objektif

perhitungan selisih fungsi objektif

selisih_f_objektif = f_objektif1[iter + 1]

-f_objektif1[iter]

perbaikan matriks partisi

int hitung = bobot - 1int pangkat = -1 hitung

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow(XV_Matriks1

[j][k] pangkat)

jumA4 = new

double[iter_maksimum][jmlh_DataTraining]

for (int j = 0 j lt jmlh_DataTraining j++)

double hitung_jum4 = 0

for (int k = 0 k lt jmlh_Cluster[i] k++)

hitung_jum4 = hitung_jum4 +

tmp_Matriks1[k][j]

jumA4[iter][j] = hitung_jum4

hasil perbaikan matriks

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k]

jumA4[iter][k]

if (selisih_f_objektif lt error_min)

pengurutan ascending pusat cluster

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 kltjmlh_Cluster[i]k++)

if (k lt (jmlh_Cluster[i] - 1))

if (pusat_cluster1[k] gt

pusat_cluster1[k + 1])

double tmp =

pusat_cluster1[k]

pusat_cluster1[k]=

pusat_cluster1[k+1]

pusat_cluster1[k+1] = tmp

iter = iter_maksimum

Kode Program 56 Implementasi proses pusat cluster

524 Implementasi Proses Pembentukan Subinterval dan Fuzzy Set

Pada implementasi proses pembentukan suinterval dan fuzzy set memiliki dua proses yaitu proses menentukan batas subinterval minumum serta maksimum dan proses menentukan batas fuzzy set minimum serta maksimum

73

Proses pembentukan fuzzy dapat menjalankan prosesnya setelah method subinterval() telah diakses Berikut merupakan source code proses pembentukan fuzzy set yang ditunjukkan pada Kode Program 57 Pada Kode Program 57 hanya menampilkan source code pembentukan fuzzy set pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 6 ndash 29 merupakan proses pembentukan batas minimum dan batas maksimum subinterval Pada baris 31 ndash 54 merupakan pembentukan batas minimum dan batas maksimum fuzzy set

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

private void subinterval_dan_fuzzy_set()

for (int i = 0 i lt jmlh_Faktor i++)

faktor A

if (i == 0)

batas subinterval

batas_subintervalMinA = new double[jmlh_Cluster[i]]

batas_subintervalMaxA = new double[jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

if (j == 0)

batas_subintervalMinA[j] = hsl_uMin[i]

batas_subintervalMaxA[j]=(pusat_cluster1[j]

+pusat_cluster1[j+

1])2

else if (j == (jmlh_Cluster[i] - 1))

batas_subintervalMinA[j]=

(pusat_cluster1[j-1] +pusat_cluster1

[j])2

batas_subintervalMaxA[j]=

hsl_uMax[i]

else if ((0 lt j) ampamp (j lt (jmlh_Cluster[i] -

1)))

batas_subintervalMinA[j]=

(pusat_cluster1[j-1]+

pusat_cluster1[j])2

batas_subintervalMaxA[j]=

(pusat_cluster1[j]+

pusat_cluster1[j+1)2

batas fuzzy set

batas_fuzzysetMinA = new double[jmlh_Cluster[i]]

batas_fuzzysetMaxA = new double[jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

if (j == 0)

batas_fuzzysetMinA[j]=

batas_subintervalMinA[j]

batas_fuzzysetMaxA[j]=

(batas_subintervalMinA[j+1]

+batas_subintervalMaxA[j + 1])2

else if (j == (jmlh_Cluster[i] - 1))

batas_fuzzysetMinA[j]=

(batas_subintervalMinA[j-1]

+batas_subintervalMaxA[j - 1])2

batas_fuzzysetMaxA[j] =

batas_subintervalMaxA[j]

else if ((0 lt j) ampamp (jlt(jmlh_Cluster[i]-1)))

batas_fuzzysetMinA[j]=

(batas_subintervalMinA[j-1]+

batas_subintervalMaxA[j-1])2

batas_fuzzysetMaxA[j]=

74

51

52

53

54

55

56

(batas_subintervalMinA[j+1]+

batas_subintervalMaxA[j + 1])2

Kode Program 57 Implementasi pembentukan subinterval dan fuzzy set

525 Implementasi proses fuzzifikasi

Pada Implementasi proses fuzzifikasi memiliki dua proses utama yaitu menentukan derajat keanggotaan dan proses fuzzifikasi Dalam proses ini method fuzzy_set() harus dieksekusi terlebih dahulu karena implementasi proses ini memerlukan output dari method tersebut Berikut merupakan source code fuzzifikasi ditunjukkan pada Kode Program 58 Pada Kode Program 58 hanya menampilkan source code pembentukan fuzzy set pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 3 ndash 81 merupakan proses perhitungan derajat keanggotaan Pada baris 83 ndash 94 adalah proses penentuan fuzzifikasi

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

private void fuzzifikasi()

if (i == 0)

hitung_fuzzifikasiA = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

if(j == 0)

if((data[i][k]gtbatas_fuzzysetMinA[j])ampamp

(data[i][k]lt batas_fuzzysetMinA[j + 1]))

hitung_fuzzifikasiA[j][k] = 1

if ((data[i][k] gt batas_fuzzysetMinA[j + 1])

ampamp (data[i][k] lt batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k]=

(batas_fuzzysetMaxA[j] - data[i][k])

(batas_fuzzysetMaxA[j] ndash

batas_fuzzysetMinA[j + 1])

if ((data[i][k] gt batas_fuzzysetMinA[j]) ampamp

(data[i][k] lt batas_fuzzysetMinA[j + 1])

ampamp(data[i][k] gt batas_fuzzysetMinA[j+1])

ampamp(data[i][k] lt batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k] = 0

else if (j == (jmlh_Cluster[i] - 1))

if((data[i][k] gt batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]))

hitung_fuzzifikasiA[j][k]=

(data[i][k]-batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)])

(batas_fuzzysetMaxA[(jmlh_Cluster[i]ndash

2)]-batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)])

if((data[i][k] gt batas_fuzzysetMaxA

75

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

[(jmlh_Cluster[i]- 2)]) ampamp (data[i][k]

lt batas_fuzzysetMaxA[(jmlh_Cluster[i]

- 1)]))

hitung_fuzzifikasiA[j][k] = 1

if ((data[i][k] gt batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]) ampamp

(data[i][k] gt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 1)]))

hitung_fuzzifikasiA[j][k] = 0

else if ((0 lt j)ampamp(j lt (jmlh_Cluster[i] - 1)))

if ((data[i][k] gt batas_fuzzysetMinA[j])

ampamp (data[i][k] lt batas_fuzzysetMinA[j

+1]))

hitung_fuzzifikasiA[j][k]=

(data[i][k]-batas_fuzzysetMinA[j])

(batas_fuzzysetMinA[j + 1]-

batas_fuzzysetMinA[j])

if ((data[i][k] gt batas_fuzzysetMinA

[j+1])ampamp (data[i][k] lt

batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k]=

(batas_fuzzysetMaxA[j]-data[i][k])

(batas_fuzzysetMaxA[j]-

batas_fuzzysetMinA[j + 1])

if ((data[i][k] gt batas_fuzzysetMinA[j])

ampamp (data[i][k] lt batas_fuzzysetMinA

[j + 1]) ampamp (data[i][k] gt

batas_fuzzysetMinA[j + 1]) ampamp

(data[i][k]ltbatas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k] = 0

hasil_fuzzifikasiA = new int[jmlh_DataTraining]

for (int j = 0 j lt jmlh_DataTraining j++)

int cluster = 0

double besar=hitung_fuzzifikasiA[0][j]

for (int k = 0 k lt jmlh_Cluster[i] k++)

if (besar lt hitung_fuzzifikasiA[k][j])

besar = hitung_fuzzifikasiA[k][j]

cluster = k

hasil_fuzzifikasiA[j] = cluster + 1

Kode Program 58 Implementasi proses fuzzifikasi

526 Implementasi Pembentukan Fuzzy Logical Relationship

Pada implementasi pembentukan Fuzzy Logical Relationship (FLR) memiliki dua output yaitu FLR_kiri dan FLR_kanan Dimana FLR_kiri berisi group dari kelima faktor dan pada FLR_kanan merupakan dari faktor yang akan diramalkan yaitu

76

faktor curah hujan (A) Berdasarkan dari perancangan proses pada bab sebelumnya maka implementasi source code pembentukan Fuzzy Logical Relationship (FLR) dapat ditunjukkan pada Kode Program 59 berikut Pada baris 3 ndash 14 merupakan deklarasi variabel Pada baris 15 ndash 55 adalah proses pembentukan fuzzy logical relationship data training Pada baris 56 ndash 58 merupakan deklarasi variabel Pada baris 59 ndash 86 adalah proses pembentukan fuzzy logical relationship data testing

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

Fuzzy Logical Relationship

private void fuzzy_logical_relationship()

String input_order = fieldOrdergetText()

order = IntegerparseInt(input_order)

int max_inc = order

String input_dataTraining = fieldDatatraininggetText()

int dataTraining = IntegervalueOf(input_dataTraining)

int tmp_jmlhDatatraining = 0

int tmp_order = 0

int jmlh_dataTraining = dataTraining - order

String input_dataTesting = fieldDatatestinggetText()

int jmlh_dataTesting = IntegervalueOf(input_dataTesting)

FLR_kiri_training = new

int[jmlh_DataTraining][order][jmlh_Faktor]

FLR_kanan_training = new int[jmlh_DataTraining]

for (int i = 0 i lt jmlh_dataTraining i++)

for (int j = i j lt max_inc j++)

for (int k = 0 k lt jmlh_Faktor k++)

if (j == 0)

if (k == 0)

FLR_kiri_training[i][j][k]=

hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiD[j]

else if (j = 0)

if (k == 0)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiD[j]

tmp_order = j

FLR_kanan_training[i] = hasil_fuzzifikasiA[(i + order)]

if (max_inc lt (jmlh_DataTraining - 1))

max_inc = max_inc + 1

77

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

tmp_jmlhDatatraining = i

FLR_kiri_testing = new

int[jmlh_DataTraining][order][jmlh_Faktor]

FLR_kanan_testing = new int[(jmlh_DataTraining)]

tmp_jmlhDatatraining = tmp_jmlhDatatraining + 1

for (int i = 0 i lt jmlh_dataTesting i++)

for (int j = tmp_jmlhDatatraining j lt max_inc j++)

for (int k = 0 k lt jmlh_Faktor k++)

if (k == 0)

FLR_kiri_testing[i][j - tmp_jmlhDatatraining][k]

= hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiD[j]

FLR_kanan_testing[i] =

hasil_fuzzifikasiA[(tmp_jmlhDatatraining + order)]

if (max_inc lt (jmlh_DataTraining - 1))

max_inc = max_inc + 1

tmp_jmlhDatatraining++

Kode Program 59 Implementasi pembentukan FLR

527 Implementasi Proses Defuzzifikasi

Pada implementasi proses defuzzifikasi merupakan proses dimana menentukan hasil peramalan dari data testing berdasarkan dari bilangan fuzzy yang terbentuk Implementasi ini memiliki beberapa inputan penting yaitu data training data testing order dan konstanta Inputan tersebut sangat berperan penting dalam proses implementasi defuzzifikasi Berdasarkan dari perancangan proses pada bab sebelumnya maka implementasi source code defuzzifikasi dapat ditunjukkan pada Kode Program 510 berikut Pada baris 2 ndash 11 merupakan deklarasi variabel Pada baris 13 ndash 37 merupakan proses perhitungan selisih antara data training dengan data testing Pada baris 40 ndash 47 menghitung jumlah FLR yang cocok Pada baris 49 ndash 65 merupakan proses mencocokan FLR kiri yang cocok dengan FLR kanan Pada baris 67 ndash 81 merupakan proses menghitung jumlah frekuensi FLR kanan yang cocok Pada baris 83 ndash 91 adalah proses perhitungan hasil peramalan

Baris Kode 1

2

3

4

private void defuzifikasi()

String input_dataTraining = fieldDatatraininggetText()

String input_dataTesting = fieldDatatestinggetText()

String input_konstanta = fieldKonstantagetText()

78

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

int dataTraining = IntegervalueOf(input_dataTraining)

int dataTesting = IntegervalueOf(input_dataTesting)

int konstanta = IntegervalueOf(input_konstanta)

int match[][]

match = new int[dataTesting][2000]

int threshold = (jmlh_Faktor order) + konstanta

int hitung_selisih = 0

perhitungan selisih

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt (dataTraining + i) j++)

hitung_selisih = 0

for (int k = 0 k lt order k++)

for (int l = 0 l lt jmlh_Faktor l++)

if (i == 0)

hitung_selisih = hitung_selisih +

(Mathabs(FLR_kiri_training[j][k][l] ndash

FLR_kiri_testing[i][k][l]))

else if (i gt 0)

FLR_kiri_training[(dataTraining-

1)+i][k][l] = FLR_kiri_testing[i-

1][k][l]

FLR_kanan_training[(dataTraining-1)+i]

= FLR_kanan_testing[i-1]

hitung_selisih = hitung_selisih +

(Mathabs(FLR_kiri_training[j][k][l] ndash

FLR_kiri_testing[i][k][l]))

if (hitung_selisih lt threshold)

match[i][j] = hitung_selisih

menghitung jumlah total FLR yang cocok untuk setiap data

testing

int countGroup[] = new int[dataTesting]

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt (dataTraining + i) j++)

if (match[i][j] gt 0)

countGroup[i]++

mencocokan FLR_kiri yang cocok dengan FLR_kanan

group = new int[dataTesting][2000]

for (int i = 0 i lt dataTesting i++)

int tmp_count = 0

for (int j = 0 j lt (dataTraining + i) j++)

if (match[i][j] gt 0)

if (tmp_count lt countGroup[i])

group[i][tmp_count] = j

tmp_count++

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt countGroup[i] j++)

group[i][j] = FLR_kanan[group[i][j]]

mengelompokkan yang sama

MapltInteger Integergt map = new HashMapltInteger Integergt()

hasil_peramalan = new double[dataTesting]

for (int i = 0 i lt dataTesting i++)

79

70

71

72

73

74

75 76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

double peramalan = 0

mapclear()

for (int j = 0 j lt countGroup[i] j++)

int key = group[i][j]

if (mapcontainsKey(key))

int occurrence = mapget(key)

occurrence++

mapput(key occurrence)

else

mapput(key 1)

menghitung hasil peramlaan

Iterator iterator = mapkeySet()iterator()

while (iteratorhasNext())

int key = (Integer) iteratornext()

int occurrence = mapget(key)

peramalan = (peramalan + (pusat_cluster1[(key - 1)]

occurrence))

hasil_peramalan[i] = (peramalan countGroup[i])

Kode Program 510 Implementasi proses defuzzifikasi

53 Implementasi Antarmuka

Pada implementasi antarmuka dijelaskan beberapa halaman antarmuka untuk penggunaan dari program hasil implementasi Implementasi antarmuka berdasarkan perancangan yang telah dijelasakan pada bab sebelumnya yaitu bab perancangan Halaman antarmuka yang dibuat adalah halaman input halaman tampil data halaman proses halaman hasil dan halaman perhitungan error

531 Implementasi antarmuka halaman input

Halaman input merupakan halaman yang pertama muncul setelah program dijalankan Pada halaman input ini terdapat beberapa inputan yang harus di masukkan yaitu data input data training data testing order dan konstanta Selain itu pada halaman input juga terdapat tiga button yaitu button browse data button fuzzification dan button forecasting Berikut tampilan antarmuka halaman input yang ditunjukkan pada Gambar 51

Gambar 51 Implementasi antarmuka halaman input

80

532 Implementasi antarmuka halaman tampil data

Halaman tampil data merupakan halaman yang tampil setelah melakukan input data Halaman ini berisi tabel yang menampilkan data curah hujan suhu kecepatan angin dan kelembaban Berikut tampilan antarmuka halaman tampil data yang ditunjukkan pada Gambar 52

533 Implementasi antarmuka halaman proses

Halaman proses merupakan halaman yang muncul setelah button fuzzification telah dieksekusi Halaman proses ini terdiri dari tiga bagian atau tab yaitu clustering fuzzification dan Fuzzy logical relationship Pada halaman antarmuka clustering menampilkan Universe of Discourse dan jumlah cluster pada masing ndash masing faktor Berikut merupakan tampilan antarmuka halaman proses bagian clustering yang ditunjukkan pada Gambar 53

Gambar 52 Implementasi antarmuka halaman tampil data

Gambar 53 Implementasi antarmuka halaman proses clustering

81

Pada tab selanjutnya yaitu pada tab fuzzification tab ini menampilkan hasil proses fuzzifikasi Pada halaman ini menampilkan tabel yang berisi hasil fuzzifikasi dari setiap faktor Berikut merupakan tampilan antarmuka halaman proses bagian fuzzification yang ditunjukkan pada Gambar 54

Pada tab Fuzzy Logical Relationship menampilakn hasil dari proses pembentukan Fuzzy Logical Relationship Tampilan pada halaman ini menampilkan berupa textarea yang berisi dari output proses tersebut Berikut merupakan tampilan antarmuka halaman proses bagian Fuzzy Logical Relationship yang ditunjukkan pada Gambar 55

Gambar 54 Implementasi antarmuka halaman proses fuzzification

Gambar 55 Implementasi halaman antarmuka proses FLR

82

534 Implementasi antarmuka halaman hasil

Pada implementasi antarmuka halaman hasil ini merupakan halaman yang menampilkan hasil dari proses defuzzifikasi Halaman hasil ini menampilkan tabel yang berisi data aktual dan data dari hasil peramlan Berikut merupakan tampilan antarmuka halaman hasil yang ditunjukkan pada Gambar 56

535 Implementasi antarmuka halaman perhitungan error

Pada implementasi antarmuka halaman perhitungan error merupakan halaman yang menampilkan hasil dari proses perhitungan Mean Square Error (MSE) Pada halaman antarmuka ini menampilkan hasil error MSE pada textfield Berikut merupakan tampilan antarmuka halaman perhitungan error yang ditunjukkan pada Gambar 57

Gambar 56 Implementasi halaman antarmuka hasil

Gambar 57 Implementasi halaman antarmuka perhitungan error

83

BAB 6 PENGUJIAN DAN ANALISIS

Pada bab ini membahas hasil pengujian dan analisis hasil pengujian dari hasil implementasi metode High Order Fuzzy Time Series Multi factors untuk peramalan curah hujan dasarian Pada pengujian ini disesuaikan dengan perancangan pengujian pada bab 4

61 Sistematika Pengujian

Pada bab sebelumnya yaitu bab 4 mengenai perancangan telah dibahas perancangan pengujian dikatakan bahwa pengujian akan dilakukan sebanyak empat pengujian Pengujian order pengujian threshold pengujian jumlah data training dan pengujian validasi sistem Dari semua pengujian tersebut akan di uji dan di analisis bagaimana pengaruhnya terhadap hasil perhitungan Mean Square Error (MSE)

62 Hasil dan Analisis Pembahasan

Berikut hasil pengujian dan analisis yang disesuaikan dengan perancangan pengujian pada bab sebelumnya

621 Pengujian pengaruh order terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh order terhadap nilai MSE Order merupakan urutan jumlah dari data time series pada periode waktu t yang mempengaruhi nilai data Jadi jika nilai order adalah 3 maka peramalan akan melibatkan 3 data sebelumnya pada proses pembentukan Fuzzy Logical Relationship (FLR) Pada pengujian ini hanya nilai order yang diubah ndash ubah sedangkan variabel lain akan dibuat tetap Pengujian akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai variabel jumlah data training adalah 72 yaitu dari data Januari 2014 dasarian 1 sampai Desember 2015 dasarian 3 nilai data testing adalah 36 yaitu dasarian 1 Januari 2016 sampai dasarian 3 Desember 2016 konstanta adalah 10 Nilai threshold diperoleh dari perhitungan jumlah faktor dikali order dan dijumlah nilai konstanta Berikut adalah hasil pengujian pengaruh order terhadap nilai MSE yang ditunjukkan pada Tabel 61

Tabel 61 Hasil pengujian order terhadap nilai MSE

No Order Threshold MSE

1 3 22 808585

2 6 34 965547

3 9 46 912631

4 12 58 875884

5 15 70 719284

6 18 82 6801207

7 21 94 5637184

8 24 106 5444184

9 27 118 5433631

10 30 130 5418393

84

Dari hasil pengujian order seperti yang telah ditunjukkan pada Tabel 61 maka pada percobaan pertama dengan order = 3 dan threshold 22 dapat diperoleh MSE sebesar 808585 Selanjutnya pada percobaan kedua dengan order = 6 dan threshold = 34 diperoleh MSE sebesar 965547 Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 61

Berdasarkan Gambar 61 order yang berbeda - beda mempengaruhi besar nilai MSE Dalam penelitian ini menentukan order memiliki ketentuan yaitu nilai order harus lebih dari 0 dan batas maksimal order adalah setengah dari nilai data training (LinYang 2009) Nilai MSE terbesar yang ditunjukkan pada pengujian ini adalah 965547 pada pengujian order 6 dan nilai MSE terkecil adalah 5418393 pada pengujian order 30 Pada Gambar 61 menunjukkan bahwa pada order 3 ke order 6 mengalami peningkatan nilai MSE selanjutnya pada order 6 hingga order 30 mengalami penurunan Pada order 3 memiliki nilai MSE lebih kecil dari order 6 order 9 dan order 12 karena memiliki lebih banyak hasil selisih tingkat kecocokan data time series yang tidak terlalu besar dan kurang dari threshold Selain itu karena data time series dari data sampel yang diperoleh memiliki pola data musiman dimana perubahan pola data dasarian tidak terlalu banyak berubah dari tahun ke tahun Selanjutnya pada order 6 hingga order 30 menunjukkan penurunan nilai MSE dan order terbesar memiliki nilai MSE terkecil sehingga dapat disumpulkan bahwa semakin besar order maka semakin kecil pula nilai MSE Dalam hal ini dengan semakin besarnya order maka data sebelumnya yang digunakan untuk pertimbangan dalam menentukan peramalan semakin banyak Sehingga semakin besar nilai order maka dapat membuat peramalan semakin akurat Dalam pengujian ini memimiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoImplementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emasrdquo yang menyatakan bahwa semakin besar nilai order maka semakin kecil nilai kesalahannya (Wardhani et al 2015)

Gambar 61 Grafik hasil pengujian order terhadap nilai MSE

85

622 Pengujian pengaruh threshold terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh threshold terhadap nilai MSE Threshold merupakan hasil dari mengalikan jumlah order dengan jumlah faktor pada data kemudian dijumlahkan dengan dengan nilai konstanta Pada proses defuzzifikasi terdapat proses menghitung selisih antara pangkat bawah Fuzzy Logical Relationship (FLR) data training dan pangkat bawah FLR data testing Selanjutnya setelah mendapatkan nilai selisih maka nilai selisih tersebut dibandingkan dengan nilai threshold untuk mencari FLR yang cocok Pada pengujian ini nilai konstanta saja yang diubah ndash ubah sementara variabel lainnya tetap Pengujian akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai variabel jumlah data training adalah 72 yaitu dari data Januari 2014 dasarian 1 sampai Desember 2015 dasarian 3 nilai data testing adalah 36 yaitu dasarian 1 Januari 2016 sampai dasarian 3 Desember 2016 dan Nilai order adalah 30 Pada penentuan input konstanta nilai minimal harus lebih besar dari 0 dan nilai maksimal menyesuaikan data sampel yang digunakan (LinYang 2009) Berikut adalah hasil pengujian pengaruh threshold terhadap nilai MSE yang ditunjukkan pada Tabel 62

Tabel 62 Hasil pengujian threshold terhadap nilai MSE

No Konstanta Threshold MSE

1 10 130 558485

2 20 140 577498

3 30 150 597364

4 40 160 604660

5 50 170 646951

6 60 180 680257

7 70 190 703013

8 80 200 741484

9 90 210 756749

10 100 220 780600

Dari hasil pengujian threshold seperti yang telah ditunjukkan pada Tabel 62 maka dapat dilihat bahwa konstanta yang dilakukan pengujian dimulai dengan nilai 10 sampai 100 Hasil yang didapat pada percobaan pertama dengan konstanta = 10 dan threshold 130 diperoleh MSE sebesar 558485 Selanjutnya pada percobaan kedua dengan konstanta = 20 dan threshold = 140 diperoleh MSE sebesar 577498 Selanjutnya dapat kita lihat pada percobaan yang telah dilakukan dari percobaan pertama hingga percobaan kesepuluh nilai MSE yang diperoleh mengalami perubahan pada setiap percobaan Dapat dilihat bahwa peningkatan MSE lebih dominan menunjukkan peningkatan sehingga dalam hal ini semakin besar nilai konstanta dan threshold maka semakin besar pula nilai MSE yang diperoleh Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 62

86

Berdasarkan grafik dari Gambar 62 nilai input konstanta yang berbeda - beda mempengaruhi besar nilai MSE semakin besar nilai konstanta maka nilai threshold juga semakin besar karena threshold diperoleh dari perhitungan order dikali jumlah faktor dan selanjutnya dijumlah dengan nilai konstanta Dalam hal ini dengan semakin besar nilai threshold maka dalam proses seleksi untuk mencari nilai selisih FLR juga semakin luas batasannya dan jika semakin kecil nilai threshold maka dalam proses seleksi untuk mencari nilai selisih FLR menjadi semakin sempit dan mempermudah proses peramalan karena hanya adanya sedikit data yang cocok dengan data yang akan diramalkan dan mempermudah proses defuzzifikasi Oleh karena itu semakin kecil threshold maka dapat membuat peramalan semakin akurat Akan tetapi nilai threshold tidak boleh terlalu kecil karena dapat menyebabkan kegagalan peramalan Kegagalan peramalan itu terjadi karena tidak adanya data training yang cocok dengan data testing karena pada metode yang digunakan pada penelitian ini sangat bergantung pada data ndash data sebelumnya Dari hasil percobaan diatas hasil MSE terbesar adalah 7806 yaitu pada konstanta 100 serta threshold 220 dan hasil MSE terkecil adalah 558485 yaitu pada konstanta 10 dan threshold 130 Dalam pengujian ini memiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoImplementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emasrdquo yang menyatakan bahwa semakin kecil nilai konstanta maka semakin kecil nilai kesalahannya (Wardhani et al 2015)

623 Pengujian pengaruh jumlah data training terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh jumlah data training terhadap nilai MSE Pada pengujian ini jumlah data training adalah data dasarian yaitu 1 tahun 2 tahun 3 tahun 4 tahun dan 5 tahun dimana dari setiap 1 tahun memiliki 36 data dasarian Pengujian ini akan dilakukan sebanyak lima kali Pada pengujian ini jumlah data testing adalah 36 nilai order adalah setengah dari

Gambar 62 Grafik hasil pengujian threshold terhadap nilai MSE

87

nilai data training nilai konstanta adalah 20 Berikut adalah hasil pengujian pengaruh jumlah data training terhadap nilai MSE yang ditunjukkan pada Tabel 63

Tabel 63 Hasil pengujian jumlah data training terhadap nilai MSE

No Jumlah Data Training MSE

1 36 786586

2 72 634527

3 108 627190

4 144 614184

5 180 539698

Dari hasil pengujian jumlah data training seperti yang telah ditunjukkan pada Tabel 63 maka pada percobaan pertama dengan data training = 36 dapat diperoleh MSE sebesar 786586 Selanjutnya pada percobaan kedua dengan data training = 72 diperoleh MSE sebesar 634527 Dalam hal ini dari percobaan satu dan dua nilai MSE mengalami penurunan Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 63

Berdasarkan dari Gambar 63 pengujian pertama sampai pengujian kelima mengalami penerunan nilai MSE Sehingga dapat disimpulkan bahwa semakin besar data training maka semakin kecil nilai MSE yang diperoleh Nilai MSE semakin kecil apabila menggunakan data training dalam jumlah besar karena data yang digunakan memiliki rentang jauh dari periode data testing atau data yang akan diramalkan Sedangkan data training yang sedikit memiliki nilai MSE yang besar karena data training yang memiliki kecocokan dengan data testing berada pada periode yang jauh dengan data testing sehingga nilai MSE menjadi tinggi Dalam hal ini terbukti bahwa metode yang digunakan pada penelitian ini memerlukan jumlah data training yang banyak sehingga dapat menurunkan nilai kesalahannya Dari hasil percobaan diatas hasil MSE terbesar adalah 786586 dan

Gambar 63 Grafik hasil pengujian data training terhadap nilai MSE

88

hasil MSE terkecil adalah 539698 Dalam pengujian ini memimiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoPeramalan Jumlah Kunjungan Wisatawan Kota Batu Menggunakan Metode Time Invariant Fuzzy Time Seriesrdquo yang menyatakan bahwa semakin besar jumlah data training maka semakin kecil nilai kesalahannya (Elfajar et al 2017)

624 Pengujian validasi sistem

Pada pengujian ini dilakukan untuk mengetahui kestabilan dari sistem dengan menggunakan order threshold terbaik dari pengujian sebelumnya Pada pengujian ini akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai data training menggunakan 36 data yang berbeda agar dapat menunjukkan gambaran variasi dari nilai kesalahan MSE pada peramalan nilai order adalah 18 dan konstanta adalah 10 sehingga nilai threshold adalah 92 Berikut adalah hasil pengujian validasi sistem yang ditunjukkan pada Tabel 64

Tabel 64 Hasil pengujian validasi sistem

Percobaan ke- MSE

1 714290

2 703856

3 732564

4 732815

5 6973958

6 7532825

7 741726

8 760457

9 709961

10 6256204

Dari hasil pengujian validasi sistem seperti yang telah ditunjukkan pada Tabel 64 maka dapat digambarkan dengan grafik yang ditunjukkan oleh Gambar 64

Gambar 64 Grafik hasil pengujian validasi sistem

89

Berdasarkan dari gambar grafik Gambar 64 bahwa pengujian dari validasi sistem memiliki hasil MSE yang tidak terlalu jauh berbeda dari penggunaan data yang berbeda - beda Oleh karena itu dapat disimpulkan bahwa implementasi dari metode High Order Fuzzy Time Series Multi Factors yang telah digunakan sudah cukup baik untuk digunakan peramalan

Berdasarkan dari pengujian yang dilakukan diatas dapat diketahui bahwa nilai MSE terkecil terdapat pada pengujian jumlah data training yaitu dengan nilai MSE sebesar 539698 Nilai tersebut diperoleh dari pengujian jumlah data training dasarian dari tahun 2011 hingga 2015 untuk melakukan peramalan pada data dasarian tahun 2016 Nilai order adalah 90 dan konstanta adalah 10 Berikut adalah perbandingan data aktual dengan hasil peramalan yang ditunjukkan pada grafik Gambar 65

Gambar 65 Grafik perbandingan data aktual dengan hasil peramalan

90

BAB 7 PENUTUP

Pada bab ini terdiri dari dua sub bab yaitu kesimpulan dan saran Kesimpulan adalah tahapan yang berisi hasil penelitian yang dilakukan dan jawaban semua rumusan masalah yang sudah ditetapkan sebelumnya dan saran adalah tahapan yang berisi hasil yang telah dicapai untuk memperbaiki kekurangan - kekurangan yang terjadi pada penelitian ini serta memberikan pertimbangan pada pengembangan penelitian lebih lanjut

71 Kesimpulan

Pada kesimpulan ini mengacu pada penelitian yang telah dilakukan yang meliputi perancangan implementasi serta pengujian dan analisis terhadap hasil implementasi peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors maka dapat diambil kesimpulan sebagai berikut

1 Berdasarkan dari implementasi metode High Order Fuzzy Time Series Multi Factors dalam melakukan peramalan curah hujan dasarian dilakukan dengan beberapa langkah yaitu langkah pertama perhitungan Universe of Discourse yang terdiri perhitungan mean standar deviasi dan perhitungan Dmin serta Dmax langkah kedua yaitu perhitungan jumlah cluster langkah ketiga yaitu perhitungan pusat cluster langkah keempat yaitu pembentukan subinterval dan fuzzy set langkah kelima yaitu proses fuzzifikasi langkah keenam yaitu pembentukan Fuzzy Logical Relationship(FLR) langkah ketujuh adalah defuzzifikasi yang hasil outputnya merupakan hasil peramalan curah hujan

2 Berdasarkan dari pengujian peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors maka dapat diketahui bahwa

a Order berpengaruh terhadap nilai error semakin besar nilai order maka hasil peramalan semakin baik

b Threshold berpengaruh terhadap nilai error semakin rendah nilai threshold maka hasil peramalan semakin baik Akan tetapi nilai threshold tidak boleh terlalu rendah karena dapat menyebabkan kegagalan peramalan

c Data training berpengaruh terhadap nilai error semakin besar jumlah data training maka hasil peramalan semakin baik Sehingga peramalan menggunakan metode High Order Fuzzy Time Series Multi Factors memerlukan banyak data training

d Hasil implementasi peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors cukup baik digunakan untuk peramalan Hal ini terbukti hasil pengujian validasi sistem menunjukkan grafik yang cukup stabil

Dari pengujian yang telah dilakukan nilai MSE terkecil terdapat pada pengujian jumlah data training yaitu dengan nilai MSE sebesar 539698 Nilai tersebut diperoleh dari pengujian jumlah data training dasarian dari tahun

91

2011 hingga 2015 untuk melakukan peramalan pada data dasarian tahun 2016

72 Saran

Pada penelitian ini dilakukan peramalan curah hujan dasarian dengan faktor yang mempengaruhi adalah suhu kelembaban dan kecapatan angin Saran penulis diharapkan untuk penelitian selanjutnya melakukan penambahan faktor yang mempengaruhi curah hujan atau melakukan peramalan objek lain dengan mempertimbangkan faktor ndash faktor yang mempengaruhinya Serta diharapkan pada penelitian selanjutnya untuk menambahkan data yang lebih banyak serta bervariatif sehingga nilai hasil perhitungan akurasi peramalan yang dihasilkan dalam penelitian dapat meningkat Penggunaan data training yang banyak dan bervariatif dapat membuat pola data semakin terlihat sehingga hasil peramalan yang dihasilkan memiliki akurasi yang lebih baik

92

DAFTAR PUSTAKA

Ardiyanto 2016 ldquoTerendam Air Petani Lamongan Terpaksa Panen Dinirdquo Times Indonesia November 18 httpwwwtimesindonesiacoidread13688520161118102415terendam-air-petani-lamongan-terpaksa-panen-dini (Diakses 25 Februari 2017)

Badan Penelitian dan Pengembangan Pertanian Kementrian Pertanian 2015 ldquoKalender Tanam Terpadu Versi 25 Kota Malang Prov Jawa Timurrdquo httpkatamlitbangpertaniangoidkatam_terpadu2016mh33535733573_tinggipdf (Diakses 25 Februari 2017)

Bagirov M Adil Mahmood Arshad and Barton Andrew 2017 Prediction of monthly rainfall in Victoria Australia Clusterwise linear regression approach Elsevier Atmos Research 188 20-29

BMKG Staklim Karangploso Malang 2015 ldquoAnalisis Dinamika Atmosfer Dan Laut Dasarian III Maret 2015 Update 2 April 2015rdquo httpkarangplosojatimbmkgogoidindexphpanalisis-kondisi-dinamika-atmosfer-laut-dasarian-tahun-2015399-analisis-dinamika-atmosfer-dan-laut-dasarian-iii-maret-2015-update-2-april-2015axzz3X8h9y4fgampgsctab=0 (Diakses 25 Februari 2017)

BPS Kabupaten Malang 2016 ldquoKabupaten Malang Dalam Angka 2016rdquo httpsmalangkabbpsgoidwebsitepdf_publikasiKabupaten-Malang-Dalam-Angka-2016pdf (Diakses 25 Februari 2017)

BPS Jawa Timur 2015 ldquoJawa Timur Dalam Angka 2015rdquo httpsjatimbpsgoid4dmnpdf_publikasiJawa-Timur-Dalam-Angka-2015pdf (Diakses 25 Februari 2017)

Buffa S Elwood Rakesh and Sarin K 1996 Modern Production and Operation Management Eight Edition John Willey and Sons Inc London

Chen M 1996 Forecasting Enrollments based on Fuzzy Time Series Fuzzy Sets and Systems 311-319

Dewi Candra Kartikasari Dani Mursityo Yusi 2014 Prediksi Cuaca Pada Data Time Series Menggunakan Adaptive Neuro Fuzzy Inference System (ANFIS) Jurnal Teknologi Informasi dan Ilmu Komputer (JTIIK) Vol 1 No 1 hlm 18-24

Dewi Candra Muslikh M 2013 Perbandingan Akurasi Backpropagation Neural Network dan ANFIS Untuk Memprediksi Cuaca NATURAL-A Journal of Scientific Modeling amp Computation Volume 1 No1

Elfajar Aria Setiawan Budi Dewi Candra 2017 Peramalan Jumlah Kunjungan Wisatawan Kota Batu Menggunakan Metode Time Invariant Fuzzy Time Series Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer Vol 1 No 2 Hlmn 85-94

93

Fauziah Normalita Wahyuningsih Sri dan Nasution Yuki 2016 Peramalan Menggunakan Fuzzy Time Series Chen (Studi Kasus Curah Hujan Kota Samarinda) Vol4 Statistika

Forest Mahyu 2015 ldquoDefenisi amp Pengertian Kelembabanrdquo httpilmupengetahuaalamblogspotcoid201506defenisi-pengertian-kelembabanhtml (Diakses 25 Februari 2017)

Irsyad Muhammad Metarice Sonya 2013 Penerapan Metode Automatic Clustering dan High Order Fuzzy Time Series Pada Peramalan Curah Hujan Jurnal Sains dan Teknologi Industri Vol 10 No 02

Klawon F 2001 What is About Fuzzy Clustering Understanding and Improving the Concept of the Fuzzier Science Journal httppublic-rzfh-wolfebuetteldeklawon

Kurniawan Carlos 2007 Analisis dan Perancangan Program Aplikasi Peramalan Curah Hujan dengan Metode Wavelet (Studi Kasus BMKG)

Kusumadewi S 2003 ldquoArtificial Intelegence (Teknik amp Aplikasinya)rdquo Graha Ilmu Yogyakarta

Kusumadewi S Purnomo H 2004 ldquoAplikasi Logika Fuzzy untuk Pendukung Keputusanrdquo Graha Ilmu Yogyakarta

Kusumadewi Sri 2002 Analisis amp Desain Sistem Fuzzy Tollbox MATLAB Graha Ilmu Yogyakarta

Lin Yupei Yang Y 2009 Stock Markets Forecasting Based on Fuzzy Time Series Model IEEE Conference Publications 782-886

Makridakis S Steven C Wheelwright Victor E and Gee MC 1999 Metode dan Aplikasi Peramalan Jilid I Edisi Kedua Jakarta Binarupa Aksara

Mirawati T Yasin H and Rusgiyono A 2013 Prediksi Curah Hujan dengan Metode Kalman Filter(Studi Kasus di Kota Semarang 2012) Jurnal Gaussian 2(3) pp 239-248

Pradipta Nur Sembiring Pasukat Bangun Pengarapen 2013 Analisis Pengaruh Curah Hujan di Kota Medan Saintia Matematika Vol 1

Sipayung Putri Metha 2013 Pemodelan Hubungan Kelembapan Udara terhadap Curah Hujan (Studi Kasus Curah Hujan Periode 2001-2009 pada Stasiun Dramaga) httprepositoryipbacidhandle12345678960623 (Diakses 25 Februari 2017)

User 2015 httpstaklimnegaranet[Online] Available at httpwwwstaklimnegaranetindexphpbuletin-hujanpengertian-istilah (Diakses 25 Februari 2017)

Wang Nai-Yi Chen Shyi-Ming 2009 Temperature prediction and TAIFEX forecasting based on automatic clustering techniques and two-factors high-order fuzzy time series Elsevier Expert Systems with Applications 36 2143ndash2154

94

Wardhani Dessy Ratnawati Dian Setiawan Budi 2015 Implementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Saham Repositori Jurnal Mahasiswa PTIIK UB Doro Jurnal Vol 6 No 6

Wiyanti T and Pulungan R 2012 Peramalan Deret Waktu Menggunakan Model Fungsi Basis Radial (RBF) dan Auto Regressive Integrated Moving Average (ARIMA) Jurnal MIPA 35(2) pp 175-182

Yunanto Utomo 2014 ldquoBMKG Akui Prakiraan Cuacanya Masih Kurang Akuratrdquo Kompas Sains Januari 30 httpwwwtimesindonesiacoidread13688520161118102415terendam-air-petani-lamongan-terpaksa-panen-dini (Diakses 25 Februari 2017)

  • Bagian Depanpdf
  • BAB Ipdf
  • BAB IIpdf
  • BAB IIIpdf
  • BAB IVpdf
  • BAB Vpdf
  • BAB VIpdf
  • BAB VIIpdf
  • Daftar Pustakapdf
Page 10: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI

x

622 Pengujian pengaruh threshold terhadap nilai MSE 85

623 Pengujian pengaruh jumlah data training terhadap nilai MSE 86

624 Pengujian validasi sistem 88

BAB 7 PENUTUP 90

71 Kesimpulan 90

72 Saran 91

DAFTAR PUSTAKA 92

LAMPIRAN 95

Lampiran 1 Data Sampel 95

xi

DAFTAR TABEL

Tabel 21 Kajian Pustaka 5

Tabel 22 Fuzzy Logic Relationship 19

Tabel 23 Peramalan fuzzy set 20

Tabel 41 Data Sampel Perhitungan Manual 46

Tabel 42 Hasil kuadrat dari selisih data ke-i dan mean 47

Tabel 43 Nilai minimum nilai maksimum dan standar deviasi 47

Tabel 44 Hasil Universe of Discourse 48

Tabel 45 Nilai absolut selisih data hari ke-t dengan hari sebelumnya 48

Tabel 46 Hasil jumlah cluster data 49

Tabel 47 Matriks partisi awal pada cluster data A 50

Tabel 48 Derajat keanggotaan matriks partisi data A 51

Tabel 49 Perhitungan pusat cluster data A 52

Tabel 410 Fungsi objektif data A 53

Tabel 411 Perbaikan matriks partisi 54

Tabel 412 Hasil perbaikan matriks partisi 54

Tabel 413 Hasil pusat cluster 55

Tabel 414 Batas subinterval masing ndash masing atribut data 55

Tabel 415 Hasil derajat keanggotaan dan fuzzy set data A 57

Tabel 416 Hasil fuzzifikasi semua data attribut 57

Tabel 417 Hasil pembentukan FLR data training 58

Tabel 418 Hasil pembentukan FLR data testing 58

Tabel 419 Frekuensi FLR yang cocok dengan data testing 59

Tabel 420 Perbandingan data aktual dan hasil peramalan 60

Tabel 421 Rancangan pengujian order terhadap nilai MSE 64

Tabel 422 Rancangan pengujian threshold terhadap nilai MSE 65

Tabel 423 Rancangan pengujian jumlah data training terhadap nilai MSE 65

Tabel 424 Rancangan pengujian validasi sistem 66

Tabel 51 Spesifikasi Perangkat Keras 67

Tabel 52 Spesifikasi Perangkat Lunak 67

Tabel 61 Hasil pengujian order terhadap nilai MSE 83

xii

Tabel 62 Hasil pengujian threshold terhadap nilai MSE 85

Tabel 63 Hasil pengujian jumlah data training terhadap nilai MSE 87

Tabel 64 Hasil pengujian validasi sistem 88

xiii

DAFTAR GAMBAR

Gambar 21 Representasi linear naik 11

Gambar 22 Representasi linear turun 12

Gambar 23 Representasi kurva segitiga 12

Gambar 31 Diagram blok metodologi penelitian 22

Gambar 41 Diagram alir metode penelitian yang digunakan (bagian 1) 25

Gambar 42 Diagram alir metode penelitian yang digunakan (bagian 2) 26

Gambar 43 Diagram alir proses perhitungan Universe of Discourse 27

Gambar 44 Diagram alir proses perhitungan mean 28

Gambar 45 Diagram alir proses perhitungan standar deviasi 29

Gambar 46 Diagram alir perhitungan nilai Min dan Max 30

Gambar 47 Diagram alir proses perhitungan jumlah cluster 31

Gambar 48 Diagram alir proses perhitungan pusat cluster (bagian 1) 32

Gambar 49 Diagram alir proses perhitungan pusat cluster (bagian 2) 33

Gambar 410 Diagram alir proses perhitungan pusat cluster (bagian 3) 34

Gambar 411 Diagram alir proses perhitungan pusat cluster (bagian 4) 35

Gambar 412 Diagram alir proses perhitungan pusat cluster (bagian 5) 36

Gambar 413 Diagram alir pembentukan subinterval dan fuzzy set (bagian 1) 37

Gambar 414 Diagram alir pembentukan subinterval dan fuzzy set (bagian 2) 38

Gambar 415 Diagram alir proses fuzzifikasi (bagian 1) 39

Gambar 416 Diagram alir proses fuzzifikasi (bagian 2) 40

Gambar 417 Diagram alir proses Pembentukan FLR (bagian 1) 41

Gambar 418 Diagram alir proses Pembentukan FLR (bagian 2) 42

Gambar 419 Diagram alir proses Pembentukan FLR (bagian 3) 43

Gambar 420 Diagram alir proses defuzzifikasi (bagian 1) 44

Gambar 421 Diagram alir proses defuzzifikasi (bagian 2) 45

Gambar 422 Grafik fuzzy set data A 56

Gambar 423 Rancangan antarmuka halaman input 61

Gambar 424 Rancangan antarmuka halaman tampil data 61

Gambar 425 Rancangan antarmuka halaman proses clustering 62

Gambar 426 Rancangan antarmuka proses fuzzifikasi 62

xiv

Gambar 427 Rancangan antarmuka proses fuzzy logical relationship 63

Gambar 428 Rancangan antarmuka halaman hasil peramalan 63

Gambar 429 Rancangan antarmuka halaman perhitungan error 64

Gambar 51 Implementasi antarmuka halaman input 79

Gambar 52 Implementasi antarmuka halaman tampil data 80

Gambar 53 Implementasi antarmuka halaman proses clustering 80

Gambar 54 Implementasi antarmuka halaman proses fuzzification 81

Gambar 55 Implementasi halaman antarmuka proses FLR 81

Gambar 56 Implementasi halaman antarmuka hasil 82

Gambar 57 Implementasi halaman antarmuka perhitungan error 82

Gambar 61 Grafik hasil pengujian order terhadap nilai MSE 84

Gambar 62 Grafik hasil pengujian threshold terhadap nilai MSE 86

Gambar 63 Grafik hasil pengujian data training terhadap nilai MSE 87

Gambar 64 Grafik hasil pengujian validasi sistem 88

Gambar 65 Grafik perbandingan data aktual dengan hasil peramalan 89

xv

DAFTAR KODE PROGRAM

Kode Program 51 Implementasi proses Universe of Discourse 68

Kode Program 52 Implementasi proses mean 68

Kode Program 53 Implementasi proses standar deviasi 69

Kode Program 54 Implementasi proses Dmin dan Dmax 69

Kode Program 55 Implementasi proses jumlah cluster 70

Kode Program 56 Implementasi proses pusat cluster 72

Kode Program 57 Implementasi pembentukan subinterval dan fuzzy set 74

Kode Program 58 Implementasi proses fuzzifikasi 75

Kode Program 59 Implementasi pembentukan FLR 77

Kode Program 510 Implementasi proses defuzzifikasi 79

xvi

DAFTAR LAMPIRAN

Lampiran 1 Tabel Data Sampel 95

1

BAB 1 PENDAHULUAN

11 Latar belakang

Kabupaten Malang merupakan salah satu kabupaten di Jawa Timur yang terkenal akan potensi alam yang dimiliki (BPS Kabupaten Malang 2016) Dalam hal ini terkenal akan potensi alamnya karena kabupaten Malang memiliki tingkat produksi di sektor pertanian yang cukup tinggi dimana hampir seluruh kecamatan di kabupaten Malang memiliki lahan pertaniaaan (BPS Jatim 2015) Permasalahan yang terjadi pada sektor pertanian yaitu terjadinya gagal panen apabila memasuki musim penghujan dengan curah hujan yang tinggi yaitu diatas 200 mm per bulan serta apabila memasuki musim kemarau dengan curah hujan yang rendah yaitu dibawah 100 mm per bulan (BMKG Staklim Karangploso Malang 2015) Dalam mengatasi hal tersebut upaya yang dilakukan petani selama ini hanya melakukan tindakan seperti melakukan panen secara dini Upaya ini dianggap petani cukup efektif dalam mengurangi besarnya kerugian gagal panen akan tetapi sebaiknya yang dilakukan adalah melakukan suatu tindakan agar kerugian yang dialami petani tidak terjadi lagi (Ardiyanto 2016)

Salah satu contoh tindakan yang dapat dilakukan adalah membuat Kalender Tanam (KATAM) KATAM dapat digunakan petani sebagai alat bantu atau pedoman dalam menentukan awal musim tanam terbaik seperti yang telah dilakukan oleh Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian Dalam pembuatan KATAM Balitbang menggunakan data peramalan curah hujan dari Badan Meteorologi Klimatologi dan Geofisika (BMKG) Akan tetapi BMKG mengakui bahwa prakiraan cuacanya saat ini memang masih kurang akurat dan masih kalah dengan prakiraan cuaca di Amerika Serikat (Yunanto 2014) Pentingnya akan prakiraan cuaca terbukti adanya beberapa penelitian sebelumnya yaitu penelitian prakiraan cuaca dengan input faktor yang mempengaruhi cuaca yang berupa data time series menggunakan metode Adaptive Neuro Fuzzy Inference System (ANFIS) (Dewi 2014) dan penelitian mengenai prediksi cuaca menggunakan metode Backpropagation Neural Network yang terbukti memiliki nilai akurasi yang baik dalam prediksi cuaca (Dewi 2013)

Teknik atau metode peramalan curah hujan yang sering digunakan BMKG adalah metode Autoregressive Integrated Moving Average (ARIMA) ANFIS dan Wavelet (Kurniawan 2007) Namun dalam penerapannya gabungan dari ketiga metode tersebut masih kurang memuaskan yaitu tingkat akurasinya hanya mencapai 60 - 70 Menurut BMKG kurangnya tingkat akurasinya ini disebabkan oleh keadaan pola atmosfer di Indonesia yang selalu berubah ndash ubah dan kurang menentu

Selain metode yang digunakan oleh BMKG adapun penelitian sebelumnya yang meramalkan curah hujan yaitu penelitian menggunakan metode Fuzzy Time Series Chen dengan studi kasus curah hujan di Samarinda dalam penelitian ini menggunakan data time series curah hujan bulanan dengan kesimpulan pengunaan data yang sedikit memiliki tingkat akurasi lebih tinggi dibandingkan

2

menggunakan data yang banyak yaitu menghasilkan nilai RMSE terkecil 7368 dan MAE terkecil 539 (Fauziah et al 2016)

Selain peramalan yang hanya menggunakan data time series dari data yang akan diramalkan juga terdapat penelitian sebelumnya yang menggunakan faktor - faktor yang mempengaruhi dari data yang akan diramalkan Salah satunya yaitu penelitian dengan menggunakan metode Clusterwise Linear Regression (CLR) Penelitian ini menggunakan data bulanan pada delapan stasiun cuaca di kota Victoria Australia Peramalan curah hujan pada penelitian ini menggunakan faktor yang mempengaruhi yaitu suhu maksimum suhu minimum penguapan tekanan uap dan radiasi matahari Hasil penelitian ini terbukti dapat melakukan peramalan curah hujan dengan hasil yang cukup baik yaitu dengan nilai RMSE terkecil 197 dan MAE terkecil 129 (Bagirov et al 2017)

Berdasarkan paparan yang telah dijelaskan penulis memiliki ide untuk melakukan penelitian dengan judul ldquoPeramalan Curah Hujan dengan Metode High Order Fuzzy Time Series Multi Factorsrdquo Pada metode ini dilakukan klasterisasi data untuk membangun subinterval dengan menggunakan metode fuzzy C-means (LinYang 2009) Dari proses hasil klasterisasi akan digunakan untuk membagi data semesta yang selanjutnya menghasilkan fuzzy set atau himpunan fuzzy yang menggambarkan fitur data (LinYang 2009) Keunggulan dari metode fuzzy time series dengan multi faktor yaitu dengan berdasarkan pada penelitian ndash penelitian sebelumnya yang menggunakan metode tersebut yaitu penelitian prediksi harga emas dengan beberapa faktor yang mempengaruhi menggunakan metode Multi-factors High order Fuzzy Time Series Model dari hasil penelitian ini dengan menggunakan metode evaluasi Mean Absolute Percentage Error (MAPE) dapat diperoleh nilai error terkecil sebesar 0443 (Wardhani et al 2015) dan penelitian peramalan Indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen menggunakan metode Fuzzy Time Series Model dari penilitian ini menunjukan tingkat Average Relative Error (ARError) sebesar 176 untuk bursa efek harian Shanghai sedangkan untuk bursa efek harian Shenzhen didapatkan ARError sebesar 187 (Lin Yang 2009) terbukti menghasilkan hasil peramalan dengan tingkat akurasi yang cukup tinggi Penggunaan metode ini juga sesuai dengan curah hujan yang dipengaruhi oleh beberapa faktor yaitu kelembaban udara kecepatan angin dan suhu (Pradipta 2013) Penelitian ini diharapkan dapat memberikan hasil peramalan curah hujan yang lebih akurat dan memiliki nilai kesalahan yang lebih sedikit

12 Rumusan masalah

Berdasarkan latar belakang yang telah dipaparkan dibuatlah beberapa rumusan masalah sebagai berikut

1 Bagaimana mengimplementasikan Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

2 Berapa tingkat kesalahan dari hasil implementasi Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

3

13 Tujuan

Adapun maksud dan tujuan dari penelitian ini adalah sebagai berikut

1 Mengimplementasikan Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

2 Mengetahui tingkat kesalahan dari hasil implementasi Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

14 Manfaat

Adapun manfaat dari penelitian ini adalah sebagai berikut

1 Bagi Badan Meteorologi dan Geofisika (BMKG) untuk dapat memberikan peramalan curah hujan yang lebih akurat dari sebelumnya

2 Bagi Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian untuk dapat membuat Kalender tanam (KATAM) dengan menggunakan data ramalan curah hujan yang lebih akurat

3 Bagi penduduk kabupaten Malang khususnya yang bekerja pada sektor pertanian agar dapat mengoptimalkan hasil produksi dengan menyesuaikan penanaman sesuai dengan Kalender Tanam (KATAM) yang telah dibuat Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian

15 Batasan masalah

Penelitian ini dibatasi oleh hal ndash hal sebagai berikut

1 Data curah hujan kelembaban udara kecepatan angin dan suhu udara yang digunakan pada penelitian ini merupakan data berdasarkan dasarian dan hanya mencakup wilayah kabupaten Malang dan data diperoleh dari BMKG Karangkates Kabupaten Malang dengan data time series yang digunakan pada penelitian ini yaitu dari tahun 2011 - 2016

2 Model peramalan yang diterapkan adalah semua nilai yang membentuk pola dataset training dan testing diketahui nilainya

3 Perhitungan nilai tingkat kesalahan permalan menggunakan metode Mean Square Error (MSE)

16 Sistematika pembahasan

Sistematika pembahasan penelitian ditunjukkan untuk memberikan gambaran dan uraian dari penyusunan proposal yang meliputi beberapa bab sebagai berikut

BAB 1 PENDAHULUAN

Pada bab ini berisi latar belakang rumusan masalah tujuan penelitian manfaat penelitian batasan masalah sistematika pembahasan dan rencana kerja atau jadwal penelitian

4

BAB 2 LANDASAN KEPUSTAKAAN

Pada bab ini berisi tentang kajian pustaka dan dasar teori yang menjadi dasar dalam melakukan implementasi peramalan curah hujan dengan Metode High Order Fuzzy Time Series Multi Factors

BAB 3 METODOLOGI

Pada bab ini diuraikan tentang tahapan atau langkah ndash langkah yang dilakukan dalam proses penelitian tentang peramalan curah hujan dengan metode High Order Fuzzy Time Series Multi Factors Langkah ndash langkah tersebut terdiri dari tahapan penelitian teknik pengumpulan data algoritma yang digunakan lingkungan pengujian dan pengujian algoritma yang digunakan serta pengambilan kesimpulan

BAB 4 PERANCANGAN

Pada bab ini berisi tentang perancangan proses algoritma perhitungan manual metode High Order Fuzzy Time Series Multi Factors perancangan antar muka dan perancangan pengujian

BAB 5 IMPLEMENTASI

Pada bab ini berisi tentang penjelasan peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors bagaimana user interface dan source code dalam pengimplementasian metode ini

BAB 6 PENGUJIAN DAN ANALISIS

Pada bab ini berisi tentang penjelasan proses dan hasil pengujian dari implementasi metode High Order Fuzzy Time Series Multi Factors dalam peramalan curah hujan serta analisis dari pengujian tersebut

BAB 7 PENUTUP

Pada bab ini berisi kesimpulan yang diperoleh dari hasil pengujian dan saran ndash saran untuk pengembangan penelitian selan

5

BAB 2 LANDASAN KEPUSTAKAAN

Bab ini berisi mengenai kajian pustaka dan dasar ndash dasar teori yang akan dibahas serta digunakan untuk menunjang topik ndash topik pembahasan Pada kajian akan dibahas perbedaan antara penelitian yang telah ada dengan penelitian yang diusulkan oleh penulis Sedangkan pada dasar teori akan dibahas mengenai teori ndash teori yang digunakan pada penelitian yang diusulkan

21 Kajian Pustaka

Pada kajian pustaka disini berisi mengenai perbandingan antara penelitian yang diusulkan oleh penulis dengan penelitian sebelumnya yang relevan Perbandingan tersebut dapat dilihat padat Tabel 21

Tabel 21 Kajian Pustaka

No Judul Objek dan Input Penelitian Metode

1 Penerapan Metode Automatic Clustering dan High Order Fuzzy Time Series Pada Peramalan Curah Hujan (Irsyad Metarice 2013)

Objek Curah hujan

Input Penelitian

Data aktual curah hujan

Metode High Order Fuzzy Time Series dan Automatic Clustering

Nilai evalusi

Mean Absolute Percentage Error (MAPE)

2 Peramalan Menggunakan Fuzzy Time Series Chen (Studi Kasus Curah Hujan Kota Samarinda) (Fauziah et al 2016)

Objek Curah Hujan

Input Penelitian

Data aktual curah hujan

Metode Fuzzy Time Series Chen

Nilai evaluasi

Mean Absolute Error (MAE) Root Mean of Square Error (RMSE)

3 Implementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emas (Wardhani et al 2015)

Objek Harga Emas

Input Penelitian

Kurs Dollar hari sebelumnya

Kurs Euro hari sebelumnya

Harga Emas London hari sebelumnya

Harga Emas hari sebelumnya

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

Nilai evalusi

Mean Absolute Percentage Error (MAPE)

4 Stock Markets Forecasting Based on Fuzzy Time Series Model (Lin Yang 2009)

Objek Indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

6

Input Penelitian

Historical return

Historical turnover volume

Rata ndash rata selisih pergerakan harga selama lima hari

Selisih antara kekuatan bull dan bear

Indeks komposit bursa efek harian Shanghai sebelumnya

Indeks komposit bursa efek harian Shenzhen

Nilai evalusi

Average Relative Error (ARError)

5 Peramalan Curah Hujan Menggunakan Metode High Order Fuzzy Time Series Multi Factors

Objek Curah hujan

Input Penelitian

Suhu

Kelembaban

Kecepatan angin

Curah hujan

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

Nilai evalusi

Mean Square Error (MSE)

Sumber (Irsyad Metarice 2013) (Fauziah et al 2016) (Wardhani et al 2015) dan (Lin Yang 2009)

Pada penelitian yang pertama yaitu penelitian yang dilakukan oleh Muhammad Irsyad dan Sonya Metarice pada tahun 2013 dengan objek penelitian yang diramalkan adalah curah hujan Inputan yang digunakan pada penelitian ini merupakan data aktual curah hujan bulanan Metode yang digunakan penelitian ini adalah Automatic Clustering dan High Order Fuzzy Time Series Pada penelitian ini metode Automatic Clustering digunakan untuk membangun interval dan High Order Fuzzy Time Series untuk melakukan peramalan curah hujan Kesimpulan yang diperoleh dari penelitian ini yaitu metode ini dapat diterapkan untuk permalan curah hujan dan hasil evaluasi menggunakan metode Mean Absolute Percentage Error(MAPE) dari beberapa bercobaan dapat diperoleh nilai kesalahan sebesar 437 Berdasarkan dari hasil nilai kesalahan tersebut maka tingkat kesalahan data pada permalan ini termasuk rendah

Pada tahun 2016 Normalita Fauziah Sri Wahyuningsih dan Yuki Novia Nasution melakukan penelitian dengan objek penelitian curah hujan di kota Samarinda Inputan yang digunakan pada penelitian berupa data aktual bulanan curah hujan di kota Samarinda Metode yang digunakan pada penelitian ini adalah Fuzzy Time Series Chen dengan dalam pembentukkan panjang interval berbasis rata ndash rata atau average based Pada penelitian ini permalan curah hujan terbaik yaitu dengan menggunkan data sebanyak 29 data dengan menghasilkan tingkat nilai kesalahan terkecil yaitu dengan metode Root Mean of Squared Error (RMSE) sebesar 7368 dan metode Mean Absolute Error (MAE) sebesar 539 Pada

(Lanjutan) Tabel 21 Kajian Pustaka

7

penelitian ini disimpulkan bahwa data sebanyak 29 data memiliki tingkat kesalahan lebih kecil dibandingkan dengan menggunakan data dengan jumlah sampel yang lebih banyak

Pada penelitian selanjutnya adalah penelitian yang dilakukan oleh Dessy Kusuma Wardhani Dian Eka Ratnawati dan Budi Darma Setiawan pada tahun 2015 dengan objek penelitian yang diramalkan adalah harga emas harian Inputan yang digunakan pada penelitian ini data aktual harian harga emas indonesia harga emas london kurs dollar ke rupiah dan kurs euro ke rupiah Metode yang digunakan pada penelitian pada pembentukkan sub interval menggunakan metode fuzzy C-means dan untuk peramalan menggunakan metode High Order Fuzzy Time Series Model Hasil pada penelitian ini berdasarkan menggunakan metode evaluasi Mean Absolute Percentage Error (MAPE) dapat diperoleh nilai error terkecil sebesar 0443 karena nilai error lebih kecil dari 10 menunjukkan bahwa metode ini sangat baik digunakan untuk peramalan harga emas

Pada tahun 2009 Yupei Lin dan Yiwei Yang melakukan penelitian dengan objek yang diramalkan adalah indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen Data input penelitian ini meliputi historical return historical turnover volume dan rata ndash rata selisih pergerakan harga selama lima hari serta selisih antara kekuatan bull dan bear Dalam penelitian ini pembentukan subinterval yang berfungsi dalam pendefinisian himpunan fuzzy dilakukan dengan menggunakan klasterisasi fuzzy C-means Hasil dari penilitian ini menunjukan tingkat Average Relative Error (ARError) sebesar 176 untuk bursa efek harian Shanghai sedangkan untuk bursa efek harian Shenzhen didapatkan ARError sebesar 187 Dalam hal ini membuktikan bahwa penelitian dapat menghasilkan peramalan yang cukup baik karena memiliki nilai ARError kurang dari 5

Pada penelitian ini membahas tentang peramalan curah hujan dasarian menggunakan metode High Order Fuzzy Time Series Multi Factors Terdapat empat inputan yang juga dijadikan sebagai variabel dalam penelitian ini yaitu kelembaban udara kecepatan angin suhu udara dan curah hujan Pembentukan subinterval yang berfungsi dalam pendefinisian fuzzy set dilakukan dengan menggunakan klasterisasi fuzzy C-means Penelitian ini menggunakan high order fuzzy logic relationship yaitu membentuk fuzzy logic relationship berdasarkan data dalam kurun waktu beberapa dasarian sebelum dasarian yang akan diramal Pada penelitian ini dalam melakukan perhitungan nilai error untuk mendapatkan hasil evaluasi menggunakan metode Mean Square Error (MSE)

22 Dasar Teori

Pada dasar teori disini dijelaskan tentang metode ndash metode yang digunakan pada penelitian ini yang meliputi peramalan curah hujan data time series logika fuzzy fuzzy C-means metode peramalan dengan Fuzzy Time Series High Order Fuzzy Time Series Multi Factors dan metode perhitungan keakuratan metode peramalan

8

221 Peramalan

Terdapat beberapa definisi tentang peramalan menurut Kamus Besar Bahasa Indonesia (KBBI) yaitu

a Peramalan merupakan prediksi rencana atau estimasi kejadian masa depan yang tidak pasti (KBBI)

b Peramalan adalah sebagai penggunaan teknik ndash teknik statistik dalam bentuk gambaran masa depan berdasarkan pengolahan angka ndash angka yang terjadi pada masa lalu (Buffa et al1996)

c Peramalan adalah bagian internal dari pengambilan keputusan manajemen (Makridakis et al1999)

Berdasarkan beberapa definisi diatas dapat disimpulkan bahwa peramalan merupakan tindakan apa yang akan terjadi di masa mendatang peramalan diperlukan untuk mengambil sebuah keputusan Dalam pengambilan keputusan harus diambil dari pertimbangan ndash pertimbangan yang ada Oleh karena itu peramalan sangat penting hubungannya dengan pengambilan keputusan sehingga kejadian di masa yang akan datang dapat dipersiapkan tindakan apa yang perlu dilakukan

222 Curah hujan

Curah hujan merupakan salah satu faktor penting yang mempengaruhi perubahan iklim suatu wilayah (Mirawati et al 2013) Salah satu contoh kasus nyata yaitu terjadinya perubahan iklim secara tiba ndash tiba atau bisa disebut dengan cuaca ekstrim Curah hujan dapat dijelaskan dengan air hujan yang terkumpul pada suatu wadah datar dimana air hujan tersebut tidak meresap tidak menguap dan tidak mengalir sehingga dapat diukur ketinggiannya Sebagai contoh curah hujan 1 (satu) milimeter dapat dijelaskan dalam suatu wadah datar dengan luas satu meter persegi tertampung air dengan ketinggian sekitar satu milimeter atau tertampung air sebanyak satu liter Metode dalam mendapatkan data curah hujan adalah dengan menggunakan penakar hujan yang kemudian diukur dengan satuan milimeter (mm) (User2015) Intensitas curah hujan dapat dikategorikan ringan jika dibawah 20mm dalam 24 jam dikategorikan lebat jika di atas 50mm dan dikategorikan sedang jika selang 20mm hingga 50mm (User 2015)

Curah hujan mempengaruhi beberapa sektor diantarannya sektor komunikasi dimana penggunaan frekuensi diatas 10 GHz dapat terkena redaman hujan (Mauludiyanto et al 2009) Akan tetapi curah hujan paling berpengaruh terhadap sektor pertanian Hal ini terbukti bahwa sebagian besar terjadinya penurunan produktifitas dan gagal panen di sektor pertanian adalah terjadinya curah hujan yang tinggi

Tinggi dan rendahnya curah hujan dipengaruhi oleh beberapa faktor yaitu kelembaban udara temperatur dan kecepatan angin Pada tahun 2013 Nur Suri Pradipta Pasukat Sembiring dan Pengarapen Bangun melakukan penelitian mengenai pengaruh curah hujan di kota Medan (Pradipta et al 2013)

9

Berdasarkan penelitian tersebut faktor yang mempengaruhi dan digunakan dalam peramalan curah hujan yaitu

1 Kelembaban udara

Kelembaban udara adalah banyaknya kandungan uap air di atmosfer Udara atmosfer adalah campuran dari udara kering dan uap air selain itu kelembaban udara merupakan komponen cuaca yang mempunyai peranan sangat penting bagi stabilitas kehidupan organisme di bumi maupun unsur-unsur cuaca yang lain (Forest 2015) Kelembaban udara berpengaruh terhadap curah hujan Hal ini didukung penelitian oleh (Sipayung et al 2013) yang menyatakan Kelembaban udara berpengaruh positif terhadap curah hujan

2 Kecepatan angin

Kecepatan angin merupakan kecepatan udara yang bergerak secara horizontal pada ketinggian 2 meter diatas tanah Dalam hal ini faktor yang menentukan kecepatan angin adalah perbedaan tekanan udara antara asal dan tujuan angin Kecepatan angin berpengaruh positif terhadap curah hujan artinya jika kecepatan angin tinggi maka curah hujan akan tinggi (Pradipta et al2013)

3 Suhu udara

Suhu udara merupakan ukuran energi kinetik rata ndash rata dari pergerakan molekul ndash molekul Suhu udara berpengaruh negatif terhadap curah hujan artinya jika suhu udara tinggi maka curah hujan akan berkurang (Pradipta et al2013)

223 Data time series

Data time series adalah data statistik yang telah dihimpun dari masa lampau hingga sekarang dan dapat digunakan sebagai acuan dalam melakukan peramalan terhadap data yang akan datang (Wiyanti amp Pulungan 2012) Data time series juga dapat didefinisikan sebagai sebuah kegiatan mengamati data statistik dimana terdapat korelasi (dependensi) antar datanya sehingga data yang sekarang sedang diamati memiliki ketergantungan dengan satu atau lebih data pengamatan sebelumnya (Mirawati et al 2013)

Terdapat dua teknik prediksi yang menggunakan basis data time series yaitu teknik model matematika statistik dan berdasarkan kecerdasan buatan (Wiyanti amp Pulungan 2012) Analisa time series sendiri memiliki beberapa peruntukan salah satunya digunakan dalam melakukan peramalan untuk masa yang akan datang Dalam penggunaan data time series merupakan salah satu proses peramalan kuantitatif dimana berdasar data kuantitatif masa lampau yang direpresentasikan dalam bentuk angka atau nilai (Mirawati et al 2013)

10

224 Logika Fuzzy

Pada tahun 1965 Prof Lotfi A Zadeh memperkenalkan teori logika fuzzy Logika fuzzy merupakan suatu komponen soft computing dan juga suatu cara yang tepat untuk memetakan suatu ruang input ke dalam ruang output Antara ruang input dan ruang output terdapat black box yang berfungsi memetakan input ke ruang output yang sesuai Dasar logika fuzzy adalah teori fuzzy set Pada teori fuzzy set peranan derajat keanggotaan sebagai penentu keberadaan elemen dalam suatu himpunan sangatlah penting Oleh karena itu derajat keanggotaan menjadi ciri utama dalam penalaran dengan logika fuzzy Logika fuzzy bekerja dengan menggunakan derajat keanggotan dari sebuah nilai yang kemudian digunakan untuk menentukan hasil yang ingin dihasilkan berdasarkan atas kriteria yang telah ditentukan (Kusumadewi 2003)

Berikut adalah beberapa alasan digunakannya logika fuzzy (Kusumadewi 2002)

1 Logika fuzzy sangat fleksibel

2 Konsep logika fuzzy mudah dimengerti dan dipahami

3 Logika fuzzy memiliki toleransi terhadap data ndash data yang homogen dan data ndash data yang kurang tepat

4 Logika fuzzy didasari pada bahasa alami atau bahasa sehari - hari sehingga mudah dimengerti

5 Logika fuzzy dapat bekerjasama dengan teknik ndash teknik kendali secara konvensional

6 Logika fuzzy mampu membangun dan mengaplikasikan pengalaman ndash pengalaman para pakar secara langsung tanpa harus melalui tahap atau proses pelatihan

A Himpunan Fuzzy

Himpunan fuzzy atau fuzzy set merupakan perluasan himpunan tegas atau himpunan crisp jadi fungsi karakteristik mencakup bilangan real pada interval [01] Dalam definisi lain himpunan fuzzy adalah suatu himpunan yang mewakili suatu keadaan atau kondisi tertentu dalam suatu variabel fuzzy Keanggotaan fuzzy berbeda dengan probabilitas jika keanggotaan fuzzy pada setiap fungsi karakteristik memberikan suatu pendapat atau keputusan sedangkan probabilitas menunjukan seberapa besar nilai kebenaran dalam fungsi karakteristik tersebut Contohnya yaitu nilai keanggotaan suatu himpunan fuzzy umur muda 09 berarti nilai dalam himpunan tersebut memiliki kemungkinan 90 anggotanya berumur muda dan 10 diharapkan tidak muda Dalam himpunan fuzzy suatu bilangan bisa memiliki dua keanggotaan sekaligus Himpunan fuzzy memiliki dua attribut (Kusumadewi2003)

11

1 Linguistik merupakan penamaan suatu himpunan yang mewakili suatu keadaan atau kondisi tertentu dengan menggunakan bahasa alami misalnya muda parobaya tua

2 Numeris merupakan suatu nilai (angka) yang menunjukkan ukuran dari suatu

variabel seperti 402550 dan sebagainya

B Fungsi Keanggotaan

Fungsi keanggotaan adalah suatu kurva yang menunjukkan pemetaan titik ndash titik input data ke dalam derajat keanggotaannya yang memiliki subinterval antara 0 sampai 1 (Kusumadewi Purnomo 2004) Salah satu cara yang dapat digunakan untuk mendapatkan nilai keanggotaan adalah dengan melalui pendekatan fungsi Ada beberapa fungsi keanggotaa yang dapat digunakan

1 Fungsi representasi linear

Pada fungsi representasi linear pemetaan input ke derajat keanggotaannya digambarkan sebagai suatu garis lurus Bentuk ini paling sederhana dan menjadi pilihan yang baik untuk mendekati suatu konsep yang kurang jelas Keadaan linear himpunan fuzzy terdiri dari dua keadaan yaitu keadaan linear naik dan keadaan linear turun Pada keadaan linear naik kenaikan himpunan dimulai pada nilai domain yang memiliki nilai derajat keanggotaan nol bergerak ke kanan menuju ke nilai domain yang memiliki derajat keanggotaan yang lebih tinggi seperti yang ditunjukkan Gambar 21 Persamaan fungsi keanggotaan pada representasi linear naik ditunjukkan oleh Persamaan 21

Fungsi Keanggotaan

120583(119909) = 0

(119909 minus 119886)(119887 minus 119886)1

119909 le 119886 119886 le 119909 le 119887119909 ge 119887

(21)

b a 0

1

Gambar 21 Representasi linear naik

Sumber Kusumadewi (2002)

120583(119909)

12

Pada keadaan linear turun berbanding terbalik dengan keadaan linear naik Garis lurus dimulai dari nilai domain dengan derajat keanggotaan tertinggi pada sisi kiri kemudian bergerak menurun ke nilai domain yang memiliki derajat keanggotaan lebih rendah yang ditunjukkan Gambar 22 Persamaan fungsi keanggotaan pada representasi linear turun ditunjukkan oleh Persamaan 22

Fungsi Keanggotaan

120583(119909) = (119887 minus 119909)(119887 minus 119886)0

119886 le 119909 le 119887

119909 ge 119887 (22)

2 Fungsi representasi kurva segitiga

Representasi kurva segitiga pada dasarnya merupakan gabungan antara 2 garis linear yaitu linear naik dan linear turun Fungsi representasi kurva segitiga ditandai oleh adanya tiga parameter abc yang akan menentukan koordinat x dari tiga sudut seperti ditunjukkan pada Gambar 23 Persamaan fungsi keanggotaan pada representasi kurva segitiga ditunjukkan oleh Persamaan 23

b a 0

1

Sumber Kusumadewi (2002)

Gambar 22 Representasi linear turun

120583(119909)

c a 0

1

b

Sumber Kusumadewi (2002)

Gambar 23 Representasi kurva segitiga

120583(119909)

13

Fungsi Keanggotaan

120583(119909) =

0 (119909 minus 119886)(119887 minus 119886) (119887 minus 119909)(119888 minus 119887)

119909 le 119886 119886119905119886119906 119909 ge 119888

119886 le 119909 le 119887 119887 le 119909 le 119888

(23)

225 Metode Fuzzy C-means

Fuzzy C-means (FCM) pertama kali diperkenalkan oleh Dunn dan dikembangkan oleh Bezdek yang banyak digunakan dalam pengenalan pola Metode ini merupakan pengembangan dari metode non-hierarkhi K-Means Cluster selanjutnya dilakukan iterasi sampai mendapatkan keanggotaan kelompok tersebut (Klawon 2001)

FCM merupakan salah satu algoritma fuzzy clustering dan juga teknik klasterisasi dimana tiap data ditentukan oleh derajat keanggotaanya Tujuan penggunaan algoritma FCM yaitu untuk menemukan pusat cluster atau centroid dengan meminimumkan fungsi objektif (Bazdek 1984) Ouput dari FCM bukan merupakan fuzzy inference system melainkan deretan pusat cluster dan beberapa derajat keanggotaan untuk setiap titik data Hasil output ini dapat digunakan untuk membangun suatu fuzzy inference system Berikut adalah langkah ndash langkah dari FCM (Kusumadewi 2004)

1 Langkah pertama menentukan jumlah cluster (c ge 2) pembobot (infin gt 119908 gt1) (Bazdek 1984) maksimum iterasi (maxIter) error minimum yang diharapkan yaitu nilai positif yang sangat kecil (120585) fungsi objektif awal (P0 = 0) iterasi awal dideklarasikan 1

2 Langkah kedua memasukkan data X yang akan diklasterisasi berupa matriks berukuran m x n (m = jumlah sampel data n = attribut setiap data) Contoh Xij = data sampel ke-i (i = 1234m) attribu ke-j (j=1234n)

3 Langkah ketiga yaitu dengan membuat bilangan random microik i = 1234n dan k = 123c (n = jumlah sampel pada data c = jumlah cluster yang akan dibentuk) sebagai elemen ndash elemen matriks partisi awal Untuk bilangan penyusun matriks partisi awal dihitung dihitung jumlahnya setiap kolom yang ditunjukkan pada pada Persamaan 24 (Kusumadewi 2004)

119876119896 = sum 120583119894119896119888119896=1 (24)

Dimana

119876119896 = jumlah bilangan pada kolom k

120583119894119896 = bilangan random pada baris i kolom k

119888 = jumlah kolom

14

Selanjutnya untuk menghitung derajat keanggotaan awal dengan melakukan normalisasi pada matiks partisi pada normalisasi dilakukan menggunakan Persamaan 25 (Kusumadewi 2004)

120583119894119896 = 120583119894119896119876119896 (25)

4 Langkah keempat melakukan perhitungan cluster ke-k Vkj dengan k = 1234c dan j = 1234m Perhitungan pusat cluster ditunjukkan pada Persamaan 26 (Kusumadewi 2004)

119881119896119895 = sum ((120583119894119896)119908 times 119883119894119895)119899

119894=1

sum (120583119894119896)119908119899119894=1

(26)

Dimana

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

120583119894119896 = derajat keanggotaan pada data ke-i cluster ke-k

119883119894119895 = data sampel pada data ke-i attribut ke-j

119908 = pembobot

5 Langkah kelima melakukan perhitungan fungsi objektif pada iterasi ke-t P1 Perhitungan fungsi objektif ditunjukkan pada Persamaan 27 (Kusumadewi 2004)

119875119905 = sum sum ([sum (119883119894119895 minus 119881119896119895)119898119895=1

2](120583119894119896)119908)119888

119896=1119899119894=1 (27)

Dimana

119875119905 = fungsi objektif

119883119894119895 = data sampel ke-i atribut ke-j

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

6 Langkah keenam melakukan perhitungan perbaikan matriks partisi yang telah ditunjukkan Persamaan 28 (Kusumadewi 2004)

120583119894119896 = [sum (119883119894119895minus119881119896119895)119898

119895=12

]

minus1119908minus1

sum [sum (119883119894119895minus119881119896119895)119898119895=1

2]

minus1119908minus1119888

119896minus1

(28)

Dimana

119883119894119895 = data sampel ke-i atribut ke-j

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

119908 = pembobot

7 Langkah ketujuh yaitu melakukan pemerikasaan kondisi berhenti dengan kondisi sebagai berikut

a Jika (|119875119905 minus 119875119905minus1| lt 120585) atau ( t gt MaxIter) maka berhenti

b Jika tidak memenuhi t = t +1 ulangi mulai dari langkah ke-4

15

226 Metode Peramalan dengan Fuzzy Time Series

Pada tahun 1996 Chen memperkenalkan metode peramalan dengan menggunakan metode Fuzzy Time Series Metode Fuzzy Time Series memiliki perbedaan dengan metode peramalan time series biasa atau konvensional yaitu terdapat pada data yang digunakan untuk peramalan Fuzzy Time Series data yang digunakan adalah berupa fuzzy set atau himpunan fuzzy dari bilangan ndash bilangan real atas himpunan semesta yang ditentukan Jadi Fuzzy Time Series merupakan metode dengan menggunakan data berupa fuzzy set yang berasal dari bilangan real atas Universe of Discorse pada data aktual Universe of Discourse adalah himpunan semesta dari data penelitian

Berikut adalah langkah ndash langkah metode Fuzzy Time Series yang telah diperkenalkan oleh Chen terdapat enam langkah yaitu

1 Langkah pertama yaitu membagi Universe of Discourse dari bilangan aktual ke dalam subinterval dengan jumlah interval yang sama Perhitungan Universe of Discourse ditunjukkan pada Persamaan 29 (Chen 1996)

119880 = [119863119898119894119899 minus 1198631 119863119898119886119909 + 1198632] (29)

Dimana

119880 = Universe of Discourse

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

1198631 dan 1198632 = bilangan positif yang ditentukan oleh user untuk menentukan Universe of Discourse dari himpunan data sampel

2 Langkah kedua adalah mendefinisikan fuzzy set dari Universe of Discourse (U) menjadikan A1 A2 A3 An ke dalam fuzzy set dengan nilai linguistik sesuai dengan keadaan U Selanjutnya mendefinisikan fuzzy set tersebut ditunjukkan pada Persamaan 210 (Chen 1996)

1198601 =11989111

1199061+

11989112

1199062+

11989113

1199063+ ⋯ +

1198911119896

119906119896 (210)

1198602 =11989121

1199061+

11989122

1199062+

11989123

1199063+ ⋯ +

1198912119896

119906119896

= + + + +

119860119896 =1198911198961

1199061+

1198911198962

1199062+

1198911198963

1199063+ ⋯ +

119891119896119896

119906119896

Dimana 119891119894119895120598 [01] 1 le 119894 le 119896 dan 1 le 119895 le 119898 Variabel 119891119894119895 menunjukkan

derajat keanggotaan dari subinterval 119906119895 dari fuzzy set 1198601 Pada konsep ini

Chen menggunakan nilai linguistik 1198601 = (not many) 1198602 = (not too many) 1198603= (many) 1198604 = (many many) 1198605 = (very many) 1198606 = (too many) 1198607= (too many many) Kemudian nilai linguistik tersebut dimasukkan ke tiap fuzzy set Dari U tersebut dapat dibangun fuzzy set sebagai berikut

16

1198601 = 1

1199061+

05

1199062+

0

1199063+

0

1199064+

0

1199065+

0

1199066+

0

1199067

1198602 = 05

1199061+

1

1199062+

05

1199063+

0

1199064+

0

1199065+

0

1199066+

0

1199067

1198603 = 0

1199061+

05

1199062+

1

1199063+

05

1199064+

0

1199065+

0

1199066+

0

1199067

1198604 = 0

1199061+

0

1199062+

05

1199063+

1

1199064+

05

1199065+

0

1199066+

0

1199067

1198605 = 0

1199061+

0

1199062+

0

1199063+

05

1199064+

1

1199065+

05

1199066+

0

1199067

1198606 = 0

1199061+

0

1199062+

0

1199063+

0

1199064+

05

1199065+

1

1199066+

05

1199067

1198607 = 0

1199061+

0

1199062+

0

1199063+

0

1199064+

0

1199065+

05

1199066+

1

1199067

3 Langkah ketiga yaitu melakukan fuzzifikasi data historis proses fuzzifikasi merupakan proses merubah data aktual yang merupakan bilangan crisp ke dalam bentuk bilangan fuzzy Bilangan fuzzy yang dimaksudkan adalah dalam bentuk derajat keanggotaan Dari beberapa derajat keanggotaan yang terbentuk kemudian dipilih satu fuzzy set yang memiliki derajat keanggotaan teringgi Fuzzifikasi dinotasikan sebagai berikut jika F(t-1) berada pada fuzzy set Ak maka F(t-1) difuzzifikasikan sebagai Ak

4 Langkah keempat adalah mengidentifikasi Fuzzy Logic Relationship (FLR) FLR diidentifikasikan sebagai Ai dan F(t) difuzzifikasikan sebagai Ai rarr Aj Ai sebagai sisi kiri relationship disebut sebagai current state dan Aj sebagai sisi kanan relationship disebut next state Jika terjadi perulangan relationship maka tetap dihitung satu kali

5 Langkah kelima yaitu mengelompokkan menjadi Fuzzy Logical Relationship Group (FLRG) FLRG dibangun berdasarkan sisi kiri (current state) yang sama

6 Langkah terakhir yaitu langkah keenam adalah melakukan defuzzifikasi nilai keluaran peramalan Defuzzifikasi adalah mengubah nilai keluaran fuzzy menjadi bilangan crisp kembali sehingga diperoleh hasil akhir peramalan Defuzzifikasi didasarkan pada tiga (3) rule aturan yaitu (Chen 1996)

I Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai hanya memiliki satu FLR pada FLRG yaitu dengan kondisi Ai rarr Aj dimana nilai maksimum fungsi keanggotaanya berada pada 119906119895 maka nilai peramalan untuk n+1 adalah

nilai tengah dari 119906119895 atau didefinisikan dengan 119898119895

II Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai memiliki lebih dari satu FLR pada FLRG yaitu dengan kondisi Ai rarr Aj1 Aj2 Ajp Dimana nilai tengah untuk masing ndash masing Aj1 Aj2 Aj3 Ajp adalah mj1 mj2 mj3 mjp

maka nilai peramalan untuk n+1 adalah (mj1 mj2 mj3 mjp) p

III Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai tidak memiliki FLR pada FLRG dimana nilai maksimum fungsi keanggotaannya berada pada 119906119895

17

maka nilai peramalan untuk n+1 adalah nilai tengah dari 119906119895 atau

didefinisikan dengan 119898119895

227 Metode High Order Fuzzy Time Series Multi Factors

Metode High Order Fuzzy Time Series Multi Factors adalah metode Fuzzy Time Series (FTS) yang melibatkan beberapa faktor yang mempengaruhi peramalan dengan berdasarkan beberapa periode waktu sebelum periode yang akan diramalkan dalam proses pembentukkan Fuzzy Logical Relationship (FLR) Hasil peramalan dengan banyak faktor yang mempengaruhi dinilai lebih baik dari pada dengan hanya satu faktor yang mempengaruhi (LinYang 2009) Pada metode ini pembentukkan subinterval yang berfungsi dalam pendefinisian fuzzy set dilakukan dengan menggunakan teknik klasterisasi fuzzy C-means Berikut adalah langkah ndash langkah Metode High Order Fuzzy Time Series Multi Factors (LinYang 2009)

1 Langkah pertama adalah melakukan perhitungan Universe of Discourse (U) Sebelum menghitung nilai U terlebih dulu menghitung nilai mean (rata ndash rata) sampel lalu menghitung nilai standar deviasi (120590) Mean merupakan perhitungan jumlah dari semua nilai dalam kumpulan data kemudian dibagi dengan jumlah total data untuk menghitung nilai mean ditunjukkan pada Persamaan 211 (Weisstein 2015) Standar deviasi merupakan akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel untuk menghitung nilai standar deviasi (120590) ditunjukkan pada Persamaan 212 (Weisstein 2015) Perhitungan U ditunjukkan pada Persamaan 213 (LinYang 2009)

119909 =sum 119909119894

119899119894=1

119899 (211)

Dimana

= mean (rata ndash rata)

119909119894 = nilai data ke-i

119899 = banyak data

120590 = radicsum (119909119894minus ) 2119899

119894=1

119899minus1 (212)

Dimana

120590 = Standar deviasi data

119880 = [119863119898119894119899 minus 120590 119863119898119886119909 + 120590] (213)

Dimana

119880 = Universal 0f Discourse

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

18

2 Langkah kedua yaitu menentukan jumlah cluster data Proses klasterisasi bertujuan untuk membagi U kedalam beberapa subinterval Hasil perhitungan banyaknya cluster apabila bernilai pecahan maka harus dibulatkan menjadi bilangan bulat Perhitungan banyaknya cluster ditunjukkan pada Persamaan 214 (LinYang 2009)

119896 = ||119863119898119894119899 minus 119863119898119886119909|sum |119883(119905)minus119883(119905minus1)|119899

119905=1

119899minus1| (214)

Dimana

119896 = banyaknya jumlah cluster

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

119899 = banyaknya data sampel

119883(119905) = data pada waktu ke-t

3 Langkah ketiga yaitu melakukan pembentukan pusat cluster Pada metode ini proses klasterisasi data menggunakan fuzzy C-means (FCM) untuk mendapatkan pusat cluster sebanyak k Tahapannya U dibagi kedalam k subinterval (119863119898119894119899 1198891) (1198891 1198892) (1198892 1198893) hellip (119889119896minus1 119863119898119886119909) dimana di (i = 123k-1) merupakan titik tengah antara dua pusat cluster k subinterval didefinisikan sebagai 1199061 1199062 1199063 hellip 119906119896 Sehingga dalam hal ini subinterval

dengan panjang berbeda dapat menggambarkan struktur data kompleks dengan baik dan dapat meningkatkan peramalan dibandingkan menggunakan subinterval dengan panjang yang sama (LinYang 2009)

4 Langkah keempat yaitu melakukan pembentukan himpunan fuzzy atau fuzzy set Pada langkah ini fuzzy set direpresentasikan dengan kurva bahu Pembentukkan fuzy set ditunjukkan pada Persamaan 215 (LinYang 2009)

1198601 =11989111

1199061+

11989112

1199062+

11989113

1199063+ ⋯ +

1198911119896

119906119896 (215)

= + + + +

119860119896 =1198911198961

1199061+

1198911198962

1199062+

1198911198963

1199063+ ⋯ +

119891119896119896

119906119896

5 Langkah kelima yaitu proses fuzzifikasi Proses fuzzifikasi bertujuan untuk mengubah data sampel yang masih berupa bilangan crisp sehingga menjadi bilangan fuzzy Masing ndash masing data dihitung derajat keanggotaannya terhadap fuzzy set yang sudah terbentuk selajutnya derajat kanggotaan dihitung berdasarkan kurva bahu dan derajat keanggotaan tertinggi menunjukkan hasil fuzzifikasi data tersebut Contohnya A(t) B(t) C(t) dan D(t) dimana t= 123n merupakan time series dari faktor yang mempengaruhi serta n merupakan banyaknya data Berdasarkan pembagian subinterval masing ndash masing time series ini difuzzifikasikan Misalkan hasil dari Persamaan 215 yaitu menghitung banyak cluster dari k1 k2 k3 k4 Jadi time series difuzzifikasikan menjadi empat fuzzy time series yaitu

19

A(ti) dimana i = 1234k1

B(tj) dimana j = 1234k2

C(tp) dimana p = 1234k3

D(tq) dimana q = 1234k4 t = 123n

6 Langkah keenam yaitu melakukan pembentukkan Fuzzy Logical relationship (FLR) Data sampel sebanyak n periode dipilih sebagai data training untuk membentuk fuzzy time series model Misalkan t merupakan periode waktu yang akan diramal dengan menggunakan order ndash 3 maka tiga periode sebelum periode t adalah t-3 t-2 dan t-1 dimana t = 456n Maka FLR yang dihasilkan ditunjukkan pada Persamaan 216 dan berdasarkan persamaan tersebut maka akan membentuk sebuah kumpulan FLR dari data training (LinYang 2009)

(119860(119905minus31198943) 119861(119905minus31198953) 119862(119905minus31199013) 119863(119905minus31199023)) (216)

(119860(119905minus21198942) 119861(119905minus21198952) 119862(119905minus21199012) 119863(119905minus21199022))

(119860(119905minus11198941) 119861(119905minus11198951) 119862(119905minus11199011) 119863(119905minus11199021)) rarr 119860(1199051198944)

Tabel 22 Fuzzy Logic Relationship

(119860(119905minus31198943) 119861(119905minus31198953) 119862(119905minus31199013) 119863(119905minus31199023))

(119860(119905minus21198942) 119861(119905minus21198952) 119862(119905minus21199012) 119863(119905minus21199022))

(119860(119905minus11198941) 119861(119905minus11198951) 119862(119905minus11199011) 119863(119905minus11199021)) rarr 119860(1199051198944)

(119860(119905minus21198943) 119861(119905minus21198953) 119862(119905minus21199013) 119863(119905minus21199023))

(119860(119905minus11198942) 119861(119905minus11198952) 119862(119905minus11199012) 119863(119905minus21199022))

(119860(1199051198941) 119861(1199051198951) 119862(1199051199011) 119863(1199051199021)) rarr 119860(119905+11198944)

(119860(119905+119899minus71198943) 119861(119905+119899minus71198953) 119862(119905+119899minus71199013) 119863(119905+119899minus71199023))

(119860(119905+119899minus61198942) 119861(119905+119899minus61198952) 119862(119905+119899minus61199012) 119863(119905+119899minus61199022))

(119860(119905+119899minus51198941) 119861(119905+119899minus51198951) 119862(119905+119899minus51199011) 119863(119905+119899minus51199021)) rarr 119860(119905+119899minus41198944)

Sumber (LinYang 2009)

7 Langkah terakhir adalah proses Defuzzifikasi Berdasarkan langkah sebelumnya maka dapat diambil hasil fuzzy ke- H yaitu yang digunakan sebagai data testing atau data uji seperti yang ditunjukkan pada Persamaan 217 (LinYang 2009)

(119860(119867minus31198943) 119861(119867minus31198953) 119862(119867minus31199013) 119863(119867minus31199023)) (217)

(119860(119867minus21198942) 119861(119867minus21198952) 119862(119867minus21199012) 119863(119867minus21199022))

(119860(119867minus11198941) 119861(119867minus11198951) 119862(119867minus11199011) 119863(119867minus11199021)) rarr 119860(1198671198944)

20

Faktor ndash faktor di ruas kiri pada Persaman 217 dibandingkan satu per satu dengan FLR data training yang sudah dicatat sebelumnya pada Tabel 22 membandingkannya yaitu dengan cara menghitung nilai absolut dari selisih antara pangkat bawah kedua faktor pada posisi yang sama di FLR Terdapat 12 fuzzy set di ruas kiri pada masing ndash masing FLR sehingga dari hasil perbandingan diperoleh 12 nilai absolut yang kemudian dijumlahkan untuk mendapat total selisihnya Jadi jika total selisih lebih kecil dari threshold yang ditentukan maka FLR tersebut dinyatakan cocok (LinYang 2009)

Selanjutnya jika FLR menemukan N pasangan yang cocok pada Tabel 22 maka N faktor di ruas kanan dari N FLR ini mendasari peramalan fuzzy set A() yang mana jumlah dari setiap fuzzy set pada umumnya berbeda Untuk peramalan dengan fuzzy set ditunjukkan pada Tabel 23 (LinYang 2009)

Tabel 23 Peramalan fuzzy set

Ruas Kanan A(1) A(2) A(3) A(k1)

Pusat cluster c1 c2 c3 ck1

Frekuensi f1 f2 f3 fk1

Sumber (Lin Yang 2009)

Berdasarkan Tabel 23 dengan menggunakan metode centroid untuk melakukan proses defuzzifikasi Proses defuzzifikasi dapat ditunjukkan pada Persamaan 218 (LinYang 2009)

119903119867 =sum 119888119894times 119891119894

1198961119894=1

sum 119891119894119896119894119894=1

(218)

Dimana

119903119867 = hasil (result) peramalan data ke-H

119888119894 = pusat cluster i dimana A(i) adalah ruas kanan dari FLR hasil proses pencocokan

119891119894 = frekuensi banyaknya muncul A(i) pada saat proses pencocokan

228 Perhitungan keakuratan metode peramalan

Dalam perencanaan peramalan tentu menginginkan hasil ramalan yang tepat atau paling tidak hampir mendekati sehingga rencana yang dibuat menjadi rencana yang realistis Keakuratan atau ketepatan merupakan yang menjadi kriteria performance suatu metode peramalan Keakuratan tersebut dapat dinyatakan sebagai kesalahan peramalan (forecast error) Semaikin kecil nilai kesalahan peramalan maka semaikin tinggi keakuratan metode peramalan yang digunakan dan sebaliknya semakin tinggi nilai kesalahan maka semakin rendah keakuratan metode peramalan yang digunakan

Mean Square Error (MSE) adalah salah satu metode yang digunakan untuk menghitung nilai akurasi atau keakuratan dari metode yang digunakan sebagai peramalan atau prediksi MSE merupakan perhitungan pangkat dua dari selisih

21

antara nilai data hasil peramalan dengan nilai data aktual dan kemudian dibagi dengan banyaknya data yang telah diramalkan Pada penentuan nilai evaluasi memilih menggunakan metode MSE karena metode ini dapat menunjukan hasil skala kemiripan antara hasil data peramalan dengan data aktual Berikut merupakan metode Mean Square Error (MSE) yang ditunjukan pada Persamaan 219 (Wang Chen 2009)

119872119878119864 = sum (119865119905minus119860119905)2119899

119894=1

119899 (219)

Dimana 119872119878119864 = nilai Mean Square Error Rate 119860119905 = nilai aktual pada data ke-t 119865119905 = nilai hasil peramalan untuk data ke-t n = banyaknya data

22

BAB 3 METODOLOGI

Pada bab ini akan dibahas mengenai metode yang digunakan beserta tahap ndash tahap pengerjaan penelitian skripsi dengan judul ldquoPeramalan Curah Hujan dengan Metode High Order Fuzzy Time Series Multi Factorsrdquo Penilitian ini digolongkan sebagai penelitian implementatif dengan pendekatan perancangan (design)

Metode penelitian ini meliputi studi literatur pengumpulan data perancangan implementasi pengujian dan analisis pengambilan kesimpulan Berikut adalah alur dari metode penelitian dapat ditunjukkan pada Gambar 31

31 Studi Literatur

Pada tahap studi literatur penelitian ini bertujuan untuk mempelajari literatur dan konsep dari beberapa informasi dan pustaka yang berkaitan dengan penelitian ini Literatur dan sumber ilmu dari penelitian ini diperoleh dari internet buku dan bimbingan oleh dosen pembimbing Adapun literatur yang dipelajari yaitu tentang curah hujan serta faktor ndash faktor yang mempengaruhinya dan metode High Order Fuzzy Time Series Multi Factors

Studi Literatur

Pengumpulan Data

Perancangan

Implementasi

Pengujian dan Analisis

Kesimpulan dan Saran

Gambar 31 Diagram blok metodologi penelitian

23

32 Pengumpulan Data

Pada tahap pengumpulan penelitian ini sumber data yang diperoleh yaitu dari Badan Meteorologi Klimatologi dan Geofisikia (BMKG) Stasiun Klimatologi Kelas III Karangkates Kabupaten Malang Data yang diperoleh untuk peramalan curah hujan yaitu data aktual time series (2011 - 2016) Data yang digunakan dalam bentuk dasarian yaitu dalam rentang waktu sepuluh hari sehingga dalam satu bulan dibagi menjadi tiga dasarian

Dasarian pertama yaitu pada tanggal 1 sampai dengan 10

Dasarian kedua yaitu pada tanggal 11 sampai dengan 20

Dasarian ketiga yaitu pada tanggal 21 sampai dengan akhir bulan

Pada penelitian ini data curah hujan dalam satuan milimeter (mm) kelembaban dalam persen () suhu udara dalam satuan celsius (˚C) kecepatan angin dalam satuan kilometer per jam (kmjam)

33 Perancangan

Pada tahap perancangan penelitian ini bertujuan untuk mengetahui rancangan ndash rancangan yang merupakan langkah yang dilakukan saat melakukan tahap implementasi Pada tahap ini terdapat beberapa perancangan yaitu perancangan proses yang berisi tahapan ndash tahapan proses metode High Order Fuzzy Time Series Multi Factors perhitungan manual yang merupakan manualisasi dari metode yang digunakan pada penelitian ini perancangan antar muka atau user interface yang berisi gambaran kasar dari tampilan antar muka prototype aplikasi yang nantinya diterapkan pada tahap implementasi selanjutnya adalah perancangan pengujian yang berisi rancangan ndash rancangan pengujian metode yang digunakan untuk mengetahui berapa tingkat kesalahan atau error yang dimiliki metode pada penelitian ini dalam melakukan peramalan curah hujan

34 Implementasi

Pada tahap implementasi peneltian ini dilakukan sesuai dengan perancangan yang telah dibuat pada tahapan perancangan sebelumnya Implementasi dari metode High Order Fuzzy Time Series Multi Factors dilakukan menggunakan bahasa pemrograman java serta Integrated Development Environment (IDE) yang digunakan adalah Netbeans Sehingga nantinya hasil dari tahap ini berupa prototype aplikasi dari implementasi metode High Order Fuzzy Time Series Multi Factors untuk peramalan curah hujan

35 Pengujian dan Analisis

Pada tahapan penelitian pengujian ini diperlukan perangkat lunak dan perangkat keras agar pengujian dari hasil implementasi dapat berjalan dengan baik maka pengujian perangkat lunak dijalankan pada laptop ataupun PC (Personal Computer) dengan spesifikasi sebagai berikut

24

1 Prosesor Intel Core i3

2 Memory RAM 8 Gigabytes

3 Sistem Operasi menggunakan Windows 7 64bit

4 Hardisk dengan kapasitas 500 GB

5 Netbeans 81 JDK 7

Pengujian hasil peramalan menggunakan metode High Order Fuzzy Time Series Multi Factors yaitu menggunakan metode Mean Square Error (MSE) Dimana rumus pengujian sesuai dengan Persamaan 219 Dalam pengujian menggunakan metode ini semakin kecil nilai MSE maka semakin tinggi tingkat akurasi hasil peramalan tersebut Pada penelitian ini untuk keperluan pengujian dari proses implementasi dilakukan empat pengujian yaitu pengujian terhadap perbedaan nilai order pengujian terhadap perbedaan nilai threshold pengujian terhadap data training untuk mengetahui pengaruhnya terhadap nilai MSE dan pengujian validasi sistem untuk mengetahui bahwa hasil implementasi metode High Order Fuzzy Time Series Multi Factors dapat melakukan peramalan

36 Kesimpulan dan Saran

Pada pengambilan kesimpulan akan dilakukan apabila semua tahapan ndash tahapan penelitian sudah dilakukan yaitu yang meliputi perancangan implementasi dan pengujian dan analisis telah selesai dilakukan Kesimpulan merupakan tahapan dimana semua rumusan masalah yang sudah ditetapkan sebelumnya dapat terjawab semua Selanjutnya pada saran merupakan berkenaan dengan hasil yang telah dicapai untuk memperbaiki kekurangan - kekurangan yang terjadi pada penelitian ini serta memberikan pertimbangan pada pengembangan penelitian lebih lanjut

25

BAB 4 PERANCANGAN

Pada bab ini berisi tentang perancangan yang nantinya digunakan sebagai dasar dalam tahap implementasi Hal yang dibahas meliputi perancangan proses perhitungan manual perancangan pengujian dan perancangan antar muka

41 Perancangan Proses

Pada perancangan proses ini berisi mengenai tahapan ndash tahapan dari metode yang digunakan yaitu metode High Order Fuzzy Time Series Multi Factors Pada penelitian ini melibatkan faktor ndash faktor yang mempengaruhi curah hujan yaitu suhu udara kelembaban udara dan kecepatan angin Data time series dari curah hujan merupakan faktor utama dalam proses peramalan pada penelitian ini Inputan pada peneltian ini yaitu data time series curah hujan serta faktor ndash faktor yang mempengaruhinya Order yang digunakan pada metode ini merupakan order lebih dari satu oleh karena itu disebut dengan High Order Order merupakan urutan jumlah dari data time series pada periode waktu t yang mempengaruhi nilai data Berikut merupakan diagram alir dari proses peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors yang ditunjukkan pada Gambar 41 dan Gambar 42

Gambar 41 Diagram alir metode penelitian yang digunakan (bagian 1)

Mulai

Data curah hujan suhu kelembaban kecepatan angin jmlh_Banyakdata jmlh_Faktor

Universe_of_Discourse

A

Jumlah_Cluster

26

411 Proses perhitungan Universe of Discourse

Pada perhitungan Universe of Discourse harus sudah dilakukan inputan data agar dapat memulai tahapan perhitungan Tahapan dari proses perhitungannya yaitu pada langkah pertama dilakukan perhitungan nilai mean (rata ndash rata) sesuai dengan Persamaan 211 Setelah mendapatkan nilai mean dapat dilakukan perhitungan untuk mencari nilai standar deviasi sesuai dengan Persamaan 212 Selanjutnya dicari nilai terkecil (119863119898119894119899) dan nilai terbesar (119863119898119886119909) Setelah menyelesaikan tahap ndash tahap tersebut dapat dilakukan perhitungan untuk

Gambar 42 Diagram alir metode penelitian yang digunakan (bagian 2)

A

Perhitungan Pusat Cluster

Fuzzifikasi

Pembentukan Fuzzy Logical Relationship

Defuzzifikasi

Nilai hasil peramalan

Berhenti

Pembentukan Subinterval dan Fuzzy set

27

mencari Universe of Discourse sesuai dengan Persamaan 213 Berikut merupakan diagram alir dari proses perhitungan Universe of Discourse yang ditunjukkan pada Gambar 43

Perhitungan Universe of Discourse

Mulai

Min_dan_Max

mean

standar_deviasi

for i = 0 to jmlh_Faktor-1

i

hsl_uMin ke i = hsl_min ke i ndash hsl_stdev ke i

hsl_uMax ke i = hsl_max ke i + hsl_stdev ke i

hsl_uMin hsl_uMax

Berhenti

Gambar 43 Diagram alir proses perhitungan Universe of Discourse

28

4111 Proses perhitungan Mean

Pada proses perhitungan mean merupakan nilai rata ndash rata dari setiap faktor dimana nilai mean ini nantinya dibutuhkan untuk melakukan proses perhitungan standar deviasi Berikut merupakan diagram alir dari proses perhitungan mean yang ditunjukkan pada Gambar 44

mean

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to jmlh_DataTraining

tmp_jmlh = 0

tmp_jmlh = tmp_jmlh + data ke ij

j

hsl_mean ke i = tmp_jmlhjmlh_DataTraining

i

hsl_mean

Berhenti

Gambar 44 Diagram alir proses perhitungan mean

29

4112 Proses perhitungan standar deviasi

Pada proses perhitungan standar deviasi dapat dilakukan setelah mendapatkan nilai mean dari setiap data sesuai proses sebelumnya Berikut merupakan diagram alir dari proses perhitungan standar deviasi yang ditunjukkan pada Gambar 45

standar_deviasi

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to jmlh_DataTraining

result = 0

result = result + (data ke ij ndash mean ke i)2

j

hsl_stdev ke i = radicresult

jmlh_DataTrainingminus1

i

hsl_stdev

Berhenti

Gambar 45 Diagram alir proses perhitungan standar deviasi

30

4113 Proses perhitungan nilai Dmin dan Dmax

Pada proses perhitungan ini merupakan proses perhitungan untuk mencari nilai terkecil dan terbesar dari setiap faktor data Setelah mendapat nilai terkecil dan terbesar maka data dilakukan proses perhitungan Universe of Discourse Berikut merupakan diagran alir dari proses perhitungan nilai Dmin dan Dmax yang ditunjukkan pada Gambar 46

Gambar 46 Diagram alir perhitungan nilai Min dan Max

ya

ya

tidak

tidak

Min_dan_Max

Mulai

for i = 0 to jmlh_Faktor-1

besar = data ke i0

kecil = data ke i0

for j=0 to jmlh_DataTraining

data ke ij gt besar

besar = data ke ij

data ke ij lt kecil

kecil = data ke ij

j

hsl_max ke i = besar

hsl_min ke i = kecil

i

hsl_max hsl_min

Berhenti 1

1

2

2

3

4

4

5

5

3

31

412 Proses perhitungan jumlah cluster

Pada proses perhitungan jumlah cluster memiliki masukkan proses Dmin dan Dmax

dari proses perhitungan sebelumnya Pada proses ini terdapat perhitungan nilai dari selisih setiap data Pada perhitungan jumlah cluster sesuai dengan Persamaan 214 Berikut merupakan langkah ndash langkah perhitungan jumlah cluster yang ditunjukkan pada Gambar 47

jumlah_Cluster

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to (jmlh_DataTraining-1)

Berhenti

hsl_max hsl_min

selisih = 0

selisih = selisih + |data ke ij ndash data ke i (j+1)|

j

jmlh_Cluster ke i = |ℎ119904119897_119898119894119899 119896119890 119894minusℎ119904119897_119898119886119909 119896119890 119894|

119904119890119897119894119904119894ℎ

119895119898119897ℎ_119863119886119905119886119879119903119886119894119899119894119899119892minus1

i

jmlh_Cluster

Gambar 47 Diagram alir proses perhitungan jumlah cluster

32

413 Proses perhitungan pusat cluster

Pada proses perhitungan pusat cluster ini diperlukan beberapa variabel yang harus dideklarasikan terlebih dahulu yaitu nilai bobot fungsi objektif nilai iterasi awal nilai iterasi maksimum dan error terkecil Perhitungan subinterval ini menggunakan metode fuzzy C-means yang diawali dengan pencarian pusat cluster terlebih dahulu Berikut merupakan langkah ndash langkah perhitungan subinterval yang ditunjukkan pada Gambar 48 Gambar 49 Gambar 410 Gambar 411 Gambar 412

Gambar 48 Diagram alir proses perhitungan pusat cluster (bagian 1)

Perhitungan pusat cluster

Mulai

jmlh_Cluster

for i = 0 to jmlh_Faktor-1

Deklarasi bobot selisih_f_objektif

iter_maksimum error_min

Pembentukan Matriks partisi faktor A jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor A

for iter = iter to iter_maksimum

A

i == 0

Perhitungan pusat_cluster1 faktor A

B C D

tidak

ya

33

Gambar 49 Diagram alir proses perhitungan pusat cluster (bagian 2)

ya

tidak

tidak

ya

Perhitungan f_objektif faktor A

A B C D

Perhitungan selisih_f_objektif faktor A

Perbaikan matriks partisi faktor A

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster1 faktor A

Iter = iter_maksimum

iter

i == 1

Pembentukan Matriks partisi faktor B jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor B

for iter = iter to iter_maksimum

F A G E

34

tidak

tidak

ya

A E F G

Perhitungan pusat_cluster2 faktor B

Perhitungan f_objektif faktor B

Perhitungan selisih_f_objektif faktor B

Perbaikan matriks partisi faktor B

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster2 faktor B

Iter = iter_maksimum

iter

i == 2

Pembentukan Matriks partisi faktor C jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor C

I A H

Gambar 410 Diagram alir proses perhitungan pusat cluster (bagian 3)

ya

35

tidak

tidak

Gambar 411 Diagram alir proses perhitungan pusat cluster (bagian 4)

ya

A H I

for iter = iter to iter_maksimum

Perhitungan pusat_cluster3 faktor C

Perhitungan f_objektif faktor C

Perhitungan selisih_f_objektif faktor C

Perbaikan matriks partisi faktor C

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster3 faktor C

Iter = iter_maksimum

iter

i == 3

Pembentukan Matriks partisi faktor D jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor D

J A K

ya

36

tidak

ya

Gambar 412 Diagram alir proses perhitungan pusat cluster (bagian 5)

A K J

for iter = iter to iter_maksimum

Perhitungan pusat_cluster4 faktor D

Perhitungan f_objektif faktor D

Perhitungan selisih_f_objektif faktor D

Perbaikan matriks partisi faktor D

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster4 faktor D

Iter = iter_maksimum

iter

i

pusat_cluster1pusat_cluster2 pusat_cluster3pusat_cluster4

Berhenti

37

tidak

ya

tidak

ya

Gambar 413 Diagram alir pembentukan subinterval dan fuzzy set (bagian 1)

414 Proses pembentukan subinterval dan Fuzzy set

Pada proses pembentukan fuzzy set atau himpunan fuzzy pada penelitian ini dapat dilakukan setelah perhitungan subinterval selesai dilakukan Nilai subniterval merupakan masukan utama pada pembentukkan fuzzy set Pembentukan fuzzy sesuai dengan Persamaan 215 Berikut merupakan langkah ndash langkah proses pembentukan fuzzy set yang ditunjukkan pada Gambar 413 dan Gambar 414

Pembentukan subinteval dan Fuzzy set

Mulai

pusat_cluster1pusat_cluster2 pusat_cluster3pusat_cluster4

for i = 0 to jmlh_Faktor-1

Menentukan batas_subintervalMinA dan

batas_subintervalMaxA

Menentukan batas_fuzzysetMinA dan batas_fuzzysetMaxA

i == 0

i == 1

Menentukan batas_subintervalMinB dan

batas_subintervalMaxB

Menentukan batas_fuzzysetMinB dan batas_fuzzysetMaxB

A C B

38

tidak

tidak

ya

ya

415 Proses Fuzzifikasi

Pada proses fuzzifikasi ini pembentukanya sesuai derajat keanggotaan pada setiap data Pada proses ini derajat keanggotaan dihitung berdassarkan fungsi keanggotaan kurva bahu Hasil dari proses ini merupakan data yang sudah difuzzifikasikan menjadi data fuzzy Berikut langkah ndash langkah dari proses fuzzifikasi ditunjukkan pada Gambar 415 dan Gambar 416

i == 2

A B C

Menentukan batas_subintervalMinC dan batas_subintervalMaxC

Menentukan batas_fuzzysetMinC dan batas_fuzzysetMaxC

i == 3

Menentukan batas_subintervalMinD dan batas_subintervalMaxD

Menentukan batas_fuzzysetMinD dan batas_fuzzysetMaxD

i

batas_fuzzysetMinA batas_fuzzysetMaxA batas_fuzzysetMinB batas_fuzzysetMaxB batas_fuzzysetMinC batas_fuzzysetMaxC batas_fuzzysetMinD batas_fuzzysetMaxD

Berhenti

Gambar 414 Diagram alir pembentukan subinterval dan fuzzy set (bagian 2)

39

tidak

ya

ya

tidak

Fuzzifikasi

Mulai

for i = 0 to jmlh_Faktor-1

Menentukan hasil_fuzzifikasiA dari faktor A

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinA batas_fuzzysetMaxA

Gambar 415 Diagram alir proses fuzzifikasi (bagian 1)

batas_fuzzysetMinA batas_fuzzysetMaxA batas_fuzzysetMinB batas_fuzzysetMaxB batas_fuzzysetMinC batas_fuzzysetMaxC batas_fuzzysetMinD batas_fuzzysetMaxD

DD

i == 0

i == 1

Menentukan hasil_fuzzifikasiB

dari faktor B

Menghitung derajat keanggotaan

berdasarkan batas_fuzzysetMinB

batas_fuzzysetMaxB

C A B

40

tidak

ya

ya

tidak

ya

i == 2

A B C

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinC batas_fuzzysetMaxC

Menentukan hasil_fuzzifikasiC dari faktor C

i == 3

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinD

batas_fuzzysetMaxD

Menentukan hasil_fuzzifikasiD dari faktor D

i

hasil_fuzzifikasiA hasil_fuzzifikasiB hasil_fuzzifikasiC hasil_fuzzifikasiD

Berhenti

Gambar 416 Diagram alir proses fuzzifikasi (bagian 2)

41

tidak

ya

416 Proses pembentukan Fuzzy Logical Relationship

Setelah data melalui proses fuzzifikasi dan sudah menjadi data fuzzy maka dapat dilakukan pembentukan Fuzzy Logical Relationship (FLR) Pembentukan FLR dilakukan sesuai dengan Persamaan 216Berikut adalah langkah ndash langkah proses pembentukan Fuzzy Logical Relationship (FLR) yang ditunjukkan pada Gambar 417 Gambar 418 dan Gambar 419

Gambar 417 Diagram alir proses Pembentukan FLR

(bagian 1)

Pembentukan Fuzzy Logical Relationship

Mulai

hasil_fuzzifikasiAhasil_fuzzifikasiB hasil_fuzzifikasiChasil_fuzzifikasiD order

for i = 0 to jmlh_dataTraining

max_inc = order jmlh_dataTraining = dataTraining - order

for j = i to max_inc

for k = 0 to jmlh_Faktor-1

j == 0

FLR_kiri_training ke ijk = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D)

ke j

E A B C D

42

ya

tidak

ya

tidak

A B C E D

FLR_kiri_training ke i(j-i)k = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D) ke j

j = 0

k

j

FLR_kanan_training ke i = hasil_fuzzifikasiA ke (i+order)

Max_inc lt (jmlh_DataTraining-1)

i

tmp_JmlhDatatraining = tmp_JmlhDatatraining +1

max_inc = max_inc + 1 tmp_JmlhDatatraining = i

Gambar 418 Diagram alir proses Pembentukan FLR (bagian 2)

for j = 0 to tmp_JmlhDatatraining

for j = tmp_JmlhDatatraining to max_inc

for k = 0 to jmlh_Faktor-1

I H G F

43

tidak

ya

417 Proses Defuzzifikasi

Proses defuzzifikasi merupakan proses akhir dimana keluaran dari proses ini merupakan nilai hasil peramalan Data yang diperlukan pada proses defuzzifikasi adalah hasil dari proses pembentukan Fuzzy Logical Relationship (FLR) nilai threshold yang harus dideklarasikan sebelumnya jumlah data training dan jumlah data testing Dalam proses ini dilakukan perhitungan selisih pada FLR antara data testing dan data training FLR yang dihitung nilai selisihnya adalah FLR pangkat bawah yang terdapat pada ruas kiri Setelah dilakukan perhitungan selisih dan total jumlah selisih lebih kecil dari nilai threshold maka pada setiap FLR yang

I H G F

FLR_kiri_testing ke i(j-tmp_jmlhDatatraining) k = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D) ke j

k

j

FLR_kanan_testing ke i = hasil_fuzzifikasiA ke (i+order)

i

Max_inc lt (jmlh_DataTraining-1)

max_inc = max_inc + 1 tmp_JmlhDatatraining++

FLR_kiri_training FLR_kanan_training FLR_kiri_testing FLR_kanan_testing

Mulai

Gambar 419 Diagram alir proses Pembentukan FLR (bagian 3)

44

ya

tidak

sesuai dengan kondisi tersebut dapat dikatakan cocok atau dapat dilakukan ke tahap perhitungan selanjutnya Setelah mendapatkan FLR yang cocok maka dilakukan pengelompokkan berdasarkan FLR ruas kanan Pengelompokkan ini dihitung jumlah frekuensi yang sama sesuai dengan fuzzy set di ruas kanan Selanjutnya untuk memperoleh hasil peramalan dilakukan proses perhitungan sesuai dengan Persamaan 218 Berikut adalah langkah ndash langkah proses defuzzifikasi yang ditunjukkan pada Gambar 420 dan Gambar 421

Gambar 420 Diagram alir proses defuzzifikasi (bagian 1)

Defuzzifikasi

Mulai

FLR_kiri FLR_kanan order dataTraining dataTesting konstanta

threshold = (jmlh_Faktor x order)+konstanta

for i = 0 to dataTesting

for j = 0 to (dataTraining-i)

Perhitungan hitung_selisih antara FLR_kiri data training dan data testing

hitung_selisih lt threshold

match ke ij = hitung_selisih

j

i

A

45

Gambar 421 Diagram alir proses defuzzifikasi (bagian 2)

A

Menghitung jumlah total FLR_kiri yang cocok untuk setiap data testing

Mencocokan FLR_kiri yang cocok dengan FLR_kanan untuk setiap data testing

for i = 0 to dataTesting

Menghitung frekuensi setiap FLR_kanan yang cocok untuk setap data testing

for j = 0 to jumlah total FLR kiri yang cocok

peramalan = peramalan + Frekuensi setiap FLR_kanan yang cocok x pusat_cluster1

sesuai dengan value FLR_kanannya

j

hasil_peramlan ke i = peramalan jumlah total FLR kiri yang cocok

i

Hasil_permalan

Berhenti

46

42 Perhitungan Manual

Dalam perhitungan manual ini data sampel yang digunakan merupakan data time series dasarian ke-2 pada periode April 2014 sampai dengan dasarian ke-2 Juli 2014 data sampel ditunjukkan pada Tabel 41

Tabel 41 Data Sampel Perhitungan Manual

No Dasarian Curah Hujan

(A)

Suhu (B) Kelembaban (C)

Kecepatan Angin(D)

1 Dasarian 2 (April 2014) 95 2615 8248 629

2 Dasarian 3 (April 2014) 90 2612 8247 628

3 Dasarian 1 (Mei 2014) 94 2607 8247 627

4 Dasarian 2 (Mei 2014) 83 2625 8232 623

5 Dasarian 3 (Mei 2014) 85 2628 8235 623

6 Dasarian 1 (Juni 2014) 92 2609 8241 626

7 Dasarian 2 (Juni 2014) 86 2627 8235 624

8 Dasarian 3 (Juni 2014) 89 2621 8238 624

9 Dasarian 1 (Juli 2014) 93 2607 8242 626

10 Dasarian 2 (Juli 2014) 86 2626 8237 623

Sumber BMKG Kelas III Karangkates Malang

421 Perhitungan Universe of Discourse (U)

Sebelum melakukan perhitungan U maka harus dicari terlebih dahulu nilai 119863119898119894119899 119863119898119886119909 dan standar deviasi 119863119898119894119899 adalah nilai minimum atau nilai terkecil dari data sampel yang ada sedangkan 119863119898119886119909 adalah nilai maksimum atau nilai paling besar dari data sampel yang ada Untuk mencari nilai standar deviasi harus menghitung nilai mean (rata ndash rata) terlebih dahulu sesuai dengan Persamaan 211 Mean dari data curah hujan (A) dihitung dengan cara sebagai berikut

Mean = (data ke-1 + data ke-2 + data ke-3 + + data ke-10) 10

= (95 + 90 + 94 + 83 + 85 + 92 + 86 + 89 + 93 + 86) 10

= 893 10

= 893

Selanjutnya setelah diperoleh nilai mean dilanjutkan melakukan perhitungan standar deviasi sesuai dengan Persamaan 212 Standar deviasi adalah akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel Untuk menghitung standar deviasi agar lebih mudah kita terlebih dahulu melakukan perhitungan nilai kuadrat dari selisih data ke-i dan mean yang ditunjukkan pada Tabel 42

47

Tabel 42 Hasil kuadrat dari selisih data ke-i dan mean

i Data ke-i Data ke-i mean (Data ke-i - mean)sup2

1 95 57 32490

2 90 07 0490

3 94 47 22090

4 83 -63 39690

5 85 -43 18490

6 92 27 7290

7 86 -33 10890

8 89 -03 0090

9 93 37 13690

10 86 -33 10890

Jumlah 1561

Setelah mendapatkan hasil nilai kuadrat dari selisih data ke-i dan mean sesuai dengan Tabel 42 maka dapat dilanjutkan melakukan perhitungan standar deviasi dengan cara sebagai berikut

Standar_deviasi = radic1

10minus1sum (119889119886119905119886 119896119890 minus 119894 minus 119898119890119886119899)10

119894=1

2

= radic1

9 times 1561

= 4165

Untuk perhitungan standar deviasi juga dilakukan pada faktor lainnya yaitu suhu (B) kelembaban (C) dan kecepatan angin (D) Hasil perhitungan 119863119898119894119899 119863119898119886119909 dan standar deviasi ditunjukkan pada Tabel 43

Tabel 43 Nilai minimum nilai maksimum dan standar deviasi

Data D min D max Standar Deviasi

A 83 95 4165

B 2607 2628 0086

C 8232 8248 0057

D 623 629 0022

Berdasarkan hasil yang ditunjukkan Tabel 43 selanjutnya dapat dilakukan perhitungan nilai U sesuai dengan Persamaan 213 Berikut adalah perhitungan U pada data A

U = [119863119898119894119899 minus 120590 119863119898119886119909 + 120590]

= [(83 ndash 4165) (95 ndash 4165)]

= [78835 99165]

48

Untuk perhitungan U juga dilakukan pada semua faktor yaitu data B C dan D Sehingga diperoleh nilai U yang ditunjukkan pada Tabel 44

Tabel 44 Hasil Universe of Discourse

Data U

Batas Bawah Batas Atas

A 78835 99165

B 25984 26366

C 82263 82537

D 6208 6312

422 Perhitungan jumlah cluster (k)

Pada perhitungan jumlah cluster langkah pertamanya adalah mencari nilai absolut dari selisih data hari ke-t dengan hari sebelumnya Perhitungan selisih dilakukan hingga data ke-10 Perhitungan nilai selisih dilakukan pada semua data A B C dan D Selanjutnya masing ndash masing nilai selisih dijumlah sehingga hasilnya seperti ditunjukkan pada Tabel 45

Tabel 45 Nilai absolut selisih data hari ke-t dengan hari sebelumnya

No Tanggal A B C D

1 Dasarian 3 (April 2014) 5 003 001 001

2 Dasarian 1 (Mei 2014) 4 005 0 001

3 Dasarian 2 (Mei 2014) 11 018 015 004

4 Dasarian 3 (Mei 2014) 2 003 003 0

5 Dasarian 1 (Juni 2014) 7 019 006 003

6 Dasarian 2 (Juni 2014) 6 018 006 002

7 Dasarian 3 (Juni 2014) 3 006 003 0

8 Dasarian 1 (Juli 2014) 4 014 004 002

9 Dasarian 2 (Juli 2014) 7 019 005 003

Jumlah 49 105 043 016

Setelah mendapatkan nilai absolut selisih data hari ke-t dengan hari sebelumnya dapat dilanjutkan dengan menghitung jumlah cluster sesuai dengan Persamaan 214 Perhitungan jumlah cluster pada data A (k1) berdasarkan pada Tabel 43 diketahui nilai 119863119898119894119899 adalah 171 nilai 119863119898119886119909 adalah 2048 maka jumlah cluster data A dapat ditunjukkan sebagai berikut

49

1198961 = ||119863119898119894119899 minus 119863119898119886119909|sum |119883(119905) minus 119883(119905 minus 1)|119899

119905=1

119899 minus 1|

= |83 minus 9549

10minus1| = 2204

Apabila hasil perhitungan jumlah cluster merupakan bilangan pecahan maka hasilnya harus dibulatkan Sehingga jumlah cluster pada data A adalah 2 Perhitungan jumlah cluster juga dilakukan pada data B (k2) C (k3) dan D (k4) Berikut merupakan hasil semua perhitungan jumlah cluster yang ditunjukkan pada Tabel 46

Tabel 46 Hasil jumlah cluster data

No Cluster Jumlah Cluster

1 k1 2

2 k2 2

3 k3 3

4 k4 3

423 Perhitungan pusat cluster dan subinterval

Pada pembentukan subinterval berdasarkan pada Tabel 46 yang menunjukkan jumlah subinterval yang selanjutnya digunakan untuk menentukan pusat cluster menggunakan algoritma fuzzy C-means (FCM)

4231 Penentuan pusat cluster

a Penentuan nilai variabel

Pada penentuan subinterval diawali dengan klasterisasi menggunakan algoritma FCM pada awal proses ditentukkan beberapa variabel sebagai berikut

Banyak cluster = k1 = 2

Bobot (w) = 2

Fungsi objektif awal = 0

Iterasi awal = 1

Iterasi maksimum = 100

Error terkecil = 001 b Pembentukan matriks partisi awal (micro)

Data pada pembentukan matriks partisi awal merupakan nilai random diantara nilai 0 sampai 1 Dimensi pada matriks partisi awal dibentuk dengan dimensi jumlah data (i) x jumlah cluster (k) Dalam hal ini telah diketahui jumlah data adalah 10 dan k1 adalah 2 maka partisi dimensi matriks awal adalah 10 x 2 Hasil pembentukan matriks partisi awal ditunjukkan pada Tabel 47 dimana Cluster disimbolkan dengan C

50

Tabel 47 Matriks partisi awal pada cluster data A

c Normalisasi matriks partisi awal

Langkah pertama normalisasi matriks partisi awal adalah dengan menghitung jumlah bilangan penyusun matriks pada setiap kolom yang dapat dilihat pada Tabel 47 dijumlah berdasarkan dengan Persamaan 24 Diketahui jumlah kolom matriks sebanyak 2 sehingga diperoleh Q1 untuk penjumlahan kolom c1 Q2 untuk penjumlahan kolom c2

Q1 = 0355 + 0174 + 02 + 0387 + 0598 + 0819 + 0702 + 0719 + 0349 +

0852

= 5154

Q2 = 0170 + 0815 + 0190 + 0456 + 0526 + 0170 + 0232 + 0572 + 0102 +

0322

= 3554

Langkah selanjutnya dilakukan proses normalisasi menggunakan Persamaan 25 Dimana setiap bilangan penyusun matriks awal dibagi dengan nilai Q sesuai dengan kolomnya masing ndash masing Bilangan penyusun matriks disimbolkan dengan microik dimana i menunjukkan baris dan k menunjukkan kolom posisi bilangan tersebut pada matriks

i micro

c1 c2

1 0355 0170

2 0174 0815

3 0200 0190

4 0387 0456

5 0598 0526

6 0819 0170

7 0702 0232

8 0719 0572

9 0349 0102

10 0852 0322

51

μ11 = bilangan matriks partisi pada baris 1 kolom 1

Q1

= 0355

5154

= 0069

μ12 = bilangan matriks partisi pada baris 1 kolom 2

Q2

= 0170

3554

= 0048

Setelah melakukan perhitungan seperti diatas untuk semua bilangan matriks sehingga matriks partisi sudah ternormalisasi seperti yang ditunjukkan pada Tabel 48

Tabel 48 Derajat keanggotaan matriks partisi data A

i micro

C1 C2

1 0069 0048

2 0034 0229

3 0039 0054

4 0075 0128

5 0116 0148

6 0159 0048

7 0136 0065

8 0140 0161

9 0068 0029

10 0165 0090

d Perhitungan pusat cluster (V)

Pada perhitungan pusat cluster (V) berdasarkan Persamaan 26 Dimana setiap bilangan penyusun matriks partisi (micro) dipangkatkan dengan w dimana variabel w yang sudah dideklarisakan terlebih dahulu dengan nilai sama dengan 2 dan dikalikan dengan bilangan penyusun matriks X yang merupakan matriks berisi data yang ada pada Tabel 41 Selanjutnya hasil perkalian tersebut dijumlah dan dibagi dengan jumlah hasil kuadrat dari bilangan penyusun matriks partisi Hasil perhitungan ditunjukkan pada Tabel 49

52

Tabel 49 Perhitungan pusat cluster data A

Berdasarkan jumlah cluster dari data A yaitu 2 maka terdapat 2 pusat cluster (V) yaitu V1 V2 Perhitungan nilai V adalah sebagai berikut

V1 = sum ((μic1)2 times Xi)10

i=1

sum (μic1)210i=1

= 10730216

0121620

= 8822718207

V2 = sum ((μic2)2 times Xi)10

i=1

sum (μic2)210i=1

= 12111287

0137572

= 8803592572

Jadi berdasarkan perhitungan diatas pusat cluster untuk data A pada iterasi ke-1 adalah 8822718207 8803592572

e Perhitungan fungsi objektif (P)

Pada perhitungan P menggunakan Persamaan 27 dimana setiap baris pada data matriks X dikurangi pusat cluster (V) selanjutnya dikuadratkan Hasilnya

i X microsup2 microsup2 x X

C1 C2 C1 C2

1 95 0004731 0002292 0449450 0217718

2 90 0001137 0052633 0102304 4736927

3 94 0001512 0002864 0142117 0269234

4 83 0005630 0016427 0467258 1363472

5 85 0013448 0021907 1143107 1862112

6 92 0025233 0002291 2321422 0210787

7 86 0018542 0004243 1594602 0364916

8 89 0019487 0025916 1734356 2306543

9 93 0004590 0000816 0426841 0075870

10 86 0027311 0008183 2348759 0703706

Jumlah 0121620 0137572 10730216 12111287

53

kemudian dikalikan dengan micro yang sudah dipangkatkan dengan bobot (w) seperti yang telah ditunjukkan pada Tabel 49 Selanjutnya hasil tersebut dijumlah per kolom seperti yang ditunjukkan pada Tabel 410

Tabel 410 Fungsi objektif data A

i X (X-V)sup2 (X-V)sup2 x microsup2

C1 C2 C1 C2

1 95 458711 484983 02170 01111

2 90 31429 38576 00036 02030

3 94 333254 355702 00504 01019

4 83 273234 253605 01538 04166

5 85 104147 92168 01401 02019

6 92 142342 157139 03592 00360

7 86 49603 41450 00920 00176

8 89 05972 09294 00116 00241

9 93 227798 246420 01046 00201

10 86 49603 41450 01355 00339

Jumlah 1267661573 1166282827

Fungsi Objektif (P) 24339444

Perhitungan nilai fungsi objektif dilakukan seperti Persamaan 27 Nilai fungsi objektif diperoleh dengan cara sebagai berikut P = sum sum ([(Xi minus Vc)2](μik)2)3

c=110i=1

P = 1267661573 + 1166282827

= 24339444

f Perbaikan matriks partisi

Pada langkah ini perbaikan matriks partisi dilakukan berdasarkan Persamaan 28 Data matriks X untuk setiap barisnya dikurangi pusat cluster lalu dikuadratkan seperti yang ditunjukkan pada Tabel 410 Selanjutnya hasilnya dipangkatkan dengan -11 karena w-1 = 1 Hasil pangkat -1 terhadap (X-V)2 ditunjukkan pada Tabel 411

54

Tabel 411 Perbaikan matriks partisi

i ((X-V)sup2)^-1

Jumlah C1 C2

1 0022 0021 0042

2 0318 0259 0577

3 0030 0028 0058

4 0037 0039 0076

5 0096 0108 0205

6 0070 0064 0134

7 0202 0241 0443

8 1674 1076 2750

9 0044 0041 0084

10 0202 0241 0443

Berdasarkan tabel diatas bilangan penyusun matriks partisi yang baru atau yang telah diperbaiki diperoleh dari hasil pembagian data terhadap jumlah per barisnya

12058311 = 0022

0042= 0514

12058312 = 0021

0042= 0486

Pada perhitungan nilai matriks yang sudah diperbaiki dilakukan pada semua elemen matriks sehingga hasil perbaikan matriks seperti yang ditunjukkan pada Tabel 412

Tabel 412 Hasil perbaikan matriks partisi

Setelah mendapatkan hasil perbaikan matriks partisi kita lakukan pengecekan selama iterasi kurang dari iterasi maksimum (maxIter) atau selisih antara fungsi objektif iterasi saat ini dengan iterasi sebelumnya bernilai lebih dari nilai error terkecil yaitu 001 maka proses berlanjut dengan kembali melakukan perhitungan pusat cluster hingga perbaikan matriks partisi Hasil

i micro

C1 C2

1 0514 0486

2 0551 0449

3 0516 0484

4 0481 0519

5 0469 0531

6 0525 0475

7 0455 0545

8 0609 0391

9 0520 0480

10 0455 0545

55

perhitungan pusat cluster dari data A B C dan D setelah dilakukan proses tiga kali iterasi dan diurutkan mulai dari yang terkecil sampai yang terbesar ditunjukkan pada Tabel 413

Tabel 413 Hasil pusat cluster

4232 Perhitungan batas subinterval

Perhitungan batas subinterval dilakukan dengan mencari nilai tengah (Median) dari setiap pusat cluster Berikut merupakan contoh perhitungan batas subinterval pada data A

a Interval 1 Batas bawah = 78835 (Batas bawah Universe of Discourse pada data A) Batas atas = 89347 (Median 88303 dan 90390)

b Interval 2 Batas bawah = 89347 (Median 88303 dan 90390) Batas atas = 99165 (Batas atas Universe of Discourse pada data A)

Seperti perhitungan diatas juga dilakukan pada data suhu (B) kelembaban (C) dan kecepatan angin (D) Dalam hal ini jumlah subinterval setiap atribut berbeda ndash beda sesuai dengan jumlah cluster yang sebelumnya ditunjukkan pada Tabel 46 Berikut merupakan batas subinterval masing ndash masing atribut yang ditunjukkan pada Tabel 414

Tabel 414 Batas subinterval masing ndash masing atribut data

Interval (micro)

A B C D

1

78835 25984 751708 6208

sd sd sd sd

89347 26181 823863 6249

2

89347 26181 823863 6249

sd sd sd sd

99165 26366 82411 6256

3

82411 6256

- - sd sd

82537 6312

Cluster A B C D

1 88303 26165 82391 62497

2 90390 26197 82408 62499

3 - - 82415 62613

56

424 Pembentukan Fuzzy Set

Pembentukan fuzzy set berdasarkan pada derajat keanggotaan dari subinterval (micro) fuzzy set dari data A ditentukan dengan derajat keanggotaan sebagai berikut

A1 = 1micro1 + 05micro2

A2 = 05micro1 + 1micro2

Pada derajat keanggotaan data A diatas simbol ldquo+rdquo menunjukkan operator himpunan gabungan Berdasarkan subinterval pada Tabel 414 nilai batas fuzzy set dari data atribut A dapat ditentukan dengan cara sebagai berikut

A1 = 78835 sd 94256 (Batas bawah interval 1 sd titik tengah interval 2)

A2 = 84091 sd 99165 (Titik tengah interval 1 sd batas atas interval 2)

Setelah diketahui batas masing ndash masing fuzzy set grafik fungsi keanggotaan fuzzy set data A yang direpresentasikan dalam kurva bahu yang ditunjukkan pada Gambar 422 Dengan cara yang sama juga ditentukan pula fuzzy set dari data attribut B C dan D

425 Fuzzifikasi

Pada langkah fuzzifikasi dilakukan dengan mencari derajat keanggotaan yang memiliki nilai paling besar (maksimum) dari masing ndash masing data terhadap fuzzy set yang sudah terbentuk Derajat keanggotaan dicari berdasarkan fungsi keanggotaan kurva bentuk bahu Berikut ini adalah perhitungan derajat keanggotaan dari data attribut A

Data aktual curah hujan (A) pada April 2014 dasarian ke-3 = 90

1198601 = 942558 ndash 90

942558minus840911= 041868427

Gambar 422 Grafik fuzzy set data A

57

1198602 = 90minus840911

942558minus840911= 058131636

Derajat keanggotaan paling besar berada pada A2 sehingga data attribut A pada April 2014 dasarian ke-3 difuzzifikasikan ke fuzzy set A2 Perhitungan yang sama dilakukan pada seluruh data attribut A sehingga didapat derajat keanggotaan dan hasil fuzzifikasi dari data A ditunjukkan pada Tabel 415

Tabel 415 Hasil derajat keanggotaan dan fuzzy set data A

i Data A1 A2 Fuzzyfikasi

1 95 0 1 A2

2 90 041868363 058131636 A2

3 94 002516357 097483642 A2

4 83 1 0 A1

5 85 09105837 008941629 A1

6 92 02219236 077807639 A2

7 86 08122036 018779631 A1

8 89 05170636 048293635 A1

9 93 01235436 087645641 A2

10 86 08122037 018779631 A1

Perhitungan yang sama juga dilakukan pada semua attribut yaitu attribut B C dan D Sehingga dapat diperoleh hasil fuzzifikasi sesuai derajat keanggotaan dengan nilai paling besar Berikut adalah hasil fuzzifikasi untuk semua attribut yang dapat dilihat pada Tabel 416

Tabel 416 Hasil fuzzifikasi semua data attribut

No Tanggal A B C D

1 Dasarian 2 (April 2014) A2 B1 C3 D3

2 Dasarian 3 (April 2014) A2 B1 C3 D3

3 Dasarian 1 (Mei 2014) A2 B1 C3 D3

4 Dasarian 2 (Mei 2014) A1 B2 C1 D1

5 Dasarian 3 (Mei 2014) A1 B2 C1 D1

6 Dasarian 1 (Juni 2014) A2 B1 C2 D2

7 Dasarian 2 (Juni 2014) A1 B2 C1 D1

8 Dasarian 3 (Juni 2014) A1 B2 C2 D1

9 Dasarian 1 (Juli 2014) A2 B1 C2 D2

10 Dasarian 2 (Juli 2014) A1 B2 C2 D1

58

426 Pembentukan Fuzzy Logical Relationship (FLR)

Pada tahap pembentukan FLR dengan berdasarkan nilai order yang sudah ditentukan Pada manualisasi ini berdasarkan dari Tabel 416 di misalkan nilai order kita deklarasikan dengan nilai 3 sehingga dapat menghasilkan 7 FLR Hasil pembentukan FLR Data training dapat ditunjukkan pada Tabel 417 Hasil pembentukan FLR Data testing dapat ditunjukkan pada Tabel 418

Tabel 417 Hasil pembentukan FLR data training

No Fuzzy Logical Relationship (FLR)

1 (A(12)B(11)C(13)D(13)) (A(22)B(21)C(23)D(23)) (A(32)B(31)C(33)D(33)) rarr A1

2 (A(12)B(11)C(13)D(13)) (A(22)B(21)C(23)D(23)) (A(31)B(32)C(31)D(31)) rarr A1

3 (A(12)B(11)C(13)D(13)) (A(21)B(22)C(21)D(21)) (A(31)B(32)C(31)D(31)) rarr A2

4 (A(11)B(12)C(11)D(11)) (A(21)B(22)C(21)D(21)) (A(32)B(31)C(32)D(32)) rarr A1

5 (A(11)B(12)C(11)D(11)) (A(22)B(21)C(22)D(22)) (A(31)B(32)C(31)D(31)) rarr A1

Tabel 418 Hasil pembentukan FLR data testing

No Fuzzy Logical Relationship (FLR)

1 (A(12)B(11)C(12)D(12)) (A(21)B(22)C(21)D(21)) (A(31)B(32)C(32)D(31)) rarr A2

2 (A(11)B(12)C(11)D(11)) (A(21)B(22)C(22)D(21)) (A(32)B(31)C(32)D(32)) rarr A1

427 Defuzzifikasi

Pada tahap ini misalkan jumlah data yang digunakan untuk data uji atau data testing adalah dua yaitu yang pertama data periode ke-9 dan yang kedua data periode ke-10 Sehingga yang digunakan data latih atau data training adalah data pada periode ke-1 sampai data periode ke-8 Pada data testing yang pertama melibatkan FLR ke-1 sampai FLR ke-5 untuk disesuaikan dengan FLR ke-6 yang berdasarkan pada Tabel 417 Pada data testing yang kedua melibatkan FLR ke-1 sampai FLR ke-6 untuk disesuaikan dengan FLR ke-7 yang berdasarkan pada Tabel 417 Selanjutnya setiap ruas kiri FLR data testing dibandingkan dengan FLR data training yaitu pada bilang pangkat bawah fuzzy set dibandingkan sesuai dengan posisinya dan dihitung selisihnya Hasil dari perhitungan selisih tersebut dijumlahkan dan apabila jumlah selisihnya kurang dari threshold maka FLR tersebut dikatakan cocok Threshold merupakan dari hasil mengalikan jumlah order dengan jumlah faktor kemudian dijumlahkan dengan dengan sebuah konstanta Contoh perhitungan selisih nilai ruas kiri FLR pada data testing pertama adalah sebagai berikut

59

Data testing = (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(32) B(31) C(33) D(33)) rarr A1

Data training =

1 (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(31) B(32) C(31) D(31)) rarr A1

2 (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(31) B(32) C(31) D(31)) rarr A1

3 (A(12) B(11) C(13) D(13)) (A(21) B(22) C(21) D(21)) (A(31) B(32) C(31) D(31)) rarr A2

4 (A(11) B(12) C(11) D(11)) (A(21) B(22) C(21) D(21)) (A(32) B(31) C(32) D(32)) rarr A1

5 (A(11) B(12) C(11) D(11)) (A(22) B(21) C(22) D(22)) (A(31) B(32) C(31) D(31)) rarr A1

Selisih data ke- 1 = |2-2|+|1-1|+|3-2|+|3-2|+|2-1|+|1-2|+|3-1|+|3-1|+|2-1|+|1-2|+|3-2|+|3-1| = 13

Selisih data ke- 2 = |2-2|+|1-1|+|3-2|+|3-2|+|2-1|+|1-2|+|3-1|+|3-1|+|1-1|+|2-2|+|1-2|+|1-1| = 9

Selisih data ke- 3 = |2-2|+|1-1|+|3-2|+|3-2|+|1-1|+|2-2|+|1-1|+|1-1|+|1-1|+|2-2|+|1-2|+|1-1| = 3

Selisih data ke- 4 = |1-2|+|2-1|+|1-2|+|1-2|+|1-1|+|2-2|+|1-1|+|1-1|+|2-1|+|1-2|+|2-2|+|2-1| = 7

Selisih data ke- 5 = |1-2|+|2-1|+|1-2|+|1-2|+|2-1|+|1-2|+|2-1|+|2-1|+|1-1|+|2-2|+|1-2|+|1-1| = 9

Pada perhitungan selisih nilai ruas kiri FLR pada data testing juga dilakukan pada semua data testing yang sudah dideklarasikan sebelumnya Dalam hal ini agar dapat menemukan FLR yang cocok dengan data testing Tahap selanjutnya adalah proses defuzzifikasi menggunakan threshold yang dimisalkan 18 sehingga FLR yang memiliki kecocokan dengan data testing pertama adalah semua FLR dari ke-1 sampai ke-5 karena memiliki hasil selisih kurang dari 18 Semua FLR yang cocok ditampung dikelompokkan berdasarkan FLR pada ruas kanan yang sama kemudian dhitung frekuensinya Berikut adalah frekuensi dan pusat cluster dari ruas kanan FLR yang cocok dengan data testing pertama dan kedua ditunjukkan pada Tabel 419

Tabel 419 Frekuensi FLR yang cocok dengan data testing

Data testing 1 Data testing 2

Ruas kanan A1 A2 A1 A2

Pusat Cluster 88303 90390 88303 90390

Frekuensi 4 1 4 2

Berdasarkan pada Tabel 419 dilakukan defuzzifikasi sesuai dengan Persamaan 218 sebagai berikut

119863119886119905119886 119905119890119904119905119894119899119892 1 = (88303times4)+(90390times1)

5= 887204

60

119863119886119905119886 119905119890119904119905119894119899119892 2 = (88303times4)+(90390times2)

6= 889987

Jadi berdasarkan perhitungan diatas diperoleh hasil peramalan curah hujan pada pada April 2014 dasarian ke-3 adalah 1384601636 sedangkan pada tanggal 10012016 adalah 2769203272 Perbandingan data curah hujan aktual dan hasil peramalan dengan metode High Order Fuzzy Time Series Multi Factors dapat dilihat pada Tabel 420

Tabel 420 Perbandingan data aktual dan hasil peramalan

No Data Aktual Hasil Peramalan

1 93 887204

2 86 889987

Dari hasil peramalan yang ditunjukkan pada Tabel 420 dapat dilakukan perhitungan kesalahan peramalan menggunakan metode Mean Square Error (MSE) seperti Persamaan 219

119872119878119864 = ((93minus887206)2+(86minus889989)2)

2

= 136536

43 Perancangan antarmuka

Perancangan antarmuka merupakan perancangan dari tampilan antarmuka atau interface yang nantinya akan diterapkan pada tahapan implementasi Pada perancangan antarmuka ini terdapat lima halaman utama dan juga terdapat dalam menu berupa button yaitu halaman input halaman tampil data halaman proses halaman hasil dan halaman perhitungan error

431 Halaman input

Pada halaman input terdapat inputan data dengan nama button Browse Data pada inputan data ini pengguna diharuskan memasukkan inputan file data dalam bentuk ekstensi xls serta direktori lokasi file yang di inputkan akan ditampilkan pada textfield dan juga terdapat label yang menampilkan jumlah banyaknya data yang terdapat pada file yang telah di inputkan Selanjutnya juga terdata inputan textfield data training data testing order dan nilai konstanta Pada halaman input ini juga terdapat button fuzzification yang berfungsi untuk melakukan proses clustering fuzzifikasi dan FLR Selanjutnya pada button forecasting berfungsi untuk melakukan peramalan atau defuzzifikasi dari hasil proses fuzzifikasi serta menghitung nilai error dari hasil peramalan Berikut

61

merupakan rancangan tampilan antarmuka dari halaman input yang ditunjukkan pada Gambar 423

432 Halaman tampil data

Pada halaman tampil data terdapat tabel yang menampilkan isi data dari xls yang sudah dimasukkan terlebih dahulu pada halaman input Tabel tampil data akan menampilkan tanggal curah hujan kelembaban suhu dan kecepatan angin Berikut merupakan tampilan rancangan halaman tampil data yang ditunjukkan pada Gambar 424

Gambar 423 Rancangan antarmuka halaman input

Gambar 424 Rancangan antarmuka halaman tampil data

62

433 Halaman proses

Pada halaman proses akan menampilkan hasil clustering fuzzifikasi dan fuzzy logical relationship Pada tampilan halaman clustering akan menampilkan Universe of Discourse curah hujan suhu kelembaban dan kecepatan angin Selanjutnya tampilan dibawahnya akan menampilkan jumlah cluster dari setiap faktor yaitu jumlah cluster curah hujan suhu kelembaban dan kecepatan angin Berikut merupakan tampilan perancangan halaman proses clustering yang ditunjukkan Gambar 425

Selanjutnya pada tampilan proses fuzzifikasi akan menampilkan tabel hasil fuzzifikasi dari curah hujan suhu kelembaban dan kecepatan angin Berikut adalah tampilan rancangan proses fuzzifikasi yang ditunjukkan pada Gambar 426

Gambar 425 Rancangan antarmuka halaman proses clustering

Gambar 426 Rancangan antarmuka proses fuzzifikasi

63

Pada tampilan proses fuzzy logical relationship (FLR) akan menampilkan textarea berisi hasil proses FLR dari curah hujan suhu kelembaban dan kecepatan angin Berikut adalah tampilan rancangan proses fuzzy logical relationship yang ditunjukkan pada Gambar 427

434 Halaman hasil

Pada halaman hasil peramalan akan menampilkan tabel yang berisi hasil peramalan curah hujan dan data curah hujan yang sebenarnya Serta terdapat text link yang akan menampilkan grafik perbandingan data hasil peramalan dan data yang sebenarnya Berikut adalah tampilan rancangan halaman hasil yang ditunjukkan pada Gambar 428

Gambar 427 Rancangan antarmuka proses fuzzy logical relationship

Gambar 428 Rancangan antarmuka halaman hasil peramalan

64

435 Halaman perhitungan error

Pada halaman perhitungan error akan menampilkan nilai dari hasil perhitungan Mean Square Error (MSE) pada textfield Berikut adalah tampilan rancangan halaman perhitungan error yang ditunjukkan pada Gambar 429

44 Perancangan pengujian

Pada penelitian ini akan dilakukan empat pengujian yaitu pengujian terhadap nilai order nilai threshold pengujian terhadap jumlah data training untuk mengetahui pengaruhnya terhadap nilai Mean Square Error (MSE) dan pengujian validasi sistem untuk mengetahui kestabilan hasil implementasi

441 Perancangan pengaruh order terhadap nilai MSE

Order merupakan jumlah urutan data yang digunakan dalam pembentukkan Fuzzy Logical Relationship (FLR) Pada pengujian ini dilakukan percobaan dengan order yang berbeda ndash beda Pengujian ini bertujuan untuk mengetahui pengaruh order terhadap hasil peramalan Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Pada setiap pengujian yang telah dilakukan dihitung nilai MSEnya untuk mengetahui tingkat kesalahan metode ini apabila dilakukan dengan order yang berbeda Berikut adalah perancangan pengujian order terhadap nilai MSE ditunjukkan pada Tabel 421

Tabel 421 Rancangan pengujian order terhadap nilai MSE

No Order Threshold MSE

1

Gambar 429 Rancangan antarmuka halaman perhitungan error

65

442 Perancangan pengaruh threshold terhadap nilai MSE

Nilai threshold bergantung jumlah order karena untuk nilai threshold merupakan dari hasil mengalikan jumlah faktor yang mempengaruhi dengan order selanjutnya dijumlah dengan sebuah konstanta Pada pengujian ini dilakukan percobaan dengan konstanta yang berbeda ndash beda sehingga menghasilkan threshold yang berbeda pula Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Dari setiap percobaan yang telah dilakukan dihitung nilai MSEnya untuk mengetahui tingkat kesalahan metode ini apabila dilakukan dengan konstanta dan threshold yang berbeda Berikut merupakan rancangan pengujian pengaruh threshold terhadap nilai MSE yang ditunjukkan pada Tabel 422

Tabel 422 Rancangan pengujian threshold terhadap nilai MSE

No Konstanta Threshold MSE

1

443 Perancangan pengaruh jumlah data training terhadap nilai MSE

Data training sangat berperan penting dalam proses defuzzifikasi sehingga pada penelitian ini dilakukan pengujian pengaruh jumlah data training terhadap tingkat kesalahan dari hasil peramalan Pada pengujian ini dilakukan percobaan dengan jumlah data training yang berbeda ndash beda Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Dari setiap percobaan dilakukan perhitungan nilai MSE untuk mengetahui tingkat kesalahan dari hasil peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors dengan jumlah data training yang berbeda ndash beda Sehingga dari hasil pengujian ini dapat diketahui pengaruh dari jumlah data training Berikut merupakan rancangan pengujian pengaruh jumlah data training yang ditunjukkan pada Tabel 423

Tabel 423 Rancangan pengujian jumlah data training terhadap nilai MSE

No Jumlah Data Training MSE

1

444 Perancangan validasi sistem

Pada pengujian validasi sistem akan melakukan pengujian dengan menggunakan order threshold terbaik seperti yang telah dilakukan pada

66

pengujian ndash pengujian sebelumnya yang menghasilkan hasil error MSE terendah Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Berikut merupakan rancangan pengujian validasi sistem yang ditunjukkan pada Tabel 424

Tabel 424 Rancangan pengujian validasi sistem

Percobaan ke- MSE

1

67

BAB 5 IMPLEMENTASI

Pada bab ini berisi pembahasan hasil implementasi metode High Order Fuzzy Time Series Multi Factors yang sesuai dengan bab sebelumnya yaitu perancangan Bab ini terdiri dari spesifikasi sistem implementasi algoritma dan implementasi antarmuka

51 Spesifikasi Sistem

Pada spesifikasi sistem ini dibagi mejadi dua yaitu spesifikasi perangkat keras dan spesifikasi perangkat lunak

511 Spesifikasi Perangkat Keras

Spesifikasi perangkat keras merupakan perangkat keras yang digunakan pada implementasi penelitian ini Perangkat keras yang digunakan adalah laptop dengan spesifikasi sesuai dengan pada Tabel 51 berikut

Tabel 51 Spesifikasi Perangkat Keras

Komponen Spesifikasi

Processor Intelcopy Core i3-3217U 180 GHz

Memori (RAM) 8 GB RAM

Harddisk 500 GB RAM

512 Spesifikasi Perangkat Lunak

Spesifikasi perangkat lunak merupakan perangkat lunak yang digunakan pada implementasi penelitian ini Perangkat lunak yang digunakan pada implementasi penelitian sesuai dengan yang ditunjukkan pada Tabel 52 berikut

Tabel 52 Spesifikasi Perangkat Lunak

Sistem Operasi Microsoft Windows 7 (64 bit)

Bahasa Pemrograman Java

Tools Pemrograman Netbeans 81

Data Microsoft Excel 2013

52 Implementasi Algoritma

Pada implementasi algoritma ini membahas mengenai hasil implementasi algoritma metode High Order Fuzzy Time Series Multi Factors yang mengacu pada bab sebelumnya yaitu perancangan Dalam penelitian ini implementasi algoritma menggunakan bahasa pemrograman java berbasis desktop Implementasi algoritma terdiri dari beberapa method sesuai dengan langkah ndash langkah pada algoritma metode High Order Fuzzy Time Series Multi Factors

68

521 Implementasi Proses Universe of Discourse

Pada implementasi Universe of Discourse seperti yang ditunjukkan Kode Program 51 dimana pada source code method Universe_of_Discourse baris 3 - 5 terdapat pemanggilan method mean standar_deviasi dan Min_dan_Max Dimana pemanggilan method tersebut dibutuhkan untuk melakukan proses perhitungan selanjutnya yaitu untuk menghitung batas bawah dan batas atas dari Univers of Discourse Baris 7-10 untuk menghitung hasil Universe of Discourse Berikut merupakan source code dari proses Universe of Discourse yang ditunjukkan pada Kode Program 51

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

private void Universe_of_Discourse()

mean()

standar_deviasi()

Min_dan_Max()

hsl_uMin = new double[jmlh_Faktor]

hsl_uMax = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

hsl_uMin[i] = hsl_min[i] - hsl_stdev[i]

hsl_uMax[i] = hsl_max[i] + hsl_stdev[i]

Kode Program 51 Implementasi proses Universe of Discourse

5211 Implementasi proses mean

Pada implementasi proses mean merupakan proses perhitungan nilai rata ndash rata dari setiap faktor yang nantinya hasilnya diperlukan untuk proses perhitungan standar deviasi Berikut merupakan source code dari proses mean yang ditunjukkan pada Kode Program 52 Perhitungan utama proses mean terdapat pada baris 3 ndash 8

Baris Kode

1 2 3 4 5 6 7 8 9

private void mean()

hsl_mean = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double tmp_jmlh = 0

for (int j = 0 j lt jmlh_DataTraining j++)

tmp_jmlh = tmp_jmlh + data[i][j]

hsl_mean[i] = (tmp_jmlh jmlh_DataTraining)

Kode Program 52 Implementasi proses mean

5212 Implementasi proses standar deviasi

Pada implementasi proses perhitungan standar deviasi merupakan akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel Standar deviasi dapat dilakukan perhitungan setelah mendapat nilai hasil dari perhitungan mean Berikut merupakan source code dari implementasi proses standar deviasi yang ditunjukkan pada Kode Program 53 Perhitungan utama proses standar deviasi terdapat pada baris 3 ndash 9

69

Baris Kode

1 2 3 4 5 6 7 8 9 10 11

private void standar_deviasi()

hsl_stdev = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double result = 0

for (int j = 0 j lt jmlh_DataTraining j++)

result = result + (Mathpow((data[i][j] ndash

hsl_mean[i]) 2))

hsl_stdev[i]=Mathsqrt(result(jmlh_DataTraining-

1))

Kode Program 53 Implementasi proses standar deviasi

5213 Implementasi proses Dmin dan Dmax

Pada implementasi proses Dmin dan Dmax merukan untuk mencari nilai minimum dan nilai maksimum dari data sampel untuk setiap faktor Berikut merupakan source code dari implementasi dari proses Dmin dan Dmax yang ditunjukkan pada Kode Program 54 Pada baris 8 ndash 10 merupakan bagian dari proses untuk untuk menentukan nilai data terbesar Selanjutnya pada baris 11 ndash 13 untuk menentukan nilai data terkecil

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

19

private void Min_dan_Max()

hsl_max = new double[jmlh_Faktor]

hsl_min = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double besar = data[i][0]

double kecil = data[i][0]

for (int j = 0 j lt jmlh_DataTraining j++)

if (data[i][j] gt besar)

besar = data[i][j]

if (data[i][j] lt kecil)

kecil = data[i][j]

hsl_max[i] = besar

hsl_min[i] = kecil

Kode Program 54 Implementasi proses Dmin dan Dmax

522 Implementasi Proses Jumlah Cluster

Pada implementasi proses jumlah cluster merupakan proses perhitungan jumlah cluster dari setiap faktor Implementasi ini dapat dilakukan apabila sudah mendapatkan hasil output dari method Min_dan_Max() sudah didapatkan Berikut merupakan source code dari implementasi proses jumlah cluster yang ditunjukkan pada Kode Program 55 Pada baris 3 ndash 7 untuk digunakan untuk menghitung selisih data sampel setiap baris dari semua faktor pada data sampel ke t dengan t+1 Selanjutnya pada baris 9 ndash 10 untuk menghitung jumlah cluster dari setiap faktor

70

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

12

13

private void jumlah_Cluster()

jmlh_Cluster = new int[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double selisih = 0

for (int j = 0 j lt (jmlh_DataTraining - 1) j++)

selisih = selisih + (Mathabs((data[i][j]

- data[i][(j + 1)])))

jmlh_Cluster[i] = (int) Mathround((Mathabs(

hsl_min[i]-hsl_max[i]))(selisih(jmlh_DataTraining

-1)))

Kode Program 55 Implementasi proses jumlah cluster

523 Implementasi Proses Pusat Cluster

Implementasi proses perhitungan pusat cluster ini menggunakan metode fuzzy C-means untuk mendapatkan pusat cluster yang nantinya digunkan sebagai subinterval Implementasi ini memerlukan hasil dari proses method jumlah_Cluster() agar dapat melakukan perhitungan subinterval Berikut merupakan source code dari implementasi proses subinterval yang ditunjukkan pada Kode Program 56 Pada Kode Program 56 hanya menampilkan source code pembentukan subinterval pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 2 ndash 3 merupakan deklarasi variabel bobot iterasi maksimum selisih fungsi objektif awal dan error minimum Pada baris 8 ndash 20 merupakan proses pembentukan matriks partisi dengan nilai random 0 sampai 1 Pada baris 22 ndash 26 merupakan proses normalisasi matriks partisi yang telah terbentuk Pada baris 28 ndash 63 merupakan proses untuk menentukan pusat cluster Pada baris 65 ndash 86 merupakan proses perhitungan fungsi objektif dari iterasi Pada baris 88 ndash 90 merupakan proses perhitungan selisih fungsi objektif Pada baris 92 ndash 108 adalah proses perbaikan matriks partisi Pada baris 110 ndash 115 adalah proses hasil perbaikan matriks partisi Pada baris 116 - 133 adalah proses dengan pengkondisian apakah selisih fungsi objektif lebih kecil dari error minimum serta apabila memenuhi kondisi maka dilanjutkan ke proses pengurutan pusat cluster secara ascending dari hasil iterasi terakhir dan proses pengkondisian iterasi berhenti

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

private void pusat_cluster()

int bobot = 2int iter_maksimum = 100

double selisih_f_objektif = 0double error_min = 001

for (int i = 0 i lt jmlh_Faktor i++)

faktor A

if (i == 0)

Pembentukkan matriks partisi

tmp_Matriks1=new

double[jmlh_Cluster[i]][jmlh_DataTraining]

q1 = new double[jmlh_Cluster[i]]

double jmlh_q1

for (int j = 0 j lt jmlh_Cluster[i] j++)

jmlh_q1 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

71

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

double random = ThreadLocalRandomcurrent()

nextDouble(01 1)

tmp_Matriks1[j][k] = random

jmlh_q1 = jmlh_q1 + random

q1[j] = jmlh_q1

normalisasi matriks

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k] q1[j]

Perhitungan pusat cluster

for (int iter = 0 iter lt iter_maksimum iter++)

selisih_f_objektif = 0

jumA1 = new double[iter_maksimum][jmlh_Cluster[i]]

jumA2 = new double[iter_maksimum][jmlh_Cluster[i]]

miu_Matriks1 = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

XV_Matriks1 = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

pusat_cluster1 = new double[jmlh_Cluster[i]]

double hitung_jum1

double hitung_jum2

for (int j = 0 j lt jmlh_Cluster[i] j++)

hitung_jum1 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow(tmp_Matriks1

[j][k]bobot)

miu_Matriks1[j][k] = tmp_Matriks1[j][k]

hitung_jum1 = hitung_jum1 + tmp_Matriks1

[j][k]

jumA1[iter][j] = hitung_jum1

for (int j = 0 j lt jmlh_Cluster[i] j++)

hitung_jum2 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k]

data[i][k]

hitung_jum2 = hitung_jum2 +

tmp_Matriks1[j][k]

jumA2[iter][j] = hitung_jum2

for (int j = 0 j lt jmlh_Cluster[i] j++)

pusat_cluster1[j] = jumA2[iter][j]

jumA1[iter][j]

perhitungan fungsi objektif

jumA3 = new double[iter_maksimum][jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

double hitung_jum3 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow((data[i][k]

ndash pusat_cluster1[j])

bobot)

XV_Matriks1[j][k] = tmp_Matriks1[j][k]

tmp_Matriks1[j][k] = XV_Matriks1[j][k]

miu_Matriks1[j][k]

hitung_jum3 = hitung_jum3 +

tmp_Matriks1[j][k]

jumA3[iter][j] = hitung_jum3

72

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

double jmlh_f_objektif = 0

for (int j = 0 j lt jmlh_Cluster[i] j++)

jmlh_f_objektif = jmlh_f_objektif

+jumA3[iter][j]

if (iter lt (iter_maksimum - 1))

f_objektif1[iter + 1] = jmlh_f_objektif

perhitungan selisih fungsi objektif

selisih_f_objektif = f_objektif1[iter + 1]

-f_objektif1[iter]

perbaikan matriks partisi

int hitung = bobot - 1int pangkat = -1 hitung

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow(XV_Matriks1

[j][k] pangkat)

jumA4 = new

double[iter_maksimum][jmlh_DataTraining]

for (int j = 0 j lt jmlh_DataTraining j++)

double hitung_jum4 = 0

for (int k = 0 k lt jmlh_Cluster[i] k++)

hitung_jum4 = hitung_jum4 +

tmp_Matriks1[k][j]

jumA4[iter][j] = hitung_jum4

hasil perbaikan matriks

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k]

jumA4[iter][k]

if (selisih_f_objektif lt error_min)

pengurutan ascending pusat cluster

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 kltjmlh_Cluster[i]k++)

if (k lt (jmlh_Cluster[i] - 1))

if (pusat_cluster1[k] gt

pusat_cluster1[k + 1])

double tmp =

pusat_cluster1[k]

pusat_cluster1[k]=

pusat_cluster1[k+1]

pusat_cluster1[k+1] = tmp

iter = iter_maksimum

Kode Program 56 Implementasi proses pusat cluster

524 Implementasi Proses Pembentukan Subinterval dan Fuzzy Set

Pada implementasi proses pembentukan suinterval dan fuzzy set memiliki dua proses yaitu proses menentukan batas subinterval minumum serta maksimum dan proses menentukan batas fuzzy set minimum serta maksimum

73

Proses pembentukan fuzzy dapat menjalankan prosesnya setelah method subinterval() telah diakses Berikut merupakan source code proses pembentukan fuzzy set yang ditunjukkan pada Kode Program 57 Pada Kode Program 57 hanya menampilkan source code pembentukan fuzzy set pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 6 ndash 29 merupakan proses pembentukan batas minimum dan batas maksimum subinterval Pada baris 31 ndash 54 merupakan pembentukan batas minimum dan batas maksimum fuzzy set

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

private void subinterval_dan_fuzzy_set()

for (int i = 0 i lt jmlh_Faktor i++)

faktor A

if (i == 0)

batas subinterval

batas_subintervalMinA = new double[jmlh_Cluster[i]]

batas_subintervalMaxA = new double[jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

if (j == 0)

batas_subintervalMinA[j] = hsl_uMin[i]

batas_subintervalMaxA[j]=(pusat_cluster1[j]

+pusat_cluster1[j+

1])2

else if (j == (jmlh_Cluster[i] - 1))

batas_subintervalMinA[j]=

(pusat_cluster1[j-1] +pusat_cluster1

[j])2

batas_subintervalMaxA[j]=

hsl_uMax[i]

else if ((0 lt j) ampamp (j lt (jmlh_Cluster[i] -

1)))

batas_subintervalMinA[j]=

(pusat_cluster1[j-1]+

pusat_cluster1[j])2

batas_subintervalMaxA[j]=

(pusat_cluster1[j]+

pusat_cluster1[j+1)2

batas fuzzy set

batas_fuzzysetMinA = new double[jmlh_Cluster[i]]

batas_fuzzysetMaxA = new double[jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

if (j == 0)

batas_fuzzysetMinA[j]=

batas_subintervalMinA[j]

batas_fuzzysetMaxA[j]=

(batas_subintervalMinA[j+1]

+batas_subintervalMaxA[j + 1])2

else if (j == (jmlh_Cluster[i] - 1))

batas_fuzzysetMinA[j]=

(batas_subintervalMinA[j-1]

+batas_subintervalMaxA[j - 1])2

batas_fuzzysetMaxA[j] =

batas_subintervalMaxA[j]

else if ((0 lt j) ampamp (jlt(jmlh_Cluster[i]-1)))

batas_fuzzysetMinA[j]=

(batas_subintervalMinA[j-1]+

batas_subintervalMaxA[j-1])2

batas_fuzzysetMaxA[j]=

74

51

52

53

54

55

56

(batas_subintervalMinA[j+1]+

batas_subintervalMaxA[j + 1])2

Kode Program 57 Implementasi pembentukan subinterval dan fuzzy set

525 Implementasi proses fuzzifikasi

Pada Implementasi proses fuzzifikasi memiliki dua proses utama yaitu menentukan derajat keanggotaan dan proses fuzzifikasi Dalam proses ini method fuzzy_set() harus dieksekusi terlebih dahulu karena implementasi proses ini memerlukan output dari method tersebut Berikut merupakan source code fuzzifikasi ditunjukkan pada Kode Program 58 Pada Kode Program 58 hanya menampilkan source code pembentukan fuzzy set pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 3 ndash 81 merupakan proses perhitungan derajat keanggotaan Pada baris 83 ndash 94 adalah proses penentuan fuzzifikasi

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

private void fuzzifikasi()

if (i == 0)

hitung_fuzzifikasiA = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

if(j == 0)

if((data[i][k]gtbatas_fuzzysetMinA[j])ampamp

(data[i][k]lt batas_fuzzysetMinA[j + 1]))

hitung_fuzzifikasiA[j][k] = 1

if ((data[i][k] gt batas_fuzzysetMinA[j + 1])

ampamp (data[i][k] lt batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k]=

(batas_fuzzysetMaxA[j] - data[i][k])

(batas_fuzzysetMaxA[j] ndash

batas_fuzzysetMinA[j + 1])

if ((data[i][k] gt batas_fuzzysetMinA[j]) ampamp

(data[i][k] lt batas_fuzzysetMinA[j + 1])

ampamp(data[i][k] gt batas_fuzzysetMinA[j+1])

ampamp(data[i][k] lt batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k] = 0

else if (j == (jmlh_Cluster[i] - 1))

if((data[i][k] gt batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]))

hitung_fuzzifikasiA[j][k]=

(data[i][k]-batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)])

(batas_fuzzysetMaxA[(jmlh_Cluster[i]ndash

2)]-batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)])

if((data[i][k] gt batas_fuzzysetMaxA

75

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

[(jmlh_Cluster[i]- 2)]) ampamp (data[i][k]

lt batas_fuzzysetMaxA[(jmlh_Cluster[i]

- 1)]))

hitung_fuzzifikasiA[j][k] = 1

if ((data[i][k] gt batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]) ampamp

(data[i][k] gt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 1)]))

hitung_fuzzifikasiA[j][k] = 0

else if ((0 lt j)ampamp(j lt (jmlh_Cluster[i] - 1)))

if ((data[i][k] gt batas_fuzzysetMinA[j])

ampamp (data[i][k] lt batas_fuzzysetMinA[j

+1]))

hitung_fuzzifikasiA[j][k]=

(data[i][k]-batas_fuzzysetMinA[j])

(batas_fuzzysetMinA[j + 1]-

batas_fuzzysetMinA[j])

if ((data[i][k] gt batas_fuzzysetMinA

[j+1])ampamp (data[i][k] lt

batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k]=

(batas_fuzzysetMaxA[j]-data[i][k])

(batas_fuzzysetMaxA[j]-

batas_fuzzysetMinA[j + 1])

if ((data[i][k] gt batas_fuzzysetMinA[j])

ampamp (data[i][k] lt batas_fuzzysetMinA

[j + 1]) ampamp (data[i][k] gt

batas_fuzzysetMinA[j + 1]) ampamp

(data[i][k]ltbatas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k] = 0

hasil_fuzzifikasiA = new int[jmlh_DataTraining]

for (int j = 0 j lt jmlh_DataTraining j++)

int cluster = 0

double besar=hitung_fuzzifikasiA[0][j]

for (int k = 0 k lt jmlh_Cluster[i] k++)

if (besar lt hitung_fuzzifikasiA[k][j])

besar = hitung_fuzzifikasiA[k][j]

cluster = k

hasil_fuzzifikasiA[j] = cluster + 1

Kode Program 58 Implementasi proses fuzzifikasi

526 Implementasi Pembentukan Fuzzy Logical Relationship

Pada implementasi pembentukan Fuzzy Logical Relationship (FLR) memiliki dua output yaitu FLR_kiri dan FLR_kanan Dimana FLR_kiri berisi group dari kelima faktor dan pada FLR_kanan merupakan dari faktor yang akan diramalkan yaitu

76

faktor curah hujan (A) Berdasarkan dari perancangan proses pada bab sebelumnya maka implementasi source code pembentukan Fuzzy Logical Relationship (FLR) dapat ditunjukkan pada Kode Program 59 berikut Pada baris 3 ndash 14 merupakan deklarasi variabel Pada baris 15 ndash 55 adalah proses pembentukan fuzzy logical relationship data training Pada baris 56 ndash 58 merupakan deklarasi variabel Pada baris 59 ndash 86 adalah proses pembentukan fuzzy logical relationship data testing

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

Fuzzy Logical Relationship

private void fuzzy_logical_relationship()

String input_order = fieldOrdergetText()

order = IntegerparseInt(input_order)

int max_inc = order

String input_dataTraining = fieldDatatraininggetText()

int dataTraining = IntegervalueOf(input_dataTraining)

int tmp_jmlhDatatraining = 0

int tmp_order = 0

int jmlh_dataTraining = dataTraining - order

String input_dataTesting = fieldDatatestinggetText()

int jmlh_dataTesting = IntegervalueOf(input_dataTesting)

FLR_kiri_training = new

int[jmlh_DataTraining][order][jmlh_Faktor]

FLR_kanan_training = new int[jmlh_DataTraining]

for (int i = 0 i lt jmlh_dataTraining i++)

for (int j = i j lt max_inc j++)

for (int k = 0 k lt jmlh_Faktor k++)

if (j == 0)

if (k == 0)

FLR_kiri_training[i][j][k]=

hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiD[j]

else if (j = 0)

if (k == 0)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiD[j]

tmp_order = j

FLR_kanan_training[i] = hasil_fuzzifikasiA[(i + order)]

if (max_inc lt (jmlh_DataTraining - 1))

max_inc = max_inc + 1

77

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

tmp_jmlhDatatraining = i

FLR_kiri_testing = new

int[jmlh_DataTraining][order][jmlh_Faktor]

FLR_kanan_testing = new int[(jmlh_DataTraining)]

tmp_jmlhDatatraining = tmp_jmlhDatatraining + 1

for (int i = 0 i lt jmlh_dataTesting i++)

for (int j = tmp_jmlhDatatraining j lt max_inc j++)

for (int k = 0 k lt jmlh_Faktor k++)

if (k == 0)

FLR_kiri_testing[i][j - tmp_jmlhDatatraining][k]

= hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiD[j]

FLR_kanan_testing[i] =

hasil_fuzzifikasiA[(tmp_jmlhDatatraining + order)]

if (max_inc lt (jmlh_DataTraining - 1))

max_inc = max_inc + 1

tmp_jmlhDatatraining++

Kode Program 59 Implementasi pembentukan FLR

527 Implementasi Proses Defuzzifikasi

Pada implementasi proses defuzzifikasi merupakan proses dimana menentukan hasil peramalan dari data testing berdasarkan dari bilangan fuzzy yang terbentuk Implementasi ini memiliki beberapa inputan penting yaitu data training data testing order dan konstanta Inputan tersebut sangat berperan penting dalam proses implementasi defuzzifikasi Berdasarkan dari perancangan proses pada bab sebelumnya maka implementasi source code defuzzifikasi dapat ditunjukkan pada Kode Program 510 berikut Pada baris 2 ndash 11 merupakan deklarasi variabel Pada baris 13 ndash 37 merupakan proses perhitungan selisih antara data training dengan data testing Pada baris 40 ndash 47 menghitung jumlah FLR yang cocok Pada baris 49 ndash 65 merupakan proses mencocokan FLR kiri yang cocok dengan FLR kanan Pada baris 67 ndash 81 merupakan proses menghitung jumlah frekuensi FLR kanan yang cocok Pada baris 83 ndash 91 adalah proses perhitungan hasil peramalan

Baris Kode 1

2

3

4

private void defuzifikasi()

String input_dataTraining = fieldDatatraininggetText()

String input_dataTesting = fieldDatatestinggetText()

String input_konstanta = fieldKonstantagetText()

78

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

int dataTraining = IntegervalueOf(input_dataTraining)

int dataTesting = IntegervalueOf(input_dataTesting)

int konstanta = IntegervalueOf(input_konstanta)

int match[][]

match = new int[dataTesting][2000]

int threshold = (jmlh_Faktor order) + konstanta

int hitung_selisih = 0

perhitungan selisih

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt (dataTraining + i) j++)

hitung_selisih = 0

for (int k = 0 k lt order k++)

for (int l = 0 l lt jmlh_Faktor l++)

if (i == 0)

hitung_selisih = hitung_selisih +

(Mathabs(FLR_kiri_training[j][k][l] ndash

FLR_kiri_testing[i][k][l]))

else if (i gt 0)

FLR_kiri_training[(dataTraining-

1)+i][k][l] = FLR_kiri_testing[i-

1][k][l]

FLR_kanan_training[(dataTraining-1)+i]

= FLR_kanan_testing[i-1]

hitung_selisih = hitung_selisih +

(Mathabs(FLR_kiri_training[j][k][l] ndash

FLR_kiri_testing[i][k][l]))

if (hitung_selisih lt threshold)

match[i][j] = hitung_selisih

menghitung jumlah total FLR yang cocok untuk setiap data

testing

int countGroup[] = new int[dataTesting]

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt (dataTraining + i) j++)

if (match[i][j] gt 0)

countGroup[i]++

mencocokan FLR_kiri yang cocok dengan FLR_kanan

group = new int[dataTesting][2000]

for (int i = 0 i lt dataTesting i++)

int tmp_count = 0

for (int j = 0 j lt (dataTraining + i) j++)

if (match[i][j] gt 0)

if (tmp_count lt countGroup[i])

group[i][tmp_count] = j

tmp_count++

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt countGroup[i] j++)

group[i][j] = FLR_kanan[group[i][j]]

mengelompokkan yang sama

MapltInteger Integergt map = new HashMapltInteger Integergt()

hasil_peramalan = new double[dataTesting]

for (int i = 0 i lt dataTesting i++)

79

70

71

72

73

74

75 76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

double peramalan = 0

mapclear()

for (int j = 0 j lt countGroup[i] j++)

int key = group[i][j]

if (mapcontainsKey(key))

int occurrence = mapget(key)

occurrence++

mapput(key occurrence)

else

mapput(key 1)

menghitung hasil peramlaan

Iterator iterator = mapkeySet()iterator()

while (iteratorhasNext())

int key = (Integer) iteratornext()

int occurrence = mapget(key)

peramalan = (peramalan + (pusat_cluster1[(key - 1)]

occurrence))

hasil_peramalan[i] = (peramalan countGroup[i])

Kode Program 510 Implementasi proses defuzzifikasi

53 Implementasi Antarmuka

Pada implementasi antarmuka dijelaskan beberapa halaman antarmuka untuk penggunaan dari program hasil implementasi Implementasi antarmuka berdasarkan perancangan yang telah dijelasakan pada bab sebelumnya yaitu bab perancangan Halaman antarmuka yang dibuat adalah halaman input halaman tampil data halaman proses halaman hasil dan halaman perhitungan error

531 Implementasi antarmuka halaman input

Halaman input merupakan halaman yang pertama muncul setelah program dijalankan Pada halaman input ini terdapat beberapa inputan yang harus di masukkan yaitu data input data training data testing order dan konstanta Selain itu pada halaman input juga terdapat tiga button yaitu button browse data button fuzzification dan button forecasting Berikut tampilan antarmuka halaman input yang ditunjukkan pada Gambar 51

Gambar 51 Implementasi antarmuka halaman input

80

532 Implementasi antarmuka halaman tampil data

Halaman tampil data merupakan halaman yang tampil setelah melakukan input data Halaman ini berisi tabel yang menampilkan data curah hujan suhu kecepatan angin dan kelembaban Berikut tampilan antarmuka halaman tampil data yang ditunjukkan pada Gambar 52

533 Implementasi antarmuka halaman proses

Halaman proses merupakan halaman yang muncul setelah button fuzzification telah dieksekusi Halaman proses ini terdiri dari tiga bagian atau tab yaitu clustering fuzzification dan Fuzzy logical relationship Pada halaman antarmuka clustering menampilkan Universe of Discourse dan jumlah cluster pada masing ndash masing faktor Berikut merupakan tampilan antarmuka halaman proses bagian clustering yang ditunjukkan pada Gambar 53

Gambar 52 Implementasi antarmuka halaman tampil data

Gambar 53 Implementasi antarmuka halaman proses clustering

81

Pada tab selanjutnya yaitu pada tab fuzzification tab ini menampilkan hasil proses fuzzifikasi Pada halaman ini menampilkan tabel yang berisi hasil fuzzifikasi dari setiap faktor Berikut merupakan tampilan antarmuka halaman proses bagian fuzzification yang ditunjukkan pada Gambar 54

Pada tab Fuzzy Logical Relationship menampilakn hasil dari proses pembentukan Fuzzy Logical Relationship Tampilan pada halaman ini menampilkan berupa textarea yang berisi dari output proses tersebut Berikut merupakan tampilan antarmuka halaman proses bagian Fuzzy Logical Relationship yang ditunjukkan pada Gambar 55

Gambar 54 Implementasi antarmuka halaman proses fuzzification

Gambar 55 Implementasi halaman antarmuka proses FLR

82

534 Implementasi antarmuka halaman hasil

Pada implementasi antarmuka halaman hasil ini merupakan halaman yang menampilkan hasil dari proses defuzzifikasi Halaman hasil ini menampilkan tabel yang berisi data aktual dan data dari hasil peramlan Berikut merupakan tampilan antarmuka halaman hasil yang ditunjukkan pada Gambar 56

535 Implementasi antarmuka halaman perhitungan error

Pada implementasi antarmuka halaman perhitungan error merupakan halaman yang menampilkan hasil dari proses perhitungan Mean Square Error (MSE) Pada halaman antarmuka ini menampilkan hasil error MSE pada textfield Berikut merupakan tampilan antarmuka halaman perhitungan error yang ditunjukkan pada Gambar 57

Gambar 56 Implementasi halaman antarmuka hasil

Gambar 57 Implementasi halaman antarmuka perhitungan error

83

BAB 6 PENGUJIAN DAN ANALISIS

Pada bab ini membahas hasil pengujian dan analisis hasil pengujian dari hasil implementasi metode High Order Fuzzy Time Series Multi factors untuk peramalan curah hujan dasarian Pada pengujian ini disesuaikan dengan perancangan pengujian pada bab 4

61 Sistematika Pengujian

Pada bab sebelumnya yaitu bab 4 mengenai perancangan telah dibahas perancangan pengujian dikatakan bahwa pengujian akan dilakukan sebanyak empat pengujian Pengujian order pengujian threshold pengujian jumlah data training dan pengujian validasi sistem Dari semua pengujian tersebut akan di uji dan di analisis bagaimana pengaruhnya terhadap hasil perhitungan Mean Square Error (MSE)

62 Hasil dan Analisis Pembahasan

Berikut hasil pengujian dan analisis yang disesuaikan dengan perancangan pengujian pada bab sebelumnya

621 Pengujian pengaruh order terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh order terhadap nilai MSE Order merupakan urutan jumlah dari data time series pada periode waktu t yang mempengaruhi nilai data Jadi jika nilai order adalah 3 maka peramalan akan melibatkan 3 data sebelumnya pada proses pembentukan Fuzzy Logical Relationship (FLR) Pada pengujian ini hanya nilai order yang diubah ndash ubah sedangkan variabel lain akan dibuat tetap Pengujian akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai variabel jumlah data training adalah 72 yaitu dari data Januari 2014 dasarian 1 sampai Desember 2015 dasarian 3 nilai data testing adalah 36 yaitu dasarian 1 Januari 2016 sampai dasarian 3 Desember 2016 konstanta adalah 10 Nilai threshold diperoleh dari perhitungan jumlah faktor dikali order dan dijumlah nilai konstanta Berikut adalah hasil pengujian pengaruh order terhadap nilai MSE yang ditunjukkan pada Tabel 61

Tabel 61 Hasil pengujian order terhadap nilai MSE

No Order Threshold MSE

1 3 22 808585

2 6 34 965547

3 9 46 912631

4 12 58 875884

5 15 70 719284

6 18 82 6801207

7 21 94 5637184

8 24 106 5444184

9 27 118 5433631

10 30 130 5418393

84

Dari hasil pengujian order seperti yang telah ditunjukkan pada Tabel 61 maka pada percobaan pertama dengan order = 3 dan threshold 22 dapat diperoleh MSE sebesar 808585 Selanjutnya pada percobaan kedua dengan order = 6 dan threshold = 34 diperoleh MSE sebesar 965547 Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 61

Berdasarkan Gambar 61 order yang berbeda - beda mempengaruhi besar nilai MSE Dalam penelitian ini menentukan order memiliki ketentuan yaitu nilai order harus lebih dari 0 dan batas maksimal order adalah setengah dari nilai data training (LinYang 2009) Nilai MSE terbesar yang ditunjukkan pada pengujian ini adalah 965547 pada pengujian order 6 dan nilai MSE terkecil adalah 5418393 pada pengujian order 30 Pada Gambar 61 menunjukkan bahwa pada order 3 ke order 6 mengalami peningkatan nilai MSE selanjutnya pada order 6 hingga order 30 mengalami penurunan Pada order 3 memiliki nilai MSE lebih kecil dari order 6 order 9 dan order 12 karena memiliki lebih banyak hasil selisih tingkat kecocokan data time series yang tidak terlalu besar dan kurang dari threshold Selain itu karena data time series dari data sampel yang diperoleh memiliki pola data musiman dimana perubahan pola data dasarian tidak terlalu banyak berubah dari tahun ke tahun Selanjutnya pada order 6 hingga order 30 menunjukkan penurunan nilai MSE dan order terbesar memiliki nilai MSE terkecil sehingga dapat disumpulkan bahwa semakin besar order maka semakin kecil pula nilai MSE Dalam hal ini dengan semakin besarnya order maka data sebelumnya yang digunakan untuk pertimbangan dalam menentukan peramalan semakin banyak Sehingga semakin besar nilai order maka dapat membuat peramalan semakin akurat Dalam pengujian ini memimiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoImplementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emasrdquo yang menyatakan bahwa semakin besar nilai order maka semakin kecil nilai kesalahannya (Wardhani et al 2015)

Gambar 61 Grafik hasil pengujian order terhadap nilai MSE

85

622 Pengujian pengaruh threshold terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh threshold terhadap nilai MSE Threshold merupakan hasil dari mengalikan jumlah order dengan jumlah faktor pada data kemudian dijumlahkan dengan dengan nilai konstanta Pada proses defuzzifikasi terdapat proses menghitung selisih antara pangkat bawah Fuzzy Logical Relationship (FLR) data training dan pangkat bawah FLR data testing Selanjutnya setelah mendapatkan nilai selisih maka nilai selisih tersebut dibandingkan dengan nilai threshold untuk mencari FLR yang cocok Pada pengujian ini nilai konstanta saja yang diubah ndash ubah sementara variabel lainnya tetap Pengujian akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai variabel jumlah data training adalah 72 yaitu dari data Januari 2014 dasarian 1 sampai Desember 2015 dasarian 3 nilai data testing adalah 36 yaitu dasarian 1 Januari 2016 sampai dasarian 3 Desember 2016 dan Nilai order adalah 30 Pada penentuan input konstanta nilai minimal harus lebih besar dari 0 dan nilai maksimal menyesuaikan data sampel yang digunakan (LinYang 2009) Berikut adalah hasil pengujian pengaruh threshold terhadap nilai MSE yang ditunjukkan pada Tabel 62

Tabel 62 Hasil pengujian threshold terhadap nilai MSE

No Konstanta Threshold MSE

1 10 130 558485

2 20 140 577498

3 30 150 597364

4 40 160 604660

5 50 170 646951

6 60 180 680257

7 70 190 703013

8 80 200 741484

9 90 210 756749

10 100 220 780600

Dari hasil pengujian threshold seperti yang telah ditunjukkan pada Tabel 62 maka dapat dilihat bahwa konstanta yang dilakukan pengujian dimulai dengan nilai 10 sampai 100 Hasil yang didapat pada percobaan pertama dengan konstanta = 10 dan threshold 130 diperoleh MSE sebesar 558485 Selanjutnya pada percobaan kedua dengan konstanta = 20 dan threshold = 140 diperoleh MSE sebesar 577498 Selanjutnya dapat kita lihat pada percobaan yang telah dilakukan dari percobaan pertama hingga percobaan kesepuluh nilai MSE yang diperoleh mengalami perubahan pada setiap percobaan Dapat dilihat bahwa peningkatan MSE lebih dominan menunjukkan peningkatan sehingga dalam hal ini semakin besar nilai konstanta dan threshold maka semakin besar pula nilai MSE yang diperoleh Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 62

86

Berdasarkan grafik dari Gambar 62 nilai input konstanta yang berbeda - beda mempengaruhi besar nilai MSE semakin besar nilai konstanta maka nilai threshold juga semakin besar karena threshold diperoleh dari perhitungan order dikali jumlah faktor dan selanjutnya dijumlah dengan nilai konstanta Dalam hal ini dengan semakin besar nilai threshold maka dalam proses seleksi untuk mencari nilai selisih FLR juga semakin luas batasannya dan jika semakin kecil nilai threshold maka dalam proses seleksi untuk mencari nilai selisih FLR menjadi semakin sempit dan mempermudah proses peramalan karena hanya adanya sedikit data yang cocok dengan data yang akan diramalkan dan mempermudah proses defuzzifikasi Oleh karena itu semakin kecil threshold maka dapat membuat peramalan semakin akurat Akan tetapi nilai threshold tidak boleh terlalu kecil karena dapat menyebabkan kegagalan peramalan Kegagalan peramalan itu terjadi karena tidak adanya data training yang cocok dengan data testing karena pada metode yang digunakan pada penelitian ini sangat bergantung pada data ndash data sebelumnya Dari hasil percobaan diatas hasil MSE terbesar adalah 7806 yaitu pada konstanta 100 serta threshold 220 dan hasil MSE terkecil adalah 558485 yaitu pada konstanta 10 dan threshold 130 Dalam pengujian ini memiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoImplementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emasrdquo yang menyatakan bahwa semakin kecil nilai konstanta maka semakin kecil nilai kesalahannya (Wardhani et al 2015)

623 Pengujian pengaruh jumlah data training terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh jumlah data training terhadap nilai MSE Pada pengujian ini jumlah data training adalah data dasarian yaitu 1 tahun 2 tahun 3 tahun 4 tahun dan 5 tahun dimana dari setiap 1 tahun memiliki 36 data dasarian Pengujian ini akan dilakukan sebanyak lima kali Pada pengujian ini jumlah data testing adalah 36 nilai order adalah setengah dari

Gambar 62 Grafik hasil pengujian threshold terhadap nilai MSE

87

nilai data training nilai konstanta adalah 20 Berikut adalah hasil pengujian pengaruh jumlah data training terhadap nilai MSE yang ditunjukkan pada Tabel 63

Tabel 63 Hasil pengujian jumlah data training terhadap nilai MSE

No Jumlah Data Training MSE

1 36 786586

2 72 634527

3 108 627190

4 144 614184

5 180 539698

Dari hasil pengujian jumlah data training seperti yang telah ditunjukkan pada Tabel 63 maka pada percobaan pertama dengan data training = 36 dapat diperoleh MSE sebesar 786586 Selanjutnya pada percobaan kedua dengan data training = 72 diperoleh MSE sebesar 634527 Dalam hal ini dari percobaan satu dan dua nilai MSE mengalami penurunan Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 63

Berdasarkan dari Gambar 63 pengujian pertama sampai pengujian kelima mengalami penerunan nilai MSE Sehingga dapat disimpulkan bahwa semakin besar data training maka semakin kecil nilai MSE yang diperoleh Nilai MSE semakin kecil apabila menggunakan data training dalam jumlah besar karena data yang digunakan memiliki rentang jauh dari periode data testing atau data yang akan diramalkan Sedangkan data training yang sedikit memiliki nilai MSE yang besar karena data training yang memiliki kecocokan dengan data testing berada pada periode yang jauh dengan data testing sehingga nilai MSE menjadi tinggi Dalam hal ini terbukti bahwa metode yang digunakan pada penelitian ini memerlukan jumlah data training yang banyak sehingga dapat menurunkan nilai kesalahannya Dari hasil percobaan diatas hasil MSE terbesar adalah 786586 dan

Gambar 63 Grafik hasil pengujian data training terhadap nilai MSE

88

hasil MSE terkecil adalah 539698 Dalam pengujian ini memimiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoPeramalan Jumlah Kunjungan Wisatawan Kota Batu Menggunakan Metode Time Invariant Fuzzy Time Seriesrdquo yang menyatakan bahwa semakin besar jumlah data training maka semakin kecil nilai kesalahannya (Elfajar et al 2017)

624 Pengujian validasi sistem

Pada pengujian ini dilakukan untuk mengetahui kestabilan dari sistem dengan menggunakan order threshold terbaik dari pengujian sebelumnya Pada pengujian ini akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai data training menggunakan 36 data yang berbeda agar dapat menunjukkan gambaran variasi dari nilai kesalahan MSE pada peramalan nilai order adalah 18 dan konstanta adalah 10 sehingga nilai threshold adalah 92 Berikut adalah hasil pengujian validasi sistem yang ditunjukkan pada Tabel 64

Tabel 64 Hasil pengujian validasi sistem

Percobaan ke- MSE

1 714290

2 703856

3 732564

4 732815

5 6973958

6 7532825

7 741726

8 760457

9 709961

10 6256204

Dari hasil pengujian validasi sistem seperti yang telah ditunjukkan pada Tabel 64 maka dapat digambarkan dengan grafik yang ditunjukkan oleh Gambar 64

Gambar 64 Grafik hasil pengujian validasi sistem

89

Berdasarkan dari gambar grafik Gambar 64 bahwa pengujian dari validasi sistem memiliki hasil MSE yang tidak terlalu jauh berbeda dari penggunaan data yang berbeda - beda Oleh karena itu dapat disimpulkan bahwa implementasi dari metode High Order Fuzzy Time Series Multi Factors yang telah digunakan sudah cukup baik untuk digunakan peramalan

Berdasarkan dari pengujian yang dilakukan diatas dapat diketahui bahwa nilai MSE terkecil terdapat pada pengujian jumlah data training yaitu dengan nilai MSE sebesar 539698 Nilai tersebut diperoleh dari pengujian jumlah data training dasarian dari tahun 2011 hingga 2015 untuk melakukan peramalan pada data dasarian tahun 2016 Nilai order adalah 90 dan konstanta adalah 10 Berikut adalah perbandingan data aktual dengan hasil peramalan yang ditunjukkan pada grafik Gambar 65

Gambar 65 Grafik perbandingan data aktual dengan hasil peramalan

90

BAB 7 PENUTUP

Pada bab ini terdiri dari dua sub bab yaitu kesimpulan dan saran Kesimpulan adalah tahapan yang berisi hasil penelitian yang dilakukan dan jawaban semua rumusan masalah yang sudah ditetapkan sebelumnya dan saran adalah tahapan yang berisi hasil yang telah dicapai untuk memperbaiki kekurangan - kekurangan yang terjadi pada penelitian ini serta memberikan pertimbangan pada pengembangan penelitian lebih lanjut

71 Kesimpulan

Pada kesimpulan ini mengacu pada penelitian yang telah dilakukan yang meliputi perancangan implementasi serta pengujian dan analisis terhadap hasil implementasi peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors maka dapat diambil kesimpulan sebagai berikut

1 Berdasarkan dari implementasi metode High Order Fuzzy Time Series Multi Factors dalam melakukan peramalan curah hujan dasarian dilakukan dengan beberapa langkah yaitu langkah pertama perhitungan Universe of Discourse yang terdiri perhitungan mean standar deviasi dan perhitungan Dmin serta Dmax langkah kedua yaitu perhitungan jumlah cluster langkah ketiga yaitu perhitungan pusat cluster langkah keempat yaitu pembentukan subinterval dan fuzzy set langkah kelima yaitu proses fuzzifikasi langkah keenam yaitu pembentukan Fuzzy Logical Relationship(FLR) langkah ketujuh adalah defuzzifikasi yang hasil outputnya merupakan hasil peramalan curah hujan

2 Berdasarkan dari pengujian peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors maka dapat diketahui bahwa

a Order berpengaruh terhadap nilai error semakin besar nilai order maka hasil peramalan semakin baik

b Threshold berpengaruh terhadap nilai error semakin rendah nilai threshold maka hasil peramalan semakin baik Akan tetapi nilai threshold tidak boleh terlalu rendah karena dapat menyebabkan kegagalan peramalan

c Data training berpengaruh terhadap nilai error semakin besar jumlah data training maka hasil peramalan semakin baik Sehingga peramalan menggunakan metode High Order Fuzzy Time Series Multi Factors memerlukan banyak data training

d Hasil implementasi peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors cukup baik digunakan untuk peramalan Hal ini terbukti hasil pengujian validasi sistem menunjukkan grafik yang cukup stabil

Dari pengujian yang telah dilakukan nilai MSE terkecil terdapat pada pengujian jumlah data training yaitu dengan nilai MSE sebesar 539698 Nilai tersebut diperoleh dari pengujian jumlah data training dasarian dari tahun

91

2011 hingga 2015 untuk melakukan peramalan pada data dasarian tahun 2016

72 Saran

Pada penelitian ini dilakukan peramalan curah hujan dasarian dengan faktor yang mempengaruhi adalah suhu kelembaban dan kecapatan angin Saran penulis diharapkan untuk penelitian selanjutnya melakukan penambahan faktor yang mempengaruhi curah hujan atau melakukan peramalan objek lain dengan mempertimbangkan faktor ndash faktor yang mempengaruhinya Serta diharapkan pada penelitian selanjutnya untuk menambahkan data yang lebih banyak serta bervariatif sehingga nilai hasil perhitungan akurasi peramalan yang dihasilkan dalam penelitian dapat meningkat Penggunaan data training yang banyak dan bervariatif dapat membuat pola data semakin terlihat sehingga hasil peramalan yang dihasilkan memiliki akurasi yang lebih baik

92

DAFTAR PUSTAKA

Ardiyanto 2016 ldquoTerendam Air Petani Lamongan Terpaksa Panen Dinirdquo Times Indonesia November 18 httpwwwtimesindonesiacoidread13688520161118102415terendam-air-petani-lamongan-terpaksa-panen-dini (Diakses 25 Februari 2017)

Badan Penelitian dan Pengembangan Pertanian Kementrian Pertanian 2015 ldquoKalender Tanam Terpadu Versi 25 Kota Malang Prov Jawa Timurrdquo httpkatamlitbangpertaniangoidkatam_terpadu2016mh33535733573_tinggipdf (Diakses 25 Februari 2017)

Bagirov M Adil Mahmood Arshad and Barton Andrew 2017 Prediction of monthly rainfall in Victoria Australia Clusterwise linear regression approach Elsevier Atmos Research 188 20-29

BMKG Staklim Karangploso Malang 2015 ldquoAnalisis Dinamika Atmosfer Dan Laut Dasarian III Maret 2015 Update 2 April 2015rdquo httpkarangplosojatimbmkgogoidindexphpanalisis-kondisi-dinamika-atmosfer-laut-dasarian-tahun-2015399-analisis-dinamika-atmosfer-dan-laut-dasarian-iii-maret-2015-update-2-april-2015axzz3X8h9y4fgampgsctab=0 (Diakses 25 Februari 2017)

BPS Kabupaten Malang 2016 ldquoKabupaten Malang Dalam Angka 2016rdquo httpsmalangkabbpsgoidwebsitepdf_publikasiKabupaten-Malang-Dalam-Angka-2016pdf (Diakses 25 Februari 2017)

BPS Jawa Timur 2015 ldquoJawa Timur Dalam Angka 2015rdquo httpsjatimbpsgoid4dmnpdf_publikasiJawa-Timur-Dalam-Angka-2015pdf (Diakses 25 Februari 2017)

Buffa S Elwood Rakesh and Sarin K 1996 Modern Production and Operation Management Eight Edition John Willey and Sons Inc London

Chen M 1996 Forecasting Enrollments based on Fuzzy Time Series Fuzzy Sets and Systems 311-319

Dewi Candra Kartikasari Dani Mursityo Yusi 2014 Prediksi Cuaca Pada Data Time Series Menggunakan Adaptive Neuro Fuzzy Inference System (ANFIS) Jurnal Teknologi Informasi dan Ilmu Komputer (JTIIK) Vol 1 No 1 hlm 18-24

Dewi Candra Muslikh M 2013 Perbandingan Akurasi Backpropagation Neural Network dan ANFIS Untuk Memprediksi Cuaca NATURAL-A Journal of Scientific Modeling amp Computation Volume 1 No1

Elfajar Aria Setiawan Budi Dewi Candra 2017 Peramalan Jumlah Kunjungan Wisatawan Kota Batu Menggunakan Metode Time Invariant Fuzzy Time Series Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer Vol 1 No 2 Hlmn 85-94

93

Fauziah Normalita Wahyuningsih Sri dan Nasution Yuki 2016 Peramalan Menggunakan Fuzzy Time Series Chen (Studi Kasus Curah Hujan Kota Samarinda) Vol4 Statistika

Forest Mahyu 2015 ldquoDefenisi amp Pengertian Kelembabanrdquo httpilmupengetahuaalamblogspotcoid201506defenisi-pengertian-kelembabanhtml (Diakses 25 Februari 2017)

Irsyad Muhammad Metarice Sonya 2013 Penerapan Metode Automatic Clustering dan High Order Fuzzy Time Series Pada Peramalan Curah Hujan Jurnal Sains dan Teknologi Industri Vol 10 No 02

Klawon F 2001 What is About Fuzzy Clustering Understanding and Improving the Concept of the Fuzzier Science Journal httppublic-rzfh-wolfebuetteldeklawon

Kurniawan Carlos 2007 Analisis dan Perancangan Program Aplikasi Peramalan Curah Hujan dengan Metode Wavelet (Studi Kasus BMKG)

Kusumadewi S 2003 ldquoArtificial Intelegence (Teknik amp Aplikasinya)rdquo Graha Ilmu Yogyakarta

Kusumadewi S Purnomo H 2004 ldquoAplikasi Logika Fuzzy untuk Pendukung Keputusanrdquo Graha Ilmu Yogyakarta

Kusumadewi Sri 2002 Analisis amp Desain Sistem Fuzzy Tollbox MATLAB Graha Ilmu Yogyakarta

Lin Yupei Yang Y 2009 Stock Markets Forecasting Based on Fuzzy Time Series Model IEEE Conference Publications 782-886

Makridakis S Steven C Wheelwright Victor E and Gee MC 1999 Metode dan Aplikasi Peramalan Jilid I Edisi Kedua Jakarta Binarupa Aksara

Mirawati T Yasin H and Rusgiyono A 2013 Prediksi Curah Hujan dengan Metode Kalman Filter(Studi Kasus di Kota Semarang 2012) Jurnal Gaussian 2(3) pp 239-248

Pradipta Nur Sembiring Pasukat Bangun Pengarapen 2013 Analisis Pengaruh Curah Hujan di Kota Medan Saintia Matematika Vol 1

Sipayung Putri Metha 2013 Pemodelan Hubungan Kelembapan Udara terhadap Curah Hujan (Studi Kasus Curah Hujan Periode 2001-2009 pada Stasiun Dramaga) httprepositoryipbacidhandle12345678960623 (Diakses 25 Februari 2017)

User 2015 httpstaklimnegaranet[Online] Available at httpwwwstaklimnegaranetindexphpbuletin-hujanpengertian-istilah (Diakses 25 Februari 2017)

Wang Nai-Yi Chen Shyi-Ming 2009 Temperature prediction and TAIFEX forecasting based on automatic clustering techniques and two-factors high-order fuzzy time series Elsevier Expert Systems with Applications 36 2143ndash2154

94

Wardhani Dessy Ratnawati Dian Setiawan Budi 2015 Implementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Saham Repositori Jurnal Mahasiswa PTIIK UB Doro Jurnal Vol 6 No 6

Wiyanti T and Pulungan R 2012 Peramalan Deret Waktu Menggunakan Model Fungsi Basis Radial (RBF) dan Auto Regressive Integrated Moving Average (ARIMA) Jurnal MIPA 35(2) pp 175-182

Yunanto Utomo 2014 ldquoBMKG Akui Prakiraan Cuacanya Masih Kurang Akuratrdquo Kompas Sains Januari 30 httpwwwtimesindonesiacoidread13688520161118102415terendam-air-petani-lamongan-terpaksa-panen-dini (Diakses 25 Februari 2017)

  • Bagian Depanpdf
  • BAB Ipdf
  • BAB IIpdf
  • BAB IIIpdf
  • BAB IVpdf
  • BAB Vpdf
  • BAB VIpdf
  • BAB VIIpdf
  • Daftar Pustakapdf
Page 11: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI

xi

DAFTAR TABEL

Tabel 21 Kajian Pustaka 5

Tabel 22 Fuzzy Logic Relationship 19

Tabel 23 Peramalan fuzzy set 20

Tabel 41 Data Sampel Perhitungan Manual 46

Tabel 42 Hasil kuadrat dari selisih data ke-i dan mean 47

Tabel 43 Nilai minimum nilai maksimum dan standar deviasi 47

Tabel 44 Hasil Universe of Discourse 48

Tabel 45 Nilai absolut selisih data hari ke-t dengan hari sebelumnya 48

Tabel 46 Hasil jumlah cluster data 49

Tabel 47 Matriks partisi awal pada cluster data A 50

Tabel 48 Derajat keanggotaan matriks partisi data A 51

Tabel 49 Perhitungan pusat cluster data A 52

Tabel 410 Fungsi objektif data A 53

Tabel 411 Perbaikan matriks partisi 54

Tabel 412 Hasil perbaikan matriks partisi 54

Tabel 413 Hasil pusat cluster 55

Tabel 414 Batas subinterval masing ndash masing atribut data 55

Tabel 415 Hasil derajat keanggotaan dan fuzzy set data A 57

Tabel 416 Hasil fuzzifikasi semua data attribut 57

Tabel 417 Hasil pembentukan FLR data training 58

Tabel 418 Hasil pembentukan FLR data testing 58

Tabel 419 Frekuensi FLR yang cocok dengan data testing 59

Tabel 420 Perbandingan data aktual dan hasil peramalan 60

Tabel 421 Rancangan pengujian order terhadap nilai MSE 64

Tabel 422 Rancangan pengujian threshold terhadap nilai MSE 65

Tabel 423 Rancangan pengujian jumlah data training terhadap nilai MSE 65

Tabel 424 Rancangan pengujian validasi sistem 66

Tabel 51 Spesifikasi Perangkat Keras 67

Tabel 52 Spesifikasi Perangkat Lunak 67

Tabel 61 Hasil pengujian order terhadap nilai MSE 83

xii

Tabel 62 Hasil pengujian threshold terhadap nilai MSE 85

Tabel 63 Hasil pengujian jumlah data training terhadap nilai MSE 87

Tabel 64 Hasil pengujian validasi sistem 88

xiii

DAFTAR GAMBAR

Gambar 21 Representasi linear naik 11

Gambar 22 Representasi linear turun 12

Gambar 23 Representasi kurva segitiga 12

Gambar 31 Diagram blok metodologi penelitian 22

Gambar 41 Diagram alir metode penelitian yang digunakan (bagian 1) 25

Gambar 42 Diagram alir metode penelitian yang digunakan (bagian 2) 26

Gambar 43 Diagram alir proses perhitungan Universe of Discourse 27

Gambar 44 Diagram alir proses perhitungan mean 28

Gambar 45 Diagram alir proses perhitungan standar deviasi 29

Gambar 46 Diagram alir perhitungan nilai Min dan Max 30

Gambar 47 Diagram alir proses perhitungan jumlah cluster 31

Gambar 48 Diagram alir proses perhitungan pusat cluster (bagian 1) 32

Gambar 49 Diagram alir proses perhitungan pusat cluster (bagian 2) 33

Gambar 410 Diagram alir proses perhitungan pusat cluster (bagian 3) 34

Gambar 411 Diagram alir proses perhitungan pusat cluster (bagian 4) 35

Gambar 412 Diagram alir proses perhitungan pusat cluster (bagian 5) 36

Gambar 413 Diagram alir pembentukan subinterval dan fuzzy set (bagian 1) 37

Gambar 414 Diagram alir pembentukan subinterval dan fuzzy set (bagian 2) 38

Gambar 415 Diagram alir proses fuzzifikasi (bagian 1) 39

Gambar 416 Diagram alir proses fuzzifikasi (bagian 2) 40

Gambar 417 Diagram alir proses Pembentukan FLR (bagian 1) 41

Gambar 418 Diagram alir proses Pembentukan FLR (bagian 2) 42

Gambar 419 Diagram alir proses Pembentukan FLR (bagian 3) 43

Gambar 420 Diagram alir proses defuzzifikasi (bagian 1) 44

Gambar 421 Diagram alir proses defuzzifikasi (bagian 2) 45

Gambar 422 Grafik fuzzy set data A 56

Gambar 423 Rancangan antarmuka halaman input 61

Gambar 424 Rancangan antarmuka halaman tampil data 61

Gambar 425 Rancangan antarmuka halaman proses clustering 62

Gambar 426 Rancangan antarmuka proses fuzzifikasi 62

xiv

Gambar 427 Rancangan antarmuka proses fuzzy logical relationship 63

Gambar 428 Rancangan antarmuka halaman hasil peramalan 63

Gambar 429 Rancangan antarmuka halaman perhitungan error 64

Gambar 51 Implementasi antarmuka halaman input 79

Gambar 52 Implementasi antarmuka halaman tampil data 80

Gambar 53 Implementasi antarmuka halaman proses clustering 80

Gambar 54 Implementasi antarmuka halaman proses fuzzification 81

Gambar 55 Implementasi halaman antarmuka proses FLR 81

Gambar 56 Implementasi halaman antarmuka hasil 82

Gambar 57 Implementasi halaman antarmuka perhitungan error 82

Gambar 61 Grafik hasil pengujian order terhadap nilai MSE 84

Gambar 62 Grafik hasil pengujian threshold terhadap nilai MSE 86

Gambar 63 Grafik hasil pengujian data training terhadap nilai MSE 87

Gambar 64 Grafik hasil pengujian validasi sistem 88

Gambar 65 Grafik perbandingan data aktual dengan hasil peramalan 89

xv

DAFTAR KODE PROGRAM

Kode Program 51 Implementasi proses Universe of Discourse 68

Kode Program 52 Implementasi proses mean 68

Kode Program 53 Implementasi proses standar deviasi 69

Kode Program 54 Implementasi proses Dmin dan Dmax 69

Kode Program 55 Implementasi proses jumlah cluster 70

Kode Program 56 Implementasi proses pusat cluster 72

Kode Program 57 Implementasi pembentukan subinterval dan fuzzy set 74

Kode Program 58 Implementasi proses fuzzifikasi 75

Kode Program 59 Implementasi pembentukan FLR 77

Kode Program 510 Implementasi proses defuzzifikasi 79

xvi

DAFTAR LAMPIRAN

Lampiran 1 Tabel Data Sampel 95

1

BAB 1 PENDAHULUAN

11 Latar belakang

Kabupaten Malang merupakan salah satu kabupaten di Jawa Timur yang terkenal akan potensi alam yang dimiliki (BPS Kabupaten Malang 2016) Dalam hal ini terkenal akan potensi alamnya karena kabupaten Malang memiliki tingkat produksi di sektor pertanian yang cukup tinggi dimana hampir seluruh kecamatan di kabupaten Malang memiliki lahan pertaniaaan (BPS Jatim 2015) Permasalahan yang terjadi pada sektor pertanian yaitu terjadinya gagal panen apabila memasuki musim penghujan dengan curah hujan yang tinggi yaitu diatas 200 mm per bulan serta apabila memasuki musim kemarau dengan curah hujan yang rendah yaitu dibawah 100 mm per bulan (BMKG Staklim Karangploso Malang 2015) Dalam mengatasi hal tersebut upaya yang dilakukan petani selama ini hanya melakukan tindakan seperti melakukan panen secara dini Upaya ini dianggap petani cukup efektif dalam mengurangi besarnya kerugian gagal panen akan tetapi sebaiknya yang dilakukan adalah melakukan suatu tindakan agar kerugian yang dialami petani tidak terjadi lagi (Ardiyanto 2016)

Salah satu contoh tindakan yang dapat dilakukan adalah membuat Kalender Tanam (KATAM) KATAM dapat digunakan petani sebagai alat bantu atau pedoman dalam menentukan awal musim tanam terbaik seperti yang telah dilakukan oleh Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian Dalam pembuatan KATAM Balitbang menggunakan data peramalan curah hujan dari Badan Meteorologi Klimatologi dan Geofisika (BMKG) Akan tetapi BMKG mengakui bahwa prakiraan cuacanya saat ini memang masih kurang akurat dan masih kalah dengan prakiraan cuaca di Amerika Serikat (Yunanto 2014) Pentingnya akan prakiraan cuaca terbukti adanya beberapa penelitian sebelumnya yaitu penelitian prakiraan cuaca dengan input faktor yang mempengaruhi cuaca yang berupa data time series menggunakan metode Adaptive Neuro Fuzzy Inference System (ANFIS) (Dewi 2014) dan penelitian mengenai prediksi cuaca menggunakan metode Backpropagation Neural Network yang terbukti memiliki nilai akurasi yang baik dalam prediksi cuaca (Dewi 2013)

Teknik atau metode peramalan curah hujan yang sering digunakan BMKG adalah metode Autoregressive Integrated Moving Average (ARIMA) ANFIS dan Wavelet (Kurniawan 2007) Namun dalam penerapannya gabungan dari ketiga metode tersebut masih kurang memuaskan yaitu tingkat akurasinya hanya mencapai 60 - 70 Menurut BMKG kurangnya tingkat akurasinya ini disebabkan oleh keadaan pola atmosfer di Indonesia yang selalu berubah ndash ubah dan kurang menentu

Selain metode yang digunakan oleh BMKG adapun penelitian sebelumnya yang meramalkan curah hujan yaitu penelitian menggunakan metode Fuzzy Time Series Chen dengan studi kasus curah hujan di Samarinda dalam penelitian ini menggunakan data time series curah hujan bulanan dengan kesimpulan pengunaan data yang sedikit memiliki tingkat akurasi lebih tinggi dibandingkan

2

menggunakan data yang banyak yaitu menghasilkan nilai RMSE terkecil 7368 dan MAE terkecil 539 (Fauziah et al 2016)

Selain peramalan yang hanya menggunakan data time series dari data yang akan diramalkan juga terdapat penelitian sebelumnya yang menggunakan faktor - faktor yang mempengaruhi dari data yang akan diramalkan Salah satunya yaitu penelitian dengan menggunakan metode Clusterwise Linear Regression (CLR) Penelitian ini menggunakan data bulanan pada delapan stasiun cuaca di kota Victoria Australia Peramalan curah hujan pada penelitian ini menggunakan faktor yang mempengaruhi yaitu suhu maksimum suhu minimum penguapan tekanan uap dan radiasi matahari Hasil penelitian ini terbukti dapat melakukan peramalan curah hujan dengan hasil yang cukup baik yaitu dengan nilai RMSE terkecil 197 dan MAE terkecil 129 (Bagirov et al 2017)

Berdasarkan paparan yang telah dijelaskan penulis memiliki ide untuk melakukan penelitian dengan judul ldquoPeramalan Curah Hujan dengan Metode High Order Fuzzy Time Series Multi Factorsrdquo Pada metode ini dilakukan klasterisasi data untuk membangun subinterval dengan menggunakan metode fuzzy C-means (LinYang 2009) Dari proses hasil klasterisasi akan digunakan untuk membagi data semesta yang selanjutnya menghasilkan fuzzy set atau himpunan fuzzy yang menggambarkan fitur data (LinYang 2009) Keunggulan dari metode fuzzy time series dengan multi faktor yaitu dengan berdasarkan pada penelitian ndash penelitian sebelumnya yang menggunakan metode tersebut yaitu penelitian prediksi harga emas dengan beberapa faktor yang mempengaruhi menggunakan metode Multi-factors High order Fuzzy Time Series Model dari hasil penelitian ini dengan menggunakan metode evaluasi Mean Absolute Percentage Error (MAPE) dapat diperoleh nilai error terkecil sebesar 0443 (Wardhani et al 2015) dan penelitian peramalan Indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen menggunakan metode Fuzzy Time Series Model dari penilitian ini menunjukan tingkat Average Relative Error (ARError) sebesar 176 untuk bursa efek harian Shanghai sedangkan untuk bursa efek harian Shenzhen didapatkan ARError sebesar 187 (Lin Yang 2009) terbukti menghasilkan hasil peramalan dengan tingkat akurasi yang cukup tinggi Penggunaan metode ini juga sesuai dengan curah hujan yang dipengaruhi oleh beberapa faktor yaitu kelembaban udara kecepatan angin dan suhu (Pradipta 2013) Penelitian ini diharapkan dapat memberikan hasil peramalan curah hujan yang lebih akurat dan memiliki nilai kesalahan yang lebih sedikit

12 Rumusan masalah

Berdasarkan latar belakang yang telah dipaparkan dibuatlah beberapa rumusan masalah sebagai berikut

1 Bagaimana mengimplementasikan Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

2 Berapa tingkat kesalahan dari hasil implementasi Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

3

13 Tujuan

Adapun maksud dan tujuan dari penelitian ini adalah sebagai berikut

1 Mengimplementasikan Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

2 Mengetahui tingkat kesalahan dari hasil implementasi Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

14 Manfaat

Adapun manfaat dari penelitian ini adalah sebagai berikut

1 Bagi Badan Meteorologi dan Geofisika (BMKG) untuk dapat memberikan peramalan curah hujan yang lebih akurat dari sebelumnya

2 Bagi Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian untuk dapat membuat Kalender tanam (KATAM) dengan menggunakan data ramalan curah hujan yang lebih akurat

3 Bagi penduduk kabupaten Malang khususnya yang bekerja pada sektor pertanian agar dapat mengoptimalkan hasil produksi dengan menyesuaikan penanaman sesuai dengan Kalender Tanam (KATAM) yang telah dibuat Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian

15 Batasan masalah

Penelitian ini dibatasi oleh hal ndash hal sebagai berikut

1 Data curah hujan kelembaban udara kecepatan angin dan suhu udara yang digunakan pada penelitian ini merupakan data berdasarkan dasarian dan hanya mencakup wilayah kabupaten Malang dan data diperoleh dari BMKG Karangkates Kabupaten Malang dengan data time series yang digunakan pada penelitian ini yaitu dari tahun 2011 - 2016

2 Model peramalan yang diterapkan adalah semua nilai yang membentuk pola dataset training dan testing diketahui nilainya

3 Perhitungan nilai tingkat kesalahan permalan menggunakan metode Mean Square Error (MSE)

16 Sistematika pembahasan

Sistematika pembahasan penelitian ditunjukkan untuk memberikan gambaran dan uraian dari penyusunan proposal yang meliputi beberapa bab sebagai berikut

BAB 1 PENDAHULUAN

Pada bab ini berisi latar belakang rumusan masalah tujuan penelitian manfaat penelitian batasan masalah sistematika pembahasan dan rencana kerja atau jadwal penelitian

4

BAB 2 LANDASAN KEPUSTAKAAN

Pada bab ini berisi tentang kajian pustaka dan dasar teori yang menjadi dasar dalam melakukan implementasi peramalan curah hujan dengan Metode High Order Fuzzy Time Series Multi Factors

BAB 3 METODOLOGI

Pada bab ini diuraikan tentang tahapan atau langkah ndash langkah yang dilakukan dalam proses penelitian tentang peramalan curah hujan dengan metode High Order Fuzzy Time Series Multi Factors Langkah ndash langkah tersebut terdiri dari tahapan penelitian teknik pengumpulan data algoritma yang digunakan lingkungan pengujian dan pengujian algoritma yang digunakan serta pengambilan kesimpulan

BAB 4 PERANCANGAN

Pada bab ini berisi tentang perancangan proses algoritma perhitungan manual metode High Order Fuzzy Time Series Multi Factors perancangan antar muka dan perancangan pengujian

BAB 5 IMPLEMENTASI

Pada bab ini berisi tentang penjelasan peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors bagaimana user interface dan source code dalam pengimplementasian metode ini

BAB 6 PENGUJIAN DAN ANALISIS

Pada bab ini berisi tentang penjelasan proses dan hasil pengujian dari implementasi metode High Order Fuzzy Time Series Multi Factors dalam peramalan curah hujan serta analisis dari pengujian tersebut

BAB 7 PENUTUP

Pada bab ini berisi kesimpulan yang diperoleh dari hasil pengujian dan saran ndash saran untuk pengembangan penelitian selan

5

BAB 2 LANDASAN KEPUSTAKAAN

Bab ini berisi mengenai kajian pustaka dan dasar ndash dasar teori yang akan dibahas serta digunakan untuk menunjang topik ndash topik pembahasan Pada kajian akan dibahas perbedaan antara penelitian yang telah ada dengan penelitian yang diusulkan oleh penulis Sedangkan pada dasar teori akan dibahas mengenai teori ndash teori yang digunakan pada penelitian yang diusulkan

21 Kajian Pustaka

Pada kajian pustaka disini berisi mengenai perbandingan antara penelitian yang diusulkan oleh penulis dengan penelitian sebelumnya yang relevan Perbandingan tersebut dapat dilihat padat Tabel 21

Tabel 21 Kajian Pustaka

No Judul Objek dan Input Penelitian Metode

1 Penerapan Metode Automatic Clustering dan High Order Fuzzy Time Series Pada Peramalan Curah Hujan (Irsyad Metarice 2013)

Objek Curah hujan

Input Penelitian

Data aktual curah hujan

Metode High Order Fuzzy Time Series dan Automatic Clustering

Nilai evalusi

Mean Absolute Percentage Error (MAPE)

2 Peramalan Menggunakan Fuzzy Time Series Chen (Studi Kasus Curah Hujan Kota Samarinda) (Fauziah et al 2016)

Objek Curah Hujan

Input Penelitian

Data aktual curah hujan

Metode Fuzzy Time Series Chen

Nilai evaluasi

Mean Absolute Error (MAE) Root Mean of Square Error (RMSE)

3 Implementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emas (Wardhani et al 2015)

Objek Harga Emas

Input Penelitian

Kurs Dollar hari sebelumnya

Kurs Euro hari sebelumnya

Harga Emas London hari sebelumnya

Harga Emas hari sebelumnya

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

Nilai evalusi

Mean Absolute Percentage Error (MAPE)

4 Stock Markets Forecasting Based on Fuzzy Time Series Model (Lin Yang 2009)

Objek Indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

6

Input Penelitian

Historical return

Historical turnover volume

Rata ndash rata selisih pergerakan harga selama lima hari

Selisih antara kekuatan bull dan bear

Indeks komposit bursa efek harian Shanghai sebelumnya

Indeks komposit bursa efek harian Shenzhen

Nilai evalusi

Average Relative Error (ARError)

5 Peramalan Curah Hujan Menggunakan Metode High Order Fuzzy Time Series Multi Factors

Objek Curah hujan

Input Penelitian

Suhu

Kelembaban

Kecepatan angin

Curah hujan

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

Nilai evalusi

Mean Square Error (MSE)

Sumber (Irsyad Metarice 2013) (Fauziah et al 2016) (Wardhani et al 2015) dan (Lin Yang 2009)

Pada penelitian yang pertama yaitu penelitian yang dilakukan oleh Muhammad Irsyad dan Sonya Metarice pada tahun 2013 dengan objek penelitian yang diramalkan adalah curah hujan Inputan yang digunakan pada penelitian ini merupakan data aktual curah hujan bulanan Metode yang digunakan penelitian ini adalah Automatic Clustering dan High Order Fuzzy Time Series Pada penelitian ini metode Automatic Clustering digunakan untuk membangun interval dan High Order Fuzzy Time Series untuk melakukan peramalan curah hujan Kesimpulan yang diperoleh dari penelitian ini yaitu metode ini dapat diterapkan untuk permalan curah hujan dan hasil evaluasi menggunakan metode Mean Absolute Percentage Error(MAPE) dari beberapa bercobaan dapat diperoleh nilai kesalahan sebesar 437 Berdasarkan dari hasil nilai kesalahan tersebut maka tingkat kesalahan data pada permalan ini termasuk rendah

Pada tahun 2016 Normalita Fauziah Sri Wahyuningsih dan Yuki Novia Nasution melakukan penelitian dengan objek penelitian curah hujan di kota Samarinda Inputan yang digunakan pada penelitian berupa data aktual bulanan curah hujan di kota Samarinda Metode yang digunakan pada penelitian ini adalah Fuzzy Time Series Chen dengan dalam pembentukkan panjang interval berbasis rata ndash rata atau average based Pada penelitian ini permalan curah hujan terbaik yaitu dengan menggunkan data sebanyak 29 data dengan menghasilkan tingkat nilai kesalahan terkecil yaitu dengan metode Root Mean of Squared Error (RMSE) sebesar 7368 dan metode Mean Absolute Error (MAE) sebesar 539 Pada

(Lanjutan) Tabel 21 Kajian Pustaka

7

penelitian ini disimpulkan bahwa data sebanyak 29 data memiliki tingkat kesalahan lebih kecil dibandingkan dengan menggunakan data dengan jumlah sampel yang lebih banyak

Pada penelitian selanjutnya adalah penelitian yang dilakukan oleh Dessy Kusuma Wardhani Dian Eka Ratnawati dan Budi Darma Setiawan pada tahun 2015 dengan objek penelitian yang diramalkan adalah harga emas harian Inputan yang digunakan pada penelitian ini data aktual harian harga emas indonesia harga emas london kurs dollar ke rupiah dan kurs euro ke rupiah Metode yang digunakan pada penelitian pada pembentukkan sub interval menggunakan metode fuzzy C-means dan untuk peramalan menggunakan metode High Order Fuzzy Time Series Model Hasil pada penelitian ini berdasarkan menggunakan metode evaluasi Mean Absolute Percentage Error (MAPE) dapat diperoleh nilai error terkecil sebesar 0443 karena nilai error lebih kecil dari 10 menunjukkan bahwa metode ini sangat baik digunakan untuk peramalan harga emas

Pada tahun 2009 Yupei Lin dan Yiwei Yang melakukan penelitian dengan objek yang diramalkan adalah indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen Data input penelitian ini meliputi historical return historical turnover volume dan rata ndash rata selisih pergerakan harga selama lima hari serta selisih antara kekuatan bull dan bear Dalam penelitian ini pembentukan subinterval yang berfungsi dalam pendefinisian himpunan fuzzy dilakukan dengan menggunakan klasterisasi fuzzy C-means Hasil dari penilitian ini menunjukan tingkat Average Relative Error (ARError) sebesar 176 untuk bursa efek harian Shanghai sedangkan untuk bursa efek harian Shenzhen didapatkan ARError sebesar 187 Dalam hal ini membuktikan bahwa penelitian dapat menghasilkan peramalan yang cukup baik karena memiliki nilai ARError kurang dari 5

Pada penelitian ini membahas tentang peramalan curah hujan dasarian menggunakan metode High Order Fuzzy Time Series Multi Factors Terdapat empat inputan yang juga dijadikan sebagai variabel dalam penelitian ini yaitu kelembaban udara kecepatan angin suhu udara dan curah hujan Pembentukan subinterval yang berfungsi dalam pendefinisian fuzzy set dilakukan dengan menggunakan klasterisasi fuzzy C-means Penelitian ini menggunakan high order fuzzy logic relationship yaitu membentuk fuzzy logic relationship berdasarkan data dalam kurun waktu beberapa dasarian sebelum dasarian yang akan diramal Pada penelitian ini dalam melakukan perhitungan nilai error untuk mendapatkan hasil evaluasi menggunakan metode Mean Square Error (MSE)

22 Dasar Teori

Pada dasar teori disini dijelaskan tentang metode ndash metode yang digunakan pada penelitian ini yang meliputi peramalan curah hujan data time series logika fuzzy fuzzy C-means metode peramalan dengan Fuzzy Time Series High Order Fuzzy Time Series Multi Factors dan metode perhitungan keakuratan metode peramalan

8

221 Peramalan

Terdapat beberapa definisi tentang peramalan menurut Kamus Besar Bahasa Indonesia (KBBI) yaitu

a Peramalan merupakan prediksi rencana atau estimasi kejadian masa depan yang tidak pasti (KBBI)

b Peramalan adalah sebagai penggunaan teknik ndash teknik statistik dalam bentuk gambaran masa depan berdasarkan pengolahan angka ndash angka yang terjadi pada masa lalu (Buffa et al1996)

c Peramalan adalah bagian internal dari pengambilan keputusan manajemen (Makridakis et al1999)

Berdasarkan beberapa definisi diatas dapat disimpulkan bahwa peramalan merupakan tindakan apa yang akan terjadi di masa mendatang peramalan diperlukan untuk mengambil sebuah keputusan Dalam pengambilan keputusan harus diambil dari pertimbangan ndash pertimbangan yang ada Oleh karena itu peramalan sangat penting hubungannya dengan pengambilan keputusan sehingga kejadian di masa yang akan datang dapat dipersiapkan tindakan apa yang perlu dilakukan

222 Curah hujan

Curah hujan merupakan salah satu faktor penting yang mempengaruhi perubahan iklim suatu wilayah (Mirawati et al 2013) Salah satu contoh kasus nyata yaitu terjadinya perubahan iklim secara tiba ndash tiba atau bisa disebut dengan cuaca ekstrim Curah hujan dapat dijelaskan dengan air hujan yang terkumpul pada suatu wadah datar dimana air hujan tersebut tidak meresap tidak menguap dan tidak mengalir sehingga dapat diukur ketinggiannya Sebagai contoh curah hujan 1 (satu) milimeter dapat dijelaskan dalam suatu wadah datar dengan luas satu meter persegi tertampung air dengan ketinggian sekitar satu milimeter atau tertampung air sebanyak satu liter Metode dalam mendapatkan data curah hujan adalah dengan menggunakan penakar hujan yang kemudian diukur dengan satuan milimeter (mm) (User2015) Intensitas curah hujan dapat dikategorikan ringan jika dibawah 20mm dalam 24 jam dikategorikan lebat jika di atas 50mm dan dikategorikan sedang jika selang 20mm hingga 50mm (User 2015)

Curah hujan mempengaruhi beberapa sektor diantarannya sektor komunikasi dimana penggunaan frekuensi diatas 10 GHz dapat terkena redaman hujan (Mauludiyanto et al 2009) Akan tetapi curah hujan paling berpengaruh terhadap sektor pertanian Hal ini terbukti bahwa sebagian besar terjadinya penurunan produktifitas dan gagal panen di sektor pertanian adalah terjadinya curah hujan yang tinggi

Tinggi dan rendahnya curah hujan dipengaruhi oleh beberapa faktor yaitu kelembaban udara temperatur dan kecepatan angin Pada tahun 2013 Nur Suri Pradipta Pasukat Sembiring dan Pengarapen Bangun melakukan penelitian mengenai pengaruh curah hujan di kota Medan (Pradipta et al 2013)

9

Berdasarkan penelitian tersebut faktor yang mempengaruhi dan digunakan dalam peramalan curah hujan yaitu

1 Kelembaban udara

Kelembaban udara adalah banyaknya kandungan uap air di atmosfer Udara atmosfer adalah campuran dari udara kering dan uap air selain itu kelembaban udara merupakan komponen cuaca yang mempunyai peranan sangat penting bagi stabilitas kehidupan organisme di bumi maupun unsur-unsur cuaca yang lain (Forest 2015) Kelembaban udara berpengaruh terhadap curah hujan Hal ini didukung penelitian oleh (Sipayung et al 2013) yang menyatakan Kelembaban udara berpengaruh positif terhadap curah hujan

2 Kecepatan angin

Kecepatan angin merupakan kecepatan udara yang bergerak secara horizontal pada ketinggian 2 meter diatas tanah Dalam hal ini faktor yang menentukan kecepatan angin adalah perbedaan tekanan udara antara asal dan tujuan angin Kecepatan angin berpengaruh positif terhadap curah hujan artinya jika kecepatan angin tinggi maka curah hujan akan tinggi (Pradipta et al2013)

3 Suhu udara

Suhu udara merupakan ukuran energi kinetik rata ndash rata dari pergerakan molekul ndash molekul Suhu udara berpengaruh negatif terhadap curah hujan artinya jika suhu udara tinggi maka curah hujan akan berkurang (Pradipta et al2013)

223 Data time series

Data time series adalah data statistik yang telah dihimpun dari masa lampau hingga sekarang dan dapat digunakan sebagai acuan dalam melakukan peramalan terhadap data yang akan datang (Wiyanti amp Pulungan 2012) Data time series juga dapat didefinisikan sebagai sebuah kegiatan mengamati data statistik dimana terdapat korelasi (dependensi) antar datanya sehingga data yang sekarang sedang diamati memiliki ketergantungan dengan satu atau lebih data pengamatan sebelumnya (Mirawati et al 2013)

Terdapat dua teknik prediksi yang menggunakan basis data time series yaitu teknik model matematika statistik dan berdasarkan kecerdasan buatan (Wiyanti amp Pulungan 2012) Analisa time series sendiri memiliki beberapa peruntukan salah satunya digunakan dalam melakukan peramalan untuk masa yang akan datang Dalam penggunaan data time series merupakan salah satu proses peramalan kuantitatif dimana berdasar data kuantitatif masa lampau yang direpresentasikan dalam bentuk angka atau nilai (Mirawati et al 2013)

10

224 Logika Fuzzy

Pada tahun 1965 Prof Lotfi A Zadeh memperkenalkan teori logika fuzzy Logika fuzzy merupakan suatu komponen soft computing dan juga suatu cara yang tepat untuk memetakan suatu ruang input ke dalam ruang output Antara ruang input dan ruang output terdapat black box yang berfungsi memetakan input ke ruang output yang sesuai Dasar logika fuzzy adalah teori fuzzy set Pada teori fuzzy set peranan derajat keanggotaan sebagai penentu keberadaan elemen dalam suatu himpunan sangatlah penting Oleh karena itu derajat keanggotaan menjadi ciri utama dalam penalaran dengan logika fuzzy Logika fuzzy bekerja dengan menggunakan derajat keanggotan dari sebuah nilai yang kemudian digunakan untuk menentukan hasil yang ingin dihasilkan berdasarkan atas kriteria yang telah ditentukan (Kusumadewi 2003)

Berikut adalah beberapa alasan digunakannya logika fuzzy (Kusumadewi 2002)

1 Logika fuzzy sangat fleksibel

2 Konsep logika fuzzy mudah dimengerti dan dipahami

3 Logika fuzzy memiliki toleransi terhadap data ndash data yang homogen dan data ndash data yang kurang tepat

4 Logika fuzzy didasari pada bahasa alami atau bahasa sehari - hari sehingga mudah dimengerti

5 Logika fuzzy dapat bekerjasama dengan teknik ndash teknik kendali secara konvensional

6 Logika fuzzy mampu membangun dan mengaplikasikan pengalaman ndash pengalaman para pakar secara langsung tanpa harus melalui tahap atau proses pelatihan

A Himpunan Fuzzy

Himpunan fuzzy atau fuzzy set merupakan perluasan himpunan tegas atau himpunan crisp jadi fungsi karakteristik mencakup bilangan real pada interval [01] Dalam definisi lain himpunan fuzzy adalah suatu himpunan yang mewakili suatu keadaan atau kondisi tertentu dalam suatu variabel fuzzy Keanggotaan fuzzy berbeda dengan probabilitas jika keanggotaan fuzzy pada setiap fungsi karakteristik memberikan suatu pendapat atau keputusan sedangkan probabilitas menunjukan seberapa besar nilai kebenaran dalam fungsi karakteristik tersebut Contohnya yaitu nilai keanggotaan suatu himpunan fuzzy umur muda 09 berarti nilai dalam himpunan tersebut memiliki kemungkinan 90 anggotanya berumur muda dan 10 diharapkan tidak muda Dalam himpunan fuzzy suatu bilangan bisa memiliki dua keanggotaan sekaligus Himpunan fuzzy memiliki dua attribut (Kusumadewi2003)

11

1 Linguistik merupakan penamaan suatu himpunan yang mewakili suatu keadaan atau kondisi tertentu dengan menggunakan bahasa alami misalnya muda parobaya tua

2 Numeris merupakan suatu nilai (angka) yang menunjukkan ukuran dari suatu

variabel seperti 402550 dan sebagainya

B Fungsi Keanggotaan

Fungsi keanggotaan adalah suatu kurva yang menunjukkan pemetaan titik ndash titik input data ke dalam derajat keanggotaannya yang memiliki subinterval antara 0 sampai 1 (Kusumadewi Purnomo 2004) Salah satu cara yang dapat digunakan untuk mendapatkan nilai keanggotaan adalah dengan melalui pendekatan fungsi Ada beberapa fungsi keanggotaa yang dapat digunakan

1 Fungsi representasi linear

Pada fungsi representasi linear pemetaan input ke derajat keanggotaannya digambarkan sebagai suatu garis lurus Bentuk ini paling sederhana dan menjadi pilihan yang baik untuk mendekati suatu konsep yang kurang jelas Keadaan linear himpunan fuzzy terdiri dari dua keadaan yaitu keadaan linear naik dan keadaan linear turun Pada keadaan linear naik kenaikan himpunan dimulai pada nilai domain yang memiliki nilai derajat keanggotaan nol bergerak ke kanan menuju ke nilai domain yang memiliki derajat keanggotaan yang lebih tinggi seperti yang ditunjukkan Gambar 21 Persamaan fungsi keanggotaan pada representasi linear naik ditunjukkan oleh Persamaan 21

Fungsi Keanggotaan

120583(119909) = 0

(119909 minus 119886)(119887 minus 119886)1

119909 le 119886 119886 le 119909 le 119887119909 ge 119887

(21)

b a 0

1

Gambar 21 Representasi linear naik

Sumber Kusumadewi (2002)

120583(119909)

12

Pada keadaan linear turun berbanding terbalik dengan keadaan linear naik Garis lurus dimulai dari nilai domain dengan derajat keanggotaan tertinggi pada sisi kiri kemudian bergerak menurun ke nilai domain yang memiliki derajat keanggotaan lebih rendah yang ditunjukkan Gambar 22 Persamaan fungsi keanggotaan pada representasi linear turun ditunjukkan oleh Persamaan 22

Fungsi Keanggotaan

120583(119909) = (119887 minus 119909)(119887 minus 119886)0

119886 le 119909 le 119887

119909 ge 119887 (22)

2 Fungsi representasi kurva segitiga

Representasi kurva segitiga pada dasarnya merupakan gabungan antara 2 garis linear yaitu linear naik dan linear turun Fungsi representasi kurva segitiga ditandai oleh adanya tiga parameter abc yang akan menentukan koordinat x dari tiga sudut seperti ditunjukkan pada Gambar 23 Persamaan fungsi keanggotaan pada representasi kurva segitiga ditunjukkan oleh Persamaan 23

b a 0

1

Sumber Kusumadewi (2002)

Gambar 22 Representasi linear turun

120583(119909)

c a 0

1

b

Sumber Kusumadewi (2002)

Gambar 23 Representasi kurva segitiga

120583(119909)

13

Fungsi Keanggotaan

120583(119909) =

0 (119909 minus 119886)(119887 minus 119886) (119887 minus 119909)(119888 minus 119887)

119909 le 119886 119886119905119886119906 119909 ge 119888

119886 le 119909 le 119887 119887 le 119909 le 119888

(23)

225 Metode Fuzzy C-means

Fuzzy C-means (FCM) pertama kali diperkenalkan oleh Dunn dan dikembangkan oleh Bezdek yang banyak digunakan dalam pengenalan pola Metode ini merupakan pengembangan dari metode non-hierarkhi K-Means Cluster selanjutnya dilakukan iterasi sampai mendapatkan keanggotaan kelompok tersebut (Klawon 2001)

FCM merupakan salah satu algoritma fuzzy clustering dan juga teknik klasterisasi dimana tiap data ditentukan oleh derajat keanggotaanya Tujuan penggunaan algoritma FCM yaitu untuk menemukan pusat cluster atau centroid dengan meminimumkan fungsi objektif (Bazdek 1984) Ouput dari FCM bukan merupakan fuzzy inference system melainkan deretan pusat cluster dan beberapa derajat keanggotaan untuk setiap titik data Hasil output ini dapat digunakan untuk membangun suatu fuzzy inference system Berikut adalah langkah ndash langkah dari FCM (Kusumadewi 2004)

1 Langkah pertama menentukan jumlah cluster (c ge 2) pembobot (infin gt 119908 gt1) (Bazdek 1984) maksimum iterasi (maxIter) error minimum yang diharapkan yaitu nilai positif yang sangat kecil (120585) fungsi objektif awal (P0 = 0) iterasi awal dideklarasikan 1

2 Langkah kedua memasukkan data X yang akan diklasterisasi berupa matriks berukuran m x n (m = jumlah sampel data n = attribut setiap data) Contoh Xij = data sampel ke-i (i = 1234m) attribu ke-j (j=1234n)

3 Langkah ketiga yaitu dengan membuat bilangan random microik i = 1234n dan k = 123c (n = jumlah sampel pada data c = jumlah cluster yang akan dibentuk) sebagai elemen ndash elemen matriks partisi awal Untuk bilangan penyusun matriks partisi awal dihitung dihitung jumlahnya setiap kolom yang ditunjukkan pada pada Persamaan 24 (Kusumadewi 2004)

119876119896 = sum 120583119894119896119888119896=1 (24)

Dimana

119876119896 = jumlah bilangan pada kolom k

120583119894119896 = bilangan random pada baris i kolom k

119888 = jumlah kolom

14

Selanjutnya untuk menghitung derajat keanggotaan awal dengan melakukan normalisasi pada matiks partisi pada normalisasi dilakukan menggunakan Persamaan 25 (Kusumadewi 2004)

120583119894119896 = 120583119894119896119876119896 (25)

4 Langkah keempat melakukan perhitungan cluster ke-k Vkj dengan k = 1234c dan j = 1234m Perhitungan pusat cluster ditunjukkan pada Persamaan 26 (Kusumadewi 2004)

119881119896119895 = sum ((120583119894119896)119908 times 119883119894119895)119899

119894=1

sum (120583119894119896)119908119899119894=1

(26)

Dimana

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

120583119894119896 = derajat keanggotaan pada data ke-i cluster ke-k

119883119894119895 = data sampel pada data ke-i attribut ke-j

119908 = pembobot

5 Langkah kelima melakukan perhitungan fungsi objektif pada iterasi ke-t P1 Perhitungan fungsi objektif ditunjukkan pada Persamaan 27 (Kusumadewi 2004)

119875119905 = sum sum ([sum (119883119894119895 minus 119881119896119895)119898119895=1

2](120583119894119896)119908)119888

119896=1119899119894=1 (27)

Dimana

119875119905 = fungsi objektif

119883119894119895 = data sampel ke-i atribut ke-j

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

6 Langkah keenam melakukan perhitungan perbaikan matriks partisi yang telah ditunjukkan Persamaan 28 (Kusumadewi 2004)

120583119894119896 = [sum (119883119894119895minus119881119896119895)119898

119895=12

]

minus1119908minus1

sum [sum (119883119894119895minus119881119896119895)119898119895=1

2]

minus1119908minus1119888

119896minus1

(28)

Dimana

119883119894119895 = data sampel ke-i atribut ke-j

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

119908 = pembobot

7 Langkah ketujuh yaitu melakukan pemerikasaan kondisi berhenti dengan kondisi sebagai berikut

a Jika (|119875119905 minus 119875119905minus1| lt 120585) atau ( t gt MaxIter) maka berhenti

b Jika tidak memenuhi t = t +1 ulangi mulai dari langkah ke-4

15

226 Metode Peramalan dengan Fuzzy Time Series

Pada tahun 1996 Chen memperkenalkan metode peramalan dengan menggunakan metode Fuzzy Time Series Metode Fuzzy Time Series memiliki perbedaan dengan metode peramalan time series biasa atau konvensional yaitu terdapat pada data yang digunakan untuk peramalan Fuzzy Time Series data yang digunakan adalah berupa fuzzy set atau himpunan fuzzy dari bilangan ndash bilangan real atas himpunan semesta yang ditentukan Jadi Fuzzy Time Series merupakan metode dengan menggunakan data berupa fuzzy set yang berasal dari bilangan real atas Universe of Discorse pada data aktual Universe of Discourse adalah himpunan semesta dari data penelitian

Berikut adalah langkah ndash langkah metode Fuzzy Time Series yang telah diperkenalkan oleh Chen terdapat enam langkah yaitu

1 Langkah pertama yaitu membagi Universe of Discourse dari bilangan aktual ke dalam subinterval dengan jumlah interval yang sama Perhitungan Universe of Discourse ditunjukkan pada Persamaan 29 (Chen 1996)

119880 = [119863119898119894119899 minus 1198631 119863119898119886119909 + 1198632] (29)

Dimana

119880 = Universe of Discourse

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

1198631 dan 1198632 = bilangan positif yang ditentukan oleh user untuk menentukan Universe of Discourse dari himpunan data sampel

2 Langkah kedua adalah mendefinisikan fuzzy set dari Universe of Discourse (U) menjadikan A1 A2 A3 An ke dalam fuzzy set dengan nilai linguistik sesuai dengan keadaan U Selanjutnya mendefinisikan fuzzy set tersebut ditunjukkan pada Persamaan 210 (Chen 1996)

1198601 =11989111

1199061+

11989112

1199062+

11989113

1199063+ ⋯ +

1198911119896

119906119896 (210)

1198602 =11989121

1199061+

11989122

1199062+

11989123

1199063+ ⋯ +

1198912119896

119906119896

= + + + +

119860119896 =1198911198961

1199061+

1198911198962

1199062+

1198911198963

1199063+ ⋯ +

119891119896119896

119906119896

Dimana 119891119894119895120598 [01] 1 le 119894 le 119896 dan 1 le 119895 le 119898 Variabel 119891119894119895 menunjukkan

derajat keanggotaan dari subinterval 119906119895 dari fuzzy set 1198601 Pada konsep ini

Chen menggunakan nilai linguistik 1198601 = (not many) 1198602 = (not too many) 1198603= (many) 1198604 = (many many) 1198605 = (very many) 1198606 = (too many) 1198607= (too many many) Kemudian nilai linguistik tersebut dimasukkan ke tiap fuzzy set Dari U tersebut dapat dibangun fuzzy set sebagai berikut

16

1198601 = 1

1199061+

05

1199062+

0

1199063+

0

1199064+

0

1199065+

0

1199066+

0

1199067

1198602 = 05

1199061+

1

1199062+

05

1199063+

0

1199064+

0

1199065+

0

1199066+

0

1199067

1198603 = 0

1199061+

05

1199062+

1

1199063+

05

1199064+

0

1199065+

0

1199066+

0

1199067

1198604 = 0

1199061+

0

1199062+

05

1199063+

1

1199064+

05

1199065+

0

1199066+

0

1199067

1198605 = 0

1199061+

0

1199062+

0

1199063+

05

1199064+

1

1199065+

05

1199066+

0

1199067

1198606 = 0

1199061+

0

1199062+

0

1199063+

0

1199064+

05

1199065+

1

1199066+

05

1199067

1198607 = 0

1199061+

0

1199062+

0

1199063+

0

1199064+

0

1199065+

05

1199066+

1

1199067

3 Langkah ketiga yaitu melakukan fuzzifikasi data historis proses fuzzifikasi merupakan proses merubah data aktual yang merupakan bilangan crisp ke dalam bentuk bilangan fuzzy Bilangan fuzzy yang dimaksudkan adalah dalam bentuk derajat keanggotaan Dari beberapa derajat keanggotaan yang terbentuk kemudian dipilih satu fuzzy set yang memiliki derajat keanggotaan teringgi Fuzzifikasi dinotasikan sebagai berikut jika F(t-1) berada pada fuzzy set Ak maka F(t-1) difuzzifikasikan sebagai Ak

4 Langkah keempat adalah mengidentifikasi Fuzzy Logic Relationship (FLR) FLR diidentifikasikan sebagai Ai dan F(t) difuzzifikasikan sebagai Ai rarr Aj Ai sebagai sisi kiri relationship disebut sebagai current state dan Aj sebagai sisi kanan relationship disebut next state Jika terjadi perulangan relationship maka tetap dihitung satu kali

5 Langkah kelima yaitu mengelompokkan menjadi Fuzzy Logical Relationship Group (FLRG) FLRG dibangun berdasarkan sisi kiri (current state) yang sama

6 Langkah terakhir yaitu langkah keenam adalah melakukan defuzzifikasi nilai keluaran peramalan Defuzzifikasi adalah mengubah nilai keluaran fuzzy menjadi bilangan crisp kembali sehingga diperoleh hasil akhir peramalan Defuzzifikasi didasarkan pada tiga (3) rule aturan yaitu (Chen 1996)

I Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai hanya memiliki satu FLR pada FLRG yaitu dengan kondisi Ai rarr Aj dimana nilai maksimum fungsi keanggotaanya berada pada 119906119895 maka nilai peramalan untuk n+1 adalah

nilai tengah dari 119906119895 atau didefinisikan dengan 119898119895

II Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai memiliki lebih dari satu FLR pada FLRG yaitu dengan kondisi Ai rarr Aj1 Aj2 Ajp Dimana nilai tengah untuk masing ndash masing Aj1 Aj2 Aj3 Ajp adalah mj1 mj2 mj3 mjp

maka nilai peramalan untuk n+1 adalah (mj1 mj2 mj3 mjp) p

III Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai tidak memiliki FLR pada FLRG dimana nilai maksimum fungsi keanggotaannya berada pada 119906119895

17

maka nilai peramalan untuk n+1 adalah nilai tengah dari 119906119895 atau

didefinisikan dengan 119898119895

227 Metode High Order Fuzzy Time Series Multi Factors

Metode High Order Fuzzy Time Series Multi Factors adalah metode Fuzzy Time Series (FTS) yang melibatkan beberapa faktor yang mempengaruhi peramalan dengan berdasarkan beberapa periode waktu sebelum periode yang akan diramalkan dalam proses pembentukkan Fuzzy Logical Relationship (FLR) Hasil peramalan dengan banyak faktor yang mempengaruhi dinilai lebih baik dari pada dengan hanya satu faktor yang mempengaruhi (LinYang 2009) Pada metode ini pembentukkan subinterval yang berfungsi dalam pendefinisian fuzzy set dilakukan dengan menggunakan teknik klasterisasi fuzzy C-means Berikut adalah langkah ndash langkah Metode High Order Fuzzy Time Series Multi Factors (LinYang 2009)

1 Langkah pertama adalah melakukan perhitungan Universe of Discourse (U) Sebelum menghitung nilai U terlebih dulu menghitung nilai mean (rata ndash rata) sampel lalu menghitung nilai standar deviasi (120590) Mean merupakan perhitungan jumlah dari semua nilai dalam kumpulan data kemudian dibagi dengan jumlah total data untuk menghitung nilai mean ditunjukkan pada Persamaan 211 (Weisstein 2015) Standar deviasi merupakan akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel untuk menghitung nilai standar deviasi (120590) ditunjukkan pada Persamaan 212 (Weisstein 2015) Perhitungan U ditunjukkan pada Persamaan 213 (LinYang 2009)

119909 =sum 119909119894

119899119894=1

119899 (211)

Dimana

= mean (rata ndash rata)

119909119894 = nilai data ke-i

119899 = banyak data

120590 = radicsum (119909119894minus ) 2119899

119894=1

119899minus1 (212)

Dimana

120590 = Standar deviasi data

119880 = [119863119898119894119899 minus 120590 119863119898119886119909 + 120590] (213)

Dimana

119880 = Universal 0f Discourse

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

18

2 Langkah kedua yaitu menentukan jumlah cluster data Proses klasterisasi bertujuan untuk membagi U kedalam beberapa subinterval Hasil perhitungan banyaknya cluster apabila bernilai pecahan maka harus dibulatkan menjadi bilangan bulat Perhitungan banyaknya cluster ditunjukkan pada Persamaan 214 (LinYang 2009)

119896 = ||119863119898119894119899 minus 119863119898119886119909|sum |119883(119905)minus119883(119905minus1)|119899

119905=1

119899minus1| (214)

Dimana

119896 = banyaknya jumlah cluster

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

119899 = banyaknya data sampel

119883(119905) = data pada waktu ke-t

3 Langkah ketiga yaitu melakukan pembentukan pusat cluster Pada metode ini proses klasterisasi data menggunakan fuzzy C-means (FCM) untuk mendapatkan pusat cluster sebanyak k Tahapannya U dibagi kedalam k subinterval (119863119898119894119899 1198891) (1198891 1198892) (1198892 1198893) hellip (119889119896minus1 119863119898119886119909) dimana di (i = 123k-1) merupakan titik tengah antara dua pusat cluster k subinterval didefinisikan sebagai 1199061 1199062 1199063 hellip 119906119896 Sehingga dalam hal ini subinterval

dengan panjang berbeda dapat menggambarkan struktur data kompleks dengan baik dan dapat meningkatkan peramalan dibandingkan menggunakan subinterval dengan panjang yang sama (LinYang 2009)

4 Langkah keempat yaitu melakukan pembentukan himpunan fuzzy atau fuzzy set Pada langkah ini fuzzy set direpresentasikan dengan kurva bahu Pembentukkan fuzy set ditunjukkan pada Persamaan 215 (LinYang 2009)

1198601 =11989111

1199061+

11989112

1199062+

11989113

1199063+ ⋯ +

1198911119896

119906119896 (215)

= + + + +

119860119896 =1198911198961

1199061+

1198911198962

1199062+

1198911198963

1199063+ ⋯ +

119891119896119896

119906119896

5 Langkah kelima yaitu proses fuzzifikasi Proses fuzzifikasi bertujuan untuk mengubah data sampel yang masih berupa bilangan crisp sehingga menjadi bilangan fuzzy Masing ndash masing data dihitung derajat keanggotaannya terhadap fuzzy set yang sudah terbentuk selajutnya derajat kanggotaan dihitung berdasarkan kurva bahu dan derajat keanggotaan tertinggi menunjukkan hasil fuzzifikasi data tersebut Contohnya A(t) B(t) C(t) dan D(t) dimana t= 123n merupakan time series dari faktor yang mempengaruhi serta n merupakan banyaknya data Berdasarkan pembagian subinterval masing ndash masing time series ini difuzzifikasikan Misalkan hasil dari Persamaan 215 yaitu menghitung banyak cluster dari k1 k2 k3 k4 Jadi time series difuzzifikasikan menjadi empat fuzzy time series yaitu

19

A(ti) dimana i = 1234k1

B(tj) dimana j = 1234k2

C(tp) dimana p = 1234k3

D(tq) dimana q = 1234k4 t = 123n

6 Langkah keenam yaitu melakukan pembentukkan Fuzzy Logical relationship (FLR) Data sampel sebanyak n periode dipilih sebagai data training untuk membentuk fuzzy time series model Misalkan t merupakan periode waktu yang akan diramal dengan menggunakan order ndash 3 maka tiga periode sebelum periode t adalah t-3 t-2 dan t-1 dimana t = 456n Maka FLR yang dihasilkan ditunjukkan pada Persamaan 216 dan berdasarkan persamaan tersebut maka akan membentuk sebuah kumpulan FLR dari data training (LinYang 2009)

(119860(119905minus31198943) 119861(119905minus31198953) 119862(119905minus31199013) 119863(119905minus31199023)) (216)

(119860(119905minus21198942) 119861(119905minus21198952) 119862(119905minus21199012) 119863(119905minus21199022))

(119860(119905minus11198941) 119861(119905minus11198951) 119862(119905minus11199011) 119863(119905minus11199021)) rarr 119860(1199051198944)

Tabel 22 Fuzzy Logic Relationship

(119860(119905minus31198943) 119861(119905minus31198953) 119862(119905minus31199013) 119863(119905minus31199023))

(119860(119905minus21198942) 119861(119905minus21198952) 119862(119905minus21199012) 119863(119905minus21199022))

(119860(119905minus11198941) 119861(119905minus11198951) 119862(119905minus11199011) 119863(119905minus11199021)) rarr 119860(1199051198944)

(119860(119905minus21198943) 119861(119905minus21198953) 119862(119905minus21199013) 119863(119905minus21199023))

(119860(119905minus11198942) 119861(119905minus11198952) 119862(119905minus11199012) 119863(119905minus21199022))

(119860(1199051198941) 119861(1199051198951) 119862(1199051199011) 119863(1199051199021)) rarr 119860(119905+11198944)

(119860(119905+119899minus71198943) 119861(119905+119899minus71198953) 119862(119905+119899minus71199013) 119863(119905+119899minus71199023))

(119860(119905+119899minus61198942) 119861(119905+119899minus61198952) 119862(119905+119899minus61199012) 119863(119905+119899minus61199022))

(119860(119905+119899minus51198941) 119861(119905+119899minus51198951) 119862(119905+119899minus51199011) 119863(119905+119899minus51199021)) rarr 119860(119905+119899minus41198944)

Sumber (LinYang 2009)

7 Langkah terakhir adalah proses Defuzzifikasi Berdasarkan langkah sebelumnya maka dapat diambil hasil fuzzy ke- H yaitu yang digunakan sebagai data testing atau data uji seperti yang ditunjukkan pada Persamaan 217 (LinYang 2009)

(119860(119867minus31198943) 119861(119867minus31198953) 119862(119867minus31199013) 119863(119867minus31199023)) (217)

(119860(119867minus21198942) 119861(119867minus21198952) 119862(119867minus21199012) 119863(119867minus21199022))

(119860(119867minus11198941) 119861(119867minus11198951) 119862(119867minus11199011) 119863(119867minus11199021)) rarr 119860(1198671198944)

20

Faktor ndash faktor di ruas kiri pada Persaman 217 dibandingkan satu per satu dengan FLR data training yang sudah dicatat sebelumnya pada Tabel 22 membandingkannya yaitu dengan cara menghitung nilai absolut dari selisih antara pangkat bawah kedua faktor pada posisi yang sama di FLR Terdapat 12 fuzzy set di ruas kiri pada masing ndash masing FLR sehingga dari hasil perbandingan diperoleh 12 nilai absolut yang kemudian dijumlahkan untuk mendapat total selisihnya Jadi jika total selisih lebih kecil dari threshold yang ditentukan maka FLR tersebut dinyatakan cocok (LinYang 2009)

Selanjutnya jika FLR menemukan N pasangan yang cocok pada Tabel 22 maka N faktor di ruas kanan dari N FLR ini mendasari peramalan fuzzy set A() yang mana jumlah dari setiap fuzzy set pada umumnya berbeda Untuk peramalan dengan fuzzy set ditunjukkan pada Tabel 23 (LinYang 2009)

Tabel 23 Peramalan fuzzy set

Ruas Kanan A(1) A(2) A(3) A(k1)

Pusat cluster c1 c2 c3 ck1

Frekuensi f1 f2 f3 fk1

Sumber (Lin Yang 2009)

Berdasarkan Tabel 23 dengan menggunakan metode centroid untuk melakukan proses defuzzifikasi Proses defuzzifikasi dapat ditunjukkan pada Persamaan 218 (LinYang 2009)

119903119867 =sum 119888119894times 119891119894

1198961119894=1

sum 119891119894119896119894119894=1

(218)

Dimana

119903119867 = hasil (result) peramalan data ke-H

119888119894 = pusat cluster i dimana A(i) adalah ruas kanan dari FLR hasil proses pencocokan

119891119894 = frekuensi banyaknya muncul A(i) pada saat proses pencocokan

228 Perhitungan keakuratan metode peramalan

Dalam perencanaan peramalan tentu menginginkan hasil ramalan yang tepat atau paling tidak hampir mendekati sehingga rencana yang dibuat menjadi rencana yang realistis Keakuratan atau ketepatan merupakan yang menjadi kriteria performance suatu metode peramalan Keakuratan tersebut dapat dinyatakan sebagai kesalahan peramalan (forecast error) Semaikin kecil nilai kesalahan peramalan maka semaikin tinggi keakuratan metode peramalan yang digunakan dan sebaliknya semakin tinggi nilai kesalahan maka semakin rendah keakuratan metode peramalan yang digunakan

Mean Square Error (MSE) adalah salah satu metode yang digunakan untuk menghitung nilai akurasi atau keakuratan dari metode yang digunakan sebagai peramalan atau prediksi MSE merupakan perhitungan pangkat dua dari selisih

21

antara nilai data hasil peramalan dengan nilai data aktual dan kemudian dibagi dengan banyaknya data yang telah diramalkan Pada penentuan nilai evaluasi memilih menggunakan metode MSE karena metode ini dapat menunjukan hasil skala kemiripan antara hasil data peramalan dengan data aktual Berikut merupakan metode Mean Square Error (MSE) yang ditunjukan pada Persamaan 219 (Wang Chen 2009)

119872119878119864 = sum (119865119905minus119860119905)2119899

119894=1

119899 (219)

Dimana 119872119878119864 = nilai Mean Square Error Rate 119860119905 = nilai aktual pada data ke-t 119865119905 = nilai hasil peramalan untuk data ke-t n = banyaknya data

22

BAB 3 METODOLOGI

Pada bab ini akan dibahas mengenai metode yang digunakan beserta tahap ndash tahap pengerjaan penelitian skripsi dengan judul ldquoPeramalan Curah Hujan dengan Metode High Order Fuzzy Time Series Multi Factorsrdquo Penilitian ini digolongkan sebagai penelitian implementatif dengan pendekatan perancangan (design)

Metode penelitian ini meliputi studi literatur pengumpulan data perancangan implementasi pengujian dan analisis pengambilan kesimpulan Berikut adalah alur dari metode penelitian dapat ditunjukkan pada Gambar 31

31 Studi Literatur

Pada tahap studi literatur penelitian ini bertujuan untuk mempelajari literatur dan konsep dari beberapa informasi dan pustaka yang berkaitan dengan penelitian ini Literatur dan sumber ilmu dari penelitian ini diperoleh dari internet buku dan bimbingan oleh dosen pembimbing Adapun literatur yang dipelajari yaitu tentang curah hujan serta faktor ndash faktor yang mempengaruhinya dan metode High Order Fuzzy Time Series Multi Factors

Studi Literatur

Pengumpulan Data

Perancangan

Implementasi

Pengujian dan Analisis

Kesimpulan dan Saran

Gambar 31 Diagram blok metodologi penelitian

23

32 Pengumpulan Data

Pada tahap pengumpulan penelitian ini sumber data yang diperoleh yaitu dari Badan Meteorologi Klimatologi dan Geofisikia (BMKG) Stasiun Klimatologi Kelas III Karangkates Kabupaten Malang Data yang diperoleh untuk peramalan curah hujan yaitu data aktual time series (2011 - 2016) Data yang digunakan dalam bentuk dasarian yaitu dalam rentang waktu sepuluh hari sehingga dalam satu bulan dibagi menjadi tiga dasarian

Dasarian pertama yaitu pada tanggal 1 sampai dengan 10

Dasarian kedua yaitu pada tanggal 11 sampai dengan 20

Dasarian ketiga yaitu pada tanggal 21 sampai dengan akhir bulan

Pada penelitian ini data curah hujan dalam satuan milimeter (mm) kelembaban dalam persen () suhu udara dalam satuan celsius (˚C) kecepatan angin dalam satuan kilometer per jam (kmjam)

33 Perancangan

Pada tahap perancangan penelitian ini bertujuan untuk mengetahui rancangan ndash rancangan yang merupakan langkah yang dilakukan saat melakukan tahap implementasi Pada tahap ini terdapat beberapa perancangan yaitu perancangan proses yang berisi tahapan ndash tahapan proses metode High Order Fuzzy Time Series Multi Factors perhitungan manual yang merupakan manualisasi dari metode yang digunakan pada penelitian ini perancangan antar muka atau user interface yang berisi gambaran kasar dari tampilan antar muka prototype aplikasi yang nantinya diterapkan pada tahap implementasi selanjutnya adalah perancangan pengujian yang berisi rancangan ndash rancangan pengujian metode yang digunakan untuk mengetahui berapa tingkat kesalahan atau error yang dimiliki metode pada penelitian ini dalam melakukan peramalan curah hujan

34 Implementasi

Pada tahap implementasi peneltian ini dilakukan sesuai dengan perancangan yang telah dibuat pada tahapan perancangan sebelumnya Implementasi dari metode High Order Fuzzy Time Series Multi Factors dilakukan menggunakan bahasa pemrograman java serta Integrated Development Environment (IDE) yang digunakan adalah Netbeans Sehingga nantinya hasil dari tahap ini berupa prototype aplikasi dari implementasi metode High Order Fuzzy Time Series Multi Factors untuk peramalan curah hujan

35 Pengujian dan Analisis

Pada tahapan penelitian pengujian ini diperlukan perangkat lunak dan perangkat keras agar pengujian dari hasil implementasi dapat berjalan dengan baik maka pengujian perangkat lunak dijalankan pada laptop ataupun PC (Personal Computer) dengan spesifikasi sebagai berikut

24

1 Prosesor Intel Core i3

2 Memory RAM 8 Gigabytes

3 Sistem Operasi menggunakan Windows 7 64bit

4 Hardisk dengan kapasitas 500 GB

5 Netbeans 81 JDK 7

Pengujian hasil peramalan menggunakan metode High Order Fuzzy Time Series Multi Factors yaitu menggunakan metode Mean Square Error (MSE) Dimana rumus pengujian sesuai dengan Persamaan 219 Dalam pengujian menggunakan metode ini semakin kecil nilai MSE maka semakin tinggi tingkat akurasi hasil peramalan tersebut Pada penelitian ini untuk keperluan pengujian dari proses implementasi dilakukan empat pengujian yaitu pengujian terhadap perbedaan nilai order pengujian terhadap perbedaan nilai threshold pengujian terhadap data training untuk mengetahui pengaruhnya terhadap nilai MSE dan pengujian validasi sistem untuk mengetahui bahwa hasil implementasi metode High Order Fuzzy Time Series Multi Factors dapat melakukan peramalan

36 Kesimpulan dan Saran

Pada pengambilan kesimpulan akan dilakukan apabila semua tahapan ndash tahapan penelitian sudah dilakukan yaitu yang meliputi perancangan implementasi dan pengujian dan analisis telah selesai dilakukan Kesimpulan merupakan tahapan dimana semua rumusan masalah yang sudah ditetapkan sebelumnya dapat terjawab semua Selanjutnya pada saran merupakan berkenaan dengan hasil yang telah dicapai untuk memperbaiki kekurangan - kekurangan yang terjadi pada penelitian ini serta memberikan pertimbangan pada pengembangan penelitian lebih lanjut

25

BAB 4 PERANCANGAN

Pada bab ini berisi tentang perancangan yang nantinya digunakan sebagai dasar dalam tahap implementasi Hal yang dibahas meliputi perancangan proses perhitungan manual perancangan pengujian dan perancangan antar muka

41 Perancangan Proses

Pada perancangan proses ini berisi mengenai tahapan ndash tahapan dari metode yang digunakan yaitu metode High Order Fuzzy Time Series Multi Factors Pada penelitian ini melibatkan faktor ndash faktor yang mempengaruhi curah hujan yaitu suhu udara kelembaban udara dan kecepatan angin Data time series dari curah hujan merupakan faktor utama dalam proses peramalan pada penelitian ini Inputan pada peneltian ini yaitu data time series curah hujan serta faktor ndash faktor yang mempengaruhinya Order yang digunakan pada metode ini merupakan order lebih dari satu oleh karena itu disebut dengan High Order Order merupakan urutan jumlah dari data time series pada periode waktu t yang mempengaruhi nilai data Berikut merupakan diagram alir dari proses peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors yang ditunjukkan pada Gambar 41 dan Gambar 42

Gambar 41 Diagram alir metode penelitian yang digunakan (bagian 1)

Mulai

Data curah hujan suhu kelembaban kecepatan angin jmlh_Banyakdata jmlh_Faktor

Universe_of_Discourse

A

Jumlah_Cluster

26

411 Proses perhitungan Universe of Discourse

Pada perhitungan Universe of Discourse harus sudah dilakukan inputan data agar dapat memulai tahapan perhitungan Tahapan dari proses perhitungannya yaitu pada langkah pertama dilakukan perhitungan nilai mean (rata ndash rata) sesuai dengan Persamaan 211 Setelah mendapatkan nilai mean dapat dilakukan perhitungan untuk mencari nilai standar deviasi sesuai dengan Persamaan 212 Selanjutnya dicari nilai terkecil (119863119898119894119899) dan nilai terbesar (119863119898119886119909) Setelah menyelesaikan tahap ndash tahap tersebut dapat dilakukan perhitungan untuk

Gambar 42 Diagram alir metode penelitian yang digunakan (bagian 2)

A

Perhitungan Pusat Cluster

Fuzzifikasi

Pembentukan Fuzzy Logical Relationship

Defuzzifikasi

Nilai hasil peramalan

Berhenti

Pembentukan Subinterval dan Fuzzy set

27

mencari Universe of Discourse sesuai dengan Persamaan 213 Berikut merupakan diagram alir dari proses perhitungan Universe of Discourse yang ditunjukkan pada Gambar 43

Perhitungan Universe of Discourse

Mulai

Min_dan_Max

mean

standar_deviasi

for i = 0 to jmlh_Faktor-1

i

hsl_uMin ke i = hsl_min ke i ndash hsl_stdev ke i

hsl_uMax ke i = hsl_max ke i + hsl_stdev ke i

hsl_uMin hsl_uMax

Berhenti

Gambar 43 Diagram alir proses perhitungan Universe of Discourse

28

4111 Proses perhitungan Mean

Pada proses perhitungan mean merupakan nilai rata ndash rata dari setiap faktor dimana nilai mean ini nantinya dibutuhkan untuk melakukan proses perhitungan standar deviasi Berikut merupakan diagram alir dari proses perhitungan mean yang ditunjukkan pada Gambar 44

mean

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to jmlh_DataTraining

tmp_jmlh = 0

tmp_jmlh = tmp_jmlh + data ke ij

j

hsl_mean ke i = tmp_jmlhjmlh_DataTraining

i

hsl_mean

Berhenti

Gambar 44 Diagram alir proses perhitungan mean

29

4112 Proses perhitungan standar deviasi

Pada proses perhitungan standar deviasi dapat dilakukan setelah mendapatkan nilai mean dari setiap data sesuai proses sebelumnya Berikut merupakan diagram alir dari proses perhitungan standar deviasi yang ditunjukkan pada Gambar 45

standar_deviasi

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to jmlh_DataTraining

result = 0

result = result + (data ke ij ndash mean ke i)2

j

hsl_stdev ke i = radicresult

jmlh_DataTrainingminus1

i

hsl_stdev

Berhenti

Gambar 45 Diagram alir proses perhitungan standar deviasi

30

4113 Proses perhitungan nilai Dmin dan Dmax

Pada proses perhitungan ini merupakan proses perhitungan untuk mencari nilai terkecil dan terbesar dari setiap faktor data Setelah mendapat nilai terkecil dan terbesar maka data dilakukan proses perhitungan Universe of Discourse Berikut merupakan diagran alir dari proses perhitungan nilai Dmin dan Dmax yang ditunjukkan pada Gambar 46

Gambar 46 Diagram alir perhitungan nilai Min dan Max

ya

ya

tidak

tidak

Min_dan_Max

Mulai

for i = 0 to jmlh_Faktor-1

besar = data ke i0

kecil = data ke i0

for j=0 to jmlh_DataTraining

data ke ij gt besar

besar = data ke ij

data ke ij lt kecil

kecil = data ke ij

j

hsl_max ke i = besar

hsl_min ke i = kecil

i

hsl_max hsl_min

Berhenti 1

1

2

2

3

4

4

5

5

3

31

412 Proses perhitungan jumlah cluster

Pada proses perhitungan jumlah cluster memiliki masukkan proses Dmin dan Dmax

dari proses perhitungan sebelumnya Pada proses ini terdapat perhitungan nilai dari selisih setiap data Pada perhitungan jumlah cluster sesuai dengan Persamaan 214 Berikut merupakan langkah ndash langkah perhitungan jumlah cluster yang ditunjukkan pada Gambar 47

jumlah_Cluster

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to (jmlh_DataTraining-1)

Berhenti

hsl_max hsl_min

selisih = 0

selisih = selisih + |data ke ij ndash data ke i (j+1)|

j

jmlh_Cluster ke i = |ℎ119904119897_119898119894119899 119896119890 119894minusℎ119904119897_119898119886119909 119896119890 119894|

119904119890119897119894119904119894ℎ

119895119898119897ℎ_119863119886119905119886119879119903119886119894119899119894119899119892minus1

i

jmlh_Cluster

Gambar 47 Diagram alir proses perhitungan jumlah cluster

32

413 Proses perhitungan pusat cluster

Pada proses perhitungan pusat cluster ini diperlukan beberapa variabel yang harus dideklarasikan terlebih dahulu yaitu nilai bobot fungsi objektif nilai iterasi awal nilai iterasi maksimum dan error terkecil Perhitungan subinterval ini menggunakan metode fuzzy C-means yang diawali dengan pencarian pusat cluster terlebih dahulu Berikut merupakan langkah ndash langkah perhitungan subinterval yang ditunjukkan pada Gambar 48 Gambar 49 Gambar 410 Gambar 411 Gambar 412

Gambar 48 Diagram alir proses perhitungan pusat cluster (bagian 1)

Perhitungan pusat cluster

Mulai

jmlh_Cluster

for i = 0 to jmlh_Faktor-1

Deklarasi bobot selisih_f_objektif

iter_maksimum error_min

Pembentukan Matriks partisi faktor A jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor A

for iter = iter to iter_maksimum

A

i == 0

Perhitungan pusat_cluster1 faktor A

B C D

tidak

ya

33

Gambar 49 Diagram alir proses perhitungan pusat cluster (bagian 2)

ya

tidak

tidak

ya

Perhitungan f_objektif faktor A

A B C D

Perhitungan selisih_f_objektif faktor A

Perbaikan matriks partisi faktor A

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster1 faktor A

Iter = iter_maksimum

iter

i == 1

Pembentukan Matriks partisi faktor B jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor B

for iter = iter to iter_maksimum

F A G E

34

tidak

tidak

ya

A E F G

Perhitungan pusat_cluster2 faktor B

Perhitungan f_objektif faktor B

Perhitungan selisih_f_objektif faktor B

Perbaikan matriks partisi faktor B

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster2 faktor B

Iter = iter_maksimum

iter

i == 2

Pembentukan Matriks partisi faktor C jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor C

I A H

Gambar 410 Diagram alir proses perhitungan pusat cluster (bagian 3)

ya

35

tidak

tidak

Gambar 411 Diagram alir proses perhitungan pusat cluster (bagian 4)

ya

A H I

for iter = iter to iter_maksimum

Perhitungan pusat_cluster3 faktor C

Perhitungan f_objektif faktor C

Perhitungan selisih_f_objektif faktor C

Perbaikan matriks partisi faktor C

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster3 faktor C

Iter = iter_maksimum

iter

i == 3

Pembentukan Matriks partisi faktor D jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor D

J A K

ya

36

tidak

ya

Gambar 412 Diagram alir proses perhitungan pusat cluster (bagian 5)

A K J

for iter = iter to iter_maksimum

Perhitungan pusat_cluster4 faktor D

Perhitungan f_objektif faktor D

Perhitungan selisih_f_objektif faktor D

Perbaikan matriks partisi faktor D

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster4 faktor D

Iter = iter_maksimum

iter

i

pusat_cluster1pusat_cluster2 pusat_cluster3pusat_cluster4

Berhenti

37

tidak

ya

tidak

ya

Gambar 413 Diagram alir pembentukan subinterval dan fuzzy set (bagian 1)

414 Proses pembentukan subinterval dan Fuzzy set

Pada proses pembentukan fuzzy set atau himpunan fuzzy pada penelitian ini dapat dilakukan setelah perhitungan subinterval selesai dilakukan Nilai subniterval merupakan masukan utama pada pembentukkan fuzzy set Pembentukan fuzzy sesuai dengan Persamaan 215 Berikut merupakan langkah ndash langkah proses pembentukan fuzzy set yang ditunjukkan pada Gambar 413 dan Gambar 414

Pembentukan subinteval dan Fuzzy set

Mulai

pusat_cluster1pusat_cluster2 pusat_cluster3pusat_cluster4

for i = 0 to jmlh_Faktor-1

Menentukan batas_subintervalMinA dan

batas_subintervalMaxA

Menentukan batas_fuzzysetMinA dan batas_fuzzysetMaxA

i == 0

i == 1

Menentukan batas_subintervalMinB dan

batas_subintervalMaxB

Menentukan batas_fuzzysetMinB dan batas_fuzzysetMaxB

A C B

38

tidak

tidak

ya

ya

415 Proses Fuzzifikasi

Pada proses fuzzifikasi ini pembentukanya sesuai derajat keanggotaan pada setiap data Pada proses ini derajat keanggotaan dihitung berdassarkan fungsi keanggotaan kurva bahu Hasil dari proses ini merupakan data yang sudah difuzzifikasikan menjadi data fuzzy Berikut langkah ndash langkah dari proses fuzzifikasi ditunjukkan pada Gambar 415 dan Gambar 416

i == 2

A B C

Menentukan batas_subintervalMinC dan batas_subintervalMaxC

Menentukan batas_fuzzysetMinC dan batas_fuzzysetMaxC

i == 3

Menentukan batas_subintervalMinD dan batas_subintervalMaxD

Menentukan batas_fuzzysetMinD dan batas_fuzzysetMaxD

i

batas_fuzzysetMinA batas_fuzzysetMaxA batas_fuzzysetMinB batas_fuzzysetMaxB batas_fuzzysetMinC batas_fuzzysetMaxC batas_fuzzysetMinD batas_fuzzysetMaxD

Berhenti

Gambar 414 Diagram alir pembentukan subinterval dan fuzzy set (bagian 2)

39

tidak

ya

ya

tidak

Fuzzifikasi

Mulai

for i = 0 to jmlh_Faktor-1

Menentukan hasil_fuzzifikasiA dari faktor A

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinA batas_fuzzysetMaxA

Gambar 415 Diagram alir proses fuzzifikasi (bagian 1)

batas_fuzzysetMinA batas_fuzzysetMaxA batas_fuzzysetMinB batas_fuzzysetMaxB batas_fuzzysetMinC batas_fuzzysetMaxC batas_fuzzysetMinD batas_fuzzysetMaxD

DD

i == 0

i == 1

Menentukan hasil_fuzzifikasiB

dari faktor B

Menghitung derajat keanggotaan

berdasarkan batas_fuzzysetMinB

batas_fuzzysetMaxB

C A B

40

tidak

ya

ya

tidak

ya

i == 2

A B C

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinC batas_fuzzysetMaxC

Menentukan hasil_fuzzifikasiC dari faktor C

i == 3

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinD

batas_fuzzysetMaxD

Menentukan hasil_fuzzifikasiD dari faktor D

i

hasil_fuzzifikasiA hasil_fuzzifikasiB hasil_fuzzifikasiC hasil_fuzzifikasiD

Berhenti

Gambar 416 Diagram alir proses fuzzifikasi (bagian 2)

41

tidak

ya

416 Proses pembentukan Fuzzy Logical Relationship

Setelah data melalui proses fuzzifikasi dan sudah menjadi data fuzzy maka dapat dilakukan pembentukan Fuzzy Logical Relationship (FLR) Pembentukan FLR dilakukan sesuai dengan Persamaan 216Berikut adalah langkah ndash langkah proses pembentukan Fuzzy Logical Relationship (FLR) yang ditunjukkan pada Gambar 417 Gambar 418 dan Gambar 419

Gambar 417 Diagram alir proses Pembentukan FLR

(bagian 1)

Pembentukan Fuzzy Logical Relationship

Mulai

hasil_fuzzifikasiAhasil_fuzzifikasiB hasil_fuzzifikasiChasil_fuzzifikasiD order

for i = 0 to jmlh_dataTraining

max_inc = order jmlh_dataTraining = dataTraining - order

for j = i to max_inc

for k = 0 to jmlh_Faktor-1

j == 0

FLR_kiri_training ke ijk = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D)

ke j

E A B C D

42

ya

tidak

ya

tidak

A B C E D

FLR_kiri_training ke i(j-i)k = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D) ke j

j = 0

k

j

FLR_kanan_training ke i = hasil_fuzzifikasiA ke (i+order)

Max_inc lt (jmlh_DataTraining-1)

i

tmp_JmlhDatatraining = tmp_JmlhDatatraining +1

max_inc = max_inc + 1 tmp_JmlhDatatraining = i

Gambar 418 Diagram alir proses Pembentukan FLR (bagian 2)

for j = 0 to tmp_JmlhDatatraining

for j = tmp_JmlhDatatraining to max_inc

for k = 0 to jmlh_Faktor-1

I H G F

43

tidak

ya

417 Proses Defuzzifikasi

Proses defuzzifikasi merupakan proses akhir dimana keluaran dari proses ini merupakan nilai hasil peramalan Data yang diperlukan pada proses defuzzifikasi adalah hasil dari proses pembentukan Fuzzy Logical Relationship (FLR) nilai threshold yang harus dideklarasikan sebelumnya jumlah data training dan jumlah data testing Dalam proses ini dilakukan perhitungan selisih pada FLR antara data testing dan data training FLR yang dihitung nilai selisihnya adalah FLR pangkat bawah yang terdapat pada ruas kiri Setelah dilakukan perhitungan selisih dan total jumlah selisih lebih kecil dari nilai threshold maka pada setiap FLR yang

I H G F

FLR_kiri_testing ke i(j-tmp_jmlhDatatraining) k = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D) ke j

k

j

FLR_kanan_testing ke i = hasil_fuzzifikasiA ke (i+order)

i

Max_inc lt (jmlh_DataTraining-1)

max_inc = max_inc + 1 tmp_JmlhDatatraining++

FLR_kiri_training FLR_kanan_training FLR_kiri_testing FLR_kanan_testing

Mulai

Gambar 419 Diagram alir proses Pembentukan FLR (bagian 3)

44

ya

tidak

sesuai dengan kondisi tersebut dapat dikatakan cocok atau dapat dilakukan ke tahap perhitungan selanjutnya Setelah mendapatkan FLR yang cocok maka dilakukan pengelompokkan berdasarkan FLR ruas kanan Pengelompokkan ini dihitung jumlah frekuensi yang sama sesuai dengan fuzzy set di ruas kanan Selanjutnya untuk memperoleh hasil peramalan dilakukan proses perhitungan sesuai dengan Persamaan 218 Berikut adalah langkah ndash langkah proses defuzzifikasi yang ditunjukkan pada Gambar 420 dan Gambar 421

Gambar 420 Diagram alir proses defuzzifikasi (bagian 1)

Defuzzifikasi

Mulai

FLR_kiri FLR_kanan order dataTraining dataTesting konstanta

threshold = (jmlh_Faktor x order)+konstanta

for i = 0 to dataTesting

for j = 0 to (dataTraining-i)

Perhitungan hitung_selisih antara FLR_kiri data training dan data testing

hitung_selisih lt threshold

match ke ij = hitung_selisih

j

i

A

45

Gambar 421 Diagram alir proses defuzzifikasi (bagian 2)

A

Menghitung jumlah total FLR_kiri yang cocok untuk setiap data testing

Mencocokan FLR_kiri yang cocok dengan FLR_kanan untuk setiap data testing

for i = 0 to dataTesting

Menghitung frekuensi setiap FLR_kanan yang cocok untuk setap data testing

for j = 0 to jumlah total FLR kiri yang cocok

peramalan = peramalan + Frekuensi setiap FLR_kanan yang cocok x pusat_cluster1

sesuai dengan value FLR_kanannya

j

hasil_peramlan ke i = peramalan jumlah total FLR kiri yang cocok

i

Hasil_permalan

Berhenti

46

42 Perhitungan Manual

Dalam perhitungan manual ini data sampel yang digunakan merupakan data time series dasarian ke-2 pada periode April 2014 sampai dengan dasarian ke-2 Juli 2014 data sampel ditunjukkan pada Tabel 41

Tabel 41 Data Sampel Perhitungan Manual

No Dasarian Curah Hujan

(A)

Suhu (B) Kelembaban (C)

Kecepatan Angin(D)

1 Dasarian 2 (April 2014) 95 2615 8248 629

2 Dasarian 3 (April 2014) 90 2612 8247 628

3 Dasarian 1 (Mei 2014) 94 2607 8247 627

4 Dasarian 2 (Mei 2014) 83 2625 8232 623

5 Dasarian 3 (Mei 2014) 85 2628 8235 623

6 Dasarian 1 (Juni 2014) 92 2609 8241 626

7 Dasarian 2 (Juni 2014) 86 2627 8235 624

8 Dasarian 3 (Juni 2014) 89 2621 8238 624

9 Dasarian 1 (Juli 2014) 93 2607 8242 626

10 Dasarian 2 (Juli 2014) 86 2626 8237 623

Sumber BMKG Kelas III Karangkates Malang

421 Perhitungan Universe of Discourse (U)

Sebelum melakukan perhitungan U maka harus dicari terlebih dahulu nilai 119863119898119894119899 119863119898119886119909 dan standar deviasi 119863119898119894119899 adalah nilai minimum atau nilai terkecil dari data sampel yang ada sedangkan 119863119898119886119909 adalah nilai maksimum atau nilai paling besar dari data sampel yang ada Untuk mencari nilai standar deviasi harus menghitung nilai mean (rata ndash rata) terlebih dahulu sesuai dengan Persamaan 211 Mean dari data curah hujan (A) dihitung dengan cara sebagai berikut

Mean = (data ke-1 + data ke-2 + data ke-3 + + data ke-10) 10

= (95 + 90 + 94 + 83 + 85 + 92 + 86 + 89 + 93 + 86) 10

= 893 10

= 893

Selanjutnya setelah diperoleh nilai mean dilanjutkan melakukan perhitungan standar deviasi sesuai dengan Persamaan 212 Standar deviasi adalah akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel Untuk menghitung standar deviasi agar lebih mudah kita terlebih dahulu melakukan perhitungan nilai kuadrat dari selisih data ke-i dan mean yang ditunjukkan pada Tabel 42

47

Tabel 42 Hasil kuadrat dari selisih data ke-i dan mean

i Data ke-i Data ke-i mean (Data ke-i - mean)sup2

1 95 57 32490

2 90 07 0490

3 94 47 22090

4 83 -63 39690

5 85 -43 18490

6 92 27 7290

7 86 -33 10890

8 89 -03 0090

9 93 37 13690

10 86 -33 10890

Jumlah 1561

Setelah mendapatkan hasil nilai kuadrat dari selisih data ke-i dan mean sesuai dengan Tabel 42 maka dapat dilanjutkan melakukan perhitungan standar deviasi dengan cara sebagai berikut

Standar_deviasi = radic1

10minus1sum (119889119886119905119886 119896119890 minus 119894 minus 119898119890119886119899)10

119894=1

2

= radic1

9 times 1561

= 4165

Untuk perhitungan standar deviasi juga dilakukan pada faktor lainnya yaitu suhu (B) kelembaban (C) dan kecepatan angin (D) Hasil perhitungan 119863119898119894119899 119863119898119886119909 dan standar deviasi ditunjukkan pada Tabel 43

Tabel 43 Nilai minimum nilai maksimum dan standar deviasi

Data D min D max Standar Deviasi

A 83 95 4165

B 2607 2628 0086

C 8232 8248 0057

D 623 629 0022

Berdasarkan hasil yang ditunjukkan Tabel 43 selanjutnya dapat dilakukan perhitungan nilai U sesuai dengan Persamaan 213 Berikut adalah perhitungan U pada data A

U = [119863119898119894119899 minus 120590 119863119898119886119909 + 120590]

= [(83 ndash 4165) (95 ndash 4165)]

= [78835 99165]

48

Untuk perhitungan U juga dilakukan pada semua faktor yaitu data B C dan D Sehingga diperoleh nilai U yang ditunjukkan pada Tabel 44

Tabel 44 Hasil Universe of Discourse

Data U

Batas Bawah Batas Atas

A 78835 99165

B 25984 26366

C 82263 82537

D 6208 6312

422 Perhitungan jumlah cluster (k)

Pada perhitungan jumlah cluster langkah pertamanya adalah mencari nilai absolut dari selisih data hari ke-t dengan hari sebelumnya Perhitungan selisih dilakukan hingga data ke-10 Perhitungan nilai selisih dilakukan pada semua data A B C dan D Selanjutnya masing ndash masing nilai selisih dijumlah sehingga hasilnya seperti ditunjukkan pada Tabel 45

Tabel 45 Nilai absolut selisih data hari ke-t dengan hari sebelumnya

No Tanggal A B C D

1 Dasarian 3 (April 2014) 5 003 001 001

2 Dasarian 1 (Mei 2014) 4 005 0 001

3 Dasarian 2 (Mei 2014) 11 018 015 004

4 Dasarian 3 (Mei 2014) 2 003 003 0

5 Dasarian 1 (Juni 2014) 7 019 006 003

6 Dasarian 2 (Juni 2014) 6 018 006 002

7 Dasarian 3 (Juni 2014) 3 006 003 0

8 Dasarian 1 (Juli 2014) 4 014 004 002

9 Dasarian 2 (Juli 2014) 7 019 005 003

Jumlah 49 105 043 016

Setelah mendapatkan nilai absolut selisih data hari ke-t dengan hari sebelumnya dapat dilanjutkan dengan menghitung jumlah cluster sesuai dengan Persamaan 214 Perhitungan jumlah cluster pada data A (k1) berdasarkan pada Tabel 43 diketahui nilai 119863119898119894119899 adalah 171 nilai 119863119898119886119909 adalah 2048 maka jumlah cluster data A dapat ditunjukkan sebagai berikut

49

1198961 = ||119863119898119894119899 minus 119863119898119886119909|sum |119883(119905) minus 119883(119905 minus 1)|119899

119905=1

119899 minus 1|

= |83 minus 9549

10minus1| = 2204

Apabila hasil perhitungan jumlah cluster merupakan bilangan pecahan maka hasilnya harus dibulatkan Sehingga jumlah cluster pada data A adalah 2 Perhitungan jumlah cluster juga dilakukan pada data B (k2) C (k3) dan D (k4) Berikut merupakan hasil semua perhitungan jumlah cluster yang ditunjukkan pada Tabel 46

Tabel 46 Hasil jumlah cluster data

No Cluster Jumlah Cluster

1 k1 2

2 k2 2

3 k3 3

4 k4 3

423 Perhitungan pusat cluster dan subinterval

Pada pembentukan subinterval berdasarkan pada Tabel 46 yang menunjukkan jumlah subinterval yang selanjutnya digunakan untuk menentukan pusat cluster menggunakan algoritma fuzzy C-means (FCM)

4231 Penentuan pusat cluster

a Penentuan nilai variabel

Pada penentuan subinterval diawali dengan klasterisasi menggunakan algoritma FCM pada awal proses ditentukkan beberapa variabel sebagai berikut

Banyak cluster = k1 = 2

Bobot (w) = 2

Fungsi objektif awal = 0

Iterasi awal = 1

Iterasi maksimum = 100

Error terkecil = 001 b Pembentukan matriks partisi awal (micro)

Data pada pembentukan matriks partisi awal merupakan nilai random diantara nilai 0 sampai 1 Dimensi pada matriks partisi awal dibentuk dengan dimensi jumlah data (i) x jumlah cluster (k) Dalam hal ini telah diketahui jumlah data adalah 10 dan k1 adalah 2 maka partisi dimensi matriks awal adalah 10 x 2 Hasil pembentukan matriks partisi awal ditunjukkan pada Tabel 47 dimana Cluster disimbolkan dengan C

50

Tabel 47 Matriks partisi awal pada cluster data A

c Normalisasi matriks partisi awal

Langkah pertama normalisasi matriks partisi awal adalah dengan menghitung jumlah bilangan penyusun matriks pada setiap kolom yang dapat dilihat pada Tabel 47 dijumlah berdasarkan dengan Persamaan 24 Diketahui jumlah kolom matriks sebanyak 2 sehingga diperoleh Q1 untuk penjumlahan kolom c1 Q2 untuk penjumlahan kolom c2

Q1 = 0355 + 0174 + 02 + 0387 + 0598 + 0819 + 0702 + 0719 + 0349 +

0852

= 5154

Q2 = 0170 + 0815 + 0190 + 0456 + 0526 + 0170 + 0232 + 0572 + 0102 +

0322

= 3554

Langkah selanjutnya dilakukan proses normalisasi menggunakan Persamaan 25 Dimana setiap bilangan penyusun matriks awal dibagi dengan nilai Q sesuai dengan kolomnya masing ndash masing Bilangan penyusun matriks disimbolkan dengan microik dimana i menunjukkan baris dan k menunjukkan kolom posisi bilangan tersebut pada matriks

i micro

c1 c2

1 0355 0170

2 0174 0815

3 0200 0190

4 0387 0456

5 0598 0526

6 0819 0170

7 0702 0232

8 0719 0572

9 0349 0102

10 0852 0322

51

μ11 = bilangan matriks partisi pada baris 1 kolom 1

Q1

= 0355

5154

= 0069

μ12 = bilangan matriks partisi pada baris 1 kolom 2

Q2

= 0170

3554

= 0048

Setelah melakukan perhitungan seperti diatas untuk semua bilangan matriks sehingga matriks partisi sudah ternormalisasi seperti yang ditunjukkan pada Tabel 48

Tabel 48 Derajat keanggotaan matriks partisi data A

i micro

C1 C2

1 0069 0048

2 0034 0229

3 0039 0054

4 0075 0128

5 0116 0148

6 0159 0048

7 0136 0065

8 0140 0161

9 0068 0029

10 0165 0090

d Perhitungan pusat cluster (V)

Pada perhitungan pusat cluster (V) berdasarkan Persamaan 26 Dimana setiap bilangan penyusun matriks partisi (micro) dipangkatkan dengan w dimana variabel w yang sudah dideklarisakan terlebih dahulu dengan nilai sama dengan 2 dan dikalikan dengan bilangan penyusun matriks X yang merupakan matriks berisi data yang ada pada Tabel 41 Selanjutnya hasil perkalian tersebut dijumlah dan dibagi dengan jumlah hasil kuadrat dari bilangan penyusun matriks partisi Hasil perhitungan ditunjukkan pada Tabel 49

52

Tabel 49 Perhitungan pusat cluster data A

Berdasarkan jumlah cluster dari data A yaitu 2 maka terdapat 2 pusat cluster (V) yaitu V1 V2 Perhitungan nilai V adalah sebagai berikut

V1 = sum ((μic1)2 times Xi)10

i=1

sum (μic1)210i=1

= 10730216

0121620

= 8822718207

V2 = sum ((μic2)2 times Xi)10

i=1

sum (μic2)210i=1

= 12111287

0137572

= 8803592572

Jadi berdasarkan perhitungan diatas pusat cluster untuk data A pada iterasi ke-1 adalah 8822718207 8803592572

e Perhitungan fungsi objektif (P)

Pada perhitungan P menggunakan Persamaan 27 dimana setiap baris pada data matriks X dikurangi pusat cluster (V) selanjutnya dikuadratkan Hasilnya

i X microsup2 microsup2 x X

C1 C2 C1 C2

1 95 0004731 0002292 0449450 0217718

2 90 0001137 0052633 0102304 4736927

3 94 0001512 0002864 0142117 0269234

4 83 0005630 0016427 0467258 1363472

5 85 0013448 0021907 1143107 1862112

6 92 0025233 0002291 2321422 0210787

7 86 0018542 0004243 1594602 0364916

8 89 0019487 0025916 1734356 2306543

9 93 0004590 0000816 0426841 0075870

10 86 0027311 0008183 2348759 0703706

Jumlah 0121620 0137572 10730216 12111287

53

kemudian dikalikan dengan micro yang sudah dipangkatkan dengan bobot (w) seperti yang telah ditunjukkan pada Tabel 49 Selanjutnya hasil tersebut dijumlah per kolom seperti yang ditunjukkan pada Tabel 410

Tabel 410 Fungsi objektif data A

i X (X-V)sup2 (X-V)sup2 x microsup2

C1 C2 C1 C2

1 95 458711 484983 02170 01111

2 90 31429 38576 00036 02030

3 94 333254 355702 00504 01019

4 83 273234 253605 01538 04166

5 85 104147 92168 01401 02019

6 92 142342 157139 03592 00360

7 86 49603 41450 00920 00176

8 89 05972 09294 00116 00241

9 93 227798 246420 01046 00201

10 86 49603 41450 01355 00339

Jumlah 1267661573 1166282827

Fungsi Objektif (P) 24339444

Perhitungan nilai fungsi objektif dilakukan seperti Persamaan 27 Nilai fungsi objektif diperoleh dengan cara sebagai berikut P = sum sum ([(Xi minus Vc)2](μik)2)3

c=110i=1

P = 1267661573 + 1166282827

= 24339444

f Perbaikan matriks partisi

Pada langkah ini perbaikan matriks partisi dilakukan berdasarkan Persamaan 28 Data matriks X untuk setiap barisnya dikurangi pusat cluster lalu dikuadratkan seperti yang ditunjukkan pada Tabel 410 Selanjutnya hasilnya dipangkatkan dengan -11 karena w-1 = 1 Hasil pangkat -1 terhadap (X-V)2 ditunjukkan pada Tabel 411

54

Tabel 411 Perbaikan matriks partisi

i ((X-V)sup2)^-1

Jumlah C1 C2

1 0022 0021 0042

2 0318 0259 0577

3 0030 0028 0058

4 0037 0039 0076

5 0096 0108 0205

6 0070 0064 0134

7 0202 0241 0443

8 1674 1076 2750

9 0044 0041 0084

10 0202 0241 0443

Berdasarkan tabel diatas bilangan penyusun matriks partisi yang baru atau yang telah diperbaiki diperoleh dari hasil pembagian data terhadap jumlah per barisnya

12058311 = 0022

0042= 0514

12058312 = 0021

0042= 0486

Pada perhitungan nilai matriks yang sudah diperbaiki dilakukan pada semua elemen matriks sehingga hasil perbaikan matriks seperti yang ditunjukkan pada Tabel 412

Tabel 412 Hasil perbaikan matriks partisi

Setelah mendapatkan hasil perbaikan matriks partisi kita lakukan pengecekan selama iterasi kurang dari iterasi maksimum (maxIter) atau selisih antara fungsi objektif iterasi saat ini dengan iterasi sebelumnya bernilai lebih dari nilai error terkecil yaitu 001 maka proses berlanjut dengan kembali melakukan perhitungan pusat cluster hingga perbaikan matriks partisi Hasil

i micro

C1 C2

1 0514 0486

2 0551 0449

3 0516 0484

4 0481 0519

5 0469 0531

6 0525 0475

7 0455 0545

8 0609 0391

9 0520 0480

10 0455 0545

55

perhitungan pusat cluster dari data A B C dan D setelah dilakukan proses tiga kali iterasi dan diurutkan mulai dari yang terkecil sampai yang terbesar ditunjukkan pada Tabel 413

Tabel 413 Hasil pusat cluster

4232 Perhitungan batas subinterval

Perhitungan batas subinterval dilakukan dengan mencari nilai tengah (Median) dari setiap pusat cluster Berikut merupakan contoh perhitungan batas subinterval pada data A

a Interval 1 Batas bawah = 78835 (Batas bawah Universe of Discourse pada data A) Batas atas = 89347 (Median 88303 dan 90390)

b Interval 2 Batas bawah = 89347 (Median 88303 dan 90390) Batas atas = 99165 (Batas atas Universe of Discourse pada data A)

Seperti perhitungan diatas juga dilakukan pada data suhu (B) kelembaban (C) dan kecepatan angin (D) Dalam hal ini jumlah subinterval setiap atribut berbeda ndash beda sesuai dengan jumlah cluster yang sebelumnya ditunjukkan pada Tabel 46 Berikut merupakan batas subinterval masing ndash masing atribut yang ditunjukkan pada Tabel 414

Tabel 414 Batas subinterval masing ndash masing atribut data

Interval (micro)

A B C D

1

78835 25984 751708 6208

sd sd sd sd

89347 26181 823863 6249

2

89347 26181 823863 6249

sd sd sd sd

99165 26366 82411 6256

3

82411 6256

- - sd sd

82537 6312

Cluster A B C D

1 88303 26165 82391 62497

2 90390 26197 82408 62499

3 - - 82415 62613

56

424 Pembentukan Fuzzy Set

Pembentukan fuzzy set berdasarkan pada derajat keanggotaan dari subinterval (micro) fuzzy set dari data A ditentukan dengan derajat keanggotaan sebagai berikut

A1 = 1micro1 + 05micro2

A2 = 05micro1 + 1micro2

Pada derajat keanggotaan data A diatas simbol ldquo+rdquo menunjukkan operator himpunan gabungan Berdasarkan subinterval pada Tabel 414 nilai batas fuzzy set dari data atribut A dapat ditentukan dengan cara sebagai berikut

A1 = 78835 sd 94256 (Batas bawah interval 1 sd titik tengah interval 2)

A2 = 84091 sd 99165 (Titik tengah interval 1 sd batas atas interval 2)

Setelah diketahui batas masing ndash masing fuzzy set grafik fungsi keanggotaan fuzzy set data A yang direpresentasikan dalam kurva bahu yang ditunjukkan pada Gambar 422 Dengan cara yang sama juga ditentukan pula fuzzy set dari data attribut B C dan D

425 Fuzzifikasi

Pada langkah fuzzifikasi dilakukan dengan mencari derajat keanggotaan yang memiliki nilai paling besar (maksimum) dari masing ndash masing data terhadap fuzzy set yang sudah terbentuk Derajat keanggotaan dicari berdasarkan fungsi keanggotaan kurva bentuk bahu Berikut ini adalah perhitungan derajat keanggotaan dari data attribut A

Data aktual curah hujan (A) pada April 2014 dasarian ke-3 = 90

1198601 = 942558 ndash 90

942558minus840911= 041868427

Gambar 422 Grafik fuzzy set data A

57

1198602 = 90minus840911

942558minus840911= 058131636

Derajat keanggotaan paling besar berada pada A2 sehingga data attribut A pada April 2014 dasarian ke-3 difuzzifikasikan ke fuzzy set A2 Perhitungan yang sama dilakukan pada seluruh data attribut A sehingga didapat derajat keanggotaan dan hasil fuzzifikasi dari data A ditunjukkan pada Tabel 415

Tabel 415 Hasil derajat keanggotaan dan fuzzy set data A

i Data A1 A2 Fuzzyfikasi

1 95 0 1 A2

2 90 041868363 058131636 A2

3 94 002516357 097483642 A2

4 83 1 0 A1

5 85 09105837 008941629 A1

6 92 02219236 077807639 A2

7 86 08122036 018779631 A1

8 89 05170636 048293635 A1

9 93 01235436 087645641 A2

10 86 08122037 018779631 A1

Perhitungan yang sama juga dilakukan pada semua attribut yaitu attribut B C dan D Sehingga dapat diperoleh hasil fuzzifikasi sesuai derajat keanggotaan dengan nilai paling besar Berikut adalah hasil fuzzifikasi untuk semua attribut yang dapat dilihat pada Tabel 416

Tabel 416 Hasil fuzzifikasi semua data attribut

No Tanggal A B C D

1 Dasarian 2 (April 2014) A2 B1 C3 D3

2 Dasarian 3 (April 2014) A2 B1 C3 D3

3 Dasarian 1 (Mei 2014) A2 B1 C3 D3

4 Dasarian 2 (Mei 2014) A1 B2 C1 D1

5 Dasarian 3 (Mei 2014) A1 B2 C1 D1

6 Dasarian 1 (Juni 2014) A2 B1 C2 D2

7 Dasarian 2 (Juni 2014) A1 B2 C1 D1

8 Dasarian 3 (Juni 2014) A1 B2 C2 D1

9 Dasarian 1 (Juli 2014) A2 B1 C2 D2

10 Dasarian 2 (Juli 2014) A1 B2 C2 D1

58

426 Pembentukan Fuzzy Logical Relationship (FLR)

Pada tahap pembentukan FLR dengan berdasarkan nilai order yang sudah ditentukan Pada manualisasi ini berdasarkan dari Tabel 416 di misalkan nilai order kita deklarasikan dengan nilai 3 sehingga dapat menghasilkan 7 FLR Hasil pembentukan FLR Data training dapat ditunjukkan pada Tabel 417 Hasil pembentukan FLR Data testing dapat ditunjukkan pada Tabel 418

Tabel 417 Hasil pembentukan FLR data training

No Fuzzy Logical Relationship (FLR)

1 (A(12)B(11)C(13)D(13)) (A(22)B(21)C(23)D(23)) (A(32)B(31)C(33)D(33)) rarr A1

2 (A(12)B(11)C(13)D(13)) (A(22)B(21)C(23)D(23)) (A(31)B(32)C(31)D(31)) rarr A1

3 (A(12)B(11)C(13)D(13)) (A(21)B(22)C(21)D(21)) (A(31)B(32)C(31)D(31)) rarr A2

4 (A(11)B(12)C(11)D(11)) (A(21)B(22)C(21)D(21)) (A(32)B(31)C(32)D(32)) rarr A1

5 (A(11)B(12)C(11)D(11)) (A(22)B(21)C(22)D(22)) (A(31)B(32)C(31)D(31)) rarr A1

Tabel 418 Hasil pembentukan FLR data testing

No Fuzzy Logical Relationship (FLR)

1 (A(12)B(11)C(12)D(12)) (A(21)B(22)C(21)D(21)) (A(31)B(32)C(32)D(31)) rarr A2

2 (A(11)B(12)C(11)D(11)) (A(21)B(22)C(22)D(21)) (A(32)B(31)C(32)D(32)) rarr A1

427 Defuzzifikasi

Pada tahap ini misalkan jumlah data yang digunakan untuk data uji atau data testing adalah dua yaitu yang pertama data periode ke-9 dan yang kedua data periode ke-10 Sehingga yang digunakan data latih atau data training adalah data pada periode ke-1 sampai data periode ke-8 Pada data testing yang pertama melibatkan FLR ke-1 sampai FLR ke-5 untuk disesuaikan dengan FLR ke-6 yang berdasarkan pada Tabel 417 Pada data testing yang kedua melibatkan FLR ke-1 sampai FLR ke-6 untuk disesuaikan dengan FLR ke-7 yang berdasarkan pada Tabel 417 Selanjutnya setiap ruas kiri FLR data testing dibandingkan dengan FLR data training yaitu pada bilang pangkat bawah fuzzy set dibandingkan sesuai dengan posisinya dan dihitung selisihnya Hasil dari perhitungan selisih tersebut dijumlahkan dan apabila jumlah selisihnya kurang dari threshold maka FLR tersebut dikatakan cocok Threshold merupakan dari hasil mengalikan jumlah order dengan jumlah faktor kemudian dijumlahkan dengan dengan sebuah konstanta Contoh perhitungan selisih nilai ruas kiri FLR pada data testing pertama adalah sebagai berikut

59

Data testing = (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(32) B(31) C(33) D(33)) rarr A1

Data training =

1 (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(31) B(32) C(31) D(31)) rarr A1

2 (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(31) B(32) C(31) D(31)) rarr A1

3 (A(12) B(11) C(13) D(13)) (A(21) B(22) C(21) D(21)) (A(31) B(32) C(31) D(31)) rarr A2

4 (A(11) B(12) C(11) D(11)) (A(21) B(22) C(21) D(21)) (A(32) B(31) C(32) D(32)) rarr A1

5 (A(11) B(12) C(11) D(11)) (A(22) B(21) C(22) D(22)) (A(31) B(32) C(31) D(31)) rarr A1

Selisih data ke- 1 = |2-2|+|1-1|+|3-2|+|3-2|+|2-1|+|1-2|+|3-1|+|3-1|+|2-1|+|1-2|+|3-2|+|3-1| = 13

Selisih data ke- 2 = |2-2|+|1-1|+|3-2|+|3-2|+|2-1|+|1-2|+|3-1|+|3-1|+|1-1|+|2-2|+|1-2|+|1-1| = 9

Selisih data ke- 3 = |2-2|+|1-1|+|3-2|+|3-2|+|1-1|+|2-2|+|1-1|+|1-1|+|1-1|+|2-2|+|1-2|+|1-1| = 3

Selisih data ke- 4 = |1-2|+|2-1|+|1-2|+|1-2|+|1-1|+|2-2|+|1-1|+|1-1|+|2-1|+|1-2|+|2-2|+|2-1| = 7

Selisih data ke- 5 = |1-2|+|2-1|+|1-2|+|1-2|+|2-1|+|1-2|+|2-1|+|2-1|+|1-1|+|2-2|+|1-2|+|1-1| = 9

Pada perhitungan selisih nilai ruas kiri FLR pada data testing juga dilakukan pada semua data testing yang sudah dideklarasikan sebelumnya Dalam hal ini agar dapat menemukan FLR yang cocok dengan data testing Tahap selanjutnya adalah proses defuzzifikasi menggunakan threshold yang dimisalkan 18 sehingga FLR yang memiliki kecocokan dengan data testing pertama adalah semua FLR dari ke-1 sampai ke-5 karena memiliki hasil selisih kurang dari 18 Semua FLR yang cocok ditampung dikelompokkan berdasarkan FLR pada ruas kanan yang sama kemudian dhitung frekuensinya Berikut adalah frekuensi dan pusat cluster dari ruas kanan FLR yang cocok dengan data testing pertama dan kedua ditunjukkan pada Tabel 419

Tabel 419 Frekuensi FLR yang cocok dengan data testing

Data testing 1 Data testing 2

Ruas kanan A1 A2 A1 A2

Pusat Cluster 88303 90390 88303 90390

Frekuensi 4 1 4 2

Berdasarkan pada Tabel 419 dilakukan defuzzifikasi sesuai dengan Persamaan 218 sebagai berikut

119863119886119905119886 119905119890119904119905119894119899119892 1 = (88303times4)+(90390times1)

5= 887204

60

119863119886119905119886 119905119890119904119905119894119899119892 2 = (88303times4)+(90390times2)

6= 889987

Jadi berdasarkan perhitungan diatas diperoleh hasil peramalan curah hujan pada pada April 2014 dasarian ke-3 adalah 1384601636 sedangkan pada tanggal 10012016 adalah 2769203272 Perbandingan data curah hujan aktual dan hasil peramalan dengan metode High Order Fuzzy Time Series Multi Factors dapat dilihat pada Tabel 420

Tabel 420 Perbandingan data aktual dan hasil peramalan

No Data Aktual Hasil Peramalan

1 93 887204

2 86 889987

Dari hasil peramalan yang ditunjukkan pada Tabel 420 dapat dilakukan perhitungan kesalahan peramalan menggunakan metode Mean Square Error (MSE) seperti Persamaan 219

119872119878119864 = ((93minus887206)2+(86minus889989)2)

2

= 136536

43 Perancangan antarmuka

Perancangan antarmuka merupakan perancangan dari tampilan antarmuka atau interface yang nantinya akan diterapkan pada tahapan implementasi Pada perancangan antarmuka ini terdapat lima halaman utama dan juga terdapat dalam menu berupa button yaitu halaman input halaman tampil data halaman proses halaman hasil dan halaman perhitungan error

431 Halaman input

Pada halaman input terdapat inputan data dengan nama button Browse Data pada inputan data ini pengguna diharuskan memasukkan inputan file data dalam bentuk ekstensi xls serta direktori lokasi file yang di inputkan akan ditampilkan pada textfield dan juga terdapat label yang menampilkan jumlah banyaknya data yang terdapat pada file yang telah di inputkan Selanjutnya juga terdata inputan textfield data training data testing order dan nilai konstanta Pada halaman input ini juga terdapat button fuzzification yang berfungsi untuk melakukan proses clustering fuzzifikasi dan FLR Selanjutnya pada button forecasting berfungsi untuk melakukan peramalan atau defuzzifikasi dari hasil proses fuzzifikasi serta menghitung nilai error dari hasil peramalan Berikut

61

merupakan rancangan tampilan antarmuka dari halaman input yang ditunjukkan pada Gambar 423

432 Halaman tampil data

Pada halaman tampil data terdapat tabel yang menampilkan isi data dari xls yang sudah dimasukkan terlebih dahulu pada halaman input Tabel tampil data akan menampilkan tanggal curah hujan kelembaban suhu dan kecepatan angin Berikut merupakan tampilan rancangan halaman tampil data yang ditunjukkan pada Gambar 424

Gambar 423 Rancangan antarmuka halaman input

Gambar 424 Rancangan antarmuka halaman tampil data

62

433 Halaman proses

Pada halaman proses akan menampilkan hasil clustering fuzzifikasi dan fuzzy logical relationship Pada tampilan halaman clustering akan menampilkan Universe of Discourse curah hujan suhu kelembaban dan kecepatan angin Selanjutnya tampilan dibawahnya akan menampilkan jumlah cluster dari setiap faktor yaitu jumlah cluster curah hujan suhu kelembaban dan kecepatan angin Berikut merupakan tampilan perancangan halaman proses clustering yang ditunjukkan Gambar 425

Selanjutnya pada tampilan proses fuzzifikasi akan menampilkan tabel hasil fuzzifikasi dari curah hujan suhu kelembaban dan kecepatan angin Berikut adalah tampilan rancangan proses fuzzifikasi yang ditunjukkan pada Gambar 426

Gambar 425 Rancangan antarmuka halaman proses clustering

Gambar 426 Rancangan antarmuka proses fuzzifikasi

63

Pada tampilan proses fuzzy logical relationship (FLR) akan menampilkan textarea berisi hasil proses FLR dari curah hujan suhu kelembaban dan kecepatan angin Berikut adalah tampilan rancangan proses fuzzy logical relationship yang ditunjukkan pada Gambar 427

434 Halaman hasil

Pada halaman hasil peramalan akan menampilkan tabel yang berisi hasil peramalan curah hujan dan data curah hujan yang sebenarnya Serta terdapat text link yang akan menampilkan grafik perbandingan data hasil peramalan dan data yang sebenarnya Berikut adalah tampilan rancangan halaman hasil yang ditunjukkan pada Gambar 428

Gambar 427 Rancangan antarmuka proses fuzzy logical relationship

Gambar 428 Rancangan antarmuka halaman hasil peramalan

64

435 Halaman perhitungan error

Pada halaman perhitungan error akan menampilkan nilai dari hasil perhitungan Mean Square Error (MSE) pada textfield Berikut adalah tampilan rancangan halaman perhitungan error yang ditunjukkan pada Gambar 429

44 Perancangan pengujian

Pada penelitian ini akan dilakukan empat pengujian yaitu pengujian terhadap nilai order nilai threshold pengujian terhadap jumlah data training untuk mengetahui pengaruhnya terhadap nilai Mean Square Error (MSE) dan pengujian validasi sistem untuk mengetahui kestabilan hasil implementasi

441 Perancangan pengaruh order terhadap nilai MSE

Order merupakan jumlah urutan data yang digunakan dalam pembentukkan Fuzzy Logical Relationship (FLR) Pada pengujian ini dilakukan percobaan dengan order yang berbeda ndash beda Pengujian ini bertujuan untuk mengetahui pengaruh order terhadap hasil peramalan Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Pada setiap pengujian yang telah dilakukan dihitung nilai MSEnya untuk mengetahui tingkat kesalahan metode ini apabila dilakukan dengan order yang berbeda Berikut adalah perancangan pengujian order terhadap nilai MSE ditunjukkan pada Tabel 421

Tabel 421 Rancangan pengujian order terhadap nilai MSE

No Order Threshold MSE

1

Gambar 429 Rancangan antarmuka halaman perhitungan error

65

442 Perancangan pengaruh threshold terhadap nilai MSE

Nilai threshold bergantung jumlah order karena untuk nilai threshold merupakan dari hasil mengalikan jumlah faktor yang mempengaruhi dengan order selanjutnya dijumlah dengan sebuah konstanta Pada pengujian ini dilakukan percobaan dengan konstanta yang berbeda ndash beda sehingga menghasilkan threshold yang berbeda pula Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Dari setiap percobaan yang telah dilakukan dihitung nilai MSEnya untuk mengetahui tingkat kesalahan metode ini apabila dilakukan dengan konstanta dan threshold yang berbeda Berikut merupakan rancangan pengujian pengaruh threshold terhadap nilai MSE yang ditunjukkan pada Tabel 422

Tabel 422 Rancangan pengujian threshold terhadap nilai MSE

No Konstanta Threshold MSE

1

443 Perancangan pengaruh jumlah data training terhadap nilai MSE

Data training sangat berperan penting dalam proses defuzzifikasi sehingga pada penelitian ini dilakukan pengujian pengaruh jumlah data training terhadap tingkat kesalahan dari hasil peramalan Pada pengujian ini dilakukan percobaan dengan jumlah data training yang berbeda ndash beda Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Dari setiap percobaan dilakukan perhitungan nilai MSE untuk mengetahui tingkat kesalahan dari hasil peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors dengan jumlah data training yang berbeda ndash beda Sehingga dari hasil pengujian ini dapat diketahui pengaruh dari jumlah data training Berikut merupakan rancangan pengujian pengaruh jumlah data training yang ditunjukkan pada Tabel 423

Tabel 423 Rancangan pengujian jumlah data training terhadap nilai MSE

No Jumlah Data Training MSE

1

444 Perancangan validasi sistem

Pada pengujian validasi sistem akan melakukan pengujian dengan menggunakan order threshold terbaik seperti yang telah dilakukan pada

66

pengujian ndash pengujian sebelumnya yang menghasilkan hasil error MSE terendah Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Berikut merupakan rancangan pengujian validasi sistem yang ditunjukkan pada Tabel 424

Tabel 424 Rancangan pengujian validasi sistem

Percobaan ke- MSE

1

67

BAB 5 IMPLEMENTASI

Pada bab ini berisi pembahasan hasil implementasi metode High Order Fuzzy Time Series Multi Factors yang sesuai dengan bab sebelumnya yaitu perancangan Bab ini terdiri dari spesifikasi sistem implementasi algoritma dan implementasi antarmuka

51 Spesifikasi Sistem

Pada spesifikasi sistem ini dibagi mejadi dua yaitu spesifikasi perangkat keras dan spesifikasi perangkat lunak

511 Spesifikasi Perangkat Keras

Spesifikasi perangkat keras merupakan perangkat keras yang digunakan pada implementasi penelitian ini Perangkat keras yang digunakan adalah laptop dengan spesifikasi sesuai dengan pada Tabel 51 berikut

Tabel 51 Spesifikasi Perangkat Keras

Komponen Spesifikasi

Processor Intelcopy Core i3-3217U 180 GHz

Memori (RAM) 8 GB RAM

Harddisk 500 GB RAM

512 Spesifikasi Perangkat Lunak

Spesifikasi perangkat lunak merupakan perangkat lunak yang digunakan pada implementasi penelitian ini Perangkat lunak yang digunakan pada implementasi penelitian sesuai dengan yang ditunjukkan pada Tabel 52 berikut

Tabel 52 Spesifikasi Perangkat Lunak

Sistem Operasi Microsoft Windows 7 (64 bit)

Bahasa Pemrograman Java

Tools Pemrograman Netbeans 81

Data Microsoft Excel 2013

52 Implementasi Algoritma

Pada implementasi algoritma ini membahas mengenai hasil implementasi algoritma metode High Order Fuzzy Time Series Multi Factors yang mengacu pada bab sebelumnya yaitu perancangan Dalam penelitian ini implementasi algoritma menggunakan bahasa pemrograman java berbasis desktop Implementasi algoritma terdiri dari beberapa method sesuai dengan langkah ndash langkah pada algoritma metode High Order Fuzzy Time Series Multi Factors

68

521 Implementasi Proses Universe of Discourse

Pada implementasi Universe of Discourse seperti yang ditunjukkan Kode Program 51 dimana pada source code method Universe_of_Discourse baris 3 - 5 terdapat pemanggilan method mean standar_deviasi dan Min_dan_Max Dimana pemanggilan method tersebut dibutuhkan untuk melakukan proses perhitungan selanjutnya yaitu untuk menghitung batas bawah dan batas atas dari Univers of Discourse Baris 7-10 untuk menghitung hasil Universe of Discourse Berikut merupakan source code dari proses Universe of Discourse yang ditunjukkan pada Kode Program 51

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

private void Universe_of_Discourse()

mean()

standar_deviasi()

Min_dan_Max()

hsl_uMin = new double[jmlh_Faktor]

hsl_uMax = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

hsl_uMin[i] = hsl_min[i] - hsl_stdev[i]

hsl_uMax[i] = hsl_max[i] + hsl_stdev[i]

Kode Program 51 Implementasi proses Universe of Discourse

5211 Implementasi proses mean

Pada implementasi proses mean merupakan proses perhitungan nilai rata ndash rata dari setiap faktor yang nantinya hasilnya diperlukan untuk proses perhitungan standar deviasi Berikut merupakan source code dari proses mean yang ditunjukkan pada Kode Program 52 Perhitungan utama proses mean terdapat pada baris 3 ndash 8

Baris Kode

1 2 3 4 5 6 7 8 9

private void mean()

hsl_mean = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double tmp_jmlh = 0

for (int j = 0 j lt jmlh_DataTraining j++)

tmp_jmlh = tmp_jmlh + data[i][j]

hsl_mean[i] = (tmp_jmlh jmlh_DataTraining)

Kode Program 52 Implementasi proses mean

5212 Implementasi proses standar deviasi

Pada implementasi proses perhitungan standar deviasi merupakan akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel Standar deviasi dapat dilakukan perhitungan setelah mendapat nilai hasil dari perhitungan mean Berikut merupakan source code dari implementasi proses standar deviasi yang ditunjukkan pada Kode Program 53 Perhitungan utama proses standar deviasi terdapat pada baris 3 ndash 9

69

Baris Kode

1 2 3 4 5 6 7 8 9 10 11

private void standar_deviasi()

hsl_stdev = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double result = 0

for (int j = 0 j lt jmlh_DataTraining j++)

result = result + (Mathpow((data[i][j] ndash

hsl_mean[i]) 2))

hsl_stdev[i]=Mathsqrt(result(jmlh_DataTraining-

1))

Kode Program 53 Implementasi proses standar deviasi

5213 Implementasi proses Dmin dan Dmax

Pada implementasi proses Dmin dan Dmax merukan untuk mencari nilai minimum dan nilai maksimum dari data sampel untuk setiap faktor Berikut merupakan source code dari implementasi dari proses Dmin dan Dmax yang ditunjukkan pada Kode Program 54 Pada baris 8 ndash 10 merupakan bagian dari proses untuk untuk menentukan nilai data terbesar Selanjutnya pada baris 11 ndash 13 untuk menentukan nilai data terkecil

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

19

private void Min_dan_Max()

hsl_max = new double[jmlh_Faktor]

hsl_min = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double besar = data[i][0]

double kecil = data[i][0]

for (int j = 0 j lt jmlh_DataTraining j++)

if (data[i][j] gt besar)

besar = data[i][j]

if (data[i][j] lt kecil)

kecil = data[i][j]

hsl_max[i] = besar

hsl_min[i] = kecil

Kode Program 54 Implementasi proses Dmin dan Dmax

522 Implementasi Proses Jumlah Cluster

Pada implementasi proses jumlah cluster merupakan proses perhitungan jumlah cluster dari setiap faktor Implementasi ini dapat dilakukan apabila sudah mendapatkan hasil output dari method Min_dan_Max() sudah didapatkan Berikut merupakan source code dari implementasi proses jumlah cluster yang ditunjukkan pada Kode Program 55 Pada baris 3 ndash 7 untuk digunakan untuk menghitung selisih data sampel setiap baris dari semua faktor pada data sampel ke t dengan t+1 Selanjutnya pada baris 9 ndash 10 untuk menghitung jumlah cluster dari setiap faktor

70

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

12

13

private void jumlah_Cluster()

jmlh_Cluster = new int[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double selisih = 0

for (int j = 0 j lt (jmlh_DataTraining - 1) j++)

selisih = selisih + (Mathabs((data[i][j]

- data[i][(j + 1)])))

jmlh_Cluster[i] = (int) Mathround((Mathabs(

hsl_min[i]-hsl_max[i]))(selisih(jmlh_DataTraining

-1)))

Kode Program 55 Implementasi proses jumlah cluster

523 Implementasi Proses Pusat Cluster

Implementasi proses perhitungan pusat cluster ini menggunakan metode fuzzy C-means untuk mendapatkan pusat cluster yang nantinya digunkan sebagai subinterval Implementasi ini memerlukan hasil dari proses method jumlah_Cluster() agar dapat melakukan perhitungan subinterval Berikut merupakan source code dari implementasi proses subinterval yang ditunjukkan pada Kode Program 56 Pada Kode Program 56 hanya menampilkan source code pembentukan subinterval pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 2 ndash 3 merupakan deklarasi variabel bobot iterasi maksimum selisih fungsi objektif awal dan error minimum Pada baris 8 ndash 20 merupakan proses pembentukan matriks partisi dengan nilai random 0 sampai 1 Pada baris 22 ndash 26 merupakan proses normalisasi matriks partisi yang telah terbentuk Pada baris 28 ndash 63 merupakan proses untuk menentukan pusat cluster Pada baris 65 ndash 86 merupakan proses perhitungan fungsi objektif dari iterasi Pada baris 88 ndash 90 merupakan proses perhitungan selisih fungsi objektif Pada baris 92 ndash 108 adalah proses perbaikan matriks partisi Pada baris 110 ndash 115 adalah proses hasil perbaikan matriks partisi Pada baris 116 - 133 adalah proses dengan pengkondisian apakah selisih fungsi objektif lebih kecil dari error minimum serta apabila memenuhi kondisi maka dilanjutkan ke proses pengurutan pusat cluster secara ascending dari hasil iterasi terakhir dan proses pengkondisian iterasi berhenti

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

private void pusat_cluster()

int bobot = 2int iter_maksimum = 100

double selisih_f_objektif = 0double error_min = 001

for (int i = 0 i lt jmlh_Faktor i++)

faktor A

if (i == 0)

Pembentukkan matriks partisi

tmp_Matriks1=new

double[jmlh_Cluster[i]][jmlh_DataTraining]

q1 = new double[jmlh_Cluster[i]]

double jmlh_q1

for (int j = 0 j lt jmlh_Cluster[i] j++)

jmlh_q1 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

71

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

double random = ThreadLocalRandomcurrent()

nextDouble(01 1)

tmp_Matriks1[j][k] = random

jmlh_q1 = jmlh_q1 + random

q1[j] = jmlh_q1

normalisasi matriks

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k] q1[j]

Perhitungan pusat cluster

for (int iter = 0 iter lt iter_maksimum iter++)

selisih_f_objektif = 0

jumA1 = new double[iter_maksimum][jmlh_Cluster[i]]

jumA2 = new double[iter_maksimum][jmlh_Cluster[i]]

miu_Matriks1 = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

XV_Matriks1 = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

pusat_cluster1 = new double[jmlh_Cluster[i]]

double hitung_jum1

double hitung_jum2

for (int j = 0 j lt jmlh_Cluster[i] j++)

hitung_jum1 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow(tmp_Matriks1

[j][k]bobot)

miu_Matriks1[j][k] = tmp_Matriks1[j][k]

hitung_jum1 = hitung_jum1 + tmp_Matriks1

[j][k]

jumA1[iter][j] = hitung_jum1

for (int j = 0 j lt jmlh_Cluster[i] j++)

hitung_jum2 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k]

data[i][k]

hitung_jum2 = hitung_jum2 +

tmp_Matriks1[j][k]

jumA2[iter][j] = hitung_jum2

for (int j = 0 j lt jmlh_Cluster[i] j++)

pusat_cluster1[j] = jumA2[iter][j]

jumA1[iter][j]

perhitungan fungsi objektif

jumA3 = new double[iter_maksimum][jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

double hitung_jum3 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow((data[i][k]

ndash pusat_cluster1[j])

bobot)

XV_Matriks1[j][k] = tmp_Matriks1[j][k]

tmp_Matriks1[j][k] = XV_Matriks1[j][k]

miu_Matriks1[j][k]

hitung_jum3 = hitung_jum3 +

tmp_Matriks1[j][k]

jumA3[iter][j] = hitung_jum3

72

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

double jmlh_f_objektif = 0

for (int j = 0 j lt jmlh_Cluster[i] j++)

jmlh_f_objektif = jmlh_f_objektif

+jumA3[iter][j]

if (iter lt (iter_maksimum - 1))

f_objektif1[iter + 1] = jmlh_f_objektif

perhitungan selisih fungsi objektif

selisih_f_objektif = f_objektif1[iter + 1]

-f_objektif1[iter]

perbaikan matriks partisi

int hitung = bobot - 1int pangkat = -1 hitung

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow(XV_Matriks1

[j][k] pangkat)

jumA4 = new

double[iter_maksimum][jmlh_DataTraining]

for (int j = 0 j lt jmlh_DataTraining j++)

double hitung_jum4 = 0

for (int k = 0 k lt jmlh_Cluster[i] k++)

hitung_jum4 = hitung_jum4 +

tmp_Matriks1[k][j]

jumA4[iter][j] = hitung_jum4

hasil perbaikan matriks

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k]

jumA4[iter][k]

if (selisih_f_objektif lt error_min)

pengurutan ascending pusat cluster

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 kltjmlh_Cluster[i]k++)

if (k lt (jmlh_Cluster[i] - 1))

if (pusat_cluster1[k] gt

pusat_cluster1[k + 1])

double tmp =

pusat_cluster1[k]

pusat_cluster1[k]=

pusat_cluster1[k+1]

pusat_cluster1[k+1] = tmp

iter = iter_maksimum

Kode Program 56 Implementasi proses pusat cluster

524 Implementasi Proses Pembentukan Subinterval dan Fuzzy Set

Pada implementasi proses pembentukan suinterval dan fuzzy set memiliki dua proses yaitu proses menentukan batas subinterval minumum serta maksimum dan proses menentukan batas fuzzy set minimum serta maksimum

73

Proses pembentukan fuzzy dapat menjalankan prosesnya setelah method subinterval() telah diakses Berikut merupakan source code proses pembentukan fuzzy set yang ditunjukkan pada Kode Program 57 Pada Kode Program 57 hanya menampilkan source code pembentukan fuzzy set pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 6 ndash 29 merupakan proses pembentukan batas minimum dan batas maksimum subinterval Pada baris 31 ndash 54 merupakan pembentukan batas minimum dan batas maksimum fuzzy set

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

private void subinterval_dan_fuzzy_set()

for (int i = 0 i lt jmlh_Faktor i++)

faktor A

if (i == 0)

batas subinterval

batas_subintervalMinA = new double[jmlh_Cluster[i]]

batas_subintervalMaxA = new double[jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

if (j == 0)

batas_subintervalMinA[j] = hsl_uMin[i]

batas_subintervalMaxA[j]=(pusat_cluster1[j]

+pusat_cluster1[j+

1])2

else if (j == (jmlh_Cluster[i] - 1))

batas_subintervalMinA[j]=

(pusat_cluster1[j-1] +pusat_cluster1

[j])2

batas_subintervalMaxA[j]=

hsl_uMax[i]

else if ((0 lt j) ampamp (j lt (jmlh_Cluster[i] -

1)))

batas_subintervalMinA[j]=

(pusat_cluster1[j-1]+

pusat_cluster1[j])2

batas_subintervalMaxA[j]=

(pusat_cluster1[j]+

pusat_cluster1[j+1)2

batas fuzzy set

batas_fuzzysetMinA = new double[jmlh_Cluster[i]]

batas_fuzzysetMaxA = new double[jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

if (j == 0)

batas_fuzzysetMinA[j]=

batas_subintervalMinA[j]

batas_fuzzysetMaxA[j]=

(batas_subintervalMinA[j+1]

+batas_subintervalMaxA[j + 1])2

else if (j == (jmlh_Cluster[i] - 1))

batas_fuzzysetMinA[j]=

(batas_subintervalMinA[j-1]

+batas_subintervalMaxA[j - 1])2

batas_fuzzysetMaxA[j] =

batas_subintervalMaxA[j]

else if ((0 lt j) ampamp (jlt(jmlh_Cluster[i]-1)))

batas_fuzzysetMinA[j]=

(batas_subintervalMinA[j-1]+

batas_subintervalMaxA[j-1])2

batas_fuzzysetMaxA[j]=

74

51

52

53

54

55

56

(batas_subintervalMinA[j+1]+

batas_subintervalMaxA[j + 1])2

Kode Program 57 Implementasi pembentukan subinterval dan fuzzy set

525 Implementasi proses fuzzifikasi

Pada Implementasi proses fuzzifikasi memiliki dua proses utama yaitu menentukan derajat keanggotaan dan proses fuzzifikasi Dalam proses ini method fuzzy_set() harus dieksekusi terlebih dahulu karena implementasi proses ini memerlukan output dari method tersebut Berikut merupakan source code fuzzifikasi ditunjukkan pada Kode Program 58 Pada Kode Program 58 hanya menampilkan source code pembentukan fuzzy set pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 3 ndash 81 merupakan proses perhitungan derajat keanggotaan Pada baris 83 ndash 94 adalah proses penentuan fuzzifikasi

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

private void fuzzifikasi()

if (i == 0)

hitung_fuzzifikasiA = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

if(j == 0)

if((data[i][k]gtbatas_fuzzysetMinA[j])ampamp

(data[i][k]lt batas_fuzzysetMinA[j + 1]))

hitung_fuzzifikasiA[j][k] = 1

if ((data[i][k] gt batas_fuzzysetMinA[j + 1])

ampamp (data[i][k] lt batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k]=

(batas_fuzzysetMaxA[j] - data[i][k])

(batas_fuzzysetMaxA[j] ndash

batas_fuzzysetMinA[j + 1])

if ((data[i][k] gt batas_fuzzysetMinA[j]) ampamp

(data[i][k] lt batas_fuzzysetMinA[j + 1])

ampamp(data[i][k] gt batas_fuzzysetMinA[j+1])

ampamp(data[i][k] lt batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k] = 0

else if (j == (jmlh_Cluster[i] - 1))

if((data[i][k] gt batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]))

hitung_fuzzifikasiA[j][k]=

(data[i][k]-batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)])

(batas_fuzzysetMaxA[(jmlh_Cluster[i]ndash

2)]-batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)])

if((data[i][k] gt batas_fuzzysetMaxA

75

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

[(jmlh_Cluster[i]- 2)]) ampamp (data[i][k]

lt batas_fuzzysetMaxA[(jmlh_Cluster[i]

- 1)]))

hitung_fuzzifikasiA[j][k] = 1

if ((data[i][k] gt batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]) ampamp

(data[i][k] gt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 1)]))

hitung_fuzzifikasiA[j][k] = 0

else if ((0 lt j)ampamp(j lt (jmlh_Cluster[i] - 1)))

if ((data[i][k] gt batas_fuzzysetMinA[j])

ampamp (data[i][k] lt batas_fuzzysetMinA[j

+1]))

hitung_fuzzifikasiA[j][k]=

(data[i][k]-batas_fuzzysetMinA[j])

(batas_fuzzysetMinA[j + 1]-

batas_fuzzysetMinA[j])

if ((data[i][k] gt batas_fuzzysetMinA

[j+1])ampamp (data[i][k] lt

batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k]=

(batas_fuzzysetMaxA[j]-data[i][k])

(batas_fuzzysetMaxA[j]-

batas_fuzzysetMinA[j + 1])

if ((data[i][k] gt batas_fuzzysetMinA[j])

ampamp (data[i][k] lt batas_fuzzysetMinA

[j + 1]) ampamp (data[i][k] gt

batas_fuzzysetMinA[j + 1]) ampamp

(data[i][k]ltbatas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k] = 0

hasil_fuzzifikasiA = new int[jmlh_DataTraining]

for (int j = 0 j lt jmlh_DataTraining j++)

int cluster = 0

double besar=hitung_fuzzifikasiA[0][j]

for (int k = 0 k lt jmlh_Cluster[i] k++)

if (besar lt hitung_fuzzifikasiA[k][j])

besar = hitung_fuzzifikasiA[k][j]

cluster = k

hasil_fuzzifikasiA[j] = cluster + 1

Kode Program 58 Implementasi proses fuzzifikasi

526 Implementasi Pembentukan Fuzzy Logical Relationship

Pada implementasi pembentukan Fuzzy Logical Relationship (FLR) memiliki dua output yaitu FLR_kiri dan FLR_kanan Dimana FLR_kiri berisi group dari kelima faktor dan pada FLR_kanan merupakan dari faktor yang akan diramalkan yaitu

76

faktor curah hujan (A) Berdasarkan dari perancangan proses pada bab sebelumnya maka implementasi source code pembentukan Fuzzy Logical Relationship (FLR) dapat ditunjukkan pada Kode Program 59 berikut Pada baris 3 ndash 14 merupakan deklarasi variabel Pada baris 15 ndash 55 adalah proses pembentukan fuzzy logical relationship data training Pada baris 56 ndash 58 merupakan deklarasi variabel Pada baris 59 ndash 86 adalah proses pembentukan fuzzy logical relationship data testing

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

Fuzzy Logical Relationship

private void fuzzy_logical_relationship()

String input_order = fieldOrdergetText()

order = IntegerparseInt(input_order)

int max_inc = order

String input_dataTraining = fieldDatatraininggetText()

int dataTraining = IntegervalueOf(input_dataTraining)

int tmp_jmlhDatatraining = 0

int tmp_order = 0

int jmlh_dataTraining = dataTraining - order

String input_dataTesting = fieldDatatestinggetText()

int jmlh_dataTesting = IntegervalueOf(input_dataTesting)

FLR_kiri_training = new

int[jmlh_DataTraining][order][jmlh_Faktor]

FLR_kanan_training = new int[jmlh_DataTraining]

for (int i = 0 i lt jmlh_dataTraining i++)

for (int j = i j lt max_inc j++)

for (int k = 0 k lt jmlh_Faktor k++)

if (j == 0)

if (k == 0)

FLR_kiri_training[i][j][k]=

hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiD[j]

else if (j = 0)

if (k == 0)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiD[j]

tmp_order = j

FLR_kanan_training[i] = hasil_fuzzifikasiA[(i + order)]

if (max_inc lt (jmlh_DataTraining - 1))

max_inc = max_inc + 1

77

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

tmp_jmlhDatatraining = i

FLR_kiri_testing = new

int[jmlh_DataTraining][order][jmlh_Faktor]

FLR_kanan_testing = new int[(jmlh_DataTraining)]

tmp_jmlhDatatraining = tmp_jmlhDatatraining + 1

for (int i = 0 i lt jmlh_dataTesting i++)

for (int j = tmp_jmlhDatatraining j lt max_inc j++)

for (int k = 0 k lt jmlh_Faktor k++)

if (k == 0)

FLR_kiri_testing[i][j - tmp_jmlhDatatraining][k]

= hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiD[j]

FLR_kanan_testing[i] =

hasil_fuzzifikasiA[(tmp_jmlhDatatraining + order)]

if (max_inc lt (jmlh_DataTraining - 1))

max_inc = max_inc + 1

tmp_jmlhDatatraining++

Kode Program 59 Implementasi pembentukan FLR

527 Implementasi Proses Defuzzifikasi

Pada implementasi proses defuzzifikasi merupakan proses dimana menentukan hasil peramalan dari data testing berdasarkan dari bilangan fuzzy yang terbentuk Implementasi ini memiliki beberapa inputan penting yaitu data training data testing order dan konstanta Inputan tersebut sangat berperan penting dalam proses implementasi defuzzifikasi Berdasarkan dari perancangan proses pada bab sebelumnya maka implementasi source code defuzzifikasi dapat ditunjukkan pada Kode Program 510 berikut Pada baris 2 ndash 11 merupakan deklarasi variabel Pada baris 13 ndash 37 merupakan proses perhitungan selisih antara data training dengan data testing Pada baris 40 ndash 47 menghitung jumlah FLR yang cocok Pada baris 49 ndash 65 merupakan proses mencocokan FLR kiri yang cocok dengan FLR kanan Pada baris 67 ndash 81 merupakan proses menghitung jumlah frekuensi FLR kanan yang cocok Pada baris 83 ndash 91 adalah proses perhitungan hasil peramalan

Baris Kode 1

2

3

4

private void defuzifikasi()

String input_dataTraining = fieldDatatraininggetText()

String input_dataTesting = fieldDatatestinggetText()

String input_konstanta = fieldKonstantagetText()

78

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

int dataTraining = IntegervalueOf(input_dataTraining)

int dataTesting = IntegervalueOf(input_dataTesting)

int konstanta = IntegervalueOf(input_konstanta)

int match[][]

match = new int[dataTesting][2000]

int threshold = (jmlh_Faktor order) + konstanta

int hitung_selisih = 0

perhitungan selisih

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt (dataTraining + i) j++)

hitung_selisih = 0

for (int k = 0 k lt order k++)

for (int l = 0 l lt jmlh_Faktor l++)

if (i == 0)

hitung_selisih = hitung_selisih +

(Mathabs(FLR_kiri_training[j][k][l] ndash

FLR_kiri_testing[i][k][l]))

else if (i gt 0)

FLR_kiri_training[(dataTraining-

1)+i][k][l] = FLR_kiri_testing[i-

1][k][l]

FLR_kanan_training[(dataTraining-1)+i]

= FLR_kanan_testing[i-1]

hitung_selisih = hitung_selisih +

(Mathabs(FLR_kiri_training[j][k][l] ndash

FLR_kiri_testing[i][k][l]))

if (hitung_selisih lt threshold)

match[i][j] = hitung_selisih

menghitung jumlah total FLR yang cocok untuk setiap data

testing

int countGroup[] = new int[dataTesting]

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt (dataTraining + i) j++)

if (match[i][j] gt 0)

countGroup[i]++

mencocokan FLR_kiri yang cocok dengan FLR_kanan

group = new int[dataTesting][2000]

for (int i = 0 i lt dataTesting i++)

int tmp_count = 0

for (int j = 0 j lt (dataTraining + i) j++)

if (match[i][j] gt 0)

if (tmp_count lt countGroup[i])

group[i][tmp_count] = j

tmp_count++

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt countGroup[i] j++)

group[i][j] = FLR_kanan[group[i][j]]

mengelompokkan yang sama

MapltInteger Integergt map = new HashMapltInteger Integergt()

hasil_peramalan = new double[dataTesting]

for (int i = 0 i lt dataTesting i++)

79

70

71

72

73

74

75 76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

double peramalan = 0

mapclear()

for (int j = 0 j lt countGroup[i] j++)

int key = group[i][j]

if (mapcontainsKey(key))

int occurrence = mapget(key)

occurrence++

mapput(key occurrence)

else

mapput(key 1)

menghitung hasil peramlaan

Iterator iterator = mapkeySet()iterator()

while (iteratorhasNext())

int key = (Integer) iteratornext()

int occurrence = mapget(key)

peramalan = (peramalan + (pusat_cluster1[(key - 1)]

occurrence))

hasil_peramalan[i] = (peramalan countGroup[i])

Kode Program 510 Implementasi proses defuzzifikasi

53 Implementasi Antarmuka

Pada implementasi antarmuka dijelaskan beberapa halaman antarmuka untuk penggunaan dari program hasil implementasi Implementasi antarmuka berdasarkan perancangan yang telah dijelasakan pada bab sebelumnya yaitu bab perancangan Halaman antarmuka yang dibuat adalah halaman input halaman tampil data halaman proses halaman hasil dan halaman perhitungan error

531 Implementasi antarmuka halaman input

Halaman input merupakan halaman yang pertama muncul setelah program dijalankan Pada halaman input ini terdapat beberapa inputan yang harus di masukkan yaitu data input data training data testing order dan konstanta Selain itu pada halaman input juga terdapat tiga button yaitu button browse data button fuzzification dan button forecasting Berikut tampilan antarmuka halaman input yang ditunjukkan pada Gambar 51

Gambar 51 Implementasi antarmuka halaman input

80

532 Implementasi antarmuka halaman tampil data

Halaman tampil data merupakan halaman yang tampil setelah melakukan input data Halaman ini berisi tabel yang menampilkan data curah hujan suhu kecepatan angin dan kelembaban Berikut tampilan antarmuka halaman tampil data yang ditunjukkan pada Gambar 52

533 Implementasi antarmuka halaman proses

Halaman proses merupakan halaman yang muncul setelah button fuzzification telah dieksekusi Halaman proses ini terdiri dari tiga bagian atau tab yaitu clustering fuzzification dan Fuzzy logical relationship Pada halaman antarmuka clustering menampilkan Universe of Discourse dan jumlah cluster pada masing ndash masing faktor Berikut merupakan tampilan antarmuka halaman proses bagian clustering yang ditunjukkan pada Gambar 53

Gambar 52 Implementasi antarmuka halaman tampil data

Gambar 53 Implementasi antarmuka halaman proses clustering

81

Pada tab selanjutnya yaitu pada tab fuzzification tab ini menampilkan hasil proses fuzzifikasi Pada halaman ini menampilkan tabel yang berisi hasil fuzzifikasi dari setiap faktor Berikut merupakan tampilan antarmuka halaman proses bagian fuzzification yang ditunjukkan pada Gambar 54

Pada tab Fuzzy Logical Relationship menampilakn hasil dari proses pembentukan Fuzzy Logical Relationship Tampilan pada halaman ini menampilkan berupa textarea yang berisi dari output proses tersebut Berikut merupakan tampilan antarmuka halaman proses bagian Fuzzy Logical Relationship yang ditunjukkan pada Gambar 55

Gambar 54 Implementasi antarmuka halaman proses fuzzification

Gambar 55 Implementasi halaman antarmuka proses FLR

82

534 Implementasi antarmuka halaman hasil

Pada implementasi antarmuka halaman hasil ini merupakan halaman yang menampilkan hasil dari proses defuzzifikasi Halaman hasil ini menampilkan tabel yang berisi data aktual dan data dari hasil peramlan Berikut merupakan tampilan antarmuka halaman hasil yang ditunjukkan pada Gambar 56

535 Implementasi antarmuka halaman perhitungan error

Pada implementasi antarmuka halaman perhitungan error merupakan halaman yang menampilkan hasil dari proses perhitungan Mean Square Error (MSE) Pada halaman antarmuka ini menampilkan hasil error MSE pada textfield Berikut merupakan tampilan antarmuka halaman perhitungan error yang ditunjukkan pada Gambar 57

Gambar 56 Implementasi halaman antarmuka hasil

Gambar 57 Implementasi halaman antarmuka perhitungan error

83

BAB 6 PENGUJIAN DAN ANALISIS

Pada bab ini membahas hasil pengujian dan analisis hasil pengujian dari hasil implementasi metode High Order Fuzzy Time Series Multi factors untuk peramalan curah hujan dasarian Pada pengujian ini disesuaikan dengan perancangan pengujian pada bab 4

61 Sistematika Pengujian

Pada bab sebelumnya yaitu bab 4 mengenai perancangan telah dibahas perancangan pengujian dikatakan bahwa pengujian akan dilakukan sebanyak empat pengujian Pengujian order pengujian threshold pengujian jumlah data training dan pengujian validasi sistem Dari semua pengujian tersebut akan di uji dan di analisis bagaimana pengaruhnya terhadap hasil perhitungan Mean Square Error (MSE)

62 Hasil dan Analisis Pembahasan

Berikut hasil pengujian dan analisis yang disesuaikan dengan perancangan pengujian pada bab sebelumnya

621 Pengujian pengaruh order terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh order terhadap nilai MSE Order merupakan urutan jumlah dari data time series pada periode waktu t yang mempengaruhi nilai data Jadi jika nilai order adalah 3 maka peramalan akan melibatkan 3 data sebelumnya pada proses pembentukan Fuzzy Logical Relationship (FLR) Pada pengujian ini hanya nilai order yang diubah ndash ubah sedangkan variabel lain akan dibuat tetap Pengujian akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai variabel jumlah data training adalah 72 yaitu dari data Januari 2014 dasarian 1 sampai Desember 2015 dasarian 3 nilai data testing adalah 36 yaitu dasarian 1 Januari 2016 sampai dasarian 3 Desember 2016 konstanta adalah 10 Nilai threshold diperoleh dari perhitungan jumlah faktor dikali order dan dijumlah nilai konstanta Berikut adalah hasil pengujian pengaruh order terhadap nilai MSE yang ditunjukkan pada Tabel 61

Tabel 61 Hasil pengujian order terhadap nilai MSE

No Order Threshold MSE

1 3 22 808585

2 6 34 965547

3 9 46 912631

4 12 58 875884

5 15 70 719284

6 18 82 6801207

7 21 94 5637184

8 24 106 5444184

9 27 118 5433631

10 30 130 5418393

84

Dari hasil pengujian order seperti yang telah ditunjukkan pada Tabel 61 maka pada percobaan pertama dengan order = 3 dan threshold 22 dapat diperoleh MSE sebesar 808585 Selanjutnya pada percobaan kedua dengan order = 6 dan threshold = 34 diperoleh MSE sebesar 965547 Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 61

Berdasarkan Gambar 61 order yang berbeda - beda mempengaruhi besar nilai MSE Dalam penelitian ini menentukan order memiliki ketentuan yaitu nilai order harus lebih dari 0 dan batas maksimal order adalah setengah dari nilai data training (LinYang 2009) Nilai MSE terbesar yang ditunjukkan pada pengujian ini adalah 965547 pada pengujian order 6 dan nilai MSE terkecil adalah 5418393 pada pengujian order 30 Pada Gambar 61 menunjukkan bahwa pada order 3 ke order 6 mengalami peningkatan nilai MSE selanjutnya pada order 6 hingga order 30 mengalami penurunan Pada order 3 memiliki nilai MSE lebih kecil dari order 6 order 9 dan order 12 karena memiliki lebih banyak hasil selisih tingkat kecocokan data time series yang tidak terlalu besar dan kurang dari threshold Selain itu karena data time series dari data sampel yang diperoleh memiliki pola data musiman dimana perubahan pola data dasarian tidak terlalu banyak berubah dari tahun ke tahun Selanjutnya pada order 6 hingga order 30 menunjukkan penurunan nilai MSE dan order terbesar memiliki nilai MSE terkecil sehingga dapat disumpulkan bahwa semakin besar order maka semakin kecil pula nilai MSE Dalam hal ini dengan semakin besarnya order maka data sebelumnya yang digunakan untuk pertimbangan dalam menentukan peramalan semakin banyak Sehingga semakin besar nilai order maka dapat membuat peramalan semakin akurat Dalam pengujian ini memimiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoImplementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emasrdquo yang menyatakan bahwa semakin besar nilai order maka semakin kecil nilai kesalahannya (Wardhani et al 2015)

Gambar 61 Grafik hasil pengujian order terhadap nilai MSE

85

622 Pengujian pengaruh threshold terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh threshold terhadap nilai MSE Threshold merupakan hasil dari mengalikan jumlah order dengan jumlah faktor pada data kemudian dijumlahkan dengan dengan nilai konstanta Pada proses defuzzifikasi terdapat proses menghitung selisih antara pangkat bawah Fuzzy Logical Relationship (FLR) data training dan pangkat bawah FLR data testing Selanjutnya setelah mendapatkan nilai selisih maka nilai selisih tersebut dibandingkan dengan nilai threshold untuk mencari FLR yang cocok Pada pengujian ini nilai konstanta saja yang diubah ndash ubah sementara variabel lainnya tetap Pengujian akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai variabel jumlah data training adalah 72 yaitu dari data Januari 2014 dasarian 1 sampai Desember 2015 dasarian 3 nilai data testing adalah 36 yaitu dasarian 1 Januari 2016 sampai dasarian 3 Desember 2016 dan Nilai order adalah 30 Pada penentuan input konstanta nilai minimal harus lebih besar dari 0 dan nilai maksimal menyesuaikan data sampel yang digunakan (LinYang 2009) Berikut adalah hasil pengujian pengaruh threshold terhadap nilai MSE yang ditunjukkan pada Tabel 62

Tabel 62 Hasil pengujian threshold terhadap nilai MSE

No Konstanta Threshold MSE

1 10 130 558485

2 20 140 577498

3 30 150 597364

4 40 160 604660

5 50 170 646951

6 60 180 680257

7 70 190 703013

8 80 200 741484

9 90 210 756749

10 100 220 780600

Dari hasil pengujian threshold seperti yang telah ditunjukkan pada Tabel 62 maka dapat dilihat bahwa konstanta yang dilakukan pengujian dimulai dengan nilai 10 sampai 100 Hasil yang didapat pada percobaan pertama dengan konstanta = 10 dan threshold 130 diperoleh MSE sebesar 558485 Selanjutnya pada percobaan kedua dengan konstanta = 20 dan threshold = 140 diperoleh MSE sebesar 577498 Selanjutnya dapat kita lihat pada percobaan yang telah dilakukan dari percobaan pertama hingga percobaan kesepuluh nilai MSE yang diperoleh mengalami perubahan pada setiap percobaan Dapat dilihat bahwa peningkatan MSE lebih dominan menunjukkan peningkatan sehingga dalam hal ini semakin besar nilai konstanta dan threshold maka semakin besar pula nilai MSE yang diperoleh Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 62

86

Berdasarkan grafik dari Gambar 62 nilai input konstanta yang berbeda - beda mempengaruhi besar nilai MSE semakin besar nilai konstanta maka nilai threshold juga semakin besar karena threshold diperoleh dari perhitungan order dikali jumlah faktor dan selanjutnya dijumlah dengan nilai konstanta Dalam hal ini dengan semakin besar nilai threshold maka dalam proses seleksi untuk mencari nilai selisih FLR juga semakin luas batasannya dan jika semakin kecil nilai threshold maka dalam proses seleksi untuk mencari nilai selisih FLR menjadi semakin sempit dan mempermudah proses peramalan karena hanya adanya sedikit data yang cocok dengan data yang akan diramalkan dan mempermudah proses defuzzifikasi Oleh karena itu semakin kecil threshold maka dapat membuat peramalan semakin akurat Akan tetapi nilai threshold tidak boleh terlalu kecil karena dapat menyebabkan kegagalan peramalan Kegagalan peramalan itu terjadi karena tidak adanya data training yang cocok dengan data testing karena pada metode yang digunakan pada penelitian ini sangat bergantung pada data ndash data sebelumnya Dari hasil percobaan diatas hasil MSE terbesar adalah 7806 yaitu pada konstanta 100 serta threshold 220 dan hasil MSE terkecil adalah 558485 yaitu pada konstanta 10 dan threshold 130 Dalam pengujian ini memiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoImplementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emasrdquo yang menyatakan bahwa semakin kecil nilai konstanta maka semakin kecil nilai kesalahannya (Wardhani et al 2015)

623 Pengujian pengaruh jumlah data training terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh jumlah data training terhadap nilai MSE Pada pengujian ini jumlah data training adalah data dasarian yaitu 1 tahun 2 tahun 3 tahun 4 tahun dan 5 tahun dimana dari setiap 1 tahun memiliki 36 data dasarian Pengujian ini akan dilakukan sebanyak lima kali Pada pengujian ini jumlah data testing adalah 36 nilai order adalah setengah dari

Gambar 62 Grafik hasil pengujian threshold terhadap nilai MSE

87

nilai data training nilai konstanta adalah 20 Berikut adalah hasil pengujian pengaruh jumlah data training terhadap nilai MSE yang ditunjukkan pada Tabel 63

Tabel 63 Hasil pengujian jumlah data training terhadap nilai MSE

No Jumlah Data Training MSE

1 36 786586

2 72 634527

3 108 627190

4 144 614184

5 180 539698

Dari hasil pengujian jumlah data training seperti yang telah ditunjukkan pada Tabel 63 maka pada percobaan pertama dengan data training = 36 dapat diperoleh MSE sebesar 786586 Selanjutnya pada percobaan kedua dengan data training = 72 diperoleh MSE sebesar 634527 Dalam hal ini dari percobaan satu dan dua nilai MSE mengalami penurunan Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 63

Berdasarkan dari Gambar 63 pengujian pertama sampai pengujian kelima mengalami penerunan nilai MSE Sehingga dapat disimpulkan bahwa semakin besar data training maka semakin kecil nilai MSE yang diperoleh Nilai MSE semakin kecil apabila menggunakan data training dalam jumlah besar karena data yang digunakan memiliki rentang jauh dari periode data testing atau data yang akan diramalkan Sedangkan data training yang sedikit memiliki nilai MSE yang besar karena data training yang memiliki kecocokan dengan data testing berada pada periode yang jauh dengan data testing sehingga nilai MSE menjadi tinggi Dalam hal ini terbukti bahwa metode yang digunakan pada penelitian ini memerlukan jumlah data training yang banyak sehingga dapat menurunkan nilai kesalahannya Dari hasil percobaan diatas hasil MSE terbesar adalah 786586 dan

Gambar 63 Grafik hasil pengujian data training terhadap nilai MSE

88

hasil MSE terkecil adalah 539698 Dalam pengujian ini memimiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoPeramalan Jumlah Kunjungan Wisatawan Kota Batu Menggunakan Metode Time Invariant Fuzzy Time Seriesrdquo yang menyatakan bahwa semakin besar jumlah data training maka semakin kecil nilai kesalahannya (Elfajar et al 2017)

624 Pengujian validasi sistem

Pada pengujian ini dilakukan untuk mengetahui kestabilan dari sistem dengan menggunakan order threshold terbaik dari pengujian sebelumnya Pada pengujian ini akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai data training menggunakan 36 data yang berbeda agar dapat menunjukkan gambaran variasi dari nilai kesalahan MSE pada peramalan nilai order adalah 18 dan konstanta adalah 10 sehingga nilai threshold adalah 92 Berikut adalah hasil pengujian validasi sistem yang ditunjukkan pada Tabel 64

Tabel 64 Hasil pengujian validasi sistem

Percobaan ke- MSE

1 714290

2 703856

3 732564

4 732815

5 6973958

6 7532825

7 741726

8 760457

9 709961

10 6256204

Dari hasil pengujian validasi sistem seperti yang telah ditunjukkan pada Tabel 64 maka dapat digambarkan dengan grafik yang ditunjukkan oleh Gambar 64

Gambar 64 Grafik hasil pengujian validasi sistem

89

Berdasarkan dari gambar grafik Gambar 64 bahwa pengujian dari validasi sistem memiliki hasil MSE yang tidak terlalu jauh berbeda dari penggunaan data yang berbeda - beda Oleh karena itu dapat disimpulkan bahwa implementasi dari metode High Order Fuzzy Time Series Multi Factors yang telah digunakan sudah cukup baik untuk digunakan peramalan

Berdasarkan dari pengujian yang dilakukan diatas dapat diketahui bahwa nilai MSE terkecil terdapat pada pengujian jumlah data training yaitu dengan nilai MSE sebesar 539698 Nilai tersebut diperoleh dari pengujian jumlah data training dasarian dari tahun 2011 hingga 2015 untuk melakukan peramalan pada data dasarian tahun 2016 Nilai order adalah 90 dan konstanta adalah 10 Berikut adalah perbandingan data aktual dengan hasil peramalan yang ditunjukkan pada grafik Gambar 65

Gambar 65 Grafik perbandingan data aktual dengan hasil peramalan

90

BAB 7 PENUTUP

Pada bab ini terdiri dari dua sub bab yaitu kesimpulan dan saran Kesimpulan adalah tahapan yang berisi hasil penelitian yang dilakukan dan jawaban semua rumusan masalah yang sudah ditetapkan sebelumnya dan saran adalah tahapan yang berisi hasil yang telah dicapai untuk memperbaiki kekurangan - kekurangan yang terjadi pada penelitian ini serta memberikan pertimbangan pada pengembangan penelitian lebih lanjut

71 Kesimpulan

Pada kesimpulan ini mengacu pada penelitian yang telah dilakukan yang meliputi perancangan implementasi serta pengujian dan analisis terhadap hasil implementasi peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors maka dapat diambil kesimpulan sebagai berikut

1 Berdasarkan dari implementasi metode High Order Fuzzy Time Series Multi Factors dalam melakukan peramalan curah hujan dasarian dilakukan dengan beberapa langkah yaitu langkah pertama perhitungan Universe of Discourse yang terdiri perhitungan mean standar deviasi dan perhitungan Dmin serta Dmax langkah kedua yaitu perhitungan jumlah cluster langkah ketiga yaitu perhitungan pusat cluster langkah keempat yaitu pembentukan subinterval dan fuzzy set langkah kelima yaitu proses fuzzifikasi langkah keenam yaitu pembentukan Fuzzy Logical Relationship(FLR) langkah ketujuh adalah defuzzifikasi yang hasil outputnya merupakan hasil peramalan curah hujan

2 Berdasarkan dari pengujian peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors maka dapat diketahui bahwa

a Order berpengaruh terhadap nilai error semakin besar nilai order maka hasil peramalan semakin baik

b Threshold berpengaruh terhadap nilai error semakin rendah nilai threshold maka hasil peramalan semakin baik Akan tetapi nilai threshold tidak boleh terlalu rendah karena dapat menyebabkan kegagalan peramalan

c Data training berpengaruh terhadap nilai error semakin besar jumlah data training maka hasil peramalan semakin baik Sehingga peramalan menggunakan metode High Order Fuzzy Time Series Multi Factors memerlukan banyak data training

d Hasil implementasi peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors cukup baik digunakan untuk peramalan Hal ini terbukti hasil pengujian validasi sistem menunjukkan grafik yang cukup stabil

Dari pengujian yang telah dilakukan nilai MSE terkecil terdapat pada pengujian jumlah data training yaitu dengan nilai MSE sebesar 539698 Nilai tersebut diperoleh dari pengujian jumlah data training dasarian dari tahun

91

2011 hingga 2015 untuk melakukan peramalan pada data dasarian tahun 2016

72 Saran

Pada penelitian ini dilakukan peramalan curah hujan dasarian dengan faktor yang mempengaruhi adalah suhu kelembaban dan kecapatan angin Saran penulis diharapkan untuk penelitian selanjutnya melakukan penambahan faktor yang mempengaruhi curah hujan atau melakukan peramalan objek lain dengan mempertimbangkan faktor ndash faktor yang mempengaruhinya Serta diharapkan pada penelitian selanjutnya untuk menambahkan data yang lebih banyak serta bervariatif sehingga nilai hasil perhitungan akurasi peramalan yang dihasilkan dalam penelitian dapat meningkat Penggunaan data training yang banyak dan bervariatif dapat membuat pola data semakin terlihat sehingga hasil peramalan yang dihasilkan memiliki akurasi yang lebih baik

92

DAFTAR PUSTAKA

Ardiyanto 2016 ldquoTerendam Air Petani Lamongan Terpaksa Panen Dinirdquo Times Indonesia November 18 httpwwwtimesindonesiacoidread13688520161118102415terendam-air-petani-lamongan-terpaksa-panen-dini (Diakses 25 Februari 2017)

Badan Penelitian dan Pengembangan Pertanian Kementrian Pertanian 2015 ldquoKalender Tanam Terpadu Versi 25 Kota Malang Prov Jawa Timurrdquo httpkatamlitbangpertaniangoidkatam_terpadu2016mh33535733573_tinggipdf (Diakses 25 Februari 2017)

Bagirov M Adil Mahmood Arshad and Barton Andrew 2017 Prediction of monthly rainfall in Victoria Australia Clusterwise linear regression approach Elsevier Atmos Research 188 20-29

BMKG Staklim Karangploso Malang 2015 ldquoAnalisis Dinamika Atmosfer Dan Laut Dasarian III Maret 2015 Update 2 April 2015rdquo httpkarangplosojatimbmkgogoidindexphpanalisis-kondisi-dinamika-atmosfer-laut-dasarian-tahun-2015399-analisis-dinamika-atmosfer-dan-laut-dasarian-iii-maret-2015-update-2-april-2015axzz3X8h9y4fgampgsctab=0 (Diakses 25 Februari 2017)

BPS Kabupaten Malang 2016 ldquoKabupaten Malang Dalam Angka 2016rdquo httpsmalangkabbpsgoidwebsitepdf_publikasiKabupaten-Malang-Dalam-Angka-2016pdf (Diakses 25 Februari 2017)

BPS Jawa Timur 2015 ldquoJawa Timur Dalam Angka 2015rdquo httpsjatimbpsgoid4dmnpdf_publikasiJawa-Timur-Dalam-Angka-2015pdf (Diakses 25 Februari 2017)

Buffa S Elwood Rakesh and Sarin K 1996 Modern Production and Operation Management Eight Edition John Willey and Sons Inc London

Chen M 1996 Forecasting Enrollments based on Fuzzy Time Series Fuzzy Sets and Systems 311-319

Dewi Candra Kartikasari Dani Mursityo Yusi 2014 Prediksi Cuaca Pada Data Time Series Menggunakan Adaptive Neuro Fuzzy Inference System (ANFIS) Jurnal Teknologi Informasi dan Ilmu Komputer (JTIIK) Vol 1 No 1 hlm 18-24

Dewi Candra Muslikh M 2013 Perbandingan Akurasi Backpropagation Neural Network dan ANFIS Untuk Memprediksi Cuaca NATURAL-A Journal of Scientific Modeling amp Computation Volume 1 No1

Elfajar Aria Setiawan Budi Dewi Candra 2017 Peramalan Jumlah Kunjungan Wisatawan Kota Batu Menggunakan Metode Time Invariant Fuzzy Time Series Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer Vol 1 No 2 Hlmn 85-94

93

Fauziah Normalita Wahyuningsih Sri dan Nasution Yuki 2016 Peramalan Menggunakan Fuzzy Time Series Chen (Studi Kasus Curah Hujan Kota Samarinda) Vol4 Statistika

Forest Mahyu 2015 ldquoDefenisi amp Pengertian Kelembabanrdquo httpilmupengetahuaalamblogspotcoid201506defenisi-pengertian-kelembabanhtml (Diakses 25 Februari 2017)

Irsyad Muhammad Metarice Sonya 2013 Penerapan Metode Automatic Clustering dan High Order Fuzzy Time Series Pada Peramalan Curah Hujan Jurnal Sains dan Teknologi Industri Vol 10 No 02

Klawon F 2001 What is About Fuzzy Clustering Understanding and Improving the Concept of the Fuzzier Science Journal httppublic-rzfh-wolfebuetteldeklawon

Kurniawan Carlos 2007 Analisis dan Perancangan Program Aplikasi Peramalan Curah Hujan dengan Metode Wavelet (Studi Kasus BMKG)

Kusumadewi S 2003 ldquoArtificial Intelegence (Teknik amp Aplikasinya)rdquo Graha Ilmu Yogyakarta

Kusumadewi S Purnomo H 2004 ldquoAplikasi Logika Fuzzy untuk Pendukung Keputusanrdquo Graha Ilmu Yogyakarta

Kusumadewi Sri 2002 Analisis amp Desain Sistem Fuzzy Tollbox MATLAB Graha Ilmu Yogyakarta

Lin Yupei Yang Y 2009 Stock Markets Forecasting Based on Fuzzy Time Series Model IEEE Conference Publications 782-886

Makridakis S Steven C Wheelwright Victor E and Gee MC 1999 Metode dan Aplikasi Peramalan Jilid I Edisi Kedua Jakarta Binarupa Aksara

Mirawati T Yasin H and Rusgiyono A 2013 Prediksi Curah Hujan dengan Metode Kalman Filter(Studi Kasus di Kota Semarang 2012) Jurnal Gaussian 2(3) pp 239-248

Pradipta Nur Sembiring Pasukat Bangun Pengarapen 2013 Analisis Pengaruh Curah Hujan di Kota Medan Saintia Matematika Vol 1

Sipayung Putri Metha 2013 Pemodelan Hubungan Kelembapan Udara terhadap Curah Hujan (Studi Kasus Curah Hujan Periode 2001-2009 pada Stasiun Dramaga) httprepositoryipbacidhandle12345678960623 (Diakses 25 Februari 2017)

User 2015 httpstaklimnegaranet[Online] Available at httpwwwstaklimnegaranetindexphpbuletin-hujanpengertian-istilah (Diakses 25 Februari 2017)

Wang Nai-Yi Chen Shyi-Ming 2009 Temperature prediction and TAIFEX forecasting based on automatic clustering techniques and two-factors high-order fuzzy time series Elsevier Expert Systems with Applications 36 2143ndash2154

94

Wardhani Dessy Ratnawati Dian Setiawan Budi 2015 Implementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Saham Repositori Jurnal Mahasiswa PTIIK UB Doro Jurnal Vol 6 No 6

Wiyanti T and Pulungan R 2012 Peramalan Deret Waktu Menggunakan Model Fungsi Basis Radial (RBF) dan Auto Regressive Integrated Moving Average (ARIMA) Jurnal MIPA 35(2) pp 175-182

Yunanto Utomo 2014 ldquoBMKG Akui Prakiraan Cuacanya Masih Kurang Akuratrdquo Kompas Sains Januari 30 httpwwwtimesindonesiacoidread13688520161118102415terendam-air-petani-lamongan-terpaksa-panen-dini (Diakses 25 Februari 2017)

  • Bagian Depanpdf
  • BAB Ipdf
  • BAB IIpdf
  • BAB IIIpdf
  • BAB IVpdf
  • BAB Vpdf
  • BAB VIpdf
  • BAB VIIpdf
  • Daftar Pustakapdf
Page 12: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI

xii

Tabel 62 Hasil pengujian threshold terhadap nilai MSE 85

Tabel 63 Hasil pengujian jumlah data training terhadap nilai MSE 87

Tabel 64 Hasil pengujian validasi sistem 88

xiii

DAFTAR GAMBAR

Gambar 21 Representasi linear naik 11

Gambar 22 Representasi linear turun 12

Gambar 23 Representasi kurva segitiga 12

Gambar 31 Diagram blok metodologi penelitian 22

Gambar 41 Diagram alir metode penelitian yang digunakan (bagian 1) 25

Gambar 42 Diagram alir metode penelitian yang digunakan (bagian 2) 26

Gambar 43 Diagram alir proses perhitungan Universe of Discourse 27

Gambar 44 Diagram alir proses perhitungan mean 28

Gambar 45 Diagram alir proses perhitungan standar deviasi 29

Gambar 46 Diagram alir perhitungan nilai Min dan Max 30

Gambar 47 Diagram alir proses perhitungan jumlah cluster 31

Gambar 48 Diagram alir proses perhitungan pusat cluster (bagian 1) 32

Gambar 49 Diagram alir proses perhitungan pusat cluster (bagian 2) 33

Gambar 410 Diagram alir proses perhitungan pusat cluster (bagian 3) 34

Gambar 411 Diagram alir proses perhitungan pusat cluster (bagian 4) 35

Gambar 412 Diagram alir proses perhitungan pusat cluster (bagian 5) 36

Gambar 413 Diagram alir pembentukan subinterval dan fuzzy set (bagian 1) 37

Gambar 414 Diagram alir pembentukan subinterval dan fuzzy set (bagian 2) 38

Gambar 415 Diagram alir proses fuzzifikasi (bagian 1) 39

Gambar 416 Diagram alir proses fuzzifikasi (bagian 2) 40

Gambar 417 Diagram alir proses Pembentukan FLR (bagian 1) 41

Gambar 418 Diagram alir proses Pembentukan FLR (bagian 2) 42

Gambar 419 Diagram alir proses Pembentukan FLR (bagian 3) 43

Gambar 420 Diagram alir proses defuzzifikasi (bagian 1) 44

Gambar 421 Diagram alir proses defuzzifikasi (bagian 2) 45

Gambar 422 Grafik fuzzy set data A 56

Gambar 423 Rancangan antarmuka halaman input 61

Gambar 424 Rancangan antarmuka halaman tampil data 61

Gambar 425 Rancangan antarmuka halaman proses clustering 62

Gambar 426 Rancangan antarmuka proses fuzzifikasi 62

xiv

Gambar 427 Rancangan antarmuka proses fuzzy logical relationship 63

Gambar 428 Rancangan antarmuka halaman hasil peramalan 63

Gambar 429 Rancangan antarmuka halaman perhitungan error 64

Gambar 51 Implementasi antarmuka halaman input 79

Gambar 52 Implementasi antarmuka halaman tampil data 80

Gambar 53 Implementasi antarmuka halaman proses clustering 80

Gambar 54 Implementasi antarmuka halaman proses fuzzification 81

Gambar 55 Implementasi halaman antarmuka proses FLR 81

Gambar 56 Implementasi halaman antarmuka hasil 82

Gambar 57 Implementasi halaman antarmuka perhitungan error 82

Gambar 61 Grafik hasil pengujian order terhadap nilai MSE 84

Gambar 62 Grafik hasil pengujian threshold terhadap nilai MSE 86

Gambar 63 Grafik hasil pengujian data training terhadap nilai MSE 87

Gambar 64 Grafik hasil pengujian validasi sistem 88

Gambar 65 Grafik perbandingan data aktual dengan hasil peramalan 89

xv

DAFTAR KODE PROGRAM

Kode Program 51 Implementasi proses Universe of Discourse 68

Kode Program 52 Implementasi proses mean 68

Kode Program 53 Implementasi proses standar deviasi 69

Kode Program 54 Implementasi proses Dmin dan Dmax 69

Kode Program 55 Implementasi proses jumlah cluster 70

Kode Program 56 Implementasi proses pusat cluster 72

Kode Program 57 Implementasi pembentukan subinterval dan fuzzy set 74

Kode Program 58 Implementasi proses fuzzifikasi 75

Kode Program 59 Implementasi pembentukan FLR 77

Kode Program 510 Implementasi proses defuzzifikasi 79

xvi

DAFTAR LAMPIRAN

Lampiran 1 Tabel Data Sampel 95

1

BAB 1 PENDAHULUAN

11 Latar belakang

Kabupaten Malang merupakan salah satu kabupaten di Jawa Timur yang terkenal akan potensi alam yang dimiliki (BPS Kabupaten Malang 2016) Dalam hal ini terkenal akan potensi alamnya karena kabupaten Malang memiliki tingkat produksi di sektor pertanian yang cukup tinggi dimana hampir seluruh kecamatan di kabupaten Malang memiliki lahan pertaniaaan (BPS Jatim 2015) Permasalahan yang terjadi pada sektor pertanian yaitu terjadinya gagal panen apabila memasuki musim penghujan dengan curah hujan yang tinggi yaitu diatas 200 mm per bulan serta apabila memasuki musim kemarau dengan curah hujan yang rendah yaitu dibawah 100 mm per bulan (BMKG Staklim Karangploso Malang 2015) Dalam mengatasi hal tersebut upaya yang dilakukan petani selama ini hanya melakukan tindakan seperti melakukan panen secara dini Upaya ini dianggap petani cukup efektif dalam mengurangi besarnya kerugian gagal panen akan tetapi sebaiknya yang dilakukan adalah melakukan suatu tindakan agar kerugian yang dialami petani tidak terjadi lagi (Ardiyanto 2016)

Salah satu contoh tindakan yang dapat dilakukan adalah membuat Kalender Tanam (KATAM) KATAM dapat digunakan petani sebagai alat bantu atau pedoman dalam menentukan awal musim tanam terbaik seperti yang telah dilakukan oleh Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian Dalam pembuatan KATAM Balitbang menggunakan data peramalan curah hujan dari Badan Meteorologi Klimatologi dan Geofisika (BMKG) Akan tetapi BMKG mengakui bahwa prakiraan cuacanya saat ini memang masih kurang akurat dan masih kalah dengan prakiraan cuaca di Amerika Serikat (Yunanto 2014) Pentingnya akan prakiraan cuaca terbukti adanya beberapa penelitian sebelumnya yaitu penelitian prakiraan cuaca dengan input faktor yang mempengaruhi cuaca yang berupa data time series menggunakan metode Adaptive Neuro Fuzzy Inference System (ANFIS) (Dewi 2014) dan penelitian mengenai prediksi cuaca menggunakan metode Backpropagation Neural Network yang terbukti memiliki nilai akurasi yang baik dalam prediksi cuaca (Dewi 2013)

Teknik atau metode peramalan curah hujan yang sering digunakan BMKG adalah metode Autoregressive Integrated Moving Average (ARIMA) ANFIS dan Wavelet (Kurniawan 2007) Namun dalam penerapannya gabungan dari ketiga metode tersebut masih kurang memuaskan yaitu tingkat akurasinya hanya mencapai 60 - 70 Menurut BMKG kurangnya tingkat akurasinya ini disebabkan oleh keadaan pola atmosfer di Indonesia yang selalu berubah ndash ubah dan kurang menentu

Selain metode yang digunakan oleh BMKG adapun penelitian sebelumnya yang meramalkan curah hujan yaitu penelitian menggunakan metode Fuzzy Time Series Chen dengan studi kasus curah hujan di Samarinda dalam penelitian ini menggunakan data time series curah hujan bulanan dengan kesimpulan pengunaan data yang sedikit memiliki tingkat akurasi lebih tinggi dibandingkan

2

menggunakan data yang banyak yaitu menghasilkan nilai RMSE terkecil 7368 dan MAE terkecil 539 (Fauziah et al 2016)

Selain peramalan yang hanya menggunakan data time series dari data yang akan diramalkan juga terdapat penelitian sebelumnya yang menggunakan faktor - faktor yang mempengaruhi dari data yang akan diramalkan Salah satunya yaitu penelitian dengan menggunakan metode Clusterwise Linear Regression (CLR) Penelitian ini menggunakan data bulanan pada delapan stasiun cuaca di kota Victoria Australia Peramalan curah hujan pada penelitian ini menggunakan faktor yang mempengaruhi yaitu suhu maksimum suhu minimum penguapan tekanan uap dan radiasi matahari Hasil penelitian ini terbukti dapat melakukan peramalan curah hujan dengan hasil yang cukup baik yaitu dengan nilai RMSE terkecil 197 dan MAE terkecil 129 (Bagirov et al 2017)

Berdasarkan paparan yang telah dijelaskan penulis memiliki ide untuk melakukan penelitian dengan judul ldquoPeramalan Curah Hujan dengan Metode High Order Fuzzy Time Series Multi Factorsrdquo Pada metode ini dilakukan klasterisasi data untuk membangun subinterval dengan menggunakan metode fuzzy C-means (LinYang 2009) Dari proses hasil klasterisasi akan digunakan untuk membagi data semesta yang selanjutnya menghasilkan fuzzy set atau himpunan fuzzy yang menggambarkan fitur data (LinYang 2009) Keunggulan dari metode fuzzy time series dengan multi faktor yaitu dengan berdasarkan pada penelitian ndash penelitian sebelumnya yang menggunakan metode tersebut yaitu penelitian prediksi harga emas dengan beberapa faktor yang mempengaruhi menggunakan metode Multi-factors High order Fuzzy Time Series Model dari hasil penelitian ini dengan menggunakan metode evaluasi Mean Absolute Percentage Error (MAPE) dapat diperoleh nilai error terkecil sebesar 0443 (Wardhani et al 2015) dan penelitian peramalan Indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen menggunakan metode Fuzzy Time Series Model dari penilitian ini menunjukan tingkat Average Relative Error (ARError) sebesar 176 untuk bursa efek harian Shanghai sedangkan untuk bursa efek harian Shenzhen didapatkan ARError sebesar 187 (Lin Yang 2009) terbukti menghasilkan hasil peramalan dengan tingkat akurasi yang cukup tinggi Penggunaan metode ini juga sesuai dengan curah hujan yang dipengaruhi oleh beberapa faktor yaitu kelembaban udara kecepatan angin dan suhu (Pradipta 2013) Penelitian ini diharapkan dapat memberikan hasil peramalan curah hujan yang lebih akurat dan memiliki nilai kesalahan yang lebih sedikit

12 Rumusan masalah

Berdasarkan latar belakang yang telah dipaparkan dibuatlah beberapa rumusan masalah sebagai berikut

1 Bagaimana mengimplementasikan Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

2 Berapa tingkat kesalahan dari hasil implementasi Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

3

13 Tujuan

Adapun maksud dan tujuan dari penelitian ini adalah sebagai berikut

1 Mengimplementasikan Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

2 Mengetahui tingkat kesalahan dari hasil implementasi Metode High Order Fuzzy Time Series Multi Factors untuk meramalkan curah hujan

14 Manfaat

Adapun manfaat dari penelitian ini adalah sebagai berikut

1 Bagi Badan Meteorologi dan Geofisika (BMKG) untuk dapat memberikan peramalan curah hujan yang lebih akurat dari sebelumnya

2 Bagi Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian untuk dapat membuat Kalender tanam (KATAM) dengan menggunakan data ramalan curah hujan yang lebih akurat

3 Bagi penduduk kabupaten Malang khususnya yang bekerja pada sektor pertanian agar dapat mengoptimalkan hasil produksi dengan menyesuaikan penanaman sesuai dengan Kalender Tanam (KATAM) yang telah dibuat Badan Penelitian dan Pengembangan (Balitbang) Pertanian Kementerian Pertanian

15 Batasan masalah

Penelitian ini dibatasi oleh hal ndash hal sebagai berikut

1 Data curah hujan kelembaban udara kecepatan angin dan suhu udara yang digunakan pada penelitian ini merupakan data berdasarkan dasarian dan hanya mencakup wilayah kabupaten Malang dan data diperoleh dari BMKG Karangkates Kabupaten Malang dengan data time series yang digunakan pada penelitian ini yaitu dari tahun 2011 - 2016

2 Model peramalan yang diterapkan adalah semua nilai yang membentuk pola dataset training dan testing diketahui nilainya

3 Perhitungan nilai tingkat kesalahan permalan menggunakan metode Mean Square Error (MSE)

16 Sistematika pembahasan

Sistematika pembahasan penelitian ditunjukkan untuk memberikan gambaran dan uraian dari penyusunan proposal yang meliputi beberapa bab sebagai berikut

BAB 1 PENDAHULUAN

Pada bab ini berisi latar belakang rumusan masalah tujuan penelitian manfaat penelitian batasan masalah sistematika pembahasan dan rencana kerja atau jadwal penelitian

4

BAB 2 LANDASAN KEPUSTAKAAN

Pada bab ini berisi tentang kajian pustaka dan dasar teori yang menjadi dasar dalam melakukan implementasi peramalan curah hujan dengan Metode High Order Fuzzy Time Series Multi Factors

BAB 3 METODOLOGI

Pada bab ini diuraikan tentang tahapan atau langkah ndash langkah yang dilakukan dalam proses penelitian tentang peramalan curah hujan dengan metode High Order Fuzzy Time Series Multi Factors Langkah ndash langkah tersebut terdiri dari tahapan penelitian teknik pengumpulan data algoritma yang digunakan lingkungan pengujian dan pengujian algoritma yang digunakan serta pengambilan kesimpulan

BAB 4 PERANCANGAN

Pada bab ini berisi tentang perancangan proses algoritma perhitungan manual metode High Order Fuzzy Time Series Multi Factors perancangan antar muka dan perancangan pengujian

BAB 5 IMPLEMENTASI

Pada bab ini berisi tentang penjelasan peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors bagaimana user interface dan source code dalam pengimplementasian metode ini

BAB 6 PENGUJIAN DAN ANALISIS

Pada bab ini berisi tentang penjelasan proses dan hasil pengujian dari implementasi metode High Order Fuzzy Time Series Multi Factors dalam peramalan curah hujan serta analisis dari pengujian tersebut

BAB 7 PENUTUP

Pada bab ini berisi kesimpulan yang diperoleh dari hasil pengujian dan saran ndash saran untuk pengembangan penelitian selan

5

BAB 2 LANDASAN KEPUSTAKAAN

Bab ini berisi mengenai kajian pustaka dan dasar ndash dasar teori yang akan dibahas serta digunakan untuk menunjang topik ndash topik pembahasan Pada kajian akan dibahas perbedaan antara penelitian yang telah ada dengan penelitian yang diusulkan oleh penulis Sedangkan pada dasar teori akan dibahas mengenai teori ndash teori yang digunakan pada penelitian yang diusulkan

21 Kajian Pustaka

Pada kajian pustaka disini berisi mengenai perbandingan antara penelitian yang diusulkan oleh penulis dengan penelitian sebelumnya yang relevan Perbandingan tersebut dapat dilihat padat Tabel 21

Tabel 21 Kajian Pustaka

No Judul Objek dan Input Penelitian Metode

1 Penerapan Metode Automatic Clustering dan High Order Fuzzy Time Series Pada Peramalan Curah Hujan (Irsyad Metarice 2013)

Objek Curah hujan

Input Penelitian

Data aktual curah hujan

Metode High Order Fuzzy Time Series dan Automatic Clustering

Nilai evalusi

Mean Absolute Percentage Error (MAPE)

2 Peramalan Menggunakan Fuzzy Time Series Chen (Studi Kasus Curah Hujan Kota Samarinda) (Fauziah et al 2016)

Objek Curah Hujan

Input Penelitian

Data aktual curah hujan

Metode Fuzzy Time Series Chen

Nilai evaluasi

Mean Absolute Error (MAE) Root Mean of Square Error (RMSE)

3 Implementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emas (Wardhani et al 2015)

Objek Harga Emas

Input Penelitian

Kurs Dollar hari sebelumnya

Kurs Euro hari sebelumnya

Harga Emas London hari sebelumnya

Harga Emas hari sebelumnya

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

Nilai evalusi

Mean Absolute Percentage Error (MAPE)

4 Stock Markets Forecasting Based on Fuzzy Time Series Model (Lin Yang 2009)

Objek Indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

6

Input Penelitian

Historical return

Historical turnover volume

Rata ndash rata selisih pergerakan harga selama lima hari

Selisih antara kekuatan bull dan bear

Indeks komposit bursa efek harian Shanghai sebelumnya

Indeks komposit bursa efek harian Shenzhen

Nilai evalusi

Average Relative Error (ARError)

5 Peramalan Curah Hujan Menggunakan Metode High Order Fuzzy Time Series Multi Factors

Objek Curah hujan

Input Penelitian

Suhu

Kelembaban

Kecepatan angin

Curah hujan

Metode Fuzzy C-Means ndash Fuzzy Time Series Model

Nilai evalusi

Mean Square Error (MSE)

Sumber (Irsyad Metarice 2013) (Fauziah et al 2016) (Wardhani et al 2015) dan (Lin Yang 2009)

Pada penelitian yang pertama yaitu penelitian yang dilakukan oleh Muhammad Irsyad dan Sonya Metarice pada tahun 2013 dengan objek penelitian yang diramalkan adalah curah hujan Inputan yang digunakan pada penelitian ini merupakan data aktual curah hujan bulanan Metode yang digunakan penelitian ini adalah Automatic Clustering dan High Order Fuzzy Time Series Pada penelitian ini metode Automatic Clustering digunakan untuk membangun interval dan High Order Fuzzy Time Series untuk melakukan peramalan curah hujan Kesimpulan yang diperoleh dari penelitian ini yaitu metode ini dapat diterapkan untuk permalan curah hujan dan hasil evaluasi menggunakan metode Mean Absolute Percentage Error(MAPE) dari beberapa bercobaan dapat diperoleh nilai kesalahan sebesar 437 Berdasarkan dari hasil nilai kesalahan tersebut maka tingkat kesalahan data pada permalan ini termasuk rendah

Pada tahun 2016 Normalita Fauziah Sri Wahyuningsih dan Yuki Novia Nasution melakukan penelitian dengan objek penelitian curah hujan di kota Samarinda Inputan yang digunakan pada penelitian berupa data aktual bulanan curah hujan di kota Samarinda Metode yang digunakan pada penelitian ini adalah Fuzzy Time Series Chen dengan dalam pembentukkan panjang interval berbasis rata ndash rata atau average based Pada penelitian ini permalan curah hujan terbaik yaitu dengan menggunkan data sebanyak 29 data dengan menghasilkan tingkat nilai kesalahan terkecil yaitu dengan metode Root Mean of Squared Error (RMSE) sebesar 7368 dan metode Mean Absolute Error (MAE) sebesar 539 Pada

(Lanjutan) Tabel 21 Kajian Pustaka

7

penelitian ini disimpulkan bahwa data sebanyak 29 data memiliki tingkat kesalahan lebih kecil dibandingkan dengan menggunakan data dengan jumlah sampel yang lebih banyak

Pada penelitian selanjutnya adalah penelitian yang dilakukan oleh Dessy Kusuma Wardhani Dian Eka Ratnawati dan Budi Darma Setiawan pada tahun 2015 dengan objek penelitian yang diramalkan adalah harga emas harian Inputan yang digunakan pada penelitian ini data aktual harian harga emas indonesia harga emas london kurs dollar ke rupiah dan kurs euro ke rupiah Metode yang digunakan pada penelitian pada pembentukkan sub interval menggunakan metode fuzzy C-means dan untuk peramalan menggunakan metode High Order Fuzzy Time Series Model Hasil pada penelitian ini berdasarkan menggunakan metode evaluasi Mean Absolute Percentage Error (MAPE) dapat diperoleh nilai error terkecil sebesar 0443 karena nilai error lebih kecil dari 10 menunjukkan bahwa metode ini sangat baik digunakan untuk peramalan harga emas

Pada tahun 2009 Yupei Lin dan Yiwei Yang melakukan penelitian dengan objek yang diramalkan adalah indeks komposit bursa efek harian Shanghai dan indeks komponen bursa efek harian Shenzhen Data input penelitian ini meliputi historical return historical turnover volume dan rata ndash rata selisih pergerakan harga selama lima hari serta selisih antara kekuatan bull dan bear Dalam penelitian ini pembentukan subinterval yang berfungsi dalam pendefinisian himpunan fuzzy dilakukan dengan menggunakan klasterisasi fuzzy C-means Hasil dari penilitian ini menunjukan tingkat Average Relative Error (ARError) sebesar 176 untuk bursa efek harian Shanghai sedangkan untuk bursa efek harian Shenzhen didapatkan ARError sebesar 187 Dalam hal ini membuktikan bahwa penelitian dapat menghasilkan peramalan yang cukup baik karena memiliki nilai ARError kurang dari 5

Pada penelitian ini membahas tentang peramalan curah hujan dasarian menggunakan metode High Order Fuzzy Time Series Multi Factors Terdapat empat inputan yang juga dijadikan sebagai variabel dalam penelitian ini yaitu kelembaban udara kecepatan angin suhu udara dan curah hujan Pembentukan subinterval yang berfungsi dalam pendefinisian fuzzy set dilakukan dengan menggunakan klasterisasi fuzzy C-means Penelitian ini menggunakan high order fuzzy logic relationship yaitu membentuk fuzzy logic relationship berdasarkan data dalam kurun waktu beberapa dasarian sebelum dasarian yang akan diramal Pada penelitian ini dalam melakukan perhitungan nilai error untuk mendapatkan hasil evaluasi menggunakan metode Mean Square Error (MSE)

22 Dasar Teori

Pada dasar teori disini dijelaskan tentang metode ndash metode yang digunakan pada penelitian ini yang meliputi peramalan curah hujan data time series logika fuzzy fuzzy C-means metode peramalan dengan Fuzzy Time Series High Order Fuzzy Time Series Multi Factors dan metode perhitungan keakuratan metode peramalan

8

221 Peramalan

Terdapat beberapa definisi tentang peramalan menurut Kamus Besar Bahasa Indonesia (KBBI) yaitu

a Peramalan merupakan prediksi rencana atau estimasi kejadian masa depan yang tidak pasti (KBBI)

b Peramalan adalah sebagai penggunaan teknik ndash teknik statistik dalam bentuk gambaran masa depan berdasarkan pengolahan angka ndash angka yang terjadi pada masa lalu (Buffa et al1996)

c Peramalan adalah bagian internal dari pengambilan keputusan manajemen (Makridakis et al1999)

Berdasarkan beberapa definisi diatas dapat disimpulkan bahwa peramalan merupakan tindakan apa yang akan terjadi di masa mendatang peramalan diperlukan untuk mengambil sebuah keputusan Dalam pengambilan keputusan harus diambil dari pertimbangan ndash pertimbangan yang ada Oleh karena itu peramalan sangat penting hubungannya dengan pengambilan keputusan sehingga kejadian di masa yang akan datang dapat dipersiapkan tindakan apa yang perlu dilakukan

222 Curah hujan

Curah hujan merupakan salah satu faktor penting yang mempengaruhi perubahan iklim suatu wilayah (Mirawati et al 2013) Salah satu contoh kasus nyata yaitu terjadinya perubahan iklim secara tiba ndash tiba atau bisa disebut dengan cuaca ekstrim Curah hujan dapat dijelaskan dengan air hujan yang terkumpul pada suatu wadah datar dimana air hujan tersebut tidak meresap tidak menguap dan tidak mengalir sehingga dapat diukur ketinggiannya Sebagai contoh curah hujan 1 (satu) milimeter dapat dijelaskan dalam suatu wadah datar dengan luas satu meter persegi tertampung air dengan ketinggian sekitar satu milimeter atau tertampung air sebanyak satu liter Metode dalam mendapatkan data curah hujan adalah dengan menggunakan penakar hujan yang kemudian diukur dengan satuan milimeter (mm) (User2015) Intensitas curah hujan dapat dikategorikan ringan jika dibawah 20mm dalam 24 jam dikategorikan lebat jika di atas 50mm dan dikategorikan sedang jika selang 20mm hingga 50mm (User 2015)

Curah hujan mempengaruhi beberapa sektor diantarannya sektor komunikasi dimana penggunaan frekuensi diatas 10 GHz dapat terkena redaman hujan (Mauludiyanto et al 2009) Akan tetapi curah hujan paling berpengaruh terhadap sektor pertanian Hal ini terbukti bahwa sebagian besar terjadinya penurunan produktifitas dan gagal panen di sektor pertanian adalah terjadinya curah hujan yang tinggi

Tinggi dan rendahnya curah hujan dipengaruhi oleh beberapa faktor yaitu kelembaban udara temperatur dan kecepatan angin Pada tahun 2013 Nur Suri Pradipta Pasukat Sembiring dan Pengarapen Bangun melakukan penelitian mengenai pengaruh curah hujan di kota Medan (Pradipta et al 2013)

9

Berdasarkan penelitian tersebut faktor yang mempengaruhi dan digunakan dalam peramalan curah hujan yaitu

1 Kelembaban udara

Kelembaban udara adalah banyaknya kandungan uap air di atmosfer Udara atmosfer adalah campuran dari udara kering dan uap air selain itu kelembaban udara merupakan komponen cuaca yang mempunyai peranan sangat penting bagi stabilitas kehidupan organisme di bumi maupun unsur-unsur cuaca yang lain (Forest 2015) Kelembaban udara berpengaruh terhadap curah hujan Hal ini didukung penelitian oleh (Sipayung et al 2013) yang menyatakan Kelembaban udara berpengaruh positif terhadap curah hujan

2 Kecepatan angin

Kecepatan angin merupakan kecepatan udara yang bergerak secara horizontal pada ketinggian 2 meter diatas tanah Dalam hal ini faktor yang menentukan kecepatan angin adalah perbedaan tekanan udara antara asal dan tujuan angin Kecepatan angin berpengaruh positif terhadap curah hujan artinya jika kecepatan angin tinggi maka curah hujan akan tinggi (Pradipta et al2013)

3 Suhu udara

Suhu udara merupakan ukuran energi kinetik rata ndash rata dari pergerakan molekul ndash molekul Suhu udara berpengaruh negatif terhadap curah hujan artinya jika suhu udara tinggi maka curah hujan akan berkurang (Pradipta et al2013)

223 Data time series

Data time series adalah data statistik yang telah dihimpun dari masa lampau hingga sekarang dan dapat digunakan sebagai acuan dalam melakukan peramalan terhadap data yang akan datang (Wiyanti amp Pulungan 2012) Data time series juga dapat didefinisikan sebagai sebuah kegiatan mengamati data statistik dimana terdapat korelasi (dependensi) antar datanya sehingga data yang sekarang sedang diamati memiliki ketergantungan dengan satu atau lebih data pengamatan sebelumnya (Mirawati et al 2013)

Terdapat dua teknik prediksi yang menggunakan basis data time series yaitu teknik model matematika statistik dan berdasarkan kecerdasan buatan (Wiyanti amp Pulungan 2012) Analisa time series sendiri memiliki beberapa peruntukan salah satunya digunakan dalam melakukan peramalan untuk masa yang akan datang Dalam penggunaan data time series merupakan salah satu proses peramalan kuantitatif dimana berdasar data kuantitatif masa lampau yang direpresentasikan dalam bentuk angka atau nilai (Mirawati et al 2013)

10

224 Logika Fuzzy

Pada tahun 1965 Prof Lotfi A Zadeh memperkenalkan teori logika fuzzy Logika fuzzy merupakan suatu komponen soft computing dan juga suatu cara yang tepat untuk memetakan suatu ruang input ke dalam ruang output Antara ruang input dan ruang output terdapat black box yang berfungsi memetakan input ke ruang output yang sesuai Dasar logika fuzzy adalah teori fuzzy set Pada teori fuzzy set peranan derajat keanggotaan sebagai penentu keberadaan elemen dalam suatu himpunan sangatlah penting Oleh karena itu derajat keanggotaan menjadi ciri utama dalam penalaran dengan logika fuzzy Logika fuzzy bekerja dengan menggunakan derajat keanggotan dari sebuah nilai yang kemudian digunakan untuk menentukan hasil yang ingin dihasilkan berdasarkan atas kriteria yang telah ditentukan (Kusumadewi 2003)

Berikut adalah beberapa alasan digunakannya logika fuzzy (Kusumadewi 2002)

1 Logika fuzzy sangat fleksibel

2 Konsep logika fuzzy mudah dimengerti dan dipahami

3 Logika fuzzy memiliki toleransi terhadap data ndash data yang homogen dan data ndash data yang kurang tepat

4 Logika fuzzy didasari pada bahasa alami atau bahasa sehari - hari sehingga mudah dimengerti

5 Logika fuzzy dapat bekerjasama dengan teknik ndash teknik kendali secara konvensional

6 Logika fuzzy mampu membangun dan mengaplikasikan pengalaman ndash pengalaman para pakar secara langsung tanpa harus melalui tahap atau proses pelatihan

A Himpunan Fuzzy

Himpunan fuzzy atau fuzzy set merupakan perluasan himpunan tegas atau himpunan crisp jadi fungsi karakteristik mencakup bilangan real pada interval [01] Dalam definisi lain himpunan fuzzy adalah suatu himpunan yang mewakili suatu keadaan atau kondisi tertentu dalam suatu variabel fuzzy Keanggotaan fuzzy berbeda dengan probabilitas jika keanggotaan fuzzy pada setiap fungsi karakteristik memberikan suatu pendapat atau keputusan sedangkan probabilitas menunjukan seberapa besar nilai kebenaran dalam fungsi karakteristik tersebut Contohnya yaitu nilai keanggotaan suatu himpunan fuzzy umur muda 09 berarti nilai dalam himpunan tersebut memiliki kemungkinan 90 anggotanya berumur muda dan 10 diharapkan tidak muda Dalam himpunan fuzzy suatu bilangan bisa memiliki dua keanggotaan sekaligus Himpunan fuzzy memiliki dua attribut (Kusumadewi2003)

11

1 Linguistik merupakan penamaan suatu himpunan yang mewakili suatu keadaan atau kondisi tertentu dengan menggunakan bahasa alami misalnya muda parobaya tua

2 Numeris merupakan suatu nilai (angka) yang menunjukkan ukuran dari suatu

variabel seperti 402550 dan sebagainya

B Fungsi Keanggotaan

Fungsi keanggotaan adalah suatu kurva yang menunjukkan pemetaan titik ndash titik input data ke dalam derajat keanggotaannya yang memiliki subinterval antara 0 sampai 1 (Kusumadewi Purnomo 2004) Salah satu cara yang dapat digunakan untuk mendapatkan nilai keanggotaan adalah dengan melalui pendekatan fungsi Ada beberapa fungsi keanggotaa yang dapat digunakan

1 Fungsi representasi linear

Pada fungsi representasi linear pemetaan input ke derajat keanggotaannya digambarkan sebagai suatu garis lurus Bentuk ini paling sederhana dan menjadi pilihan yang baik untuk mendekati suatu konsep yang kurang jelas Keadaan linear himpunan fuzzy terdiri dari dua keadaan yaitu keadaan linear naik dan keadaan linear turun Pada keadaan linear naik kenaikan himpunan dimulai pada nilai domain yang memiliki nilai derajat keanggotaan nol bergerak ke kanan menuju ke nilai domain yang memiliki derajat keanggotaan yang lebih tinggi seperti yang ditunjukkan Gambar 21 Persamaan fungsi keanggotaan pada representasi linear naik ditunjukkan oleh Persamaan 21

Fungsi Keanggotaan

120583(119909) = 0

(119909 minus 119886)(119887 minus 119886)1

119909 le 119886 119886 le 119909 le 119887119909 ge 119887

(21)

b a 0

1

Gambar 21 Representasi linear naik

Sumber Kusumadewi (2002)

120583(119909)

12

Pada keadaan linear turun berbanding terbalik dengan keadaan linear naik Garis lurus dimulai dari nilai domain dengan derajat keanggotaan tertinggi pada sisi kiri kemudian bergerak menurun ke nilai domain yang memiliki derajat keanggotaan lebih rendah yang ditunjukkan Gambar 22 Persamaan fungsi keanggotaan pada representasi linear turun ditunjukkan oleh Persamaan 22

Fungsi Keanggotaan

120583(119909) = (119887 minus 119909)(119887 minus 119886)0

119886 le 119909 le 119887

119909 ge 119887 (22)

2 Fungsi representasi kurva segitiga

Representasi kurva segitiga pada dasarnya merupakan gabungan antara 2 garis linear yaitu linear naik dan linear turun Fungsi representasi kurva segitiga ditandai oleh adanya tiga parameter abc yang akan menentukan koordinat x dari tiga sudut seperti ditunjukkan pada Gambar 23 Persamaan fungsi keanggotaan pada representasi kurva segitiga ditunjukkan oleh Persamaan 23

b a 0

1

Sumber Kusumadewi (2002)

Gambar 22 Representasi linear turun

120583(119909)

c a 0

1

b

Sumber Kusumadewi (2002)

Gambar 23 Representasi kurva segitiga

120583(119909)

13

Fungsi Keanggotaan

120583(119909) =

0 (119909 minus 119886)(119887 minus 119886) (119887 minus 119909)(119888 minus 119887)

119909 le 119886 119886119905119886119906 119909 ge 119888

119886 le 119909 le 119887 119887 le 119909 le 119888

(23)

225 Metode Fuzzy C-means

Fuzzy C-means (FCM) pertama kali diperkenalkan oleh Dunn dan dikembangkan oleh Bezdek yang banyak digunakan dalam pengenalan pola Metode ini merupakan pengembangan dari metode non-hierarkhi K-Means Cluster selanjutnya dilakukan iterasi sampai mendapatkan keanggotaan kelompok tersebut (Klawon 2001)

FCM merupakan salah satu algoritma fuzzy clustering dan juga teknik klasterisasi dimana tiap data ditentukan oleh derajat keanggotaanya Tujuan penggunaan algoritma FCM yaitu untuk menemukan pusat cluster atau centroid dengan meminimumkan fungsi objektif (Bazdek 1984) Ouput dari FCM bukan merupakan fuzzy inference system melainkan deretan pusat cluster dan beberapa derajat keanggotaan untuk setiap titik data Hasil output ini dapat digunakan untuk membangun suatu fuzzy inference system Berikut adalah langkah ndash langkah dari FCM (Kusumadewi 2004)

1 Langkah pertama menentukan jumlah cluster (c ge 2) pembobot (infin gt 119908 gt1) (Bazdek 1984) maksimum iterasi (maxIter) error minimum yang diharapkan yaitu nilai positif yang sangat kecil (120585) fungsi objektif awal (P0 = 0) iterasi awal dideklarasikan 1

2 Langkah kedua memasukkan data X yang akan diklasterisasi berupa matriks berukuran m x n (m = jumlah sampel data n = attribut setiap data) Contoh Xij = data sampel ke-i (i = 1234m) attribu ke-j (j=1234n)

3 Langkah ketiga yaitu dengan membuat bilangan random microik i = 1234n dan k = 123c (n = jumlah sampel pada data c = jumlah cluster yang akan dibentuk) sebagai elemen ndash elemen matriks partisi awal Untuk bilangan penyusun matriks partisi awal dihitung dihitung jumlahnya setiap kolom yang ditunjukkan pada pada Persamaan 24 (Kusumadewi 2004)

119876119896 = sum 120583119894119896119888119896=1 (24)

Dimana

119876119896 = jumlah bilangan pada kolom k

120583119894119896 = bilangan random pada baris i kolom k

119888 = jumlah kolom

14

Selanjutnya untuk menghitung derajat keanggotaan awal dengan melakukan normalisasi pada matiks partisi pada normalisasi dilakukan menggunakan Persamaan 25 (Kusumadewi 2004)

120583119894119896 = 120583119894119896119876119896 (25)

4 Langkah keempat melakukan perhitungan cluster ke-k Vkj dengan k = 1234c dan j = 1234m Perhitungan pusat cluster ditunjukkan pada Persamaan 26 (Kusumadewi 2004)

119881119896119895 = sum ((120583119894119896)119908 times 119883119894119895)119899

119894=1

sum (120583119894119896)119908119899119894=1

(26)

Dimana

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

120583119894119896 = derajat keanggotaan pada data ke-i cluster ke-k

119883119894119895 = data sampel pada data ke-i attribut ke-j

119908 = pembobot

5 Langkah kelima melakukan perhitungan fungsi objektif pada iterasi ke-t P1 Perhitungan fungsi objektif ditunjukkan pada Persamaan 27 (Kusumadewi 2004)

119875119905 = sum sum ([sum (119883119894119895 minus 119881119896119895)119898119895=1

2](120583119894119896)119908)119888

119896=1119899119894=1 (27)

Dimana

119875119905 = fungsi objektif

119883119894119895 = data sampel ke-i atribut ke-j

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

6 Langkah keenam melakukan perhitungan perbaikan matriks partisi yang telah ditunjukkan Persamaan 28 (Kusumadewi 2004)

120583119894119896 = [sum (119883119894119895minus119881119896119895)119898

119895=12

]

minus1119908minus1

sum [sum (119883119894119895minus119881119896119895)119898119895=1

2]

minus1119908minus1119888

119896minus1

(28)

Dimana

119883119894119895 = data sampel ke-i atribut ke-j

119881119896119895 = pusat cluster pada cluster ke-k dan atribut ke-j

119908 = pembobot

7 Langkah ketujuh yaitu melakukan pemerikasaan kondisi berhenti dengan kondisi sebagai berikut

a Jika (|119875119905 minus 119875119905minus1| lt 120585) atau ( t gt MaxIter) maka berhenti

b Jika tidak memenuhi t = t +1 ulangi mulai dari langkah ke-4

15

226 Metode Peramalan dengan Fuzzy Time Series

Pada tahun 1996 Chen memperkenalkan metode peramalan dengan menggunakan metode Fuzzy Time Series Metode Fuzzy Time Series memiliki perbedaan dengan metode peramalan time series biasa atau konvensional yaitu terdapat pada data yang digunakan untuk peramalan Fuzzy Time Series data yang digunakan adalah berupa fuzzy set atau himpunan fuzzy dari bilangan ndash bilangan real atas himpunan semesta yang ditentukan Jadi Fuzzy Time Series merupakan metode dengan menggunakan data berupa fuzzy set yang berasal dari bilangan real atas Universe of Discorse pada data aktual Universe of Discourse adalah himpunan semesta dari data penelitian

Berikut adalah langkah ndash langkah metode Fuzzy Time Series yang telah diperkenalkan oleh Chen terdapat enam langkah yaitu

1 Langkah pertama yaitu membagi Universe of Discourse dari bilangan aktual ke dalam subinterval dengan jumlah interval yang sama Perhitungan Universe of Discourse ditunjukkan pada Persamaan 29 (Chen 1996)

119880 = [119863119898119894119899 minus 1198631 119863119898119886119909 + 1198632] (29)

Dimana

119880 = Universe of Discourse

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

1198631 dan 1198632 = bilangan positif yang ditentukan oleh user untuk menentukan Universe of Discourse dari himpunan data sampel

2 Langkah kedua adalah mendefinisikan fuzzy set dari Universe of Discourse (U) menjadikan A1 A2 A3 An ke dalam fuzzy set dengan nilai linguistik sesuai dengan keadaan U Selanjutnya mendefinisikan fuzzy set tersebut ditunjukkan pada Persamaan 210 (Chen 1996)

1198601 =11989111

1199061+

11989112

1199062+

11989113

1199063+ ⋯ +

1198911119896

119906119896 (210)

1198602 =11989121

1199061+

11989122

1199062+

11989123

1199063+ ⋯ +

1198912119896

119906119896

= + + + +

119860119896 =1198911198961

1199061+

1198911198962

1199062+

1198911198963

1199063+ ⋯ +

119891119896119896

119906119896

Dimana 119891119894119895120598 [01] 1 le 119894 le 119896 dan 1 le 119895 le 119898 Variabel 119891119894119895 menunjukkan

derajat keanggotaan dari subinterval 119906119895 dari fuzzy set 1198601 Pada konsep ini

Chen menggunakan nilai linguistik 1198601 = (not many) 1198602 = (not too many) 1198603= (many) 1198604 = (many many) 1198605 = (very many) 1198606 = (too many) 1198607= (too many many) Kemudian nilai linguistik tersebut dimasukkan ke tiap fuzzy set Dari U tersebut dapat dibangun fuzzy set sebagai berikut

16

1198601 = 1

1199061+

05

1199062+

0

1199063+

0

1199064+

0

1199065+

0

1199066+

0

1199067

1198602 = 05

1199061+

1

1199062+

05

1199063+

0

1199064+

0

1199065+

0

1199066+

0

1199067

1198603 = 0

1199061+

05

1199062+

1

1199063+

05

1199064+

0

1199065+

0

1199066+

0

1199067

1198604 = 0

1199061+

0

1199062+

05

1199063+

1

1199064+

05

1199065+

0

1199066+

0

1199067

1198605 = 0

1199061+

0

1199062+

0

1199063+

05

1199064+

1

1199065+

05

1199066+

0

1199067

1198606 = 0

1199061+

0

1199062+

0

1199063+

0

1199064+

05

1199065+

1

1199066+

05

1199067

1198607 = 0

1199061+

0

1199062+

0

1199063+

0

1199064+

0

1199065+

05

1199066+

1

1199067

3 Langkah ketiga yaitu melakukan fuzzifikasi data historis proses fuzzifikasi merupakan proses merubah data aktual yang merupakan bilangan crisp ke dalam bentuk bilangan fuzzy Bilangan fuzzy yang dimaksudkan adalah dalam bentuk derajat keanggotaan Dari beberapa derajat keanggotaan yang terbentuk kemudian dipilih satu fuzzy set yang memiliki derajat keanggotaan teringgi Fuzzifikasi dinotasikan sebagai berikut jika F(t-1) berada pada fuzzy set Ak maka F(t-1) difuzzifikasikan sebagai Ak

4 Langkah keempat adalah mengidentifikasi Fuzzy Logic Relationship (FLR) FLR diidentifikasikan sebagai Ai dan F(t) difuzzifikasikan sebagai Ai rarr Aj Ai sebagai sisi kiri relationship disebut sebagai current state dan Aj sebagai sisi kanan relationship disebut next state Jika terjadi perulangan relationship maka tetap dihitung satu kali

5 Langkah kelima yaitu mengelompokkan menjadi Fuzzy Logical Relationship Group (FLRG) FLRG dibangun berdasarkan sisi kiri (current state) yang sama

6 Langkah terakhir yaitu langkah keenam adalah melakukan defuzzifikasi nilai keluaran peramalan Defuzzifikasi adalah mengubah nilai keluaran fuzzy menjadi bilangan crisp kembali sehingga diperoleh hasil akhir peramalan Defuzzifikasi didasarkan pada tiga (3) rule aturan yaitu (Chen 1996)

I Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai hanya memiliki satu FLR pada FLRG yaitu dengan kondisi Ai rarr Aj dimana nilai maksimum fungsi keanggotaanya berada pada 119906119895 maka nilai peramalan untuk n+1 adalah

nilai tengah dari 119906119895 atau didefinisikan dengan 119898119895

II Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai memiliki lebih dari satu FLR pada FLRG yaitu dengan kondisi Ai rarr Aj1 Aj2 Ajp Dimana nilai tengah untuk masing ndash masing Aj1 Aj2 Aj3 Ajp adalah mj1 mj2 mj3 mjp

maka nilai peramalan untuk n+1 adalah (mj1 mj2 mj3 mjp) p

III Jika hasil fuzzifikasi tahun ke-n adalah Ai dan Ai tidak memiliki FLR pada FLRG dimana nilai maksimum fungsi keanggotaannya berada pada 119906119895

17

maka nilai peramalan untuk n+1 adalah nilai tengah dari 119906119895 atau

didefinisikan dengan 119898119895

227 Metode High Order Fuzzy Time Series Multi Factors

Metode High Order Fuzzy Time Series Multi Factors adalah metode Fuzzy Time Series (FTS) yang melibatkan beberapa faktor yang mempengaruhi peramalan dengan berdasarkan beberapa periode waktu sebelum periode yang akan diramalkan dalam proses pembentukkan Fuzzy Logical Relationship (FLR) Hasil peramalan dengan banyak faktor yang mempengaruhi dinilai lebih baik dari pada dengan hanya satu faktor yang mempengaruhi (LinYang 2009) Pada metode ini pembentukkan subinterval yang berfungsi dalam pendefinisian fuzzy set dilakukan dengan menggunakan teknik klasterisasi fuzzy C-means Berikut adalah langkah ndash langkah Metode High Order Fuzzy Time Series Multi Factors (LinYang 2009)

1 Langkah pertama adalah melakukan perhitungan Universe of Discourse (U) Sebelum menghitung nilai U terlebih dulu menghitung nilai mean (rata ndash rata) sampel lalu menghitung nilai standar deviasi (120590) Mean merupakan perhitungan jumlah dari semua nilai dalam kumpulan data kemudian dibagi dengan jumlah total data untuk menghitung nilai mean ditunjukkan pada Persamaan 211 (Weisstein 2015) Standar deviasi merupakan akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel untuk menghitung nilai standar deviasi (120590) ditunjukkan pada Persamaan 212 (Weisstein 2015) Perhitungan U ditunjukkan pada Persamaan 213 (LinYang 2009)

119909 =sum 119909119894

119899119894=1

119899 (211)

Dimana

= mean (rata ndash rata)

119909119894 = nilai data ke-i

119899 = banyak data

120590 = radicsum (119909119894minus ) 2119899

119894=1

119899minus1 (212)

Dimana

120590 = Standar deviasi data

119880 = [119863119898119894119899 minus 120590 119863119898119886119909 + 120590] (213)

Dimana

119880 = Universal 0f Discourse

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

18

2 Langkah kedua yaitu menentukan jumlah cluster data Proses klasterisasi bertujuan untuk membagi U kedalam beberapa subinterval Hasil perhitungan banyaknya cluster apabila bernilai pecahan maka harus dibulatkan menjadi bilangan bulat Perhitungan banyaknya cluster ditunjukkan pada Persamaan 214 (LinYang 2009)

119896 = ||119863119898119894119899 minus 119863119898119886119909|sum |119883(119905)minus119883(119905minus1)|119899

119905=1

119899minus1| (214)

Dimana

119896 = banyaknya jumlah cluster

119863119898119894119899 = nilai minimum dari data sampel

119863119898119886119909 = nilai maksimum dari data sampel

119899 = banyaknya data sampel

119883(119905) = data pada waktu ke-t

3 Langkah ketiga yaitu melakukan pembentukan pusat cluster Pada metode ini proses klasterisasi data menggunakan fuzzy C-means (FCM) untuk mendapatkan pusat cluster sebanyak k Tahapannya U dibagi kedalam k subinterval (119863119898119894119899 1198891) (1198891 1198892) (1198892 1198893) hellip (119889119896minus1 119863119898119886119909) dimana di (i = 123k-1) merupakan titik tengah antara dua pusat cluster k subinterval didefinisikan sebagai 1199061 1199062 1199063 hellip 119906119896 Sehingga dalam hal ini subinterval

dengan panjang berbeda dapat menggambarkan struktur data kompleks dengan baik dan dapat meningkatkan peramalan dibandingkan menggunakan subinterval dengan panjang yang sama (LinYang 2009)

4 Langkah keempat yaitu melakukan pembentukan himpunan fuzzy atau fuzzy set Pada langkah ini fuzzy set direpresentasikan dengan kurva bahu Pembentukkan fuzy set ditunjukkan pada Persamaan 215 (LinYang 2009)

1198601 =11989111

1199061+

11989112

1199062+

11989113

1199063+ ⋯ +

1198911119896

119906119896 (215)

= + + + +

119860119896 =1198911198961

1199061+

1198911198962

1199062+

1198911198963

1199063+ ⋯ +

119891119896119896

119906119896

5 Langkah kelima yaitu proses fuzzifikasi Proses fuzzifikasi bertujuan untuk mengubah data sampel yang masih berupa bilangan crisp sehingga menjadi bilangan fuzzy Masing ndash masing data dihitung derajat keanggotaannya terhadap fuzzy set yang sudah terbentuk selajutnya derajat kanggotaan dihitung berdasarkan kurva bahu dan derajat keanggotaan tertinggi menunjukkan hasil fuzzifikasi data tersebut Contohnya A(t) B(t) C(t) dan D(t) dimana t= 123n merupakan time series dari faktor yang mempengaruhi serta n merupakan banyaknya data Berdasarkan pembagian subinterval masing ndash masing time series ini difuzzifikasikan Misalkan hasil dari Persamaan 215 yaitu menghitung banyak cluster dari k1 k2 k3 k4 Jadi time series difuzzifikasikan menjadi empat fuzzy time series yaitu

19

A(ti) dimana i = 1234k1

B(tj) dimana j = 1234k2

C(tp) dimana p = 1234k3

D(tq) dimana q = 1234k4 t = 123n

6 Langkah keenam yaitu melakukan pembentukkan Fuzzy Logical relationship (FLR) Data sampel sebanyak n periode dipilih sebagai data training untuk membentuk fuzzy time series model Misalkan t merupakan periode waktu yang akan diramal dengan menggunakan order ndash 3 maka tiga periode sebelum periode t adalah t-3 t-2 dan t-1 dimana t = 456n Maka FLR yang dihasilkan ditunjukkan pada Persamaan 216 dan berdasarkan persamaan tersebut maka akan membentuk sebuah kumpulan FLR dari data training (LinYang 2009)

(119860(119905minus31198943) 119861(119905minus31198953) 119862(119905minus31199013) 119863(119905minus31199023)) (216)

(119860(119905minus21198942) 119861(119905minus21198952) 119862(119905minus21199012) 119863(119905minus21199022))

(119860(119905minus11198941) 119861(119905minus11198951) 119862(119905minus11199011) 119863(119905minus11199021)) rarr 119860(1199051198944)

Tabel 22 Fuzzy Logic Relationship

(119860(119905minus31198943) 119861(119905minus31198953) 119862(119905minus31199013) 119863(119905minus31199023))

(119860(119905minus21198942) 119861(119905minus21198952) 119862(119905minus21199012) 119863(119905minus21199022))

(119860(119905minus11198941) 119861(119905minus11198951) 119862(119905minus11199011) 119863(119905minus11199021)) rarr 119860(1199051198944)

(119860(119905minus21198943) 119861(119905minus21198953) 119862(119905minus21199013) 119863(119905minus21199023))

(119860(119905minus11198942) 119861(119905minus11198952) 119862(119905minus11199012) 119863(119905minus21199022))

(119860(1199051198941) 119861(1199051198951) 119862(1199051199011) 119863(1199051199021)) rarr 119860(119905+11198944)

(119860(119905+119899minus71198943) 119861(119905+119899minus71198953) 119862(119905+119899minus71199013) 119863(119905+119899minus71199023))

(119860(119905+119899minus61198942) 119861(119905+119899minus61198952) 119862(119905+119899minus61199012) 119863(119905+119899minus61199022))

(119860(119905+119899minus51198941) 119861(119905+119899minus51198951) 119862(119905+119899minus51199011) 119863(119905+119899minus51199021)) rarr 119860(119905+119899minus41198944)

Sumber (LinYang 2009)

7 Langkah terakhir adalah proses Defuzzifikasi Berdasarkan langkah sebelumnya maka dapat diambil hasil fuzzy ke- H yaitu yang digunakan sebagai data testing atau data uji seperti yang ditunjukkan pada Persamaan 217 (LinYang 2009)

(119860(119867minus31198943) 119861(119867minus31198953) 119862(119867minus31199013) 119863(119867minus31199023)) (217)

(119860(119867minus21198942) 119861(119867minus21198952) 119862(119867minus21199012) 119863(119867minus21199022))

(119860(119867minus11198941) 119861(119867minus11198951) 119862(119867minus11199011) 119863(119867minus11199021)) rarr 119860(1198671198944)

20

Faktor ndash faktor di ruas kiri pada Persaman 217 dibandingkan satu per satu dengan FLR data training yang sudah dicatat sebelumnya pada Tabel 22 membandingkannya yaitu dengan cara menghitung nilai absolut dari selisih antara pangkat bawah kedua faktor pada posisi yang sama di FLR Terdapat 12 fuzzy set di ruas kiri pada masing ndash masing FLR sehingga dari hasil perbandingan diperoleh 12 nilai absolut yang kemudian dijumlahkan untuk mendapat total selisihnya Jadi jika total selisih lebih kecil dari threshold yang ditentukan maka FLR tersebut dinyatakan cocok (LinYang 2009)

Selanjutnya jika FLR menemukan N pasangan yang cocok pada Tabel 22 maka N faktor di ruas kanan dari N FLR ini mendasari peramalan fuzzy set A() yang mana jumlah dari setiap fuzzy set pada umumnya berbeda Untuk peramalan dengan fuzzy set ditunjukkan pada Tabel 23 (LinYang 2009)

Tabel 23 Peramalan fuzzy set

Ruas Kanan A(1) A(2) A(3) A(k1)

Pusat cluster c1 c2 c3 ck1

Frekuensi f1 f2 f3 fk1

Sumber (Lin Yang 2009)

Berdasarkan Tabel 23 dengan menggunakan metode centroid untuk melakukan proses defuzzifikasi Proses defuzzifikasi dapat ditunjukkan pada Persamaan 218 (LinYang 2009)

119903119867 =sum 119888119894times 119891119894

1198961119894=1

sum 119891119894119896119894119894=1

(218)

Dimana

119903119867 = hasil (result) peramalan data ke-H

119888119894 = pusat cluster i dimana A(i) adalah ruas kanan dari FLR hasil proses pencocokan

119891119894 = frekuensi banyaknya muncul A(i) pada saat proses pencocokan

228 Perhitungan keakuratan metode peramalan

Dalam perencanaan peramalan tentu menginginkan hasil ramalan yang tepat atau paling tidak hampir mendekati sehingga rencana yang dibuat menjadi rencana yang realistis Keakuratan atau ketepatan merupakan yang menjadi kriteria performance suatu metode peramalan Keakuratan tersebut dapat dinyatakan sebagai kesalahan peramalan (forecast error) Semaikin kecil nilai kesalahan peramalan maka semaikin tinggi keakuratan metode peramalan yang digunakan dan sebaliknya semakin tinggi nilai kesalahan maka semakin rendah keakuratan metode peramalan yang digunakan

Mean Square Error (MSE) adalah salah satu metode yang digunakan untuk menghitung nilai akurasi atau keakuratan dari metode yang digunakan sebagai peramalan atau prediksi MSE merupakan perhitungan pangkat dua dari selisih

21

antara nilai data hasil peramalan dengan nilai data aktual dan kemudian dibagi dengan banyaknya data yang telah diramalkan Pada penentuan nilai evaluasi memilih menggunakan metode MSE karena metode ini dapat menunjukan hasil skala kemiripan antara hasil data peramalan dengan data aktual Berikut merupakan metode Mean Square Error (MSE) yang ditunjukan pada Persamaan 219 (Wang Chen 2009)

119872119878119864 = sum (119865119905minus119860119905)2119899

119894=1

119899 (219)

Dimana 119872119878119864 = nilai Mean Square Error Rate 119860119905 = nilai aktual pada data ke-t 119865119905 = nilai hasil peramalan untuk data ke-t n = banyaknya data

22

BAB 3 METODOLOGI

Pada bab ini akan dibahas mengenai metode yang digunakan beserta tahap ndash tahap pengerjaan penelitian skripsi dengan judul ldquoPeramalan Curah Hujan dengan Metode High Order Fuzzy Time Series Multi Factorsrdquo Penilitian ini digolongkan sebagai penelitian implementatif dengan pendekatan perancangan (design)

Metode penelitian ini meliputi studi literatur pengumpulan data perancangan implementasi pengujian dan analisis pengambilan kesimpulan Berikut adalah alur dari metode penelitian dapat ditunjukkan pada Gambar 31

31 Studi Literatur

Pada tahap studi literatur penelitian ini bertujuan untuk mempelajari literatur dan konsep dari beberapa informasi dan pustaka yang berkaitan dengan penelitian ini Literatur dan sumber ilmu dari penelitian ini diperoleh dari internet buku dan bimbingan oleh dosen pembimbing Adapun literatur yang dipelajari yaitu tentang curah hujan serta faktor ndash faktor yang mempengaruhinya dan metode High Order Fuzzy Time Series Multi Factors

Studi Literatur

Pengumpulan Data

Perancangan

Implementasi

Pengujian dan Analisis

Kesimpulan dan Saran

Gambar 31 Diagram blok metodologi penelitian

23

32 Pengumpulan Data

Pada tahap pengumpulan penelitian ini sumber data yang diperoleh yaitu dari Badan Meteorologi Klimatologi dan Geofisikia (BMKG) Stasiun Klimatologi Kelas III Karangkates Kabupaten Malang Data yang diperoleh untuk peramalan curah hujan yaitu data aktual time series (2011 - 2016) Data yang digunakan dalam bentuk dasarian yaitu dalam rentang waktu sepuluh hari sehingga dalam satu bulan dibagi menjadi tiga dasarian

Dasarian pertama yaitu pada tanggal 1 sampai dengan 10

Dasarian kedua yaitu pada tanggal 11 sampai dengan 20

Dasarian ketiga yaitu pada tanggal 21 sampai dengan akhir bulan

Pada penelitian ini data curah hujan dalam satuan milimeter (mm) kelembaban dalam persen () suhu udara dalam satuan celsius (˚C) kecepatan angin dalam satuan kilometer per jam (kmjam)

33 Perancangan

Pada tahap perancangan penelitian ini bertujuan untuk mengetahui rancangan ndash rancangan yang merupakan langkah yang dilakukan saat melakukan tahap implementasi Pada tahap ini terdapat beberapa perancangan yaitu perancangan proses yang berisi tahapan ndash tahapan proses metode High Order Fuzzy Time Series Multi Factors perhitungan manual yang merupakan manualisasi dari metode yang digunakan pada penelitian ini perancangan antar muka atau user interface yang berisi gambaran kasar dari tampilan antar muka prototype aplikasi yang nantinya diterapkan pada tahap implementasi selanjutnya adalah perancangan pengujian yang berisi rancangan ndash rancangan pengujian metode yang digunakan untuk mengetahui berapa tingkat kesalahan atau error yang dimiliki metode pada penelitian ini dalam melakukan peramalan curah hujan

34 Implementasi

Pada tahap implementasi peneltian ini dilakukan sesuai dengan perancangan yang telah dibuat pada tahapan perancangan sebelumnya Implementasi dari metode High Order Fuzzy Time Series Multi Factors dilakukan menggunakan bahasa pemrograman java serta Integrated Development Environment (IDE) yang digunakan adalah Netbeans Sehingga nantinya hasil dari tahap ini berupa prototype aplikasi dari implementasi metode High Order Fuzzy Time Series Multi Factors untuk peramalan curah hujan

35 Pengujian dan Analisis

Pada tahapan penelitian pengujian ini diperlukan perangkat lunak dan perangkat keras agar pengujian dari hasil implementasi dapat berjalan dengan baik maka pengujian perangkat lunak dijalankan pada laptop ataupun PC (Personal Computer) dengan spesifikasi sebagai berikut

24

1 Prosesor Intel Core i3

2 Memory RAM 8 Gigabytes

3 Sistem Operasi menggunakan Windows 7 64bit

4 Hardisk dengan kapasitas 500 GB

5 Netbeans 81 JDK 7

Pengujian hasil peramalan menggunakan metode High Order Fuzzy Time Series Multi Factors yaitu menggunakan metode Mean Square Error (MSE) Dimana rumus pengujian sesuai dengan Persamaan 219 Dalam pengujian menggunakan metode ini semakin kecil nilai MSE maka semakin tinggi tingkat akurasi hasil peramalan tersebut Pada penelitian ini untuk keperluan pengujian dari proses implementasi dilakukan empat pengujian yaitu pengujian terhadap perbedaan nilai order pengujian terhadap perbedaan nilai threshold pengujian terhadap data training untuk mengetahui pengaruhnya terhadap nilai MSE dan pengujian validasi sistem untuk mengetahui bahwa hasil implementasi metode High Order Fuzzy Time Series Multi Factors dapat melakukan peramalan

36 Kesimpulan dan Saran

Pada pengambilan kesimpulan akan dilakukan apabila semua tahapan ndash tahapan penelitian sudah dilakukan yaitu yang meliputi perancangan implementasi dan pengujian dan analisis telah selesai dilakukan Kesimpulan merupakan tahapan dimana semua rumusan masalah yang sudah ditetapkan sebelumnya dapat terjawab semua Selanjutnya pada saran merupakan berkenaan dengan hasil yang telah dicapai untuk memperbaiki kekurangan - kekurangan yang terjadi pada penelitian ini serta memberikan pertimbangan pada pengembangan penelitian lebih lanjut

25

BAB 4 PERANCANGAN

Pada bab ini berisi tentang perancangan yang nantinya digunakan sebagai dasar dalam tahap implementasi Hal yang dibahas meliputi perancangan proses perhitungan manual perancangan pengujian dan perancangan antar muka

41 Perancangan Proses

Pada perancangan proses ini berisi mengenai tahapan ndash tahapan dari metode yang digunakan yaitu metode High Order Fuzzy Time Series Multi Factors Pada penelitian ini melibatkan faktor ndash faktor yang mempengaruhi curah hujan yaitu suhu udara kelembaban udara dan kecepatan angin Data time series dari curah hujan merupakan faktor utama dalam proses peramalan pada penelitian ini Inputan pada peneltian ini yaitu data time series curah hujan serta faktor ndash faktor yang mempengaruhinya Order yang digunakan pada metode ini merupakan order lebih dari satu oleh karena itu disebut dengan High Order Order merupakan urutan jumlah dari data time series pada periode waktu t yang mempengaruhi nilai data Berikut merupakan diagram alir dari proses peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors yang ditunjukkan pada Gambar 41 dan Gambar 42

Gambar 41 Diagram alir metode penelitian yang digunakan (bagian 1)

Mulai

Data curah hujan suhu kelembaban kecepatan angin jmlh_Banyakdata jmlh_Faktor

Universe_of_Discourse

A

Jumlah_Cluster

26

411 Proses perhitungan Universe of Discourse

Pada perhitungan Universe of Discourse harus sudah dilakukan inputan data agar dapat memulai tahapan perhitungan Tahapan dari proses perhitungannya yaitu pada langkah pertama dilakukan perhitungan nilai mean (rata ndash rata) sesuai dengan Persamaan 211 Setelah mendapatkan nilai mean dapat dilakukan perhitungan untuk mencari nilai standar deviasi sesuai dengan Persamaan 212 Selanjutnya dicari nilai terkecil (119863119898119894119899) dan nilai terbesar (119863119898119886119909) Setelah menyelesaikan tahap ndash tahap tersebut dapat dilakukan perhitungan untuk

Gambar 42 Diagram alir metode penelitian yang digunakan (bagian 2)

A

Perhitungan Pusat Cluster

Fuzzifikasi

Pembentukan Fuzzy Logical Relationship

Defuzzifikasi

Nilai hasil peramalan

Berhenti

Pembentukan Subinterval dan Fuzzy set

27

mencari Universe of Discourse sesuai dengan Persamaan 213 Berikut merupakan diagram alir dari proses perhitungan Universe of Discourse yang ditunjukkan pada Gambar 43

Perhitungan Universe of Discourse

Mulai

Min_dan_Max

mean

standar_deviasi

for i = 0 to jmlh_Faktor-1

i

hsl_uMin ke i = hsl_min ke i ndash hsl_stdev ke i

hsl_uMax ke i = hsl_max ke i + hsl_stdev ke i

hsl_uMin hsl_uMax

Berhenti

Gambar 43 Diagram alir proses perhitungan Universe of Discourse

28

4111 Proses perhitungan Mean

Pada proses perhitungan mean merupakan nilai rata ndash rata dari setiap faktor dimana nilai mean ini nantinya dibutuhkan untuk melakukan proses perhitungan standar deviasi Berikut merupakan diagram alir dari proses perhitungan mean yang ditunjukkan pada Gambar 44

mean

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to jmlh_DataTraining

tmp_jmlh = 0

tmp_jmlh = tmp_jmlh + data ke ij

j

hsl_mean ke i = tmp_jmlhjmlh_DataTraining

i

hsl_mean

Berhenti

Gambar 44 Diagram alir proses perhitungan mean

29

4112 Proses perhitungan standar deviasi

Pada proses perhitungan standar deviasi dapat dilakukan setelah mendapatkan nilai mean dari setiap data sesuai proses sebelumnya Berikut merupakan diagram alir dari proses perhitungan standar deviasi yang ditunjukkan pada Gambar 45

standar_deviasi

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to jmlh_DataTraining

result = 0

result = result + (data ke ij ndash mean ke i)2

j

hsl_stdev ke i = radicresult

jmlh_DataTrainingminus1

i

hsl_stdev

Berhenti

Gambar 45 Diagram alir proses perhitungan standar deviasi

30

4113 Proses perhitungan nilai Dmin dan Dmax

Pada proses perhitungan ini merupakan proses perhitungan untuk mencari nilai terkecil dan terbesar dari setiap faktor data Setelah mendapat nilai terkecil dan terbesar maka data dilakukan proses perhitungan Universe of Discourse Berikut merupakan diagran alir dari proses perhitungan nilai Dmin dan Dmax yang ditunjukkan pada Gambar 46

Gambar 46 Diagram alir perhitungan nilai Min dan Max

ya

ya

tidak

tidak

Min_dan_Max

Mulai

for i = 0 to jmlh_Faktor-1

besar = data ke i0

kecil = data ke i0

for j=0 to jmlh_DataTraining

data ke ij gt besar

besar = data ke ij

data ke ij lt kecil

kecil = data ke ij

j

hsl_max ke i = besar

hsl_min ke i = kecil

i

hsl_max hsl_min

Berhenti 1

1

2

2

3

4

4

5

5

3

31

412 Proses perhitungan jumlah cluster

Pada proses perhitungan jumlah cluster memiliki masukkan proses Dmin dan Dmax

dari proses perhitungan sebelumnya Pada proses ini terdapat perhitungan nilai dari selisih setiap data Pada perhitungan jumlah cluster sesuai dengan Persamaan 214 Berikut merupakan langkah ndash langkah perhitungan jumlah cluster yang ditunjukkan pada Gambar 47

jumlah_Cluster

Mulai

for i = 0 to jmlh_Faktor-1

for j = 0 to (jmlh_DataTraining-1)

Berhenti

hsl_max hsl_min

selisih = 0

selisih = selisih + |data ke ij ndash data ke i (j+1)|

j

jmlh_Cluster ke i = |ℎ119904119897_119898119894119899 119896119890 119894minusℎ119904119897_119898119886119909 119896119890 119894|

119904119890119897119894119904119894ℎ

119895119898119897ℎ_119863119886119905119886119879119903119886119894119899119894119899119892minus1

i

jmlh_Cluster

Gambar 47 Diagram alir proses perhitungan jumlah cluster

32

413 Proses perhitungan pusat cluster

Pada proses perhitungan pusat cluster ini diperlukan beberapa variabel yang harus dideklarasikan terlebih dahulu yaitu nilai bobot fungsi objektif nilai iterasi awal nilai iterasi maksimum dan error terkecil Perhitungan subinterval ini menggunakan metode fuzzy C-means yang diawali dengan pencarian pusat cluster terlebih dahulu Berikut merupakan langkah ndash langkah perhitungan subinterval yang ditunjukkan pada Gambar 48 Gambar 49 Gambar 410 Gambar 411 Gambar 412

Gambar 48 Diagram alir proses perhitungan pusat cluster (bagian 1)

Perhitungan pusat cluster

Mulai

jmlh_Cluster

for i = 0 to jmlh_Faktor-1

Deklarasi bobot selisih_f_objektif

iter_maksimum error_min

Pembentukan Matriks partisi faktor A jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor A

for iter = iter to iter_maksimum

A

i == 0

Perhitungan pusat_cluster1 faktor A

B C D

tidak

ya

33

Gambar 49 Diagram alir proses perhitungan pusat cluster (bagian 2)

ya

tidak

tidak

ya

Perhitungan f_objektif faktor A

A B C D

Perhitungan selisih_f_objektif faktor A

Perbaikan matriks partisi faktor A

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster1 faktor A

Iter = iter_maksimum

iter

i == 1

Pembentukan Matriks partisi faktor B jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor B

for iter = iter to iter_maksimum

F A G E

34

tidak

tidak

ya

A E F G

Perhitungan pusat_cluster2 faktor B

Perhitungan f_objektif faktor B

Perhitungan selisih_f_objektif faktor B

Perbaikan matriks partisi faktor B

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster2 faktor B

Iter = iter_maksimum

iter

i == 2

Pembentukan Matriks partisi faktor C jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor C

I A H

Gambar 410 Diagram alir proses perhitungan pusat cluster (bagian 3)

ya

35

tidak

tidak

Gambar 411 Diagram alir proses perhitungan pusat cluster (bagian 4)

ya

A H I

for iter = iter to iter_maksimum

Perhitungan pusat_cluster3 faktor C

Perhitungan f_objektif faktor C

Perhitungan selisih_f_objektif faktor C

Perbaikan matriks partisi faktor C

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster3 faktor C

Iter = iter_maksimum

iter

i == 3

Pembentukan Matriks partisi faktor D jmlh_DataTraining x jmlh_cluster ke i

Normalisasi matriks faktor D

J A K

ya

36

tidak

ya

Gambar 412 Diagram alir proses perhitungan pusat cluster (bagian 5)

A K J

for iter = iter to iter_maksimum

Perhitungan pusat_cluster4 faktor D

Perhitungan f_objektif faktor D

Perhitungan selisih_f_objektif faktor D

Perbaikan matriks partisi faktor D

selisih_f_objektif lt error_min

Pengurutan ascending pusat_cluster4 faktor D

Iter = iter_maksimum

iter

i

pusat_cluster1pusat_cluster2 pusat_cluster3pusat_cluster4

Berhenti

37

tidak

ya

tidak

ya

Gambar 413 Diagram alir pembentukan subinterval dan fuzzy set (bagian 1)

414 Proses pembentukan subinterval dan Fuzzy set

Pada proses pembentukan fuzzy set atau himpunan fuzzy pada penelitian ini dapat dilakukan setelah perhitungan subinterval selesai dilakukan Nilai subniterval merupakan masukan utama pada pembentukkan fuzzy set Pembentukan fuzzy sesuai dengan Persamaan 215 Berikut merupakan langkah ndash langkah proses pembentukan fuzzy set yang ditunjukkan pada Gambar 413 dan Gambar 414

Pembentukan subinteval dan Fuzzy set

Mulai

pusat_cluster1pusat_cluster2 pusat_cluster3pusat_cluster4

for i = 0 to jmlh_Faktor-1

Menentukan batas_subintervalMinA dan

batas_subintervalMaxA

Menentukan batas_fuzzysetMinA dan batas_fuzzysetMaxA

i == 0

i == 1

Menentukan batas_subintervalMinB dan

batas_subintervalMaxB

Menentukan batas_fuzzysetMinB dan batas_fuzzysetMaxB

A C B

38

tidak

tidak

ya

ya

415 Proses Fuzzifikasi

Pada proses fuzzifikasi ini pembentukanya sesuai derajat keanggotaan pada setiap data Pada proses ini derajat keanggotaan dihitung berdassarkan fungsi keanggotaan kurva bahu Hasil dari proses ini merupakan data yang sudah difuzzifikasikan menjadi data fuzzy Berikut langkah ndash langkah dari proses fuzzifikasi ditunjukkan pada Gambar 415 dan Gambar 416

i == 2

A B C

Menentukan batas_subintervalMinC dan batas_subintervalMaxC

Menentukan batas_fuzzysetMinC dan batas_fuzzysetMaxC

i == 3

Menentukan batas_subintervalMinD dan batas_subintervalMaxD

Menentukan batas_fuzzysetMinD dan batas_fuzzysetMaxD

i

batas_fuzzysetMinA batas_fuzzysetMaxA batas_fuzzysetMinB batas_fuzzysetMaxB batas_fuzzysetMinC batas_fuzzysetMaxC batas_fuzzysetMinD batas_fuzzysetMaxD

Berhenti

Gambar 414 Diagram alir pembentukan subinterval dan fuzzy set (bagian 2)

39

tidak

ya

ya

tidak

Fuzzifikasi

Mulai

for i = 0 to jmlh_Faktor-1

Menentukan hasil_fuzzifikasiA dari faktor A

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinA batas_fuzzysetMaxA

Gambar 415 Diagram alir proses fuzzifikasi (bagian 1)

batas_fuzzysetMinA batas_fuzzysetMaxA batas_fuzzysetMinB batas_fuzzysetMaxB batas_fuzzysetMinC batas_fuzzysetMaxC batas_fuzzysetMinD batas_fuzzysetMaxD

DD

i == 0

i == 1

Menentukan hasil_fuzzifikasiB

dari faktor B

Menghitung derajat keanggotaan

berdasarkan batas_fuzzysetMinB

batas_fuzzysetMaxB

C A B

40

tidak

ya

ya

tidak

ya

i == 2

A B C

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinC batas_fuzzysetMaxC

Menentukan hasil_fuzzifikasiC dari faktor C

i == 3

Menghitung derajat keanggotaan berdasarkan batas_fuzzysetMinD

batas_fuzzysetMaxD

Menentukan hasil_fuzzifikasiD dari faktor D

i

hasil_fuzzifikasiA hasil_fuzzifikasiB hasil_fuzzifikasiC hasil_fuzzifikasiD

Berhenti

Gambar 416 Diagram alir proses fuzzifikasi (bagian 2)

41

tidak

ya

416 Proses pembentukan Fuzzy Logical Relationship

Setelah data melalui proses fuzzifikasi dan sudah menjadi data fuzzy maka dapat dilakukan pembentukan Fuzzy Logical Relationship (FLR) Pembentukan FLR dilakukan sesuai dengan Persamaan 216Berikut adalah langkah ndash langkah proses pembentukan Fuzzy Logical Relationship (FLR) yang ditunjukkan pada Gambar 417 Gambar 418 dan Gambar 419

Gambar 417 Diagram alir proses Pembentukan FLR

(bagian 1)

Pembentukan Fuzzy Logical Relationship

Mulai

hasil_fuzzifikasiAhasil_fuzzifikasiB hasil_fuzzifikasiChasil_fuzzifikasiD order

for i = 0 to jmlh_dataTraining

max_inc = order jmlh_dataTraining = dataTraining - order

for j = i to max_inc

for k = 0 to jmlh_Faktor-1

j == 0

FLR_kiri_training ke ijk = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D)

ke j

E A B C D

42

ya

tidak

ya

tidak

A B C E D

FLR_kiri_training ke i(j-i)k = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D) ke j

j = 0

k

j

FLR_kanan_training ke i = hasil_fuzzifikasiA ke (i+order)

Max_inc lt (jmlh_DataTraining-1)

i

tmp_JmlhDatatraining = tmp_JmlhDatatraining +1

max_inc = max_inc + 1 tmp_JmlhDatatraining = i

Gambar 418 Diagram alir proses Pembentukan FLR (bagian 2)

for j = 0 to tmp_JmlhDatatraining

for j = tmp_JmlhDatatraining to max_inc

for k = 0 to jmlh_Faktor-1

I H G F

43

tidak

ya

417 Proses Defuzzifikasi

Proses defuzzifikasi merupakan proses akhir dimana keluaran dari proses ini merupakan nilai hasil peramalan Data yang diperlukan pada proses defuzzifikasi adalah hasil dari proses pembentukan Fuzzy Logical Relationship (FLR) nilai threshold yang harus dideklarasikan sebelumnya jumlah data training dan jumlah data testing Dalam proses ini dilakukan perhitungan selisih pada FLR antara data testing dan data training FLR yang dihitung nilai selisihnya adalah FLR pangkat bawah yang terdapat pada ruas kiri Setelah dilakukan perhitungan selisih dan total jumlah selisih lebih kecil dari nilai threshold maka pada setiap FLR yang

I H G F

FLR_kiri_testing ke i(j-tmp_jmlhDatatraining) k = hasil_fuzzifikasi(k=0 maka Ak=1 maka Bk=2 maka Ck=3 maka D) ke j

k

j

FLR_kanan_testing ke i = hasil_fuzzifikasiA ke (i+order)

i

Max_inc lt (jmlh_DataTraining-1)

max_inc = max_inc + 1 tmp_JmlhDatatraining++

FLR_kiri_training FLR_kanan_training FLR_kiri_testing FLR_kanan_testing

Mulai

Gambar 419 Diagram alir proses Pembentukan FLR (bagian 3)

44

ya

tidak

sesuai dengan kondisi tersebut dapat dikatakan cocok atau dapat dilakukan ke tahap perhitungan selanjutnya Setelah mendapatkan FLR yang cocok maka dilakukan pengelompokkan berdasarkan FLR ruas kanan Pengelompokkan ini dihitung jumlah frekuensi yang sama sesuai dengan fuzzy set di ruas kanan Selanjutnya untuk memperoleh hasil peramalan dilakukan proses perhitungan sesuai dengan Persamaan 218 Berikut adalah langkah ndash langkah proses defuzzifikasi yang ditunjukkan pada Gambar 420 dan Gambar 421

Gambar 420 Diagram alir proses defuzzifikasi (bagian 1)

Defuzzifikasi

Mulai

FLR_kiri FLR_kanan order dataTraining dataTesting konstanta

threshold = (jmlh_Faktor x order)+konstanta

for i = 0 to dataTesting

for j = 0 to (dataTraining-i)

Perhitungan hitung_selisih antara FLR_kiri data training dan data testing

hitung_selisih lt threshold

match ke ij = hitung_selisih

j

i

A

45

Gambar 421 Diagram alir proses defuzzifikasi (bagian 2)

A

Menghitung jumlah total FLR_kiri yang cocok untuk setiap data testing

Mencocokan FLR_kiri yang cocok dengan FLR_kanan untuk setiap data testing

for i = 0 to dataTesting

Menghitung frekuensi setiap FLR_kanan yang cocok untuk setap data testing

for j = 0 to jumlah total FLR kiri yang cocok

peramalan = peramalan + Frekuensi setiap FLR_kanan yang cocok x pusat_cluster1

sesuai dengan value FLR_kanannya

j

hasil_peramlan ke i = peramalan jumlah total FLR kiri yang cocok

i

Hasil_permalan

Berhenti

46

42 Perhitungan Manual

Dalam perhitungan manual ini data sampel yang digunakan merupakan data time series dasarian ke-2 pada periode April 2014 sampai dengan dasarian ke-2 Juli 2014 data sampel ditunjukkan pada Tabel 41

Tabel 41 Data Sampel Perhitungan Manual

No Dasarian Curah Hujan

(A)

Suhu (B) Kelembaban (C)

Kecepatan Angin(D)

1 Dasarian 2 (April 2014) 95 2615 8248 629

2 Dasarian 3 (April 2014) 90 2612 8247 628

3 Dasarian 1 (Mei 2014) 94 2607 8247 627

4 Dasarian 2 (Mei 2014) 83 2625 8232 623

5 Dasarian 3 (Mei 2014) 85 2628 8235 623

6 Dasarian 1 (Juni 2014) 92 2609 8241 626

7 Dasarian 2 (Juni 2014) 86 2627 8235 624

8 Dasarian 3 (Juni 2014) 89 2621 8238 624

9 Dasarian 1 (Juli 2014) 93 2607 8242 626

10 Dasarian 2 (Juli 2014) 86 2626 8237 623

Sumber BMKG Kelas III Karangkates Malang

421 Perhitungan Universe of Discourse (U)

Sebelum melakukan perhitungan U maka harus dicari terlebih dahulu nilai 119863119898119894119899 119863119898119886119909 dan standar deviasi 119863119898119894119899 adalah nilai minimum atau nilai terkecil dari data sampel yang ada sedangkan 119863119898119886119909 adalah nilai maksimum atau nilai paling besar dari data sampel yang ada Untuk mencari nilai standar deviasi harus menghitung nilai mean (rata ndash rata) terlebih dahulu sesuai dengan Persamaan 211 Mean dari data curah hujan (A) dihitung dengan cara sebagai berikut

Mean = (data ke-1 + data ke-2 + data ke-3 + + data ke-10) 10

= (95 + 90 + 94 + 83 + 85 + 92 + 86 + 89 + 93 + 86) 10

= 893 10

= 893

Selanjutnya setelah diperoleh nilai mean dilanjutkan melakukan perhitungan standar deviasi sesuai dengan Persamaan 212 Standar deviasi adalah akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel Untuk menghitung standar deviasi agar lebih mudah kita terlebih dahulu melakukan perhitungan nilai kuadrat dari selisih data ke-i dan mean yang ditunjukkan pada Tabel 42

47

Tabel 42 Hasil kuadrat dari selisih data ke-i dan mean

i Data ke-i Data ke-i mean (Data ke-i - mean)sup2

1 95 57 32490

2 90 07 0490

3 94 47 22090

4 83 -63 39690

5 85 -43 18490

6 92 27 7290

7 86 -33 10890

8 89 -03 0090

9 93 37 13690

10 86 -33 10890

Jumlah 1561

Setelah mendapatkan hasil nilai kuadrat dari selisih data ke-i dan mean sesuai dengan Tabel 42 maka dapat dilanjutkan melakukan perhitungan standar deviasi dengan cara sebagai berikut

Standar_deviasi = radic1

10minus1sum (119889119886119905119886 119896119890 minus 119894 minus 119898119890119886119899)10

119894=1

2

= radic1

9 times 1561

= 4165

Untuk perhitungan standar deviasi juga dilakukan pada faktor lainnya yaitu suhu (B) kelembaban (C) dan kecepatan angin (D) Hasil perhitungan 119863119898119894119899 119863119898119886119909 dan standar deviasi ditunjukkan pada Tabel 43

Tabel 43 Nilai minimum nilai maksimum dan standar deviasi

Data D min D max Standar Deviasi

A 83 95 4165

B 2607 2628 0086

C 8232 8248 0057

D 623 629 0022

Berdasarkan hasil yang ditunjukkan Tabel 43 selanjutnya dapat dilakukan perhitungan nilai U sesuai dengan Persamaan 213 Berikut adalah perhitungan U pada data A

U = [119863119898119894119899 minus 120590 119863119898119886119909 + 120590]

= [(83 ndash 4165) (95 ndash 4165)]

= [78835 99165]

48

Untuk perhitungan U juga dilakukan pada semua faktor yaitu data B C dan D Sehingga diperoleh nilai U yang ditunjukkan pada Tabel 44

Tabel 44 Hasil Universe of Discourse

Data U

Batas Bawah Batas Atas

A 78835 99165

B 25984 26366

C 82263 82537

D 6208 6312

422 Perhitungan jumlah cluster (k)

Pada perhitungan jumlah cluster langkah pertamanya adalah mencari nilai absolut dari selisih data hari ke-t dengan hari sebelumnya Perhitungan selisih dilakukan hingga data ke-10 Perhitungan nilai selisih dilakukan pada semua data A B C dan D Selanjutnya masing ndash masing nilai selisih dijumlah sehingga hasilnya seperti ditunjukkan pada Tabel 45

Tabel 45 Nilai absolut selisih data hari ke-t dengan hari sebelumnya

No Tanggal A B C D

1 Dasarian 3 (April 2014) 5 003 001 001

2 Dasarian 1 (Mei 2014) 4 005 0 001

3 Dasarian 2 (Mei 2014) 11 018 015 004

4 Dasarian 3 (Mei 2014) 2 003 003 0

5 Dasarian 1 (Juni 2014) 7 019 006 003

6 Dasarian 2 (Juni 2014) 6 018 006 002

7 Dasarian 3 (Juni 2014) 3 006 003 0

8 Dasarian 1 (Juli 2014) 4 014 004 002

9 Dasarian 2 (Juli 2014) 7 019 005 003

Jumlah 49 105 043 016

Setelah mendapatkan nilai absolut selisih data hari ke-t dengan hari sebelumnya dapat dilanjutkan dengan menghitung jumlah cluster sesuai dengan Persamaan 214 Perhitungan jumlah cluster pada data A (k1) berdasarkan pada Tabel 43 diketahui nilai 119863119898119894119899 adalah 171 nilai 119863119898119886119909 adalah 2048 maka jumlah cluster data A dapat ditunjukkan sebagai berikut

49

1198961 = ||119863119898119894119899 minus 119863119898119886119909|sum |119883(119905) minus 119883(119905 minus 1)|119899

119905=1

119899 minus 1|

= |83 minus 9549

10minus1| = 2204

Apabila hasil perhitungan jumlah cluster merupakan bilangan pecahan maka hasilnya harus dibulatkan Sehingga jumlah cluster pada data A adalah 2 Perhitungan jumlah cluster juga dilakukan pada data B (k2) C (k3) dan D (k4) Berikut merupakan hasil semua perhitungan jumlah cluster yang ditunjukkan pada Tabel 46

Tabel 46 Hasil jumlah cluster data

No Cluster Jumlah Cluster

1 k1 2

2 k2 2

3 k3 3

4 k4 3

423 Perhitungan pusat cluster dan subinterval

Pada pembentukan subinterval berdasarkan pada Tabel 46 yang menunjukkan jumlah subinterval yang selanjutnya digunakan untuk menentukan pusat cluster menggunakan algoritma fuzzy C-means (FCM)

4231 Penentuan pusat cluster

a Penentuan nilai variabel

Pada penentuan subinterval diawali dengan klasterisasi menggunakan algoritma FCM pada awal proses ditentukkan beberapa variabel sebagai berikut

Banyak cluster = k1 = 2

Bobot (w) = 2

Fungsi objektif awal = 0

Iterasi awal = 1

Iterasi maksimum = 100

Error terkecil = 001 b Pembentukan matriks partisi awal (micro)

Data pada pembentukan matriks partisi awal merupakan nilai random diantara nilai 0 sampai 1 Dimensi pada matriks partisi awal dibentuk dengan dimensi jumlah data (i) x jumlah cluster (k) Dalam hal ini telah diketahui jumlah data adalah 10 dan k1 adalah 2 maka partisi dimensi matriks awal adalah 10 x 2 Hasil pembentukan matriks partisi awal ditunjukkan pada Tabel 47 dimana Cluster disimbolkan dengan C

50

Tabel 47 Matriks partisi awal pada cluster data A

c Normalisasi matriks partisi awal

Langkah pertama normalisasi matriks partisi awal adalah dengan menghitung jumlah bilangan penyusun matriks pada setiap kolom yang dapat dilihat pada Tabel 47 dijumlah berdasarkan dengan Persamaan 24 Diketahui jumlah kolom matriks sebanyak 2 sehingga diperoleh Q1 untuk penjumlahan kolom c1 Q2 untuk penjumlahan kolom c2

Q1 = 0355 + 0174 + 02 + 0387 + 0598 + 0819 + 0702 + 0719 + 0349 +

0852

= 5154

Q2 = 0170 + 0815 + 0190 + 0456 + 0526 + 0170 + 0232 + 0572 + 0102 +

0322

= 3554

Langkah selanjutnya dilakukan proses normalisasi menggunakan Persamaan 25 Dimana setiap bilangan penyusun matriks awal dibagi dengan nilai Q sesuai dengan kolomnya masing ndash masing Bilangan penyusun matriks disimbolkan dengan microik dimana i menunjukkan baris dan k menunjukkan kolom posisi bilangan tersebut pada matriks

i micro

c1 c2

1 0355 0170

2 0174 0815

3 0200 0190

4 0387 0456

5 0598 0526

6 0819 0170

7 0702 0232

8 0719 0572

9 0349 0102

10 0852 0322

51

μ11 = bilangan matriks partisi pada baris 1 kolom 1

Q1

= 0355

5154

= 0069

μ12 = bilangan matriks partisi pada baris 1 kolom 2

Q2

= 0170

3554

= 0048

Setelah melakukan perhitungan seperti diatas untuk semua bilangan matriks sehingga matriks partisi sudah ternormalisasi seperti yang ditunjukkan pada Tabel 48

Tabel 48 Derajat keanggotaan matriks partisi data A

i micro

C1 C2

1 0069 0048

2 0034 0229

3 0039 0054

4 0075 0128

5 0116 0148

6 0159 0048

7 0136 0065

8 0140 0161

9 0068 0029

10 0165 0090

d Perhitungan pusat cluster (V)

Pada perhitungan pusat cluster (V) berdasarkan Persamaan 26 Dimana setiap bilangan penyusun matriks partisi (micro) dipangkatkan dengan w dimana variabel w yang sudah dideklarisakan terlebih dahulu dengan nilai sama dengan 2 dan dikalikan dengan bilangan penyusun matriks X yang merupakan matriks berisi data yang ada pada Tabel 41 Selanjutnya hasil perkalian tersebut dijumlah dan dibagi dengan jumlah hasil kuadrat dari bilangan penyusun matriks partisi Hasil perhitungan ditunjukkan pada Tabel 49

52

Tabel 49 Perhitungan pusat cluster data A

Berdasarkan jumlah cluster dari data A yaitu 2 maka terdapat 2 pusat cluster (V) yaitu V1 V2 Perhitungan nilai V adalah sebagai berikut

V1 = sum ((μic1)2 times Xi)10

i=1

sum (μic1)210i=1

= 10730216

0121620

= 8822718207

V2 = sum ((μic2)2 times Xi)10

i=1

sum (μic2)210i=1

= 12111287

0137572

= 8803592572

Jadi berdasarkan perhitungan diatas pusat cluster untuk data A pada iterasi ke-1 adalah 8822718207 8803592572

e Perhitungan fungsi objektif (P)

Pada perhitungan P menggunakan Persamaan 27 dimana setiap baris pada data matriks X dikurangi pusat cluster (V) selanjutnya dikuadratkan Hasilnya

i X microsup2 microsup2 x X

C1 C2 C1 C2

1 95 0004731 0002292 0449450 0217718

2 90 0001137 0052633 0102304 4736927

3 94 0001512 0002864 0142117 0269234

4 83 0005630 0016427 0467258 1363472

5 85 0013448 0021907 1143107 1862112

6 92 0025233 0002291 2321422 0210787

7 86 0018542 0004243 1594602 0364916

8 89 0019487 0025916 1734356 2306543

9 93 0004590 0000816 0426841 0075870

10 86 0027311 0008183 2348759 0703706

Jumlah 0121620 0137572 10730216 12111287

53

kemudian dikalikan dengan micro yang sudah dipangkatkan dengan bobot (w) seperti yang telah ditunjukkan pada Tabel 49 Selanjutnya hasil tersebut dijumlah per kolom seperti yang ditunjukkan pada Tabel 410

Tabel 410 Fungsi objektif data A

i X (X-V)sup2 (X-V)sup2 x microsup2

C1 C2 C1 C2

1 95 458711 484983 02170 01111

2 90 31429 38576 00036 02030

3 94 333254 355702 00504 01019

4 83 273234 253605 01538 04166

5 85 104147 92168 01401 02019

6 92 142342 157139 03592 00360

7 86 49603 41450 00920 00176

8 89 05972 09294 00116 00241

9 93 227798 246420 01046 00201

10 86 49603 41450 01355 00339

Jumlah 1267661573 1166282827

Fungsi Objektif (P) 24339444

Perhitungan nilai fungsi objektif dilakukan seperti Persamaan 27 Nilai fungsi objektif diperoleh dengan cara sebagai berikut P = sum sum ([(Xi minus Vc)2](μik)2)3

c=110i=1

P = 1267661573 + 1166282827

= 24339444

f Perbaikan matriks partisi

Pada langkah ini perbaikan matriks partisi dilakukan berdasarkan Persamaan 28 Data matriks X untuk setiap barisnya dikurangi pusat cluster lalu dikuadratkan seperti yang ditunjukkan pada Tabel 410 Selanjutnya hasilnya dipangkatkan dengan -11 karena w-1 = 1 Hasil pangkat -1 terhadap (X-V)2 ditunjukkan pada Tabel 411

54

Tabel 411 Perbaikan matriks partisi

i ((X-V)sup2)^-1

Jumlah C1 C2

1 0022 0021 0042

2 0318 0259 0577

3 0030 0028 0058

4 0037 0039 0076

5 0096 0108 0205

6 0070 0064 0134

7 0202 0241 0443

8 1674 1076 2750

9 0044 0041 0084

10 0202 0241 0443

Berdasarkan tabel diatas bilangan penyusun matriks partisi yang baru atau yang telah diperbaiki diperoleh dari hasil pembagian data terhadap jumlah per barisnya

12058311 = 0022

0042= 0514

12058312 = 0021

0042= 0486

Pada perhitungan nilai matriks yang sudah diperbaiki dilakukan pada semua elemen matriks sehingga hasil perbaikan matriks seperti yang ditunjukkan pada Tabel 412

Tabel 412 Hasil perbaikan matriks partisi

Setelah mendapatkan hasil perbaikan matriks partisi kita lakukan pengecekan selama iterasi kurang dari iterasi maksimum (maxIter) atau selisih antara fungsi objektif iterasi saat ini dengan iterasi sebelumnya bernilai lebih dari nilai error terkecil yaitu 001 maka proses berlanjut dengan kembali melakukan perhitungan pusat cluster hingga perbaikan matriks partisi Hasil

i micro

C1 C2

1 0514 0486

2 0551 0449

3 0516 0484

4 0481 0519

5 0469 0531

6 0525 0475

7 0455 0545

8 0609 0391

9 0520 0480

10 0455 0545

55

perhitungan pusat cluster dari data A B C dan D setelah dilakukan proses tiga kali iterasi dan diurutkan mulai dari yang terkecil sampai yang terbesar ditunjukkan pada Tabel 413

Tabel 413 Hasil pusat cluster

4232 Perhitungan batas subinterval

Perhitungan batas subinterval dilakukan dengan mencari nilai tengah (Median) dari setiap pusat cluster Berikut merupakan contoh perhitungan batas subinterval pada data A

a Interval 1 Batas bawah = 78835 (Batas bawah Universe of Discourse pada data A) Batas atas = 89347 (Median 88303 dan 90390)

b Interval 2 Batas bawah = 89347 (Median 88303 dan 90390) Batas atas = 99165 (Batas atas Universe of Discourse pada data A)

Seperti perhitungan diatas juga dilakukan pada data suhu (B) kelembaban (C) dan kecepatan angin (D) Dalam hal ini jumlah subinterval setiap atribut berbeda ndash beda sesuai dengan jumlah cluster yang sebelumnya ditunjukkan pada Tabel 46 Berikut merupakan batas subinterval masing ndash masing atribut yang ditunjukkan pada Tabel 414

Tabel 414 Batas subinterval masing ndash masing atribut data

Interval (micro)

A B C D

1

78835 25984 751708 6208

sd sd sd sd

89347 26181 823863 6249

2

89347 26181 823863 6249

sd sd sd sd

99165 26366 82411 6256

3

82411 6256

- - sd sd

82537 6312

Cluster A B C D

1 88303 26165 82391 62497

2 90390 26197 82408 62499

3 - - 82415 62613

56

424 Pembentukan Fuzzy Set

Pembentukan fuzzy set berdasarkan pada derajat keanggotaan dari subinterval (micro) fuzzy set dari data A ditentukan dengan derajat keanggotaan sebagai berikut

A1 = 1micro1 + 05micro2

A2 = 05micro1 + 1micro2

Pada derajat keanggotaan data A diatas simbol ldquo+rdquo menunjukkan operator himpunan gabungan Berdasarkan subinterval pada Tabel 414 nilai batas fuzzy set dari data atribut A dapat ditentukan dengan cara sebagai berikut

A1 = 78835 sd 94256 (Batas bawah interval 1 sd titik tengah interval 2)

A2 = 84091 sd 99165 (Titik tengah interval 1 sd batas atas interval 2)

Setelah diketahui batas masing ndash masing fuzzy set grafik fungsi keanggotaan fuzzy set data A yang direpresentasikan dalam kurva bahu yang ditunjukkan pada Gambar 422 Dengan cara yang sama juga ditentukan pula fuzzy set dari data attribut B C dan D

425 Fuzzifikasi

Pada langkah fuzzifikasi dilakukan dengan mencari derajat keanggotaan yang memiliki nilai paling besar (maksimum) dari masing ndash masing data terhadap fuzzy set yang sudah terbentuk Derajat keanggotaan dicari berdasarkan fungsi keanggotaan kurva bentuk bahu Berikut ini adalah perhitungan derajat keanggotaan dari data attribut A

Data aktual curah hujan (A) pada April 2014 dasarian ke-3 = 90

1198601 = 942558 ndash 90

942558minus840911= 041868427

Gambar 422 Grafik fuzzy set data A

57

1198602 = 90minus840911

942558minus840911= 058131636

Derajat keanggotaan paling besar berada pada A2 sehingga data attribut A pada April 2014 dasarian ke-3 difuzzifikasikan ke fuzzy set A2 Perhitungan yang sama dilakukan pada seluruh data attribut A sehingga didapat derajat keanggotaan dan hasil fuzzifikasi dari data A ditunjukkan pada Tabel 415

Tabel 415 Hasil derajat keanggotaan dan fuzzy set data A

i Data A1 A2 Fuzzyfikasi

1 95 0 1 A2

2 90 041868363 058131636 A2

3 94 002516357 097483642 A2

4 83 1 0 A1

5 85 09105837 008941629 A1

6 92 02219236 077807639 A2

7 86 08122036 018779631 A1

8 89 05170636 048293635 A1

9 93 01235436 087645641 A2

10 86 08122037 018779631 A1

Perhitungan yang sama juga dilakukan pada semua attribut yaitu attribut B C dan D Sehingga dapat diperoleh hasil fuzzifikasi sesuai derajat keanggotaan dengan nilai paling besar Berikut adalah hasil fuzzifikasi untuk semua attribut yang dapat dilihat pada Tabel 416

Tabel 416 Hasil fuzzifikasi semua data attribut

No Tanggal A B C D

1 Dasarian 2 (April 2014) A2 B1 C3 D3

2 Dasarian 3 (April 2014) A2 B1 C3 D3

3 Dasarian 1 (Mei 2014) A2 B1 C3 D3

4 Dasarian 2 (Mei 2014) A1 B2 C1 D1

5 Dasarian 3 (Mei 2014) A1 B2 C1 D1

6 Dasarian 1 (Juni 2014) A2 B1 C2 D2

7 Dasarian 2 (Juni 2014) A1 B2 C1 D1

8 Dasarian 3 (Juni 2014) A1 B2 C2 D1

9 Dasarian 1 (Juli 2014) A2 B1 C2 D2

10 Dasarian 2 (Juli 2014) A1 B2 C2 D1

58

426 Pembentukan Fuzzy Logical Relationship (FLR)

Pada tahap pembentukan FLR dengan berdasarkan nilai order yang sudah ditentukan Pada manualisasi ini berdasarkan dari Tabel 416 di misalkan nilai order kita deklarasikan dengan nilai 3 sehingga dapat menghasilkan 7 FLR Hasil pembentukan FLR Data training dapat ditunjukkan pada Tabel 417 Hasil pembentukan FLR Data testing dapat ditunjukkan pada Tabel 418

Tabel 417 Hasil pembentukan FLR data training

No Fuzzy Logical Relationship (FLR)

1 (A(12)B(11)C(13)D(13)) (A(22)B(21)C(23)D(23)) (A(32)B(31)C(33)D(33)) rarr A1

2 (A(12)B(11)C(13)D(13)) (A(22)B(21)C(23)D(23)) (A(31)B(32)C(31)D(31)) rarr A1

3 (A(12)B(11)C(13)D(13)) (A(21)B(22)C(21)D(21)) (A(31)B(32)C(31)D(31)) rarr A2

4 (A(11)B(12)C(11)D(11)) (A(21)B(22)C(21)D(21)) (A(32)B(31)C(32)D(32)) rarr A1

5 (A(11)B(12)C(11)D(11)) (A(22)B(21)C(22)D(22)) (A(31)B(32)C(31)D(31)) rarr A1

Tabel 418 Hasil pembentukan FLR data testing

No Fuzzy Logical Relationship (FLR)

1 (A(12)B(11)C(12)D(12)) (A(21)B(22)C(21)D(21)) (A(31)B(32)C(32)D(31)) rarr A2

2 (A(11)B(12)C(11)D(11)) (A(21)B(22)C(22)D(21)) (A(32)B(31)C(32)D(32)) rarr A1

427 Defuzzifikasi

Pada tahap ini misalkan jumlah data yang digunakan untuk data uji atau data testing adalah dua yaitu yang pertama data periode ke-9 dan yang kedua data periode ke-10 Sehingga yang digunakan data latih atau data training adalah data pada periode ke-1 sampai data periode ke-8 Pada data testing yang pertama melibatkan FLR ke-1 sampai FLR ke-5 untuk disesuaikan dengan FLR ke-6 yang berdasarkan pada Tabel 417 Pada data testing yang kedua melibatkan FLR ke-1 sampai FLR ke-6 untuk disesuaikan dengan FLR ke-7 yang berdasarkan pada Tabel 417 Selanjutnya setiap ruas kiri FLR data testing dibandingkan dengan FLR data training yaitu pada bilang pangkat bawah fuzzy set dibandingkan sesuai dengan posisinya dan dihitung selisihnya Hasil dari perhitungan selisih tersebut dijumlahkan dan apabila jumlah selisihnya kurang dari threshold maka FLR tersebut dikatakan cocok Threshold merupakan dari hasil mengalikan jumlah order dengan jumlah faktor kemudian dijumlahkan dengan dengan sebuah konstanta Contoh perhitungan selisih nilai ruas kiri FLR pada data testing pertama adalah sebagai berikut

59

Data testing = (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(32) B(31) C(33) D(33)) rarr A1

Data training =

1 (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(31) B(32) C(31) D(31)) rarr A1

2 (A(12) B(11) C(13) D(13)) (A(22) B(21) C(23) D(23)) (A(31) B(32) C(31) D(31)) rarr A1

3 (A(12) B(11) C(13) D(13)) (A(21) B(22) C(21) D(21)) (A(31) B(32) C(31) D(31)) rarr A2

4 (A(11) B(12) C(11) D(11)) (A(21) B(22) C(21) D(21)) (A(32) B(31) C(32) D(32)) rarr A1

5 (A(11) B(12) C(11) D(11)) (A(22) B(21) C(22) D(22)) (A(31) B(32) C(31) D(31)) rarr A1

Selisih data ke- 1 = |2-2|+|1-1|+|3-2|+|3-2|+|2-1|+|1-2|+|3-1|+|3-1|+|2-1|+|1-2|+|3-2|+|3-1| = 13

Selisih data ke- 2 = |2-2|+|1-1|+|3-2|+|3-2|+|2-1|+|1-2|+|3-1|+|3-1|+|1-1|+|2-2|+|1-2|+|1-1| = 9

Selisih data ke- 3 = |2-2|+|1-1|+|3-2|+|3-2|+|1-1|+|2-2|+|1-1|+|1-1|+|1-1|+|2-2|+|1-2|+|1-1| = 3

Selisih data ke- 4 = |1-2|+|2-1|+|1-2|+|1-2|+|1-1|+|2-2|+|1-1|+|1-1|+|2-1|+|1-2|+|2-2|+|2-1| = 7

Selisih data ke- 5 = |1-2|+|2-1|+|1-2|+|1-2|+|2-1|+|1-2|+|2-1|+|2-1|+|1-1|+|2-2|+|1-2|+|1-1| = 9

Pada perhitungan selisih nilai ruas kiri FLR pada data testing juga dilakukan pada semua data testing yang sudah dideklarasikan sebelumnya Dalam hal ini agar dapat menemukan FLR yang cocok dengan data testing Tahap selanjutnya adalah proses defuzzifikasi menggunakan threshold yang dimisalkan 18 sehingga FLR yang memiliki kecocokan dengan data testing pertama adalah semua FLR dari ke-1 sampai ke-5 karena memiliki hasil selisih kurang dari 18 Semua FLR yang cocok ditampung dikelompokkan berdasarkan FLR pada ruas kanan yang sama kemudian dhitung frekuensinya Berikut adalah frekuensi dan pusat cluster dari ruas kanan FLR yang cocok dengan data testing pertama dan kedua ditunjukkan pada Tabel 419

Tabel 419 Frekuensi FLR yang cocok dengan data testing

Data testing 1 Data testing 2

Ruas kanan A1 A2 A1 A2

Pusat Cluster 88303 90390 88303 90390

Frekuensi 4 1 4 2

Berdasarkan pada Tabel 419 dilakukan defuzzifikasi sesuai dengan Persamaan 218 sebagai berikut

119863119886119905119886 119905119890119904119905119894119899119892 1 = (88303times4)+(90390times1)

5= 887204

60

119863119886119905119886 119905119890119904119905119894119899119892 2 = (88303times4)+(90390times2)

6= 889987

Jadi berdasarkan perhitungan diatas diperoleh hasil peramalan curah hujan pada pada April 2014 dasarian ke-3 adalah 1384601636 sedangkan pada tanggal 10012016 adalah 2769203272 Perbandingan data curah hujan aktual dan hasil peramalan dengan metode High Order Fuzzy Time Series Multi Factors dapat dilihat pada Tabel 420

Tabel 420 Perbandingan data aktual dan hasil peramalan

No Data Aktual Hasil Peramalan

1 93 887204

2 86 889987

Dari hasil peramalan yang ditunjukkan pada Tabel 420 dapat dilakukan perhitungan kesalahan peramalan menggunakan metode Mean Square Error (MSE) seperti Persamaan 219

119872119878119864 = ((93minus887206)2+(86minus889989)2)

2

= 136536

43 Perancangan antarmuka

Perancangan antarmuka merupakan perancangan dari tampilan antarmuka atau interface yang nantinya akan diterapkan pada tahapan implementasi Pada perancangan antarmuka ini terdapat lima halaman utama dan juga terdapat dalam menu berupa button yaitu halaman input halaman tampil data halaman proses halaman hasil dan halaman perhitungan error

431 Halaman input

Pada halaman input terdapat inputan data dengan nama button Browse Data pada inputan data ini pengguna diharuskan memasukkan inputan file data dalam bentuk ekstensi xls serta direktori lokasi file yang di inputkan akan ditampilkan pada textfield dan juga terdapat label yang menampilkan jumlah banyaknya data yang terdapat pada file yang telah di inputkan Selanjutnya juga terdata inputan textfield data training data testing order dan nilai konstanta Pada halaman input ini juga terdapat button fuzzification yang berfungsi untuk melakukan proses clustering fuzzifikasi dan FLR Selanjutnya pada button forecasting berfungsi untuk melakukan peramalan atau defuzzifikasi dari hasil proses fuzzifikasi serta menghitung nilai error dari hasil peramalan Berikut

61

merupakan rancangan tampilan antarmuka dari halaman input yang ditunjukkan pada Gambar 423

432 Halaman tampil data

Pada halaman tampil data terdapat tabel yang menampilkan isi data dari xls yang sudah dimasukkan terlebih dahulu pada halaman input Tabel tampil data akan menampilkan tanggal curah hujan kelembaban suhu dan kecepatan angin Berikut merupakan tampilan rancangan halaman tampil data yang ditunjukkan pada Gambar 424

Gambar 423 Rancangan antarmuka halaman input

Gambar 424 Rancangan antarmuka halaman tampil data

62

433 Halaman proses

Pada halaman proses akan menampilkan hasil clustering fuzzifikasi dan fuzzy logical relationship Pada tampilan halaman clustering akan menampilkan Universe of Discourse curah hujan suhu kelembaban dan kecepatan angin Selanjutnya tampilan dibawahnya akan menampilkan jumlah cluster dari setiap faktor yaitu jumlah cluster curah hujan suhu kelembaban dan kecepatan angin Berikut merupakan tampilan perancangan halaman proses clustering yang ditunjukkan Gambar 425

Selanjutnya pada tampilan proses fuzzifikasi akan menampilkan tabel hasil fuzzifikasi dari curah hujan suhu kelembaban dan kecepatan angin Berikut adalah tampilan rancangan proses fuzzifikasi yang ditunjukkan pada Gambar 426

Gambar 425 Rancangan antarmuka halaman proses clustering

Gambar 426 Rancangan antarmuka proses fuzzifikasi

63

Pada tampilan proses fuzzy logical relationship (FLR) akan menampilkan textarea berisi hasil proses FLR dari curah hujan suhu kelembaban dan kecepatan angin Berikut adalah tampilan rancangan proses fuzzy logical relationship yang ditunjukkan pada Gambar 427

434 Halaman hasil

Pada halaman hasil peramalan akan menampilkan tabel yang berisi hasil peramalan curah hujan dan data curah hujan yang sebenarnya Serta terdapat text link yang akan menampilkan grafik perbandingan data hasil peramalan dan data yang sebenarnya Berikut adalah tampilan rancangan halaman hasil yang ditunjukkan pada Gambar 428

Gambar 427 Rancangan antarmuka proses fuzzy logical relationship

Gambar 428 Rancangan antarmuka halaman hasil peramalan

64

435 Halaman perhitungan error

Pada halaman perhitungan error akan menampilkan nilai dari hasil perhitungan Mean Square Error (MSE) pada textfield Berikut adalah tampilan rancangan halaman perhitungan error yang ditunjukkan pada Gambar 429

44 Perancangan pengujian

Pada penelitian ini akan dilakukan empat pengujian yaitu pengujian terhadap nilai order nilai threshold pengujian terhadap jumlah data training untuk mengetahui pengaruhnya terhadap nilai Mean Square Error (MSE) dan pengujian validasi sistem untuk mengetahui kestabilan hasil implementasi

441 Perancangan pengaruh order terhadap nilai MSE

Order merupakan jumlah urutan data yang digunakan dalam pembentukkan Fuzzy Logical Relationship (FLR) Pada pengujian ini dilakukan percobaan dengan order yang berbeda ndash beda Pengujian ini bertujuan untuk mengetahui pengaruh order terhadap hasil peramalan Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Pada setiap pengujian yang telah dilakukan dihitung nilai MSEnya untuk mengetahui tingkat kesalahan metode ini apabila dilakukan dengan order yang berbeda Berikut adalah perancangan pengujian order terhadap nilai MSE ditunjukkan pada Tabel 421

Tabel 421 Rancangan pengujian order terhadap nilai MSE

No Order Threshold MSE

1

Gambar 429 Rancangan antarmuka halaman perhitungan error

65

442 Perancangan pengaruh threshold terhadap nilai MSE

Nilai threshold bergantung jumlah order karena untuk nilai threshold merupakan dari hasil mengalikan jumlah faktor yang mempengaruhi dengan order selanjutnya dijumlah dengan sebuah konstanta Pada pengujian ini dilakukan percobaan dengan konstanta yang berbeda ndash beda sehingga menghasilkan threshold yang berbeda pula Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Dari setiap percobaan yang telah dilakukan dihitung nilai MSEnya untuk mengetahui tingkat kesalahan metode ini apabila dilakukan dengan konstanta dan threshold yang berbeda Berikut merupakan rancangan pengujian pengaruh threshold terhadap nilai MSE yang ditunjukkan pada Tabel 422

Tabel 422 Rancangan pengujian threshold terhadap nilai MSE

No Konstanta Threshold MSE

1

443 Perancangan pengaruh jumlah data training terhadap nilai MSE

Data training sangat berperan penting dalam proses defuzzifikasi sehingga pada penelitian ini dilakukan pengujian pengaruh jumlah data training terhadap tingkat kesalahan dari hasil peramalan Pada pengujian ini dilakukan percobaan dengan jumlah data training yang berbeda ndash beda Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Dari setiap percobaan dilakukan perhitungan nilai MSE untuk mengetahui tingkat kesalahan dari hasil peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors dengan jumlah data training yang berbeda ndash beda Sehingga dari hasil pengujian ini dapat diketahui pengaruh dari jumlah data training Berikut merupakan rancangan pengujian pengaruh jumlah data training yang ditunjukkan pada Tabel 423

Tabel 423 Rancangan pengujian jumlah data training terhadap nilai MSE

No Jumlah Data Training MSE

1

444 Perancangan validasi sistem

Pada pengujian validasi sistem akan melakukan pengujian dengan menggunakan order threshold terbaik seperti yang telah dilakukan pada

66

pengujian ndash pengujian sebelumnya yang menghasilkan hasil error MSE terendah Dalam setiap pengujiannya akan dilakukan sebanyak sepuluh kali selanjutnya nilai MSE yang diperoleh dihitung rata ndash ratanya Berikut merupakan rancangan pengujian validasi sistem yang ditunjukkan pada Tabel 424

Tabel 424 Rancangan pengujian validasi sistem

Percobaan ke- MSE

1

67

BAB 5 IMPLEMENTASI

Pada bab ini berisi pembahasan hasil implementasi metode High Order Fuzzy Time Series Multi Factors yang sesuai dengan bab sebelumnya yaitu perancangan Bab ini terdiri dari spesifikasi sistem implementasi algoritma dan implementasi antarmuka

51 Spesifikasi Sistem

Pada spesifikasi sistem ini dibagi mejadi dua yaitu spesifikasi perangkat keras dan spesifikasi perangkat lunak

511 Spesifikasi Perangkat Keras

Spesifikasi perangkat keras merupakan perangkat keras yang digunakan pada implementasi penelitian ini Perangkat keras yang digunakan adalah laptop dengan spesifikasi sesuai dengan pada Tabel 51 berikut

Tabel 51 Spesifikasi Perangkat Keras

Komponen Spesifikasi

Processor Intelcopy Core i3-3217U 180 GHz

Memori (RAM) 8 GB RAM

Harddisk 500 GB RAM

512 Spesifikasi Perangkat Lunak

Spesifikasi perangkat lunak merupakan perangkat lunak yang digunakan pada implementasi penelitian ini Perangkat lunak yang digunakan pada implementasi penelitian sesuai dengan yang ditunjukkan pada Tabel 52 berikut

Tabel 52 Spesifikasi Perangkat Lunak

Sistem Operasi Microsoft Windows 7 (64 bit)

Bahasa Pemrograman Java

Tools Pemrograman Netbeans 81

Data Microsoft Excel 2013

52 Implementasi Algoritma

Pada implementasi algoritma ini membahas mengenai hasil implementasi algoritma metode High Order Fuzzy Time Series Multi Factors yang mengacu pada bab sebelumnya yaitu perancangan Dalam penelitian ini implementasi algoritma menggunakan bahasa pemrograman java berbasis desktop Implementasi algoritma terdiri dari beberapa method sesuai dengan langkah ndash langkah pada algoritma metode High Order Fuzzy Time Series Multi Factors

68

521 Implementasi Proses Universe of Discourse

Pada implementasi Universe of Discourse seperti yang ditunjukkan Kode Program 51 dimana pada source code method Universe_of_Discourse baris 3 - 5 terdapat pemanggilan method mean standar_deviasi dan Min_dan_Max Dimana pemanggilan method tersebut dibutuhkan untuk melakukan proses perhitungan selanjutnya yaitu untuk menghitung batas bawah dan batas atas dari Univers of Discourse Baris 7-10 untuk menghitung hasil Universe of Discourse Berikut merupakan source code dari proses Universe of Discourse yang ditunjukkan pada Kode Program 51

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

private void Universe_of_Discourse()

mean()

standar_deviasi()

Min_dan_Max()

hsl_uMin = new double[jmlh_Faktor]

hsl_uMax = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

hsl_uMin[i] = hsl_min[i] - hsl_stdev[i]

hsl_uMax[i] = hsl_max[i] + hsl_stdev[i]

Kode Program 51 Implementasi proses Universe of Discourse

5211 Implementasi proses mean

Pada implementasi proses mean merupakan proses perhitungan nilai rata ndash rata dari setiap faktor yang nantinya hasilnya diperlukan untuk proses perhitungan standar deviasi Berikut merupakan source code dari proses mean yang ditunjukkan pada Kode Program 52 Perhitungan utama proses mean terdapat pada baris 3 ndash 8

Baris Kode

1 2 3 4 5 6 7 8 9

private void mean()

hsl_mean = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double tmp_jmlh = 0

for (int j = 0 j lt jmlh_DataTraining j++)

tmp_jmlh = tmp_jmlh + data[i][j]

hsl_mean[i] = (tmp_jmlh jmlh_DataTraining)

Kode Program 52 Implementasi proses mean

5212 Implementasi proses standar deviasi

Pada implementasi proses perhitungan standar deviasi merupakan akar kuadrat dari varians dan juga merupakan ukuran keragaman data statistik untuk menentukan bagaimana sebaran data dalam sampel Standar deviasi dapat dilakukan perhitungan setelah mendapat nilai hasil dari perhitungan mean Berikut merupakan source code dari implementasi proses standar deviasi yang ditunjukkan pada Kode Program 53 Perhitungan utama proses standar deviasi terdapat pada baris 3 ndash 9

69

Baris Kode

1 2 3 4 5 6 7 8 9 10 11

private void standar_deviasi()

hsl_stdev = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double result = 0

for (int j = 0 j lt jmlh_DataTraining j++)

result = result + (Mathpow((data[i][j] ndash

hsl_mean[i]) 2))

hsl_stdev[i]=Mathsqrt(result(jmlh_DataTraining-

1))

Kode Program 53 Implementasi proses standar deviasi

5213 Implementasi proses Dmin dan Dmax

Pada implementasi proses Dmin dan Dmax merukan untuk mencari nilai minimum dan nilai maksimum dari data sampel untuk setiap faktor Berikut merupakan source code dari implementasi dari proses Dmin dan Dmax yang ditunjukkan pada Kode Program 54 Pada baris 8 ndash 10 merupakan bagian dari proses untuk untuk menentukan nilai data terbesar Selanjutnya pada baris 11 ndash 13 untuk menentukan nilai data terkecil

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

19

private void Min_dan_Max()

hsl_max = new double[jmlh_Faktor]

hsl_min = new double[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double besar = data[i][0]

double kecil = data[i][0]

for (int j = 0 j lt jmlh_DataTraining j++)

if (data[i][j] gt besar)

besar = data[i][j]

if (data[i][j] lt kecil)

kecil = data[i][j]

hsl_max[i] = besar

hsl_min[i] = kecil

Kode Program 54 Implementasi proses Dmin dan Dmax

522 Implementasi Proses Jumlah Cluster

Pada implementasi proses jumlah cluster merupakan proses perhitungan jumlah cluster dari setiap faktor Implementasi ini dapat dilakukan apabila sudah mendapatkan hasil output dari method Min_dan_Max() sudah didapatkan Berikut merupakan source code dari implementasi proses jumlah cluster yang ditunjukkan pada Kode Program 55 Pada baris 3 ndash 7 untuk digunakan untuk menghitung selisih data sampel setiap baris dari semua faktor pada data sampel ke t dengan t+1 Selanjutnya pada baris 9 ndash 10 untuk menghitung jumlah cluster dari setiap faktor

70

Baris Kode

1

2

3

4

5

6

7

8

9

10

11

12

13

private void jumlah_Cluster()

jmlh_Cluster = new int[jmlh_Faktor]

for (int i = 0 i lt jmlh_Faktor i++)

double selisih = 0

for (int j = 0 j lt (jmlh_DataTraining - 1) j++)

selisih = selisih + (Mathabs((data[i][j]

- data[i][(j + 1)])))

jmlh_Cluster[i] = (int) Mathround((Mathabs(

hsl_min[i]-hsl_max[i]))(selisih(jmlh_DataTraining

-1)))

Kode Program 55 Implementasi proses jumlah cluster

523 Implementasi Proses Pusat Cluster

Implementasi proses perhitungan pusat cluster ini menggunakan metode fuzzy C-means untuk mendapatkan pusat cluster yang nantinya digunkan sebagai subinterval Implementasi ini memerlukan hasil dari proses method jumlah_Cluster() agar dapat melakukan perhitungan subinterval Berikut merupakan source code dari implementasi proses subinterval yang ditunjukkan pada Kode Program 56 Pada Kode Program 56 hanya menampilkan source code pembentukan subinterval pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 2 ndash 3 merupakan deklarasi variabel bobot iterasi maksimum selisih fungsi objektif awal dan error minimum Pada baris 8 ndash 20 merupakan proses pembentukan matriks partisi dengan nilai random 0 sampai 1 Pada baris 22 ndash 26 merupakan proses normalisasi matriks partisi yang telah terbentuk Pada baris 28 ndash 63 merupakan proses untuk menentukan pusat cluster Pada baris 65 ndash 86 merupakan proses perhitungan fungsi objektif dari iterasi Pada baris 88 ndash 90 merupakan proses perhitungan selisih fungsi objektif Pada baris 92 ndash 108 adalah proses perbaikan matriks partisi Pada baris 110 ndash 115 adalah proses hasil perbaikan matriks partisi Pada baris 116 - 133 adalah proses dengan pengkondisian apakah selisih fungsi objektif lebih kecil dari error minimum serta apabila memenuhi kondisi maka dilanjutkan ke proses pengurutan pusat cluster secara ascending dari hasil iterasi terakhir dan proses pengkondisian iterasi berhenti

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

private void pusat_cluster()

int bobot = 2int iter_maksimum = 100

double selisih_f_objektif = 0double error_min = 001

for (int i = 0 i lt jmlh_Faktor i++)

faktor A

if (i == 0)

Pembentukkan matriks partisi

tmp_Matriks1=new

double[jmlh_Cluster[i]][jmlh_DataTraining]

q1 = new double[jmlh_Cluster[i]]

double jmlh_q1

for (int j = 0 j lt jmlh_Cluster[i] j++)

jmlh_q1 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

71

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

double random = ThreadLocalRandomcurrent()

nextDouble(01 1)

tmp_Matriks1[j][k] = random

jmlh_q1 = jmlh_q1 + random

q1[j] = jmlh_q1

normalisasi matriks

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k] q1[j]

Perhitungan pusat cluster

for (int iter = 0 iter lt iter_maksimum iter++)

selisih_f_objektif = 0

jumA1 = new double[iter_maksimum][jmlh_Cluster[i]]

jumA2 = new double[iter_maksimum][jmlh_Cluster[i]]

miu_Matriks1 = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

XV_Matriks1 = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

pusat_cluster1 = new double[jmlh_Cluster[i]]

double hitung_jum1

double hitung_jum2

for (int j = 0 j lt jmlh_Cluster[i] j++)

hitung_jum1 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow(tmp_Matriks1

[j][k]bobot)

miu_Matriks1[j][k] = tmp_Matriks1[j][k]

hitung_jum1 = hitung_jum1 + tmp_Matriks1

[j][k]

jumA1[iter][j] = hitung_jum1

for (int j = 0 j lt jmlh_Cluster[i] j++)

hitung_jum2 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k]

data[i][k]

hitung_jum2 = hitung_jum2 +

tmp_Matriks1[j][k]

jumA2[iter][j] = hitung_jum2

for (int j = 0 j lt jmlh_Cluster[i] j++)

pusat_cluster1[j] = jumA2[iter][j]

jumA1[iter][j]

perhitungan fungsi objektif

jumA3 = new double[iter_maksimum][jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

double hitung_jum3 = 0

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow((data[i][k]

ndash pusat_cluster1[j])

bobot)

XV_Matriks1[j][k] = tmp_Matriks1[j][k]

tmp_Matriks1[j][k] = XV_Matriks1[j][k]

miu_Matriks1[j][k]

hitung_jum3 = hitung_jum3 +

tmp_Matriks1[j][k]

jumA3[iter][j] = hitung_jum3

72

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

double jmlh_f_objektif = 0

for (int j = 0 j lt jmlh_Cluster[i] j++)

jmlh_f_objektif = jmlh_f_objektif

+jumA3[iter][j]

if (iter lt (iter_maksimum - 1))

f_objektif1[iter + 1] = jmlh_f_objektif

perhitungan selisih fungsi objektif

selisih_f_objektif = f_objektif1[iter + 1]

-f_objektif1[iter]

perbaikan matriks partisi

int hitung = bobot - 1int pangkat = -1 hitung

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = Mathpow(XV_Matriks1

[j][k] pangkat)

jumA4 = new

double[iter_maksimum][jmlh_DataTraining]

for (int j = 0 j lt jmlh_DataTraining j++)

double hitung_jum4 = 0

for (int k = 0 k lt jmlh_Cluster[i] k++)

hitung_jum4 = hitung_jum4 +

tmp_Matriks1[k][j]

jumA4[iter][j] = hitung_jum4

hasil perbaikan matriks

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

tmp_Matriks1[j][k] = tmp_Matriks1[j][k]

jumA4[iter][k]

if (selisih_f_objektif lt error_min)

pengurutan ascending pusat cluster

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 kltjmlh_Cluster[i]k++)

if (k lt (jmlh_Cluster[i] - 1))

if (pusat_cluster1[k] gt

pusat_cluster1[k + 1])

double tmp =

pusat_cluster1[k]

pusat_cluster1[k]=

pusat_cluster1[k+1]

pusat_cluster1[k+1] = tmp

iter = iter_maksimum

Kode Program 56 Implementasi proses pusat cluster

524 Implementasi Proses Pembentukan Subinterval dan Fuzzy Set

Pada implementasi proses pembentukan suinterval dan fuzzy set memiliki dua proses yaitu proses menentukan batas subinterval minumum serta maksimum dan proses menentukan batas fuzzy set minimum serta maksimum

73

Proses pembentukan fuzzy dapat menjalankan prosesnya setelah method subinterval() telah diakses Berikut merupakan source code proses pembentukan fuzzy set yang ditunjukkan pada Kode Program 57 Pada Kode Program 57 hanya menampilkan source code pembentukan fuzzy set pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 6 ndash 29 merupakan proses pembentukan batas minimum dan batas maksimum subinterval Pada baris 31 ndash 54 merupakan pembentukan batas minimum dan batas maksimum fuzzy set

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

private void subinterval_dan_fuzzy_set()

for (int i = 0 i lt jmlh_Faktor i++)

faktor A

if (i == 0)

batas subinterval

batas_subintervalMinA = new double[jmlh_Cluster[i]]

batas_subintervalMaxA = new double[jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

if (j == 0)

batas_subintervalMinA[j] = hsl_uMin[i]

batas_subintervalMaxA[j]=(pusat_cluster1[j]

+pusat_cluster1[j+

1])2

else if (j == (jmlh_Cluster[i] - 1))

batas_subintervalMinA[j]=

(pusat_cluster1[j-1] +pusat_cluster1

[j])2

batas_subintervalMaxA[j]=

hsl_uMax[i]

else if ((0 lt j) ampamp (j lt (jmlh_Cluster[i] -

1)))

batas_subintervalMinA[j]=

(pusat_cluster1[j-1]+

pusat_cluster1[j])2

batas_subintervalMaxA[j]=

(pusat_cluster1[j]+

pusat_cluster1[j+1)2

batas fuzzy set

batas_fuzzysetMinA = new double[jmlh_Cluster[i]]

batas_fuzzysetMaxA = new double[jmlh_Cluster[i]]

for (int j = 0 j lt jmlh_Cluster[i] j++)

if (j == 0)

batas_fuzzysetMinA[j]=

batas_subintervalMinA[j]

batas_fuzzysetMaxA[j]=

(batas_subintervalMinA[j+1]

+batas_subintervalMaxA[j + 1])2

else if (j == (jmlh_Cluster[i] - 1))

batas_fuzzysetMinA[j]=

(batas_subintervalMinA[j-1]

+batas_subintervalMaxA[j - 1])2

batas_fuzzysetMaxA[j] =

batas_subintervalMaxA[j]

else if ((0 lt j) ampamp (jlt(jmlh_Cluster[i]-1)))

batas_fuzzysetMinA[j]=

(batas_subintervalMinA[j-1]+

batas_subintervalMaxA[j-1])2

batas_fuzzysetMaxA[j]=

74

51

52

53

54

55

56

(batas_subintervalMinA[j+1]+

batas_subintervalMaxA[j + 1])2

Kode Program 57 Implementasi pembentukan subinterval dan fuzzy set

525 Implementasi proses fuzzifikasi

Pada Implementasi proses fuzzifikasi memiliki dua proses utama yaitu menentukan derajat keanggotaan dan proses fuzzifikasi Dalam proses ini method fuzzy_set() harus dieksekusi terlebih dahulu karena implementasi proses ini memerlukan output dari method tersebut Berikut merupakan source code fuzzifikasi ditunjukkan pada Kode Program 58 Pada Kode Program 58 hanya menampilkan source code pembentukan fuzzy set pada faktor curah hujan(A) karena dari faktor suhu (B) kelembaban(C) dan kecepatan angin (D) memiliki source code yang sama dan hanya terjadi perubahan nama variabel Pada baris 3 ndash 81 merupakan proses perhitungan derajat keanggotaan Pada baris 83 ndash 94 adalah proses penentuan fuzzifikasi

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

private void fuzzifikasi()

if (i == 0)

hitung_fuzzifikasiA = new double[jmlh_Cluster[i]]

[jmlh_DataTraining]

for (int j = 0 j lt jmlh_Cluster[i] j++)

for (int k = 0 k lt jmlh_DataTraining k++)

if(j == 0)

if((data[i][k]gtbatas_fuzzysetMinA[j])ampamp

(data[i][k]lt batas_fuzzysetMinA[j + 1]))

hitung_fuzzifikasiA[j][k] = 1

if ((data[i][k] gt batas_fuzzysetMinA[j + 1])

ampamp (data[i][k] lt batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k]=

(batas_fuzzysetMaxA[j] - data[i][k])

(batas_fuzzysetMaxA[j] ndash

batas_fuzzysetMinA[j + 1])

if ((data[i][k] gt batas_fuzzysetMinA[j]) ampamp

(data[i][k] lt batas_fuzzysetMinA[j + 1])

ampamp(data[i][k] gt batas_fuzzysetMinA[j+1])

ampamp(data[i][k] lt batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k] = 0

else if (j == (jmlh_Cluster[i] - 1))

if((data[i][k] gt batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]))

hitung_fuzzifikasiA[j][k]=

(data[i][k]-batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)])

(batas_fuzzysetMaxA[(jmlh_Cluster[i]ndash

2)]-batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)])

if((data[i][k] gt batas_fuzzysetMaxA

75

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

[(jmlh_Cluster[i]- 2)]) ampamp (data[i][k]

lt batas_fuzzysetMaxA[(jmlh_Cluster[i]

- 1)]))

hitung_fuzzifikasiA[j][k] = 1

if ((data[i][k] gt batas_fuzzysetMinA

[(jmlh_Cluster[i] - 1)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]) ampamp

(data[i][k] gt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 2)]) ampamp

(data[i][k] lt batas_fuzzysetMaxA

[(jmlh_Cluster[i] - 1)]))

hitung_fuzzifikasiA[j][k] = 0

else if ((0 lt j)ampamp(j lt (jmlh_Cluster[i] - 1)))

if ((data[i][k] gt batas_fuzzysetMinA[j])

ampamp (data[i][k] lt batas_fuzzysetMinA[j

+1]))

hitung_fuzzifikasiA[j][k]=

(data[i][k]-batas_fuzzysetMinA[j])

(batas_fuzzysetMinA[j + 1]-

batas_fuzzysetMinA[j])

if ((data[i][k] gt batas_fuzzysetMinA

[j+1])ampamp (data[i][k] lt

batas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k]=

(batas_fuzzysetMaxA[j]-data[i][k])

(batas_fuzzysetMaxA[j]-

batas_fuzzysetMinA[j + 1])

if ((data[i][k] gt batas_fuzzysetMinA[j])

ampamp (data[i][k] lt batas_fuzzysetMinA

[j + 1]) ampamp (data[i][k] gt

batas_fuzzysetMinA[j + 1]) ampamp

(data[i][k]ltbatas_fuzzysetMaxA[j]))

hitung_fuzzifikasiA[j][k] = 0

hasil_fuzzifikasiA = new int[jmlh_DataTraining]

for (int j = 0 j lt jmlh_DataTraining j++)

int cluster = 0

double besar=hitung_fuzzifikasiA[0][j]

for (int k = 0 k lt jmlh_Cluster[i] k++)

if (besar lt hitung_fuzzifikasiA[k][j])

besar = hitung_fuzzifikasiA[k][j]

cluster = k

hasil_fuzzifikasiA[j] = cluster + 1

Kode Program 58 Implementasi proses fuzzifikasi

526 Implementasi Pembentukan Fuzzy Logical Relationship

Pada implementasi pembentukan Fuzzy Logical Relationship (FLR) memiliki dua output yaitu FLR_kiri dan FLR_kanan Dimana FLR_kiri berisi group dari kelima faktor dan pada FLR_kanan merupakan dari faktor yang akan diramalkan yaitu

76

faktor curah hujan (A) Berdasarkan dari perancangan proses pada bab sebelumnya maka implementasi source code pembentukan Fuzzy Logical Relationship (FLR) dapat ditunjukkan pada Kode Program 59 berikut Pada baris 3 ndash 14 merupakan deklarasi variabel Pada baris 15 ndash 55 adalah proses pembentukan fuzzy logical relationship data training Pada baris 56 ndash 58 merupakan deklarasi variabel Pada baris 59 ndash 86 adalah proses pembentukan fuzzy logical relationship data testing

Baris Kode 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

Fuzzy Logical Relationship

private void fuzzy_logical_relationship()

String input_order = fieldOrdergetText()

order = IntegerparseInt(input_order)

int max_inc = order

String input_dataTraining = fieldDatatraininggetText()

int dataTraining = IntegervalueOf(input_dataTraining)

int tmp_jmlhDatatraining = 0

int tmp_order = 0

int jmlh_dataTraining = dataTraining - order

String input_dataTesting = fieldDatatestinggetText()

int jmlh_dataTesting = IntegervalueOf(input_dataTesting)

FLR_kiri_training = new

int[jmlh_DataTraining][order][jmlh_Faktor]

FLR_kanan_training = new int[jmlh_DataTraining]

for (int i = 0 i lt jmlh_dataTraining i++)

for (int j = i j lt max_inc j++)

for (int k = 0 k lt jmlh_Faktor k++)

if (j == 0)

if (k == 0)

FLR_kiri_training[i][j][k]=

hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_training[i][j][k] =

hasil_fuzzifikasiD[j]

else if (j = 0)

if (k == 0)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_training[i][j - i][k] =

hasil_fuzzifikasiD[j]

tmp_order = j

FLR_kanan_training[i] = hasil_fuzzifikasiA[(i + order)]

if (max_inc lt (jmlh_DataTraining - 1))

max_inc = max_inc + 1

77

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

tmp_jmlhDatatraining = i

FLR_kiri_testing = new

int[jmlh_DataTraining][order][jmlh_Faktor]

FLR_kanan_testing = new int[(jmlh_DataTraining)]

tmp_jmlhDatatraining = tmp_jmlhDatatraining + 1

for (int i = 0 i lt jmlh_dataTesting i++)

for (int j = tmp_jmlhDatatraining j lt max_inc j++)

for (int k = 0 k lt jmlh_Faktor k++)

if (k == 0)

FLR_kiri_testing[i][j - tmp_jmlhDatatraining][k]

= hasil_fuzzifikasiA[j]

else if (k == 1)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiB[j]

else if (k == 2)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiC[j]

else if (k == 3)

FLR_kiri_testing[i][j ndash

tmp_jmlhDatatraining][k] =

hasil_fuzzifikasiD[j]

FLR_kanan_testing[i] =

hasil_fuzzifikasiA[(tmp_jmlhDatatraining + order)]

if (max_inc lt (jmlh_DataTraining - 1))

max_inc = max_inc + 1

tmp_jmlhDatatraining++

Kode Program 59 Implementasi pembentukan FLR

527 Implementasi Proses Defuzzifikasi

Pada implementasi proses defuzzifikasi merupakan proses dimana menentukan hasil peramalan dari data testing berdasarkan dari bilangan fuzzy yang terbentuk Implementasi ini memiliki beberapa inputan penting yaitu data training data testing order dan konstanta Inputan tersebut sangat berperan penting dalam proses implementasi defuzzifikasi Berdasarkan dari perancangan proses pada bab sebelumnya maka implementasi source code defuzzifikasi dapat ditunjukkan pada Kode Program 510 berikut Pada baris 2 ndash 11 merupakan deklarasi variabel Pada baris 13 ndash 37 merupakan proses perhitungan selisih antara data training dengan data testing Pada baris 40 ndash 47 menghitung jumlah FLR yang cocok Pada baris 49 ndash 65 merupakan proses mencocokan FLR kiri yang cocok dengan FLR kanan Pada baris 67 ndash 81 merupakan proses menghitung jumlah frekuensi FLR kanan yang cocok Pada baris 83 ndash 91 adalah proses perhitungan hasil peramalan

Baris Kode 1

2

3

4

private void defuzifikasi()

String input_dataTraining = fieldDatatraininggetText()

String input_dataTesting = fieldDatatestinggetText()

String input_konstanta = fieldKonstantagetText()

78

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

int dataTraining = IntegervalueOf(input_dataTraining)

int dataTesting = IntegervalueOf(input_dataTesting)

int konstanta = IntegervalueOf(input_konstanta)

int match[][]

match = new int[dataTesting][2000]

int threshold = (jmlh_Faktor order) + konstanta

int hitung_selisih = 0

perhitungan selisih

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt (dataTraining + i) j++)

hitung_selisih = 0

for (int k = 0 k lt order k++)

for (int l = 0 l lt jmlh_Faktor l++)

if (i == 0)

hitung_selisih = hitung_selisih +

(Mathabs(FLR_kiri_training[j][k][l] ndash

FLR_kiri_testing[i][k][l]))

else if (i gt 0)

FLR_kiri_training[(dataTraining-

1)+i][k][l] = FLR_kiri_testing[i-

1][k][l]

FLR_kanan_training[(dataTraining-1)+i]

= FLR_kanan_testing[i-1]

hitung_selisih = hitung_selisih +

(Mathabs(FLR_kiri_training[j][k][l] ndash

FLR_kiri_testing[i][k][l]))

if (hitung_selisih lt threshold)

match[i][j] = hitung_selisih

menghitung jumlah total FLR yang cocok untuk setiap data

testing

int countGroup[] = new int[dataTesting]

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt (dataTraining + i) j++)

if (match[i][j] gt 0)

countGroup[i]++

mencocokan FLR_kiri yang cocok dengan FLR_kanan

group = new int[dataTesting][2000]

for (int i = 0 i lt dataTesting i++)

int tmp_count = 0

for (int j = 0 j lt (dataTraining + i) j++)

if (match[i][j] gt 0)

if (tmp_count lt countGroup[i])

group[i][tmp_count] = j

tmp_count++

for (int i = 0 i lt dataTesting i++)

for (int j = 0 j lt countGroup[i] j++)

group[i][j] = FLR_kanan[group[i][j]]

mengelompokkan yang sama

MapltInteger Integergt map = new HashMapltInteger Integergt()

hasil_peramalan = new double[dataTesting]

for (int i = 0 i lt dataTesting i++)

79

70

71

72

73

74

75 76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

double peramalan = 0

mapclear()

for (int j = 0 j lt countGroup[i] j++)

int key = group[i][j]

if (mapcontainsKey(key))

int occurrence = mapget(key)

occurrence++

mapput(key occurrence)

else

mapput(key 1)

menghitung hasil peramlaan

Iterator iterator = mapkeySet()iterator()

while (iteratorhasNext())

int key = (Integer) iteratornext()

int occurrence = mapget(key)

peramalan = (peramalan + (pusat_cluster1[(key - 1)]

occurrence))

hasil_peramalan[i] = (peramalan countGroup[i])

Kode Program 510 Implementasi proses defuzzifikasi

53 Implementasi Antarmuka

Pada implementasi antarmuka dijelaskan beberapa halaman antarmuka untuk penggunaan dari program hasil implementasi Implementasi antarmuka berdasarkan perancangan yang telah dijelasakan pada bab sebelumnya yaitu bab perancangan Halaman antarmuka yang dibuat adalah halaman input halaman tampil data halaman proses halaman hasil dan halaman perhitungan error

531 Implementasi antarmuka halaman input

Halaman input merupakan halaman yang pertama muncul setelah program dijalankan Pada halaman input ini terdapat beberapa inputan yang harus di masukkan yaitu data input data training data testing order dan konstanta Selain itu pada halaman input juga terdapat tiga button yaitu button browse data button fuzzification dan button forecasting Berikut tampilan antarmuka halaman input yang ditunjukkan pada Gambar 51

Gambar 51 Implementasi antarmuka halaman input

80

532 Implementasi antarmuka halaman tampil data

Halaman tampil data merupakan halaman yang tampil setelah melakukan input data Halaman ini berisi tabel yang menampilkan data curah hujan suhu kecepatan angin dan kelembaban Berikut tampilan antarmuka halaman tampil data yang ditunjukkan pada Gambar 52

533 Implementasi antarmuka halaman proses

Halaman proses merupakan halaman yang muncul setelah button fuzzification telah dieksekusi Halaman proses ini terdiri dari tiga bagian atau tab yaitu clustering fuzzification dan Fuzzy logical relationship Pada halaman antarmuka clustering menampilkan Universe of Discourse dan jumlah cluster pada masing ndash masing faktor Berikut merupakan tampilan antarmuka halaman proses bagian clustering yang ditunjukkan pada Gambar 53

Gambar 52 Implementasi antarmuka halaman tampil data

Gambar 53 Implementasi antarmuka halaman proses clustering

81

Pada tab selanjutnya yaitu pada tab fuzzification tab ini menampilkan hasil proses fuzzifikasi Pada halaman ini menampilkan tabel yang berisi hasil fuzzifikasi dari setiap faktor Berikut merupakan tampilan antarmuka halaman proses bagian fuzzification yang ditunjukkan pada Gambar 54

Pada tab Fuzzy Logical Relationship menampilakn hasil dari proses pembentukan Fuzzy Logical Relationship Tampilan pada halaman ini menampilkan berupa textarea yang berisi dari output proses tersebut Berikut merupakan tampilan antarmuka halaman proses bagian Fuzzy Logical Relationship yang ditunjukkan pada Gambar 55

Gambar 54 Implementasi antarmuka halaman proses fuzzification

Gambar 55 Implementasi halaman antarmuka proses FLR

82

534 Implementasi antarmuka halaman hasil

Pada implementasi antarmuka halaman hasil ini merupakan halaman yang menampilkan hasil dari proses defuzzifikasi Halaman hasil ini menampilkan tabel yang berisi data aktual dan data dari hasil peramlan Berikut merupakan tampilan antarmuka halaman hasil yang ditunjukkan pada Gambar 56

535 Implementasi antarmuka halaman perhitungan error

Pada implementasi antarmuka halaman perhitungan error merupakan halaman yang menampilkan hasil dari proses perhitungan Mean Square Error (MSE) Pada halaman antarmuka ini menampilkan hasil error MSE pada textfield Berikut merupakan tampilan antarmuka halaman perhitungan error yang ditunjukkan pada Gambar 57

Gambar 56 Implementasi halaman antarmuka hasil

Gambar 57 Implementasi halaman antarmuka perhitungan error

83

BAB 6 PENGUJIAN DAN ANALISIS

Pada bab ini membahas hasil pengujian dan analisis hasil pengujian dari hasil implementasi metode High Order Fuzzy Time Series Multi factors untuk peramalan curah hujan dasarian Pada pengujian ini disesuaikan dengan perancangan pengujian pada bab 4

61 Sistematika Pengujian

Pada bab sebelumnya yaitu bab 4 mengenai perancangan telah dibahas perancangan pengujian dikatakan bahwa pengujian akan dilakukan sebanyak empat pengujian Pengujian order pengujian threshold pengujian jumlah data training dan pengujian validasi sistem Dari semua pengujian tersebut akan di uji dan di analisis bagaimana pengaruhnya terhadap hasil perhitungan Mean Square Error (MSE)

62 Hasil dan Analisis Pembahasan

Berikut hasil pengujian dan analisis yang disesuaikan dengan perancangan pengujian pada bab sebelumnya

621 Pengujian pengaruh order terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh order terhadap nilai MSE Order merupakan urutan jumlah dari data time series pada periode waktu t yang mempengaruhi nilai data Jadi jika nilai order adalah 3 maka peramalan akan melibatkan 3 data sebelumnya pada proses pembentukan Fuzzy Logical Relationship (FLR) Pada pengujian ini hanya nilai order yang diubah ndash ubah sedangkan variabel lain akan dibuat tetap Pengujian akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai variabel jumlah data training adalah 72 yaitu dari data Januari 2014 dasarian 1 sampai Desember 2015 dasarian 3 nilai data testing adalah 36 yaitu dasarian 1 Januari 2016 sampai dasarian 3 Desember 2016 konstanta adalah 10 Nilai threshold diperoleh dari perhitungan jumlah faktor dikali order dan dijumlah nilai konstanta Berikut adalah hasil pengujian pengaruh order terhadap nilai MSE yang ditunjukkan pada Tabel 61

Tabel 61 Hasil pengujian order terhadap nilai MSE

No Order Threshold MSE

1 3 22 808585

2 6 34 965547

3 9 46 912631

4 12 58 875884

5 15 70 719284

6 18 82 6801207

7 21 94 5637184

8 24 106 5444184

9 27 118 5433631

10 30 130 5418393

84

Dari hasil pengujian order seperti yang telah ditunjukkan pada Tabel 61 maka pada percobaan pertama dengan order = 3 dan threshold 22 dapat diperoleh MSE sebesar 808585 Selanjutnya pada percobaan kedua dengan order = 6 dan threshold = 34 diperoleh MSE sebesar 965547 Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 61

Berdasarkan Gambar 61 order yang berbeda - beda mempengaruhi besar nilai MSE Dalam penelitian ini menentukan order memiliki ketentuan yaitu nilai order harus lebih dari 0 dan batas maksimal order adalah setengah dari nilai data training (LinYang 2009) Nilai MSE terbesar yang ditunjukkan pada pengujian ini adalah 965547 pada pengujian order 6 dan nilai MSE terkecil adalah 5418393 pada pengujian order 30 Pada Gambar 61 menunjukkan bahwa pada order 3 ke order 6 mengalami peningkatan nilai MSE selanjutnya pada order 6 hingga order 30 mengalami penurunan Pada order 3 memiliki nilai MSE lebih kecil dari order 6 order 9 dan order 12 karena memiliki lebih banyak hasil selisih tingkat kecocokan data time series yang tidak terlalu besar dan kurang dari threshold Selain itu karena data time series dari data sampel yang diperoleh memiliki pola data musiman dimana perubahan pola data dasarian tidak terlalu banyak berubah dari tahun ke tahun Selanjutnya pada order 6 hingga order 30 menunjukkan penurunan nilai MSE dan order terbesar memiliki nilai MSE terkecil sehingga dapat disumpulkan bahwa semakin besar order maka semakin kecil pula nilai MSE Dalam hal ini dengan semakin besarnya order maka data sebelumnya yang digunakan untuk pertimbangan dalam menentukan peramalan semakin banyak Sehingga semakin besar nilai order maka dapat membuat peramalan semakin akurat Dalam pengujian ini memimiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoImplementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emasrdquo yang menyatakan bahwa semakin besar nilai order maka semakin kecil nilai kesalahannya (Wardhani et al 2015)

Gambar 61 Grafik hasil pengujian order terhadap nilai MSE

85

622 Pengujian pengaruh threshold terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh threshold terhadap nilai MSE Threshold merupakan hasil dari mengalikan jumlah order dengan jumlah faktor pada data kemudian dijumlahkan dengan dengan nilai konstanta Pada proses defuzzifikasi terdapat proses menghitung selisih antara pangkat bawah Fuzzy Logical Relationship (FLR) data training dan pangkat bawah FLR data testing Selanjutnya setelah mendapatkan nilai selisih maka nilai selisih tersebut dibandingkan dengan nilai threshold untuk mencari FLR yang cocok Pada pengujian ini nilai konstanta saja yang diubah ndash ubah sementara variabel lainnya tetap Pengujian akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai variabel jumlah data training adalah 72 yaitu dari data Januari 2014 dasarian 1 sampai Desember 2015 dasarian 3 nilai data testing adalah 36 yaitu dasarian 1 Januari 2016 sampai dasarian 3 Desember 2016 dan Nilai order adalah 30 Pada penentuan input konstanta nilai minimal harus lebih besar dari 0 dan nilai maksimal menyesuaikan data sampel yang digunakan (LinYang 2009) Berikut adalah hasil pengujian pengaruh threshold terhadap nilai MSE yang ditunjukkan pada Tabel 62

Tabel 62 Hasil pengujian threshold terhadap nilai MSE

No Konstanta Threshold MSE

1 10 130 558485

2 20 140 577498

3 30 150 597364

4 40 160 604660

5 50 170 646951

6 60 180 680257

7 70 190 703013

8 80 200 741484

9 90 210 756749

10 100 220 780600

Dari hasil pengujian threshold seperti yang telah ditunjukkan pada Tabel 62 maka dapat dilihat bahwa konstanta yang dilakukan pengujian dimulai dengan nilai 10 sampai 100 Hasil yang didapat pada percobaan pertama dengan konstanta = 10 dan threshold 130 diperoleh MSE sebesar 558485 Selanjutnya pada percobaan kedua dengan konstanta = 20 dan threshold = 140 diperoleh MSE sebesar 577498 Selanjutnya dapat kita lihat pada percobaan yang telah dilakukan dari percobaan pertama hingga percobaan kesepuluh nilai MSE yang diperoleh mengalami perubahan pada setiap percobaan Dapat dilihat bahwa peningkatan MSE lebih dominan menunjukkan peningkatan sehingga dalam hal ini semakin besar nilai konstanta dan threshold maka semakin besar pula nilai MSE yang diperoleh Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 62

86

Berdasarkan grafik dari Gambar 62 nilai input konstanta yang berbeda - beda mempengaruhi besar nilai MSE semakin besar nilai konstanta maka nilai threshold juga semakin besar karena threshold diperoleh dari perhitungan order dikali jumlah faktor dan selanjutnya dijumlah dengan nilai konstanta Dalam hal ini dengan semakin besar nilai threshold maka dalam proses seleksi untuk mencari nilai selisih FLR juga semakin luas batasannya dan jika semakin kecil nilai threshold maka dalam proses seleksi untuk mencari nilai selisih FLR menjadi semakin sempit dan mempermudah proses peramalan karena hanya adanya sedikit data yang cocok dengan data yang akan diramalkan dan mempermudah proses defuzzifikasi Oleh karena itu semakin kecil threshold maka dapat membuat peramalan semakin akurat Akan tetapi nilai threshold tidak boleh terlalu kecil karena dapat menyebabkan kegagalan peramalan Kegagalan peramalan itu terjadi karena tidak adanya data training yang cocok dengan data testing karena pada metode yang digunakan pada penelitian ini sangat bergantung pada data ndash data sebelumnya Dari hasil percobaan diatas hasil MSE terbesar adalah 7806 yaitu pada konstanta 100 serta threshold 220 dan hasil MSE terkecil adalah 558485 yaitu pada konstanta 10 dan threshold 130 Dalam pengujian ini memiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoImplementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Emasrdquo yang menyatakan bahwa semakin kecil nilai konstanta maka semakin kecil nilai kesalahannya (Wardhani et al 2015)

623 Pengujian pengaruh jumlah data training terhadap nilai MSE

Pada pengujian ini akan dilakukan untuk mengetahui pengaruh jumlah data training terhadap nilai MSE Pada pengujian ini jumlah data training adalah data dasarian yaitu 1 tahun 2 tahun 3 tahun 4 tahun dan 5 tahun dimana dari setiap 1 tahun memiliki 36 data dasarian Pengujian ini akan dilakukan sebanyak lima kali Pada pengujian ini jumlah data testing adalah 36 nilai order adalah setengah dari

Gambar 62 Grafik hasil pengujian threshold terhadap nilai MSE

87

nilai data training nilai konstanta adalah 20 Berikut adalah hasil pengujian pengaruh jumlah data training terhadap nilai MSE yang ditunjukkan pada Tabel 63

Tabel 63 Hasil pengujian jumlah data training terhadap nilai MSE

No Jumlah Data Training MSE

1 36 786586

2 72 634527

3 108 627190

4 144 614184

5 180 539698

Dari hasil pengujian jumlah data training seperti yang telah ditunjukkan pada Tabel 63 maka pada percobaan pertama dengan data training = 36 dapat diperoleh MSE sebesar 786586 Selanjutnya pada percobaan kedua dengan data training = 72 diperoleh MSE sebesar 634527 Dalam hal ini dari percobaan satu dan dua nilai MSE mengalami penurunan Perubahan nilai MSE dari setiap percobaan digambarkan dalam grafik yang ditunjukkan pada Gambar 63

Berdasarkan dari Gambar 63 pengujian pertama sampai pengujian kelima mengalami penerunan nilai MSE Sehingga dapat disimpulkan bahwa semakin besar data training maka semakin kecil nilai MSE yang diperoleh Nilai MSE semakin kecil apabila menggunakan data training dalam jumlah besar karena data yang digunakan memiliki rentang jauh dari periode data testing atau data yang akan diramalkan Sedangkan data training yang sedikit memiliki nilai MSE yang besar karena data training yang memiliki kecocokan dengan data testing berada pada periode yang jauh dengan data testing sehingga nilai MSE menjadi tinggi Dalam hal ini terbukti bahwa metode yang digunakan pada penelitian ini memerlukan jumlah data training yang banyak sehingga dapat menurunkan nilai kesalahannya Dari hasil percobaan diatas hasil MSE terbesar adalah 786586 dan

Gambar 63 Grafik hasil pengujian data training terhadap nilai MSE

88

hasil MSE terkecil adalah 539698 Dalam pengujian ini memimiliki kesesuaian dengan penelitian sebelumnya yang berjudul ldquoPeramalan Jumlah Kunjungan Wisatawan Kota Batu Menggunakan Metode Time Invariant Fuzzy Time Seriesrdquo yang menyatakan bahwa semakin besar jumlah data training maka semakin kecil nilai kesalahannya (Elfajar et al 2017)

624 Pengujian validasi sistem

Pada pengujian ini dilakukan untuk mengetahui kestabilan dari sistem dengan menggunakan order threshold terbaik dari pengujian sebelumnya Pada pengujian ini akan dilakukan sebanyak sepuluh kali Pada pengujian ini nilai data training menggunakan 36 data yang berbeda agar dapat menunjukkan gambaran variasi dari nilai kesalahan MSE pada peramalan nilai order adalah 18 dan konstanta adalah 10 sehingga nilai threshold adalah 92 Berikut adalah hasil pengujian validasi sistem yang ditunjukkan pada Tabel 64

Tabel 64 Hasil pengujian validasi sistem

Percobaan ke- MSE

1 714290

2 703856

3 732564

4 732815

5 6973958

6 7532825

7 741726

8 760457

9 709961

10 6256204

Dari hasil pengujian validasi sistem seperti yang telah ditunjukkan pada Tabel 64 maka dapat digambarkan dengan grafik yang ditunjukkan oleh Gambar 64

Gambar 64 Grafik hasil pengujian validasi sistem

89

Berdasarkan dari gambar grafik Gambar 64 bahwa pengujian dari validasi sistem memiliki hasil MSE yang tidak terlalu jauh berbeda dari penggunaan data yang berbeda - beda Oleh karena itu dapat disimpulkan bahwa implementasi dari metode High Order Fuzzy Time Series Multi Factors yang telah digunakan sudah cukup baik untuk digunakan peramalan

Berdasarkan dari pengujian yang dilakukan diatas dapat diketahui bahwa nilai MSE terkecil terdapat pada pengujian jumlah data training yaitu dengan nilai MSE sebesar 539698 Nilai tersebut diperoleh dari pengujian jumlah data training dasarian dari tahun 2011 hingga 2015 untuk melakukan peramalan pada data dasarian tahun 2016 Nilai order adalah 90 dan konstanta adalah 10 Berikut adalah perbandingan data aktual dengan hasil peramalan yang ditunjukkan pada grafik Gambar 65

Gambar 65 Grafik perbandingan data aktual dengan hasil peramalan

90

BAB 7 PENUTUP

Pada bab ini terdiri dari dua sub bab yaitu kesimpulan dan saran Kesimpulan adalah tahapan yang berisi hasil penelitian yang dilakukan dan jawaban semua rumusan masalah yang sudah ditetapkan sebelumnya dan saran adalah tahapan yang berisi hasil yang telah dicapai untuk memperbaiki kekurangan - kekurangan yang terjadi pada penelitian ini serta memberikan pertimbangan pada pengembangan penelitian lebih lanjut

71 Kesimpulan

Pada kesimpulan ini mengacu pada penelitian yang telah dilakukan yang meliputi perancangan implementasi serta pengujian dan analisis terhadap hasil implementasi peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors maka dapat diambil kesimpulan sebagai berikut

1 Berdasarkan dari implementasi metode High Order Fuzzy Time Series Multi Factors dalam melakukan peramalan curah hujan dasarian dilakukan dengan beberapa langkah yaitu langkah pertama perhitungan Universe of Discourse yang terdiri perhitungan mean standar deviasi dan perhitungan Dmin serta Dmax langkah kedua yaitu perhitungan jumlah cluster langkah ketiga yaitu perhitungan pusat cluster langkah keempat yaitu pembentukan subinterval dan fuzzy set langkah kelima yaitu proses fuzzifikasi langkah keenam yaitu pembentukan Fuzzy Logical Relationship(FLR) langkah ketujuh adalah defuzzifikasi yang hasil outputnya merupakan hasil peramalan curah hujan

2 Berdasarkan dari pengujian peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors maka dapat diketahui bahwa

a Order berpengaruh terhadap nilai error semakin besar nilai order maka hasil peramalan semakin baik

b Threshold berpengaruh terhadap nilai error semakin rendah nilai threshold maka hasil peramalan semakin baik Akan tetapi nilai threshold tidak boleh terlalu rendah karena dapat menyebabkan kegagalan peramalan

c Data training berpengaruh terhadap nilai error semakin besar jumlah data training maka hasil peramalan semakin baik Sehingga peramalan menggunakan metode High Order Fuzzy Time Series Multi Factors memerlukan banyak data training

d Hasil implementasi peramalan curah hujan menggunakan metode High Order Fuzzy Time Series Multi Factors cukup baik digunakan untuk peramalan Hal ini terbukti hasil pengujian validasi sistem menunjukkan grafik yang cukup stabil

Dari pengujian yang telah dilakukan nilai MSE terkecil terdapat pada pengujian jumlah data training yaitu dengan nilai MSE sebesar 539698 Nilai tersebut diperoleh dari pengujian jumlah data training dasarian dari tahun

91

2011 hingga 2015 untuk melakukan peramalan pada data dasarian tahun 2016

72 Saran

Pada penelitian ini dilakukan peramalan curah hujan dasarian dengan faktor yang mempengaruhi adalah suhu kelembaban dan kecapatan angin Saran penulis diharapkan untuk penelitian selanjutnya melakukan penambahan faktor yang mempengaruhi curah hujan atau melakukan peramalan objek lain dengan mempertimbangkan faktor ndash faktor yang mempengaruhinya Serta diharapkan pada penelitian selanjutnya untuk menambahkan data yang lebih banyak serta bervariatif sehingga nilai hasil perhitungan akurasi peramalan yang dihasilkan dalam penelitian dapat meningkat Penggunaan data training yang banyak dan bervariatif dapat membuat pola data semakin terlihat sehingga hasil peramalan yang dihasilkan memiliki akurasi yang lebih baik

92

DAFTAR PUSTAKA

Ardiyanto 2016 ldquoTerendam Air Petani Lamongan Terpaksa Panen Dinirdquo Times Indonesia November 18 httpwwwtimesindonesiacoidread13688520161118102415terendam-air-petani-lamongan-terpaksa-panen-dini (Diakses 25 Februari 2017)

Badan Penelitian dan Pengembangan Pertanian Kementrian Pertanian 2015 ldquoKalender Tanam Terpadu Versi 25 Kota Malang Prov Jawa Timurrdquo httpkatamlitbangpertaniangoidkatam_terpadu2016mh33535733573_tinggipdf (Diakses 25 Februari 2017)

Bagirov M Adil Mahmood Arshad and Barton Andrew 2017 Prediction of monthly rainfall in Victoria Australia Clusterwise linear regression approach Elsevier Atmos Research 188 20-29

BMKG Staklim Karangploso Malang 2015 ldquoAnalisis Dinamika Atmosfer Dan Laut Dasarian III Maret 2015 Update 2 April 2015rdquo httpkarangplosojatimbmkgogoidindexphpanalisis-kondisi-dinamika-atmosfer-laut-dasarian-tahun-2015399-analisis-dinamika-atmosfer-dan-laut-dasarian-iii-maret-2015-update-2-april-2015axzz3X8h9y4fgampgsctab=0 (Diakses 25 Februari 2017)

BPS Kabupaten Malang 2016 ldquoKabupaten Malang Dalam Angka 2016rdquo httpsmalangkabbpsgoidwebsitepdf_publikasiKabupaten-Malang-Dalam-Angka-2016pdf (Diakses 25 Februari 2017)

BPS Jawa Timur 2015 ldquoJawa Timur Dalam Angka 2015rdquo httpsjatimbpsgoid4dmnpdf_publikasiJawa-Timur-Dalam-Angka-2015pdf (Diakses 25 Februari 2017)

Buffa S Elwood Rakesh and Sarin K 1996 Modern Production and Operation Management Eight Edition John Willey and Sons Inc London

Chen M 1996 Forecasting Enrollments based on Fuzzy Time Series Fuzzy Sets and Systems 311-319

Dewi Candra Kartikasari Dani Mursityo Yusi 2014 Prediksi Cuaca Pada Data Time Series Menggunakan Adaptive Neuro Fuzzy Inference System (ANFIS) Jurnal Teknologi Informasi dan Ilmu Komputer (JTIIK) Vol 1 No 1 hlm 18-24

Dewi Candra Muslikh M 2013 Perbandingan Akurasi Backpropagation Neural Network dan ANFIS Untuk Memprediksi Cuaca NATURAL-A Journal of Scientific Modeling amp Computation Volume 1 No1

Elfajar Aria Setiawan Budi Dewi Candra 2017 Peramalan Jumlah Kunjungan Wisatawan Kota Batu Menggunakan Metode Time Invariant Fuzzy Time Series Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer Vol 1 No 2 Hlmn 85-94

93

Fauziah Normalita Wahyuningsih Sri dan Nasution Yuki 2016 Peramalan Menggunakan Fuzzy Time Series Chen (Studi Kasus Curah Hujan Kota Samarinda) Vol4 Statistika

Forest Mahyu 2015 ldquoDefenisi amp Pengertian Kelembabanrdquo httpilmupengetahuaalamblogspotcoid201506defenisi-pengertian-kelembabanhtml (Diakses 25 Februari 2017)

Irsyad Muhammad Metarice Sonya 2013 Penerapan Metode Automatic Clustering dan High Order Fuzzy Time Series Pada Peramalan Curah Hujan Jurnal Sains dan Teknologi Industri Vol 10 No 02

Klawon F 2001 What is About Fuzzy Clustering Understanding and Improving the Concept of the Fuzzier Science Journal httppublic-rzfh-wolfebuetteldeklawon

Kurniawan Carlos 2007 Analisis dan Perancangan Program Aplikasi Peramalan Curah Hujan dengan Metode Wavelet (Studi Kasus BMKG)

Kusumadewi S 2003 ldquoArtificial Intelegence (Teknik amp Aplikasinya)rdquo Graha Ilmu Yogyakarta

Kusumadewi S Purnomo H 2004 ldquoAplikasi Logika Fuzzy untuk Pendukung Keputusanrdquo Graha Ilmu Yogyakarta

Kusumadewi Sri 2002 Analisis amp Desain Sistem Fuzzy Tollbox MATLAB Graha Ilmu Yogyakarta

Lin Yupei Yang Y 2009 Stock Markets Forecasting Based on Fuzzy Time Series Model IEEE Conference Publications 782-886

Makridakis S Steven C Wheelwright Victor E and Gee MC 1999 Metode dan Aplikasi Peramalan Jilid I Edisi Kedua Jakarta Binarupa Aksara

Mirawati T Yasin H and Rusgiyono A 2013 Prediksi Curah Hujan dengan Metode Kalman Filter(Studi Kasus di Kota Semarang 2012) Jurnal Gaussian 2(3) pp 239-248

Pradipta Nur Sembiring Pasukat Bangun Pengarapen 2013 Analisis Pengaruh Curah Hujan di Kota Medan Saintia Matematika Vol 1

Sipayung Putri Metha 2013 Pemodelan Hubungan Kelembapan Udara terhadap Curah Hujan (Studi Kasus Curah Hujan Periode 2001-2009 pada Stasiun Dramaga) httprepositoryipbacidhandle12345678960623 (Diakses 25 Februari 2017)

User 2015 httpstaklimnegaranet[Online] Available at httpwwwstaklimnegaranetindexphpbuletin-hujanpengertian-istilah (Diakses 25 Februari 2017)

Wang Nai-Yi Chen Shyi-Ming 2009 Temperature prediction and TAIFEX forecasting based on automatic clustering techniques and two-factors high-order fuzzy time series Elsevier Expert Systems with Applications 36 2143ndash2154

94

Wardhani Dessy Ratnawati Dian Setiawan Budi 2015 Implementasi Metode Multi-factors High order Fuzzy Time Series Model untuk Prediksi Harga Saham Repositori Jurnal Mahasiswa PTIIK UB Doro Jurnal Vol 6 No 6

Wiyanti T and Pulungan R 2012 Peramalan Deret Waktu Menggunakan Model Fungsi Basis Radial (RBF) dan Auto Regressive Integrated Moving Average (ARIMA) Jurnal MIPA 35(2) pp 175-182

Yunanto Utomo 2014 ldquoBMKG Akui Prakiraan Cuacanya Masih Kurang Akuratrdquo Kompas Sains Januari 30 httpwwwtimesindonesiacoidread13688520161118102415terendam-air-petani-lamongan-terpaksa-panen-dini (Diakses 25 Februari 2017)

  • Bagian Depanpdf
  • BAB Ipdf
  • BAB IIpdf
  • BAB IIIpdf
  • BAB IVpdf
  • BAB Vpdf
  • BAB VIpdf
  • BAB VIIpdf
  • Daftar Pustakapdf
Page 13: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 14: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 15: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 16: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 17: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 18: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 19: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 20: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 21: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 22: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 23: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 24: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 25: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 26: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 27: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 28: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 29: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 30: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 31: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 32: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 33: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 34: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 35: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 36: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 37: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 38: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 39: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 40: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 41: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 42: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 43: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 44: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 45: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 46: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 47: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 48: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 49: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 50: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 51: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 52: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 53: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 54: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 55: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 56: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 57: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 58: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 59: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 60: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 61: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 62: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 63: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 64: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 65: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 66: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 67: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 68: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 69: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 70: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 71: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 72: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 73: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 74: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 75: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 76: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 77: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 78: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 79: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 80: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 81: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 82: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 83: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 84: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 85: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 86: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 87: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 88: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 89: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 90: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 91: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 92: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 93: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 94: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 95: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 96: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 97: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 98: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 99: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 100: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 101: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 102: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 103: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 104: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 105: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 106: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 107: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 108: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 109: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI
Page 110: Universitas Brawijayarepository.ub.ac.id/2730/1/Ahmada Bastomi Wijaya.pdf · ii PENGESAHAN PERAMALAN CURAH HUJAN MENGGUNAKAN METODE HIGH ORDER FUZZY TIME SERIES MULTI FACTORS SKRIPSI