Kendala Pada Matlab

Matlab merupakan bahasa komputasi teknis yang bermaksud membantu para saintis dalam melaksanakan kegiatan sehari-harinya (riset, project, data processing, dan sebagainya). Kendala mahasiswa yang menggunakan matlab sebagai tool pendukung adalah saat disidang mahasiswa tersebut tidak sanggup menjelaskan konsep dasar yang melatar belakangi operasi pada Matlab. Beberapa penguji terkadang meminta source code dalam bahasa tertentu seperti C++ dan Java. Jika mahasiswa yang bersangkutan sudah mempelajari teori dasarnya terlebih dahulu mungkin tidak ada masalah, namun jika karena terdesak oleh waktu dan mahasiswa itu tidak sempat mempelajari dasar teori algoritma yang mendasarinya, malapetaka akan menimpa mahasiswa itu. Sebenarnya pada help Matlab, setiap akan memberikan referensi tutorial, Matlab memberikan dasar teori pendukungnya dengan disertai oleh buku rujukan yang bisa kita beli atau download di internet.

Untuk kasus dimana dosen penguji meminta kode sumber, mungkin agak sedikit bermasalah terutama jika dosen penguji tersebut tidak mengakui M-file sebagai bahasa pemrograman layaknya C++, Java, VB dan sejenisnya. Untuk menyiasati hal itu ada baiknya kita mengkonversi bahasa matlab menjadi bahasa C++. Langkahnya adalah dengan membuat deployment project (file – new – Deployment Project). Setiap kita selesai membuat kompilasi program menjadi exe, Matlab selalu menyediakan source code dalam bahasa C++ di folder “Src”. Berikut ini contoh program menghitung beasiswa dengan menggunakan FIS dan ANFIS yang setelah dikompilasi muncul file dalam bahasa C++.

Sebenarnya inti dari programming adalah algoritma, jadi jika kita memahami algoritma maka bahasa apapun dapat kita kuasai. Fanatik terhadap satu bahasa menurut saya kurang baik. Tetapi sebisa mungkin kita memahami dua atau tiga bahasa pemrograman yang dapat kita jadikan alat dalam menterjemahkan algoritma yang telah kita kuasai atau sedang dipelajari.

Gambar di atas mengilustrasikan hasil running file executable hasil kompilasi dari bahasa Matlab. Tampak bahwa matlab sudah mampu membuat aplikasi layaknya bahasa pemrograman yang umum dipakai, disetai dengan GUI yang sudah maju sejak versi 6 hingga sekarang (versi 7).

Salam …

Rahmadya Trias Handayanto

Iklan

Soft Computing

Istilah soft computing merupakan pelengkap dari hard computing yang merupakan komputasi berdasarkan ketidakpastian. Banyak yang bingung apa bedanya soft computing dengan artificial intelligent (AI). AI lebih dahulu muncul, merupakan metode komputasi berdasarkan simbol-simbol dan dikembangkan oleh bahasa pemrograman tertentu seperti prolog, lisp, clips, dan sejenisnya. Soft computing tidak jauh berbeda dengan AI dalam hal penerapan, tetapi dari sisi perhitungan tetap menggunakan notasi-notasi numerik hanya saja dengan algoritma-algoritma tertentu yang saat ini berkembang pesat antara lain: Fuzzy, ANFIS, Jaringan Syaraf Tiruan, Algoritma genetik dan yang terakhir Bayes. Karena berdasarkan algoritma tertentu maka bahasa pemrograman seperti C++, Java, Matlab dan sebagainya dapat digunakan dan tidak lagi dimonopoli oleh bahasa khusus AI.

Fuzzy yang dipelopori oleh Lutfi Askar Zadeh, pria keturunan Iran yang sempat mengenyam pendidikan di Rusia dan saat ini tinggal di Amerika Serikat merupakan dasar dari Soft Computing. Algoritmanya merupakan konversi dari numerik biasa yang diistilahkan dengan CRISP menjadi fungsi keanggotaan Fuzzy yang bersifat manusiawi (linguistik). Beberapa kritikus menanyakan mengapa fuzzy tetap menyandarkan pada aritmatika, sehingga munculah Fuzzy tipe-2 yang memasukkan unsur ketidakpastian.

