Dokumen tersebut membahas tentang algoritma dan pemrograman Matlab. Secara singkat, dokumen tersebut menjelaskan tentang konsep algoritma dan flowchart serta penggunaan kontrol program seperti if-else, for, dan while dalam pemrograman Matlab.
1. Algoritma
• Algoritmaadalah langkah-langkah proses yang disusun
secara logis dan berurutan untuk menyelesaikan suatu
masalah dengan tepat.
• Algoritma digunakan sebagai panduan langkah demi
langkah untuk menuliskan program.
• Jika algoritma yang dibuat salah, maka penulisan
programnya akan salah juga. Karena itu, algoritma
sangat penting untuk dipelajari dan dikuasai dengan
baik.
• Jika sudah terbiasa menggunakan algoritma untuk
menulis program, maka semakin lama, kita dapat
dengan mudah menulis progam, karena konsep
algoritma sudah dikuasai dengan baik.
3.
Kriteria algoritma
• Kriteriaalgoritma adalah sebagai berikut :
– Setiap langkah harus jelas dan pasti
– Jumlah langkah harus berhingga atau harus
selesai.
– Ditulis dengan kalimat yang mudah dipahami
sehingga tidak menimbulkan arti ganda.
– Tuliskan dengan logika yang benar dan terstruktur
– Semua operasi atau proses disebutkan dengan
jelas.
4.
Penyajian Algoritma :
Algoritmadapat disajikan dengan dua cara :
• Secara Tulisan, yaitu menuliskan deskripsi urutan
langkah-langkah penyelesaian masalah
• Flowchart, yaitu menggambarkan algoritma dengan
simbol-simbol menurut urutan proses
5.
Contoh :
Buatlah Algoritmauntuk menghitung nilai y dari
persamaan y = 6a + 2b
Penyelesaian :
Untuk mendapatkan nilai y, maka nilai a dan b harus
diketahui lebih dahulu. Nilai a dan b diperoleh
dengan menginput ke dalam program melalui
keyboard. Kemudian a dikalikan dengan 6 dan b
dikalikan dengan 2. Hasil perkaliannya kemudian
dijumlahkan untuk mendapatkan nilai y.
6.
Algoritma :
– Mulai
–Deklarasikan variabel y, a, dan b
– Input Nilai a dan b
– Hitung nilai y = 6a + 2b
– Cetak nilai y
– Selesai
7.
2. Flowchart
Dipakai sebagaialat bantu untuk menggambarkan aliran
proses di dalam program berdasarkan algoritma
penyelesaian masalah.
Flowchart dapat dibagi menjadi tiga kelompok yaitu :
1. Simbol arah aliran proses; dipakai untuk menyatakan
arah aliran proses program.
2. Simbol proses; menunjukkan jenis operasi pengola-
han data dalam suatu program.
3. Simbol Input-output; menyatakan jenis peralatan
yang digunakan sebagai media input atau output.
8.
Simbol Arah Proses
•Simbol arah aliran proses
• Simbol untuk keluar – masuk atau
penyambungan proses pada lembar /
halaman yang berbeda.
• Simbol untuk keluar – masuk atau
penyambungan proses dalam lembar
/ halaman yang sama.
9.
Simbol Proses Data
•Simbol yang menunjukkan pengolahan
data yang dilakukan oleh komputer
• Simbol yang menunjukkan proses
pengolahan yang tidak dilakukan oleh
komputer
• Simbol yang menyatakan proses
pengambilan keputusan dengan
mengecek suatu kondisi apakah salah
atau benar.
10.
• Simbol untukmempersiapkan
variable penyimpanan yang akan
digunakan sebagai tempat
pengolahan data di dalam memori
• Simbol untuk menyatakan
permulaan atau akhir dari suatu
program
• Simbol yang menunjukkan bahwa
data di dalam symbol ini akan
disimpan secara manual
11.
Simbol Input-output
• Symbolyang menyatakan input dari
keyboard atau output ke layar atau ke
harddisk.
• Symbol yang menyatakan input berasal
dari harddisk atau output ditulis ke
harddisk
• Symbol yang menyatakan peralatan
output yang digunakan yaitu layar,
plotter, printer, dan sebagainya
• Symbol untuk menyatakan input
berasal dari mesin jumlah/hitung
12.
3. Kontrol Program
•Perintah if digunakan
untuk memeriksa se-
buah kondisi.
• Jika kondisi tersebut
benar, maka kerjakan
pernyataan di bahwa
perintah if.
• Jika kondisi bernilai
salah, maka lanjutkan
proses lainnya setelah
end.
Bentuk perintah :
If <kondisi>
< pernyataan >
end
1. If-end
Bentuk Perintah :
If<kondisi-1>
<pernyataan-1>
else
<pernyataan-2>
end
• Perintah if-else-end digunakan
untuk memeriksa sebuah
kondisi.
• Jika kondisi tersebut benar,
maka kerjakan perintah di
bawah perintah if.
• Jika kondisi bernilai salah,
maka kerjakan perintah di
bawah else.
2. If-else-end
15.
Flowchart : Contoh:
clc;
disp('ContohProgram If-
else-end')
n = input('Input n= ');
if n<5
disp('n lebih kecil dari
5')
else
disp('n lebih besar
sama dengan dari 5')
end
16.
Bentuk perintah :
Ifkondisi-1
<pernyataan-1>
Else if kondisi-2
<pernyataan-2>
……
……
Else kondisi-n
<pernyataan-n>
Else
<pernyataan-n+1>
End
3. If-else if-else-end
Perintah if-else-end digunakan untuk memeriksa
dua buah kondisi atau lebih.
17.
Penjelasan
• Jika kondisi-1benar, maka kerjakan <pernyataan-1>.
• Jika kondisi-1 bernilai salah, maka periksa kondisi-2.
• Jika kondisi-2 benar, maka kerjakan <pernyataan-2>.
• Jika kondisi-2 bernilai salah, maka periksa kondisi-3. Jika
kondisi-3 benar, maka kerjakan <pernyataan-3>
• Jika kondisi bernilai salah, maka periksa kondisi
selanjutnya hingga kondisi ke-n.
• Jika semua kondisi bernilai salah, maka kerjakan
perintah dibawah else.
18.
Contoh :
clc;
disp('Contoh ProgramIF-elseif-else-end')
disp(' ')
n = input('Input n= ');
if n<5
disp('n lebih kecil dari dengan 5')
Else if n>5
disp('n lebih besar dari 5')
else
disp('n sama dengan 5')
end
19.
Kontrol For
Digunakan untukmelakukan perulangan sebanyak n kali,
mulai n1 hingga n2.
Bentuk perintah :
For nama_var= n1: inkrimen : n2
<pernyataan-1>
End
<pernyataan-2>
n1 adalah nilai awal perulangan
n2 adalah nilai akhir perulangan
Inkrimen adalah jarak pertambahan nilai
20.
Penjelasan :
<pernyataan-1> akandikejakan sebanyak n kali mulai
dari n1 hingga n2. Setelah selesai, maka akan
mengerjakan <pernyataan-2> dan seterusnya.
Flowchart :
21.
Contoh :
• forn=1:1:10 artinya perulangan dilakukan mulai dari
nilai n=1 hingga n=10 dengan pertambahan 1.
• for k=10:-1:1, artinya perulangan dilakukan mulai
dari nilai k=10 hingga n=1 dengan pertambahan -1.
• for i=2:3:20, artinya perulangan dilakukan mulai nilai
dari i=2 hingga n=20 dengan pertambahan 3.
22.
Contoh :
Buatlah flowchartdan program untuk mencetak dan
menjumlahkan deret bilangan 1 hingga n dengan rumus
m = 1 + 2 + 3 + … + … + … n
Algoritma program:
Step 1: Definisikan jumlah nilai awal = 0
Step 2: input nilai n
Step 3: Buat perulangan for mulai dari k=1 hingga k=n, for
k=1:1:n
Step 4: Hitung nilai m = m + k
Step 5: Ulangi Step 2
Step 6: Cetak nilai n
23.
%Perulangan for
%Mencetak danmenjumlahkan angka 1 hingga n.
clc;
a=[]; % Tentukan variabel vektor a
m=0; %nilai awal penjumlahan
n=input('Input nilai n = ');
for k = 1:1:n
a(k) = k;
m=m+k;
end
disp(['Deret = ',num2str(a)])
disp(['Jumlah = ',num2str(m)])
Contoh :
Buatlah algoritmadan program untuk
menghitung n ! (n faktorial).
Rumus :
n! = n x (n-1) x (n-2) x (n-3) x … x 2 x 1
26.
Algoritma program:
Step 1:input nilai n
Step 2: Buat perulangan for mulai dari k=n-
1 hingga k=1, for k=n-1:-1:1
Step 3: Hitung nilai n = n x k
Step 4: Ulangi Step 2
Step 5: Cetak nilai n
27.
Program :
% Loopfor
% Untuk menghitung n Faktorial
% ================================
clc;
n=input('Input nilai n = ');
for i = n-1:-1:1
n = n*i;
end
disp(['n ! =',num2str(n)])
28.
2. Buatlah programuntuk menghitung nilai
Permutasi dengan rumus :
!
( )!
r
n
n
P
n r
Algoritma program:
1.Input nilai n
2.Input nilai r
3.Hitung m=n-r
4.Hitung n!
5.Hitung m!
6.Hitung Permutasi P=n/m
7.Cetak P
29.
Program :
% Loopfor untuk menghitung Permutasi
% =================================
clc;
disp('Program untuk menhitung Permutasi')
n=input('Input nilai n = ');
r=input('Input nilai r = ');
m=n-r;
for i = n-1:-1:1
n = n*i;
End
30.
%Hitung faktorial (n-r)!
fori = m-1:-1:1
m = m*i;
End
%Hitung Permutasi
p=(n/m);
%Cetak hasil perhitungan
disp(['n ! =',num2str(n)])
disp(*‘(n - r)! =',num2str(m)])
disp(['P =',num2str(p)])
31.
3. Buat programuntuk menghitung Nilai combinasi.
Rumus :
Algoritma program :
1.Input nilai n
2.Input nilai r
3.Hitung m=n-r
4.Hitung n!
5.Hitung m!
6.Hitung r!
7.Hitung Combinasi C = n/(m.r)
8.Cetak C
!
( )! !
r
n
n
C
n r r
32.
Program :
% Loopfor untuk menghitung n Combinasi
% ================================
clc;
disp('Program untuk menghitung Permutasi')
n=input('Input nilai n = ');
r=input('Input nilai r = ');
m=n-r;
for i = n-1:-1:1
n = n*i;
End
33.
%Hitung faktorial (n-r)!
fori = m-1:-1:1
m = m*i;
end
for i = r-1:-1:1
r = r*i;
end
c=n/(m*r);
disp(['n ! =',num2str(n)])
disp(['n - r)! =',num2str(m)])
disp(['C ! =',num2str(c)])
34.
4. Buatlah programuntuk menghitung Deret
Fibonacci dengan pola 0, 1, 1, 2, 3, 5, 8, 13, 21,
34,…., kemudian jumlahkan semua bilangan.
Rumus :
0
( ) 1
( 1) ( 2)
F n
F n F n
Untuk n =1
Untuk n =2
Untuk n >2
35.
Algoritma :
1. Inputnilai n
2. Definisikan nilai awal, F=[0 1]
3. Definisikan nilaw awal jumlah, JF=1
4. Buat perulangan untuk i=3 hingga n
5. Hitung deret, F(i) = F(i-1) + F(i-2)
6. Jumlahkan deret, JF=JF+F(i)
7. Ulangi langkah 4
8. Cetak deret Fibonacci F dan jumlahnya JF
36.
Program :
% Loopfor
% Untuk menghitung Deret Fibonacci
%
================================
clc;
disp('Program untuk Menghitung Deret
Fobonacci')
n=input('Input nilai n = ');
F=[0 1];
JF=1;
37.
for i =3:1:n
F(i)=F(i-1)+F(i-2);
JF=JF+F(i);
end
disp(['F = ',num2str(F)])
disp(['Jumlah = ',num2str(JF)])
38.
3. Kontrol while-end
Ulangisoal 4 dengan menggunakan kontrol while-end.
Algoritma :
1. Input nilai n
2. Definisikan nilai awal, F=[0 1]
3. Definisikan nilai awal jumlah, JF=1
4. Definisikan nilai awal i=3
5. Buat perulangan while untuk i >=3 hingga n
6. Hitung deret, F(i) = F(i-1) + F(i-2)
7. Jumlahkan deret, JF=JF+F(i)
8. Tambahkan variabel i dengan 1, i= i + 1
9. Ulangi langkah 5
10. Cetak deret Fibonacci F dan jumlahnya JF
39.
Program :
% Loopwhile
% Untuk menghitung Deret Fibonacci
% ================================
clc;
disp('Program untuk Menghitung Deret
Fobonacci')
n=input('Input nilai n = ');
F=[0 1];
JF=1;i=3;
4. Kontrol Breakdan Continue
• Buat program untuk menginput data n
maksimum 10. Jika lebih, maka hentikan
proses. Jika kurang dari 10, lanjutkan proses.
Untuk i=1 s/d 5, proses perintah dalam
perulangan, Jika i>5, keluar dari loop
42.
Program :
clc;
disp('Contoh Penggunaanbreak dan continue')
disp('=================================')
disp(' ')
n=input('Input nilai n (maks 10) = ');
if (n>10)
disp('Anda menginput data lebih dari 10')
break;
end
43.
for i=1:n
if (i<=5)
fprintf('Nilai%i lebih kecil atau sama
dengan dari 5 n',i);
continue;
end
fprintf('Nilai %i. lebih besar dari 5 n',i);
end
44.
Latihan :
1. Buatprogram untuk menghitung luas,
keliling, dan volume balok.
2. Buat program untuk menghitung n faktorial
dengan menggunakan kontrol while-end.
3. Buat program untuk menghitung y=x2 untuk
nilai x=-n sampai n