Anda di halaman 1dari 44

MATAKULIAH

ESTIMASI & IDENTIFIKASI

M. Febriansyah, ST., MT
m.febriansyah.mt@gmail.com
PENGANTAR MATERI
ALGORITMA RECURSIF

M. Febriansyah, ST., MT
m.febriansyah.mt@gmail.com
INTRODUCTION
REKURSIF adalah sebuah teknik pengulangan yang
melibatkan dirinya sendiri.

Dalam materi ini, rekursif digunakan dalam sebuah


fungsi.

Umumnya proses rekursif ini berguna dalam


permodelan matematika pada sebuah program.
FUNGSI REKURSIF
Banyak fungsi-fungsi matematis yang bisa
didefinisikan sebagai algoritma rekursif. Contoh :
1. Faktorial
2. Fibonacci
3. Fourier
4. dll
FUNGSI REKURSIF…
Pada ”introduction” dijelaskan bahwa fungsi
rekursif akan melibatkan dirinya sendiri.
Maksudnya :
Pada pemrograman, fungsi akan mengembalikan
sebuah nilai.
Dalam rekursif, hasil kembalian fungsi dapat
berupa nilai atau operasi berikutnya dari fungsi itu
sendiri sampai mencapai kondisi tertentu.
FUNGSI REKURSIF…
Fungsi rekursif : Di dalamnya terdapat pernyataan
yang memanggil dirinya sendiri.
Berguna untuk memecahkan masalah yang dapat
didefinisikan secara rekursif pula.
Fungsi rekursif mempunyai dua komponen, yaitu :
– Base case
– Recursion call / Reduction step
FUNGSI REKURSIF…
– BASE CASE
Mengembalikan nilai tanpa melakukan
pemanggilan rekursi berikutnya.

Rekursi berakhir jika base case dijumpai/dipenuhi.


FUNGSI REKURSIF…
– RECURSION CALL / REDUCTION STEP
Memanggil fungsi rekursif di dalam fungsi rekursif
di atas.
Menghubungkan sebuah fungsi rekursif dengan
fungsi rekursif di dalamnya.
Biasanya memiliki keyword return untuk
mengembalikan nilai ke fungsi yang
memanggilnya.
PERSOALAN REKURSIF
1) Menghitung Faktorial
Faktorial bilangan asli n adalah perkalian semua
bilangan asli yang kurang atau sama dengan n.
Faktorial dilambangkan dengan tanda !. Jadi jika n!,
maka dibaca "n faktorial".
n! = 1 x 2 x … x (n-2) x( n-1) x n

Untuk faktorial 0, hasilnya adalah 1 ➔ 0! = 1


Berikut ini adalah faktorial 0 sampai faktorial 10.
0! =1
1! =1
2! =1×2=2
3! =1×2×3=6
4! = 1 × 2 × 3 × 4 = 24
5! = 1 × 2 × 3 × 4 × 5 = 120
6! = 1 × 2 × 3 × 4 × 5 × 6 = 720
7! = 1 × 2 × 3 × 4 × 5 × 6 × 7 = 5040
8! = 1 × 2 × 3 × 4 × 5 × 6 × 7 × 8 = 40320
9! = 1 × 2 × 3 × 4 × 5 × 6 × 7 × 8 × 9 = 362880
10! = 1 × 2 × 3 × 4 × 5 × 6 × 7 × 8 × 9 × 10 = 3628800
PERSOALAN REKURSIF…
Terdapat 2 (dua) cara untuk menyelesaikan “faktorial”,
perhatikan contoh :
→3! = 3 x 2 x 1 3! = 1 x 2 x 3 = 6
→4! = 4 x 3 x 2 x 1 4! = 1 x 2 x 3 x 4 = 24
➔ 4! = 4 x 3! 4! = 3! x 4
➔n! = n x (n-1)! n! = (n-1)! x n
n! = n x (n-1) x (n-2) x …. x 3 x 2 x 1 n! = 1 x 2 x … x (n-2) x(n-1) x n
PERSOALAN REKURSIF…
2) Deret Fibonacci
Deret Fibonacci adalah suatu deret matematika yang
berasal dari penjumlahan dua bilangan sebelumnya.
0, 1, 1, 2, 3, 5, 8, 13, 21…
PERSOALAN REKURSIF…
Hubungan antara satu angka dengan angka
berikutnya didefinisikan secara rekursif sebagai
berikut :
– Fib(n) = n, jika n = 0 atau 1
– Fib(n) = Fib(n-2) + Fib(n-1), jika n >= 2
PERSOALAN REKURSIF…
Persamaan F(n) dapat dijelaskan sebagai berikut :
• Jika n=0, maka F(0)=0
• Jika n=1, maka F(1)=1
• Jika n>1 berlaku rumus F(n-1) + F(n-2)
• Jika n=2, maka F(2-1) + F(2-2) = F(1) + F(0) = 1 + 0 = 1
• Jika n=3 maka F(3-1) + F(3-2) = F(2) + F(1) = 1 + 1 = 2
• Jika n=4 maka F(4-1) + F(4-2) = F(3) + F(2) = 2 + 1 = 3
Hasil deret bilangan Fibonacci adalah : 0,1,1,2,3, dst
PERSOALAN REKURSIF…
Misalkan jika ditanya berapa suku ke-4 dari barisan
fibonachi?
n=4
fibo(4) = fibo(3) + fibo(2)
= (fibo(2) + fibo(1)) + (fibo(1) + fibo(0))
= ((fibo(1) + fibo(0)) + 1) + (1 + 0)
= ((1 + 0) + 1) + 1
= (1 + 1) + 1
=2+1
=3
PERTEMUAN 3
ALGORITMA RECURSIF
UNTUK ESTIMASI PARAMETER

