Tuesday, October 20, 2020

PENUGASAN 2 PEMROGRAMAN BERORIENTASI OBJEK (PBO)

Abstraksi dan Modularisasi Aplikasi dalam Smart TV dengan Java

Pengantar
Dalam membuat suatu perangkat lunak (software) maupun aplikasi, hal yang harus kita lakukan terlebih dahulu adalah membuat sebuah abstraksi. Apa yang dimaksud dengan abstraksiAbstraksi adalah suatu cara untuk melihat sebuah objek dalam bentuk yang lebih sederhana, dimana abstraksi berisikan gambaran umum mengenai program yang akan kita buat. 

Dalam membuat sebuah abstraksi hal yang dapat dilakukan adalah dengan membagi sebuah problem besar menjadi beberapa sub-problem yang lebih kecil, yaitu dengan membuat class-class yang akan menyusun program. Manfaat yang akan kita dapat dengan membuat abstraksi terlebih dahulu adalah abstraksi dapat memberikan kemudahan dalam pemahaman, penggunaan, dan pengembangan program di masa yang akan datang karena jika terjadi perubahan implementasinya tidak akan berpengaruh secara langsung pada penggunaan program. 

Selain abstraksi kita juga perlu memahami tentang modularisasi. Apa yang dimaksud dengan modularisasi? Modularisasi adalah proses membagi sebuah problem menjadi bagian - bagian yang terpisah sesuai dengan tujuan masing-masing. Tujuan dari modularisasi adalah agar program menjadi lebih mudah dipahami, reuseable, dan memudahkan maintenance.

Untuk mempermudah dalam memahami abstraksi dan modularisasi, berikut adalah contoh abstraksi dan modularisasi yang saya buat  berdasarkan aplikasi - aplikasi yang ada pada Smart TV.

Abstraksi

Gambaran User Interface (UI) pada Smart TV

Gambar di atas adalah salah satu bentuk abstraksi, dalam hal ini saya membuat sebuah model sederhana dari UI sebuah Smart TV. Bisa dilihat bahwa dari menu Home abstraksi yang saya buat terdapat beberapa fitur yang lazim ditemukan pada UI Smart TV seperti search bar, Wifi connection, User Account, jam untuk menunjukkan waktu, settings, serta beberapa widget dari aplikasi yang sudah di-install oleh user ke dalam Smart TV. 

Modularisasi

Diagram class - class  pada Smart TV

Pada gambar diagram di atas, bisa dilihat bahwa Home adalah kelas utama (main class) dari diagram dan memiliki beberapa sub-class seperti Apps, TV Channels, Recording, Settings, Account, Wifi, Search Bar Display, Time, Notification, dan Movies.

Berikut adalah source code dari main class Home

Dari diagram di atas bisa kita lihat bahwa sub class Apps ternyata terbagi lagi menjadi 2, yaitu List Apps dan Add Apps. Berikut adalah source code dari sub class Apps beserta "anak-anaknya" yaitu class List Apps dan class Add Apps.

Dari diagram dan kodingan diatas, dapat kita lihat bahwa sub class Apps memanggil kedua "anaknya" yaitu List Apps dan Add Apps dengan tujuan agar ketika seorang user memilih menu  Add Apps maka user dapat menambahkan berbagai aplikasi dan memasukkannya ke dalam List Apps, jika user langsung memilih List Apps maka pada Smart TV akan langsung ditampilkan berbagai macam pilihan aplikasi yang tersedia di dalam Smart TV.

Kita lanjutkan ke sub class berikutnya. Dari diagram di atas bisa kita lihat bahwa sub class TV Channels ternyata terbagi lagi menjadi 2, yaitu class List Channels dan class Add Channels. Berikut adalah source code dari sub class TV Channels beserta "anak-anaknya" yaitu List Channels dan Add Channels.

Dari diagram dan kodingan diatas, dapat kita lihat bahwa sub class TV Channels memanggil kedua "anaknya" yaitu List Channels dan Add Channels dengan tujuan agar ketika seorang user memilih menu  Add Channels maka user dapat menambahkan berbagai saluran televisi dan memasukkannya ke dalam List Channels, jika user langsung memilih List Channels maka pada Smart TV akan langsung ditampilkan berbagai macam pilihan saluran televisi beserta kategorinya yang tersedia di dalam Smart TV.

Kita lanjutkan ke sub class berikutnya. Dari diagram di atas bisa kita lihat bahwa sub class Settings ternyata terbagi lagi menjadi 4, yaitu  class Sign Upclass Log In, class Log Outdan class Help Center. Berikut adalah source code dari sub class Settings beserta "anak-anaknya" yaitu Sign Up, Log In, Log Outdan Help Center.

Dari diagram dan kodingan diatas, dapat kita lihat bahwa sub class Settings memanggil keempat "anaknya" yaitu  Sign UpLog In, Log Outdan Help Center dengan tujuan agar ketika seorang user memilih menu setting maka user dapat melakukan pengaturan sesuai dengan yang dikehendakinya seperti melakukan pendaftaran akun ( Sign Up), masuk ke dalam akun (Log In), keluar dari akun (Log Out), maupun mendapatkan bantuan melalui Help Center.

Sub class berikutnya yang akan kita bahas adalah sub class TimeDari diagram di atas bisa kita lihat bahwa sub class Time (bertugas melakukan penampilan waktu) melakukan pemanggilan terhadap "anaknya" yaitu class Clock Display yang akan menampilkan jam dan menit dalam format AM/PM. Namun penggunaan AM/PM tentu memerlukan batasan agar waktu yang ditampilkan tidak salah, oleh karena itu dilakukan pemanggilan kembali terhadap class Number Display . Berikut adalah source code dari sub class TV Time, class Clock Display, dan class Number Display.

Sub class terakhir yang akan kita bahas adalah sub class MoviesDari diagram di atas bisa kita lihat bahwa sub class Movies  melakukan pemanggilan terhadap ketiga "anaknya" yaitu class Watch List, class Favorites, dan class Bookmarks dimana jika user memilih menu movies maka user akan masuk ke halaman yang berisikan 3 menu diatas. Jika user memilih Watch List maka di layar TV akan ditampilkan daftar berbagai macam film yang dapat dinikmati oleh user, kemudian jika user memilih Favorites maka di layar TV akan ditampilkan berbagai macam film yang sudah diberi tanda "suka" oleh user., yang terakhir jika user memilih Bookmarks maka di layar TV akan ditampilkan berbagai macam film yang sudah diberikan tanda oleh user untuk disimpan agar bisa ditonton di kemudian waktu  . Berikut adalah source code dari sub class Movies, class Watch Listclass Favorites, dan class Favorites.

Demikian penjelasan singkat dari saya mengenai Abstraksi dan Modularisasi dengan menggunakan contoh aplikasi - aplikasi pada Smart TV. Abstraksi dan Modularisasi saling melengkapi dan kedua konsep ini sangat penting untuk dipahami dalam mempelajari Pemrograman Berorientasi Objek. 

Nama : Arvel Gavrilla Raissananda
NRP    : 05111940000040
Kelas  : PBO - A








Share:

0 comments:

Post a Comment