Particle Swarm Optimization (PSO)

PSO jika diterjemahkan berarti optimasi segerombolan partikel. Partikel di sini adalah makhluk hidup seperti burung, ikan, atau lebah yang sedang mencari makanan. Mengapa mengikuti prinsip pergerakan segerombolah makhluk-makhluk tersebut? Jawabannya sederhana, karena makhluk-makhluk tersebut berhasil menemukan makanannya. PSO pertama kali dicetuskan oleh kennedy dan Eberhart pada tahun 1995 yang membahas mengenai perilaku kerumunan makhluk hidup.

Menurut beberapa paper, misalnya Sathya, yang melakukan optimasi terhadap segmentasi gambar, PSO memiliki beberapa kelebihan di antaranya:

  • Mudah diimplementasikan dan hanya sedikit parameter yang dibutuhkan.
  • Tidak ada evolusi pada operatornya, misalnya mutasi dan crossover pada Genetic Algorithms (GAs).
  • Di GAs kromosom membagi informasi sehingga pergerakan mengikuti group-nya sendiri, berbeda dengan PSO yang berkelompak, dan menurut Sathya PSO lebih robust. Sepertinya saya kurang setuju dengan pendapat yang ini, apa boleh buat kita rujuk saja.
  • PSO lebih efisien karena membutuhkan sedikit komputasi.
  • Dibanding GAs dan metode heuristik lainnya, PSO lebih fleksibel dalam menjaga keseimbangan antara pencarian global dan lokal terhadap search space-nya.

Salah satu point menarik yang dibahas oleh kennedi et al. adalah masalah collision karena jika setiap partikel menganggap ada partikel lain yang lebih “optimum” tentu saja dia akan mengarah ke sana dan terjadi tuburukan/collision. Tetapi kenyataannya tidak ada tabrakan saat burung terbang, ikan berenang, lebah menari-nari dan sebagainya.

Untuk menerapkan algoritma PSO, di sini kita coba dengan menggunakan matlab atau octave. Kita coba terlebih dahulu dengan matlab. Sebagai referensi, Anda dapat mendownload materi budi santoso dari ITS di link berikut, kemudian coba jalankan kode yang ada di dalamnya. Di sana dijelaskan dua jenis PSO dengan dan tanpa inersia. Agar lebih mudah memahami alur instruksi programnya, di bawah instruksi yang akan saya selidiki biasanya saya sisipkan instruksi pause dan titik kemo di belakang kode yang dibuat saya hilangkan titik koma-nya agar muncul di layar command window. Saya coba jalankan dengan jumlah partikel 3 dan iterasi maksimum 4.

Variabel v,x,f yang menyatakan nilai awal kecepatan, swarm, dan nilai fitness-nya dimunculkan dalam variabel yang saya lingkari di atas. Untuk menampilkan nilai minimum minftot saya hapus titik komanya agar muncul di command window ketika berhenti sejenak di tiap iterasi karena instruksi pause yang saya sisipkan. Hasilnya tampak di bawah ini dimana fitness yang terbaik adalah pada swarm ketiga (34.8627) dengan swarm 105.9045. Ini tentu saja masih belum optimal karena masih iterasi pertama.

Setelah iterasi keempat dijalankan dengan menekan sembarang tombol untuk melanjutkan akibat instruksi pause tersebut diperoleh grafik dan hasil akhir. Kita coba dengan octave, di tulisan selanjutnya

Mapping Toolbox Matlab (Membuka Shape file ArcView)

Pada Matlab yang telah kita install tersedia file contoh untuk memanipulasi peta yang terletak di folder \toolbox\map\mapdemos\. Buka mapviewer, untuk jelasnya lihat tulisan saya sebelumnya.

A. Mengimpor Raster Data

