• Tidak ada hasil yang ditemukan

PERANGKAT LUNAK SIMULASI PENYELESAIAN SECARA VISUAL MASALAH STATE AND SPACE DENGAN STUDI KASUS FARMER S PROBLEM. Oleh : Iwan Abadi, Ir., M.M.

N/A
N/A
Protected

Academic year: 2021

Membagikan "PERANGKAT LUNAK SIMULASI PENYELESAIAN SECARA VISUAL MASALAH STATE AND SPACE DENGAN STUDI KASUS FARMER S PROBLEM. Oleh : Iwan Abadi, Ir., M.M."

Copied!
27
0
0

Teks penuh

(1)

PERANGKAT LUNAK SIMULASI PENYELESAIAN SECARA VISUAL MASALAH STATE AND SPACE DENGAN STUDI KASUS FARMER’S PROBLEM’

Oleh : Iwan Abadi, Ir., M.M.

Abstract - State and space memungkinkan definisi formal suatu masalah sebagai persoalan dengan mengubah status dengan menggunakan sekumpulan operator (rule) dan juga mendefinisikan masalah sebagai search yaitu mencari lintasan di dalam state and space dari initial state ke goal state. Salah satu problema yang terdapat dalam state and space ini adalah Farmer’s problem (problema petani) yang dapat dideskripsikan suatu ruang keadaan, menetapkan satu atau lebih keadaan awal, menetapkan satu atau lebih tujuan, serta menetapkan kumpulan aturan.

Farmer’s problem ini merupakan salah satu contoh permasalahan dalam State and Space pada bidang studi Artificial Intelligence. Problema ini dapat diselesaikan dengan menggunakan tahapan-tahapan berikut ini. Tahapan pertama dimulai dari identifikasi ruang keadaan (state and space) yaitu dengan mendeklarasikan permasalahan ini dengan (JumlahKambing, JumlahSerigala, JumlahSayuran, JumlahBoat). Kemudian, baru dilanjutkan dengan mendeskripsikan keadaan awal (initial state) pada kedua daerah yaitu daerah asal dan daerah tujuan serta sasaran (goal state) pada kedua daerah.

Kata Kunci : State and Space, rule, Former’s Problem, Artificial Intellegence 1. Pendahuluan

State merupakan representasi suatu keadaan pada suatu saat ataupun deskripsi konfigurasi sistem. State and space adalah semua state yang mungkin dan biasanya digambarkan sebagai jaringan dengan verteks merupakan state dan edge merupakan perubahan yang mungkin. Representasi state and space memungkinkan definisi formal suatu masalah sebagai persoalan dengan mengubah status dengan menggunakan sekumpulan operator (rule) dan juga mendefinisikan masalah sebagai search yaitu mencari lintasan di dalam state and space dari initial state ke goal state. Salah satu problema yang terdapat dalam state and space ini adalah Farmer’s problem (problema petani) yang dapat didekripsikan sebagai berikut, seorang petani akan menyeberangkan seekor kambing, seekor serigala dan sayur-sayuran dengan sebuah rakit yang melalui sungai. Rakit hanya mampu memuat petani dan satu penumpang yang lain (kambing, serigala atau sayur-sayuran). Jika ditinggalkan oleh petani tersebut, maka sayur-sayuran akan dimakan oleh kambing dan kambing akan dimakan oleh serigala dan hanya petani yang dapat mengemudikan rakit.

Problema ini akan dimodifikasi sehingga dapat digunakan untuk menyelesaikan semua persoalan yang hampir mirip dengan problema ini. Problema ini dapat diselesaikan dengan menggunakan tahapan-tahapan berikut ini. Tahapan pertama dimulai dari identifikasi ruang keadaan (state and space) yaitu dengan mendeklarasikan permasalahan ini dengan menentukan variabel-variabel yang terdapat dalam

(2)

