Menampilkan Data Pengukuran Dalam Grafik [Matlab]

Melanjutkan artikel sebelumnya yang membahas tentang membuat GUI dengan Matlab, maka pada kesempatan ini akan disampaikan bagaimana cara menampilkan data pengukuran yang diperoleh dalam bentuk grafik menggunakan interface GUI. GUI adalah sebuah interface yang dibuat untuk memberikan kemudahan dan kenyamanan bagi pengguna dalam mengoperasikan sebuah software. Sementara, sebuah grafik adalah hasil sajian dari sekumpulan data yang tujuannya untuk disampaikan kepada pihak lain. Untuk mempermudah pihak lain/user dalam membaca sebuah data, maka diperlukan sebuah interface. Dalam software engineering, GUI merupakan sebuah interface yang sudah lazim digunakan.
Bagaimanakah membuat sebuah interface GUI sederhana untuk menyajikan data yang tersimpan dalam sebuah file? Ikutilah sajian yang akan disampaikan.
Untuk membuat sebuah GUI yang dapat menyajikan data dalam bentuk grafik, maka digunakan fitur yang telah disediakan dalam Matlab pada bagian Guide (GUI builder). Pada Guide ini terdapat beberapa komponen yang dapat digunakan untuk membuat interface GUI, diantaranya adalah: axes, Push Button, dan Static Text.
Untuk memahami masing-masing komponen dan fungsinya, maka akan disampaikan property yang dapat digunakan.
1. Axes

Komponen ini dapat digunakan untuk proses yang berkaitan dengan  tampilan grafik dan gambar. Property yang dimiliki komponen ini diantaranya adalah plot, cla, title, xlabel, ylabel. Dalam sebuah axes juga dapat ditampilkan beberapa grafik yang terpisah.

2. Push Button

Digunakan untuk menerima perintah dari user melalui klik kiri mouse/enter. Komponen push button biasanya digunakan untuk memberikan pilihan kepada user untuk memilih suatu perintah kapan dilakukan.

3. Static Text

Jika sebuah software membutuhkan sebuah informasi yang akan disampaikan kepada user, maka digunakan Static Text. Informasi yang disampaikan berupa tulisan.