Raster data adalah data yang berupa pixel (berwarna atau hitam putih), atau gampangnya data gambar. Klik fileImport from file yang dilanjutkan dengan memilih file boston.tif yang berada di folder tersebut di atas. Tampak peta boston pada jendela mapview. Cukup mudah dan praktis bahkan dibanding membuka lewat arcview itu sendiri.

Untuk mengetahui skalanya, mudah saja, isi Map units dengan pilihan US Survey Feet, maka skala akan muncul dengan sendirinya. Yang menarik, skala ini akan otomatis berubah ketika kita melakukan proses zooming pada mapview dengan cara schrolling mouse kita.

B. Mengimpor Data Vektor

Data vektor adalah data yang berupa titik, garis, atau poligon yang dibuat secara matematis (lewat arcview, autocad, corel draw, dll). Untuk contoh kasus yang tersedia datanya di matlab adalah jalan-jalan yang ada di boston.

boston_roads = shaperead(‘boston_roads.shp’);

Perintah di atas membaca shapefile yang berisi koordinat jalan di boston. Hasilnya adalah data yang oleh mapviewer dikenal dengan nama ‘geographic data structure’. Terlebih dahulu konversi dari meter menjadi US survey feet. Gunakan fungsi unitsratio. Karena yang harus dikonversi adalah seluruh jalan di boston dari meter ke feet maka perlu iterasi untuk seluruh elemen boston_roads.

  • surveyFeetPerMeter = unitsratio(‘survey feet’,’meter’);
  • for k=1:numel(boston_roads)
  • boston_roads(k).X=surveyFeetPerMeter * boston_roads(k).X;
  • boston_roads(k).Y=surveyFeetPerMeter * boston_roads(k).Y;
  • end

Mengapa ini perlu dilakukan? Karena jika satuan tidak sama tentu saja boston_roads tidak akan matching dengan gambar/image boston. Coba sendiri sampai menghasilkan peta sebagai berikut:

 

 

Sumber Data untuk Riset Komputasi

Data merupakan komponen penting dalam suatu riset. Sumbernya bisa secara langsung (data primer), bisa juga berasal dari sumber lain (data sekunder). Untuk menguji akurasi dari metode yang kita temukan mau tidak mau harus diuji dengan data real. Dengan berkembangnya internet, saat ini banyak lembaga-lembaga riset yang menyediakan data secara cuma-cuma. Tentu saja khusus riset tentang metode perbaikan dari metode yang ada karena jika risetnya tertuju pada lokasi tertentu maka mau tidak mau kita mengambil data dari lokasi tersebut.

Salah satu situs yang dapat dijadikan sumber data adalah https://archive.ics.uci.edu/ml/datasets.html yang berfokus pada machine learning dan intelligent system yaitu teknik-teknik yang dipakai dalam proses data mining dan decision support system. Situs ini berisi data-data yang sudah digunakan sejak tahun 1987 oleh David Aha ketika masih menjadi mahasiswa di UC Irvin.

Situs lainnya ada yang unik karena selain menyediakan data juga sebagai tempat kontes akurasi dalam menangani “big data” dengan hadiah yang lumayan besar. Dapat di akses di http://www.kaggle.com/ dengan terlebih dahulu sign up jika Anda belum memiliki akun. Karena bekerja dengan format big data maka pastikan akses internet Anda cepat karena data yang di download besarnya terkadang dalam gigabyte.

Selain mendownload dan mengikuti kontes/lomba kita dapat juga menguji hasil olah data yang telah kita lakukan dengan mengupload data hasil oleh sesuai format yang diminta (biasanya csv) dan langsung mengetahui rankingnya walaupun kontes sudah tidak dilombakan lagi dan pemenangnya sudah diperoleh.

Doctoral Research

