JARINGAN SARAF TIRUAN (JST), FUZZY LOGIC, DAN ALGORITMA GENETIKA

 APA ITU JARINGAN SARAF TIRUAN (JST), FUZZY LOGIC, DAN ALGORITMA GENETIKA ?


1. Jaringan Saraf Tiruan (JST)

Jaringan saraf tiruan (JST) (artificial neural network (ANN), atau juga disebut simulated neural network (SNN), atau umumnya hanya disebut neural network (NN)), adalah jaringan dari sekelompok unit pemroses kecil yang dimodelkan berdasarkan sistem saraf manusia. JST merupakan sistem adaptif yang dapat mengubah strukturnya untuk memecahkan masalah berdasarkan informasi eksternal maupun internal yang mengalir melalui jaringan tersebut. Oleh karena sifatnya yang adaptif, JST juga sering disebut dengan jaringan adaptif.

Secara sederhana, JST adalah sebuah alat pemodelan data statistik non-linier. JST dapat digunakan untuk memodelkan hubungan yang kompleks antara input dan output untuk menemukan pola-pola pada data. Menurut suatu teorema yang disebut "teorema penaksiran universal", JST dengan minimal sebuah lapis tersembunyi dengan fungsi aktivasi non-linear dapat memodelkan seluruh fungsi terukur Boreal apapun dari suatu dimensi ke dimensi lainnya.

Jaringan saraf tiruan dibentuk sebagai generalisasi model matematika dari jaringan saraf biologis manusia, dengan asumsi bahwa:

  • Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron).
  • Sinyal dikirimkan di antara neuron-neuron melalui penghubung-penghubung.
  • Penghubung antar neuron memiliki bobot yang akan memperkuat atau memperlemah sinyal.

Untuk menentukan keluaran, Setiap neuron menggunakan fungsi aktivasi (biasanya bukan fungsi linier) yang dikenakan pada jumlah masukan yang diterima. Besarnya keluaran ini selanjutnya dibandingkan dengan suatu batas ambang.

Prinsip Jaringan Saraf Tiruan

  • Prinisp jaringan saraf tiruan (JST) ditentukan oleh tiga elemen dasar model saraf, yaitu:
  • Satu set dari sinapsis, atau penghubung yang masing-masing digolongkan oleh bobot atau kekuatannya.
  • Sebuah penambah untuk menjumlahkan sinyal-sinyal input. Ditimbang dari kekuatan sinaptik masing-masing neuron.
  • Sebuah fungsi aktivasi untuk membatasi amplitudo output dari neuron. Fungsi ini bertujuan membatasi jarak amplitude yang diperbolehkan oleh sinyal output menjadi sebuah angka yang terbatas.

Prinsip jaringan saraf tiruan secara sederhana digambarkan di bawah ini:

Image for post

Pada gambar di atas, Y menerima masukan dari neuron x1, x2, dan x3, dengan bobot hubungan masing-masing adalah w1, w2, dan w3. Ketiga impuls neuron yang ada dijumlahkan menjadi:

Net = x1w1 + x2w2 + x3w3

Besarnya impuls yang diterima oleh Y mengikuti fungsi aktivasi y = f(net). Apabila nilai fungsi aktivasi cukup kuat, maka sinyal akan diteruskan. Nilai fungsi aktivasi (keluaran model jaringan) juga dapat dipakai sebagai dasar untuk mengubah bobot (Siang, 2004).

Arsitektur Jaringan Saraf Tiruan

Image for post

Pada jaringan saraf tiruan, neuron-neuron akan dikumpulkan dalam sebuh lapisan yang disebut dengan lapisan neuron (neuron layers). Neuron-neuron pada satu lapisan akan dihubungkan dengan lapisan-lapisan lainnya. Informasi yang didapatkan pada sebuah neuron akan disampaikan ke semua lapisan-lapisan yang ada, mulai dari lapisan masukan sampai dengan lapisan keluaran melalui lapisan tersembunyi (hidden layer). Pada jaringan saraf tiruan ini tiga lapisan bukanlah sebuah struktur umum karena beberapa jaringan saraf ada yang tida memiliki lapisan tersembunyi.

