Compiling the m-file

Compiling the m-file means we convert the source code of matlab into executable file, so the other computer can run it although there is no matlab software being installed. Of course if the computer which run the application has matlab software we don’t need to compile it.

Because there are a lot of file which build matlab-based application, we must prepare them first. Application with Graphic User Application (GUI) need at least two files: the fig-file for interface and m-file for source code. If you use some toolbox on it, you must include that files to your deployment project. For example, if you create fuzzy-based application, you mast include the fis-file to your deployment project.

Let’s open your matlab software and I suggest you to change the current directory into the same directory as your programming file. Matlab provide project for compiling by clicking the file, new and deployment project in the menu bar. This figure shows you deployment project window.


Please try to compile your own matlab application. As an information, matlab use Matlab Compile to C (mcc) to convert code in matlab into c++ first before converting to exe.

Artificial Neural Network Tutorial for Matlab (Presentation)

Artificial Neural Network (ANN) is my favorit algoritm because it use analogy of biological neural system. It is very interesting, neurons and axons convert to algorithm of transfer function and weight that can be adjust by activity called “learning”. When doing learning, ANN use some iteration to match the target with the input by changing it weight and some correction number, called bias.

Classification, Pattern Matching, signature identification, and other similar usage usually use ANN with some modification on input data and target. Because ANN has an ability to store memory on it neurons, some vendor use it for Pattern Matching application. There are some problem when using ANN, because when training, a lot of memory must be available if you don’t want your system being “hang”. The learning algorithm usually use the famous one, called backpropagation (from John Hopfield invention). But some research add other soft computing algorithms to enhanced the speed of learning and accuracy.

The language for creating ANN may be C++, Java or the easiest one, Matlab. I use Matlab for most of my application. Of course there is a classic problem by using Matlab, the lisence. But some language, for example, Octave, Scilab, etc, are open source and free for download. And the most important is the same syntax with Matlab. Of course we must build our function of ANN in open source language, because a lot of function (called M-file) does not available. If you want to know more about ANN with Matlab you can see www.mathworks.com or other millist, for example www.techsource.com.sg and free for sign up. This is a presentation form of explanation about ANN using Matlab you can download from techsource. Please find by your self in www.google.com.


Ok .. if you could not find, this is the link for download from my own storage: http://www.ziddu.com/download/16472066/neuralnetworkinmatlabtutorialpresentation.rar.html

Security vs Educating User

Security is main concern for microsoft coorporation. Since windows Xp sp 2, it included firewalls on its product, even though in sp 1 windows had used firewalls even must be set manually. After launch windows 7, microsoft introduce anti virus which have a life time lisence. But microsoft sometimes could not educate user well, for example in windows 7 there is suggestion when entering the hot spot area to push the button on the router. Can you imagine if your staff do this at your office?

Perkembangan Disain

Berbicara mengenai perencanaan produk tidak lepas dari kebutuhan dan keinginan pasar. Sesungguhnya kita tidak bisa secara tepat meramalkan keinginan pasar, tetapi pergerakan dari perubahan keinginan pasar dapat dilihat gejalanya. Walaupun secara teknis suatu produk sangat baik, tetapi jika tidak memiliki disain yang kurang diminati akan gagal di pasaran. Tentu saja jika gagal di pasaran, produk tersebut dikatakan gagal.


Sebagai studi kasus kita lihat motor honda yang di tahun 80-an sangat terkenal. Bahkan di tahun itu orang sudah menyebut naik motor dengan naik honda karena brand honda yang sudah merakyat. Coba bayangkan jika honda tidak melakukan riset pasar terhadap bentuk disainnya yang baru, tentu saja konsumen akan beralih ke merek baru karena takut dikatakan naik motor babeh.


Seiring dengan perkembangan teknologi dan kondisi jalan di Indonesia, perlu untuk merancang mesin dengan kapasitas besar. Akhirnya muncul motor-motor dengan cc besar seperti honda megapro dengan cc 145 dan 160. Honda mega pro di atas hasil modifikasi buntut yang lama yang banyak diprotes karena berbentuk seperti perahu.


Seiring dengan perkembangan jaman, perhatikan bentuk honda tiger 2000 yang mengikuti perkembangan jaman dari velg racing (walaupun ada yg suka model klasik velg jari-jari) dengan tutup tangki tambahan sebagai asesoris. Di awal tahun 2000 motor ini sempat merajai jalan.


Dan ternyata bentuk tedeng tambahan di tangki (lihat gambar di atas diambil dari dapurpacu.com .. gambar cewek cuma penyedap aja lho ..) ternyata banyak dipakai oleh motor-motor sport saat ini seperti yamaha, honda dan bajaj (pulsar). Dan lumayan, meningkatkan penjualan karena memiliki disain yang baik. Bagaimana disain yang akan datang, tentu saja kita harus mengikuti arah pasar.

Perancangan Produk Berbasis Komputer

Tak sadar waktu terus berlalu dan tahun ajaran baru mulai kita masuki. Seperti biasa semester ini tugas mengajar mata kuliah perancangan produk menjadi tanggung jawab saya. Saatnya evaluasi terhadap materi ajar tahun lalu yang agak kurang maksimal karena dasar menggambar komputer berbasis komputer yang kurang. Mudah-mudahan semester ini bisa diperbaiki, apalagi siswa sudah mengenal software CATIA yang cukup baik untuk merancang produk.

