sevinurafni / SD1201

Catatan kuliah Pemrograman Dasar prodi Sains Data
5 stars 8 forks source link

Project #10

Open sevinurafni opened 3 weeks ago

sevinurafni commented 3 weeks ago

Project 1: Sistem Perbankan Sederhana

Deskripsi:

Buatlah sebuah aplikasi sistem perbankan sederhana yang memungkinkan pengguna untuk membuat akun, melakukan setoran, penarikan, dan memeriksa saldo. Aplikasi ini akan mensimulasikan beberapa fungsi dasar dari sebuah sistem perbankan.

Spesifikasi:

Kelas-kelas yang Dibutuhkan: Account: Representasi dari akun bank dengan atribut seperti accountNumber,accountHolder, balance. Bank: Mengelola koleksi akun dan menyediakan fungsi untuk menambah akun, setoran, penarikan, dan pemeriksaan saldo. Transaction: Representasi dari transaksi bank dengan atribut seperti transactionType, amount, date.

Fitur Utama: Membuat akun bank baru dengan nomor akun unik dan informasi pemilik akun. Melakukan setoran ke akun bank. Melakukan penarikan dari akun bank. Memeriksa saldo dari akun bank tertentu. Melihat riwayat transaksi untuk setiap akun bank.

Implementasi: Gunakan konsep inheritance untuk jenis akun yang berbeda (misalnya, SavingsAccount, CheckingAccount). Implementasikan polymorphism untuk metode transaksi yang berbeda pada berbagai jenis akun. Pastikan untuk menerapkan prinsip encapsulation dengan membuat atribut kelas bersifat private dan menyediakan metode akses (getter dan setter) yang sesuai.

sevinurafni commented 3 weeks ago

### Project 2: Sistem Pemesanan Tiket Bioskop

Deskripsi:

Buatlah sebuah aplikasi sistem pemesanan tiket bioskop yang memungkinkan pengguna untuk melihat film yang sedang tayang, memilih jadwal tayang, dan memesan tiket. Aplikasi ini mensimulasikan fungsi-fungsi dasar dari sebuah sistem pemesanan tiket bioskop.

Spesifikasi:

Kelas-kelas yang Dibutuhkan: Movie: Representasi dari film dengan atribut seperti title, duration, genre. Showtime: Representasi dari jadwal tayang dengan atribut seperti movie, time, availableSeats. Ticket: Representasi dari tiket dengan atribut seperti showtime, seatNumber, buyer. Cinema: Mengelola daftar film dan jadwal tayang serta pemesanan tiket. Customer: Representasi dari pelanggan dengan atribut seperti name, customerId.

Fitur Utama: Menambahkan dan menghapus film. Menambahkan dan menghapus jadwal tayang. Melihat daftar film yang sedang tayang. Memesan tiket untuk jadwal tayang tertentu. Melihat daftar tiket yang telah dipesan. Melihat riwayat pemesanan oleh pelanggan.

Implementasi: Gunakan konsep aggregation antara Movie dan Showtime. Pastikan untuk menerapkan prinsip encapsulation dengan membuat atribut kelas bersifat private dan menyediakan metode akses (getter dan setter) yang sesuai.

sevinurafni commented 3 weeks ago

### Project 3: Sistem Email Chat Sederhana

Deskripsi: Buatlah sebuah aplikasi email client sederhana yang memungkinkan pengguna untuk mengirim, menerima, dan mengelola email. Aplikasi ini akan mensimulasikan fungsi-fungsi dasar dari sebuah sistem email client.

Spesifikasi:

Kelas-kelas yang Dibutuhkan: Email: Representasi dari email dengan atribut seperti sender, recipient, subject, body, timestamp. User: Representasi dari pengguna dengan atribut seperti username, emailAddress, inbox, sentItems. EmailClient: Mengelola pengiriman, penerimaan, dan pengelolaan email untuk pengguna.

Fitur Utama: Membuat dan mengirim email. Menerima email dan menambahkannya ke inbox pengguna. Melihat daftar email yang diterima (inbox). Melihat daftar email yang dikirim (sent items). Membaca isi email (baik di inbox maupun sent items). Menghapus email dari inbox atau sent items.

Implementasi: Gunakan konsep inheritance jika diperlukan untuk tipe email yang berbeda (misalnya, PromotionalEmail, PersonalEmail). Pastikan untuk menerapkan prinsip encapsulation dengan membuat atribut kelas bersifat private dan menyediakan metode akses (getter dan setter) yang sesuai.

sevinurafni commented 3 weeks ago

Deadline: 5 Juli 2024, 12:00.

