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 tahapantahapan 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 tahapantahapan berikut ini. Tahapan pertama dimulai dari identifikasi ruang keadaan (state and space) yaitu dengan mendeklarasikan permasalahan ini dengan menentukan variabel-variabel yang terdapat dalam
28
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.
d.
Menguji perangkat lunak dan memperbaiki kesalahan (error) yang muncul.
29
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.
30
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.
6
Petani dan serigala kembali.
31
7
Petani kembali.
Tabel 2. Aturan-aturan pada Farmer’s Problem Aturan
Keterangan Aturan
1
Jika petani tidak ada, maka kambing akan memakan sayursayuran.
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)
(1,1,0,0)
(0,0,1,1)
4 (Petani dan kambing kembali)
32
(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 : a. Mengelola data inputan masalah. (Req. PLSPM -02)
33
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 Pilih Menu
penyelesaian masalah
input problem
input variabel
User
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 Aktor
: User 34
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
Deskripsi
: Pemakai memasukkan variabel untuk penyelesaian masalah
35
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
36
4
Rakit
5
Variabel
6
Rule
7
Solusi
8
Solusi AI
9
Solusi Manual
Berikut adalah gambaran kelas pada Perangkat Lunak Problem
Inputan
Variabel
solusi
Rule
Solusi AI
Tambang
Rakit
Solusi manual
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() 2
Problem
problemID
Simpan_dt_problem(),
37
namaProblem
Databaru_problem(),
pilihalat
Hapus_dt_problem(), Tampil_dt_problem().
3
4
5
6
Tambang
Rakit
Variabel
Rule
problemID
Tampil_problem()
namaProblem
Tampil_solusi()
problemID
Tampil_problem()
namaProblem
Tampil_solusi()
problemID
Simpan_dt_variabel(),
variabelID
Databaru_variabel(),
namavariabel
Hapus_dt_variabel(),
driver
Tampil_dt_variabel().
problemID
Simpan_dt_rule(),
variabel1
Databaru_rule(),
ttacked
Hapus_dt_rule(),
variabel2
Tampil_dt_rule().
variabel3 variabel4 7
Solusi
problemID
Tampil_solusiAI()
variabelID
Tampil_solusiManual()
namavariabel driver 8
Solusi AI
problemID
Tampil_variabel()
38
9
Solusi Manual
variabelID
Tampil_rule()
namavariabel
Tampil_problem()
driver
Tampil_solusiAI()
problemID
Tampil_variabel()
variabelID
Tampil_rule()
namavariabel
Tampil_problem()
driver
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”.
39
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.
40
Menu User
1 mengaktifkan Inputan
Input Problem
Input Rule
1 1
mengaktifkan
1
mengaktifkan
1
1
Input Variabel
Solusi AI
Solusi
Solusi Manual
Gambar Model Hubungan Objek
14. Diagram Sekuens a. Diagram Sekuene untuk Model Pesan
:Sistem
Actor/user
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()
41
b. Diagram Sekuens untuk Layanan Olah dt_inputproblem()
:Menu
:Formmain
:inputproblem
Actor/user
menu()
pilih_menu()
olah_input()
simpan _input()
proses_simpan_input()
proses_baru()
input_baru()
hapus_input()
c. Diagram Sekuens untuk Layanan Olah dt_inputvariabel
:Menu
:Formmain
:inputvariabel
Actor/user
pilih_menu()
menu()
olah_input()
simpan _input()
input_baru()
proses_simpan_input()
proses_baru()
hapus_input()
42
d. Diagram Sekuens untuk Layanan Olah dt_inputrule()
:Menu
:Formmain
:inputrule
Actor/user
pilih_menu()
menu()
olah_input()
proses_simpan_input()
simpan _input()
proses_baru()
input_baru()
hapus_input()
e. Diagram Sekuens Untuk Tampil dt_inputproblem()
:Menu
:Formmain
:inputproblem
Actor/user
pilih_menu()
menu()
tampil() get_inputproblem()
43
f.
Diagram Sekuens Untuk Tampil dt_inpuvariabel()
:Menu
:Formmain
:inputvariabel
Actor/user
menu()
pilih_menu()
tampil() get_inputvariabel()
g. Diagram Sekuens Untuk Tampil dt_inputrule()
:Menu
:Formmain
:inputrule
Actor/user
pilih_menu()
menu()
tampil() get_inputrule()
h. Diagram Sekuens Untuk Tampil solusiAI() :Menu
:Formmain
:solusiAI
Actor/user
pilih_menu()
menu()
tampil() get_solusiAI()
44
i.
Diagram Sekuens Untuk Tampil solusiManual() :Menu
:Formmain
:solusiManual
Actor/user
menu()
pilih_menu()
tampil() get_solusiManual()
j.
Diagram Sekuens Untuk tampil_penyelesaianmasalah() :Menu
:Formmain
:penyelesaian masalah
Actor/user
menu()
pilih_menu()
tampil() get_masalah()
15. Diagram Aktivitas a. Diagram Aktivitas Untuk Layanan Olah dt_inputproblem() Start
salah Menu
pilihan menu
Benar simpan
mengelola data inputan
hapus
baru
cek data tidak lengkap simpan dt input baru
dt baru
hapus dt
cek data
cek data No
tidak data
tidak lengkap tidak data
ada pengisian dt baru
lengkap
ada
hapus dt
cek lengkap
simpan dt input problem
lengkap simpan dt input problem
end
end
end
b. Diagram Aktivitas Untuk Layanan Olah dt_inputvariabel()
45
Start
Salah
Menu
Pilih menu
Benar mengolah data inputan
Simpan
Hapus baru
tidak Lengkap
tidak Lengkap
Simpan dt input baru
dt baru
Hapus dt
cek data
cek data
cek data
tidak ada
tidak ada
No ada
ada pengisian dt baru
Lengkap
hapus dt
cek data
simpan dt inputvariabel
End Lengkap
End
simpan dt inputVariabel
End
c. Diagram Aktivitas Untuk Layanan Olah dt_inputrule() Start
Salah
Menu
Pilih menu
Benar mengolah data inputan
Simpan
Hapus baru
tidak Lengkap Simpan dt input baru
cek data
tidak ada
tidak Lengkap
dt baru
Hapus dt
cek data tidak ada
pengisian dt baru
Lengkap
cek data No
ada
ada hapus dt
cek data
simpan dt inputrule
End Lengkap
End
simpan dt inputRule
End
46
d. Diagram Aktivitas Untuk Layanan Tampil dt_inputproblem() Start
Salah
Menu
Pilih menu
Benar tampil dt inputProblem
end
e. Diagram Aktivitas Untuk Layanan Tampil dt_inputvariabel() Start
Salah
Menu
Pilih menu
Benar tampil dt inputVariabel
end
f.
Diagram Aktivitas Untuk Layanan Tampil dt_inputrule() Start
Salah
Menu
Pilih menu
Benar tampil dt inputRule
end
47
g. Diagram Aktivitas Untuk Tampil solusiAI() Start
Salah
Menu
Pilih menu
Benar Tampil SolusiAI
End
h. Diagram Aktivitas Untuk Tampil solusiManual() Start
Salah
Menu
Pilih menu
Benar Tampil SolusiManual
End
i.
Diagram Aktivitas Untuk Tampil penyelesaianmasalah() Start
Salah
Menu
Pilih menu
Benar Tampil Penyelesaian Masalah
End
48
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 Untuk menampilkan data input problem, problem
Input variable
pilihan simpan, baru dan hapus
Halaman olah data input Untuk menampilkan data input variabel, variable
Input rule
pilihan simpan, baru dan hapus
Halaman olah data input Untuk menampilkan data input rule, rule
Solusi AI
pilihan simpan, baru dan hapus
Halaman
penyelesaian Untuk
masalah Solusi Manual
Halaman
menampilkan
penyelesaian
masalah secara Solusi AI penyelesaian Untuk
masalah
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
Menampilkan
olah_dt_inputproblem()
untuk
mengolah
halaman data
inputproblem Olah_dt_inputvariabel()
Function
Menampilkan
olah_dt_inputvariabel()
untuk
mengolah
halaman data
inputvariabel Olah_dt_inputrule()
Function olah_dt_inputrule()
Menampilkan untuk
mengolah
halaman data
49
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 Menampilkan ($problemID)
Tampil_ inputvariabel()
input inputproblem
Function tampil_ inputvariabel Menampilkan ($problemID, $variabelID)
Tampil_ inputrule ()
Function
halaman
tampil_
halaman
input inputvariabel
inputrule Menampilkan
($problemID)
halaman
input inputrule
Implementasi Layanan Objek Input Problem Tabel Implementasi Layanan Objek Input Problem Layanan
Hasil Implementasi
Fungsi
baru_ inputproblem ()
Function baru_ inputproblem Menampilkan ($problemID, $namaproblem)
halaman
untuk menambah data input problem
proses_baru_ inputproblem ()
Function baru_ inputproblem Untuk mengetahui apakah ($problemID, $namaproblem)
data input problem sudah ada atau belum
Simpan_inputproblem()
Function
simpan_ Menampilkan
inputproblem
($problemID, untuk menambah data input
$namaproblem) proses_simpan_ inputproblem Function ()
problem
proses_simpan_ Untuk mengetahui apakah
inputproblem $namaproblem)
hapus_inputproblem()
halaman
($problemID, data input problem berhasil disimpan atau tidak
Function hapus_ inputproblem Untuk mengetahui apakah ($problemID)
data yang dihapus berhasil dihapus atau tidak
50
get_dt_ inputproblem ()
Function get_dt_ inputproblem Untuk ($problemID, $namaproblem)
tampil_dt_ inputproblem ()
Function
mengambil
input problem
tampil_dt_ Halaman
inputproblem
untuk
($problemID, menampilkan
$namaproblem)
data
data
input
problem
Implementasi Layanan Objek Input Variabel Tabel Implementasi Layanan Objek input variabel Layanan
Hasil Implementasi
baru_ inputvariabel ()
Function baru_ inputvariabel Menampilkan ($problemID,
Fungsi
$variabelID, untuk menambah data input
$namavariabel,$driver) proses_baru_ inputvariabel ()
variabel
Function baru_ inputvariabel Untuk mengetahui apakah ($problemID,
$variabelID, data input variabel sudah
$namavariabel,$driver) Simpan_inputvariabel()
halaman
Function inputvariabel
ada atau belum
simpan_ Menampilkan
halaman
($problemID, untuk menambah data input
$variabelID,
variabel
$namavariabel,$driver) proses_simpan_ inputvariabel Function ()
inputvariabel
proses_simpan_ Untuk mengetahui apakah ($problemID, data input variabel berhasil
$variabelID,
disimpan atau tidak
$namavariabel,$driver) hapus_inputvariabel()
Function hapus_ inputvariabel Untuk mengetahui apakah ($problemID)
data yang dihapus berhasil dihapus atau tidak
get_dt_ inputvariabel ()
Function get_dt_ inputvariabel Untuk ($problemID,
mengambil
data
$variabelID, input variabel
$namavariabel,$driver) tampil_dt_ inputvariabel ()
Function inputvariabel
tampil_dt_ Halaman ($problemID, menampilkan
$variabelID,
untuk data
input
variabel
$namavariabel,$driver)
51
Implementasi Layanan Objek Input Rule Tabel Implementasi Layanan Objek input rule Layanan
Hasil Implementasi
baru_ inputrule ()
Function
baru_
($problemID,
Fungsi inputrule Menampilkan
halaman
$variabel1,$ untuk menambah data input
attackid,
$variabel2, rule
$variabel3, $variabel4) proses_baru_ inputrule ()
Function
baru_
($problemID,
inputrule Untuk mengetahui apakah $variabel1,$ data input rule sudah ada
attackid,
$variabel2, atau belum
$variabel3, $variabel4) Simpan_inputrule()
Function
simpan_
($problemID,
inputrule Menampilkan
halaman
$variabel1,$ untuk menambah data input
attackid,
$variabel2, rule
$variabel3, $variabel4) proses_simpan_ inputrule ()
Function
proses_simpan_ Untuk mengetahui apakah
inputrule
($problemID, data input rule berhasil
$variabel1,$
attackid, disimpan atau tidak
$variabel2,
$variabel3,
$variabel4) hapus_inputrule()
Function
hapus_
inputrule Untuk mengetahui apakah
($problemID)
data yang dihapus berhasil dihapus atau tidak
get_dt_ inputrule ()
Function
get_dt_
($problemID, attackid,
inputrule Untuk
mengambil
data
$variabel1,$ input rule $variabel2,
$variabel3, $variabel4) tampil_dt_ inputrule ()
Function tampil_dt_ inputrule Halaman ($problemID, attackid,
$variabel1,$ menampilkan
untuk data
input
$variabel2, rule
$variabel3, $variabel4)
52
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 alat penyebrangan
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
-
Pengemudi
Yes/No
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
6.
Variabel4
Varchar
25
Variabel keempat
53
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
-“ooo000ooo”-
54