Pemrograman Berbasis Objek
Pemrograman Berbasis Objek
CPL-PRODI
[S-3] Berkontribusi dalam peningkatan mutu kehidupan bermasyarakat, berbangsa, bernegara, dan kemajuan peradaban berdasarkan Pancasila.
[KU-1] Mampu menerapkan pemikiran logis, kritis, sistematis dan inovatif dalam konteks pengembangan atau implementasi ilmu pengetahuan dan
teknologi yang memperhatikan dan menerapkan nilai humaniora yang sesuai dengan bidang keahliannya.
Capaian [KK-3] Menerapkan konsep dan teori pemrograman untuk membangun dan mengembangkan sistem aplikasi TIK.
Pembelajaran (CP) [P-01] Menjelaskan konsep dan teori dasar logika dan struktur diskrit untuk mendukung pemodelan dan analisa masalah.
CP-MK
[ C - 2 ] Mahasiswa mampu menjelaskan konsep-konsep dasar OOP dalam menyelesaikan permasalahan.
[ P - 4 ] Mahasiswa mampu merancang penyelesaian permasalahan pada OOP berupa kelas diagram.
[ A - 4 ] Mahasiswa mampu menerapkan konsep OOP pada aplikasi java berbasis GUI/Swing yang terkoneksi dengan DBMS.
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
Deskripsi Singkat MK
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.
Pendukung
[4] .
[5] .
Perangkat Keras Perangkat Lunak
Media Pembelajaran
Komputer, LCD, Projector Netbeans / Eclipse, Power Point, PDF, Web Browser
Team Teaching [1] Farah Zakiyah Rahmanti, M.T.
Matakuliah Prasyarat Algoritma dan Struktur Data
2
cycle, constructor & garbage. Class & Object pemrograman Java. perbedaan konsep OOP
- Perbedaan antara kelas dan object. [BT + BM : dengan prosedural.
[C2, A3] - Pembuatan kelas (sederhana) (1+1)x(3x60”)] -Ketepatan implementasi
dan object dalam bahasa Java. konsep OOP dalam Bahasa
-Primitif dan Referensi : Java.
Tipe data, kata kunci, reference
variable, object declaration & -Ketepatan menjelaskan
assignment, objects in garbage konsep kelas dan obyek.
collector, arrays -Ketepatan memahami
- Object cycle : life and death penggunaan serta dapat
- Constructor & Garbage membuat program
sederhana menggunakan
tipe data, kata kunci,
reference variable, object
declaration & assignment,
arrays.
-Ketepatan menjelaskan
konsep life and death dari
Object Cycle
-Ketepatan menjelaskan
penggunaan constructor &
garbage.
[BT + BM :
(1+1)x(3x60”)]
3
3 Mahasiswa mampu memahami Class Relationship ( Class Diagram) Kuliah Pencapaian kemampuan Kriteria :
diagram kelas beserta makna simbol - association, aggregation, composition yang direncanakan : Rubrik Holistic
relasi yang terdapat pada diagram Diskusi -Ketepatan menjelaskan
kelas. [TM : 1 x (3 x 50”)] diagram kelas beserta Bentuk Non-Test :
makna simbol relasi yang -Menyusun kelas diagram
Tugas 3 : terdapat pada diagram dari suatu kasus yang
Menyusun kelas kelas. diberikan.
diagram dengan contoh -Presentasi
kasus tertentu.
[BT + BM :
(1+1)x(3x60”)]
4 Mahasiswa mampu menjelaskan Inheritance & Polymorphism Kuliah Pencapaian kemampuan Kriteria :
konsep inheritance & polymorphism. - Perlunya inheritance & polymorphism yang direncanakan : Rubrik Holistic
- Bagaimana inheritance Diskusi -Ketepatan menjelaskan
mengembangkan software reusability [TM : 1 x (3 x 50”)] perlunya inheritance &
- Merancang inheritance polymorphism Bentuk Non-Test :
- Superclass dan hubungan subclass & Tugas 4 : -Ketepatan memahami dan -Mengimplementasikan
akses modifier Mengimplementasikan mengimplementasikan inheritance &
- Method Overriding konsep inheritance & inheritance & polymorphism dari studi
- Polymorphism : polymorphism dari kelas polymorphism dalam suatu kasus yang diberikan ke
Deklarasi obyek & assignment, diagram yang diberikan program sederhana. dalam bentuk program Java
Method argument & return type ke dalam Bahasa Java. sederhana.
- Method overloading -Presentasi
- Constructor overloading (revisited) [BT + BM :
& superclass constructor (1+1)x(3x60”)]
- PAnggilan ke super(), this ()
- Contoh kelas diagram yang
merepresentasikan inheritance &
polymorphism
5 Mahasiswa mampu memahami Interface & Abtract Classes Kuliah Pencapaian kemampuan Kriteria :
perlunya dan mengimplementasikan -Perlunya abstract classes. yang direncanakan : Rubrik Holistic
4
interface dan abstract classes dalam Perbedaan antara abstract & Diskusi -Ketepatan menjelaskan
suatu program sederhana. concrete class [TM : 1 x (3 x 50”)] perlunya interface &
- Abstract classess & methods abstract classes Bentuk Non-Test :
- Overloading & overriding (revisited) Tugas 5 : -Ketepatan memahami -Mengimplementasikan
- Casting Mengimplementasikan dan interface & abstract classes
- Perlunya interface konsep interface & mengimplementasikan dari studi kasus yang
- Pembuatan & penggunaan interface abstract classes ke interface & abstract diberikan ke dalam bentuk
- Contoh kelas diagram yang dalam program classes dalam suatu program Java sederhana.
merepresentasikan interface & abstract sederhana. program sederhana. -Presentasi
class
[BT + BM :
(1+1)x(3x60”)]
6 Mahasiswa mampu memahami Static & Final Method & Variables Kuliah Pencapaian kemampuan Kriteria :
perlunya dan mengimplementasikan - Static method yang direncanakan : Rubrik Deskriptif
static & final variabel dan method - Static variable Diskusi -Ketepatan memahami
dalam suatu program sederhana. - Constants (static final variable) [TM : 1 x (3 x 50”)] konsep static & final Bentuk Non-Test :
- Final method & class method & variable. -Penilaian program
- Wrapper classes & autoboxing Tugas 6 : -Ketepatan memahami sederhana dari penggunaan
- Static imports Mengimplementasikan perbedaan antara instance static & final method &
- Contoh : Math class konsep static & final variable & static variable. variable.
- Perbedaan Instance variable & static method & variable ke
variable dalam program
sederhana.
7 Mahasiswa mampu mampu memahami Exception Handling Kuliah Pencapaian kemampuan Kriteria :
dan menggunakan Exception Handling, - Exception sebagai obyek yang direncanakan : Rubrik Deskriptif
membuat kelas Exception sendiri. - try-catch Diskusi -Ketepatan memahami
- throws [TM : 1 x (3 x 50”)] konsep exception handling. Bentuk Test :
- Try-catch- finally -Ketepatan menggunakan Soal tes menyusun kelas
- Multiple exception Tugas 7 : exception handling. exception sendiri dengan
- Polymorphism di dalam exception Menyusun kelas -Ketepatan membuat kelas contoh kasus yang
- Pembuatan exception sendiri Exception sendiri dan exception sendiri. diberikan.
mengimplementasikan
ke dalam program
sederhana.
5
8 Evaluasi Tengah Semester: Melakukan validasi hasil penilaian, evaluasi dan perbaikan proses pembelajaran berikutnya
9 Mahasiswa mampu memahami dan Object Persistence Kuliah Pencapaian kemampuan Kriteria :
mengimplementasikan Persistensi - Saving object state yang direncanakan : Rubrik Holistic
Objek dalam file. - Writing a serialized object to a file Diskusi -Ketepatan memahami
- Object serialization (serializable [TM : 1 x (3 x 50”)] persistensi dan obyek Bentuk Non-Test :
interface) dalam file. -Mengimplementasikan
- Deserializing an object Tugas 9 : -Ketepatan persistensi & obyek ke
Mengimplementasikan mengimplementasikan dalam file pada studi kasus
persistensi & obyek ke persistensi dan obyek yang diberikan ke dalam
dalam file. dalam file. bentuk program Java
sederhana.
-Presentasi
10 Mahasiswa mampu memahami dan Multi Threading Kuliah Pencapaian kemampuan Kriteria :
mengimplementasikan - Launching new thread yang direncanakan : Rubrik Deskriptif
konsep sinkronisasi menggunakan - Runnable interface Diskusi -Ketepatan memahami
thread. - Thread' state [TM : 1 x (3 x 50”)] konsep sinkronisasi Bentuk Non-Test :
- Runnable - running loop menggunakan thread -Penilaian program
- Thread scheduler Tugas 10 : -Ketepatan sederhana dari sinkronisasi
- Making and starting two thread Mengimplementasikan mengimplementasikan dengan thread.
- Locking object sinkronisasi sinkronisasi dengan thread
- Synchronized method using a lock menggunakan thread ke
- deadlock dalam bentuk program
sederhana.
11 Mahasiswa mampu menggunakan Using Java Library Kuliah Pencapaian kemampuan Kriteria :
Java API untuk membantu membuat - Bagaimana cara menggunakan Java yang direncanakan : Rubrik Deskriptif
aplikasi. Library Diskusi -Ketepatan memahami
- Contoh sederhana [TM : 1 x (3 x 50”)] penggunaan Java API Bentuk Non-Test :
dalam membuat aplikasi. -Penilaian program
Tugas 11 : sederhana menggunakan
Mengimplementasikan Java API dalam membuat
program sederhana aplikasi sederhana yang
menggunakan Java API telah ditentukan.
dalam membuat suatu
6
aplikasi sederhana yang
telah ditentukan.
13 Mahasiswa mampu membuat koneksi Making Connection with Database Kuliah Pencapaian kemampuan Kriteria :
dari aplikasi berbasis java ke DBMS. - JDBC yang direncanakan : Rubrik Deskriptif
- Oracle dan tau mysql Diskusi -Ketepatan membuat
[TM : 1 x (3 x 50”)] koneksi dari masing- Bentuk Non-Test :
masing aplikasi berbasis -Penilaian aplikasi berbasis
Tugas 13 : java yang telah dibuat ke java yang telah dibuat ke
Mengimplementasikan DBMS. DBMS.
koneksi dari aplikasi
Java ke DBMS.
14 Mahasiswa mampu membuat aplikasi GUI & Swing Kuliah Pencapaian kemampuan Kriteria :
berbasis GUI/Swing. - User event yang direncanakan : Rubrik Deskriptif
- Listener interface Diskusi -Ketepatan membuat
Mahasiswa mampu mengorganisasikan [TM : 1 x (3 x 50”)] aplikasi berbasis Bentuk Non-Test :
dan melakukan deploy pada aplikasi. Deployment GUI/Swing. -Penilaian aplikasi berbasis
- Separate source code & class files Tugas 14 : -Ketepatan dalam GUI/Swing.
- Membuat executable JAR Mengimplementasikan mengorganisasikan dan
- Menjalankan executable JAR aplikasi berbasis deploy pada aplikasi.
- Package GUI/Swing.
7
15 Mahasiswa mampu membuat aplikasi Presentasi Tugas Besar [TM : 1 x (3 x 50”)] Pencapaian kemampuan Kriteria :
java dengan mengimplementasikan - Rancangan kelas diagram pada yang direncanakan : Rubrik Holistic
konsep OOP berbasis GUI/Swing yang aplikasi yang dibuat pada tugas besar. -Ketepatan
didalamnya terkoneksi pada DBMS. - Implementasi konsep OOP pada mengimplementasikan Bentuk Non-Test :
aplikasi. konsep OOP ke dalam -presentasi & demo aplikasi
- Implementasi GUI/Swing pada aplikasi java. tugas besar
aplikasi. -Ketepatan melakukan
- Implementasi koneksi aplikasi pada koneksi aplikasi dengan
DBMS. DBMS.
-Ketepatan
mengimplementasikan
program menggunakan
GUI/Swing.
-Ketepatan dalam
melakukan deploy aplikasi.
16 Evaluasi Akhir Semester: Melakukan validasi penilaian akhir dan menentukan kelulusan mahasiswa
Catatan:
(1). TM: Tatap Muka; TS: Penugasan Terstruktur; BM: Belajar Mandiri.
(2). 1 sks = (50’ TM + 50’ PT + 60’ BM)/Minggu
(3). CPL-Prodi: Capaian Pembelajaran Lulusan Program Studi; CP-MK: Capaian Pembelajaran Mata-Kuliah
(4). Simbol-simbol elemen KKNI pada CPL-Prodi: S = Sikap; KU = Ketrampilan Umum; KK = Ketrampilan Khusus; P = Pengetahuan
8
Rubrik Holistic pada Tugas Besar pada pertemuan ke-15 : Membuat aplikasi berbasis java menggunakan GUI/Swing yang menerapkan konsep OOP didalamnya dan aplikasi
terkoneksi dengan DBMS.
9
INSTITUT TEKNOLOGI TELKOM SURABAYA
FAKULTAS TEKNOLOGI INFORMASI DAN INDUSTRI
PRODI STUDI TEKNOLOGI INFORMASI
RENCANA TUGAS MAHASISWA
Mata Kuliah (MK) Kode MK Rumpun MK/Kelompok Keahlian (KK) Bobot (SKS) Semester Tahun Akademik
Pemecahan Masalah Berbasis Obyek IT21T01 Algoritma dan Pemrograman / Software 3 3 Ganjil 2019/2020
Development
Dosen Pengampu
Farah Zakiyah Rahmanti, M.T.
TUGAS KE- JUDUL TUGAS
15 Membuat aplikasi berbasis java menggunakan GUI/Swing yang menerapkan konsep OOP didalamnya dan aplikasi terkoneksi dengan DBMS.
Mahasiswa mampu membuat aplikasi java dengan mengimplementasikan konsep OOP berbasis GUI/Swing yang didalamnya terkoneksi pada DBMS.
TUJUAN PENUGASAN
Manfaat:
Mahasiswa dapat menganalisa permasalahan dari studi kasus yang ada.
Mahasiswa dapat menyelesaikan permasalahan menggunakan konsep OOP.
Mahasiswa dapat mengimplementasikan studi kasus ke dalam aplikasi berbasis Java
menggunakan GUI/Swing yang sudah terhubung dengan DBMS.
Mahasiswa dapat melakukan deploy aplikasi yang telah dibuat.
BENTUK DAN FORMAT LUARAN TUGAS INDIKATOR, KRITERIA DAN BOBOT PENILAIAN
Bentuk Luaran : Program aplikasi Java (bobot 40%)
Program dapat berjalan dengan baik.
Demo program komputer dilakukan dikelas, program harus sudah bisa dijalankan Semua fiturnya dapat berjalan dengan baik.
tanpa eror. Program dapat menyelesaikan permasalahan dengan konsep OOP berbasis GUI/Swing
yang terkoneksi dengan DBMS.
Perancangan kelas diagram ditulis dengan MS Word sesuai dengan konsep OOP Program sudah dilakukan deploy.
yang telah diunggah pada google drive.
Dikumpulkan dalam bentuk hardcopy. Resume rancangan kelas diagram (20%)
Ketepatan merancang ke dalam kelas diagram dalam menyelesaikan permasalahan
Slide Presentasi PowerPoint, terdiri dari : Text, grafik, tabel, gambar, animasi dengan konsep OOP.
ataupun video clips, minimum 15 slide.
Dikumpulkan dalam bentuk softcopy format ekstensi (*.ppt, *.pptx), dengan Penyusunan Slide Presentasi (20%)
sistematika nama file : nim1_namamhs.ppt Jelas dan konsisten, sederhana dan inovatif, didukung dengan gambar atau video yang
relevan.
Presentasi (20%)
Bahasa komunikatif, penguasaan materi,
penguasaan audiensi, pengendalian waktu, kejelasan dan ketajaman paparan,
penguasaan media presentasi.
DAFTAR RUJUKAN
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
12