Anda di halaman 1dari 2

Program Control

Pengendalian program bisa dilakukan dengan fungsifungsi sbb:


1. Conditional Control -- if, switch
2. Loop Control -- for, while, continue, break
1. Conditional Control -- if, switch
1.1. IF
Perintah yang dijalankan jika persyaratannya terpenuhi.
Syntax :
if expression
statements
end
Jika memakai pernyataan else dan elseif :
if expression1
statements1
elseif expression2
statements2
else
statements3
end
Keterangan:
a. expression : pernyataan dalam MATLAB, bisa
berupa relational operators ( ==, >, <, >=, <=) atau
logical functions (misal: isreal(A))
Dua buah expresion bisa digabungkan dengan
memakai logical operators (&,|,~)
b. statements: perintah MATLAB yang akan
dijalankan jika persyaratannya terpenuhi.
Contoh 1. Program penilaian hasil ujian:
% Meminta input nilai dari keyboard:
nilai_ujian = input('Nilai ujian akhir = ')
if nilai_ujian >= 80
nilai = 'A'
elseif nilai_ujian > 70
nilai = 'B'
elseif nilai_ujian >55
nilai = 'C'
else
nilai = 'Tidak Lulus'
end
Contoh 2. Program penilaian hasil ujian dengan
mempertimbangkan persentase kehadiran,
% Meminta input dari keyboard:
nilai_ujian = input('Nilai ujian akhir = ') ;
kehadiran = input('Jumlah kehadiran kuliah = ');
persentase_hadir = kehadiran/14*100;
if ((nilai_ujian >= 80) & (persentase_hadir >= 75))
nilai = 'A'

elseif ((nilai_ujian >= 70) & (persentase_hadir >= 75))


nilai = 'B'
elseif ((nilai_ujian >= 60) & (persentase_hadir >= 75))
nilai = 'C'
else
nilai = 'Tidak Lulus'
end
1.2. SWITCH
Pemilihan beberapa kasus berdasarkan persyaratan yang
diajukan.
Syntax :
switch switch_expr
case case_expr
statement,...,statement
case {case_expr1,case_expr2,case_expr3,...}
statement,...,statement
...
otherwise
statement,...,statement
end
Contoh 3. Program untuk menghitung luas lingkaran atau
segitiga.
kasus = input('Enter 1 for area of circle and 2. for
triangle:');
switch(kasus)
case 1
r=input('Enter the radius: ');
cirarea=pi*b*b;
disp(['Luas lingkaran = ' num2str(cirarea)]);
case 2
h=input('enter the height: ');
b=input('enter the breadth: ');
tarea=h*b/2;
disp(['Luas segitiga = ' num2str(tarea)]);
otherwise
error('Stop wrong choice');
end
Contoh 4. Multiple conditions
result = input(Ketik angka 52 atau 78. );
switch(result)
case 52
disp('result is 52')
case {52, 78}
disp('result is 52 or 78')
end
2. Loop Control -- for, while, continue, break
2.1. FOR
FOR dipakai untuk melakukan perhitungan berulang
dengan jumlah iterasi yang sudah ditentukan.

Syntax:
for index = start:increment:end
statements
end
Contoh 5.
for n = 2:6
x(n) = 2 * x(n - 1);
end
Contoh 6.
for m = 1:5
for n = 1:100
A(m, n) = 1/(m + n - 1);
end
end
2.2. WHILE
WHILE dipakai untuk melakukan perhitungan berulang
yang tidak dibatasi jumlah iterasi tetapi dibatasi oleh
sebuah persyaratan tertentu.
Syntax :
while expression
statements
end
Contoh 7. Program untuk menghitung bilangan bulat n
yang merupakan bilangan pertama yang n! (faktorialnya)
merupakan bilangan berdigit 100.
n = 1;
while prod(1:n) < 1e100
n = n + 1;
end
2.3. CONTINUE
Perintah CONTINUE akan mengabaikan perhitungan yang
akan dijalankan pada loop yang sedang berlangsung.
Perhitungan akan dilanjutkan ke iterasi selanjutnya.
Contoh 8.
for i=1:10
if i>=5
continue
end
A(i)=i;
end
disp(['A=' num2str(A)])
2.4. BREAK
Perintah BREAK adalah perintah untuk keluar dari loop
yang sedang dijalankan.
Contoh 9.
x = 1;
while x>0
x=x/5;
if x<=1e-7
disp([ 'x = ' num2str(x)])
break
end
end

LATIHAN:
1. h(T) = T - 10
when 0 < T < 100
= 0.45 T + 900 when T > 100
Test cases: a. T = 5, h = -5
b. T = 110, h = 949.5
2. f(x) = -1
=0
=1

if x < 0
if x = 0
if x > 0

3. t(y) = 200 when y is below 10,000


= 200 + 0.1 (y - 10,000) when y is between
10,000 and 20,000
= 1,200 + 0.15 (y - 20,000) when y is between
20,000 and 50,000
= 5,700 + 0.25 (y - 50,000) when y is above 50,000
Test cases: a. y = 5,000 t = 200
b. y = 17,000 t = 900
b. y = 25,000 t = 1,950
c. y = 75,000 t = 11,950
5. Given the vector x = [1 8 3 9 0 1], create a short set of
commands that will
a. Add up the values of the elements
b. Computes the running sum (for element j, the running
sum is the sum of the elements from 1 to j, inclusive.
6. Create an M-by-N array of random numbers (use rand).
Move through the array, element by element, and set any
value that is less than 0.2 to 0 and any value that is
greater than (or equal to) 0.2 to 1.
7. Given x = [4 1 6] and y = [6 2 7], compute the following
arrays
a. aij = xi*yj
b. bij = xi/yj
c. ci = xi*yi, then add up the elements of c.
d. dij = xi/(2 + xi + yj)

Anda mungkin juga menyukai