Anda di halaman 1dari 9

Modul 6

STRUKTUR KENDALI (KONTROL PROGRAM)

KOMPETENSI DASAR
1. Mahasiswa mampu menggunakan perintah kendali iteratif for dalam program
2. Mahasiswa mampu menggunakan perintah kendali iteratif while dalam program
3. Mahasiswa mampu menggunakan perintah kendali percabangan if-else-end
dalam program
4. Mahasiswa mampu menggunakan perintah kendali percabangan switch-case
dalam program
5. Mahasiswa mampu menggunakan perintah kendali untuk menyelesaikan
persoalan fisis

MATLAB menyediakan fasilitas struktur kendali (kontrol program) yang


dikelompokkan menjadi 2 yaitu : struktur kendali iteratif dan struktur kendali percabangan.
Struktur kendali iteratif mengontrol program dalam proses pengulangan. Struktur kendali
iteratif meliputi perintah loop for dan loop while. Struktur kendali percabangan
mengontrol program terhadap suatu kondisi/ekspresi sehingga menghasilkan satu atau
beberapa pilihan. Ada 2 macam struktur kendali percabangan yang disediakan MATLAB,
yaitu : if-end dan switch-case.

1. STRUKTUR KENDALI ITERATIF


Struktur kendali iteratif digunakan untuk menyatakan proses atau perintah berulang.
Ada 2 bentuk yang disediakan oleh MATLAB yaitu pernyataan for dan while.

a. Struktur for
Struktur for menyatakan perintah pengulangan dengan jumlah yang telah
ditentukan oleh pemrogram. Struktur for dinyatakan dalam bentuk sebagai
berikut:

for variabel = nilai_awal : kenaikan : nilai_akhir


Pernyataan-Pernyataan;
end

Default kenaikan adalah 1, tetapi anda dapat mengaturnya sesuai dengan


keperluan. Jika kenaikan bernilai 1, maka kenaikan tidak perlu dicantumkan.

Contoh : Hitung nilai fungsi f(x) = x2 untuk nilai x dari 1 sampai dengan 5 dan
tampilkan nilai x beserta nilai fungsinya.

Penyelesaian :
 Algoritme program :
1). Definisikan fungsi f(x) = x2

Modul Pemrograman Komputer Oleh Warsono


29
Modul 6
2). Untuk x dari 1 sampai 5 lakukan :
 Hitung nilai fungsi fx=f(x);
 Tampilkan nilai x dan nilai fungsinya
3). Akhiri program
 Listing program

f=inline('x^2','x');
for x=1:5
fx=f(x);
fprintf('x =%2.0f\f fx =%2.0f\n',x,fx)
end

 Hasil :

x = 1 fx = 1
x = 2 fx = 4
x = 3 fx = 9
x = 4 fx =16
x = 5 fx =25

b. Struktur while
Struktur while menyatakan jumlah proses pengulangan berdasarkan kondisi
syarat yang ditentukan. Selama kondisi bernilai benar, pengulangan berlangsung
terus sampai kondisi berubah menjadi salah. Jika kondisi tidak pernah bernilai
salah, maka proses pengulangan akan berjalan terus tanpa henti. Struktur while
dinyatakan dalam bentuk : while
Salah
kondisi
while ekspresi operator_relasi ekspresi
Pernyataan-Pernyataan; Benar

end pernyataan

Contoh : Hitung nilai fungsi f(x) = exp(-x) untuk nilai x dari 1 sampai dengan 5
dan tampilkan nilai x beserta nilai fungsinya
Penyelesaian :
 Algoritme program:
1). Definisikan fungsi f(x) = exp(-x)
2). Beri nilai awal x =1;
3). Jika x kurang dari atau sama dengan 5 lakukan :
 Hitung nilai fungsi fx=f(x);
 Tampilkan nilai x dan nilai fungsinya
 Tambahkan nilai x dengan 1 : x = x+1;
4). Akhiri program

Modul Pemrograman Komputer Oleh Warsono


30
Modul 6
 Listing Program :

f=inline('exp(-x)','x');
x=1;
while x<=5
fx=f(x);
fprintf('x =%3.0f\f; fx =%6.4f\n',x,fx)
x=x+1;
end

 Hasil eksekusi program :

