Sunday, December 27, 2020

PENUGASAN 10 PEMROGRAMAN BERORIENTASI OBJEK (PBO)

Membuat Aplikasi Notepad dengan Menggunakan Java 

Microsoft Notepad atau biasa kita sebut dengan Notepad adalah sebuah aplikasi editor teks untuk membuat file teks sederhana. Microsoft Notepad telah ada di semua versi sistem operasi Microsoft Windows dimulai sejak Microsoft Windows 1.0 tahun 1985

Fungsi atau kegunaan utama dari Notepad adalah untuk melihat atau mengedit file teks (text file). Notepad hanya mendukung pemformatan dasar sehingga tidak dapat melakukan pemformatan yang kompleks seperti pada Microsoft Word. Notepad juga tidak mendukung penyisipan gambar.

Di Notepad, diperbolehkan menggunakan jenis font tertentu (font setting) ketika membuat file teks. Yang perlu diingat di sini adalah bahwa penggunaan font tertentu hanya mempengaruhi bagaimana teks ditampilkan dan dicetak, tetapi tidak berpengaruh pada bagaimana file disimpan di diks atau media penyimpanan lainnya.

Pada kesempatan ini kita akan membahas bagaimana cara untuk membuat Aplikasi Notepad dengan menggunakan bahasa pemrograman Java. Di dalam program Notepad ini hanya terdapat terdapat 1 class, yaitu Editor.

Editor

Setelah class diatas di-compile dan di run maka akan ditampilkan program Notepad sebagai berikut :

Di dalam program Notepad terdapat berbagai macam menu yang dapat dipilih oleh pengguna sesuai dengan kebutuhannya, menu - menu tersebut adalah :

File

Di dalam menu File terdapat 4 macam opsi pilihan yang dapat dipilih pengguna sesuai dengan kebutuhan yaitu opsi New (membuat file baru), opsi Open (membuka file yang sudah ada), opsi Save (menyimpan file), dan opsi Print (mencetak file).

Edit

Di dalam menu Edit terdapat 3 macam opsi pilihan yang dapat dipilih pengguna sesuai dengan kebutuhan yaitu opsi Cut (memindahkan teks), opsi Copy (menggandakan teks), dan opsi Paste (menempelkan teks).

Close

Di dalam menu Edit tidak ada opsi pilihan, karena menu ini hanya berfungsi untuk menutup file yang sedang terbuka.

Untuk mempermudah dalam memahami bagaimana cara untuk mengoperasikan program Notepad tersebut, berikut adalah sebuah video tutorial yang saya buat untuk mendemonstrasikan penggunaan program tersebut.






Share:

Tuesday, December 22, 2020

PENUGASAN 9 PEMROGRAMAN BERORIENTASI OBJEK (PBO)

 Exception Handling

WHAT IS?
Error dapat muncul secara tidak terduga dan bisa mengganggu aliran eksekusi program. Ini adalah sesuatu yang dihadapi setiap programmer pada satu titik atau yang lain saat melakukan coding. Java, sebagai object oriented language yang paling menonjol, menyediakan mekanisme yang ampuh untuk menangani kesalahan / pengecualian ini.

Exception Handling adalah mekanisme yang paling diperlukan dalam menangani error yang terjadi pada saat runtime (program berjalan) atau yang lebih dikenal dengan sebutan runtime error.

Ketika Exception terjadi dan tidak ditangani, maka program akan berhenti secara tiba-tiba (potongan kode setelah baris yang menyebabkan Exception tidak akan dijalankan).

WHY?
Exception adalah masalah yang terjadi ketika program berjalan dan bisa terjad karena beberapa hal yaitu :
a. User melakukan input data yang invalid.
b. File tidak ditemukan.
c. Di tengah komunikasi terjadi masalah jaringan
d. JVM kehabisan memori.

HOW?
Secara umum Exception Handling dapat dilakukan menggunakan keyword try-catch, dimana selain keyword try-catch terdapat kata kunci lain yang juga bisa digunakan yaitu :

