Minggu, 22 April 2018

Proposal Aplikasi Money Lover


1.Latar Belakang

Keuangan merupakan masalah utama, baik dalam sebuah keluarga, ataupun perusahaan. Mengatur keuangan sendiri merupakan sebuah keharusan, untuk menghindari dari penggunaan-penggunaan uang yang melewati batas, ataupun penggunaan-penggunaan yang tidak perlu.

Sedangkan dalam mengatur keuangan, sering masyarakat dibatasi oleh keterbatasan jarak, waktu dalam melakukan pencatatan keuangan. Keterbatasan ini secara tidak langsung dapat membuat inkonsistensi dalam pencatatan yang dapat membuat pengaturan keuangan menjadi tidak konsisten dan dapat menimbulkan pengeluaran-pengeluaran yang tidak diperlukan. Untuk itu, diperlukannya peran teknologi yang dapat menjadi solusi dalam masalah keterbatasan-keterbasan tersebut.

Peran teknologi di sini harapannya dapat menjadi jawaban untuk keterbatasan-keterbatasan yang ada. Dapat mencatat keuangan di manapun, dan kapanpun tanpa barus membawa alat-alat fisik yang dapat dikatakan sudah tidak relevan di era modern ini.


2.Maksud dan Tujuan

Maksud dari perancangan aplikasi ini berfungsi untuk mengatur pengeluaran dan pemasukan keuangan anda dalam kehidupan sehari-hari.

3.Sasaran
Sasaran utama yang ingin dicapai adalah aplikasi ini dapat membantu orang yang susah mengatur pengeluaran dan pemasukan khususnya dalam hal keuangan agar keuangan dapat diatur dengan baik.

4.Standar Teknis
Standar teknis yang menjadi acuan pembuatan aplikasi antara lain:

- DatabaseSebagai penyimpanan data pengguna dapat menggunakan aplikasi open source yang ringan dan dapat menampung data dalam jumlah banyak.

- Sistem 
1.Aplikasi berbasis Android
2.menggunakan Bahasa pemrograman
3.menggunakan CSS framework

- Keamanan
1.Autentifikasi user
setiap user memiliki akun tersendiri sehingga user bisa mengakses sesuai dengan kebutuhan usernya.

2.backup/restore
Agar data yang digunakan user aman atau tidak terjadi yang diinginkan makan apliasi ini menfasilitasi backup/restore agar data dapat kembali dengan mudah.

5. Lingkup, Lokasi, Fasilitas, dan Alih Pengetahuan


a. Lingkup
Ruang lingkup pembuatan aplikasi manajemen keuangan Money Lover dari Finsify Co.,Ltd harus dilaksanakan oleh Tim Pengembang yang terdiri atas enam tahapan sebagai berikut:

· Perancanaan dan Persiapan Pelaksanaan Pekerjaan
· Analisis dan Evaluasi terhadap Struktur dan Proses Bisnis
· Perancangan Sistem
· Pembangunan Sistem
· Uji Coba Operasional
· Penyusunan Laporan dan Dokumentasi Sistem

6. Keluaran
Keluaran dari kegiatan pembuatan aplikasi ini adalah:

1. Aplikasi tracking paket milik PT. Kirim Barang.
2. Buku panduan pengoperasian aplikasi tracking paket.

7. Waktu Penyelesaian
Waktu pelaksanakan ini selambat-lambatnya 75 hari

8. Identifikasi Permasalahan
Identifikasi permasalahan ini yang perlu dibangunnya aplikasi money lover:

1.tidak bisanya orang memanagement pengeluaran dan pemasukan keuangan dalam kehidupan sehari-hari

9. Pegalaman Membangun Aplikasi

Ada 4 fitur utama yaitu:
1.Menu Beranda
Yaitu menu yang menampilkan 3 menu yaitu menu budget,saving,bills.

2.Menu budget
Yaitu menu yang menampilkan budget yang user punya untuk beberapahari kedepannya.

3.Saving
Yaitu menu yang menampilkan goal yang ingin dicapai dan deadline yang sudah ditentukan oleh user.

4.Bills
Yaitu menu yang menampilkan hutang yang pernah dilakukan oleh user dan deadline yang harus dibayarnya.

10. Penutup
Demikian Proposal aplikasi Money Lover

Senin, 05 Maret 2018

Lesson learned