Untuk lebih jelasnya, ikutilah paparan dibawah ini.
Misalnya sebuah data pengukuran yang didapatkan adalah seperti berikut:
1349,1214,1194,1119,1219,1279,1274,1259,1189,1204,1234,1189,1169,1229,1164,1249,1169,1164,1189,1224,1194,1139,1254,1094,1239,
1199,1229,1124,1339,1234,1144,1419,1129,1114,1239,1289,1219,1374,1234,1204,1144,1204,1204,1194,1164,1244,1154,1184,1194,1209,
1214,1929,1254,1099,1234,1239,1239,1094,1334,1269,1124,1504,1050,1214,1254,1194,1279,1249,1239,1104,1204,1189,1209,1194,1239,
1189,1204,1224,1229,1214,1154,1259,1079,1199,1179,1194,1104,1319,1244,1119,1314,1129,1254,1204,1254,1239,1249,1199,1174,1124,
1234,1174,1229,1189,1179,1229,1239,1214,1144,1249,1079,1194,1184,1214,1104,1324,1224,1124,1344,1199,1199,1279,1254,1164,1194,
1234,1139,1224,1189,1234,1174,1194,1219,1204,1194,1164,1229,1094,1209,1189,1194,1114,1324,1239,1124,1309,1189,1254,1249,1194,
1234,1239,1174,1239,1139,1254,1144,1174,1844,1234,1224,1139,1259,1079,1249,1239,1209,1114,1319,1259,1134,1399,1214,1264,1184,
1209,1189,1179,1279,1129,1249,1169,1209,1219,1234,1239,1119,1259,1084,1209,1209,1194,1124,1329,1264,1139,1369,1194,1179,1194,
1879,1199,1299,1169,1189,1159,1189,1214,1194,1219,1154,1224,1099,1254,1219,1219,1119,1334,1264,1139,1464,1074,1189,1199,1214,
1229,1234,1354,1114,1189,1209,1219,1204,1154,1274,1094,1229,1219,1249,1119,1324,1244,1139,1429,1129,1189,1169,1214,1179,1409,
1144,1199,1159,1234,1199,1164,1789,1069,1224,1199,1229,1129,1349,1204,1104,1454,1089,1169,1234,1149,1369,1184,1244,1119,1234,
1219,1149,1269,1089,1214,1214,1224,1104,1314,1229,1119,1314,1139,1249,1194,1334,1934,1274,1204,1229,1134,1119,1254,1094,1239,
1234,1229,1114,1304,1269,1129,1369,1169,1194,1334,1159,1859,1194,1274,1164,1164,1259,1974,1259,1229,1244,1124,1329,1254,1144,
1384,1134,1339,1174,1189,1219,1304,1179,1174,1194,1109,1209,1199,1229,1124,1329,1269,1149,1369,1314,1174,1154,1219,1229,1229,
1199,1194,1099,1244,1199,1209,1119,1304,1254,1134,1509,1109,1169,1234,1194,1209,1204,1234,1040,1229,1224,1209,1104,1324,1269,
1129,1349,1129,1234,1204,1199,1164,1319,1179,1149,1209,1214,1114,1339,1249,1139,1319,1154,1849,1224,1174,1274,1254,1204,1194,
1154,1114,1294,1244,1144,1364,1159,1234,1164,1259,1244,1244,1269,1174,1119,1319,1259,1109,1439,1109,1889,1249,1214,1234,1274,
1184,1099,1254,1229,1119,1469,1134,1204,1159,1224,1179,1199,1129,1244,1249,1124,1244,1879,1219,1224,1209,1219,1179,1284,1229,
1069,1404,1119,1244,1219,1234,1109,1344,1279,1079,1379,1139,1214,1229,1104,1334,1319,1094,1419,1159,1209,1134,1299,1254,1214,
1229,1159,1134,1324,1224,1154,1384,1045,1304,1234,1164,1264,1274,1244,1129,1339,1189,1119,1499,1069,1129
Jika data tersebut disajikan apa adanya seperti di atas, maka user akan kesulitan untuk membaca informasi yang disajikan. Maka untuk mempermudah user membaca informasi, data disajikan dalam bentuk grafik. Matlab menyediakan fasilitas untuk menampilkan data secara otomatis dalam sebuah grafik. Grafik yang diinginkan juga bisa dipilih sesuai keinginan. Misalnya, grafik garis ataupun grafik batang.
Untuk menampilkan sebuah data dalam bentuk grafik pada Matlab, gunakan template ini agar mudah memahaminya.
1. Klik kanan pada push button Tutup, pilih View Callbacks kemudian pilih Callback.

% — Executes on button press in btnTutup.

function btnTutup_Callback(hObject, eventdata, handles)

% hObject    handle to btnTutup (see GCBO)

% eventdata  reserved – to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

close;

tambahkan code diatas, fungsinya adalah menutup form aplikasi.

2. Klik kanan pada push button Load, pilih View Callbacks kemudian pilih Callback.

Kemudian akan muncul code berikut:

% — Executes on button press in btnLoad.

function btnLoad_Callback(hObject, eventdata, handles)

% hObject    handle to btnLoad (see GCBO)

% eventdata  reserved – to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

Tambahkan code berikut:

DataGrafik=load(‘Data.dat’, ‘-mat’);

plot(gca,DataGrafik.a);

title(gca,’Data Pengukuran’);

xlabel(gca,’Data ke-‘);

ylabel(gca,’Nilai Pengukuran (unit)’);

set(handles.btnReset,’enable’,’On’);

