Bismillah, Assalamualaikum . .
Berikut ini adalah akan saya bahas mengenai hasil praktikum pengolahan sinyal digital pada pukul 15.00 tanggal 13-November-2012. Pada praktikum kali ini adalah mencoba untuk membuat GUI di MATLAB menggunakan GUIDE (GUI Builder). Dengan harapan ketika sebuah program dibuat GUI (Graphical User Interface) lebih mudah dipelajari dan digunakan, karena user tidak tahu apa yang sebenarnya program ini lakukan ketika program ini deksekusi. Dengan GUI ini akan mempermudah orang lain dalam menggunakan aplikasi buatan kita, sedangkan pada tahap pembuatannya yang lumayan susah. GUIDE atau GUI builder merupakan sebuah graphical user interface (GUI) yang dibangun dengan
obyek grafik seperti tombol (button), kotak teks, slider, menu dan lain-lain.
obyek grafik seperti tombol (button), kotak teks, slider, menu dan lain-lain.
Pada kali ini kita akan membuat sebuah aplikasi dari matlab untuk penghitungan sinyal sinus dan cosinus. Dimana program ini akan menghitung dan menampilkan hasil representasi dari sinyal sinus dan cosinus yang dihasilkan dalam bentuk gelombang.
langkahnya adalah sebagai berikut ini :
1. Untuk memulainya ada 2 cara , yang pertama menggunakan command line dengan mengetikkan >> guide, yang kedua dengan mengklik tombol Start Matlab -> Matlab -> GUIDE (GUI Builder).
Gambar 1. GUIDE Quick Start
GUIDE Quick Start memiliki dua buah pilihan, yaitu Create New GUI dan Open Existing GUI. Create New GUI digunakan jika kita memang belum pernah membuat aplikasi GUI Matlab atau jika kita memang ingin membuat sebuah figure baru, sedangkan Open Existing GUI digunakan jika kita akan memodifikasi file figure yang telah kita simpan atau sudah kita buat sebelumnya.
Kemudian jika kita memilih Creat New GUI maka kita akan diberikan suatu halaman untuk membuat tampilan dari program yang akan kita buat. Yang nantinya akan tampil seperti berikut ini
Gambar 2. Tampilan Menu bar
Di atas merupakan menu-menu utama yang nantinya kita gunakan untuk membuat program berbasis GUI dari matlab. Alignment tool digunakan untuk mengatur posisi dari menu menu yang telah kita buat agar terlihat rapi dan sejajar. Component Pallete digunakan untuk membuat tampilan menu pada program yang kita akan buat. Layout Editor digunakan untuk lembar kerja kita membuat tampilan program kita. Menu Editor digunakan untuk mengedit menu program kita. M-file Editor digunakan untuk mengedit program melalui source code program yang sedang dibuat. Property Inspector menu yang digunakan untuk mengatur properti dari masing-masing kontrol. Run digunakan untuk mengeksekusi program atau menjalankan program yang sedang kita buat.
Gambar 3. Menu Pallete
Menu pallete diatas kegunannya untuk membuat menu-menu dalam program matlab yang kita buat. Yang pertama ada Push Button digunakan untuk membuat menu yang berfungsi sebaga tombol atau switch. Radio Buttondigunakan untuk membuat menu yang hanya dipilih salah satu menu saja. Edit Text digunakan untuk membuat menu yang digunakan untuk menerima inputan dari user dalam artian dapat diubah oleh user. Slider merupakan menu yang digunakan untuk membuat inputan bukan dari keyboard tapi dari pergeseran, menggesernya hanya dapat dua arah yaitu vertical dan horizontal. Group Menu / list Box adalah menu yang digunakan untuk mengelompokkan menu dalam satu frame pada keselurruhan menu. Axes digunakan untuk menampilkan sebuah grafik atau gambar (image). Axes sebenarnya tidak masuk dalam UIControl, tetapi axes dapat diprogram agar pemakai dapat
berinteraksi dengan axes dan obyek grafik yang ditampilkan melalui axes. Toggle Button hampir sama dengan push button yang membedakan adalah jika kita menggunakan push button maka ketika di klik tombol akan kembali kesemula pada Toggle Button ini dia tidak akan kebal kebentuk semula. Check Box digunakan untuk membuat menu pilihan yang dapat dipilih lebih dari satu. Static Text kegunaanya adalah untuk memberi label pada menu tertentu. Frame merupakan kotak yang digunakan untuk mengelompokkan kontrol-kontrol dari semua program kita. Popup Menu digunakan untuk Popop menu berguna menampilkan daftar pilihan yang didefinisikan pada String Propoerty ketika mengklik tanda panah pada aplikasi dan memiliki fungsi yang sama seperti radio button.
berinteraksi dengan axes dan obyek grafik yang ditampilkan melalui axes. Toggle Button hampir sama dengan push button yang membedakan adalah jika kita menggunakan push button maka ketika di klik tombol akan kembali kesemula pada Toggle Button ini dia tidak akan kebal kebentuk semula. Check Box digunakan untuk membuat menu pilihan yang dapat dipilih lebih dari satu. Static Text kegunaanya adalah untuk memberi label pada menu tertentu. Frame merupakan kotak yang digunakan untuk mengelompokkan kontrol-kontrol dari semua program kita. Popup Menu digunakan untuk Popop menu berguna menampilkan daftar pilihan yang didefinisikan pada String Propoerty ketika mengklik tanda panah pada aplikasi dan memiliki fungsi yang sama seperti radio button.
2. Setelah kita mengetahi dasarny kemudian kita mencoba untuk membuat program kita. Caranya adalah Seperti yang pertama ketikkan di command linde >> guide [enter]. Kemudian buat halaman kerja baru dan di save dengan nama Program GUI pertama.
a. Mendesain figure menuPada desain ini kita membuat sutu program kontrol-kontrol yang dibutuhkan itu apa saja. Pada program yang akan kita buat adalah kita membutuhkan input berupa pilihan sinus ataupun cosinus, inputan amplitudo, frekuensi, dan fasa. Serta 3 buath tombol untuk untuk kontrol program dan satu buah axes untuk menampilkan representasi berupa gambar grafik. Dari kontrol-kontrol yang dibutuhkan kita membutuhkan 2 buah radio button, 3 buahEdit text untuk menerima inputan Amplitudo, Frekuensi, dan fasa, 3 buah Push Button, 1 buah axes untuk tampilan, 1 buah Button Group. Untuk desain saya adalah seperti berikut
Gambar 4. Desain tampilan program
b. Mengatur property masing-masing kontrolSetelah kita mendesain tampilan menunya kita atur masing-masing kontrol dengan menggunakan property inspector.
Komponen
|
Property Inspector
| ||
Font Size
|
String
|
Tag
| |
Radio Button1 | 12 | Sinus | sinus |
Radio button 2 | 12 | Cosinus | cosinus |
Edit text 1 | 12 | null | edit1 |
Edit text 2 | 12 | null | edit2 |
Edit text 3 | 12 | null | edit3 |
push button1 | 12 | Execute | ExecuteProgram |
push button2 | 12 | Reset | reset |
push button3 | 12 | Quit | Exit |
axes | axes1 |
c. Mengatur syntaxs programAgar program kita berjalan seperti yang kita harapkan yang terpenting adalah mengedit source code dari program kita agar fungsi-fungsi seperti reset, execute, exit dll dapat bekerja sesuai harpankita. caranya adalah dengan mengatur pada call back masing-masing kontrol.
caranya adalah dengan mengklik kanan pada komponen yang ingin kita beri fungsi view callback -> callback
- Sinus
Di fungsi sinus kita tambahkan kode berikut
set(handles.cosinus,'Value',0);
pilih = 1;
handles.pilih=pilih;
guidata(hObject,handles) - cosinus
Pada Cosinus juga ditambahkan kode yang hampir sama dengan nomer 1,
set(handles.sinus,'Value',0);
pilih = 2;
handles.pilih=pilih;
guidata(hObject,handles) - ExecuteProgram
untuk menghitung nilai yang dihasilkan Pada fungsi ini ditambahkan kode berikut :
A=str2num(get(handles.edit1, 'string')); %mengambil nilai pada edit1
F=str2num(get(handles.edit2, 'string')); %mengambil nilai pada edit2
theta=str2num(get(handles.edit3, 'string')); %mengambil nilai pada edit3
t=-3/F:1/50/F:3/F; %membangkitkan sumbu t
pilih=handles.pilih %berhubungan dg pilihan pada radiobutton
switch handles.pilih
case 1 %jika radiobutton1 yang ditekan
y=A*sin(2.*pi.*F.*t+theta); %maka menghitung nilai sinus
case 2 %jika radiobutton2 yang ditekan
y=A*cos(2.*pi.*F.*t+theta); %maka menghitung nilai cosinus
end
axes(handles.axes1); %ditampilkan ddi axes1
a=0; %membuat garis, seperti sumbu x dan sumbu y
plot(t,y,'r'); %menampilkan hasil perhitungan
xlabel('detik');ylabel('Amplitudo');
xlim([min(t) max(t)]);
grid on - reset
untuk mereset seperti pada awal program dijalankan, caranya adalah mengosongkan masing-masing inputan. Yang string dibuat null dan yang berisi value di beri nilai 0
set(handles.edit1 , 'string', ''); %mengosongkan string pada edit1
set(handles.edit2, 'string', ''); %mengosongkan string pada edit2
set(handles.edit3, 'string', ''); %mengosongkan string pada edit2
set(handles.cosinus,'Value',0);
set(handles.sinus,'Value',0);
axes(handles.axes1);
plot(0); - exit
untuk keluar program kita tambahkan fungsi close();
d. Run Program
Setelah semuanya selesai kemudian kita Run program dengan cara mengklik tombol RUN, setelah itu kita coba isikan nilainya apakah program berjalan dengan baik. jika belum maka di perbaiki lagi sampai hasilnya seperti ini :
Setelah semuanya selesai kemudian kita Run program dengan cara mengklik tombol RUN, setelah itu kita coba isikan nilainya apakah program berjalan dengan baik. jika belum maka di perbaiki lagi sampai hasilnya seperti ini :
Gambar 5. Hasil akhir
gan kok ndak ada gambarnya ??
BalasHapusmana nih gambarnya
BalasHapus