M. Febriansyah, ST., MT
m.febriansyah.mt@gmail.com
ALGORITMA RECURSIF untuk ESTIMASI PARAMETER
Sebelum membahas tentang ALGORITMA
RECURSIF, terlebih dahulu akan dibahas proses
estimasi dengan menggunakan algoritma atau
pemerograman.

Gambar. Visualisasi proses estimasi dengan algoritma


Pada gambar sebelumnya. Sistem adalah suatu mesin
atau proses yang parameternya, yang dilambangkan
dengan Ꝋ, belum diketahui dan akan diestimasi.
Model adalah model pendekatan dari hasil
identifikasi dengan parameter Ꝋest, sedang
mekanisme pembaharuan parameter adalah algorima
yang digunakan untuk estimasi. Adapun proses
estimasinya adalah, sistem yang akan diestimasi
parameternya diberi input u(t), pada waktu yang
bersamaan input tersebut juga dimasukkan ke model.
Selanjutnya output sistem y(t) diperkurangkan
dengan output model y'(t). Selisih kedua output
tersebut disebut kesalahan Ɛ(t). Kesalahan Ɛ(t)
menjadi input bagi algoritma pembaharuan parameter
untuk mendapatkan harga parameter baru model.
Proses tersebut akan berjalan terus sampai kesalahan
Ɛ(t) sama dengan nol atau mendekati nol.
Apabila kesalahan Ɛ(t) sama dengan nol atau
mendekati nol berarti parameter model adalah
parameter sistem (Ꝋ = Ꝋest).
PENDEKATAN HEURISTIK
Misalakan sistem yang akan diestimasi parameternya
telah diidentifikasi sebagai sistem orde satu dengan
fungsi alih sebagai berikut :

Untuk bisa menggunakan fungsi alih tersebut dalam


algoritma pemrograman, maka harus terlebih dahulu di
transformasikan ke bentuk diskrit dengan menggunakan
transformasi z, yang menghasilkan :
Bentuk z–n adalah harga pada “n” periode yang lalu
sehingga perkalian antara y(z) dengan z–n
menunjukkan harga “y” pada n periode yang lalu
sehingga bisa ditulis sebagai y(t-n) dan seterusnya.
Berdasarkan kaedah tersebut, maka persamaan (1.2)
dapat diubah penulisannya menjadi :
Persamaan (1.3) adalah persamaan untuk output pada
waktu sekarang. Untuk harga y pada satu periode
yang akan datang, analog dengan persamaan (1.3)
diperoleh :

Sedang output model adalah :


Pada sistem orde satu harga a1 pada umumnya
bergerak antara 0,9 sampai dengan 1.

Sehingga tujuan estimasi dengan metoda heuristik


hanya akan mengestimasi harga parameter b1.

Beberapa situasi yang akan terjadi berkaitan dengan


perbedaan harga b1 dengan harga b1est akan dianalisis
berikut ini :
Situasi u(t) > 0, bentuk step
Apabila suatu langkah estimasi dilakukan pada suatu
sistem orde satu dengan memberikan input positif
dalam bentuk step, maka ada dua kemungkinan yang
bisa terjadi yaitu :
harga b1est < harga b1
atau
harga best > dari harga b1.
b1est < b1
Gambar. Situasi estimasi dengan memberi input step, positif
Pada gambar diatas, terlihat bahwa apabila b1est lebih
kecil dari b1 maka kesalahan (error) positif Ɛ(t) > 0.
Sedang apabila b1est lebih besar dari b1, maka
kesalahan (error) negatif Ɛ(t) < 0.
dari kedua kemungkinan tersebut dirumuskan
mekanisme estimasi :

