Anda di halaman 1dari 11

Nindya Pradita - 3 D4 IT A 2110121020 / Prak 4 DSP

Laporan Resmi DSP Praktikum 4


1. Membuat Program Kalkulator sederhana
Listing Program :

TextBox Bilangan 1
function edit1_Callback(hObject, eventdata, handles)
bil1 = str2num(get(handles.edit1,'String'));
handles.bil1=bil1;
guidata(hObject,handles)

TextBox Bilangan 2
function edit2_Callback(hObject, eventdata, handles)
bil2 = str2num(get(handles.edit2,'String'));
handles.bil2=bil2;
guidata(hObject,handles)

TextBox Hasil
function edit3_Callback(hObject, eventdata, handles)
TextBox radiobutton penjumlahan
function radiobutton1_Callback(hObject, eventdata, handles)
set(handles.radiobutton1,'Value',1);
set(handles.radiobutton2,'Value',0);
set(handles.radiobutton3,'Value',0);
set(handles.radiobutton4,'Value',0);
pilih =1;
handles.pilih=pilih;
guidata(hObject,handles)

TextBox radiobutton pengurangan


function radiobutton2_Callback(hObject, eventdata, handles)
set(handles.radiobutton2,'Value',1);
set(handles.radiobutton1,'Value',0);

Nindya Pradita - 3 D4 IT A 2110121020 / Prak 4 DSP

set(handles.radiobutton3,'Value',0);
set(handles.radiobutton4,'Value',0);
pilih =2;
handles.pilih=pilih;
guidata(hObject,handles)
TextBox radiobutton perkalian
function radiobutton3_Callback(hObject, eventdata, handles)
set(handles.radiobutton3,'Value',1);
set(handles.radiobutton2,'Value',0);
set(handles.radiobutton4,'Value',0);
set(handles.radiobutton1,'Value',0);
pilih =3;
handles.pilih=pilih;
guidata(hObject,handles)

TextBox radiobutton pembagian


function radiobutton4_Callback(hObject, eventdata, handles)
set(handles.radiobutton4,'Value',1);
set(handles.radiobutton3,'Value',0);
set(handles.radiobutton2,'Value',0);
set(handles.radiobutton1,'Value',0);
pilih =4;
handles.pilih=pilih;
guidata(hObject,handles)

TextBox tombol Hitung


function pushbutton1_Callback(hObject, eventdata, handles)
bil1=handles.bil1;
bil2=handles.bil2;
pilih=handles.pilih
switch handles.pilih
case 1
hasil = bil1+bil2;

Nindya Pradita - 3 D4 IT A 2110121020 / Prak 4 DSP

case 2
hasil = bil1-bil2;
case 3
hasil = bil1*bil2;
case 4
hasil = bil1/bil2;
end
set(handles.edit3,'String',hasil);

Output :

Untuk proses penjumlahan

Untuk proses Pengurangan

Nindya Pradita - 3 D4 IT A 2110121020 / Prak 4 DSP

Untuk proses Perkalian

Untuk proses Pembagian

Analisa :
Pada program gui membuat kalkulator seperti pada gambar di atas adalah memanfaatkan
fungsi penjumlahan , pengurangan, perkalian dan pembagian pada matlab. Fungsi tersebut
di simpan dalam push button hitung. Jadi untuk mengoperasikan perhitungan bilangan 1
dan bilangan 2 kita pilih pada radio button sesuai dengan pilihan , setelah hitung tekan
tombol hitung maka akan muncul hasil perhitungan nya.

Nindya Pradita - 3 D4 IT A 2110121020 / Prak 4 DSP

2. Menghitung Luas dan Keliling lingkaran


a. Mendesain Figure

Desain Figure

b. Mengatur Layout Komponen


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

Komponen

FontSize

Panel

13

Static text 1
Static text 2
Static text 3
Edit text 1
Edit text 2
Edit text 3
Pushbutton 1
Pushbutton 2

13
13
13
12
12
12
10
10

