Minggu, 12 Oktober 2014

use case toko sepatu



Deskripsi Umum Sistem use case toko sepatu

Fitur Utama Perangkat Lunak, Diagram Use Case, DiagramCollaboration, Diagram Sequence dan Diagram Kelas

Keterangan: 
1.Input : Kasir dapat langsung masuk ke system tanpa melakukan authentifikasi untuk bisa langsung melakukan pengaksesan dan pengelolaan data berupa Insert, Update, dan Delete pada pengelolaan data. Kemudian pada data transaksi kasir menginput  jumlah sepatu yang dibeli dan mengisi field dibayar. Lalu pada  laporan berdasarkan tanggal kasir menginput tanggal penjualan  yang hendak di tampilkan.
2.Output :  kasir memperoleh informasi dari Pengelolaan data, Transaksi Pembelian, dan Laporan. Serta kasir dapat mengetahui informasi data - data tersebut secara keseluruhan.
Aktivitas Kasir  : Memproses Transaksi Pembelian, Pengelolaan Datasepatu,laporandan dapat melihat penggunaan melalui pilihan bantuan.Jika Kasir baru pertama kali  menggunakan Aplikasi ini maka kami sarankan untuk membaca tutorial penggunaan terlebih dahulu. Setelah itu  kasir dapat melakukan Proses pengelolaan data terlebih dahulu yaitu memasukkan Informasi sepatu yang ingin dijualnya. Setelah itu kasir bisa melakukan Transaksi terhadap daftar sepatu tadi, sekaligus dapat menampilkan laporan







 Diagram usecase

Scenario Use Case
Skenario use case SistemInformasiPenjualan Sepatudimanaaktor
yangmemakaisisteminiadalah kasir, dan aktifitas yang dilakukan adalah
menangani persediaan sepatu, menangani pembayaran, dan menangani
laporan.
1. Use Case Pengelolaan Data
Aktor : Kasir
KondisiAwal : Form pengelolaan datamasihkosong
KondisiAkhir : sistem menyimpan data sepatukedalam database
persediaan, lalumenampilkandata pada tabel “data barang”.



Skenario : Jika kasir ingin meng-Insert data baru, kasir cukup mengisi field yang tersedia pada form pengelolaan data yang terdiri dari Kode, Merk, Warna, Ukuran, Jumlah, Harga lalu menekan tombol “Insert”, jika kasir ingin memperbaharui data maka kasir cukup memilih data yang akan di perbaharui pada table “data barang” lalu merubah Informasi data yang diinginkan setelah itu tekan tombol “Update” , tombol “Delete” digunakan untuk menghapus data yang telah ada di database dengan memilih data yang ingin dihapus.
2. Use CaseTransaksi Pembelian
Aktor : Kasir.
KondisiAwal : Field Jumlah masih kosong
KondisiAkhir : Tombol “Struk Pembayaran” dan “Transaksi Baru” bisa di tekan, tombol “Hapus” dan “Tambah Pembelian” tidak bisa ditekan lagi, dan jika ada uang kembalian maka akan ditampilkan di field kembali.
Skenario : Kasir memilih sepatu apasaja yang dibeli pada table “Daftar Sepatu” dan memasukkan jumlah sepatu yang dibeli, setelah itu kasir menekan tombol “Tambah Pembelian” dan jika data yang sudah ditambah tadi sudah pasti dibeli, maka kasir harus mengisi total Uang yang diberikan pelanggan pada Field “Dibayar”, lalu kasir harus menekan “Hitung Pembelian”, setelah menekan tombol tersebut maka tombol “Struk Pembayaran” dan “Transaksi Baru” bisa di tekan, sedangkan tombol “Hapus” dan “Tambah Pembelian” tidak bisa ditekan lagi untuk menghindari kesalahan.
3. Use Case Laporan
Aktor : Kasir
Kondisiawal : Belum ada laporan yang tampil
Kondisiakhir : Laporan berhasil tampil berdasarkan menu yang dipilih
Skenario : Kasir memilih untuk menampilkan laporan Data/stock Sepatu, Data Penjualan Berdasarkan Tanggal, atau Data Penjualan Sepatu. Jika kasir memilih laporan Data/stock Sepatu, maka program akan mengambil data dari database “Sepatu” dan menampilkan semuanya dengan lengkap, jika kasir memilih untuk menampilkan laporan Data Penjualan Berdasarkan Tanggal, maka kasir akan diminta untuk memasukkan tanggal yang ingin ditampilkan, tetapi jika kasir memilih untuk menampilkan laporan maka program akan menampilkan semua data penjualan.