Lesson Learned dalam konteks manajemen proyek adalah bagian dari Organizational Process Assets. Lesson learned merupakan bagian knowledge management merupakan proses penting bagi organisasi untuk tumbuh dan berkembang serta menatap tantangan ke depan, sehingga penting untuk dilaksanakan.
Dalam organisasi yang berskala kecil, melakukan lesson learned pastilah gampang. Namun untuk proyek konstruksi yang memiliki kompleksitas yang tinggi, haruslah dibuat suatu prosedur lesson learned yang mudah dan aplikatif tanpa mengurangi perannya yang penting.
Dalam kebanyakan praktik di lapangan, belum pernah ada suatu prosedur standart bagi tim proyek untuk membuat lesson learned yang menjadikan program ini bak program langka nan aneh. Mereka juga belum pernah melihat wujud dokumen lesson learned secara nyata. Sehingga membuat lesson learned bagi mereka adalah salah satu pekerjaan yang tersulit.
Inilah tantangannya, karena pelaku proyek ingin sesuatu yang cepat, tidak berbelit-belit, dan langsung pada sasaran / target. Sedangkan membuat lesson learned tidak dapat secepat itu karena merupakan produk dari aktifitas berfikir / evaluasi yang membutuhkan waktu.
Berdasarkan hal tersebut di atas, dapat ditarik beberapa syarat agar prosedur lesson learned bisa aplikatif, yaitu:
  • Ringkas, yaitu prosedur tidak terlalu panjang atau berbelit-belit.
  • Proses yang cepat, dimana proses membuat lesson learned tidak membutuhkan waktu yang lama. Hal ini karena pelaku konstruksi sudah disibukkan oleh begitu banyak aktifitas di lapangan.
  • Tersedia checklist, dimana dimaksudkan untuk mempersingkat proses evaluasi
  • Tersedia template, dimana dengan tujuan yang sama yaitu untuk mempercepat proses.
  • Tersedia beberapa contoh, untuk membantu pelaku proyek dalam mengisi lesson learned.
  • Pendekatan problem solving, untuk mendapatkan hasil pembelajaran yang jitu disamping melatih personil proyek untuk meningkatkan kemampuan problem solving.
  • Prosedur yang kontinyu, dengan maksud agar membuat tim proyek menjadi terbiasa dan proses ini menjadi budaya yang bukan menjadi kewajiban melainkan kebutuhan.
  • Coaching dan bimbingan terus menerus oleh project manager terkait tugasnya untuk pembinaan dan pengembangan organisasi.
Berdasarkan pengalaman, berikut diberikan rekomendasi prosedur dalam pelaksanaan atau pembuatan project lesson learned yang lebih aplikatif:
  1. Waktu. Mekanisme mengenai lesson learned harus disampaikan saat project Kick off Meeting. Pengisian dimulai sejak awal pelaksanaan proyek yang diisi kapanpun sejak proyek dimulai saat terlihat adanya permasalahan. Kumpulan lesson learned harus dibahas secara periodik untuk dirumuskan. Disarankan untuk melakukan review ini setiap bulan. Tujuan review bulanan ini adalah untuk dapat dengan cepat merespon adanya lesson learned untuk melakukan perubahan.
  2. Petugas. Tiap personil dapat mengisi lesson learned template dengan diskusi aktif dengan kepala bidang (Site Manager). Dalam sosialisasi pada Kick Off Meeting dan review bulanan, sebaiknya dipimpin langsung oleh Project Manager.
  3. Object. Adapun object yang dapat dibuat lesson learned adalah permasalahan teknis, manajerial, SDM, non-teknis, atau lainnya yang terkait dengan pelaksanaan proyek.
  4. Cara. Pengisian project lesson learned dapat dilakukan ketika melihat terjadinya suatu permasalahan. Pengisian dilakukan dengan mengisi template khusus yang disarankan dalam bentuk buku kecil yang mudah untuk dibawa kemanapun yang diberikan beberapa contoh pengisian terhadap beberapa kasus yang berbeda pada tiap bidang. Dapat dipertimbangkan pembuatan lesson learned disertai dengan insentif khusus kepada karyawan yang memiliki daya kritis tinggi dan memberikan ide pengembangan yang jitu.
  5. Alat Bantu. Alat bantu dalam membuat lesson learned adalah template, contoh pengisian, dan checklist.

Tabel Contoh Template Lesson Learned


Senin, 12 Februari 2018

MPPL