Menurut Haykin (2009), secara umum, ada tiga jenis arsitektur dari Jaringan Saraf Tiruan yaitu:

Jaringan dengan lapisan tunggal (single layer net)

Image for post

Di dalam Jaringan Saraf Tiruan dengan satu layer, neuron-neuron diorganisasi dalam bentuk layer-layer. Dalam bentuk paling sederhana dari Jaringan Saraf Tiruan dengan satu layer, kita mempunyai sebuah input layer dari node sumber di mana informasi diproyeksikan ke output layer dari neuron tapi tidak bisa sebaliknya. Dengan kata lain, jaringan ini adalah tipe feed forward. Input layer dari node sumber tidak dihitung karena tidak ada perhitungan yang dilakukan.

Jaringan dengan banyak lapisan (multilayer net)

Image for post

Bentuk lapisan kompetitif merupakan jaringan saraf tiruan yang sangat besar. Interkoneksi antar neuron pada lapisan ini tidak ditunjukkan pada arsitektur seperti jaringan yang lain. Pada jaringan ini sekumpulan neuron bersaing untuk mendapatkan hak menjadi aktif atau sering pula disebut dengan prinsip winner takes all atau yang menanglah yang mengambil semua bagiannya.



2. Fuzzy logic

Fuzzy Logic adalah suatu cabang ilmu Artificial Intellegence, yaitu suatu pengetahuan yang membuat komputer dapat meniru kecerdasan manusia sehingga diharapkan komputer dapat melakukan hal-hal yang apabila dikerjakan manusia memerlukan kecerdasan.

Dengan kata lain fuzzy logic mempunyai fungsi untuk “meniru” kecerdasan yang dimiliki manusia untuk melakukan sesuatu dan mengimplementasikannya ke suatu perangkat, misalnya robot, kendaraan, peralatan rumah tangga, dan lain-lain.

Sejarah Fuzzzy Logic

Konsep Fuzzy Logic diperkenalkan oleh Prof. Lotfi Zadeh dari Universitas California di Berkeley pada 1965 dan dipresentasikan bukan sebagai suatu metodologi kontrol, tetapi sebagai suatu cara pemrosesan data dengan memperkenankan penggunaan partial set membership dibanding crisp set membership atau non-membership.Pendekatan pada set teori ini tidak diaplikasikan pada sistem kontrol sampai tahun 70-an karena kemampuan komputer yang tidak cukup pada saat itu. Profesor Zadeh berpikir bahwa orang tidak membutuhkan kepastian, masukan informasi numerik, dan belum mampu terhadap kontrol adaptif yang tinggi.

Konsep fuzzy logic kemudian berhasil diaplikasikan dalam bidang kontrol oleh E.H. Mamdani. Sejak saat itu aplikasi fuzzy berkembang kian pesat. Di tahun 1980-an negara Jepang dan negara-negara di Eropa secara agresif membangun produk nyata sehubungan dengan konsep fuzzy logic yang diintegrasikan dalam produk-produk kebutuhan rumah tangga seperti vacuum cleaner, microwave oven dan kamera video.  Sementara pengusaha di Amerika Serikat tidak secepat itu mencakup teknologi ini. Fuzzy logic  berkembang pesat selama beberapa tahun terakhir. Terdapat lebih dari dua ribu produk dipasaran yang menggunakan konsep fuzzy logic, mulai dari mesin cuci hingga kereta berkecepatan tinggi. Setiap aplikasi tentunya menyadari beberapa keuntungan dari fuzzy logic seperti performa, kesederhaan, biaya rendah dan produktifitasnya.

Konsep Fuzzy Logic

  • Fuzzy logic umumnya diterapkan pada masalahmasalah yang mengandung unsur ketidakpastian (uncertainty), ketidaktepatan (imprecise), noisy, dan sebagainya.
  • Fuzzy logic menjembatani bahasa mesin yang presisi dengan bahasa manusia yang menekankan pada makna atau arti (significance).
  • Fuzzy logic dikembangkan berdasarkan cara berfikir manusia

