UNIVERSITAS GADJAH MADA FAKULTAS TEKNIK/JURUSAN TEKNIK ELEKTRO DAN TEKNOLOGI INFORMASI Jln. Grafika No. 2 Yogyakarta, Kampus UGM Yogyakarta 55281 Telp. (0274) 552305, 902202 Fax. (0274) 552305 Rencana Program dan Kegiatan Pembelajaran Semester (RPKPS) Pemrograman Berorientasi Objek (S1) Semester I / 3 SKS/ TIF 201 Oleh Ridi Ferdiana 2016 UNIVERSITAS GADJAH MADA FAKULTAS TEKNIK JURUSAN TEKNIK ELEKTRO DAN TEKNOLOGI INFORMASI Rancangan Program Kegiatan Pembelajaran Semester (RPKPS) : : : : Pemrograman Berorientasi Objek TIF 201 / 3 SKS Wajib Prodi Teknologi Informasi 1. 2. 3. 4. Nama Mata Kuliah Kode/SKS Prasyarat Status Matakuliah 5. Deskripsi singkat matakuliah Mata kuliah ini memfokuskan kembali teknik rekayasa pengembangan perangkat lunak yang terlah diajakan pada mata kuliah pemrograman dasar melalui pendekatan berbasis objek. Mahasiswa akan diajak untuk berpikir dengan orientasi objek, bermigrasi dari metodologi prosedural ke objek. Mata kuliah ini memfokuskan berbagai pilar-pilar orientasi objek dan penerapannya di dunia industri perangkat lunak. 6. Tujuan pembelajaran Sesuai dengan peta kurikulum program studi teknologi informasi, kompetensi yang didukung oleh matakuliah pengembangan aplikasi permainan adalah sebagai berikut. Tujuan utama dari mata kuliah ini adalah mendorong kemampuan teknis dan analisis mahasiswa dalam menggunakan konsep-konsep objek dan mampu mengimplementasikannya dalam kode program. Hasil akhir dari mata kuliah ini adalah memotivasi mahasiswa untuk membuat perangkat lunak sendiri secara independen dan memiliki kualitas yang mencukupi. 7. Learning outcomes 1. Mahasiswa dapat mempelajari elemen-elemen penting dari sebuah kode dan faedah OO seperti natural thinking, reliable, maintenable, dsb. 2. Mahasiswa diharapkan memiliki kemampuan analisis dan merekayasa suatu solusi pemograman dalam konteks OO (Object Oriented). 3. Mahasiswa dapat menggunakan berbagai perangkat bantu pengembangan dan mengimplementasikan konsep OO dalam pengembangan perangkat lunak. 4. Mahasiswa dapat menganalisis, merancang, dan mengembangkan perangkat lunak dengan bahasa pemograman OO termasuk di dalamnya konsep OOAD (Object Oriented Analysis and Design) 5. Mahasiswa dapat memilih dan mengaplikasi pola-pola desain kode berorientasi OO yang terkemas dalam Design patterns. 2 8. Materi Pembelajaran Pertemuan ke- Topik (Pokok Bahasan) 1. Ikhtisar Pemogramaan Berorientasi Objek Bahasan ini memperkenalkan mengenai konteks dan konsep OO. Perbandingannya dengan pemograman prosedural 2. Pilar-Pilar OO Bahasan ini memberikan ikhtisar mengenai konsep pilar-pilar OO sepertt abstraksi, enkapsulasi dan polimorfisme 3. Introduksi Bahasa Pemograman Memperkenalkan bahasa pemograman berbasis OO seperti Java, C#, dan VB. Mahasiswa akan mempelajari elemen-elemen penting dari sebuah bahasa pemograman. Latihan dan gaya pemrograman yang baik juga akan diperkenalkan. Dan akhirnya, mahasiswa juga akan mempelajari bagaimana cara menggunakan IDE untuk mengedit, mengkompilasi, mengeksekusi, dan mendebug sebuah program. 4. Class dan Object Bagian ini menjelaskan komponen class, pembuatan objek, dan berbagai jenis istilah dalam OO seperti class, object, dan berbagai jenis class yang ada. 5. Metode dan Parameter Tujuan dari modul ini memfokuskan bagaimana menggunakan metode dan fungsi dalam bahasa pemograman termasuk didalamnya memperkenalkan jenis-jenis metode dan tipe-tipe parameter dalam pemograman OO 6. Object Oriented dengan UML Tujuan dari modul ini memperkenalkan salah satu komponen UML yakni class diagram yang berperan besar dalam melakukan desain dan visualisasi OO. 7. Pewarisan Modul ini menyediakan rincian mengenai bagaimana pewarisan kelas bekerja dalam C# dan menjelaskan bagaimana cara menurunkan kelas-kelas baru C# dari kelaskelas yang ada. Modul ini menjelaskan bagaimana cara menggunakan tipe-tipe method virtual, override, dan new. Modul ini juga menjelaskan kelas sealed, dan kemudian menjelaskan konsep interface. Mahasiswa akan mempelajari bagaimana cara mendeklarasikan sebuah interface dan bagaimana cara mengimplementasikan dua tipe dari method interface. Sebagai penutup, modul ini memperkenalkan kelas abstrak dan membahas bagaimana cara mengimplementasikan kelas dan method abstrak dalam sebuah hirarki kelas. 8. Ujian Tengah Semester 9. Operator, Delegate, Properties, Indexer, dan Event Handling 3 Modul ini mencakup berbagai area fungsionalitas yang sangat berguna yang dapat diimplementasikan didalam sebuah kelas; namely, operators, delegates, dan events. Setelah itu modul ini juga menjelaskan properties dan indexers, seperti penggunaannya dalam interfaces atau penggunaannya dengan modifier virtual, abstract, override, dan kata kunci new 10. Data Structure dan Akses Data Berbasis Object Memperkenalkan model data struktur yang meliputi array, koleksi, dan juga berbagai pustaka-pustaka yang terkait dengan struktur data berbasis Objek 11. C# Creational Patterns Menjelaskan berbagai pola pengkodean C# berbasis Design Patterns dan SOLID 12. C# Structural Design Patterns Menjelaskan berbagai pola pengkodean C# berbasis Design Patterns dan SOLID 13. C# Behavioral Design Patterns Menjelaskan berbagai pola pengkodean C# berbasis Design Patterns dan SOLID 14. Object Oriented Analysis and Design (OOAD) Modul ini secara intens melakukan studi kasus untuk pengembangan dengan melakukan analisis berbasis OOAD 15. Diskusi Aplikasi Pada modul ini dilakukan disksusi interaktif mengenai aplikasi-aplikasi Berorientasi OO yang diimplementasikan di industri serta mendemokan karya-karya mahasiswa 16 9. Ujian Akhir Semester Evaluasi yang direncanakan 4 Untuk mengetahui hasil pembelajaran, akan dilakukan beberapa evaluasi sebagai berikut. a. Kuis b. Pemberian tugas c. Presentasi d. Ujian Tengah Semester e. Ujian Akhir Semester Kriteria asesmen • Asesmen formatif dilakukan melalui pemberian kuis dan tugas, pengolahan secara PAP. • Asesmen sumatif dilakukan melalui Ujian Tengah Semester dan Ujian Akhir Semester. Ujian tengah semester akan dilakukan dengan mode buku tertutup dan ujian akhir semester akan dikerjakan dengan mode buku terbuka, pengolahan secara PAN. • Nilai total akan diperoleh dari gabungan tiga komponen, yaitu nilai tugas (termasuk kuis dan presentasi), UTS, dan UAS. Komponen Assessment Bobot (%) Tes Sumatif Ujian Akhir Semester (UAS) 25 Tes Sumatif Ujian Tengah Semester (UTS) 25 Tugas Proyek Kelompok 30 Kuis 10 Diskusi online 10 Total bobot 100 Pengolahan hasil penilaian berdasarkan Penilaian Acuan Patokan (PAP): Nilai Total Setelah Dibobotkan Nilai Nilai 90 A 90 Nilai 80 A- 80 Nilai 75 B+ 75 Nilai 70 B 70 Nilai 65 B- 65 Nilai 60 B/C 60 > Nilai 50 C 50 Nilai 40 D Nilai < 40 E 5 10. Bahan, sumber informasi, dan referensi [1] [2] [3] [4] [5] 11. D. Clark, Beginning C# Object-Oriented Programming, Second Edition. APress, 2013. B. M. Harwani, Learning Object-Oriented Programming in C# 5.0. Course Technology PTR, 2014. G. M. Hall, Adaptive Code via C#: Agile coding with design patterns and SOLID principles. Microsoft Press, 2014. R. Ferdiana, Membangun Aplikasi Smart Client Dengan Visual C# Dan Visual Web Developer Express. Penerbit Andi, 2007. J. Bishop, C# 3.0 Design Patterns. O’Reilly Media, Inc., 2007. Rencana Kegiatan Pembelajaran Mingguan (RKPM) 6 Rencana Kegiatan Pembelajaran Mingguan (RKPM) Web4 Soal-tugas Audio/Video Animasi Topik (pokok, sub pokok bahasan, alokasi waktu) Presentasi Tujuan Ajar/ Keluaran/ Indikator Teks Pertemuan ke Media Ajar1 Metode Evaluasi dan Penilaian2 Metode Ajar (STAR)3 Aktivitas Mahasiswa 1 Mahasiswa dapat mempelajari elemenelemen penting dari sebuah kode dan faedah OO seperti natural thinking, reliable, maintenable, dsb. Ikhtisar Pemogramaan Berorientasi Objek V V V Mahasiswa berdiskusi 1Masing-masing Membaca dan mempelajar i diktat kuliah, bahan bacaan wajib dan penunjang Mahasiswa berkelompo k dan berdiskusi Unduh bahan ajar pendukung setelah kuliah melalui web elearning Aktivitas Dosen Menjelaskan materi Memberikan materi untuk diskusi Memandu diskusi dan menjelaskan di depan kelas Memberikan tugas Sumber Ajar [1] media ajar disertakan dalam bentuk handout setiap minggu/pertemuan. mahasiswa dapat berupa: Kuis, Tugas, Self-Test, Tes formatif, Tes sumatif. Evaluasi mahasiswa ditujukan untuk mengukur ketercapaian tujuan (pada Kolom 2). 3UGM menggunakan sistem pembelajaran STAR (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 gunakan LMS 2Evaluasi 7 2 Mahasiswa dapat mempelajari elemenelemen penting dari sebuah kode dan faedah OO seperti natural thinking, reliable, maintenable, dsb. Pilar-Pilar OO V V V V Menyelesaikan Kursus Digital Literacy Mahasiswa berdiskusi 3 Mahasiswa dapat mempelajari elemenelemen penting dari sebuah kode dan faedah OO seperti natural thinking, reliable, maintenable, dsb. Introduksi Bahasa Pemograman V V V Mahasiswa berdiskusi 8 Membaca dan mempelajar i diktat kuliah, bahan bacaan wajib dan penunjang Unduh bahan ajar pendukung setelah kuliah melalui web elearning Membaca dan mempelajar i diktat kuliah, bahan bacaan wajib dan penunjang Mahasiswa berkelompo k dan berdiskusi Unduh bahan ajar pendukung setelah kuliah melalui web elearning Menjelaskan materi Memberikan materi untuk diskusi Memandu diskusi dan menjelaskan di depan kelas Memberikan tugas [1] Menjelaskan materi Memberikan materi untuk diskusi Memandu diskusi dan menjelaskan di depan kelas [2] 4 Mahasiswa diharapkan memiliki kemampuan analisis dan merekayasa suatu solusi pemograman dalam konteks OO (Object Oriented). Class dan Object V V V Mahasiswa berdiskusi 5 Mahasiswa diharapkan memiliki kemampuan analisis dan merekayasa suatu solusi pemograman dalam konteks OO (Object Oriented). Metode dan Parameter V V V Mahasiswa berdiskusi 9 Membaca dan mempelajar i diktat kuliah, bahan bacaan wajib dan penunjang Mahasiswa berkelompo k dan berdiskusi Unduh bahan ajar pendukung setelah kuliah melalui web elearning Membaca dan mempelajar i diktat kuliah, bahan bacaan wajib dan penunjang Mahasiswa berkelompo k dan berdiskusi Unduh bahan ajar pendukung setelah kuliah melalui web elearning Menjelaskan materi Memberikan materi untuk diskusi Memandu diskusi dan menjelaskan di depan kelas [2] Menjelaskan materi Memberikan materi untuk diskusi Memandu diskusi dan menjelaskan di depan kelas [2] 5 Mahasiswa diharapkan memiliki kemampuan analisis dan merekayasa suatu solusi pemograman dalam konteks OO (Object Oriented). Object Oriented dengan UML V V Mahasiswa berdiskusi V 7 Mahasiswa diharapkan memiliki kemampuan analisis dan merekayasa suatu solusi pemograman dalam konteks OO (Object Oriented). Pewarisan V V V V Pengumpulan ide desain interaksi dan antarmuka sistem. Mahasiswa berdiskusi dan membentuk kelompok 10 Membaca dan mempelajar i diktat kuliah, bahan bacaan wajib dan penunjang Mahasiswa berkelompo k dan berdiskusi Unduh bahan ajar pendukung setelah kuliah melalui web elearning Membaca dan mempelajar i diktat kuliah, bahan bacaan wajib dan penunjang Mahasiswa berkelompo k dan berdiskusi Unduh bahan ajar pendukung setelah kuliah melalui web elearning Menjelaskan materi Memberikan materi untuk diskusi Memandu diskusi dan menjelaskan di depan kelas [1] Menjelaskan materi Memberikan materi untuk diskusi Memandu diskusi dan menjelaskan di depan kelas Memberikan tugas [2] 8 Evaluasi pemahaman mahasiswa secara komprehensif terhadap materi (seluruh bahan kuliah sejak dari awal) Ujian Tengah Semester (UTS) Tes sumatif V Mahasiswa mengerjakan UTS secara individu di kelas - 9 Mahasiswa diharapkan memiliki kemampuan analisis dan merekayasa suatu solusi pemograman dalam konteks OO (Object Oriented). Operator, Delegate, Properties, Indexer, dan Event Handling V V V Mahasiswa berdiskusi dan membentuk kelompok 11 Membaca dan mempelajar i diktat kuliah, bahan bacaan wajib dan penunjang Mahasiswa berkelompo k dan berdiskusi Unduh bahan ajar pendukung setelah kuliah melalui web elearning Menyiapkan UTS Seluruh bahan kuliah sejak dari awal Menjelaskan materi Memberikan materi untuk diskusi Memandu diskusi dan menjelaskan di depan kelas [3] 10 Mahasiswa dapat menggunakan berbagai perangkat bantu pengembangan dan mengimplementasikan konsep OO dalam pengembangan perangkat lunak. Data Structure dan Akses Data Berbasis Object V V V . Mahasiswa berdiskusi secara kelompok 11 Mahasiswa dapat memilih dan mengaplikasi polapola desain kode berorientasi OO yang terkemas dalam Design patterns. C# Creational Patterns V V V . Mahasiswa berdiskusi secara kelompok 12 Membaca dan mempelajar i diktat kuliah, bahan bacaan wajib dan penunjang Mahasiswa berkelompo k dan berdiskusi Unduh bahan ajar pendukung setelah kuliah melalui web elearning Membaca dan mempelajar i diktat kuliah, bahan bacaan wajib dan penunjang Mahasiswa berkelompo k dan berdiskusi Unduh bahan ajar pendukung setelah kuliah melalui web elearning Menjelaskan materi Memberikan materi untuk diskusi Memandu diskusi dan menjelaskan di depan kelas [4] Menjelaskan materi Memberikan materi untuk diskusi Memandu diskusi dan menjelaskan di depan kelas [5] 12 Mahasiswa dapat memilih dan mengaplikasi polapola desain kode berorientasi OO yang terkemas dalam Design patterns. C# Structural Design Patterns V V V . Mahasiswa berdiskusi secara kelompok 13 Mahasiswa dapat memilih dan mengaplikasi polapola desain kode berorientasi OO yang terkemas dalam Design patterns. C# Behavioral Design Patterns V V V 13 . Mahasiswa berdiskusi Membaca dan mempelajar i diktat kuliah, bahan bacaan wajib dan penunjang Mahasiswa berkelompo k dan berdiskusi Unduh bahan ajar pendukung setelah kuliah melalui web elearning Membaca dan mempelajar i diktat kuliah, bahan bacaan wajib dan penunjang Unduh bahan ajar pendukung setelah kuliah melalui web elearning Menjelaskan materi Memberikan materi untuk diskusi Memandu diskusi dan menjelaskan di depan kelas [5] Menjelaskan materi Memberikan materi untuk diskusi Memandu diskusi dan menjelaskan di depan kelas [5] 14 Mahasiswa dapat menganalisis, merancang, dan mengembangkan perangkat lunak dengan bahasa pemograman OO termasuk di dalamnya konsep OOAD (Object Oriented Analysis and Design) Object Oriented Analysis and Design (OOAD) V V V . Mahasiswa berdiskusi 15 16 Mahasiswa dapat menggunakan berbagai perangkat bantu pengembangan dan mengimplementasikan konsep OO dalam pengembangan perangkat lunak. Evaluasi pemahaman mahasiswa secara komprehensif terhadap materi (seluruh bahan kuliah setelah UTS) Diskusi Aplikasi Ujian Akhir Semester (UAS) V V V V . Tes sumatif V 14 Mahasiswa melakukan presentasi - Membaca dan mempelajar i diktat kuliah, bahan bacaan wajib dan penunjang Unduh bahan ajar pendukung setelah kuliah melalui web elearning Membaca dan mempelajar i diktat kuliah, bahan bacaan wajib dan penunjang Unduh bahan ajar pendukung setelah kuliah melalui web elearning Mahasiswa mengerjakan UAS secara individu di kelas. Menjelaskan materi Memberikan materi untuk diskusi Memandu diskusi dan menjelaskan di depan kelas [1] Memandu diskusi dan menjelaskan di depan kelas [4] Menyiapkan UAS Seluruh bahan kuliah setelah UTS