Apa itu Software Process?
  • 1. Menurut Reidar Conradi pada bukunya yang berjudul Software Process Technology: 7th European Workshop, Software Process adalah Proses perangkat lunak yang direpresentasikan sebagai sebuah proses program dan dapat mengeksekusi secara otomatis.

    2. Menurut Ian Sommerville pada bukunya yang berjudul Software Engineering (9th Edition), Software Process adalah Pendekatan sistematis yang digunakan dalam rekayasa perangkat lunak serta merupakan sebuah aktifitas terurut yang menuju kepada produksi dari pembuatan produk rekayasa perangkat lunak.

    3. Sedangkan menurut M Deploy pada tulisannya yang berjudul Software Engineering Process, Software process adalah serangkaian langkah-langkah yang terurut untuk membuat sebuah produk rekayasa perangkat lunak. Software process adalah suatu hirarki yang tiap langkah dapat memiliki sub-sub langkah dalam proses rekayasa perangkat lunak.

    Terdapat 4 aktifitas umum yang mendasar pada semua proses rekayasa perangkat lunak, yaitu:
    Software specification, yaitu pengguna dan perekayasa menentukan perangkat lunak yang akan dibuat dan dibatasi pada proyek tersebut.
    Software development, dimana perangkat lunak tersebut dirancang dan diprogram.
    Software validation, dimana perangkat lunak di cek apakah sudah memenuhi apa yang dibutuhkan oleh pengguna
    Software evolution, dimana perangkat lunak diubah,diperbaiki untuk mengatasi perubahan pengguna dan mengikuti perkembangan jaman.

    Dalam software process terdapat beberapa model, yaitu:
    Waterfall, Model ini adalah model yang pertama kali muncul pada tahun 1970an diperkenalkan oleh Winston W. Royce. Model ini memisahkan fase spesifikasi dengan fase pengembangan.

    Ada 5 proses penting dalam model Waterfall:
    1. Requirement analysis and definition (analis kebutuhan)
    2. System and software design (perancangan sistem dan software)
    3. Implementation and unit testing (implementasi dan testing)
    4. Integration and system testing (integrasi dan pengujian sistem)
    5. Operation and maintenance (operasi dan perawatan)
    RAD (Rapid Application Development), Rapid Application Development (RAD) adalah sebuah strategi pengembangan sistem yang menekankan kecepatan dalam pengembangan melalui keterlibatan pengguna dalam pembangunan secara cepat, iteratif, dan incremental dari suatu serangkaian prototype dari suatu sistem yang dapat berkembang menjadi suatu sistem akhir atau versi tertentu.
    Prototyping Model, Pada model ini, user berperan aktif dalam pembuatan software. model ini digunakan apabila developer kesulitan dalam pengumpulan kebutuhan dan user juga tidak dapat menggambarkan software yang diinginkannya, atau dimana user sering menambah dan mengubah apa yang diinginkannya.





Apa itu Software Produk?
Software adalah suatu perangkat lunak yang dapat dijalankan pada perangkat keras seperti komputer, handphone, dan perangkat keras lain yang menghubungkan dengan user. Kegunaan software itu sendiri yaitu sebagai sistem yang dapat berguna untuk manusia sebagai user dalam memudahkan pekerjaannya. Seperti halnya sistem operasi yang termasuk ke dalam software atau perangkat lunak berguna untuk mengelola sumber daya perangkat keras.

Dengan semakin berkembangnya hardware, akan diikuti oleh perkembangan software untuk mengimbangi kebutuhan software terhadap hardware. Perkembangan software yang sangat cepat ini tidak lepas dari banyaknya software yang bersifat open source yang dapat dikembangkan oleh para developer, seperti google yang menyediakan API dari beberapa produknya (google maps, google translate, dan lain-lain) yang dapat dikembangkan oleh developer sehingga semakin meluaskan fungsi. Dengan banyaknya pihak developer atau programmer ini akan semakin meningkatkan perkembangan software baik yang bersifat komersil maupun yang sifatnya freeware.