problema ini. Misalkan variabel yang terdapat dalam Farmer’s problem adalah petani, kambing, serigala dan sayur-sayuran. Kemudian, tentukan aturan-aturan yang terdapat dalam problema, dalam Farmer’s problem terdapat aturan bahwa serigala akan memakan kambing apabila petani tidak berada di tempat, kambing akan memakan sayuran apabila petani tidak berada di tempat, dan hanya petani yang dapat mengemudikan rakit. Kondisi awal adalah semua variabel masih terdapat pada tepi sungai kiri dan kondisi tujuan adalah semua variabel berada pada tepi sungai sebelah kanan. Problema diselesaikan

dengan menggunakan bantuan pohon pelacakan. Kondisi-kondisi (state) yang mungkin digambarkan

dalam struktur pohon dengan dimulai dari kondisi awal (start state) sebagai akar dari pohon. Proses dilanjutkan dengan menggambarkan kondisi (state) berikutnya yang dapat dibentuk dari state tersebut. Proses berlanjut hingga didapatkan kondisi tujuan (goal state) atau tidak terdapat kondisi baru yang dapat dikembangkan.

2. Batasan Masalah

Batasan masalah yang dibahas adalah :

1. Aturan-aturan yang digunakan juga dapat ditentukan sendiri yaitu aturan yang memenuhi format berikut,

a. Item1 akan memakan / menyerang / memukul Item2, apabila Item3 dan Item4 tidak

berada di tempat.

b. Item_X dapat mengemudikan rakit.

2. Solusi permasalahan juga dapat dicari secara manual.

3. Masalah state and space dibatasi pada beberapa variabel yang ada di daerah asal, akan

diseberangkan ke daerah tujuan menurut aturan-aturan yang ditentukan.

3. Metodologi Penyelesaian Masalah

Metodologi yang digunakan dalam penyelesaian masalah, yaitu;

a. Membaca dan mempelajari buku – buku yang berhubungan dengan Artificial Intelligence

(AI).

b. Merancang interface untuk perangkat lunak bantu penyelesaian.

c. Merancang suatu perangkat lunak bantu penyelesaian masalah State and Space.

(3)

4. Space and State Problem

Sistem yang menggunakan kecerdasan buatan akan mencoba untuk memberikan output berupa

solusi dari suatu masalah berdasarkan kumpulan pengetahuan yang ada.

Gambar Sistem yang menggunakan AI

Pada gambar di atas, input yang diberikan pada sistem yang menggunakan kecerdasan buatan berupa masalah. Pada sistem harus dilengkapi dengan sekumpulan pengetahuan yang ada pada basis pengetahuan. Sistem harus memiliki inference engine agar mampu mengambil kesimpulan berdasarkan fakta atau pengetahuan. Output yang diberikan berupa solusi masalah sebagai hasil dari inferensi.

Secara umum, untuk membangun suatu sistem yang mampu menyelesaikan masalah, perlu dipertimbangkan 4 hal:

1. Mendefinisikan masalah dengan tepat. Pendefinisian ini mencakup spesifikasi yang tepat

mengenai keadaan awal dan solusi yang diharapkan.

2. Menganalisis masalah tersebut serta mencari beberapa teknik penyelesaian masalah yang sesuai. 3. Merepresentasikan pengetahuan yang perlu untuk menyelesaikan masalah tersebut.

4. Memilih teknik penyelesaian masalah yang terbaik.

5. Masalah Petani, Kambing, Srigala dan Sayura-Sayuran

Masalah petani, kambing, serigala dan sayur-sayuran sering juga disebut dengan Farmer’s Problem. Illustrasi dari permasalahan ini adalah sebagai berikut, seorang petani akan menyeberangkan seekor kambing, seekor serigala dan sayur-sayuran dengan sebuah rakit melalui sungai. Rakit hanya bisa memuat petani dan satu penumpang yang lain (kambing, serigala atau sayur-sayuran). Jika ditinggalkan oleh petani tersebut, maka sayur-sayuran akan dimakan oleh kambing dan kambing akan dimakan oleh serigala.

(4)

Penyelesaian:

