• Tidak ada hasil yang ditemukan

Simulasi Visual Penerapan Metode Breadth First Search (BFS) Pada Penyelesaian Masalah State dan Space (Sampel kasus: Farmer s Problem)

N/A
N/A
Protected

Academic year: 2021

Membagikan "Simulasi Visual Penerapan Metode Breadth First Search (BFS) Pada Penyelesaian Masalah State dan Space (Sampel kasus: Farmer s Problem)"

Copied!
8
0
0

Teks penuh

(1)

Simulasi Visual Penerapan Metode Breadth First

Search (BFS) Pada Penyelesaian Masalah State dan

Space (Sampel kasus: Farmer’s Problem)

Ilka Zufria[1]

[email protected]

Fak. Sains dan Teknologi UIN Sumatera Utara Medan &

Irma Indah Sari[2]

ABSTRACT

State represents the state at one time or decryption system configuration. State and space is all possible state and is usually described as a network with vertex. State and edge are possible changes. State space representation and allows a formal definition of a problem as the problem by changing the status by using a set of operators (rule). The software will find the shortest solution (Shortest path) of a problem, because the software uses the first method extends search (Breadth First Search Method) to find a solution. Farmer's Problem is used as a sample for solved the problem which many state to be served and worked in the same time and the state can normally operated. In application, this simulation also illustrates how to solved the multitasking on an operating system.

Keywords : State, Space, Breadth First Search Method and Farmer’s Problem.

1. PENDAHULUAN

State merupakan representasi suatu keadaan pada

suatu saat ataupun dekripsi konfigurasi sistem. State

and space adalah semua state yang mungkin dan

biasanya digambarkan sebagai jaringan dengan

verteks. 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 dalam hal ini menggunakan pendekatan

