Mata kuliah Struktur Data dan Pemrograman Berorientasi Objek membahas konsep, teknik, dan praktik pemrograman untuk mengorganisasi, menyimpan, mengakses, dan memanipulasi data secara efisien dalam program komputer. Mahasiswa akan mempelajari berbagai struktur data seperti linked list, stack, queue, hash table, map, tree, dan graph beserta cara mengimplementasikannya dalam program.
Selain struktur data, mata kuliah ini juga membahas Pemrograman Berorientasi Objek (PBO), termasuk konsep class, object, attribute, method, abstraksi, enkapsulasi, pewarisan, dan polimorfisme. Mahasiswa juga akan mempelajari cara memodelkan rancangan program menggunakan class diagram sebelum mengimplementasikannya ke dalam kode.
Pada akhir mata kuliah, mahasiswa diharapkan mampu memilih struktur data yang sesuai, menganalisis efisiensi algoritma menggunakan notasi Big-O, serta merancang dan mengimplementasikan program berbasis objek untuk menyelesaikan permasalahan komputasi secara terstruktur, efisien, dan mudah dikembangkan.
- CPMK 1: Mahasiswa mampu menjelaskan dan mengimplementasikan berbagai struktur data, termasuk linked list, stack, queue, hash table, map, tree, dan graph untuk mendukung pengelolaan data dalam program.
- CPMK 2: Mahasiswa mampu menjelaskan dan mengimplementasikan konsep Pemrograman Berorientasi Objek, meliputi class, object, attribute, method, abstraksi, enkapsulasi, pewarisan, polimorfisme, dan pemodelan menggunakan class diagram.
- CPMK 3: Mahasiswa mampu menganalisis efisiensi struktur data menggunakan notasi Big-O untuk mengevaluasi kinerja operasi serta memilih struktur data yang sesuai dengan kebutuhan penyelesaian masalah.
- CPMK 4: Mahasiswa mampu merancang dan mengimplementasikan program menggunakan paradigma PBO dan struktur data yang sesuai untuk menyelesaikan permasalahan yang diberikan secara terstruktur.
- Pemrograman Berorientasi Objek: Konsep class, object, attribute, method, abstraksi, enkapsulasi, pewarisan, polimorfisme, dan pemodelan program menggunakan class diagram.
- Struktur Data Dasar: Linked list, stack, queue, hash table, dan map beserta implementasi operasi dasar dan analisis efisiensinya.
- Tree: Konsep struktur hierarkis, binary tree, binary search tree, traversal, serta penggunaan tree untuk pengorganisasian data.
- Graph: Representasi graph, traversal, pencarian jalur, dan penerapan graph untuk memodelkan relasi atau jaringan.
PBO → Struktur Data Dasar → Tree → Graph
Prasyarat
- Algoritma dan Teknik Pemrograman
Referensi
- Barnett, G., & Tongo, L. D., Data Structures and Algorithms, 2008.
- Gilberg, Richard F., & Forouzan, Behrouz A., Data Structures: A Pseudocode Approach with C, 2nd ed., Cengage Learning, 2005.
- Das, Vinu V., Principles of Data Structures Using C and C++, New Age International Publishers, 2006.
Tools
- C++ dan Java
- Visual Studio Code
- HackerRank
| Modul | Judul Topik | Link |
|---|---|---|
| 1 | Paradigma Pemrograman | Menuju modul |
| 2 | Pengenalan Java | Menuju modul |
| 3 | Konsep Dasar OOP | Menuju modul |
| 4 | Konsep Lanjutan OOP | Menuju modul |
| 5 | Class Diagram | Menuju modul |
| 6 | Analisis Kompleksitas Struktur Data | Menuju modul |
| 7 | Linked List dan Variasinya | Menuju modul |
| 8 | Stack dan Queue | Menuju modul |
| 9 | Hash-Table dan Map | Menuju modul |
| 10 | Tree, Traversal, dan Binary Search Tree | Menuju modul |
| 11 | Tree Lanjutan (AVL, Heap, Trie) | Menuju modul |
| 12 | Pengenalan Graph dan Representasi | Menuju modul |
| 13 | Graph Traversal (BFS dan DFS) | Menuju modul |
| 14 | Shortest Path dan Minimum Spanning Tree | Menuju modul |
| 15 | Sorting Algorithms | Menuju modul |