Anda di halaman 1dari 10

UNIVERSITAS GADJAH MADA

FMIPA/JIKE/ILMU KOMPUTER
FMIPA Gedung Selatan, Sekip Unit III Yogyakarta 55281

Rencana Program dan Kegiatan


Pembelajaran Semester
(RPKPS)

Algoritma dan Struktur Data 2

Ganjil /3 sks/MIK-2201

oleh

Drs. Janoe Hendarto, M.Kom


Arif Nurwidyantoro, M.Cs.

Tahun Ajaran 2015/2016


Agustus 2015
RANCANGAN PROGRAM KEGIATAN PEMBELAJARAN
SEMESTER
( RPKPS )

1. Nama Mata Kuliah : Algoritma dan Struktur Data II


2. Kode/SKS : MIK 2201 / 3 SKS
3. Prasarat : Algoritma dan Struktur Data I
4. Status Matakuliah : Wajib
5. Deskripsi singkat matakuliah
Matakuliah ini adalah matakuliah wajib inti dan merupakan lanjutan dari
matakuliah Algoritma dan Struktur Data I, matakuliah ini memberikan pengetahuan dan
ketrampilan kepada mahasiswa untuk melakukan analisa terhadap permasalahan,
perancangan algoritma dan menentukan struktur data yang tepat agar program komputer
yang dihasilkan terstruktur dan efisien.
Pada matakuliah Algoritma dan Struktur Data II ini, lebih menitik beratkan pada
struktur datanya, yaitu membahas macam-macam struktur data baik yang linear maupun
yang non-linear dan melihat kelebihan dan kekurangannya serta membahas contoh
permasalahannaya, dan juga membahas paradigma pemrograman object oriented
programming (OOP) yang merupakan paradigma pemrograman baru yang
dikembangkan dari fasilitas tipe data turunan di dalam pemrograman terstruktur. OOP
memberikan pendekatan dalam membuat desain dan pembangunan program lebih pada
orientasi entitas riil yang dijumpai di dunia nyata.
Object oriented di masa sekarang menjadi pilihan cara pemrograman yang sering
digunakan karena pendekatannya yang cenderung lebih deskriptif dan terorganisir
dengan baik. Hasilnya saat ini, banyak software-software yang lahir menggunakan
prinsip OOP sehingga membuat metode ini menjadi sebuah metode yang umum dalam
dunia pemrograman. Oleh sebab itu, OOP menjadi sebuah topik bahasan di dalam mata
kuliah algoritma dan struktur data untuk memberikan perkembangan teknologi
pemrograman yang teraktual kepada mahasiswa.

6. Tujuan pembelajaran
Memberikan bekal kepada mahasiswa agar dapat melakukan perancangan dan
pemilihan struktur data yang sesuai, implementasi dan melakukan analisis secara umum
pada algoritma yang dibuat serta menguasai prinsip dasar pemrograman OOP.
7. Outcome pembelajaran (Learning outcomes=LO)
LO-1. Memiliki pengetahuan mengenai teori dan konsep dasar algoritma dan struktur
data.
LO-2. Dapat menganalisis, merancang dan mengimplementasikan struktur data linear
seperti linked list, stack dan queue.
LO-3. Dapat menganalisis, merancang dan mengimplementasikan struktur data non
linear seperti matriks, multiple linked list dan tree serta graf.
LO-4. Memiliki pengetahuan mengenai algoritma searching dan sorting serta dapat
mengimplementasikan dalam program komputer.
LO-5. Memiliki pengetahuan mengenai teori dan konsep dasar Object Oriented
Programming (OOP).
LO-6. Dapat membangun program komputer berbasis OOP.

8. Materi Pembelajaran atau Pokok Bahasan atau Topik atau bahan


kajian (bisa dipilih terminologi yang sesuai)

No Pokok Bahasan Estimasi Kompetensi


Waktu
1 Pengantar 150 LO-1
1. Review Struktur data statis dan dinamis
2. Review Tipe data abstrak
3. Doubly linked list
2 Struktur data Stack dan Queue 150 LO-2
1. Stack
2. Queue
3 Struktur data non linear 150 LO-3
1. Matriks
2. Multiple linked list
4 Struktur data Tree 300 LO-3
1. BST
2. AVL-Tree

5 Sorting dan Searching 300 LO-4


1. Review Mergesort dan Quicksort
2. Heapsort
3. Eksternal sorting
4. Linear search dan binary search
5. Searching dengan fungsi hashing
6 Pengantar OOP
1. Perkembangan kebutuhan
150 LO-5
2. Sejarah Java
3. Contoh kasus OOP
4. Prinsip dasar OOP