Penerapan berbagai macam keyword di atas di dalam kodingan dapat dilihat sebagai berikut :

Try
Jika source code di atas di-compile dan di run, maka akan didapatkan output sebagai berikut :

Catch

Throw
Throw bisa digunakan untuk melempar 1 atau beberapa pengecualian, dengan syarat menggunakan tanda koma sebagai pemisah antar pengecualian.

Misalkan, metode berikut deklarasi throw untuk RemoteException dan InsufficientFundsException :

Finally

Jika source code di atas di-compile dan di run, maka akan didapatkan output sebagai berikut :

EXAMPLE
Beberapa exception yang sering terjadi pada bahasa pemrograman Java adalah sebagai berikut :

Arithmetic Exception
Untuk perhitungan aritmatika, misalkan sebuah angka dibagi 0.

Jika source code di atas di-compile dan di run, maka akan didapatkan output sebagai berikut :

Null Pointer Exception
Bila objek yang ingin diakses masih null, maka tidak bisa mengakses method dari object tersebut.

IO Exception
Bila yang diminta berupa angka, tetapi yang diinputkan berupa string.

Array Index out Of Bounds Exception
Mengakses elemen array melebihi batas size yang telah di definisikan sebelumnya.

Kodingan di atas dapat menyebabkan terjadinya exception pada saat runtime, yaitu indeks yang diakses melebihi dari size yang telah didefinisikan sebelumnya. Untuk menanganinya, Exception Handling dapat dilakukan dengan cara : 

Sumber :
Penanganan Exception di Dalam Java
Share:

Tuesday, December 15, 2020

PENUGASAN 8 PEMROGRAMAN BERORIENTASI OBJEK (PBO)

 Pong Game

Game Pong adalah sebuah game arcade yang dianggap sebagai cikal bakal video game, game ini sendiri dikembangkan oleh Atari Inc. pada tanggal 29 November 1972. Mekanisme Game Pong didasarkan pada olahraga tenis meja (Ping Pong). Kali ini kita akan membahas bagaimana cara untuk membuat Game Pong dengan menggunakan bahasa pemrograman Java.

Di dalam program game ini terdapat 4 macam class, yaitu :
a. Pong              c. Renderer     
b. Paddle          d. Ball

Pong

Ball

Paddle

Renderer

Setelah keempat class diatas di-compile, dihubungkan, dan di run pada main class dari program yaitu class Pong maka akan ditampilkan program Game Pong sebagai berikut :


Di dalam program Game Pong terdapat berbagai macam menu yang dapat dipilih oleh pengguna sesuai dengan kebutuhannya, menu - menu tersebut adalah :

Press Space to play
Di sini pemain akan langsung masuk ke dalam permainan, dimana suatu pemain (player 1) akan melawan pemain lainnya (player 2). Player 1 bergerak dengan w dan s, sedangkan player 2 bergerak dengan panah atas dan bawah.

Press Shift to Play with Bot

Jika suatu player memilih menu tersebut, maka player akan di arahkan ke menu lain. Di menu tersebut player dapat memilih tingkat kesulitan bot sesuai dengan yang diinginkan, dimana jika sudah sesuai player tinggal menekan tombol space untuk memulai permainan.

Score Limit
Di sini pemain bisa menetapkan jumlah maksimal score dari masing - masing player ataupun bot untuk memenangkan permainan.

Untuk mempermudah dalam memahami bagaimana cara untuk mengoperasikan program Game Pong tersebut, berikut adalah sebuah video tutorial yang saya buat untuk mendemonstrasikan saat saya memainkan Game Pong melalui program tersebut.

















Share:

Sunday, December 13, 2020

PENUGASAN 7 PEMROGRAMAN BERORIENTASI OBJEK (PBO)

Java FX & Java Applet 


Java FX
JavaFX adalah adalah salah satu library Java yang dapat digunakan untuk membangun Rich Internet Applications seperti grafis, sound, effect, dan video yang diintegrasikan ke dalam website dan berjalan di dalam jaringan internet. Aplikasi yang dikembangkan dengan menggunakan JavaFX biasanya bersifat multi platform (dapat berjalan di berbagai perangkat seperti PC, Mobile Phones, TV, Tablet, dan lain - lain) dan mendukung berbagai macam OS seperti Windows, Linux, dan MacOS

Untuk mengembangkan Aplikasi GUI menggunakan bahasa pemrograman Java, programmer biasanya mengandalkan library seperti Advanced Windowing Toolkit dan Swings. Setelah munculnya library JavaFX, programmer java sekarang dapat mengembangkan aplikasi GUI dengan konten yang lebih bervariasi. Dengan menggunakan teknologi Java, aplikasi ini memiliki tingkat penetrasi browser sebesar 76%. Untuk mempelajari JavaFX, beberapa compiler baru dan modern seperti Intellij tidak bisa dipakai karena JDK di atas JDK 11 sudah tidak mendukung JavaFX. OLeh karena itu kita harus menggunakan compiler yang lebih lawas seperti BlueJ atau Eclipse.

Untuk mempermudah dalam memahami JavaFX, berikut adalah contoh program sederhana dalam bahasa Java untuk memvisualisasikan pengaplikasian Library JavaFX yaitu sebuah program bernama Fortune_Teller. Sesuai dengan namanya, program dibawah ini berfungsi untuk mencetak ramalah - ramalan random untuk pengguna sesuai dengan sektor - sektor yang diinginkan oleh pengguna (kesehatan, percintaan, dan keuangan).

Di dalam program game hanya terdapat 1 class yang juga berfungsi sebagai main class, yaitu Fortune_Teller.

Setelah class diatas di-compile dan di run  maka akan ditampilkan program Fortune_Teller sebagai berikut :

Di dalam program Fortune_Teller terdapat berbagai macam menu ramalan yang dapat dipilih oleh pengguna sesuai dengan keinginannya, dimana saat menu tertentu dipilih maka program akan menampilkan ramalan random sesuai dengan tema ramalan yang dipilih pengguna.

Ramalan Kesehatan

Ramalan Percintaan

Ramalan Keuangan

Java Applet
Java Applet adalah sebuah aplikasi java yang dapat disisipkan ke dalam halaman HTML untuk kemudian dapat diakses oleh pengguna melalui halaman web. Java Applet juga dapat didownload terlebih dahulu oleh pengguna dan kemudian dijalankan melalui sebuah browser. Secara default, Java Applet tidak bisa mengakses resource pada komputer lokal. Java Applet biasanya digunakan untuk membuat website lebih dinamis dan menghibur dengan cara menambahkan beberapa fungsi kepada halaman web yang bersifat statis, dengan syarat bahwa perangkat yang digunakan memiliki browser yang mendukung Java seperti Microsoft Internet Explorer 4.0 ke atas, Netscape Navigator, Mozilla Firefox, Chrome, dan Opera.

Untuk mempermudah dalam memahami Java Applet, berikut adalah contoh program dalam bahasa Java untuk memvisualisasikan pengaplikasian Java Applet yaitu sebuah program bernama Clock. Program dibawah ini berfungsi untuk membuat sebuah jam analog yang mampu memberikan informasi waktu secara real time (tidak statis).

Setelah class diatas di-compile dan di run  maka akan ditampilkan program Clock sebagai berikut :

Di dalam program Clock diameter dan ukuran dari jam dapat diatur oleh pengguna, dimana jika height dan width dari jam di set masing - masing sebesar 500 maka akan didapatkan output sebagai berikut :



























Share:

Friday, December 11, 2020

PENUGASAN 6 PEMROGRAMAN BERORIENTASI OBJEK (PBO)

 Pemrograman GUI : Image Viewer dengan Menggunakan Java

