Download - Algor-2016 Searching Sorting Dengan Array
-
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