Anda di halaman 1dari 65

STRUKTUR DATA

Definisi
• Data: Kumpulan fakta mentah.
• Struktur data adalah representasi dari hubungan logis yang ada
antara elemen data individual.
• Struktur data adalah format khusus untuk mengatur dan menyimpan
data dalam memori yang mempertimbangkan tidak hanya elemen
yang disimpan tetapi juga hubungannya satu sama lain.
Pengenalan Struktur Data
• Struktur data mempengaruhi desain aspek struktural & fungsional
suatu program.
• Program=algoritma + Struktur Data
• Algoritma adalah prosedur langkah demi langkah untuk
menyelesaikan fungsi tertentu.
Klasifikasi Struktur Data
Struktur data biasanya dibagi menjadi dua kategori besar:
• Struktur Data Primitif
• Struktur Data Non-Primitif
Klasifikasi Struktur Data
Struktur Data Primitif
• Ada struktur dasar dan dioperasikan langsung oleh instruksi mesin.
• Struktur data yang dioperasikan secara langsung berdasarkan
instruksi tingkat mesin dikenal sebagai struktur data primitif.
• Integer, Angka floating-point, Konstanta karakter, konstanta string,
pointer, dll, termasuk dalam kategori ini.
Struktur Data Primitif
• Operasi yang paling umum digunakan pada struktur data secara luas
dikategorikan ke dalam tipe berikut:
• Create / Membuat
• Selection/Pilihan
• Updating/Memperbarui
• Destroy/Hancurkan atau Delete/Hapus
Struktur Data Non-Primitif
• Ada struktur data yang lebih canggih.
• Struktur data yang diturunkan dari struktur data primitif disebut
struktur data non-primitif.
• Struktur data non-primitif menekankan pada penataan sekelompok
item data yang homogen (tipe yang sama) atau heterogen (tipe
berbeda).
Struktur Data Non-Primitif
Struktur Data Linier:
• Struktur Data Linier adalah jenis struktur data yang memiliki elemen homogen.
• Struktur data yang elemen-elemennya berada dalam urutan dan membentuk rangkaian liner.
• Struktur data linier sangat mudah diterapkan, karena memori komputer juga diatur secara linier.
• Beberapa struktur data linier yang umum digunakan adalah Stack, Queue, dan Linked List.

Struktur Data Non-Linear:


• Struktur Data Non-Linear adalah struktur data yang didalamnya terdapat item data
• terhubung ke beberapa item data lainnya.
• Struktur data non-linier dapat menunjukkan hubungan hierarki atau hubungan induk-anak.
• Elemen data tidak disusun dalam struktur berurutan.
• Struktur data non-linier yang berbeda adalah pohon dan grafik.
Struktur Data Non-Primitif
Operasi yang paling umum digunakan pada struktur data secara luas
dikategorikan ke dalam tipe berikut:
• Penjelajahan/ Traversal
• Insertion
• Selection
• Searching
• Sorting
• Merging
• Destroy or Delete
Perbedaan
• Struktur data primitif umumnya merupakan struktur dasar yang
biasanya dibangun ke dalam bahasa, seperti bilangan bulat, float.

• Struktur data non-primitif dibangun dari struktur data primitif yang


