Dokumen tersebut membahas tentang stack, termasuk penjelasan stack, ilustrasi stack, operasi-operasi stack, implementasi stack menggunakan struct dan array, serta contoh aplikasi stack dalam pembuatan kalkulator scientific menggunakan notasi postfix.
Dokumen tersebut membahas tentang stack dan algoritma notasi aritmatika. Topik utama yang dibahas adalah penjelasan stack sebagai struktur data LIFO, operasi-operasi dasar stack, dan contoh penerapan stack dalam mengubah notasi aritmatika antara infix, prefix, dan postfix. Siswa diminta membuat program untuk mengkonversi antara ketiga notasi tersebut menggunakan stack.
1. Dokumen tersebut menjelaskan tentang stack, yaitu struktur data yang mengikuti prinsip LIFO (Last In First Out) dimana elemen terakhir yang dimasukkan akan menjadi elemen pertama yang diambil.
2. Stack dapat diimplementasikan menggunakan struct dan array, dengan operasi seperti push, pop, isEmpty, isFull.
3. Contoh penerapan stack adalah pembuatan kalkulator postfix dengan menggunakan stack untuk menyimpan operand dan operator se
Dokumen tersebut membahas tentang fungsi rekursif, queue, dan stack. Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri dan berguna untuk pengurutan data dan perhitungan nilai faktorial. Queue adalah antrian dimana data pertama masuk akan keluar terlebih dahulu, seperti antrian printer. Stack adalah struktur data linier dimana penambahan dan penghapusan item hanya dapat dilakukan pada satu ujung (top) secara LIFO
Dokumen tersebut membahas tentang stack dan algoritma notasi aritmatika. Topik utama yang dibahas adalah penjelasan stack sebagai struktur data LIFO, operasi-operasi dasar stack, dan contoh penerapan stack dalam mengubah notasi aritmatika antara infix, prefix, dan postfix. Siswa diminta membuat program untuk mengkonversi antara ketiga notasi tersebut menggunakan stack.
1. Dokumen tersebut menjelaskan tentang stack, yaitu struktur data yang mengikuti prinsip LIFO (Last In First Out) dimana elemen terakhir yang dimasukkan akan menjadi elemen pertama yang diambil.
2. Stack dapat diimplementasikan menggunakan struct dan array, dengan operasi seperti push, pop, isEmpty, isFull.
3. Contoh penerapan stack adalah pembuatan kalkulator postfix dengan menggunakan stack untuk menyimpan operand dan operator se
Dokumen tersebut membahas tentang fungsi rekursif, queue, dan stack. Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri dan berguna untuk pengurutan data dan perhitungan nilai faktorial. Queue adalah antrian dimana data pertama masuk akan keluar terlebih dahulu, seperti antrian printer. Stack adalah struktur data linier dimana penambahan dan penghapusan item hanya dapat dilakukan pada satu ujung (top) secara LIFO
Bab 4 membahas algoritma Stack yang merupakan struktur data LIFO dimana elemen terakhir yang dimasukkan akan menjadi elemen pertama yang diambil. Dibahas pula operasi dasar Stack seperti push, pop, dan print serta contoh penerapannya dalam kalkulator postfix.
Antrian adalah struktur data yang menyimpan elemen sesuai urutan masuk (FIFO). Terdapat beberapa metode utama pada antrian seperti enqueue untuk menambahkan elemen, dequeue untuk mengambil elemen pertama, dan peek untuk melihat elemen pertama tanpa menghapusnya. Antrian dapat diimplementasikan menggunakan array dengan menyimpan indeks elemen terakhir.
Stack merupakan koleksi objek yang menggunakan prinsip LIFO dimana data terakhir masuk akan keluar pertama. Stack dapat diimplementasikan sebagai representasi berkait atau kontigu. Operasi pada stack meliputi push untuk menambahkan elemen, pop untuk menghapus elemen atas, dan fungsi-fungsi lain seperti empty dan full. Notasi prefix dan postfix digunakan untuk menuliskan ungkapan matematika menggunakan stack.
Queue adalah struktur data yang mengimplementasikan konsep antrian (FIFO) dimana data baru disimpan di belakang antrian dan data keluar dari bagian depan antrian. Queue dapat diimplementasikan menggunakan array atau linked list dengan operasi enqueue, dequeue, dan peek."
Dokumen ini membahas tentang antrian (queue) menggunakan array linear. Queue bekerja dengan prinsip First In First Out (FIFO) dimana elemen pertama yang masuk akan keluar pertama. Queue dibuat menggunakan dua variabel head dan tail untuk mengakses elemen paling depan dan belakang. Fungsi-fungsi yang dibahas antara lain enqueue untuk menambah elemen, dequeue untuk mengeluarkan elemen, isEmpty untuk mengecek keadaan kosong, isFull untuk mengecek
1. Bab 5 membahas struktur data queue (antrian) dan implementasinya dalam bahasa pemrograman.
2. Queue adalah struktur data linear dimana penambahan elemen hanya bisa dilakukan di satu ujung dan penghapusan di ujung lain.
3. Queue dapat diimplementasikan menggunakan array linear atau linked list dengan operasi enqueue dan dequeue.
Dokumen tersebut membahas perbedaan tiga jenis perulangan dalam bahasa pemrograman Java, yaitu for, while, dan do-while. Perulangan for digunakan untuk perulangan dengan jumlah yang pasti, sedangkan while dan do-while untuk jumlah yang tidak pasti. Perbedaan utama antara while dan do-while adalah bahwa pada while pengecekan kondisi dilakukan di awal blok sedangkan pada do-while pengecekan dilakukan di akhir blok.
Dokumen tersebut membahas tentang queue (antrian) dalam struktur data, termasuk pengertian queue yang menganut prinsip FIFO, operasi-operasi dasar queue seperti enqueue dan dequeue, deklarasi queue menggunakan array statis dan circular array, serta contoh program queue menggunakan kedua pendekatan tersebut.
Dokumen ini membahas tentang antrian (queue) sebagai struktur data yang menyimpan data sesuai urutan masuknya (FIFO). Terdapat beberapa metode pada antrian seperti enqueue, dequeue, peek, dan isEmpty. Antrian dapat diimplementasikan menggunakan list atau array dengan menambahkan data di belakang dan mengambilnya dari depan. Contoh kode C++ mendemonstrasikan implementasi array queue integer.
Queue adalah linear list dimana data dimasukkan melalui rear dan dihapus dari front, mengikuti prinsip first in first out. Queue memiliki operasi seperti enqueue untuk memasukkan data ke rear, dequeue untuk menghapus data di front, serta mengakses elemen di front dan rear tanpa menghapusnya.
Stack adalah struktur data yang menyimpan data secara teratur dengan sistem LIFO (Last In First Out), di mana elemen terakhir yang dimasukkan akan menjadi elemen pertama yang diambil. Stack dapat digunakan untuk menambahkan atau mengambil elemen hanya pada satu sisi yang disebut top.
1. Dokumen menjelaskan tentang struktur data stack, termasuk definisi, operasi dasar push dan pop, serta representasi stack menggunakan array dan linked list.
2. Diberikan contoh implementasi stack dalam pemrograman, termasuk pendeklarasian, operasi push, pop, dan contoh mengubah notasi infix menjadi postfix.
3. Dokumen memberikan penjelasan lengkap tentang struktur data stack beserta contoh-contoh aplikasinya.
Dokumen tersebut membahas tentang antrian (queue) yang meliputi definisi, representasi, istilah-istilah, dan metode implementasi antrian menggunakan array linier, array sirkuler, dan linked list. Secara khusus dibahas operasi-operasi dasar pada antrian seperti enqueue untuk memasukkan elemen dan dequeue untuk mengeluarkan elemen.
Bab 4 membahas algoritma Stack yang merupakan struktur data LIFO dimana elemen terakhir yang dimasukkan akan menjadi elemen pertama yang diambil. Dibahas pula operasi dasar Stack seperti push, pop, dan print serta contoh penerapannya dalam kalkulator postfix.
Antrian adalah struktur data yang menyimpan elemen sesuai urutan masuk (FIFO). Terdapat beberapa metode utama pada antrian seperti enqueue untuk menambahkan elemen, dequeue untuk mengambil elemen pertama, dan peek untuk melihat elemen pertama tanpa menghapusnya. Antrian dapat diimplementasikan menggunakan array dengan menyimpan indeks elemen terakhir.
Stack merupakan koleksi objek yang menggunakan prinsip LIFO dimana data terakhir masuk akan keluar pertama. Stack dapat diimplementasikan sebagai representasi berkait atau kontigu. Operasi pada stack meliputi push untuk menambahkan elemen, pop untuk menghapus elemen atas, dan fungsi-fungsi lain seperti empty dan full. Notasi prefix dan postfix digunakan untuk menuliskan ungkapan matematika menggunakan stack.
Queue adalah struktur data yang mengimplementasikan konsep antrian (FIFO) dimana data baru disimpan di belakang antrian dan data keluar dari bagian depan antrian. Queue dapat diimplementasikan menggunakan array atau linked list dengan operasi enqueue, dequeue, dan peek."
Dokumen ini membahas tentang antrian (queue) menggunakan array linear. Queue bekerja dengan prinsip First In First Out (FIFO) dimana elemen pertama yang masuk akan keluar pertama. Queue dibuat menggunakan dua variabel head dan tail untuk mengakses elemen paling depan dan belakang. Fungsi-fungsi yang dibahas antara lain enqueue untuk menambah elemen, dequeue untuk mengeluarkan elemen, isEmpty untuk mengecek keadaan kosong, isFull untuk mengecek
1. Bab 5 membahas struktur data queue (antrian) dan implementasinya dalam bahasa pemrograman.
2. Queue adalah struktur data linear dimana penambahan elemen hanya bisa dilakukan di satu ujung dan penghapusan di ujung lain.
3. Queue dapat diimplementasikan menggunakan array linear atau linked list dengan operasi enqueue dan dequeue.
Dokumen tersebut membahas perbedaan tiga jenis perulangan dalam bahasa pemrograman Java, yaitu for, while, dan do-while. Perulangan for digunakan untuk perulangan dengan jumlah yang pasti, sedangkan while dan do-while untuk jumlah yang tidak pasti. Perbedaan utama antara while dan do-while adalah bahwa pada while pengecekan kondisi dilakukan di awal blok sedangkan pada do-while pengecekan dilakukan di akhir blok.
Dokumen tersebut membahas tentang queue (antrian) dalam struktur data, termasuk pengertian queue yang menganut prinsip FIFO, operasi-operasi dasar queue seperti enqueue dan dequeue, deklarasi queue menggunakan array statis dan circular array, serta contoh program queue menggunakan kedua pendekatan tersebut.
Dokumen ini membahas tentang antrian (queue) sebagai struktur data yang menyimpan data sesuai urutan masuknya (FIFO). Terdapat beberapa metode pada antrian seperti enqueue, dequeue, peek, dan isEmpty. Antrian dapat diimplementasikan menggunakan list atau array dengan menambahkan data di belakang dan mengambilnya dari depan. Contoh kode C++ mendemonstrasikan implementasi array queue integer.
Queue adalah linear list dimana data dimasukkan melalui rear dan dihapus dari front, mengikuti prinsip first in first out. Queue memiliki operasi seperti enqueue untuk memasukkan data ke rear, dequeue untuk menghapus data di front, serta mengakses elemen di front dan rear tanpa menghapusnya.
Stack adalah struktur data yang menyimpan data secara teratur dengan sistem LIFO (Last In First Out), di mana elemen terakhir yang dimasukkan akan menjadi elemen pertama yang diambil. Stack dapat digunakan untuk menambahkan atau mengambil elemen hanya pada satu sisi yang disebut top.
1. Dokumen menjelaskan tentang struktur data stack, termasuk definisi, operasi dasar push dan pop, serta representasi stack menggunakan array dan linked list.
2. Diberikan contoh implementasi stack dalam pemrograman, termasuk pendeklarasian, operasi push, pop, dan contoh mengubah notasi infix menjadi postfix.
3. Dokumen memberikan penjelasan lengkap tentang struktur data stack beserta contoh-contoh aplikasinya.
Dokumen tersebut membahas tentang antrian (queue) yang meliputi definisi, representasi, istilah-istilah, dan metode implementasi antrian menggunakan array linier, array sirkuler, dan linked list. Secara khusus dibahas operasi-operasi dasar pada antrian seperti enqueue untuk memasukkan elemen dan dequeue untuk mengeluarkan elemen.
Dokumen tersebut membahas beberapa struktur data dasar seperti record, array, linked list, stack, dan queue. Struktur data digunakan untuk menyimpan dan merepresentasikan data secara efisien dalam komputer.
1. Stack merupakan bentuk khusus dari list linier dimana pemasukan dan penghapusan elemen hanya dapat dilakukan pada posisi akhir.
2. Prinsip utama stack adalah Last In First Out (LIFO) dimana elemen terakhir yang masuk akan menjadi elemen pertama yang keluar.
3. Terdapat beberapa operasi pada stack seperti push untuk menambahkan elemen, pop untuk menghapus elemen teratas, dan print untuk menampilkan semua elemen
Dokumen tersebut membahas konsep stack yang bekerja dengan prinsip LIFO, dimana data terakhir yang dimasukkan akan menjadi data pertama yang diambil. Terdapat operasi push untuk menambahkan data dan pop untuk mengambil data paling atas. Contoh program stack dan penjelasan tentang Abstract Data Type (ADT) juga dibahas.
Dokumen tersebut menjelaskan tentang stack, yaitu struktur data linier yang memungkinkan penambahan dan penghapusan elemen hanya pada satu ujung (top). Dokumen tersebut mendefinisikan stack secara fungsional dan memberikan contoh implementasinya dalam berbagai bahasa pemrograman seperti C, Ada, beserta contoh aplikasinya untuk evaluasi ekspresi matematika.
1. Laporan praktikum ini membahas tentang stack dan konversi notasi infix ke postfix. Stack merupakan struktur data linear dimana operasi pemasukan dan pengeluaran data dilakukan pada satu sisinya. Konversi notasi infix ke postfix melibatkan penggunaan stack.
2. Program C++ dibuat untuk mempraktikkan konsep stack dan konversi notasi termasuk membalik kata dan kalkulator sederhana. Program dikompilasi dan dijalankan untuk menguji konsep yang
Dokumen tersebut membahas tentang ADT pada stack dan queue. Secara umum dijelaskan bahwa stack dan queue merupakan ADT yang menerapkan prinsip LIFO untuk stack dan FIFO untuk queue. Dilanjutkan dengan penjelasan implementasi stack dan queue menggunakan array dan linked list serta contoh penerapannya.
Dokumen ini membahas tentang antrian (queue) sebagai struktur data yang menyimpan data sesuai urutan masuknya (FIFO). Terdapat beberapa metode pada antrian seperti enqueue, dequeue, peek, dan isEmpty. Antrian dapat diimplementasikan menggunakan list atau array dengan menambahkan data di belakang dan mengambilnya dari depan. Contoh kode C++ mendemonstrasikan implementasi array queue integer.
Tumpukan (stack) adalah struktur data linier yang hanya memungkinkan penambahan dan penghapusan elemen di posisi teratas. Prinsip kerjanya adalah LIFO (last in first out). Dokumen ini menjelaskan konsep stack pada array, termasuk operasi seperti pengecekan keserakan/kepenuhan, penambahan elemen (push), dan penghapusan elemen (pop).
1. Dokumen ini membahas tentang struktur data stack dan antrian (queue). Stack bekerja dengan prinsip LIFO (last in first out) sedangkan antrian bekerja dengan prinsip FIFO (first in first out).
2. Stack dan antrian memiliki operasi dasar seperti push, pop, isEmpty, isFull untuk stack, dan enqueue, dequeue, isEmpty, isFull untuk antrian.
3. Dokumen ini menjelaskan algoritma dan cara kerja dari masing-masing operasi tersebut pada stack dan antrian
Dokumen ini membahas tentang algoritma pengurutan (sorting) array. Terdapat penjelasan mengenai tujuan pembelajaran, materi sorting, dan contoh kode program untuk beberapa metode sorting seperti bubble sort, selection sort, insertion sort, quick sort, merge sort, dan heap sort. Mahasiswa diminta membuat program untuk mengurutkan data mahasiswa berdasarkan nama menggunakan algoritma sorting.
Dokumen tersebut membahas komponen penting dalam pembuatan game seperti game engine, rules and mechanics, user interface, serta konten dan tantangan. Game engine menyediakan perpustakaan untuk grafik, fisika, animasi, dan lainnya. Rules and mechanics mengisi nilai-nilai untuk sistem permainan seperti gravitasi dan jenis interaksi. User interface menentukan antarmuka pemain untuk berinteraksi dengan game. Konten merupakan hal penting yang menentukan pengalaman bermain.
Dokumen tersebut membahas tentang rendering grafis dan langkah-langkahnya dalam pembuatan video game. Rendering grafis adalah proses menghasilkan gambar dua dimensi dari model grafis tiga dimensi dengan mempertimbangkan atribut seperti warna, bentuk, dan posisi objek. Langkah-langkahnya meliputi representasi 3D ke layar 2D menggunakan OpenGL, penyimpanan koordinat titik ke vertex buffers, pemrosesan menjadi potongan pik
Dokumen tersebut membahas tentang perangkat lunak dan jenis-jenisnya, termasuk pengelompokan perangkat lunak, perbedaan antara versi dan rilis, user interface, jenis-jenis aplikasi seperti word processing dan spreadsheet, serta software suite dan aplikasi untuk e-book.
Perkembangan teknologi penyimpanan eksternal dibahas meliputi berbagai jenis perangkat penyimpanan seperti floppy disk, hard disk, pita magnetik, flash disk, CD, DVD, kartu memori, dan flask disk beserta perbandingan kelebihan dan kekurangannya.
Pertemuan membahas peranti keluaran komputer seperti monitor, printer, plotter, dan computer output microfilm. Mahasiswa diharapkan memahami jenis dan macam peranti keluaran seperti monitor CRT, LCD, printer impact, inkjet, laser, dan plotter pena, termal, elektrostatik.
Dokumen tersebut membahas mengenai perangkat masukan pada komputer yang meliputi penjelasan mengenai jenis-jenis perangkat masukan seperti keyboard, mouse, barcode reader, kamera, mikrofon, sensor dan lainnya beserta penjelasan singkat mengenai masing-masing perangkat.
C++ structs allow grouping of related data elements of different types. Structs define a new data type with members that can be accessed by name. Struct variables can be declared once the struct is defined. Members are accessed using the dot operator, such as struct_variable.member. While structs allow aggregation through assignment and passing by value/reference, they do not support arithmetic, comparisons, or I/O as aggregates. Arrays of structs are also possible, with elements accessed using both the array index and dot operator.
Dokumen ini berisi aturan-aturan pengerjaan tugas akhir mata kuliah Algoritma dan Struktur Data. Tugas akhir berupa pembuatan program C dengan menggunakan minimal enam modul dasar struktur data. Program harus dikerjakan secara berkelompok dengan 2-3 orang dan memilih satu tema. Kelompok wajib menyerahkan file program dan laporan serta melakukan presentasi sesuai jadwal. Pelanggaran aturan dapat mengakibatkan pengurangan
This document discusses pointers in C++. It begins by explaining that pointers store memory addresses and can be used to indirectly access the value of the variable located at that address. It then covers pointer declaration syntax, using the address of (&) and dereference (*) operators, and pointers to pointers. The document also discusses static vs dynamic memory allocation, using new and delete to manually allocate and free memory. It provides examples of pointers to arrays and array pointers. Finally, it shows examples of dynamically allocating memory for arrays using new and deleting it using delete[].
Dokumen tersebut membahas tentang struktur data linked list, terdiri dari 3 kalimat:
Linked list adalah struktur data yang terdiri dari node-node yang saling terhubung, masing-masing node berisi data dan pointer ke node berikutnya. Dokumen ini menjelaskan konsep single linked list, fungsi-fungsi dasar seperti penambahan, penghapusan, dan penampilan data, serta ilustrasi grafis operasi-operasinya.
This document discusses arrays in C++. It defines arrays as fixed-size collections of elements of the same type. One-dimensional arrays are arranged in list form, accessed using indices, and can be initialized partially. Two-dimensional arrays are like tables with rows and columns accessed using index pairs. Arrays are passed by reference in functions. The document also covers parallel arrays, C-strings stored in character arrays, and processing arrays by rows and columns.
Dokumen ini membahas tentang searching pada array dengan menggunakan metode sequential search. Metode ini melakukan pencarian secara berurutan dengan menelusuri setiap elemen pada array untuk mencari nilai tertentu, mencari apakah nilai tersebut ada atau tidak, atau mencari nilai maksimum dan minimum. Algoritmanya dijelaskan dengan flowchart.
Modul Ajar Bahasa Inggris Kelas 10 Fase E Kurikulum MerdekaFathan Emran
Modul Ajar Bahasa Inggris Kelas 10 SMA/MA Fase E Kurikulum Merdeka - abdiera.com. Modul Ajar Bahasa Inggris Kelas 10 SMA/MA Fase E Kurikulum Merdeka. Modul Ajar Bahasa Inggris Kelas 10 SMA/MA Fase E Kurikulum Merdeka.
Ppt landasan pendidikan Pai 9 _20240604_231000_0000.pdffadlurrahman260903
Ppt landasan pendidikan tentang pendidikan seumur hidup.
Prodi pendidikan agama Islam
Fakultas tarbiyah dan ilmu keguruan
Universitas Islam negeri syekh Ali Hasan Ahmad addary Padangsidimpuan
Pendidikan sepanjang hayat atau pendidikan seumur hidup adalah sebuah system konsepkonsep pendidikan yang menerangkan keseluruhan peristiwa-peristiwa kegiatan belajarmengajar yang berlangsung dalam keseluruhan kehidupan manusia. Pendidikan sepanjang
hayat memandang jauh ke depan, berusaha untuk menghasilkan manusia dan masyarakat yang
baru, merupakan suatu proyek masyarakat yang sangat besar. Pendidikan sepanjang hayat
merupakan asas pendidikan yang cocok bagi orang-orang yang hidup dalam dunia
transformasi dan informasi, yaitu masyarakat modern. Manusia harus lebih bisa menyesuaikan
dirinya secara terus menerus dengan situasi yang baru.
Paper ini bertujuan untuk menganalisis pencemaran udara akibat pabrik aspal. Analisis ini akan fokus pada emisi udara yang dihasilkan oleh pabrik aspal, dampak kesehatan dan lingkungan dari emisi tersebut, dan upaya yang dapat dilakukan untuk mengurangi pencemaran udara
Modul Ajar Matematika Kelas 11 Fase F Kurikulum MerdekaFathan Emran
Modul Ajar Matematika Kelas 11 SMA/MA Fase F Kurikulum Merdeka - abdiera.com. Modul Ajar Matematika Kelas 11 SMA/MA Fase F Kurikulum Merdeka. Modul Ajar Matematika Kelas 11 SMA/MA Fase F Kurikulum Merdeka. Modul Ajar Matematika Kelas 11 SMA/MA Fase F Kurikulum Merdeka. Modul Ajar Matematika Kelas 11 SMA/MA Fase F Kurikulum Merdeka.
2. 2
Stack
• Stack bersifat LIFO (Last In First Out)
• “Benda yang terakhir masuk ke dalam
stack akan menjadi yang pertama
keluar dari stack
TV TV
VCD
Compo
TV
VCD
Compo
TV
VCD
Compo
3. 3
Ilustrasi Stack
• Contohnya, karena kita menumpuk Compo di posisi terakhir,
maka Compo akan menjadi elemen teratas dalam tumpukan.
Sebaliknya, karena kita menumpuk Televisi pada saat pertama
kali, maka elemen Televisi menjadi elemen terbawah dari
tumpukan. Dan jika kita mengambil elemen dari tumpukan,
maka secara otomatis akan terambil elemen teratas, yaitu
Compo.
• Operasi-operasi/fungsi Stack
– Push : digunakan untuk menambah item pada stack pada
tumpukan paling atas
– Pop : digunakan untuk mengambil item pada stack pada
tumpukan paling atas
– Clear : digunakan untuk mengosongkan stack
– IsEmpty : fungsi yang digunakan untuk mengecek apakah
stack sudah kosong
– IsFull : fungsi yang digunakan untuk mengecek apakah
stack sudah penuh
4. 4
Stack dengan Struct Array
• Definisikan Stack dengan menggunakan
struct
• Definisikan konstanta MAX_STACK
untuk menyimpan maksimum isi stack
• Buatlah variabel array data sebagai
implementasi stack
• Deklarasikan operasi-operasi/function di
atas dan buat implemetasinya
5. 5
Program Stack
• Deklarasi MAX_STACK
#define MAX_STACK 10
• Deklarasi STACK dengan struct dan array data
typedef struct STACK{
int top;
char data[10][10];
};
• Deklarasi/buat variabel dari struct
STACK tumpuk;
6. 6
Program Stack (2)
Inisialisasi Stack
• Pada mulanya isi top dengan -1, karena array
dalam C dimulai dari 0, yang berarti stack adalah
KOSONG!
• Top adalah suatu variabel penanda dalam
STACK yang menunjukkan elemen teratas Stack
sekarang. Top Of Stack akan selalu bergerak
hingga mencapai MAX of STACK sehingga
menyebabkan stack PENUH!
8. 8
Program Stack (3)
Fungsi IsFull
• Untuk memeriksa apakah stack sudah
penuh?
• Dengan cara memeriksa top of stack, jika
sudah sama dengan MAX_STACK-1
maka full, jika belum (masih lebih kecil
dari MAX_STACK-1) maka belum full
10. 10
Program Stack (5)
Fungsi IsEmpty
• Untuk memeriksa apakah stack masih kosong?
• Dengan cara memeriksa top of stack, jika masih -1 maka
berarti stack masih kosong!
11. 11
Program Stack (6)
Fungsi Push
• Untuk memasukkan elemen ke stack, selalu
menjadi elemen teratas stack (yang ditunjuk oleh
TOS)
• Tambah satu (increment) nilai top of stack lebih
dahulu setiap kali ada penambahan elemen stack.
• Asalkan stack masih belum penuh, isikan data baru
ke stack berdasarkan indeks top of stack setelah
diincrement sebelumnya.
13. 13
Program Stack (8)
Fungsi Pop
• Untuk mengambil elemen teratas (data yang
ditunjuk oleh TOS) dari stack.
• Ambil dahulu nilai elemen teratas stack
dengan mengakses top of stack, tampilkan
nilai yang akan dipop, baru dilakukan
decrement nilai top of stack sehingga jumlah
elemen stack berkurang
15. 15
Program Stack (10)
• Fungsi Print
• Untuk menampilkan semua elemen-
elemen stack
• Dengan cara looping semua nilai array
secara terbalik, karena kita harus
mengakses dari indeks array tertinggi
terlebih dahulu baru ke indeks yang
kecil!
17. 17
Studi Kasus Stack
• Pembuatan Kalkulator SCIENTIFIC
– Misalkan operasi: 3 + 2 * 5
– Operasi di atas disebut notasi infiks,
notasi infiks tersebut harus diubah lebih
dahulu menjadi
– notasi postfix 3 + 2 * 5
– notasi postfiksnya adalah 2 5 * 3 +
18. 18
Studi Kasus Stack (2)
• Pop Stack Soal:
• Jika berupa operand, maka masukkan ke Stack Hasil
• Jika berupa operator, maka:
– Pop nilai pertama dari Stack Hasil
– Pop nilai kedua dari Stack Hasil
– Lakukan operasi sesuai dengan operator yang didapat.
19. 19
Studi Kasus Stack (3)
Operator * di pop dari Stack Soal, pop Stack Hasil dua kali,
yaitu 5 dan 2 kemudian, simpan 5 ke dalam variabel misalnya
a, dan 2 ke dalam variabel misalnya b.
Lalu lakukan operasi sesuai dengan operatornya,
b <operator> a
Jadi b * a, yaitu 2 * 5 kemudian hasilnya disimpan lagi ke
dalam StackHasil
20. 20
Studi Kasus Stack (4)
• Kemudian lakukan langkah yang sama, sampai selesai.
• Pada contoh: operator + dipop dari Stack Soal, pop Stack
Hasil dua kali, yaitu 3, disimpan pada variabel a, dan 2,
disimpan pada variabel b. Kemudian lakukan operasi
sesuai dengan operatornya, b <operator> a
• Jadi b + a, yaitu 8 + 3 = 11.
21. 21
Notasi Aritmatik
• Notasi INFIX :
– operand operator operand : A + B
• Notasi PREFIX :
– operator operand operand : + A B
• Notasi POSTFIX :
– operand operand operator : A B +
23. 23
Infix ke Prefix Algorithm
Contoh
(A + B) – (C * D)
Untuk pengerjaan infix, perlu diperhatikan urutan
sebagai berikut:
1. Pengerjaan dalam kurung ke-1: (A+B), prefix-
nya adalah +AB
2. Pengerjaan dalam kurung ke-2: (C*D), prefix-
nya adalah *CD
3. Terakhir adalah operator -, +AB - *CD, prefix-
nya adalah -+AB*CD
24. 24
Infix ke Postfix Algoritma
Contoh
(A + B) – (C * D)
Untuk pengerjaan infix, perlu diperhatikan urutan
sebagai berikut:
1. Pengerjaan dalam kurung ke-1: (A+B), postfix-
nya adalah AB+
2. Pengerjaan dalam kurung ke-2: (C*D), postfix-
nya adalah CD*
3. Terakhir adalah operator -, AB+ - CD*, postfix-
nya adalah AB+CD*-
25. 25
Prefix ke Infix Algoritma
Contoh
+/*ABCD
Untuk pengerjaan prefix, perlu diperhatikan urutan sebagai
berikut:
1. Cari operator ke-1: *, ambil dua operand sebelumnya A
dan B, sehingga infix-nya adalah (A * B)
2. Cari operator ke-2: /, ambil dua operand sebelumnya (A
*B) dan C, sehingga infix-nya adalah ((A * B) / C)
3. Cari operator ke-3: +, ambil dua operand sebelumnya
((A * B)/C) dan C, sehingga infix-nya adalah ((A * B) /
C) + D
26. 26
Prefix ke Postfix Algoritma
Contoh
+/*ABCD
Untuk pengerjaan prefix, perlu diperhatikan urutan sebagai
berikut:
1. Cari operator ke-1: *, ambil dua operand sebelumnya A
dan B, sehingga postfix-nya adalah AB*
2. Cari operator ke-2: /, ambil dua operand sebelumnya
AB* dan C, sehingga postfix-nya adalah AB*C/)
3. Cari operator ke-3: +, ambil dua operand sebelumnya
AB*C/ dan D, sehingga postfix-nya adalah AB*C/D+
27. 27
Postfix ke Infix Algoritma
Contoh
ABCD*/-
Untuk pengerjaan postfix, perlu diperhatikan urutan sebagai
berikut:
1. Cari operator ke-1: *, ambil dua operand sebelumnya C
dan D, sehingga infix-nya adalah (C*D)
2. Cari operator ke-2: /, ambil dua operand sebelumnya B
dan (C*D), sehingga infix-nya adalah (B/(C*D))
3. Cari operator ke-3: -, ambil dua operand sebelumnya A
dan (B/(C*D)), sehingga infix-nya adalah A – (B/(C*D))
28. 28
Postfix ke Prefix Algoritma
Contoh
ABCD*/-
Untuk pengerjaan postfix, mencari operator di mulai dari
operan terkini sebagai berikut:
1. Cari operator ke-1: *, ambil dua operand sebelumnya C
dan D, sehingga prefix-nya *CD
2. Cari operator ke-2: /, ambil dua operand sebelumnya B
dan *CD, sehingga prefix-nya adalah /B*CD
3. Cari operator ke-3: -, ambil dua operand sebelumnya A
dan /B*CD, sehingga prefix-nya adalah –A/B*CD
29. 29
Tugas
• Buatlah program menghitung dengan Algoritma
– Infix ke Prefix
– Prefix ke Postfix
– Postfix ke Infix
Menggunakan operan berupa angka dan operator (*, /,+,-)
dengan rumus yang diisikan dari keyboard