Sunday, July 29, 2018

Pemilihan tools untuk komputasi teknis

Bagi anda yang sering bekerja untuk mengolah data menggunakan excel, ada baiknya anda bisa belajar menggunakan bahasa komputasi teknis, mengingat dalam beberapa hal bisa saling melengkapi, seperti penulis yang lakukan untuk menunjang pekerjaan sehari-hari seperti analisis data yang super besar (yang dalam hal ini, aplikasi seperti excel akan sangat tidak efisien dan seringkali bekerja dengan sangat lama)

Saturday, July 28, 2018

Buku Belajar Pemrogaman Matlab - Matlab Komunikasi serial via Port


Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link


kalian bisa lanjut baca lagi di  http://softscients.com/2020/03/29/buku-belajar-pemrogaman-matlab-matlab-komunikasi-serial-via-port/


Sinopsis
Pembahasan  kali ini agak sedikit berbeda dengan yang sebelumnya, yaitu komunikasi serial. Penulis menggunakan arduino UNO sebagai contoh sederhananya. Dibawah ini Arduino UNO sudah terpasang pada port USB di COM


Untuk contoh sederhanya yaitu, Arduino UNO akan menerima perintah via USB dari Matlab yaitu kode 1 dan 2, dimana untuk 1 akan menghidupkan lampu led, sebaliknya untuk 2 akan mematikan lampu led. Secara default, arduino UNO mempunya pin no 13 berupa lampu led, kita akan menggunakan hal tersebut sehingga menjadi lebih mudah.




byte a,b; //variabel awal
void setup()
{
  Serial.begin(9600); // baud rate nya
  pinMode(13,OUTPUT);  //kita set pin no 13 sebagai output
  digitalWrite(13,HIGH); //kita hidupkan dari awal
  
}

void loop()
{
  a = Serial.read(); //baca serial
  b = char(a); //ubah ke string
  
  switch(b)
  {
    case '1':
      digitalWrite(13,HIGH); 
      Serial.println("portal terbuka");     
      break;
    case '2':
      digitalWrite(13,LOW);
      Serial.println("portal tertutup");     
      break;
  }
  
}


Yuk, kita pakai komunikasi serial bawaan IDE nya Arduino seperti berikut


Cukup mudah, bukan?

Matlab Komunikasi serial

Nah sekarang kita menggunakan Matlab Komunikasi serial  seperti code berikut

s=serial('COM5')
fopen(s)


Hasil dari fopen(s)

Serial Port Object : Serial-COM5

   Communication Settings 
      Port:               COM5
      BaudRate:           9600
      Terminator:         'LF'

   Communication State 
      Status:             closed
      RecordStatus:       off

   Read/Write State  
      TransferStatus:     idle
      BytesAvailable:     0
      ValuesReceived:     0
      ValuesSent:         0


Nah, kirimkan data ke USB menggunakan perintah berikut


fprintf(s,'1') 

atau kode berikut

fprintf(s,'2') 

Nah, jangan lupa bila sudah selesai, coba-cobanya, agar close serial nya dengan code berikut
fclose(s)

Cukup mudah bukan? untuk Matlab Komunikasi serial

Buku Belajar Pemrogaman Matlab - read excel string and number


Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link


kalian bisa lanjut baca lagi di  http://softscients.com/2020/03/29/buku-belajar-pemrogaman-matlab-read-excel-string-and-number/


Pernah menjumpai kesulitan menyimpan data di excel kemudian dibaca di matlab? Seperti kombinasi angka dan string di excel
Misalkan kita simpan di excel dengan nama ‘data.xlsx’ kemudian kita akan membaca file excel di matlab menggunakan perintah berikut

clc;clear all;close all;
data = xlsread('data.xlsx')

Pasti anda akan terkejut, ternyata yang dibaca hanya number nya saja
data =

         526
        7314

Atau malah mencoba dengan code berikut

clc;clear all;close all;
[num,txt] = xlsread('data.xlsx')

Menghasilkan

>> num

num =

         526
        7314

>> txt

txt =

  3×1 cell array

    {'KB6584' }
    {'ACD124' }
    {'B768767'}

Matlab-read excel string and number

Bagaimana  Matlab-read excel string and number  secara bersama-sama?  agar tidak terpisah-pisah, nah ternyata bisa kita lakukan penambahan tanda petik (‘) untuk memperlakukan number di excel menjadi sebuah string

Kita simpan lagi ke excel, maka cukup gunakan code sebelumnya untuk membaca file excel

clc;clear all;close all;
[num,txt] = xlsread('data.xlsx')

Menghasilkan


num =

     []


txt =

  5×1 cell array

    {'526'    }
    {'7314'   }
    {'KB6584' }
    {'ACD124' }
    {'B768767'}

