PRINSIP-PRINSIP PENDEKATAN SOFTCOMPUTING PADA TEKNIK KENDALI CERDAS Oleh: Utis Sutisna Dosen STT Wiworotomo Purwokerto ABSTRACT Softcomputing or computational intelligence is combination of control engineering development with qualitative approach, which then is called as fuzzy logic control, artificial neural network, which is adopted from physical modeling of biologocal neural network, and optimization technique development, which is based on evolution principles such as genetic algorithm, evolutionary programming, evolution strategies, genetic programming. Softcomputing is not a single method that work alone in problem solving, but it is colaboration between the above methods, with the resut that positive side of each method may offer contribution. Although computational intelligence application may tend to encompass all aspectc of fields, but its application in control engineering called as intelligent control nowdays dominates treasure of knowledge. Keywords: softcomputing, fuzzy logic, artificial neural network, genetic algorithm, intelligent control.
PENDAHULUAN Dalam merancang kendali otomatis, model dari plant yang akan dikendalikan haruslah diketahui terlebih dahulu. Berdasarkan model yang diperoleh dan itu biasanya sangat sulit dan memakan waktu, resiko serta biaya yang tidak sedikit, maka perancang akan melakukan perancangan kendali dengan teknik-teknik yang telah banyak dikemukakan para ahli teknik kendali, seperti teknik tanggapan frekuensi, rool-lonnes, state-space dan pengendali optimal. Teknik tersebut telah terbukti mampu memecahkan banyak sekali persoalan kendali mulai dari tracking antenna, pengendalian proes industri, pengendalian pesawat ruang angkasan dan manajemen. Teknik-teknik di atas hanya terbatas untuk proses atau plant yang variasinya dari model linier tak tergantung waktunya relatif kecil dan terbatas (bounded) dan batasnya telah diketahui. Tetapi, banyak sekali proses yang modelnya tidak dapat dinyatakan dengan persamaan linier tak tergantung waktu. Juga, teknik-teknik tersebut sama sekali mengabaikan pengetahuan kwalitatif yang ada seperti pengalaman operator. Di pihak lain, telah terjadi suatu perkembangan teknik kendali yang berangkat dari pendekatan kualitatif, yang kemudian dikenal sebagai kendali logika fuzzy, serta teknik jaringan syarat tiruan, yang berangkat dari pemodelan fisik jaringan syarat biologis. Teknik kendali fuzzy mampu mengadopsi pengetahuan operator menjadi aturan-aturan fuzzy, yang dikenal dengan teknik ‘human-based expert’. Teknik jaringan syarat tiruan memiliki kemmapuan belajar, fault tolerant, serta kemampuan generalisasi permasalahan. Perkembangan lain adalah ditemukannya teknik-teknik optimisasi yang berdasarkan prinsip-prinsip evolusi seperti algoritma genetika, evolutionary programming, evolution strategies, genetic programming, yang kemudian aplikasinya banyak menarik minat peneliti berbagai bidang untuk memanfaatkannya. Di bidang teknik kendali, aplikasi teknik optimasi ini telah banyak diaplikasi. 7
Meskipun semula perkembangan masing-masing teknik di atas saling independen, tetapi kemudian teknik-teknik tersebut dikombinasikan yang kemudian dikenal sebagai softcomputing atau computational intelligance. Dengan demikian keunggulan dari masingmasing teknik itu dapat dikombinasikan sehingga banyak sekali masalah-masalah teknik itu dapat dikombinasikan sehingga banyak sekali maslaah-masalah rekayasa dapat dipecahkan, seperti autonomus mobile robot, pemrosesan sinyal multi-channel, dan pendeteksi kerusakan dini motor. Meski pun penerapan computational intelligence bisa mengarah ke pelbagai bidang yang hampir tak terbatas tetapi penerapannya di bidang teknik kendali (yang kemudian dikenal sebagai teknik kendali cerdas/intelligent control) yang mendominasi khazanah keilmuan akhir-akhir ini. DEFINISI SOFTCOMPUTING Berbagai macam definisi softcomputing diberikan oleh para ahli. Salah satu definisinya adalah sebagaimana disampaikan oleh pencetus softcomputing, yaitu Prof. Lotfi A. Zadeh, di Homepage Berkeley Initiative in Softcomputing (BISC), sbb. “Berbeda dengan pendekatan konvensional hardcomputing, softcomputing dapat bekerja dengan baik walaupun terdapat ketidakpastian, ketidakakuratan maupun kebenaran parsial pada data yang diolah. Hal inilah yang melatarbelakangi fenomena dimana kebanyakan metode softcomputing mengambil human-mind sebagai model.”. Mengapakah human-mind merupakan model yang menarik bagi pengembangan softcomputing? Kunci dari pertanyaan ini sebenarnya terletak pada struktur dan fungsi dari otak manusia. Otak manusia merupakan mesin molekuler, yang terdiri dari dua jenis sel: neuron dan glia. Dalam otak kita terdapat sekitar 1011 sel neuron, sedangkan sel glia sekitar 3 sampai 4 kali lipatnya. Sel neuron berfungsi sebagai pemroses informasi yang diterima oleh otak. Sel neuron terhubung antara satu dengan yang lain dengan benang-benang panjang. Berat otak manusia saat lahir sekitar 400 gram, sedangkan saat dewasa sekitar 1500 gram. Pertambahan berat ini disebabkan oleh bertambah panjangnya benang-benang tersebut, disamping pertambahan sel glia. Pertambahan panjang ini berkaitan erat dengan proses pembelajaran yang dialami oleh manusia. Hal ini merupakan ide awal bagi pengembangan metode softcomputing: artificial neural network, yang memiliki kemampuan pembelajaran terhadap informasi yang telah diterima. Selain kemampuan pembelajaran, otak manusia juga memiliki kemampuan untuk mengambil keputusan walaupun informasi mengandung unsur ketakpastian dan kekurangtegasan, seperti “manis”, “pahit”, “tinggi”, “rendah”, dsb. Hal ini merupakan konsep yang mendasari pengembangan metode fuzzy, yang mencerminkan cara berfikir manusia. Selain neural network dan fuzzy, masih banyak lagi jenis-jenis metode softcomputing, yang ide awalnya bersumber dari otak manusia maupun mekanisme biologi yang terdapat di alam semesta. TEKNIK KENDALI CERDAS (INTELLIGENT CONTROL) Untuk persoalan system kendali linier, telah banyak teknik yang telah dikembangkan dan terbukti sangat berhasil diimplementasikan untuk memecahkan masalah-masalah rekayasa di industri. Pengendali PID (proportional intergrator-deriative) merupakan jenis kendali yang terbukti ampuh untuk aplikasi di industri proses, sedangkan metode state space telah terbukti mampu menangani masalah pengendalian di angkasa, baik untuk pesawat terbang, peluru kendali dan satelit. Apabila akhir-akhir ini ada peneliti yang memanfaatkan teknik-teknik kendali cerdas untuk memeahkan persoalan kendali linier, maka pada hakikatnya merupakan pekerjaan yang sedikit sumbangan bagi pengembangan iptek kendali. Hal itu karena untuk setiap jawaban teknik kendali cerdas untuk sistem linier selalu akan 8
ditemukan jawaban yang setara dari teknik kendali linier. Untuk sistem linier, maka telah banyak teori-teori kendali yang berbasis model yang cukup handal untuk memecahkan masalah tersebut. Kendali cerdas dibutuhkan untuk suatu sistem yang kompleks, taklinier, fungsi waktu, stokastik dan sukar didefinisikan (ill-defined). Teknik kendali cerdas pertama kali diusulkan oleh Fu dan didefinisikan sebagai suatu pendekatan untuk pembangkitan aksi kendali dengan memanfaatkan kecerdasan buatan, riset operational, sains komputer, teori pendekatan (apromixamition theory) dan system kendali. Gambar 1 menunjukkan hubungan antar komponen tersebut yang kemudian membentuk kendali cerdas.
Dinamika
Optimisasi
Umpan balik
Teori Kendali
Manajemen Riset Perencanaan Operasiona l Koordinasi
Komunikasi Object-oriented design Sains
Komputer
Neuristik
Memori
Pembelajaran
Distributed processing
Kecerdasan Buatan
Gambar 1 Teknik-teknik yang digunakan dalam kendali cerdas
Perkiraan nilai Persepsi situasi update
Pemrosesan sensor Masukan yang diobservasi
Masukan yang diprediksi
sensor
Perencanaan Evaluasi
Hasil Perencanaan
Evaluasi situasi
Data base Model Dunia
Perencanaan
aktuator
Kejadian
Lingkungan
Pembangkitan sifat
Keadaan
Aksi kendali
Aksi
Gambar 2 Paradigma sifat sistem cerdas Kendali cerdas tidak didefinisikan dalam bentuk algoritma yang spesifik (meskipun kadang-kadnag ada peneliti yang sering mengklaim demikian), melainkan teknik ini menggunakan metode yang dapat merasakan (sense) dan menalar (reason) lingkungannya (tanpa pengetahuan a priori yang rinci), dan melakukan kendali secara fleksibel, adaptif dan kokoh (robust). Keinginan untuk meningkatkan produktivitas dan adanya system yang kompleks telah meningkatkan gairah penelitian dalam bidang autonomi dan integrasi sistem yang berhubungan dengan kebutuhan akan arsitektur sistem, kendali belajar, pemrosesan
9
sinyal dan fusi data, assessment situasi dan kendali sistem cerdas secara keseluruhan (termasuk perencanaan, perencanaan ulang, persiapan misi dan lain sebagainya). Titik persoalan dari kendali cerdas adalah (sebagaimana teknik kendali yang lain) pembuatan model dari proses. Tetapi banyak sekali proses yang kompleks tidak dapat dinyatakan dalam bentuk matematika yang diturunkan dari hukum-hukum dasar, karena prosesnya bisa jadi: • Terlalu kompleks untuk dimengerti • Modelnya terlalu mahal atau sulit dievaluasi • Pada prosesnya terjadi gangguan dari lingkungan yang besar dan tidak dapat diprediksi. • Proses mungkin saja terdistribusi tidak merata (artinya variabel fisiknya tergantung posisi dan waktu), taklinier, tidak lengkap, stokastik sehingga tidak dapat dimodelkan dengan persamaan diferensial tinler. Memang hal itu seringkali dapat ditangani oleh operator yang handal, karena operator tersebut mampu menangani ketidaklinieran proses, parameter yang secara pelahan berubah sekaligus mampu memecahkan kendala statik maupun dinamaik. Operator manusia mampu menanggapi sekumpulan data-data pengamatan yang bercampur noise. Kecerdasan operator inilah yang kemudian menjadi perhatian peneliti kendali cerdas, bagaimana agar dapat dicari suatu teknik yang mampu menirukan kemampuan operator ini dinyatakan dalam bentuk algoritma maupun teknik-teknik cerdas. Pendekatan ke Kendali Cerdas Pada hakekatnya peneliti kendali cerdas hanya bisa meniru fenomena alam ciptaan Allah SWT (itupun dengan kemampuan yang amat sangat terbatas). Tentu saja kemudian peneliti berusaha menemukan pendekatan-pendekatan yang memadai agar mampu memahami fenomena yang kompleks tersebut. Kuncinya adalah bagaimana peneliti mampu menangkap dan merepresentasikan fenomena kecerdasan yang banyak dimiliki makhluk di alam raya ini. Meskipun pada awalawal penelitian kecerdasan buatan ada bidang yang kemudian dikenal sebagai sistem pakar (expert system), tetapi kemudian ternyata metode soft-computing atau computational intelligence yang kemudian lebih mendapat perhatian karena telah mampu menunjukkan kebolehannya dalam penyelesaian banyak permasalahan kendali. Seperti telah dikemukakan di atas, metode ini berintikan pada tiga hal yaitu logika fuzzy, jaringan syarat tiruan dan algoritma genetika. Berikut ini akan dibahas secara ringkas ketiga hal tersebut. 1. Logia Fuzzy (Fuzzy Logic) Menangkap kemampuan kecerdasan manusia sering kali merupakan cara yang sangat bermanfaat untuk membuat program komputer yang dapat menangani permasalahan nyata yang seringkali rumit. Tetapi kesulitan segera menghadang bagaimana mengubah kecerdsan itu menjadi aturan-aturan sifat yang crisp (tertentu) sedangkan manusia seringkali tidak betindak berdasarkan aturan (rule) yang kaku. Manusia sudah terbiasa dengan kalimat nanti kita bertemu sekitar jam 10.00, dan kelihatannya aneh dan menyulitkan apabila janji dengan kalimat “Kita ketemi di stasion jam 10:27:11”. Mungkin pada situasi tertentu kalimat kedua itu berguna, tetapi seringkali tidak. Perhatikan kalimat berikut: “Kalau ingin makan apel ini gigitlah dengan kekuatan 10,2 Newton.” Tentu saja itu adalah kalimat absurd yang hanya di ludrukan saja. Dengan kalimat “Kalau ingin makan apel ini gigitlah agak kuat, karena memang apel ini setengah matang.” Perhatikan bahwa kata-kata yang diketik tebal itu tidak memiliki batas-batas yang jelas, tetapi seringkali berguna dalam komunikasi dan kendali manusia dalam kehidupan sehari-hari. Kalimat itu memang ‘kabur’ alias fuzzy. 10
Karena itu dibutuhkan peralatan matematika yang memungkinkan kata atuapun kalimat yang bersifat fuzzy itu agar dapat dinyatakan dengan ‘persis’ persoalan fuzzy ini (Ini memang kelihatan kontradiksi, bila sesuatu yang sifatnya ‘kabur’ alias fuzzy yang kemudian dinyatakan secara baik dengan tool matematika yang memadai maka sesuatu itu menjadi ‘pasti’). Karena itulah maka Lotfi Zadeh menawarkan ide untuk menyajikan variabel fuzzy itu dalam konsep yang kemudian dikenal sebagai fungsi keangotaan (membership function) yang menjadi inti dari teori logika fuzzy yang terkenal itu. “Banyak pengambilan keputusan di dunia ini terjadi pada lingkungan di mana tujuan, kendala dan konsekuensi kemungkinan aksi-aksinya tidak diketahui secara pasti’, begitu pertimbangan Lotfi Zadeh ketika mengemukakan teorinya. Disamping fungsi keanggotaan, ada komponen kedua dari logika fuzy yaitu aturanaturan fuzzy (fuzzy rules), yaitu suatu aturan yang memungkinkan menterjemahkan aturanaturan fuzzy dari kecerdasan manusia menjadi program yang dapat diimplementasikan pada komputer. Setidak-tidaknya ada empat cara untuk menurunkan aturan-aturan fuzzy tersebut: • Dari pengetahuan ‘expert’ maupun diturunkan dari ilmu rekayasa yang bersesuaian. • Dari sifat/kemampuan operator, yang direka dan kemudian dilakukan analisis untuk menemukan aturan-aturan tersebut. • Dari penurunan berdasarkan model fuzzy dari sistem atau proses • Dari pembelajaran Fuzzy merupakan representasi suatu pengetahuan yang dikonstruksikan dengan if-then rules. Karakteristik dari metode ini adalah: Pemecahan masalah dilakukan dengan menjelaskan sistem bukan lewat angka-angka, melainkan secara linguistik, atau variabel-variabel yang mengandung ketakpastian/ketidaktegasan. Pemakaian if-then rules untuk menjelaskan kaitan antara satu variabel dengan yang lain. Menjelaskan sistem memakai algoritma fuzzy. Berawal dari paper-paper Zadeh di tahun 1965 mengenai fuzzy-sets, ilmu ini berkembang pesat, dan mulai menemukan aplikasinya di bidang kontrol pada tahun 1974. Pada saat itu, Mamdani memperkenalkan aplikasi fuzzy sebagai alat kontrol steam-engine. Hal ini merupakan momentum penting, sebagai awal bagi teknologi fuzzy untuk menemukan ladang aplikasi di dunia industri. Fuzzy memiliki kelebihan-kelebihan, diantaranya: ¾ Dapat mengekspresikan konsep yang sulit untuk dirumuskan, seperti misalnya “suhu ruangan yang nyaman”. ¾ Pemakaian membership-function memungkinkan fuzzy untuk melakukan observasi obyektif terhadap nilai-nilai yang subyektif. Selanjutnya membership-function ini dapat dikombinasikan untuk membuat pengungkapan konsep yang lebih jelas. ¾ Penerapan logika dalam pengambilan keputusan Dewasa ini, fuzzy merupakan salah satu metode yang memiliki aplikasi luas di bidang kontrol. Hal ini disebabkan antara lain: 9 Kontrol memiliki potensi aplikasi yang sangat luas dan dibutuhkan di berbagai bidang. 9 Kuantitas suatu materi dalam sistem kontrol sangat jelas, dan dapat diekspresikan dengan istilah-istilah yang fuzzy seperti “besar”, “banyak”. 9 Aturan dalam kontrol mudah untuk didefinisikan memakai kata-kata. Misalnya “jika suhu dalam ruangan terlalu dingin, naikkan suhu penghangat”. 9 Perkembangan teori fuzzy sangat pesat, sehingga batas-batasnya dapat dirumuskan dengan jelas.
11
2. Jaringan Syarat Tiruan (Artificial Neural Network) Neural Networks (Jaringan Saraf Tiruan) menurut Haykin didefinisikan sebagai berikut : “Sebuah neural network (JST: Jaringan Saraf Tiruan) adalah prosesor yang terdistribusi paralel, terbuat dari unit-unit yang sederhana, dan memiliki kemampuan untuk menyimpan pengetahuan yang diperoleh secara eksperimental dan siap pakai untuk berbagai tujuan. Neural network ini meniru otak manusia dari sudut : 1) Pengetahuan diperoleh oleh network dari lingkungan, melalui suatu proses pembelajaran. 2) Kekuatan koneksi antar unit yang disebut synaptic weights, berfungsi untuk menyimpan pengetahuan yang telah diperoleh oleh jaringan tersebut.” Sejak studi yang dilakukan oleh McCulloch dan Pitts untuk menggali potensi dan kemampuan komponen yang saling berhubungan berbasis model neuron biologis, maka banyak sekali peneliti yang kemudian mengembangkan apa yang dikenal sebagai jaringan syaraf tiruan, JST, (artificial neural network). Peneliti-peneliti perintis dalam bidang ini antara lain Rosenblatt, Werbos, Fukushima, Hopfield, Rumelhart dan McClelland, Lippman, Widrow, Kohonen, Miller, Sutton dan Narendra. Tidak seperti komputer konvensional, yang diprogram untuk melakukan tugas-tugas tertentu yang spesifik, JST adalah belajar atau berlatih untuk menangani tugas-tugas yang dibebankan kepadanya. Pemakai tidak memilih sekumpulan instruksi dari JST untuk dieksekusi agar dapat melaksanakan tugasnya. Tetapi yang dilakukan adalah pemakai memilih arsitektur jaringan yang sesuai, memilih pemberat awal yang sesuai dan menentukan algoritma pembelajaran yang memungkinkan JST mampu mepelajari pola dan asosiasi masalah yang dihadapi. Jaringan syaraf merupakan jaringan neuron, synapses, axons dan dendrites yang sangat kompleks. Paling tidak ada 2 x 1010 neuron, yang masing-masing 10.000 synapses yang tersebar pada masing-masing pohon dendrites yang memiliki synapses di axon dari satu neuron sebesar 10.000 juga. Pemodelan struktur ini secara rinci tentu saja akan merupakan suatu yang sangat tidak mungkin (setidaknya hingga saat ini), tetapi untunglah untuk keperluan rekayasa tidak diperlukan sebanyak itu. Maka kemudian banyak peneliti yang mengembangkan arsitektur-aristektur yang lebih sederhana, dengan tetap memakai prinsip jaringan syaraf, tetapi mampu memecahkan persoalan yang cukup rumit. Pada tahun 1943, Mc.Culloch dan Pitts memperkenalkan model matematika yang merupakan penyederhanaan dari struktur sel saraf yang sebenarnya.
Gambar 3 McCulloch & Pitts neuron model • •
Gambar 3 memperlihatkan bahwa sebuah neuron memiliki tiga komponen: synapse (w1 , w2 , …, wn) T alat penambah (adder) 12
•
fungsi aktifasi (f) Korelasi antara ketiga komponen ini dirumuskan pada persamaan (1).
(1) Signal x berupa vektor berdimensi n (x1 , x2 , …, xn)T akan mengalami penguatan oleh synapse w (w1, w2 , …, wn)T. Selanjutnya akumulasi dari penguatan tersebut akan mengalami transformasi oleh fungsi aktifasi f. Fungsi f ini akan memonitor, bila akumulasi penguatan signal itu telah melebihi batas tertentu, maka sel neuron yang semula berada dalam kondisi “0”, akan mengeluarkan signal “1”. Berdasarkan nilai output tersebut (= y), sebuah neuron dapat berada dalam dua status: “0” atau “1”. Neuron disebut dalam kondisi firing bila menghasilkan output bernilai “1”. Sebuah neural network dapat dianalisa dari dua sisi: bagaimana neuron-neuron tersebut dirangkaikan dalam suatu jaringan (arsitektur) bagaimana jaringan tersebut dilatih agar memberikan output sesuai dengan yang dikehendaki (algoritma pembelajaran). Algoritma pembelajaran ini menentukan cara bagaimana nilai penguatan yang optimal diperoleh secara otomatis. Berdasarkan arsitekturnya, neural network dapat dikategorikan, antara lain, singlelayer neural network, multilayer neural network, recurrent neural network, dsb. Berbagai algoritma pembelajaran antara lain Hebb’s law, Delta rule, Backpropagation algorithm, Self Organizing Feature Map, dsb. Berawal dari diperkenalkannya model matematika neuron oleh McCulloch & Pitts, penelitian di bidang neural network berkembang cukup pesat, dan mencapai puncak keemasan pertama pada era tahun 60, dan puncak kedua pada pertengahan tahun 80-an. Penelitian dalam bidang ini, dapat dibagi dalam tiga kategori: (1) Riset untuk meneliti proses informasi yang terjadi pada otak dan jaringan saraf. Tema ini merupakan porsi penelitian para ahli medis dan neuroscientist. (2) Penelitian teoritis untuk mendalami konsep dasar proses informasi pada otak. Kategori ini memerlukan ketajaman analisa matematika untuk menggali dasar-dasar teori dari proses tersebut. (3) Penelitian yang bertujuan memanfaatkan teori-teori yang telah ada untuk aplikasi. Dalam hal ini, perlu sekali memperhatikan tingkat akurasi sistem, dan menekan biaya serendah mungkin (low cost solution). Dewasa ini, neural network telah diaplikasikan di berbagai bidang. Hal ini dikarenakan neural network memiliki kelebihan-kelebihan sbb. a. Dapat memecahkan problema non-linear yang umum dijumpai di aplikasi 2. Kemampuan memberikan jawaban terhadap pattern yang belum pernah dipelajari (generalization) b. Dapat secara otomatis mempelajari data numerik yang diajarkan pada jaringan tersebut Banyak sekali arsitektur JST yang telah dikembangkan peneliti, termasuk Errrorbackpropagation, Hopfield, perceptron, CMAC, Kohonen, Adaptive Resonance Theory (ART) dan Radial Basis Function (RBF). Di antara jaringan tersebut Errror-backpropagation yang banyak dipakai (mencapai 80%).
13
3. Algoritma Genetika (Genetic Algorithm) Algoritma Genetika atau Genetic Algorithm (GA) merupakan teknik optimisasi yang ditiru dari proses evolusi makhluk hidup. Semula ini merupakan hasil samping dari suatu kerjasama penelitian antara ahli biologi dengan ahli komputer. Ahli biologi yang ingin menstimulasikan proses evolusi yang kemudian mengajak ahli komputer untuk merealisasikannya. Ternyata kemudian disadari bahwa proses evolusi tidak lain merupakan proses ciptaan Allah SWT untuk mengoptimasisasi bahwa proses evolusi tidak lain merupakan proses ciptaan Allah SWT untuk mengoptimisasi suatu persoalan. Kenyataan ini apat diamati dengan mudah, misalnya para ahli pertanian mampu menghasilkan jenis buah-buahan baru yang merupakan hasil perkawinan antara buah yang besar tetapi pahit dengan buah kecil tetapi manis. Hasilnya bisa jadi, adalah buah besar dan manis, bisa pula karena ‘kecelakaan’, buah kecil dan pahit. Itu adalah proses yang kelihatannya acak dan tidak terpola, tetapi seringkali menghasilkan sesuatu yang lebih baik dari induknya. Teknik ini sebenarnya teknik acak untuk menemukan nilai optimal dari suatu fungsi tetapi memanfaatkan prinsip-prinsip evolusi sehingga hasilnya lebih ‘terarah’ (karena itu teknik ini dikenal sebagai ‘guided random serach’). Prinsip evolusi tersebut adalah sebagai berikut: Suatu persoalan ditentukan terlebih dahulu kandidat pemecahannya, masing-masing kandidat disebut sebagai individu. Individu tersebut memiliki kromosom, yaitu sekumpulan gen. Gen itu adalah komponen pemecahan dari persoalan terebut. Sekumpulan individu itu dikenal sebagai populasi. Masing-masing individu tersebut kemudian dihitung daya tariknya yang dikenal sebagai nilai kebugaran (fitness value). Berdasarkan nilai-nilai tersebut maka akan terjadi saling tarik menarik antar individu (dengan proses tertentu, misalnya teknik roulette wheel untuk memilih pasangan yang akan kawin) sehingga terjadilah proses perkawinan. Dalam perkawinan tersebut maka terjadi proses pertukaran gen antar individu yang kawin itu. Ada dua operator utama dalam proses tersebut, yaitu perkawinan silang (crossover) dan mutasi. Dari proses perkawinan tersebut maka dihasilkan keturunan (anak). Anak-anak tersebut kemudian (setelah dewasa tentu saja) dikawinkan dengan langkah-langkah yang sama seperti di atas. Dalam prosesproses perkawinan di atas, ada parameter-parameter yang harus diset, yang apabila tepat maka akan dapat dihasilkan individu cukup baik. Apabila sebaliknya, maka akan dihasilkan individu sebaliknya pula. Hasil dari teknik algoritma genetika bukanlah global optimum (yaitu optimum untuk semua daerah pencarian) tetapi tidak mudah terperangkap pada local optimum (yaitu optimum untuk hanya daerah tertentu). Hasilnya adalah ‘acceptable optimum’, suatu hasil yang ke-optimumannya lumayan dan dapat diterima. Teknik ini baik untuk suatu persoalan yang rumit dan belum ada teknik optimisasinya. Bila persoalan yang akan dipecahkan telah ada teknik optimisasinya, maka teknik algoritma genetika ini tidak dianjurkan. Dasar-dasar GA digali oleh John Holland pada pertengahan tahun 70-an. GA adalah metode komputasi yang meniru proses evolusi dan seleksi alam. Metode ini sering dimanfaatkan untuk mencari nilai optimal suatu fungsi/permasalahan. Gambar 4 menunjukkan urutan tahapan dalam GA. Untuk mencari nilai optimal tersebut, pertama-tama parameter-parameter permasalahan ditransfer kedalam bentuk genetik sebuah kromosom individu yang disebut genotype. Kromosom ini terdiri dari sederetan string (misalnya angka “0” dan “1”) yang merupakan analogi dari rantai DNA: A, T, G dan C yang sebenarnya, pada tubuh makhluk hidup. Selanjutnya suatu populasi yang terdiri dari ribuan kromosom individu ini mengalami proses seleksi, crossover (persilangan) dan mutasi yang meniru proses biologi yang terjadi di alam. Operasi ini diulang-ulang, dari satu generasi ke generasi berikutnya. Kualitas suatu individu ditunjukkan oleh nilai fitness, yang diukur dengan suatu kriteria yang mencerminkan sejauh mana kromosom individu tersebut 14
mendekati nilai optimal yang diinginkan. Kriteria ini menjadi alat kontrol bagi proses evolusi, agar kondisi fitness generasi yang mendatang lebih baik daripada generasi-generasi sebelumnya. Setelah melewati ratusan atau mungkin ribuan generasi, proses evolusi ini akan menghasilkan individu-individu dengan nilai fitness yang tinggi. Hal ini mencerminkan diperolehnya jawaban yang merupakan pendekatan terhadap nilai optimal yang diinginkan.
Gambar 4 Urutan proses pada GA Beberapa keunggulan yang dimiliki oleh GA adalah sbb. a. GA memiliki kemampuan untuk mencari nilai optimal secara paralel, melalui proses kerjasama antara berbagai unit yang disebut kromosom individu. b. GA tidak memerlukan perhitungan matematika yang rumit seperti differensial yang diperlukan oleh algoritma optimisasi yang lain. Namun demikian GA memiliki juga kelemahan dan keterbatasan. a. Tidak memiliki rumusan yang pasti, bagaimana mentransfer parameter permasalahan ke dalam kode genetik. Dengan kata lain, hal ini memerlukan pengalaman dan wawasan dari desainer. b. Banyak parameter yang perlu diset secara baik agar proses evolusi dalam GA berjalan sesuai dengan yang diharapkan. c. Penentuan rumus menghitung fitness merupakan hal yang sangat penting dan mempengaruhi proses evolusi pada GA. Sayangnya tidak ada prosedur yang baku bagaimana menentukan rumus tsb. Dalam hal ini pengalaman dari desainer memegang peranan penting. Terlepas dari kendala yang ada, GA merupakan alternatif solusi yang dikenal cukup handal dalam berbagai masalah optimisasi. RISET DAN APLIKASI Dewasa ini penelitian di bidang softcomputing berkembang dengan pesat dan aplikasinya dapat ditemukan di berbagai bidang. Hal ini disebabkan softcomputing menawarkan solusi yang sangat sesuai dengan karakteristik informasi pada real-life domain yang senantiasa diikuti dengan faktor impresisi, ketidakpastian, dan memerlukan kemampuan pembelajaran. 15
Berawal dari pemakaiannya untuk alat kontrol mesin uap, dewasa ini fuzzy memiliki wilayah aplikasi yang luas terutama dalam bidang kontrol, robotika, pattern recognition, sistem cerdas, dll. Selain paper dan artikel yang dipublikasikan oleh berbagai journal ilmiah, diskusi mengenai fuzzy ini dapat diikuti di berbagai milis, maupun newsgroup seperti comp.ai.fuzzy. Arsip posting newsgroup ini dapat dibaca lewat http://groups.google.com/ dengan mengetikkan “comp.ai.fuzzy ” pada kotak pencarian. Neural Network memiliki aplikasi yang sangat luas di bidang pattern recognition, seperti voice recognition, character recognition maupun aplikasi-aplikasi pada bidang ekonomi, bisnis dan bioteknologi. Salah satu forum diskusi virtual (newsgroup) yang terkenal di bidang ini adalah comp.ai.neural-nets yang arsipnya dapat dilihat di google, dengan cara sama sebagaimana uraian sebelumnya. Kumpulan dari materi diskusi yang berlangsung sejak 1994 di forum ini, kemudian dirangkumkan oleh Warren Sale sebagai FAQ (Frequently Asked Questions) yang dapat dilihat arsipnya di ftp://ftp.sas.com/pub/neural/FAQ.html Aplikasi Genetic Algorithm dapat ditemukan di problem optimisasi seperti jobscheduling, optimisasi rute mobil, penentuan kandidat gen yang memiliki potensi kedokteran dan farmasi pada bidang bioinformatika. Salah satu forum diskusi yang cukup hangat mengenai riset di bidang GA adalah comp.ai.genetic (newsgroup). Arsip diskusi pada forum ini dapat dicari dengan cara sebagaimana diuraikan di atas. Selain itu, informasi mengenai Genetic Algorithm ini dapat juga dilihat pada situs http://www.aic.nrl.navy.mil/galist/ Salah satu journal yang didedikasikan untuk mempublikasikan penelitian di bidang softcomputing di antaranya adalah “Soft Computing - A Fusion of Foundations, Methodologies and Applications” terbitan Springer-Verlag Heidelberg. Journal lain adalah Applied Soft Computing yang diterbitkan oleh Elsevier. Disamping itu, paper mengenai teori dan aplikasi softcomputing dapat dibaca pada journal-journal IEEE, IEICE, maupun proseding seminar-seminar internasional dalam bidang tsb. Ciri khas dari softcomputing adalah penekanan pada partnership atau kerjasama yang saling menguntungkan dari berbagai metode yang ada. Tiap metode memiliki segi positif yang dapat disumbangkan secara komplementer, menutupi kekurangan dari metode yang lain. Contoh populer dari kerjasama komplementer ini adalah sistem neurofuzzy. Aplikasi dari kombinasi kedua metode ini dapat dimanfaatkan untuk sistem kontrol pada AC, mesin cuci dan berbagai macam alat kebutuhan sehari-hari konsumen. Kombinasi lain dapat ditemukan pada sistem neuroGA, dimana GA dimanfaatkan untuk menentukan struktur yang optimal dari suatu neural network. PENUTUP Sebagai suatu solusi, softcomputing memiliki kelebihan dalam hal kemampuan mengolah informasi mengandung unsur ketakpastian (uncertainty), kebenaran parsial, atau pada masalah yang memerlukan proses pembelajaran terhadap trend yang dialami sebelumnya. Softcomputing lebih menekankan pada partnership antara metode-metodenya, sehingga kelebihan metode yang satu akan menutup kelemahan dari metode yang lain. Faktorfaktor inilah yang menyebabkan softcomputing menjadi suatu alternatif yang menjanjikan untuk aplikasi yang luas di berbagai bidang. Dengan demikian keunggulan dari masing-masing teknik itu dapat dikombinasikan sehingga banyak sekali masalah-masalah teknik itu dapat dikombinasikan sehingga banyak sekali maslaah-masalah rekayasa dapat dipecahkan. Meski pun penerapan computational intelligence bisa mengarah ke pelbagai bidang yang hampir tak terbatas tetapi penerapannya di bidang teknik kendali (yang kemudian dikenal sebagai teknik kendali cerdas/intelligent control) yang mendominasi khazanah keilmuan akhir-akhir ini. 16
REFERENSI Homepage Berkeley Initiative in SoftComputing (BISC): http://www-bisc.cs.berkeley.edu/bisc/bisc.memo.html Kuswadi, Son, 2000, Kendali Cerdas (Intelligent Control), EEPIS Press, Surabaya. Nugroho, Anto Satriyo, 2003, Pengantar Softcomputing, Kuliah Umum IlmuKomputer.com, Copyright © 2003 IlmuKomputer.Com. http://www.asnugroho.net Simon Haykin, 1999, Neural Networks: A Comprehensive Foundation, cetakan ke‐3, Pearson Education, India.
17