• Tidak ada hasil yang ditemukan

BAB IV PERANCANGAN DAN IMPLEMENTASI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB IV PERANCANGAN DAN IMPLEMENTASI"

Copied!
26
0
0

Teks penuh

(1)

BAB IV

PERANCANGAN DAN IMPLEMENTASI

4.1 Pendahuluan

Sistem multiagen untuk menyelesaikan permasalahan job shop scheduling diimplementasikan dalam bentuk program yang menerima masukan berupa definisi permasalahan job shop scheduling dan kemudian melakukan simulasi untuk mendapatkan jadwal pengerjaan job yang terbaik yaitu yang makespan tersingkat.

Agen-agen yang telah dijelaskan pada BAB III Analisis akan diimplementasikan sebagai bagian dari program. Selama melakukan simulasi ini agen-agen (machine agent) akan melakukan pembelajaran (menyimpan pengalaman dan melakukan inferensi) untuk memperoleh aturan (policy) terbaik untuk mengambil keputusan dalam pemrosesan job (menentukan urutan operasi job yang akan dikerjakan).

4.2 Perancangan Kelas

Program ini dirancang menggunakan metode berorientasi objek sehingga program ini dibagi menjadi kelas-kelas dengan tanggung jawab tertentu. Tabel daftar kelas perancangan program dan jenisnya dapat dilihat pada Tabel IV-1 Daftar Jenis Kelas.

Tabel IV-1 Daftar Jenis Kelas

No Nama Kelas Jenis

1 Jsspui Interface 2 Job Entity 3 Case Entity 4 schedule Entity 5 controlAgent Controller 6 controlAgentBehaviour Controller 7 machineAgent Controller

(2)

8 machineAgentBehaviour Controller

Tabel rincian tanggung jawab setiap kelas dapat dilihat padaTabel IV-2 Daftar Tanggung Jawab Kelas.

Tabel IV-2 Daftar Tanggung Jawab Kelas

No Nama Kelas Daftar Tanggung Jawab

1 jsspui 1. Menerima input dari user dan menjalankan

program

2. Menerima output dari program dan menampilkannya kepada user

2 job 1. Menyimpan data spesifikasi setiap job (rute,

waktu operasi)

2. Menyimpan status (perubahan) tiap job yang diproses oleh sistem

3 Case 1. Menyimpan kasus untuk basis pengetahuan agen

case-based reasoning 2. Mengelola case

4 schedule 1. Menyimpan penjadwalan dari hasil simulasi

sistem

2. Mengelola schedule

5 controlAgent 1. Menerima definisi job shop problem dari file input

2. Mengontrol seluruh proses job shop scheduling 3. Menjalankan controlAgentBehaviour

6 controlAgentBehaviour 1. Mengirimkan kondisi sistem kepada machineAgent

2. Menerima keputusan (pilihan aksi) dari machineAgent

3. Mengirimkan reward kepada machineAgent 4. Mencatat hasil simulasi job shop scheduling dan

(3)

menuliskannya di file output

7 machineAgent 1. Mengambil pengetahuan (case) dari file eksternal

2. Menjalankan machineAgentBehaviour

8 machineAgentBehaviour 1. Mengelola pengetahuan (case) di dalam memori 2. Mengambil keputusan aksi berdasarkan kondisi

sistem dari controlAgent dan basis pengetahuan yang dimiliki

3. Memutakhirkan basis pengetahuan berdasar kan nilai reward dari aksi, yang diberikan oleh controlAgent

4. Menuliskan kembali pengetahuan (case) yang telah dimutakhirkan ke file eksternal

Diagram kelas perancangan dapat dilihat pada Gambar IV-1. Kelas jsspui merupakan kelas yang hanya bertugas menghidupkan seluruh agen yang dibutuhkan sesuai dengan definisi permasalahan job shop scheduling yang diberikan oleh user. Kelas machineAgentBehaviour merupakan bagian dari kelas machineAgent sedangkan kelas controlAgentBehavior merupakan bagian dari kelas controAgent. Dengan demikian kelas machineAgentBehaviour dapat menggunakan atribut dan method yang ada pada kelas machineAgent dan controlAgentBehaviour dapat menggunakan atribut dan method yang ada pada kelas controlAgent.

