
|
Universitas Negeri Surabaya
Fakultas PSDKU
Program Studi S1 Informatika (Kampus Kabupaten Magetan)
|
Kode Dokumen |
SEMESTER LEARNING PLAN |
Course |
KODE |
Rumpun MataKuliah |
Bobot Kredit |
SEMESTER |
Tanggal Penyusunan |
Struktur Data |
5521404009 |
Mata Kuliah Wajib Program Studi |
T=4 |
P=0 |
ECTS=6.36 |
2 |
31 Januari 2025 |
OTORISASI |
Pengembang S.P |
Koordinator Rumpun matakuliah |
Koordinator Program Studi |
Bonda Sisephaputra, M.Kom
|
Bonda Sisephaputra, M.Kom
|
BONDA SISEPHAPUTRA |
Model Pembelajaran |
Project Based Learning |
Program Learning Outcomes (PLO)
|
PLO program Studi yang dibebankan pada matakuliah |
PLO-5 |
Mampu menganalisis persoalan computing yang kompleks untuk mengidentifikasi solusi pengelolaan proyek teknologi bidang informatika/ilmu komputer dengan mempertimbangkan wawasan perkembangan ilmu trandisiplin |
PLO-7 |
Mampu mengimplementasikan pengetahuan cara kerja sistem komputer untuk memecahkan masalah teknologi informasi |
PLO-11 |
Mampu mengimplementasikan kebutuhan computing dengan mempertimbangkan berbagai metode/algoritma yang sesuai |
Program Objectives (PO) |
PO - 1 |
Mahasiswa mampu menjelaskan sejarah dan konsep algoritma dan struktur data, mengasosiasikan dan membedakan hubungan antara algoritma dan struktur data, dan mampu mencontohkan atau mengilustrasikan implementasi algoritma dan strutkur data pada perangkat lunak.
|
PO - 2 |
Mahasiswa mampu mengaplikasikan input, process, dan output serta merancang algoritma untuk menyelesaikan kasus sederhana menggunakan notasi algoritma seperti kalimat deskriptif, flowchart, dan pseudo code.
|
PO - 3 |
Mahasiswa mampu menjelaskan jenis-jenis dan perbedaan bahasa pemrograman dan mampu menggunakan bahasa pemrograman Python, mulai dari instalasi, menulis kode, dan menjalankan kode.
|
PO - 4 |
Mahasiswa mampu menjelaskan tentang tipe data, operator, variabel, dan nilai serta mampu mengaplikasikan tipe data, operator, variabel, dan nilai tersebut pada bahasa pemrograman Python.
|
PO - 5 |
Mahasiswa mampu menganalisis konsep algoritma runtutan, percabangan, dan perulangan serta mampu mengaplikasikan algoritma-algoritma tersebut pada bahasa pemrograman Python
|
PO - 6 |
Mahasiswa mampu menjelaskan konsep struktur data array, tupple, dan linked list serta mengaplikasikan pengolahan data array, tupple, dan linked list menggunakan bahasa pemrograman Python
|
PO - 7 |
Mahasiswa mampu menjelaskan konsep struktur data stack dan queue serta mengaplikasikan pengolahan data stack, queue menggunakan bahasa pemrograman Python
|
PO - 8 |
Mahasiswa mampu menjelaskan konsep dan jenis-jenis algoritma pencarian (searching) dan mampu menghasilkan aplikasi pencarian sederhana menggunakan bahasa pemrograman Python
|
PO - 9 |
Mahasiswa mampu menjelaskan konsep dan jenis-jenis algoritma pengurutan (sorting) dan mampu menghasilkan aplikasi pengurutan sederhana menggunakan bahasa pemrograman Python
|
PO - 10 |
Mahasiswa mampu menjelaskan konsep algoritma Big-O, Greedy, Backtracking, Dynamic Programming, Divide and Conquer, A*, dan Knapsack Problem
|
Matrik PLO-PO |
| |
| PO | PLO-5 | PLO-7 | PLO-11 | | PO-1 | ✔ | | | | PO-2 | | ✔ | | | PO-3 | ✔ | | | | PO-4 | | ✔ | | | PO-5 | | | ✔ | | PO-6 | | ✔ | | | PO-7 | | ✔ | | | PO-8 | | | ✔ | | PO-9 | | | ✔ | | PO-10 | | | ✔ |
|
Matrik PO pada Kemampuan akhir tiap tahapan belajar (Sub-PO) |
| |
| PO |
Minggu Ke |
| 1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
| PO-1 | ✔ | | | | | | | ✔ | | | | | | | | | | PO-2 | | ✔ | | | | | | | | | | | | | | | | PO-3 | | | ✔ | ✔ | | | | | | | | | | | | | | PO-4 | | | | | ✔ | | | | | | | | | | | | | PO-5 | | | | | | ✔ | | | | | | | | | | | | PO-6 | | | | | | | ✔ | | | | | | | | | | | PO-7 | | | | | | | | | ✔ | | | | | | | | | PO-8 | | | | | | | | | | ✔ | ✔ | | | | | | | PO-9 | | | | | | | | | | | | ✔ | ✔ | | | | | PO-10 | | | | | | | | | | | | | | ✔ | ✔ | ✔ |
|
Deskripsi Singkat Mata Kuliah
|
Mata kuliah Struktur Data merupakan salah satu mata kuliah dasar dalam bidang ilmu komputer yang mempelajari cara mengorganisir, menyimpan, dan mengelola data secara efisien. Dalam mata kuliah ini, mahasiswa akan diperkenalkan pada berbagai jenis struktur data, baik yang sederhana maupun kompleks, serta algoritma yang digunakan untuk memanipulasi struktur data tersebut. Bahasa pemrograman yang digunakan dalam praktikum dan proyek adalah Python. |
Pustaka
|
Utama : |
|
- Michael T. Goodrich, Roberto Tamassia, dan Michael H. Goldwasser. *Data Structures and Algorithms in Python*. 2013
- Benjamin Baka. *Python Data Structures and Algorithms*.2017
|
Pendukung : |
|
|
Dosen Pengampu
|
Bonda Sisephaputra, M. Kom. Azis Suroni, S.Kom., M.Kom. |
Minggu Ke- |
Kemampuan akhir tiap tahapan belajar
(Sub-PO)
|
Penilaian |
Bantuk Pembelajaran,
Metode Pembelajaran,
Penugasan Mahasiswa,
[ Estimasi Waktu] |
Materi Pembelajaran
[ Pustaka ] |
Bobot Penilaian (%) |
Indikator |
Kriteria & Bentuk |
Luring (offline) |
Daring (online) |
(1) |
(2) |
(3) |
(4) |
(5) |
(6) |
(7) |
(8) |
1
Minggu ke 1 |
Mahasiswa mampu menjelaskan sejarah dan konsep algoritma dan struktur data, mengasosiasikan dan membedakan hubungan antara algoritma dan struktur data, dan mampu mencontohkan atau mengilustrasikan implementasi algoritma dan strutkur data pada perangkat lunak. |
Partisipasi dalam diskusi, pemahaman konsep. |
Kriteria:
Keaktifan dalam diskusi Bentuk Penilaian : Aktifitas Partisipasif |
Kuliah interaktif, diskusi kelompok 4x50 |
|
Materi: Pengantar Algoritma dan Struktur Data Pustaka: Benjamin Baka. *Python Data Structures and Algorithms*.2017 |
3% |
2
Minggu ke 2 |
Mahasiswa mampu mengaplikasikan input, process, dan output serta merancang algoritma untuk menyelesaikan kasus sederhana menggunakan notasi algoritma seperti kalimat deskriptif, flowchart, dan pseudo code |
Tugas praktis, kuis. |
Kriteria:
Ketepatan dalam menyelesaikan masalah Bentuk Penilaian : Aktifitas Partisipasif, Praktik / Unjuk Kerja |
Kuliah, demonstrasi kode, latihan praktis. 4x50 |
|
Materi: Input, Proses, Output, Flowchart Pustaka: Michael T. Goodrich, Roberto Tamassia, dan Michael H. Goldwasser. *Data Structures and Algorithms in Python*. 2013 |
3% |
3
Minggu ke 3 |
Mahasiswa mampu menjelaskan jenis-jenis dan perbedaan bahasa pemrograman dan mampu menggunakan bahasa pemrograman Python, mulai dari instalasi, menulis kode, dan menjalankan kode. |
Tugas praktis, kuis. |
Kriteria:
Ketepatan dalam menyelesaikan masalah Bentuk Penilaian : Praktik / Unjuk Kerja |
Kuliah, latihan praktis, tugas individu. 4x50 |
|
Materi: Bahasa pemrograman, Instalasi Program Pustaka: Michael T. Goodrich, Roberto Tamassia, dan Michael H. Goldwasser. *Data Structures and Algorithms in Python*. 2013 |
3% |
4
Minggu ke 4 |
Mahasiswa mampu menjelaskan jenis-jenis dan perbedaan bahasa pemrograman dan mampu menggunakan bahasa pemrograman Python, mulai dari instalasi, menulis kode, dan menjalankan kode. |
Tugas kelompok, partisipasi. |
Kriteria:
Ketepatan dalam menyelesaikan masalah Bentuk Penilaian : Penilaian Hasil Project / Penilaian Produk |
Kuliah, demonstrasi, latihan kelompok. 4x50 |
|
Materi: Bahasa Pemrograman dan Instalasi Program Pustaka: Michael T. Goodrich, Roberto Tamassia, dan Michael H. Goldwasser. *Data Structures and Algorithms in Python*. 2013 |
5% |
5
Minggu ke 5 |
Mahasiswa mampu menjelaskan tentang tipe data, operator, variabel, dan nilai serta mampu mengaplikasikan tipe data, operator, variabel, dan nilai tersebut pada bahasa pemrograman Python. |
Tugas praktis, kuis. |
Kriteria:
Ketepatan dalam menyelesaikan masalah Bentuk Penilaian : Aktifitas Partisipasif, Praktik / Unjuk Kerja |
Kuliah, diskusi, latihan praktis. 4x50 |
|
Materi: tipe data, operator, variabel, dan nilai tersebut pada bahasa pemrograman Python. Pustaka: Benjamin Baka. *Python Data Structures and Algorithms*.2017 |
3% |
6
Minggu ke 6 |
Mahasiswa mampu menganalisis konsep algoritma runtutan, percabangan, dan perulangan serta mampu mengaplikasikan algoritma-algoritma tersebut pada bahasa pemrograman Python |
Tugas praktis, kuis. |
Kriteria:
Ketepatan dalam menyelesaikan masalah Bentuk Penilaian : Aktifitas Partisipasif, Praktik / Unjuk Kerja |
Kuliah, demonstrasi, latihan individu. 4x50 |
|
Materi: algoritma runtutan, percabangan, dan perulangan Pustaka: Michael T. Goodrich, Roberto Tamassia, dan Michael H. Goldwasser. *Data Structures and Algorithms in Python*. 2013 |
5% |
7
Minggu ke 7 |
Mahasiswa mampu menjelaskan konsep struktur data array, tupple, dan linked list serta mengaplikasikan pengolahan data array, tupple, dan linked list menggunakan bahasa pemrograman Python |
Tugas kelompok, kuis. |
Kriteria:
Ketepatan dalam menyelesaikan masalah Bentuk Penilaian : Penilaian Hasil Project / Penilaian Produk |
Kuliah, diskusi, latihan kelompok. 4x50 |
|
Materi: Array dan Link List Pustaka: Benjamin Baka. *Python Data Structures and Algorithms*.2017 |
5% |
8
Minggu ke 8 |
Mahasiswa dapat menunjukkan pemahaman yang baik tentang materi yang telah dipelajari. |
Ujian Tengah Semester (UTS) |
Kriteria:
Hasil Ujian Bentuk Penilaian : Tes |
UTS 4x50 |
|
Materi: Pertemuan 1-7 Pustaka: Benjamin Baka. *Python Data Structures and Algorithms*.2017 |
5% |
9
Minggu ke 9 |
Mahasiswa mampu menjelaskan konsep struktur data stack dan queue serta mengaplikasikan pengolahan data stack, queue menggunakan bahasa pemrograman Python |
Tugas praktis, kuis. |
Kriteria:
ketepatan dalam menyelesaikan masalah Bentuk Penilaian : Aktifitas Partisipasif, Praktik / Unjuk Kerja |
Kuliah, demonstrasi, latihan praktis. 4x50 |
|
Materi: Stack dan Queue Pustaka: Benjamin Baka. *Python Data Structures and Algorithms*.2017 |
5% |
10
Minggu ke 10 |
Mahasiswa mampu menjelaskan konsep dan jenis-jenis algoritma pencarian (searching) dan mampu menghasilkan aplikasi pencarian sederhana menggunakan bahasa pemrograman Python |
Tugas praktis, kuis. |
Kriteria:
ketepatan dalam menyelesaikan masalah Bentuk Penilaian : Praktik / Unjuk Kerja |
Kuliah, diskusi, latihan kelompok. 4x50 |
|
Materi: jenis-jenis algoritma pencarian (searching) Pustaka: Benjamin Baka. *Python Data Structures and Algorithms*.2017 |
5% |
11
Minggu ke 11 |
Mahasiswa mampu menjelaskan konsep dan jenis-jenis algoritma pencarian (searching) dan mampu menghasilkan aplikasi pencarian sederhana menggunakan bahasa pemrograman Python |
Tugas praktis, kuis. |
Kriteria:
ketepatan dalam menyelesaikan masalah Bentuk Penilaian : Praktik / Unjuk Kerja |
Kuliah, demonstrasi, latihan praktis. 4x50 |
|
Materi: jenis-jenis algoritma pencarian (searching) Pustaka: Benjamin Baka. *Python Data Structures and Algorithms*.2017 |
3% |
12
Minggu ke 12 |
Mahasiswa mampu menjelaskan konsep dan jenis-jenis algoritma pengurutan (sorting) dan mampu menghasilkan aplikasi pengurutan sederhana menggunakan bahasa pemrograman Python |
Tugas praktis, kuis. |
Kriteria:
ketepatan dalam menyelesaikan masalah Bentuk Penilaian : Praktik / Unjuk Kerja |
Kuliah, diskusi, latihan individu. 4x50 |
|
Materi: jenis-jenis algoritma pengurutan (sorting) Pustaka: Benjamin Baka. *Python Data Structures and Algorithms*.2017 |
5% |
13
Minggu ke 13 |
Mahasiswa mampu menjelaskan konsep dan jenis-jenis algoritma pengurutan (sorting) dan mampu menghasilkan aplikasi pengurutan sederhana menggunakan bahasa pemrograman Python |
Partisipasi dalam diskusi, rencana proyek. |
Kriteria:
ketepatan dalam menyelesaikan masalah Bentuk Penilaian : Penilaian Hasil Project / Penilaian Produk, Praktik / Unjuk Kerja |
Diskusi kelompok, bimbingan dosen. 4x50 |
|
Materi: jenis-jenis algoritma pengurutan (sorting) Pustaka: Benjamin Baka. *Python Data Structures and Algorithms*.2017 |
5% |
14
Minggu ke 14 |
Mahasiswa mampu menjelaskan konsep algoritma Big-O, Greedy, Backtracking, Dynamic Programming, Divide and Conquer, A*, dan Knapsack Problem |
Kemajuan proyek, presentasi. |
Kriteria:
ketepatan dalam menyelesaikan masalah Bentuk Penilaian : Penilaian Hasil Project / Penilaian Produk |
Bimbingan, diskusi kelompok, presentasi kemajuan. 4x50 |
|
Materi: algoritma Big-O, Greedy, Backtracking, Dynamic Programming, Divide and Conquer, A*, dan Knapsack Problem Pustaka: Michael T. Goodrich, Roberto Tamassia, dan Michael H. Goldwasser. *Data Structures and Algorithms in Python*. 2013 |
5% |
15
Minggu ke 15 |
Mahasiswa mampu menjelaskan konsep algoritma Big-O, Greedy, Backtracking, Dynamic Programming, Divide and Conquer, A*, dan Knapsack Problem (Projek Akhir) |
presentasi. |
Kriteria:
Kualitas presentasi, kemampuan menjawab pertanyaan. Bentuk Penilaian : Penilaian Hasil Project / Penilaian Produk |
Presentasi, diskusi, umpan balik. 4x50 |
|
Materi: algoritma Big-O, Greedy, Backtracking, Dynamic Programming, Divide and Conquer, A*, dan Knapsack Problem Pustaka: Michael T. Goodrich, Roberto Tamassia, dan Michael H. Goldwasser. *Data Structures and Algorithms in Python*. 2013 |
35% |
16
Minggu ke 16 |
Mahasiswa dapat menunjukkan pemahaman yang komprehensif tentang seluruh materi. |
Ujian Akhir Semester (UAS) |
Kriteria:
Hasil Ujian Bentuk Penilaian : Tes |
Ujian Tulis 4x50 |
|
Materi: Ujian untuk mengevaluasi pemahaman keseluruhan materi. Pustaka: Benjamin Baka. *Python Data Structures and Algorithms*.2017 |
5% |