A. Identifikasi ruang keadaan.

Permasalahan ini dapat dilambangkan dengan (petani, kambing, serigala, sayuran, rakit). Sebagai contoh: Daerah asal (1,0,1,1,1) berarti pada daerah asal tidak ada kambing, ada petani, ada serigala, ada sayuran dan ada rakit.

B. Keadaan awal dan tujuan.

- Keadaan awal, pada kedua daerah:

Daerah asal: (1,1,1,1,1) dan daerah seberang (0,0,0,0,0). - Tujuan pada kedua daerah:

Daerah asal: (0,0,0,0,0) dan daerah seberang (1,1,1,1,1). C. Aturan-aturan.

Terdapat beberapa aksi atau kondisi yang dapat terjadi pada Farmer’s Problem. Aksi atau kondisi ini tidak diperkenankan untuk melanggar aturan-aturan yang terdapat pada Farmer’s Problem.

Tabel 1. Aksi-aksi pada Farmer’s Problem

Aksi ke- Aturan

1 Petani dan kambing menyeberang.

2 Petani dan sayuran menyeberang.

3 Petani dan serigala menyeberang.

4 Petani dan kambing kembali.

5 Petani dan sayuran kembali.

(5)

7 Petani kembali.

Tabel 2. Aturan-aturan pada Farmer’s Problem

Aturan Keterangan Aturan

1 Jika petani tidak ada, maka kambing akan memakan

sayur-sayuran.

2 Jika petani tidak ada, maka serigala akan memakan

kambing.

3 Hanya petani yang dapat mengemudikan rakit.

D. Solusi.

Salah satu solusi yang bisa ditemukan pada Farmer’s Problem dapat dilihat pada tabel berikut.

Tabel 3. Contoh solusi pada Farmer’s Problem

Daerah Asal Daerah Seberang Aksi yang diambil

(1,1,1,1) (0,0,0,0) 1 (Petani dan kambing menyeberang)

(0,0,1,1) (1,1,0,0) 7 (Petani kembali)

(0,1,1,1) (1,0,0,0) 2 (Petani dan serigala menyeberang)

(0,0,0,1) (1,1,1,0) 3 (Petani dan sayuran menyeberang)

(0,0,1,0) (1,1,0,1) 4 (Petani dan kambing kembali)

(1,1,1,0) (0,0,0,1) 2 (Petani dan serigala menyeberang)

(1,0,0,0) (0,1,1,1) 7 (Petani kembali)

(6)

(1,1,0,1) (0,0,1,0) 3 (Petani dan sayuran menyeberang)

(1,0,0,0) (0,1,1,1) 7 (Petani kembali)

(1,1,0,0) (0,0,1,1) 1 (Petani dan kambing menyeberang)

(0,0,0,0) (1,1,1,1,1) SOLUSI

6. Karakteristik Pengguna

NO PENGGUNA MINIMAL KEAHLIAN

1 User Dapat menggunakan dan mengoperasikan computer

7. Fasilitas Perangkat Lunak

NO YANG DISEDIAKAN SUB

1 Menu Pilihan Menu Inputan Problem

Menu Inputan Variable Menu Inputan Rule

2 Menu Solusi Menu Solusi AI

Menu Solusi Manual

3 Penyelesaian Masalah Secara Keseluruhan

8. Kebutuhan Fungsioanal

Kebutuhan fungsional berisi spesifikasi fungsi yang harus dipenuhi perangkat lunak sesuai dengan keinginan pemakai. Adapun kebutuhan fungsional untuk Perangkat Lunak Simulasi Penyelesaian Masalah (PLSPM) ini adalah perangkat lunak harus mampu:

1. Memverifikasi menu yang dipilih oleh user.(Req. PLSPM -01) 2. Mengelola data input PLSPM :

(7)

b. Mengelola data inputan variabel. (Req. PLSPM -03) c. Mengelola data inputan rule. (Req. PLSPM -04) 3. Menampilkan data inputan:

