RENCANA PEMBELAJARAN SEMESTER
(RPS)
CSG2H3
PEMROGRAMAN BERORIENTASI OBJEK
Disusun oleh:
Tim Dosen Pemrograman Berorientasi Objek
PROGRAM STUDI S1 TEKNIK INFORMATIKA
FAKULTAS INFORMATIKA
ii
LEMBAR PENGESAHAN
Rencana Pembelajaran Semester (RPS) ini telah disahkan untuk mata kuliah sbb:
Kode Mata Kuliah
:
CSG2H3
Nama Mata Kuliah
:
Pemrograman Berorientasi Objek
Bandung, 2015
Mengetahui Menyetujui
Kaprodi S1 Teknik Informatika Ketua KK <Nama KK>
iii
DAFTAR ISI
LEMBAR PENGESAHAN ... ii
DAFTAR ISI ... iii
A. PROFIL MATA KULIAH... 1
B. RENCANA PEMBELAJARAN SEMESTER (RPS) ... 2
C. RANCANGAN INTERAKSI DOSEN–MAHASISWA ... 9
D. RANCANGAN TUGAS ... 10
E. PENILAIAN DENGAN RUBRIK ... 10
1
A. PROFIL MATA KULIAH
IDENTITAS MATA KULIAH
Nama Mata Kuliah : Pemrograman Berorientasi Objek Kode Mata Kuliah : CSG2H3
SKS : 3
Jenis : Wajib
Jam pelaksanaan : Tatap muka di kelas = 3 jam per minggu
Tutorial / responsi =1 jam per minggu Semester / Tingkat : 4 (empat) / 2 (dua)
Pre-requisite : Algoritma & Pemrograman, Struktur Data
Co-requisite :
Bidang Kajian :
DESKRIPSI SINGKAT MATA KULIAH
Mata kuliah ini mempelajari konsep-konsep dasar pada object oriented programming (OOP), seperti
class – object, encapsulation, inheritance, polymorphism, interface, abstract class. Secara spesifik
konsep tersebut akan dipelajari dengan bantuan bahasa pemrograman Java. Selain konsep-konsep dasar OOP, pada mata kuliah ini juga akan dipelajari konsep-konsep exception handling,
multithreading, object persistence, berbagai Collection, Java API, database connection, GUI
(Graphical User Interface), serta deployment.
DAFTAR PUSTAKA
1. Head First Java, 2nd edition, 2008, Bert Bates and Kathy Sierra, O'Reilly
2. Java™ How to Program, 9th, 2012, Prentice Hall
3. Head First Object Oriented Design and Analysis, 1st edition, 2006, Brett D. McLaughlin, Gary Pollice, David West, O'Reilly Media
2
B. RENCANA PEMBELAJARAN SEMESTER (RPS)
Pertemuan
ke- Kemampuan Akhir yang Diharapkan Bahan Kajian (Materi Ajar)
Bentuk/ Metode/ Strategi Pembelajaran Kriteria Penilaian (Indikator) Bobot Nilai
1 Mahasiswa mengetahui sejarah OOP.
Mahasiswa memahami perlunya OOP untuk menyelesaikan permasalahan, yang kurang tepat jika procedural oriented diterapkan. Mahasiswa mengetahui bahasa
pemrograman Java yang akan digunakan untuk mempelajari OOP.
Course Introduction
OOP history
compare procedural and
oop by giving a simple case study
Introduction to java
Ceramah -
2,3 Mahasiswa memahami perbedaan antara kelas dan object.
Mahasiswa mampu membuat kelas (sederhana) dan object dalam bahasa Java.
Mahasiswa memahami penggunaan serta dapat membuat program sederhana menggunakan tipe primitif, array, keyword, reference variable, deklarasi dan assignment objek,
Mahasiswa memahami dan mengimplementasikan dalam prograam tentang siklus objek (penggunaan constructor dan garbage collector)
Classes and object
The difference between
class and object, by giving some examples
making a simple first object
(Fokus: first programming with java)
Primitive and reference:
Type, keywords, reference variable, object declaration & assignment, objects in garbage collector, arrays
Object cycle: life and death
Constructor & Garbage
Ceramah
Demo
3
Pertemuan
ke- Kemampuan Akhir yang Diharapkan Bahan Kajian (Materi Ajar)
Bentuk/ Metode/ Strategi Pembelajaran Kriteria Penilaian (Indikator) Bobot Nilai collector
4 Mahasiswa memahami makna dan
perlunya enkapsulasi.
Mahasiswa memahami dan dapat mengimplementasikan enkapsulasi dalam suatu program sederhana.
Encapsulation
Why do we need encapsulation?
Object state
Instance variable vs local variables
Methods argument & return type
Pass by value
Getters and setters
Sample class diagram representing encapsulation
Ceramah
Demo
practice
5,6 Mahasiswa memahami diagram kelas beserta makna simbol relasi yang terdap at pada diagram kelas.
Class relationship (class diagram)
association, aggregation, composition
Example: simple class diagram & code in java related
*) Hanya mengenalkan saja,
karena nantinya satu persatu relasi yg ada pada diagram kelas akan dibutuhkan saat Ceramah Demo practice Ketepatan dalam mengimplementasikan class diagram ke dalam kode program
4
Pertemuan
ke- Kemampuan Akhir yang Diharapkan Bahan Kajian (Materi Ajar)
Bentuk/ Metode/ Strategi Pembelajaran Kriteria Penilaian (Indikator) Bobot Nilai menjelaskan materi inheritance, polimorfisme, kelas abstrak, interface
7,8 Mahasiswa memahami makna dan perlunya inheritance dan
4olymorphism.
Mahasiswa memahami dan dapat mengimplementasikan inheritance dan 4olymorphism dalam suatu program sederhana.
Inheritance & polymorphism
Why do we need inheritance & polymorphism?
How inheritance promotes software reusability
Designing for inheritance
Superclass and subclass relationship & access modifier
Method Overriding
Polymorphism: in object declaration & assignment, in method argument & return type
Method overloading
Constructor overloading (revisited) & superclass constructor
Calls to super(), this ()
Sample class diagram representing inheritance & polymorphism
Ceramah
Demo
Practice
5
Pertemuan
ke- Kemampuan Akhir yang Diharapkan Bahan Kajian (Materi Ajar)
Bentuk/ Metode/ Strategi Pembelajaran Kriteria Penilaian (Indikator) Bobot Nilai
mengimplementasikan interface dan abstract classess dalam suatu program sederhana.
Why do we need abstract classes? Abstract vs concrete class
Abstract classess and methods
Overloading and overriding (revisited)
Casting
Why do we need interface?
Interface: making & using
Sample class diagram representing interface & abstract class
Demo
Practice
mengimplementasikan class diagram ke dalam kode program
11 Mahasiswa memahami perlunya dan mengimplementasikan static & final variabel dan method dalam suatu program sederhana.
Static & final method & variables
Static method
Static variable
Constants (static final
variable)
Final method & class Wrapper classes &
autoboxing
Static imports
Example: Math class
Instance variable vs static
variable
Ceramah
6
Pertemuan
ke- Kemampuan Akhir yang Diharapkan Bahan Kajian (Materi Ajar)
Bentuk/ Metode/ Strategi Pembelajaran Kriteria Penilaian (Indikator) Bobot Nilai
UJIAN TENGAH SEMESTER (UTS) 30%
12 Mahasiswa mampu memahami dan
menggunakan Exception Handling. Mahasiswa dapat membuat kelas
Exception sendiri. Exception handling Exception as an object try-catch throws Try-catch- finally Multiple exception Polymorphism in exception
Making your own exception
Ceramah
Demo
13 Mahasiswa mampu memahami dan
mengimplementasikan Persistensi Objek dalam file.
Object Persistence
Saving object state
Writing a serialized object to a file Object serialization (serializable interface) Deserializing an object Ceramah Demo Practice Ketepatan penggambaran dari: - Flowchart aplikasi - Desain class diagram - Desain ER diagram 10%
14 Mahasiswa mampu memahami dan
mengimplementasikan konsep sinkronisasi menggunakan thread
Multithreading
Launching new thread
Runnable interface
Thread' state
Runnable - running loop
Thread scheduler
Making and starting two thread
Locking object
Synchronized method using
Ceramah
Demo
7
Pertemuan
ke- Kemampuan Akhir yang Diharapkan Bahan Kajian (Materi Ajar)
Bentuk/ Metode/ Strategi Pembelajaran Kriteria Penilaian (Indikator) Bobot Nilai a lock deadlock
15 Mahasiswa mampu menggunakan Java
API untuk membantu membuat aplikasi.
Using java library (java API)
How to use it
Simple example
Ceramah
Demo
16 Mahasiswa mampu menggunakan
struktur data yang telah terdefinisi dalam Collections untuk membuat aplikasi
Collections
Interface Collection and class Collections
Type wrapper classess for primitive types
Autoboxing and auto-unboxing
List: ArrayList - Iterator, LinkedList Stack Sets Maps Ceramah Demo Practice
17 Mahasiswa mampu membuat koneksi
dari aplikasi berbasis java ke DBMS
Making connection with database JDBC Oracle/mysql (?) Ceramah Demo Practice Ketepatan dalam mengimplementasikan: - Desain class diagram ke dalam kode program - Fungsionalitas
utama dari aplikasi
10%
18-20 Mahasiswa mampu membuat aplikasi berbasis GUI/Swing.
GUI & SWING
User event
Ceramah
8
Pertemuan
ke- Kemampuan Akhir yang Diharapkan Bahan Kajian (Materi Ajar)
Bentuk/ Metode/ Strategi Pembelajaran Kriteria Penilaian (Indikator) Bobot Nilai Listener interface Action event Inner class Swing component Practice
21 Mahasiswa mampu mengorganisasikan dan men-deploy aplikasi
Deployment
Separate source code and class files
Making an executable JAR
Running an executable JAR
Package
Ceramah
Demo
Hasil akhir proyek aplikasi dapat memenuhi kriteria: - Sesuai antara perancangan dan implementasi kode program - Tidak ada bug/error pada aplikasi - Semua fungsionalitas aplikasi berjalan 20% UAS
9
C. RANCANGAN INTERAKSI DOSEN–MAHASISWA
Kemampuan Akhir yang Diharapkan Mahasiswa mampu mengidentifikasi dan menjelaskan kembali materi yang diberikan
Nama Kajian 1. Course Introduction
2. Classes and object
3. Encapsulation
4. Class relationship (class diagram)
5. Inheritance & polymorphism
6. Interface & abstract classes
7. Static & final method & variables
8. Exception handling
9. Object Persistence
10. Multithreading
11. Using java library (java API)
12. Collections
13. Making connection with database
14. GUI & SWING
15. Deployment
Nama Strategi Ceramah
Minggu Penggunaan Strategi (Metode) 1-14 Deskripsi Singkat Strategi (Metode)
pembelajaran
Dosen mengulas materi sebelumnya, menjelaskan tujuan, hasil pembelajaran, materi, dan kesimpulan, serta mendorong mahasiswa untuk aktif bertanya dan
mengemukakan pendapat terkait materi yang disampaikan.
RANCANGAN INTERAKSI DOSEN–MAHASISWA
Aktivitas Dosen Aktivitas Mahasiswa
Mengulas materi yang telah diberikan pada pertemuan sebelumnya (untuk pertemuan 2 dst)
Mengungkapkan apa yang telah dipahami dari materi yang telah disampaikan pada
pertemuan sebelumnya. Menjelaskan tentang tujuan
pembelajaran dari kegiatan pembelajaran
Menyimak penjelasan dosen. Mengarahkan mahasiswa untuk
melibatkan diri dan aktif dalam kegiatan pembelajaran
Menyiapkan diri menerima materi yang akan disampaikan.
Membahas materi Menyimak dan mencatat hal-hal penting dari
materi yang disampaikan oleh dosen.
Bertanya apabila ada materi yang kurang jelas.
Mengajukan sejumlah pertanyaan
terkait materi yang telah diberikan
Menjawab pertanyaan yang diberikan.
10
D. RANCANGAN TUGAS
Kode mata Kuliah CSG2H3
Nama Mata Kuliah Pemrograman Berorientasi Obyek
Kemampuan Akhir yang Diharapkan Mahasiswa mampu untuk mengimplementasikan konsep yang disampaikan di kelas ke dalam kode program Minggu/Pertemuan ke 3 & 5
Tugas ke 1 & 2
1. Tujuan tugas:
Mahasiswa mampu mengimplementasikan konsep yang disampaikan di kelas ke dalam kode program
2. Uraian Tugas:
a. Obyek garapan: Desain class diagram b. Yang harus dikerjakan dan batasan-batasan:
Mengimplementasikan class diagram yang diberikan c. Metode/ cara pengerjaan, acuan yang digunakan:
Membuat kode program berdasarkan class diagram yang diberikan. Referensi pengerjaan:
a. Head First Java, 2nd edition, 2008, Bert Bates and Kathy Sierra, O'Reilly b. Java™ How to Program, 9th, 2012, Prentice Hall
c. Head First Object Oriented Design and Analysis, 1st edition, 2006, Brett D. McLaughlin, Gary Pollice, David West, O'Reilly Media
d. Deskripsi luaran tugas yang dihasilkan/ dikerjakan: Aplikasi sederhana
3. Kriteria penilaian:
Kesesuaian implementasi program dengan class diagram Semua fungsionalitas yang disyaratkan dapat berjalan Alur program sesuai dengan persyaratan
Kode mata Kuliah CSG2H3
Nama Mata Kuliah Pemrograman Berorientasi Obyek
Kemampuan Akhir yang Diharapkan Mahasiswa mampu membuat aplikasi menggunakan konsep pemrograman berorientasi obyek
Minggu/Pertemuan ke 7-14
Tugas ke 3
4. Tujuan tugas:
a. Mahasiswa mampu merancang aplikasi menggunakan konsep berorientasi obyek b. Mahasiswa mampu mengimplementasikan rancangan class diagram ke dalam kode
program
11
persyaratan yang diharapkan 5. Uraian Tugas:
e. Obyek garapan: Proyek aplikasi
f. Yang harus dikerjakan dan batasan-batasan:
Merancang class diagram, flowchart aplikasi dan ER diagram (basis data)
Mengimplementasikan class diagram ke dalam kode program
Mengimplementasikan flowchart ke dalam fungsionalitas aplikasi
Membuat aplikasi dengan antarmuka tampilan GUI (Graphical User Interface) g. Metode/ cara pengerjaan, acuan yang digunakan:
Merancang aplikasi dan membangun kode program aplikasi berdasarkan class diagram yang dirancang. Referensi pengerjaan:
d. Head First Java, 2nd edition, 2008, Bert Bates and Kathy Sierra, O'Reilly e. Java™ How to Program, 9th, 2012, Prentice Hall
f. Head First Object Oriented Design and Analysis, 1st edition, 2006, Brett D. McLaughlin, Gary Pollice, David West, O'Reilly Media
h. Deskripsi luaran tugas yang dihasilkan/ dikerjakan:
- Dokumen laporan akhir aplikasi yang berisi rancangan seluruh aplikasi dan dokumentasi aplikasi
- Kode program dan aplikasi akhir
6. Kriteria penilaian:
Penilaian tugas dibagi menjadi 3 tahap, dengan detail sebagai berikut. 1. Tahap 1
a. Bisnis proses yang menggambarkan kerja aplikasi secara umum
b. Perancangan kelas (termasuk interface dan abstract class jika ada) lengkap dengan atribut dan method sesuai dengan spesifikasi yang diberikan
c. Perancangan relasi antar kelas d. Perancangan relasi tabel di database 2. Tahap 2
a. Implementasi dari rancangan kelas dan basis data yang sudah dibuat ke dalam bahasa pemrograman sesuai dengan kaidah-kaidah PBO
b. Program sudah mampu menjalankan fungsionalitas utama sesuai spesifikasi yang diberikan
c. Program sudah mampu melakukan koneksi ke data base dan melakukan operasi dasar, seperti select, insert, update, dan delete
3. Tahap 3:
Fokus pekerjaan: finalisasi program menggunakan GUI dan siap digunakan Persentase penilaian: 40%
Waktu penilaian: 3 minggu setelah tahap 2 Parameter penilaian:
a. Laporan akhir dari tahap 1 sampai 3
b. Perancangan skenario pengujian program / aplikasi
c. Kebenaran implementasi program dengan menggunakan kaidah-kaidah PBO sesuai dengan spesifikasi yang diberikan
d. Kesesuaian alur penggunaan program dengan bisnis proses yang telah dibangun e. Bug / error pada program disesuaikan dengan rancangan skenario pengujian
12
f. Bonus (dengan tambahan sesuai kebijakan dosen masing-masing): - Kualitas tampilan GUI dengan berdasarkan kaidah IMK / HCI
- Menggunakan konsep MVC / design pattern yang tidak diajarkan di kelas
E. PENILAIAN DENGAN RUBRIK
Jenjang
(Grade) Angka (Skor) Deskripsi perilaku (Indikator)
A 80 < NSM
- Mampu merancang aplikasi berdasarkan kasus yang diberikan
- Mampu mengimplementasikan rancangan aplikasi ke dalam kode program
- Mampu membangun aplikasi lengkap dengan basis data dan antarmuka GUI menggunakan pendekatan berorientasi obyek
- Mampu menjelaskan konsep pemrograman berorientasi obyek
AB 70 < NSM ≤ 80
- Mampu merancang aplikasi berdasarkan kasus yang diberikan
- Mampu mengimplementasikan rancangan aplikasi ke dalam kode program
- Mampu membangun aplikasi lengkap dengan basis data dan antarmuka GUI menggunakan pendekatan berorientasi obyek
- Mampu menjelaskan konsep pemrograman berorientasi obyek
B 65 < NSM ≤ 70
- Mampu merancang aplikasi berdasarkan kasus yang diberikan
- Mampu mengimplementasikan rancangan aplikasi ke dalam kode program
- Mampu membangun aplikasi lengkap dengan basis data menggunakan pendekatan berorientasi obyek - Mampu menjelaskan konsep pemrograman
berorientasi obyek
BC 60 < NSM ≤ 65
- Mampu merancang aplikasi berdasarkan kasus yang diberikan
- Mampu mengimplementasikan rancangan aplikasi ke dalam kode program
- Mampu membangun aplikasi lengkap dengan basis data menggunakan pendekatan berorientasi obyek
13
- Mampu menjelaskan konsep pemrograman berorientasi obyek
C 50 < NSM ≤ 60
- Mampu merancang aplikasi berdasarkan kasus yang diberikan
- Mampu mengimplementasikan rancangan aplikasi ke dalam kode program
- Mampu menjelaskan konsep pemrograman berorientasi obyek
D 40 < NSM ≤ 50 - Mampu menjelaskan konsep pemrograman
berorientasi obyek
E NSM ≤ 40 -
F. PERSENTASE KOMPONEN PENILAIAN
1. Kuis : 10%
2. Tugas Besar : 20%
3. UTS : 30%
4. UAS : 40%
G. PENENTUAN NILAI AKHIR MATA KULIAH
Nilai Skor Matakuliah (NSM) Nilai Mata Kuliah (NMK)
80 < NSM A 70 < NSM ≤ 80 AB 65 < NSM ≤ 70 B 60 < NSM ≤ 65 BC 50 < NSM ≤ 60 C 40 < NSM ≤ 50 D NSM ≤ 40 E