Jaringan Syaraf Tiruan, yang merupakan metode yang dikembangkan oleh mcculloch – pitts merupakan algoritma yang berusaha meniru bentuk syaraf biologis makhluk hidup. Dengan konsep Neuron-nya disertai dengan bobot dan fungsi aktivasi merupakan terobosan dalam algoritma soft computing. Setelah sempat redup di tahun 70-an karena tidak sanggup menyelesaikan kasus serderhana seperti XoR, akhirnya algoritma ini marak diteliti kembali setelah Hopfield menemukan metode pembelajaran rambatan kesalahan (backprogragation error) yang sanggup mengeset bobot sesuai dengan target pembelajaran.

ANFIS yang merupakan singkatan dari Adaptive Neuro Fuzzy Inference System merupakan penggabungan dari Fuzzy dengan Jaringan Syaraf Tiruan. Bedanya hanya pada rule yang dibentuk lewat mekanisme pembelajaran (learning). Di antara tiga metode pembuatan rule Fuzzy (Mamdani, Sugeno dan Tsukamoto) hanya Sugeno yang secara efisien mampu diaplikasikan pada ANFIS.

Algoritma Genetik yang masuk dalam kategori Evolutionary Computing merupakan algoritma yang berusaha meniru sifat adaptive dari alam sekitar (mirip teori darwin) dimana organisme yang hidup saat ini adalah organisme terbaik yang berhasil unggul dibanding organisme lain yang sudah punah. Metodenya adalah membangkitkan sembarang bilangan, kemudian dievaluasi dengan fungsi objective dan jika kurang baik maka dimusnahkan, sedangkan yang baik, dikawin silangkan serta dimutasi sehingga menghasilkan individu baru yang lebih baik dari induknya. Operasi ini terus berlangsung hingga dihasilkan individu terbaik hasil dari kawin silang dan mutasi.

Bayes, pertama kali dimunculkan dalam bentuk Naive Bayes yang merupakan komputasi berdasarkan statistik probabilistik. Pengambilan keputusan berdasarkan dengan peluang terbesar di antara kandidat yang ada. Terkadang kondisi di lapangan sangat jarang dijumpai kondisi pasti antara A,B,C atau D, seperti pendeteksian penyakit, peramalan cuaca dan sebagainya. Oleh karena itu hasil dari metode bayes ini merupakan peluang terbesar dari suatu kondisi (tidak 100 % akurat).

Metode tersebut di atas terkadang digabungkan antara satu dengan lainnya untuk menghasilkan akurasi, kecepatan dan efisiensi dalam pengoperasiannya. Karena antara satu metode dengan metode lainnya memiliki kelemahan dan kelebihan masing-masing. Metode mana yang Anda gunakan semua ada di tangan Anda. Termasuk bahasa pemrograman yang menjadi pilihan Anda. Untuk saat ini saya sedang mengimplementasikan algoritma Soft Computing dalam bahasa Java, karena bahasa ini merupakan selain bahasa yang open source, banyak dipakai di peralatan, juga dapat berjalan di aplikasi berbasis Web yang saat ini sedang booming.

Rahmadya Trias Handayanto

Hidden Layer Pada Jaringan Syaraf Tiruan

Dari dua jenis cara membuat Jaringan Syaraf Tiruan (JST), cara pembuatan dengan command window sebaiknya dilakukan jika Anda ingin membuat JST dengan beberapa hidden layer karea cara GUI (dengan nntool) tidak menyertakan hidden layer di dalamnya.

    Sesuai dengan namanya, JST bermaksud membuat sistem yang mirip syaraf biologis dengan suatu algoritma (ingat, syaraf tiruan dengan “y”, bukan saraf, itu lain lagi artinya J ). Jika kita punya data masukan dengan keluaran tertentu maka kita dapat mengajarkan ke JST sehingga apabila ada masukan yang berbeda, sistem akan mampu memprediksi keluarannya berdasarkan aturan yang dipelajari lewat mekanisme learning/training.

    Misal kita ingin mengajari JST pemangkatan. Tentu saja jika pemangkatan tidak perlu dengan JST, hard computing pun bisa. Tapi ini kita jadikan percobaan karena mudah dalam memverifikasikan hasilnya. Kenyataan di lapangan terkadang kita tidak menjumpai kasus yang memiliki formula matematis dalam menghitungnya misalnya tanda tangan, kita tidak dapat membuat formula matematis suatu tanda tangan.

    Buat suatu input = [1 2 3 4 5 6 7 8 9 10]; dan output = [1 4 9 16 25 36 49 64 81 100]; yang merupakan pangkat dari input. Untuk membuat JST dengan katakanlah dua hidden layer dengan masing-masing layer memiliki 30 neuron. Banyak istilah asing ya .. emang bikin pusing, neuron itu merupakan analogi yang dalam hal ini fungsi alih yang fungsinya meneruskan sinyal atau sebaliknya mematikan sinyal. Saatnya meramu JST, misal kita butuh neuron input sebanyak data masukan, 10 buah dan keluaran 10 buah.


