EAS
Nama: Aryaka Leorgi Eprideka
NRP: 5025231117
Kelas: PBO G
Soal EAS PBO:
- 1. Apa yang dimaksud dengan Inheritance dalam Java. Bagaimana implementasi inheritance dalam Final Project yang sedang dikerjakan.
- Inheritance dalam Java adalah fitur ketika sebuah kelas memungkinkan untuk mewarisi properti/atribut dan fungsi dari kelas lain.
- Contoh implementasi kode pada final project :
- ------------------------------------
- public class musicPlayer extends playbackListener {
- }
- Penjelasan kode
- karena di dalam kode terdapat extends yang digunakan untuk menunjukkan bahwa kelas musicPlayer adalah subclass (child class) dari kelas playbackListener, sehingga konsep inheritance diterapkan.
- 2. Jelaskan fitur Aplikasi yang ada dalam Final Project
- pada final project kami membuat aplikasi yaitu pemutar Mp3 dan memiliki berbagai macam fitur seperti:
- Play: Digunakan untuk memulai file Mp3
- Pause: Digunakan untuk menghentikan file Mp3 yang sedang berjalan
- Slider: Digunakan untuk mengatur posisi waktu lagu yang sedang diputar.
- Load song: Digunakan untuk mengambil file Mp3 yang ada pada directory, pada bagian ini file-file yang bukan merupakan file Mp3 akan terfilter dan hanya akan menyisakan file mp3 aja
- 3. Buatlah desain Diagram Kelas dari aplikasi Final Project
- 4. Implementasikan Aplikasi yang telah didesain dengan menggunakan Pemrograman Berbasis Obyek Java
- source code: github
- sebelum mulai kita harus menimport library library yang akan digunakan di aplikasi ini.
- langkah-langkah menambahkan libraries:
- buka bluej dan ketik ctrl+, (atau click tools terus prefrences), setelah itu ke libraries dan import semua libraries di directory lib aplikasi kita.
- Run aplikasi:
- tinggal run fungsi yang app
- penjelasan kode:
Kelas
MusicPlayerKelas ini mengatur pemutaran lagu menggunakan pustaka javazoom untuk memutar file MP3. Fungsinya mencakup memuat lagu dengan
loadSong(), memutar lagu denganplayCurrentSong(), menjeda pemutaran denganpauseSong(), dan menghentikan lagu denganstopSong(). Pemutaran diatur melalui thread untuk menjaga kelancaran operasi seperti memperbarui slider pemutaran dan melanjutkan lagu dari posisi terakhir saat dijeda. Selain itu, kelas ini juga mengelola metadata lagu saat pemutaran berlangsung.Kelas
MusicPlayerGUIKelas ini menangani antarmuka grafis (GUI) pemutar musik menggunakan Swing. Komponen GUI meliputi toolbar, slider pemutaran, tombol play/pause, serta label untuk menampilkan judul dan artis lagu. Kelas ini juga memungkinkan pengguna untuk memuat lagu melalui file chooser (
JFileChooser) dan menyediakan logika interaksi pengguna, seperti mengatur slider untuk melompat ke waktu tertentu dalam lagu, atau memperbarui tampilan saat lagu berubah.Kelas
SongKelas ini merepresentasikan sebuah lagu MP3, membaca metadata seperti judul, artis, durasi, dan frame rate per milidetik menggunakan pustaka mp3agic dan jaudiotagger. Metode-memetodenya termasuk mendapatkan informasi file lagu (
getFilePath()) serta memproses durasi lagu ke dalam format yang dapat ditampilkan. Metadata ini diambil saat lagu dimuat dan digunakan oleh antarmuka GUI untuk memberikan informasi kepada pengguna.Kelas
AppKelas ini adalah titik masuk aplikasi. Ia memulai GUI pemutar musik menggunakan
SwingUtilities.invokeLater()untuk memastikan GUI berjalan di thread yang aman. Fungsinya hanya untuk menjalankan aplikasi dengan membuat dan menampilkan instance dariMusicPlayerGUI.- 5. Buat PPT presentasi yang menunjang Demo Aplikasi
- https://www.canva.com/design/DAGZD8CvV08/SFhv_RyRvge8G2vB-6BT8A/edit?utm_content=DAGZD8CvV08&utm_campaign=designshare&utm_medium=link2&utm_source=sharebutton
- 6. Demokan aplikasi dengan membuat video dan diupload di Youtube.
- video demo: https://youtu.be/ZyUeacUZHFM
Komentar
Posting Komentar