• Mudah Technology
Monday, January 12, 2026
  • Login
otokreasi
  • Garasi
  • Cerita Berita
  • Generative AI
  • Fitur AI
  • Telekomunikasi
  • Algoritma
  • Iklan
No Result
View All Result
  • Garasi
  • Cerita Berita
  • Generative AI
  • Fitur AI
  • Telekomunikasi
  • Algoritma
  • Iklan
No Result
View All Result
otokreasi
No Result
View All Result

Queue dan Stack: Struktur Data untuk Sistem Nyata di Otomotif dan Algoritma JavaScript

admin by admin
December 20, 2025
in Algoritma
0
585
SHARES
3.2k
VIEWS
Summarize with ChatGPTShare to Facebook

Pernah nggak, kamu lagi nunggu di bengkel motor atau mobil yang rame banget? Antrian kendaraan yang masuk bikin kita paham betul soal bagaimana sistem antrian itu bekerja. Nah, di dunia pemrograman, khususnya saat membuat algoritma sistem antrian proses, ada dua struktur data yang sering dipakai: **Queue** dan **Stack**. Kali ini kita bakal kupas tuntas dua struktur ini dengan JavaScript plus contoh kasus antrian proses yang mirip seperti antrean di garasi.

Antrian Proses: Dari Garasi ke Proses Komputer

Bayangin kamu lagi servis motor di bengkel, yang masuk duluan harus selesai duluan juga, biar adil dan nggak bikin macet. Ini mirip banget sama konsep **antrian proses** di komputer. Proses-proses yang datang harus diproses sesuai urutan, supaya sistem tetap lancar dan nggak ‘macet’. Di dunia komputasi, model antrian ini disebut FIFO (First In, First Out).

Sebaliknya, ada juga situasi yang kayak saat kamu mengerjakan modifikasi, yang terakhir kamu siapin, duluan kamu pakai. Itu model yang beda namanya LIFO (Last In, First Out). Dua prinsip ini yang jadi dasar struktur data **Queue** dan **Stack**.

Queue dan Stack: Apa Bedanya?

Kalau Queue itu kayak antrian motor di bengkel, yang datang dulu, di proses dulu — prinsip FIFO. Data masuk di belakang, keluar di depan.

Sedangkan Stack itu seperti tumpukan ban cadangan dalam garasi. Ban yang terakhir ditumpuk, harus diambil duluan buat dipakai—prinsip LIFO.

Penjelasan singkat:

– **Queue (Antrian):**
Operasi utama pengambilan data adalah dari depan, penambahan data dari belakang.

– **Stack (Tumpukan):**
Operasi utama pengambilan dan penambahan data dilakukan di satu tempat yang sama, yaitu puncak tumpukan.

Sekarang kita coba implementasi langsung di JavaScript agar penjelasan makin nyentuh.

Contoh Kode JavaScript: Implementasi FIFO dan LIFO dalam Antrian Proses

1. **Queue Sederhana:**

// Queue dengan array: implementasi FIFO
class Queue {
  constructor() {
    this.items = [];
  }
  
  enqueue(element) {
    this.items.push(element); // tambah di belakang
  }
  
  dequeue() {
    if(this.isEmpty()) return "Queue kosong";
    return this.items.shift(); // ambil dari depan
  }
  
  isEmpty() {
    return this.items.length === 0;
  }
  
  peek() {
    if(this.isEmpty()) return "Queue kosong";
    return this.items[0];
  }
  
  print() {
    console.log(this.items.toString());
  }
}

// Contoh penggunaan:
const antrianProses = new Queue();
antrianProses.enqueue('Proses 1');
antrianProses.enqueue('Proses 2');
antrianProses.enqueue('Proses 3');
antrianProses.print(); // Proses 1,Proses 2,Proses 3

console.log('Mengambil:', antrianProses.dequeue()); // Proses 1
antrianProses.print(); // Proses 2,Proses 3

2. **Stack Sederhana:**

// Stack dengan array: implementasi LIFO
class Stack {
  constructor() {
    this.items = [];
  }
  
  push(element) {
    this.items.push(element); // tambah di puncak tumpukan
  }
  
  pop() {
    if(this.isEmpty()) return "Stack kosong";
    return this.items.pop(); // ambil dari puncak tumpukan
  }
  
  isEmpty() {
    return this.items.length === 0;
  }
  
  peek() {
    if(this.isEmpty()) return "Stack kosong";
    return this.items[this.items.length - 1];
  }
  
  print() {
    console.log(this.items.toString());
  }
}

// Contoh penggunaan:
const tumpukanModifikasi = new Stack();
tumpukanModifikasi.push('Ban Cadangan');
tumpukanModifikasi.push('Filter Udara');
tumpukanModifikasi.push('Oli Mesin');
tumpukanModifikasi.print(); // Ban Cadangan,Filter Udara,Oli Mesin

console.log('Mengambil:', tumpukanModifikasi.pop()); // Oli Mesin
tumpukanModifikasi.print(); // Ban Cadangan,Filter Udara

3. **Variasi: Memproses Antrian Prioritas Sederhana**

Misalnya di bengkel kamu mau prioritas proses servis berdasarkan tipe motor, kita bisa modifikasi queue sederhana jadi prioritas seperti ini:

// Priority Queue sederhana berdasarkan tipe motor (misal: sport > matic > bebek)
class PriorityQueue {
  constructor() {
    this.items = [];
  }
  