a. Menampilkan inputan masalah. (Req. PLSPM -05)

b. Menampilkan inputan variabel. (Req. PLSPM -06)

c. Menampilkan inputan rule. (Req. PLSPM -07)

4. Menampilkan pilihan solusi:

a. Menampilkan solusi AI. (Req. PLSPM - 08)

b. Menampilkan solusi Manual. (Req. PLSPM - 09)

5. Menampilkan penyelesaian masalah. (Req.PLSPM-10)

9. Diagram Use Case

User Pilih Menu penyelesaian masalah input variabel input problem input rule solusi AI solusi manual

High Level Use Case

Nomor : HLUC – 01

Nama : Pilih Menu

Kegunaan :Menjelaskan proses pemilihan, pengolahan dan penyajian dari pemilihan menu

selanjutnya

(8)

Deskripsi : 1. User memilih menu yang akan dipilih

2. Sistem menampilkan menu pilihan untuk dipilih oleh user

Nomor : HLUC – 02

Nama : Penyelesaian masalah

Kegunaan : Menjelaskan proses pemilihan, pengolahan dan penyajian solusi dari pemilihan

masalah

Aktor : User

Deskripsi : 1. User menginputkan masalah, variabel dan rule yang akan diselesaikan secara

visualisasi

2. Sistem menampilkan penyelesaian masalah dengan solusi AI atau dengan solusi Manual

Nomor : HLUC – 03

Nama : Input problem

Kegunaan :Menjelaskan proses penginputan masalah

Aktor : User

Deskripsi : Pemakai memilih masalah yang akan ditampilkan solusinya

Nomor : HLUC – 04

Nama : Input variabel

Kegunaan :Menjelaskan proses pemilihan masalah dan memasukkan variabel masalah

Aktor : User

(9)

Nomor : HLUC – 05

Nama : Input rule

Kegunaan : Menjelaskan proses aturan pada pemilihan masalah

Aktor : User

Deskripsi : Pemakai memproses aturan yang akan di pakai

Nomor : HLUC – 06

Nama : Solusi AI

Kegunaan : Menampilkan penyelesaian masalah secara solusi AI

Aktor : User

Deskripsi :Pemakai dapat memilih dan menyelesaikan masalah dengan menggunakan solusi AI

Nomor : HLUC – 07

Nama : Solusi Manual

Kegunaan : Menampilkan penyelesaian masalah secara solusi manual

Aktor : User

Deskripsi :Pemakai dapat memilih dan menyelesaikan masalah dengan menggunakan solusi AI

10. Class

Tabel Identifikasi kelas

NO NAMA KELAS

1 Inputan 2 Problem 3 Tambang

(10)

4 Rakit 5 Variabel 6 Rule 7 Solusi 8 Solusi AI 9 Solusi Manual

Berikut adalah gambaran kelas pada Perangkat Lunak

Inputan solusi Solusi AI Solusi manual Problem Tambang Rakit Variabel Rule

11. Atribut dan Layanan

Atribut adalah data yang dimiliki oleh suatu objek dalam kelas. Sedangkan layanan (operasi) adalah fungsi atau transformasi yang mungkin dapat diaplikasikan ke/oleh suatu objek dalam kelas. Tabel dibawah ini yang menjelaskan atribut dan layanan pada Perangkat Luank yang dibangun

Tabel Atribut dan Layanan

No Nama Objek Atribut Layanan

1 Inputan IDInput Pilih_input(), masukkan_input(),

tampil_input()

(11)

namaProblem pilihalat Databaru_problem(), Hapus_dt_problem(), Tampil_dt_problem(). 3 Tambang problemID namaProblem Tampil_problem() Tampil_solusi() 4 Rakit problemID namaProblem Tampil_problem() Tampil_solusi() 5 Variabel problemID variabelID namavariabel driver Simpan_dt_variabel(), Databaru_variabel(), Hapus_dt_variabel(), Tampil_dt_variabel(). 6 Rule problemID variabel1 ttacked variabel2 variabel3 variabel4 Simpan_dt_rule(), Databaru_rule(), Hapus_dt_rule(), Tampil_dt_rule(). 7 Solusi problemID variabelID namavariabel driver Tampil_solusiAI() Tampil_solusiManual()

