Selasa, 20 Desember 2016

Analisis Software Vending Machine


Deskripsi Software

Vending Machine merupakan suatu alat atau mesin yang menjual barang secara otomatis. Vending Machine yang kami analisis yaitu mesin yang berada di Plaza Lama Teknik Informatika ITS. Minuman yang dijual di Vending Machine tersebut ada empat jenis, yaitu air mineral, susu Bear Brand, Pocari Sweat, dan teh Pucuk Harum. Sedangkan metode pembayaran yang digunakan yaitu dengan menggunakan e-money.




Pada prototype vending machine yang kami buat di sini terdapat delapan pilihan produk yang bisa dibeli oleh pembeli. Untuk sistem pembayaran, kami menggunakan ID kartu sebagai analogi dari tap e-money, sehingga pembeli harus memasukkan ID kartu untuk membeli produk yang ada.

Use case Diagram

Use case diagram adalah diagram usecase yang digunakan untuk menggambarkan secara ringkas siapa yang menggunakan sistem dan apa saja yang bisa dilakukannya. Diagram use case pada prototype vending machine kami adalah sebagai berikut :



Sequence Diagram

Sequence diagram adalah suatu diagram yang menggambarkan interaksi antar obyek dan mengindikasikan komunikasi diantara obyek-obyek tersebut. Berikut ini adalah gambar sequence diagram dari vending machine:


Sequence Diagram Pemilihan Barang


Sequence Diagram Penambahan Stok Minuman 



Komponen Diagram

Diagram komponen atau component diagram dibuat untuk menunjukkan organisasi dan ketergantungan diantara kumpulan komponen dalam sebuah sistem. Adapun Komponen Diagram yang kami buat pada software vending machine adalah sebagai berikut:


Class Diagram

Class Diagram adalah model statis yang menggambarkan struktur dan deskripsi class seta hubungannya antara class. Berikut ini merupakan Class Diagram pada program vending machine yang kami buat:



Rancangan Layar

Berikut ini adalah rancangan layar dari sistem vending machine yang kami buat:

1. Menu Utama
Menu utama merupakan tampilan utama dari vending machine. Pada menu ini, pembeli harus memasukkan ID Kartu e-money yang dimiliki pembeli untuk membeli produk tersebut. Terdapat delapan macam pilihan produk yang bisa didapatkan oleh pembeli melalui vending machine ini. Adapun bentuk tampilan menu utama dapat dilihat pada gambar dibawah ini :


2. Menu Penambahan Stok Minuman
Menu ini dibuat khusus bagi petugas apabila petugas ingin me-restock produk. Berikut adalah desain dari menu penambahan stok minuman:



Jumat, 02 Desember 2016

Design Pattern: State Pattern

Definisi

State Pattern adalah solusi untuk masalah bagaimana membuat perilaku tergantung pada state. Pola state ini tidak menentukan mana transisi state yang akan didefinisikan. Pilihannya adalah duam yakni: "konteks" objek atau setiap state individu berasal.
Keuntungannya adalah kemudahan untuk menambah kelas baru yang berasal dari state.
Kelemahannya adalah setiap kelas turunan dari state memliki pengetahuan sambungan yang memperkenalkan dependensi antara subclass.

Implementasi



1. Buatlah interface dengan nama PlayerState

 public interface PlayerState {       
      void action(Player p);  
 }  

2. Buatlah tiga kelas berbeda dengan state yang berbeda. Pada contoh dibawah ini saya menamai HealthyState, SurvivalState, DeadState.

 public class HealthyState implements PlayerState {  
      @Override  
      public void action(Player p) {  
           p.attack();  
           p.fireBumb();  
           p.fireGunblade();  
           p.fireLaserPistol();  
      }  
 }  
 public class SurvivalState implements PlayerState {  
      @Override  
      public void action(Player p) {  
           p.survive();  
           p.firePistol();  
      }  
 }  
 public class DeadState implements PlayerState {  
      @Override  
      public void action(Player p) {  
           p.dead();  
      }  
 }  

3. Buat GameContext.java

 public class GameContext {  
      private PlayerState state = null;  
      private Player player = new Player();  
      public void setState(PlayerState state) {  
           this.state = state;  
      }  
      public void gameAction() {  
           state.action(player);  
      }  
 }  

