• Tidak ada hasil yang ditemukan

DAFTAR ISI KATA PENGANTAR... DAFTAR ISI Latar Belakang Rumusan Masalah Tujuan Pembelajaran Pengertian Stack...

N/A
N/A
Protected

Academic year: 2021

Membagikan "DAFTAR ISI KATA PENGANTAR... DAFTAR ISI Latar Belakang Rumusan Masalah Tujuan Pembelajaran Pengertian Stack..."

Copied!
10
0
0

Teks penuh

(1)

MAKALAH STRUKTUR DATA MAKALAH STRUKTUR DATA

STACK (TUMPUKAN) STACK (TUMPUKAN)

Disusun oleh : Disusun oleh :

Kelas B Kelas B

1.

1. OKTA OKTA CITRA CITRA ZULYANTI ZULYANTI (KETUA) (KETUA) 2015-31-0332015-31-033 2.

2. IRSANDI IRSANDI NUGRAHA NUGRAHA S. S. (MAKALAH) (MAKALAH) 2015-31-0052015-31-005 3.

3.  NOER ARBIAN NISY NOER ARBIAN NISYA (PPT ) A (PPT ) 2015-31-0192015-31-019 4.

4.  NUR AMALYA R.  NUR AMALYA R. (MAKALAH ) (MAKALAH ) 2015-31-0212015-31-021 5.

5. MUHAMMAD MUHAMMAD SUHARTO SUHARTO (PPT) (PPT) 2015-31-0252015-31-025 6.

6. RIZZAL RIZZAL IKHSAN IKHSAN M. M. (PPT (PPT ) ) 2015-31-0622015-31-062 7.

7. TITIS TITIS FAYA FAYA Q. Q. (PPT) (PPT) 2015-31-0732015-31-073 8.

8. RAMA RAMA DESI DESI W. W. S. S. (PPT) (PPT) 2015-31-0812015-31-081 9.

9. HENNY HENNY HALIMAH HALIMAH L. L. (MAKALAH) (MAKALAH) 2015-31-0872015-31-087 10.

10. AHMAD AHMAD RIYANA RIYANA S. S. (PPT) (PPT) 2015-31-1032015-31-103

SEKOLAH TINGGI TEKNIK PLN SEKOLAH TINGGI TEKNIK PLN

TAHUN AJARAN 2016/2017

TAHUN AJARAN 2016/2017

(2)

KATA PENGANTAR KATA PENGANTAR

Puji syukur kehadirat Tuhan Yang Maha Esa

Puji syukur kehadirat Tuhan Yang Maha Esa yang telah memberikan rahmatyang telah memberikan rahmat dan hidayah kepada penulis, sehingga penulis dapat menyelesaikan makalah dan hidayah kepada penulis, sehingga penulis dapat menyelesaikan makalah mengenai STACK (Tumpukan). Makalah ini dibuat untuk memenuhi tugas mata mengenai STACK (Tumpukan). Makalah ini dibuat untuk memenuhi tugas mata kuliah Struktur Data.

kuliah Struktur Data.

Besar harapan penulis jika makalah ini dapat bermanfaat bagi semuanya Besar harapan penulis jika makalah ini dapat bermanfaat bagi semuanya agar bisa menambah pengetahuan dan wawasan pembaca di bidang teknologi, agar bisa menambah pengetahuan dan wawasan pembaca di bidang teknologi, informasi dan komunikasi.

informasi dan komunikasi.

Kami sadar bahwa makalah ini masih jauh dari kata sempurna, oleh karena Kami sadar bahwa makalah ini masih jauh dari kata sempurna, oleh karena itu kritik dan saran yang membangun sangat diperlukan untuk membuat makalah itu kritik dan saran yang membangun sangat diperlukan untuk membuat makalah ini menjadi lebih baik.

ini menjadi lebih baik.

Jakarta, 9 November 2016 Jakarta, 9 November 2016 Penulis,

Penulis,

Kelompok 2 Kelompok 2

(3)

DAFTAR ISI

Halaman

KATA PENGANTAR ... i

DAFTAR ISI ... ii