Software sebagai produk, merupakan manfaat software dijadikan sebuah produk yang dapat dijual kepada masyarakat atau perusahaan yang membutuhkan. Misalnya: sistem kasir, sistem POS (Point of Sale), Sistem keuangan, dan lain-lain.
Sistem-sistem tersebut bersifat paten yang dibuat oleh perusahaan tertentu yang kemudian dijadikan produk dari perusahaan tersebut yang dapat dijual kepada perusahaan lain yang membutuhkan. Biasanya produk software ini diberi nama yang dijadikan trend atau ciri khas dari perusahaan tersebut. Misalkan dari perusahaan Bitncode, semua produk aplikasi yang dibuat diberi nama Bit, yaitu: BitFinance, BitKasir, BitAbsensiOnline, dan lain-lain.
Kegunaan software sebagai produk ini telah diterapkan di Jepang, dan negara-negara barat.

  Saya ambil studi kasus yang dialami PT Rahayu Scaffolding yang sedang mengerjakan sebuah proyek.

 PERMASALAHAN  
 PT. Rahayu Scaffolding sebenarnya telah memiliki sistem inventory yang belum on-line. Namun seiring dengan perkembangan bisnisnya yang kian maju, menyebabkan volume transaksi bisnisnya kian meningkat, sehingga pihak pemilik (owner) memandang perlu untuk mengubah sistem inventory yang ada menjadi sistem yang bersifat “on-line” dengan kemampuan sebagai berikut :

1.Mendapatkan laporan (report) yang dikehendaki secara on-line
2.Menampilkan inventaris barang-barang secara on-line
3.Menampilkan deskripsi barang-barang secara on-line
4.File maintenance secara on-line.         

TUJUAN            
Proyek perangkat lunak  “Sistem Gudang On-Line” ini dimaksudkan :
1.    Menghasilkan perangkat lunak untuk aplikasi Sistem Gudang On-Line yang memiliki fitur-fitur standar seperti menambah barang, menghapus barang, menampilkan inventarisasi barang dan pembuatan laporan dan sebagainya.
2.    Memudahkan pekerjaan administrator gudang, karena bisa mendapatkan informasi barang secara cepat dan akurat..
3.    Memudahkan pekerjaan up-date barang, karena ada penambahan barang baru  dan pengurangan barang akibat rusak maupun hilang.  

Biaya untuk implementasi “Sistem Gudang On-Line” diperkirakan sebagai berikut:

No
Kegiatan
Jumlah (Rp)
1
Studi Kelayakan
300.000
2
Desain Fungsi
750.000
3
Pemrograman
2000.000
4
Pengujian
250.000
5
Pelatihan
500.000
6
Pemeliharaan
600.000
7
Dokumentasi (50 hal)
100.000
Jumlah Total
4.500.000

Untuk melaksanakan proyek perangkat lunak “Sistem Gudang On-Line” disiapkan SDM 4  orang dengan peran rangkap seperti dalam tabel di bawah ini.



    

Kamis, 01 Juni 2017

Final Project Snake

semua orang pasti mengenal game snake yaitu gameplaynya yang hanya menggunakan arrow atas,kanan,bawah,kiri untuk memakan makanan ular guna ular bertambah panjang dan menambah score. game ini membutuhkan dua kelas yaitu kelas render panel sama kelas snake.
langsung saja ini source codenya kelasnya

kelas render panel
 package snake;  
 import java.awt.Color;  
 import java.awt.Graphics;  
 import java.awt.Point;  
 import javax.swing.JPanel;  
 @SuppressWarnings("serial")  
 public class RenderPanel extends JPanel  
 {  
      public static final Color GREEN = new Color(1666073);  
      @Override  
      protected void paintComponent(Graphics g)  
      {  
           super.paintComponent(g);  
           Snake snake = Snake.snake;  
           g.setColor(GREEN);  
           g.fillRect(0, 0, 800, 700);  
           g.setColor(Color.BLUE);  
           for (Point point : snake.snakeParts)  
           {  
                g.fillRect(point.x * Snake.SCALE, point.y * Snake.SCALE, Snake.SCALE, Snake.SCALE);  
           }  
           g.fillRect(snake.head.x * Snake.SCALE, snake.head.y * Snake.SCALE, Snake.SCALE, Snake.SCALE);  
           g.setColor(Color.RED);  
           g.fillRect(snake.cherry.x * Snake.SCALE, snake.cherry.y * Snake.SCALE, Snake.SCALE, Snake.SCALE);  
           String string = "Score: " + snake.score + ", Length: " + snake.tailLength + ", Time: " + snake.time / 20;  
           g.setColor(Color.white);  
           g.drawString(string, (int) (getWidth() / 2 - string.length() * 2.5f), 10);  
           string = "Game Over!";  
           if (snake.over)  
           {  
                g.drawString(string, (int) (getWidth() / 2 - string.length() * 2.5f), (int) snake.dim.getHeight() / 4);  
           }  
           string = "Paused!";  
           if (snake.paused && !snake.over)  
           {  
                g.drawString(string, (int) (getWidth() / 2 - string.length() * 2.5f), (int) snake.dim.getHeight() / 4);  
           }  
      }  
 }  

