RENCANA PEMBELAJARAN SEMESTER (RPS)
PROGRAM STUDI DIII TEKNIK INFORMATIKA SEKOLAH VOKASI
UNIVERSITAS SEBELAS MARET
Identitas Mata Kuliah Identitas dan Validasi Nama Tanda Tangan
Kode Mata Kuliah : 0955221102 Dosen Pengembang RPS : Ovide Decroly Wisnu Ardhi, S.T., M.Eng.
Nama Mata Kuliah : Praktikum Struktur Data
Bobot Mata Kuliah (sks) : 1 SKS Koord. Kelompok Mata Kuliah : Berliana Kusuma Riasti, S.T., M.Eng.
Semester : 2019B-Genap
Mata Kuliah Prasyarat : Kepala Program Studi : Hartatik S.Si., M.Si.
Capaian Pembelajaran Lulusan (CPL)
Kode CPL Unsur CPL
1.1.1 : Menguasai keterampilan penggunaan komputer, konsep bahasa pemrograman, dasar sistem operasi dan jaringan serta mampu beradaptasi dengan perkembangan pengetahuan bidang teknologi informasi
2.1.3 : Memahami konsep algoritma dan bahasa pemrograman yang dibutuhkan untuk merancang, dan menerapkan algoritma untuk menyelesaikan masalah.
:
CP Mata kuliah (CPMK) : Mahasiswa mampu menggunakan Arrays, Collections Framework, Stack & Queues, Sorting, Rekursif, Binary Tree, Red Black Tree, Hashing, Heaps, Graph.
Bahan Kajian Keilmuan : Algoritma dan Pemrograman
Deskripsi Mata Kuliah : Struktur data adalah cara penyimpanan, penyusunan dan pengaturan data di dalam media penyimpanan komputer sehingga data tersebut dapat digunakan secara efisien.
Daftar Referensi : 1. Data Structures and Algorithms in Java Fourth Edition 2. Data Structures and the Java Collections Framework (3rd ed.) 3. Data Structures and Abstractions with Java (3rd ed.)
4. Data Structures and Algorithms in Java, 6th Edition, 2014
5. Data Structures and Algorithms Made Easy in Java - Narasimha Karumanchi
6. Data Structures_ Abstraction and Design using Java (2nd ed.) 7. Data Structures and Algorithm Analysis in Java
Tahap Kemampuan akhir Materi Pokok Referensi
Metode Pembelajaran
Waktu
(Menit) Pengalaman Belajar
Penilaian*
Luring Daring Indikator/kode CPL Teknik
penilaian dan bobot
1 2 3 4 5 6 7 8 9 10
I Mampu menjelaskan dan
mengimplementasik an Array
● Array tipe data primitif & objek
● Menyimpan dan mengakses data yang tersimpan dalam array
Referensi (1,2,3,4,5,6, 7,8)
Ceramah, Demo Diskusi kelas
Google classroom:
tugas mandiri 170 menit:
Luring 2x50 (100) Daring 70
Melakukan praktik, Tugas,
laporan praktikum 1. Menjelaskan mengenai konsep array.
2. Menjelaskan cara membuat array dengan data primitif dan data objek.
3. Menjelaskan cara menyimpan data dan mengakses data yang tersimpan di array.
4. Mengimplementasikan Array dalam java
(1.1.1, 2.1.3)
Laporan praktikum 2%
II Mampu menjelaskan dan
mengimplementasik an Collection Framework
● Collection framework
● Hirarki collection framework
● Dasar Interface set, list, map
● Class interface set, list, map
Referensi (1,2,3,4,5,6, 7,8)
Ceramah, Demo Diskusi kelas
Google classroom:
tugas mandiri 170 menit:
Luring 2x50 (100) Daring
70
Melakukan praktik, Tugas,
laporan praktikum 1. Menjelaskan cara penyimpanan obyek menggunakan Collection.
2. Menjelaskan pengelompokan dari Collection.
3. Menjelaskan perbedaan dari interface Set, List dan Map.
4. Menjelaskan
penggunaan class-class dari interface Set, List dan Map.
5. Menjelaskan cara penggunaan Iterasi dan Enumeration.
6. Mengimplementasikan Collection Framework pada java
(1.1.1, 2.1.3)
Laporan praktikum 2%
III Mampu menjelaskan dan
mengimplementasik an Stack
● Stack
● Last inf First Out Referensi (1,2,3,4,5,6, 7,8)
Ceramah, Demo Diskusi kelas
Google classroom:
tugas mandiri 170 menit:
Luring 2x50 (100) Daring
Melakukan praktik, Tugas,
laporan praktikum 1. Menjelaskan konsep dan operasi pada Stack 2. Mampu
mengimplementasikan struktur data Stack pada array dan List
Laporan praktikum 2%
IV Mampu menjelaskan dan
mengimplementasik an Queues
● Queue
● First in First Out Referensi (1,2,3,4,5,6, 7,8)
Ceramah, Demo Diskusi kelas
Google classroom:
tugas mandiri 170 menit:
Luring 2x50 (100) Daring
70
Melakukan praktik, Tugas,
laporan praktikum 1. Menjelaskan konsep Queue dan operasi- operasi pada queue 2. Menjelaskan
implementasi Queue pada Collection
3. Mengimplementasikan Queue menggunakan List 4. Mengimplementasikan Bounded Queue
menggunakan Array (1.1.1, 2.1.3)
Laporan praktikum 2%
V Mampu menjelaskan dan
mengimplementasik an Linked List 1
● Single Linked List
● Doubly Linked List Referensi (1,2,3,4,5,6, 7,8)
Ceramah, Demo Diskusi kelas
Google classroom:
tugas mandiri 170 menit:
Luring 2x50 (100) Daring
70
Melakukan praktik, Tugas,
laporan praktikum 1. Menjelaskan konsep SingleLinkedList untuk menghapus sebuah node 2. Menjelaskan konsep SingleLinkedList untuk mencari index untuk node tertentu
3. Menjelaskan konsep Iterator pada
SingleLinkedList
4. Mengimplementasikan konsep Iterator pada SingleLinkedList 5. Memahami konsep Double Linked List.
(1.1.1, 2.1.3)
Laporan praktikum 2%
VI Mampu menjelaskan dan
mengimplementasik an Linked List 2
● Single Linked List
● Doubly Linked List Referensi (1,2,3,4,5,6, 7,8)
Ceramah, Demo Diskusi kelas
Google classroom:
tugas mandiri 170 menit:
Luring 2x50 (100) Daring
70
Melakukan praktik, Tugas,
laporan praktikum 1. Mampu membuat sebuah Node pada Double Linked List.
2. Mampu membuat Double Linked List sendiri.
3. Menjelaskan operasi- operasi yang terdapat pada Double Linked List 4. Menjelaskan konsep Class LinkedList di Collection 5. Menjelaskan penggunaan method- method pada Class LinkedList
(1.1.1, 2.1.3)
Laporan praktikum 2%
VII Mampu menjelaskan dan
mengimplementasik an Comparable &
Comparator
● Comparable
● Comparator Referensi
(1,2,3,4,5,6, 7,8)
Ceramah, Demo Diskusi kelas
Google classroom:
tugas mandiri 170 menit:
Luring 2x50 (100) Daring
70
Melakukan praktik, Tugas,
laporan praktikum 1. Mengetahui untuk mengurutkan data dengan cara membandingkan satu objek dengan objek lainnya.
2. Mengetahui class-class di Java yang
mengimplementasikan interface Comparable.
3. Mengetahui cara mengurutkan data dengan class yang didefinisikan sendiri, dengan cara mengimplementasikan interface Compable dan Comparator.
(1.1.1, 2.1.3)
Laporan praktikum 2%
VIII UTS Ujian tertulis Melakukan praktik, Tugas,
laporan praktikum, UJIAN TENGAH SEMESTER Proyek 1 30%
IX Mampu menjelaskan dan
mengimplementasik an Sorting 1
● Selection Sort
● Bubble Sort
● Insertion Sort
● Shell Sort
● Quick Sort
● Merge Sort
Referensi (1,2,3,4,5,6, 7,8)
Ceramah, Demo Diskusi kelas
Google classroom:
tugas mandiri 170 menit:
Luring 2x50 (100) Daring
70
Melakukan praktik, Tugas,
laporan praktikum 1. Menjelaskan step by step algoritma pengurutan selection sort, bubble sort, insertion sort, shell sort, quick sort, merger sort 2. Mampu
mengimplementasikan algoritma pengurutan selection sort, bubble sort, insertion sort, shell sort, quick sort, merger sort dengan berbagai macam parameter berupa tipe data primitif atau tipe Generic.
(1.1.1, 2.1.3)
Laporan praktikum 2%
X Mampu menjelaskan dan
mengimplementasik an Sorting 2
● Selection Sort
● Bubble Sort
● Insertion Sort
● Shell Sort
● Quick Sort
● Merge Sort
Referensi (1,2,3,4,5,6, 7,8)
Ceramah, Demo Diskusi kelas
Google classroom:
tugas mandiri 170 menit:
Luring 2x50 (100) Daring
70
Melakukan praktik, Tugas,
laporan praktikum 1. Mampu
mengimplementasikan algoritma pengurutan selection sort, bubble sort, insertion sort, shell sort, quick sort, merger sort secara ascending dan descending.
(1.1.1, 2.1.3)
Laporan praktikum 2%
XI Mampu menjelaskan dan
mengimplementasik an Recursive
Rekursif Referensi
(1,2,3,4,5,6, 7,8)
Ceramah, Demo Diskusi kelas
Google classroom:
tugas mandiri
170menit:
Luring 2x50 (100) Daring
70
Melakukan praktik, Tugas,
laporan praktikum 1. Menjelaskan mengenai konsep rekursif
2. Mampu memecahkan permasalahan dengan konsep rekursif (1.1.1, 2.1.3)
Laporan praktikum 2%
XII Mampu menjelaskan dan
mengimplementasik an Binary Tree
Binary Tree Referensi
(1,2,3,4,5,6, 7,8)
Ceramah, Demo Diskusi kelas
Google classroom:
tugas mandiri 170 menit:
Luring 2x50 (100) Daring
70
Melakukan praktik, Tugas,
laporan praktikum 1. Menjelaskan konsep dari BinaryTree 2. Menjelaskan cara membangun Binary Tree secara manual
3. Menjelaskan konsep dan implementasi dari menghitung kedalaman, mengkopi dan
menghapus Binary Tree 4. Menjelaskan Konsep Binary Search Tree 5. Mengimplementasaikan Binary Search Tree (1.1.1, 2.1.3)
Laporan praktikum 2%
XIII Mampu menjelaskan dan
mengimplementasik an Binary Search Tree
Binary Search Tree Referensi (1,2,3,4,5,6, 7,8)
Ceramah, Demo Diskusi kelas
Google classroom:
tugas mandiri 170 menit:
Luring 2x50 (100) Daring
70
Melakukan praktik, Tugas,
laporan praktikum 1. Menjelaskan konsep dari pembacaan Binary Tree dengan traversal Inorder, Preorder dan PostOrder
2. Mengimplementasikan pembacaan Binary Tree dengan traversal Inorder, Preorder dan PostOrder (1.1.1, 2.1.3)
Laporan praktikum 2%
XIV Mampu menjelaskan dan
mengimplementasik an Graph 1
Graph Referensi
(1,2,3,4,5,6, 7,8)
Ceramah, Demo Diskusi kelas
Google classroom:
tugas mandiri 170 menit:
Luring 2x50 (100) Daring
70
Melakukan praktik, Tugas,
laporan praktikum 1. Mampu mendeskripsikan peristilahan graf: verteks, tepi, graf sederhana, graf terbobot/tak-berbobot, dan graf terarah/tak- terarah.
2. Mampu memodelkan permasalahan-
permasalahan di dunia nyata menggunakan graf.
3. Mampu memodelkan graf menggunakan antarmuka Graph, kelas AbstractGraph, dan kelas UnweightedGraph.
(1.1.1, 2.1.3)
Laporan praktikum 2%
XV Mampu menjelaskan dan
mengimplementasik an Graph 2
Graph Referensi
(1,2,3,4,5,6, 7,8)
Ceramah, Demo Diskusi kelas
Google classroom:
tugas mandiri 170 menit:
Luring 2x50 (100) Daring
70
Melakukan praktik, Tugas,
laporan praktikum 1. Menampilkan graf secara visual.
2. Mampu
merepresentasikan penjelajahan suatu graf menggunakan kelas AbstractGraph.Tree.
3. Mampu mendesain dan mengimplementasikan pencarian depth-first.
4. Mampu mendesain dan mengimplementasikan pencarian breadth-first.
(1.1.1, 2.1.3)
Laporan praktikum 2%
XVI UAS Ujian tertulis Melakukan praktik, Tugas,
laporan praktikum,
mempresentasikan Proyek 2
UJIAN AKHIR SEMESTER Proyek 2 42%
*Kriteria Penilaian terlampir