Diagram sequence perancangan dari program dapat dilihat padaGambar IV-2 Diagram sequence perancangan program. Sequence program ini akan berulang sampai seluruh job yang didefinisikan selesai. Status job terus menerus dicek pada setiap akhir iterasi dengan fungsi isJobsDone() yang dimiliki kelas controlAgent. Gambar IV-2 Diagram sequence perancangan program berpadanan dengan flowchart pada Gambar III-3.

(4)

Gambar IV-1 Diagram perancangan kelas program

Keterangan lebih rinci dari setiap atribut dan operasi dapat dilihat pada Tabel IV-3 Kelas jsspui, Tabel IV-4 Kelas job, Tabel IV-5 Kelas Case, Tabel IV-6 Kelas schedule, Tabel IV-7 Kelas controlAgent, Tabel IV-8 Kelas controlAgentBehaviour, Tabel IV-9 Kelas machineAgent dan Tabel IV-10 Kelas machineAgentBehaviour.

(5)
(6)

Tabel IV-3 Kelas jsspui

No Nama atribut Visibility Tipe

1 - - -

No Nama operasi Visibility Deskripsi

1 jsspui() Public Konstruktor kelas

2 out() Public Menampilkan output program kepada user

Tabel IV-4 Kelas job

No Nama atribut Visibility Tipe

1 route Public Array of Integer

2 optime Public Array of Integer

3 next Public Integer

4 prev Public Integer

5 ticker Public Integer

No Nama operasi Visiblility Deskripsi

1 job() Public Konstrktor kelas

2 process() Public

Memutakhirkan (menambah) nilai atribut ticker pada job yang menandakan bahwa job telah diproses

3 isDone() Public

Mencek apakah job sudah selesai diproses pada setiap mesin pada rute (sesuai urutan)

Tabel IV-5 Kelas Case

No Nama atribut Visibility Tipe

(7)

2 sol Public solution (internal class) No Nama operasi Visiblility Deskripsi

1 Case() Public Konstrktor kelas

2 out() Public Mencetak nilai atribut sebuah Case ke dalam String

3 updateExp() Public Melakukan pemutakhiran pengalaman (experience) yang disimpan dalam Case

4 updateExpN() Public

Melakukan pemutakhiran update-counter (N) dari sebuah aksi pada pengalaman dalam sebuah Case

5 getExpUpdate() Public

Mengembalikan nilai updateCounter (N) dari sebuah aksi pada pengalaman dalam sebuah Case

6 getExpQ() Public Mengembalikan nilai Q dari sebuah aksi pada pengalaman dalam sebuah Case

7 getExpAction() Public Mengembalikan nilai aksi pada pengalaman dalam sebuah Case

Tabel IV-6 Kelas schedule

No Nama atribut Visibility Tipe

1 table Public Array of array of Integer

2 time Public Integer

No Nama operasi Visiblility Deskripsi 1 schedule() Public Konstrktor kelas

2 occupy() Public

Memutakhirkan nilai table sebagai log dari penjadwalan yang dihasilkan simulasi

3 out() Public Mengembalikan table ke dalam bentuk String

(8)

Tabel IV-7 Kelas controlAgent

No Nama atribut Visibility Tipe

1 AID Public AID

2 jobs Public Array of job

3 schedule Public Schedule

4 machineAgents Public Array of AID No Nama operasi Visiblility Deskripsi 1 controlAgent() Public Konstrktor kelas

2 setup() Public Fase persiapan agen. Penambahan behaviour dilakukan di sini

3 addBehaviour() Public Penambahan behaviour atau perilaku agen

4 updateList() Public Melakukan pendaftara seluruh agen yang aktif

5 getTotalTime() Public

Memperoleh nilai total dari proses yang dibutuhkan untuk menyelesaikan seluruh job secara sekuensial (worst case)

6 isJobsDone() Public