kelas snake

 package snake;  
 import java.awt.Dimension;  
 import java.awt.Point;  
 import java.awt.Toolkit;  
 import java.awt.event.ActionEvent;  
 import java.awt.event.ActionListener;  
 import java.awt.event.KeyEvent;  
 import java.awt.event.KeyListener;  
 import java.util.ArrayList;  
 import java.util.Random;  
 import javax.swing.JFrame;  
 import javax.swing.Timer;  

 public class Snake implements ActionListener, KeyListener  
 {  
      public static Snake snake;  
      public JFrame jframe;  
      public RenderPanel renderPanel;  
      public Timer timer = new Timer(20, this);  
      public ArrayList<Point> snakeParts = new ArrayList<Point>();  
      public static final int UP = 0, DOWN = 1, LEFT = 2, RIGHT = 3, SCALE = 10;  
      public int ticks = 0, direction = DOWN, score, tailLength = 10, time;  
      public Point head, cherry;  
      public Random random;  
      public boolean over = false, paused;  
      public Dimension dim;  
      public Snake()  
      {  
           dim = Toolkit.getDefaultToolkit().getScreenSize();  
           jframe = new JFrame("Snake");  
           jframe.setVisible(true);  
           jframe.setSize(805, 700);  
           jframe.setResizable(false);  
           jframe.setLocation(dim.width / 2 - jframe.getWidth() / 2, dim.height / 2 - jframe.getHeight() / 2);  
           jframe.add(renderPanel = new RenderPanel());  
           jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
           jframe.addKeyListener(this);  
           startGame();  
      }  
      public void startGame()  
      {  
           over = false;  
           paused = false;  
           time = 0;  
           score = 0;  
           tailLength = 14;  
           ticks = 0;  
           direction = DOWN;  
           head = new Point(0, -1);  
           random = new Random();  
           snakeParts.clear();  
           cherry = new Point(random.nextInt(79), random.nextInt(66));  
           timer.start();  
      }  
      @Override  
      public void actionPerformed(ActionEvent arg0)  
      {  
           renderPanel.repaint();  
           ticks++;  
           if (ticks % 2 == 0 && head != null && !over && !paused)  
           {  
                time++;  
                snakeParts.add(new Point(head.x, head.y));  
                if (direction == UP)  
                {  
                     if (head.y - 1 >= 0 && noTailAt(head.x, head.y - 1))  
                     {  
                          head = new Point(head.x, head.y - 1);  
                     }  
                     else  
                     {  
                          over = true;  
                     }  
                }  
                if (direction == DOWN)  
                {  
                     if (head.y + 1 < 67 && noTailAt(head.x, head.y + 1))  
                     {  
                          head = new Point(head.x, head.y + 1);  
                     }  
                     else  
                     {  
                          over = true;  
                     }  
                }  
                if (direction == LEFT)  
                {  
                     if (head.x - 1 >= 0 && noTailAt(head.x - 1, head.y))  
                     {  
                          head = new Point(head.x - 1, head.y);  
                     }  
                     else  
                     {  
                          over = true;  
                     }  
                }  
                if (direction == RIGHT)  
                {  
                     if (head.x + 1 < 80 && noTailAt(head.x + 1, head.y))  
                     {  
                          head = new Point(head.x + 1, head.y);  
                     }  
                     else  
                     {  
                          over = true;  
                     }  
                }  
                if (snakeParts.size() > tailLength)  
                {  
                     snakeParts.remove(0);  
                }  
                if (cherry != null)  
                {  
                     if (head.equals(cherry))  
                     {  
                          score += 10;  
                          tailLength++;  
                          cherry.setLocation(random.nextInt(79), random.nextInt(66));  
                     }  
                }  
           }  
      }  
      public boolean noTailAt(int x, int y)  
      {  
           for (Point point : snakeParts)  
           {  
                if (point.equals(new Point(x, y)))  
                {  
                     return false;  
                }  
           }  
           return true;  
      }  
      public static void main(String[] args)  
      {  
           snake = new Snake();  
      }  
      @Override  
      public void keyPressed(KeyEvent e)  
      {  
           int i = e.getKeyCode();  
           if ((i == KeyEvent.VK_A || i == KeyEvent.VK_LEFT) && direction != RIGHT)  
           {  
                direction = LEFT;  
           }  
           if ((i == KeyEvent.VK_D || i == KeyEvent.VK_RIGHT) && direction != LEFT)  
           {  
                direction = RIGHT;  
           }  
           if ((i == KeyEvent.VK_W || i == KeyEvent.VK_UP) && direction != DOWN)  
           {  
                direction = UP;  
           }  
           if ((i == KeyEvent.VK_S || i == KeyEvent.VK_DOWN) && direction != UP)  
           {  
                direction = DOWN;  
           }  
           if (i == KeyEvent.VK_SPACE)  
           {  
                if (over)  
                {  
                     startGame();  
                }  
                else  
                {  
                     paused = !paused;  
                }  
           }  
      }  
      @Override  
      public void keyReleased(KeyEvent e)  
      {  
      }  
      @Override  
      public void keyTyped(KeyEvent e)  
      {  
      }  
 }  

