H al : Nilai mata kuliah

advertisement
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
150
LO-2
150
LO-3
300
LO-3
300
LO-4
1. Review Struktur data statis dan dinamis
2. Review Tipe data abstrak
3. Doubly linked list
2
Struktur data Stack dan Queue
1. Stack
2. Queue
3
Struktur data non linear
1. Matriks
2. Multiple linked list
4
Struktur data Tree
1. BST
2. AVL-Tree
5
Sorting dan Searching
1. Review Mergesort dan Quicksort
2. Heapsort
3. Eksternal sorting
4. Linear search dan binary search
5. Searching dengan fungsi hashing
6
7
8
9
10
Pengantar OOP
1. Perkembangan kebutuhan
2. Sejarah Java
3. Contoh kasus OOP
4. Prinsip dasar OOP
Pengertian dan implementasi instance dalam Java
1. Definisi class
2. Definisi attribute dan method
3. Definisi instance/object
Graf
1. Reprentasi graf
2. DFS
3. BFS
4. Shortest Path
Hash Tables
1. Pengantar ke Hash
2. Fungsi hash
3. Collision resolution
4. Deletion
Huffman coding
150
LO-5
150
LO-6
300
LO-3, LO-6
300
LO-6
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
Topik
(pokok,
subpokokbahasan,
alokasiwaktu)
Presentasi
Gambar
Audio/Video
Soal-tugas
Web4
Dapatmenjelaskan:
(1) Materi kuliah
yang akan
dipelajari,
(2) Perbedaan dan
contoh struktur
data statis dan
dinamis
(3) Tipe data abstrak
dan contohnya
(4) Linked list, doubly
linked list dan
operasi-operasi
pada doubly linked
list
Pengantar :
(1) Penjelasan materi
kuliah, Kontrak kuliah
(2) Review Struktur
Data Statis dan Dinamis
(3) Review Tipe Data
Abstrak
(4) Review Struktur
Data Linked list linear
(5) Doubly linked list
(6) operasi-operasi
pada doubly linked list
Waktu: 1x pertemuan
@150 menit
√
√
√
-
-
√
(1) Dapat menjelaskan:
 struktur data stack,
 operasi-operasi
Struktur data Stack dan
Queue :
(1) Pengertian struktur
√
Per
Tujuan Ajar/
Keluaran/
Indikator
Teks
11. Rencana Kegiatan Pembelajaran Mingguan (RKPM)
1
2
1
Media Ajar1
√
√
-
-
Metode
Evaluasi dan
Penilaian2
√
Kuisoner
Skoring 0-100
(PAN)
MetodeAjar
(STAR)3
Aktivitas
Mahasisw
a
Aktivitas
Dosen/
Nama
Pengajar
Sumber Ajar
Dosen aktif
menjelaskan
di depan kelas
(TCL)
Unduh dan
baca bahan
ajar pada
waktu kuliah
dan setelah
kuliah
menjelaskan
di depan
kelas.
Web:
elisa.ugm.ac.id
Bahan ajar Bab 1
dan 2
(1) Baca
bahan ajar
sebelum
Memandudi
skusidanme
njelaskandi
Mahasiswa
berkelompok
dan berdiskusi
Pengajar:
Janoe
Hendarto
Web:
elisa.ugm.ac.id
Bahan ajar Bab 3
Masing-masing media ajar disertakan dalam bentuk handout setiap minggu/pertemuan.
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/
2
3
4
pada stack
(2) Dapat
mengimplementasikan
struktur data stack
dengan array dan
linked list beserta
operasi-operasinya
(3) Dapat
menjelaskan aplikasi
stack untuk mengubah
ekspresi infix menjadi
postfix.
(4) Dapat menjelaskan:
 struktur data
queue,
 operasi-operasi
pada queue
(5) Dapat
mengimplementasikan
struktur data queue
dengan array dan array
melingkar beserta
operasi-operasinya
data stack,
(2) operasi-operasi
pada stack
(3) implementasi stack
(4) aplikasi stack untuk
mengubah ekspresi
infix menjadi postfix
(5) Struktur data Queue
(6) operasi-operasi
pada queue
(7) Implementasi
queue dengan array
(8) Implementasi
queue dengan linked
list
(1) Dapat
mengimplementasikan
array 2D untuk
permasalahan matriks.
(2) ) Dapat
mengimplementasikan
Multiple linked list
Struktur data Non
linear :
(1) Matriks, Array 2D
(2) Multiple linked list
(1) Dapat menjelaskan:
 Struktur data Tree
 Operasi pada Tree
