Senin, 17 Maret 2008

led_scrolling_text_display.jpg

This is cool project to pay attention to. It can be used for PC modding or elsewhere where scrolling text effects are needed. Display is built of 50×7 LEDs that is controlled by AVR AT90S2313 microcontroller (may be substituted by ATtiny2313).

Text can be sent from computer via RS232 port or displayed from external EEPROM 2k memory where 768 characters can be stored. Fonts set of 256 different characters can also be programmed and mast be written to EEPROM before sending text to display. Hardware project with 3mm LEDs can be downloaded here. And latest firmware here. There might be minor changes are needed to adapt to newer WinAVR and ATtiny2313 microcontroller. [via]

Scrolling text effect on a LED matrix display - [Link]
Kecerdasan buatan

Kecerdasan Buatan (bahasa Inggris: Artificial Intelligence atau AI) didefinisikan sebagai kecerdasan yang ditunjukkan oleh suatu entitas buatan. Sistem seperti ini umumnya dianggap komputer. Kecerdasan diciptakan dan dimasukkan ke dalam suatu mesin (komputer) agar dapat melakukan pekerjaan seperti yang dapat dilakukan manusia. Beberapa macam bidang yang menggunakan kecerdasan buatan antara lain sistem pakar, permainan komputer (games), logika fuzzy, jaringan syaraf tiruan dan robotika.

Banyak hal yang kelihatannya sulit untuk kecerdasan manusia, tetapi untuk Informatika relative tidak bermasalah. Seperti contoh: mentransformasikan persamaan, menyelesaikan persamaan integral, membuat permainan catur atau Backgammon. Di sisi lain, hal yang bagi manusia kelihatannya menuntut sedikit kecerdasan, sampai sekarang masih sulit untuk direalisasikan dalam Informatika. Seperti contoh: Pengenalan Obyek/Muka, bermain Sepakbola.

Walaupun AI memiliki konotasi fiksi ilmiah yang kuat, AI membentuk cabang yang sangat penting pada ilmu komputer, berhubungan dengan perilaku, pembelajaran dan adaptasi yang cerdas dalam sebuah mesin. Penelitian dalam AI menyangkut pembuatan mesin untuk mengotomatisasikan tugas-tugas yang membutuhkan perilaku cerdas. Termasuk contohnya adalah pengendalian, perencanaan dan penjadwalan, kemampuan untuk menjawab diagnosa dan pertanyaan pelanggan, serta pengenalan tulisan tangan, suara dan wajah. Hal-hal seperti itu telah menjadi disiplin ilmu tersendiri, yang memusatkan perhatian pada penyediaan solusi masalah kehidupan yang nyata. Sistem AI sekarang ini sering digunakan dalam bidang ekonomi, obat-obatan, teknik dan militer, seperti yang telah dibangun dalam beberapa aplikasi perangkat lunak komputer rumah dan video game.

'Kecerdasan buatan' ini bukan hanya ingin mengerti apa itu sistem kecerdasan, tapi juga mengkonstruksinya.

Tidak ada definisi yang memuaskan untuk 'kecerdasan':

1. kecerdasan: kemampuan untuk memperoleh pengetahuan dan menggunakannya
2. atau kecerdasan yaitu apa yang diukur oleh sebuah 'Test Kecerdasan'

Faham Pemikiran

Secara garis besar, AI terbagi ke dalam dua faham pemikiran yaitu AI Konvensional dan Kecerdasan Komputasional (CI, Computational Intelligence). AI konvensional kebanyakan melibatkan metoda-metoda yang sekarang diklasifiksikan sebagai pembelajaran mesin, yang ditandai dengan formalisme dan analisis statistik. Dikenal juga sebagai AI simbolis, AI logis, AI murni dan AI cara lama (GOFAI, Good Old Fashioned Artificial Intelligence). Metoda-metodanya meliputi:

1. Sistem pakar: menerapkan kapabilitas pertimbangan untuk mencapai kesimpulan. Sebuah sistem pakar dapat memproses sejumlah besar informasi yang diketahui dan menyediakan kesimpulan-kesimpulan berdasarkan pada informasi-informasi tersebut.
2. Petimbangan berdasar kasus
3. Jaringan Bayesian
4. AI berdasar tingkah laku: metoda modular pada pembentukan sistem AI secara manual

Kecerdasan komputasional melibatkan pengembangan atau pembelajaran iteratif (misalnya penalaan parameter seperti dalam sistem koneksionis. Pembelajaran ini berdasarkan pada data empiris dan diasosiasikan dengan AI non-simbolis, AI yang tak teratur dan perhitungan lunak. Metoda-metoda pokoknya meliputi:

1. Jaringan Syaraf: sistem dengan kemampuan pengenalan pola yang sangat kuat
2. Sistem Fuzzy: teknik-teknik untuk pertimbangan di bawah ketidakpastian, telah digunakan secara meluas dalam industri modern dan sistem kendali produk konsumen.
3. Komputasi Evolusioner: menerapkan konsep-konsep yang terinspirasi secara biologis seperti populasi, mutasi dan “survival of the fittest” untuk menghasilkan pemecahan masalah yang lebih baik.

Metoda-metoda ini terutama dibagi menjadi algoritma evolusioner (misalnya algoritma genetik) dan kecerdasan berkelompok (misalnya algoritma semut)

Dengan sistem cerdas hibrid, percobaan-percobaan dibuat untuk menggabungkan kedua kelompok ini. Aturan inferensi pakar dapat dibangkitkan melalui jaringan syaraf atau aturan produksi dari pembelajaran statistik seperti dalam ACT-R. Sebuah pendekatan baru yang menjanjikan disebutkan bahwa penguatan kecerdasan mencoba untuk mencapai kecerdasan buatan dalam proses pengembangan evolusioner sebagai efek samping dari penguatan kecerdasan manusia melalui teknologi.
Sejarah

Pada awal abad 17, René Descartes mengemukakan bahwa tubuh hewan bukanlah apa-apa melainkan hanya mesin-mesin yang rumit. Blaise Pascal menciptakan mesin penghitung digital mekanis pertama pada 1642. Pada 19, Charles Babbage dan Ada Lovelace bekerja pada mesin penghitung mekanis yang dapat diprogram.

Bertrand Russell dan Alfred North Whitehead menerbitkan Principia Mathematica, yang merombak logika formal. Warren McCulloch dan Walter Pitts menerbitkan "Kalkulus Logis Gagasan yang tetap ada dalam Aktivitas " pada 1943 yang meletakkan pondasi untuk jaringan syaraf.

Tahun 1950-an adalah periode usaha aktif dalam AI. Program AI pertama yang bekerja ditulis pada 1951 untuk menjalankan mesin Ferranti Mark I di University of Manchester (UK): sebuah program permainan naskah yang ditulis oleh Christopher Strachey dan program permainan catur yang ditulis oleh Dietrich Prinz. John McCarthy membuat istilah "kecerdasan buatan " pada konferensi pertama yang disediakan untuk pokok persoalan ini, pada 1956. Dia juga menemukan bahasa pemrograman Lisp. Alan Turing memperkenalkan "Turing test" sebagai sebuah cara untuk mengoperasionalkan test perilaku cerdas. Joseph Weizenbaum membangun ELIZA, sebuah chatterbot yang menerapkan psikoterapi Rogerian.

Selama tahun 1960-an dan 1970-an, Joel Moses mendemonstrasikan kekuatan pertimbangan simbolis untuk mengintegrasikan masalah di dalam program Macsyma, program berbasis pengetahuan yang sukses pertama kali dalam bidang matematika. Marvin Minsky dan Seymour Papert menerbitkan Perceptrons, yang mendemostrasikan batas jaringan syaraf sederhana dan Alain Colmerauer mengembangkan bahasa komputer Prolog. Ted Shortliffe mendemonstrasikan kekuatan sistem berbasis aturan untuk representasi pengetahuan dan inferensi dalam diagnosa dan terapi medis yang kadangkala disebut sebagai sistem pakar pertama. Hans Moravec mengembangkan kendaraan terkendali komputer pertama untuk mengatasi jalan berintang yang kusut secara mandiri.

Pada tahun 1980-an, jaringan syaraf digunakan secara meluas dengan algoritma perambatan balik, pertama kali diterangkan oleh Paul John Werbos pada 1974. Tahun 1990-an ditandai perolehan besar dalam berbagai bidang AI dan demonstrasi berbagai macam aplikasi. Lebih khusus Deep Blue, sebuah komputer permainan catur, mengalahkan Garry Kasparov dalam sebuah pertandingan 6 game yang terkenal pada tahun 1997. DARPA menyatakan bahwa biaya yang disimpan melalui penerapan metode AI untuk unit penjadwalan dalam Perang Teluk pertama telah mengganti seluruh investasi dalam penelitian AI sejak tahun 1950 pada pemerintah AS.

Tantangan Hebat DARPA, yang dimulai pada 2004 dan berlanjut hingga hari ini, adalah sebuah pacuan untuk hadiah $2 juta dimana kendaraan dikemudikan sendiri tanpa komunikasi dengan manusia, menggunakan GPS, komputer dan susunan sensor yang canggih, melintasi beberapa ratus mil daerah gurun yang menantang.
Filosofi

Perdebatan tentang AI yang kuat dengan AI yang lemah masih menjadi topik hangat diantara filosof AI. Hal ini melibatkan filsafat pemikiran dan masalah pikiran-tubuh. Roger Penrose dalam bukunya The Emperor's New Mind dan John Searle dengan eksperimen pemikiran "ruang China" berargumen bahwa kesadaran sejati tidak dapat dicapai oleh sistem logis formal, sementara Douglas Hofstadter dalam Gödel, Escher, Bach dan Daniel Dennett dalam Consciousness Explained memperlihatkan duukungannya atas fungsionalisme. Dalam pendapat banyak pendukung AI yang kuat, kesadaran buatan dianggap sebagai urat suci (holy grail) kecerdasan buatan.
Fiksi sains

Dalam fiksi sains, AI umumnya dilukiskan sebagai kekuatan masa depan yang akan mencoba menggulingkan otoritas manusia seperti dalam HAL 9000, Skynet, Colossus and The Matrix atau sebagai penyerupaan manusia untuk memberikan layanan seperti C-3PO, Data, the Bicentennial Man, the Mechas dalam A.I. atau Sonny dalam I, Robot. Sifat dominasi dunia AI yang tak dapat dielakkan, kadang-kadang disebut "the Singularity", juga dibantah oleh beberapa penulis sains seperti Isaac Asimov, Vernor Vinge dan Kevin Warwick. Dalam pekerjaan seperti manga Ghost in the Shell-nya orang Jepang, keberadaan mesin cerdas mempersoalkan definisi hidup sebagai organisme lebih dari sekedar kategori entitas mandiri yang lebih luas, membangun konsep kecerdasan sistemik yang bergagasan. Lihat daftar komputer fiksional(list of fictional computers) dan daftar robot dan android fiksional (list of fictional robots and androids).

Seri televisi BBC Blake's 7 menonjolkan sejumlah komputer cerdas, termasuk Zen (Blake's 7), kompuer kontrol pesawat bintang Liberator (Blake's 7); Orac, superkomputer lanjut tingkat tinggi dalam kotak perspex portabel yang mempunyai kemampuan memikirkan dan bahkan memprediksikan masa depan; dan Slave, komputer pada pesawat bintang Scorpio.

Logika Fuzzy adalah peningkatan dari logika Boolean yang berhadapan dengan konsep kebenaran sebagian. Di mana logika klasik menyatakan bahwa segala hal dapat diekspresikan dalam istilah binary (0 atau 1, hitam atau putih, ya atau tidak), logika fuzzy menggantikan kebenaran boolean dengan tingkat kebenaran.

Logika Fuzzy memungkinkan nilai keanggotaan antara 0 dan 1, tingkat keabuan dan juga hitam dan putih, dan dalam bentuk linguistik, konsep tidak pasti seperti "sedikit", "lumayan", dan "sangat". Dia berhubungan dengan set fuzzy dan teori kemungkinan. Dia diperkenalkan oleh Dr. Lotfi Zadeh dari Universitas California, Berkeley pada 1965.

Jaringan saraf tiruan (JST) (Bahasa Inggris: artificial neural network (ANN), atau juga disebut simulated neural network (SNN), atau umumnya hanya disebut neural network (NN)), adalah sekelompok jaringan saraf (neuron) buatan yang menggunakan model matematis atau komputasi untuk pemrosesan informasi berdasarkan pendekatan terhubung pada komputasi. Pada kebanyakan kasus, JST merupakan sistem adaptif yang merubah strukturnya berdasarkan informasi eksternal maupun internal yang mengalir melalui jaringan tersebut.

Istilah yang lebih praktis untuk jaringan syaraf adalah bahwa dia merupakan alat pemodelan data statistik non-linier. JST dapat digunakan untuk memodelkan hubungan yang kompleks antara input dan output untuk menemukan pola-pola data.

Dewasa ini sistem kecerdasan buatan dalam usahanya menirukan intelegensi manusia, belum mengadakan pendekatan dalam bentuk fisiknya melainkan dari sisi yang lain. Pertama-tama diadakan studi mengenai teori dasar mekanisme proses terjadinya intelegensi. Bidang ini disebut ‘Cognitive Science’. Dari teori dasar ini dibuatlah suatu model untuk disimulasikan pada komputer, dan dalam perkembangannya yang lebih lanjut dikenal berbagai sistem kecerdasan buatan yang salah satunya adalah jaringan syaraf tiruan. Dibandingkan dengan bidang ilmu yang lain maka, jaringan syaraf tiruan relatif masih baru. Sejumlah literatur menganggap bahwa konsep jaringan syaraf tiruan bermula pada makalah Waffen McCulloch dan Walter Pitts pada tahun 1943. Dalam makalah tersebut mereka mencoba untuk memformulasikan model matematis sel-sel otak. Metode yang dikembangkan berdasarkan sistem syaraf biologi ini, merupakan suatu langkah maju dalam industri komputer.

Elemen yang paling mendasar dari jaringan syaraf adalah sel syaraf. Sel-sel syaraf inilah membentuk bagian kesadaran manusia yang meliputi beberapa kemampuan umum. Pada dasarnya sel syaraf biologi menerima masukan dari sumber yang lain dan mengkombinasikannya dengan beberapa cara, melaksanakan suatu operasi yang non-linear untuk mendapatkan hasil dan kemudian mengeluarkan hasil akhir tersebut.

Dalam tubuh manusia terdapat banyak variasi tipe dasar sel syaraf, sehingga proses berpikir manusia menjadi sulit untuk direplikasi secara elektrik. Sekalipun demikian, semua sel syaraf alami mempunyai empat komponen dasar yang sama. Keempat komponen dasar ini diketahui berdasarkan nama biologinya yaitu, dendrites, soma, axon, dan synapses. Dendrites merupakan suatu perluasan dari soma yang menyerupai rambut dan bertindak sebagai saluran masukan. Saluran masukan ini menerima masukan dari sel syaraf lainnya melalui sinapsis. Soma dalam hal ini kemudian memproses nilai masukan menjadi sebuah output yang kemudian dikirim ke sel syaraf lainnya melalui axon dan sinapsis.

Penelitian terbaru memberikan bukti lebih lanjut bahwa sel syaraf biologi mempunyai struktur yang lebih kompleks dan lebih canggih daripada sel syaraf buatan yang kemudian dibentuk menjadi jaringan syaraf buatan yang ada sekarang ini. Ilmu biologi menyediakan suatu pemahaman yang lebih baik tentang sel syaraf sehingga memberikan keuntungan kepada para perancang jaringan untuk dapat terus meningkatkan sistem jaringan syaraf buatan yang ada berdasarkan pada pemahaman terhadap otak biologi.

Sel syaraf-sel syaraf ini terhubung satu dengan yang lainnya melalui sinapsi. Sel syaraf dapat menerima rangsangan berupa sinyal elektrokimiawi dari sel syaraf-sel syaraf yang lain. Berdasarkan rangsangan tersebut, sel syaraf akan mengirimkan sinyal atau tidak berdasarkan kondisi tertentu. Konsep dasar semacam inilah yang ingin dicoba para ahli dalam menciptakan sel tiruan.

Suatu jaringan syaraf tiruan memproses sejumlah besar informasi secara paralel dan terdistribusi, hal ini terinspirasi oleh model kerja otak biologis. Beberapa definisi tentang jaringan syaraf tiruan adalah sebagai berikut di bawah ini.

Hecht-Nielsend (1988) mendefinisikan sistem neural buatan sebagai berikut:

"Suatu neural network (NN), adalah suatu struktur pemroses informasi yang terdistribusi dan bekerja secara paralel, yang terdiri atas elemen pemroses (yang memiliki memori lokal dan beroperasi dengan informasi lokal) yang diinterkoneksi bersama dengan alur sinyal searah yang disebut koneksi. Setiap elemen pemroses memiliki koneksi keluaran tunggal yang bercabang (fan out) ke sejumlah koneksi collateral yang diinginkan (setiap koneksi membawa sinyal yang sama dari keluaran elemen pemroses tersebut). Keluaran dari elemen pemroses tersebut dapat merupakan sebarang jenis persamaan matematis yang diinginkan. Seluruh proses yang berlangsung pada setiap elemen pemroses harus benar-benar dilakukan secara lokal, yaitu keluaran hanya bergantung pada nilai masukan pada saat itu yang diperoleh melalui koneksi dan nilai yang tersimpan dalam memori lokal".

Menurut Haykin, S. (1994), Neural Networks: A Comprehensive Foundation, NY, Macmillan, mendefinisikan jaringan syaraf sebagai berikut:

“Sebuah jaringan syaraf adalah sebuah prosesor yang terdistribusi paralel dan mempuyai kecenderungan untuk menyimpan pengetahuan yang didapatkannya dari pengalaman dan membuatnya tetap tersedia untuk digunakan. Hal ini menyerupai kerja otak dalam dua hal yaitu: 1. Pengetahuan diperoleh oleh jaringan melalui suatu proses belajar. 2. Kekuatan hubungan antar sel syaraf yang dikenal dengan bobot synaptic digunakan untuk menyimpan pengetahuan.

Dan menurut Zurada, J.M. (1992), Introduction To Artificial Neural Systems, Boston: PWS Publishing Company, mendefinisikan sebagai berikut:

“Sistem syaraf tiruan atau jaringan syaraf tiruan adalah sistem selular fisik yang dapat memperoleh, menyimpan dan menggunakan pengetahuan yang didapatkan dari pengalaman”.

Sistem pakar adalah suatu program komputer yang mengandung pengetahuan dari satu atau lebih pakar manusia mengenai suatu bidang spesifik. Jenis program ini pertama kali dikembangkan oleh periset kecerdasan buatan pada dasawarsa 1960-an dan 1970-an dan diterapkan secara komersial selama 1980-an. Bentuk umum sistem pakar adalah suatu program yang dibuat berdasarkan suatu set aturan yang menganalisis informasi (biasanya diberikan oleh pengguna suatu sistem) mengenai suatu kelas masalah spesifik serta analisis matematis dari masalah tersebut. Tergantung dari desainnya, sistem pakar juga mamupu merekomendasikan suatu rangkaian tindakan pengguna untuk dapat menerapkan koreksi. Sistem ini memanfaatkan kapabilitas penalaran untuk mencapai suatu simpulan.

Algoritma genetik adalah teknik pencarian yang di dalam ilmu komputer untuk menemukan penyelesaian perkiraan untuk optimisasi dan masalah pencarian. Algoritma genetik adalah kelas khusus dari algoritma evolusioner dengan menggunakan teknik yang terinspirasi oleh biologi evolusioner seperti warisan, mutasi, seleksi alam dan rekombinasi (atau crossover)

Algoritma Genetik pertama kali dikembangkan oleh John Holland pada tahun 1970-an di New York, Amerika Serikat. Dia beserta murid-murid dan teman kerjanya menghasilkan buku berjudul "Adaption in Natural and Artificial Systems" pada tahun 1975.

Algoritma Genetik khususnya diterapkan sebagai simulasi komputer dimana sebuah populasi representasi abstrak (disebut kromosom) dari solusi-solusi calon (disebut individual) pada sebuah masalah optimisasi akan berkembang menjadi solusi-solusi yang lebih baik. Secara tradisional, solusi-solusi dilambangkan dalam biner sebagai string '0' dan '1', walaupun dimungkinkan juga penggunaan penyandian (encoding) yang berbeda. Evolusi dimulai dari sebuah populasi individual acak yang lengkap dan terjadi dalam generasi-generasi. Dalam tiap generasi, kemampuan keseluruhan populasi dievaluasi, kemudian multiple individuals dipilih dari populasi sekarang (current) tersebut secara stochastic (berdasarkan kemampuan mereka), lalu dimodifikasi (melalui mutasi atau rekombinasi) menjadi bentuk populasi baru yang menjadi populasi sekarang (current) pada iterasi berikutnya dari algoritma.
Prosedur Algoritma Genetik

Algoritma genetik yang umum menyaratkan dua hal untuk didefinisikan: (1) representasi genetik dari penyelesaian, (2) fungsi kemampuan untuk mengevaluasinya.

Representasi baku adalah sebuah larik bit-bit. Larik jenis dan struktur lain dapat digunakan dengan cara yang sama. Hal utama yang membuat representasi genetik ini menjadi tepat adalah bahwa bagian-bagiannya mudah diatur karena ukurannya yang tetap, yang memudahkan operasi persilangan sederhana. Representasi panjang variabel juga digunakan, tetapi implementasi persilangan lebih kompleks dalam kasus ini. Representasi seperti pohon diselidiki dalam pemrograman genetik dan representasi bentuk bebas diselidiki di dalam HBGA.

Fungsi kemampuan didefinisikan di atas representasi genetik dan mengukur kualitas penyelesaian yang diwakili. Fungsi kemampuan selalu tergantung pada masalah. Sebagai contoh, jika pada ransel kita ingin memaksimalkan jumlah benda (obyek) yang dapat kita masukkan ke dalamnya pada beberapa kapasitas yang tetap. Representasi penyelesaian mungkin berbentuk larik bits, dimana tiap bit mewakili obyek yang berbeda, dan nilai bit (0 atau 1) menggambarkan apakah obyek tersebut ada di dalam ransel atau tidak. Tidak setiap representasi seperti ini valid, karena ukuran obyek dapat melebihi kapasitas ransel. Kemampuan penyelesaian adalah jumlah nilai dari semua obyek di dalam ransel jika representasi itu valid, atau jika tidak 0. Dalam beberapa masalah, susah atau bahkan tidak mungkin untuk mendefinisikan lambang kemampuan, maka pada kasus ini digunakan IGA.

Sekali kita mendefinisikan representasi genetik dan fungsi kemampuan, algoritma genetik akan memproses inisialisasi populasi penyelesaian secara acak, dan memperbaikinya melalui aplikasi pengulangan dengan aplikasi operator-operator mutasi, persilangan, dan seleksi.

Secara sederhana, algoritma umum dari algoritma genetik ini dapat dirumuskan menjadi beberapa langkah, yaitu:

1. Membentuk suatu populasi individual dengan keadaan acak
2. Mengevaluasi kecocokan setiap individual keadaan dengan hasil yang diinginkan
3. Memilih individual dengan kecocokan yang tertinggi
4. Bereproduksi, mengadakan persilangan antar individual terpilih diselingi mutasi
5. Mengulangi langkah 2 - 4 sampai ditemukan individual dengan hasil yang diinginkan


SOFTCOMPUTING

Softcomputing merupakan metode yang dapat mengolah data-data yang bersifat tidak pasti, impresisi dan dapat diimplementasikan dengan biaya yang murah (low-cost solution). Beberapa metode yang termasuk dalam kategori softcomputing misalnya fuzzy logic, artificial neural network, probabilistyc reasoning.

Softcomputing bukanlah suatu metode yang berjalan sendiri dalam menyelesaikan masalah, melainkan lebih pada kerjasama serasi antara metode-metode di atas, sehingga segi positif tiap metode dapat berkontribusi secara aktif.

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 BISC [2], 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 bertambahpanjangnya 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.

METODE-METODE SOFTCOMPUTING

Mengacu pada definisi yang diberikan oleh Zadeh, metode-metode dalam softcomputing dapat dikategorikan ke dalam tiga kategori besar:

· Fuzzy Logic (FL)

· Neural Network Theory (NN)

· Probabilistic Reasoning (PR)

Metode-metode ini sebenarnya bukanlah sesuatu yang baru diadakan setelah konsep softcomputing dirumuskan. Yang terjadi justru sebaliknya. Metode-metode Fuzzy Logic, Neural Network maupun Probabilistic Reasoning telah ada lebih dahulu. Fuzzy Logic telah berkembang sejak tahun 1965. Konsep-konsep dasar neural network telah digali sejak tahun 1940-an. Probabilistic Reasoning juga bukanlah hal yang baru sama sekali. Karena itu, Zadeh menyebut softcomputing sebagai reinkarnasi dari metode-metode di atas.

Lebih lanjut lagi, dalam konsep softcomputing, ketiga jenis metode ini ibarat pilar, saling mendukung dan bekerjasama dalam memecahkan suatu permasalahan. Keunggulan yang diperoleh dari kerjasama metode-metode itu lebih ditekankan daripada keunggulan individual salah satu daripadanya. Kekurangan satu metode akan ditutup dengan kelebihan metode yang lain. Keunggulan satu metode disumbangkan, sehingga segi-segi positif dari metode yang ada tersebut dapat dimanfaatkan secara optimal.

Berikut diuraikan konsep dan gambaran mengenai masing-masing pilar dalam softcomputing.

a. Fuzzy Logic (FL)

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 variable-variable yang mengandung ketakpastian/ketidaktegasan.

· Pemakaian if-then rules untuk menjelaskan kaitan antara satu variable dengan yang lain.

· Menjelaskan sistem memakai algoritma fuzzy

Berawal dari paper-paper Zadeh di tahun1965 mengenai fuzzy-sets, ilmu ini berkembang pesat, dan mulai menemukan aplikasinya di bidang control 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 lading 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 memiliki aplikasi luas di bidang kontrol. Hal ini disebabkan a.l.

· kontrol memiliki potensi aplikasi yang sangat luas dan dibutuhkan di berbagai bidang

· kuantitas suatu materi dalam system kontrol sangat jelas, dan dapat diekspresikan dengan istilah-istilah yang fuzzy seperti “besar”, “banyak”

· aturan dalam kontrol mudah untukm didefinisikan memakai kata-kata. Misalnya “jika suhu dalam ruangan terlalu dingin, naikkan suhu penghangat”

· perkembangan teori fuzzy sangat pesat, sehingga batas-batasnya dapat dirumuskan dengan jelas.

b. Neural Networks (NN)

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.”

Pada tahun 1943, Mc.Culloch dan Pitts memperkenalkan model matematika yang merupakan penyederhanaan dari struktur sel saraf yang sebenarnya (lihat gambar 1).

Gambar 2 McCulloch & Pitts neuron model

Gambar 2 memperlihatkan bahwa sebuah neuron memiliki tiga komponen:

· synapse (w1 , w2 ,…,wn) T

· alat penambah (adder)

· fungsi aktifasi (f)

Korelasi antara ketiga komponen ini dirumuskan pada persamaan (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, single-layer 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:

· Riset untuk meneliti proses informasi yang terjadi pada otak dan jaringan saraf. Tema ini merupakan porsi penelitian para ahli medis dan neuroscientist.

· Penelitian teoritis untuk mendalami konsep dasar proses informasi pada otak. Kategori ini memerlukan ketajaman analisa matematika untuk menggali dasar-dasar teori dari proses tersebut.

· 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.

· Dapat memecahkan problema non-linear yang umum dijumpai di aplikasi

· Kemampuan memberikan jawaban terhadap pattern yang belum pernah dipelajari (generalization)

· Dapat secara otomatis mempelajari data numerik yang diajarkan pada jaringan tersebut

c. Probabilistic Reasoning (PR) dan Genetic Algorithm (GA)

Reasoning berarti mengambil suatu keputusan atas suatu alasan atau sebab tertentu. Dua jenis reasoning adalah logical reasoning dan probabilistic reasoning. Salah satu kelebihan probabilistic reasoning dibandingkan logical reasoning terletak pada kemampuan untuk mengambil keputusan yang rasional, walaupun informasi yang diolah kurang lengkap atau mengandung unsur ketidakpastian. Termasuk dalam kategori PR antara lain teori Chaos, Belief Networks, Genetic Algorithm. Diskusi dalam makalah ini difokuskan pada salah satu metode dalam PR, yaitu Genetic Algorithm (GA).

Gambar 3 Urutan proses pada GA

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 3 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 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.

Beberapa keunggulan yang dimiliki oleh GA adalah sbb.

· GA memiliki kemampuan untuk mencari nilai optimal secara paralel, melalui proses kerjasama antara berbagai unit, yang disebut kromosom individu.

· GA tidak memerlukan perhitungan matematika yang rumit seperti differensial yang diperlukan oleh algoritma optimisasi yang lain.

Namun demikian GA memiliki juga kelemahan dan keterbatasan.

· Tidak memiliki rumusan yang pasti, bagaimana mentransfer parameter permasalahan ke dalam kode genetik. Dengan kata lain, hal ini memerlukan pengalaman dan wawasan dari desainer.

· Banyak parameter yang perlu diset secara baik agar proses evolusi dalam GA berjalan sesuai dengan yang diharapkan.

· 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.

4. RISET DAN APLIKASI SOFTCOMPUTING

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 factor impresisi, ketidakpastian, dan memerlukan kemampuan pembelajaran.

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 job-scheduling, 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 - 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 system neurofuzzy. Aplikasi dari kombinasi kedua metode ini dapat dimanfaatkan untuk system control pada AC, mesin cuci dan berbagai macam alat kebutuhan sehari-hari konsumen. Kombinasi lain dapat ditemukan pada system neuroGA, dimana GA dimanfaatkan untuk menentukan struktur yang optimal dari suatu neural network.