Sengaja nih saya gunakan image, biar Anda belajar dengan mengetik langsung (tidak copy – paste). Baris pertama bermaksud mendefinisikan matriks masukan, dilanjutkan dengan keluarannya. Karena keluaran (diistilahkan dengan target) didefinisikan maka JST yang kita buat masuk kategori Supervised Learning (pembelajaran terpandu). Baris ketiga bermaksud membuat suatu jaringan syaraf tiruan dengan dua buah hidden layer, masing-masing 30 neurons dan input dengan 10 neurons. Sebenarnya parameternya ada banyak (lihat baris keempat), goal, epoch, dan lain-lain. Sebaiknya lihat help pada matlab dengan mengetik help newff. Di akhir script, JST yang kita buat akan melakukan proses learning.


Perhatikan gambar di atas, tampak dua buah hidden layer. Apakah hasilnya akurat? Tentu saja tidak, saya dan siswa-siswa saya terkadang berkali-kali meramu JST sehingga dihasilkan hasil yang optimal. Untuk mengujinya, lakukan perintah “sim”.


Lihat simulasi yang terakhir, ngaco kan? Masak 3 kwadrat = 61? Tambahkan jumlah Neuron di lapis tersembunyi (Hidden Layer). Menurut riset di jurnal-jurnal, hidden layer yang optimal itu satu saja, perlu diingat, makin banyak hidden layer, proses menjadi sangat lambat dan terkadang komputer Anda tidak sanggup memprosesnya sehingga muncul pesan “Out of Memory “. Coba ramu lagi, Cao ..


Rahmadya Trias Handayanto

Update: 26 Nov 2015

Ada yg bertanya jumlah hidden yang terbaik, apa patokannya. Referensi yg jelas-jelas mengatakan bahwa jumlah hidden optimal satu saja cukup adalah karangan Laurent Fausett judulnya: Fundamental of Neural Network: Architecture, Algorithms, and Applications, hal 299.
one hidden layer

Sementara kalo mau tau alasan detilnya mengapa harus ada hidden layer, baca bukunya Hagan (Neural network Design). Katanya untuk mengatasi problem logika XOR yang bikin JST sempat mengalami masa suram krn ga bisa menyelesaikannya.

Update: 31 Juli 2018

Berkembangnya piranti hardware saat ini memungkinkan JST untuk memproses jumlah neuron dan hidden layer yang lebih banyak. Akibatnya, dalam perkembangannya JST dioptimalkan dengan menambah jumlah neuron dan hidden layer. Istilah JST dengan jumlah hidden layer yang banyak dikategorikan sebagai deep learning. Saat ini deep learning banyak diriset. Jadi JST dengan jumlah hidden layer lebih dari satu belum tentu tidak optimal. Beberapa trik diperlukan, salah satunya adalah memodifikasi fungsi transfer.

Meditasi

Banyak buku yang membahas konsep meditasi. Banyak yang tidak menyukai meditasi terutama agama saya sendiri, Islam. Tetapi menurut saya sih, tidak apa-apa. Jika seluruh kewajiban sudah terpenuhi, sunnahnya juga sudah dijalankan, lalu apalagi? Dari pada korupsi, kolusi, embat sana embat sini, manipulasi dan sejenisnya, lebih baik meditasi. Tapi itu kan bid’ah (melakukan ritual/ibadah tanpa ada tuntunan rosul)? Oke – saya anggap olah raga saja deh, tidak ada hubungannya dengan Budha, wihara atau atribut-atribut lainnya, walaupun tidak fair juga sih dari sisi ilmiah, menggunakan suatu metode tapi tidak menyebutkan sumbernya. Sebagai orang Islam jika ada umat lain yang puasa dan sunat, misalnya, dan mereka tidak menganggap ide itu dari Islam, toh kita marah juga.

    Dari sisi latihan, memang duduk bersila dan mengamati objek yang muncul tanpa terlibat dan tanpa mengontrolnya langsung, itu seperti orang bertapa dan kurang kerjaan. Tapi saat kondisi meditatif tercapai, kesadaran akan meningkat. Tidak akan ada lagi KKN, penyimpangan atau penghalalan segala cara dan Insya Allah negara akan aman dan damai tanpa perlu ngotot, tak perlu pasal-pasal atau ayat-ayat maupun konferensi-konferensian. Meditasi sendiri tidak hanya dilakukan sambil duduk, jika sudah terlatih maka Anda bisa meditasi sepanjang waktu, sambil berkerja, mengasuh anak, ke pasar, mengajar, belajar dan sebagainya tanpa kehilangan kesadaran, karena menurut saya, tanpa kesadaran kita belum “a hundrad per cent human”.

