• Tidak ada hasil yang ditemukan

Algoritma dan Struktur Data 2

N/A
N/A
Protected

Academic year: 2021

Membagikan "Algoritma dan Struktur Data 2"

Copied!
10
0
0

Teks penuh

(1)

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

(2)

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.

(3)

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

Waktu

Kompetensi

1 Pengantar

1. Review Struktur data statis dan dinamis 2. Review Tipe data abstrak

3. Doubly linked list

150 LO-1

2 Struktur data Stack dan Queue 1. Stack

2. Queue

150 LO-2

3 Struktur data non linear 1. Matriks

2. Multiple linked list

150 LO-3

4 Struktur data Tree 1. BST

2. AVL-Tree

300 LO-3

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

300 LO-4

(4)

9. Evaluasi yang direncanakan

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 6 Pengantar OOP

1. Perkembangan kebutuhan 2. Sejarah Java

3. Contoh kasus OOP 4. Prinsip dasar OOP

150 LO-5

7 Pengertian dan implementasi instance dalam Java 1. Definisi class

2. Definisi attribute dan method 3. Definisi instance/object

150 LO-6

8 Graf

1. Reprentasi graf 2. DFS

3. BFS

4. Shortest Path

300 LO-3, LO-6

9 Hash Tables

1. Pengantar ke Hash 2. Fungsi hash

3. Collision resolution 4. Deletion

300 LO-6

10 Huffman coding 150 LO-6

No. Komponen Penilaian Prosentase

1 Tugas-tugas (mandiri dan kelompok) 20%

2 Quiz 10%

3 UTS 30%

4 UAS 40%

(5)

11. Rencana Kegiatan Pembelajaran Mingguan (RKPM)

Per

Tujuan Ajar/

Keluaran/

Indikator

Topik (pokok, subpokokbahasan,

alokasiwaktu)

Media Ajar1 Metode Evaluasi dan

Penilaian2

MetodeAjar

(STAR)3 Aktivitas Mahasisw

a

Aktivitas Dosen/

Nama Pengajar

Sumber Ajar

Teks Presentasi Gambar Audio/Video Soal-tugas Web4

1 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

- - Dosen aktif

menjelaskan di depan kelas (TCL)

Unduh dan baca bahan ajar pada waktu kuliah dan setelah kuliah

menjelaskan di depan kelas.

Pengajar:

Janoe Hendarto

Web:

elisa.ugm.ac.id Bahan ajar Bab 1 dan 2

2 (1) Dapat menjelaskan:

 struktur data stack,

 operasi-operasi

Struktur data Stack dan Queue :

(1) Pengertian struktur

- - Kuisoner

Skoring 0-100 (PAN)

Mahasiswa berkelompok dan berdiskusi

(1) Baca bahan ajar sebelum

Memandudi skusidanme njelaskandi

Web:

elisa.ugm.ac.id Bahan ajar Bab 3

1Masing-masing media ajar disertakan dalam bentuk handout setiap minggu/pertemuan.

2Evaluasi mahasiswa dapat berupa: Kuis, Tugas, Self-Test, Tes formatif, Tes sumatif. Evaluasi mahasiswa ditujukanuntukmengukurketercapaiantujuan (padaKolom 2).

3UGM menggunakan system pembelajaranSTAR (Student Teacher Aesthetic Role-Sharing): kombinasi optimal antara SCL (Student Centered Learning) danTCL (Teacher Centered Learning).

4Tautan di internet disajikan dalam kolom terakhir (Sumber Ajar).Untuk materi online yang dikembangkan sendiri gunakanLMS eLisa http://elisa.ugm.ac.id/

(6)

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

Waktu: 1x pertemuan

@150 menit

kuliah, (2) Unduh bahan ajar setelah kuliah

depankelas.

Pengajar:

Janoe Hendarto

dan 4

