31 Des 2025

Algoritma Pemprograman dasar 3 (Struktur Data)

STRUKTUR DATA ARRAY (LARIK)

Array adalah tipe data yang terdiri dari sejumlah komponen dengan tipe data yang sama. Bayangkan seperti sebuah hotel yang memiliki banyak kamar, Hotelnya adalah variable array, dan nomer kamarnya adalah indeks.

 Jika kita memiliki ribuan data akan sangat sulit jika harus membuat variabel satu per satu. Dengan array, kita cukup membuat satu variabel saja.

 didalam pemrograman, penomoran atau indeks array biasanya dimulai dari 0, bukan 1.

Cara penulisan (Deklarasi)
Formatnya : namaVariabel: array [indeks_awal . . indeks_akhir] of tipe_data.
contoh X: array [0. . 5] of integer , berarti kita membuat variabel x yang bisa menampung 6 angka bulat.

Mengisi dan mengakses Array: untuk mengisi atau meilhat isi array, kita harus menyebutkan indeksnya di dalam kurung siku, misalnya x[0] = 10 untuk mengisi kamar pertama dengan angka 10.

 

 LINKED LIST

Linked list adalah kumpulan data yang tersusun secara sekuensial, saling terhubung, dan bersifat dinamis.

 berbeda dengan array yang menggunakan indeks, Linked List menggunakan Node. Setiap node terdiri dari dua bagian:
1. Data: Nilai yang disimpan (misal: nama mahasiswa)
2. Pointer/Link: alamat yang menunjuk ke node selanjutnya

 Istilah penting :
Head: Node pertama yang menjadi referensi awal.
Null: Penanda bahwa node tersebut adalah elemen terakhir karena tidak menunjuk ke mana pun lagi.
Implementasi: Vidio ini memperlihatkan contoh kode dalam bahasa java, dimana sebuah class node dibuat untuk menghubungkan nama satu ke nama berikutnya secara berantai.

Perbedaan Utama dengan Array: Jika array seperti kamar hotel yang nomornya berurutan (indeks), Linked List lebih seperti permainan "mencari jeja", di mana setiap petunjuk (node) memberi tahu kamu di mana lokasi petunjuk berikutnya berada.

MENGENAL STRUKTUR DATA LINKED LIST
 

Definisisi Linked List: sebuah struktur data yang berisi kumpulan data yang tersusun secara sekuensial, saling terhubung, dinamis, dan terbatas.

Struktur Node: Elemen dari Linked List disimpan dalam sebuah Node di dalam satu node terdapat dua bagian utama:
1. Data: Memuat nilai yang disimpan.
2. Pointer/Link: Berisi alamat yang menunjuk ke node selanjutnya.

Rantai Data: Linked List terbentuk ketika banyak node saling tertaut membentuk rantai.
Head: Node pertama yang digunakan sebagai referensi awal 
Null : Node terakhir akan menunjuk ke "Null", yang menandakan akhir dari senarai tersebut.

Secara sederhana, jika Araray adalah seperti barisan kamar hotel dengan nomer urut, Linked List lebih seperti "perburuan harta karun" di mana setiap lokasi memberikan petunjuk atau alamat untuk menuju ke lokasi berikutnya.
 
MENGENAL STRUKTUR DATA STACK DAN QUEUE   

Stack (tumpukan)
Mengikuti perinsip LIFO (last in frist out), artinya data yang terakhir masuk akan menjadi yang pertama keluar.

seperti tumpukan piring di atas meja. piring paling atas adalah yang pertama kali diambil.

Operasi Utama:
Push: menambahkan elemen baru ke posisi paling atas (Top)
Pop: Menghapus atau mengambil elemen yang berada di posisi paling atas.

Queue (Antrean)
Mengikuti prinsip FIFO (First In First Out), artinya data yang pertama kali masuk akan menjadi yang pertama kali keluar.
seperti antrean orang yang ingin masuk ke wahana permainan. orang yang datang pertama akan dilayani pertama kali.

Operasi Utama:
- Enqueue: Menambahkan elemen baru dari sisi belakang.
- Dequeue: Menghapus elemen dari sisi depan.

Perbedaan utama:
Stack hanya memiliki satu pintu akses (atas), sehingga yang terakhir masuk justru yang pertama keluar.

Queue memiliki dua pintu akses: masuk dari belakang dan keluar dari depan, sehingga urutannya tetap terjaga  sesuai waktu kedatangan.

 

BINARY TREE AND GRAPH
 

Binary tree
berbeda dengan aray atau Linked List yang bersifat linier, Tree memiliki pola percabangan. Binary Tree khusus memiliki dua "anak" (children) untuk setiap "induk" (parent)

Instilah penting :
Root: Elemen paling atas
Leaf: Elemen Paling bawah yang tidak punya anak lagi
Parent & Children: Hubungan antara elemen  di atas dan di bawahnya.

Digunakan untuk menyimpan informasi hierarkis seperti sistem file komputer dan untuk mempercepat proses pencarian data dibandingkan Linked List.

Graph 
Kumpulan objek (simpul/node) yang sering terhubung oleh garis (tepi/edge)

Jenis-jenis Graf:
1. Graf Tidak Berarah: Hubungan antar simpul berlaku dua arah (bolak-balik)
2. Graf Berarah : Hubungan antar simpul hanya satu arah. 
3. Graf Berbobot: Setiap garis penghubung memiliki nilai atau bobot, yang biasanya mepresentasikan jarak atau biaya. 


Tidak ada komentar:

Posting Komentar