[pick the date] - unja

14
Riki Chandra Wijay TEKNIK SIPIL MODU [Pick the date] ya,S.Pd.,M.Pd.,M.T. | Fakultas Tek UL GUI MATLAB knik/UNJA

Upload: others

Post on 16-Oct-2021

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: [Pick the date] - UNJA

[Pick the date]

Riki Chandra Wijaya,S.Pd.,M.Pd.,M.T. | Fakultas Teknik/UNJA

TEKNIKSIPIL MODUL GUI MATLAB

[Pick the date]

Riki Chandra Wijaya,S.Pd.,M.Pd.,M.T. | Fakultas Teknik/UNJA

TEKNIKSIPIL MODUL GUI MATLAB

[Pick the date]

Riki Chandra Wijaya,S.Pd.,M.Pd.,M.T. | Fakultas Teknik/UNJA

TEKNIKSIPIL MODUL GUI MATLAB

Page 2: [Pick the date] - UNJA

Modul GUI MATLAB

Riki Chandra Wijaya,S.Pd.,M.Pd.,M.T.

MODUL GUIDE MATLAB

1. PENDAHULUANGUIDE atau GUI builder merupakan sebuah graphical user interface (GUI)yang dibangun dengan obyek grafik seperti tombol (button), kotak teks, slider,menu dan lain-lain. Aplikasi yang menggunakan GUI umumnya lebih mudahdipelajari dan digunakan karena orang yang menjalankannya tidak perlumengetahui perintah yang ada dan bagaimana kerjanya.

Sampai saat ini, jika kita membicarakan pemrograman berorientasi visual, yangada di benak kita adalah sederetan bahasa pemrograman, seperti visualbasic, Delphi, visual C++, visual Fox Pro, dan lainnya yang memangdidesain secara khusus untuk itu. Matlab merintis ke arahpemrograman yang menggunakan GUI dimulai dari versi 5, yang terusdisempurnakan sampai sekarang (Matlab 7).

GUIDE Matlab mempunyai kelebihan tersendiri dibandingkan dengan bahasapemrogram lainnya, diantaranya:a) GUIDE Matlab banyak digunakan dan cocok untuk aplikasi-aplikasi

berorientasi sains, sehingga banyak peneliti dan mahasiswa menggunakanGUIDE Matlab untuk menyelesaikan riset atau tugas akhirnya.

b) GUIDE Matlab mempunyai fungsi built-in yang siap digunakan dan pemakaitidak perlu repot membuatnya sendiri.

c) Ukuran file, baik FIG-file maupun M-file, yang dihasilkan relatif kecil.d) Kemampuan grafisnya cukup andal dan tidak kalah dibandingkan dengan

bahasa pemrograman lainnya.2. Memulai GUIDE MATLAB

Memulai GUIDE Matlab dapat dilakukan dengan dua cara, yaitu:a. Melalui command matlab dengan mengetikkan: >> guideb. Klik tombol Start Matlab dan pilihlah MATLAB, lalu pilih GUIDE (GUI

Builder)

Page 3: [Pick the date] - UNJA

Modul GUI MATLAB

Riki Chandra Wijaya,S.Pd.,M.Pd.,M.T.

Gambar 1 Memulai GUIDE

Selanjutnya akan muncul tampilan kotak dialog pilihan GUIDE Quick Start.

Gambar 2 Tampilan GUIDE quick start

GUIDE Quick Start memiliki dua buah pilihan, yaitu Create New GUI dan OpenExisting GUI. Create New GUI digunakan jika kita memang belum pernahmembuat aplikasi GUI Matlab atau jika kita memang ingin membuat sebuahfigure baru, sedangkan Open Existing GUI digunakan jika kita sudah memilikifile figure matlab atau akan memodifikasi file figure yang telah kita simpan.

Page 4: [Pick the date] - UNJA

Modul GUI MATLAB

Riki Chandra Wijaya,S.Pd.,M.Pd.,M.T.

Pada pilihan Create New GUI terdapat menu GUIDE templates yang memilikibeberapa tipe dasar dari GUI, sehingga kita dapat melakukan modifikasi padatemplate agar menjadi GUI seperti yang kita harapkan. Sebagai pemula, kitagunakan Blank GUI (Default) yang merupakan sebuah GUI dengan figurekosong dan merupakan kondisi default dari GUIDE dan dipilih jika kita memangakan membuat sebuah aplikasi dengan komponen yang layout-nya tidakterdapat pada GUI template yang lain. Setelah kita memilih Blank GUItemplates, maka akan muncul tampilan Menu Utama GUIDE.

Gambar 3 Tampilan GUIDE

