BERITA TEKNOLOGI Membuat Kecerdasan Buatan Sederhana Menggunakan Logika Fuzzy

Membuat Kecerdasan Buatan Sederhana Menggunakan Logika Fuzzy

Oleh Ahmad Sucipto | Selasa, 30 Maret 2021

Membuat Kecerdasan Buatan Sederhana Menggunakan Logika Fuzzy

Artikel ini akan menjelaskan langkah-langkah dalam pembuatan kecerdasan buatan sederhana menggunakan logika fuzzy. Implementasi kecerdasan buatan ini diterapkan pada gim yang memiliki atribut atau komponen yang lengkap untuk proses pembuatan.

Yuk, ikuti program inovatif MAGANG ONLINE untuk berbagai bidang seperti animasi, coding, 3D, illustrasi, musik dan bisnis hanya di GAMELAB.ID!

Yuk, belajar di GAMELAB ACADEMY, belajar kapan saja, di mana saja. Kurikulum berbasis industri. Dapatkan SERTIFIKAT ketika kamu sudah selesai!

Daftar Isi Artikel

Kecerdasan buatan atau AI (Artificial Intelligence) merupakan sebuah studi untuk membuat suatu perangkat lunak yang dapat memecahkan masalah dengan pola pikir seperti manusia. Dalam kecerdasan buatan terdapat beberapa proses seperti searching, reasoning, dan learning untuk membuat keputusan terhadap aksi yang akan dilakukan. Sedangkan penggunaan logika fuzzy merupakan bagian dari proses reasoning (kemampuan untuk berpikir secara rasional seperti otak manusia). Dalam artikel ini, permasalahan yang akan diselesaikan adalah keputusan karakter dalam mengambil sebuah aksi dalam sebuah gim. Gim sederhana tersebut memiliki komponen untuk membangun proses reasoning. Oleh karena itu, artikel ini akan menjelaskan bagaimana cara membuat kecerdasan buatan sederhana menggunakan logika fuzzy. Gim yang akan diimplementasikan harus dibuat terlebih dahulu. Sehingga, artikel ini tidak akan menjelaskan bagaimana cara membuat gim atau sejenisnya.

Apa itu Logika Fuzzy?

Logika fuzzy adalah logika yang memiliki nilai jamak yang berupa bilangan real antara 0 – 1. Logika ini digunakan untuk menangani konsep parsial dimana hasilnya dapat bernilai sepenuhnya salah dan sepenuhnya benar. Logika fuzzy didasarkan pada pengamatan bahwa orang membuat keputusan berdasarkan informasi yang tidak tepat atau non-numerik.

Tahap Pembuatan Kecerdasan Buatan

Langkah 1: Membuat Variabel Linguistik

Tahapan awal dalam menerapkan logika fuzzy adalah menentukan variabel linguistik. Variabel tersebut merupakan parameter tingkatan yang menjadi acuan untuk perhitungan fuzzy yang dibagi mejadi 2 jenis yaitu input (atribut yang dimiliki karakter saat ini) dan output (aksi atau aktivitas yang dilakukan karakter). Berikut merupakan contoh dari gim yang akan dibuat dengan tampilan yang sederhana:
Visualisasi sederhana Game RPGInput

  1. Damage: HIGH dan LOW (μDmg)
  2. Energy: HIGH dan LOW (μEgy)
  3. Health: HIGH dan LOW (μHlt)
  4. Armor: HIGH dan LOW (μAmr)

Output

  1. Aksi menyerang: HIGH, MID, dan LOW (μAttc)
  2. Aksi penyembuhan: HIGH, MID, dan LOW (μHeal)

Langkah 2: Menentukan Nilai Fuzzy

Dalam menentukan nilai fuzzy diperlukan banyak sekali percobaan untuk mendapatkan nilai yang tepat. Oleh karena itu, awalan nilai fuzzy pada setiap variabel ditetapkan sebagai berikut:

  1. Menentukan nilai maksimum dari setiap variabel. Contoh: Dmg (Max = 100).
  2. Mengisi nilai range pada setiap tingkatan dengan pembagian nilai maksimum masing-masing variabel. Contoh:
  • μDmg: (HIGH = 51 – 100) dan (LOW = 0 – 50)
  • μEgy: (HIGH = 46 - 90) dan (LOW = 0 – 45)
  • μHlt: (HIGH = 61 – 120) dan (LOW = 0 – 60)
  • μAmr: (HIGH = 51 – 100) dan (LOW = 0 – 50)
  • μAttc: (HIGH = 67 – 100), (MID = 34 – 66), dan (LOW = 0 – 33)
  • μHeal: (HIGH = 67 – 100), (MID = 34 – 66), dan (LOW = 0 – 33)

Langkah 3: Menetapkan Rule

Rule di sini akan berguna untuk menentukan hasil atau output yang diinginkan. Untuk mengawali pembuatan rule, kita dapat menggabungkan 2 input untuk 1 ouput seperti berikut ini:

  • Dmg LOW & Egy LOW = Attc LOW
  • Dmg LOW & Egy LOW = Attc HIGH
  • Dmg LOW & Egy LOW = Heal LOW
  • .... dst