set(handles.btnLoad,’enable’,’Off’);

penjelasan:

DataGrafik=load(‘Data.dat’, ‘-mat’);

Digunakan untuk membaca data dari file. Nama file yang akan dibaca adalah Data.dat dengan tipe mat. Data yang dibaca akan ditampung pada variable DataGrafik. Karena data yang disimpan adalah bertipe struct, maka variable lengkapnya adalah DataGrafik.a

plot(gca,DataGrafik.a);

code di atas digunakan untuk menampilkan data dalam bentuk grafik.

title(gca,’Data Pengukuran’);

digunakan untuk menampilkan keterangan judul grafik.

xlabel(gca,’Data ke-‘);

digunakan untuk menampilkan keterangan sumbu x.

ylabel(gca,’Nilai Pengukuran (unit)’);

untuk menampilkan keterangan sumbu y.

set(handles.btnReset,’enable’,’On’);

set(handles.btnLoad,’enable’,’Off’);

untuk mengaktifkan push button Reset dan Load.

3. Klik kanan pada push button Reset, pilih View Callbacks kemudian pilih Callback.

% — Executes on button press in btnReset.

function btnReset_Callback(hObject, eventdata, handles)

% hObject    handle to btnReset (see GCBO)

% eventdata  reserved – to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

cla(gca,’reset’);

set(handles.btnReset,’enable’,’Off’);

set(handles.btnLoad,’enable’,’On’);

penjelasan:

cla(gca,’reset’);

digunakan untuk menghapus grafik dan menyegarkan tampilan.

set(handles.btnReset,’enable’,’Off’);

set(handles.btnLoad,’enable’,’On’);

untuk mengaktifkan push button Load dan push button Reset.

4. Setelah selesai, tekan F5 atau tekan icon

Jika muncul confirmation box berikut

Klik Change Directory.

Akan tampil seperti berikut

5. Klik push button Load Data.

6. Klik Reset untuk membersihkan grafik.

Nilai sumbu y dan sumbu x akan mengikuti nilai maksimum dari data yang ditampilkan secara otomatis. Untuk memanipulasi tampilan data lebih lanjut, akan disampaikan pada tulisan berikutnya.

Download Code lengkap.

Demikian, semoga bermanfaat.

Rohmadi

You may also like...