Komponen palet pada GUIDE Matlab terdiri dari beberapa uicontrol (kontroluser interface), seperti pada bahasa pemrograman visual lainnya, yaitu: select,push button, toggle button, radio button, check boxes, edit text, static text, slider,frames, list boxes, popup menu, active control, button group, panel, dan axes.Kita dapat meletakkan semua kontrol pada layout editor dan selanjutnya hanyatinggal mengaturnya melalui property inspector.

Page 5: [Pick the date] - UNJA

Modul GUI MATLAB

Riki Chandra Wijaya,S.Pd.,M.Pd.,M.T.

Gambar 4 Komponen GUIDE

Semua kontrol pada GUIDE dapat dimunculkan pada layout/figuredengan cara mendrag kiri kontrol yang diinginkan ke figure. Adapun penjelasanfungsi masing-masing kontrol adalah sebagai berikut:1) Push Button

Pushbutton merupakan jenis kontrol berupa tombol tekan yang akanmenghasilkan tindakan jika diklik, misanya tombol OK, Cancel, Hitung,Hapus, dan sebagainya. Untuk menampilkan tulisan pada pushbutton kitadapat mengaturnya melalui property inspector dengan mengklik obeyekpushbutton pada figure, lalu mengklik toolbar property inspector ataumenggunakan klik kanan lalu pilih property inspector. Selanjutnya isilahatab string dengan label yang diinginkan, misalnya Hitung.

Gambar 5 Push Button2) Toggle Button

Toggle button memiliki fungsi yang sama dengan pushbutton. Perbedaannya

Page 6: [Pick the date] - UNJA

Modul GUI MATLAB

Riki Chandra Wijaya,S.Pd.,M.Pd.,M.T.

adalah saat pushbutton ditekan, maka tombol akan kembali pada posisisemula jika tombol mouse dilepas, sedangkan pada toggle button, tomboltidak akan kembali ke posisi semula, kecuali kita menekannya kembali.Contoh aplikasi Toggle button dapat dilihat pada Gambar 6.

Gambar 6 Toggle Button

3) Radio ButtonRadio button digunakan untuk memilih atau menandai satu pilihan daribeberapa pilihan yang ada. Misalnya, sewaktu kita membuat aplikasioperasi Matematika (penjumlahan, pengurangan, perkalian, danpembagian). Contoh aplikasi Radio button dapat dilihat pada Gambar 7.

Gambar 7 Radio Button

Page 7: [Pick the date] - UNJA

Modul GUI MATLAB

Riki Chandra Wijaya,S.Pd.,M.Pd.,M.T.

4) Edit Text dan Static TextEdit text digunakan untuk memasukkan atau memodifikasi suatu textyang diinputkan dari keyboard, sedangkan static text hanya bergunauntuk menampilkan text/tulisan, sehingga kita tidak bisamemodifikasi/mengedit text tersebut kecuali memalui property inspector.Contoh edit dan static text dapat dilihat pada Gambar 8.

Gambar 8 Edit Text dan Static Text5) Frames

Frames merupakan kotak tertutup yang dapat digunakan untukmengelompokkan kontrol-kontrol yang berhubungan. Tidak sepertikontrol lainnya, frames tidak memiliki rutin callback.

Gambar 9 Aplikasi Beberapa UIControl

6) Check BoxesKontrol checkboxes berguna jika kita menyediakan beberapa pilihanmandiri atau tidak bergantung dengan pilihan-pilihan lainnya. Contoh

Page 8: [Pick the date] - UNJA

Modul GUI MATLAB

Riki Chandra Wijaya,S.Pd.,M.Pd.,M.T.

aplikasi penggunaan checkboxes adalah ketika kita diminta untukmemilih hobi. Karena hobi bisa lebih dari satu, maka kita dapat mengklikcheckboxes lebih dari satu kali.

7) SliderSlider berguna jika kita menginginkan inputan nilai tidak menggunakankeyboarad, tatapi hanya dengan cara menggeser slider secara verticalmaupun horizontal ke nilai yang kita inginkan. Dengan menggunakanslider, kita lebih fleksibel dalam melakukan pemasukan nilai data karenakita dapat mengatur sendiri nilai max, nilai min, serta sliderstep.

Gambar 10 Aplikasi Slider Control

8) Popup MenuPopop menu berguna menampilkan daftar pilihan yangdidefinisikan pada String Propoerty ketika mengklik tanda panahpada aplikasi dan memiliki fungsi yang sama seperti radio button.Ketika tida dibukak, popup menu hanya menampilkan satu item yangmenjadi pilihan pertama pada String Property. Popupmenu sangatbermanfaat ketika kita ingin memberi sebuah pilihan tanpa jarak, tidakseperti radiobutton.