dua kelas tersebut sudah dipaparkan maka sudah bisa dijalankan atau dieksekusi
ini dia hasil yang sudah dijalankan
disitu terdapat fitur score, panjang ular, dan durasi mainnya

sekian dari final project game snake
Terima Kasih!

Senin, 03 April 2017

Rancangan antrian bank

Saya membuat program antrian bank dimana prosedur antrian bank yang sudah diterapkan pada umumnya di semua bank. Jadi program tersebut jika tekan nomor antrian maka akan keluar nama bank, tanggal berapa cetak nomor antrian ,nomor antrian ke berapa, dan nomor teller yang dituju. Berikut kelas dan atributnya


Ini adalah contoh program antrian bank

1:  import java.util.Date;  
2:  import java.text.DateFormat;  
3:  import java.text.SimpleDateFormat;  
4:  public class Antrian  
5:  {  
6:    private int antrian = 1;  
7:    private String getTanggal(){  
8:      DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy H:mm:ss");  
9:      Date date = new Date();  
10:      return dateFormat.format(date);  
11:    }  
12:    public void printTicketantrian(){  
13:      System.out.println(getTanggal());  
14:      System.out.println("Nomor Antrian Anda:");  
15:      System.out.println(antrian++);  
16:      System.out.println("Terima kasih");  
17:    }  
18:  }  
main
1:  import java.util.Scanner;  
2:  public class IntMain  
3:  {  
4:    public static int main (String args[])  
5:    {  
6:      Scanner scan = new Scanner (System.in);  
7:      int menu,tel=4;  
8:      Antrian ticket = new Antrian ();  
9:      while(true)  
10:      {  
11:      System.out.println ("1. Ambil nomor antrian");  
12:      System.out.println("2. Exit\n");  
13:      System.out.print(" ");  
14:      menu = scan.nextInt();  
15:      switch(menu)  
16:      {  
17:        case 1:  
18:        System.out.println("\n");  
19:        ticket.printTicketantrian();  
20:        if(tel==4)  
21:        {tel=1;}  
22:        else  
23:        {tel=tel+1;}  
24:        System.out.printf("nomor teller %d\n",tel);  
25:        break;  
26:        case 2:  
27:        return 0;  
28:      }  
29:    }  
30:  }  
31:  }  

outputnya


Library dan dialog box

Kelas account dengan konstruktor untuk memvalidasi dan menginisialisasi instance variable double berisi nilai saldo
1:  public class Account  
2:  {  
3:    private double balance;   
4:    public Account (double initialBalance)  
5:    {  
6:      if (initialBalance > 0.0)  
7:      {  
8:        balance = initialBalance;  
9:      }  
10:    }   
11:    public void credit (double amount)  
12:    {  
13:      balance = balance + amount; // Menambah jumlah yang ditambahkan kedalam saldo  
14:    }   
15:    public double getBalance()  
16:    {  
17:      return balance;   
18:    }   
19:  }   