7 Pengertian dan implementasi instance dalam Java 150 LO-6


1. Definisi class
2. Definisi attribute dan method
3. Definisi instance/object
8 Graf 300 LO-3, LO-6
1. Reprentasi graf
2. DFS
3. BFS
4. Shortest Path
9 Hash Tables 300 LO-6
1. Pengantar ke Hash
2. Fungsi hash
3. Collision resolution
4. Deletion
10 Huffman coding 150 LO-6

9. Evaluasi yang direncanakan

No. Komponen Penilaian Prosentase

1 Tugas-tugas (mandiri dan kelompok) 20%


2 Quiz 10%
3 UTS 30%
4 UAS 40%

10. Bahan, sumber informasi, dan referensi


WA : Data Structures and Algorithms, Alfred V. Aho, dkk. 1998
WB : Data Structures and Algorithms in Java, Adam Drozdek, 2005
AA : Data Structures using C, Tanenbaum, A., Y. Langsam, and M. Augenstein, 1990,
Prentice-Hall.
AB : Data Structures and Algorithms in Java 2nd Edition, Robert Lafore, 2002
11. Rencana Kegiatan Pembelajaran Mingguan (RKPM)
Tujuan Ajar/ Topik Media Ajar1 Metode MetodeAjar Aktivitas Aktivitas Sumber Ajar
Keluaran/ (pokok, Evaluasi dan (STAR)3 Mahasisw Dosen/
Indikator subpokokbahasan, Penilaian2 a Nama

Audio/Video
alokasiwaktu) Pengajar

Presentasi

Soal-tugas
Per

Gambar

Web4
Teks
1 Dapatmenjelaskan: Pengantar : √ √ √ - - √ Dosen aktif Unduh dan menjelaskan Web:
(1) Materi kuliah (1) Penjelasan materi menjelaskan baca bahan di depan elisa.ugm.ac.id
yang akan kuliah, Kontrak kuliah di depan kelas ajar pada kelas. Bahan ajar Bab 1
dipelajari, (2) Review Struktur (TCL) waktu kuliah dan 2
(2) Perbedaan dan Data Statis dan Dinamis dan setelah Pengajar:
contoh struktur (3) Review Tipe Data kuliah Janoe
data statis dan Abstrak Hendarto
dinamis (4) Review Struktur
(3) Tipe data abstrak Data Linked list linear
dan contohnya (5) Doubly linked list
(4) Linked list, doubly (6) operasi-operasi
linked list dan pada doubly linked list
operasi-operasi Waktu: 1x pertemuan
pada doubly linked @150 menit
list

2 (1) Dapat menjelaskan: Struktur data Stack dan √ √ √ - - √ Kuisoner Mahasiswa (1) Baca Memandudi Web:
 struktur data stack, Queue : Skoring 0-100 berkelompok bahan ajar skusidanme elisa.ugm.ac.id
 operasi-operasi (1) Pengertian struktur (PAN) dan berdiskusi sebelum njelaskandi Bahan ajar Bab 3

1
Masing-masing media ajar disertakan dalam bentuk handout setiap minggu/pertemuan.
2
Evaluasi mahasiswa dapat berupa: Kuis, Tugas, Self-Test, Tes formatif, Tes sumatif. Evaluasi mahasiswa ditujukanuntukmengukurketercapaiantujuan (padaKolom 2).
3
UGM menggunakan system pembelajaranSTAR (Student Teacher Aesthetic Role-Sharing): kombinasi optimal antara SCL (Student Centered Learning) danTCL (Teacher
Centered Learning).
4
Tautan di internet disajikan dalam kolom terakhir (Sumber Ajar).Untuk materi online yang dikembangkan sendiri gunakanLMS eLisa http://elisa.ugm.ac.id/
pada stack data stack, kuliah, depankelas. dan 4
(2) Dapat (2) operasi-operasi (2) Unduh
mengimplementasikan pada stack bahan ajar Pengajar:
struktur data stack (3) implementasi stack setelah Janoe
dengan array dan (4) aplikasi stack untuk kuliah Hendarto
linked list beserta mengubah ekspresi
operasi-operasinya infix menjadi postfix
(3) Dapat (5) Struktur data Queue
menjelaskan aplikasi (6) operasi-operasi
stack untuk mengubah pada queue
ekspresi infix menjadi (7) Implementasi
postfix. queue dengan array
(4) Dapat menjelaskan: (8) Implementasi
 struktur data queue dengan linked
queue, list
 operasi-operasi
pada queue Waktu: 1x pertemuan
(5) Dapat @150 menit
mengimplementasikan
struktur data queue
dengan array dan array
melingkar beserta
operasi-operasinya