14 Responses

  1. fahreza says:

    maaf mas mau tanya jika yang diambil adalah data mysql gimana caranya apa kita harus menyimpan data mysql itu dalam bentuk yang lain misalnya excel atau tidak perlu langsung ambil datanya saja sambil mysqlnya di aktifkan tolong bimbingan nya

    • roohmadi says:

      Jika data yang dimaksud adalah bertipe bilangan (integer, float, double, dsb) bisa saja langsung di plot/ditampilkan langsung. Setahu saya, MySQL itu kan datanya bisa macam-macam tipe. Jadi tergantung tipe data yang akan di tampilkan dalam grafik. Semoga bermanfaat.

    • roohmadi says:

      Contoh diatas adalah contoh data yang sudah disimpan, jika data dari MySQL yang dimaksud sudah disimpan atau akan disimpan, sebaiknya disimpan dalam format delimiter/diberi identifier pemisah. Misalnya delimiternya titik (.), koma (,), tabulasi (tab), dan lain sebagainya. Silakan merujuk pada Help di Matlab mengenai format yang support.
      Misalnya, data disimpan dalam format *.txt, *.dat, *.mat, dan biasanya terdapat delimiter tertentu.

  2. fahreza says:

    jadi jika saya mau mengambil data mysql dari matlab untuk diujikan dalam program GUI matlab, saya harus menyimpan data mysql saya dalam bentuk yang tertera atau tersedia pada mysql lalu baru saya bisa memanggilnya melalui matlab begitu ya…?

    • roohmadi says:

      Banyak web server tidak mengijinkan user untuk mengakses MySQL server dari aplikasi sisi client/remote untuk alasan keamanan. Pada kasus ini keterbatasan tersebut dapat diatasi dengan menggunakan interfacing antara MySQL server dengan script PHP yang dipanggil dari sisi aplikasi Matlab.
      Script PHP mengeksekusi command MySQL yang diberikan oleh Matlab, dan memberikan balikan hasilnya (jika ada) ke Matlab. Script PHP ini berlaku pada sisi server. Script PHP menerima command MySQL yang dikirimkan oleh Matlab melalui metode POST. Pada dasarnya, Matlab dapat membaca isi dari sebuah URL yang memberikan informasi ke server sebagai bagian dari permintaan.
      Untuk lebih jelasnya silakan mempelajari artikel pada link berikut: http://www.mathworks.com/matlabcentral/fileexchange/15002-matlab-to-mysql-interface

  3. maya says:

    ass ..maz roohmadi
    mau tanya ini .. gimana cara menampilkan 2 grafik dalam satu gui ..
    tujuanya untuk membandingkan grafik yang satu dengan yang satunya lagi .. soalnya saya bisanya cuma menampilkan satu grafik?
    terimakasih maz …

    • roohmadi says:

      Untuk menampilkan 2 grafik pada sebuah figure Matlab, maka dapat digunakan dengan menggunakan perintah subplot.
      Sebagai contoh:
      A = 1:20
      B = 20:40
      subplot(2,1,1); % grafik 1
      plot(A);
      subplot(2,1,2); % grafik 2
      plot(B);
      ……..
      Penjelasan:
      subplot digunakan untuk membuat grafik lebih dari satu pada sebuah figure. Untuk lebih lanjut tentang penjelasan syntax ini, silakan merujuk pada Help Matlab.
      semoga bermanfaat.

  4. haris says:

    mas misalkan saya punya data dari excel untuk saya simulasikan menggunakan matlab dalam bentuk grafik sebagai peramalan beban.
    dengan data seperti ini :
    Jam Shift Parameter kW
    6:00 1 Setting Daya 553
    8:00 1 Setting Daya 534
    10:00 1 Setting Daya 538
    12:00 1 Setting Daya 543
    13:30 2 Setting Daya 605
    16:00 2 Setting Daya 609
    18:00 2 Setting Daya 590
    20:00 2 Setting Daya 670
    22:00 3 Setting Daya 789
    0:00 3 Setting Daya 889
    2:00 3 Setting Daya 883
    4:00 3 Setting Daya 868
    maksud saya untuk sumbu X (data Jam), dan sumbu Y(data beban atau Kw),
    gimana caranya mas kog klo saya coba plot kan dalam bentuk grafik di matlab selalu error…

  5. lia says:

    ass… mas roohmadi.
    mas maaf mengganggu sebelumnya…
    saya mau tanya gimana caranya bikin grafik dengan matlab menggunakan metode backpropagasi.
    terima kasih. ” mohon bimbingannya ya mas “

    • roohmadi says:

      Maaf mbak Lia. Untuk algoritma backpropagation sendiri saya kurang menguasai. Saya hanya menguasai sebatas menampilkan data pada matlab/GUI saja dan script interfacing.

  6. Hidayat says:

    Mau tanya mas.
    Membaca data pengukuran secara on line yg source programnya berbeda (bukan MATLAB), bagamimana acaranya. Data tsb basuk ke komputer melalui USB.

    • roohmadi says:

      Untuk akuisisi data menggunakan USB, pada matlab sudah disediakan melalui toolbox. Jadi tinggal mendeteksi device USB yang digunakan dan menampilkan melalui Matlab.

  1. February 28, 2012

    […] Grafik Pada Matlab Pada tulisan sebelumnya, ada sebuah pertanyaan dari seorang pengunjung yang menanyakanBagaimana cara membuat […]

Leave a Reply

Your email address will not be published. Required fields are marked *