• Tidak ada hasil yang ditemukan

8. PERANCANGAN SISTEM MULTI AGEN. Pendahuluan

N/A
N/A
Protected

Academic year: 2021

Membagikan "8. PERANCANGAN SISTEM MULTI AGEN. Pendahuluan"

Copied!
26
0
0

Teks penuh

(1)

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

(2)

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

(3)

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.

Percepts/events/messages : Lokasi pemotretan telah sampai (message) , Pemotretan citra tana-man (event).

(4)

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.

Percepts/events/messages : 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.

Percepts/events/messages : 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).

(5)

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.

Percepts/events/messages : 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.

(6)

136

Percepts/events/messages : 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.

Percepts/events/messages : 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.

(7)

137 e. Fungsionalitas Penentuan Jarak Tempuh.

Nama fungsionalitas : Penentuan Jarak Tempuh.

Deskripsi fungsionalitas : Membaca jarak tempuk peralatan di lahan.

Percepts/events/messages : 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.

(8)

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.

(9)

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

(10)

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.

(11)

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

. . . . . . }

(12)

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

(13)

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

(14)

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-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,

(15)

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

Sebagaimana yang telah dibahas dalam hasil kinerja aplikator cairan berbasis sensor rata-rata waktu kerja sistem untuk menyemprot sepanjang 102 cm diluar waktu aktivasi aktuator penyemprot adalah 0.76791 detik. Berdasarkan nilai tersebut berarti kecepatan kerja sistem adalah 1.3283 m/s atau sama dengan 4.7818 km/jam dengan lebar kerja 136 cm berarti sistem penyemprot memiliki kapasitas kerja 0.6503 ha/jam. Sedangkan hasil

(16)

146 perhitungan dengan boom sprayer dengan lebar kerja 12 meter dan kecepatan maju 5 km/jam memiliki kapasitas kerja 6 ha/jam. Hasil perbandingan tersebut menunjukkan bahwa penyemprot berbasis sensor yang dibangun hanya memiliki kapasitas kerja maksimum 0.108 kali kapasitas kerja boom sprayer. Dengan kondisi tersebut maka perlu dilakukan metode pengoperasian sistem secara paralel untuk mencapai hasil yang lebih cepat untuk mendapatkan kinerja mendekati kapasitas kerja boom sprayer.

Untuk dapat mengadaptasi suatu algoritma sekuensial ke dalam algoritma paralel, terlebih dahulu harus dipelajari mengenai konsep pemrosesan paralel dan bagaimana proses-proses dapat berlangsung secara paralel (Purbasari, 2002). Teknik pembangunan algoritma paralel dapat dibedakan menjadi paralelisme data dan partisi data. Paralelisme data lahir dari penelitian bahwa aplikasi utama komputasi paralel adalah dalam bidang sain dan teknik yang umumnya melibatkan array multi-dimensi yang sangat besar. Dalam program sekuensial biasa, array ini dimanipulasi dengan mempergunakan perulangan bersarang untuk mendapatkan hasil.

Kebanyakan program paralel dibentuk dengan mengatur ulang algoritma sekuensial agar perulangan bersarang tersebut dapat dilaksanakan secara paralel. Paralelisme data menunjukkan bahwa basis data dipergunakan sebagai dasar untuk membentuk aktifitas paralel, dimana bagian yang berbeda dari basis data akan diproses secara paralel. Dengan kata lain paralelisme dalam program ini dibentuk dari penerapan operasi-operasi yang sama ke bagian array data yang berbeda (Purbasari, 2002).

Partisi Data adalah teknik khusus dari Paralelisme Data, dimana data disebar ke dalam memori-memori lokal multikomputer. Sebuah proses paralel kemudian ditugaskan untuk mengoperasikan masing-masing bagian data. Proses tersebut harus terdapat dalam lokal memori yang sama dengan bagian data, karena itu proses dapat mengakses data tersebut secara lokal. Untuk memperoleh kinerja yang baik, setiap proses harus memperhatikan variabel-variabel dan data-data lokalnya masing-masing.

