
Kursus Struktur Data dan Algoritma Python
Kuasai Python dan Struktur Data & Algoritma dari dasar — tanpa jalan pintas, tanpa basa-basi. Kursus ini membawa Anda dari menulis skrip Python pertama hingga memecahkan masalah graph dan pemrograman dinamis yang kompleks. Baik Anda menargetkan perusahaan teknologi teratas atau meningkatkan keterampilan teknik Anda, inilah fondasi teknis lengkap yang Anda butuhkan.
Apa yang akan Anda pelajari:
Anda akan membangun fondasi Python yang kokoh yang mencakup sintaksis, koleksi, dan desain berorientasi objek sebelum beralih ke topik DSA inti. Anda akan mengimplementasikan array, linked list, stack, queue, tree, dan graph sepenuhnya dari awal. Anda akan menganalisis kompleksitas waktu dan ruang menggunakan notasi Big-O untuk setiap algoritma utama. Anda akan menguasai sorting, searching, rekursi, dan pemrograman dinamis dengan kode nyata. Anda juga akan berlatih pola pemrograman kompetitif dan teknik wawancara tiruan yang dirancang untuk mempersiapkan Anda menghadapi proses perekrutan teknis di perusahaan teknologi terkemuka.
Bagaimana Anda belajar secara praktis Kursus Struktur Data dan Algoritma Python
Bagaimana Anda berlatih Kursus Struktur Data dan Algoritma Python
Untuk Anda yang memiliki perusahaan dan ingin melatih tim
Di Dedika untuk perusahaan, kursus dilengkapi dengan latihan dan contoh yang disesuaikan dengan bisnis Anda dan kebutuhan perusahaan Anda.
Konten kursus
8 Bab • 40 PelajaranDurasi antara 4 dan 360 jam (Anda yang menentukan)
Bab 1SembunyikanSembunyikan detailLihat detailDasar-Dasar Pemrograman Python
Dasar-Dasar Pemrograman Python
Pelajaran 1 • Fungsi dan Ruang Lingkup
Mendefinisikan fungsi yang dapat digunakan kembali dengan parameter, nilai kembali, dan aturan ruang lingkup. Mempersiapkan peserta didik untuk merangkum logika DSA dalam unit yang bersih dan dapat diuji.
Pelajaran 2 • Alur Kontrol dan Iterasi
Mengajarkan percabangan if/elif/else, loop for dan while, serta pernyataan kontrol loop. Memungkinkan peserta didik mengekspresikan logika algoritmik dalam Python.
Pelajaran 3 • Penanganan Kesalahan dan Debugging
Memperkenalkan eksepsi, blok try/except, dan alat debugging. Membekali peserta didik untuk menulis kode yang kokoh dan mendiagnosis kegagalan dalam program yang kompleks.
Pelajaran 4 • Tipe Data Inti dan Variabel
Mencakup integer, float, string, boolean, dan type casting. Menyediakan primitif data yang digunakan dalam setiap implementasi algoritma ke depannya.
Pelajaran 5 • Menyiapkan Lingkungan Python
Instal Python, konfigurasikan lingkungan virtual, dan pilih IDE. Membangun rantai alat yang menjadi andalan setiap bab berikutnya.
Bab 2SembunyikanSembunyikan detailLihat detailKoleksi dan Comprehensions Python
Koleksi dan Comprehensions Python
Pelajaran 1 • Iterator, Generator, dan Evaluasi Malas
Menjelaskan protokol iterator, fungsi generator, dan yield. Memungkinkan traversal yang efisien memori pada kumpulan data besar dalam masalah DSA.
Pelajaran 2 • List dan Tuple secara Mendalam
Mengeksplorasi pengindeksan, slicing, mutasi, dan imutabilitas tuple. Tipe urutan ini mendasari struktur data berbasis larik yang dibahas nanti.
Pelajaran 3 • Dictionary dan Set
Mencakup penyimpanan berbasis hash, operasi kunci-nilai, dan aljabar set. Mendukung langsung implementasi tabel hash dan adjacency graf.
Pelajaran 4 • Comprehensions List dan Dictionary
Mengajarkan sintaks comprehension yang ringkas untuk memfilter dan mentransformasi koleksi. Mengurangi kode boilerplate dalam implementasi algoritma di seluruh kursus.
Pelajaran 5 • Sorting, Searching, dan Algoritma Bawaan
Menggunakan sorted(), min(), max(), dan fungsi key untuk memproses koleksi. Menjembatani bawaan Python dengan algoritma sorting kustom yang dipelajari selanjutnya.
Bab 3SembunyikanSembunyikan detailLihat detailAnalisis Algoritma dan Kompleksitas
Analisis Algoritma dan Kompleksitas
Pelajaran 1 • Pengantar Analisis Algoritma
Mendefinisikan kebenaran algoritma, efisiensi, dan kebutuhan akan analisis formal. Menetapkan pola pikir analitis yang diterapkan pada setiap struktur data dan algoritma ke depannya.
Pelajaran 2 • Big-O, Big-Omega, dan Big-Theta
Memformalkan notasi asimptotik dan kelas kompleksitas umum. Menyediakan kosakata yang digunakan untuk mendeskripsikan setiap algoritma di bab-bab selanjutnya.
Pelajaran 3 • Menganalisis Loop dan Panggilan Rekursif
Mengajarkan penghitungan langkah untuk loop dan relasi rekurensi untuk rekursi. Mempersiapkan langsung peserta didik untuk menganalisis algoritma sorting dan pohon.
Pelajaran 4 • Profiling Kode Python
Menggunakan timeit, cProfile, dan memory_profiler untuk mengukur kinerja nyata. Menghubungkan kompleksitas teoretis dengan perilaku eksekusi Python yang terukur.
Pelajaran 5 • Kompleksitas Ruang dan Pertukaran
Membedakan ruang tambahan dari total ruang dan mengeksplorasi pertukaran waktu-ruang. Memandu keputusan desain saat batasan memori menjadi penting.
Bab 4SembunyikanSembunyikan detailLihat detailStruktur Data Linear
Struktur Data Linear
Pelajaran 1 • Perbandingan Kompleksitas Struktur Linear
Membandingkan kompleksitas waktu dan ruang di semua struktur linear yang dipelajari. Memungkinkan pemilihan struktur yang tepat untuk masalah desain algoritma.
Pelajaran 2 • Singly dan Doubly Linked Lists
Membangun kelas Node dan operasi list termasuk penyisipan, penghapusan, dan traversal. Memperkenalkan pemikiran berbasis pointer yang penting untuk pohon dan graf.
Pelajaran 3 • Stack: Implementasi dan Aplikasi
Mengimplementasikan stack menggunakan list dan linked list, kemudian menerapkannya pada masalah nyata. Mendemonstrasikan semantik LIFO yang digunakan dalam rekursi, parsing, dan backtracking.
Pelajaran 4 • Queue, Deque, dan Priority Queue
Mencakup queue FIFO, deque ujung-ganda, dan priority queue berbasis heap. Mempersiapkan peserta didik untuk masalah BFS, penjadwalan, dan algoritma greedy.
Pelajaran 5 • Array dan Dynamic Array
Mencakup array statis, list Python sebagai dynamic array, dan pengubahan ukuran amortisasi. Menetapkan struktur dasar yang diperluas oleh semua tipe linear lainnya.
Bab 5SembunyikanSembunyikan detailLihat detailRekursi dan Algoritma Sorting
Rekursi dan Algoritma Sorting
Pelajaran 1 • Algoritma Sorting Kuadratik
Mengimplementasikan bubble sort, selection sort, dan insertion sort dengan analisis langkah demi langkah. Menyediakan patokan O(n²) yang menjadi ukuran sorting yang lebih cepat.
Pelajaran 2 • Algoritma Pencarian
Mengimplementasikan linear search dan binary search dengan bukti kompleksitas. Menghubungkan pencarian dengan persyaratan data terurut dan masalah wawancara nyata.
Pelajaran 3 • Dasar-Dasar Rekursi
Mendefinisikan kasus dasar, kasus rekursif, dan call stack. Membangun model mental yang diperlukan untuk traversal pohon dan algoritma divide-and-conquer.
Pelajaran 4 • Sorting Linear-Time dan Hibrida
Mencakup counting sort, radix sort, dan Timsort yang digunakan dalam fungsi sortir bawaan Python. Memperluas perangkat peserta didik di luar sorting berbasis perbandingan.
Pelajaran 5 • Sorting Divide-and-Conquer
Mengimplementasikan merge sort dan quicksort, menurunkan kompleksitas O(n log n). Mendemonstrasikan bagaimana rekursi memungkinkan sorting skala besar yang efisien.
Bab 6SembunyikanSembunyikan detailLihat detailPohon dan Struktur Data Hirarkis
Pohon dan Struktur Data Hirarkis
Pelajaran 1 • Pohon Pencarian Biner
Mengimplementasikan penyisipan, pencarian, dan penghapusan BST dengan analisis rata-rata O(log n). Mendemonstrasikan penyimpanan dan pengambilan data terurut menggunakan struktur pohon.
Pelajaran 2 • Trie dan Prefix Trees
Membangun trie untuk penyisipan string, pencarian, dan pencocokan awalan. Memungkinkan solusi autocomplete dan pencarian kamus yang efisien.
Pelajaran 3 • Pohon Biner dan Traversal
Mendefinisikan terminologi pohon dan mengimplementasikan traversal in-order, pre-order, dan post-order. Menetapkan pola traversal rekursif yang digunakan dalam semua algoritma pohon.
Pelajaran 4 • Heap dan Operasi Heap
Membangun max-heap dan min-heap, mengimplementasikan heapify dan heap sort. Mendukung langsung implementasi priority queue dan algoritma greedy.
Pelajaran 5 • Pohon Seimbang: AVL dan Red-Black
Menjelaskan penyeimbangan berbasis rotasi di pohon AVL dan aturan warna di pohon red-black. Menjamin kinerja kasus terburuk O(log n) untuk kumpulan data dinamis.
Bab 7SembunyikanSembunyikan detailLihat detailGraf dan Algoritma Graf
Graf dan Algoritma Graf
Pelajaran 1 • Masalah Graf Lanjutan
Mencakup komponen yang terhubung kuat, pemeriksaan bipartit, dan dasar-dasar aliran jaringan. Memperluas keterampilan graf ke kategori masalah dunia nyata yang kompleks.
Pelajaran 2 • Representasi dan Terminologi Graf
Mendefinisikan graf berarah, tidak berarah, berbobot, dan siklik dengan representasi adjacency list dan matriks. Menetapkan fondasi untuk semua implementasi algoritma graf.
Pelajaran 3 • Algoritma Jalur Terpendek
Mengimplementasikan algoritma Dijkstra dan Bellman-Ford untuk graf berbobot. Membekali peserta didik untuk memecahkan masalah routing dan minimalisasi biaya.
Pelajaran 4 • Pohon Rentang Minimum
Mengimplementasikan algoritma Kruskal dan Prim menggunakan union-find dan priority queue. Memecahkan masalah desain jaringan yang membutuhkan konektivitas biaya minimum.
Pelajaran 5 • Breadth-First dan Depth-First Search
Mengimplementasikan BFS dengan queue dan DFS dengan rekursi serta stack. Mencakup komponen terhubung, deteksi siklus, dan topological sort.
Bab 8SembunyikanSembunyikan detailLihat detailPemrograman Dinamis dan Teknik Lanjutan
Pemrograman Dinamis dan Teknik Lanjutan
Pelajaran 1 • Algoritma Greedy dan Backtracking
Mengimplementasikan strategi greedy untuk penjadwalan interval dan pengkodean Huffman, serta backtracking untuk N-Queens dan subset. Melengkapi perangkat desain algoritma inti.
Pelajaran 2 • Tabulasi dan DP Bottom-Up
Membangun tabel DP secara iteratif untuk coin change, menaiki tangga, dan jalur grid. Menghilangkan overhead rekursi dan memperjelas logika transisi status.
Pelajaran 3 • Pengantar Pemrograman Dinamis
Mendefinisikan submasalah yang tumpang tindih dan substruktur optimal sebagai prasyarat DP. Membandingkan DP dengan divide-and-conquer untuk memperjelas kapan masing-masing diterapkan.
Pelajaran 4 • Memoisasi dan DP Top-Down
Mengonversi rekursi naif menjadi solusi yang dimemoisasi menggunakan dictionary dan functools.lru_cache. Mendemonstrasikan pengurangan kompleksitas yang dramatis pada Fibonacci dan masalah serupa.
Pelajaran 5 • Pola DP Klasik
Memecahkan masalah knapsack, longest common subsequence, dan edit distance. Mengajarkan template DP yang dapat digunakan kembali dan berlaku untuk berbagai pertanyaan wawancara.
Sertifikat valid Anda setelah menyelesaikan
Kursus ini cocok untuk Anda:
Pengubah karier: ingin memiliki fondasi teknis yang terstruktur untuk memasuki peran-peran rekayasa perangkat lunak.
Mahasiswa ilmu komputer: membutuhkan praktik coding secara langsung di luar apa yang diberikan oleh perkuliahan.
Pengembang otodidak: dapat membuat aplikasi tetapi kesulitan memecahkan masalah algoritmik di bawah tekanan.
Analis data: siap memperdalam keterampilan pemrograman menuju tanggung jawab setingkat teknisi.
Lulusan baru: bersiap untuk wawancara teknis di perusahaan teknologi kompetitif segera.
Programmer hobi: penasaran tentang bagaimana sistem perangkat lunak tingkat profesional dirancang secara internal.
Apa kata para siswa kami
Kelasnya sangat sempurna. Saya membeli paket satu tahun dan akhirnya memiliki kesempatan untuk mengikuti berbagai topik yang saya minati tanpa perlu berganti platform... terima kasih atas semua yang kalian lakukan, saya sudah merekomendasikan kalian kepada orang lain...

Saya suka bagaimana pelajarannya langsung pada intinya dan bagaimana saya bisa berpindah bab dan melewati konten yang tidak saya butuhkan.

Saya suka kontennya dan cara presentasi serta transkripsi videonya, yang mempercepat prosesnya!

Platformnya cepat, mudah digunakan. Keragaman konten dan video pelengkapnya sangat membantu dalam pembelajaran.

Pelatihan utama
FAQ
Siapa itu Dedika?
Apakah sertifikat ini berlaku di Indonesia?
Apakah kursusnya gratis?
Berapa beban belajar kursusnya?
Bagaimana bentuk kursusnya?
Bagaimana cara kerja kursusnya?
Berapa lama durasi kursusnya?
Berapa biaya atau harga kursusnya?
Apa itu kursus EAD atau online dan bagaimana cara kerjanya?
Kursus PDF




















