Perhitungan Derajat Keanggotaan Implementasi Algoritma Sistem Inferensi Fuzzy Metode Tsukamoto

55

BAB V IMPLEMENTASI, HASIL, DAN PEMBAHASAN

5.1 Implementasi Algoritma Sistem Inferensi Fuzzy Metode Tsukamoto

Perhitungan untuk menentukan besarnya bantuan dana pembangunan rumah tidak layak huni yang akan diterima kepala keluarga terdapat 3 tahapan, yaitu : perhitungan derajat keanggotaan variabel masukan kerusakan rumah dan kondisi ekonomi , mekanisme inferensi fuzzy, dan unit defuzifikasi. Berikut penjelasan lebih lanjut :

5.1.1 Perhitungan Derajat Keanggotaan

Berikut ini penjelasan lebih lanjut mengenai perhitungan derajat keanggotaan tiap himpunan fuzzy dari variabel kerusakan rumah dan kondisi ekonomi dari kasus yang diambil dari survei terhadap rumah seorang Kepala Keluarga bernama Asmoro Bayu Nurprasetyo dengan penghasilan Rp 700.000,00 per-bulan. Dan memiliki rumah dengan kondisi seperti gambar berikut, Kondisi Nilai 1 2 3 4 Atap Dinding Lantai a. Perhitungan Persentase Kerusakan Rumah Perhitungan persentase kerusakan rumah harus ditentukan dengan menghitung dari nilai bobot yang telah ditentukan. Berikut formula untuk menentuka persentase kerusakn rumah : K = ∑ ∑ ∑ x 100 Keterangan : K = Persentase kerusakan rumah n = nilai k = kondisi maka diperoleh perhitungan seperti dibawah ini : K = = 0,67 x 100 = 67 Jadi persentase kerusakan rumah adalah 67 . b. Perhitungan µ RusakRingan [y] Perhitungan derajat keanggotaan himpunan fuzzy “rusak ringan” menggunakan pendekatan fungsi keanggotaan linear turun. Perhitungan derajat keanggotaan ini, diimplementasi dalam function bernama “ FuncRusakringan”. Kerusakan Rumah Persen Gambar 5. 1 Fungsi Keanggotaan Rusak Ringan Batas bawah 0 dan batas atas 50 himpunan fuzzy “ rusak ringan” diambil dari tabel “ batashimpunan”. Listing program adalah : select batasbawah ,batastengah, batasatas from batashimpunan where himpunanfuzzy = rusakringan; Jika kerusakan rumah berada diantara 0 sampai 50 maka nilai keanggotaan “rusak ringan” adalah 50-y 50-0. Listing programnya adalah if kerusakan = bawah kerusakan = atas { myuRusakRingan = double Math.roundatas - kerusakan atas - bawah bulat bulat; if myuRusakRingan = 0 { myuRusakRingan = 0; } } Jika kerusakan rumah lebih besar 50 maka µ RusakRingan [y] = 0. Karena nilai kerusakan rumah sebesar 67 maka nilai kerusakan tersebut diatas batas atas yaitu sebesar 50 . Listing programnya sebagai berikut : if kerusakan = atas { myuRusakRingan = 0; } maka menjadi : if 67 = 50 { myuRusakRingan = 0; } Jadi nilai myuRusakRingan adalah 0. Function “FuncRusakringan” akan memberikan nilai balik berupa nulai dari myuRusakRingan. c. Perhitungan µ RusakSedang [y] Perhitungan derajat keanggotaan himpunan fuzzy “rusak sedang” menggunakan pendekatan fungsi keanggotaan segitiga. Perhitungan derajat keanggotaan ini, diimplementasi dalam function bernama “ FuncRusakSedang”. Kerusakan Rumah Persen Gambar 5. 2 Fungsi Keanggotaan Rusak Sedang Batas bawah 0, batas tengah 50 dan batas atas 100 himpunan fuzzy “rusak sedang” diambil dari tabel “ batashimpunan”. Berikut Listing programnya : select batasbawah, batastengah, batasatas from batashimpunan where himpunanfuzzy = rusakringan; Jika kerusakan rumah berada diantara 0 sampai 50 antara batas bawah dan batas tengah fungsi keanggotaan rusak sedang, maka nilai k enaggotaan “rusak sedang” µ RusakSedang [y] adalah y-0 50-0. Berikut listing programnya : if kerusakan2 = bawah2 kerusakan2 = tengah2 { myuRusakSedang = double Math.roundkerusakan2 - bawah2tengah2 - bawah2 bulat bulat; } Jika kerusakan rumah berada diantara 50 sampai 100 antara batas tengah dan batas atas fungsi keanggotaan rusak sedang, maka nilai keanggotaan “rusak sedang” µ RusakSedang [y] adalah 100-y 100-50. Karena nilai kerusakan rumah sebesar 67 maka nilai kerusakan tersebut berada diantara batas tengah yaitu sebesar 50 dan batas atas yaitu 100 . Berikut adalah listing programnya: if kerusakan2 = tengah2 kerusakan2 = atas2 { myuRusakSedang = double Math.roundatas2 - kerusakan2 atas2 - tengah2 bulat bulat; } Maka menjadi : if 67 = 50 67 = 100 { myuRusakSedang = double Math.round100 - 67 67 - 100 bulat bulat; } Jadi nilai myuRusakSedang adalah 0,66. Function “FuncRusakSedang” akan memberikan nilai balik berupa nulai dari myuRusakSedang. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI d. Perhitungan µ RusakBerat [y] Perhitungan derajat keanggotaan himpunan fuzzy “rusak berat” menggunakan pendekatan fungsi keanggotaan linear naik. Perhitungan derajat keanggotaan ini, diimplementasi dalam function bernama “ FuncRusakBerat”. Kerusakan Rumah Persen Gambar 5. 3 Fungsi Keanggotaan Rusak Berat Batas bawah 50, batas tengah 100 dan batas atas 100 himpunan fuzzy “rusak berat” diambil dari tabel “ batashimpunan”. Berikut Listing programnya : select batasbawah, batastengah, batasatas from batashimpunan where himpunanfuzzy = rusakberat; Jika kerusakan rumah berada diantara 50 sampai 100 antara batas bawah dan batas tengah fungsi kenaggotaan rusak berat, maka nilai kena ggotaan “rusak berat” µ RusakBerat [y] adalah y- 50 100-50. Karena nilai kerusakan rumah sebesar 67 maka nilai kerusakan tersebut berada diantara batas bawah yaitu sebesar 50 dan batas tengah yaitu 100. Berikut listing programnya : if kerusakan3 = bawah3 kerusakan3 = tengah3 { myuRusakBerat = double Math.roundkerusakan3 - bawah3 tengah3 - bawah3 bulat bulat; } Maka menjadi : PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI if 67 = 50 67 = 100 { myuRusakBerat = double Math.round67 - 50 100 - 50 bulat bulat; } Jadi nilai myuRusakBerat adalah 0,34. Jika kerusakan rumah lebih besar 100 batas atas maka nilai keanggotaan “rusak berat” µ RusakBerat [y] =1. Berikut adalah listing programnya: if kerusakan3 = atas3 { myuRusakBerat = 1; } Function “FuncRusakBerat” akan memberikan nilai balik berupa nulai dari myuRusakBerat. e. Perhitungan µ Miskin [x] Perhitungan derajat keanggotaan himpunan fuzzy “miskin” menggunakan pendekatan fungsi keanggotaan linear turun. Perhitungan derajat keanggotaan ini, diimplementasi dalam function bernama “ FuncMiskin”. Kondisi Ekonomi rupiah Gambar 5. 4 Fungsi Keanggotaan Miskin Batas bawah 0 ribu batas tengah 500 ribu dan batas atas 1500 ribu himpunan fuzzy “ Miskin ” diambil dari tabel “ batashimpunan”. Listing program adalah : select batasbawah,batastengah,batasatas from batashimpunan where himpunanfuzzy = miskin; Jika penghasilan berada diantara 500 ribu sampai 1500 ribu antara batas tengah dan batas atas maka nilai keanggotaan “Miskin” adalah 1500-x 1500-500. Karena nilai penghasilan sebesar 700000 maka nilai penghasilan tersebut berada diantara batas tengah yaitu sebesar 500000 dan batas atas yaitu 1000000. Listing programnya adalah if kondisi4 = tengah4 kondisi4 = atas4 { myuMiskin = double Math.roundatas4 - kondisi4 atas4 - tengah4 bulat bulat; } Maka menjadi : if 700000 = 500000 700000 = 1000000 { myuMiskin = double Math.round1000000 - 700000 1000000 - 500000 bulat bulat; } Jadi nilai myuMiskin adalah 0,8. Jika penghasilan berada diantara 0 ribu dan 500 ribu antara batas bawah dan batas tengah maka µ Miskin [x] = 1. Listing programnya sebagai berikut : if kondisi4 = bawah4 kondisi4 = tengah4 { myuMiskin = 1; } Jika penghasilan tiap bulan lebih besar 1,5 juta maka µ Miskin [x] = . Berikut listing programnya : if kondisi4 = atas4 { myuMiskin = 0; } Function “FuncMiskin” akan memberikan nilai balik berupa nulai dari myuMiskin. f. Perhitungan µ Menengah [x] Perhitungan derajat keanggotaan himpunan fuzzy “menengah” menggunakan pendekatan fungsi keanggotaan segitiga. Perhitungan derajat keanggotaan ini, diimplementasi dalam function bernama “ FuncMiskin”. Kondisi Ekonomi rupiah Gambar 5. 5 Fungsi Keanggotaan Menengah Batas bawah 500 ribu batas tengah 1500 ribu dan batas atas 2500 ribu himpunan fuzzy “ Menengah ” diambil dari tabel “ batashimpunan”. Listing program adalah : select batasbawah,batastengah,batasatas from batashimpunan where himpunanfuzzy = menengah; Jika penghasilan berada diantara 500 ribu sampai 1500 ribu antara batas bawah dan batas tengah maka nilai keanggotaan “Menengah” adalah x-500 1500-500. Karena nilai penghasilan sebesar 700000 maka nilai penghasilan tersebut berada diantara batas awah yaitu sebesar 500000 dan batas tengah yaitu 1500000. Listing programnya adalah if kondisi5 = bawah5 kondisi5 = tengah5 { myuMenengah = double Math.roundkondisi5 - bawah5 tengah5 - bawah5 bulat bulat; } Maka menjadi : if 700000 = 500000 700000 = 1500000 { myuMenengah = double Math.round700000 - 500000 1500000 - 500000 bulat bulat; } Jadi nilai myuMenengah adalah 0,2. Jika penghasilan berada diantara 1500 ribu dan 2500 ribu antara batas tengah dan batas batas atas maka µ Menengah [x] adalah 2500-x 2500-1500. Listing programnya sebagai berikut : if kondisi5 = tengah5 kondisi5 = atas5 { myuMenengah = double Math.roundatas5 - kondisi5 atas5 - tengah5 bulat bulat; } Function “FuncMenengah” akan memberikan nilai balik berupa nulai dari myuMenengah. g. Perhitungan µ Kaya [x] Perhitungan derajat keanggotaan himpunan fuzzy “kaya” menggunakan pendekatan fungsi keanggotaan linear naik. Perhitungan derajat keanggotaan ini, diimplementasi dalam function bernama “ FuncKaya”. Kondisi Ekonomi rupiah Gambar 5. 6 Fungsi Keanggotaan Kaya Batas bawah 1500 ribu batas tengah 2500 ribu dan batas atas 2500 ribu himpunan fuzzy “ kaya ” diambil dari tabel “ batashimpunan”. Listing program adalah : select batasbawah, batastengah, batasatas from batashimpunan where himpunanfuzzy = kaya; Jika penghasilan berada diantara 1500 ribu sampai 2500 ribuantara batas bawah dan batas tengah maka nilai keanggotaan “Kaya” adalah x-1500 2500-1500. Listing programnya adalah if kondisi6 = bawah6 kondisi6 = tengah6 { myuKaya = double Math.roundkondisi6 - bawah6 tengah6 - bawah6 bulat bulat; } Jika penghasilan berada lebih besar 2500 ribu dari batas atas maka µ Kaya [x] = 1. Listing programnya sebagai berikut : if kondisi6 = atas6 { myuKaya = 1; } Jika penghasilan berada diantara 0 dengan 1500 ribu, maka µ Kaya [x] = 0. Karena nilai penghasilan 700000 maka myuKaya adalah 0. Function “FuncKaya” akan memberikan nilai balik berupa nulai dari myuKaya.

5.1.2 Mekanisme Inferensi Fuzzy