(17)

147 Gambar 76. Diagram sistem multi agen pengendalian gulma berbasis sensor.

Agen Segmentasi P. Pencacah Jarak P. Citra P. Kualitas Citra P. matrik P. Segmentasi P. Identifikasi P. Aktivasi Akt. Tangkap Citra Filterisasi Segmentasi Identifikasi tnmn Penentuan dosis Penyemprotan Citra tnm Cacah jrk Matrik citra jenis tanaman Kepadatan DB Citra DB Peta Perlakuan

Agen penangkap citra Agen Filterisasi

Agen Identifikasi

Agen Penentu dosis Matrik citra Tanaman Keterangan Percept Action Protokol Agen

(18)

148 Metode yang sesuai bagi permasalahan peningkatan kecepatan kerja sistem pengendalian gulma berbasis sensor adalah komputasi paralel dengan teknik pipeline. Hal ini didasarkan pada cara kerja mulai dari penangkapan citra sampai penyemprotan adalah deretan kerja yang harus dikerjakan secara berurutan. Dalam teknik pipeline, problem dibagi menjadi beberapa proses yang harus dilaksanakan satu setelah lainnya. Setiap tugas nantinya akan dieksekusi oleh proses atau prosesor yang berbeda dalam satu pipa komputasi.

Gambar 77. Proses pipeline

Pipeline dapat meningkatkan kecepatan untuk problem yang sekuensial, pada tiga kondisi :

1) Jika tugas komputasi yang dilakukan melibatkan beberapa tahapan proses berurutan dimana output suatu proses menjadi input bagi proses berikutnya.

2) Jika data yang dilibatkan dalam komputasi berjumlah banyak jauh melebihi jumlah prosesor yang ada.

3) Jika waktu eksekusi dari masing-masing proses relatif seragam.

Gambar 78 menampilkan diagram yang berisi deretan proses antar agen pada kasus pengendalian gulma di lahan terbuka. Diagram tersebut menunjukkan bagaimana keluaran suatu proses menjadi masukan bagi proses berikutnya.

Langkah pertama dari analisa perhitungan paralel dengan metode pipeline adalah menentukan granularitas proses. Granularitas adalah waktu berlangsungnya atau waktu eksekusi setiap proses. Berdasarkan hasil pengukuran waktu kerja tiap instance diperoleh data granularitas tiap-tiap proses sebagaimana ditampilkan pada Tabel 24.

(19)

149 Proses dan Unit yang terlibat Keluaran

Gambar 78. Blok Diagram Hubungan Operasional Antar Agen pada Kasus Pengendalian Gulma di Lahan Terbuka.

Diagram pipeline ruang-waktu disusun berdasarkan urutan proses dengan memperhatikan lama proses dan sifat pengerjaan tiap proses. Gambar 80. menunjukkan bentuk diagram pipeline untuk 5 proses pekerjaan pada kegiatan pengendalian gulma periode praolah dengan menggunakan 4 buah prosesor. Masing-masing prosesor memiliki tugas khusus yang berbeda satu dengan lainnya. Tugas masing-masing prosesor tersebut adalah penangkap citra, loading file citra, filterisasi, analisis kelas serangan dan penentuan dosis.

Filterisasi

- Loading gambar - Filterisasi

- Simpan file (*.txt) hasil filterisasi

- Tampilkan waktu operasi hasil filterisasi (buffer 1)

Segmentasi

- Loading file filterisasi - Segmentasi kedalam 4

kelas

- Simpan file (*.txt) hasil segmentasi

- Tampilkan waktu operasi

hasil segmentasi (buffer 2)

Penentuan Dosis

- Loading file segmentasi - Terjemahkan hasil

segmentasi ke kode aktivasi

- Simpan file (*.txt) hasil penentuan dosis

- Tampilkan waktu operasi

