CSGE601021 Dasar-Dasar Pemrograman 2 @ Fakultas Ilmu Komputer Universitas Indonesia, Semester Genap 2022/2023
Tugas Pemrograman ini mencakup materi berikut:
- Inheritance
- Interface
- Abstract class
- Composition
- Polymorphism
Dokumen soal dapat diakses melalui link ini.
Silakan ikuti persiapan yang ada pada berkas README.md
di
root repositori ini.
Template pengerjaan tugas ini disediakan di path
src\main\java\assignments\assignment3
Catatan:
- Ubah
gradlew.bat
dengan./gradlew
dan\
dengan/
jika kamu menggunakan Linux/Mac.- Tanda > pada awal command tidak perlu ditulis. Digunakan sebagai pembeda antara command dan output-nya Kamu bisa menjalankan beberapa task dengan Gradle melalui IDE atau terminal/Command Prompt. Jalankan task tersebut di root folder dari repository ini.
Untuk menjalankan program:
> gradlew.bat :assignment3:run --console plain
Jika kamu tidak ingin menggunakan Gradle, kamu juga bisa melakukan kompilasi
dan menjalankan program dengan javac
dan java
seperti biasa. Masuk ke
direktori src\main\java
, compile semua berkas .java
kamu, dan jalankan
main class-nya.
> cd src\main\java
src\main\java> javac assignments\assignment3\*.java
src\main\java> java assignments.assignment3.MainMenu
Untuk menguji program dengan test case yang disediakan:
> gradlew.bat :assignment3:test
Catatan: src\main\java> tidak perlu ditulis saat menjalankan command-nya (hanya menandakan bahwa anda sudah berada di folder src\main\java)
Simpan pekerjaan kamu, lalu lakukan git add
, git commit
, dan git push
sebagaimana dijelaskan pada dokumen
Getting Started with a Java Project (Latihan Tugas Pemrograman).
Push solusi kamu sebelum 4 Mei 2023 pukul 23.55. Disarankan untuk
push sebelum pukul 22.00 untuk mengantisipasi antrean pada GitHub
Pipelines.
Jangan lupa untuk menambahkan asdos kamu dan dekdepe sebagai member di repositori kamu. Tim pengajar hanya akan menilai pekerjaan kamu berdasarkan commit terbaru yang sudah di-push sebelum waktu dan tanggal yang ditentukan. Commit tersebut diidentifikasi dengan memeriksa GitHub Pipelines.
Catatan: timestamp pada GitHub Pipelines tidak pernah bohong. So, no funny business, please :)
- Buat sekurang-kurangnya 1 commit yang mengandung progres kamu dalam mengerjakan Tugas Pemrograman 3.
- Push commit kamu ke repositori Git online yang ada pada proyek GitHub kamu.
- Implementasikan class
Member
dengan benar. - Implementasikan class
Nota
dengan benar. - Implementasikan concrete class untuk interface
LaundryService
- Implementasikan menu spesifik untuk setiap role dengan inherit abstract class
SystemCLI
- Implementasikan class
Employee
danMember
, denganEmployee
inheritMember
- Implementasikan class
LoginManager
- Melengkapi fungsionalitas class
MainMenu
dengan benar. - Silakan menambah class atau method yang diperlukan.
- Demonstrasikan program kamu ke asdos kamu.
- 30% Fungsionalitas Program
- 10% Implementasi Package Service
- 10% Implementasi Package User
- 10% Implementasi Package Menu
- 5% Dokumentasi (kejelasan kode)
- 5% Standar penulisan kode* (kerapian kode)
- 30% Demo program dengan asisten dosen