x = 1 ; fx =0.3679
x = 2 ; fx =0.1353
x = 3 ; fx =0.0498
x = 4 ; fx =0.0183
x = 5 ; fx =0.0067

2. STRUKTUR KENDALI PERCABANGAN


a. Struktur if,else dan elseif
Bentuk perintah struktur kendali if,else dan elseif adalah :

if ekspresi if ekspresi if ekspresi


Pernyataan Pernyataan_1; Pernyataan_1;
end else elseif
Pernyataan_2; Pernyataan_2;
end end

if if if
Salah Salah Salah
kondisi kondisi kondisi
elseif
Benar Benar else Benar kondisi Salah

Pernyataan Pernyataan_1 Pernyataan_2 Pernyataan_1 Benar

Pernyataan_2 Pernyataan_3

(a) (b) (c)


Gambar 9. Diagram alir struktur perintah : (a). if, (b). else dan (c). elseif

ekspresi adalah kondisi yang menentukan arah percabangan.


 if , jika kondisi ekspresi bernilai benar, maka Pernyataan akan dijalankan,
tetapi jika salah maka Pernyataan tidak dijalankan dan diteruskan pada
perintah berikutnya.
 else tidak mempunyai kondisi ekspresi sendiri. Pernyataan setelah else
dijalankan (Pernyataan_2) apabila kondisi pada if sebelumnya bernilai salah
 elseif mempunyai kondisi ekspresi yang akan dijalankan apabila kondisi pada
if sebelumnya bernilai salah(0). anda dapat menggunakan beberapa elseif
dalam satu blok if
Modul Pemrograman Komputer Oleh Warsono
31
Modul 6
Contoh : Buatlah program untuk mengevaluasi nilai angka (na) yang anda
masukkan dari keyboard apakah bernilai A,B,C atau D dengan
ketentuan :
 Nilai A jika : na  8
 Nilai B jika : 7,9  na  6,5
 Nilai C jika : 6,4  na  5,0
 Nilai B jika : na  4,9
Penyelesaian :
 Algoritme program
 Masukan nilai angka dari keyboard dan berikan pada variabel na
 evaluasi dengan if : apakah na  8 ?

 ya (benar) : Tampilkan di layar “ Nilai Anda A”

 tidak : evaluasi dengan elseif : apakah 7,9  na  6,5 ?


► ya (benar) : Tampilkan di layar “ Nilai Anda B”
► tidak : evaluasi dengan elseif : apakah 6,4  na  5,0?
 ya : Tampilkan di layar “ Nilai Anda C”
 tidak : gunakan else untuk menampilkan di layar “ Nilai Anda D”
 Akhiri program
 Listing program

clear
clc
na=input('Masukkan nilai angka anda = ');
if na >=8
disp(' Nilai Anda A')
elseif na>=6.5 & na<=7.9
disp(' Nilai Anda B')
elseif na>=5 & na<=6.4
disp(' Nilai Anda C')
else
disp(' Nilai Anda D')
end

 Keluaran program

Masukkan nilai angka anda = 4.5


Nilai Anda D

Masukkan nilai angka anda = 5.55


Nilai Anda C

Masukkan nilai angka anda = 7


Nilai Anda B

Masukkan nilai angka anda = 8.01


Nilai Anda A

Modul Pemrograman Komputer Oleh Warsono


32
Modul 6
b. Struktur switch-case
Kegunaan switch-case pada dasarnya mirip dengan if,else dan elseif
yaitu untuk menyatakan satu atau beberapa pilihan. Perintah switch
mengeksekusi (menjalankan) pernyataan tertentu berdasarkan pada nilai variabel
atau ekspresi. Input nilai variabel atau ekspresi dibandingkan dengan nilai pada
setiap case. Jika nilai variabel sama dengan nilai pada suatu case maka
pernyataan pada case tersebut akan dijalankan, jika tidak maka nilai variabel
akan dibandingkan dengan nilai pada case yang lain. Struktur switch-case
dinyatakan dalam bentuk :

switch variabel(skalar atau string)


case nilai_1
pernyataan_1  dijalankan jika nilai variabel = nilai_1
case nilai_2
pernyataan_2  dijalankan jika nilai variabel = nilai_2
………
………
otherwise
pernyataan_lain  dijalankan jika nilai variabel  nilai pada setiap case
end
switch