BAB I PENDAHULUAN 1.1 Latar Belakang ... 1

1.2 Rumusan Masalah... 1

1.3 Tujuan Pembelajaran ... 2

BAB II PEMBAHASAN 2.1 Pengertian Stack ... 3

2.2 Operasi pada Stack ... 3

2.3 Deklarasi Stack Dalam Pascal ... 4

2.4 Aplikasi Stack ... 5

2.4.1 Notasi Postfix ... 5

2.4.2 Notasi Infix ... 6

2.5 Contoh Program Stack Dalam Pascal ... 7

BAB III PENUTUP 3.1 Kesimpulan ... 20

3.2 Saran ... 20

3.3 Pertanyaan ... 21

DAFTAR PUSTAKA ... 22

(4)

BAB I

PENDAHULUAN

1.1 Latar Belakang

Struktur data adalah karakteristik yang terkait dengan sifat dan cara  penyimpanan sekaligus penggunaan atau pengaksesan data. Karakteristik tersebut mengikat dan sekaligus secara timbal balik dipengaruhi oleh algoritma yang mengakses data tersebut, sehingga disebutkan Algoritma dan Struktur Data merupakan satu kesatuan. Salah satu teknik dasar t entang struktur data adalah stack (tumpukan) yang lebih lanjut akan dibahas dalam makalah ini.

1.2 Rumusan Masalah

Dari latar belakang masalah di atas, maka muncul rumusan masalah sebagai berikut.

1. Apa pengertian Stack?

2. Apa saja operasi pada Stack?

3. Bagaimana pendeklarasian Stack?

4. Apa saja aplikasi pada Stack?

5. Apa contoh program Stack dalam pascal?

1.3 Tujuan Penulisan

Sejalan dengan rumusan masalah di atas, makalah ini disusun dengan tujuan untuk mengetahui:

1. Definisi Stack 2. Operasi pada Stack 3. Pendeklarasian Stack 4. Aplikasi pada Stack

5. Contoh program Stack dalam Pascal

(5)

BAB II

PEMBAHASAN

2.1 Pengertian Stack

2.1.1 Daftar linear

Daftar linear atau linear list , merupakan suatu struktur data umum yang terbentuk dari barisan hingga (yang terurut) dari satuan data ataupun dari record . Untuk mudahnya, elemen yang terdapat di dalam daftar disebut dengan simpul atau node. Daftar disebut linear (lurus), karena elemen tampak seperti berbaris, yakni bahwa setiap simpul, kecuali yang pertama dan yang terakhir, selalu memiliki sebuah elemen penerus langsung (suksesor langsung) dan sebuah elemen pendahulu langsung ( predesesor langsung).

Di sini, banyak simpul atau elemen, tersebut dapat  berubah-ubah, berbeda dengan array yang banyak elemennya selalu tetap. Kita menyatakan linear list A yang mengandung T elemen pada suatu saat, sebagai A = [A1, A2, …AT]. Jika T = 0, maka A disebut list hampa atau null list .

Suatu elemen dapat dihilangkan atau dihapus ( deletion) dari sembarang posisi dalam linear list, dan suatu elemen baru dapat pula dimasukkan (insertion) sebagai anggota list  pada  posisi sembarang (di mana saja).

2.1.2 Stackatau tumpukan

Stack atau tumpukan adalah bentuk khusus dari linear list . Pada  stack , penghapusan serta pemasukan elemennya hanya dapat dilakukan di satu posisi, yakni posisi akhir dari list . Posisi ini disebut puncak atau top dari stack . Elemen stack S pada posisi

(6)

ini dinyatakan dengan TOP(S).

Jelasnya, bila  stack S [S1, S2, …, ST], maka TOP(S) adalah ST. Banyaknya elemen  stack S pada suatu saat tertentu  biasa kita sebut sebagai NOEL(S). Jadi untuk stack kita di atas,  NOEL(S) = T. Seperti halnya pada semua linear list , pada stack

dikenal operasi penghapusan dan pemasukan.

