apa hubungan operasi matematika dengan alogaritma?
Di materi kali kita bahas mengenai hubungan alogaritma dengan operasi matematika.
*materi ini dibuat oleh dosen saya atas nama Habibah Nurfauziah, S.Kom, M.Si beliau merupakan salah satu dosen di STMIK MUHAMMADIYAH JAKARTA
Apa Itu Efisiensi Algoritma ?
Algoritma yang dapat dikatakan sebagai algoritma yang efisien, merupakan algoritma yang dimana pada saat pemrosesan algoritma tersebut tidak memakan banyak waktu dan juga ditak memakan banyak memori dalam pemrosesannya.
Seperti yang sudah di jelaskan, efisiensi algoritma umumnya di tinjau dari 2 hal, yaitu efisiensi terhadap waktu, dan efisiensi terhadap memori.
Walaupun algoritma yang memberikan keluaran yang benar (paling mendekati kenyataan), tetapi jika harus menunggu berjam-jam atau mungkin berhari-hari untuk mendapatkan outputannya (dalam hal ini yang dimaksudkan adalah efisiensi dalam waktu), algoritma tersebut biasanya tidak akan dipakai. Kebanyakan orang lebih menginignkan algoritma yang memiliki pengeluaran atau hasil outputan yang lebih cepat. Waktu yang diperlukan (running time) oleh sebuah algoritma cenderung tergantung pada jumlah input yang diproses.
Running time dari sebuah algoritma adalah fungsi dari jumlah inputnya. Running time dari suatu algoritma berbeda-beda bergantung pada input yang diberikan. Dengan demikian pengukurannya dihitung sebagai fungsi dari besarnya input yang diberikan.
1. Dasar Dasar Pemrograman MATLAB untuk Teknik Elektro
BAB IV
KONTROL PROGRAM
Kontrol program sangat penting karena memungkinkan komputasi-komputasi yang lalu mempengaruhi
komputasi yang akan datang. MATLAB menyediakan struktur pengambilan keputusan atau struktur
kontrol program, yaitu : loop for, loop while, if-else-end, dan swicth-case.
4.1 Loop for
Loop for memungkinkan sekelompok perintah diulang sebanyak suatu jumlah yang tetap. Bentuk
umum dari loop for adalah
For nama variabel loop = awal:step:akhir
Perintah-perintah
end
Ekspresi awal adalah nilai awal, ekspresi step adalah langkah/pertambahan dan ekspresi akhir adalah
batas nilai akhir variabel loop. Contoh for x=2:2:10, perintah akan diulang dan dimulai untuk x=2,
melangkah sebanyak 2 dan berakhir pada nilai x=10.
Contoh 4-1
for x=2:2:10
v(x)=cos(x*pi/180);
end
loop for dapat ditulis dalam satu baris
for x=2:2:10, v(x)=cos(x*pi/180),end
loop for dapat dibuat didalam loop for yang lain ;
Contoh 4-2:
Hasil dari program tersebut adalah
C =
Ansar Suyuti
IV-
% Program perkalian Matriks A * B
A=[1 2 3;4 5 6;7 8 9];
B=[9 8 7;6 5 4;3 2 1];
% Proses perkalian
for k=1:3
for l=1:3
C(k,l)=0;
for m=1:3
C(k,l)=C(k,l)+A(k,m)*B(m,l);
end
end
end
51
2. Kontrol Program
30 24 18
84 69 54
138 114 90
bandingkan dengan perintah asterik ( * ) untuk perkalian matriks , maka hasil yang diperoleh sama
» A=[1 2 3;4 5 6;7 8 9];
B=[9 8 7;6 5 4;3 2 1];
C=A*B
C =
30 24 18
84 69 54
138 114 90
4.2 Loop While
Loop while mengerjakan sekelompok perintah yang diulang sampai syarat yang diberikan terpenuhi.
Bentuk umum loop while adalah ;
while ekspresi
Perintah-perintah
end
perintah-perintah yang terdapat di antara while dan end dieksekusi berulang kali selama semua elemen
dalam ekspresi adalah benar.
Contoh 4-3
» x=1;
» while x<10
disp(x)
x=x+1;
end
1
2
3
4
5
6
7
8
9
Ansar Suyuti
IV-
50
3. Dasar Dasar Pemrograman MATLAB untuk Teknik Elektro
» x=9;
» while x~=0
disp(x)
x=x-1;
end
4.3 If - else -end
Bentuk paling sederhana if-else-end adalah
if ekspresi
perintah …
end
Untuk kasus dengan dua pilihan if-else-end adalah
if ekspresi
perintah…jika memenuhi eksperesi
else
perintah… jika tidak memenuhi ekspresi (salah)
end
Jika terdapat 3 atau lebih pilihan if-else-end :
elseif ekspresi1
Perintah.. jika ekspresi1 benar
elseif ekspresi2
Perintah.. jika ekspresi2 benar
elseif ekspresi3
Perintah.. jika ekspresi3 benar
elseif…
else
perintah.. dikerjakan jika tak ada ekspresi benar
end
contoh 4-4
Ansar Suyuti
IV-
51
4. Kontrol Program
for k = 1:5;
if k<2
a=cos (k*pi/180);
elseif k<3
b=cos((k-1)*pi/180);
elseif k<4
c=cos((k-2)*pi/180);
elseif k<5
d=cos((k-3)*pi/180);
else
e=cos((k-4)*pi/180);
end;
end;
» a,b,c,d,e
a =
0.9998
b =
0.9998
c =
0.9998
d =
0.9998
e =
0.9998
4.4 Switch-Case
Bentuk umum dari Switch-Case adalah
switch ekspresi
case test_ekspresi
deret_perintah1
case {test_ekspresi2, test_ekspresi3, test_ekspresi4}
deret_ekspresi2
otherwise
deret ekspresi3
end
Ansar Suyuti
IV-
50
5. Dasar Dasar Pemrograman MATLAB untuk Teknik Elektro
Contoh 3-4:
Buatlah program untuk mengkonversi satuan meter kesatuan inchi, feet, millimeter dan centimeter,
yang mana nilai satuan meter dan konversi satuan yang diinginkan diinput dari keyboard.
x=input('masukkan nilai x dalam meter =' );
satuan=input('konversi ke satuan "in",ft",mm" dan "cm" = ','s');
switch satuan
case {'inchi','in'} %konversi ke inchi
inchi=x*2.54*100
case{'feet','ft'} % konversi ke feet
feet=x*2.54*12*100
case{'milimeter','mm'} % konversi ke millimeter
mm=x*10*100
case{'centimeter','cm'} % konversi ke Centimeter
cm=x*100
otherwise
disp(['anda salah input:' units])
y=nan
end;
masukkan nilai x dalam meter =3
konversi ke satuan "in",ft",mm" dan "cm" = cm
cm =
300
Contoh 3-8:
Mencari nilai x minimum, maksimum dan penjumlahan untuk x= e-t
.sin t untuk t = 0 sampai 100.
% program untuk mencari nilai minimum,
% maksimum atau penjumlahan x
t = [0:100];
x=exp(-t).*sin(t*pi/180);
pilih=input('Mencari x "maks,min atau jumlah" =','s');
switch pilih
case {'maksimum','maks'}
maks=max(x)
case {'minimum','min'}
minim=min(x)
case {'jumlah','jum'}
total=sum(x)
otherwise
disp('anda salah input')
end
Ansar Suyuti
IV-
51
6. Dasar Dasar Pemrograman MATLAB untuk Teknik Elektro
Contoh 3-4:
Buatlah program untuk mengkonversi satuan meter kesatuan inchi, feet, millimeter dan centimeter,
yang mana nilai satuan meter dan konversi satuan yang diinginkan diinput dari keyboard.
x=input('masukkan nilai x dalam meter =' );
satuan=input('konversi ke satuan "in",ft",mm" dan "cm" = ','s');
switch satuan
case {'inchi','in'} %konversi ke inchi
inchi=x*2.54*100
case{'feet','ft'} % konversi ke feet
feet=x*2.54*12*100
case{'milimeter','mm'} % konversi ke millimeter
mm=x*10*100
case{'centimeter','cm'} % konversi ke Centimeter
cm=x*100
otherwise
disp(['anda salah input:' units])
y=nan
end;
masukkan nilai x dalam meter =3
konversi ke satuan "in",ft",mm" dan "cm" = cm
cm =
300
Contoh 3-8:
Mencari nilai x minimum, maksimum dan penjumlahan untuk x= e-t
.sin t untuk t = 0 sampai 100.
% program untuk mencari nilai minimum,
% maksimum atau penjumlahan x
t = [0:100];
x=exp(-t).*sin(t*pi/180);
pilih=input('Mencari x "maks,min atau jumlah" =','s');
switch pilih
case {'maksimum','maks'}
maks=max(x)
case {'minimum','min'}
minim=min(x)
case {'jumlah','jum'}
total=sum(x)
otherwise
disp('anda salah input')
end
Ansar Suyuti
IV-
51