Rencana Program Kegiatan Pembelajaran Semester (RPKPS) Genap Tahun Ajaran 2012/2013 ALGORITMA DAN STRUKTUR DATA I (MIK 1251) (UNTUK PROGRAM STUDI MATEMATIKA DAN STATISTIKA) Oleh : Anifuddin Azis, S.Si., M.Kom. Program Studi S1 Ilmu Komputer Jurusan Ilmu Komputer dan Elektronika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Gadjah Mada 2013 1 Program Studi S1 Ilmu Komputer Jurusan Ilmu Komputer dan Elektronika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Gadjah Mada Rencana Program Kegiatan Pembelajaran Semester (RPKPS) Genap Tahun Ajaran 2012/2013 A. LATAR BELAKANG Algoritma dan Struktur Data I merupakan matakuliah wajib untuk mahasiswa prodi Matematika dan Statistika FMIPA UGM. Matakuliah ini pada kurikulum yang terdahulu bernama Algoritma dan Pemrograman. Pada kuliah ini disampaikan materi dasar algoritma, notasi algoritma dan struktur algoritma. Materi struktur algoritma meliputi : runtunan, pemilihan, dan perulangan. Dan disampaikan juga bentuk translasi dari notasi algoritma ke dalam bahasa pemrograman (Pascal dan C). Materi selanjutnya adalah prosedur, fungsi, tipe terstruktur (array dan record),dan beberapa algoritma sorting dan searching. Contoh-contoh permasalahan algoritma dan pemrograman yang diberikan berkaitan dengan permasalahan komputasi di bidang matematika atau statistika. Pada matakuliah Algoritma dan Struktur Data I ini, lebih menitik beratkan pada algoritma dan pemrogramannya karena struktur data yang digunakan masih relatif sederhana, yaitu mulai konsep dasar, struktur, implementasi dan juga komponen-komponen lain dalam algoritma dan pemrograman. Dengan diberikannya kuliah ini, diharapkan mahasiswa akan memiliki kemampuan baru untuk menganalisa permasalahan dan juga mengimplementasikannya dalam program komputer dengan menggunakan bahasa pemrograman Pascal dan C/C++. Dengan mengikuti kuliah ini, mahasiswa dari prodi Matematika dan Statistika FMIPA UGM diharapkan memiliki dasar pembuatan algoritma dan pemrograman yang baik sehingga mendukung kemampuan pemecahan masalah yang berkaitan dengan komputasi di bidang matematika atau statistika. 2 3 PERENCANAAN 1. Nama Mata Kuliah : Algoritma dan Struktur Data I 2. Kode / sks : MIK 1251/ 3 sks 3. Semester : Genap 4. Tujuan 5. Luaran : Penerapan cara pembelajaran Algoritma dan Struktur Data I secara umum ditujukan untuk memberikan pembekalan kepada mahasiswa dalam berfikir secara kritis, kreatif dan logis dalam menganalisis dan memecahkan masalah berbasis program komputer. Secara khusus pada mata kuliah ini akan diberikan ketrampilan baru dalam hal pengimplementasian hasil analisis pemecahan masalah ke dalam bentuk program komputer yang benar baik secara logika maupun secara sintaksis. : (LU-1) Mengerti dasar-dasar algoritma dan mengetahui dan memahami dasar-dasar struktur data dan pemrograman (LU-2) Mengerti notasi algoritma. (LU-3) Mampu membuat algoritma dengan flowchart. (LU-4) Memahami tipe data, aturan pemberian nama dan nilai. (LU-5) Memahami struktur runtunan dan mampu membuat algoritma berkaitan dengan runtunan. (LU-6) Memahami struktur pemilihan dan mampu membuat algoritma berkaitan dengan pemilihan. (LU-7) Memahami struktur pengulangan dan mampu membuat algoritma berkaitan dengan pengulangan. (LU-8) Memahami prosedur dan fungsi serta mampu membuat algoritma yang menggunakan prosedur atau fungsi. (LU-9) Memahami tipe data terstruktur (array dan record). (LU-10) Memahami dan cakap dalam mengimplementasikan algoritma searching dan sorting. (LU-11) Mampu membuat algoritma dan pemrograman untuk menyelesaikan suatu masalah. 6. Metode Pembelajaran : Student Centered Learning (SCL) dan Teacher Centered Learning (TCL) 7. No 1 Jam dan Pembagian : Bahasan Estimasi Waktu Pengantar Algoritma 4 Kompetensi 1. Definisi algoritma dan pemrograman 150 LU-3 2. Notasi algoritma 2 LU-1, LU-2 150 Notasi Algoritma 1. Notasi kalimat deskriptif 3 4 2. Notasi flowchart LU-1, LU-2 3. Notasi pseudocode LU-3 150 Notasi Pseudocode 1. Aturan penulisan pseudocode LU-1, LU-2 2. Translasi ke bahasa pemrograman LU-3 150 Tipe data, Nama, dan Nilai LU-4 1. Tipe data 2. Nama 3. Nilai 5 Struktur Runtunan 150 6 Struktur Pemilihan 300 LU-5 LU-11 LU-6, LU-11 7 300 Struktur Pengulangan LU-7, LU-11 8 450 Prosedur dan Fungsi 1. Prosedur LU-8 2. Fungsi LU-11 3. Rekursif 9 150 Tipe terstruktur LU-9, LU-11 1. Array 2. Record (Struct) 3. Array of record 10 150 Sorting dan Searching 5 LU-10, LU-11 8. Jadwal Mingguan Minggu Topik Substansi Metode ke 1 Pembelajaran Pengantar Algoritma 1. Definisi algoritma dan pemrograman 2. Notasi algoritma 2 Kompetensi - Penjelasan tentang definisi Ceramah algoritma dan contoh Diskusi LU-1, LU-2 algoritma Latihan soal LU-3 - Penjelasan tentang tiga macam notasi algoritma Ceramah Notasi Algoritma - Penjelasan tentang notasi 1. Notasi kalimat algoritma dengan kalimat Diskusi deskriptif deskriptif dan contohnya Latihan Soal LU-1, LU-2 Tugas LU-3 2. Notasi flowchart 3. Notasi pseudocode - Penjelasan tentang notasi algoritma dengan flowchart membuat dan contohnya algoritma - Pemberian contoh algoritma dengan pseudocode dengan kalimat deskriptif dan flowchart 3 Notasi Pseudocode 1. Aturan penulisan pseudocode 2. Translasi ke 4 - Penjelasan tentang aturan penulisan pseudocode - Pemberian contoh algoritma translasi ke bahasa pemrograman pemrograman dan Nilai 1. Tipe data Diskusi LU-1, LU-2 Latihan Soal LU-3 dengan pseudocode dan bahasa Tipe data, Nama, Ceramah - Penjelasan tentang macammacam tipe data - Penjelasan tentang aturan 2. Nama pemberian nama variabel, 3. Nilai konstanta, tipe bentukan - Penjelasan tentang cara mengisi dan menampilkan nilai 6 Ceramah Diskusi Contoh LU-4 5 Struktur Runtunan - Penjelasan tentang struktur - Contoh masalah dan algoritma untuk menyelesaikan masalah Studi Kasus Tugas Ceramah Struktur Pemilihan 1. Struktur IF-THEN LU-5 LU-11 Diskusi runtunan 6 Ceramah - Penjelasan struktur IF-THEN Diskusi - Pembuatan algoritma untuk Studi Kasus menyelesaiakan masalah LU-6, LU-11 Tugas membuat algoritma dan pembuatan program 7 Ceramah Struktur Pemilihan 1. Struktur Switch Case - Penjelasan struktur Switch- Diskusi LU-6, LU-11 Studi Kasus Case - Pembuatan algoritma untuk Tugas menyelesaiakan masalah membuat algoritma dan pembuatan program 8 Struktur - Penjelasan struktur FOR Ceramah Pengulangan - Pembuatan algoritma untuk Diskusi 1. Struktur menyelesaiakan masalah LU-7, LU-11 Latihan Soal FOR..DO 9 Struktur Pengulangan 1. Struktur WHILE..DO - Penjelasan struktur WHILE dan Do..While - Pembuatan algoritma untuk menyelesaiakan masalah 2. Struktur Do..While 7 Ceramah Diskusi Latihan Soal Tugas LU-7, LU-11 10 Prosedur 1. Definisi prosedur 2. Deklarasi prosedur 3. Pemanggilan prosedur 4. Parameter 11 Fungsi 1. Definisi fungsi 2. Deklarasi fungsi 3. Pemanggilan fungsi 12 Rekursif - Penjelasan tentang definisi dan deklarasi prosedur - Penjelasan tentang Ceramah LU-8 Diskusi LU-11 Latihan soal pemanggilan prosedur, Tugas variabel lokal, dan variabel membuat global algoritma dan - Penjelasan tentang parameter program pada prosedur - Penjelasan tentang definisi dan deklarasi prosedur - Penjelasan tentang Ceramah LU-8 Diskusi LU-11 Latihan soal pemanggilan prosedur - Perbedaan prosedur dan fungsi - Penjelasan tentang prosedur dan fungsi rekursif Ceramah LU-8 Diskusi LU-11 Latihan soal 13 Tipe terstruktur 1. Array 2. Record (Struct) 3. Array of record - Penjelasan tentang tipe data Ceramah Diskusi array - Penjelasan tentang tipe data LU-9, LU-11 Latihan soal record (struct) - Penjelasan tentang array of record 14 Sorting dan Sorting dan Searching Searching Ceramah LU-10, LU- Diskusi 11 Latihan soal 8 9. Penilaian No. Komponen Prosentase Penilaian 1 Tugas-tugas 2 UTS 3 UAS 20%-30% 70%-80% 10. Bahan Daftar Pustaka Munir, R., 2009, Algoritma dan Pemrograman, Informatika, Bandung B. PERENCANAAN MONITORING DAN UMPAN BALIK Proses monitoring dilakukan dengan melihat kemampuan mahasiswa dalam mengerjakan Pekerjaan Rumah dan tugas-tugas yang diberikan, sedangkan umpan balik dilakukan menggunakan borang Evaluasi Dosen yang telah dibuat oleh Bagian Akademik FMIPA UGM C. PERENCANAAN EVALUASI Proses evalusi pembelajaran dilakukan dengan memperhatikan hasil yang terekam pada borang Evaluasi Dosen tersebut. Mengetahui, Yogyakarta, Februari 2013 Ketua Prodi S1 Ilmu Komputer UGM Dosen Pengajar, Dr. Ing. Reza Pulungan, M.Sc. Anifuddin Azis, S.Si., M.Kom. 9