Pertemuan 10
Algoritma dan Hubungan Rekurensi
oleh : RRA
Algoritma
Algoritma
adalah suatu langkah-langkah logis untuk menyelesaikan
masalah. Bedanya kalau algoritma setiap langkah difokuskan
pada sistem komputer dan data.
a.Sebuah algoritma tidak saja harus benar (sesuai spesifikasi
persoalan), tetapi juga harus efisien.
b.Algoritma yang baik adala algoritma yang efisien.
c.Efektifitas algoritma diukur dari waktu (time) yang diperlukan
untuk menjalankan algoritma dan ruang (space) memori yang
dibutuhkan oleh algoritma tersebut.
d.Algoritma yang efektif adalah algoritma yang
meminimumkan kebutuhan waktu dan ruang memori.
e.Kebutuhan waktu dan ruang memori suatu algoritma
bergantung pada ukuran masukan (n), yang menyatakan
ukuran data yang diproses oleh algoritma
Algoritma
Beberapa hal yang harus dipahami dalam mencari algoritma
antara lain:
Masalah seperti apa yang hendak diselesaikan?
Gagasan apa yang ada pada algoritma tersebut?
Berapa lama yang diperlukan untuk menyelesaikan
masalah?
Berapa jumlah data yang dapat ditangani oleh algoritma
tersebut?
T(n) C(f(n))
Untuk n n0,
artinya jika sebuah algoritma mempunyai waktu asimtotik
O(f(n)), maka jika n dibuat semakin besar waktu yang
dibutuhkan tidak akan pernah melebihi suatu tetapan C dikali
f(n). Jadi f(n) adalah batas atas dari T(n) untuk n yang besar.
T(n) dikatakan berorde paling besar f(n).
Contoh :
Hasil iterasi 1 : 2 22 10 15 3 8
Iterasi 2
Langkah 1 : 2 22 10 15 3 8
Langkah 2 : 2 22 10 15 3 8
- 8> mak 8 tidak pinda
3,
untuk selanjutnya bandingkana data h,
sebelumnya yaitu 3.
Langkah 3 : 2 22 10 3 15 8
Langkah 4 : Ulangi langkah 2 dan 3
Hasil Iterasi 2 : 2 3 22 10 15 8
Lakukan Iterasi selanjutnya sampai iterasi ke- 6
Pengurutan dengan Selection sort
2. Selection Sort
salah satu metode pengurutan berdasarkan prioritas antrian.
Algoritma Selection Sort For I = 1 to (n-1) do
for J = (I+1) to N do
if data [J] < data [kecil] then kecil = J
endif
endfor
sementara = data[I] data[I] = data[kecil] data[kecil] =
sementara
endfor
Prinsip Kerja dari Teknik Selection Sort ini
adalah :
Iterasi 1
1 2 3 4 5 6
Langkah 1: 22 10 15 3 8 2
Langkah 2: 22 10 15 3 8 2
Langkah 3 : 2 10 15 3 8 22
Langkah 4 : Ulangi langkah 2 dan 3 .
Iterasi 2
Langkah 1: 2 10 15 3 8 22
Langkah 2: 2 10 15 3 8 22
Langkah 3: 2 3 15 10 8 22
Langkah 4: Ulangi langkah 2 dan 3 .
Langkah 1: 10 22 15 3 8 2
Langkah 2: 10 15 22 3 8 2
Langkah 3: 10 15 22 3 8 2
Langkah 4: Ula langkah 2 3
Lakukan Iterasingi dan iterasi
selanjutnya sampai
ke- 6
Catatan : Setiap ada pemindahan, maka elemen.
Yang sudah ada akan di insert sehingga akan
bergeser kebelakang.
Hubungan Rekurensi
Hubungan Rekurensi
Sebuah hubungan rekurensi untuk urutan a0, a1,…adalah
sebuah persamaan yang menghubungkan a0 dengan suku
tertentu pendahulunya a0,a1,…,an-1. Kondisi awal untuk
urutan a0,a1,… secara eksplisit memberikan nilai kepada
sejumlah suku-suku tertentu dalam urutan itu.
Rekurensi adalah proses perulangan yaitu memanggil
dirinya sendiri (fungsi/prosedur) dengan parameter yang
berbeda, sampai pengulangan berhenti.
Cara lain menyelesaikan rekurensi adalah:
1.Memecahkan masalah yang besar menjadi dua
submasalah.
2.Submasalah tersebut diselesaikan dengan cara yang
sama untuk memecahkan masalah yang besar tersebut.
Permasalahan yang bisa menggunakan
metode rekurensi
Permasalahan yang menggunakan metode rekuren
diantaranya:
1.Faktorial
2.Fibonanci
3. Menara Hanoi
Faktorial
0! = 1
N! = N x (N-1)! Untuk N > 0
FAKT(5) = 5 * FAKT(4)
FAKT(4) = 4 * FAKT(3)
FAKT(3) = 3 * FAKT(2)
FAKT(2) = 2 * FAKT(1)
FAKT(1) = 1 * FAKT(0)
Nilai Awal
Misal :
hitung 5!, maka dapat dilakukan secara rekursif
dgn cara :
5! = 5 * 4!
Contoh :
Fibo(5) = Fibo(4) + Fibo(3)
Fibo(4) = Fibo(3) + Fibo(2)
Fibo(3) = Fibo(2) + Fibo(1)
Nilai Awal
Konsep Menara Hanoi
A B C
Tiang Asal Tiang Tiang
Bantuan Tujuan
Jika n=1, maka
ke tiang C & selesai. langsun piringan
Pindahkan n-1 piringan yg palingg atas dr tiang A ke tiang
dr tiang
Pindahkan B. pindahk A
ketiang C anterakhir)
piringan ke n (piringan saja dr tiang A
Pindahkan n-1 piringan dari tiang B ke tiang C.
Langkah pemindahan tsb diatas dpt diubah
dengan notasi sbb:
Menara (n,asal,bantu,tujuan)
N = Jumlah Piringan