Algoritma dan Struktur Data (5 SKS) Dosen : Tim Dosen ASD Prasyarat : Pemrograman 1. Diskripsi : Kuliah ini akan memperkenalkan konsep algoritma dan struktur data serta penerapannya dalam menyelesaikan masalah dunia nyata dengan program computer. Suatu masalah sebelum akan dibuat penyelesaiannya dengan program computer harus dicari terlebih dahulu konsep struktur datanya dan setelah itu baru ditentukan bagaimana cara memanipulasi struktur data yang ada agar suatu masalah terpecahkan. Kuliah akan disampaikan dengan basis CBSA dan akan ditempuh selama 16 kali pertemua. Tujuan : Setelah selesai mengikuti kuliah ini, mahasiswa diharapakan dapat : i. Memahami algoritma dan struktur data umum dan dapat mengimplementasikannya. ii. Menentukan struktur data dan algoritma untuk penyelesaian suatu masalah tertentu. Pokok Bahasan : 1. Algoritma Apa dan bagaimana membuat suatu algoritma dalam hal ini juga akan direview kembali tentang flowchart dan cara pembuatannya. Disamping itu juga akan diperkenalkan cara pembuatan pseudokode suatu algoritma dan beberapa algoritma pengurutan dan oencarian seperti buble sort, merge sort, quick sort, bucket sort, radix sort dan algoritma pencarian linear dan biner. Target akhir dari sesi ini mahasiswa dapat membuat, membaca dan mengimplementasikan suatu algotima ke dalam program. Untuk itu diperlukan 4 kali sesi (1 sesi = 1 minggu) 2. Struktur data: Pada sesi ini akan dikenalkan konsep ADT (Absract Data Type), mengapa perlu struktur data dan beberapa teknik umum dalam strukrur data seperti : stack, queue, linked list, tree, priority queue, heap, dan hash. Tujuan dari sesi ini mahasiswa dapat memahami konsep ADT, teknik-teknik umum struktur data dan mampu mengimplementasikannya untuk penyelesaian masalah dunia nyata. Tujuan dari sesi ini antara lain : a. Mengetahui tentang apa itu link list , efisiensi link list, tipe data abstrak, list ADT, list terurut, insertion sort dengan list, double linked list, dan circular linked list di dalam kode Java. b. Pemahaman tentang stack, heap, antrian(queue) dan ADT berprioritas. c. Pemahaman tentang pohon biner beserta operasinya di dalam Java. d. Memahami jenis-jenis pohon biner (pohon red-black, BST, AVL tree dll). Materi ini memerlukan kurang lebih 8 kali sesi migggu. 3. Algoritma pencarian Pada pertemuan ini akan dibicarakan beberapa pencarian menggunkan pohon AVL. Setelah sesi ini berakhir diharapkan mahasiswa dapat memahami dan mampu mengimplementasikan konsep untuk penyelaian masalah dunia nyata. Diperlukan 1 sesi untuk menyelesaikan materi ini. 4. Struktur data Graph: Pada sesi ini akan dibahas tentang Teori dasar Graph, arah dan bobot graph, penyajian sebuah graph dalam sebuah program, kelas graph, pencarian, depth-first search dan simulasi game, breadth-first search, topologi sorting dengan directed graph, konektifitas dalam directed graph serta algoritma warshall. Setelah menyelesaikan kuliah ini mahasiswa diharapkan dapat membuat dan mengimplementasikan struktur data graph. Diperlukan 2 sesi untuk menyelesaikan kulaih ini. Komponen Penilaian A. 100 % Quiz : 2x (10%) Tidak boleh ada susulan Tugas : a. Terstruktur (4x) (@5%) b.Tugas Besar 1x : 10% UTS UAS : Pilihan ganda (25%) Jumlah soal (50) : Pilihan ganda (35%) Jumlah soal (50) B. 100% Praktikum : A * 80% + B *20% No 1 Bab algoritma 2 3 algoritma Bahasa C++ 4 5 6 7 8 9 10 11 12 13 Bahasa C++ Bahasa C++ ADT ADT Linked list Linked list Linked list Linked List Stack stack 14 Antrian 15 16 17 18 19 20 21 Quiz UTS UTS UTS UTS Tree Tree 22 23 Tree Tree Pokok bahasan Pendahuluan , review flowchart, pseudocode latihan algoritma pengenalan bhs C++ struct pointer Pengenalan ADT dengan array Linked list latihan linked list Double linked list Circular list stack array Penerapan Stack dengan List antrian & antrian berprioritas Quiz Pendahuluan tree binary tree dan CBT Heap tree AVL Tree Tugas Tugas 1 Tugas 2 24 25 26 27 28 Tree Graf Graf Graf Sorting 29 Sorting 30 Searching 31 32 Presentasi Quiz red-black tree Pengantar Graf DFS dan BFS Studi Kasus selection sort, insertion sort, buble sort,count sort quick sort,merge sort, heap sort, bucket sort sequensial search, binary search ,index search, hash Presentasi Quiz Tugas 3 Tugas 4