metode Breadth First Search dimana nantinya perangkat lunak ini menggunakan metode pencarian melebar pertama. Salah satu masalah yang akan diangkat state and space ini adalah Farmer’s problem (masalah 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, salah satu yang juga diangkat dalam tulisan ini adalah bagian Sistem Operasi mengenai Multitasking. Multitasking sendiri merupakan suatu kemampuan yang memungkinkan seseorang pemakai menjalankan sejumlah program dalam waktu yang sama. Misalkan suatu data akan dipindahkan dari memori ke disk dan sebaliknya. Sistem multitasking juga disebut dengan sistem komputasi interaktif, dimana sistem komputer menyediakan komunikasi on-line antara user dengan sistem.

User memberikan instruksi pada sistem operasi atau program secara langsung dan menerima respon segera. Perangkat input berupa keyboard dan perangkat output berupa display screen, seperti cathode-ray tube (CRT) atau monitor. Bila sistem operasi selesai mengeksekusi satu perintah, maka sistem akan mencari pernyataan berikutnya dari user melalui

(2)

keyboard. Sistem menyediakan editor interaktif untuk menulis program dan sistem debug untuk membantu melakukan debugging program. Agar user dapat mengakses data dan kode program dengan nyaman, sistem menyediakan sistem file online. Sistem

multitaskng juga disebut sistem time sharing.

Masalah ini akan dimodifikasi sehingga dapat digunakan untuk menyelesaikan semua persoalan yang hampir mirip dengan masalah ini. Masalah 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 masalah ini. Misalkan variabel yang terdapat dalam Metode Farmer’s problem adalah petani, kambing, serigala dan sayur-sayuran. Kemudian, tentukan aturan-aturan yang terdapat dalam masalah , 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. Masalah 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. PEMBAHASAN

Lingkungan Perangkat Keras

Perangkat keras yang digunakan adalah Laptop dengan spesifikasi HP Seri 430 INTeL®Core ™ M380 @2,53Ghz (4 CPUs), 4 GB RAM dan hardisk 320 GB. Perangkat keras ini digunakan untuk merancang dan menjalankan simulasi dengan

software-software yang digunakan.

Lingkungan Perangkat Lunak

Adapun perangkat lunak yang digunakan diantaranya adalah:

1. Windows 7 ultimate sebagai sistem operasi yang digunakan.

2. Microsoft Visual Basic 6.0 sebagai software untuk perancangan aplikasi simulasi visual masalah state and space..

3. Microsoft Access 2007 sebagai software untuk pembuatan database.

Breadth First Search pada Farmer’s Problem

Illustrasi Farmer’s Problem 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. Tabel variabel dan aturan dapat dilihat pada tabel 1 dan tabel 2.

Tabel 1. Tabel Variabel Farmer’s Problem

Variabel ID Nama Variabel Bisa mengemudikan rakit (Driver) K Kambing Tidak P Petani Ya SR Serigala Tidak SY Sayur-sayuran Tidak

Tabel 2. Tabel Aturan Farmer’s Problem

No. Rule / Aturan

1 Kambing akan memakan sayur-sayuran apabila Petani tidak berada di tempat.

2 Serigala akan memakan Kambing apabila Petani tidak berada di tempat.

Dari variabel dan aturan yang terdapat pada Farmer’s

Problem, kita dapat menyimpulkan aksi-aksi apa saja

yang dapat dilakukan dengan tetap mematuhi aturan-aturan yang ada. Aksi-aksi yang dapat dilakukan dapat dilihat pada tabel 3.

(3)

Tabel 3. Tabel Aksi-aksi yang dapat terjadi pada

Farmer’s Problem

Aksi

ke- Aturan

1 Petani dan kambing menyeberang.

2 Petani dan serigala menyeberang.

3 Petani dan sayur-sayuran menyeberang.

4 Petani dan kambing kembali.

5 Petani dan serigala kembali.

6 Petani dan sayur-sayuran kembali.

7 Petani kembali.

Setiap keadaan dari Farmer’s Problem dapat direpresentasikan dengan (kambing, petani, serigala, sayur-sayuran) dan posisi rakit. Keadaan awal dan keadaan tujuan dapat direpresentasikan sebagai berikut:

1. Keadaan awal (start state): a. Daerah kiri = (1,1,1,1). b. Daerah kanan = (0,0,0,0) c. Posisi rakit berada di kiri.

Artinya, terdapat kambing, petani, serigala dan sayur-sayuran di daerah kiri.

2. Keadaan tujuan (goal state): a. Daerah kiri = (0,0,0,0). b. Daerah kanan = (1,1,1,1) c. Posisi rakit berada di kanan.

Artinya, terdapat kambing, petani, serigala dan sayur-sayuran di daerah kanan.

Pencarian solusi dari permasalahan di atas adalah dengan menggunakan bantuan pohon pelacakan. Akar dari pohon merupakan keadaan awal. Akar pohon kemudian membentuk cabang-cabang baru dengan melakukan semua aksi-aksi yang dapat terjadi pada keadaan awal. Keadaan-keadaan baru yang dihasilkan merupakan cabang baru dari pohon. Proses pengembangan dan pencarian dilanjutkan dengan membentuk keadaan baru (cabang baru) dari cabang-cabang yang sudah ada hingga didapatkan solusi. Proses pembentukan keadaan baru juga melakukan prosedur pengecekan apakah keadaan tersebut sudah pernah dibentuk sebelumnya pada pohon. Apabila sudah ada, maka cabang baru tidak dibentuk dan apabila tidak, maka cabang baru dibentuk. Apabila

tidak ada cabang yang dapat dikembangkan lagi dan ternyata belum ditemukan solusi, maka permasalahan yang sedang diselesaikan tidak memiliki solusi.

Struktur pohon pelacakan untuk mencari solusi pada Farmer’s Problem dapat dilihat pada gambar 1.

Gambar 1. Struktur pohon pelacakan untuk Farmer’s

Problem

Dari struktur pohon pelacakan yang dikembangkan pada gambar 1, didapatkan solusi seperti terlihat pada tabel 4.

(4)

Tabel 4. Solusi Farmer’s Problem Daerah Kiri Aksi Posisi Rakit Daerah Kanan (1,1,1,1) - KIRI (0,0,0,0)

(0,0,1,1) Aksi ke-1 (Petani dan

kambing menyeberang) KANAN (1,1,0,0)

(0,1,1,1) Aksi ke-7 (Petani kembali) KIRI (1,0,0,0)

(0,0,0,1) Aksi ke-2 (Petani dan

serigala menyeberang) KANAN (1,1,1,0)

(1,1,0,1) Aksi ke-4 (Petani dan

kambing kembali) KIRI (0,0,1,0)

(1,0,0,0) Aksi ke-3 (Petani dan

sayuran menyeberang) KANAN (0,1,1,1)

(1,1,0,0) Aksi ke-7 (Petani kembali) KIRI (0,0,1,1)

(0,0,0,0) Aksi ke-1 (Petani dan

kambing menyeberang) KANAN (1,1,1,1)

Pencarian solusi pada struktur pohon pelacakan menggunakan metode pencarian melebar pertama (breadth-first search), sehingga solusi yang didapatkan adalah merupakan solusi terpendek.

Finite State Automata Farmer’s Problem

Finite State Automata (FSA) adalah suatu mesin abstrak yang digunakan untuk merepresentasikan penyelesaian suatu persoalan dari suatu sistem diskrit. Sebagai sebuah mesin maka FSA akan bekerja jika diberikan suatu masukan. Hasil proses adalah suatu nilaia kebenaran diterima atau tidaknya masukan yang diberikan.

FSA memiliki state yang banyaknya berhingga, jika diberikan suatu simbol input maka dapat terjadi suatu perpindahan dari sebuah state ke state lainnya. Perubahan state tersebut dinyatakan oleh suatu simbol transisi. Mekanisme FSA tidak memiliki memori sehingga selalu mendasarkan prosesnya pada posisi state “saat ini”. Misalnya pada mekanisme kontrol pada sebuah lift, selalu didasari pada posisi lift saat itu pada suatu lantai, pergerakan ke atas atau ke bawah dan sekumpulan permintaan yang belum terpenuhi. Finite State Automata merupakan suatu tool yang berguna untuk merancang sistem nyata.

Sebagai contoh pada penyelesaian kasus: seorang petani dengan seekor serigala, kambing dan sayuranan berada pada suatu sisi sungai. Tersedianya hanya sebuah perahu kecil yang hanya dapat dimuati dengan petani tersebut dengan salah satu serigala, kambing atau sayuranan. Petani tersebut harus menyeberangkan

ketiga bawaannya kesisi lain sungai. Tetapi jika petani meninggalkan serigala dan kambing pada suatu saat, maka kambing akan dimakan serigala.

Begitu pula jika kambing ditinggalkan dengan sayuranan, maka sayuran akan dimakan oleh kambing. Mungkinkah ditemukan suatu cara untuk melintasi sungai tanpa menyebabkan kambing atau sayuran dimakan. Masalah ini dapat dimodelkan dengan memperhatikan mereka yang menempati setiap sisi sungai. Misalnya kita akan menggunakan kombinasi pada setiap sisi sungai sebagai keadaan/state yang mungkin.

Terdapat 16 kombinasi state untuk Petani (P), serigala (SR), kambing (K) dan sayuran ( SY) yaitu :

Tabel 5. Kombinasi State

Sisi Kiri Sisi Kanan Simbol State PSRKSY Ø PSRKSY – Ø SR.SY PK SR.SY – PK SR.K P.SY SR.K – P.SR KSY PSR KSY– PSR PSR.SY K PSR.SY – K PSRK SY PSRK – SY PKSY SR PKSY – SR PK SR.SY PK – SS PSY SRK PSY – SRK PSR KSR PSR – KSY K PSR.SY K – PSR.SY SY PSRK SY – PSRK SR PKSY SR – PKSY SRKSR P SRKSY – P P SRKSY P – SRKSY Ø PSRKSY Ø - PSRKSY Dari 16 kombinasi state tersebut, hanya 10 state yang mungkin, yaitu :

Tabel 6. Kombinasi State Sisi Kiri Sisi Kanan Simbol State PSRKSY Ø PSRKSY – Ø SR.SY PK SR.SY – PK PSR.SY K PSR.SY – K PSRK SY PSRK – SY PKSY SR PKSY – SR PK SR.SY PK – SR.SY K PSR.SY K – PSR.SY SY PSRK SY – PSRK SR PKSY S R– PKSY Ø PSRKSY Ø – PSRKSY

Berdasarkan kemungkinan state tersebut, dapat digambarkan diagram transisi dari persoalan tersebut dengan mesin automata, sbb :

(5)

Gambar 2. Finite State Automata (FSA) Farmer’s

Problem

Pada diagram diatas, arti bentuk-bentuk adalah sebagai berikut :

a. Lingkaran merepresentasikan kedudukan (state).

b. Label pada lingkaran adalah nama state tersebut.

c. Busur menyatakan transisi.

d. Label pada busur adalah masukan / input e. Lingkaran didahului dengan sebuah busur

tanpa label adalah state awal

f. Lingkaran ganda menyatakan state akhir (final)

Secara formal FSA didefinisikan dengan 5 tuple : M = (Q, ∑, δ, S, F), dimana :

Q : himpunan state/kedudukan ∑ : himpunan table input ∂ : fungsi transisi

S : State awal (initial state)

F : himpunan state akhir (Final State)

Untuk kasus petani d engan bawaanya, dapat didefinisikan FSA sebagai berikut :

Q = { PSRKSY–Ø, SR.SY–PK, PSR.SY–K, PSRK– SY, PKSY–SR, PK–SR.SY, K–PSR.SY, SY– PSRK, SR.SY–PKR, Ø–PSRKSY}

∑ = {P, PK, PSY, PSR } Δ =

Tabel 7. Definisi FSA

P PK PSY PSR PSRKSY – Ø SR.SY – PK - - - SR.SY – PK PSR.SY – K PSRKSY – Ø - - PSR.SY – K SR.SY – PK - SR – PKSY SY – PKSR PSRK – SY - SR – PKSY - K – PSR.SY PKSY – SR - SY – PKSR K – PSR.SY - PK – SR.SY K – PSR.SY Ø – PSRKSY K – PSR.SY PK – SR.SY - PKSY – SY PKSR – SY SY – PSRK - PKSY – SR - PSR.SY – K SR – PKSY - PKSR – SY PSR.SY – K - Ø – PSRKSY - PK – SR.SY - - S = PSRKSY – Ø F = { Ø – PSRKSY }

Deterministic Finite Automata ( DFA )

A deterministic finite automaton (DFA) M = (Q, ∑, δ , S, F), dimana :

Q : himpunan state/kedudukan ∑ : himpunan 5able5 input

∂ : fungsi transisi, dimana ∂  Q x ∑  Q S : State awal (initial state)

F : himpunan state akhir (Final State) Sebagai contoh mesin otomata berikut:

B = ({q0, q1, q2,},{0,1}, δB, q0,{q2,}) Dimana δB = {((q0, 0), q1), (( q0, 1), q0), (( q1, 0), q1), (( q1, 1), q2), (( q2, 0), q2), (( q2, 1), q2) PKSRS Y- Ø SRSY – PK PSRSY – K SY – PKSR SR - PKSY PKSY - SR PKSR – SY K - PSRSY PK - SRSY Ø - PKSRS

(6)

FSA tersebut dikatakan DFA, jika selalu memenuhi tabel transisi berikut :

Tabel 8. Transisi 0 1

q0 q0 q0

q0 q0 q0

q0 q0 q0

Tabel mewakili fungsi δ, yaitu untuk menemukan nilai δ (q,x) kita harus melihat pada baris q label dan kolom berlabel x. Keadaan awal ditandai oleh semua negara dan akhir ditandai dengan. Namun lain, optik lebih menginspirasi, alternatif adalah diagram transisi: Namun lain, optik lebih menginspirasi, alternatif adalah diagram transisi:

Gambar 3. Diagram Transisi

Ada panah ke keadaan awal dan semua negara akhir ditandai dengan cincin ganda. Jika δ(q,x) kemudian ada panah dari state q ke q1 yang diberi label x. Penulisan ∑* untuk himpunan kata-kata (yaitu urutan) selama alphabet ∑. Ini termasuk kata kosong yang ditulis €.

{0,1}* = {€, 0,1,00,01,10,11,000,…}

Non-Deterministic Finite Automata (NDFA)

Sebuah non-deterministik finite automaton adalah 5-tuple M = (Q,∑,δ, q0,F) dimana.

Q : State awal ∑ : Alpabet

q0 € Q : Keadaan Awal State

F ʗ Q : State akhir

δ : Fungsi Transisi δ : Q x {∑ U €}  P (Q) (€ string kosong. P (Q) adalah himpunan semua himpunan bagian dari Q.

State Diagram

ɑ

ɑ b ɑ ɑ b ɑ ɑ b

Gambar 4. State Diagram

Gambar 5. NDFA State Diagram

Antar Muka Simulasi Visual dengan Metode

Breadth First Search pada Farmer’s Problem

Pada langkah awal ini terdapat tampilan gambaran Simulasi Farmer’s Problem, terdapat tabel berupa tabel Variabel, tabel Rule dan solusi penyelesaian. Solusi yang didapatkan dari permasalahan menyeberang sungai (Farmer’s Problem) adalah sebagai berikut bisa kita lihat gambar langkah 0 hingga selesai (langkah-7)

0.1 0 1 1 0 q0 0 q1 q2 G H P S F Q ɑ ɑ b b b b b ɑ ɑ b

(7)

Gambar 6. Langkah-0 (Keadaan Awal)

1. Langkah-1 ( Petani dan kambing menyeberang ke kanan).

Gambar 7. Langkah-1( Petani dan kambing menyeberang ke kanan)

2. Langkah-2 (Petani menyeberang ke kiri).

Gambar 8. Langkah-2 (Petani menyeberang ke kiri)

3. Langkah-3 ( Petani dan Serigala menyeberang ke kanan).

Gambar 9. Langkah-3( Petani dan Serigala menyeberang ke kanan)

4. Langkah-4 ( Petani dan kambing menyeberang)

Gambar 10. Langkah-4( Petani dan kambing menyeberang ke kiri)

5. Langkah-5 /(Petani dan Sayuran menyeberang ke kanan).

Gambar 11. Langkah-5(Petani dan Sayuran menyeberang ke kanan)

(8)

6. Langkah-6 (Petani menyeberang ke kiri).

Gambar 12. Langkah-6 (Petani menyeberang ke kiri)

7. Langkah-7 (Petani dan Kambing menyeberang ke kanan).

Gambar 13. Langkah-7 (Petani dan Kambing menyeberang ke kanan)

3. PENUTUP

1. Perangkat lunak akan menemukan solusi terpendek (shortest path) dari suatu permasalahan, karena perangkat lunak menggunakan metode pencarian melebar pertama (Breadth First Search) untuk mencari solusi. Hal ini disimulasikan dengan

Farmer’s Problem ini yang penerapan

contohnya juga pada proses kasus multitasking.

2. Perangkat lunak menampilkan semua pergerakan (secara bertahap) dari solusi yang didapatkan, sehingga solusi akan terlihat lebih jelas.

3. Pencarian tidak selalu menghasilkan solusi. Bila setelah semua keadaan pada pohon pelacakan diperiksa dan dikembangkan dan solusi belum ditemukan, maka permasalahan tidak memiliki solusi.

4. DAFTAR PUSTAKA

[1]. Kusumadewi, S (2003), Artificial Intelligence

(Teknik dan Aplikasinya), Penerbit: Graha

Ilmu, Bogor.

[2]. Desiani, A., dan Arhami, M (2006), Konsep Kecerdasan Buatan, Penerbit: Andi, Yogyakarta.

[3]. Arhani, M (2005), Konsep Dasar Sistem Pakar, Penerbit: Andi, Yogyakarta.

[4]. Ramadhan, A (2004), 36 Jam Belajar Komputer Visual Basic 6.0, Penerbit: PT.Elexmedia Komputindo, Jakarta.

[5]. Wikipedia (2012), Breadth First Search, from: http://en.wikipedia.org/wiki/Breadth-first_search, 3 Juli 2013.

[6]. Britton, Jill (2013), The Wolf, The Goat and

The Cabbage, from:

http://britton.disted.comosun.bc.ca/jbwolfgoa t.htm, 3 Juli 2013.

[7]. Wikipedia (2013), Pengertian Tugas Ganda, from:http://id.wikipedia.org/wiki/Tugas_gan da, 10 Juli 2013.

[8]. Smitdev (2009), Pengertian Multitasking, from:http://www.smitdev.com/posts/multitas king341.php, 10 Juli 2013.

[9]. Poole David, Alan Mackworth (2010), State Spaces, From: http://artint.info/html/ArtInt_48.html, 10 Juli 2013. [10]. Wikipedia (2013), from: http://en.wikipedia.org/wiki/State_space_sear ch, 10 Juli 2013.

Gambar

Tabel 2. Tabel Aturan Farmer’s Problem
Tabel 3. Tabel Aksi-aksi yang dapat terjadi pada  Farmer’s Problem
Tabel 4. Solusi Farmer’s Problem  Daerah
Gambar 2. Finite State Automata  (FSA) Farmer’s  Problem
+4

Referensi

Dokumen terkait

Chemical characteristics and kraft pulping of tension wood from Eucalyptus

Menetapkan tim audit Tersusunya tim audit Rapat bersama tim pengendali mutu Penetapan periodisasi audit internal Tersusunnya jadwal audit Penetapan jadwal kegiatan

Perintah untuk menampilkan data siswa dari tabel siswa yang terdiri dari field NIS, nama_siswa dan tanggal lahir dengan urutan dari alfabet adalah ..... select nis,

Valbury Asia Securities or their respective employees and agents makes any representation or warranty or accepts any responsibility or liability as to, or in relation to, the

Hal tersebut sebenarnya sudah harus menjadi perbincangan serius, sudah saatnya isu satwa liar dan satwa langka yang dilindungi di Indonesia menjadi isu Nasional, upaya

Jika di antara mata dan polarisator diletakkan lagi sebuah alat yang dinamakan analisator (fungsinya sama dengan polarisator), maka sinar yang telah terpolarisasi tadi akan

Berdasarkan hasil penelitian ini dapat disimpulkan bawha penggunaan video langsung dapat digunakan untuk mendeteksi dan menangkap objek wajah manusia yang

 Prinsip farmakologis terapi inhalasi yang ideal untuk penyakit saluran napas adalah obat dapat sampai pada organ target dengan menghasilkan