(12)

variabelID namavariabel driver Tampil_rule() Tampil_problem() Tampil_solusiAI()

9 Solusi Manual problemID

variabelID namavariabel driver Tampil_variabel() Tampil_rule() Tampil_problem() Tampil_solusimanual() 12. Struktur Hirarki

Untuk mengatur, menyederhanakan, mengoperasikan objek-objek yang sudah diidentifikasi melalui konsep agregasi dan pewarisan maka dibuat struktur dan hirarki. Pada analisis Perangkat Lunak ini ditemukan adanya struktur dan hirarki pada objek input, dan solusi.

a. Struktur dan Hirarki Pada Objek Inputan

Gambar dibawah ini merupakan struktur dan hirarki yang terdapat dalam tahap analisis, dimana objek Inputan, objek inputan problem, objek inputan variabel dan inputan rule merupakan struktur “generalization—specification”.

Inputan

Input Problem Input Rule Input Variabel

Gambar Struktur dan Hirarki pada Objek Inputan

b. Struktur dan Hirarki Pada Objek Poblem

Gambar dibawah ini merupakan struktur dan hirarki yang terdapat dalam tahap analisis, dimana objek problem, rakit, tambang merupakan struktur “generalization—specification”.

(13)

Problem

Tambang Rakit

Gambar Stuktur dan hirarki pada objek Problem, rakit dan tambang

c. Struktur dan Hirarki Pada Objek Solusi

Gambar dibawah ini merupakan struktur dan hirarki yang terdapat dalam tahap analisis, dimana objek solusi, solusi AI, solusi manual merupakan struktur “generalization—specification”.

Solusi

Solusi AI

Solusi Manual

Gambar Struktur dan hirarki pada objek solusi, solusiAI dan solusiManual

13. Model Hubungan Objek

Pada model hubungan objek akan dijelaskan hubungan antar objek yang saling berinteraksi satu sama lainnya.

(14)

Inputan

Input Problem Input Rule Input Variabel

Solusi Solusi Manual Solusi AI User Menu mengaktifkan mengaktifkan mengaktifkan 1 1 1 1 1 1

Gambar Model Hubungan Objek

14. Diagram Sekuens

a. Diagram Sekuene untuk Model Pesan

Actor/user :Sistem ' ' ' pilih_menu() olah_dt_inputproblem() olah_dt_inputvariabel() olah_dt_inputrule() tampil_dt_inputproblem() tampil_dt_inputvariabel() tampil_dt_inputrule() pilih_solusi() tampil_solusiAI() tampil_solusiManual() tampil_penyelesaianmasalah()

(15)

b. Diagram Sekuens untuk Layanan Olah dt_inputproblem()

Actor/user

:Menu :Formmain :inputproblem

pilih_menu() menu() olah_input() simpan _input() hapus_input() input_baru() proses_simpan_input() proses_baru()

c. Diagram Sekuens untuk Layanan Olah dt_inputvariabel

Actor/user

:Menu :Formmain :inputvariabel

pilih_menu() menu() olah_input() simpan _input() hapus_input() input_baru() proses_simpan_input() proses_baru()

(16)

d. Diagram Sekuens untuk Layanan Olah dt_inputrule()

Actor/user

:Menu :Formmain :inputrule

pilih_menu() menu() olah_input() simpan _input() hapus_input() input_baru() proses_simpan_input() proses_baru()

e. Diagram Sekuens Untuk Tampil dt_inputproblem()

Actor/user

:Menu :Formmain :inputproblem

pilih_menu() menu()

tampil()

(17)

f. Diagram Sekuens Untuk Tampil dt_inpuvariabel()

Actor/user

:Menu :Formmain :inputvariabel

pilih_menu() menu()

tampil()

get_inputvariabel()