Asyiknya Sidang Tugas Akhir

Selain mengajar dan meneliti, ternyata ada satu lagi aktivitas yang mengasyikkan sebagai dosen, yaitu menyidang tugas akhir / skripsi mahasiswa. Walau terkadang didapati mahasiswa yang kurang serius, ternyata banyak juga yang serius dan kreatif, terutama saat mengatasi permasalahan-permasalahan yang dihadapi. Periode yang lalu merupakan periode sidang tugas akhir/skripsi yang menurut saya menarik terutama saat peragaan alat robot. Permasalahan yang muncul ternyata bukan hanya masalah teknis saja, keuangan juga harus menjadi bahan pertimbangan.

 

Robot tampak bergerak timpang karena kurangnya motor penggerak kaki, sehingga mahasiswa menggunakan rangkaian penyambung antara kaki depan dengan belakangnya. Terlepas dari itu, ketekunannya menyelesaikan tugas akhir D3 patut diacungi jempol. Selamat.

Buku Penerapan Soft Computing dengan Matlab

Hasil dari tulis menulis di blog, terbit buku tentang penggunaan Matlab bersama pembimbing saya Dr. Prabowo Pudjo Widodo. Diterbitkan oleh penerbit: Rekayasa Sains.

Buku “Penerapan Soft Computing dengan MATLAB” membahas seluk beluk Soft Computing yang terdiri dari Fuzzy, ANFIS, Jaringan Syaraf Tiruan dan Algoritma Genetik. Walaupun terasa materi yang dibahas sangat luas, tetapi penulis yakin dengan memanfaatkan software Matlab, pembaca akan mampu membuat aplikasi dengan basis Soft Computing yang canggih.

Setiap bab dimulai dengan teori dasar singkat dengan harapan pembaca dapat mengerti algoritma dasar Soft Computing yang digunakan dan diakhir bab diakhiri dengan studi kasus penerapannya dengan Toolbox Matlab. Pada buku ini digunakan Matlab atas dasar pertimbangan kemudahan dibanding dengan bahasa lainnya yang sejenis. Sebagai penopang utama Soft Computing, Fuzzy dibahas lebih rinci dibanding dengan yang lain.

Untuk mempermudah mempelajarinya, diharapkan pembaca sudah menginstal software Matlab dan mempraktekannya secara langsung saat membaca buku ini. Di bab terakhir diberikan contoh kasus pembuatan aplikasi lengkap dengan bantuan Graphic User Interface (GUI). Untuk mengatasi lisensi Matlab yang mahal, dipelajari juga teknik kompilasi script Matlab menjadi program executable yang dapat dijalankan di komputer lain yang tidak terinstal Matlab.

Oiya, lihat buku saya yg terbaru : https://biobses.com/product/pemrograman-basis-data-di-matlab-dengan-mysql-dan-microsoft-access-dvd/

IELTS

We have already known TOEFL as Test of English as Foreign Language, but now The International English language Testing System is a standard of English as well. Instead of listening, structure and reading comprehension, IELTS devide the test into: Listening, Reading, Writing and Speaking. From zero to nine, the score of IELTS is average of that test sessions. For example, I’ve got 6.0 band (overall) that consist scores of Listening, Reading, Writing and Speaking: 5.5, 6.0, 6.0, and 6.0 consecutively.

The range between each band is only 0.5, so we never heard IELTS score 5.25. IELTS gave a name for each band 0, 1, 2, 3, 4, 5, 6, 7, 8 and 9 as:

          0. : Did not attempt the test
  1. : Non User
  2. : Intermittent User
  3. : Extremely Limited User
  4. : Limited User
  5. : Modest User
  6. : Competent User
  7. : Good User
  8. : Very Good User
  9. : Expert User

The band 5.5 is called Nearly Competent User with word “Nearly”. If you want to study abroad, you must take IELTS Academic Test instead of General Test. For the social studies e.g. Law, Language, Nursery, Medical, Farmacy, and so on, you must reach band 7.0 in most universites, but for engineering sometimes band 5.5 is allowed, but becareful, the administrator also see the band for each sesion test. It is save if you got writing and speaking sessions at least 6.0 because some universities, e.g. University of Technology Sydney, gave the requirements IELTS band 5.5 but score for Writing and Speaking no less then 6.0.

