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: