Bab 13 02 Fibo Search New

download Bab 13 02 Fibo Search New

of 18

Transcript of Bab 13 02 Fibo Search New

  • 8/17/2019 Bab 13 02 Fibo Search New

    1/18

    378

    13.3. Fibonacci Search.

    Fibonacci Search adalah pencarian sebuah elemen dalam sebuah array satu dimensi

    dengan menggunakan angka Fibonacci sebagai titik-titik (index) elemen array yang isinya

    dibandingkan dengan nilai yang dicari (misal N).

    Sama dengan Binary Search, Fibonacci Search menyaratkan data sudah urut baikmenaik maupun menurun. Dibandingkan dengan Binary Search, umlah langkah pada

    Fibonacci Search dalam memeriksa suatu nilai adalah lebih banyak, hanya

    keuntungan Fibonacci Search, prosesnya hanya menggunakan operasi tambah dan

    kurang yang memerlukan !aktu auh lebih cepat dibandingkan dengan proses

    pembagian seperti yang digunakan pada Binary Search.

    "ontoh#

    Sudah ada array satu dimensi yang dibuat dengan int $%&'.Sudah ada

    isinya urut menaik. $% tidak diisi, $%& sampai dengan $%&* isininya

    sebagai berikut #

    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

    5 7 12 15 17 19 22 25 27 32 35 37 40 45 53

    Susun algoritma untuk menginput sebuah nilai, (misal N) kemudian memeriksa dengan

    cara atau metoda Fibonacci Search apakah ada isi array yang sama dengan nilai N. Bila

    ada cetak perkataan +$D$, sedangkan bila tidak ada maka cetak perkataan +D$/ $D$.

    "ontoh, untuk isi array yang diilustrasikandiatas.

    Bila diinput untuk N 0 1*, maka tercetak +$D$.

    Bila diinput untuk N 0 &, maka tercetak +D$/ $D$

    Jawab :

    Fibonacci Search, meman2aatkan nilai nilai yang ada dalam Deret Fibonacci (Fibonaccinumber). Deret Fibonacci adalah deret yang nilai suatu suku sama dengan umlah nilai dua

    buah suku sebelumnya, atau #

    Fn

    = Fn-1

    + Fn-2

    untuk n 30 1 ,

    n adalah nomor suku dimulai dari nomor

    dimana suku nomor 0 , dan suku nomor & 0 &

    Nomor Suku & 1 4 5 * ' 6 7 8 dan

    Deret Fibonacci & & 1 4 * 7 &4 1& 45 dan

    Bagian ini yang diman2aatkan dalam Fibonacci Search

    9ntuk contoh data diatas, maka nomor index yang dalam lingkaran adalah index yangnilainya sama dengan nilai deret Fibonacci.Nomor-nomor inilah yang dipakai sebagai titik-titik utama pemeriksaan.

    01 2 3

    45

    6 78

    9 10 11 1213 14 15

    5 7 12 15 17 19 22 25 27 32 35 37 40 45 53

  • 8/17/2019 Bab 13 02 Fibo Search New

    2/18

    Ilustrasi urutan roses

    I !ntu" #u$lah ele$en n % 15

    01 2 3

    45

    6 78

    9 10 11 1213 14 15

    &ata 'an( terse)ia : 5 7 12 15 17 19 22 25 27 32 35 37 40 45 53

    !rutan roses bila

    )iiulustrasi"an )en(an

    ohon biner 

    i=5p=3q=2

     Akar

    8

    i=8p=5q=3

    25

    i=11p=5q=3

    /ebetulan m 0 4,

    Untuk nilai N > 25 ,

    maka pintu masuknya

    adalah titik 11

    i=3p=2q=1

    5 17 i=7p=1q=1

    i=8p=3q=2

    11 35 i=14p=2q=1

    5

    i=1p=1q=0

    2 7 4 15 6 19i=9p=1q=0

    10 32   13 40

    15 53

    1 5p=1

    q=0 p=1 q=0 p=19 27 p=1 12

    37q=0 p=1

    q=0p=1 q=0 p=1 q=0 p=1

    *atatan :

    Gambar pohon diatas, bukan berarti data yang ada didalam array

    satu dimensi dijadikan pohon biner. Pohon biner hanya digunakan

    untuk menggambarkan ilustrasi proses. Sebagai ontoh, untuk

    menari nilai N ! 1", maka titik#titik yang dilalui adalah $ %, 5, &, ',

    dan ditemukan pada titik '.

    +a"su) (a$bar 

    5 ndex elemen array

    17 si elemen

    arraytersebut

    9ntuk n = 15, diambil angka Fibonacci 7 sebagai titik a!al penelusuran karena dari

    & sampai &* , angka 8 yang kira-kira berada di tengah. :adi $%7 adalah titik pertama

    yang diperiksa. "ara mencari titik 8 akan dielaskan kemudian.

    ;isal ingin memeriksa apakah N 0 &8 ada dalam

    array $% . erhatikan angka-angka cabang sebelah kanan,penyusunannya mengikuti pola penempatan angka 2ibanacci mulai dari 1, 2, 3 danseterusnya.

    i=23 12

    i=67 22 8 25 

    i=1014 45

    i=1

    p=1 p=1 p=1 p=1q=1 q=0 q=1 q=0

  • 8/17/2019 Bab 13 02 Fibo Search New

    3/18

    380

    ,onse )iatas- bila )itera"an )ala$ lan("ahlan("ah al(orit$a )aat )ibuat seba(ai beri"ut :

    / I. ;enyiapkan parameter-parameter.

    1. "ari angka Fibonacci ( Fk) yang paling dekat dengan n ? & (misal n

    0 &*) /arena n 0 &', maka &4 adalah angka Fibonacci yang paling

    mendekati n ? &.

    @ 0 4 p 0 * m 0 4

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

    5 7 12 15 17 19 22 25 27 32 35 37 40 45 53

    (k#) (k#2 (k#1 (k0 &4 yaitu angkaFibonacciyang terdekatdengan

    9ntuk menentukan lokasi angka-angkaFibonacci

    diatas, maka angka angka tersebut harusdisimpandalam array (misal FBA% ), sehinggaakan terlihat sebagai berikut #

    +en'ia"an )ata

    nilai n? & 0 &'

    g;

    (k#2(k#1

    +en(isi FI )an $en(hitun( :2. "ari nilai Fk-& dan Fk-1 dan Fk-4

    nyatakan nilai i dengan Fk-&,p dengan nilaiFk-1q dengan nilaiFk-4

    sehingga didapat#

    Fk 0 &4

    Fk-& 0 7 i = 8

    Fk-1 0 *  p = 5

    Fk-4 0 4 q = 3

    3. "ari nilai increament (penambah)

    m

    dengan rumus #

    m 0 ( n?& ) - Fk0 &* ? & - &404

    "atatan # m 30

    12 3 45

    6int i, j, F0, F1, Fibo, n, m, N, Fla

  • 8/17/2019 Bab 13 02 Fibo Search New

    4/18

    381

    i- - - )an $

    lr!r"#;

    n = 15;

    F0 = 1; F1 = 1; Fibo = 1;

    j = 1;

     $%il&"Fibo '= n(1#

    ) F*+-j. = Fibo;

    Fibo = F0(F1; F0=F1; F1=Fibo;

    j((; /

    ! = j 1;

    F = F*+-!.;

    F1 = F*+-!1.; i = F1;

    F2 = F*+-!2.; p = F2;

    F3 = F*+-!3.; q = F3;

     m = "n(1# F;

    i sebagaititik awal

    m ini digunakan hanya bila untuk pertama kali N3 $% i

    pencarian.

  • 8/17/2019 Bab 13 02 Fibo Search New

    5/18

    / II.

    ;enentukan nilai index i sebagai titik a!al pemeriksaaan

    (search) Sebelumnya sudah didapat nilai i 0 7, sehingga

    $% i adalah 1*, >eriksa nilai yang akan dicari (misal N)

    &. Bila N lebih besar dari $% i , maka ubah nilai imenadi

    i 0 i ?m

    0 7 ? 4 0&&

    1. Bilai N tidak lebih besar dari $% i , nilai i tetap 07.

    scanf("!" #$%&

    if($ ' )i*%

    i = i + ,&

    @ 0 4 p 0 * m 0 4

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

    5 7 12 15 17 19 22 25 27 3235 37 40 45 53

    (k#)

    / III. roses Search

    (k#2 (k#1 (k0 &4 yaitu angkaFibonacciyang terdekatdengan nilain? & 0 &'

    Selama nilai i ! ", ulangi pro#e# loopberikut ini $

    Bila % = = &' i(berarti N ditemukan pada langkah ini.

    dan proses dibuat #ele#ai.

    Bila % &' i (,berarti harus mencari ke sisi kiri,

    cari nilai i yang baru dengan cara #

    -Bila @ 00 , berarti nilai N tidak

    ditemukan dan proses dibuat

    selesai dengan cara membuat

    nilai i 0 ,

    - Bila @ 0 , maka i 0 i - @ (mundursebanyak @)

    t 0 pp  0

    @

    @ 0 t -@

    kemudian ulangi mengerakanloop

    Bila % ! &' I (,

    berarti harus mencari ke sisi

    kanan, cari nilai i yang baru

    dengan cara#

    - Bila p 00 &, berarti N tidak

    ditemukan, dan prosesdibuat selesai dengan cara

    membuat nilai i 0

    - Bila p 0 &, maka i 0 i ?@ (mau sebanyak @)

    0 p

     -

     @

     @

     0

     @

     -

     p

    kemudianulangimengerakanloop

  • 8/17/2019 Bab 13 02 Fibo Search New

    6/18

    Flag = 0;

     $%il&" i = 0 Flag == 0#

    )i"N == A-i.# Flag = 1;

    &l!&

    i"N ' A-i.#

    )i"q == 0# i = 0;

    &l!& ) i = i q;

    t = p;

     p = q;

    q = t q;

    /

    /

    &l!&

    ) i"p==1# i = 0;

    &l!&

    ) i = i ( q;

     p = p q;

    q = q p;

    /

    /

    /

    i"Flag == 1#

     print"nFN#;

    &l!& print"nN: FN #;

    /

  • 8/17/2019 Bab 13 02 Fibo Search New

    7/18

    *ontoh roses $ untuk jumlah elemen n ! 15.

    1 !ntu" nilai 'an( )icar 

    (k#) (k#2 (k#1 (k

     $C$> - didapat #

    Fk 0 &4

    Fk-& 0 7 i0 7

    Fk-1 0 * p0 *

    Fk-4 0 4 q0 4

    Pintu masuk

    untuk N *! 25

    i=5p=3q=2

     Akar

    8

    i=8p=5q=3

    25

    i=11p=5q=3

    /ebetulan m 04,

    Pintu masuk

    untuk N > 25

    m 0 (&* ? &) - &4

    0 3

    i=3p=2q=1

    5 17i=7p=1q=1

    i=8p=3q=2

    11 35 i=14p=2q=1

     $C$> - .

    N 0&8

    i=2p=1q=1

    3 12i=6p=1q=0

    7 22 8 25i=10p=1q=1

    14 45i=15p=1q=0

    $% i 0 $% 7 0 1*

    N = 1* itetap = 8

    i=1p=1q=0

    2 7 4 15 6 19 i=9p=1q=0

    10 32   13 40

    15 53

    1 5p=1

    q=0 p=1 q=0 p=19 27 p=1 12

    37q=0 p=1

     $C$> - >roses

    q=0 p=1 q=0 p=1 q=0 p=1

     Akar i=8 i 0 7, $%7 0 1*)angkah - 1. N = 1* cari ke kiri #

    i=5p=3q=2

    p=5q=3

    8 25

    19

    i 0 *, $%* 0&6

    @ 0 i 0 i - @ i 07 - 4 0 * t 0 pt 0 *p 0 @ p 0 4

    @ 0 t @ @ 0 * - 40 1

    )angkah - 2. N 3 &6 cari ke kanan #

    i=3p=2q=1

    3 12

    5 17

    i=6

    i=7p=1q=1

    7 22

    19

    i 0 6, $%6 011

    p 0 & i 0 i ? @ i 0 *? 1 0 6 p 0 p - @p 0 4 - 1 0 & @ 0 @ - p@ 0 1 - & 0 &

    p=1q=0

    )angkah - 3. N = 11 cari ke kiri #

    q=0

    4 15

    p=1

    6

    q=0

    19

    p=1

    19

    i 0 ', $%' 0

    &8

    @ 0 i 0 i - @ i 0 6 - &0 '

    t 0 p t 0 &p 0 @ p 0 &@ 0 t @ @ 0 & - & 0

    i : % 1

    &

    9@ 0 p 0 *

    4 5 * ' 7 8 & &1 &4 &5 &*

    5 7 12 15 17 19 22 25 27 32 35 37 40 45 53

  • 8/17/2019 Bab 13 02 Fibo Search New

    8/18

    )angkah - *. N 0 &8 &ite$u"an nilai yang 0 19 19 pada langkah ke - 5.

  • 8/17/2019 Bab 13 02 Fibo Search New

    9/18

    3831

    2 !ntu" nilai 'an( )icari : % 20

    @ 0 4 p 0 *

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

    5 7 12 15 17 19 22 25 27 32 35 37 40 45 53

    (k#) (k#2 (k#1 (k

     $C$> - didapat #Fk 0 &4

    Fk-& 0 7 i0 7

    Fk-1 0 * p0 *

    FBA% & 1 4 5 * '

    1 2 3 5 8 13

    (k

    Fk-4 0 4 q

    0 4 m 0 (&* ? &)

    - &4 0 4

    (k#)(k#2

    (k#1

     $C$> - . N 0 1

    $% i 0 $% 7 0 1*

    N = 1* itetap = 8

     $C$> - >roses mencari nilai 1

    i 0 7, $%7 0 1*)angkah - 1. N = 1* cari ke kiri #

     Akar i=8p=5q=3

    20

    i 0 *, $%* 0&6

    @ 0 i 0 i - @ i 0 7 -4 0 *

    t 0 p t 0 *p 0 @ p 0 4@ 0 t @ @ 0 * - 40 1

    8 25 )angkah - 2. N 3 &6 cari ke kanan #

    i=3

    p=2q=1

    i=5p=3q=2

    5 17i=7p=1

    q=1

    20

    i 0 6, $%6 011

    p 0 & i 0 i ? @ i 0 *? 1 0 6 p 0 p - @p 0 4 - 1 0 & @ 0 @ - p@ 0 1 - & 0 &

    3 12 7 22)angkah - 3. N = 11 cari ke kiri #

    4 15

    i=6p=1q=0

    6

    q=0

    19

    p=1

    20

    i 0 ', $%' 0&8

    @ 0 i 0 i - @ i 06 - & 0 ' t 0 pt 0 &p 0 @ p 0 &@ 0 t - @ @ 0 & -& 0

    )angkah - *. N 3 &8 cari ke kanan #20

  • 8/17/2019 Bab 13 02 Fibo Search New

    10/18

    3831

    p 0 & 2" /i)a" )ite$u"an

    sampai dengan langkahterakhir (pada langkahke-5) dan pro#e##ele#ai.

  • 8/17/2019 Bab 13 02 Fibo Search New

    11/18

    384

    12.

    3 !ntu" nilai 'an( )icari : % 45

    @ 0 4 p 0 *

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

    5 7 12 15 17 19 22 25 27 3235 37 40 45 53

    (k#) (k#2 (k#1 (k

     $C$> - sama denganprosessebelumnyadidapat #

    i = 8 p = 5

    FBA% & 1 4 5 * '

    1 2 3 5 8 13

    (k

    q = 3

     m =3

     $C$> - . N 0 5*

    $% i 0 $% 7 01*

    (k#)(k#2 (k#1

    N 3 1* i , ib - >roses mencari nilai5*

    9 27 12 37 q=0 p=1

    i=11p=5q=3 i 0 &&, $%&& 0

    4*

    q=0 p=1 q=0 p=1

    11 35

    i=13p=1q=1

    i=14p=2q=1

    14 45i=15p=1q=0

    )angkah - 1. N 3 4* cari ke kanan #

    45

    i=12p=1q=0

    13 40

    15 53

    12 37q=0 p=1

    i 0 &5, $%&5 0 5*

    )angkah - 2. N 0 5* 45 &ite$u"an pada langkah-1q=0 p=1 45

    p 0 & i 0 i ? @ i 0 && ? 4 0

    p 0 p -

    @ @ 0 @

     

    p 0 * 4

    0 1 @ 0 4

     

  • 8/17/2019 Bab 13 02 Fibo Search New

    12/18

    12. 8

    4 !ntu" nilai 'an( )icari : % 27@ 0 4 p 0 *

    & 1 45

    5 7 12 15

    &5 &* &'

    45 53

    (k#) (k#2 (k#1 (k

     $C$> - sama denganprosessebelumnyadidapat #

    i = 8

    FBA% & 1 4 5 * '

    1 2 3 5 8 13

    (k

     p = 5

    q = 3

     m =3

     $C$> - . N 0 16

    $% i 0 $% 7 01*

    i=8p=3q=2

    (k#)   (k#2

    11 35

    (k#1

    i=14p=2q=1

    N 3 1* i

    ib - >roses mencari nilai16 i 0 &&, $%&& 0

    4*

    q=0 p=1 q=0 p=1

    i=8p=3q=2

    i=11p=5q=3

    11 35

    )angkah - 1. N = 4* cari ke kiri #

    27

    i 0 7, $%7 0 1*8 25 

    i=10 )angkah - 2. N 3 1* cari ke kanan #

    i=9p=1

    p=1

    q=110 32

    27

    i 0 &, $%&041

    p 0 & i 0 i ? @ i 0 7 ? 1

    0 &p 0 p - @ p 0 4 - 1 0&@ 0 @ - p @ 0 1 - & 0 &

    q=0

    q=0

    9 27

    p=1

    )angkah - 3. N = 41 cari ke kiri #27

    @ 0 i 0 i - @ i 0 & - &0 8

    t 0 p t 0 &p 0 @ p 0 &@ 0 t - @ @ 0 & - & 0

    /erlihat titi" 8 )i"un#un(i se"ali la(i- tai tentu sa#anilain'a ti)a" sa$a )en(an nilai

    * ' 6 7 8 && &1 &4

    17 19 22 25 27 32 35 37 40

    @ 0 i 0 i - @ i 0 && - 4t 0 p t 0 *p 0 @

    @ 0 t @

    p 0 4

    @ 0 * - 4 0

  • 8/17/2019 Bab 13 02 Fibo Search New

    13/18

    i 0 8, $%8 0 16 )angkah - *. N 00 16 2 ite$u"an27 pada langkah ke-5

  • 8/17/2019 Bab 13 02 Fibo Search New

    14/18

    >> Fibo?rg1

    @inl

  • 8/17/2019 Bab 13 02 Fibo Search New

    15/18

    387

    Ilustrasi urutan roses

    II !ntu" #u$lah ele$en n % 20

    +isal )ata 'an( terse)ia )ala$ arra' seba(ai beri"ut :

    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

    5 7 12 15 17 19 22 25 27 32 35 37 40 45 53 57 62 66 69 73

    9ntuk n 0 1

    1 2 3 * 5 lr!r"#;

    n = 15;

    F*+-. 1   2 3 5 8 13 21 F0 = 1;

    j = 1;

    F1 = 1; Fibo = 1;

    (k#2

    (k#)

    (k

    (k#1

     $%il&"Fibo '= n(1#

    ) F*+-j. = Fibo;

    Fibo = F0(F1; F0=F1; F1=Fibo;

    j((; /

    ! = j 1;

     m = n(1 Fk

    = 21 21

    = 0

    i = 13

     p = 8

    q = 5

     m = 0

    F = F*+-!.;

    F1 = F*+-!1.; i = F1;

    F2 = F*+-!2.; p = F2;

    F3 = F*+-!3.; q = F3;

     m = "n(1# F;

    &lur penelu#urann/a bila iilu#tra#ikanenganpohon biner, apatigambarkan #ebagai berikut $

     Akar i=13p=8q=5

    Pintu masuk untuk semua

    nilai N, karena m !

    13 40

    i=8p=5q=3 8 25

    i=18p=3q=2

    18 66

    i=3p=2q=1

    i=5p=3q=2

    5 17i=7p=1q=1

    i=10p=1q=1

    i=11p=2q=1

    11 35 i=12p=1q=0

    i=15p=1q=1

    i=16p=2q=1

    16 57

    i=20p=1q=1

    20 73

    i=1p=1

    i=2p=1q=1

    2

    3 12

    7 4 15

    i=6p=1q=0

    6

    7 22 i=9p=1q=0

    19 9

    10 32

    27

    12 35 15 53

    14 45

    17 62 19 69

    q=01 5

    Ilustrasi urutan rosesII

    I

    !

    ntu" #u$lahele$en n % 30

  • 8/17/2019 Bab 13 02 Fibo Search New

    16/18

    388

    F"2q = 5

    F"1p = 8

    & 1 4 5 * ' 7 8 & && &1 &4 &* &' &7 &8 1

    5 7

    F"

    10 12 17 19 25 27 29 31 34 35 39 42 44 45 48 49 52 55

    q = 8 m = 10

    1& 11 14 15 1* 1' 16 17 18 4 4&

    57 58 64 68 70 72 74 75 77 80

    n = 50

    Fk = 34

    -k1 = 13 i = 13

    -k2 = 8  p = 8

    -k3 = 5 q = 5

     m = (30 + 1%21 = 10

    a(ian

    ini

    Su)ah

    Jelas

    i=13p=8q=5 13

    m ! 1

    i=23p=8q=5

    Pintu masuk untuk N > )"

    8 23i=18p=5q=3

    i=28p=3q=2

    i 0 i ?@ p 0 p- @ @ 0@ - p

    i 0 i -@ t 0 pp 0 @

    i=13p=2

    i=15p=3q=2

    15

    18

    i=17p=1q=1

    i=20p=1q=1

    i=21p=2q=1

    21i=22p=1q=0

    i=25p=1

    i=26 28p=2q=1

    26

    i=30p=1

    30 q=1

    @ 0 t @

    q=1

    13i=14p=1q=1

    14

    17

    16 p=1

    i=1920

    p=1q=0

    19p=1

    22

    q=0 p=1

    q=1

    25

    24

    27

    q=0

    29

    q=0

    i=29p=1q=0

    p=1

    p=1

    q=0 p=1 q=0 p=1 q=0 p=1 q=0p=1

  • 8/17/2019 Bab 13 02 Fibo Search New

    17/18

    389

    12. 12

    *ontoh Soal 1

    Dalam array yang dibuat dengan int &'51( kolom $%& sampai dengan $%* sudahada isinya nilai nilai numerik yang urut menaik dari nilai terkecil sampai dengan nilaiterbesar sebagai berikut #

    1 4 * ' 7 8 & && &1 &4 &5 &* &' &6 &7 &8 1

    5 7 10 12 17 19 25 27 29 31 34 35 39 42 44 45 48 49 52 55

    1& 11 14 15 1* 1' 16 17 18 4 4& 41 44 45 4* 4' 46 4748 5

    57 58 64 68 70 72 74 75 77 80 81 82 85 89 90 95 98 100 101 105

    5& 51 54 55 5* 5' 56 5758 *

    107 112 115 117 120 122 125 128133 137

    Catatan : /ndeks yang ditandai dengan panah,0yaitu $ 1,2,),5,%,1),21,) adalah nilai#nilai deret(ibonai yang dipakai sebagai key.

    Soal : Susun tabel yang memuat langkah-langkah untuk memeriksa suatu nilai Nsecara Fibonacci Search, apakah ditemukan atau tidak ditemukan isi array

    yang nilainya sama dengan nilai N.

    bila nilai N samadengan #

    q = 8

    & 1 4 5 * ' 6 7 8 & && &1 &4 &5 &* &' &6 &7&8 1

    5 7 10 12 17 19 25 27 29 31 34 35 39 42 44 45 48 49 52 55

    q = 8 p = 13

    1& 11 14 15 1* 1' 16 17 18 4 4& 41 44 45 4* 4' 46 47 485

    57 58 64 68 70 72 74 75 77 80 81 82 85 89 90 95 98 100 101 105

    5& 51 54 55 5* 5' 56 5758 *

    107 112 115 117 120 122 125 128133 137

    $ ! 05 3 1 # ) ! 1&

    a. 5 d. 57 g. 100

    b. 9 e. 85 h. 150

    c. 17 f. 89 i. 2

    n= 50

    (k#1 ! 21 i ! 21

    Fk = 34 (k#2 ! 1) ! 1)

    (k#) ! % ! %

  • 8/17/2019 Bab 13 02 Fibo Search New

    18/18

    390

    12. 13

    Jawab : 9ntuk data diatas,$%& sampai dengan$%*, didapat#

    n = 50

    "atatan untuk menghitung i, p,dan @ serta konndisi +idakDitemukan +

    (&) i 0 i - @(1) t 0 pFk = 34

    Fk1 = 21 i = 21

    Fk2 = 13 p = 13

    Fk3 = 8 q = 8

    m = !50 " 1# 34 = 17

    (4) p 0@(5) @ 0 t -@

    (*) i 0 i ?@ (') p 0p -@ (6) @0 @ - p

    @ =0 --3 tidak ditemukan

    p =0 & --3 tidak ditemukan

    a.Untuk : N = 5

    $%i& = 57' = 5( ) ' *idak +ebih be,a- da-i $%i&( ,ehingga i tidak di-bah.

    q = 8

    & 1 4 5 * ' 6 8 & && &1 &4 &5 &* &' &6 &7 &8 1

    5 7 10 12 17 19 25 27 29 31 34 35 39 42 44 45 48 49 52 55

    q = 8 p = 13

    1& 11 14 15 1* 1' 16 17 18 4 4& 41 44 45 4* 4' 46 4748 5

    57 58 64 68 70 72 74 75 77 80 81 82 85 89 90 95 98 100 101 105

    /e kiri /e kanan

    +angkahi p q $%i& /ndi,i Ca-i ke /ndi,i i t p

    @/ndi,i i p @

    (*) ( ') (6)

    13 8

    8 5

    5 3

    5 39

    3 27

    2 17

    5 39

    5 27

    5 17

    ke ki-i

    ke ki-i

    ke ki-i

    q = 0

    q = 0

    q = 0

    8 85 3

    5 5 3 3

    3 3 2 1

    3 2 1 10 5 10 ke ki-i q = 0 2 21 1

    2 1 1 7 5 7 ke ki-i q = 0 1 1 1 0

    1 1 0 5 5 = 5Pada langka k!"#$$

    dit!%ukan bawa nilai 5 ada dala% a&&a' di l(ka)i *+ 1 ,

    ke ' $%& ki-i kanan q (&) (1) (4) (5) p