You are on page 1of 15

1

1
A|gor|lra dar 3lru|lur 0ala kr1z |zr|Iz
I1rl|1 k|1r|l|ms
1. |aserl|aa
2. 8e|etl|aa
3. Baaa|e
4. 8|e||
5. a|t|
. Vere
2
A|gor|lra dar 3lru|lur 0ala kr1z |zr|Iz
I11|s I1rl
Velaae e|emaaa (/e///e so/tl a|seaal aeaaa melaae
jeaa|araa (esc/soe so/tl aaa|a| melaae yaa meaaral|aa
aala aeaaa tara memaaaa|a|aa mas|amas|a e|emea,
|emaa|aa me|a|a|aa jeaa|araa a||a jer|a.
Velaae |a| maaa| a|ja|am| aaa a|jraram, lelaj| a||a
a|aaaa|a|aa aeaaa melaae |a|a yaa ||la je|ajar|, melaae |a|
meraja|aa melaae yaa ja||a l|aa| eI|s|ea.
2
3
A|gor|lra dar 3lru|lur 0ala kr1z |zr|Iz
I111||1 ; l|s |zrssl ||sms1l
Neagece| se|ampa|aa e|emea
- Nem|aah|aaaya ar| pes|s| awa| |e a|h|r
- "Neagge|em|aag|aa" a||a| ter|esar |e |ag|aa a|h|r
meaggaaa|aa metee pem|aa|agaa sepasaag aa peaa|araa
5 12 35 42 77
101
0 1 2 3 4 5
4
A|gor|lra dar 3lru|lur 0ala kr1z |zr|Iz
I111||1 ; l|s |zrssl ||sms1l
1raverse a ce||ect|ea et e|emeats
- Neve trem the treat te the ea
- "8a|||e" the |argest va|ae te the ea as|ag pa|rw|se
cempar|seas aa swapp|ag
5 12 35 42 77
101
Swap
42 77
0 1 2 3 4 5
3
5
A|gor|lra dar 3lru|lur 0ala kr1z |zr|Iz
I111||1 ; l|s |zrssl ||sms1l
1raverse a ce||ect|ea et e|emeats
- Neve trem the treat te the ea
- "8a|||e" the |argest va|ae te the ea as|ag pa|rw|se
cempar|seas aa swapp|ag
5 12 35 77 42
101
Swap
35 77
0 1 2 3 4 5
6
A|gor|lra dar 3lru|lur 0ala kr1z |zr|Iz
I111||1 ; l|s |zrssl ||sms1l
1raverse a ce||ect|ea et e|emeats
- Neve trem the treat te the ea
- "8a|||e" the |argest va|ae te the ea as|ag pa|rw|se
cempar|seas aa swapp|ag
5 12 77 35 42
101
Swap
12 77
0 1 2 3 4 5
4
7
A|gor|lra dar 3lru|lur 0ala kr1z |zr|Iz
I111||1 ; l|s |zrssl ||sms1l
1raverse a ce||ect|ea et e|emeats
- Neve trem the treat te the ea
- "8a|||e" the |argest va|ae te the ea as|ag pa|rw|se
cempar|seas aa swapp|ag
5 77 12 35 42
101
No need to swap
0 1 2 3 4 5
8
A|gor|lra dar 3lru|lur 0ala kr1z |zr|Iz
I111||1 ; l|s |zrssl ||sms1l
1raverse a ce||ect|ea et e|emeats
- Neve trem the treat te the ea
- "8a|||e" the |argest va|ae te the ea as|ag pa|rw|se
cempar|seas aa swapp|ag
5 77 12 35 42
101
Swap
5 101
0 1 2 3 4 5
5
9
A|gor|lra dar 3lru|lur 0ala kr1z |zr|Iz
I111||1 ; l|s |zrssl ||sms1l
1raverse a ce||ect|ea et e|emeats
- Neve trem the treat te the ea
- "8a|||e" the |argest va|ae te the ea as|ag pa|rw|se
cempar|seas aa swapp|ag
77 12 35 42
5
101
Nilai terbesar telah menempati posisinya
0 1 2 3 4 5
10
A|gor|lra dar 3lru|lur 0ala kr1z |zr|Iz
k|1r|lmz sl11s I111|s I1rl
11l1s szl1 sz|| |lsrzs|
1. index 0
2. pos_akhir n-2
3. se|ama index <= pos_akhir |erja|aa aar|s
4 aaa 5
4. J||a A[index] > A[index+1]
Swap(A[index], A[index+1])
5. index index + 1
6
11
A|gor|lra dar 3lru|lur 0ala kr1z |zr|Iz
k|1r|lmz sl11s I111|s I1rl
rsrs| I
index <- 0
pos_akhir <- n 2
loop
exitif(index > pos_akhir)
if(A[index] > A[index + 1]) then
Swap(A[index], A[index + 1])
endif
index <- index + 1
endloop
12
A|gor|lra dar 3lru|lur 0ala kr1z |zr|Iz
tz1 ;sr|1 1|;sr|zl|sz1..
Perhat||aa |ahwa haaya a||a| ter|esar yaag saah
meaempat| pes|s|aya
8e|arah a||a| yaag |a|a mas|h |e|am terarat|aa
8eh|agga ||ta per|a meaga|aag preses |a|
77 12 35 42
5
101
Nilai terbesar telah menempati posisinya
0 1 2 3 4 5
7
13
A|gor|lra dar 3lru|lur 0ala kr1z |zr|Iz
s;szl I111|s ; K1W z1) I|mssf
J||a ||ta paaya k e|emea.
0aa [||a set|ap |a|| ||ta meagge|em|aag |aa se|aah
e|emea, ||ta meaempat|aaaya paa pes|s| yaag tepat.
8erart|, ||ta meaga|aag preses "|a|||e ap" se|aaya| k
- 1 |a||.
ha| |a| mea[am|a ||ta a|aa meaempat|aa se|arah k
e|emea secara tepat.
14
A|gor|lra dar 3lru|lur 0ala kr1z |zr|Iz
I111||1 k|| l|s ||sms1ls
77 12 35 42 5
0 1 2 3 4 5
101
5 42 12 35 77
0 1 2 3 4 5
101
42 5 35 12 77
0 1 2 3 4 5
101
42 35 5 12 77
0 1 2 3 4 5
101
42 35 12 5 77
0 1 2 3 4 5
101
N

-
1
8
15
A|gor|lra dar 3lru|lur 0ala kr1z |zr|Iz
s11rz1| 11m|z| |sm1z11|1z1
12 35 42 77 101
0 1 2 3 4 5
5
77 12 35 42 5
0 1 2 3 4 5
101
5 42 12 35 77
0 1 2 3 4 5
101
42 5 35 12 77
0 1 2 3 4 5
101
42 35 5 12 77
0 1 2 3 4 5
101
16
A|gor|lra dar 3lru|lur 0ala kr1z |zr|Iz
s11rz1| 11m|z| |sm1z11|1z1
Paa preses "|a|||e ap" |ek, ||ta haaya |atah aata|
me|a|a|aa se|aaya| NkXk pem|aa|agaa.
0eateh:
- |a| aa|ah preses "|a|||e ap" |e4
- NkX aa|ah 6
- 8e, ||ta paaya 2 pem|aa|agaa yaag haras ||a|a|aa
42 5 35 12 77
0 1 2 3 4 5
101
9
17
A|gor|lra dar 3lru|lur 0ala kr1z |zr|Iz
|1ll|1 |l k|| I1sl|sr
18
A|gor|lra dar 3lru|lur 0ala kr1z |zr|Iz
N adalah //Ukuran array
Arr_Type define as Array[0..N-1] of Num
Procedure Swap(n1, n2 isoftype in/out Num)
temp isoftype Num
temp <- n1
n1 <- n2
n2 <- temp
endprocedure //Swap
10
19
A|gor|lra dar 3lru|lur 0ala kr1z |zr|Iz
procedure Bubblesort(A isoftype in/out Arr_Type)
pos_akhir, index isoftype Num
pos_akhir <- N 2
loop
exitif(pos_akhir < 0)
index <- 0
loop
exitif(index > pos_akhir)
if(A[index] > A[index + 1]) then
Swap(A[index], A[index + 1])
endif
index <- index + 1
endloop
pos_akhir <- pos_akhir - 1
endloop
endprocedure // Bubblesort
I
n
n
e
r

l
o
o
p
O
u
t
e
r

l
o
o
p
20
A|gor|lra dar 3lru|lur 0ala kr1z |zr|Iz
k;zsz| ss|1r1| s|sms1
ls|z| lsr1r1lf
8aga|maaa [||a se|arah e|emea te|ah terarat1
8aga|maaa [||a haaya se|||t e|emea yaag t|a| paa
pes|s|aya, aa sete|ah |e|erapa eperas| "|a|||e ap," se|arah
e|emea te|ah terarat1
k|ta meag|ag|a|aa aata| ||sa meaete|s| |ea|s| |a| aa "step
ear|y"!
42 35 12 5 77
0 1 2 3 4 5
101
11
21
A|gor|lra dar 3lru|lur 0ala kr1z |zr|Iz
|11zsz1 ss11z| ||z I11|sz1
k|ta ||sa meaggaaa|aa se|aah var|a|e| |ee|eaa aata|
meaeata|aa apa|ah ter[a| eperas| swapp|ag se|ama
preses "|a|||e ap."
J||a t|a| ter[a|, ma|a ||ta a|aa meagetaha| |ahwa
se|arah e|emea te|ah terarat!
"t|ag" |ee|eaa |a| per|a |kf8f1 set|ap |a|| se|esa| sata
|a|| eperas| "|a|||e ap."
22
A|gor|lra dar 3lru|lur 0ala kr1z |zr|Iz
did_swap isoftype Boolean
did_swap <- true
loop
exitif ((pos_akhir < 0) OR NOT(did_swap))
index <- 0
did_swap <- false //did_swap diRESET
loop
exitif(index > pos_akhir)
if(A[index] > A[index + 1]) then
Swap(A[index], A[index + 1])
did_swap <- true
endif
index <- index + 1
endloop
pos_akhir <- pos_akhir - 1
endloop
12
23
A|gor|lra dar 3lru|lur 0ala kr1z |zr|Iz
I1mmzr)
k|ger|tma "8a|||e 0p" a|aa mem|aah|aa a||a|
ter|esar |e pes|s|aya yaag tepat (| se|e|ah |aaaa|
0|aag| preses "8a|||e 0p" sampa| se|arah e|emea
te|ah meaempat| pes|s|aya yaag tepat:
- Nax|mam se|aaya| k1 |a||
- 8|sa |era|h|r |e||h cepat [||a t|a| |ag| ter[a| swapp|ag
(peaa|araa|
k|ta meagaraag| [am|ah pem|aa|agaa e|emea set|ap
|a|| sata e|emea |erhas|| ||eta||aa paa pes|s|aya
yaag tepat.
24
A|gor|lra dar 3lru|lur 0ala kr1z |zr|Iz
k1z|)s|s 1| I111|s I1rl
8erapa |a|| pem|aa|agaa paa |aaer |eep1
pos_akhir |ma|a| ar| a||a| k2 taraa sampa| eagaa 0 ,
seh|agga pem|aa|agaa paa |aaer |eep aa|ah k1 |a||
- kverage: k(2 aata| set|ap |a|| "pass" eater |eep.
8erapa |a|| "pass" eater |eep1
k - 1
13
25
A|gor|lra dar 3lru|lur 0ala kr1z |zr|Iz
procedure BubbleSort(A isoftype in/out Arr_Type)
pos_akhir, index isoftype Num
pos_akhir <- N 2
loop
exitif(pos_akhir < 0)
index <- 0
loop
exitif(index > pos_akhir)
if(A[index] > A[index + 1]) then
Swap(A[index], A[index + 1])
endif
index <- index + 1
endloop
pos_akhir <- pos_akhir - 1
endloop
endprocedure // Bubblesort
pos_akhir
N-1
26
A|gor|lra dar 3lru|lur 0ala kr1z |zr|Iz
I111|s I1rl k1z|)s|s
BEST CASE:
Array saaa| aa|am |eaaaaa leraral aa||
Jam|a| jemaaaa|aaa |ey (Cl . a1
Jam|a| swaj =
Jam|a| jereseraa (Vl .
WORST CASE
Array aa|am aralaa |eaa|||aaaya
Jam|a| jemaaaa|aaa |ey (Cl .
(a1l - (a2l - .. - 1 = a (a1l | 2
Jam|a| swaj = (a1l - (a2l - .. - 1 = a (a1l | 2
Jam|a| jereseraa (Vl . 3 a (a1l | 2
14
27
A|gor|lra dar 3lru|lur 0ala kr1z |zr|Iz
I1m;|sss|lzs I111|s I1rl
Perhat||aa paa ha|aagaa aatara 2 |eep yaag aa:
- |aaer |eep |ersaraag | a|am eater |eep
- |aaer |eep a|aa |e|se|as| aata| set|ap |teras| ar|
eater |eep
28
A|gor|lra dar 3lru|lur 0ala kr1z |zr|Iz
I111|s I1rl
V|r|j aeaaa 8e|etl|aa, sel|aj |a|| jrases
"Baaa|e Uj" a|aa mem|||| a||a| ma|s|mam aar|
e|emea yaa aaa jaaa s|s| aasarlea
wasles l|me |mjarl|a same araer la l|e
aasarlea jarl aI l|e array
15
29
A|gor|lra dar 3lru|lur 0ala kr1z |zr|Iz
|8
I
l 11l|ms |rzm;|s
kssame yea are sert|ag 250,000,000 |tems
k = 250,000,000
k
2
= 6.25 x 10
16
|t yea caa e eae eperat|ea per aaaesecea (10
9
sec|
wbicb is last!
|t w||| ta|e 6.25 x 10
7
seceas
8e 6.25 x 10
7
60 x 60 x 24 x 365
= 1.98 years

You might also like