g. Diagram Sekuens Untuk Tampil dt_inputrule()

Actor/user

:Menu :Formmain :inputrule

pilih_menu() menu()

tampil()

get_inputrule()

h. Diagram Sekuens Untuk Tampil solusiAI()

Actor/user

:Menu :Formmain :solusiAI

pilih_menu() menu()

tampil()

(18)

i. Diagram Sekuens Untuk Tampil solusiManual()

Actor/user

:Menu :Formmain :solusiManual

pilih_menu() menu()

tampil()

get_solusiManual()

j. Diagram Sekuens Untuk tampil_penyelesaianmasalah()

Actor/user

:Menu :Formmain :penyelesaian masalah

pilih_menu() menu()

tampil()

get_masalah()

15. Diagram Aktivitas

a. Diagram Aktivitas Untuk Layanan Olah dt_inputproblem()

Menu

mengelola data inputan

simpan dt input baru

simpan dt input problem

dt baru

pengisian dt baru

simpan dt input problem

hapus dt hapus dt end end end lengkap tidak lengkap cek data tidak data simpan hapus baru cek data tidak data tidak lengkap ada cek lengkap lengkap cek data ada No Start salah pilihan menu Benar

(19)

Menu

mengolah data inputan

Start

Pilih menu

Benar

Hapus Salah

Simpan dt input baru

simpan dt inputvariabel No End End Lengkap tidak ada cek data tidak Lengkap dt baru pengisian dt baru simpan dt inputVariabel End Lengkap cek data ada cek data Simpan baru tidak ada tidak Lengkap Hapus dt hapus dt ada cek data

c. Diagram Aktivitas Untuk Layanan Olah dt_inputrule() Menu

mengolah data inputan Start

Pilih menu

Benar

Hapus Salah

Simpan dt input baru

simpan dt inputrule No End End Lengkap tidak ada cek data tidak Lengkap dt baru pengisian dt baru simpan dt inputRule End Lengkap cek data ada cek data Simpan baru tidak ada tidak Lengkap Hapus dt hapus dt ada cek data

(20)

d. Diagram Aktivitas Untuk Layanan Tampil dt_inputproblem() Menu tampil dt inputProblem Start Pilih menu Benar Salah end

e. Diagram Aktivitas Untuk Layanan Tampil dt_inputvariabel()

Menu tampil dt inputVariabel Start Pilih menu Benar Salah end

f. Diagram Aktivitas Untuk Layanan Tampil dt_inputrule()

Menu tampil dt inputRule Start Pilih menu Benar Salah end

(21)

g. Diagram Aktivitas Untuk Tampil solusiAI() Menu Tampil SolusiAI Start Pilih menu Benar End Salah

h. Diagram Aktivitas Untuk Tampil solusiManual()

Menu Tampil SolusiManual Start Pilih menu Benar End Salah

i. Diagram Aktivitas Untuk Tampil penyelesaianmasalah()

Menu

Tampil Penyelesaian Masalah Start

Pilih menu

Benar

End Salah

(22)

16. Implementasi

a. Implementasi Objek

Tabel Implementasi Objek

Objek Hasil Implementasi Fungsi

Form menu Halaman menu Memberikan menu piliha kepada user

untuk memilih form selanjutnya

Main Halaman utama Memberikan menu pilihan untuk memilih

data input dan solusi yang akan dipilih serta menampilkan penyelesaian masalah secara keseluruhan

Input problem Halaman olah data input problem

Untuk menampilkan data input problem, pilihan simpan, baru dan hapus

Input variable Halaman olah data input variable

Untuk menampilkan data input variabel, pilihan simpan, baru dan hapus

Input rule Halaman olah data input

rule

Untuk menampilkan data input rule, pilihan simpan, baru dan hapus

Solusi AI Halaman penyelesaian

masalah

Untuk menampilkan penyelesaian masalah secara Solusi AI

Solusi Manual Halaman penyelesaian

masalah

Untuk menampilkan penyelesaian masalah secara Solusi Manual