Daftar rule tahap pertama akan banyak sekali karena memasukan semua kemungkinan kombinasi 2 input dan 1 output.  Setelah selesai mendaftar rule, agar lebih mudah kita dapat menggunakan metode trial dan error untuk mendapatkan rule yang berhubungan dan benar. Metode trial dan error merupakan percobaan secara observasi terhadap keterkaitan atribut input dan output dari rule. Misalkan, pada aksi menyerang kita kaitkan dengan damage, energy, health, dan armor. Kemudian, ditanyakan satu persatu seperti "Apakah health mempengaruhi ketika melakukan aksi menyerang?". Jika tidak, maka rule yang terdapat health dan menyerang akan dihapus. Begitu seterusnya hingga menghasilkan rule seperti berikut ini:

  • Dmg HIGH & Egy HIGH = Attc HIGH
  • Dmg HIGH & Egy LOW = Attc MID
  • Dmg LOW & Egy HIGH = Attc MID
  • Dmg LOW & Egy LOW = Attc LOW
  • Hlt HIGH & Amr HIGH = Heal LOW
  • Hlt HIGH & Amr LOW = Heal HIGH
  • Hlt LOW & Amr HIGH = Heal LOW
  • Hlt LOW & Amr LOW = Heal HIGH

Langkah 4: Pengujian

Percoba dilakukan secara matematis melalui rule yang sudah dibuat. Misalkan kita ambil rule pada aksi menyerang. Kemudian kita jabarkan dan diberikan input seperti berikut ini:
Input: Dmg = 30 dan Egy = 75.

Pertama ubah input menjadi variabel linguistik
μDmgHIGH = 0,     nilai Dmg kurang dari nilai terendah μDmgHIGH.
μDmgLOW = (50 - Dmg) / (50 - 0)
                       = (50 - 30) / 50
                       = 0.4
μEgyHIGH = (Egy - 46) / (90 - 46)
                      = (75 - 46) / 44
                      = 0.659
μEgyLOW = 0,     nilai Egy lebih dari nilai tertinggi μEgyLOW.  

Kemudian, cari variabel linguistik output aksi menyerang menggunakan rule yang telah ditetapkan

  • Dmg HIGH & Egy HIGH = Attc HIGH
    μAttcHIGH = min(μDmgHIGH, μEgyHIGH)
                           = min(0, 0.659)
                           = 0
    AttcHIGH = 67,    nilai 0 berada pada nilai terendah μAttcHIGH
  • Dmg HIGH & Egy LOW = Attc MID
    μAttcMID = min(μAttcHIGH, μEgyLOW)
                        = min(0, 0)
                        = 0
    AttcMID = 34,    nilai 0 berada pada nilai terendah μAttcHIGH
  • Dmg LOW & Egy HIGH = Attc MID
    μAttcMID = min(μDmgLOW, μEgyHIGH)
                        = min(0.4, 0.659)
                        = 0.4
    AttcMID = (66 - 34) * μAttcMID + 34
                     = 32 * 0.4 + 34
                     = 46.8
  • Dmg LOW & Egy LOW = Attc LOW
    μAttcLOW = min(μDmgLOW, μEgyLOW)
                         = min(0.4, 0)
                         = 0
    AttcLOW = 33,    nilai 0 berada pada nilai tertinggi μAttcLOW

Seteleh semua rule fuzzy aksi menyerang didapatkan, langkah selanjutnya adalah menghitung defuzzyfikasi dengan rumus berikut ini:

Dihasilkan:
y* = (0*67 + 0*34 + 0.4*46.8 + 0*33) / (0 + 0 + 0.4 + 0)
     = 46.8
Lakukan sekali lagi pada aksi penyembuhan dan bandingkan hasil y* penyembuhan dengan aksi menyerang. Nilai y* yang lebih tinggi akan menjadi aksi yang akan dilakukan oleh karakter.

Langkah 5: Evaluasi

Variabel linguistik dan rule fuzzy adalah penentu keberhasilan dari pembuatan kecerdasan buatan. Oleh karena itu, nilai dari variabel linguistik dan rule fuzzy harus diperbarui pada setiap percobaan hingga mendapatkan hasil yang diinginkan.  Bentuk perubahan nilai pada variabel linguistik tergantung pada gim terkait dan keputusan dari pembuatan. Percobaan akan lebih mudah jika dibuat menjadi program seperti vidio di bawah ini. Saya cantumkan kode dari kecerdasan buatan yang telah saya buat pada link ini.

Baca Juga : SMK Baitul Izza Tingkatkan Kualitas Lulusan DKV dengan UKK bersama Gamelab Indonesia

Implementasi dan Pengembangan Kedepannya

Tidak berhenti sampai di sini, kamu dapat mengembangkan kecerdasan buatan sederhana ini ke cakupan yang lebih luas. Seperti halnya dengan menambahkan probabilitas keputusan lawan di multiplayer online game, perkembangan karakter dalam satuan waktu, atau semacamnya. Selain itu pembuatan kecerdasan buatan tidak hanya diterapkan dalam keputusan karakter terhadap lawan. Kecerdasan buatan juga dapat diterapkan pada perkembangan permainan seperti membuat guideline, memberikan rekomendasi terbaik untuk pemain, atau meningkatkan komponen-komponen permainan.

Sumber:

https://en.wikipedia.org/wiki/Decision-making

https://en.wikipedia.org/wiki/Fuzzy_logic

https://www.researchgate.net/publication/324558255_Kecerdasan_Buatan_Artificial_Intelligent

Sumber gambar:

https://b8g9x2x5.rocketcdn.me/wp-content/uploads/2018/08/AI-model_pqwxl3.png 


Ahmad Sucipto

Ahmad Sucipto

Selasa, 30 Maret 2021

ARTIKEL TERKAIT

Magang lebih mudah dan bisa dilakukan dari mana saja dengan Program Magang Online Gamelab. Magang Bersertifikat, plus Pelatihan!

DAFTAR MAGANG

ARTIKEL POPULER

KATEGORI