>>





Sunday, July 15, 2018

Buku Belajar Pemrogaman Matlab - Play Video File di Matlab


Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link


kalian bisa lanjut baca lagi di  http://softscients.com/2020/03/29/buku-belajar-pemrogaman-matlab-play-video-file-di-matlab/


Sinopsis

Ada yang pernah mencoba membuat GUI di Matlab untuk melakukan play video+sound? Pasti akan mengalami banyak kendala, bukan? Karena Matlab tidak punya mekanisme untuk play secara bersama-sama baik video dan sound. Caranya dengan Open and play video using MATLAB

Open and play video using MATLAB

MATLAB has no mechanism to play both and video from a video. There have been suggestions about using:
  1. MMPLAY which is a user submission
  2. Use VLC Player's ActiveX plugin within a MATLAB GUI.
Ref: https://www.mathworks.com/matlabcentral/answers/251504-how-do-i-play-a-video-in-matlab
Rada aneh memang, Matlab yang begitu mahal lisensinya tidak mempunyai mekanisme tersebut, padahal bahasa pemrograman umum sangat mudah melakukan hal tersebut seperti visual basic, C# karena Net Framework telah menyediakan banyak component tersebut.

Menggunakan Implay()

untuk Open and play video using MATLAB, kita bisa menggunakan implay: opens the Video Viewer app. You can use Video Viewer to show MATLAB® movies, videos, or image sequences (also called image stacks).
Anda bisa menggunakan implay() untuk memutar

implay('Bismillah-NEXT-Fix.avi')

Tapi suaranya tidak akan keluar, hanya menampilkan video saja

Menggunakan ActiveX Open and play video using MATLAB

Yups, kita bisa menggunakan ActiveX seperti aplikasi VLC untuk Open and play video using MATLAB yang lebih mudah

Sebaiknya anda install terlebih dahulu


clc;clear all;close all
f=figure();
 
vlc=actxcontrol('VideoLAN.VlcPlugin.2',[0,0,800,600],f);
 
filepath = 'Bismillah-NEXT-Fix.avi';
filepath(filepath=='\') = '/';
filepath = ['file://localhost/' filepath];
 
options = {':video-filter=transform --transform-type=90'}; % I have tried replacing video-filter with vout-filter as well
 
vlc.playlist.add(filepath,options);
 
vlc.playlist.play()
 
vlc.video.deinterlace.enable('x');



Hasilnya seperti diatas, terdengar suara dan play video dengan baik! Dengan ActiveX dari VLC Media Player, tapi jangan senang dulu karena anda tidak bisa membuat GUI dan ditempelkan begitu saja di Axes
Ref:
https://mailman.videolan.org/pipermail/vlc-devel/2012-October/090739.html
https://www.codeproject.com/Articles/5848/Using-ActiveX-Control-Inside-MATLAB
Ya setidaknya, Matlab bisa digunakan walau dengan kemampuan terbatas, padahal yang kita inginkan bukan saja play tapi bisa diproses lebih lanjut.

gampang bukan untuk Open and play video using MATLAB

Wednesday, July 11, 2018

Buku Pengolahan Citra Digital dengan Matlab - Face Detection menggunakan HaarCascade Classifier

Selama ini, penulis banyak menggunakan opencv+python untuk beragam project berkaitan dengan machine learning, computer vision, walaupun penulis sebelumnya menggunakan matlab. Ada beberapa faktor kenapa penulis menggunakan python dikarenakan lebih kepada lisensi
  1. Dimana untuk Matlab disyaratkan menggunakan lisensi ketika sebuah paper yang diterbitkan/seminarkan diluar negeri.
  2. Tuntutan dari klien yang lebih kepada bersifat applicable, dimana harus bisa digunakan secara umum, sehingga tidak dibebankan persoalan lisensi
Padahal bila menggunakan Matlab akan tampak lebih mudah dalam penulisan code dengan adanya function built in, seperti contoh berikut face detection, hanya terdiri dari beberapa saja lho.

Matlab-Face Detection


clc;
C = webcamlist;
cam=webcam(C{1});
preview(cam);
NotYet = false;
faceDetector = vision.CascadeObjectDetector;
while ~NotYet
    pause(2);
    I = snapshot(cam);
    disp('sedang capture gambar...')
    bboxes = step(faceDetector, I);
    if ~isempty(bboxes)
        NotYet = true;
        disp('wajah ditemukan');
        break;
    end
    disp('belum terdeteksi wajah :(, lakukan pengulangan...');
end
closePreview(cam);
clear('cam');
IFaces = insertObjectAnnotation(I, 'rectangle', bboxes, 'wajah');
figure, imshow(IFaces), title('Wajah terdeteksi');