(2) Dapat
Struktur data Tree :
(1) Terminologi dan
Konsep,
(2) Implementasi Tree
kuliah,
(2) Unduh
bahan ajar
setelah
kuliah
depankelas.
Unduh dan
baca bahan
ajar pada
waktu kuliah
dan setelah
kuliah
menjelaskan
di depan
kelas.
(1) Baca
bahan ajar
sebelum
kuliah,
Memandu
diskusi dan
menjelaskan
di depan
dan 4
Pengajar:
Janoe
Hendarto
Waktu: 1x pertemuan
@150 menit
√
√
√
-
-
√
Kuisoner
Skoring 0-100
(PAN)
Dosen aktif
menjelaskan
di depan kelas
(TCL)
Waktu: 1x pertemuan
@150 menit
√
√
√
-
√
√
Kuis:
tentang
multiple linked
list
Mahasiswa
berkelompok
dan berdiskusi
Web:
elisa.ugm.ac.id
Bahan ajar Bab 5
Pengajar:
Janoe
Hendarto
Web:
elisa.ugm.ac.id
Bahan ajar Bab 6
mengimplementasikan
struktur data Tree
dengan Array dan
pointer.
5
6
7
(2) Unduh
bahan ajar
setelah
kuliah
Waktu: 1x pertemuan
@150 menit
(1) Dapat menjelaskan:
BST dan AVL-Tree
beserta operasioperasinya
(2) dapat
mengimplementasi BST
dan AVL-Tree.
Struktur data Tree :
(1) BST,
(2) AVL-Tree,
(3) Operasi-operasi
pada BST dan AVL-Tree
(1) Dapat menjelaskan:
 Algoritma Sorting
Merge Sort dan
Quick Sort
 Algoritma Sorting
Heap Sort
 Algoritma eksternal
sorting hybrid
(2) Dapat mengimplementasikan ketiga
algoritma Sorting
Algoritma Sorting :
(1) review Merge Sort
dan Quick Sort.
(2) Heap Sort
(3) Eksternal sorting
Hybrid
(1) Dapat menjelaskan:
 Algoritma Searching
sekuensial dan binary
search
 Searching dengan
fungsi hashing
(2) Dapat mengimplementasikan algoritma
Searching
Algoritma Searching :
(1) Sekuensial Search
dan Binary Search.
(2) Searching dengan
fungsi hashing
(pengantar)
√
√
√
-
√
√
Tugas :
tentang
implementasi
BST
Mahasiswa
berkelompok
dan berdiskusi
Waktu: 1x pertemuan
@150 menit
√
√
√
-
-
√
Kuisoner
Skoring 0-100
(PAN)
Mahasiswa
berkelompok
dan berdiskusi
(1) Baca
bahan ajar
sebelum
kuliah,
(2) Unduh
bahan ajar
setelah
kuliah
(1) Baca
bahan ajar
sebelum
kuliah,
(2) Unduh
bahan ajar
setelah
kuliah
Waktu: 1x pertemuan
@150 menit
Waktu: 1x pertemuan
@150 menit
√
√
√
-
√
√
Kuis:
tentang sorting
Tugas :
tentang
implementasi
search dengan
fungsi hashing
Mahasiswa
berkelompok
dan berdiskusi
(1) Baca
bahan ajar
sebelum
kuliah,
(2) Unduh
bahan ajar
setelah
kuliah
kelas.
Pengajar:
Janoe
Hendarto
Memandu
diskusi dan
menjelaskan
di depan
kelas.
Pengajar:
Janoe
Hendarto
Memandu
diskusi dan
menjelaskan
di depan
kelas.
Web:
elisa.ugm.ac.id
Bahan ajar Bab 6
Web:
elisa.ugm.ac.id
Bahan ajar Bab 7
Pengajar:
Janoe
Hendarto
Memandu
diskusi dan
menjelaskan
di depan
kelas.
Pengajar:
Janoe
Hendarto
Web:
elisa.ugm.ac.id
Bahan ajar Bab 8
8
Evaluasi pemahaman
mahasiswa secara
menyeluruh.
UjianTengah Semester
(UTS)
√
-
-
9
(1) Dapat menjelaskan:
 Perbedaan OOP dan
Procedural
 3 prinsip dasar OOP
