PERANCANGAN SISTEM MULTI AGEN Pendahuluan

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