9) AxesAxes berguna untuk menampilkan sebuah grafik atau gambar (image).Axes sebenarnya tidak masuk dalam UIControl, tetapi axes dapatdeprogram agar pemakai dapat berinteraksi dengan axes dan obyekgrafik yang ditampilkan melalui axes.

3. Membuat GUI dengan MATLABMATLAB mengimplementasikan GUI sebagai sebuah figure yang berisibarbagai style obyek UIControl. Selanjutnya kita harus memprogrammasing-masing obyek agar dapat bekerja ketika diaktifkan oleh pemakai GUI.Langkah dasar yang harus dikerjakan dalam membuat GUI adalah :

1) Mengatur layout komponen GUISetelah kita membuka GUIDE Matlab dan telah menentukantemplate GUI, langkah selanjutnya adalah mendesain figure denganmenggunakan komponen palet sesuai dengan kebutuhan, seperti push

Page 9: [Pick the date] - UNJA

Modul GUI MATLAB

Riki Chandra Wijaya,S.Pd.,M.Pd.,M.T.

button, radio button, chexk boxes, edit text, static text, slider, frames, popupmenu, axes, dan sebagainya. Selanjutnya kita dapat mengatur layoutmasing-masing komponen, baik string(caption), font, color, size, dansebagainya menggunakan property inspector. Jika kita telah selesaimendesain, jangan lupa untuk menyimpan file figure yang secara defaultakan memiliki ekstensi *.fig. Dari sini, matlab secara otomatis akanmembuatkan sebuah m-file dengan nama yang sama, yaitu file berekstensi*.m.

2) Memprogram Komponen GUIM-file yang telah dibuat pada langkah sebelumnya, akan otomatis terbukadan kita harus menulis programnya agar komponen kontrol dapat bekerjasecara simultan. Untuk membuat program dalam m-file kita cukupmemperhatikan fungsi-fungsi matlab bertanda callback dimana perintahdisisipkan.

Dari langah-langkah dasar diatas, secara sederhana sebenarnya GUIMatlab dibentuk oleh dua buah file, yaitu fig-file dan m-file.

4. Membuat Contoh Aplikasi GUIDE MATLABPada modul ini akan diberikan cara membuat aplikasi GUIDE Matlab untukkasus-kasus yang sederhana. Diharapkan dengan beberapa contoh inimahasiswa dapat mengembangkan sendiri dalam menggunakan GUIDEMatlab.

4.1 Menghitung luas dan keliling lingkaranContoh aplikasi yang dibuat adalah menghitung luas dan keliling lingkaran.Langkah-langkah yang harus kita kerjakan adalah:a. Mendesain figure

Dalam mendesain figure, kita harus dapat membayangkan komponenapa saja yang perlu kita tampilkan. Seperti dalam membuat aplikasimenghitung luas dan keliling lingkaran, variabel input yang dibutuhkanadalah jari-jari, kemudian variabel outputnya adalah luas dan kelilinglingkaran, maka kita memerlukan 3 edit text yang digunakanmenampilkan variabel-variabel tersebut. Kemudian kita jugamemerlukan 1 tombol pushbutton/togglebutton untuk mulaimelakukan proses perhitungan. Kita juga bisa menambahkankomponen lain untuk memperjelas dan mempercantik desian figure yangakan kita buat.Desainlah figure seperti pada Gambar 11. Gunakan 4 buah static text, 3buah edit text, dan 2 buah pushbutton. Dalam meletakkan komponenpallete boleh tidak sesuai dengan gambar.

Page 10: [Pick the date] - UNJA

Modul GUI MATLAB

Riki Chandra Wijaya,S.Pd.,M.Pd.,M.T.

Gambar 11 Contoh Membuat Fig.Fileb. Mengatur layout komponen

Setelah kita selesai mendesain figure, aturlah masing-masing komponenmenggunakan property inspector.

c. Menyimpan figureSetelah selesai mendesain figure, langkah selanjutnya adalahmenyimpan figure, beri nama lingkaran.fig, secara otomatis kita akandibuatkan kerangka m-file dengan nama yang sama, yaitu lingkaran.m.Dari beberapa fungsi yang muncul di m-file. Kita cukup memperhatikanfungsi yang memiliki callback, yaitu edit1_Callback, edit2_Callback,edit3_Callback, btn_hitung_Callback, dan btn_edit_Callback.

edit1dibawah function edit1_callback, tambahkan program menjadiberikut:jari=str2num(get(handles.edit1,’string’));

Page 11: [Pick the date] - UNJA

Modul GUI MATLAB

Riki Chandra Wijaya,S.Pd.,M.Pd.,M.T.