3 (1) Dapat Struktur data Non √ √ √ - - √ Kuisoner Dosen aktif Unduh dan menjelaskan Web:
mengimplementasikan linear : Skoring 0-100 menjelaskan baca bahan di depan elisa.ugm.ac.id
array 2D untuk (1) Matriks, Array 2D (PAN) di depan kelas ajar pada kelas. Bahan ajar Bab 5
permasalahan matriks. (2) Multiple linked list (TCL) waktu kuliah
(2) ) Dapat dan setelah Pengajar:
mengimplementasikan Waktu: 1x pertemuan kuliah Janoe
Multiple linked list @150 menit Hendarto

4 (1) Dapat menjelaskan: Struktur data Tree : √ √ √ - √ √ Kuis: Mahasiswa (1) Baca Memandu Web:
 Struktur data Tree (1) Terminologi dan tentang berkelompok bahan ajar diskusi dan elisa.ugm.ac.id
 Operasi pada Tree Konsep, multiple linked dan berdiskusi sebelum menjelaskan Bahan ajar Bab 6
(2) Dapat (2) Implementasi Tree list kuliah, di depan
mengimplementasikan (2) Unduh kelas.
struktur data Tree Waktu: 1x pertemuan bahan ajar
dengan Array dan @150 menit setelah Pengajar:
pointer. kuliah Janoe
Hendarto
5 (1) Dapat menjelaskan: Struktur data Tree : √ √ √ - √ √ Tugas : Mahasiswa (1) Baca Memandu Web:
BST dan AVL-Tree (1) BST, tentang berkelompok bahan ajar diskusi dan elisa.ugm.ac.id
beserta operasi- (2) AVL-Tree, implementasi dan berdiskusi sebelum menjelaskan Bahan ajar Bab 6
operasinya (3) Operasi-operasi BST kuliah, di depan
(2) dapat pada BST dan AVL-Tree (2) Unduh kelas.
mengimplementasi BST bahan ajar
dan AVL-Tree. Waktu: 1x pertemuan setelah Pengajar:
@150 menit kuliah Janoe
Hendarto
6 (1) Dapat menjelaskan: Algoritma Sorting : √ √ √ - - √ Kuisoner Mahasiswa (1) Baca Memandu Web:
 Algoritma Sorting (1) review Merge Sort Skoring 0-100 berkelompok bahan ajar diskusi dan elisa.ugm.ac.id
Merge Sort dan dan Quick Sort. (PAN) dan berdiskusi sebelum menjelaskan Bahan ajar Bab 7
Quick Sort (2) Heap Sort kuliah, di depan
 Algoritma Sorting (3) Eksternal sorting (2) Unduh kelas.
Heap Sort Hybrid bahan ajar
 Algoritma eksternal setelah Pengajar:
sorting hybrid kuliah Janoe
(2) Dapat mengimple- Waktu: 1x pertemuan Hendarto
mentasikan ketiga @150 menit
algoritma Sorting

7 (1) Dapat menjelaskan: Algoritma Searching : √ √ √ - √ √ Kuis: Mahasiswa (1) Baca Memandu Web:
 Algoritma Searching (1) Sekuensial Search tentang sorting berkelompok bahan ajar diskusi dan elisa.ugm.ac.id
sekuensial dan binary dan Binary Search. dan berdiskusi sebelum menjelaskan Bahan ajar Bab 8
search (2) Searching dengan Tugas : kuliah, di depan
 Searching dengan fungsi hashing tentang (2) Unduh kelas.
fungsi hashing (pengantar) implementasi bahan ajar
(2) Dapat mengimple- search dengan setelah Pengajar:
mentasikan algoritma fungsi hashing kuliah Janoe
Searching Waktu: 1x pertemuan Hendarto
@150 menit
8 Evaluasi pemahaman UjianTengah Semester √ - - - - - Tes summatif - Mahasiswa Menyiapkan Seluruh bahan
mahasiswa secara (UTS) (PAN) mengerjaka UTS kuliah sejak dari
menyeluruh. n UTS secara awal.
individu di
kelas.
9 (1) Dapat menjelaskan: Pengenalan OOP : √ √ √ - - √ Mahasiswa (1) Baca Memandu Web:
 Perbedaan OOP dan (1) Pengenalan bahasa berkelompok bahan ajar diskusi dan elisa.ugm.ac.id
Procedural pemrograman Java. dan berdiskusi sebelum menjelaskan Bahan ajar Bab 9
 3 prinsip dasar OOP (2) Prinsip dasar OOP kuliah, di depan
(2) Dapat membuat (2) Unduh kelas.
program sederhana bahan ajar
berbasis OOP Waktu: 1x pertemuan setelah Pengajar:
@150 menit kuliah Arif N