4. Use Case Bantuan
Aktor : Kasir
Kondisi Awal : File bantuan belum tampil
Kondisi Akhir : File Help.chm telah tampil
Skenario : Kasir menekan tombol “Bantuan” untuk menampilkan bantuan atau tutorial.

 Collaboration Diagram
 Collaboration Pengelolaan Data










CollaborationTransaksi Pembelian

Gambar 3.4Collaboration Transaksi Pembelian, menggambarkan apa yang terjadi disaat Kasir
melakukan Transaksi Pembelian
 Collaboration Laporan

Gambar 3.5Collaboration Laporan, menjelaskan Controller dan database apa yang terkait disaat
Kasir memilih untuk menampilkan Laporan



 Collaboration Bantuan

Gambar 3.6 Collaboration Bantuan, menjelaskan Controllerdan file apa yang terkait dengan
Usecase bantuan.

Sequence Diagram
 Sequence Diagram Transaksi Pembelian

Gambar 3.7 Sequence Diagram Transaksi Pembelian, menjelaskan alur yang terjadi disaat Kasir
melakukan Transaksi Pembelian.







Sequence Diagram Pengelolaan Data


Gambar 3.8Sequence Diagram Pengelolaan Data, menjelaskan Controller, database, dan alur jika
terjadi Usecase Pengelolaan Data

Sequence Diagram Laporan


Gambar 3.9 Sequence Diagram Laporan, menggambarkan apa yang terjadi disaat kasir memilih
untuk menampilkan Laporan.
Sequence Diagram Bantuan

Gambar 3.10 Sequence Diagram Bantuan, menampilkan apa yang terjadi disaat Kasir ingin
melihat File Bantuan.
Diagram Kelas

Gambar 3.11 Diagram Kelas, menggambarkan Kelas apa saja yang ada pada Program

Sabtu, 20 September 2014

program sederhana Enkapsulasi, Inheritance, dan Polimorfisme berserta hasil output programnya

ENKAPSULASI
Enkapsulasi adalah pembungkus, pembungkus disini dimaksudkan untuk menjaga suatu proses program agar tidak dapat diakses secara sembarangan atau di intervensi oleh program lain. Konsep enkapsulasi sangat penting dilakukan untuk menjaga kebutuhan program agar dapat diakses sewaktu-waktu, sekaligus menjaga program tersebut.
Dalam kehidupan sehari hari enkapsulasi dapat dimisalkan sebagai arus listrik pada generator, dan sistem perputaran generator untuk menghasilkan arus listrik. Kerja arus listrik tidak mempengaruhi kerja dari sistem perputaran generator, begitu pula sebaliknya. Karena didalam arus listrik tersebut, kita tidak perlu mengetahui bagaimana kinerja sistem perputaran generator, apakah generator berputar kebelakang atau ke depan atau bahkan serong. Begitu pula dalam sistem perputaran generator, kita tidak perlu tahu bagaimana arus listrik, apakah menyala atau tidak.
Begitulah konsep kerja dari enkapsulasi, dia akan melindungi sebuah program dari akses ataupun intervensi dari program lain yang mempengaruhinya. Hal ini sangat menjaga keutuhan program yang telah dibuat dengan konsep dan rencana yang sudah ditentukan dari awal.
Dalam JAVA, dasar enkapsulasi adalah class. anda membuat suatu class yang menyatakan bahwa variable atau method sebuah class tidak dapat diakses oleh class lain dengan menjadikan class tersebut private, atau dengan menjadikan class tersebut protected, yaitu hanya bisa diakses oleh turunannya.
lain hal jika anda menggunakan class public, dalam hal ini dapat diakses oleh sembarang class karena bersifat umum.
Contoh program sederhana ENKAPSULASI :
import java.io.*;
public class lingkaran{
      private double radius;
      public lingkaran(double radius){
                  this.radius=radius;
      }
      public void Luas(){
                  double luas= 3.14*radius*radius;
                  System.out.println("Luas lingkaran: "+luas);
      }
      public void Keliling(){
                  double keliling= 2.0*3.14*radius;
                  System.out.println("Keliling Lingkaran: "+keliling);
      }
      public static void main(String[]args)throws Exception{
                  DataInputStream dis= new DataInputStream(System.in);
                  System.out.print("input radius: ");
                  String input= dis.readLine();
                  double i= Double.parseDouble(input);
                  lingkaran A= new lingkaran(i);
                  A.Luas();
                  A.Keliling();
      }
}
Contoh Outputnya :
http://setyonugroho09.wordpress.com/2010/02/17/konsep-enkapsulasiencapsulation-pada-object-oriented-programming-dengan-java/