hasil penentuan dosis (file teks)

Mikrokontroler

Aktuator

Penangkap Citra

- Ambil citra lahan - simpan

- Tampilkan waktu operasi

Image

(20)

150 Tabel 24. Waktu kerja rata-rata tiap proses pada pengendalian gulma di lahan

terbuka.

Nomor Nama Proses Rata-rata waktu kerja (detik)

1. Penangkapan citra 0.20449

2. Loading file 0.17119

3. Filterisasi citra 0.19612

4. Analisa kelas serangan 0.10619

5. Penentuan dosis 0.08992

Jumlah 0.76791

Pada diagram pipeline dapat dilihat bahwa setiap proses dikerjakan secara paralel pada prosesor yang terpisah, dan pemrosesan terhadap citra ke- dua dilakukan tanpa harus menunggu selesainya proses terhadap citra pertama. Pembatas antar kegiatan dalam proses tersebut adalah penangkapan citra, karena penangkapan citra memerlukan waktu terlama dan proses selanjutnya hanya bisa dilakukan setelah citra ditangkap dan disimpan.

Proses komunikasi pada metode komputasi paralel pipeline adalah bahwa satu proses melakukan komputasi terhadap beberapa nilai yang akan dipergunakan oleh proses paralel lainnya. Penanganan masalah tersebut memerlukan suatu kanal (channel) yang mempunyai properti ‘kosong’. Ketika suatu proses membaca kanal yang “kosong”, maka eksekusi proses secara otomatis akan tertunda sampai terdapat proses lain yang menulis suatu nilai ke dalam kanal tersebut. Misal proses P2 akan menunggu pembacaan variabel kanal sebelum proses P1 selesai menuliskan suatu nilai ke dalam variabel kanal. Dengan demikian komunikasi proses dijamin berlangsung dengan benar. Nilai overhead aktivasi Proses 2 dari posisi wait adalah pada kisaran waktu 400 – 1000 ns.

(21)

151 Gambar 79. Komunikasi antar proses secara paralel

Penggal program dari bentuk komunikasi antar agen dalam bentuk task adalah sebagai berikut :

var buffer1 = new BlockingCollection<int>(limit); var buffer2 = new BlockingCollection<int>(limit); var f = new

TaskFactory(TaskCreationOptions.LongRunning,TaskContinuationOptions.None); var task1 = f.StartNew(() =>

/ proses internal filterisasi

/ menghasilkan buffer1

Pipeline<int>.Producer(buffer1, , , inc)); var task2 = f.StartNew(() =>

/ membaca buffer1 hasil filterisasi / proses internal segmentasi / menghasilkan buffer2

Pipeline<int>.Consumer(buffer1, new Pipeline<int>., buffer2)); Pipeline<int>.Producer(buffer2, , , inc));

var task3 = f.StartNew(() =>

/ membaca buffer2 hasil segmentasi / proses internal penentuan dosis

/menghasilkan file text akhir (dosis)

{ result_str = Pipeline<int>.LastConsumer(buffer2, str); });

Task.WaitAll(task1, task2, task3);

Hans-.uk> Parallel Programming

Proses 1 Proses 2

Kanal

(22)

152 Gambar 80. Diagram pipeline dengan 4 prosesor pada kegiatan pengendalian

gulma periode praolah

Hasil analisa peningkatan kecepatan pada komputasi paralel metode

pipeline menunjukkan bahwa peningkatan nilai speed up berbanding lurus

dengan semakin bertambahnya jumlah pekerjaan. Pekerjaan adalah rangkaian proses yang dilakukan pada satu buah citra. Nilai speed up akan bergerak dari 1 pada satu pekerjaan sampai 3.745 pada 1000 pekerjaan, nilai speed up selanjutnya akan mencapai 3.775 pada jumlah pekerjaan 100 000 sampai tak hingga dengan efisiensi sebesar 93.88%. Gambar 81 menunjukkan grafik peningkatan nilai speed up akibat bertambahnya jumlah pekerjaan.