Contoh-contoh masalah yang mengandung ketidakpastian

Contoh 1 : Seseorang dikatakan “tinggi” jika tinggi badannya lebih dari 1,7 meter. Bagaimana dengan orang yang mempunyai tinggi badan 1,6999 meter atau 1,65 meter, apakah termasuk kategori orang yang tinggi? Menurut persepsi manusia, orang yang mempunyai tinggi badan sekitar 1,7 meter dikatakan “kurang lebih tinggi” atau “agak tinggi”.

Contoh 2 : Kecepatan “pelan” didefinisikan di bawah 20 km/jam. Bagaimana dengan kecepatan 20,001 km/jam, apakah masih dapat dikatakan pelan? Manusia mungkin mengatakan bahwa kecepatan 20,001 km/jam itu “agak pelan”.

Arsitektur Fuzzy Logic

Ada tiga proses utama jika ingin mengimplementasikan fuzzy logic pada suatu perangkat, yaitu fuzzifikasi, evaluasi rule, dan defuzzifikasi.

  1. Fuzzification, merupakan suatu proses untuk mengubah suatu masukan dari bentuk tegas (crisp) menjadi fuzzy yang biasanya disajikan dalam bentuk himpunan-himpunan fuzzy dengan suatu fungsi kenggotaannya masing-masing.
  2. Interference System (Evaluasi Rule), merupakan sebagai acuan untuk menjelaskan hubungan antara variable-variabel masukandan keluaran yang mana variabel yang diproses dan yang dihasilkan berbentuk fuzzy. Untuk menjelaskan hubungan antara masukan dan keluaran biasanya menggunakan “IF-THEN”.
  3. Defuzzification, merupakan proses pengubahan variabel berbentuk fuzzy tersebut menjadi data-data pasti (crisp) yang dapat dikirimkan ke peralatan pengendalian.

Berikut diagram alir prosesnya.

logika fuzzy



3. Algoritma Genetika

Algoritma Genetika merupakan suatu metode optimasi untuk mencari solusi yang optimal dari suatu permasalahan. Algoritma Genetika banyak digunakan untuk mencari solusi masalah optimasi penjadwalan. Penjadwalan yang umumnya bersifat kompleks tidak mengijinkan sisi otak manusia untuk mencarikan solusi yang optimal dengan mudah. Dengan Algoritma Genetika, hal-hal yang perlu dihindarkan dalam pembuatan jadwal bisa dihilangkan, dan semua bentuk solusi yang menguntungkan pihak-pihak yang terkait akan lebih mudah untuk didapatkan.

Algoritma Genetika mempunyai metodologi optimasi sederhana sebagai berikut:
1. Menentukan populasi solusi sejumlah tertentu
2. Menghitung nilai fitnes function semua solusi yang ada di dalam populasi
3. Memilih beberapa solusi dengan nilai fitnes function yang paling tinggi
4. Melakukan optimasi dengan cara mutasi dan crossover sebanyak yang diperlukan
5. Menentukan solusi terbaik sebagai solusi terhadap permasalahan yang dioptimasi

Dalam menerapkan Algoritma Genetika untuk memecahkan masalah optimasi, perlu dilakukan analisa terhadap permasalahan yang akan dicarikan solusinya. Dalam menganalisa permasalahan, ada dua istilah yang muncul:
1. Hard Constraint: yang merupakan batasan yang ada dalam permasalahan yang akan dicarikan solusi, yang tidak boleh dilanggar sama sekali. Solusi yang akan menjadi bagian dari populasi, adalah solusi yang tidak melanggar Hard Constraint ini.
2. Soft Constraint: yang merupakan batasan yang ada dalam permasalahan yang akan dicarikan solusi, tetapi dalam pencarian solusi, batasan ini masih bisa dilanggar.