Mencek apakah seluruh job telah selesai diproses (melalui setiap mesin sesuai rute yang telah didefinisikan)

7 doDelete() Public

Memberikan sinyal kepada agen untuk memicu prosedur takeDown() untuk mematikan agen

8 takeDown() Public Mematikan agen

9 out() Public

Mengembalikan bentuk String dari data keluaran agen :

1. DPR yang digunakan, 2. Waktu hasil penjadwalan

(9)

3. Exploration rate tiap machineAgent

Tabel IV-8 Kelas controlAgentBehaviour

No Nama atribut Visibility Tipe

1 status Public Integer

No Nama operasi Visibility Deskripsi

1 controlAgentBehaviour() Public Konstruktor kelas

2 action()

Public Mendefinisikan perilaku (urutan aksi) yang harus dilakukan agen saat diaktifkan/dihidupkan

Tabel IV-9 Kelas machineAgent

No Nama atribut Visibility Tipe

1 AID Public AID

2 CB Public Vector of Case

3 controlAgent Public AID No Nama operasi Visiblility Deskripsi 1 machineAgent() Public Konstrktor kelas

2 setup() Public Fase persiapan agen. Penambahan behaviour dilakukan di sini

3 addBehaviour() Public Penambahan behaviour atau perilaku agen

4 NN() Public Mencari Nearest Neighbour (Case) dari sebuah kondisi (state)

5 selectIndex() Public Memilih indeks dari aksi (dispatch rule) yang akan dilakukan untuk memilih job

6 selectJob() Public Memilih job berdasarkan indeks aksi

7 shellSort() Public Mengurutkan nilai Q dari sebuah Case (ascending sort)

(10)

8 doDelete() Public

Memberikan sinyal kepada agen untuk memicu prosedur takeDown() untuk mematikan agen

9 takeDown() Public Mematikan agen

Tabel IV-10 Kelas machineAgentBehaviour

No Nama atribut Visibility Tipe

1 status Public Integer

No Nama operasi Visibility Deskripsi

1 machineAgentBehaviour() Public Konstruktor kelas

2 action() Public

Mendefinisikan perilaku (urutan aksi) yang harus dilakukan agen saat diaktifkan/dihidupkan

4.3 Implementasi

IV.3.1 Lingkungan implementasi

Lingkungan implementasi yang dipilih adalah bahasa pemrograman Java dengan framework JADE. Bahasa Java dipilih karena merupakan bahasa yang dapat menghasilkan program multiplatform. Selain itu, alasan dipilihnya bahasa pemrograman Java adalah tersedianya framework khusus untuk mengembangkan sistem berbasis multiagent yaitu JADE. Java SDK yang digunakan adalah versi 1.6. IDE yang digunakan untuk membuat program ini adalah Net Beans vesi 6.0.1 yang dijalankan pada sistem operasi Windows XP SP2.

IV.3.2 Implementasi kelas

Tabel implementasi kelas dapat dilihat pada Tabel IV-11 Implementasi kelas. Sebagian dari kelas yang diimplementasikan merupakan turunan dari kelas-kelas bawaan framework JADE. Selain itu ada kelas-kelas bawaan lain dari JADE yang digunakan dalam sistem. Daftar seluruh kelas bawaan dari JADE berikut deskripsi

(11)

tanggung jawabnya dapat dilihat pada Tabel IV-12 Daftar kelas bawaan dari framework.

Tabel IV-11 Implementasi kelas

No Nama Kelas Nama File Fisik

1 Jsspui jsspui.java 2 Job job.java 3 Case case.java 4 Schedule schedule.java 5 controlAgent controlAgent.java 6 controlAgentBehaviour controlAgent.java 7 machineAgent machineAgent.java.java 8 machineAgentBehaviour machineAgent.java.java

Tabel IV-12 Daftar kelas bawaan dari framework

No Nama Kelas Daftar Tanggung Jawab

1 Jade.core.agent Parent dari kelas controlAgent dan machineAgent

2 Jade.core.behaviours Parent dari kelas controlAgentBehaviour dan machineAgentBehaviour