dihubungkan bersama dengan cara yang bermakna, seperti daftar
tertaut, pohon pencarian biner, Pohon AVL, grafik, dll.
Deskripsi berbagai Struktur Data : Array
• Array didefinisikan sebagai sekumpulan elemen homogen atau item
data yang sama dalam jumlah terbatas.
• Artinya, sebuah array hanya dapat memuat satu jenis data saja, baik
semua bilangan bulat, semua angka float-point, atau semua karakter.
Array satu dimensi
• Array yang hanya mempunyai satu baris atau kolom disebut array satu
dimensi.
• Ini adalah kumpulan terbatas dari sejumlah n elemen dengan tipe yang
sama yaitu:
• dapat dirujuk dengan mengindeks.
• Sintaks Elemen disimpan di lokasi berkelanjutan.
• Elemen x untuk mendefinisikan array satu dimensi adalah:
• Sintaks: Tipe Data Array_Name [Ukuran];
• Di mana,
Tipe Data : Tipe nilai yang dapat disimpan (Contoh: int, char, float)
Array_Name: Untuk mengidentifikasi array.
Ukuran : Jumlah maksimum elemen yang dapat ditampung oleh array.
Array
• Secara sederhana, deklarasi array adalah sebagai berikut:
int arr[10]
• Dimana int menentukan tipe data atau tipe elemen yang disimpan
dalam array.
• “arr” adalah nama array & nomor yang ditentukan di dalam tanda
kurung siku adalah jumlah elemen yang dapat disimpan oleh array, ini
juga disebut ukuran atau panjang array.
Merepresentasikan Array Linear dalam
memori
• Elemen array linier disimpan di lokasi memori yang berurutan. Itu
ditunjukkan di bawah ini:
Array
• Elemen-elemen array akan selalu disimpan di lokasi memori yang
berurutan (berkelanjutan).
• Banyaknya elemen yang dapat disimpan dalam sebuah array, yaitu ukuran
array atau panjangnya, diberikan oleh persamaan berikut:
(Batas atas-bawah)+1
• Untuk larik di atas adalah (9-0)+1=10, dengan 0 adalah batas bawah larik
dan 9 adalah batas atas larik.
• Array selalu dapat dibaca atau ditulis melalui loop.
for(i=0;i<=9;i++)
{ scanf(“%d”,&arr[i]);
printf(“%d”,arr[i]); }
Jenis-jenis Array
• Array Dimensi Tunggal
• Array dengan satu subskrip
• Array Dua Dimensi
• Array dengan dua subskrip (Baris dan Kolom)
• Array Multi Dimensi
• Array dengan Banyak subskrip
Operasi Dasar Array
• Beberapa operasi umum yang dilakukan pada array adalah:
• Traversing /Melintasi
• Searching /Mencari
• Insertion /Menyisipkan
• Deletion /Penghapusan
• Sorting /Penyortiran
• Merging /Penggabungan
Traversing/Melintasi Array
• Traversing: Digunakan untuk mengakses setiap item data tepat satu kali agar dapat diproses.
• Misalnya.
Kami memiliki array linier A seperti di bawah ini:

• Di sini kita akan mulai dari awal dan berlanjut hingga elemen terakhir dan selama proses ini kita
akan mengakses nilai setiap elemen tepat satu kali seperti di bawah ini:
A [1] = 10
A [2] = 20 Algoritma : Traversal (A, LB,UB) A merupakan array
dengan batas bawah (Lower Bound) LB dan batas
A [3] = 30 atas (Upper Bound) UB.
A [4] = 40 Langkah 1: for LOC=LB to UB do
A [5] = 50 Langkah 2: PROCESS A [LOC]
[End of for loop]
Langkah 3: Exit
Insertion/Menyisipkan Array
• Penyisipan: Digunakan untuk menambahkan item data baru ke dalam
kumpulan item data tertentu.
• Misalnya, kita mempunyai array linier A seperti di bawah ini:

• Elemen baru yang akan disisipkan adalah 100 dan lokasi penyisipan
adalah 3. Jadi geser elemen dari lokasi ke-5 ke lokasi ke-3 ke bawah
sebanyak 1 tempat. Lalu masukkan 100 di lokasi ke-3. Itu ditunjukkan
di bawah ini:
A : nama array
N : jumlah elemen/isi array
Insertion/Penyisipan ITEM : angka yang akan disisipkan
Pos : Posisi yang diinginkan

1 2 3 4 5
10 20 50 30 15
LATIHAN !
• Lakukan pengurutan pada array berikut
0 1 2 3 4 10 20 30 70 80
arr 70 80 30 10 20
70 80 30 10 20

