MATLAB GUI – Creating Save and Load Button

February 23, 2009

Introduction

Kali ini kita akan mencoba membuat tombol dengan fungsi Save dan Load dalam GUI . File data-data input akan disimpan dalam bentuk *.mat dan dapat dibuka kembali dengan hanya men-click tombol Load.

Sebagai contoh, akan dibangun sebuah GUI yang akan mem-plot data secara sederhana ke dalam bentuk grafik. GUI akan menerima input berupa harga X Maximum dan Y Maximum, kemudian akan mem-plot grafik XY pada GUI. Tombol Save dan Load akan dibuat untuk menyimpan dan mengambil kembali data input GUI. Akan ditambahkan juga sebuah tombol Reset untuk mengembalikan GUI ke keadaan awal.

akhir

Bagi yang baru memulai membuat GUI di MATLAB, disarankan untuk mengikuti MATLAB GUI – Introduction for Beginners terlebih dahulu.

MATLAB GUI Initialization

1. Buka MATLAB dan di command window ketik: guide

command-window_guideatau klik pada icon guide di MATLAB toolbar guideicon

2. Tampilan berikut akan muncul pada layar:

guide-quick-start

Pilih Blank GUI (Default) lalu klik OK.

3. Tampilan sebuah GUI kosong akan muncul di layar.

untitled_fig2

4. Masukkan komponen Axes axes-icon1 , Edit Text edit-icon, Static Text static-icon dan Push Buttonpushbutton-icon ke dalam area desain GUI (area yang memiliki grid).

Susunlah komponen-komponen tersebut hingga menjadi seperti tampilan dasar berikut ini.

dasar

5. Klik dua kali pada komponen Axes untuk membuka Property Inspector. Rubahlah parameter Tag menjadi axes1 (nama ini biasanya sudah menjadi default).

6. Klik dua kali pada komponen Edit Text yang mewakili X Maximum, kemudian rubahlah parameter String menjadi 0 (nol) dan Tag menjadi input1_edit.

7. Klik dua kali pada komponen Edit Text yang mewakili Y Maximum, kemudian rubahlah parameter String menjadi 0 (nol) dan Tag menjadi input2_edit.

8. Klik dua kali pada komponen Push Button yang mewakili tombol Save, kemudian rubahlah parameter String menjadi Plot dan Tag menjadi save_push.

9. Klik dua kali pada komponen Push Button yang mewakili tombol Load, kemudian rubahlah parameter String menjadi Reset dan Tag menjadi load_push.

10.Klik dua kali pada komponen Push Button yang mewakili tombol Plot, kemudian rubahlah parameter String menjadi Reset dan Tag menjadi plot_push.

11.Klik dua kali pada komponen Push Button yang mewakili tombol Reset, kemudian rubahlah parameter String menjadi Reset dan Tag menjadi reset_push.

12. Inisialisasi GUI sudah selesai. Save file GUI ini dengan nama yang diinginkan, dalam tutorial ini nama file adalah GUIsaveload.

Creating Programming Code For Your GUI

1. Buka file “*.m” yang terkait dengan GUI (dalam tutorial ini: “GUIsaveload.m”). Klik icon function pada MATLAB Toolbar.function

2. Klik pada pilihan input1_edit_Callback dan masukkan barisan kode berikut untuk mendefinisikan input yang akan diambil.

ymin_fun2

3. Masukkan barisan kode yang sama pada input2_edit_Callback.

4. Klik kembali icon function pada MATLAB Toolbar.function

5. Klik pada pilihan plot_push_Callback dan masukkan barisan kode berikut ini.

plot_fun2

Variabel ystep dibuat untuk menentukan step pada vektor Y sehingga akan memiliki panjang vektor yang sama dengan vektor X. Apabila panjang kedua vektor tersebut tidak sama, akan muncul Error saat function Plot dijalankan.

Kemudian vektor Y akan didefinisikan dengan nilai awal 0 (nol) dan nilai akhir ymax, serta dengan step sebesar ystep.

Di akhir fungsi, masukkan baris kode berikut untuk meng-update handles.

copy-of-plot_fun6. Klik kembali icon function pada MATLAB Toolbar.function

7. Klik pada pilihan save_push_Callback dan masukkan barisan kode berikut di bawah ini.

save_fun

Kelompok data akan disimpan dalam bentuk matriks (variabel data), sehingga setiap data yang akan disimpan akan ditempatkan ke dalam kolom-kolom matriks. Matriks tersebut akan menjadi semakin besar apabila data input yang ingin disimpan semakin banyak.

Perlu diingat untuk teliti dalam memasukkan data input ke dalam kolom matriks, karena kolom matriks tersebutlah yang akan dipanggil pada saat fungsi Load dijalankan.

8. Klik kembali icon function pada MATLAB Toolbar.function

9. Klik pada pilihan load_push_Callback dan masukkan barisan kode berikut di bawah ini.

load_fun

Fungsi Load ini akan memanggil kembali file *.mat yang berisi matriks data dengan isi kolom-kolom input yang disimpan sebelumnya. Kemudian data-data tersebut akan ditampilkan ke dalam GUI melalui function set().

Berhati-hatilah dalam menggunakan function set() ini, karena apabila data yang diambil salah atau salah menuliskan handles tempat data akan ditampilkan, akan timbul Error atau data akan muncul di tempat yang tidak sesuai.

10. Klik kembali icon function pada MATLAB Toolbar.function

11. Klik pada pilihan reset_push_Callback dan masukkan barisan kode berikut di bawah ini.

reset_fun3

OK, sekarang kode programming kita telah selesai, save file *.m di atas dan cobalah jalankan GUI di atas.

Launch the GUI

1. Klik tombol guide_play dari file GUIDE Editor (*.fig) atau save-run-icon dari M-File editor (*.m). GUI kita akan tampil seperti ini.

awal

Cobalah untuk memasukkan harga X Maximum dan Y Maximum dan lihat hasil plot grafik XY di dalam GUI. Kemudian cobalah untuk menjalankan tombol save dan load untuk melihat keberhasilan GUI kita kali ini.

akhir1

Inilah akhir dari tutorial kali ini. Apabila ada pertanyaan dan diskusi seputar MATLAB GUI, silahkan menuliskannya pada kolom comment di bawah ini atau email kami di ganeshatech@gmail.com. Selamat mencoba dan ber-MATLAB!!

3 Responses to “MATLAB GUI – Creating Save and Load Button”

  1. arie Says:

    Buat saya, tutorialnya jelas sekali, terutama karena saya masih pemula dengan MATLAB. Terima kasih.

  2. Fajar Says:

    mas..,semisal mau membuat tombol copy saranya bagaimana ya..?
    terima kasih…

  3. nura Says:

    mas klo mau mendapatkan nilai X max dan Y max dari grafik yang udah ada cranya bagamana??
    terima kasih


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: