1. Algoritma
• Algoritma adalah langkah-langkah proses yang disusunsecara logis dan berurutan untuk menyelesaikan suatumasalah dengan tepat.
• Algoritma digunakan sebagai panduan langkah demilangkah untuk menuliskan program.
• Jika algoritma yang dibuat salah, maka penulisanprogramnya akan salah juga. Karena itu, algoritmasangat penting untuk dipelajari dan dikuasai denganbaik.
• Jika sudah terbiasa menggunakan algoritma untukmenulis program, maka semakin lama, kita dapatdengan mudah menulis progam, karena konsepalgoritma sudah dikuasai dengan baik.
Kriteria algoritma
• Kriteria algoritma adalah sebagai berikut :
– Setiap langkah harus jelas dan pasti
– Jumlah langkah harus berhingga atau harusselesai.
– Ditulis dengan kalimat yang mudah dipahamisehingga tidak menimbulkan arti ganda.
– Tuliskan dengan logika yang benar dan terstruktur
– Semua operasi atau proses disebutkan denganjelas.
Penyajian Algoritma :
Algoritma dapat disajikan dengan dua cara :
• Secara Tulisan, yaitu menuliskan deskripsi urutanlangkah-langkah penyelesaian masalah
• Flowchart, yaitu menggambarkan algoritma dengansimbol-simbol menurut urutan proses
Contoh :
Buatlah Algoritma untuk menghitung nilai y daripersamaan y = 6a + 2b
Penyelesaian :
Untuk mendapatkan nilai y, maka nilai a dan b harusdiketahui lebih dahulu. Nilai a dan b diperolehdengan menginput ke dalam program melaluikeyboard. Kemudian a dikalikan dengan 6 dan bdikalikan dengan 2. Hasil perkaliannya kemudiandijumlahkan untuk mendapatkan nilai y.
Algoritma :
– Mulai
– Deklarasikan variabel y, a, dan b
– Input Nilai a dan b
– Hitung nilai y = 6a + 2b
– Cetak nilai y
– Selesai
2. Flowchart
Dipakai sebagai alat bantu untuk menggambarkan aliranproses di dalam program berdasarkan algoritmapenyelesaian masalah.
Flowchart dapat dibagi menjadi tiga kelompok yaitu :
1. Simbol arah aliran proses; dipakai untuk menyatakanarah aliran proses program.
2. Simbol proses; menunjukkan jenis operasi pengola-han data dalam suatu program.
3. Simbol Input-output; menyatakan jenis peralatanyang digunakan sebagai media input atau output.
Simbol Arah Proses
• Simbol arah aliran proses
• Simbol untuk keluar – masuk ataupenyambungan proses pada lembar /halaman yang berbeda.
• Simbol untuk keluar – masuk ataupenyambungan proses dalam lembar/ halaman yang sama.
Simbol Proses Data
• Simbol yang menunjukkan pengolahandata yang dilakukan oleh komputer
• Simbol yang menunjukkan prosespengolahan yang tidak dilakukan olehkomputer
• Simbol yang menyatakan prosespengambilan keputusan denganmengecek suatu kondisi apakah salahatau benar.
• Simbol untuk mempersiapkan variable penyimpanan yang akan digunakan sebagai tempat pengolahan data di dalam memori
• Simbol untuk menyatakanpermulaan atau akhir dari suatu program
• Simbol yang menunjukkan bahwa data di dalam symbol ini akan disimpan secara manual
Simbol Input-output• Symbol yang menyatakan input dari
keyboard atau output ke layar atau keharddisk.
• Symbol yang menyatakan input berasaldari harddisk atau output ditulis keharddisk
• Symbol yang menyatakan peralatanoutput yang digunakan yaitu layar,plotter, printer, dan sebagainya
• Symbol untuk menyatakan inputberasal dari mesin jumlah/hitung
3. Kontrol Program
• Perintah if digunakanuntuk memeriksa se-buah kondisi.
• Jika kondisi tersebutbenar, maka kerjakanpernyataan di bahwaperintah if.
• Jika kondisi bernilaisalah, maka lanjutkanproses lainnya setelahend.
Bentuk perintah :
If <kondisi>< pernyataan >
end
1. If-end
Flowchart :Contoh :
clc;
disp('Contoh Program If-end')
n = input('Input n= ');
if n<5
disp('n lebih kecil dari 5')
end
Bentuk Perintah :
If <kondisi-1><pernyataan-1>
else <pernyataan-2>
end
• Perintah if-else-end digunakanuntuk memeriksa sebuahkondisi.
• Jika kondisi tersebut benar,maka kerjakan perintah dibawah perintah if.
• Jika kondisi bernilai salah,maka kerjakan perintah dibawah else.
2. If-else-end
Flowchart : Contoh:
clc;disp('Contoh Program If-
else-end')n = input('Input n= ');if n<5
disp('n lebih kecil dari5')
elsedisp('n lebih besar sama dengan dari 5')
end
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-endPerintah if-else-end digunakan untuk memeriksadua buah kondisi atau lebih.
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. Jikakondisi-3 benar, maka kerjakan <pernyataan-3>
• Jika kondisi bernilai salah, maka periksa kondisiselanjutnya hingga kondisi ke-n.
• Jika semua kondisi bernilai salah, maka kerjakanperintah dibawah else.
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
Kontrol ForDigunakan 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 perulangann2 adalah nilai akhir perulanganInkrimen adalah jarak pertambahan nilai
Penjelasan :
<pernyataan-1> akan dikejakan sebanyak n kali mulaidari n1 hingga n2. Setelah selesai, maka akanmengerjakan <pernyataan-2> dan seterusnya.
Flowchart :
Contoh :
• for n=1:1:10 artinya perulangan dilakukan mulai darinilai n=1 hingga n=10 dengan pertambahan 1.
• for k=10:-1:1, artinya perulangan dilakukan mulaidari nilai k=10 hingga n=1 dengan pertambahan -1.
• for i=2:3:20, artinya perulangan dilakukan mulai nilaidari i=2 hingga n=20 dengan pertambahan 3.
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 = 0Step 2: input nilai nStep 3: Buat perulangan for mulai dari k=1 hingga k=n, for
k=1:1:nStep 4: Hitung nilai m = m + kStep 5: Ulangi Step 2Step 6: Cetak nilai n
%Perulangan for%Mencetak dan menjumlahkan angka 1 hingga n.
clc;a=[]; % Tentukan variabel vektor am=0; %nilai awal penjumlahann=input('Input nilai n = ');for k = 1:1:n
a(k) = k;m=m+k;
enddisp(['Deret = ',num2str(a)])disp(['Jumlah = ',num2str(m)])
Contoh :
Buatlah algoritma dan program untukmenghitung n ! (n faktorial).
Rumus :
n! = n x (n-1) x (n-2) x (n-3) x … x 2 x 1
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
Program :
% Loop for % Untuk menghitung n Faktorial% ================================clc;n=input('Input nilai n = ');for i = n-1:-1:1
n = n*i;enddisp(['n ! =',num2str(n)])
2. Buatlah program untuk menghitung nilaiPermutasi dengan rumus :
!
( )!
r
n
nP
n r
Algoritma program:
1.Input nilai n2.Input nilai r3.Hitung m=n-r4.Hitung n!5.Hitung m!6.Hitung Permutasi P=n/m7.Cetak P
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
%Hitung faktorial (n-r)!for i = m-1:-1:1
m = m*i;End
%Hitung Permutasip=(n/m);
%Cetak hasil perhitungandisp(['n ! =',num2str(n)])disp(*‘(n - r)! =',num2str(m)])disp(['P =',num2str(p)])
3. Buat program untuk menghitung Nilai combinasi.Rumus :
Algoritma program :1.Input nilai n2.Input nilai r3.Hitung m=n-r4.Hitung n!5.Hitung m!6.Hitung r!7.Hitung Combinasi C = n/(m.r)8.Cetak C
!
( )! !
r
n
nC
n r r
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
%Hitung faktorial (n-r)!for i = m-1:-1:1
m = m*i;endfor i = r-1:-1:1
r = r*i;endc=n/(m*r);disp(['n ! =',num2str(n)])disp(['n - r)! =',num2str(m)])disp(['C ! =',num2str(c)])
4. Buatlah program untuk menghitung DeretFibonacci 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
Algoritma :
1. Input nilai n2. Definisikan nilai awal, F=[0 1]3. Definisikan nilaw awal jumlah, JF=14. Buat perulangan untuk i=3 hingga n5. Hitung deret, F(i) = F(i-1) + F(i-2)6. Jumlahkan deret, JF=JF+F(i)7. Ulangi langkah 48. Cetak deret Fibonacci F dan jumlahnya JF
Program :
% Loop for
% Untuk menghitung Deret Fibonacci
% ================================
clc;
disp('Program untuk Menghitung DeretFobonacci')
n=input('Input nilai n = ');
F=[0 1];
JF=1;
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)])
3. Kontrol while-endUlangi soal 4 dengan menggunakan kontrol while-end.
Algoritma :
1. Input nilai n2. Definisikan nilai awal, F=[0 1]3. Definisikan nilai awal jumlah, JF=14. Definisikan nilai awal i=35. Buat perulangan while untuk i >=3 hingga n6. 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 + 19. Ulangi langkah 510. Cetak deret Fibonacci F dan jumlahnya JF
Program :
% Loop while
% Untuk menghitung Deret Fibonacci
% ================================
clc;
disp('Program untuk Menghitung DeretFobonacci')
n=input('Input nilai n = ');
F=[0 1];
JF=1;i=3;
while i<=n
F(i)=F(i-1)+F(i-2);
JF=JF+F(i);
i=i+1;
end
disp(['F = ',num2str(F)])
disp(['Jumlah = ',num2str(JF)])
4. Kontrol Break dan Continue
• Buat program untuk menginput data nmaksimum 10. Jika lebih, maka hentikanproses. Jika kurang dari 10, lanjutkan proses.Untuk i=1 s/d 5, proses perintah dalamperulangan, Jika i>5, keluar dari loop
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
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
Latihan :
1. Buat program untuk menghitung luas,keliling, dan volume balok.
2. Buat program untuk menghitung n faktorialdengan menggunakan kontrol while-end.
3. Buat program untuk menghitung y=x2 untuknilai x=-n sampai n
Top Related