4. Buat GameTest.java

 public class GameTest {  
      public static void main(String[] args) {  
           GameContext context = new GameContext();  
           context.setState(new HealthyState());  
           context.gameAction();  
           System.out.println("*****");  
           context.setState(new SurvivalState());  
           context.gameAction();  
           System.out.println("*****");  
           context.setState(new DeadState());  
           context.gameAction();  
           System.out.println("*****");  
      }  
 }  


Output

 Attack  
 Fire Bomb  
 Fire Gunblade  
 Laser Pistols  
 *****  
 Surviving!  
 Fire Pistol  
 *****  
 Dead! Game Over  
 *****  

Senin, 24 Oktober 2016

Sistem Informasi Rental Mobil

1. USE CASE DIAGRAM 



Pada gambar di atas yang bertugas menjadi aktor adalah pelanggan dan petugas. pada sistem ini pelanggan tidak masuk pada sistem, pelanggan hanya melakukan pendaftaran secara manual. Petugas lah yang nantinya akan menginputkan data pelanggan pada sistem. Petugas bertugas menginputkan data rental, data penyewaan, termasuk data pelanggan yang mendaftar untuk melakukan penyewaan dan pembayaran.


2. CLASS DIAGRAM





3. SEQUENCE DIAGRAM 


- Sequence Diagram Login Petugas 

Prosedur pelaksanaanya : 
1. petugas memasukan username dan password pada sistem. 
2. petugas masuk pada bagian kepegawaian.
3. sistem akan melakukan pengecekan apabila terjadi kesalahan akan muncul peringatan username atau password salah. 
4. apabila sudah masuk ke sistem, petugas akan masuk ke manu utama form

- Sequence Diagram Pendaftaran Customer 

Prosedur pelaksanaannya : 
1. pelanggan akan mengisi formulir pendaftaran. 
2. data pelanggan berupa fisik, akan di serahkan pada bagian petugas. 
3. petugas akan melakukan pengecekan apakah sudah lengkap atau belum. Apabila masih ada yang belum lengkap petugas akan mengkonfirmasikan lagi ke pelanggan. 
4. petugas akan menyimpan data terlebih dahulu sebelum di masukan kedalam sistem yang terkomputerisasi.

- Sequence Diagram Input Data Pendaftaran

Prosedur pelaksanaanya : 
1. petugas memilih form input data pelanggan. 
2. petugas akan melakukan input data pelanggan. 
3. sistem akan mengecek apakah sudah lengkap apa belum, kalo belum sistem akan memunculkan peringatan data pelanggan belum lengkap. 
4. sistem akan menyimpan data pelanggan tersebut apabila prosedur sudah lengkap. 

- Sequence Diagram Input Data Rental 

Prosedure pelaksanaannya : 
1. petugas masuk ke form data mobil. 
2. petugas menginputkan data mobil. 
3. sistem akan mengecek dan menyimpan. Apabila ada yang kurang atau tidak cocok akan muncul peringatan data belum lengkap. 
4. petugas masuk ke form data supir. 
5. petugas menginputkan data supir. 
6. sistem akan mengecek dan menyimpan. Apabila ada yang kurang atau tidak cocok akan muncul peringatan data belum lengkap. 

- Sequence Diagram Input Data Peminjaman


Prosedur Pelaksanaannya : 
1. petugas memilih input data peminjaman pada form utama. 
2. petugas menginputkan data pelanggan yang melakukan peminjaman. 
3. sistem akan mengecek dan mengesave pada data peminjaman. Apabila masih ada data yang belum lengkap sistem akan memunculkan peringatan data peminjaman belum lengkap. 
4. sistem akan menampilkan data yang sudah di inputkan. 

- Sequence Diagram Input Data Pengembalian dan Pembayaran 



Prosedur pelaksanaannya : 
1. petugas memilih form input pengembalian. 
2. petugas penginputkan data pengembalian. 
3. sistem akan mencetak data pengembalian tersebut. 
4. pelanggan melakukan pembayaran
5. petugas akan memberikan struk pembayaran pada pelanggan. 


4. ACTIVITY DIAGRAM

- Activity Diagram Pendaftaran Pelanggan



- Activity Diagram Peminjaman


- Activity Diagram Pengembalian





Selasa, 27 September 2016

Use Case Diagram ATM