  enqueue(element, priority) {
    // element: string nama proses, priority: angka prioritas (semakin kecil, prioritas besar)
    const queueElement = { element, priority };
    let added = false;
    
    for (let i = 0; i < this.items.length; i++) {
      if (queueElement.priority < this.items[i].priority) {
        this.items.splice(i, 0, queueElement);
        added = true;
        break;
      }
    }
    
    if (!added) {
      this.items.push(queueElement);
    }
  }
  
  dequeue() {
    if(this.isEmpty()) return "Queue kosong";
    return this.items.shift().element;
  }
  
  isEmpty() {
    return this.items.length === 0;
  }
  
  print() {
    console.log(this.items.map(i => `${i.element}[${i.priority}]`).toString());
  }
}

// Contoh penggunaan:
const queuePrioritas = new PriorityQueue();
queuePrioritas.enqueue('Servis Motor Bebek', 3);
queuePrioritas.enqueue('Servis Motor Sport', 1);
queuePrioritas.enqueue('Servis Motor Matic', 2);
queuePrioritas.print(); // Servis Motor Sport[1],Servis Motor Matic[2],Servis Motor Bebek[3]

console.log('Memproses:', queuePrioritas.dequeue()); // Servis Motor Sport
queuePrioritas.print(); // Servis Motor Matic[2],Servis Motor Bebek[3]

Masa Depan: Dari Garasi ke Algoritma

Di tahun 2025, sistem otomotif semakin terkoneksi dengan teknologi digital — mulai dari IoT kendaraan sampai sistem manajemen servis berbasis cloud. Struktur data seperti queue dan stack menjadi tulang punggung dalam pipeline pemrosesan data maupun pengaturan antrian servis di POS bengkel canggih.

Bayangkan, semua proses dari permintaan servis, diagnosis masalah, hingga penggantian suku cadang berjalan otomatis sesuai urutan antrian yang diproses menggunakan algoritma yang kita bahas. Jadi, pemahaman mengenai queue dan stack ini bukan cuma soal pemrograman, tapi juga kunci untuk menciptakan ekosistem otomotif digital yang efisien dan terorganisir.

Selamat mencoba, bawa algoritma dari garasi ke dalam kode, supaya prosesmu makin rapi dan terstruktur!

SummarizeShare234
admin

admin

Related Stories

Alt text SEO-friendly

Memahami Scope dan Umur Variabel di Python: Panduan Lengkap untuk Pemula dan Intermediate

by admin
December 27, 2025
0

Kalau kamu sering utak-atik kode Python, pasti pernah dengar istilah *scope* dan *umur variabel*. Dua konsep ini kayak aki dan mesin di mobil, keduanya saling bantu supaya program...

Alt text SEO-friendly

Menulis Fungsi Python dengan Cara yang Benar: Panduan Clean Code untuk Pemula

by admin
December 27, 2025
0

Di dunia otomotif, kita selalu ingin mesin bekerja mulus dan efisien, kan? Sama halnya dengan menulis fungsi di Python yang harus rapi dan mudah dipahami. Fungsi yang “bersih”...

Pola Looping Pythonic yang Wajib Dipahami untuk Algoritma Efisien

by admin
December 27, 2025
0

Kalau kamu sering kulik-kulik kode Python buat modifikasi script atau ngerjain algoritma otomotif, pasti gak asing sama yang namanya **looping**. Di dunia coding, khususnya Python, ada banyak cara...

List dalam Python: Struktur Data Paling Sering Digunakan untuk Pemula

by admin
December 27, 2025
0

Kalau kamu lagi ngulik Python, pasti nggak asing sama struktur data yang namanya **list**. Bayangin list itu kayak rak penyimpanan di garasi kamu — bisa ditempati aneka barang...

Next Post

Conditional Logic di JavaScript: if, else, switch untuk Mode Berkendara Mobil

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

otokreasi

Otokreasi.com adalah media inovasi dan mobilitas cerdas asal Indonesia yang menjembatani dunia kreativitas otomotif dengan kecerdasan teknologi modern. Berawal dari akar budaya modifikasi dan gaya hidup otomotif, Otokreasi kini mengeksplorasi bagaimana AI, IoT, dan transformasi digital membentuk masa depan mobilitas, desain, dan budaya.

Recent Posts

  • Berbagi Pengalaman Menginap Kota Baru Parahyangan Sekaligus Tempat Transit Sebelum Pulang ke Jakarta
  • Kereta Panoramic ke Bandung: Perjalanan yang Jadi Bagian dari Liburan
  • 36 Menit Padalarang–Halim: Kereta Cepat dan Perasaan Jarak yang Berubah

Categories

  • AI
  • Algoritma
  • Cerita Berita
  • Fitur AI
  • Garasi
  • Generative AI
  • Iklan
  • LLM
  • Telekomunikasi
  • Cerita Berita
  • Garasi
  • Algoritma
  • Contact Us

© 2025 otokreasi - Indonesia’s smart mobility and innovation media by Mudah Tech Team.

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In

Powered by
...
►
Necessary cookies enable essential site features like secure log-ins and consent preference adjustments. They do not store personal data.
None
►
Functional cookies support features like content sharing on social media, collecting feedback, and enabling third-party tools.
None
►
Analytical cookies track visitor interactions, providing insights on metrics like visitor count, bounce rate, and traffic sources.
None
►
Advertisement cookies deliver personalized ads based on your previous visits and analyze the effectiveness of ad campaigns.
None
►
Unclassified cookies are cookies that we are in the process of classifying, together with the providers of individual cookies.
None
Powered by
No Result
View All Result
  • Garasi
  • Cerita Berita
  • Generative AI
  • Fitur AI
  • Telekomunikasi
  • Algoritma

© 2025 otokreasi - Indonesia’s smart mobility and innovation media by Mudah Tech Team.