Definisi
GUI (Graphical User Interface) adalah sebuah desain aplikasi dengan tampilan visual yang berfungsi untuk mempermudah pengguna ketika menggunakan sebuah aplikasi. Pemrograman GUI dibuat dengan menggunakan sebuah aplikasi berbasis GUI, dimana tujuan dari program ini adalah untuk menambahkan komponen - komponen yang tidak berbasis text seperti gambar, video, dan lain - lain. Hal ini diperlukan karena pengguna cenderung lebih mudah dalam memahami tata cara penggunaan sebuah aplikasi melalui abstraksi visual dibandingkan jika hanya berupa narasi berupa text.

Untuk mempermudah dalam memahami GUI (Graphical User Interface), berikut adalah contoh program sederhana dalam bahasa Java untuk memvisualisasikan pengaplikasian GUI (Graphical User Interface) dengan nama Image Viewer. Program di bawah memiliki fungsi untuk mempermudah pengguna dalam melakukan penampilan dan pengeditan gambar melalui filter - filter yang tersedia seperti lighter, darker, dan threshold.

Di dalam program game ini terdapat 4 macam class, yaitu :
a. OFImage                            c. ImagePanel        
b. ImageFileManager             d. ImageViewer


ImageViewer
Class ImageViewer adalah kelas utama atau main class dari program. Fungsi dari class ini adalah membangun dan menampilkan aplikasi GUI serta menginisialisasi komponen - komponen yang lain

OFImage
Class OFImage adalah subclass dari program. Fungsi dari class ini adalah mendefinisikan gambar dalam OF (Object First)

ImageFileManager
Class ImageFileManager adalah subclass dari program. Class ini adalah class utilitas kecil dengan metode statis yang berfungsi untuk memuat dan menyimpan gambar (format jpg atau png). File yang dituliskan oleh class ini formatnya ditentukan oleh IMAGE_FORMAT konstan.

ImagePanel
Class ImagePanel adalah subclass dari program. Class ini adalah komponen swing yang berfungsi untuk menampilkan gambar OFI

Setelah keempat class diatas di-compile, dihubungkan, dan di run pada main class dari program yaitu class ImageViewer maka akan ditampilkan program ImageViewer sebagai berikut :

Di dalam program ImageViewer terdapat berbagai macam menu yang dapat dipilih oleh pengguna sesuai dengan kebutuhannya, menu - menu tersebut adalah :

File

Di dalam menu file terdapat 3 macam opsi yaitu menu open (untuk membuka file gambar yang tersimpan di laptop / pc), menu close (untuk menghapus gambar yang telah di buka), dan menu quit (untuk keluar dari program).

Filter

Di dalam menu filter terdapat 3 macam opsi filter yang dapat dipilih oleh pengguna untuk melakukan pengeditan gambar yaitu menu darker (untuk membuat gambar menjadi lebih gelap), menu lighter (untuk membuat gambar menjadi lebih terang), dan menu threshold (untuk mengubah warna gambar menjadi hitam-putih).

Help

Menu help berfungsi untuk menampilkan versi dari program

Untuk mempermudah dalam memahami bagaimana cara untuk mengoperasikan program ImageViewer tersebut, berikut adalah sebuah video tutorial yang saya buat dengan menggunakan gambar disney.















Share:

Tuesday, November 24, 2020

EVALUASI TENGAH SEMESTER PEMROGRAMAN BERBASIS OBJEK (PBO)

 ETS PBO NO. 3

Implementasikan rancangan Class dengan menggunakan bahasa pemrograman Java

Class ATM
Berfungsi sebagai main class tempat kegiatan transaksi terjadi, dimana di dalam class ini terdapat pilihan - pilihan menu yang lazim ditemukan pada sebuah mesin ATM dan menu - menu tersebut dapat dipilih sesuai dengan keinginan user. Agar output yang ditampilkan sesuai dengan perintah yang diinput oleh user, maka class ini akan memanggil fungsi - fungsi yang ada di class selanjutnya yaitu class Nasabah.

Class Nasabah
Di dalam class ini terdapat beberapa fungsi yang berguna agar saat program dijalankan di main class, maka output yang ditampilkan akan sesuai dengan keinginan. Fungsi - fungsi di dalam class ini antara lain adalah fungsi untuk melakukan penarikan uang, transfer, melihat saldo yang tersisa, melakukan pembayaran, dan fungsi - fungsi lainnya. 

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

