|
|
UNIVERSITAS KLABAT
|
RPS-57202-IFAP274 |
| RENCANA PEMBELAJARAN SEMESTER | ||||||
| MATA KULIAH (MK) | KODE | Rumpun MK | BOBOT (sks) | SEMESTER | Tanggal Penyusunan | |
| Pemrograman Berorientasi Objek/Object Oriented Programming | IFAP274 | Programming Languages | T= 3 | 4 | 21 May 2024 | |
| Pengesahan | Dosen Pengembang RPS | Koordinator RMK | Ka PRODI |
|
George Morris William Tangka |
George Morris William Tangka |
Semmy Wellem Taju, S.Kom., M.S., PhD |
| Capaian Pembelajaran | CPL-PRODI yang dibebankan pada MK | |
| CPL05 | Memiliki pengetahuan yang memadai terkait cara kerja sistem komputer dan mampu menerapkan/menggunakan berbagai algoritma/metode untuk memecahkan masalah pada suatu organisasi. | |
| CPL07 | Menguasai konsep teoritis bidang pengetahuan Ilmu Komputer/Informatika dalam mendesain dan mensimulasikan aplikasi teknologi multi-platform yang relevan dengan kebutuhan industri dan masyarakat. | |
| CPL10 | Kemampuan mengimplementasi kebutuhan computing dengan mempertimbangkan berbagai metode/algoritma yang sesuai. | |
| CPL12 | Kemampuan mendesain, mengimplementasi dan mengevaluasi solusi berbasis computing multi-platform yang memenuhi kebutuhan-kebutuhan computing pada sebuah organisasi. | |
| Capaian Pembelajaran Mata Kuliah (CPMK) | ||
| CPMK14 | Mampu merancang dan mengembangkan aplikasi web front-end dan back-end secara terintegrasi. | |
| CPMK16 | Mampu mengembangkan aplikasi berbasis platform spesifik (mobile, web, desktop, embedded) dengan arsitektur yang tepat. | |
| CPMK22 | Mampu mengimplementasikan solusi komputasi menggunakan bahasa pemrograman dan framework yang sesuai. | |
| Kemampuan akhir tiap tahapan belajar (Sub-CPMK) | ||
| sub.cpmk.IFAP274.CPMK14.1 | Mahasiswa mampu memahami konsep dan teori dasar pemrograman berorientasi objek (OOP) termasuk konsep-konsep seperti kelas, objek, dan pewarisan | |
| sub.cpmk.IFAP274.CPMK14.2 | Mahasiswa mampu memahami cara menyiapkan lingkungan untuk pengembangan OOP di Python menggunakan IDE atau text editor | |
| sub.cpmk.IFAP274.CPMK14.3 | Mahasiswa mampu memahami konsep-konsep dasar seperti fungsi, variabel global dan lokal, serta pewarisan dalam OOP di Python | |
| sub.cpmk.IFAP274.CPMK16.1 | Mahasiswa mampu menjelaskan dan mendemonstrasikan tentang constructor dan destructor untuk membuat dan menghapus objek dalam Python | |
| sub.cpmk.IFAP274.CPMK16.2 | Mahasiswa mampu menjelaskan dan mendemonstrasikan konsep polimorfisme, yaitu kemampuan untuk menggunakan satu metode dengan banyak cara yang berbeda | |
| sub.cpmk.IFAP274.CPMK22.1 | Mahasiswa mampu memahami konsep dari Exception dan Exception Classes di dalam OOP dan penerapannya dalam program menggunakan bahasa pemrograman Python | |
| sub.cpmk.IFAP274.CPMK22.2 | Mahasiswa mampu menjelaskan dan mendemonstrasikan konsep polimorfisme, yaitu kemampuan untuk menggunakan satu metode dengan banyak cara yang berbeda | |
| Korelasi CPMK terhadap Sub-CPMK | ||
| CPMK14 |
sub.cpmk.IFAP274.CPMK14.1 sub.cpmk.IFAP274.CPMK14.2 sub.cpmk.IFAP274.CPMK14.3 |
|
| CPMK16 |
sub.cpmk.IFAP274.CPMK16.1 sub.cpmk.IFAP274.CPMK16.2 |
|
| CPMK22 |
sub.cpmk.IFAP274.CPMK22.1 sub.cpmk.IFAP274.CPMK22.2 |
|
| Deskripsi Singkat MK | Object-oriented programming (OOP) adalah salah satu paradigma dalam pemrograman (cara atau sudut pandang) atau gaya pemrograman (programming style) yang berorientasi pada objek (object) untuk pemodelan pemrograman komputer dengan pengaturan desain perangkat lunak (software) di sekitar objek atau data. Berbeda dengan gaya pemrograman lain yang berfokus pada fungsi dan logika, OOP berfokus pada objek yang memiliki atribut sehingga memungkinkan adanya manipulasi yang dilakukan pengembang, dan cocok untuk pemrograman besar dan kompleks (Python, PHP, Java, C, C++, Javascript, dll). Matakuliah ini berkaitan dengan konsep/pendekatan OOP (OOP approach) lebih mudah untuk perihal pembaruan (update) dan pemeliharaan (maintenance) dari sistem dan pendekatan ini juga mencakup ide meliputi pewarisan atribut (inheritance of attributes) dan metode (methods), polymorphism dan encapsulation. | |
| Bahan Kajian : Materi Pembelajaran | Konsep Dasar OOP, Hubungan OOP dan Data Structure, Konsep Class, Constructors dan Destructors, Object Instatitiate, Abstraction, Polymorphism, Encapsulation, Inheritance, Method Overriding, Method Overloading, Setters and Getters,, Class Assocation | |
| Pustaka | Utama | |
|
||
| Pendukung | ||
|
||
| Dosen Pengampu | Mokodaser, Wilsen, Najoan, Regi, Pungus, Stenly, Raissa Camilla, Taju, Semmy Wellem | |
| Mata Kuliah Syarat | - | |
| Pertemuan Ke | Kemampuan akhir tiap tahapan belajar (Sub-CPMK) | Penilaian | Bentuk Pembelajaran; Metode Pembelajaran; Penugasan Mahasiswa; | Materi Pembelajaran | Bobot Penilaian | ||
|---|---|---|---|---|---|---|---|
| Indikator | Kriteria & Teknik | Luring | Daring | ||||
| 1 | sub.cpmk.IFAP274.CPMK14.1-Mahasiswa mampu memahami konsep dan teori dasar pemrograman berorientasi objek (OOP) termasuk konsep-konsep seperti kelas, objek, dan pewarisan | Ketepatan menjelaskan paradigma procedural dan OOP |
Kriteria Ketepatan menjelaskan paradigma procedural dan OOP Teknik Diskusi dan Quiz |
kehadiran,Ceramah,[CR=180 Menit] |
Topik Introduction to OOP, Sub Topik Software Architecture, Python Overview |
5 | |
| 2 | sub.cpmk.IFAP274.CPMK14.1-Mahasiswa mampu memahami konsep dan teori dasar pemrograman berorientasi objek (OOP) termasuk konsep-konsep seperti kelas, objek, dan pewarisan | Ketepatan membuat class |
Kriteria Program berjalan sesuai desain Teknik Praktik dan Tugas |
kehadiran,Ceramah,[CR=60 Menit] Praktikum,Project Based Learning,[PBL=120 Menit] |
Topik Class, Object, Attributes, Methods Sub Topik Class, Object, Attributes, Methods |
5 | |
| 3 | sub.cpmk.IFAP274.CPMK14.2-Mahasiswa mampu memahami cara menyiapkan lingkungan untuk pengembangan OOP di Python menggunakan IDE atau text editor | Ketepatan melakukan setup environment |
Kriteria Environment berjalan dengan benar Teknik Praktik |
Praktikum,Pembelajaran Mandiri,[PM=180 Menit] |
Topik Python Environment Sub Topik IDE, Virtual Environment |
5 | |
| 4 | sub.cpmk.IFAP274.CPMK14.2-Mahasiswa mampu memahami cara menyiapkan lingkungan untuk pengembangan OOP di Python menggunakan IDE atau text editor | Ketepatan penggunaan constructor |
Kriteria Constructor digunakan sesuai kebutuhan Teknik Praktik |
Praktikum,Blended Learning,[BL=120 Menit] Partisipasi,Diskusi Kelompok,[DK=30 Menit] |
kehadiran,Ceramah,[CR=30 Menit] |
Topik Constructor, Destructor Sub Topik Constructor, Destructor |
5 |
| 5 | sub.cpmk.IFAP274.CPMK14.3-Mahasiswa mampu memahami konsep-konsep dasar seperti fungsi, variabel global dan lokal, serta pewarisan dalam OOP di Python | Ketepatan implementasi inheritance |
Kriteria Coding konsep Parent-child class berjalan benar Teknik Tugas dan Praktik |
Demonstrasi,Blended Learning,[BL=-60 Menit] Tugas,Problem Based Learning,[PBL=60 Menit] |
Praktikum,Pembelajaran Mandiri,[PM=60 Menit] |
Topik Inheritance, Abstraction Sub Topik Inheritance, Abstraction |
5 |
| 6 | sub.cpmk.IFAP274.CPMK14.3-Mahasiswa mampu memahami konsep-konsep dasar seperti fungsi, variabel global dan lokal, serta pewarisan dalam OOP di Python | Ketepatan implementasi polymorphism |
Kriteria Method berjalan sesuai konsep polymorphism Teknik Praktik dan Quiz |
Quiz,Ujian,[UJ=60 Menit] |
kehadiran,Ceramah,[CR=60 Menit] Praktikum,Pembelajaran Mandiri,[PM=55 Menit] |
Topik Encapsulation, Polymorphism Sub Topik Encapsulation, Polymorphism |
5 |
| 7 | sub.cpmk.IFAP274.CPMK16.1-Mahasiswa mampu menjelaskan dan mendemonstrasikan tentang constructor dan destructor untuk membuat dan menghapus objek dalam Python | Ketepatan override method |
Kriteria Coding Method Override berjalan benar Teknik Praktik |
kehadiran,Tanya Jawab,[TN=60 Menit] Tugas,Pembelajaran Mandiri,[PM=120 Menit] |
Topik Method Overriding & Overloading Sub Topik Method Overriding & Overloading |
5 | |
| 8 | sub.cpmk.IFAP274.CPMK16.1-Mahasiswa mampu menjelaskan dan mendemonstrasikan tentang constructor dan destructor untuk membuat dan menghapus objek dalam Python | Ketepatan implementasi konsep OOP |
Kriteria Ketepatan analisis dan interpretasi Teknik Presentasi dan Demonstrasi |
UTS,Project Based Learning,[PBL=180 Menit] |
Topik Mini Project Sub Topik Mini Project |
20 | |
| 9 | sub.cpmk.IFAP274.CPMK16.2-Mahasiswa mampu menjelaskan dan mendemonstrasikan konsep polimorfisme, yaitu kemampuan untuk menggunakan satu metode dengan banyak cara yang berbeda | Ketepatan hubungan antar object |
Kriteria Ketepatan metode atau prosedur penyelesaian Teknik Praktik |
kehadiran,Hybrid Learning,[HL=60 Menit] Praktikum,Small group discussion,[SGD=120 Menit] |
Topik Association, Aggregation Sub Topik Association, Aggregation |
5 | |
| 10 | sub.cpmk.IFAP274.CPMK16.2-Mahasiswa mampu menjelaskan dan mendemonstrasikan konsep polimorfisme, yaitu kemampuan untuk menggunakan satu metode dengan banyak cara yang berbeda | Struktur modular berjalan baik |
Kriteria Ketepatan konsep atau teori yang digunakan Teknik Praktik |
Demonstrasi,Project Based Learning,[PBL=180 Menit] |
Topik Composition Sub Topik Composition |
5 | |
| 11 | sub.cpmk.IFAP274.CPMK16.1-Mahasiswa mampu menjelaskan dan mendemonstrasikan tentang constructor dan destructor untuk membuat dan menghapus objek dalam Python | File handling berjalan baik |
Kriteria Kesesuaian output dengan spesifikasi yang diminta Teknik Praktik |
Ujian,Presentasi Mahasiswa,[PMA=180 Menit] |
Topik File Handling, Serialization Sub Topik File Handling, Serialization |
5 | |
| 12 | sub.cpmk.IFAP274.CPMK16.2-Mahasiswa mampu menjelaskan dan mendemonstrasikan konsep polimorfisme, yaitu kemampuan untuk menggunakan satu metode dengan banyak cara yang berbeda | Program mampu menangani error |
Kriteria Ketepatan analisis dan interpretasi Teknik Praktik |
Demonstrasi,Studi Kasus,[SK=180 Menit] |
Topik Exception Handling Sub Topik Exception Handling |
5 | |
| 13 | sub.cpmk.IFAP274.CPMK22.2-Mahasiswa mampu menjelaskan dan mendemonstrasikan konsep polimorfisme, yaitu kemampuan untuk menggunakan satu metode dengan banyak cara yang berbeda | Framework berjalan sesuai fungsi |
Kriteria Ketepatan konsep atau teori yang digunakan Teknik Praktik dan Presentasi |
kehadiran,Diskusi Kelompok,[DK=60 Menit] Presentasi,Presentasi Mahasiswa,[PMA=120 Menit] |
Topik Framework Integration Sub Topik Framework Integration |
5 | |
| 14 | sub.cpmk.IFAP274.CPMK22.1-Mahasiswa mampu memahami konsep dari Exception dan Exception Classes di dalam OOP dan penerapannya dalam program menggunakan bahasa pemrograman Python | Framework berjalan sesuai fungsi |
Kriteria Kesesuaian output dengan spesifikasi yang diminta Teknik Praktik dan Presentasi |
UAS,Project Based Learning,[PBL=180 Menit] |
Topik Framework Integration Sub Topik Framework Integration |
20 | |
| CPL | MK | CPMK | Kehadiran | Praktek | Latihan | Quiz | Tugas | Mid Test (UTS) | Ujian | Final Test (UAS) |
|---|---|---|---|---|---|---|---|---|---|---|
| CPL07 | Pemrograman Berorientasi Objek/Object Oriented Programming | CPMK14 | Y | Y | ||||||
| CPL07 | Pemrograman Berorientasi Objek/Object Oriented Programming | CPMK16 | Y | Y | Y | Y | Y | |||
| CPL10 | Pemrograman Berorientasi Objek/Object Oriented Programming | CPMK22 | Y | Y | Y | Y |
| CPL | CPMK | Sub-CPMK | Detail Penugasan (Teknik Penilaian) | Bobot % | Kriteria Penilaian |
|---|---|---|---|---|---|
| CPL07 | CPMK16 | sub.cpmk.IFAP274.CPMK14.1 | Diskusi dan Quiz | 5 | Ketepatan menjelaskan paradigma procedural dan OOP |
| CPL07 | CPMK14 | sub.cpmk.IFAP274.CPMK14.1 | Praktik dan Tugas | 5 | Program berjalan sesuai desain |
| CPL10 | CPMK22 | sub.cpmk.IFAP274.CPMK14.2 | Praktik | 5 | Environment berjalan dengan benar |
| CPL10 | CPMK22 | sub.cpmk.IFAP274.CPMK14.2 | Praktik | 5 | Constructor digunakan sesuai kebutuhan |
| CPL07 | CPMK16 | sub.cpmk.IFAP274.CPMK14.3 | Tugas dan Praktik | 5 | Coding konsep Parent-child class berjalan benar |
| CPL07 | CPMK16 | sub.cpmk.IFAP274.CPMK14.3 | Praktik dan Quiz | 5 | Method berjalan sesuai konsep polymorphism |
| CPL07 | CPMK16 | sub.cpmk.IFAP274.CPMK16.1 | Praktik | 5 | Coding Method Override berjalan benar |
| CPL07 | CPMK16 | sub.cpmk.IFAP274.CPMK16.1 | Presentasi dan Demonstrasi | 20 | Ketepatan analisis dan interpretasi |
| CPL07 | CPMK16 | sub.cpmk.IFAP274.CPMK16.2 | Praktik | 5 | Ketepatan metode atau prosedur penyelesaian |
| CPL07 | CPMK16 | sub.cpmk.IFAP274.CPMK16.2 | Praktik | 5 | Ketepatan konsep atau teori yang digunakan |
| CPL10 | CPMK22 | sub.cpmk.IFAP274.CPMK16.1 | Praktik | 5 | Kesesuaian output dengan spesifikasi yang diminta |
| CPL10 | CPMK22 | sub.cpmk.IFAP274.CPMK16.2 | Praktik | 5 | Ketepatan analisis dan interpretasi |
| CPL10 | CPMK22 | sub.cpmk.IFAP274.CPMK22.2 | Praktik dan Presentasi | 5 | Ketepatan konsep atau teori yang digunakan |
| CPL07 | CPMK14 | sub.cpmk.IFAP274.CPMK22.1 | Praktik dan Presentasi | 20 | Kesesuaian output dengan spesifikasi yang diminta |
| Total | 100 | ||||
| CPL | MK | CPMK | Kehadiran | Praktek | Latihan | Quiz | Tugas | Mid Test (UTS) | Ujian | Final Test (UAS) | Total |
|---|---|---|---|---|---|---|---|---|---|---|---|
| CPL07 | Pemrograman Berorientasi Objek/Object Oriented Programming | CPMK14 | 0% | 5% | 0% | 0% | 0% | 0% | 0% | 20% | 25% |
| CPL07 | Pemrograman Berorientasi Objek/Object Oriented Programming | CPMK16 | 5% | 10% | 0% | 5% | 10% | 20% | 0% | 0% | 50% |
| CPL10 | Pemrograman Berorientasi Objek/Object Oriented Programming | CPMK22 | 10% | 5% | 5% | 0% | 0% | 0% | 5% | 0% | 25% |
| 100% | |||||||||||