b. Implementasi Layanan

Implementasi Layanan Form Input Data

Tabel Implementasi Layanan Input Data

Layanan Hasil Implementasi Fungsi

Olah_dt_inputproblem() Function

olah_dt_inputproblem()

Menampilkan halaman untuk mengolah data inputproblem

Olah_dt_inputvariabel() Function

olah_dt_inputvariabel()

Menampilkan halaman untuk mengolah data inputvariabel

Olah_dt_inputrule() Function olah_dt_inputrule() Menampilkan halaman

(23)

inputrule

Implementasi Layanan Form Menu

Tabel Implementasi Layanan Form Menu

Layanan Hasil Implementasi Fungsi

Masuk_menu() Function masuk_menu() Menampilkan halaman

pilihan menu yang akan dipilih

Tampil_ inputproblem () Function tampil_ inputproblem ($problemID)

Menampilkan halaman input inputproblem

Tampil_ inputvariabel() Function tampil_ inputvariabel

($problemID, $variabelID)

Menampilkan halaman input inputvariabel

Tampil_ inputrule () Function tampil_ inputrule

($problemID)

Menampilkan halaman input inputrule

Implementasi Layanan Objek Input Problem

Tabel Implementasi Layanan Objek Input Problem

Layanan Hasil Implementasi Fungsi

baru_ inputproblem () Function baru_ inputproblem

($problemID, $namaproblem)

Menampilkan halaman untuk menambah data input problem

proses_baru_ inputproblem () Function baru_ inputproblem

($problemID, $namaproblem)

Untuk mengetahui apakah data input problem sudah ada atau belum

Simpan_inputproblem() Function simpan_

inputproblem ($problemID, $namaproblem)

Menampilkan halaman untuk menambah data input problem proses_simpan_ inputproblem () Function proses_simpan_ inputproblem ($problemID, $namaproblem)

Untuk mengetahui apakah data input problem berhasil disimpan atau tidak

hapus_inputproblem() Function hapus_ inputproblem

($problemID)

Untuk mengetahui apakah data yang dihapus berhasil dihapus atau tidak

(24)

get_dt_ inputproblem () Function get_dt_ inputproblem ($problemID, $namaproblem)

Untuk mengambil data input problem

tampil_dt_ inputproblem () Function tampil_dt_

inputproblem ($problemID, $namaproblem)

Halaman untuk menampilkan data input

problem

Implementasi Layanan Objek Input Variabel

Tabel Implementasi Layanan Objek input variabel

Layanan Hasil Implementasi Fungsi

baru_ inputvariabel () Function baru_ inputvariabel

($problemID, $variabelID, $namavariabel,$driver)

Menampilkan halaman untuk menambah data input variabel

proses_baru_ inputvariabel () Function baru_ inputvariabel ($problemID, $variabelID, $namavariabel,$driver)

Untuk mengetahui apakah data input variabel sudah ada atau belum

Simpan_inputvariabel() Function simpan_

inputvariabel ($problemID, $variabelID,

$namavariabel,$driver)

Menampilkan halaman untuk menambah data input variabel proses_simpan_ inputvariabel () Function proses_simpan_ inputvariabel ($problemID, $variabelID, $namavariabel,$driver)

Untuk mengetahui apakah data input variabel berhasil disimpan atau tidak

hapus_inputvariabel() Function hapus_ inputvariabel

($problemID)

Untuk mengetahui apakah data yang dihapus berhasil dihapus atau tidak

get_dt_ inputvariabel () Function get_dt_ inputvariabel

($problemID, $variabelID, $namavariabel,$driver)

Untuk mengambil data input variabel

tampil_dt_ inputvariabel () Function tampil_dt_

inputvariabel ($problemID, $variabelID,

$namavariabel,$driver)

Halaman untuk menampilkan data input

(25)

Implementasi Layanan Objek Input Rule

Tabel Implementasi Layanan Objek input rule

Layanan Hasil Implementasi Fungsi