UML Diagram ATM System

Pada diagram tersebut, saya membagi Actor menjadi 3 yaitu Operator, Customer, dan Bank. Pertama saya membagi 2 event untuk Operator yaitu System Startup dan System Shutdown.



System Startup 
Mesin atm sudah connect ke bank dan nasabah dapat memakai mesin tsb.

System Shutdown
Sistem akan dimatikan ketika operator sudah memastikan bahwasanya tidak ada lagi nasabah yang menggunakan mesin ATM


Login
Di mana nasabah harus memasukkan kartu atm dan pin untuk nantinya terhubung ke session

Session 
Setelah kartu ATM berhasil dibaca dan nasabah memasukkan PIN maka akan muncul pesan INVALID PIN jika pin yang dimasukkan salah dan akan lanjut ke Transaksi

Transaksi
Transaksi yang dilakukan berupa Informasi Saldo,Transfer,Pembayaran,Tarik Tunai,dan Ganti PIN

Informasi Saldo
informasi saldo merupakan suatu informasi pada rekening seorang nasabah terkait saldo yang ia miliki. 

Transfer
pada transaksi transfer terbagi menjadi dua yaitu transfer antar sesama bank atau transfer beda bank, jika transfer berbeda bank maka perlu dimasukkan kode bank
tujuan dan apabila tujuan nya antar sesama bank maka tidak perlu memasukkan kode bank, cukup memasukkan no rekening tujuan saja.

Pembayaran
terdapat beberapa menu lagi diantaranya (pembayaran tiket, voucher telpon, pendidikan, dll) silahkan memilih salah satu menu
yang tersedia pada menu pembayran, dan ketika transaksi selesai maka mesin akan mencetak nota sebagai bukti transaksi.

Tarik tunai
proses untuk menarik uang, biasanya pada menu tampilan utama sudah tersedia jumlah uang yang ingin ditarik (100 ribu, 300 ribu, 1.5 juta)

Ganti pin
untuk mengganti PIN ATM sebelumnya kan dimintai memasukkan PIN yang lama untuk verifikasi lalu baru bisa mengubah menjadi PIN baru


Jika ditelusuri lebih lanjut sequencenya maka akan menjadi seperti ini :
System Startup :



Saat system startup maka operator akan menyalakan ATM kemudian sistem ATM bertugas mengambil data tunai nasabah tersebut sehingga harus melakukan koneksi ke Bank untuk mengambil datanya.

System Shutdown:

Operator mematikan mesin ATM dan juga meng-terminate koneksi ATM tersebut dengan Bank

Login dan Session :
session
Pada saat login, setelah kartu ATM dimasukkan maka nasabah diharuskan memasukkan PIN untuk lanjnut ke Session. Setelah PIN terbaca masuk ke Session maka nasabah baru bisa melakukan transaksi. Nasabah bisa melakukan transaksi lebih dari sekali, jika tidak maka kartu langsung dapat dikeluarkan

Transaksi :

Proses transaksi dapat dilakukan saat dapat pesan yang spesifik untuk melakukan proses selanjutnya dari nasabah lalu ATM akan menampilkan saldo yang diambil dari data Bank setelah nasabah melakukan transaksi yang terakhir dan mencetak resi. Kemudian yang terakhir, proses ini dapat diulang berkali-kali jadi nanti akan muncul pesan "ingin melakukan transaksi lain" "iya atau tidak". Jika Ya, maka nasabah dapat melakukan transaksi lain, jika Tidak, maka kartu akan dikeluarkan.

Selasa, 13 September 2016

UML Diagram Air Conditioner




UML menyediakan setidaknya 10 macam diagram untuk memodelkan aplikasi berorientasi objek. Salah satu contohnya yaitu Use Case Diagram yang akan saya gunakan untuk membuat diagram UML. Untuk membuat diagram, saya menggunakan www.draw.io yang bisa digunakan secara online.




Dalam diagram di atas terdapat 5 case yang biasa digunakan remote Air Conditioner untuk terhubung langsung dengan Air Conditioner, yaitu:
1. Switch On/Off
2. Switch_Temperature
3. Set_Timer
4. Fan_Speed
5. Switch_Mode

Demikian penjelasan tentang UML Diagram Air Conditioner menggunakan Use Case Diagram.