3 Jade.core.AID Mengelola ID khusus untuk tiap agen 4 Jade.domain.FIPAAgentManagement Mengelola deskripsi agen dan layananya

(service)

5 Jade.domain.FIPAException Mengelola exception dari aksi

6 Jade.domain.DFService Mengelola layanan yang terkait dengan agen-agen

7 Jade.lang.acl.ACLMessage Mengelola pesan untuk komunikasi antar agen

IV.3.3 Sintaks untuk menjalankan program

(12)

java jsspui [path_dari_file_job_shop_input] [learning_exploration_rate][test_value]

contoh :

1. D:\My Documents\NetBeansProjects\JSSP\build\classes>java jsspui C:\tes1.txt

2. D:\My Documents\NetBeansProjects\JSSP\build\classes>java jsspui C:\tes1.txt 5

3. D:\My Documents\NetBeansProjects\JSSP\build\classes>java jsspui C:\tes1.txt 5 1

Keterangan:

1 learning_exploration_rate

Bernilai {0..10} 0 = tidak melakukan ekplorasi; 10 = terus melakukan explorasi; 2 test_value

Nilai untuk mengeksekusi test agent yang hanya menggunakan satu jenis DPR. 0 = EDD agent, 1 = MS agent, 2 = SPT agent

3 Program harus dijalankan di folder di mana seluruh kelas JSSP berada

IV.3.4 Spesifikasi file input

# JSS # 10 5 // [jumlah_job] [jumlah_mesin] # 1 72 0 87 4 95 2 66 3 60 # 4 5 3 35 0 48 2 39 1 54 # 1 46 3 20 2 21 0 97 4 55 # 0 59 3 19 4 46 1 34 2 37 # 4 23 2 73 3 25 1 24 0 28 # 3 28 0 45 4 5 1 78 2 83 # 0 53 3 71 1 37 4 29 2 12 # 4 12 2 87 3 33 1 55 0 38 # 2 49 3 83 1 40 0 48 4 7 # 2 65 3 17 0 90 4 27 1 23

(13)

//[mesin1] [optime1] [mesin2] [optime2] … [mesinN] [optimeN] Contoh file input tes2.txt dapat dilihat pada Gambar IV-4 Contoh file input.

(14)

Gambar IV-4 Contoh file input

IV.3.5 Spesifikasi file output

Program akan menghasilkan 2 jenis output (kedua file output ini di buat oleh program di folder yang sama di tempat seluruh kelas program ini berada):

1. Schedule.txt : dibagi menjadi dua bagian yaitu spesifikasi job yang diberikan (ditulis ulang) dan hasil penjadwalan (schedule). Contoh file ada pada Gambar IV-5 Contoh file output program schedule.txt. Penjelasan dari setiap baris dalam file adalah sebagai berikut :

1 0 2 1 4 7 3

1. Baris pertama adalah id dari job

2. Baris kedua adalah urutan mesin (rute) yang harus dilalui job

3. Baris ketiga adalah waktu operasi job di tiap mesin. Pada contoh diatas : waktu operasi pada mesin 4 adalah 88, mesin 8 adalah 68 .dst

(15)

Total time = 34

Machine[0] 0 0 0 0 - 1 1 1 1 1 - - - 2 2 2 2 2 2 2 2 2 - - - Machine[1] - - - 1 1 1 1 1 1 0 0 0 2 2 2 2 2 2 - - - Machine[2] 1 1 1 1 1 0 0 0 0 0 0 0 2 2 2 2 2 - - -

1. Baris pertama adalah makespan

2. Baris kedua dan seterusnya adalah tabel (baris dan kolom) jadwal pengerjaan yang dihasilkan sistem. Bagian baris (machine[1], machine[2], machine[1]) adalah mesin yang bekerja pada sistem. Sedangkan bagian kolom adalah waktu (t). Lambang ‘-‘ berarti pada saat itu mesin sedang idle. Sedangkan lambang berupa angka tertentu adalah id dari job yang sedang diproses pada mesin tersebut.