Input dan output dari angka float dengan objek account
1:  import java.util.Scanner;  
2:  public class AccountTest  
3:  {  
4:    public static void main (String[] args)  
5:    {  
6:      Account account1 = new Account (50.00);   
7:      Account account2 = new Account (-7.53);   
8:      System.out.printf ("Account 1 balance: $%.2f\n",  
9:        account1.getBalance());  
10:      System.out.printf ("Account 2 balance: $%.2f\n\n",  
11:        account2.getBalance());  
12:      Scanner input = new Scanner (System.in);  
13:      double depositAmount;   
14:      System.out.print ("Enter deposit amount for account 1: ");  
15:      depositAmount = input.nextDouble();   
16:      System.out.printf ("\nAdding %.2f to account 1 balance\n\n",  
17:        depositAmount);  
18:      account1.credit (depositAmount);   
19:      System.out.printf ("Account 1 balance: $%.2f\n",  
20:        account1.getBalance());  
21:      System.out.printf ("Account 2 balance: $%.2f\n\n",  
22:        account2.getBalance());  
23:      System.out.print ("Enter deposit amount for account 2: ");   
24:      depositAmount = input.nextDouble();   
25:      System.out.printf ("\nAdding %.2f to account 2 balance\n\n",  
26:        depositAmount);  
27:      account2.credit (depositAmount);   
28:      System.out.printf ("Account 1 balance: $%.2f\n",  
29:        account1.getBalance());  
30:      System.out.printf ("Account 2 balance: $%.2f\n",  
31:        account2.getBalance());  
32:    }   
33:  }   

Dialog box
1:  import javax.swing.JOptionPane;   
2:  public class Dialog1  
3:  {  
4:    public static void main (String[] args)  
5:    {  
6:      JOptionPane.showMessageDialog (null, "Welcome\t to\t Java");  
7:    }   
8:  }   

Input nama dialog box
1:  import javax.swing.JOptionPane;  
2:  public class NameDialog  
3:  {  
4:    public static void main (String[] args)  
5:    {  
6:      String name =  
7:        JOptionPane.showInputDialog ("What is your name?");  
8:      String message =  
9:        String.format ("Welcome, %s, to Java Programming!", name);  
10:      JOptionPane.showMessageDialog (null, message);  
11:    }   
12:  }   

Account test dengan input dan output dialog box swing
1:  import javax.swing.JOptionPane;  
2:  public class AccountGUI  
3:  {  
4:    public static void main (String[] args)  
5:    {  
6:      Account account1 = new Account (50.00);  
7:      Account account2 = new Account (0.00);  
8:      JOptionPane.showMessageDialog (null, "Account 1 balance: " + account1.getBalance()  
9:        + "\nAccount2 balance: " + account2.getBalance());  
10:      String input1 =  
11:        JOptionPane.showInputDialog ("Enter deposit amount for account 1: ");   
12:      double depositAmount = Double.parseDouble(input1);   
13:      JOptionPane.showMessageDialog (null, "Adding " + depositAmount + " for Account 1");  
14:      account1.credit (depositAmount);   
15:      JOptionPane.showMessageDialog (null, "Account 1 balance: " + account1.getBalance()  
16:        + "\nAccount2 balance: " + account2.getBalance());  
17:      String input2 =  
18:        JOptionPane.showInputDialog ("Enter deposit amount for account 2: ");   
19:      depositAmount = Double.parseDouble (input2);  
20:      JOptionPane.showMessageDialog (null, "Adding " + depositAmount + " for Account 2");  
21:      account2.credit (depositAmount);  
22:      JOptionPane.showMessageDialog (null, "Account 1 balance: " + account1.getBalance()  
23:        + "\nAccount2 balance: " + account2.getBalance());  
24:    }   
25:  }   

Senin, 20 Maret 2017

Menghitung luas dan keliling bangun 2d

Triangel

  public class Triangle   
  {   
   private double a;   
   private double t;   
   private String color;   
   public Triangle()   
   {   
    a = 1.0;   
    t = 1.0;   
    color = "white";   
   }   
   public Triangle(double alas)   
   {   
    a = alas;   
    t = 1.0;   
    color = "white";   
   }   
   public Triangle(double alas,String warna)   
   {   
    a = alas;   
    color = warna;   
   }   
   public Triangle(double alas,double tinggi,String warna)   
   {   
    a = alas;   
    t = tinggi;   
    color = warna;   
   }   
   public double getA()   
   {   
    return a;   
   }   
   public double getT()   
   {   
    return t;   
   }   
   public String getColor()   
   {   
    return color;   
   }   
   public double getArea()   
   {   
    return a*t/2;   
   }   
   public String toString()   
   {   
    return String.format("A %s colored triangle have an area of %f cm",this.getColor(),this.getArea());   
   }   
  }   

