Minggu 2
Sesi 3
Analisis Kompleksitas
Algoritma, Stack, Queue, Tree,
Dan Binary Tree
Bilangan Prima
Bilangan Prima menggunakan Teknik Flagging (Sieve
Technique)
Tipe Data Abstrak
Stack
Queue
Circular ADT
Tree
Binary Tree
Tree Traversal
Kesimpulan
bool prime(N){
int factor = 0; 1
for (i=1;i<=N;i++) N
If (N mod i == 0) N
factor++; N
if (factor=2) 1
return true; 1
else
return false;
bool prime(N){
int factor = 2; 1
If (n mod i == 0) N-2
factor++; N-2
if (factor=2) 1
return true; 1
else
return false;
bool prime(N){
int factor;
if (N > 1) 1
factor = 2; 1
Else
factor = 1;
If (n mod i == 0) N-2
factor++; N-2
if (factor=2) 1
return true; 1
else
return false;
int factor;
if (N > 1) 1
factor = 2; 1
Else
factor = 1;
If (n mod i == 0) N/2-1
factor++; N/2-1
if (factor=2) 1
return true; 1
else
return false;
int factor;
factor = 2; N
If (n mod i == 0) N(N/2)
factor++; N(N/2)
if (factor=2) N
print N, “ “; N
N Processing Time
1 0 ms
10 0 ms
100 0 ms
1.000 0 ms
for (i=2;i<=N;i++)
T[i]=”?”
for Z=2 to N do
if (T[Z]=”?”){
T[Z]=”P”
if (T[Z*j]=”?”)
T[Z*j]=”X”
for (i=1;i<=N;i++)
if (T[Z]=”P”)
print Z,” ”
N Algorithm #5 Algorithm #6
< 1.000 0 ms 0 ms
1 0 1 11 25 28
2 0 3 12 30 32
3 2 5 13 36 34
4 3 8 14 42 38
5 5 10 15 48 42
T[1]=0
for (X=2;X<=N;X++;)
T[X]=1
for (X=2;X<=N;X++;)
if (T[X]=1){
if (T[X*i]=1)
T[X*i]=0
if (T[X]=1)
return true
else
return false
1 0 0 11 4 17
2 0 1 12 5 20
3 0 2 13 5 21
4 1 4 14 6 24
5 1 5 15 6 27
6 2 8 100 49 245
D. Stack
Stack merupakan salah satu bentuk penerapan dari tipe data abstrak yang
memiliki konsep operasi berbasis Last In First Out. Stack yang berarti tumpukan
melakukan proses pengambilan data berdasarkan data yang paling terakhir masuk.
Penerapan dari Stack sebenarnya dapat dilakukan dengan array biasa maupun
dengan linked-list.
Bentuk konsep dari Stack akan diterapkan oleh algoritma pencarian
khususnya algoritma pencarian Depth First Search (DFS).
E. Queue
Queue merupakan salah satu bentuk penerapan dari tipe data abstrak yang
memiliki konsep operasi berbasis First In First Out. Queue yang berarti antrian
melakukan proses pengambilan data berdasarkan data yang paling awal masuk.
Penerapan dari Queue sebenarnya dapat dilakukan dengan array biasa maupun
dengan linked-list.
Bentuk konsep dari Queue akan diterapkan oleh algoritma pencarian
khususnya algoritma pencarian Breadth First Search (DFS).
F. Circular ADT
Circular ADT atau tipe data abstrak yang memungkinkan hubungan
keterikatan yang saling melingkar dimana data awal terhubung dengan data akhir.
Biasanya dipakai dalam konsep circular linked list.
G. Tree
Tree merupakan salah satu bentuk penerapan dari tipe data abstrak dengan
struktur keterikatan satu node induk terhubung dengan beberapa node anak. Untuk
H. Binary Tree
Binary tree merupakan bentuk penerapan lebih lanjut dari konsep tree
dimana pada struktur ini dimungkinkan hanya adanya maksimum dua buah anak
dari satu buah node induk. Operasi pengisian maupun penginputannya pun
berlangsung dari mengisi node induk dulu, diikuti anaknya namun operasi
pengisian dapat ditentukan oleh pengguna, secara umum dilakukan pengisian
terhadap anak kiri terlebih dahulu kemudian anak kanan.
Bentuk operasi yang dapat dilakukan dalam struktur binary tree ini antara
lain adalah
1. Pengisian data
2. Pencarian data
3. Penghapusan data
4. Pengurutan data
Berikut merupakan bentuk contoh dari struktur binary tree.