Logo UTDI

UNIVERSITAS TEKNOLOGI DIGITAL INDONESIA

FAKULTAS MANAJEMEN & BISNIS

PROGRAM STUDI BISNIS DIGITAL PROGRAM SARJANA

RENCANA PEMBELAJARAN SEMESTER
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:

  1. Capaian Pembelajaran Lulusan PRODI (CPL-PRODI) adalah kemampuan yang dimiliki oleh setiap lulusan PRODI yang merupakan internalisasi dari sikap, penguasaan pengetahuan dan ketrampilan sesuai dengan jenjang prodinya yang diperoleh melalui proses pembelajaran.
  2. CPL yang dibebankan pada mata kuliah adalah beberapa capaian pembelajaran lulusan program studi (CPL-PRODI) yang digunakan untuk pembentukan/pengembangan sebuah mata kuliah yang terdiri dari aspek sikap, ketrampilan umum, ketrampilan khusus dan pengetahuan.
  3. CP Mata kuliah (CPMK) adalah kemampuan yang dijabarkan secara spesifik dari CPL yang dibebankan pada mata kuliah, dan bersifat spesifik terhadap bahan kajian atau materi pembelajaran mata kuliah tersebut.
  4. Sub-CPMK mata kuliah (Sub-CPMK) adalah kemampuan yang dijabarkan secara spesifik dari CPMK yang dapat diukur atau diamati dan merupakan kemampuan akhir yang direncanakan pada tiap tahap pembelajaran.
  5. Indikator penilaian kemampuan dalam proses maupun hasil belajar mahasiswa adalah pernyataan spesifik dan terukur yang mengidentifikasi kemampuan atau kinerja hasil belajar mahasiswa yang disertai bukti-bukti.
  6. Kriteria Penilaian adalah patokan yang digunakan sebagai ukuran atau tolok ukur ketercapaian pembelajaran dalam penilaian berdasarkan indikator-indikator yang telah ditetapkan.
  7. Bentuk pembelajaran: Kuliah, Responsi, Tutorial, Seminar atau yang setara, Praktikum, Praktik Lapangan, Penelitian, Pengabdian Kepada Masyarakat dan/atau bentuk pembelajaran lain yang setara.
  8. Metode Pembelajaran: Small Group Discussion, Role-Play & Simulation, Discovery Learning, Self-Directed Learning, Cooperative Learning, Collaborative Learning, Contextual Learning, Project Based Learning, Problem Based Learning, Case Based Learning dan metode lainnya yg setara.
  9. Materi Pembelajaran adalah rincian atau uraian dari bahan kajian yg dapat disajikan dalam bentuk beberapa pokok dan sub-pokok bahasan.
  10. Bobot penilaian adalah prosentasi penilaian terhadap setiap pencapaian sub-CPMK yang besarnya proposional dengan tingkat kesulitan pencapaian sub-CPMK tersebut, dan totalnya 100%.
  11. Untuk mata kuliah PjBL pertemuan 14 dan 15 dialokasikan untuk presentasi project.

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.