Inheritance
Inheritance adalah pewarisan. Pewarisan dalam pemrograman berorientasi objek, Inheritance memungkinkan suatu Class bisa mewariskan atribut dan Method kepada Class yang lainnya atau subClass, sehingga membentuk Class hirarki. Inheritance sangat mirip dengan hubungan orang tua dengan anak. Manakala suatu kelas menerima warisan dari semua anggota data dan fungsi menerima warisan, walaupun tidak semua di antara mereka dapat diakses oleh anggota fungsi dari kelas.
Di dalam Java untuk mendeklarasikan suatu class sebagai subclass dilakukan dengan cara menambahkan kata kunci extends setelah deklarasi nama class, kemudian diikuti dengan nama parent class-nya. Kata kunci extends tersebut memberitahu kompiler Java bahwa kita ingin melakukan perluasan class.
Semua class dalam Java, termasuk class yang membangun Java API, merupakan subclass dari superclass Object.Contoh dari hierarki class :
  • Superclass adalah class induk atau class orang tua, class yang letaknya di atas class tertentu di dalam hierarki.
  • Subclass adalah class anak. Semua property, methode, ataupun konstruktor yang dimiliki oleh superclass jika diwariskan, maka subclass memiliki semua yang dimiliki oleh superclass.

Contoh program

Keuntungan penggunaan Inheritance dalam OOP : Reusability
  • Ketika behavior(method) dideklarasikan dalam superclass, behavior tersebut otomatis diwariskan ke seluruh subclass
  • Jadi, Anda dapat meng-enkode method hanya sekali dan method tersebut dapat digunakan oleh seluruh subclass
  • Sebuah subclass hanya perlu mengimplementasikan perbedaan antara dirinya sendiri dan parent-nya


Contoh Lain:Kata kunci super digunakan untuk mengakses variabel/property ataupun method yang dideklarasikan di superclass yang memiliki kesamaan di subclass. Untuk lebih jelasnya buat contoh program di bawah ini :
Buat class Matematika
Kemudian buat subclass Hitungan
Selanjutnya membuat program utama, untuk menampilkan hasil proses yang dilakukan oleh class Matematika dan class Hitungan.
Disinilah peranan kata kunci super. Dari contoh program di atas, yang tercetak di standard output adalah property dari class Hitungan.

http://masvisualbasic.blogspot.com/2013/01/inheritance-dan-contoh-program-dalam.html
Polimorfisme adalah sesuatu yang mempunyai banyak bentuk, yang mana suatu objek digunakan dibanyak tujuan berbeda dengan nama yang sama.
Bentuk polimorfismenya bisa dilihat di Class Utama yang berwarna merah pada program di bawah ini.
  • Interface Poligon 
interface Poligon {

 // Deklarasi methode
  double Luas();
  double Keliling();
  String displayInfo();
}
Save dengan nama file Poligon.java
  • Class Lingkaran
