DESAIN DAN ANALISIS ALGORITMA
Oleh:
Zulfikar Sembirin
PERTEMUAN 4
CORRECTNESS OF ALGORITHM
INTRODUCTION
• Correctness of Algorithm merupakan suatu Teknik dalam melakukan analisis terhadap suatu algoritma.
• Dimana Teknik ini membuktikan apakah suatu algoritma adalah valid (benar) atau invalid (salah)
INDUKSI MATEMATIKA (IM)
• Filosofi IM
[Barisan Orang]
• Pertanyaan: Orang Apakah Anda?
INDUKSI MATEMATIKA (IM)
• Kasus I
Tanya Orang ke-1 di barisan Jawab : Orang Inggris
Apakah itu berarti seluruh orang dibarisan adalah orang Inggirs??
Belum Tentu !!!
• Kasus II
Tanya Orang ke-n di barisan Jawab : Orang Jepang
Apakah itu berarti seluruh orang dibarisan adalah orang Jepang??
Belum Tentu !!!
INDUKSI MATEMATIKA (IM)
• Kasus III
Tanya Orang ke-1 di barisan Dan Tanya Orang ke-n di barisan Jawab : Orang Arab
Apakah itu berarti seluruh orang dibarisan adalah orang Arab??
Belum Tentu !!!
Namun Probabilitasnya :
(2 x Kasus 1) xor (2 x Kasus 2)
INDUKSI MATEMATIKA (IM)
• Kasus IV
Tanya Orang ke-1 sampai dengan Orang ke-n di barisan Jawab : Orang Indonesia
Apakah itu berarti seluruh orang dibarisan adalah orang Indonesia??
Ya !!!
INDUKSI MATEMATIKA (IM)
• Kasus IV
Tanya Orang ke-1 sampai dengan Orang ke-n di barisan Jawab : Orang Indonesia
Apakah itu berarti seluruh orang dibarisan adalah orang Indonesia??
Ya !!!
PRINSIP INDUKSI MATEMATIKA
• Apabila ada claim (pernyataan yang belum terbukti) mengenai suatu usuan algoritma (Proposed Algorithm) maka:
1.Buktikan Algoritma tersebut untuk kasus pertama.
Gunakan Base Case, dimana n = 1 .
2.Buktikan Algoritma tersebut untuk kasus ke n+1.
Gunakan Inductive Step, dimana n + 1 .
• Apabila 1 dan 2 valid Claim Valid
CONTOH
• Claim
𝟏 + 𝟐 + 𝟑 + ⋯ + 𝒏 = 𝒏𝟐 + 𝒏 𝟐
= 𝒏𝟐 + 𝒏 𝟐
KIRI KANAN
PEMBUKTIAN
• Base Case, n =1
• Kiri =
• Kanan =
𝑛2 + 𝑛 = 12 + 1
2 2 = 1
• Kiri = Kanan Base Case (BC) Valid
PEMBUKTIAN
• Inductive Step, n + 1
• Kiri =
Substitusikan dengan kanan
= 𝑛2+ 𝑛 + 𝑛 + 1 = 𝑛2+ 𝑛 + 2𝑛 + 2
= 𝒏𝟐+ 𝟑𝒏 +𝟐
2 2 2 𝟐
•
Kanan = (𝑛+1)2 + (𝑛+1)= 𝑛2+ 2𝑛 + 1+ 𝑛 +1
= 𝒏𝟐+ 𝟑𝒏 + 𝟐
2 2 𝟐
• Kiri = Kanan Inductive Step (IS) Valid
• BC & IS Valid Claim Valid
CONTOH
• Claim
𝟏𝟐 + 𝟐𝟐 + 𝟑𝟐 + ⋯ + 𝒏𝟐 = 𝒏(𝒏 + 𝟏)(𝟐𝒏 + 𝟏) 𝟔
= 𝒏(𝒏 + 𝟏)(𝟐𝒏 + 𝟏) 𝟔
KIRI KANAN
PEMBUKTIAN
• Base Case, n =1
• Kiri =
=1
• Kanan = 𝑛(𝑛 + 1)(2𝑛 + 1)
= 1(1 + 1)(2.1 + 1)
= 1(2)(3) 6
= 6 = 1
6 6 6
• Kiri = Kanan Base Case (BC) Valid
PEMBUKTIAN
• Inductive Step, n + 1
• Kiri =
Substitusikan dengan kanan
= 𝑛 (𝑛+1)(2𝑛+1)
+ 𝑛2 + 2𝑛 + 1 = 𝑛 (𝑛+1)(2𝑛+1)
+ 6𝑛2+12𝑛+6
6 6 6
= 2𝑛3 + 3𝑛2 + 𝑛 + 6𝑛2 + 12𝑛 + 6
= 𝟐𝒏𝟑 + 𝟗𝒏𝟐 + 𝟏𝟑𝒏 + 𝟔
6 6 𝟔
•
Kanan =(𝑛+1)((𝑛+1)+1)(2(𝑛+1)+1)= (𝑛 + 1)(𝑛 + 2)(2𝑛 + 3)
6 6
= 𝑛2 + 3𝑛 + 2 . (2𝑛 + 3)
= 2𝑛3 + 3𝑛2 + 6𝑛2 + 9𝑛 + 4𝑛 + 6
= 𝟐𝒏𝟑 + 𝟗𝒏𝟐 + 𝟏𝟑𝒏 + 𝟔
𝟔
6 6
• Kiri = Kanan Inductive Step (IS) Valid
• BC & IS Valid Claim Valid
ANY QUESTION…?
TUGAS
• Buktikan Claim berikut ini valid atau tidak.
𝑥𝑛+1 − 1
𝑥− 1 ; 𝑥≠ 1 𝑑𝑎𝑛 𝑛 ≥ 0
=
LATIHAN
BUATLAH RANGKUMAN DARI JURNAL TENTANG CORRECTION OF ALGORITHM