algor-2016 searching sorting dengan array

Upload: lelianto-eko-pradana

Post on 05-Jul-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    1/53

    SORTING DANSEARCHINGSORTING DANSEARCHING

    5/26/16 1

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    2/53

    2

    Contoh Array•

    Character arrays – String “first” is really a static array of characters – Character arrays can be initialized using string literals

    – char string1[] = "first";• Null character '\0' terminates strings• string1

    actually has 6 elements – It is equi alent tochar string1[] = { 'f', 'i', 'r', 's', 't', '\0' }; – Can access indi idual characters

    string1[ 3 ] is character ‘s’ – Array name is address of array! so " not needed for scanf

    – scanf( "%s", string !;• #eads characters until $hites%ace encountered• &e careful not to $rite %ast end of array! as it is %ossible to

    do so

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    3/53

    '

    (utline

    fig06_10.c

    (1 of 2 )

    string2 array is defined with oneelement for each character, so 15elements including null character/0

    for loop prints characters ofstring1 array with spaces in

    between

    Diambil dari materi Deitel – Deitel, C How toprogram Pearson Ed !ation In!"

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    4/53

    )

    (utline

    fig06_10.c

    (2 of 2 )

    Diambil dari materi Deitel – Deitel, C How toprogram Pearson Ed !ation In!"

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    5/53

    5

    6*5 +assing Arrays to

    ,unctions• +assing arrays – -o %ass an array argument to a function! s%ecify the

    name of the array $ithout any brac.ets – int #$rra#[ ]; – #& ncti n( #$rra#, !;

    • Array size usually %assed to function – Arrays %assed call by reference – Name of array is address of first element – ,unction .no$s $here the array is stored

    0odifies original memory locations• +assing array elements

    – +assed by call by alue – +ass subscri%ted name i*e*! #$rra#[ 3 ] to function

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    6/53

    6

    6*5 +assing Arrays to

    ,unctions• ,unction %rototy%e) i* *if#$rra#( int +[], int arra# i-e !;

    – +arameter names o%tional in %rototy%e• int +[] could be $ritten int []• int arra# i-e could be sim%lyint

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    7/53

    3

    (utline

    fig06_12.c

    Diambil dari materi Deitel – Deitel, C How toprogram Pearson Ed !ation In!"

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    8/53

    4

    (utline

    fig06_13.c

    (1 of 3 )

    Function prototype

    indicates function willtake an array

    Array a is passed to modifyArray by passing

    only its name

    Diambil dari materi Deitel – Deitel, C How toprogram Pearson Ed !ation In!"

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    9/53

    (utline

    fig06_13.c

    (2 of 3 )

    Array element is passed to modifyElement by passing

    a[ 3 ]

    Diambil dari materi Deitel – Deitel, C How toprogram Pearson Ed !ation In!"

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    10/53

    1

    (utline

    fig06_13.c

    (3 of 3 )

    Diambil dari materi Deitel – Deitel, C How toprogram Pearson Ed !ation In!"

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    11/53

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    12/53

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    13/53

    1'

    6*6 Sorting Arrays• Sorting data – Im%ortant com%uting a%%lication – 7irtually e ery organization must sort some data

    • &ubble sort sin.ing sort / straight e8change sort – Se eral %asses through the array – Successi e %airs of elements are com%ared

    • If increasing order or identical ! no change• If decreasing order! elements e8changed

    – #e%eat• 98am%le:

    – original: ' ) 2 6 3 – %ass 1: ' 2 ) 6 3 – %ass 2: 2 ' ) 6 3 – Small elements ;bubble; to the to%

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    14/53

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    15/53

    1 6 ) ' 3 4

    1 6 ) ' 3 4

    1 6 ) ' 3 4

    1 6 ) ' 3 4

    1 2 ' ) 5 6

    1 6 ' ) 3 4

    1 ' 6 ) 3 4

    +utaran

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    16/53

    1 ' 6 ) 3 4

    1 ' 6 ) 3 4

    1 ' 6 ) 3 4

    1 2 ' ) 5 6

    1 ' 6 ) 3 4

    1 ' ) 6 3 4

    +utaran

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    17/53

    1 ' ) 6 3 4

    1 ' ) 6 3 4

    1 ' ) 6 3 4

    1 2 ' ) 5 6

    1 ' ) 6 3 4

    +utaran

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    18/53

    Sorting• =elas.an se%erti contoh sebelumnya: – Selection sort – Shell sort

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    19/53

    1

    (utline

    fig06_15.c

    (1 of 2 )

    Diambil dari materi Deitel – Deitel, C How toprogram Pearson Ed !ation In!"

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    20/53

    2

    (utline

    fig06_15.c

    (2 of 2 )

    !f any two array elements are outof order, the function swapsthem

    Diambil dari materi Deitel – Deitel, C How toprogram Pearson Ed !ation In!"

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    21/53

    21

    6*3 Case Study: Com%uting 0ean!

    0edian and 0ode >sing Arrays• 0ean ? a erage• 0edian ? number in middle of sorted

    list – 1! 2! '! )! 5 – ' is the median

    0ode ? number that occurs mostoften – 1! 1! 1! 2! '! '! )! 5 –

    1 is the mode

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    22/53

    22

    (utline

    fig06_16.c

    (1 of " )

    Diambil dari materi Deitel – Deitel, C How toprogram Pearson Ed !ation In!"

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    23/53

    2'

    (utline

    fig06_16.c

    (2 of " )

    Diambil dari materi Deitel – Deitel, C How toprogram Pearson Ed !ation In!"

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    24/53

    2)

    (utline

    fig06_16.c

    (3 of " )

    #nce the array is sorted, the medianwill be the $alue of the middleelement

    Diambil dari materi Deitel – Deitel, C How toprogram Pearson Ed !ation In!"

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    25/53

    25

    (utline

    fig06_16.c

    (% of " )

    Diambil dari materi Deitel – Deitel, C How toprogram Pearson Ed !ation In!"

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    26/53

    26

    (utline

    fig06_16.c

    (5 of " )

    Diambil dari materi Deitel – Deitel, C How toprogram Pearson Ed !ation In!"

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    27/53

    23

    (utline

    fig06_16.c

    (" of " )

    Diambil dari materi Deitel – Deitel, C How toprogram Pearson Ed !ation In!"

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    28/53

    24

    (utline

    (1 of 2 )

    Diambil dari materi Deitel – Deitel, C How toprogram Pearson Ed !ation In!"

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    29/53

    2

    (utline

    (2 of 2 )

    Diambil dari materi Deitel – Deitel, C How toprogram Pearson Ed !ation In!"

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    30/53

    '

    6*4 Searching Arrays• Search an array for a .ey alue • @inear search

    Sim%le – Com%are each element of array $ith .ey

    alue –

    >seful for small and unsorted arrays

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    31/53

    +encarian/Searching• +encarian atau searching adalahmencari nilai / sesuatu yang men adi

    tu uan %encarian tersebut dari.um%ulan data yang ada*

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    32/53

    Searching +endahuluan• 0isal.an untu. .um%ulan data alamat!da%at dila.u.an %encarian sebagai

    beri.ut : – 0encari orang yang bertem%at tinggaldi =a$a -engah

    – 0encari orang orang yang berumur lebihbesar dari 21 tahun dan lebih .ecil dari' tahun

    – 0encari orang orang dengan marga

    tertentu

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    33/53

    Searching +endahuluan• >ntu. mencari Bsesuatu %ada.um%ulan data tersebut! .ita

    mengguna.an .unci .ey * 0isal.anada .um%ulan data yang terdiri darialamat! nama! umur! asal %ro%insi* &ila.ita ingin mencari asal %ro%insi mana!ma.a yang men adi .unci adalah asal%ro%insi*

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    34/53

    Sequantial Searching• Sequantial searching! mencari datadari a$al sam%ai dengan menemu.an

    data tersebut• Disebut uga dengan linear searching

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    35/53

    Sequantial Searching6 ) ' 3 1 4

    6 ) ' 3 1 4

    6 ) ' 3 1 4

    6 ) ' 3 1 4

    1 2 ' ) 5 6

    3

    &erhasil ditemu.an EE

    Nilai yang dicari

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    36/53

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    37/53

    Algoritma Searching%rog sequentialGsearching

    @ H SI 9 J K L12! 23! 4! 36! 66! ')! 52! 15! ! )6! 53! 62M/ @ is an array of 12 integers /

    n K SI 9 $rite ;0asu..an nilai yang dicari : ; read 8

    @HnO1J K 8 / L%asang sentinelM /i K 1$hile 8 EK @HiJ do

    i K i O 1

    end $hile

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    38/53

    Algoritma lan utanif i K n O 1$rite ;Nilai i tida. ditemu.an;

    / L8 tida. ditemu.anM /else $rite ;Inde.s array nilai yang

    dicari adalah: P! i end if

    end %rog

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    39/53

    +rogram dalam bahasa C/ +rogram sederhana %ertama /Qinclude Rstdio*hQdefine SI 9 12int main oid L int @H SI 9 J K L12! 23! 4! 36! 66! ')! 52! 15! ! )6! 53! 62MT

    / @ is an array of 12 integers / int iT / counter /

    int nT int 8T

    n K SI 9T

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    40/53

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    41/53

    ( tli

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    42/53

    )2

    (utline

    fig06_18.c

    (2 of 3 )

    Diambil dari materi Deitel – Deitel, C How toprogram Pearson Ed !ation In!"

    ( tline

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    43/53

    )'

    (utline

    fig06_18.c

    (3 of 3 )

    &inear search algorithmsearches through e$eryelement in the array until amatch is found

    Diambil dari materi Deitel – Deitel, C How toprogram Pearson Ed !ation In!"

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    44/53

    ))

    6*4 Searching Arrays• &inary search – >ntu. array yang telah diurut sa a –

    0embanding.an antara elemen i**.e dengan /e#• =i.a sama! sesuai ditemu.an• =i.a /e# i**.e ! melihat %ada array

    setengah %ertama• =i.a /e# i**.e ! melihat %ada array sisa• >lang

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    45/53

    Searching Arrays – 7ery fastT at most n ste%s! $here 2 n number of elements

    • ' element array ta.es at most 5 ste%s – 25 ' so at most 5 ste%s

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    46/53

    &inary Search• Algoritma yang diguna.an bila.um%ulan data yang a.an dicari

    tersebut sudah diurut• Contoh :

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    47/53

    (utline

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    48/53

    )4

    (utline

    fig06_19.c

    (1 of " )

    Diambil dari materi Deitel – Deitel, C How toprogram Pearson Ed !ation In!"

    (utline

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    49/53

    )

    (utline

    fig06_19.c

    (2 of " )

    Diambil dari materi Deitel – Deitel, C How toprogram Pearson Ed !ation In!"

    (utline

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    50/53

    5

    (utline

    fig06_19.c

    (3 of " )

    !f $alue is found, return itsinde'

    !f $alue is too high, search the left half ofarray

    !f $alue is too low, search the right half of

    array

    Diambil dari materi Deitel – Deitel, C How toprogram Pearson Ed !ation In!"

    (utline

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    51/53

    51

    (utline

    fig06_19.c

    (% of " )

    Diambil dari materi Deitel – Deitel, C How toprogram Pearson Ed !ation In!"

    (utline

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    52/53

    52

    (utline

    fig06_19.c

    (5 of " )

    Diambil dari materi Deitel – Deitel, C How toprogram Pearson Ed !ation In!"

    (utline

  • 8/16/2019 Algor-2016 Searching Sorting Dengan Array

    53/53

    5'

    (utline

    fig06_19.c

    (" of " )

    Diambil dari materi Deitel Deitel C How to