handles.jari=jari;guidata(hobject, handles)

edit2 dan edit3untuk function edit1_callback dan function edit2)callback, kitatidak perlu menambahkan kode apapun dibawahnya, karenahanya berfungsi untuk menampilkan hasil dari perhitungan.

btn_hitungdibawah function btn_hitung_callback, tambahkan programmenjadi berikut:% kode ini diekskusi jika kita menekan tombol hitungJari=handles.jari;Luas=pi*jari*jari;Kel=2*pi*jari;%menampilkan hasil perhitunganSet(handles.edit2,’string’,luas);Set(handles.edit3,’string’,kel);

btn_exit%untuk keluar dari aplikasiDelete(handles.figure1)

d. Running GUISetelah langkah-langkah diatas dijalankan, langkah terakhir adalahmenjalankan aplikasi yang telah dibuat dengan mengklik tombol Rundari jendela figure atau dari jendela debug m-file (tekan F5), sehinggaakan muncul tampilan berikut.

Gambar 12 Tampilan Aplikasi Lingkaran4.2 Menggambar fungsi trigonometri dengan beberapa pilihan sudut,amplitude, dan phase.Langkah-langkah yang harus kita kerjakan adalah:

Page 12: [Pick the date] - UNJA

Modul GUI MATLAB

Riki Chandra Wijaya,S.Pd.,M.Pd.,M.T.

a. Mendesain figureDesain figure seperti dalam gambar 13. Dalam meletakkankomponen pallete boleh tidak sesuai dengan gambar (sesuai selera).

Gambar 13 Desain Figureb. Mengatur layout komponen

Setelah kita selesai mendesain figure, aturlah masing-masingkomponen menggunakan property inspector.

c. Menyimpan figureSetelah selesai mendesain figure, langkah selanjutnya adalahmenyimpan figure, beri nama trigonometri.fig, secara otomatis kitaakan dibuatkan kerangka m-file dengan nama yang sama, yaitutrigonometri.m. Dari beberapa fungsi yang muncul di m-file. Kitacukup memperhatikan fungsi yang memiliki callback, yaituedit1_Callback, edit2_Callback, edit3_Callback, btn_hitung_Callback,dan btn_edit_Callback. Popup menu1

Page 13: [Pick the date] - UNJA

Modul GUI MATLAB

Riki Chandra Wijaya,S.Pd.,M.Pd.,M.T.

Dibawah function popupmenu1_callback, tambahkan programmenjadi berikut:Indeks=get(handles.popupmenu1,’value’);Handles.indeks=indeks;Guidata(hObject, handles)

Radiobutton1Set(handles.radiobutton2,’value’,0);Pilih = 1;Handles.pilih=pilih;Guidata(hObject, handles)

Radiobutton2Set(handles.radiobutton1,’value’,0);Pilih = 1;Handles.pilih=pilih;Guidata(hObject, handles)

Pushbutton2Set(handles.edit1,’string’, “); %mengosongkan string pada edit1Set(handles.edit2,’string’, “); %mengosongkan string pada edit2Axes(handles.axes1);Plot(0); %membersihkan gambar pada axes

Pushbutton1Indeks=get(handles.popupmenu2,’Value’); %mengambil nilaiIf indeks == 1 %jika menekan pilihan 1

T=1; %maka T=1;Else if indeks==2 %jika menekan pilihan 2

T=2; %maka T=2,dstElse if indeks==4

T=4;End

EndEnd

End

A=str2num(get(handles.edit1,’string’)); %mengambil nilai pada edit1R=str2num(get(handles.edit2,’string’)); %mengambil nilai pada edit2X=-10:0.1:10; %membangkitkan sumbu x

Pilih=handles.pilih %berhubungan dg pilihan pada radiobuttonSwitch handles.pilih

Case 1 %jika radiobutton1 yang ditekan

Page 14: [Pick the date] - UNJA

Modul GUI MATLAB

Riki Chandra Wijaya,S.Pd.,M.Pd.,M.T.

Y=A*sin(T*x+r); %maka menghitung nilai sinusCase 2 % jika radiobutton2 yang ditekanY=A*cos(T*x+r); %maka menghitung nilai cosines

End

Axes(handles.axes1);A=0; %membuat garis, seperti sumbu x dan sumbu yPlot(x,y,’r’,a,x,’b’,x,a,’b’);Grid on

d. Running GUISetelah langkah-langkah diatas dijalankan, langkah terakhir adalahmenjalankan aplikasi yang telah dibuat dengan mengklik tombol Rundari jendela figure atau dari jendela debug m-file (tekan F5), sehinggaakan muncul tampilan berikut.

Gambar 14 Tampilan GUI Trigonometri