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 atau Tumpukan :
1. Definisi Tumpukan
2. Definisi Operasi
3. Struktur Data
4. Hierarki Struktur Data
5. Operasi Dasar Tumpukan
6. Operasi Stack Pop
7. Implementasi Tumpukan
Stack atau Tumpukan :
1. Definisi Tumpukan
2. Definisi Operasi
3. Struktur Data
4. Hierarki Struktur Data
5. Operasi Dasar Tumpukan
6. Operasi Stack Pop
7. Implementasi Tumpukan
Making an application horizontally scalable in 30 minutes. This presentation describes how a linear processing application (mail merge) can be converted into a horizontally scalable using Redis and provides some context why a multi-process approach is preferable to a multi-threaded approach.
Fungsi rekursif --> suatu fungsi yang memanggil dirinya sendiri
Fungsi tersebut dipanggil di dalam tubuh fungsi itu sendiri
Sangat berguna bila diimplementasikan untuk pekerjaan pengurutan data atau menghitung nilai factorial suatu bilangan.
ANALISIS PENGARUH INDUSTRI BATU BARA TERHADAP PENCEMARAN UDARA.pdfnarayafiryal8
Industri batu bara telah menjadi salah satu penyumbang utama pencemaran udara global. Proses ekstraksi batu bara, baik melalui penambangan terbuka maupun penambangan bawah tanah, menghasilkan debu dan gas beracun yang dilepaskan ke atmosfer. Gas-gas tersebut termasuk sulfur dioksida (SO2), nitrogen oksida (NOx), dan partikel-partikel halus (PM2.5) yang berbahaya bagi kesehatan manusia dan lingkungan. Selain itu, pembakaran batu bara di pembangkit listrik dan industri menyebabkan emisi karbon dioksida (CO2), yang merupakan penyebab utama perubahan iklim global dan pemanasan global.
Pencemaran udara yang disebabkan oleh industri batu bara juga memiliki dampak lokal yang signifikan. Di sekitar area penambangan, debu batu bara yang dihasilkan dapat mengganggu kesehatan masyarakat dan ekosistem lokal. Paparan terus-menerus terhadap debu batu bara dapat menyebabkan masalah pernapasan seperti asma dan bronkitis, serta berkontribusi pada penyakit paru-paru yang lebih serius. Selain itu, hujan asam yang disebabkan oleh emisi sulfur dioksida dapat merusak tanaman, air tanah, dan ekosistem sungai, mengancam keberlanjutan lingkungan di sekitar lokasi industri batu bara.
2. Pendahuluan
Antrian adalah sebuah struktur penyimpanan data yang
menyimpan data sesuai urutan dan proses pengambilan
seperti antrian.
Antrian memiliki prinsip First in First Out (FIFO). Karena
seperti layaknya antrian, data yang dimasukkan pertama
akan diambil terlebih dahulu.
3. Metode pada Antrian
Terdapat beberapa method dasar pada queue:
1. Enqueue : menambahkan data ke queue di paling
belakang
2. Dequeue : mengambil dari antrian paling depan,
elemen akan hilang
3. Peek : memeriksa data antrian pertama
4. IsEmpty : memeriksa apakah antrian kosong
4. Struktur Antrian
Antrian juga mirip dengan tumpukan yang serupa dengan
list, hanya saja pop pada queue akan mengembalikan
elemen yang masuk setelah elemen terdepan yang di-pop
Peek Enqueue
Dequeue
5. Antrian Senarai
Karena memang memiliki dasar yang sama dengan list,
Antrian dapat digambarkan sebagai list linier dengan:
1. Kepala : elemen pertama
2. Ekor : elemen terakhir
3. Aturan penyisipan pada elemen terakhir, dan
penghapusan / pengambilan pada elemen pertama
Head Tail
7. Contoh ADT Array Queue Integer
type Queue: < integer capacity /* kapasitas queue*/
integer tail /* indeks queue */
integer infoTail /* nilai teratas pada queue */
integer Q[capacity] /* Q menampung elemen queue */ >
/* mengembalikan nilai terdepan dari queue */
function peek(Input Q: Queue) → integer
/* mengembalikan nilai pada queue*/
function infoTail(Input Q: Queue) → integer
/* memeriksa apakah queue kosong */
function isEmpty(Input Q: Queue) → boolean
/* menginisialisasi queue */
Procedure buatQueue(Output Q: Queue)
/* menambah nilai pada queue */
Procedure enqueue(Input/Output Q: Queue, X: in integer)
/* mengambil nilai dari queue */
Procedure dequeue(Input/Output S: Stack, Output X: integer)
8. Penjelasan TDA Antrian
Seperti tumpukan, antrian juga memiliki kapasitas yang
menyaktan jumlah elemen yang bisa diisi pada
penampung berbentuk larik, karena larik ini juga akan
didefinisikan dengan besar = kapasitas.
Tail merupakan indeks kosong terakhir antrian sehingga
kita tidak perlu lagi mencari indeks terakhir pada larik
penampung yang telah terisi jika ingin melakukan operasi.
Sedangkan infoTail yang diset juga untuk dapat langsung
mengembalikan nilai terdepan.
9. Contoh Kode C++ Array Queue Integer
#include <iostream>
using namespace std;
typedef struct queue {
int capacity; /* kapasitas antrian */
int tail; /* informasi indeks dari elemen kosong terakhir pada antrian */
int infoTail; /* informasi dari elemen informasi dari elemen terakhir pada antrian */
int Q[10]; /* tempat penyimpanan antrian dalam larik */
} Queue;
void buatQueue(Queue &Q) {
Q.capacity = 10; // inisialisasi kapasitas queue
Q.tail = 0;
for (int i=0; i<10 ; i++) {
Q.Q[i] = -9999;
} // misalkan nilai -9999 adalah penanda kosong
}
10. Contoh Kode C++ Array Queue Integer
bool isEmpty(Queue Q) {
return Q.tail == 0;
}
int Dequeue(Queue &Q) {
int num = Q.Q[Q.tail-1];
Q.tail -= 1;
int iterator = 0;
bool done = false;
while (!done) { // rapatkan antrian setelah pengambilan
Q.Q[iterator] = Q.Q[iterator+1];
iterator++;
if(Q.Q[iterator] == -9999) {
done = true;
}
}
return num;
}
11. Contoh Kode C++ Array Queue Integer
void Enqueue(Queue &Q, int x) {
if (Q.tail != 10) { // jika queue belum penuh
Q.Q[Q.tail] = x; // isi nilai head yang kosong dengan x
Q.head += 1; // naikan nilai head
}
}
int main() {
Queue myQueue;
buatQueue(myQueue);
Enqueue(myQueue, 10);
Enqueue(myQueue, 20);
for (int i=0; i<10; i++)
cout << myQueue.Q[i] <<" | ";
int hasil = Dequeue(myQueue);
cout << endl << "hasil: " << hasil << endl;
for (int i=0; i<10; i++)
cout << myQueue.Q[i] <<" | ";
return 0;
}
12. Pemanfaatan Queue
Aplikasi queue / antrian dapat digunakan contohnya pada
1. Program pemesanan (resrevasi hotel, tempat makan,
travel, dll)
2. Program penjadwalan (waktu eksekusi sub-program)
3. Program penyaringan / filter, misalkan pada jaringan
komputer untuk pembagian bandwidth
4. dll