Circle

  import static java.lang.Math.*;   
  public class Circle   
  {   
   private double r;   
   private String color;   
   public Circle ()   
   {   
    r = 1.0;   
    color = "red";   
   }   
   public Circle (double jari)   
   {   
    r = jari;   
    color = "red";   
   }   
   public Circle ( double jari, String warna )   
   {   
    r = jari;   
    color = warna;   
   }   
   public double getArea(){   
    System.out.printf("Area of %s Circle is.. %f\n",color,PI * r * r);   
    return PI * r * r;   
   }   
   public double getRound()   
   {   
    System.out.printf("Around of %s Circle is.. %s\n",color,PI * 2 * r);   
    return PI * 2 * r;   
   }   
   public double getRadius()   
   {   
    return r;   
   }   
   public String getColor()   
   {   
    return color;   
   }   
   public String toString()   
   {   
    return String.format("A Circle with %s color has an area of %f cm",this.getColor(),this.getArea());   
   }   
  }   

Square


 public class Square   
  {   
   private double s;   
   private String color;   
   public Square()   
   {   
    s = 1.0;   
    color = "white";   
   }   
   public Square(double sisi)   
   {   
    s = sisi;   
    color = "white";   
   }   
   public Square(double sisi,String warna)   
   {   
    s = sisi;   
    color = warna;   
   }   
   public double getArea(){   
    return s * s;   
   }   
   public double getRound()   
   {   
    return 4 * s;   
   }   
   public double getSide()   
   {   
    return s;   
   }   
   public String getColor()   
   {   
    return color;   
   }   
   public String toString()   
   {   
    return String.format("The %s colored Square has an Area of %f cm",this.getColor(),this.getArea());   
   }   
  }   

Rectangle


  public class Rectangle   
  {   
   private double p;   
   private double l;   
   private String color;   
   public Rectangle()   
   {   
    p = 1.0; l = 1.0;   
    color = "white";   
   }   
   public Rectangle(double panjang,double lebar)   
   {   
    p = panjang;   
    l = lebar;   
    color = "white";   
   }   
   public Rectangle(double panjang,double lebar,String warna)   
   {   
    p = panjang;   
    l = lebar;   
    color = warna;   
   }   
   public double getP()   
   {   
    return p;   
   }   
   public double getL(){ return l; }   
   public String getColor() {return color; }   
   public double getArea ()   
   {   
    return p * l;   
   }   
   public double getRound()   
   {   
    return 2*(p+l);   
   }   
   public String toString()   
   {   
    return String.format("A %s colored rectangle with Lenght of %f and Widht of %f have an area of %f cm"   
    ,this.getColor(),this.getP(),this.getL(),this.getArea());   
   }   
  }   
main


 public class MainClass   
  {   
   public static void main()   
   {   
    Circle circle1 = new Circle(7.0,"Black");   
    Circle circle2 = new Circle(14.0);   
    Circle circle3 = new Circle();   
    System.out.println(circle1);   
    System.out.printf("A round of %f\n",circle1.getRound());   
    System.out.println(circle2);   
    System.out.printf("A round of %f\n",circle2.getRound());   
    System.out.println(circle3);   
    System.out.printf("A round of %f\n",circle3.getRound());   
    System.out.printf("\n\n");   
    System.out.printf("Now to test the Rectangle\n");   
    Rectangle persegi1 = new Rectangle(5,4);   
    Rectangle persegi2 = new Rectangle(5,3,"Merah");   
    Rectangle persegi3 = new Rectangle();   
    System.out.println(persegi1);   
    System.out.printf("A round of %f\n",persegi1.getRound());   
    System.out.println(persegi2);   
    System.out.printf("A round of %f\n",persegi2.getRound());   
    System.out.println(persegi3);   
    System.out.printf("A round of %f\n",persegi3.getRound());   
    System.out.printf("\n\n");   
    System.out.printf("Now to test the square\n");   
    Square kotak1 = new Square(10);   
    Square kotak2 = new Square(5,"hijau");   
    Square kotak3 = new Square();   
    System.out.println(kotak1);   
    System.out.printf("A round of %f\n",kotak1.getRound());   
    System.out.println(kotak2);   
    System.out.printf("A round of %f\n",kotak2.getRound());   
    System.out.println(kotak3);   
    System.out.printf("A round of %f\n",kotak3.getRound());   
    System.out.printf("\n\n");   
    System.out.printf("Now to test the triangle\n");   
    Triangle segitiga1 = new Triangle(2);   
    Triangle segitiga2 = new Triangle(6.0,3.0,"Kuning");   
    Triangle segitiga3 = new Triangle ( 10.0, "Kuning");   
    Triangle segitiga4 = new Triangle();   
    System.out.println(segitiga1);   
    System.out.println(segitiga2);   
    System.out.println(segitiga3);   
    System.out.println(segitiga4);   
    System.out.printf("\n\n");   
   }   
  }