APA ITU ALGORITMA ?
> Cara
menyelesaikan suatu proses
>Terdiri
atas langkah-langkah yang terdefinisi dengan baik
>Bisa
dihitung (computable) atau bisa diukur (measurable)
Alagoritma Menurut Pakar
a)
Menurut Abu Ja’far Mohammad Ibn Musa Al
Khoarismi:
“Suatu
metode khusus untuk menyelesaikan suatu persoalan.”
b)
Menurut Goodman Hedet Niemi:
“Urut-urutan
terbatas dari operasi-operasi terdefinisi dengan baik, yang masing-masing
membu-tuhkan memory dan waktu yang terbatas untuk menyelesaikan suatu masalah.”
Jadi …
Algoritma adalah cara yang dapat
ditempuh oleh komputer dalam mencapai suatu tujuan, terdiri atas
langkah-langkah yang terdefinisi dengan baik, menerima input, melakukan proses,
dan menghasilkan output. Meskipun tidak selalu, biasanya sebuah algoritma
memiliki sifat bisa dihitung (computable) atau bisa diukur (measurable).
Syarat Algoritma dikatakan benar.
Ø Sebuah
algoritma dikatakan BENAR (correct) jika algoritma tersebut berhasil
mengeluarkan output yang benar untuk semua kemungkinan input.
Ø Bagaimana
dengan 99% benar?
99% benar artinya sebuah algoritma adalah
SALAH (incorrect)
PSEUDOCODE
(kode palsu)
•
Adalah cara untuk menuliskan sebuah algoritma secara high-level
•
Biasanya dituliskan dengan kombinasi bahasa Inggris dan notasi matematika
–
Lebih terstruktur daripada bahasa Inggris biasa
–
Tidak detil dibanding program
•
Isu-isu detil dalam program yang sifatnya teknis tidak dibahas dalam pseudocode
•
Kode-palsu atau dalam bahasa inggris lebih dikenal sebagai pseudocode merupakan
deskripsi tingkat tinggi informal dan ringkas atas algoritma pemrograman
komputer yang menggunakan konvensi struktural atas suatu bahasa pemrograman,
dan ditujukan untuk dibaca oleh manusia dan bukan oleh mesin. Kode palsu biasanya
tidak menggunakan elemen detail yang tidak diperlukan untuk kebutuhan pemahaman
manusia atas suatu algoritma, seperti deklarasi variabel, kode ataupun subrutin
untuk system yang bersifat spesifik
Contoh Pseudocode :
ü Algoritma
untuk menampilkan 9 buah simbol *
1
for i=1 to 9 do
2 display ”*”
3
end for
ü Algoritma
untuk menghitung Faktorial dari N
1
iTampung=1
2
for i=1 to N do
3 iTampung=iTampung*i
4
end for
5
display ”Faktorial dari ”,N,” adalah ”,iTampung
ü Algoritma
untuk menampilkan 8 bilangan Fibonacci
1
f1=0
2
f2=1
3
for i=1 to 8 do
4 iFibo=f1+f2
5 display ”Angka ke-”,i,” adalah ”,iFibo
6 f1=f2
7 f2=iFibo
8
end for
Komponen Pseudocode :
a.
Variabel
• Merupakan tempat
penyimpanan sebuah nilai
• Memiliki nama
• Dapat dimasukkan
sebuah nilai
• Dapat dipanggil
nilainya
• Menampung tipe data
tertentu
–
Numerik
–
Karakter
–
String
• Beberapa variabel
yang tipenya sama dapat dirangkai menjadi sebuah array
b.
Perulangan
(loop)
Ø Teknik for-do
Perulangan berdasar :
– Variabel penentu perulangan
– Batas bawah
– Batas atas
Contoh algoritma menampilkan N bilangan
Fibonacci pertama
1 f1=0
2 f2=1
3 for i=1 to N do
4
iFibo=f1+f2
5
display ”Angka ke-”,i,” adalah ”,iFibo,NL
6
f1=f2
7
f2=iFibo
8 end for
Ø Teknik repeat-until
• Perulangan berdasarkan kondisi
(true atau false)
• Kondisi diperiksa di akhir
perulangan
• Perulangan terjadi selama kondisi
belum terpenuhi
• Minimal terjadi 1x perulangan
• Contoh algoritma menampilkan N
bilangan Fibonacci pertama
1 f1=0
2 f2=1
3 iFibo=f1+f2
4 i=1
5 repeat
6
display ”Angka ke-”,i,” adalah ”,iFibo
7
i=i+1
8
f1=f2
9
f2=iFibo
10
iFibo=f1+f2
11 until i>N
Ø Teknik while-do
•
Perulangan berdasarkan kondisi (true atau false)
•
Kondisi diperiksa di awal perulangan
•
Perulangan terjadi selama kondisi masih terpenuhi
•
Bisa terjadi 0 perulangan jika dari awal kondisi tidak terpenuhi
c.
Percabangan
(branch)
Ø Teknik if-then
• Percabangan berdasarkan kondisi
(true atau false)
• Terdapat 2 segmen, akan
dieksekusi berdasarkan kondisi
• Contoh algoritma dengan if-then
(pseudocode 2.13b)
1 if iUmur >= 17 then
2
display ”Anda boleh masuk”,NL
3 else
4
display ”Maaf Anda tidak boleh masuk”,NL
5 end if
Ø Teknik select-case
• Percabangan berdasarkan nilai
sebuah variabel ordinal
• Terdapat banyak segmen, akan
dieksekusi berdasarkan kondisi
• Contoh algoritma dengan
select-case
1 display ”Masukkan jumlah sisi
bangun : ”
2 read iSisi
3 switch iSisi
4
case 3 : display ”segitiga”,NL
5
case 4 : display ”kotak”,NL
6
case 5 : display ”segilima”,NL
7
else : display ”nama bangun tdk
terdaftar”,NL
8 end switch
d.
Modul
Ø Procedure
/ Sub
Ø Function
Ø Teknik
rekursif
0 komentar:
Posting Komentar