Gambar 81. Grafik hubungan speed up dan jumlah pekerjaan pada kegiatan pengendalian gulma periode praolah.

1.0 1.5 2.0 2.5 3.0 3.5 4.0 0 200 400 600 800 1000 Sp e e d u p Jumlah pekerjaan

(23)

153 Sebagaimana telah dijelaskan pada pembahasan pendeteksian serangan gulma, pendeteksian gulma pada periode pascatumbuh membutuhkan agen cerdas untuk menganalisa jenis tanaman. Berdasarkan hasil perhitungan waktu kerja satu frame yang diperlukan untuk menganalisa tanaman dengan ukuran 100 x 140 piksel diperoleh nilai waktu 0.0012 detik. Karena dalam satu citra hasil tangkapan kamera rata-rata memiliki 10 citra tanaman utama, maka kebutuhan waktu untuk analisa dimensi fraktal adalah 0.012 detik. Gambar 82. menunjukkan bentuk diagram pipeline untuk 6 proses pekerjaan pada kegiatan pengendalian gulma periode pascatumbuh dengan menggunakan 4 buah prosesor.

Hasil perhitungan kinerja sistem menunjukkan nilai speed up akan bergerak dari 1 pada satu pekerjaan sampai 3.813 pada 1000 pekerjaan, nilai

speed up selanjutnya akan mencapai 3.814 pada jumlah pekerjaan 100 000

sampai tak hingga dengan efisiensi sebesar 95.35%. Gambar 83 menunjukkan grafik peningkatan nilai speed up akibat bertambahnya jumlah pekerjaan.

Gambar 82. Diagram pipeline dengan 4 prosesor pada kegiatan pengendalian gulma periode pascatumbuh

(24)

154 Gambar 83. Grafik hubungan speed up dan jumlah pekerjaan pada kegiatan

pengendalian gulma periode pascatumbuh.

Pengoperasian sistem tanpa melalui penyimpanan dan pengambilan file citra akan mempersingkat waktu operasi tiap proses. Hal ini secara otomatis akan meningkatkan kecepatan proses tiap pekerjaan. Hasil analisa secara teoritis pada dimensi citra yang memiliki panjang 102 cm dan lebar 136 cm dengan pengoperasian prosesor tunggal menunjukkan kecepatan maju maksimum adalah 8.63 km/jam. Apabila pekerjaan dilakukan dengan 2 prosesor yang bekerja dengan metode pipeline akan diperoleh nilai speed up 1.855 dan kecepatan maju 16.00 km/jam dengan efisiensi sebesar 92.28%.

Gambar 84. Diagram pipeline dengan 2 prosesor pada kegiatan pengendalian gulma periode praolah tanpa prosedur penyimpanan citra.

1.0 1.5 2.0 2.5 3.0 3.5 4.0 0 200 400 600 800 1000 Sp eed u p Jumlah Pekerjaan

(25)

155 Gambar 85. Grafik hubungan speed up dan jumlah pekerjaan pada kegiatan pengendalian gulma praolah tanpa prosedur penyimpanan citra.

Simpulan

1. Pemrograman sistem multi agen telah dibangun dengan pendekatan pemrograman multithreading. Agen-agen yang terlibat dalam kegiatan pengendalian gulma adalah ; agen penangkap citra, agen filterisasi, agen identifikasi tanaman, agen penentu kepadatan serangan gulma, agen penentu dosis.

2. Analisa kecepatan proses komputasi paralel dilakukan dengan melakukan granularisasi masing-masing proses pada tiap agen. Hasil perhitungan kinerja sistem pada sistem pengendalian gulma praolah menunjukkan nilai speedup akan bergerak dari 1 pada satu pekerjaan sampai 3.745 pada 1000 pekerjaan, nilai speedup selanjutnya akan mencapai 3.775 pada jumlah pekerjaan 100 000 sampai tak hingga dengan efisiensi sebesar 93.88%. Penggunaan sistem multi agen akan mempersingkat waktu proses, sehingga nilai kecepatan maju maksimum dari VRT menjadi 3.775 kali lebih cepat, yaitu dari 4.78 km/jam menjadi 17.95 km/jam.

