Sunday, December 22, 2019

Buku Pemrograman Matlab


Postingan bertujuan untuk memudahkan para pembaca dalam belajar Matlab karena penggunaan yang sangat luas untuk beragam keperluan terutama kalangan riset yang membutuhkan bahasa pemrograman yang bersifat functional. 

Pendahuluan

Sejak penulis menggunakan Matlab 2009 sampai sekarang sudah mencapai R2019a sudah banyak perubahan terlihat dari ukuran installer nya 6 GB, ukuran yang sangat besar sekali. Ada banyak tools sejenis seperti Scilab, Octave, ataupun Python. Keunggulan Matlab yaitu lingkungan yang terintegrasi serta kelengkapan library/pustaka built in yang ada didalamnya sehingga sangat populer bagi kamu yang sedang belajar bahasa pemrograman terutama visualisasi yang kompleks.

Hanya saja kalau kamu yang bekerja pada software production sangat tidak disarankan untuk digunakan karena bukan tujuan dari Matlab itu sendiri seperti untuk membuat aplikasi terus kamu jual ke konsumen melainkan bahasa pemrograman yang bersifat teknis yaitu lebih kepada kemudahan dalam mengembangkan algoritma/metode.

Toolbox Matlab

Matlab telah banyak dilengkapi dengan toolbox yaitu sebuah set function (bisa ratusan function didalamnya) yang dikhususkan berdasarkan topik-topik tertentu sesuai standar riset dan industri
  1. Statistics and Machine Learning Toolbox™ (Statistics and Machine Learning Toolbox)
  2. Curve Fitting Toolbox™ (Curve Fitting Toolbox)
  3. Control System Toolbox™ (Control System Toolbox)
  4. Signal Processing Toolbox™ (Signal Processing Toolbox)
  5. Mapping Toolbox™ (Mapping Toolbox)
  6. System Identification Toolbox™ (System Identification Toolbox)
  7. Deep Learning Toolbox™ (Deep Learning Toolbox)
  8. DSP System Toolbox™ (DSP System Toolbox)
  9. Datafeed Toolbox™ (Datafeed Toolbox)
  10. Financial Toolbox™ (Financial Toolbox)
  11. Image Processing Toolbox™ (Image Processing Toolbox)
  12. Text Analytics Toolbox™ (Text Analytics Toolbox)
  13. Predictive Maintenance Toolbox™
Pengguna matlab sudah sangat terkadomodasi dengan ke 13 toolbox diatas, kalau untuk blog ini hanya fokus pada Image Processing, Signal Processing, Statistics and Machine Learning Toolbox, dan Deep Learning. Kalau kalian ingin tahu demo masing-masing toolbox diatas bisa ketikan perintah demo di command window (ntar dibahas dibawah ini apa itu command window). Demo sudah sangat lengkap koq yaitu
  1. Statistics and Machine Learning Toolbox: Visualize Distribution of Channel Data with a Box Plot, Find Mean of Data Ignoring NaN Values, Fit a Linear Regression Model, Plot a Histogram with a Distribution Fit.
  2. Curve Fitting Toolbox: Visualize Linear Fit to Scattered ThingSpeak Data, Visualize Wind Speed as a Function of Ambient Temperature and Pressure.
  3. Control System Toolbox: Compute Linear Response Characteristics
  4. Signal Processing Toolbox: Remove and Visualize Outliers in Your Data, Remove Outliers in Your Data, Visualize Peaks in Your Data, Visualize Abrupt Changes in Signals
  5. Mapping Toolbox: Visualize Path Traversed in Vector Maps, Visualize Path Traversed in NASA Maps.
  6. Datafeed Toolbox: Retrieve Current Financial Data Using Datafeed Toolbox.
  7. Financial Toolbox: Visualize Simple Moving Average of Your Data, Create a Candle Plot with Customized Date Axis: Plot the MACD Indicator.
  8. DSP System Toolbox: Remove High-Frequency Noise in Measured Data, Generate Chirp Signal.
  9. System Identification Toolbox: Fit an Autoregression Model to the Tidal Depth Data, Visualize and Compare Measured and Predicted Tidal Depths, Forecast Tidal Depths Using ThingSpeak Data.
  10. Deep Learning Toolbox: Create and Train a Feedforward Neural Network, Plot Error Histogram for a Neural Network.
  11. Image Processing Toolbox: Detect and Measure Circular Objects in an Image
  12. Text Analytics Toolbox: Visualize Word Frequency in a Word Cloud 