sorted unsorted

30 70 80 10 20
sorted unsorted

10 30 70 80 20
sorted unsorted

10 20 30 70 80
sorted unsorted
A : nama array
N : jumlah elemen/isi array
LATIHAN ! ITEM : angka yang akan disisipkan
Pos : Posisi yang diinginkan

• Lakukan penyisipan angka 50 pada array berikut pada posisi 2


1 2 3 4 5 10 20 30 70 80
arr 70 80 30 10 20

Algoritma : 70 80 30 10 20
N=5
Langkah 1 for I = N-1 down to Pos unsorted
ITEM = 5 sorted
for I = 5-1 down to 2
Pos = 2
A[I+1] =A[I] 30 70 80 10 20
End for loop unsorted
sorted
Langkah 2 A[Pos] = ITEM
A[2] =50
10 30 70 80 20
Langkah 3 N = N+1
6 = 5+1 sorted unsorted
Langkah 3 Keluar
10 20 30 70 80
sorted unsorted
LATIHAN !
• Lakukan pengurutan pada array berikut
0 1 2 3 4
arr 100 80 50 90 120
80 100 50 90 120

sorted unsorted

50 80 100 90 120
sorted unsorted

50 80 90 100 120
sorted
LATIHAN !
• Lakukan penyisipan angka 110 pada array berikut pada posisi 3
1 2 3 4 5 6 10 20 30 70 80
arr 100 20 50 90 30 10
70 80 30 10 20

sorted unsorted

30 70 80 10 20
sorted unsorted

10 30 70 80 20
sorted unsorted

10 20 30 70 80
sorted unsorted
LATIHAN !
• Buatlah algoritma penyisipan angka 110 pada array berikut pada
posisi 3 1 2 3 4 5 6 10 20 30 70 80
arr 100 20 50 90 30 10
70 80 30 10 20

sorted unsorted

30 70 80 10 20
sorted unsorted

10 30 70 80 20
sorted unsorted

10 20 30 70 80
sorted unsorted
Deletion/ Menghapus Array
• Penghapusan: Digunakan untuk menghapus item data yang ada dari
kumpulan item data tertentu.
LATIHAN !
• Lakukan penghapusan angka 30 pada array berikut pada posisi 3
1 2 3 4 5 10 20 30 70 80
arr 70 80 30 10 20
70 80 30 10 20

sorted unsorted

30 70 80 10 20
sorted unsorted

10 30 70 80 20
sorted unsorted

10 20 30 70 80
sorted unsorted
LATIHAN !
• Lakukan hapus angka 100 pada array berikut pada posisi 1
1 2 3 4 5 6 10 20 30 70 80
arr 100 20 50 90 30 10
70 80 30 10 20

sorted unsorted

30 70 80 10 20
sorted unsorted

10 30 70 80 20
sorted unsorted

10 20 30 70 80
sorted unsorted
Latihan sorting, insertion, deletion
• Lakukan pengurutan pada array berikut beserta algoritmanya
0 1 2 3 4
arr 100 80 50 90 120

• Buatlah algoritma penyisipan angka 110 pada array berikut pada


posisi 3
1 2 3 4 5 6
arr 100 20 50 90 30 10

• lakukan penghapusan angka 50


