Cari Blog Ini
NRP : 5025231124 | Kelas : Pemrograman Berorientasi Objek - A | Dosen : Fajar Baskoro, S.Kom., M.T.
Unggulan
- Dapatkan link
- X
- Aplikasi Lainnya
Tugas Pertemuan 5 - Music Organizer
Tugas Pertemuan 5 - Music Organizer
Program Music Organizer dibuat memanfaatkan konsep koleksi (collection), overloading, dan overriding dalam pemrograman berorientasi objek untuk meningkatkan fungsionalitas dan fleksibilitas aplikasi. Dalam program ini, ArrayList digunakan sebagai struktur data untuk menyimpan daftar trek musik, memungkinkan penambahan dan penghapusan trek secara dinamis. Selain itu, metode dalam kelas Track menggunakan overloading untuk memungkinkan pembuatan objek trek dengan parameter yang berbeda, memberikan kemudahan dalam pengelolaan data. Konsep overriding juga diterapkan, di mana metode yang terdapat dalam kelas induk dapat diubah pada kelas turunan, memberikan implementasi yang lebih spesifik sesuai kebutuhan program. Dengan kombinasi ini, Music Organizer menjadi aplikasi yang efisien dan mudah digunakan, memungkinkan pengguna untuk mengelola koleksi musik mereka dengan cara yang intuitif.
Contoh Implementasi : Link Source Code Github
Class Track
Penjelasan
Penjelasan
- Deklarasi Kelas : public class Track : mendefinisikan kelas Track yang merepresentasikan trek musik.
- Deklarasi Atribut : artist dan title : variabel untuk menyimpan nama artis dan judul lagu. Bersifat public, sehingga bisa diakses dari luar kelas.
- Konstruktor : Track(String title, String artist) : konstruktor untuk menginisialisasi objek Track dengan judul dan artis yang diberikan.
- Method getTitle : Mengembalikan judul trek (lagu) yang disimpan di variabel title.
- Method getArtist : Mengembalikan nama artis yang disimpan di variabel artist.
- Method getDetails : Mencetak detail trek, termasuk judul dan nama artis. Memanggil metode getTitle() dan getArtist() untuk mengambil data dan mencetaknya dengan format yang sesuai.
- Deklarasi Kelas : public class MusicPlayer mendefinisikan kelas MusicPlayer, yang merepresentasikan pemutar musik sederhana.
- Deklarasi Atribut : private boolean isPlaying : variabel yang menyimpan status apakah ada trek yang sedang dimainkan (true = sedang bermain, false = tidak bermain).
- Konstruktor : MusicPlayer() : konstruktor untuk menginisialisasi objek MusicPlayer. Pada awalnya, isPlaying diset ke false (tidak ada lagu yang dimainkan), dan trackPlaying diset ke null (tidak ada trek yang diputar).
- Method startPlaying : startPlaying(String trackTitle) : digunakan untuk memulai memutar trek dengan judul yang diberikan.
- Method stopPlaying : stopPlaying() : digunakan untuk menghentikan pemutaran trek saat ini.
- Deklarasi Kelas : public class MusicOrganizer: mendefinisikan kelas MusicOrganizer, yang berfungsi sebagai organizer atau pengelola daftar trek musik.
- Deklarasi Atribut : private ArrayList
- Kelas Main : public class Main: mendefinisikan kelas Main, yang berfungsi sebagai antarmuka untuk menjalankan MusicOrganizer.
- Method showCommands : showCommands(): metode yang mencetak daftar perintah yang tersedia bagi pengguna untuk mengoperasikan MusicOrganizer.
- Method main : main(String[] args): metode utama yang menjalankan program. Ini adalah titik awal eksekusi program.
- Deklarasi Objek : Membuat objek Main bernama mainCommands dan objek MusicOrganizer bernama musicApp.
- Perulangan Utama (while-loop) : Selama variabel exit bernilai false, program akan terus meminta pengguna memasukkan perintah melalui scanner.nextInt().
- Perintah yang Dapat Dijalankan :
- Case 0: Tampilkan Perintah Memanggil mainCommands.showCommands() untuk menampilkan daftar perintah lagi.
- Case 1: Tambah Trek Meminta pengguna memasukkan judul dan artis trek.
- Case 2: Jumlah Trek Memanggil musicApp.getNumberOfTracks() untuk menampilkan jumlah trek yang ada dalam daftar.
- Case 3: Daftar Trek Berdasarkan Indeks Meminta pengguna memasukkan indeks, lalu memanggil musicApp.listATrack(index) untuk menampilkan trek berdasarkan indeks tersebut.
- Case 4: Daftar Semua Trek Memanggil musicApp.listAllTracks() untuk menampilkan semua trek yang ada di daftar.
- Case 5: Hapus Trek Berdasarkan Indeks Meminta pengguna memasukkan indeks trek yang ingin dihapus, lalu memanggil musicApp.removeTrack(index) untuk menghapusnya.
- Case 6: Cari Trek Meminta pengguna memasukkan pola string yang akan dicari dalam judul trek, lalu memanggil musicApp.trackSearch(pattern) untuk mencari trek yang sesuai.
- Case 7: Putar Trek Meminta pengguna memasukkan indeks trek yang ingin diputar, lalu memanggil musicApp.playTrack(index) untuk memutarnya.
- Case 8: Hentikan Trek Memanggil musicApp.stopTrack() untuk menghentikan trek yang sedang diputar.
- Case 9: Keluar Mengubah variabel exit menjadi true, yang menghentikan perulangan dan keluar dari program.
this.artist dan this.title : digunakan untuk menetapkan nilai artis dan judul ke variabel instance.
Class MusicPlayer
Penjelasan
Penjelasan
private String trackPlaying: variabel yang menyimpan judul lagu yang sedang dimainkan.
Jika sebuah trek sudah diputar (isPlaying == true), metode ini terlebih dahulu memanggil stopPlaying() untuk menghentikan trek yang sedang diputar sebelum memutar trek baru.
Menetapkan trackPlaying ke trackTitle (judul lagu baru) dan mengubah isPlaying menjadi true.
Mencetak pesan bahwa trek tersebut sedang dimainkan.
Jika ada trek yang sedang diputar (isPlaying == true), metode ini mencetak pesan bahwa trek tersebut dihentikan dan mengubah isPlaying menjadi false.
Jika tidak ada trek yang diputar (isPlaying == false), metode ini mencetak pesan bahwa tidak ada trek yang sedang diputar.
Class MusicOrganizer
Penjelasan
Penjelasan
Class Main
Penjelasan
Berisi perintah seperti menambahkan trek, menampilkan semua trek, mencari trek, memutar trek, dan lainnya.
Scanner scanner: objek untuk membaca input dari pengguna.
Berdasarkan nilai perintah yang dimasukkan, program menjalankan fungsi yang sesuai dengan menggunakan switch-case.
Membuat objek Track baru dengan judul dan artis yang dimasukkan, lalu memanggil musicApp.addTrack() untuk menambahkannya ke dalam daftar.
Hasil
Opsi 1
Opsi 2
Opsi 3
Opsi 4
Opsi 5
Opsi 6
Opsi 7
Opsi 8
Penjelasan
Berisi perintah seperti menambahkan trek, menampilkan semua trek, mencari trek, memutar trek, dan lainnya.
Scanner scanner: objek untuk membaca input dari pengguna.
Berdasarkan nilai perintah yang dimasukkan, program menjalankan fungsi yang sesuai dengan menggunakan switch-case.
Membuat objek Track baru dengan judul dan artis yang dimasukkan, lalu memanggil musicApp.addTrack() untuk menambahkannya ke dalam daftar.
Hasil
Opsi 1
Opsi 2
Opsi 3
Opsi 4
Opsi 5
Opsi 6
Opsi 7
Opsi 8
- Dapatkan link
- X
- Aplikasi Lainnya
Postingan Populer
Tugas Pertemuan 4 - Interaksi Objek (Clock Display)
- Dapatkan link
- X
- Aplikasi Lainnya
Tugas Pertemuan 14 - Graphical User Interface
- Dapatkan link
- X
- Aplikasi Lainnya
Komentar
Posting Komentar