| MATA KULIAH (MK) | KODE | Rumpun MK | BOBOT (sks) | SMT | Tgl Penyusunan |
| ALGORITMA DAN PEMROGRAMAN | SBD25206T | Pemrograman & Teknologi Digital | 2 sks | 2 | 09 September 2026 |
| PENGESAHAN | Dosen Pengembang RPS | Koordinator MK | Kaprodi | ||
| (pembuat RPS) | ........................................... | ........................................... | |||
Capaian Pembelajaran
| CPL-PRODI yang dibebankan pada MK | |
| BD-06 | Kemampuan menerapkan dan terampil menggunakan alat dan teknologi terkini yang relevan dalam bisnis digital |
| CPL03 | "Memiliki pengetahuan yang memadai terkait cara kerja sistem komputer dan mampu menerapkan/menggunakan berbagai algoritma/metode untuk memecahkan masalah pada suatu organisasi. " |
| CPL05 | Menguasai konsep teoritis bidang pengetahuan Ilmu Komputer/Informatika dalam mendesain dan mensimulasikan aplikasi teknologi multi-platform yang relevan dengan kebutuhan industri dan masyarakat. |
| CPL08 | Kemampuan mengimplementasi kebutuhan computing dengan mempertimbangkan berbagai metode/algoritma yang sesuai |
| CPL10 | Kemampuan mendesain, mengimplementasi dan mengevaluasi solusi berbasis computing multi-platform yang memenuhi kebutuhan-kebutuhan computing pada sebuah organisasi. |
| Capaian Pembelajaran Mata Kuliah (CPMK) | |
|
CPMK-1 ALGORITMA DAN PEMROGRAMAN |
Mahasiswa mampu menjelaskan konsep dasar logika pemrograman dan paradigma pemrograman terstruktur sebagai fondasi dalam memecahkan masalah komputasi (C2). |
|
CPMK-2 ALGORITMA DAN PEMROGRAMAN |
Mahasiswa mampu merancang algoritma yang sistematis dan efisien menggunakan notasi pseudocode atau flowchart untuk menyelesaikan persoalan dunia nyata (C6). |
|
CPMK-3 ALGORITMA DAN PEMROGRAMAN |
Mahasiswa mampu mengimplementasikan struktur kontrol, fungsi, dan struktur data array ke dalam kode program menggunakan bahasa pemrograman tingkat tinggi dengan sintaksis yang benar (C3). |
|
CPMK-4 ALGORITMA DAN PEMROGRAMAN |
Mahasiswa mampu menganalisis efisiensi berbagai algoritma pencarian (searching) dan pengurutan (sorting) sederhana untuk menentukan solusi yang optimal (C4). |
|
CPMK-5 ALGORITMA DAN PEMROGRAMAN |
Mahasiswa mampu mengevaluasi dan melakukan perbaikan (debugging) terhadap kode program untuk memastikan solusi yang dihasilkan memenuhi kebutuhan fungsional secara akurat (C5). |
| Kemampuan akhir tiap tahapan belajar (Sub-CPMK) | |
| Sub-CPMK 1.1 | Mahasiswa mampu menguraikan konsep dasar logika pemrograman, algoritma, dan alur kerja sistem komputasi dalam menyelesaikan masalah sederhana. |
| Sub-CPMK 1.2 | Mahasiswa mampu menjelaskan prinsip-prinsip paradigma pemrograman terstruktur, termasuk penggunaan urutan, seleksi, dan perulangan. |
| Sub-CPMK 1.3 | Mahasiswa mampu membedakan berbagai struktur kontrol dalam pemrograman terstruktur sebagai fondasi untuk menyusun solusi komputasi yang efisien. |
| Sub-CPMK 2.1 | Mahasiswa mampu mengidentifikasi dan membedah struktur persoalan dunia nyata ke dalam tahapan logis yang sistematis untuk kebutuhan perancangan algoritma (C4). |
| Sub-CPMK 2.2 | Mahasiswa mampu menyusun notasi pseudocode yang terstruktur dan efisien untuk merepresentasikan solusi atas persoalan dunia nyata yang kompleks (C6). |
| Sub-CPMK 2.3 | Mahasiswa mampu memvisualisasikan alur logika algoritma ke dalam bentuk flowchart yang akurat serta melakukan evaluasi terhadap efisiensi solusi yang dirancang (C6). |
| Sub-CPMK 3.1 | Mahasiswa mampu menerapkan struktur kontrol percabangan dan perulangan untuk memecahkan masalah logika pemrograman secara efektif. |
| Sub-CPMK 3.2 | Mahasiswa mampu merancang dan mengimplementasikan fungsi modular untuk meningkatkan efisiensi dan keterbacaan kode program. |
| Sub-CPMK 3.3 | Mahasiswa mampu mengelola sekumpulan data dengan menggunakan struktur data array sesuai dengan prinsip sintaksis bahasa pemrograman yang tepat. |
| Sub-CPMK 4.1 | Mahasiswa mampu membedakan karakteristik dan kompleksitas waktu (Big O Notation) dari berbagai algoritma pencarian (searching) untuk mengevaluasi efisiensi penggunaan memori dan waktu eksekusi. |
| Sub-CPMK 4.2 | Mahasiswa mampu mengklasifikasikan algoritma pengurutan (sorting) berdasarkan mekanisme kerja serta menganalisis performa efisiensi pada berbagai skenario data (best, average, dan worst case). |
| Sub-CPMK 4.3 | Mahasiswa mampu menyusun rekomendasi pemilihan algoritma pencarian dan pengurutan yang paling optimal untuk menyelesaikan permasalahan komputasi spesifik berdasarkan batasan sumber daya yang tersedia. |
| Sub-CPMK 5.1 | Mahasiswa mampu mengidentifikasi dan menganalisis letak kesalahan (bug) pada kode program melalui teknik penelusuran (tracing) untuk memastikan kesesuaian dengan logika algoritma. |
| Sub-CPMK 5.2 | Mahasiswa mampu merumuskan strategi perbaikan kode program secara sistematis untuk mengatasi kesalahan fungsional yang ditemukan selama proses pengujian. |
| Sub-CPMK 5.3 | Mahasiswa mampu melakukan evaluasi akhir terhadap efektivitas perbaikan kode program guna memastikan seluruh kebutuhan fungsional terpenuhi sesuai dengan spesifikasi yang ditetapkan. |
Korelasi CPL terhadap CPMK
| CPL\CPMK |
CPMK-1 ALGORITMA DAN PEMROGRAMAN |
CPMK-2 ALGORITMA DAN PEMROGRAMAN |
CPMK-3 ALGORITMA DAN PEMROGRAMAN |
CPMK-4 ALGORITMA DAN PEMROGRAMAN |
CPMK-5 ALGORITMA DAN PEMROGRAMAN |
|---|---|---|---|---|---|
| BD-06 | ✓ | ||||
| CPL03 | ✓ | ✓ | |||
| CPL05 | ✓ | ✓ | |||
| CPL08 | ✓ | ✓ | ✓ | ||
| CPL10 | ✓ | ✓ |
Korelasi CPMK terhadap Sub-CPMK
| CPMK \ Sub-CPMK | Sub-CPMK | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Sub-CPMK 1.1 | Sub-CPMK 1.2 | Sub-CPMK 1.3 | Sub-CPMK 2.1 | Sub-CPMK 2.2 | Sub-CPMK 2.3 | Sub-CPMK 3.1 | Sub-CPMK 3.2 | Sub-CPMK 3.3 | Sub-CPMK 4.1 | Sub-CPMK 4.2 | Sub-CPMK 4.3 | Sub-CPMK 5.1 | Sub-CPMK 5.2 | Sub-CPMK 5.3 | |
|
CPMK-1 ALGORITMA DAN PEMROGRAMAN |
✓ | ✓ | ✓ | ||||||||||||
|
CPMK-2 ALGORITMA DAN PEMROGRAMAN |
✓ | ✓ | ✓ | ||||||||||||
|
CPMK-3 ALGORITMA DAN PEMROGRAMAN |
✓ | ✓ | ✓ | ||||||||||||
|
CPMK-4 ALGORITMA DAN PEMROGRAMAN |
✓ | ✓ | ✓ | ||||||||||||
|
CPMK-5 ALGORITMA DAN PEMROGRAMAN |
✓ | ✓ | ✓ | ||||||||||||
| Deskripsi Singkat MK |
Berikut adalah deskripsi mata kuliah **Algoritma dan Pemrograman (SBD25206T)** yang disusun dengan pendekatan *Outcome-Based Education* (OBE): Mata kuliah Algoritma dan Pemrograman merupakan fondasi komputasi yang mempelajari konsep dasar logika pemrograman, struktur data dasar, serta teknik penyelesaian masalah secara sistematis melalui algoritma. Ruang lingkup mata kuliah ini mencakup pengenalan paradigma pemrograman terstruktur, alur kontrol (*control flow*), struktur data array, fungsi, serta implementasi algoritma pencarian (*searching*) dan pengurutan (*sorting*) sederhana. Fokus utama pembelajaran adalah melatih mahasiswa dalam menerjemahkan persoalan dunia nyata ke dalam model komputasi yang efisien, logis, dan terukur. Dalam kurikulum program studi, mata kuliah ini menempati posisi krusial sebagai mata kuliah keahlian inti (*core course*) pada tahap awal, yang menjadi prasyarat bagi mata kuliah tingkat lanjut seperti Struktur Data, Pemrograman Berorientasi Objek, dan Rekayasa Perangkat Lunak. Dengan bobot 2 SKS, mata kuliah ini dirancang untuk membangun kerangka berpikir komputasional (*computational thinking*) yang kokoh, sehingga mahasiswa memiliki kesiapan kognitif dan teknis untuk mendalami berbagai domain teknologi informasi yang lebih kompleks di semester berikutnya. Setelah menyelesaikan mata kuliah ini, mahasiswa diharapkan mampu merancang algoritma yang efektif, memilih struktur data yang tepat, serta mengimplementasikan kode program dengan sintaksis yang benar menggunakan bahasa pemrograman tingkat tinggi. Kompetensi ini tidak hanya terbatas pada kemampuan teknis pengodean (*coding*), namun juga mencakup kemampuan analisis efisiensi algoritma dan pemecahan masalah secara terstruktur, yang merupakan kompetensi esensial bagi seorang pengembang perangkat lunak, analis sistem, maupun praktisi data di dunia kerja. Relevansi mata kuliah ini dengan dunia kerja sangat signifikan, mengingat kebutuhan industri terhadap talenta digital yang memiliki kemampuan pemecahan masalah (*problem-solving*) yang kuat terus meningkat. Penguasaan algoritma menjadi standar utama dalam proses seleksi teknis di berbagai perusahaan teknologi global maupun nasional. Dengan menguasai konsep dasar yang diajarkan dalam mata kuliah ini, mahasiswa akan memiliki fleksibilitas adaptasi yang tinggi terhadap perubahan teknologi dan bahasa pemrograman baru, sehingga mampu berkontribusi secara profesional dalam pengembangan solusi berbasis perangkat lunak yang inovatif dan skalabel. |
||
| Bahan Kajian: Materi Pembelajaran |
Sebagai asisten ahli dalam pengembangan kurikulum berbasis *Outcome-Based Education* (OBE), saya telah menyusun bahan kajian untuk mata kuliah **Algoritma dan Pemrograman (SBD25206T)**. Materi ini dirancang untuk membekali mahasiswa dengan kemampuan berpikir komputasional, logika pemrograman, serta implementasi struktur data dasar. Berikut adalah daftar bahan kajian yang disusun secara sistematis untuk satu semester (14-16 pertemuan): ### Bahan Kajian: Algoritma dan Pemrograman **I. Dasar-Dasar Algoritma dan Pemrograman** * **Konsep Dasar Algoritma:** Definisi, karakteristik algoritma yang baik, dan peran algoritma dalam pemecahan masalah. * **Notasi Algoritma:** Pengenalan *pseudocode* dan *flowchart* sebagai alat bantu perancangan solusi. * **Lingkungan Pengembangan:** Pengenalan bahasa pemrograman (misalnya Python/C++), kompilator/interpreter, dan struktur dasar program. **II. Struktur Kontrol dan Logika Pemrograman** * **Variabel, Tipe Data, dan Operator:** Deklarasi variabel, tipe data primitif, dan penggunaan operator aritmatika, relasional, serta logika. * **Struktur Kontrol Percabangan (*Selection*):** Penggunaan kondisional `if`, `else if`, `else`, dan `switch-case` untuk pengambilan keputusan. * **Struktur Kontrol Perulangan (*Repetition*):** Implementasi perulangan menggunakan `for`, `while`, dan `do-while` serta konsep perulangan bersarang (*nested loop*). **III. Modularisasi Program** * **Fungsi dan Prosedur:** Konsep modularitas, parameter formal dan aktual, argumen, serta nilai balik (*return value*). * **Ruang Lingkup Variabel (*Scope*):** Perbedaan variabel lokal dan variabel global dalam sebuah program. * **Rekursi:** Konsep dasar rekursi, fungsi rekursif, dan kondisi terminasi (basis). **IV. Struktur Data Dasar dan Larik (Array)** * **Larik Satu Dimensi:** Deklarasi, inisialisasi, dan manipulasi elemen larik. * **Larik Multidimensi:** Implementasi matriks dan pemrosesan data terstruktur. * **Pengolahan String:** Manipulasi teks, fungsi bawaan string, dan pemrosesan karakter. **V. Algoritma Pencarian dan Pengurutan (Searching & Sorting)** * **Algoritma Pencarian:** *Sequential Search* (pencarian sekuensial) dan *Binary Search* (pencarian biner). * **Algoritma Pengurutan:** Implementasi metode dasar seperti *Bubble Sort*, *Selection Sort*, dan *Insertion Sort*. * **Analisis Kompleksitas Sederhana:** Pengenalan konsep *Big-O Notation* untuk mengukur efisiensi algoritma (waktu dan ruang). **VI. Penanganan Kesalahan dan Pengelolaan Data** * **Penanganan Kesalahan (*Error Handling*):** Konsep *try-except* atau *exception handling* untuk membuat program yang lebih tangguh (*robust*). * **Operasi File:** Membaca data dari file eksternal dan menuliskan hasil pemrosesan ke dalam file (input/output file). --- ### Catatan untuk Pengembangan RPS (OBE): 1. **Integrasi CPL:** Pastikan setiap topik di atas dikaitkan dengan CPL program studi, misalnya: "Mampu merancang solusi berbasis teknologi informasi secara efektif" (CPL Keterampilan Khusus). 2. **Metode Pembelajaran:** Disarankan menggunakan pendekatan *Project-Based Learning* (PjBL) atau *Case-Based Learning* (CBL) agar mahasiswa dapat mengimplementasikan algoritma dalam studi kasus nyata. 3. **Asesmen:** Evaluasi sebaiknya dilakukan secara komprehensif melalui *coding test* (praktikum), tugas proyek mingguan, ujian tengah semester (UTS), dan ujian akhir semester (UAS) yang berfokus pada kemampuan *problem solving*. Apakah Anda memerlukan bantuan lebih lanjut dalam penyusunan **Sub-CPMK** atau **rubrik penilaian** untuk mata kuliah ini? |
||
| Pustaka |
Utama: 1. Algorithms (4th Edition). Sedgewick, R., & Wayne, K. Addison-Wesley Professional, 2011. 2. Introduction to Algorithms (3rd Edition). Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. MIT Press, 2009. 3. Python Programming: An Introduction to Computer Science (3rd Edition). Zelle, J. M. Franklin, Beedle & Associates, 2017. Pendukung: 1. Think Python: How to Think Like a Computer Scientist (2nd Edition). Downey, A. B. O'Reilly Media, 2015. 2. Data Structures and Algorithms in Python. Goodrich, M. T., Tamassia, R., & Goldwasser, M. H. Wiley, 2013. 3. Problem Solving with Algorithms and Data Structures using Python (2nd Edition). Miller, B. N., & Ranum, D. L. Franklin, Beedle & Associates, 2011. |
||
| Pengampu | - | ||
| Penilaian | Komponen CPMK | Bentuk Penilaian | Persentase Bobot |
| SBD25206T (CPMK-3), SBD25206T (CPMK-5) | Tugas Mandiri (Logika & Pseudocode) | 15.00% | |
| SBD25206T (CPMK-3), SBD25206T (CPMK-5), SBD25206T (CPMK-1) | UTS (Implementasi & Perancangan) | 30.00% | |
| SBD25206T (CPMK-5), SBD25206T (CPMK-1), SBD25206T (CPMK-2), SBD25206T (CPMK-4) | UAS (Komprehensif) | 25.00% | |
| SBD25206T (CPMK-1) | Kuis (Struktur Kontrol & Array) | 10.00% | |
| SBD25206T (CPMK-2), SBD25206T (CPMK-4) | Proyek Debugging & Analisis Algoritma | 20.00% | |
| Total | 100% | ||
| Matakuliah Syarat | - | ||
Rencana Pembelajaran Semester
| Mg Ke- |
Sub-CPMK (sbg kemampuan akhir diharapkan) |
Penilaian | Bentuk Pembelajaran; Metode Pembelajaran; Penugasan Mahasiswa; | Materi Pembelajaran |
Bobot Penilaian |
||
|---|---|---|---|---|---|---|---|
| Indikator | Kriteria & Bentuk | Luring | Daring | ||||
| (1) | (2) | (3) | (4) | (5) | (6) | (7) | (8) |
| 1 |
Sub-CPMK 1.1
(ALGORITMA DAN PEMROGRAMAN)
Mahasiswa mampu menguraikan konsep dasar logika pemrograman, algoritma, dan alur kerja sistem komputasi dalam menyelesaikan masalah sederhana. |
Ketepatan dalam menguraikan konsep dasar logika pemrograman dan algoritma | Partisipasi aktif | Ceramah dan diskusi kelas | Pemberian materi melalui LMS | Pengantar Algoritma dan Paradigma Pemrograman | 4.95% |
| 2 |
Sub-CPMK 1.2
(ALGORITMA DAN PEMROGRAMAN)
Mahasiswa mampu menjelaskan prinsip-prinsip paradigma pemrograman terstruktur, termasuk penggunaan urutan, seleksi, dan perulangan. Sub-CPMK 1.3 (ALGORITMA DAN PEMROGRAMAN) Mahasiswa mampu membedakan berbagai struktur kontrol dalam pemrograman terstruktur sebagai fondasi untuk menyusun solusi komputasi yang efisien. |
Ketepatan menjelaskan prinsip urutan, seleksi, dan perulangan | Keaktifan diskusi | Ceramah dan simulasi logika | Kuis mandiri | Prinsip Pemrograman Terstruktur dan Struktur Kontrol Dasar | 4.95% |
| 3 |
Sub-CPMK 2.1
(ALGORITMA DAN PEMROGRAMAN)
Mahasiswa mampu mengidentifikasi dan membedah struktur persoalan dunia nyata ke dalam tahapan logis yang sistematis untuk kebutuhan perancangan algoritma (C4). |
Kemampuan membedah persoalan dunia nyata ke dalam tahapan logis | Tugas analisis masalah | Problem-based learning | Studi kasus daring | Analisis Masalah dan Perancangan Algoritma | 5.94% |
| 4 |
Sub-CPMK 2.2
(ALGORITMA DAN PEMROGRAMAN)
Mahasiswa mampu menyusun notasi pseudocode yang terstruktur dan efisien untuk merepresentasikan solusi atas persoalan dunia nyata yang kompleks (C6). Sub-CPMK 2.3 (ALGORITMA DAN PEMROGRAMAN) Mahasiswa mampu memvisualisasikan alur logika algoritma ke dalam bentuk flowchart yang akurat serta melakukan evaluasi terhadap efisiensi solusi yang dirancang (C6). |
Ketepatan menyusun pseudocode dan memvisualisasikan flowchart | Produk algoritma | Workshop perancangan algoritma | Video tutorial notasi | Notasi Algoritma: Pseudocode dan Flowchart | 5.94% |
| 5 |
Sub-CPMK 3.1
(ALGORITMA DAN PEMROGRAMAN)
Mahasiswa mampu menerapkan struktur kontrol percabangan dan perulangan untuk memecahkan masalah logika pemrograman secara efektif. |
Ketepatan menerapkan struktur kontrol dalam kode program | Hasil kode program | Praktikum pemrograman | Latihan pengodean di platform daring | Implementasi Struktur Kontrol (Percabangan dan Perulangan) | 5.94% |
| 6 |
Sub-CPMK 3.2
(ALGORITMA DAN PEMROGRAMAN)
Mahasiswa mampu merancang dan mengimplementasikan fungsi modular untuk meningkatkan efisiensi dan keterbacaan kode program. |
Kemampuan merancang dan mengimplementasikan fungsi modular | Hasil kode program | Praktikum pemrograman | Demonstrasi kode | Fungsi Modular dan Pemrograman Terstruktur | 5.94% |
| 7 |
Sub-CPMK 3.3
(ALGORITMA DAN PEMROGRAMAN)
Mahasiswa mampu mengelola sekumpulan data dengan menggunakan struktur data array sesuai dengan prinsip sintaksis bahasa pemrograman yang tepat. |
Kemampuan mengelola data menggunakan struktur array | Hasil kode program | Praktikum pemrograman | Latihan mandiri | Struktur Data Array | 5.94% |
| 8 |
Sub-CPMK 3.2
(ALGORITMA DAN PEMROGRAMAN)
Mahasiswa mampu merancang dan mengimplementasikan fungsi modular untuk meningkatkan efisiensi dan keterbacaan kode program. |
Penguasaan materi minggu 1-7 | UTS | Ujian tertulis/praktik | Ujian berbasis LMS | Ujian Tengah Semester | 14.85% |
| 9 |
Sub-CPMK 4.1
(ALGORITMA DAN PEMROGRAMAN)
Mahasiswa mampu membedakan karakteristik dan kompleksitas waktu (Big O Notation) dari berbagai algoritma pencarian (searching) untuk mengevaluasi efisiensi penggunaan memori dan waktu eksekusi. |
Kemampuan membedakan kompleksitas waktu algoritma pencarian | Tugas analisis | Ceramah dan analisis algoritma | Simulasi visual algoritma | Algoritma Pencarian (Searching) | 5.94% |
| 10 |
Sub-CPMK 4.2
(ALGORITMA DAN PEMROGRAMAN)
Mahasiswa mampu mengklasifikasikan algoritma pengurutan (sorting) berdasarkan mekanisme kerja serta menganalisis performa efisiensi pada berbagai skenario data (best, average, dan worst case). |
Kemampuan mengklasifikasikan dan menganalisis performa sorting | Laporan hasil analisis | Praktikum analisis algoritma | Eksplorasi literatur | Algoritma Pengurutan (Sorting) | 5.94% |
| 11 |
Sub-CPMK 4.3
(ALGORITMA DAN PEMROGRAMAN)
Mahasiswa mampu menyusun rekomendasi pemilihan algoritma pencarian dan pengurutan yang paling optimal untuk menyelesaikan permasalahan komputasi spesifik berdasarkan batasan sumber daya yang tersedia. |
Kemampuan menyusun rekomendasi algoritma yang optimal | Presentasi tugas | Diskusi kelompok/studi kasus | Forum diskusi daring | Optimasi Pemilihan Algoritma | 5.94% |
| 12 |
Sub-CPMK 5.1
(ALGORITMA DAN PEMROGRAMAN)
Mahasiswa mampu mengidentifikasi dan menganalisis letak kesalahan (bug) pada kode program melalui teknik penelusuran (tracing) untuk memastikan kesesuaian dengan logika algoritma. |
Kemampuan mengidentifikasi bug melalui teknik tracing | Tugas perbaikan kode | Praktikum debugging | Latihan studi kasus bug | Teknik Debugging dan Tracing Kode | 5.94% |
| 13 |
Sub-CPMK 5.2
(ALGORITMA DAN PEMROGRAMAN)
Mahasiswa mampu merumuskan strategi perbaikan kode program secara sistematis untuk mengatasi kesalahan fungsional yang ditemukan selama proses pengujian. |
Kemampuan merumuskan strategi perbaikan kode secara sistematis | Hasil perbaikan kode | Praktikum perbaikan kode | Review kode daring | Strategi Perbaikan Kode (Refactoring) | 4.95% |
| 14 |
Sub-CPMK 5.3
(ALGORITMA DAN PEMROGRAMAN)
Mahasiswa mampu melakukan evaluasi akhir terhadap efektivitas perbaikan kode program guna memastikan seluruh kebutuhan fungsional terpenuhi sesuai dengan spesifikasi yang ditetapkan. |
Kemampuan melakukan evaluasi efektivitas perbaikan kode | Hasil proyek | Proyek akhir | Pengumpulan tugas akhir | Evaluasi Akhir Kualitas Program | 4.95% |
| 15 |
Sub-CPMK 5.3
(ALGORITMA DAN PEMROGRAMAN)
Mahasiswa mampu melakukan evaluasi akhir terhadap efektivitas perbaikan kode program guna memastikan seluruh kebutuhan fungsional terpenuhi sesuai dengan spesifikasi yang ditetapkan. |
Pemahaman komprehensif seluruh materi | Partisipasi | Review dan tanya jawab | Sesi tanya jawab daring | Review Materi dan Persiapan UAS | 1.98% |
| 16 |
Sub-CPMK 1.1
(ALGORITMA DAN PEMROGRAMAN)
Mahasiswa mampu menguraikan konsep dasar logika pemrograman, algoritma, dan alur kerja sistem komputasi dalam menyelesaikan masalah sederhana. |
Penguasaan seluruh materi mata kuliah | UAS | Ujian tertulis/praktik | Ujian berbasis LMS | Ujian Akhir Semester | 9.91% |
| Total Bobot | 100% | ||||||
Catatan:
RUBRIK PENILAIAN (MARKING SCORE)
CPMK-1: Mahasiswa mampu menjelaskan konsep dasar logika pemrograman dan paradigma pemrograman terstruktur sebagai fondasi dalam memecahkan masalah komputasi (C2).
| Indikator | Sangat Kurang (<20) | Kurang (21-40) | Cukup (41-60) | Baik (61-80) | Sangat Baik (81-100) |
|---|---|---|---|---|---|
| Kemampuan mengaitkan logika dengan pemecahan masalah komputasi | Tidak mampu menghubungkan logika pemrograman dengan pemecahan masalah. | Kurang mampu mengaitkan logika pemrograman dalam konteks pemecahan masalah sederhana. | Cukup mampu mengaitkan logika pemrograman dalam memecahkan masalah komputasi dasar. | Mampu mengaitkan logika pemrograman untuk menyusun solusi masalah komputasi secara logis. | Sangat mampu mengintegrasikan logika dan paradigma terstruktur dalam merancang solusi masalah komputasi yang efisien. |
| Ketepatan penggunaan terminologi teknis | Tidak menggunakan terminologi teknis yang relevan. | Menggunakan terminologi teknis namun seringkali tidak tepat konteks. | Menggunakan terminologi teknis dengan beberapa ketidaktepatan. | Menggunakan terminologi teknis dengan tepat dan konsisten. | Menggunakan terminologi teknis secara sangat tepat, profesional, dan kontekstual. |
| Pemahaman paradigma pemrograman terstruktur | Tidak mampu mengidentifikasi prinsip-prinsip paradigma pemrograman terstruktur. | Mampu menyebutkan prinsip paradigma terstruktur namun gagal menjelaskan fungsinya. | Menjelaskan prinsip paradigma terstruktur dengan pemahaman yang terbatas. | Menjelaskan prinsip paradigma terstruktur dengan tepat dan relevan. | Menganalisis prinsip paradigma terstruktur secara mendalam dengan contoh penerapan yang tepat. |
| Pemahaman konsep dasar logika pemrograman | Tidak mampu menjelaskan konsep dasar logika pemrograman sama sekali. | Menjelaskan konsep dasar logika pemrograman dengan banyak kesalahan konseptual. | Menjelaskan konsep dasar logika pemrograman dengan beberapa kesalahan minor. | Menjelaskan konsep dasar logika pemrograman secara akurat dan sistematis. | Menjelaskan konsep dasar logika pemrograman secara komprehensif, akurat, dan mendalam. |
CPMK-3: Mahasiswa mampu mengimplementasikan struktur kontrol, fungsi, dan struktur data array ke dalam kode program menggunakan bahasa pemrograman tingkat tinggi dengan sintaksis yang benar (C3).
| Indikator | Sangat Kurang (<20) | Kurang (21-40) | Cukup (41-60) | Baik (61-80) | Sangat Baik (81-100) |
|---|---|---|---|---|---|
| Implementasi Struktur Data Array | Tidak mampu mendeklarasikan atau mengakses elemen array. | Mampu mendeklarasikan array namun sering terjadi kesalahan indeks (out of bounds) atau manipulasi data yang salah. | Mampu menggunakan array untuk menyimpan dan mengakses data dengan benar namun belum efisien. | Mampu mengimplementasikan array dengan benar, termasuk manipulasi data yang akurat. | Mampu mengimplementasikan array secara mahir, efisien dalam penggunaan memori, dan tepat dalam pemrosesan data. |
| Implementasi Fungsi (Modularitas) | Tidak mampu mendefinisikan atau memanggil fungsi dalam kode program. | Mampu mendefinisikan fungsi namun parameter atau nilai kembalian (return) tidak sesuai. | Mampu membuat fungsi sederhana namun struktur modularitas belum optimal. | Mampu mengimplementasikan fungsi dengan parameter dan nilai kembalian yang tepat serta modular. | Mampu merancang fungsi yang sangat modular, reusable, dan terdokumentasi dengan sangat baik. |
| Kebenaran Sintaksis dan Kode | Kode program tidak dapat dikompilasi atau dijalankan sama sekali. | Terdapat banyak kesalahan sintaksis yang mendasar sehingga program tidak berjalan. | Terdapat beberapa kesalahan sintaksis minor namun program dapat berjalan setelah perbaikan. | Kode program bersih, bebas dari kesalahan sintaksis, dan mengikuti standar penulisan kode. | Kode program sangat rapi, mengikuti standar industri, bebas kesalahan, dan sangat mudah dibaca. |
| Implementasi Struktur Kontrol | Tidak mampu menggunakan struktur kontrol (percabangan/perulangan) sama sekali dalam kode. | Menggunakan struktur kontrol namun logika salah dan tidak sesuai dengan alur algoritma. | Menggunakan struktur kontrol dengan logika dasar, namun terdapat beberapa kesalahan sintaksis atau efisiensi. | Menggunakan struktur kontrol dengan tepat, akurat, dan sintaksis yang benar. | Menggunakan struktur kontrol secara optimal, efisien, dan sangat tepat dalam memecahkan masalah kompleks. |
CPMK-5: Mahasiswa mampu mengevaluasi dan melakukan perbaikan (debugging) terhadap kode program untuk memastikan solusi yang dihasilkan memenuhi kebutuhan fungsional secara akurat (C5).
| Indikator | Sangat Kurang (<20) | Kurang (21-40) | Cukup (41-60) | Baik (61-80) | Sangat Baik (81-100) |
|---|---|---|---|---|---|
| Verifikasi Kebutuhan Fungsional | Kode hasil perbaikan tidak memenuhi kebutuhan fungsional yang ditetapkan. | Kode hasil perbaikan hanya memenuhi sebagian kecil kebutuhan fungsional. | Kode hasil perbaikan memenuhi sebagian besar kebutuhan fungsional. | Kode hasil perbaikan memenuhi seluruh kebutuhan fungsional secara akurat. | Kode hasil perbaikan memenuhi seluruh kebutuhan fungsional dengan tingkat akurasi dan reliabilitas yang tinggi. |
| Identifikasi dan Isolasi Kesalahan (Debugging) | Tidak mampu mengidentifikasi letak kesalahan dalam kode program sama sekali. | Hanya mampu mengidentifikasi sebagian kecil kesalahan dengan bantuan instruktur. | Mampu mengidentifikasi sebagian besar kesalahan namun membutuhkan waktu yang lama. | Mampu mengidentifikasi dan mengisolasi kesalahan secara mandiri dengan efisien. | Mampu mengidentifikasi dan mengisolasi kesalahan dengan sangat akurat, sistematis, dan efisien. |
| Analisis Akar Penyebab (Root Cause Analysis) | Tidak mampu menjelaskan mengapa kesalahan tersebut terjadi. | Mampu menjelaskan kesalahan secara dangkal tanpa memahami logika dasar yang salah. | Mampu menjelaskan penyebab kesalahan secara logis namun kurang mendalam. | Mampu menganalisis akar penyebab kesalahan dengan pemahaman logika yang tepat. | Mampu melakukan analisis mendalam terhadap akar penyebab kesalahan dan dampaknya terhadap sistem secara keseluruhan. |
| Implementasi Perbaikan Kode | Tidak mampu melakukan perbaikan kode sehingga program tetap tidak berjalan. | Melakukan perbaikan namun menimbulkan kesalahan baru pada bagian lain (side effects). | Mampu memperbaiki kesalahan namun kode hasil perbaikan kurang optimal. | Mampu memperbaiki kesalahan dengan kode yang berfungsi dengan benar dan bersih. | Mampu memperbaiki kesalahan dengan solusi yang optimal, efisien, dan mengikuti standar penulisan kode yang baik. |