Lewati ke konten utama
pelatihan
.org
Belajar. Praktik. Berkembang.
Kategori
ID
Masuk
Daftar
Menu
Kurikulum DSA: 13 Bab, 56 Lesson — pelatihan.org
Beranda
/
Katalog
/
DSA
/
Kurikulum
Kurikulum
Kurikulum DSA
Belajar DSA online lewat 56 lesson terstruktur, contoh kode, dan 280 soal kuis.
56 lesson
13 bab
280 soal
Ringkasan dan poin kunci bisa dilihat gratis. Materi lengkap, contoh kode, dan kuis memerlukan langganan.
01
DSA Tutorial
3 lesson
01
DSA HOME
Halaman ini adalah gerbang utama materi Data Structures and Algorithms (DSA). Di sini tersusun rapi materi mulai dari struktur data dasar seperti array dan linked list, algoritma…
02
DSA Intro
Pengenalan DSA menjelaskan mengapa struktur data dan algoritma penting: program tidak cukup hanya benar, tetapi juga harus cepat dan hemat memori. Di bagian ini kamu memahami…
03
DSA Simple Algorithm
Bagian ini membahas algoritma sederhana lewat contoh nyata, yaitu menemukan nilai terbesar dalam sebuah daftar. Polanya mudah diikuti: simpan nilai awal sebagai kandidat,…
02
Arrays
10 lesson
01
DSA Arrays
Array adalah struktur data paling dasar: sekumpulan elemen bertipe sama yang disimpan berurutan dalam memori dan diakses lewat indeks yang dimulai dari nol. Keunggulan utamanya…
02
DSA Bubble Sort
Bubble sort mengurutkan data dengan cara membandingkan dua elemen bersebelahan dan menukarnya bila salah urut, berulang hingga tidak ada pertukaran lagi. Pada setiap putaran,…
03
DSA Selection Sort
Selection sort bekerja dengan mencari elemen terkecil pada sisa daftar, lalu menukarnya dengan elemen pada posisi yang sedang diproses. Setiap putaran menempatkan satu elemen di…
04
DSA Insertion Sort
Insertion sort mirip cara manusia menyusun kartu di tangan: elemen diambil satu per satu lalu disisipkan pada posisi yang benar di antara elemen yang sudah terurut. Pada data…
05
DSA Quick Sort
Quick sort memilih sebuah elemen sebagai pivot, lalu mempartisi daftar menjadi dua bagian: elemen lebih kecil dari pivot dan elemen lebih besar atau sama. Pivot lalu ditempatkan…
06
DSA Counting Sort
Counting sort mengurutkan dengan menghitung kemunculan tiap nilai menggunakan array khusus, lalu menyusun ulang berdasarkan akumulasi hitungan. Ia tidak membandingkan elemen satu…
07
DSA Radix Sort
Radix sort mengurutkan data digit per digit, mulai dari digit paling tidak berarti sampai paling berarti, menggunakan counting sort sebagai subroutine. Karena setiap digit…
08
DSA Merge Sort
Merge sort membagi daftar menjadi dua bagian sampai masing-masing berisi satu elemen, lalu menggabungkannya kembali secara terurut. Proses penggabungan membandingkan elemen…
09
DSA Linear Search
Linear search menelusuri daftar satu per satu dari awal sampai menemukan target atau daftar habis. Metode ini sederhana dan dapat bekerja pada data yang tidak terurut maupun yang…
10
DSA Binary Search
Binary search bekerja pada data yang sudah terurut dengan terus membagi rentang pencarian menjadi dua. Bandingkan elemen tengah dengan target, lalu buang setengah rentang yang…
03
Linked Lists
4 lesson
01
DSA Linked Lists
Linked list adalah struktur data linear yang menyimpan elemen dalam node berisi data dan penunjuk ke node berikutnya. Berbeda dari array, elemennya tidak bersebelahan di memori…
02
DSA Linked Lists in Memory
Topik ini menjelaskan bagaimana linked list dipetakan ke memori fisik komputer. Berbeda dengan array yang elemennya berdekatan, node linked list tersebar di mana saja dan…
03
DSA Linked Lists Types
Ada tiga jenis utama linked list: singly, doubly, dan circular. Singly linked list hanya menunjuk ke node berikutnya, doubly linked list menunjuk ke depan dan belakang sehingga…
04
Linked Lists Operations
Bagian ini membahas operasi dasar linked list: menyisipkan node di depan, tengah, dan belakang, serta menghapus node dan mencari elemen. Penyisipan di depan hanya butuh O(1)…
04
Stacks & Queues
2 lesson
01
DSA Stacks
Stack adalah struktur data LIFO (Last In First Out): elemen terakhir yang masuk adalah yang pertama keluar, seperti tumpukan piring. Operasi utamanya push untuk menambah dan pop…
02
DSA Queues
Queue adalah struktur data FIFO (First In First Out), seperti antrean di loket: yang datang lebih dulu dilayani lebih dulu. Elemen ditambahkan di belakang (enqueue) dan diambil…
05
Hash Tables
3 lesson
01
DSA Hash Tables
Hash table menyimpan data sebagai pasangan kunci-nilai dengan bantuan fungsi hash yang mengubah kunci menjadi indeks. Dengan fungsi hash yang baik, akses rata-rata menjadi O(1)…
02
DSA Hash Sets
Hash set adalah kumpulan nilai unik yang disimpan menggunakan hashing, sehingga pencarian, penyisipan, dan penghapusan berlangsung rata-rata O(1). Struktur ini sangat berguna…
03
DSA Hash Maps
Hash map adalah struktur kunci-nilai yang menyimpan pasangan data menggunakan fungsi hash, dikenal juga sebagai dictionary. Ia memungkinkan pencarian nilai berdasarkan kunci…
06
Trees
8 lesson
01
DSA Trees
Tree adalah struktur data non-linear berupa kumpulan node yang berhubungan secara hierarkis, diawali satu root dan bercabang turun tanpa membentuk siklus. Setiap node kecuali…
02
DSA Binary Trees
Binary tree adalah tree di mana setiap node paling banyak memiliki dua anak, disebut child kiri dan kanan. Struktur ini menjadi dasar dari binary search tree, heap, dan berbagai…
03
DSA Pre-order Traversal
Pre-order traversal menelusuri tree dengan urutan: node (akar) dulu, lalu subtree kiri, baru subtree kanan. Pola ini berguna untuk menyalin struktur tree, mengevaluasi ekspresi…
04
DSA In-order Traversal
In-order traversal mengunjungi subtree kiri, node, lalu subtree kanan. Pada binary search tree, urutan ini menghasilkan nilai dalam posisi terurut naik, sehingga sangat sering…
05
DSA Post-order Traversal
Post-order traversal mengunjungi subtree kiri, subtree kanan, baru node. Urutan ini memastikan anak selesai diproses sebelum induknya, sehingga cocok untuk menghapus seluruh…
06
DSA Array Implementation
Binary tree dapat disimpan dalam array dengan memetakan posisi node: anak kiri berada di indeks 2i+1 dan anak kanan di 2i+2 bila indeks berbasis nol. Pemetaan ini sangat efisien…
07
DSA Binary Search Trees
Binary search tree adalah binary tree terurut: nilai setiap node kiri lebih kecil dan nilai anak kanan lebih besar dari induknya. Sifat ini membuat pencarian, penyisipan, dan…
08
DSA AVL Trees
AVL tree adalah binary search tree yang menyeimbangkan diri sendiri dengan menjaga selisih tinggi subtree kiri dan kanan tiap node tidak lebih dari satu. Ketika penyisipan atau…
07
Graphs
4 lesson
01
DSA Graphs
Graph adalah struktur data yang terdiri dari simpul (vertex) dan sisi (edge) yang menghubungkannya, bisa berarah maupun tidak berarah serta bisa berbobot. Banyak masalah nyata…
02
Graphs Implementation
Graph dapat diimplementasikan dengan adjacency matrix berupa array dua dimensi atau adjacency list berupa daftar tetangga tiap simpul. Matrix mudah dicek untuk keberadaan sisi…
03
DSA Graphs Traversal
Penelusuran graph menggunakan breadth-first search (BFS) yang menjelajah per level dengan bantuan queue, dan depth-first search (DFS) yang menelusuri sedalam mungkin dengan stack…
04
DSA Cycle Detection
Deteksi siklus memeriksa apakah ada jalur yang kembali ke simpul yang sama. Pada graf tak berarah, siklus terdeteksi bila DFS menemukan tetangga yang sudah dikunjungi selain…
08
Shortest Path
3 lesson
01
DSA Shortest Path
Masalah jalur terpendek mencari rute dengan total bobot minimum antara dua simpul. Algoritma yang dipilih bergantung pada karakteristik graf: BFS untuk graf tak berbobot,…
02
DSA Dijkstra's
Dijkstra mencari jalur terpendek dari satu sumber ke semua simpul pada graf dengan bobot non-negatif. Algoritma greedy ini selalu mengunjungi simpul dengan jarak sementara…
03
DSA Bellman-Ford
Bellman-Ford mencari jalur terpendek dari satu sumber dan sanggup menangani sisi bermot negatif. Algoritma ini melakukan relaksasi seluruh sisi sebanyak V-1 kali, lalu satu…
09
Minimum Spanning Tree
3 lesson
01
Minimum Spanning Tree
Minimum spanning tree adalah subgraph yang menyertakan seluruh simpul dengan total bobot minimum tanpa membentuk siklus. Dua algoritma klasik untuk membangunnya adalah Prim yang…
02
DSA Prim's
Prim membangun MST dengan cara tumbuh dari satu simpul awal: setiap langkah menambahkan sisi dengan bobot terkecil yang menghubungkan pohon ke simpul di luarnya. Dengan priority…
03
DSA Kruskal's
Kruskal mengurutkan seluruh sisi berdasarkan bobot, lalu memasukkan sisi satu per satu asalkan tidak membentuk siklus. Struktur data disjoint set (union-find) dipakai untuk…
10
Maximum Flow
3 lesson
01
DSA Maximum Flow
Masalah maximum flow mencari nilai arus maksimum yang dapat dikirim dari sumber ke tujuan pada jaringan berbobot yang disebut flow network. Konsep kuncinya adalah augmenting path…
02
DSA Ford-Fulkerson
Ford-Fulkerson menghitung maximum flow dengan terus menemukan augmenting path dari sumber ke tujuan lalu menambah arus sebesar kapasitas sisa jalur tersebut. Proses berulang…
03
DSA Edmonds-Karp
Edmonds-Karp adalah penyempurnaan Ford-Fulkerson yang selalu memilih augmenting path paling pendek menggunakan BFS. Dengan begitu kompleksitasnya menjadi terbatas O(V * E^2) dan…
11
Time Complexity
10 lesson
01
Introduction
Analisis kompleksitas waktu mengukur seberapa cepat waktu eksekusi algoritma tumbuh seiring ukuran input n, tanpa tergantung mesin tertentu. Notasi Big O menyatakan batas atas,…
02
Bubble Sort
Analisis kompleksitas bubble sort menunjukkan jumlah perbandingan sekitar n(n-1)/2 pada kasus terburuk, sehingga O(n^2) untuk kasus rata-rata maupun terburuk. Kasus terbaiknya…
03
Selection Sort
Seleksi sort selalu melakukan pencarian elemen minimum penuh di setiap putaran, sehingga kompleksitasnya O(n^2) pada semua kasus termasuk data yang sudah terurut. Jumlah…
04
Insertion Sort
Insertion sort memiliki O(n) pada kasus terbaik karena setiap elemen cukup dibandingkan sekali dengan pendahulunya yang sudah terurut. Kasus terburuk dan rata-ratanya O(n^2),…
05
Quick Sort
Quick sort tumbuh O(n log n) pada rata-rata karena partisi membagi data menjadi dua bagian yang seimbang dengan kedalaman sekitar log n. Kasus terburuk O(n^2) terjadi saat pivot…
06
Counting Sort
Counting sort memiliki kompleksitas O(n + k) dengan n jumlah elemen dan k rentang nilai. Ia membuat array hitungan seukuran k lalu menyusun hasil dari akumulasi hitungan.…
07
Radix Sort
Radix sort menjalankan counting sort sebanyak jumlah digit terbesar, sehingga kompleksitasnya O(d * (n + k)) dengan d jumlah digit dan k basis. Dibanding quick sort, radix sort…
08
Merge Sort
Merge sort selalu O(n log n) karena pohon pembagian memiliki log n level dan setiap level menggabungkan total n elemen. Kasus terbaik maupun terburuk sama karena pembagian tidak…
09
Linear Search
Linear search memiliki O(n) pada kasus terburuk dan rata-rata karena setiap elemen berpotensi diperiksa. Kasus terbaiknya O(1) bila target ada di posisi pertama. Keunggulannya…
10
Binary Search
Binary search hanya O(log n) karena setiap langkah membuang separuh sisa rentang, sehingga satu juta elemen cukup sekitar dua puluh perbandingan. Kasus terbaiknya O(1) bila…
12
DSA Examples
3 lesson
01
DSA Examples
Halaman ini mengumpulkan contoh-contoh penerapan nyata dari materi DSA yang telah dipelajari. Dengan melihat struktur data dan algoritma dipakai bersama dalam satu potongan kode,…
02
DSA Syllabus
Syllabus ini merangkum seluruh cakupan materi DSA secara berurutan, mulai dari konsep dasar dan algoritma sederhana, pengurutan dan pencarian, struktur data linier, hashing,…
03
DSA Study Plan
Study plan memberikan rencana belajar terstruktur untuk menguasai DSA secara bertahap dalam periode tertentu. Setiap sesi menggabungkan membaca materi, menulis kode, dan…