SEARCHING/PENCARIAN`
Searching/Pencarian dalam Array
• Pencarian: Digunakan untuk mengetahui lokasi item data jika ada
dalam kumpulan item data tertentu.
• Misalnya. Kami memiliki array linier A seperti di bawah ini:
• Misalkan item yang akan dicari adalah 20. Kita akan mulai dari awal dan membandingkan 20 dengan setiap
elemen. Proses ini akan berlanjut hingga elemen ditemukan atau array selesai. Di Sini:

• Bandingkan 20 dengan 15
• 20 #15, lanjutkan ke elemen berikutnya.
• Bandingkan 20 dengan 50
• 20 #50, lanjutkan ke elemen berikutnya.

• Bandingkan 20 dengan 35
• 20 #35, lanjutkan ke elemen berikutnya.

• Bandingkan 20 dengan 20
• 20 = 20, jadi ditemukan 20 dan letaknya 4.
Linear Search / Pencarian Linier
Misalkan LA adalah array linier dengan N elemen dan J adalah bilangan bulat positif sehingga
J<N.
Berikut algoritma untuk mencari elemen dengan nilai ITEM menggunakan sequential search
/pencarian sekuensial
Latihan Searching/Pencarian
• Kami memiliki array linier arr seperti I = angka index
di bawah
0
ini: 1 2 3 4
ITEM = angka yang dicari
N = batas array
arr 100 80 50 90 120 arr = array

1. Bandingkan index ke 0 dengan ITEM yaitu 100


dibandingkan dengan 90. -> 90≠ 100
2. Penambahan index 0 +1 yaitu I=I+1 hasilnya I= 1
• Bagaimana Langkah-Langkah untuk 3. Bandingkan index ke 1 dengan ITEM yaitu 80
dibandingkan dengan 90. -> 90≠ 80
mencari angka 90? 4. Penambahan index 1 +1 yaitu I=I+1. hasilnya I= 2
5. Bandingkan index ke 2 dengan ITEM yaitu 50
• Buatlah pseudocodenya! dibandingkan dengan 90. -> 90≠ 50
6. Penambahan index 2 +1 yaitu I=I+1. hasilnya I= 3
7. Bandingkan index ke 3 dengan ITEM yaitu 90
dibandingkan dengan 90. -> 90= 90
Pseudocode
1. Start
2. Set I = 0
3. Repeat step 4 and 5 while I<N
4. IF arr[I] is equal to ITEM THEN GO TO step 6
5. Set I = I +1
6. Print I, ITEM
7. Stop
Latihan Searching/Pencarian
1. Bandingkan 20 dengan 30 1. Start
• Kami memiliki array linier arr seperti 2. 20 ≠ 30 2. Set I=0
3. Lanjutkan ke elemen berikutnya
di bawah ini: 4. Bandingkan 20 dengan 70
3. Repeat step 4
and 5 while
0 1 2 3 4 5 5. 20 ≠ 70 I<N
6. Lanjutkan ke elemen berikutnya 4. IF arr[I] is
arr 30 70 100 190 20 10
7. Bandingkan 20 dengan 100 equal ITEM
8. 20 ≠ 100 THEN GO TO
9. Lanjutkan ke elemen berikutnya step 7
10. Bandingkan 20 dengan 190 5. Set I=I+1
• Bagaimana Langkah-Langkah untuk 11. 20 ≠ 190 6. Print I,ITEM
mencari angka 20? 12. Lanjutkan ke elemen berikutnya 7. Stop
13. Bandingkan 20 dengan 20
• Buatlah pseudocodenya! 14. 20 = 70
15. 4, 20 (20 berada pada posisi 4
Algoritma :
1. Bandingkan index 0 dan elemen 30 dengan 20
2. 20 ≠ 30
Latihan Searching/Pencarian 3. Penambahan index 0 , dengan I=I+1
4. i= 0 + 1 = 1
5. Index ke 1 item 70, sehingga 20 ≠ 70
Langkah 6. Penambahan index 1 , i= 1 + 1 = 2
• Kami memiliki array linier arr seperti 1. 20 ≠30 7. Index ke 2 item 100, sehingga 20 ≠ 100
di bawah ini: 2. 20 ≠ 70 8. Penambahan index 2 , i= 2 + 1 = 3
3. 20 ≠100 9. Index ke 3 item 190, sehingga 20 ≠ 190
0 1 2 3 4 5 4. 20 ≠190 10. Penambahan index 3 , i= 3 + 1 = 4
arr 30 70 100 190 20 10 5. 20=20 11. Index ke 4 item 20, sehingga 20 = 20
12. ITEM 20 berada pada index ke 4.
B = index
N = jumlah elemen
• Bagaimana Langkah-Langkah untuk ITEM = angka yang dicari
mencari angka 20? 1. Start
• Buatlah pseudocodenya! 2.
3.
Set B = 0
Repeat step 4 and 5 while B<N
4. IF arr[B] is equal to ITEM THEN GO TO STEP 6
5. Set B = B+1
6. Print B, ITEM
7. Stop
I = dimulai angka 0
0 1 2 3 4 5 N=6
• I = index arr 30 70 100 190 20 10 ITEM = 20

• N = jumlah elemen 1. Start


2. Set I = 0
• ITEM = angka yang dicari 3. IF arr[0] = 20 THEN
4. Set I = 0 + 1
5. IF arr[1] = 20 THEN
6. Set I = 1 + 1
1. Start 7. IF arr[2] = 20 THEN
8. Set I = 2 + 1
2. Set I = 0 9. IF arr[3] = 20 THEN
10. Set I = 3 + 1
3. Repeat step 4 and 5 while I<N 11. IF arr[4] = 20 THEN
12. Print 4,20
4. IF arr[I] is equal to ITEM THEN GO TO STEP 13. Stop
6
*repeat berarti melakukan perulangan proses
5. Set I = I+1 sebanyak jumlah elemen, selama ITEM yang
dicari belum ditemukan.
6. Print I, ITEM Apabila sudah ditemukan, maka proses
perulangan perbandingan (mencari) akan
7. Stop berhenti
Latihan Searching/Pencarian
• Kami memiliki array linier X seperti di
bawah ini:
0 1 2 3 4 5 6 7 8
X 100 80 50 90 120 5 2 10 3

• Bagaimana Langkah-Langkah untuk


mencari angka 10?
• Buatlah pseudocodenya!
- nama variable index adalah a
- nama variable nilai adalah b
Binary Search / Pencarian Biner
• Algoritma pencarian biner hanya dapat
digunakan dengan daftar elemen yang
diurutkan.
• Pencarian Biner pertama-tama
membagi array besar menjadi dua sub-
array yang lebih kecil dan kemudian
mengoperasikan sub-array tersebut
secara rekursif.
• Pencarian Biner pada dasarnya
mengurangi ruang pencarian menjadi
setengahnya pada setiap langkah
Binary Search
Binary Search
Searching/ Pencarian
Sorting/Pengurutan
Insertion Sort
⚫ A L G O RIT H M :Insertion Sort (A ,N ) A merupakan array dengan N elemen tidak berurutan.
◦ Step 1:for I=1 to N -1
◦ Step 2:J= I
• While(J >= 1)
• if (A[J] < A[J-1] ) then
• Temp = A[J]; A[J] = A[J-1]; A[J-1] = Temp;
• [End if]
• J= J-1
• [End of While loop] [End of For loop]
◦ Step 3:Exit
Merging berdasarkan Array
Penggabungan: Digunakan untuk menggabungkan item data dari dua file yang
diurutkan menjadi satu file dalam bentuk yang diurutkan
Kami telah mengurutkan array linier A seperti di bawah ini:
1 2 3 4 5 6
10 40 50 80 95 100

Dan mengurutkan array linier B seperti di bawah ini:


1 2 3 4
20 35 45 90

Setelah menggabungkan array C yang digabungkan adalah seperti di


bawah ini:
1 2 3 4 5 6 7 8 9 10
10 20 35 40 45 50 80 90 95 100
Latihan Merging
Kode GC : kamhs3o

Array linier
X
1 2 3 4 5 6
20 53 55 80 100 120

Dan mengurutkan array linier Y seperti di bawah ini:


1 2 3 4
35 45 59 190

Silahkan di lakukan Merging antara


array X dan Y
Array dua dimensi
• Array dua dimensi adalah kumpulan elemen dan setiap elemen
diidentifikasi oleh sepasang subskrip. ( A[3] [3] )
• Elemen disimpan di lokasi memori berkelanjutan.
• Elemen array dua dimensi berupa baris dan kolom.
• Banyaknya baris dan kolom suatu matriks disebut ordo matriks dan
dilambangkan dengan mxn.
• Banyaknya elemen dapat diperoleh dengan mengalikan jumlah baris dan
jumlah kolom.

A[0] A[1] A[2]


A[0] 10 20 30
A[1] 40 50 60
A[2] 70 80 90
Representasi Array Dua Dimensi:
A adalah larik berorde m x n. Untuk menyimpan m*n jumlah elemen,
kita memerlukan m*n lokasi memori.
Elemen-elemen tersebut harus berada di lokasi memori yang
berdekatan.
Ada dua metode:
Metode baris-mayor
Metode kolom-mayor
Array Dua Dimensi:
• Metode Baris-Mayor: Semua elemen baris pertama disimpan di lokasi memori berurutan
dan kemudian semua elemen baris kedua disimpan dan seterusnya. Contoh: A[Baris][Kol]
• Metode Kolom-Mayor: Semua elemen kolom pertama disimpan di lokasi memori
berurutan dan kemudian semua elemen kolom kedua disimpan dan seterusnya. Contoh:
A [Kol] [Baris]
1000 10 A[0][0] 1000 10 A[0][0]
1002 20 A[0][1] 1002 40 A[1][0]
1004 30 A[0][2] 1004 70 A[2][0]
1006 40 A[1][0] 1006 20 A[0][1]
1008 50 A[1][1] 1008 50 A[1][1]
1010 60 A[1][2] 1010 80 A[2][1]
1012 70 A[2][0] 1012 30 A[0][2]
1014 80 A[2][1] 1014 60 A[1][2]

1016 90 A[2][2] 1016 90 A[2][2]

Metode Baris-Mayor Metode Kolom-Mayor


Keuntungan Array:
• Ini digunakan untuk mewakili beberapa item data dengan tipe yang
sama dengan menggunakan satu nama.
• Ini dapat digunakan untuk mengimplementasikan struktur data lain
seperti daftar tertaut, tumpukan, antrian, pohon, grafik, dll.
• Array dua dimensi digunakan untuk merepresentasikan matriks.
• Banyak database menyertakan array satu dimensi yang elemennya
berupa rekaman.
Kekurangan Array
• Kita harus mengetahui terlebih dahulu berapa banyak elemen yang
akan disimpan dalam array.
• Array adalah struktur statis. Artinya array berukuran tetap. Memori
yang dialokasikan ke array tidak dapat ditambah atau dikurangi.
• Array berukuran tetap; jika kita mengalokasikan lebih banyak memori
daripada kebutuhan maka ruang memori akan terbuang sia-sia.
• Elemen array disimpan di lokasi memori yang berurutan. Jadi
penyisipan dan penghapusan sangat sulit dan memakan waktu.
STACK/TUMPUKAN
• Stack adalah struktur data linier yang mengikuti urutan tertentu
dalam operasi yang dilakukan.
• Memasukkan elemen ke dalam tumpukan disebut PUSH dan
penghapusan elemen dari tumpukan disebut POP.
• Urutannya mungkin LIFO (Last In First Out) atau FILO (First In Last
Out).
Representasi Stack dalam Memori
• Tumpukan dapat diimplementasikan dalam dua cara:

-Menggunakan array (implementasi statis)


-Menggunakan pointer (Implementasi dinamis)
Operasi pada Stack:
• Stack() : Ini menciptakan tumpukan baru yang kosong. Itu tidak
memerlukan parameter dan mengembalikan tumpukan kosong.
• push(item): Ini menambahkan item baru ke bagian atas tumpukan.
• pop( ): Menghapus item teratas dari tumpukan.
• peek( ): Mengembalikan item teratas dari tumpukan tetapi tidak
menghapusnya.
• isEmpty( ): Ini menguji apakah tumpukan kosong.
• size( ): Ini mengembalikan jumlah item di tumpukan.
Kondisi Stack
Operasi PUSH
• Proses penambahan satu elemen atau item ke tumpukan diwakili
oleh operasi yang disebut operasi PUSH.
Operasi PUSH
• Proses penambahan satu elemen atau item ke tumpukan diwakili oleh operasi yang disebut
operasi PUSH.
• Elemen baru ditambahkan di posisi paling atas tumpukan.

• ALGORITHM:
PUSH (STACK, TOP, SIZE, ITEM)
STACK adalah array dengan N elemen. TOP adalah penunjuk ke bagian atas elemen array. ITEM
yang akan dimasukkan.
• Step 1: if TOP = N then [Check Overflow]
• PRINT “ STACK Full atau Overflow”
• Exit
[End if]
Step 2: TOP = TOP + 1 [Increment the TOP]
Step 3: STACK[TOP] = ITEM [Insert the ITEM]
Step 4: Return
Operasi POP
• Proses penghapusan satu elemen atau item dari tumpukan diwakili
oleh operasi yang disebut operasi POP.
• Ketika elemen dikeluarkan terus menerus dari tumpukan, elemen
tersebut menyusut di ujung yang sama, yaitu bagian atas
Operasi POP
• Proses penghapusan satu elemen atau item dari tumpukan diwakili oleh operasi
yang disebut operasi POP.

ALGORITHM: POP (STACK, TOP, ITEM)


STACK is the array with N elements. TOP is the pointer to the top of the element of
the array. ITEM to be inserted.
Step 1: if TOP = 0 then [Check Underflow] PRINT “ STACK is
Empty or Underflow”
Exit [End if]
Step 2: ITEM = STACK[TOP] [copy the TOP Element]
Step 3: TOP = TOP - 1 [Decrement the TOP]
Step 4: Return
Operasi PEEK
• Proses mengembalikan item teratas dari tumpukan tetapi tidak menghapusnya disebut
operasi PEEK.

ALGORITHM: PEEK (STACK, TOP)


STACK is the array with N elements. TOP is the pointer to
the top of the element of the array.
Step 1: if TOP = NULL then [Check Underflow]
PRINT “ STACK is Empty or Underflow”
Exit
[End if]
Step 2: Return (STACK[TOP] [Return the top
element of the stack] Step 3:Exit
Penerapan STACK/TUMPUKAN
• Ini digunakan untuk membalikkan sebuah kata. Anda mendorong kata tertentu ke
tumpukan– huruf demi huruf dan kemudian mengeluarkan huruf dari tumpukan.
• Mekanisme "Batalkan" di editor teks.
• Backtracking: Ini adalah proses ketika Anda perlu mengakses elemen data terbaru
dalam serangkaian elemen. Begitu Anda mencapai jalan buntu, Anda harus
mundur.
• Pemrosesan Bahasa: Pemeriksaan sintaksis kompiler untuk tanda kurung kurawal
yang cocok diimplementasikan dengan menggunakan tumpukan.
• Konversi bilangan desimal ke biner.
• Untuk memecahkan menara Hanoi.
• Konversi ekspresi infiks menjadi prefiks dan postfix.
• Penyortiran cepat
• Manajemen memori waktu proses (runtime memory management).
Latihan
• Buatlah contoh operasi PUSH dan POP pada Stack.
• Setiap mahasiswa wajib membuat contoh yang berbeda.
• Apabila terdeteksi sama, tugas dianggap gugur (tanpa nilai).

Anda mungkin juga menyukai