Bongkar CVT

Setelah tiga tahun berjalan, akhirnya saatnya skywave-ku berganti v-belt dan roller. Harga keduanya lumayan mahal 145 ribu + 110 ribu. Terus terang, membongkar rumah v-belt (CVT) skywave cukup menjengkelkan karena selain mur baut yang berjumlah belasan, banyak bagian lain yang harus dilepas juga.

Sayang, setelah dipasang, CVT lupa dibersihkan sehingga masih terdengan “squeek” akibat sedikit selip pada v-belt saat torsi tinggi atau menerima kejuatan. Friends, ada yang bisa memberi saran, menyemprotkan cairan pembersih CVT (dijual bebas) tanpa melepas tutup CVT seperti pada MIO atau adiknya skywave (Skydrive) yang tinggal melepas atasnya saja L.

Workshop UNISMA

Maraknya berita walikota Solo yang menggunakan mobil rakitan SMK membuat saya berkunjung ke workshop Teknik Mesin Universitas Islam 45 Bekasi (UNISMA) yang berlokasi di belakang FKIP, walaupun masih dalam keadaan cuti tahunan. Beberapa fasilitas yang ada lumayan lengkap, baik untuk produksi, otomotif, ilmu bahan hingga laboratorium Disain. Berbeda dengan SMK yang mendapat bantuan dari pemerintah, UNISMA Bekasi menyediakan peralatan yang ada secara mandiri yang sebagian besar diperoleh dari hasil riset dosen maupun tugas akhir/skripsi para mahasiswa baik jenjang D3 maupun S1.

    Otomotif sebagai salah satu cabang teknik mesin yang paling banyak diminati mendapat perhatian penuh dari jurusan teknik mesin UNISMA Bekasi. Tersedia tiga mobil yang siap “diobrak-abrik” baik untuk praktikum maupun tugas akhir/skripsi. Selain itu tersedia pula mesin uji yang berteknologi terbaru (EFI) serta satu Gokart yang biasa digunakan mahasiswa untuk berbalap ria. Untuk membuat suatu inovasi, terpaksa dibutuhkan beberapa mesin produksi seperti bubut, las dan beragam alat uji misalnya uji kekerasan, tarik, dan sebagainya. Beberapa hasil modifikasi dapat dilihat di workshop dan beberapa di antaranya sudah dilombakan (lomba modifikasi).

    Untuk menghasilkan suatu produk baik barang jadi maupun modifikasi tentu saja diperlukan perencanaan baik berupa hitung-hitungan maupun gambar teknik. UNISMA menyediakan sejumlah komputer dengan teknologi terbaru (core i3 dengan vga hampir 2 Gb) disertai berbagai software pendukungnya seperti CATIA, Solidworks, AutoCAD, CFDesign, 3Dmax, dan lain-lain.

Salah satu keunggulan software disain sekarang adalah selain membantu membuat gambar teknik, ternyata ikut membantu dalam perhitungan dan pengujian. Sehingga untuk menguji suatu spesimen cukup diperlukan simulator Wind Tunnel tanpa menggunakan Wind Tunnel sungguhan. Tentu saja diperlukan latihan menggambar 3D yang saat ini sangat dibutuhkan oleh industri di sekitar UNISMA, dan kalau Anda mahir bisa diteruskan ke pembuatan Animasi yang sangan menarik.

Wilujeng Sumping .. 2012

Setelah terdengar terompet .. petasan .. hingar bingar musik. Sekarang hanya terdengar jangkrik dan hujan rintik-rintik. Hanya mengamati dan mendengar tanpa menghakimi .. karena suara hanyalah suara, batin yang hening dan tenang .. tak berusaha menyimpulkan. Caruk marut bangsa serta kekerasan yang merajalela .. tak boleh mempengaruhi jiwa.. yang sedang menjalani perannya. Hanya melakukan yang seharusnya dilakukan .. walaupun hanyalah setetes kebaikan. Karena mengingatkan sungguh berbeda dengan menyadarkan, maka dengan bekerja sepenuh hati yang sadar Insya Allah di tahun 2012 ini kedamaian dan kemajuan ada di mana-mana .. karena kita hidup di bumi yang sama dan memikul tanggung jawab yang sama sebagai wakil-Nya. Rahayu _/\_