Deskripsi Mata Kuliah
Mata kuliah Desain dan Analisis Algoritma (DAA) merupakan mata kuliah yang bisa diikuti oleh mahasiswa yang telah menempuh mata kuliah Struktur Data, Graf, dan Konsep Dasar Kecerdasan Artifisial. Mata kuliah DAA membahas konsep, prinsip, dan strategi perancangan algoritma untuk menyelesaikan permasalahan komputasi memenuhi kondisi finiteness, definiteness, correctness, dan effectiveness. Pembelajaran diawali dengan konsep dasar algoritma, dan analisis kompleksitas waktu dan ruang sebagai dasar untuk mengevaluasi kinerja algoritma. Materi mencakup rekursi dan divide and conquer, searching dan sorting, hashing dan string matching, algoritma numerik, struktur data dan graf, minimum spanning tree dan shortest path, serta berbagai strategi perancangan algoritma seperti greedy, dynamic programming, backtracking, branch and bound, local search, dan algoritma heuristik. Mahasiswa juga mempelajari karakteristik permasalahan NP-Complete dan NP-Hard untuk memahami keterbatasan komputasi dan menentukan pendekatan penyelesaian yang sesuai.
Melalui proses pembelajaran berbasis permasalahan dan proyek, mahasiswa diarahkan untuk merancang, mengimplementasikan, menganalisis, membandingkan, dan mengevaluasi algoritma berdasarkan kebenaran solusi, kompleksitas, kualitas hasil, dan biaya komputasi. Mahasiswa diharapkan mampu menerapkan materi yang diperoleh dalam permasalahan nyata sederhana melalui Project perkuiahan yang dikaitkan dengan Sustainable Development Goals (SDGs), mulai dari perumusan ide, pengembangan dan analisis solusi, hingga presentasi dan demonstrasi produk akhir.
CPMK
- Mahasiswa mampu menunjukkan sikap bertanggung jawab, etis, dan menjunjung etika akademik dalam proses pembelajaran dan penyelesaian permasalahan algoritmik.
- Mahasiswa mampu menganalisis permasalahan secara logis, kritis, sistematis, dan kreatif untuk merancang solusi algoritmik yang tepat dan efisien.
- Mahasiswa mampu memilih, menerapkan, membandingkan, dan mengevaluasi strategi algoritmik berdasarkan karakteristik permasalahan dan kompleksitas komputasi.
- Mahasiswa mampu menerapkan konsep matematika dan ilmu komputer dalam desain dan analisis algoritma untuk menyelesaikan permasalahan komputasi secara efektif dan efisien.
- Mahasiswa mampu menganalisis keterbatasan komputasi dan karakteristik permasalahan berdasarkan kompleksitas algoritmik, termasuk permasalahan NP-Complete dan NP-Hard.
- Mahasiswa mampu merancang, mengimplementasikan, menganalisis, dan mengevaluasi solusi algoritmik berbasis teknologi informasi dan kecerdasan artifisial untuk menyelesaikan permasalahan nyata secara efektif dan efisien dengan pendekatan human-centred.