Gambar IV-5 Contoh file output program schedule.txt

2. Case [n].txt : representasi pengetahuan dari tiap machine Agent. Contoh file output case base dapat dilihat pada Gambar IV-6 Contoh file case base dari agen. Penjelasan dari bagian-bagian dalam file ini adalah :

10 11 15 0

(16)

0 2 0.6041666666666666 1 3 0.4166666666666667 2 0 0.0

1. Baris pertama merupakan state dari case yaitu case[i].state 2. Baris kedua merupakan evaluation value dari tiap case[i].solution

3. Baris ketiga dan seterusnya adalah experience[i] = <kode_aksi jumlah_update nilai_q> atau Case[i].solution.E[j] = <a, n, Q>. Tuple E = <a, n, Q> selalu terurut menaik berdasarkan Q

(17)

IV.3.6 Contoh penyelesaian kasus

Pada sistem multiagent ini, control agent dan beberapa (dalam kasus ini tiga) machine agent akah saling berinteraksi untuk melakukan simulasi job shop scheduling dengan spesifikasi kasus job shop di atas. Dalam simulasi ini, sistem tidak mengambil pilihan acak (exploration rate = 0), sehingga perilaku agen lebih mudah ditelaah. Contoh kasus yang disimulasikan adalah kasus job shop 3 job 3 mesin dengan representasi sebagai berikut :

3 3

0 4 2 7 1 3 2 5 0 5 1 6 2 5 1 6 0 9

Dalam skenario satu, semua machine agent belum memiliki pengetahuan (case) sama sekali. Jadi dalam simulasi ini ditunjukkan tahap-tahap pembuatan dan penambahan case oleh setiap machine agent. Mengacu pada siklus CBR, maka setiap kasus yang ditemukan oleh agen akan disimpan (retained). Sesuai dengan algoritma global program pada Algoritma III-9 penambahan kasus baru akan mengakibatkan reinisialisasi dari case yang mengacu pada kasus baru tersebut.

Flowchart skenario satu dibagi menjadi tiga bagian yaitu control agent, machine agent 0, machine agent 1 dan machine agent 2. Keseluruhan flowchart dibagi dalam beberapa bagian gambar :

1. Control agent : terdapat pada Gambar IV-7, Gambar IV-8, Gambar A - 1, Gambar A - 2 dan Gambar A - 3

2. Machine agent 0 : terdapat pada Gambar IV-9, Gambar IV-10 dan Gambar A - 4 3. Machine agent 1 : terdapat pada Gambar A - 5, Gambar A - 6 dan Gambar A - 7 4. Machine agent 2 : terdapat pada Gambar IV-11, Gambar IV-12 dan Gambar A - 8 Legenda dari flowchart dapat dilihat pada Gambar III-3.

(18)

mulai

J[0].route = {0, 2, 1}; j[0].optime = {4, 7, 3} J[1].route = {2, 0, 1}; j[1].optime = {5, 5, 6} J[2].route = {2, 1, 0}; j[2].optime = {5, 6, 9}

Kirim daftar job : Machine[0] = {j[0]} Machine[2] = {j[1],j[2]}

2 1

Kirim state (total duedate, total slack, total processing time, current time) :

14 50 14 0

3 4

Terima pilihan job: Machine[0] =j[0] (0 0 4 0) Machine[2] =j[1](0 0 5 0) 5 Reward = 0 + 0 + ((7+3)+(5+6)+(5+6+9))/3 = 13 8 7 6 9

Gambar IV-7 Flowchart control agent (1)

Gambar IV-8 Gambar IV-9 Gambar IV-9 Gambar IV-9 Gambar IV-11 Gambar IV-11 Gambar IV-11

(19)

Gambar IV-8 Flowchart control agent (2) Gambar IV-7 Gambar A - 1 Gambar IV-10 Gambar IV-10 Gambar IV-10 Gambar IV-12 Gambar IV-10 Gambar IV-10

(20)

J[0].route = {0, 2, 1}; j[0].optime = {4, 7, 3} 2 State: 14 50 14 0 Tambah case : 14 50 14 0 0 2 0 0.0 1 0 0.0 0 0 0.0

