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.
2. 1. Algoritma
• Algoritma adalah 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
• Kriteria algoritma 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 :
Algoritma dapat 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 Algoritma untuk 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 sebagai alat 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 untuk mempersiapkan
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
• Symbol yang 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
14. 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('Contoh Program 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 :
If kondisi-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-1 benar, 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 Program IF-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 untuk melakukan 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> akan dikejakan sebanyak n kali mulai
dari n1 hingga n2. Setelah selesai, maka akan
mengerjakan <pernyataan-2> dan seterusnya.
Flowchart :
21. Contoh :
• for n=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 flowchart dan 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 dan menjumlahkan 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)])
25. Contoh :
Buatlah algoritma dan 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 :
% Loop for
% 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 program untuk 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 :
% Loop for 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)!
for i = 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 program untuk 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 :
% Loop for 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)!
for i = 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 program untuk 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. Input nilai 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 :
% Loop for
% 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
Ulangi soal 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 :
% Loop while
% Untuk menghitung Deret Fibonacci
% ================================
clc;
disp('Program untuk Menghitung Deret
Fobonacci')
n=input('Input nilai n = ');
F=[0 1];
JF=1;i=3;
41. 4. Kontrol Break dan 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 Penggunaan break 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. Buat program 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