Proses Kompetensi dengan Fuzzy Logic

97 lulus karena pertimbangan tertentu dari pihak sekolah. Proses yang dilakukan adalah proses koreksi nilai. File-file yang digunakan adalah file kelulusan. Variabel-variabel yang digunakan adalah 1. Variabel Edit bertipe numeric, digunakan untuk menyimpan nilai yang akan diedit. Pseudocode dari proses koreksi nilai adalah: 1. Read kelulusan 2. While kelulusan.EOF=False 3. Edit = nilai yang mau diedit 4. Update kelulusan 5. End while

3.3.3 Proses Kompetensi dengan Fuzzy Logic

Struktur data variabel-variabel yang digunakan untuk proses kompetensi dengan fuzzy logic adalah Tabel Variabel-variabel Proses Kompetensi Nama Variabel Tipe Data Keterangan Kelas String Data kelas sesuai dengan bidang amatan Status String Data status yang akan dilakukan proses sisipan, maupun akhir Nis String Data nis siswa Semester String Data semester yang akan dilakukan proses semester 1 ataupun 2 NilAkhir Numeric Data nilai rata-rata semua nilai berdasarkan Status, Semester, Kelas dan bidang amatan NilFinal Numeric Data nilai rata-rata dari NilAkhir NilFinalPri Numeric Data masukan untuk ke prioritas Prioritas1 String Data prioritas1 dari bidang amatan berdasarkan Kelas dan bidang amatan Prioritas2 String Data prioritas2 dari bidang amatan berdasarkan Kelas dan bidang amatan. NilFinal1 Numeric Data nilai rata-rata NilAkhir Prioritas1 NilFinal2 Numeric Data nilai rata-rata NilAkhir Prioritas2 NilHasil1 Numeric Data NilFinal setelah ProsesKetemu1 NilHasil2 Numeric Data NilFinal setelah ProsesKetemu2 98 Nama Variabel Tipe Data Keterangan RangeNilai String Data nilai range untuk kategori baik, cukup, kurang NilRange Numeric Data nilai hasil RangeNilai ProsesPrioritas1 String Data untuk proses Prioritas1 untuk fuzzy ProsesPrioritas2 String Data untuk proses Prioritas2 untuk fuzzy ProsesSubPrioritas11 String Proses sub ProsesPrioritas1 yang pertama ProsesSubPrioritas12 String Proses sub ProsesPrioritas1 yang kedua ProsesSubPrioritas12 String Proses sub ProsesPrioritas1 yang ketiga ProsesSubPrioritas21 String Proses sub ProsesPrioritas2 yang pertama ProsesSubPrioritas22 String Proses sub ProsesPrioritas2 yang kedua ProsesSubPrioritas23 String Proses sub ProsesPrioritas2 yang ketiga N Numeric Data range nilai fuzzy ProsesKosong String Proses menyudahi proses hasil karena data tidak masuk dalam range N SubPrioritas11 Numeric Hasil proses ProsesSubPrioritas11 SubPrioritas12 Numeric Hasil proses ProsesSubPrioritas12 SubPrioritas13 Numeric Hasil proses ProsesSubPrioritas13 SubPrioritas21 Numeric Hasil proses ProsesSubPrioritas21 SubPrioritas22 Numeric Hasil proses ProsesSubPrioritas22 SubPrioritas23 Numeric Hasil proses ProsesSubPrioritas23 ProsesRuleFuzzy String Data rule-rule untuk proses inferensi Hasil fuzzy. HasilRuleFuzzy Numeric Hasil proses rule fuzzy RumusInferensiMamdani Numeric Data inferensi mamdani Hasil Numeric Data hasil perhitungan RuleFuzzy XHasil Numeric Data nilai hasil akhir perhitungan Mamdani RumusDefuzzyfikasi Numeric Data rumus untuk mencari NilaiDefuzzy NilDefuzzyfikasi Numeric Data nilai defuzzy NilRange Numeric Data sesuai dengan kategori baik, cukup, maupun kurang Karir String Data nama karir yang sesuai jika NilRange adalah baik 99 Flowchart proses kompetensi dengan fuzzy logic proses karir dapat dilihat ada Gambar 3.35 sampai Gambar 3.45. Prioritas NilFinal = 1 Mulai semua data adalah NilFinal1 semua data adalah NilFinal2 Tidak Cocok Cocok Cocok Tidak Proses rata-rata NilAkhir dengan Semester, Status, Kelas, SubBidang, Bidang, Nis yang sama NilAKhir Proses NilFinal didapat dari rata-rata NilAkhir berdasarkan Prioritas yang sama NilFinal1 NilFinal2 Proses KenaFuzzy NilFinal NilFinalPri Proses data dari NilFinal1 dan NilFinal2 Prioritas NilFinal = 2 NilFinal1 dan NilFInal2 Tidak Prioritas1 Prioritas2 NilHasil1 NilHasil2 Selesai NilFinal1 Tidak Cocok ProsesPrioritas1 ProsesPrioritas2 NilFinal1 NilFinal2 Gambar 3.35 Flowchart Proses Penentuan Prioritas 100 NilHasil1 NilRange NilHasil1=70 AND NilHasil1=100 NilHasil1=60 AND NilHasil1=69 Tidak Tidak Cocok Cocok Baik Cukup Kurang NilRange=Baik Selesai Simpan Bidang, Nilai dan Range Simpan Kompetensi dan Karir yang sesuai Cocok Tidak Proses Kosong Mulai Gambar 3.36 Flowchart Proses Prioritas 1 101 NilHasil2 NilRange NilHasil2=70 AND NilHasil2=100 NilHasil2=60 AND NilHasil2=69 Tidak Tidak Cocok Cocok Baik Cukup Kurang NilRange=Baik Selesai Simpan Bidang, Nilai dan Range Simpan Kompetensi dan Karir yang sesuai Cocok Tidak Proses Kosong Mulai Gambar 3.37 Flowchart Proses Prioritas 2 102 Range N n1-n2 NilFinal1 between N Tidak Proses SubPrioritas11 Cocok NilFinal1 ProsesKosong n1-NilFinal n1-n2 SubPrioritas11 HasilRuleFuzzy Proses RuleFuzzy Mulai Selesai Gambar 3.38 Flowchart Proses Sub Prioritas 11 103 Range N n1-n2 NilFinal1 between N Nilai tengah n1-n2 adalah nt If nt = NilFinal1 Cocok Cocok Cocok Tidak Nilai tengah n1-n2 adalah nt If nt NilFinal1 ProsesKosong n1-NilFinal n1-n2 NilFinal-n1 n2-n1 Proses RuleFuzzy SubPrioritas12 Proses SubPrioritas12 NilFinal1 Tidak Tidak ProsesKosong HasilRuleFuzzy Mulai Selesai Gambar 3.39 Flowchart Proses Sub Prioritas 12 104 Mulai Selesai Range N n1-n2 NilFinal1 between N Tidak Proses SubPrioritas13 Cocok NilFinal1 ProsesKosong NilFinal-n1 n2-n1 SubPrioritas13 Proses RuleFuzzy HasilRuleFuzzy Gambar 3.40 Flowchart Proses Sub Prioritas 13 105 Range N n1-n2 NilFinal2 between N n1-NilFinal n1-n2 SubPrioritas21 Proses SubPrioritas21 Cocok Tidak NilFinal2 Proses RuleFuzzy HasilRuleFuzzy ProsesKosong Mulai Selesai Gambar 3.41 Flowchart Proses Sub Prioritas 21 106 Mulai Selesai Range N n1-n2 NilFinal2 between N Nilai tengah n1-n2 adalah nt nt = NilFinal2 ProsesKosong Proses SubPrioritas22 NilFinal2 Cocok Cocok Cocok Tidak Tidak ProsesKosong n1-NilFinal n1-n2 NilFinal-n1 n2-n1 SubPrioritas22 Proses RuleFuzzy HasilRuleFuzzy Nilai tengah n1-n2 adalah nt If nt NilFinal2 Tidak Gambar 3.42 Flowchart Proses Sub Prioritas 22 107 Mulai Selesai Range N n1-n2 NilFinal2 between N NilFinal-n1 n2-n1 SubPrioritas23 Proses SubPrioritas23 Tidak Cocok NilFinal2 Proses RuleFuzzy ProsesKosong HasilRuleFuzzy Gambar 3.43 Flowchart Proses Sub Prioritas 23 108 MinHasil1 or MinHasil2 or MinHasil3 is Null Jumlah Hasil1 Ada 1 or Jumlah Hasil2 Ada 1 or Jumlah Hasil3 Ada 1 Cocok XHasil1, XHasil2, XHasil3 Hasil1, Hasil2, Hasil3 Proses XHasil = 0 Proses XHasil = Hasil Tidak Cocok Proses Xhasil=Max Hasil Tidak Rumus Inferensi Mamdani MinSubPrioritas HasilRuleFuzzy Mulai Selesai Gambar 3.44 Flowchart Proses Inferensi Mamdani 109 NilRange=Baik Selesai XHasil1, XHasil2, XHasil3 Proses Defuzzyfikasi Range N n1, n2, dan nt dari Hasil Nilai Defuzzyfikasi n1.XHasil1+nt.XHasil2+n2.XHasil3 XHasil1+XHasil2+XHasil3 Simpan Bidang, Nilai dan Range Simpan Kompetensi dan Karir yang sesuai Cocok Tidak NilDefuzzy Proses Kosong NilRange NilDefuzzy=70 AND NilDefuzzy=100 NilDefuzzy=60 AND NilDefuzzy=69 Tidak Tidak Cocok Cocok Baik Cukup Kurang Mulai Gambar 3.45 Flowchart Proses Defuzzyfikasi 110

3.3.4 Proses Pemetaan Karir ke Bidang Amatan