class Lingkaran implements Poligon {
  // Deklarasi atribut
  private double radius;
  private final double PI = 3.14;
  // Definisi method
  // Konstruktor
  public Lingkaran(double r) {
    radius = r;
  }
  // Selector
  public double getRadius() {
    return radius;
  }
  // Definisi method dari kelas induk
  public double Luas() {
    return (PI*radius*radius);
  }
  public double Keliling() {
    return (2*PI*radius);
  }
  
  public String displayInfo() {
    return ( "Lingkaran"
           + "\no Jari-jari: " + (float)getRadius()
           + "\no Luas     : " + (float)Luas()
           + "\no Keliling : " + (float)Keliling() );
  }
}
Save dengan nama file Lingkaran.java
  • Class Segi Empat
class SegiEmpat implements Poligon {
  // Deklarasi atribut
  private double panjang, lebar;
  // Definisi method
  // Konstruktor
  public SegiEmpat(double p, double l) {
    panjang = p;
    lebar = l;
  }
  // Selector
  public double getPanjang() {
    return panjang;
  }
  public double getLebar() {
    return lebar;
  }
  // Definisi method dari kelas induk
  public double Luas() {
    return (panjang*lebar);
  }
  public double Keliling() {
    return (2*(panjang+lebar));
  }
  public String displayInfo() {
    return ( "Segi Empat"
           + "\no Panjang  : " + (float)getPanjang()
           + "\no Lebar    : " + (float)getLebar()
           + "\no Luas     : " + (float)Luas()
           + "\no Keliling : " + (float)Keliling() );
  }
}
Save dengan nama file SegiEmpat.java
  • Class Segitiga
import java.lang.Math;
class SegiTiga implements Poligon {
  // Deklarasi atribut
  private double alas, tinggi;
  // Definisi method
  // Konstruktor
  public SegiTiga(double a, double t) {
    alas = a;
    tinggi = t;
  }
  // Selector
  public double getAlas() {
    return alas;
  }
  public double getTinggi() {
    return tinggi;
  }
  // Definisi method dari kelas induk
  public double Luas() {
    return (alas*tinggi)/2;
  }
  public double Keliling() {
    double d;
    d = (double)Math.sqrt((alas*alas)+(tinggi*tinggi));
    return (alas+tinggi+d);
  }
  
  public String displayInfo() {
    return ( "Segi Tiga"
           + "\no Alas     : " + (float)getAlas()
           + "\no Tinggi   : " + (float)getTinggi()
           + "\no Luas     : " + (float)Luas()
           + "\no Keliling : " + (float)Keliling() );
  }
}
Save dengan nama file SegiTiga.java
  • Class Utama
// Program utama
class TesPoligon {
  public static void main(String args[]) {
    // Deklarasi array
    Poligon p[] = new Poligon[4];
    SegiEmpat se = new SegiEmpat(17,8);
    SegiTiga sg =  new SegiTiga(21,4);
    Lingkaran lg = new Lingkaran (10);
    Lingkaran lh =  new Lingkaran (7);
   
    //bentuk polimorfisme
    p[0] = se; 
    p[1] = sg;
    p[2] = lg;
    p[3] = lh;
    
    //bentuk polimorfisme
    p[0] = se; 
    p[1] = sg;
    p[2] = lg;
    p[3] = lh;
    
    p[0] = se; 
    p[1] = sg;
    p[2] = lg;
    p[3] = lh;
    
    Lingkaran x = new Lingkaran(8);
   
    // Display informasi
    for (int i=0; i < p.length; i++) {
      System.out.println("\n"+p[i].displayInfo());
    }
  }
}
Save dengan nama file TesPoligon.java
Cara menjalankan program :1. Save semua file di atas2. Jalankan satu persatu filenya terlebih dahulu3. Apabila sudah jalan semua jalankan program utama TesPoligon.java

Output Program


Jadi intinya pada program di atas adalah Class Poligon mempunyai bentuk bentuk banyak dari class segitiga, class segi empat dan kelas lingkaran.
http://top-ilmu.blogspot.com/2012/11/contoh-program-java-polimorfisme.html