Operator penghapusan elemen pada  stack disebut POP, sedangkan operator pemasukan elemen, disebut PUSH. Untuk menggambarkan kerja kedua operator di atas, berikut ini suatu contoh bermula dari stack hampa S[ ], yang kita gambar sebagai:

S NOEL(S) = 0, TOP(S) tidak terdefinisi Mula-mula kita PUSH elemen A, diperoleh Stack S = [A]

A S NOEL(S) = 1, TOP(S) = A

Apabila kemudian kita PUSH elemen B, diperoleh Stack S = [A,B]

B NOEL(S) = 2, TOP(S) = B A S

Selanjutnya bila PUSH elemen C, diperoleh Stack S = [A,B,C]

C

B S NOEL(S) = 3, TOP(S) = B A

Kemudian bila kita POP elemen C, diperoleh Stack S = [A,B]

(7)

B S NOEL(S) = 2, TOP(S) = B A

Kita dapat pula PUSH 2 elemen D dan E. Akan dihasilkan Stack S = [A,B,D,E]

E D B

S NOEL(S) = 4, TOP(S) = E, dan seterusnya.

A

Terlihat bahwa kedua operasi di atas, pada  stack adalah  bersifat ‘terakhir masuk pertama keluar’ atau ‘last in first out (LIFO)’. Pada hakekatnya kita tidak membatasi berapa banyak elemen dapat masuk ke dalam  stack . Untuk suatu  stack S[S1, S2,..., S NOEL], kita katakan bahwa elemen Si, berada di atas elemen S j, jika i lebih besar dari j. Suatu elemen tidak dapat kita POP ke luar, sebelum semua elemen di atasnya dikeluarkan.

2.2 Operasi pada Stack

Terdapat empat operasi pada  stack , yakni CREATE( stack ), ISEMPTY( stack ), PUSH(elemen, stack ), dan POP ( stack ).

1. CREATE

Adalah operator yang menunjukkan suatu stack kosong dengan nama S. Jadi : NOEL(CREATE(S)) = 0

TOP(CREATE(S)) adalah TIDAK TERDEFINISI.

2. ISEMPTY

Adalah operator yang menentukan apakah stack S kosong.

Operandnya terdiri dari type data stack. Hasilnya merupakan type

(8)

data Boolean: ISEMPTY(S) = True. Jika S hampa, yakni bila  NOEL(S) = 0.

3. PUSH

Adalah operator yang menambahkan elemen E pada  puncak stack S. Hasilnya merupakan stack yang lebih  besar.

PUSH(E,S). E ditempatkan sebagai TOP(S).

4. POP (stack)

Adalah operator yang menghapus sebuah elemen dari  puncak stack S. Hasilnya merupakan stack yang lebih

kecil.

POP(S) mengurangi NOEL(S)

POP(CREATE(S)) kondisi error

POP(PUSH(E,S)) = S

Kesalahan overflow akan terjadi jika kita melakukan operasi  pemasukan data (PUSH) pada  stack yang sudah penuh (dalam hal ini  jika banyaknya elemen yang kita masukkan ke dalam sebuah  stack sudah melampaui batas kemampuan memori atau telah didefinisikan sebelumnya).

Sebaliknya, kesalahan underflow akan terjadi jika stack sudah dalam keadaan hampa, kita lakukan operasi pengeluaran atau  penghapusan (POP).

2.3 Deklarasi Stack dalam Pascal

Meskipun  stack amat luas digunakan, banyak bahasa  pemrograman tidak mempu-nyai tipe data stack secara built-in. Dalam hal ini, Pemrogram harus memanipulasi sendiri fasilitas yang dimiliki  bahasa pemrograman tersebut, untuk dapat melakukan operasi  stack

terhadap variabel stack .

Mungkin cara yang paling sederhana adalah membentuk stack

(9)

dalam bentuk se-macam array. Jelas kita harus membedakan suatu  stack dengan suatu array yang sesungguhnya. Pemrogram harus memaksakan berlakunya aturan LIFO bagi  stack . Selain itu juga,  penempatan  stack dalam bentuk array mengakibatkan suatu keterbatasan, yakni bahwa elemen stack harus homogen. Keterbatasan lain yang timbul adalah keharusan Pemrogram untuk menentukan  batas atas dari  subscript array, walaupun  stack secara teori tidak memiliki batas maksimum dalam jumlah elemen. Jika diinginkan, seharusnya kita dapat membuat stack yang panjangnya takhingga.