10 (1) Dapat menjelaskan Pengenalan OOP : √ √ √ - √ √ Tugas : Mahasiswa (1) Baca Memandu Web:
tentang class, object (1) Pengertian dan Membuat berkelompok bahan ajar diskusi dan elisa.ugm.ac.id
dan method implementasi instance program dan berdiskusi sebelum menjelaskan Bahan ajar Bab 9
dalam Java. berbasis OOP kuliah, di depan
(2) Dapat (2) Studi kasus (2) Unduh kelas.
mengimplementasikan bahan ajar Pengajar:
class, object dan Waktu: 1x pertemuan setelah Arif N
method @150 menit kuliah

11 (1) Dapat menjelaskan Graf: √ √ √ - √ √ Tugas : tentang Mahasiswa (1) Baca Memandu Web:
tentang graf dan (1) Representasi graf implementasi berkelompok bahan ajar diskusi dan elisa.ugm.ac.id
bagaimana (2) DFS DFS dan berdiskusi sebelum menjelaskan
merepresentasikannya kuliah, di depan
dalam program Waktu: 1x pertemuan (2) Unduh kelas.
@150 menit bahan ajar Pengajar:
(2) Dapat menjelaskan setelah Arif N
tentang graf traversal kuliah
dengan metode Depth-
First-Search serta
mengimplementasikan
nya dalam program
12 (1) Dapat menjelaskan Graf: √ √ √ - √ √ Tugas : tentang Mahasiswa (1) Baca Memandu Web:
tentang graf traversal (1) BFS implementasi berkelompok bahan ajar diskusi dan elisa.ugm.ac.id
dengan metode (2) Shortest Path BFS dan dan berdiskusi sebelum menjelaskan
Breadth-First-Search Shortest Path kuliah, di depan
serta Waktu: 1x pertemuan (2) Unduh kelas.
mengimplementasikan @150 menit bahan ajar Pengajar:
nya dalam program setelah Arif N
kuliah
(2) Dapat menjelaskan
tentang Shortest Path
dan bagaimana
mengimplementasikan
nya dalam program
13 (1) Dapat menjelaskan Hash Tables √ √ √ - √ √ Tugas : tentang Mahasiswa (1) Baca Memandu Web:
tentang hash dan (1) Pengantar ke Hash implementasi berkelompok bahan ajar diskusi dan elisa.ugm.ac.id
berbagai cara untuk (2) Fungsi Hash fungsi hash dan berdiskusi sebelum menjelaskan
membuat fungsi hash kuliah, di depan
Waktu: 1x pertemuan (2) Unduh kelas.
(2) Dapat @150 menit bahan ajar Pengajar:
mengimplementasikan setelah Arif N
fungsi hash ke dalam kuliah
program
14 (1) Dapat menjelaskan Hash Tables √ √ √ - √ √ Tugas : tentang Mahasiswa (1) Baca Memandu Web:
tentang Collision (1) Collision Resolution implementasi berkelompok bahan ajar diskusi dan elisa.ugm.ac.id
resolution di hash, dan (2) Deletion collision dan berdiskusi sebelum menjelaskan
bagaimana menghapus resolution dan kuliah, di depan
data di dalam hash Waktu: 1x pertemuan deletion (2) Unduh kelas.
@150 menit bahan ajar Pengajar:
(2) Dapat setelah Arif N
mengimplementasikan kuliah
collision resolution ke
dalam fungsi hash
15 (1) Dapat menjelaskan Huffman Coding √ √ √ - √ √ Tugas : tentang Mahasiswa (1) Baca Memandu Web:
tentang Huffman implementasi berkelompok bahan ajar diskusi dan elisa.ugm.ac.id
coding Waktu: 1x pertemuan Huffman Coding dan berdiskusi sebelum menjelaskan
@150 menit kuliah, di depan
(2) Dapat (2) Unduh kelas.
mengimplementasikan bahan ajar Pengajar:
Huffman Coding dalam setelah Arif N
program kuliah
16 Evaluasi pemahaman Ujian Akhir Semester √ - - - - - Tes summatif - Mahasiswa Menyiapkan Seluruh bahan
mahasiswa secara (UAS) (PAN) mengerjaka UAS kuliah sejak dari
menyeluruh. n UAS secara UTS
individu di
kelas.

Mengetahui, Yogyakarta, 28 Agustus 2015

Dr.-Ing. Reza Pulungan, M.Sc Arif Nurwidyantoro, M.Cs. Drs. Janoe Hendarto M.Kom.
Ketua Prodi S1 Ilmu Komputer UGM Dosen Pengajar Dosen Pengajar

Anda mungkin juga menyukai