Dari kedua istilah tersebut, yang mempengaruhi bagaimana suatu solusi akan dikatakan lebih baik dari solusi yang lain adalah dengan melihat kadar pelanggaran yang dilakukan terhadap Soft Constraint. Makin banyak Soft Constraint yang dilanggar, makin buruk nilai dari solusi tersebut. Nilai dari solusi yang dimaksud di sini sering diistilahkan dengan nama Fitness Function. Fitness Function ini merupakan akumalasi dari nilai penalti yang didapat dari pelanggaran terhadap Soft Constraint yang yang ada.

Selain pelanggaran terhadap Soft Constraint, nilai dari Fitness Function ini juga bisa didapatkan dari penambahan nilai bonus terhadap hal-hal ideal yang bisa dimasukkan dalam pembentukan solusi. Solusi yang bisa memberikan benefit kepada organisasi baik secara perorangan maupun secara keseluruhan organisasi, umumnya bisa dianggap memberikan nilai tambah terhadap solusi yang dibentuk.

Langkah selanjutnya yang dilakukan dalam proses penerapan Algoritma Genetika adalah analisa dan disain sistem. Analisa dan disain sistem terbentuk dari pendefinisian proses-proses yang tercakup dalam sistem, pembentukan basis data, dan juga disain antar muka pengguna. Untuk tulisan ini, analisa dan disain yang dibahas terbatas pada bagaimana membentuk basis data yang diperlukan dalam pemodelan permasalahan optimasi menggunakan Algoritma Genetika.

Umumnya bentuk basis data yang diperlukan dalam penerapan Algoritma Genetika adalah:
1. Tabel Detail Solusi (Gen)
2. Tabel Solusi (Kromosom)
3. Tabel Master yang mendukung isian Tabel Detail Solusi dan Tabel Solusi

Beberapa istilah yang muncul dalam Algoritma Genetika yang juga sering membingungkan pengguna adalah istilah-istilah yang kaitannya dengan Ilmu Biologi seperti istilah Gen dan Kromosom. Dalam pembentukan disain basis data sudah disebutkan bahwa Gen merupakan Detail Solusi, sedangkan Kromosom adalah Solusi. Salah satu contoh penggunaan istilah Gen dan Kromosom dalam memecahkan masalah penjadwalan: bentuk Kromosom (Solusi) dari permasalahan tersebut misalnya adalah Jadwal Mengajar di Sekolah A Selama Seminggu, sedangkan bentuk Gen (Detail Solusi)-nya adalah Guru A Mengajar Matematika di Kelas IA Pada Hari Senin Sesi Pertama. Dimana, sejumlah Gen (Detail Solusi) yang ada akan membentuk suatu Kromosom (Solusi). Jadi istilah ilmiah yang ada merupakan representasi dari permasalahan yang diangkat untuk dicarikan solusinya.

Isian dari Tabel Master yang mendukung pengembangan sistem Algoritma Genetika ini sangat tergantung pada hal-hal yang muncul pada saat melakukan analisa permasalahan. Beberapa hal yang muncul pada Hard Constraint, Soft Constraint, serta Nilai Bonus terhadap solusi akan menjadi bagian dalam pembentukan informasi yang tertampung di dalam Tabel Master yang diperlukan dalam penerapan Algoritma Genetika. Dari contoh bentuk Gen (Detail Solusi) yang diberikan di atas (Guru A Mengajar Matematika di Kelas IA Pada Hari Senin Sesi Pertama), Tabel Master yang diperlukan dalam sistem termasuk Tabel Master Guru, Tabel Master Mata Pelajaran, Tabel Master Kelas, dan Tabel Master Waktu Mengajar.

Dari tulisan di atas, hal-hal utama yang diperlukan untuk menerapkan Algoritma Genetika dalam permasalahan optimasi sudah diberikan. Beberapa hal yang juga sering dibahas dalam penjelasan Algoritma Genetika adalah metode-metode yang digunakan untuk melakukan Mutasi dan Crossover, yang tentunya perlu dipelajari tersendiri, walaupun untuk tingkat pemula, mungkin cukup menggunakan metode sederhana misalnya metode random.



Selamat membaca 😊

Komentar

Postingan populer dari blog ini

Jaringan Saraf Tiruan

Format Citra