Timestamp : 19.25

Share:

EVALUASI TENGAH SEMESTER PEMROGRAMAN BERBASIS OBJEK (PBO)

MENARIK UANG TUNAI DARI ATM

 

Pada kali ini saya akan membuat sebuah program untuk men-simulasikan kegiatan penarikan uang dengan menggunakan automatic teller machine (ATM). Di dalam program ini saya membuat dua buah class yaitu :

ATM 
Berfungsi sebagai main class tempat kegiatan transaksi terjadi, dimana di dalam class ini terdapat fungsi untuk menampilkan output - output sesuai dengan perintah yang diinput oleh user. Agar output yang ditampilkan sesuai dengan perintah yang diinput oleh user, maka class ini akan memanggil fungsi - fungsi yang ada di class selanjutnya yaitu class Nasabah.

Nasabah
Di dalam class ini terdapat beberapa fungsi yang berguna agar saat program dijalankan di main class, maka output yang ditampilkan akan sesuai dengan keinginan. Fungsi - fungsi di dalam class ini antara lain adalah fungsi untuk melakukan penarikan uang, transfer, melihat saldo yang tersisa, melakukan pembayaran, dan fungsi - fungsi lainnya.

Skenario Fungsionalitas

  • Kartu ATM dimasukkan oleh user dan program berjalan.

  • Program akan meminta user untuk memasukkan pin, jika benar maka masuk ke menu utama dan jika tidak maka program akan meminta untuk mengulangi penginputan pin.

  • Masuk ke menu utama dimana terdapat berbagai macam opsi perintah seperti penarikan uang yang dapat dipilih oleh user dengan range 100.000 - 1.000.000. Kemudian terdapat menu daftar E-Banking dan pilihan transaksi lainnya. Jika user memilih transaksi lainnya, maka akan muncul opsi - opsi perintah lain yang dapat dipilih oleh user. Yang terakhir terdapat menu keluar jika user ingin berhenti bertransaksi.

  • Jika user memilih menu penarikan tunai dimana nominalnya di set secara default dari ATM (100.000, 250.000, dan lain-lain), maka program akan mengeluarkan output yaitu "Penarikan sebesar ... berhasil dilakukan. Sisa saldo anda adalah ..."

  • Jika user memilih menu daftar E-Banking, maka user akan diarahkan ke menu yang baru.

  • Apabila user memilih menu transaksi lain, maka user akan masuk ke menu baru yang berisi opsi - opsi perintah lain seperti info saldo, , pembayaran, penarikan tunai (nominal yang diinginkan user), transfer, ganti pin, flazz, dan voucher isi ulang pembelian.

  • Yang terakhir jika user memilih menu keluar, maka program akan berhenti berjalan.

Diagram Class


Timestamp : 11.56



Share:

Tuesday, November 17, 2020

PENUGASAN 5 PEMROGRAMAN BERORIENTASI OBJEK (PBO)

  World of Zuul

Dalam mempelajari bahasa pemrograman Java hal yang perlu kita pelajari selanjutnya adalah designing classes. Sekarang kita akan mempelajari beberapa bentuk designing classes di dalam Java, yaitu coupling dan cohesion.

Coupling  adalah derajat  ketergantungan suatu modul terhadap modul lainnya. Kita harus pastikan bahwa suatu modul seminimal mungkin tergantung atau berpengaruh terhadap modul lainnya. Tujuannya jika ada update secara internal di dalam suatu modul, modul-modul lainnya tidak akan terlalu kena pengaruh

Sedangkan cohesion adalah keterikatan fungsi-fungsi di dalam suatu modul. Maksudnya adalah modul yang dibuat memiliki fungsi-fungsi yang serupa untuk satu tanggung jawab. Karena itu high cohesion sangat penting dalam perancangan software.

