Langsung ke konten utama

Unggulan

Pertemuan 11 - Market Siswa

Market Siswa — Penjelasan Aplikasi Nama : Christoforus Indra Bagus Pratama NRP : 5025231124 Mata Kuliah : Pemrograman Perangkat Bergerak (C) Tanggal : 6 Mei 2026 Pertemuan : 11 Link : Github Market Siswa — Aplikasi Marketplace untuk Pelajar Market Siswa adalah aplikasi Android yang dibuat sebagai tugas mata kuliah Mobile Programming . Aplikasi ini dirancang sebagai platform jual-beli sederhana yang ditujukan untuk siswa di lingkungan sekolah. Dengan Market Siswa, siswa bisa menampilkan produk yang mereka jual, menambahkan produk baru, hingga mengelola daftar produk mereka — semua dari satu aplikasi yang ringan dan mudah digunakan. Aplikasi ini dibangun menggunakan Jetpack Compose , yaitu toolkit modern dari Google untuk membangun tampilan aplikasi Android secara deklaratif. Selain itu, aplikasi ini menerapkan prinsip-p...

Tugas Pertemuan 4 - Interaksi Objek (Clock Display)

Tugas Pertemuan 4 - Clock Display

Berikut merupakan program digital untuk menampilkan waktu menggunakan konsep pemrograman berorientasi objek (OOP) di Java. Program ini menggunakan dua kelas utama, yaitu ClockDisplay dan NumberDisplay, untuk membentuk simulasi jam digital 24 jam dengan format "HH". Kelas ClockDisplay berfungsi sebagai pengelola utama yang menangani logika penambahan jam dan menit serta pembaruan tampilan waktu secara keseluruhan. Sedangkan, kelas NumberDisplay bertanggung jawab untuk menangani penghitungan nilai numerik (jam dan menit) dengan pembatasan nilai tertentu, seperti 24 untuk jam dan 60 untuk menit.

Source Code : Link Github

Kelas NumberDisplay


Penjelasan :

NumberDisplay adalah kelas yang menangani penghitungan dan penampilan angka, khususnya pada jam dan menit. Berikut adalah fungsi dari kelas ini:
Atribut :

  • nilai : Menyimpan nilai saat ini (seperti jam atau menit).
  • batas : Menyimpan batas maksimum angka (24 untuk jam, 60 untuk menit).
Metode utama :
  • increment() : Menambah nilai yang disimpan. Jika nilai mencapai batas, ia akan kembali ke 0. Ini berguna untuk jam (dari 23 ke 0) dan menit (dari 59 ke 0).
  • getNilai() : Mengembalikan nilai saat ini.
  • setNilai(int nilaiBaru) : Mengatur nilai ke nilai baru.
  • getNilaiTampilan() : Mengembalikan nilai dalam bentuk string, biasanya dalam format dua digit (misalnya, "08" bukan "8").
Cara Kerja : Misalnya, untuk menampilkan menit : Jika menit saat ini adalah 59, ketika metode increment() dipanggil, menit akan menjadi 0 dan juga menyebabkan jam bertambah satu.

Kelas ClockDisplay

Penjelasan :

Kelas ClockDisplay merupakan kelas utama yang menggabungkan dua objek NumberDisplay untuk merepresentasikan jam dan menit pada sebuah jam digital.
Atribut :

  • jam : Objek NumberDisplay yang menyimpan nilai jam (dari 0 hingga 23).
  • menit : Objek NumberDisplay yang menyimpan nilai menit (dari 0 hingga 59).
  • stringTampilan : Sebuah string yang menyimpan tampilan waktu dalam format "HH".
Konstruktor : Konstruktor pertama membuat objek ClockDisplay dengan jam diatur ke 00:00. Konstruktor kedua memungkinkan pengguna menentukan jam dan menit awal secara manual.
Metode utama :
  • detikWaktu() : Metode ini memajukan menit pada objek ClockDisplay. Ketika menit mencapai 60 (menjadi 0), metode ini juga akan memajukan jam. Jadi, metode ini seperti pengatur waktu yang menambah waktu setiap menit.
  • aturWaktu(int jam, int menit) : Mengatur waktu pada objek ClockDisplay sesuai dengan parameter jam dan menit yang diberikan.
  • ambilWaktu() : Mengembalikan waktu saat ini dalam format "HH" sebagai string, yang dapat digunakan untuk ditampilkan ke pengguna.
  • perbaruiTampilan() : Metode ini menggabungkan nilai dari objek jam dan menit menjadi sebuah string dengan format "HH" yang diperbarui setiap kali waktu berubah.

Cara Kerja : Saat objek ClockDisplay dibuat, ia akan memulai dengan nilai waktu default (00:00) atau waktu yang diatur oleh pengguna. Setiap kali metode detikWaktu() dipanggil, menit akan bertambah satu. Jika menit mencapai 60, menit akan kembali ke 0 dan jam akan bertambah satu. Waktu yang diperbarui akan disimpan sebagai string di stringTampilan dan bisa diakses menggunakan metode ambilWaktu().
Secara keseluruhan, objek NumberDisplay digunakan untuk menangani penambahan jam dan menit, sementara ClockDisplay mengelola tampilan dan pembaruan waktu pada jam digital.

Uji Coba di BlueJ

Abstraksi Diagram Objek:

Kode NumberDisplay :
Kode ClockDisplay :
Diagram kelas dan relasi :
Membuat objek baru :
Hasil :

Komentar

Postingan Populer