Alhamdulillah setelah mengambil beberapa kredit mata kuliah tibalah saatnya melakukan riset disertasi. Sebelum melakukan riset, mahasiswa doktoral biasanya mengikuti beberapa kredit perkuliahan terlebih dahulu. Besarnya bervariasi, dari yang satu tahun, dua tahun, bahkan lebih. Tetapi ada juga universitas yang tidak memerlukan perkuliahan, melainkan langsung riset walaupun jarang dijumpai (biasanya kampus di Jepang). Ada juga kampus yang melakukan riset dan kuliah secara bersamaan. Di Indonesia sendiri hampir semua kampus yang membuka program doktor terlebih dahulu mengikuti perkuliahan. Di AIT tempat saya kuliah, karena kurikulumnya mengadopsi MIT mau tidak mau harus mengikuti perkuliahan ketat. Jika IPK masih di bawah 3,5 (untuk 18 sks) terpaksa harus mengulang hingga tercapai IPK minimumnya. Jika tiga semester tidak terpenuhi mahasiswa itu terpaksa drop out.

Berbeda dengan riset sebelumnya (sarjana dan magister) disertasi mengharuskan peneliti memberikan kontribusi terhadap pengetahuan yang menjadi bidang penelitiannya. Seberapa besar kontribusinya? Hal ini tergantung dari institusi di mana mahasiswa S3 itu berada. Kebanyakan, mahasiswa doktoral hanya berfokus kepada bagian kecil saja dari kontribusi ilmu yang ada. Yang jelas melaksanakan riset disertasi tidak seperti ingin memperoleh hadiah nobel. Untuk menemukan sedikit konstribusi itu saja membutuhkan waktu bertahun-tahun. Apalagi adanya aturan untuk lulus, riset harus sudah diterima untuk dipublish di jurnal internasional dengan impact factor tertentu yang mengikuti aturan kampus. Padahal waktu dari submit hingga diterima terkadang sampai beberapa bulan dan itupun harus beberapa kali korespondensi untuk perbaikan naskah.

Problem Statement

Menemukan permasalahan merupakan syarat untuk melakukan riset. Mudah diucapkan tetapi sulit dilaksanakan. Mengapa demikian? Dalam kehidupan sehari-hari tidak semua permasalahan harus kita selesaikan sendiri, terkadang jawabannya sudah tersedia dari pengalaman orang-orang yang pernah menyelesaikannya sehingga tidak perlu berupaya lagi mencari sendiri jawabannya. Begitu pula dengan riset terkadang permasalahan sudah ada jawabannya baik dari buku maupun paper jurnal yang telah beredar. Bahkan menemukan jawaban sendiri murni pun sudah sulit, terkadang kita hanya memperbaiki jawaban yang telah ditemukan oleh peneliti lain dari sisi kecepatan, efisiensi, dan improvement lainnya. Oleh karena itu peneliti harus kuat dari studi literatur.

Studi Literatur

Kampus yang baik biasanya menyediakan akses gratis terhadap jurnal-jurnal internasional agar memudahkan mahasiswanya mencari “state-of-the-art” (novelty) dari bidang risetnya. Agak sulit karena jurnal terbitan saat ini pun sebenarnya hasil riset setidaknya setahun yang lalu. Masalahnya adalah kita harus mengumpulkan sebanyak mungkin riset-riset yang mendukung bidang yang akan kita teliti. Oleh karena itu perlu mengetahui beberapa trik yang banyak disarankan oleh rekan-rekan peneliti antara lain:

1. Mencari Jurnal Review

Paper ini berisi artikel tentang riset terkini bidang tertentu. Walaupun penulisnya tidak meneliti langsung tapi paper-nya banyak disunting orang karena banyak pembaca yang membutuhkan permasalahan apa saja yang sudah diselesaikan oleh periset-periset serta problem apa saja yang menjadi trend dan banyak diteliti saat ini. Papernya berisi rujukan ke paper-paper lain yang dapat kita jadikan rujukan. Memang meneliti yang enak adalah meneliti yang orang lain jarang yang meneliti, tetapi nanti muncul permasalahan saat akan mempublishnya. Beberapa jurnal internasional cenderung menerima naskah yang “menjual” yang artinya yang sedang trend saat ini. Logis saja menurut saya karena makin banyak yang mendownload / membaca makin naik peringkatnya. Peringkat biasanya berdasarkan berapa orang yang menjadikan paper dalam jurnal itu sebagai rujukan (impact factor).

