SISTEM PENDUKUNG KEPUTUSAN BERBASIS LOGIKA FUZZY …
Transcript of SISTEM PENDUKUNG KEPUTUSAN BERBASIS LOGIKA FUZZY …
SISTEM PENDUKUNG KEPUTUSAN
BERBASIS LOGIKA FUZZY UNTUK
PENENTUAN KESESUAIAN PENGGUNAAN LAHAN
(STUDI KASUS : KABUPATEN SEMARANG)
Adi Nugroho, ST, MMSI1, Dra. Sri Hartati, MSc, PhD2
ABSTRAK
Penentuan kesesuaian lahan (pemukiman, industri, kehutanan, rekreasi, serta
tempat pembuangan limbah) di suatu daerah tertentu merupakan hal yang
sangat memerlukan perhatian para pengambil keputusan baik di tingkat pusat
maupun daerah. Berbagai parameter (misalnya ketersediaan jaringan jalan,
kemiringan lereng, ketersediaan air, dan sebagainya) perlu dipertimbangkan
secara seksama sehingga para pengambil keputusan bisa melakukan
pengambilan keputusan yang berkualitas berkaitan dengan kesesuaian lahan.
Dalam tulisan ini, kami memilih metoda logika fuzzy (fuzzy logic) sebagai
metoda yang akan digunakan sebagai basis pengambilan keputusan. Dalam
tulisan ini, kami juga menggunakan suatu ‘bahasa’ yang dinamakan sebagai
FCL (Fuzzy Controler Language) sebagai kakas (tool) untuk mendefinisikan
model inferensi fuzzy. Berkaitan dengan hal ini, SIG (Sistem Informasi
Geografis) yang mampu melakukan visualisasi area geografis tertentu dapat
digunakan sebagai sarana untuk menampilkan hasil perhitungan logika fuzzy ke
layar monitor komputer atau ke dalam bentuk peta tercetak .
Kata kunci : Kesesuaian lahan, Fuzzy GIS.
I PENDAHULUAN
Penentuan kesesuaian lahan (pemukiman, industri, kehutanan, rekreasi, serta tempat pembuangan
limbah) merupakan hal yang sangat krusial bagi para pengambil keputusan yang terkait dengan hal ini
(Pemerintah Daerah [Pemda], Departemen Pekerjaan Umum [DPU], dan sebagainya) [5, 15]. Jika tidak
dilakukan secara semestinya dan secara benar, alokasi lahan yang keliru kemungkinan besar akan
mengakibatkan berbagai permasalahan, baik permasalahan-permasalahan sosial, ekonomi, kesehatan,
transportasi, keamanan, dan sebagainya [4, 6].
1Staf pengajar di Fakultas Teknologi Informasi – Universitas Kristen Satya Wacana (FTI–UKSW) di Salatiga –
Jawa Tengah. Saat ini sedang menempuh studi di Program S3 Ilmu Komputer Fakultas Matematika dan Ilmu
Pengetahuan Alam – Universitas Gadjah Mada (FMIPA–UGM) di Jogyakarta. Email : [email protected] 2 Staf Pengajar Program S3 Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam - Universitas Gadjah
Mada (FMIPA–UGM) di Jogyakarta. Email : [email protected]
Penentuan kesesuaian lahan ini pada umumnya bersifat semi terstruktur sehingga, jika kami
menggunakan sistem berbasis komputer, SPK (Sistem Pengambilan Keputusan)/DSS (Decision Support
System) merupakan sistem yang paling sesuai untuk mengimplementasikannya [16]. Dalam hal ini,
berbagai metoda dapat digunakan [1, 4, 7]. Meski demikian, dalam tulisan ini, kami akan secara
konsisten menggunakan metoda logika fuzzy (fuzzy logic) yang model inferensinya diimplementasikan
menggunakan FCL (Fuzzy Controler Language) yang diintegrasikan dengan bahasa pemrograman Java
menggunakan kelas-kelas yang ada dalam paket (package) JFuzzyLogic 2.0.8 yang tersedia cuma-
cuma dalam bentuk kode terbuka (opensource) di Internet. Metoda logika fuzzy, yang pada awalnya
ditemukan oleh Lotfi Zadeh dari Universitas California pada tahun 1965 [6, 18], pada dasarnya adalah
metoda keanggotaan himpunan yang memungkinkan sesuatu yang bersifat kualitatif „dihitung‟
menggunakan teknik yang bersifat kuantitatif. Sebagai contoh, misalkan pada area tertentu, curah
hujannya dikatakan „rendah‟, „sedang„, atau „tinggi‟, maka perlu dinyatakan secara kuantitatif derajad
keanggotaan untuk masing-masing himpunan „rendah‟, „sedang„, atau „tinggi‟ untuk masing-masing
karakteristik curah hujan tersebut [3, 20].
Tekanan tulisan ini pada dasarnya adalah penerapan metoda logika fuzzy untuk penentuan kesesuaian
lahan. Dalam hal ini, metoda logika fuzzy (juga kelas-kelas dalam paket JFuzzyLogic 2.0.8 yang
digunakan) tidak serta merta menyediakan modul-modul penggambaran hasil perhitungan-perhitungan
fuzzy di SIG (Sistem Informasi Geografis) [3]. Oleh sebab itu, sebagai batasan permasalahan, dalam
tulisan ini kami tidak membahas bagaimana hasil dari penerapan metoda logika fuzzy ditampilkan dalam
perangkat lunak SIG. Kami hanya akan memperlihatkan bagaimana metoda logika fuzzy dapat diterapkan
untuk pengolahan data spasial dan non-spasial. Penggambarannya melalui perangkat lunak SIG berada di
luar lingkup tulisan ini. Meski demikian, dalam tulisan ini kami juga menyertakan prosedur-prosedur
yang semestinya dilaksanakan untuk mencapai hasil yang diharapkan.
II METODA LOGIKA FUZZY
Logika fuzzy seringkali berawal dengan dan dikembangkan berdasarkan sejumlah aturan (rule) yang
didefinisikan oleh para pengambil keputusan [2, 13, 18]. Selanjutnya, sistem inferensi fuzzy akan
melakukan konversi aturan-aturan itu menjadi ekivalen-ekivalennya secara matematika, dimana hal ini
pada gilirannya akan membentuk hasil representasi perilaku sistem di dunia nyata secara lebih akurat.
Keuntungan tambahan dari konsep logika fuzzy adalah kesederhanaan dan fleksibilitasnya. Selain itu,
logika fuzzy mampu memodelkan fungsi-fungsi yang bersifat non-linier dari suatu permasalahan yang
bersifat kompleks dan ambigu (mendua-arti) [18].
2.1 Metoda Logika Fuzzy Secara Umum
Model-model logika fuzzy, yang seringkali dinamakan sebagai sistem inferensi fuzzy, pada dasarnya
terdiri dari sejumlah aturan (rule) “IF… THEN ...” [18]. Bagi para pengambil keputusan yang
memahami sistemnya, aturan-aturan (rule) itu sesungguhnya relatif mudah dituliskan. Dalam logika fuzzy,
tidak seperti logika kondisional yang baku, kebenaran dari setiap pernyataan memiliki derajad tertentu
(tidak mutlak dan dikenal nilai „abu-abu‟, alih-alih hanya „hitam‟ dan „putih‟) [18]. Sebagai contoh, jika
dikatakan sesuatu itu (misalnya temperatur suatu ruangan) „dingin‟ atau „panas‟, logika fuzzy bisa
menjelaskan „berapa nilai/derajad dinginnya‟ atau „berapa nilai/derajad panasnya‟.
Dalam hal di atas, kita sebelumnya juga tau suatu aturan inferensi dalam bentuk p->q (p maka q). Dalam
logika fuzzy, merupakan hal yang mungkin untuk mengatakan (0.5*p) -> (0.5*q) atau (0.5*p maka
0.5*q) [12, 13, 18]. Sebagai contoh, untuk aturan “IF (cuaca dingin) THEN (sistem pemanas hidup)”,
kedua peubah (variable) yaitu “dingin” dan “hidup”, pada umumnya bisa dipetakan menjadi suatu
bentuk rentang nilai bilangan nyata (real) tertentu [12, 13, 18]. Sistem inferensi fuzzy pada dasarnya
melandaskan dirinya pada suatu fungsi keanggotaan himpunan yang dapat diterjemahkan oleh komputer
sebagai nilai-nilai bilangan nyata (real) yang berada dalam rentang nilai tegas di antara 0 dan 1, dimana
hal yang tegas ini ( nilai 0 dan 1) sering dinyatakan sebagai Teori Himpunan Bivalen (Bivalent Set
Theory) [12, 13, 18]. Dengan kata lain, berbeda dengan Teori Himpunan Bivalen, derajad kebenaran
suatu pernyataan fuzzy biasanya dapat dinyatakan menggunakan nilai-nilai bilangan nyata (real) di
antara 0 dan 1 [12, 13, 18].
Gambar 1 : Himpunan Bivalen Untuk
Karakterisasi Curah Hujan
Suatu contoh yang dapat menggambarkan himpunan bivalen dapat dengan mudah diperlihatkan dalam
Gambar 1 [Karakterisasi Curah Hujan] di atas („rendah‟ [0-150 mm], „sedang‟ [150-300 mm], „tinggi‟
[300-450 mm], „sangat tinggi‟ [450-600 mm]). Suatu keadaan bivalen yang terlihat dengan jelas pada
Gambar 1 adalah bahwa tidaklah mungkin curah hujan di daerah tertentu termasuk dalam lebih dari 1
keanggotaan himpunan (misalnya curah hujan 375 derajad pastilah „tinggi‟, tidak mungkin yang
lainnya). Pada himpunan bivalen, tidak dimungkinkan untuk secara akurat mendefinisikan transisi yang
mulus dari suatu kondisi curah hujan ke kondisi curah hujan yang lainnya (misalnya dari „tinggi‟ ke
„sangat tinggi‟), sementara di dunia nyata hal ini sangatlah mungkin terjadi. Dari kelemahan-kelemahan
teori himpunan bivalen ini, muncullah apa yang disebut sebagai Teori Himpunan Fuzzy (Fuzzy Set
Theory) [12, 13, 18].
Fungsi
Keanggotaan
1
0
0 150 300 450 600
Gambar 2 : Himpunan Fuzzy Untuk
Karakterisasi Curah Hujan
Gambar 2 di atas memperlihatkan bagaimana himpunan fuzzy mengkuantifikasi informasi yang sama
dengan yang telah kami bahas sebelumnya pada Gambar 1 („rendah‟ [0-150 mm], „sedang‟ [150-300
mm], „tinggi‟ [300-450 mm], „sangat tinggi‟ [450-600 mm]), tetapi menggunakan perpindahan/transisi
yang lebih alamiah. Dalam hal ini (lihat Gambar 2), kami menggambarkan fungsi keanggotaan
berbentuk segitiga (Triangular). Sesungguhnya, untuk fungsi keanggotaan yang digunakan, kita bisa saja
memilih fungsi-fungsi keanggotaan yang lainnya, misalnya Fungsi GenBell, Fungsi Sigmoid, Fungsi Phi,
Fungsi Trapesium, Fungsi Gaussian, Fungsi PieceWiseLinear, dan sebagainya, dimana masing-masing
fungsi keanggotaan itu memiliki perhitungan derajad keanggotaannya sendiri-sendiri [2, 16, 18].
Himpunan fuzzy, dibandingkan himpunan bivalen, sangat lebih alamiah dan sangat lebih bermanfaat
sebab kita tau bahwa pengendalian untuk sistem komputasi yang berukuran besar jauh lebih kompleks
dibandingkan dengan permasalahan karakteristik curah hujan seperti yang telah kita bahas sebelumnya
saat kita menggunakan Teori Himpunan Bivalen [4, 18]. Sebagai contoh, perhatikan Gambar 2, suatu
kondisi curah hujan tertentu (katakanlah 375 mm) bisa dikelompokkan menjadi „tinggi‟ atau „sangat
tinggi‟ sesuai dengan keadaan orang yang mendeteksinya (seseorang mungkin mengatakan curah hujan
375 mm sebagai „tinggi‟ sementara seseorang yang lainnya mungkin mengatakannya sebagai „sangat
tinggi‟) sesuai dengan keadaan di dunia nyata. Jika kita berbicara secara lebih teknis, curah hujan 375
mm akan memiliki nilai x bilangan nyata derajad keanggotaan „tinggi‟ dan akan memiliki nilai y
bilangan nyata derajad keanggotaan „sangat tinggi‟, dimana nilai x dan y adalah nilai bilangan nyata
(real) di antara 0 dan 1. Dari sudutpandang suatu sistem (dalam hal ini : sistem informasi pengambilan
keputusan berbasis komputer), dapat kita lihat bahwa menggunakan sistem logika fuzzy ini, transisi-
transisi dari suatu keadaan ke keadaan lainnya bisa berjalan dengan lebih mulus.
Dalam tulisan ini, kami akan mengembangkan suatu model untuk penentuan kesesuaian lahan
(pemukiman, industri, kehutanan, rekreasi, serta tempat pembuangan limbah) menggunakan teori yang
telah kami singgung di atas tentang logika fuzzy. Dalam hal ini, kami mengambil studi kasus untuk
daerah Kabupaten Semarang [23, 25] . Meski demikian, langkah-langkah serupa tentunya bisa dilakukan
untuk daerah-daerah penelitian lainnya. Langkah-langkah untuk melakukan perhitungan-perhitungan
kesesuaian lahan itu akan mengikuti langkah-langkah sebagai berikut [13, 16, 18].
Fungsi
Keanggotaan
1
0
0 150 300 450 600
1. Fuzzification. Mengubah nilai-nilai bivalen (crisp) menjadi nilai-nilai keanggotaan fuzzy tertentu.
2. Inference. Menetapkan aturan-aturan inferensi fuzzy yang digunakan serta yang merupakan inti
dari sistem pengambilan keputusan data SIG menggunakan logika fuzzy. Dalam hal ini, proses
inferensi untuk metoda logika fuzzy ini dapat dilakukan baik dengan menggunakan metoda
Mamdani atau menggunakan metoda Sugeno.
3. Deffuzification. Mengubah nilai-nilai fuzzy yang didapatkan dari langkah sebelumnya menjadi
nilai-nilai bivalen (crisp) kembali.
Dalam semua hal di atas, seperti yang telah kami singgung sebelumnya, kami menggunakan metoda
logika fuzzy (fuzzy logic) yang diimplementasikan menggunakan FCL (Fuzzy Controler Language)
[14, 22] yang diintegrasikan dengan bahasa pemrograman Java (menggunakan kelas-kelas dalam paket
JFuzzyLogic 2.0.8) [3]. Dalam hal ini, kami juga menggunakan IDE (Integrated Development
Environment) Eclipse 3.7.0 (Indigo) yang memudahkan kami untuk mengunduh (download) paket
logika fuzzy di atas dari jaringan Internet [24] dan kemudian memasang (meng-instal) dan
memanfaatkannya. Meski demikian, meskipun kita tidak melakukan perhitungan-perhitungan secara
manual, kita harus memahami algoritma yang digunakan oleh kelas JFuzzyLogic 2.0.8 itu sebelum kita
kelak akan memanfaatkannya. Dalam hal ini, dalam membahas contoh-contoh selanjutnya, kita akan
menggunakan langkah-langkah yang telah disebutkan di atas.
2.1.1 Fuzzification
Fuzzification berkaitan dengan langkah-langkah yang diperlukan untuk mengubah nilai-nilai bivalen
menjadi nilai keanggotaan tertentu [16]. Perhatikan Gambar 2 di atas, dimana kita menggunakan fungsi
keanggotaan Segitiga (Triangular). Sesungguhnya kita bisa menggunakan fungsi-fungsi keanggotaan
lainnya, misalnya [2] Fungsi GenBell, Fungsi Sigmoid, Fungsi Phi, Fungsi Trapesium, Fungsi
Gaussian, Fungsi PieceWiseLinear, dan sebagainya. Meski demikian sebagai contoh kita menggunakan
fungsi keanggotaan Segitiga (Trianglar) ini. Dengan demikian, rumus perhitungan derajat keanggotaan
yang digunakan adalah sebagai berikut [16].
0, x
μSegitiga (x, a, b, c) = (x-a)/(b-a),
-(x-c)/(c-b),
Dengan demikian, untuk contoh kita (curah hujan = 375 mm) kita bisa menghitung fungsi
keanggotaannya sebagai berikut.
µSegitiga (375, 300, 375, 450) = -(375-450)/(450-375) = 0,5
Menurut perhitungan di atas, kita bisa menentukan bahwa daerah dengan curah hujan sebesar 375 mm
memiliki derajat keanggotaan 0,5 pada selang „tinggi‟.
2.1.2 Inference
Proses inference ini memperhitungkan semua aturan yang digunakan dalam basis pengetahuan [16].
Dalam hal ini, kita bisa menggunakan model Mamdani sebagai berikut.
IF Curah_Hujan IS Rendah THEN Karakteristik_Lahan IS Area_Rekreasi
IF Curah_Hujan IS Rendah THEN Karakteristik_Lahan IS Pembuangan_Limbah
IF Curah_Hujan IS Rendah OR Sedang THEN Karakteristik_Lahan IS Pemukiman
IF Curah_Hujan IS Rendah OR Sedang THEN Karakteristik_Lahan IS Industri
IF Curah_Hujan IS Tinggi OR Sangat_Tinggi THEN Karakteristik_Lahan IS Kehutanan
Dengan basis pengetahuan di atas, kita bisa menentukan bahwa daerah dengan curah hujan = 375 mm
seharusnya dijadikan area Kehutanan. Dalam hal ini, tentu saja (seperti yang kita akan lihat selanjutnya
dalam penelitian sesungguhnya) basis pengetahuan yang digunakan jauh lebih kompleks. Di sini kita
hanya melihat proses inference yang sangat disederhanakan.
2.1.3 Defuzzyfication
Proses defuzzyfication pada umumnya diperlukan saat ada sejumlah besar himpunan fuzzy yang
digunakan. Dalam contoh di atas, karena kita hanya menggunakan 1 himpunan fuzzy, kita tidak perlu
melakukan proses defuzzyfication ini. Meski demikian, dalam penelitian sesungguhnya, karena ada
begitu banyak himpunan fuzzy yang digunakan, kita harus melakukan proses defuzzyfication ini.
Pada dasarnya, defuzzyfication merupakan proses untuk menghasilkan hasil yang bersifat kuantitatif
berdasarkan sejumlah himpunan fuzzy dan derajad keanggotaan yang terkait [16, 26]. Dalam hal ini, ada
banyak sekali metoda untuk melakukan defuzzycation, antara lain [26]: AI (Adaptive Integration), BADD
(Basic Defuzzification Distributions), CDD (Constraint Decision Defuzzification), COA (Center of Area),
COG (Center of Gravity), ECOA (Extended Center of Area), EQM (Extended Quality Method), FCD
(Fuzzy Clustering Defuzzification), FM (Fuzzy Mean), FOM (First of Maximum), GLSD (Generalized
Level Set Defuzzification), ICOG (Indexed Center of Gravity), IV (Influence Value), LOM (Last of
Maximum), MeOM (Mean of Maxima), MOM (Middle of Maximum), QM (Quality Method), RCOM
(Random Choice of Maximum), SLIDE (Semi-linear Defuzzification), serta WFM (Weighted Fuzzy
Mean). Meski demikian, dengan alasan kesederhanaan dan kemampuannya yang memadai untuk
melakukan defuzzyfication, dalam penelitian, kami memilih menggunakan COG.
2.2 Metoda Logika Fuzzy Dalam Konteks JFuzzyLogic
Inti dari pemanfaatan kelas-kelas dalam paket JFuzzyLogic 2.0.8 sesungguhnya adalah sebuah bahasa
yang dinamakan sebagai FCL (Fuzzy Controler Language) yang didefinisikan oleh IEC (International
Electronic Comitee) pada tahun 1997 [22]. FCL merupakan bahasa yang relatif cukup sederhana untuk
mendefinisikan sistem inferensi fuzzy. Sebagai contoh, perhatikan kembali Gambar 3 yang
menggambarkan karakterisasi curah hujan („rendah‟ [0-150 mm], „sedang‟ [150-300 mm], „tinggi‟ [300-
450 mm], „sangat tinggi‟ [450-600 mm]) menggunakan fungsi keanggotaan Segitiga (Triangular).
Untuk bisa melakukan pemrosesan logika fuzzy menggunakan FCL, yang pertama kali harus kami
lakukan adalah mendefinisikan FUNCTION_BLOCK-nya [3, 22] (kenyataannya mungkin saja ada lebih
dari 1 FUNCTION BLOCK di dalam sebuah berkas FCL). Pertama kali, kami perlu mendefinisikan
asupan (input) dan luaran (output)-nya sebagai berikut.
VAR_INPUT
Curah_Hujan : REAL;
END_VAR
VAR_OUTPUT
Karakteristik_Lahan : REAL;
END_VAR
Selanjutnya, bagaimana masing-masing peubah (variable) asupan mendapatkan proses fuzzyfication
didefinisikan dalam blok FUZZYFY, dimana pada masing-masing blok kami mendefinisikan 1 atau lebih
TERM [3, 22] (sering juga dinamakan sebagai Linguistik Term). Masing-masing TERM memuat nama
peubah serta fungsi keanggotaannya. Contohnya (masih untuk Gambar 2) adalah sebagai berikut
(Perhatikan bahwa kami menentukan TERM berdasarkan kordinat yang tertera pada Gambar 2).
FUZZYFY Temperatur
TERM Rendah := (0,0) (75,1) (150,0);
TERM Sedang := (150,0) (225,1) (300,0);
TERM Tinggi := (300,0) (375,1) (450,0);
TERM Sangat_Tinggi := (450,0) (525,1) (600,0);
END_FUZZYFY
Selanjutnya, dengan cara serupa kami bisa menentukan peubah-peubah deffuzification-nya. Sebagai
contoh, misalkan untuk keadaan (yang dinyatakan sebagai Curah_Hujan) Rendah kita dianjurkan
menggunakan lahan sebagai Area Rekreasi atau Pembuangan Limbah, jika Curah_Hujan Rendah
dan Sedang, kita dianjurkan menggunakan lahan sebagai Pemukiman atau Industri, sementara jika
keadaan (baca : Curah_Hujan)-nya Tinggi dan Sangat_Tinggi, kita dianjurkan menggunakan lahan
sebagai area Kehutanan. Dengan aturan (rule) seperti ini, maka blok DEFUZZYFY-nya secara umum
akan terlihat sebagai berikut.
DEFUZZYFY Karakteristik_Lahan
TERM Area_Rekreasi := (0,0) (75,1) (150,0);
TERM Pembuangan_Limbah := (0,0) (75,1) (150,0);
TERM Pemukiman := (0,0) (150,1) (300,0);
TERM Industri := (0,0) (150,1) (300,0);
TERM Kehutanan := (300,0) (450,1) (600,0);
METHOD : COG;
DEFAULT := 0;
END_ DEFUZZYFY
Dalam hal di atas, selanjutnya kita bisa mendefinisikan metoda defuzzifier yang akan digunakan.
Misalnya kita akan menggunakan CenterOfGravity (COG) sebagai metoda defuzzifier yang akan
digunakan secara default, maka kita bisa menambahkan 2 pernyataan terakhir pada berkas FCL yang kita
buat di atas.
Terakhir, kita bisa mendefinisikan „aturan main‟ (rule) yang digunakan. Dalam hal ini, sesungguhnya kita
bisa mancantumkannya dalam blok RULEBLOCK dalam berkas FCL yang bersangkutan. Pertama kali,
kita bisa mendefinisikan beberapa operator yang digunakan dalam RULEBLOCK.
RULEBLOCK Penentuan_Karakteristik_Lahan
AND : MIN;
ACT : MIN;
ACCU : MAX;
IF Curah_Hujan IS Rendah THEN
Karakteristik_Lahan IS Area_Rekreasi;
IF Curah_Hujan IS Rendah THEN
Karakteristik_Lahan IS Pembuangan_Limbah;
IF Curah_Hujan IS Rendah OR Sedang THEN
Karakteristik_Lahan IS Pemukiman;
IF Curah_Hujan IS Rendah OR Sedang THEN
Karakteristik_Lahan IS Industri;
IF Curah_Hujan IS Tinggi OR Sangat_Tinggi THEN
Karakteristik_Lahan IS Kehutanan;
END_RULEBLOCK
Seperti dapat kita lihat di atas, kami menggunakan MIN untuk operator AND (juga secara implisit
menggunakan MAX untuk operator OR sesuai dengan aturan Hukum DeMorgan [3]) dan kami juga
menggunakan metoda aktivasi MIN dan menggunakan metoda akumulasi MAX, yang berarti jika ada
lebih dari satu nilai crisp yang memiliki derajad keanggotaan maksimum maka akan diambil salah satu
nilai maksimum yang dijumpai pertama kali [3].
// Impor kelas FIS dari paket JFuzzyLogic
import net.sourceforge.jFuzzyLogic.FIS;
public class TestFuzzy {
public static void main(String[] args) throws Exception {
// Memanggil berkas FCL
String fileName = "C:\\Lahan.fcl";
FIS fis = FIS.load(fileName,true);
// Ada kesalahan dalam memanggil berkas FCL?
if (fis == null) {
System.err.println("Can't load file: " + fileName + "'");
return;
}
// Menampilkan/menggambarkan grafik asupan (input).
fis.chart();
// Melakukan pengaturan asupan (input).
fis.setVariable("Curah_Hujan",375);
// Melakukan evaluasi.
fis.evaluate();
// Menampilkan grafik peubah (variabel).
fis.getVariable("Karakteristik_Lahan").chartDefuzzifier(true);
// Mencetak aturan.
System.out.println(fis);
}
}
Gambar 3 : Program Java Untuk Perhitungan Logika Fuzzy
Setelah kami menyelesaikan pembuatan berkas FCL menggunakan langkah-langkah di atas, selanjutnya
kami bisa memprosesnya menggunakan bahasa pemrograman Java seperti terlihat pada Gambar 3 di atas.
(Dalam contoh di atas, kami mencoba memasukkan nilai 375 untuk nilai Curah_Hujan.)
Gambar 4 : Peta Daerah Penelitian (Kab. Semarang)
Demikianlah, menggunakan langkah-langkah di atas, kami bisa menyelesaikan permasalahan perhitungan
logika fuzzy dengan cara yang relatif mudah. Selanjutnya, kami akan menggunakan langkah-langkah yang
ekivalen dengan apa yang telah kami lakukan di atas untuk menyelesaikan permasalahan kami
sesungguhnya, yaitu menentukan kesesuaian lahan di daerah penelitian (Kabupaten Semarang).
III PENERAPAN METODA LOGIKA FUZZY UNTUK PENENTUAN
KESESUAIAN LAHAN
Paket JFuzzyLogic 2.0.8 dapat dengan mudah dipasang (di-instal) pada IDE Eclipse 3.7.0 (Indigo).
Paket ini bekerja dengan memanfaatkan FCL (Fuzzy Control Language). Tentu saja kelas-kelas dalam
paket ini (beserta bahasa pemrograman Java yang memuatnya [9]) hanyalah sekedar alat perhitungan
logika fuzzy. Untuk dapat memanfaatkan kelas-kelas dalam paket JFuzzyLogic 2.0.8 ini dengan baik,
yang pertama kali perlu dilakukan adalah menentukan kriteria-kriteria (serta sub-subkriteria) untuk
perhitungan logika fuzzy [1, 3, 5, 6, 10]. Penentuan kriteria-kriteria (serta sub-subkriteria) perhitungan tata
guna lahan tentunya tidak bisa dilakukan secara sembarangan [15, 19, 20, 21]. Dalam hal ini, untuk
melakukan penentuan kriteria-kriteria (serta sub-subkriteria) perhitungan logika fuzzy, kami merujuk
pada Pedoman Penyusunan Rencana Tata Ruang Wilayah Kabupaten (UU No. 26 Tahun 2007 Tentang
Penataan Ruang) yang dikeluarkan oleh Badan Kordinasi Penataan Ruang Nasional – Republik Indonesia
25] serta beberapa acuan yang relevan lainnya [4, 5, 7, 10, 11, 14, 15, 19, 20, 21]. Dalam hal ini, kriteria-
kriteria (dan sub-subkriteria) penentuan kesesuaian lahan adalah sebagai berikut.
Ketersediaan air (curah hujan, kelembaban udara, drainase, luas akuifer di bawah permukaan).
Ketersediaan oksigen (drainase, kemiringan lereng).
Bentang alam/morfologi (fisiografi, kemiringan lereng, kepekaan erosi, tingkat erosi).
Jenis vegetasi (hutan, sawah, ladang).
Kondisi tanah (drainase, tekstur, jenis batuan, jenis tanah, ketebalan tanah).
Jaringan jalan (arteri primer, sekunder, kolektor primer, sekunder).
Suhu.
Tabel 1 : Karakteristik Lahan Untuk Berbagai Area Peruntukan
Karakteristik Lahan Pemukiman Industri Kehutanan Area
Rekreasi
Pembuangan
Limbah Ketersediaan Air.
Curah hujan
Kelembaban udara
Drainase
Luas akuifer di bawah
permukaan.
100-300 mm.
40-70% Sedang.
41-79 m3.
100-300 mm.
40-70% Sedang.
41-79 m3.
200-600 mm.
>70% Sedang.
>80 m3.
0-100 mm.
40-70% Sedang.
41-79 m3.
0-100 mm.
40-70% Sedang.
41-79 m3.
Ketersediaan oksigen.
Drainase
Kemiringan lereng.
Sedang.
0-8%
Sedang.
0-8%
Sedang.
0-65%
Sedang.
2-30%
Sedang.
0-8%
Bentang alam/morfologi.
Fisiografi.
Kemiringan lereng.
Kepekaan erosi.
Tingkat erosi.
Datar. 0-2%
0,49
Tidak rentan.
Datar 0-2%
0,49
Tidak rentan.
Berombak-
Curam 2-40%
>0,49
Rentan.
Berombak-
Curam 2-25%
0,49
Tidak rentan.
Datar-berombak 0-2%
0,49
Tidak rentan.
Jenis vegetasi
Hutan.
Sawah.
Ladang.
Tidak luas. Luas.
Sedang.
Tidak luas. Sedang.
Sedang.
Sangat luas. Sedang.
Sedang.
Luas. Luas.
Sedang.
Tidak luas. Tidak luas.
Sedang.
Kondisi tanah.
Drainase.
Tekstur tanah atas.
Tekstur tanah bawah.
Jenis tanah.
Jenis batuan.
Ketebalan tanah.
Permeabilitas tanah.
Sedang.
Sedang. Halus-sedang.
Halus-sedang.
Halus-sedang.
< 90 cm.
2.0-6.25 cm/jam
Sedang.
Sedang. Halus-sedang.
Halus-sedang.
Halus-sedang.
< 90 cm.
2.0-6.25 cm/jam
Sedang.
Halus-kasar. Halus-sedang.
Halus-kasar.
Halus-kasar.
> 90 cm.
2.0-6.25 cm/jam
Jarang.
Halus-kasar. Halus-kasar..
Halus-kasar.
Halus-kasar.
> 90 cm.
2.0-6.25 cm/jam
Sedang.
Halus-sedang. Halus-sedang.
Halus-sedang.
Halus-kasar.
< 90 cm
> 6.25 cm/jam
Jarak jaringan jalan.
Arteri utama.
Arteri sekunder.
Kolektor primer.
Kolektor sekunder.
3-5 km.
3-5 km.
1-3 km.
1-3 km.
3-5 km.
3-5 km.
1-3 km.
1-3 km.
> 5 km.
> 5 km.
> 5 km.
> 5 km.
> 5 km.
> 5 km.
1-3 km.
1-3 km.
> 5 km.
> 5 km.
1-3 km.
1-3 km.
Suhu. 19-25 derajad C 19-25 derajad C < 33 derajad C 19-25 derajad C < 33 derajad C
Tabel 2 : Contoh Aturan (Rule) Untuk Penentuan Kesesuaian Lahan
Kode FCL (Fuzzy Controler Language)
Penentuan Kesesuaian Lahan Pemukiman IF (Curah Hujan IS Sedang AND Kelembaban Udara IS Sedang AND Drainase IS Baik AND Luas
Akuifer IS Besar) OR (Drainase IS Baik AND Kemiringan Lereng IS Landai) OR (Fisiografi
IS Datar AND Kemiringan Lereng IS Landai AND Kepekaan Erosi IS Rendah AND Tingkat
Erosi IS Tidak Rentan) OR (Hutan IS Tidak Luas AND Sawah IS Luas AND Ladang IS Sedang)
OR (Drainase IS Sedang AND Tekstur Tanah Atas IS Sedang AND Tekstur Tanah Bawah IS
Sedang AND Jenis Batuan IS Sedang AND Jenis Tanah IS Sedang AND Ketebalan Tanah IS
Sedang AND Permeabilitas IS Sedang) OR (Arteri Utama IS Dekat AND Arteri Sekunder IS
Dekat AND Kolektor Primer IS Dekat AND Kolektor Sekunder IS Dekat) OR (Suhu IS Sedang)
THEN Area IS Pemukiman
Data yang kami miliki untuk studi kasus di Kabupaten Semarang adalah seperti yang diperlihatkan
melalui kolom Karakteristik Lahan pada Tabel 1 di atas dengan karakteristik-karakteristik peruntukan
lahan seperti yang diperlihatkan melalui kolom-kolom lainnya. Data yang kami peroleh di lapangan bisa
diolah menggunakan metoda logika fuzzy seperti yang telah kami bahas sebelumnya untuk menentukan
kesesuaian lahan untuk area dimana data yang bersangkutan diambil. Dalam hal ini, nilai-nilai crisp yang
ada di dalam data hasil perolehan di lapangan bisa dimasukkan ke dalam program bahasa Java yang
memanfaatkan kelas-kelas yang ada di dalam paket JFuzzyLogic 2.0.8 yang menghasilkan nilai
kualitatif tertentu yang bisa digunakan untuk melakukan penilaian area tertentu berkaitan dengan
kesesuaian lahannya. Program Java yang kami buat tentu saja tidak akan serta merta menunjukkan
kesesuaian lahan untuk area tertentu [9]. Perlu dibuat aturan-aturan (rule) sedemikian rupa sehingga
program bahasa Java yang kami buat bisa menentukan kesesuaian lahan untuk area tertentu. Adapun
contoh dari aturan-aturan itu (dalam bentuk FCL) terlihat seperti pada Tabel 2 di atas (tentunya untuk
peruntukan lahan yang lain, perlu dibuat FCL menggunakan teknik yang serupa).
Kelas-kelas dalam paket JFuzzyLogic 2.0.8 yang ditulis menggunakan bahasa pemrograman Java adalah
kakas (tool) yang sangat membantu kami melakukan pengambilan keputusan saat metoda logika fuzzy
yang digunakan sebagai basis untuk pengambilan keputusan. Meski demikian, ada aturan yang harus
diikuti. Dalam hal ini, untuk bisa memanfaatkan kelas-kelas yang ada dalam paket JFuzzyLogic 2.0.8
dengan baik, kami mengikuti langkah-langkah berikut ini.
1. Peta Kabupaten Semarang (Gambar 4) kami bagi-bagi menjadi grid-grid berukuran 1x1 km2.
2. Untuk masing-masing grid, kami memasukkan data (spasial dan non-spasial) yang kami miliki
dan menghitungnya menggunakan metoda logika fuzzy (khususnya menggunakan model
inferensi yang ditulis menggunakan FCL [Fuzzy Controler Language] yang diintegrasikan
dengan kelas-kelas yang ada di dalam paket JFuzzyLogic 2.0.8).
3. Hasil perhitungan (yang merupakan kesesuaian-kesesuaian area untuk lahan tertentu)
digambarkan pada masing-masing grid yang ada pada peta Kabupaten Semarang dengan
berlandaskan Pedoman Penyusunan Rencana Tata Ruang Wilayah Kabupaten (UU No. 26 Tahun
2007 Tentang Penataan Ruang) yang dikeluarkan oleh Badan Kordinasi Penataan Ruang
Nasional – Republik Indonesia dan beberapa acuan yang relevan lainnya. Dengan cara seperti
ini, kami bisa memilih area-area kesesuaian lahan untuk pemukiman, industri, kehutanan,
rekreasi, serta tempat pembuangan limbah.
4. Menggunakan perangkat-perangkat lunak SIG (Sistem Informasi Geografis) (misalnya ArcGIS),
pada peta Kabupaten Semarang dibuat peta yang menggambarkan area-area yang memiliki jenis
kesesuaian lahan yang sama akan diberi warna-warna yang sama pula [8, 11].
Demikianlah, secara garis besar telah kami sampaikan apa yang kami lakukan saat kami melakukan
penelitian kami. Tulisan kami ini memang tidak menekankan pada hasil, alih-alih lebih menekankan pada
model serta prosedur yang kami gunakan/lakukan untuk mendapatkan hasil berupa gambaran pada SIG
yang menunjukkan area-area kesesuaian lahan untuk pemukiman, industri, kehutanan, rekreasi, serta
tempat pembuangan limbah. Melalui tulisan ini, kami berharap pembaca bisa mendapat gambaran meluas
tentang pekerjaan penentuan area kesesuaian lahan menggunakan metoda logika fuzzy yang difasilitasi
dengan penggunaan kelas-kelas yang ada di dalam paket JFuzzyLogic 2.0.8 yang berbasis pada bahasa
pemrograman Java dan, menggunakan teknik yang sama, dapat menerapkannya untuk daerah-daerah
yang lainnya sesuai dengan kebutuhan.
IV KESIMPULAN
Kombinasi penggunaan metoda logika fuzzy (yang difasilitasi paket JFuzzyLogic 2.0.8) dengan
perangkat-perangkat lunak SIG seperti ArcGIS, ArcView, dan sebagainya, sesungguhnya memungkinkan
para pengambil keputusan dapat melakukan pengambilan keputusan dengan baik (meskipun data yang
dimilikinya bersifat deskriptif dan kualitatif) dan menghasilkan keputusan-keputusan yang berkualitas.
Meski demikian, perhitungan metoda logika fuzzy dengan teknik untuk menampilkannya dalam bentuk
SIG belum terintegrasi dengan baik. Perangkat lunak perhitungan menggunakan logika fuzzy belum
terintegrasi dengan perangkat lunak SIG. Riset selanjutnya mungkin bisa dilakukan dengan membuat
modul-modul perhitungan menggunakan logika fuzzy yang terintegrasi di dalam perangkat-perangkat
lunak SIG yang ada saat ini. Dengan cara seperti ini, pengolahan data yang serupa dengan penentuan
kesesuaian lahan bisa dilakukan dengan mudah dan terintegrasi dari dalam perangkat lunak SIG.
DAFTAR PUSTAKA
1. Al-Shalabi, Mohamed, Shattry Ben Mansoor, Nordin bin Ahmed, Rashidd Shiriff, 2006. GIS
Multicriteria Approaches to Housing Site Suitability Assesment. XXIII FIG Congress, Munich,
Germany.
2. Cingolani, Pablo. Tutorial mengenai kelas JFuzzyLogic 2.0.8. http://jfuzzylogic.sourceforge.net/.
Diakses 2 Mei 2011.
3. Hartati, Sri, Imas S. Sitanggang, 2010. A Fuzzy-based Decission Support System for Evaluating Land
Suitability and Selecting Crops. Journal of Computer Science 6 (4): 417-424, 2010, ISSN 1549-
3636,©2010 Science Publications.
4. Joerin, Florent, Marius Theliaurt, Andre Mussy, 2000. Using GIS and Outranking Multicriteria
Analysis for Land-Use Suitability. Int. J. Geographical Information Science, 2001, vol. 15, no. 2, 15-
174, ISSN 1365-8816 print/ISSN 1362-3087 online © 2001 Taylor & Francis Ltd.
5. Kingham, R.A., Chartres C.J., Ivkovic K.M., Mullen I.C., Johnstom R.M., Sims J., Kirby J.M. 2002.
Integrating Biophysical and Economic Data Using GIS/DSS to Access Irrigation Suitability foR
Specific Crops. Bureau of Rural Science, Australia.
6. Lotfi, Sedigheh, Kiumars Habibi, Mohammad Javad Koohsari, 2008. Spatial Analysis of Urban Fire
Stations by Integrating AHP Model and IO Logic Using GIS (A Case Study of Zone 6 Tehran).
Journal of Applied Science 8 (19): 3302-33015, 2008, ISSN 1812-5654,©2010 Science Publications.
7. Mokaram, M., F. Amenzadeh, 2005. GIS-based Multicriteria Land Suitability Evaluation Using
Ordered Weight Averaging with Fuzzy Quantifier : A Case Study in Shavur Plain, Iran. International
Journal of Geographical Information System.
8. Muller, Markus, 2010. Modul-modul Sistem Informasi Geografis. GIS Service Center (GSC) Dishut
Provinsi Kalimantan Barat ([email protected]).
9. Nugroho, Adi, 2008. Pemrograman Java Untuk Aplikasi Basis Data Dengan Teknik XP
Menggunakan IDE Eclipse. Penerbit ANDI OFFSET, Jogyakarta.
10. Pavloudakisa, F., M. Galetakis, Ch. Roumpos, 2009. A Spatial Decision Support System for the
Optimal Environmental Reclamation of Open-pit Coal Mines in Greece. International Journal of
Mining, Reclamation and Environment Vol. 23, No. 4, December 2009, 291–303.
11. Puntodewo, Atie, Sonya Dewi, Josupta Tarigan, 2003. Sistem Informasi Geografis Untuk
Pengelolaan Sumber Daya Alam. Center for International Forestry Research (CIFOR), Jakarta.
12. Ross, Timothy, 2004. Fuzzy Logic with Engineering Applications. John Willey&Sons, Ltd., West
Sussex, England.
13. Ruan, Da, Chongfu Huang. Fuzzy Set and Fuzzy Information Granulation Theory . Beijing Normal
University Press, Beijing.
14. Sasikala, K.R., Petrou M., Kittler J. Fuzzy Classification with a GIS as an Aid To Decision Making.
Dept. Electrical and Electronic Engineering, University of Surrey, Guildford, UK.
15. Suroso, Djoko Santoso Abi, 2010. Perencanaan Pedesaan : Metoda Penentuan Kemampuan Lahan
Untuk Alokasi Pemanfaatan Ruang. http://www.scribd.com/doc/54585932/11/Evaluasi-Kesesuaian-
Penggunaan-Lahan. Diakses 7 Mei 2011.
16. Suyanto, 2007. Artificial Intelligence : Searching, Reasoning, Planning, and Learning . Penerbit
INFORMATIKA, Bandung.
17. Temiz, Nurcan, Vahap Tecim, 2009. Geographic Information System as a Decission Support System
in Forest Management. SDU Journal of Science (e-Journal). 2009, 4(2), 213-223.
18. Zadeh, Lotfi A., King-Sun Fu, Kokichi Tanaka, Masamichi Shimura, 1974. Fuzzy Sets and Their
Applications to Cognitive and Decision Processes. Proceeding of American-Japan Seminars on
Fuzzy Logic, University of California-Berkeley.
19. Karakteristik pemukiman sehat. http://helpingpeopleideas.com/publichealth/permukiman-sehat-2/.
Diakses 9 Mei 2011.
20. Klasifikasi curah hujan. http://kehidupan-disamarinda.blogspot.com/2008/12/perkiraan-curah-hujan-
januari-2009. Diakses 9 Mei 2011.
21. Luas akuifer untuk pemukiman. http://www.kelair.bppt.go.id/Sitpa/Artikel/Sumur/sumur.html.
Diakses 9 Mei 2011.
22. _______, 1997. Programmable Controllers : Fuzzy Control Programming. International Electrotechnical (IEC) Technical Comitee No. 65: Industrial Process Measurement and Control Sub-Comitee 65 B: Devices.
23. ________. Kabupaten Semarang Dalam Rangka Tahun 2010. Kerjasama Bapeda Kabupaten
Semarang dan Badan Pusat Statistik Kabupaten Semarang.
24. ________. Paket JFuzzyLogic 2.0.8. http://www.mcb.mcgill.ca/~pcingola/jFuzzyLogicUpdateSite/.
Diakses 1 Mei 2011.
25. ________, 2007. Pedoman Penyusunan Rencana Tata Ruang Wilayah Kabupaten. Badan Kordinasi
Penataan Ruang Nasional – Republik Indonesia. www.bkprn.org (Diakses 22 April 2011).
26. ________. Penjelasan tentang proses defuzzification. http://en.wikipedia.org/wiki/Defuzzification.
Diakses 31 Mei 2011.