(RPS)
CSG2H3
PEMROGRAMAN BERORIENTASI OBJEK
Disusun oleh:
Tim Dosen Pemrograman Berorientasi Objek
TELKOM UNIVERSITY
LEMBAR PENGESAHAN
Rencana Pembelajaran Semester (RPS) ini telah disahkan untuk mata kuliah sbb:
Bandung, 2015
Mengetahui Menyetujui
Kaprodi S1 Teknik Informatika Ketua KK <Nama KK>
ii
DAFTAR ISI
LEMBAR PENGESAHAN..............................................................................................................................ii
iii
A. PROFIL MATA KULIAH
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
1
B. RENCANA PEMBELAJARAN SEMESTER (RPS)
Bentuk/
Pertemuan Metode/ Kriteria Penilaian Bobot
Kemampuan Akhir yang Diharapkan Bahan Kajian (Materi Ajar)
ke- Strategi (Indikator) Nilai
Pembelajaran
1 Mahasiswa mengetahui sejarah Course Introduction Ceramah -
OOP. OOP history
Mahasiswa memahami perlunya compare procedural and
OOP untuk menyelesaikan oop by giving a simple case
permasalahan, yang kurang tepat study
jika procedural oriented diterapkan. Introduction to java
Mahasiswa mengetahui bahasa
pemrograman Java yang akan
digunakan untuk mempelajari OOP.
2,3 Mahasiswa memahami perbedaan Classes and object Ceramah -
antara kelas dan object. The difference between Demo
Mahasiswa mampu membuat kelas class and object, by giving
(sederhana) dan object dalam some examples
bahasa Java. making a simple first object
Mahasiswa memahami penggunaan (Fokus: first programming
serta dapat membuat program with java)
sederhana menggunakan tipe
primitif, array, keyword, reference Primitive and reference:
variable, deklarasi dan assignment Type, keywords, reference
objek, variable, object declaration
Mahasiswa memahami dan & assignment, objects in
mengimplementasikan dalam garbage collector, arrays
prograam tentang siklus objek
(penggunaan constructor dan Object cycle: life and death
garbage collector) Constructor & Garbage
2
Bentuk/
Pertemuan Metode/ Kriteria Penilaian Bobot
Kemampuan Akhir yang Diharapkan Bahan Kajian (Materi Ajar)
ke- Strategi (Indikator) Nilai
Pembelajaran
collector
5,6 Mahasiswa memahami diagram kelas Class relationship (class Ceramah Ketepatan dalam 15%
beserta makna simbol relasi yang terdap diagram) Demo mengimplementasikan
at pada diagram kelas. association, aggregation, practice class diagram ke dalam
composition kode program
Example: simple class
diagram & code in java
related
3
Bentuk/
Pertemuan Metode/ Kriteria Penilaian Bobot
Kemampuan Akhir yang Diharapkan Bahan Kajian (Materi Ajar)
ke- Strategi (Indikator) Nilai
Pembelajaran
menjelaskan materi
inheritance, polimorfisme,
kelas abstrak, interface
7,8 Mahasiswa memahami makna dan Inheritance & polymorphism Ceramah
perlunya inheritance dan Why do we need Demo
4olymorphism. inheritance & Practice
Mahasiswa memahami dan dapat polymorphism?
mengimplementasikan inheritance How inheritance promotes
dan 4olymorphism dalam suatu software reusability
program sederhana. 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
9,10 Mahasiswa memahami perlunya dan Interface & abstract classes Ceramah Ketepatan dalam 15%
4
Bentuk/
Pertemuan Metode/ Kriteria Penilaian Bobot
Kemampuan Akhir yang Diharapkan Bahan Kajian (Materi Ajar)
ke- Strategi (Indikator) Nilai
Pembelajaran
mengimplementasikan interface dan Why do we need abstract Demo mengimplementasikan
abstract classess dalam suatu program classes? Abstract vs Practice class diagram ke dalam
sederhana. concrete class kode program
Abstract classess and
methods
Overloading and overriding
(revisited)
Casting
Why do we need interface?
Interface: making & using
Sample class diagram
representing interface &
abstract class
11 Mahasiswa memahami perlunya dan Static & final method & Ceramah
mengimplementasikan static & final variables Demo
variabel dan method dalam suatu Static method
program sederhana. Static variable
Constants (static final
variable)
Final method & class
Wrapper classes &
autoboxing
Static imports
Example: Math class
Instance variable vs static
variable
5
Bentuk/
Pertemuan Metode/ Kriteria Penilaian Bobot
Kemampuan Akhir yang Diharapkan Bahan Kajian (Materi Ajar)
ke- Strategi (Indikator) Nilai
Pembelajaran
UJIAN TENGAH SEMESTER (UTS) 30%
12 Mahasiswa mampu memahami dan Exception handling Ceramah
menggunakan Exception Handling. Exception as an object Demo
Mahasiswa dapat membuat kelas try-catch
Exception sendiri. throws
Try-catch- finally
Multiple exception
Polymorphism in exception
Making your own exception
6
Bentuk/
Pertemuan Metode/ Kriteria Penilaian Bobot
Kemampuan Akhir yang Diharapkan Bahan Kajian (Materi Ajar)
ke- Strategi (Indikator) Nilai
Pembelajaran
a lock
deadlock
15 Mahasiswa mampu menggunakan Java Using java library (java API) Ceramah
API untuk membantu membuat aplikasi. How to use it Demo
Simple example
16 Mahasiswa mampu menggunakan Collections Ceramah
struktur data yang telah terdefinisi Interface Collection and Demo
dalam Collections untuk membuat class Collections Practice
aplikasi Type wrapper classess for
primitive types
Autoboxing and auto-
unboxing
List: ArrayList - Iterator,
LinkedList
Stack
Sets
Maps
17 Mahasiswa mampu membuat koneksi Making connection with Ceramah Ketepatan dalam 10%
dari aplikasi berbasis java ke DBMS database Demo mengimplementasikan:
JDBC Practice - Desain class
Oracle/mysql (?) diagram ke dalam
kode program
- Fungsionalitas
utama dari aplikasi
18-20 Mahasiswa mampu membuat aplikasi GUI & SWING Ceramah
berbasis GUI/Swing. User event Demo
7
Bentuk/
Pertemuan Metode/ Kriteria Penilaian Bobot
Kemampuan Akhir yang Diharapkan Bahan Kajian (Materi Ajar)
ke- Strategi (Indikator) Nilai
Pembelajaran
Listener interface Practice
Action event
Inner class
Swing component
8
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
9
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
10
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
program (semakin sedikit semakin bagus, dan sebaliknya)
11
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
12
- Mampu menjelaskan konsep pemrograman
berorientasi obyek
- Mampu merancang aplikasi berdasarkan kasus yang
diberikan
50 < NSM ≤ 60 - Mampu mengimplementasikan rancangan aplikasi ke
C
dalam kode program
- Mampu menjelaskan konsep pemrograman
berorientasi obyek
13