Cold == Cnew (tidak ada transisi state) Action_ix = selectIndex(0) Cnew.sol.E[Action_ix].action = 2 (SPT) Cnew.sol.E[Action_ix].n++ Cnew: 14 50 14 0 1 2 1 0.0 1 0 0.0 0 0 0.0 PT(j[0]) = 4 Kirim pilihan job =j[0] Kirim start, completion time,

reward lokal: 0 0 4 0 5 getReward(4,4) = 0 Reward global = 13 Cold = Cnew (14 50 14 0) Old_action = Action_ix = 0 8 41 4 mulai

Gambar IV-9 Flowchart machine agent 0 (1)

Gambar IV-7

Gambar IV-7

Gambar IV-7

(21)

Gambar IV-10 Flowchart machine agent 0 (2) Gambar IV-9 Gambar IV-8 Gambar IV-8 Gambar IV-8 Gambar A - 4

(22)

J[1].route = {2, 0, 1}; j[1].optime = {5, 5, 6} J[2].route = {2, 1, 0}; j[2].optime = {5, 6, 9} 1

State: 14 50 14 0

Tambah case (Cnew) : 14 50 14 0

0 2 0 0.0 1 0 0.0 0 0 0.0

Cold == Cnew (tidak ada transisi state) Jadi nilai tidak diupdate

Action_ix = selectIndex(0) Cnew.sol.E[Action_ix].action = 2 (SPT) Cnew.sol.E[Action_ix].n++ Cnew: 14 50 14 0 1 2 1 0.0 1 0 0.0 0 0 0.0 PT(j[1]) = 5 PT(j[2]) = 5 Kirim pilihan job =j[1] Kirim start, completion time,

reward lokal: 0 0 5 0 6 getReward(5,5) = 0 Reward global = 13 Cold = Cnew (14 50 14 0) Old_action_ix = Action_ix = 0 7 46 3 Mulai

Gambar IV-11 Flowchart machine agent 2 (1)

Gambar IV-7 Gambar IV-7

Gambar IV-7

(23)

Gambar IV-12 Flowchart machine agent 2 (2) Gambar IV-8 Gambar IV-8 Gambar IV-8 Gambar IV-11 Gambar A - 8

(24)

Pada skenario dua ditunjukkan proses pemutakhiran nilai Q yang disimpan dalam pengetahuan machine agent. Skenario ini hanya melengkapi skenario sebelumnya jadi tidak ditampilkan lengkap (dari awal simulasi sampai akhir) melainkan hanya sebagian saja. Flowchart skenario dua hanya ditampilkan sebagian karena secara keseluruhan, mirip dengan skenario satu. Flowchart skenario dua terdapat pada Gambar IV-13, Gambar IV-14 dan Gambar IV-15.

Gambar IV-13 Flowchart control agent (skenario 2)

Gambar IV-14 Gambar IV-15 Gambar IV-15 Gambar IV-15 Gambar IV-14 Gambar IV-14

(25)

Gambar IV-13 Flowchart control agent (skenario 2) menunjukkan interaksi yang dinisiasi oleh control agent. Pada Gambar IV-13 mengirimkan plihan job pada machine agent 0 dan machine agent 2.

CB[1] 26 41 17 5 1 2 1 0.0 0 0 0.0 1 0 7.5 CB[0] 14 50 14 0 1 2 2 0.0 1 0 0.0 0 0 0.0 CB[2] 34 12 12 22 1 2 2 0.0 1 0 0.0 0 0 0.0 J[1].route = {0, 1}; j[1].optime = {5, 6} 12 State: 26 41 17 5 13 Cold = (14 50 14 0) Reward global = 13 Old_action_ix = 0 Alpha = 1 / 1 + 2 = 0.33 Q = (1-0.33) (0) + (0.33) (13 + 0.5 * 0.0) = 4.33 Cold.sol.E[Old_action_ix].q = 4.33 Resort(Cold.sol.E) 14 50 14 0 1 1 0 0.0 0 0 0.0 2 2 4.33 Action_ix = SelectIndex(5) Cnew.sol.E[Action_ix].action = 2 (SPT) Cnew.sol.E[Action_ix].n++ Cnew: 26 41 17 5 1 2 1 0.0 1 0 0.0 0 0 0.0 PT(j[1]) = 5 Kirim pilihan job =j[1] Kirim start, completion time,