(2) Dapat membuat
program sederhana
berbasis OOP
Pengenalan OOP :
(1) Pengenalan bahasa
pemrograman Java.
(2) Prinsip dasar OOP
√
√
√
(1) Dapat menjelaskan
tentang class, object
dan method
Pengenalan OOP :
(1) Pengertian dan
implementasi instance
dalam Java.
(2) Studi kasus
10
(2) Dapat
mengimplementasikan
class, object dan
method
11
(1) Dapat menjelaskan
tentang graf dan
bagaimana
merepresentasikannya
dalam program
(2) Dapat menjelaskan
tentang graf traversal
dengan metode DepthFirst-Search serta
mengimplementasikan
nya dalam program
-
-
-
-
-
Tes summatif
(PAN)
√
-
Mahasiswa
berkelompok
dan berdiskusi
Waktu: 1x pertemuan
@150 menit
√
√
√
√
√
√
-
Waktu: 1x pertemuan
@150 menit
-
Menyiapkan
UTS
Seluruh bahan
kuliah sejak dari
awal.
Memandu
diskusi dan
menjelaskan
di depan
kelas.
Web:
elisa.ugm.ac.id
Bahan ajar Bab 9
Pengajar:
Arif N
√
√
Tugas :
Membuat
program
berbasis OOP
Mahasiswa
berkelompok
dan berdiskusi
(1) Baca
bahan ajar
sebelum
kuliah,
(2) Unduh
bahan ajar
setelah
kuliah
Memandu
diskusi dan
menjelaskan
di depan
kelas.
Pengajar:
Arif N
Web:
elisa.ugm.ac.id
Bahan ajar Bab 9
√
√
Tugas : tentang
implementasi
DFS
Mahasiswa
berkelompok
dan berdiskusi
(1) Baca
bahan ajar
sebelum
kuliah,
(2) Unduh
bahan ajar
setelah
kuliah
Memandu
diskusi dan
menjelaskan
di depan
kelas.
Pengajar:
Arif N
Web:
elisa.ugm.ac.id
Waktu: 1x pertemuan
@150 menit
Graf:
(1) Representasi graf
(2) DFS
Mahasiswa
mengerjaka
n UTS secara
individu di
kelas.
(1) Baca
bahan ajar
sebelum
kuliah,
(2) Unduh
bahan ajar
setelah
kuliah
12
13
14
15
(1) Dapat menjelaskan
tentang graf traversal
dengan metode
Breadth-First-Search
serta
mengimplementasikan
nya dalam program
(2) Dapat menjelaskan
tentang Shortest Path
dan bagaimana
mengimplementasikan
nya dalam program
(1) Dapat menjelaskan
tentang hash dan
berbagai cara untuk
membuat fungsi hash
(2) Dapat
mengimplementasikan
fungsi hash ke dalam
program
(1) Dapat menjelaskan
tentang Collision
resolution di hash, dan
bagaimana menghapus
data di dalam hash
(2) Dapat
mengimplementasikan
collision resolution ke
dalam fungsi hash
(1) Dapat menjelaskan
tentang Huffman
coding
Graf:
(1) BFS
(2) Shortest Path
√
√
√
-
√
√
Tugas : tentang
implementasi
BFS dan
Shortest Path
Mahasiswa
berkelompok
dan berdiskusi
(1) Baca
bahan ajar
sebelum
kuliah,
(2) Unduh
bahan ajar
setelah
kuliah
Memandu
diskusi dan
menjelaskan
di depan
kelas.
Pengajar:
Arif N
Web:
elisa.ugm.ac.id
√
√
√
-
√
√
Tugas : tentang
implementasi
fungsi hash
Mahasiswa
berkelompok
dan berdiskusi
(1) Baca
bahan ajar
sebelum
kuliah,
(2) Unduh
bahan ajar
setelah
kuliah
Memandu
diskusi dan
menjelaskan
di depan
kelas.
Pengajar:
Arif N
Web:
elisa.ugm.ac.id
√
√
√
-
√
√
Tugas : tentang
implementasi
collision
resolution dan
deletion
Mahasiswa
berkelompok
dan berdiskusi
(1) Baca
bahan ajar
sebelum
kuliah,
(2) Unduh
bahan ajar
setelah
kuliah
Memandu
diskusi dan
menjelaskan
di depan
kelas.
Pengajar:
Arif N
Web:
elisa.ugm.ac.id
√
√
√
-
√
√
Tugas : tentang
implementasi
Huffman Coding
Mahasiswa
berkelompok
dan berdiskusi
(1) Baca
bahan ajar
sebelum
kuliah,
Memandu
diskusi dan
menjelaskan
di depan
Web:
elisa.ugm.ac.id
Waktu: 1x pertemuan
@150 menit
Hash Tables
(1) Pengantar ke Hash
(2) Fungsi Hash
Waktu: 1x pertemuan
@150 menit
Hash Tables
(1) Collision Resolution
(2) Deletion
Waktu: 1x pertemuan
@150 menit
Huffman Coding
Waktu: 1x pertemuan
@150 menit
16
(2) Dapat
mengimplementasikan
Huffman Coding dalam
program
Evaluasi pemahaman
mahasiswa secara
menyeluruh.
Ujian Akhir Semester
(UAS)
√
-
-
-
-
-
Tes summatif
(PAN)
Mengetahui,
Dr.-Ing. Reza Pulungan, M.Sc
Ketua Prodi S1 Ilmu Komputer UGM
-
(2) Unduh
bahan ajar
setelah
kuliah
Mahasiswa
mengerjaka
n UAS secara
individu di
kelas.
kelas.
Pengajar:
Arif N
Menyiapkan
UAS
Yogyakarta, 28 Agustus 2015
Arif Nurwidyantoro, M.Cs.
Dosen Pengajar
Drs. Janoe Hendarto M.Kom.
Dosen Pengajar
Seluruh bahan
kuliah sejak dari
UTS
Download