Satu hal yang nyata membedakan  stack dengan array adalah  banyaknya elemen stack yang dapat bertambah atau berkurang setiap

waktu, sementara banyaknya elemen sebuah array selalu tetap.

Sekarang marilah kita bicarakan deklarasi dari vari abel S yang  bertipe data stack . Diasumsikan bahwa elemen dari S masing-masing  bertipe data integer dan panjang stack maksimum adalah 100 elemen.

Kita mendeklarasikan sebuah array yang dilengkapi dengan variabel TOP-PTR.

Variabel TOP-PTR ini menyatakan  subscript dari elemen TOP(S) dari  stack . Kita menamakan kombinasi dari array dan indikator untuk TOP tersebut dengan nama STACK-STRUC. Dengan  penyajian seperti ini, berlaku bahwa NOEL(S) = TOP-PTR,

ISEMPTY(S) adalah true bila TOP-PTR = 0, dan  false bila TOP-PTR lebih besar dari 0.

Dalam Pascal

type stackstruct;

record stack: array[1..100[of integer;

top-ptr : integer end

var S : stackstruct;

Kompilator tidak dapat mengerti aturan LIFO yang kita

(10)

inginkan. Untuk itu Pem- rogram harus berhati-ati dan tidak memberi indeks pada S di sembarang tempat, selain dengan nilai TOP-PTR.

Operasi PUSH dan POP dapat kita program sebagai berikut : kita gunakan EON untuk menyatakan elemen yang di-PUSH ke dalam S dan EOFF untuk elemen yang di-POP ke luar S. NOEL-MAX menyatakan panjang maksimum  stack . Jadi di sini NOEL-MAX = 100.

Dalam  procedure Pascal :

 procedure PUSH (eon : integer); begin if (s.topptr < noelmax) then

 begin s.topptr <= s.topptr + 1; s.stack [s.topptr] := eon end

else OVERFLOW-CONDITION end;

 procedure POP (var eoff : integer); begin if (s.topptr > 0) then

 begin eoff := s.Stack(s.topptr);

s.topptr := s.topptr-1 end

else UNDERFLOW-CONDITION end;

2.4 Aplikasi Stack

Stack sangat luas pemakaiannya dalam menyelesaikan berbagai macam problema. Kompilator, sistem operasi, dan berbagai program aplikasi banyak menggunakan konsep  stack tersebut. Salah satu contoh

Referensi

Dokumen terkait

Berbagai kesulitan akan dihadapi dalam pekerjaan analisis, terutama yang menyangkut data, definisi daerah atau kota, penentuan batas daerah perencanaan dan

Pengelolaan risiko kredit dalam Bank juga dilakukan dengan melakukan proses analisa kredit atas potensi risiko yang timbul melalui proses Compliant Internal

Penelitian ini menyimpulkan bahwa proses pengomposan menggunakan bioaktivator MOL limbah tomat dan EM4 berjalan dengan normal berdasarkan gambaran fluktuasi suhu, pH,

Pada multifragmentary complex fracture tidak terdapat kontak antara fragmen proksimal dan distal setelah dilakukan reposisi. Complex spiral fracture terdapat dua atau

International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume XL-1/W1, ISPRS Hannover Workshop 2013, 21 – 24 May 2013, Hannover, Germany.. and

SASARAN PROGRAM PENDIDIKAN KESETARAAN PAKET B PER PROVINSI TAHUN 2015-2017.. Contoh tampilan data tabular. No Provinsi Tahun 2014 *)

Hasil penelitian uji aktivitas antioksidan dengan metode DPPH pada ekstrak methanol terhadap daun ubi jalar kuning dapat diambil kesimpulan bahwa: Uji

Dengan pengaturan ini, secara otomatis memberikan keringanan untuk imigran agar dapat masuk ke dalam wilayah Indonesia yang berdampak besarnya angka penyelundupan imigran di