131
8. PERANCANGAN SISTEM MULTI AGEN Pendahuluan
Peningkatan kecepatan proses komputasi sebagai solusi dari kecepatan maju sistem penyemprot berbasis sensor membutuhkan konsep tersendiri yang cukup
kompleks. Hal ini disebabkan sistem harus dimodifikasi ke dalam bentuk komputasi terdistribusi yang memiliki karakteristik sistem sebagai berikut :
- Sistem komputasi paralel kolaboratif dibutuhkan untuk memproses beberapa tahapan dari kegiatan penyemprotan.
- Beberapa sistem cerdas yang dapat bekerja bersama secara simultan. - Sistem perangkat keras dan perangkat lunak yang terintegrasi dengan baik dan
bekerja secara otomatis. - Pendelegasian tugas kepada bagian-bagian tertentu
Solusi dari permasalahan dengan karakteristik tersebut di atas adalah dengan melakukan perubahan sistem yang telah dibangun menjadi Sistem Multi Agen
SMA yang bekerja secara paralel. Terdapat dua standarisasi yang ditetapkan dalam pembangunan Agent. Pertama adalah The Foundation for Intelligent
Physical Agents FIPA, dan yang kedua adalah the Object Management Group OMG. FIPA memiliki platform, yang terdiri dari agen managemen, agent
komunikasi dan agen integrasi software. Agen managemen menangani agen life cycle, directory facilitator, dan message transport system. Agen komunikasi
menangani protokol yang digunakan dalam interaksi antar agen, dan agen integrasi software menangani integrasi agen dalam sebuah sistem Padgham L.
and Winikof M., 2004. Agen komunikasi dan agen integrasi software terdapat pada sistem supervisori, sedangkan agen cerdas yang lain perlu dibangun untuk
memenuhi kebutuhan kinerja sistem yang lebih baik. Berdasarkan hasil penelitian yang dilakukan oleh Greco 2005 dari
universitas Florida menyatakan bahwa waktu untuk mengakses memori pada sistem memori utama Random Access Memory adalah sangat kecil bila
dibandingkan dengan kecepatan sebuah prosesor, sedangkan data yang harus
132 diolah dalam pemrosesan citra adalah besar. Sehingga kecepatan pemrosesan
lebih banyak dibatasi oleh akses memori, bukan oleh kecepatan sebuah processor.
Metode
Metode pengembangan sistem multi agen menurut sistem Promotheus memiliki tiga tahapan yaitu spesifikasi sistem, desain arsitektur sistem dan desain
detail sebagaimana yang ditampilkan pada Gambar 73.
Gambar 73. Proses desain sistem multi agen pada metodologi Prometheus. sumber : L. Padgham 2002
Spesifikasi sistem
Spesifikasi sistem terfokus pada identifikasi tujuan dan fungsi utama dari sistem, selama proses pemasukan data dan aksi yang diberikan. Spesifikasi
sistem ditentukan dengan melalui empat tahap berikut : 1. Identifikasi tujuan yang ingin dicapai oleh sistem.
Tujuan yang ingin dicapai oleh sistem adalah : - Melakukan penangkapan citra tepat waktu dan lokasi
- Melakukan pengolahan citra dengan cepat
133 - Melakukan segmentasi sesuai hasil pengolahan citra
- Melakukan pengendalian gulma 2. Pengembangan skenario kasus yang menggambarkan cara kerja sistem
Skenario cara kerja sistem secara garis besar mengikuti tahapan kerja berikut :
- Sensor penentu jarak tempuh membaca jarak yang ditempuh, dan menjadi pemicu kerja kamera untuk menangkap citra lahan dan pemicu
kerja dari aktuator penyemprot. - Kamera digital melakukan pengambilan citra lahan
-
Citra yang ditangkap pada memori komputer difilterisasi sesuai kebutuhan.
-
Citra yang telah difilterisasi mengalami proses analisa jenis tanaman dan analisa kepadatan serangan gulma secara simultan.
-
Berdasarkan hasil
klasifikasi serangan
selanjutnya dilakukan
penyemprotan sesuai dosis dan lokasi. Waktu dan lama penyemprotan ditentukan oleh data yang diperoleh dari sensor pembaca jarak tempuh.
Pada aplikasi pemupukan dan pemberantasan penyakit skenario memiliki sedikit perubahan dimana bagian analisa kepadatan gulma
diganti dengan analisa kesuburan tanaman pada kegiatan pemupukan atau analisa kepadatan serangan penyakit pada kegiatan pemberantasan
penyakit. 3. Identifikasi fungsionalitas dasar pada sistem
Fungsionalitas dasar yang diperlukan sistem antara lain : d. Fungsionalitas Pengambilan Citra
Nama fungsionalitas : Pengambilan citra
Deskripsi fungsionalitas : Mengambil citra tanaman pada
luas tangkapan yang telah diten- tukan.
Perceptseventsmessages : Lokasi pemotretan telah sampai
message , Pemotretan citra tana- man event.
134 Pengiriman pesan message : Pengiriman data digital citra ke
procesor message. Aksi
: Menampilkan citra hasil pemo- tretan.
Penggunaan data : Basis data peta pemotretan.
Interaksi : Agen cerdas filterisasi citra.
2 Fungsionalitas Filterisasi Citra Nama fungsionalitas
: Filterisasi citra. Deskripsi fungsionalitas
: Melakukan filterisasi
sesuai dengan parameter filterisasi yang
telah ditentukan. Perceptseventsmessages
: Citra lahan
telah ditangkap
message, filterisasi citra tanaman event.
Pengiriman pesan message : Pengiriman data digital hasil filterisasi
citra ke
procesor message.
Aksi : Menampilkan citra hasil filterisasi.
Penggunaan data : Basis data peta pemotretan.
Interaksi : Agen cerdas analisa dimensi
fraktal dan analisa Bayes. 3 Fungsionalitas Analisa Dimensi Fraktal
Nama fungsionalitas : Analisa Dimensi Fraktal.
Deskripsi fungsionalitas : Menganalisa jenis tanaman yang
ada pada citra. Perceptseventsmessages
: Citra yang telah difilterisasi message , analisa dimensi fraktal
event, batas aplikasi message. Pengiriman pesan message : Pengiriman data hasil analisa
dimensi fraktal message, Penen- tuan jenis tanaman message.
Aksi : Mengidentifikasi jenis tanaman.
135 Penggunaan data
: Basis data peta pemotretan. Interaksi
: Agen cerdas filterisasi citra, agen cerdas penentu kepadatan sera-
ngan hama dan penyakit atau tingkat kesuburan.
4 Fungsionalitas Analisa Kepadatan Serangan Gulma. Nama fungsionalitas
: Analisa Kepadatan
Serangan Gulma.
Deskripsi fungsionalitas : Menganalisa kepadatan serangan
gulma dengan metode Bayes. Perceptseventsmessages
: Citra hasil filterisasi message , analisa kepadatan serangan gulma
event, kelas kepadatan serangan message.
Pengiriman pesan message : Penentuan tingkat
kepadatan serangan
gulma message,
Pengiriman data hasil klasifikasi ke agen pengatur dosis message.
Aksi : Menampilkan citra hasil klasi-
fikasi kepadatan serangan gulma. Penggunaan data
: Basis data peta aplikasi penyem- protan.
Interaksi : Agen cerdas filterisasi citra, agen
cerdas analisa dimensi fraktal, , agen
pengaturan dosis
mikrokontroler. 5 Fungsionalitas Pengaturan Dosis Aplikasi
Nama fungsionalitas : Pengaturan Dosis Aplikasi.
Deskripsi fungsionalitas : Menentukan
dosis aplikasi
berdasarkan hasil klasifikasi.
136 Perceptseventsmessages
: Klasifikasi tingkat serangan atau kesuburan message , Penentuan
dosis aplikasi event. Pengiriman pesan message : Pengiriman
data dosis
ke mikrokontroler message.
Aksi : Menentukan
kombinasi dosis
dalam 4 potongan citra. Penggunaan data
: Basis data peta aplikasi penyem- protan.
Interaksi : Mikrokontroler.
6 Fungsionalitas Mikrokontroler Nama fungsionalitas
: Mikrokontroler. Deskripsi fungsionalitas
: Menerjemahkan data
hasil penentuan dosis kedalam bentuk
aksi yang harus dilakukan oleh aktuator.
Perceptseventsmessages : Data hasil klasifikasi dosis
message , Penerjemahan hasil klasifikasi kedalam pengaturan
aksi aktuator event. Pengiriman pesan message : Pengiriman data hasil klasifikasi
ke modul aktuator message Penentuan dosis penyemprotan
message . Aksi
: Mengaktifkan modul
aktuator sesuai
dengan data
hasil klasifikasi.
Penggunaan data : Basis data peta aplikasi penyem-
protan. Interaksi
: Agen cerdas klasifikasi aplikasi, aktuator.
137 e. Fungsionalitas Penentuan Jarak Tempuh.
Nama fungsionalitas : Penentuan Jarak Tempuh.
Deskripsi fungsionalitas : Membaca jarak tempuk peralatan
di lahan. Perceptseventsmessages
: Operasi peralatan
dimulai message, Pencacahan jarak tem-
puh event. Pengiriman pesan message
:Pengiriman data jarak tempuh message, penentuan pemotretan
citra message,
penentuan penyemprotan message.
Aksi : Menghitung
jarak tempuh
peralatan. Penggunaan data
: - Interaksi
: Agen pengambilan citra, Mikro- kontroler.
4. Menentukan spesifikasi hubungan antara sistem dan lingkungan dalam bentuk percept.
a. Nama percept : Awal Program.
Deskripsi : Perintah awal bagi aktivasi system.
b. Nama percept : Pemicu Pengambilan Citra.
Deskripsi : Perintah pengambilan citra berdasarkan jarak
tempuh tertentu. c. Nama percept
: Pemicu Pengolahan Citra. Deskripsi
: Perintah pengolahan citra secara paralel tepat setelah citra ditangkap di layar.
d. Nama percept : Pemicu Analisa Jenis Tanaman.
Deskripsi : Perintah analisa dimensi fractal setelah data hasil
filterisasi selesai. e. Nama percept
: Pemicu Analisa Tingkat Kepadatan Serangan.
138 Deskripsi
: Perintah analisa Bayes setelah data hasil filterisasi selesai.
f. Nama percept : Penentuan Dosis
Deskripsi : Penentuan dosis berdasarkan nilai hasil klasifikasi.
g. Nama percept : Aktivasi Mikrokontroler.
Deskripsi : Penerjemahan nilai hasil penentuan dosis dalam
pemrograman mikrokontroler. h. Nama percept
: Aktivasi Penyemprotan. Deskripsi
: Penentuan awal dan lama penyemprotan karena pemicu dari pencacah jarak.
Spesifikasi hubungan antara sistem dan lingkungan dalam bentuk actions. 1 Nama actions
: Pencatatan Jarak Tempuh. Deskripsi
: Pengukuran jarak tempuh peralatan berdasarkan pencacahan sensor magnet.
2 Nama actions : Pengambilan Citra.
Deskripsi : Pengambilan citra kondisi lahan atau tanaman dan
menampilkannya di layar monitor. 3 Nama actions
: Filterisasi Citra. Deskripsi
: Filterisasi citra yang telah ditangkap untuk memisahkan latar belakang dan tanaman.
4 Nama actions : Analisa Jenis Tanaman.
Deskripsi : Penentuan jenis tanaman yang terdapat pada citra
hasil pemotretan. 5 Nama actions
: Analisa Kepadatan Serangan Gulma. Deskripsi
: Penentuan kelas kepadatan serangan gulma berdasarkan analisa nonparametrik Bayes.
6 Nama actions : Penentuan dosis aplikasi.
Deskripsi : Menentukan dosis penyemprotan berdasarkan
data klasifikasi serangan gulma. 7 Nama actions
: Penyemprotan. Deskripsi
: Penyemprotan sesuai dosis dengan PWM.
139
Desain arsitektur sistem
Fase desain arsitektur sistem menggunakan keluaran dari desain fungsionalitas dan desain hubungan antara sistem dan lingkungan untuk
menentukan tipe agen yang akan bekerja dalam sistem dan bagaimana interaksi antar agen.
Desain arsitektur meliputi kegiatan penentuan tipe agen, sebagai berikut :
a Agen Penangkap Citra Lahan
Nama agen : Pemotret Citra Lahan.
Deskripsi : Agen ini berfungsi sebagai penangkap citra lahan
dengan kemampuan penangkapan citra 30 fps frame per second.
Lifetime : Selama sistem berjalan.
Percept : Jarak tempuh, obyek tanaman
Action : Penangkapan citra lahan.
Tujuan : Menampilkan citra kondisi lahan di layar monitor.
Fungsionalitas : Menangkap citra diam dari lahan pada waktu
tertentu. Protokol
: Protokol pengelola citra, protokol pencacah jarak, protokol kualitas citra.
b Agen Filterisasi Citra
Nama agen : Filterisasi Citra.
Deskripsi : Agen ini berfungsi sebagai pengolah citra lahan
dengan kemampuan memisahkan tanaman dengan latar belakang citra.
Lifetime : Selama sistem berjalan.
Percept : Citra tanaman
Action : Filterisasi citra lahan.
Tujuan : Memisahkan latar belakang citra dengan tanaman.
Fungsionalitas : Menyediakan citra hasil filterisasi untuk keperluan
analisa citra lebih lanjut. Protokol
: Protokol pengelola citra, protokol matrik citra, protokol kualitas citra
140
c Agen Analisa Dimensi Fraktal
Nama agen : Analisa Dimensi Fraktal.
Deskripsi : Agen ini berfungsi sebagai agen cerdas yang
memiliki kemampuan analisa dimensi fraktal. Lifetime
: Selama sistem berjalan. Percept
: Data matrik filterisasi, Jenis tanaman Action
: Analisa dimensi fraktal. Tujuan
: Melakukan analisa dimensi pada masing-masing tanaman yang ada pada citra.
Fungsionalitas : Menentukan jenis tanaman yang tertangkap pada
citra lahan. Protokol
: Protokol matrik citra, protokol identifikasi.
d Agen Klasifikasi Non-parametrik Bayes
Nama agen : Klasifikasi Non-parametrik Bayes.
Deskripsi : Agen ini berfungsi sebagai untuk menentukan
kelas suatu citra berdasarkan penampakan yang ditangkap oleh kamera.
Lifetime : Selama sistem berjalan.
Percept : Data matrik filterisasi, Kepadatan serangan
Action : Analisa klasifikasi dengan metode Bayes.
Tujuan : Menentukan kelas serangan hama penyakit atau
kesuburan suatu tanaman. Fungsionalitas
: Melakukan analisa kelas serangan hama dan penyakit atau tingkat kesuburan tanaman.
Protokol : Protokol matrik citra, protokol segmentasi.
e Agen Penentu Dosis Penyemprotan
Nama agen : Penentu Dosis Penyemprotan.
Lifetime : Selama sistem berjalan.
Percept : Nilai terjemahan klasifikasi dn identifikasi
Action : Penentuan nilai dosis.
Tujuan : Menentukan nilai dosis aplikasi.
141 Fungsionalitas
: Menerjemahkan nilai klasifikasi ke dalam nilai PWM yang harus diaktifkan.
Protokol : Protokol
identifikasi, protokol
segmentasi, protokol aktivasi.
Hasil dan Pembahasan Pendefinisian Agen dalam Pemrograman
Multithreading
Pemrograman multi agen dilakukan dengan pendekatan komputasi paralel dengan memanfaatkan multi core yang ada pada prosesor terkini dengan
bahasa pemrograman C. C C sharp adalah salah satu bahasa pemrograman yang mendukung pemrograman multithreading. Penggunaan pemrograman
multithreading memungkinkan eksekusi secara paralel kode program pada masing-masing thread. Thread adalah bagian independen yang dapat
dieksekusi secara simultan dengan bagian independen yang lain. Agen menempati sebuah thread yang terdiri dari satu atau lebih class obyek yang
mampu melakukan satu atau lebih fungsi berdasarkan method yang dimiliki pada class tersebut.
Berikut ini adalah contoh gambaran posisi agen dalam sebuah aplikasi multithreading pada sistem multithreading secara simultan.
using System; using System.Threading;
class ThreadTest {
static void Main {
ThreadNaming agen2 = new Thread x; agen2.Start;
thread agen2 bekerja secara simultan dengan thread utama. berisi class obyek pada lingkungan program utama
. . . . . . . . . . . . . . . . . .
} static void x
{ isi kode program dari agen2
berisi class obyek dengan method yang ada didalam class untuk jenis operasi x
. . . . . . . . . . . . . . . . . .
} }
142 Mekanisme penamaan suatu thread adalah dengan pengaturan sebagai
berikut :
class ThreadNaming {
static void Main {
Thread.CurrentThread.Name = ũmainŪ;
Thread agen1 = new Thread ; agen1.Name =
ũAgen-1Ū; agen1.Start;
Go; }
}
Pada praktek pemrograman multithreading diperlukan sinkronisasi untuk mengkoordinasikan aksi dari beberapa thread untuk mendapatkan
hasil akhir yang diinginkan. Pada komputasi paralel pipeline suatu agen akan di-blocking sampai terjadi kondisi yang memenuhi syarat-syarat
untuk unblock. Proses blocking diperlukan untuk menjamin bahwa suatu agen hanya bekerja sesuai dengan peruntukannya saja. Penanganganan
suatu status yang di block menjadi status unblock membutuhkan mekanisme sinyal yang disediakan oleh class Monitor melalui static
methods yang disediakan, yaitu Wait dan Pulse atau PulseAll. Dengan menggunakan mekanisme blocking seperti yang dijelaskan tersebut, sistem
multi agen akan dapat bekerja sesuai dengan desain yang telah ditetapkan. Sistem statis dari multi agen menggambarkan urutan kerja sistem dari
awal sampai akhir tanpa memperhatikan hubungan antar agen, protokol yang terlibat, jenis Percept dan Action, dan hubunganya dengan basis data.
Secara ringkas cara kerja sistem multi agen yang diusulkan adalah sebagai berikut :
- Obyek kondisi tanaman di lahan ditangkap citranya oleh agen penangkap citra.
- Citra tanaman selanjutnya akan difilterisasi oleh agen filterisasi citra. - Hasil filterisasi menjadi masukkan bagi agen identifikasi tanaman dan
agen segmentasi. - Hasil segmentasi dan identifikasi selanjutnya akan menjadi masukkan
agen penentu dosis
143 - Langkah terakhir adalah aplikasi penyemprotan sesuai dosis dan
lokasi.
Gambar 74. Blok diagram sistem multi agen pengendalian gulma pada lahan terbuka praolah.
Gambar 75. Blok diagram sistem multi agen pengendalian gulma
pada lahan dengan tanaman utama pascatumbuh. Berbeda dengan gambaran diagram sistem secara statis Gambar 74
dan Gambar 75, pada sistem dinamis dapat dengan jelas terlihat hubungan antara satu agen dengan agen yang lain, misalnya apa jenis protokol yang
bekerja pada suatu agen atau antar agen, apa Percept dan Action dari
Agen Penangkap Citra Agen Filterisasi Citra
Agen analisa jenis tanaman
Agen klasifikasi kepadatan serangan gulma
Agen penentu dosis
Penyemprotan sesuai Dosis dan Lokasi
Obyek tanaman
Agen Penangkap Citra Agen Filterisasi Citra
Agen klasifikasi Non-parametrik Bayes
Agen penentu dosis
Penyemprotan sesuai Dosis dan Lokasi
Obyek tanaman
144 masing-masing agen. Percept adalah masukan yang diterima oleh suatu
agen, dan Action adalah tindakan yang dilakukan oleh agen sebagai respon dari Percept yang diterima.
Bentuk dan tatacara komunikasi antar agen ditentukan oleh Protokol. Pada Gambar 76 dapat dilihat hubungan antar agen dan protokol yang
menjembatani komunikasi antar agen. Contoh bentuk kerja protokol adalah bagaimana protokol pencacah jarak terhubung pada dua agen yaitu
Agen Penangkap Citra dan Agen Penentu Dosis. Protokol ini bertugas menentukan kapan waktu penangkapan citra harus dilakukan, dan kapan
penyemprotan harus dimulai. Keberadaan protokol ini penting karena sangat menentukan akurasi kerja sistem dari segi ketepatan pengambilan
citra dan ketepatan lokasi penyemprotan. Apabila agen yang bekerja menggunakan protokol ini bekerja dengan baik, maka fenomena blank-
spot dan overlap yang berlebihan dapat dihindari. Bentuk blank-spot dapat berupa penggambaran peta yang memiliki jarak antar frame, atau pada
tahap aplikasi berupa kejadian adanya bagian lahan yang tidak mendapatkan penyemprotan sesuai lokasi. Sedangkan fenomena overlap
adalah berupa penggambaran peta yang tumpang tindih antar frame, atau pada tahap aplikasi di lahan adalah kejadian dimana suatu lokasi mendapat
perlakuan penyemprotan ganda. Dosis penyemprotan adalah keluaran action dari Agen Penentu
Dosis. Penentuan dosis melibatkan dua agen lain selain Agen Penentu Dosis, yaitu Agen Identifikasi dan Agen Segmentasi. Bentuk komunikasi
antara ketiga agen tersebut diatur oleh protokol identifikasi dan protokol segmentasi.
Karakteristik dan atribut yang dimiliki oleh agen-agen yang dibangun antara lain :
f. Autonomy Agen-agen yang telah dibuat dapat melakukan tugas secara
mandiri dan tidak dipengaruhi secara langsung oleh user, agen lain. Untuk mencapai tujuan dalam melakukan tugasnya secara mandiri,
145 agen yang dibangun memiliki kemampuan kontrol terhadap setiap aksi
yang mereka perbuat, baik aksi keluar maupun kedalam. g. Intelligence
Beberapa agen yang dibangun agen identifikasi tanaman dan agen penentu kepadatan serangan gulma mempunyai standar
minimum untuk bisa disebut agen, yaitu intelegensi intelligence. Dalam konsep intelligence, ada tiga komponen yang harus dimiliki:
internal knowledge base yaitu basis pengetahuan pada masing-masing agen, kemampuan reasoning berdasar pada knowledge base yang
dimiliki. h. Delegation
Pada sistem multi agen yang dibangun suatu pekerjaan dibagi menjadi beberapa proses dimana masing-masing proses didelegasikan
pada masing-masing agen yang berbeda. Fenomena pendelegasian delegation ini adalah karakteristik utama suatu program disebut agen.
i. Reactivity Karakteristik agen yang telah dimiliki oleh agen-agen yang
dibangun adalah kemampuan untuk bisa cepat beradaptasi dengan adanya perubahan informasi yang ada dalam suatu lingkungan
informasi dari agen lain. j. Communication and Coordination Capability
Agen yang dibangun memiliki kemampuan berkomunikasi dengan user dan juga agen lain, sehingga dapat mendukung koordinasi
dan kolaborasi dengan agen lain.
2. Perancangan Komputasi Paralel pada Sistem Multi Agen