3 (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

Waktu: 1x pertemuan

@150 menit

- - Kuisoner

Skoring 0-100 (PAN)

Dosen aktif menjelaskan di depan kelas (TCL)

Unduh dan baca bahan ajar pada waktu kuliah dan setelah kuliah

menjelaskan di depan kelas.

Pengajar:

Janoe Hendarto

Web:

elisa.ugm.ac.id Bahan ajar Bab 5

4 (1) Dapat menjelaskan:

 Struktur data Tree

 Operasi pada Tree (2) Dapat

Struktur data Tree : (1) Terminologi dan Konsep,

(2) Implementasi Tree

- Kuis:

tentang multiple linked list

Mahasiswa berkelompok dan berdiskusi

(1) Baca bahan ajar sebelum kuliah,

Memandu diskusi dan menjelaskan di depan

Web:

elisa.ugm.ac.id Bahan ajar Bab 6

(7)

mengimplementasikan struktur data Tree dengan Array dan pointer.

Waktu: 1x pertemuan

@150 menit

(2) Unduh bahan ajar setelah kuliah

kelas.

Pengajar:

Janoe Hendarto 5 (1) Dapat menjelaskan:

BST dan AVL-Tree beserta operasi- operasinya (2) dapat

mengimplementasi BST dan AVL-Tree.

Struktur data Tree : (1) BST,

(2) AVL-Tree, (3) Operasi-operasi pada BST dan AVL-Tree

Waktu: 1x pertemuan

@150 menit

- Tugas :

tentang implementasi BST

Mahasiswa berkelompok dan berdiskusi

(1) Baca bahan ajar sebelum kuliah, (2) Unduh bahan ajar setelah kuliah

Memandu diskusi dan menjelaskan di depan kelas.

Pengajar:

Janoe Hendarto

Web:

elisa.ugm.ac.id Bahan ajar Bab 6

6 (1) Dapat menjelaskan:

 Algoritma Sorting Merge Sort dan Quick Sort

 Algoritma Sorting Heap Sort

 Algoritma eksternal sorting hybrid (2) Dapat mengimple- mentasikan ketiga algoritma Sorting

Algoritma Sorting : (1) review Merge Sort dan Quick Sort.

(2) Heap Sort (3) Eksternal sorting Hybrid

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

Memandu diskusi dan menjelaskan di depan kelas.

Pengajar:

Janoe Hendarto

Web:

elisa.ugm.ac.id Bahan ajar Bab 7

7 (1) Dapat menjelaskan:

 Algoritma Searching sekuensial dan binary search

 Searching dengan fungsi hashing (2) Dapat mengimple- mentasikan algoritma Searching

Algoritma Searching : (1) Sekuensial Search dan Binary Search.

(2) Searching dengan fungsi hashing (pengantar)

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

Memandu diskusi dan menjelaskan di depan kelas.

Pengajar:

Janoe Hendarto

Web:

elisa.ugm.ac.id Bahan ajar Bab 8

(8)

8 Evaluasi pemahaman mahasiswa secara menyeluruh.

UjianTengah Semester (UTS)

- - - - - Tes summatif (PAN)

- Mahasiswa

mengerjaka n UTS secara individu di kelas.

Menyiapkan UTS

Seluruh bahan kuliah sejak dari awal.

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

Waktu: 1x pertemuan

@150 menit

- - 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

10 (1) Dapat menjelaskan tentang class, object dan method

(2) Dapat

mengimplementasikan class, object dan method

Pengenalan OOP : (1) Pengertian dan implementasi instance dalam Java.

(2) Studi kasus

Waktu: 1x pertemuan

@150 menit

- 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

11 (1) Dapat menjelaskan tentang graf dan bagaimana

merepresentasikannya dalam program

(2) Dapat menjelaskan tentang graf traversal dengan metode Depth- First-Search serta mengimplementasikan nya dalam program

Graf:

(1) Representasi graf (2) DFS

Waktu: 1x pertemuan

@150 menit

- 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

(9)

12 (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

Graf:

(1) BFS

(2) Shortest Path

Waktu: 1x pertemuan

@150 menit

- 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

13 (1) Dapat menjelaskan tentang hash dan berbagai cara untuk membuat fungsi hash

(2) Dapat

mengimplementasikan fungsi hash ke dalam program

Hash Tables

(1) Pengantar ke Hash (2) Fungsi Hash

Waktu: 1x pertemuan

@150 menit

- 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

14 (1) Dapat menjelaskan tentang Collision resolution di hash, dan bagaimana menghapus data di dalam hash

(2) Dapat

mengimplementasikan collision resolution ke dalam fungsi hash

Hash Tables

(1) Collision Resolution (2) Deletion

Waktu: 1x pertemuan

@150 menit

- 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

15 (1) Dapat menjelaskan tentang Huffman coding

Huffman Coding

Waktu: 1x pertemuan

@150 menit

- 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

(10)

(2) Dapat

mengimplementasikan Huffman Coding dalam program

(2) Unduh bahan ajar setelah kuliah

kelas.

Pengajar:

Arif N

16 Evaluasi pemahaman mahasiswa secara menyeluruh.

Ujian Akhir Semester (UAS)

- - - - - Tes summatif (PAN)

- Mahasiswa

mengerjaka n UAS secara individu di kelas.

Menyiapkan UAS

Seluruh bahan kuliah sejak dari UTS

Mengetahui, Yogyakarta, 28 Agustus 2015

Dr.-Ing. Reza Pulungan, M.Sc Ketua Prodi S1 Ilmu Komputer UGM

Arif Nurwidyantoro, M.Cs.

Dosen Pengajar

Drs. Janoe Hendarto M.Kom.

Dosen Pengajar

Referensi

Dokumen terkait

Buatlah program C++ untuk melakukan pengolahan data nilai mahasiswa sebanyak 40 mahasiswa dan setiap mahasiswa dapat mengambil 7 matakuliah.. Data mahasiswa terdiri dari

• Selain itu hal yang terpenting dalam mempelajari struktur data adalah eratkaitannya dengan pemilihan struktur data yang tepat membuat suatu algoritma yang

Dapat menyelesaikan suatu masalah dengan membuat algoritma untuk mengurutkan sekumpulan data dan mengimplementasikannya ke dalam bentuk program.

menggunakan struktur data array, struct, tree, dan file menggunakan teknik-teknik seperti stack, queue, dan linked list serta hashing.. •  Matakuliah ini juga

Mengingat kembali array, struktur, pointer dalam bahasa C 1.1 Pengenalan Struktur Data Struktur data adalah sebuah skema organisasi, seperti struktur dan array, yang diterapkan pada

2 Hasil perhitungan dengan algoritma apriori menunjukkan bahwa nilai itemset ke-3 dari data matakuliah mahasiswa merupakan nilai matakuliah dominan yang digunakan dalam meningkatkan

KESIMPULAN Diusulkan penggunaan STL oleh staf pengajar yang selama ini masih mengajarkan matakuliah Struktur Data dengan fokus tradisional, yaitu pada detail implementasi struktur

Dokumen ini membahas tentang Data Mining dengan fokus pada algoritma Decision