A. PROFIL MATA KULIAH IDENTITAS MATA KULIAH
Nama Mata Kuliah :
Pemrograman Berorientasi Objek Kode Mata Kuliah
: 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, OReilly
2.
Ja a™ Ho to Progra , 9th, , Pre tice Hall
3.
Head First Object Oriented Design and Analysis, 1st edition, 2006, Brett D. McLaughlin, Gary Pollice, David West, OReilly Media
1
B. RENCANA PEMBELAJARAN SEMESTER RPS
Bentuk Pertemuan
Kemampuan Akhir yang Diharapkan Bahan Kajian Materi Ajar
Metode Kriteria Penilaian
Bobot 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
Kemampuan Akhir yang Diharapkan Bahan Kajian Materi Ajar
Metode Kriteria Penilaian
Bobot ke-
Strategi Indikator
Nilai Pembelajaran
collector 4
Mahasiswa memahami makna dan
Encapsulation
Ceramah perlunya enkapsulasi.
Why do we need
Demo Mahasiswa memahami dan dapat
encapsulation?
practice mengimplementasikan enkapsulasi
Object state dalam suatu program sederhana.
Instance variable vs local variables
Methods argument return type
Pass by value
Getters and setters
Sample class diagram representing encapsulation
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 Hanya mengenalkan saja,
karena nantinya satu persatu relasi yg ada pada
diagram kelas akan dibutuhkan saat
3
Bentuk Pertemuan
Kemampuan Akhir yang Diharapkan Bahan Kajian Materi Ajar
Metode Kriteria Penilaian
Bobot 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
Kemampuan Akhir yang Diharapkan Bahan Kajian Materi Ajar
Metode Kriteria Penilaian
Bobot 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
Kemampuan Akhir yang Diharapkan Bahan Kajian Materi Ajar
Metode Kriteria Penilaian
Bobot 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 13
Mahasiswa mampu memahami dan Object Persistence
Ceramah Ketepatan
10 mengimplementasikan Persistensi Objek
Saving object state
Demo penggambaran dari:
dalam file.
Writing a serialized object
Practice -
Flowchart aplikasi to a file
- Desain class
Object serialization diagram
serializable interface -
Desain ER diagram
Deserializing an object 14
Mahasiswa mampu memahami dan Multithreading
Ceramah mengimplementasikan konsep
Launching new thread
Demo sinkronisasi menggunakan thread
Runnable interface
practice
Thread state
Runnable - running loop
Thread scheduler
Making and starting two thread
Locking object
Synchronized method using 6
Bentuk Pertemuan
Kemampuan Akhir yang Diharapkan Bahan Kajian Materi Ajar
Metode Kriteria Penilaian
Bobot 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
Oraclemysql ? diagram ke dalam
kode program -
Fungsionalitas utama dari aplikasi
18-20 Mahasiswa mampu membuat aplikasi
GUI SWING
Ceramah berbasis GUISwing.
User event
Demo 7
Bentuk Pertemuan
Kemampuan Akhir yang Diharapkan Bahan Kajian Materi Ajar
Metode Kriteria Penilaian
Bobot ke-
Strategi Indikator
Nilai Pembelajaran
Listener interface
Practice
Action event
Inner class
Swing component 21
Mahasiswa mampu mengorganisasikan Deployment
Ceramah Hasil akhir proyek
20 dan men-deploy aplikasi
Separate source code and
Demo aplikasi dapat
class files memenuhi kriteria:
Making an executable JAR -
Sesuai antara
Running an executable JAR perancangan dan
Package implementasi
kode program -
Tidak ada bugerror pada
aplikasi -
Semua fungsionalitas
aplikasi berjalan UAS
8
C. RANCANGAN INTERAKSI DOSEN –MAHASISWA