Untuk mempermudah dalam memahami Coupling dan cohesion, berikut adalah contoh program dalam bahasa Java yang mengimplementasikan kedua hal tersebut yaitu program game dengan nama "World of Zuul". World of Zuul adalah sebuah game sederhana bertema adventure dimana pemain diharuskan untuk mencari jalan keluar dari sebuah map. 

Di dalam program game ini terdapat 3 macam class, yaitu :
a. Game      c. Room            e. CommandWords  
b. Parser    d. Command 

GamE
Class Game adalah kelas utama atau main class dari program. Fungsi dari class ini adalah mengatur jalannya permainan dan memasuki loop untuk membaca dan menjalankan perintah dari user. Di dalam class ini juga terdapat kode yang berfungsi untuk mengimplementasikan perintah dari pengguna.

Parser
Class Parser berfungsi untuk membaca baris input dari terminal dan mencoba menerjemahkannya sebagai sebuah Command. Ini menjadikan objek dari class Command yang mewakili perintah tersebut. Saat dipanggil, class ini akan membaca baris input dari terminal dan menerjemahkannya sebagai 2 kata Command, dan me-return Command sebagai objek dari Class Command. Selain itu class ini juga berfungsi untuk melakukan pengecekan terhadap input dari user, dimana jika input berupa command tidak ada di dalam program (class command) maka akan dicetak sebagai perintah yang tidak diketahui

RooM
Class Room merupakan objek yang mewakili lokasi di dalam game. Setiap lokasi atau dalam hal ini ruangan di dalam game memiliki pintu keluar (north, south, east, west) yang mengarah ke lokasi atau ruangan lainnya. Untuk setiap input game akan mengarahkan player untuk menuju ruangan yang bersebelahan dengan mencetak jalan keluar dari empat arah mata angin di atas, namun jika tidak ada jalan keluar menuju ruangan tersebut maka akan dianggap null.

Command
Class Command merupakan sebuah objek perintah dan mewakili perintah yang dimasukkan oleh pengguna. Kelas ini memudahkan user untuk melakukan pengecekan apakah command yang di-input adalah command yang valid, selain itu class ini juga berfungsi untuk mendapatkan kata pertama serta kedua dari perintah tersebut sebagai string yang terpisah

CommandWords
Class CommandWords mendefinisikan command apa saja yang valid di dalam game, dimana command yang dianggap valid adalah "go, help, quit". Ini dilakukan dengan menyimpan array objek string yang mewakili kata-kata perintah. Di dalam class ini juga dilakukan enumerasi (pencacahan satu persatu/penjumlahan) pada semua kata perintah yang dikenal dalam game dimana hal ini dilakukan untuk mengenali command dalam pengetikan oleh user.           

Setelah kelima class diatas di-compile, dihubungkan, dan di run pada main class dari program yaitu class Game maka dengan melakukan input - input tertentu akan didapatkan output seperti berikut :



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




Share:

Tuesday, November 10, 2020

PENUGASAN 4 PEMROGRAMAN BERORIENTASI OBJEK (PBO)

 Tech Support System


Technical Support System adalah layanan yang diberikan oleh suatu perusahaan untuk membantu mengatasi masalah klien dalam pemakaian ataupun penerapan dari perangkat keras/perangkat lunakTechnical Support System pada umumnya diberikan dalam bentuk email, tiket, SMS, chat, website, ataupun melalui layanan telepon.

Untuk memberikan gambaran bagaimana layanan Technical Support System yang disediakan oleh perusahaan dapat membantu klien dalam mengatasi permasalahan yang sedang dihadapi, berikut saya lampirkan contoh program dengan menggunakan Java yang bertujuan untuk mensimulasikan klien yang sedang menggunakan layanan Technical Support System.

Di dalam program ini saya membuat 3 macam class, dimana class - class tersebut adalah :
a. SupportSystem : Berfungsi sebagai class utama tempat program di-run
b. InputReader      : Berfungsi untuk menerima inputan berupa pertanyaan dari user / klien
c. Responder         : Berfungsi untuk memberikan respon berupa jawaban sesuai dengan inputan dari user / klien

Diagram Class

Support System

Input Reader

Responder

Output

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



Share: