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