baru_ inputrule () Function baru_ inputrule

($problemID, $variabel1,$ attackid, $variabel2, $variabel3, $variabel4)

Menampilkan halaman untuk menambah data input rule

proses_baru_ inputrule () Function baru_ inputrule

($problemID, $variabel1,$ attackid, $variabel2, $variabel3, $variabel4)

Untuk mengetahui apakah data input rule sudah ada atau belum

Simpan_inputrule() Function simpan_ inputrule

($problemID, $variabel1,$ attackid, $variabel2, $variabel3, $variabel4)

Menampilkan halaman untuk menambah data input rule

proses_simpan_ inputrule () Function proses_simpan_

inputrule ($problemID, $variabel1,$ attackid, $variabel2, $variabel3, $variabel4)

Untuk mengetahui apakah data input rule berhasil disimpan atau tidak

hapus_inputrule() Function hapus_ inputrule

($problemID)

Untuk mengetahui apakah data yang dihapus berhasil dihapus atau tidak

get_dt_ inputrule () Function get_dt_ inputrule

($problemID, $variabel1,$ attackid, $variabel2, $variabel3, $variabel4)

Untuk mengambil data input rule

tampil_dt_ inputrule () Function tampil_dt_ inputrule

($problemID, $variabel1,$ attackid, $variabel2, $variabel3, $variabel4)

Halaman untuk menampilkan data input

(26)

c. Implementasi struktur data

Tabel Struktur Data Tabel Problem

No. Atribut Tipe Lebar Kunci Keterangan

1. ProblemID Char 10 * No masalah

2. NamaProblem Varchar 25 Nama

masalah

3 Pilihalat Varchar 20 Pilih penyebranganalat

Tabel Struktur Data Tabel Variabel

No. Atribut Tipe Lebar Kunci Keterangan

1. ProblemID Char 10 * No masalah

2. VariabelID Char 10 No variabel

3. NamaVariabel Varchar 25 NamaVariabel

4. Driver Yes/No - Pengemudi

Tabel Struktur Data Tabel Rule

No. Atribut Tipe Lebar Kunci Keterangan

1. ProblemID Char 10 * No masalah

2. Variabel1 Varchar 25 Variabel pertama

3. AttackID Char 15 No serangan

4. Variabel2 Varchar 25 Variabel kedua

5. Variabel3 Varchar 25 Variabel ketiga

(27)

17. Kesimpulan

Setelah menyelesaikan perangkat lunak bantu penyelesaian masalah state and space, maka dapat ditarik kesimpulan sebagai berikut:

1. Masalah state and space dibatasi pada beberapa variabel yang ada di daerah asal, akan diseberangkan ke daerah tujuan menurut aturan-aturan yang ditentukan.

2. Aturan-aturan yang digunakan juga dapat ditentukan sendiri yaitu aturan yang memenuhi

format berikut,

a. Item1 akan memakan / menyerang / memukul Item2, apabila Item3 dan Item4 tidak

berada di tempat.

b. Item_X dapat mengemudikan rakit.

3. Perangkat lunak menampilkan semua pergerakan (secara bertahap) dari solusi yang

didapatkan, sehingga solusi akan terlihat lebih jelas.

DAFTAR PUSTAKA

[1]. Alan M. Davis, “Software Requirements”, Prentice Hall International, 1993

[2]. Eric J. Braude, “Software Engineering an Object Oriented Perspective”, John Wiley & Sons,

Inc, 2001

[3]. Roger S. Pressman, “Software Engineering”, Sixth Edition, McGraw-Hill, 2005

[4]. Suyanto, ST., Msc, “Artificial Intelligence”, Penerbit INFORMATIKA, 2007

Gambar

Gambar  Sistem yang menggunakan AI
Tabel 1.  Aksi-aksi pada Farmer’s Problem  Aksi ke-  Aturan
Tabel 3. Contoh solusi pada Farmer’s Problem
Tabel  Atribut dan Layanan
+7

Referensi

Dokumen terkait