Salah satu anggota membuat repository untuk project kemudian anggota lain fork respository tersebut. Laporan dibuat dalam format [paper Sains Data] (https://docs.google.com/document/d/1z5GCCWSf9rf_OurNziZytbmZDFv14FXG/edit) maksimal 10 halaman.

Referensi:

sainsdataikopin commented 3 weeks ago

Kelompok 1: Rafid, Ariela, Musa, Ahmad, Yusuf, Kanaya Kelompok 2: Ryan, Najlia, Reva, Rizwar, Aji, Amelia Kelompok 3: Farhan, Nadine, Fitri, Fadhli, Budi

Project 1: Sistem Perbankan Sederhana

Deskripsi:

Buatlah sebuah aplikasi sistem perbankan sederhana yang memungkinkan pengguna untuk membuat akun, melakukan setoran, penarikan, dan memeriksa saldo. Aplikasi ini akan mensimulasikan beberapa fungsi dasar dari sebuah sistem perbankan.

Spesifikasi:

Kelas-kelas yang Dibutuhkan: Account: Representasi dari akun bank dengan atribut seperti accountNumber,accountHolder, balance. Bank: Mengelola koleksi akun dan menyediakan fungsi untuk menambah akun, setoran, penarikan, dan pemeriksaan saldo. Transaction: Representasi dari transaksi bank dengan atribut seperti transactionType, amount, date.

Fitur Utama: Membuat akun bank baru dengan nomor akun unik dan informasi pemilik akun. Melakukan setoran ke akun bank. Melakukan penarikan dari akun bank. Memeriksa saldo dari akun bank tertentu. Melihat riwayat transaksi untuk setiap akun bank.

Implementasi: Gunakan konsep inheritance untuk jenis akun yang berbeda (misalnya, SavingsAccount, CheckingAccount). Implementasikan polymorphism untuk metode transaksi yang berbeda pada berbagai jenis akun. Gunakan exception handling untuk mengelola situasi seperti penarikan melebihi saldo. Pastikan untuk menerapkan prinsip encapsulation dengan membuat atribut kelas bersifat private dan menyediakan metode akses (getter dan setter) yang sesuai.

Kelompok 1: Rafid, Ariela, Musa, Ahmad, Yusuf, Kanaya

sainsdataikopin commented 3 weeks ago

### Project 2: Sistem Pemesanan Tiket Bioskop

Deskripsi:

Buatlah sebuah aplikasi sistem pemesanan tiket bioskop yang memungkinkan pengguna untuk melihat film yang sedang tayang, memilih jadwal tayang, dan memesan tiket. Aplikasi ini mensimulasikan fungsi-fungsi dasar dari sebuah sistem pemesanan tiket bioskop.

Spesifikasi:

Kelas-kelas yang Dibutuhkan: Movie: Representasi dari film dengan atribut seperti title, duration, genre. Showtime: Representasi dari jadwal tayang dengan atribut seperti movie, time, availableSeats. Ticket: Representasi dari tiket dengan atribut seperti showtime, seatNumber, buyer. Cinema: Mengelola daftar film dan jadwal tayang serta pemesanan tiket. Customer: Representasi dari pelanggan dengan atribut seperti name, customerId.

Fitur Utama: Menambahkan dan menghapus film. Menambahkan dan menghapus jadwal tayang. Melihat daftar film yang sedang tayang. Melihat jadwal tayang untuk film tertentu. Memesan tiket untuk jadwal tayang tertentu. Melihat daftar tiket yang telah dipesan. Melihat riwayat pemesanan oleh pelanggan.

Implementasi: Gunakan konsep aggregation antara Movie dan Showtime. Implementasikan exception handling untuk kasus seperti kursi yang sudah dipesan. Pastikan untuk menerapkan prinsip encapsulation dengan membuat atribut kelas bersifat private dan menyediakan metode akses (getter dan setter) yang sesuai.

Kelompok 2: Ryan, Najla, Reva, Rizwar, Aji, Amelia

sainsdataikopin commented 3 weeks ago

### Project 3: Sistem Email Chat Sederhana

Deskripsi: Buatlah sebuah aplikasi email client sederhana yang memungkinkan pengguna untuk mengirim, menerima, dan mengelola email. Aplikasi ini akan mensimulasikan fungsi-fungsi dasar dari sebuah sistem email client.

Spesifikasi:

Kelas-kelas yang Dibutuhkan: Email: Representasi dari email dengan atribut seperti sender, recipient, subject, body, timestamp. User: Representasi dari pengguna dengan atribut seperti username, emailAddress, inbox, sentItems. EmailClient: Mengelola pengiriman, penerimaan, dan pengelolaan email untuk pengguna.

Fitur Utama: Membuat dan mengirim email. Menerima email dan menambahkannya ke inbox pengguna. Melihat daftar email yang diterima (inbox). Melihat daftar email yang dikirim (sent items). Membaca isi email (baik di inbox maupun sent items). Menghapus email dari inbox atau sent items.

Implementasi: Gunakan konsep inheritance jika diperlukan untuk tipe email yang berbeda (misalnya, PromotionalEmail, PersonalEmail). Implementasikan exception handling untuk situasi seperti pengiriman email ke alamat yang tidak valid. Pastikan untuk menerapkan prinsip encapsulation dengan membuat atribut kelas bersifat private dan menyediakan metode akses (getter dan setter) yang sesuai.

Kelompok 3: Farhan, Nadin, Fitri, Fadhli, Budi

sevinurafni commented 1 week ago

Project dikumpulkan di issue ini dengan melampirkan link repository project.

Nama - NRP anggota link repository project