Masalah utama bagi siswa untuk mampu belajar disain adalah sulitnya menguasai perangkat lunak pendukung, terutama untuk fitur-fitur yang rumit. Dua tahun yg lalu sempat diperkenalkan AutoCAD hingga ke 3D ternyata sangat rumit. Dan akhirnya dialihkan ke CATIA yang agak mendingan walaupun sedikit lebih mudah, terbukti beberapa siswa menghasilkan gambar yang lumayan baik. Salah satu kelemahannya adalah CATIA tidak mampu menganalisa panas, sehingga membutuhkan tool tambahan misalnya CFD.

Seperti yang diucapkan oleh Prof Habibie bahwa dengan sebongkah besi, kita bisa membuat pacul seharga puluhan ribu, tetapi dengan otak kita, kita bisa membuat komponen berharga puluhan juta. Tentu saja didukung oleh kemampuan menggambar dan berimajinasi yang baik. Jika pada semester lalu (Mata kuliah SIMBAD CAD) kita masih dalam tarap “mencontek” gambar, dalam mata kuliah ini diharapkan mahasiswa mampu menemukan disain baru.

Semester baru, tentu saja ada hal-hal baru yang akan saya berikan. Karena kebanyakan produk-produk yang tersedia di pasaran berupa disain-disain yang menarik minat konsumen, tentu saja penggunakan software yg fleksibel dan mudah untuk disain mutlak diperlukan. Mungkin ada yang sudah mengenal 3Ds Max dari vendor Autodesk? Tampilannya adalah seperti gambar di bawah ini (versi 2011).


Dengan software ini diharapkan mahasiswa mampu merancang bentuk yang rumit dengan mudah, mengenai gambar tekniknya (drafting) kita tinggal mengkonversi gambar rumit kita ke format AutoCAD, oleh karena itu mau tidak mau harus mengulang kembali mata kuliah AutoCAD.

Metodologi dalam Pembuatan Perangkat Lunak

Seperti halnya perancangan produk di industri, merancang produk perangkat lunak juga memerlukan metodologi agar produk yang dihasilkan berkualitas baik. Karena karakteristiknya yang unik (tidak bisa aus, cepat berkembang, dll) software memiliki metodologi beragam yang telah dilakukan oleh pengembang-pengembang perangkat lunak.

Dalam bukunya, Roger S presman membagi metodologi menjadi bermacam-macam (waterfall, incremen, spiral, prototype, dll). Namun, pendekatan yang disarankan oleh Martin Fowler dalam bukunya UML Distilled cukup menarik, yakni hanya membagi metodologi menjadi waterfall dan iterasi. Sedangkan yang lainnya seperti spiral, incremen, dimasukan dalam kategori iterasi. Berikut penjelasan singkatnya.

Metodologi waterfall, sesuai dengan namanya “air terjun” merupakan metode klasik yang telah digunakan oleh analis dan disain perangkat lunak. Metode ini membagi proses pembuatan perangkat lunak dalam fase-fase seperti analisa, disain, coding, testing dan implementasi dengan urutan yang jelas. Karena memiliki kelemahan yang cukup signifikan, metode Iterasi membagi proses pembuatan perangkat lunak menjadi tahapan-tahapan yang tiap tahapan terdiri dari fase-fase yang ada pada waterfall ( analisa, disain, coding, testing dan implementasi). Sehingga kemungkinan kegagalan dalam  proses pembuatan software dapat ditekan sekecil mungkin. Tahapan tersebut disusun mulai dari kebutuhan software terkecil hingga lengkap, namun tentu saja membagi menjadi tahap-tahap bukan merupakan pekerjaan yang mudah.

Sedangka dalam hal perancangan, Martin Fowler dalam buku yang sama juga menjelaskan bahwa ada dua jenis perancangan, yaitu prediktif dan adaptif. Perencanaan prediktif mengharuskan vendor pembuat perangkat lunak mampu memprediksi baik dari sisi kebutuhan software maupun hal-hal lain. Sedangkan perencanaan adaptif vendor pembuat tidak memiliki prediksi yang jelas, sehingga kebutuhan sofware selama proses pembuatan perangkat lunak bisa saja berubah (beradaptasi) mengikuti kebutuhan konsumen yang fleksibel. Oleh karena itu Martin Fowler menyarankan dalam merancang suatu sofware kita memanfaatkan tools system sebaiknya dari yang sederhana kemudian kita tambah sesuai kebutuhan dari pada memanfaatkan tools system yang kompleks dan kemudian satu persatu kita hilangkan mengikuti kebutuhan.

Namun kebanyakan kampus-kampus menggunakan metodologi yang ada di buku-buku teks klasik (Roger S Pressman dan Ian Sommerville) walaupun saat ini sudah mulai muncul metode-metode baru yang menyesuaikan dengan kebutuhan/karakter software yang dirancang seperti Agile dan Extreme Programming (XP). Menilik dari pengalaman-pengalaman yang lalu dalam membuat bahasa standar object programming UML yang banyak memakan waktu dan dana, ada baiknya para metodis (pakar di bidang metodologi) agar sedikit longgar dan mengikuti tren pasar. Bahkan sering disindir, “bedanya metodis dengan teroris hanya satu, yaitu kita bisa bernogosiasi dengan teroris”. 🙂