3. Hasil perhitungan dari kinerja sistem pada sistem pengendalian gulma pascatumbuh menunjukkan bahwa nilai speed up akan bergerak dari 1 pada satu pekerjaan sampai 3.813 pada 1000 pekerjaan, nilai speed up selanjutnya

1.0 1.5 2.0 2.5 3.0 0 200 400 600 800 1000 A xi s T it le Axis Title

(26)

156 akan mencapai 3.814 pada jumlah pekerjaan 100 000 sampai tak hingga dengan efisiensi sebesar 95.35%. Penggunaan sistem multi agen akan mempersingkat waktu proses, sehingga nilai kecepatan maju maksimum dari VRT menjadi 3.814 kali lebih cepat, yaitu dari 4.71 km/jam menjadi 17.96 km/jam.

4. Hasil analisa secara teoritis pada dimensi citra yang memiliki panjang 102 cm dan lebar 136 cm dengan pengoperasian prosesor tunggal menunjukkan kecepatan maju maksimum dari sistem yang bekerja tanpa proses penyimpanan file citra adalah 8.63 km/jam. Apabila pekerjaan dilakukan dengan 2 prosesor yang bekerja dengan metode pipeline akan diperoleh nilai speed up 1.855 dan kecepatan maju maksimum 16.00 km/jam dengan efisiensi sebesar 92.28%.

Gambar

Gambar    73.  Proses  desain  sistem  multi  agen  pada  metodologi  Prometheus.
Gambar 74.   Blok  diagram  sistem  multi  agen  pengendalian  gulma  pada lahan terbuka (praolah)
Gambar 78.    Blok  Diagram  Hubungan  Operasional  Antar  Agen  pada  Kasus  Pengendalian Gulma di Lahan Terbuka
Gambar 81.   Grafik hubungan speed up dan jumlah pekerjaan pada kegiatan  pengendalian gulma periode praolah
+3

Referensi

Dokumen terkait

Untuk mengetahui exercise Half Semont Manuver lebih baik dari exercise Brandt-doroff Manuver dalam menggurangi keluhan vertigo pada gangguan fungsi Vestibular Posterior

memberikan pembekalan pada mahasiswa KKN PPM tentang materi-materi yang akan dilatihkan pada masyarakat serta praktek langsung terkait dengan diversifikasi produk

Berdasarkan hasil analisis Tabel 12 dan Tabel 13 dapat dikatakan bahwa link korelasi juga mempengaruhi keefisienan model, hal ini terlihat dari nilai standard

Penelitian ini merupakan Penelitian Tindakan Kelas (PTK) yang mencakup perencanaan, pelaksanaan, observasi dan refleksi. Subjek penelitian ini adalah siswa kelas VII B

“PENERAPAN SANKSI TINDAK PIDANA ILLEGAL LOGGING MENURUT UNDANG – UNDANG NOMOR 41 TAHUN 1999 TENTANG KEHUTANAN DI PENGADILAN NEGERI REMBANG” dalam rangka memenuhi syarat

Tabel 4.6 Hasil Uji Coba Menu Data Verifikasi Test Case ID Tujuan Input Output yang diharapkan Hasil Keluaran Sistem 10 Menampilkan informasi tentang data customer yang

Meskipun nyeri punggung bawah pada ibu hamil trimester III merupakan suatu masalah yang dapat menimbulkan nyeri dari ringan sampai berat, namun seperti yang

17.1 Semua peserta yang lulus pembuktian kualifikasi dimasukkan oleh Panitia Pengadaan ke dalam Daftar Pendek (short list), untuk Seleksi Umum paling kurang 5 (lima)