2. Buku Kumpulan Jurnal

Buku ini berisi kumpulan paper-paper yang berfokus ke bidang riset tertentu. Sebenarnya ini mirip no.1 hanya saja di sini pembaca tidak perlu mencari paper rujukan karena buku tersebut sudah melampirkan paper rujukan pada buku tersebut. Biasanya bab I atau bab pendahuluan berisi satu paper jenis review yang membahas peneliti-peneliti yang menyelesaikan permasalahan tertentu disertai trend risetnya dan kita tidak perlu “berkeringat” mendownload jurnal yang akhirnya sia-sia karena tidak sesuai dengan riset kita. Kelemahannya adalah biasanya buku kumpulan jurnal terlambat hampir di atas lima tahun dan dikhawatirkan permasalahan kita sudah terjawab oleh paper yang lebih baru. Tetapi karena bentuknya yang berformat buku, pembaca lebih mudah mengikuti karena tulisan sedikit diberi tambahan (teori dasar, trik-trik) agar mudah dipahami (tentu saja agar bukunya laku terjual).

Untuk bidang-bidang tertentu seperti mechantronik, robotika, dan bidang terapan lainnya, terkadang agak sulit menemukan metode/teori baru. Biasanya paper yang ada adalah menerapkan teori terhadap kasus khusus yang belum pernah/jarang ditemui, misalnya robot kaki empat yang bisa menuruni tangga cocoknya dengan teknik “A”, dan sebagainya. Dan jurnal yang menerima biasanya meminta peneliti memberikan bukti rekaman agar yakin bahwa memang terbukti bisa diselesaikan dengan alat yang dirancang dengan teknik “A”.

Demikian tulisan singkat ini, siapa tahu bisa membantu, dan jujur saja saya juga baru sampai pada tahap ini. Kalau ada “jurus” lain silahkan berbagi ya.

Latex Sebagai Alternatif Penulisan

Besok di kampus kami akan diadakan pelatihan Citation dimana kami diminta untuk mencoba terlebih dahulu program aplikasi latex yang dapat diakses di situs resminya. Untuk satu latex per user, kita bisa memanfaatkannya secara gratis dengan terlebih dahulu Sign Up dengan memasukan alamat email dan passwort kita ke program latex tersebut (bukan password email lho).

Sebenarnya kita bisa juga menulis secara gratis dengan google docs yang bisa dilakukan secara kolaboratif dengan rekan kita di berbagai penjuru dunia. Google docs dapat diakses disitus google dengan login gmail. Sepertinya Latex memiliki keunggulan tertentu dimana ada fungsi mengatur citation (pustaka). Ok kita lihat besok seperti apa.

Pengumuman Penelitian Hibah Bersaing Dikti 2012

Setelah penantian panjang, akhirnya muncul juga pengumuman penelitian hibah bersaing (PHB) tahun 2012. Pengumuman ini merupakan kelanjutan dari hasil wawancara di UPI Bandung akhir tahun 2011 yang lalu. Alhamdulillah, seluruh proposal hibah bersaing UNISMA diterima. Thanks to LPPM yang telah mensuport para dosen-dosennya untuk mengajukan proposalnya dan semua pihak yang telah banyak membantu dalam proses pengajuan proposal.

Langkah berikutnya adalah menyusun laporan penelitian yang harus diselesaikan bulan Desember ini dan laporan progress harus sudah diserahkan ke kopertis di akhir Agustus. Semoga hasil penelitiannya bisa diterbitkan di jurnal internasional dan bermanfaat.Cao ..

 

Rahmadya Trias Handayanto