Property Inspector
FontWeight
String
Menghitung
Luas dan
`Bold
Keliling
Lingkaran
Normal
Jar-Jari
Normal
Luas
Normal
Keliling
Normal
Kosongkan
Normal
Kosongkan
Normal
Kosongkan
`Bold
Hitung
`Bold
Edit

Tag
uipanel1
text1
text2
text3
edit1
edit2
edit3
btn_hitung
btn_exit

c. Menyimpan Figure
Setelah selesai mendesain figure, langkah selanjutnya adalah menyimpan figure, beri nama
lingkaran.fig, secara otomatis kita akan dibuatkan kerangka m-file dengan nama yang sama,
yaitu lingkaran.m.

Nindya Pradita - 3 D4 IT A 2110121020 / Prak 4 DSP

Dari beberapa fungsi yang muncul di m-file. Kita cukup memperhatikan fungsi yang memiliki
callback, yaitu edit1_Callback, edit2_Callback, edit3_Callback, btn_hitung_Callback, dan
btn_edit_Callback.

edit1
Di bawah function edit1_callback, tambahkan program menjadi berikut:
jari=str2num(get(handles.edit1, 'String'));
handles.jari=jari;
guidata(hObject, handles)

edit2 dan edit3


untuk function edit1_callback dan function edit2_callback, kita tidak perlu menambahkan
kode apapun dibawahnya, karena hanya berfungsi untuk menampilkan hasil dari
perhitungan.
btn_hitung
Di bawah function btn_hitung_callback, tambahkan program menjadi berikut:
%kode ini diekskusi jika kita menekan tombol hitung
jari=handles.jari;
luas=pi*jari*jari;
kel=2*pi*jari;
%menampilkan hasil perhitungan
set(handles.edit2, 'string', luas);
set(handles.edit3, 'string', kel);

btn_exit
%untuk keluar dari apalikasi
delete(handles.figure1)

d. Running GUI
Setelah langkah-langkah diatas dijalankan, langkah terakhir adalah menjalankan aplikasi yang
telah dibuat dengan mengklik tombol Run dari jendela figure atau dari jendela debug m-file (tekan
F5), sehingga akan muncul tampilan berikut
Output :

Nindya Pradita - 3 D4 IT A 2110121020 / Prak 4 DSP

Analisa :
Pada program gui untuk mengitung luas dan keliling lingkaran adalah memanfaatkan rumus luas
lingkaran yaitu pi*r*r dan rumus keliling lingkaran yaitu 2 *pi*r . kita letakkan fungsi tersebut
pada button hitung. Maka jika kita klik button hitung kita akan bisa menentukan luas dan keliling
lingkaran dari jari jari lingkaran yang kita tentukan.

3. Membuat gui untuk menampilkan sinyal kontinu sinusoidal dengan memasukkan


amplitude, frekuensi dan phase
a. Mendesain Figure

Nindya Pradita - 3 D4 IT A 2110121020 / Prak 4 DSP

b. Mengatur Layout Komponen


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

Komponen

FontSize

Static text 1

13

Static text 2
Static text 3
Static text 4
Edit text 1
Edit text 2
Edit text 3
Pushbutton 1
Pushbutton 2
Radiobutton 1
Radiobutton 1

11
11
11
11
11
11
9
9
12
12

Panel 1

12

Panel 2
Axes

11
10

Property Inspector
FontWeight
String/Title
Gambar
Trigonometri
`Bold
y=Asin(Tx+r)
dan
y=Acos(Tx+r)
Normal
Amplitudo
Normal
Frekuensi
Normal
Fase
Normal
Kosongkan
Normal
Kosongkan
Normal
Kosongkan
`Bold
Run
`Bold
Edit
Normal
Sinus
Normal
Cosinus
Fungsi
italic
Trigonometri
italic
Parameter
Normal

Tag

text1

text2
text3
text4
edit1
edit2
edit3
pushbutton1
pushbutton2
radiobutton1
radiobutton2
uipanel1
uipanel2
axes1

c. Menyimpan Figure
Setelah selesai mendesain figure, langkah selanjutnya adalah menyimpan figure, beri nama
trigonometri.fig, secara otomatis kita akan dibuatkan kerangka m-file dengan nama yang
sama, yaitu trigonometri.m.
Dari beberapa fungsi yang muncul di m-file. Kita cukup memperhatikan fungsi yang memiliki
callback, yaitu edit1_Callback, edit2_Callback, edit3_Callback, btn_hitung_Callback, dan
btn_edit_Callback.

Radiobutton1
function radiobutton1_Callback(hObject, eventdata, handles)
set(handles.radiobutton2,'Value',0);
pilih = 1;
handles.pilih=pilih;
guidata(hObject,handles)

Radiobutton2
function radiobutton2_Callback(hObject, eventdata, handles)
set(handles.radiobutton1,'Value',0);
pilih = 2;

Nindya Pradita - 3 D4 IT A 2110121020 / Prak 4 DSP

handles.pilih=pilih;
guidata(hObject,handles)

Pushbutton1
function pushbutton1_Callback(hObject, eventdata, handles)

fs=1000;
A=str2num(get(handles.edit1, 'string')); %mengambil nilai pada edit1
f=str2num(get(handles.edit2, 'string')); %mengambil nilai pada edit2
fase=str2num(get(handles.edit3, 'string')); %mengambil nilai pada edit3
x=0:1/fs:1;

%membangkitkan sumbu x

pilih=handles.pilih

%berhubungan dg pilihan pada radiobutton

switch handles.pilih
case 1

%jika radiobutton1 yang ditekan

y=A*sin(2*pi*f*x + fase);
case 2

%maka menghitung nilai sinus

%jika radiobutton2 yang ditekan

y=A*cos(2*pi*f*x + fase); %maka menghitung nilai cosinus


end

axes(handles.axes1);
a=0;

%membuat garis, seperti sumbu x dan sumbu y

plot(x,y,'r', a, x, 'b', x, a, 'b');


grid on

Pushbutton2
function pushbutton2_Callback(hObject, eventdata, handles)
set(handles.edit1, 'string', ''); %mengosongkan string pada edit1
set(handles.edit2, 'string', ''); %mengosongkan string pada edit2
set(handles.edit3, 'string', ''); %mengosongkan string pada edit3
axes(handles.axes1);
plot(0);

d. Running GUI
Setelah langkah-langkah diatas dijalankan, langkah terakhir adalah menjalankan aplikasi yang
telah dibuat dengan mengklik tombol Run dari jendela figure atau dari jendela debug m-file
(tekan F5), sehingga akan muncul tampilan berikut.

Nindya Pradita - 3 D4 IT A 2110121020 / Prak 4 DSP

Tampilan gui fungsi trigonometri sinusoidal dengan amplitude=10, frekuensi=3, dan fase=pi

Tampilan gui fungsi trigonometri cosinus dengan amplitude=10, frekuensi=3, dan fase=pi

10

Nindya Pradita - 3 D4 IT A 2110121020 / Prak 4 DSP

Tampilan gui fungsi trigonometri sinusoidal dengan amplitude=15, frekuensi=2, dan fase=pi

Tampilan gui fungsi trigonometri cosinus dengan amplitude=15, frekuensi=2, dan fase=pi

11

Anda mungkin juga menyukai