dimana f > 0 disebut penguatan adaptasi (adaptation


gain).
Persamaan (1.7) di atas adalah bentuk persamaan
integrator digital. Untuk menguji kebenaran rumusan
mekanisme estimasi pada persamaan (1.7) di atas
dilakukan evaluasi sebagai berikut :
• u(t) > 0 b1est < b1 Ɛ > 0 b1est dinaikkan
• u(t) > 0 b1est > b1 Ɛ < 0 b1est diturunkan
Evaluasi di atas menunjukkan arah yang betul,
sehingga dapat disimpulan, bahwa untuk u(t) > 0,
mekanisme estimasi pada persamaan (1.7) betul.
Situasi u(t) < 0, bentuk step
Apabila input u(t) negatif dalam bentuk step, juga
ada dua kemungkina yang bisa terjadi seperti terlihat
pada gambar dibawah
Apabila mekanisme estimasi pada persamaan (1.7)
dievaluasi dengan memberikan input negatif dalam
bentuk step ternyata, mekanisme tersebut tidak
sesuai, sehingga harus dimodifikasi dgn memasukkan
harga u(t ) maka mekanisme adaptasi menjadi :
| u|
Selanjutnya untuk menguji kebenaran mekanisme
estimasi yang ditunjukkan pada persamaan (1.8),
maka dilakukan evaluasi berdasarkan
Gambar "Situasi estimasi dengan memberi input step,
positif“
serta
Gambar "Situasi estimasi dengan memberi input step,
negatif" sehingga didapatkan hasil evaluasi sebagai
berikut :
Dari hasil evaluasi di atas terlihat :
Bahwa mekanisme estimasi yang ditunjukkan pada
persamaan (1.8) betul baik untuk harga u(t) > 0
maupun untuk u(t) < 0, namun akan muncul
persoalan komputasi pada saat u(t) = 0 yaitu devided
by zero yang harus di atasi.
Berdasarkan persamaan (1.8) di atas dapat disusun
algoritma estimasi fungsi alih orde satu dengan
metoda heuristik sebagai berikut :
Algoritma : Pendekatan heuristik versi 1
Pada saat (t+1)
1. Tentukan b1est(t). harga minimum b1est = 0.
2. Masukkan u(t+1) dan y(t+1) baru
3. Hitung yest (t+1) dengan rumus

yest (t + 1) = −a1 y(t ) + b1est u(t )


4. Hitung Ɛ(t+1) dengan rumus.

 (t + 1) = y(t + 1) − yest (t + 1)
5. Hitung b1est(t+1) dengan rumus.
u( t )
b1est (t + 1) = b1est (t ) +  (t + 1)
| u|
6. Kembali ke point 2.
CONTOH
Rekaman pasangan input-output suatu sistem orde
satu yang dicuplik dengan interval waktu konstant
adalah sbb :

Apabila a1 diasumsikan sebesar 0,9 estimasi harga


parameter b1 dengan menggunakan estimasi recursif
metoda heuristik. Tentukan fungsi alih diskrit sistem
orde satu tersebut!
PENYELESAIAN
Inisialisasi : a1 = 0,9 best = 0
Iterasi 1.
y(t) = 0 u(t) = 0 y(t+1) = 0,6
Iterasi 2.
best = 0,6 y(t) = 0,6 u(t) = 1 y(t+1) = 0,86
Iterasi 3.
best = 1,4 y(t) = 0,86 u(t) = 1 y(t+1) = 0,94
Iterasi 4.
best = 1,706 y(t) = 0,94 u(t) = 1 y(t+1) = 0,98
Iterasi 5.
best = 1,826 y(t) = 0,94 u(t) = 1 y(t+1) = 0,98
Iterasi 6.
best = 1,882 y(t) = 0,94 u(t) = 1 y(t+1) = 1
Iterasi 7.
best = 1,9 y(t) = 1 u(t) = 1 y(t+1) = 1
Fungsi alih diskrit sistem adalah
y(t ) = −0,9 y(t − 1) + 1,9u(t − 1)
a1 = 0,9
f =1

Ioan Dore Landau.,”System Identification and Control Design”, Prentice-Hall International Edition, USA, 1990
Terima Kasih

Anda mungkin juga menyukai