Bahkan bila dirasa kurang cukup kalian bisa koq buat sendiri toolbox untuk menunjang profesi mu, misalkan kalian seorang trader saham, sangat mungkin sekali membuat toolbox forecasting saham yang berisi sekumpulan function siap pakai yang bisa kamu tulis sendiri khusus untuk trading saham.
Oiya dalam postingan ini, penulis menggunakan spesifikasi Matlab yaitu R2018a 64 bit dengan Windows 10 Home 64 bit 


Untuk membedakan dengan tag yang sudah ada yaitu Matlab, maka akan digunakan tag ebook pemrograman Matlab sehingga kamu bisa fokus mempelajari Matlab dengan baik melalui blog ini. Kalau pun kamu belum menemukan solusinya, bisa koq untuk kontak di http://www.softscients.web.id/p/konsultasi.html.

Secara umum tujuan dari postingan ini dibuat yaitu
  1. Semudah mungkin untuk dipelajari untuk kalian pemula ataupun yang sudah paham mengenai dasar-dasar pemrograman berdasarkan pengalaman penulis yang telah lama menggunakan Matlab.
  2. Alur dibuat secara ber urutan sehingga pembaca tidak bingung.
  3. Memuat informasi penting seperti gambar dan tabel. 
  4. Update secara berkala dan dilengkapi studi kasus yang sederhana

Daftar Isi

Berikut daftar isi yang kamu dapatkan di blog ini
  1. Dasar/Fundamental Matlab
  2. Array


 Setup Tampilan

Untuk memudahkan kalian pelajari, maka sebaiknya dibuat tampilan secara default melalui cara berikut (klik saja tab HOME)

Tampilannya terdiri dari 3 widget utama yaitu Explorer, Workspace, dan Command Window.




Masing-masing widget mempunyai kegunaan masing-masing sesuai dengan namanya, sehingga tidak perlu dijelaskan lebih lanjut, oiya kalau font nya terlalu kecil, bisa disetup koq melalui menu Preferences 
Misalkan untuk memperbesar font



Setup Work Directory

Ini bab yang terkadang sering diabaikan oleh penulis lain yaitu Setup Work Directory yang merupakan direktori aktif/kerja bisa dilihat di



Sebaiknya untuk memulai project yang cukup besar maka hal pertama dilakukan yaitu membuat susunan direktori. Kamu bisa mencontoh yang dilakukan oleh penulis berikut ini




Dalam project yang besar akan maka akan terdiri dari 3 jenis folder diatas yaitu
  1. Daftar-pustaka digunakan untuk menyimpan file yang berisi function yang kita buat sendiri
  2. Dataset digunakan untuk menyimpan dataset berupa gambar, excel, csv, atau hal lain yang digunakan dalam sesi pelatihan/pembuatan model.
  3. Resource digunakan untuk menyimpan gambar icon, serta informasi yang mendukung sebuah aplikasi yang kita buat
Karena dalam sebuah project yang besar dan banyaknya function-function yang harus dibuat kita sendiri maka desain sebuah direktori sangat penting agar kita mudah delivery ke konsumen dan mudah dalam proses update kode/function.


OK sudah penulis jelaskan desainnya, maka untuk setup work directory cukup arahkan kursor







Dan cari lokasi work direktory yang telah kita buat di drive







Untuk atau gunakan perintah cd (artinya change directory) di command window





 Variabel dan Workspace

Hal umum dalam bahasa pemrograman yaitu deklarasi variabel, adapun Matlab tidak memerlukan deklarasi tipe variabel yang secara umum ada 4 jenis struktur variabel yaitu
  1. Array
  2. Cell
  3. Struct
  4. Table
Sedangkan tipe data terbagi menjadi banyak sekali seperti tipe data primitive yaitu double, int, logical, Boolean yang secara otomatis bila mengetik variabel berikut pada command window akan dicasting menjadi sebuah array bertipe double, tapi untuk sementara ini tidak membahas dulu mengenai array biar tidak bingung.
Ada 2 variabel diatas yaitu a dan b dengan menggunakan perintah whos maka akan ditampilkan detail dari name, size, bytes, class nya, serta akan terlihat di widget Workspace

Deklarasi/Penamaan Variabel

Deklarasi / penamaan variabel di Matlab sebaiknya (harus) seperti dibawah ini


Tipe-Struktur Data, Operator Matematika/Algebra

Jenis data primitive yang dikenal ole Matlab terdiri dari 





Sedangkan struktur data terdiri dari

 Sama seperti bahasa pemrograman yang lainnya, operator matematika di Matlab yaitu


Ingat bahwa Matlab menggunakan struktur data berupa array maka semua operator diatas akan diperlakukan sebagai operasi array, sehingga untuk operasi array terhadap element menggunakan tanda titik seperti berikut

Selanjutnya dibahas mengenai https://www.softscients.web.id/2019/12/dasar-dasar-pemrograman-matlab-array.html


No comments:

Post a Comment