reward lokal: (1 5 10 0) getReward(10,10) = 0 Reward global = 15 Cold = Cnew (26 41 17 5) Old_action_ix = Action_ix = 0 14 16 CB[1] 26 41 17 5 1 2 2 0.0 0 0 0.0 1 0 7.5 CB[0] 14 50 14 0 1 1 0 0.0 0 0 0.0 2 2 4.33 CB[2] 34 12 12 22 1 2 2 0.0 1 0 0.0 0 0 0.0 Cnew = NN(state, CB) CB[1] 26 41 17 5 1 2 1 0.0 0 0 0.0 1 0 7.5

Gambar IV-14 Flowchart machine agent 0 (skenario 2)

Pada Gambar IV-14 ditunjukkan proses pemutakhiran nilai Q (yang diikuti dengan resorting) pada case yang dimiliki machine agent 0. Tiga kotak di sebelah kiri atas

Gambar IV-13

Gambar IV-13

(26)

merupakan case base awal dari machine agent 0, sedangkan tiga kotak di sebelah kiri bawah merupakan case base akhir dari machine agent 0.

Gambar IV-15 Flowchart machine agent 2 (skenario 2)

Pada Gambar IV-15 ditunjukkan proses pemutakhiran nilai Q (yang diikuti dengan resorting) pada case yang dimiliki machine agent 2. Tiga kotak di sebelah kiri atas merupakan case base awal dari machine agent 0, sedangkan tiga kotak di sebelah kiri bawah merupakan case base akhir dari machine agent 0.

Gambar IV-13

Gambar IV-13

Gambar

Tabel IV-1 Daftar Jenis Kelas
Tabel rincian tanggung jawab setiap kelas dapat dilihat padaTabel IV-2 Daftar Tanggung  Jawab Kelas
Diagram  sequence  perancangan  dari  program  dapat  dilihat  padaGambar  IV-2  Diagram  sequence  perancangan  program
Gambar IV-1 Diagram perancangan kelas program
+7

Referensi

Dokumen terkait

Demikian untuk mengatasi masalah pendidikan di daerah kecamatan Nanggung, pihak perusahaan melalui program Corporate Social Responsibility (CSR) telah memberikan

Swastha, Manajemen Pemasaran Modern (Yogyakarta: Liberty Yogyakarta, 2002) Syaparuddin “Prinsip-prinsip Dasar al-Qur’ ā n Tentang Perilaku Konsumsi,”.

Pertama : Dalam karyanya Thanthawi Jauhari berusaha mengkonsultasikan kembali ayat-ayat Alquran dengan keajaiban alam, mencarikan hasil ilmu kealaman dari Alquran

SIMPULAN Berdasarkan hasil penelitian tentang pengaruh strategi pembelajaran Spontaneous Group Discussion terhadap kemampuan berpikir kritis matematis siswa kelas X

Manajer harus sangat berhati – hati dalam pengambilan keputusan pendanaan, sebab jumlah hutang yang semakin tinggi akan mengakibatkan financial distress yang

Diagram XCV: Penilaian Integritas Petugas Pelayanan Informasi 147 Diagram XCVI: Kepuasan Petugas Informasi 148 Diagram XCVII: Kepuasan Informasi Bantuan Hukum Per Jenis

perencanaan dan peruntukan lahan dalam kurun waktu tertentu yang dilakukan melalui analisis kawasan termasuk pengendalian dampak lingkungan, dan analisis pengembangan

Untuk menarik perhatian para tamu dan memenuhi kebutuhan dan keinginan mereka yang menginap di hotel, maka Hotel Emerald Gardenia medan sebagai hotel yang menyandang predikat