variabel

Ya
variabel = nilai_1
pernyataan_1

Tidak
Ya
variabel = nilai_2
pernyataan_2

Tidak

pernyataan_lain

Gambar 10. Diagram Alir Struktur switch-case

Nilai variabel atau ekspresi dapat berupa skalar (numerik) atau string. Untuk skalar,
pernyataan case benar jika (nilai == variabel) dan untuk string, pernyataan case
benar jika strcmp(nilai,variabel).
Modul Pemrograman Komputer Oleh Warsono
33
Modul 6
Contoh : Buatlah program dengan menggunakan switch-case untuk menjawab
pertanyaan dengan memilih salah satu pilihan dari empat pilihan yang
ada. Format pertanyaan dan alternatif pilihan adalah sebagai berikut:

Pilihlah tampilan grafik trigonometri berikut ini :


1. Grafik Sinus
2. Grafik Cosinus
3. Grafik Tangen
4. Grafik Cotangen
Pilih (1/2/3/4) ?

Penyelesaian :
 Algoritme program
1). Tampilkan tulisan dari pertanyaan dan alternatif jawaban seperti di atas
2). Masukkan variabel pilih : pilih=input(‘Pilihan Anda (1/2/3/4 = ‘);
3). Evaluasi nilai variabel pilih
a).
untuk : pilih = 1 gambar grafik sinus
b).
untuk : pilih = 2 gambar grafik cosinus
c).
untuk : pilih = 3 gambar grafik sinus hiperbolikus
d).
untuk : pilih = 4 gambar grafik cosinus hiperbolikus
e).
selain itu (otherwise), tuliskan pada layar :
“ Pilihan anda tidak tepat”
4). Akhiri program
 Listing program

disp('Pilihlah tampilan grafik trigonometri berikut ini :')


disp(' 1.Grafik Sinus')
disp(' 2.Grafik Cosinus')
disp(' 3.Grafik Sinh')
disp(' 4.Grafik Cosh')
pilih =input('Pilihan Anda (1/2/3/4) = ');
switch pilih
case 1
sudut=-2*pi:pi/100:2*pi;
y=sin(sudut);
plot(sudut,y,'b')
grid on
case 2
sudut=-2*pi:pi/100:2*pi;
y=cos(sudut);
plot(sudut,y,'b')
grid on
case 3
sudut=-2*pi:pi/100:2*pi;
y=sinh(sudut);
plot(sudut,y,'b')
grid on
case 4
sudut=-2*pi:pi/100:2*pi;
y=cosh(sudut);
plot(sudut,y,'b')
grid on
otherwise
disp('Pilihan anda tidak tepat')
end

Modul Pemrograman Komputer Oleh Warsono


34
Modul 6
 Keluaran Program

Pilihlah tampilan grafik trigonometri berikut ini :


1

1.Grafik Sinus 0.8

0.6

2.Grafik Cosinus 0.4

0.2

3.Grafik Sinh 0

-0.2

4.Grafik Cosh -0.4

-0.6

Pilihan Anda (1/2/3/4) = 1 -0.8

-1
0 2 4 6 8 10 12 14

Pilihlah tampilan grafik trigonometri berikut ini :


300

1.Grafik Sinus
200

2.Grafik Cosinus 100

3.Grafik Sinh 0

4.Grafik Cosh
-100

-200

Pilihan Anda (1/2/3/4) = 3 -300


-8 -6 -4 -2 0 2 4 6 8

Soal Latihan
1. Jelaskan kegunaan dari perintah for !
2. Tuliskan deklarasi struktur for dan jelaskan bagian-bagiannya !

3. Gerak jatuh bebas dinyatakan dengan fungsi S  1


2
gt 2 , dengan S adalah

jarak, t adalah waktu dan g = 9.8 m/det2 adalah percepatan gravitasi bumi.
Buatlah Algoritme program dan program dengan perintah for untuk :
a. Menghitung nilai S dari t = 0 sampai t =10 dengan kenaikan 0.1 ( t = 0 : 0.1 : 10)
b. Menampilkan nilai t dan S pada layar
c. Menampilkan grafik hubungan antara S versus t
4. Jelaskan kegunaan perintah while dalam program !
5. Tuliskan deklarasi struktur while dan jelaskan bagian-bagiannya !
6. Buatlah Algoritme program dan program dengan perintah while untuk soal
pada nomor 3.
7. Jelaskan kegunaan perintah if, else dan elseif dalam program!
MB
8. Indeks Massa Badan (IMB) dinyatakan dengan rumus IMB  , dengan MB
TB 2

