RENCANA PEMBELAJARAN SEMESTER (RPS)sonia.soc.telkomuniversity.ac.id/cdn/rps/S1 Teknik...
Transcript of RENCANA PEMBELAJARAN SEMESTER (RPS)sonia.soc.telkomuniversity.ac.id/cdn/rps/S1 Teknik...
RENCANA PEMBELAJARAN SEMESTER
(RPS)
CSG2H3
PEMROGRAMAN BERORIENTASI OBJEK
Disusun oleh:
Tim Dosen Pemrograman Berorientasi Objek
PROGRAM STUDI S1 TEKNIK INFORMATIKA FAKULTAS INFORMATIKA
TELKOM UNIVERSITY
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>
M. Arif Bijaksana, PhD <Nama Ketua 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
F. PENENTUAN NILAI AKHIR MATA KULIAH ....................................................................................... 13
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-konsep tersebut akan dipelajari dengan bantuan bahasa pemrograman Java. Selain konsep-
konsep dasar OOP, pada mata kuliah ini juga akan dipelajari 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
15%
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
9,10 Mahasiswa memahami perlunya dan Interface & abstract classes Ceramah Ketepatan dalam 15%
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 Demo
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 practice
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 Demo
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.
Menyimpulkan materi Menyimak kesimpulan.
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 c. Mahasiswa mampu mengimplementasikan semua fungsionalitas berdasarkan
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
program (semakin sedikit semakin bagus, dan sebaliknya)
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