massa badan dalam kg dan TB tinggi badan dalam meter. Nilai (IMB)
menyatakan apakah seseorang mempunyai berat badan lebih (over-weight),
normal atau kurang (under-weight). Nilai IMB dan kriteria berat badan
ditabelkan sebagai berikut :

Modul Pemrograman Komputer Oleh Warsono


35
Modul 6
IMB (kg/m2) Kriteria
 18,4 Berat badan kurang
18,5-22,9 Berat badan normal
 23 Berat badan lebih

Buatlah program dengan perintah if-else-elseif untuk menentukan


kriteria IMB anda dengan dua masukan (input) dari keyboard yaitu MB dan TB.
9. Jelaskan kegunaan perintah switch-case dalam program !
10. Buatlah program dengan menggunakan perintah switch-case untuk
menentukan apakah bilangan yang anda masukkan dari keyboard termasuk
bilangan genap atau ganjil. Ketentuan pembuatan program :
1. variabel input : bil
2. variabel kendali : ken = mod(bil,2)
3. variabel yang di-switch adalah ken
4. case 0 : beri komentar bilangan yang anda masukkan bilangan genap
case 1 : beri komentar bilangan yang anda masukkan bilangan ganjil
11. Fungsi eigen suatu osilator harmonis pada keadaan tereksitasi pertama
dinyatakan dengan fungsi sebagai berikut :
1
1
 ( x )    xe  x
4 2
1
2

 
Buatlah algoritme program dan program dengan perintah kendali for atau
while untuk :
a. Menghitung nilai fungsi  di x = -10 : 0.01 : 10
b. Menampilkan nilai x dan  pada layar
c. Membuat grafik hubungan antara  dengan x ( vs x)
12. Fungsi gelombang dari sebuah partikel mempunyai persamaan berbentuk :

 ( x )  Ao e  x2
cos( 4x )
1
2

Jika Ao = 10, maka buatlah Algoritme dan Program untuk :


a. Menghitung dan menampilkan nilai fungsi  di x = - 5 : 0.01 : 0 dengan
perintah while
b. Menghitung dan menampilkan nilai fungsi  di x = 0 : 0.01 : 5 dengan
perintah for
c. Membuat grafik hubungan antara  dengan x ( vs x)

Modul Pemrograman Komputer Oleh Warsono


36
Modul 6

Tugas
1. Ekspansi suatu fungsi periodik kedalam deret Fourier dinyatakan sebagai
berikut :
 
1 1  n 20 1 n 20 
f ( x )      n sin( nx )   n cos( nx ) 
1
2  n 1 n 2 
 ganjil 
 genap 
Buatlah Program dengan perintah for untuk :
a. Menghitung nilai fungsi f (x) di x = -4 : 0.01 : 4
b. Menampilkan nilai x dan f (x) pada layar
c. Membuat grafik hubungan antara f (x) dengan x ( f (x) vs x )
2. Kerjakan soal nomor 1 dengan perintah while, if-else, dan switch-case

Kepustakaan
A. Hanselman,D. dan Littlefield,B. 2000. MATLAB Bahasa Komputasi Teknis
(Terjemahan Jozep Edyanto). Yogyakarta : Penerbit ANDI Yogyakarta.
B. http://www.mathworks.com . MATLAB The Language Of Technical Computing,
Using MATLAB Version 5.
C. Thomas Wahyu Dwi Hartanto dan Y. Wahyu Agung Prasetyo. 2004. Analisis Dan
Disain Sistem Kontrol dengan MATLAB. Yogyakarta : Penerbit ANDI Yogyakarta.
D. Palm III, W.J. 2001. Introduction To MATLAB 6 For Engineers. Singapore :
McGraw-Hill International Edition.
E. Jong Jek Siang. 2005. Jaringan Syaraf Tiruan dan Pemrogramannya
Menggunakan MATLAB. Yogyakarta : Penerbit ANDI Yogyakarta

Modul Pemrograman Komputer Oleh Warsono


37

Anda mungkin juga menyukai