Tuesday, December 18, 2012

Video tutorial membuat aplikasi penjualan dengan java dan MySql

Assalamualikum Wr. Wb..
Blogger semua pada kesempatan ini saya akan berbagi tutorial membuat aplikasi penjulan sederhana dengan Java. Tidak bisa kita pungkiri bahasa pemprograman java merupakan bahasa yang cukup terkenal dan banyak digunakan oleh banyak perusahaan, oleh karena itu mempelajari bahasa ini cukup menguntungan untuk masa depan. Untuk lebih jelasnya mari kita mulai belajarnya..

Untuk memulai Belajar silahkan disiapkan IDE Netbeansnya dan Database MySql

daftar isi:
1. Perancangan (dengan UMl dan MySql Workbench)


2. Membuat database

3. Membuat projek

4. Membuat Koneksi ke database

5. Membuat Model 
(isinya adalah pembuatan class-class yang metepresentasikan tabel pada database)
  • Model karyawan
  •  Model gudang
  •  Model barang
  •  Model return
  • Model transaksi
  •  Model barang transaksi
  • Model Report

6. Membuat dao interface
(isinya adalah interface yang nanti di implement pada class dao)
  • Karyawan Dao Interface
  • Transaksi Dao Interface
  •  Return Dao Interface
  • Gudang Dao Interface
  • Barang Dao Interface

7. Membuat dao / data acsess object
(isinya adalah class-class yang digunakan untuk melakukan query ke database)
  • Karyawan Dao
  •  Gudang Dao
  • Barang Dao
  • Return Dao
  • Transaksi Dao



8. Membuat Editor
(isinya adalah class yang digunakan untuk penambahan komponen swing lain pada jTable, seperti menysipkan jbutton pada salah satu baris)

9. Membuat tabel model
(isinya adalah pemodelan tabel, seperti nama colom, isi tiap row dsb..)
  • Tabel model barang
  •  Tabel model gudang
  •  Tabel model karyawan
  •  Tabel model barang detil


10. Membuat view
(isinya adalah membuat tampilan atau GUI)
  • View Barang Gudang dan karyawan

  • View Input Barang

  • View Return Barang

  • View Transaksi

  • View Transaksi By Id

  • View Update Password

11. Menjalankan Form Gudang
(isinya adalah membuat bermacam-macam class dan GUI sampai form gudang bisa digunakan)
  • Load Form Gudang ke Menu Utama

  • Dialog untuk simpan dan edit Gudang
  • Process Insert

  • Process Update 
  • Process Delete

12. Menjalankan Form Karyawan
(isinya adalah membuat bermacam-macam class dan GUI sampai form Karyawan bisa digunakan)
  • Load Karyawan Ke menu utama

  • Tambah data 


  • Insert Data

  • Process Update

  • Process Delete

13. Menjalankan form Barang
(isinya adalah membuat bermacam-macam class dan GUI sampai form bisa bisa digunakan)
14. Membuat pencarian baang
15. membuat input barang masuk
16. Menjalankan form Penjualan (transaksi penjualan)
17. Menjalankan Form Return Barang
18. membuat semua report
19. membuat About (biasanya hal yang berhuungan dengan pembuat)
20. membuat Login
21. Membuat Splash Screen (Welcome Screen)

gb. spalsh screen
gb. menu login
gb. master karyawan
gb. laporan semua transaksi

dan masih banaak lagi yang lainya, gambar-gambar diatas hanya sebagai gambaran saja,....vidio tutorial ini sanagat dinajurkan bagi anda yang baru belajar atau sedikit bisa .....

filnya sangat besar sekitar 4,2 giga..jadi saya males banget menguploadnya...karena tutorial ini dibuat dari awal sampai aplikasi lumayan lah ....
bagi anda yang berminat silahakn hubungi saya di:

082121232730
aasseepp@gmail.com

atau anda bisa datang langsung ke tampat saya
daerah kebonjeruk...tepatnya jl. asofa raya no 30 sukabumi utara kebonjeruk jakbar

atau anda minta dikirimkan berupa DVD bisa juga.....tinggal sms aja dulu...


Sunday, October 14, 2012

Update jumlah stok barang di database

pada kesempaan ini saya mausering tentang cara menupdate jumlah barang di database, khususnya database MySql

kalau kita mengunakan cara konvensional pada program tentunya itu merupakan pemborosan contohnya sbb:

kita lakukna select dulu ke table misalkan table barang

"sekect jumlah from barang where barang_id=1"
 nah proses itu akan menghasilakn jumlah barang yang ada di database, setelah kita melakukan select dan mendapatkan jumlahnya barlah jumlah yang kita dapat dikurangi atau di tambah dengan stok yang amsuk aau stok yang keluar, dan lakukan proses updata sebagai berikut

"update baang set jumlah=jumlah barang setelah proses transaksi where barang_id=1"

cara diatas tadi tentunya sangat tidak efisien sekali ada cara yang lebih efisien adalah sbb:

"update barang set jumlah=jumlah+jumlah barang yang masuk where barang_id=id"

untuk lebuh jelasnya silahkan iuti video tutuorial sbb:


Monday, September 17, 2012

Enkripsi Password pada MySql

pada kesempatan ini saya mau sering tenang cara mengunakan enkripsi data pada database MySql, ok kita langsung saja praktek.
1. kita Masuk ke database MySql
2. Buat Database Baru ' create database enkripsi'
                                       ' use enkripsi'
3. Buat table baru 'create table user (username varchar(20), password varchar(45))'


4. Insert Data Baru 'insert into user(username, password) values ('asep', password('asep'))'

5. nah sekarang kita tampilkan dengan where 'select * from user where password=password('asep')'

6. nah sekarang kita coba update 'update user set username='asep komarudin', password=password('asep komaruin');'




Tuesday, March 13, 2012

Cara Install font windows di linux mint 12

Untuk melakukan penginstalan font windows seperti arial times new roman dan lain-lain ada beberapa langkah yang harus dilakukan diantaranya.
  1. buka terminl dan ketikan 

 2.  Tambahkan link dibawah ini lalu sace dan close



ketikan kode dibawah ini pada terminal
asep@asep-ThinkPad-X120e ~ $ sudo apt-get update
asep@asep-ThinkPad-X120e ~ $sudo apt-get install msttcorefonts

    Friday, January 13, 2012

    Uml (use case diagram)

    Use Case Model
    1. Teknik pemodelan untuk mendapatkan functional requirement dari sebua sistem
    2. Menggambarkan interaksi antara penguna denga sistem
    3. Menjelaskan secara naratif bagaimana sistem akan digunakan
    4. Mengunakan skenario untuk menjelaskan setiap aktifitas yang munkin terjadi
          -Terkadang notasi kurang detil, terutama untuk bebrapa aktifitas tertentu

    Kapan mengunakan Use Case?
    1. Use ase sederhana digunakan pada saat proses requerement analysis
             - tidak semua paham bahasa tenis
    2. Versi lebih detil dibuat sebelum implementasi rancangan
           - Dibuat khusus untuk mempermudah desain sistem oleh para developer
    catatan:
    - Use case merupakan sekumpulan secenario yang dihubungka sati sama lain dengan satu tujuan yang sama dari penguna.
    - Use Case berisi apa yang dilakukan oleh sistem / apa yang terjadi pada sistem, bukan bagaimana sistem melakukan.

    Level Use case Model
    • Usecase memiliki 2 istilah 
    1. sistem use case :interaksi denga sistem
    2. Busenes use case: interaksi bisnis dengan konsumen atau kejadian nyata
    • Cookburn menyarankan adanya pembedaan level
    1. sea level : ineraksi sistem denga aktor utama
    2. fish level : usecase yang ada karena include dari use case sea level 
    3. kite level : mengambarkan sealevel usecase untu inteaksi bisnis yang lebih luas
    Element Use Case
    • Akasi yang terdapat didala sistem, melingkupi semua aksi yang harus maupun dapat terjadi
    • tidak harus berrelasi denga seorang atau sebuah actor 
    • pada umumya berupa kata kerja
    element Actor
    • dalam notasi use case, penguna sistem disebut dengan actor (role)
    • actor dapat berupa namaer, pimpinan, mahasiswa dan lain sebagainya 
      • Actor tidak harus berupa manusia 
      • jika sitem A mngerjakan sebuah fungsi untuk sistem B, maka sistem B disebut dengan actor.
    • Suatu use case diagram dapat memilki banyak actor didalamnya
    use case diagram simbol
    • Nama Use case 
      • sample name (buasanya berupa kata kerja )
    • patah name
      • nama dibagian depan menyatakan paket(pakage) dimana usecase tersebut berada 
     sistem bundery
    • berupa batas antara sistem dengan actor
    • Bisa dinotasikan dengan bujursangkar
    • semua use case harus beada didalam sistem bundary
    Relationship
    1. Generalization
    2. include
    3. extend
    4. defendency
    5. association
    Generalization
    • Hubugan antara induk dengan anak
    • anak mewarisi sifat dan method dari induk
    • induk disebut root/base
    • class yang tidak memiliki anak desebut leaf
    • terbagi menjadi 2
      • actor generalitazion
      • uscase generalization
    contoh generalisasi
    bersambung........................

    Thursday, January 12, 2012

    membatasi carakter yang masuk pada jTextField

    kadang kala kita ketika membuat program java membutuhkan sebuah JTextField yang dibatasi, maksudnya gini, ketika user memasukan karakter pada jtextfield ketika sudah mencapai jumlah batas yang telah kita tentukan karakter yang di inputkan tidak tercetak lagi

    ok langsung saja kita praktek:
    1. Buatlah sebuah projek java aplication
    2. Buatlah sebuah java class MaxDocument.java

    package asep.max.text;

    import javax.swing.text.AttributeSet;
    import javax.swing.text.BadLocationException;
    import javax.swing.text.PlainDocument;

    /**
     *
     * @author asep
     */
    public class MaxDocument extends PlainDocument{

        private int max;

        public MaxDocument(int max) {
            this.max = max;
        }

        public MaxDocument() {
            this(-1);
        }
      
        @Override
        public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
            if(this.max==-1){
                super.insertString(offs, str, a);
            }else{
                int panjangYangMasuk=str.length();
                int panjangText=getLength();
                if((panjangText+panjangYangMasuk)>this.max){
                    //text tidak dimasukan
                  
                }else{
                    super.insertString(offs, str, a);
                }
            }     
        }
      
    }
    3. Buatlah jFrame sbb:
    4. Lalu edit kode berikut:

    public class Form extends javax.swing.JFrame {

        /** Creates new form Form */
        public Form() {
            initComponents();
            MaxDocument document=new MaxDocument(10);
            txtNama.setDocument(document);
        }

        /** This method is called from within the constructor to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
         */
        @SuppressWarnings("unchecked")
    lalu jalankan program,
    maka jumlah carakter akan dibatasi 10 carakter saja

    Spring framework

    SPRING FRAMEWORK
    Spring framework adalah sebuah frame work yang sangat terkenal didunia pemprograman java. Spring merupakan framework ioc(injection of control) atau bisa disebut juga di(dependensi injection) jadi mekanismenya tidak perlu mendeklarasikan objek untuk mendpatkan objek tesebut karena objek tersebut akan otomatis diinstansi oleh spring atau objek akan diinjek oleh spring.Frame work ini memiliki banyak fitur untuk pembuata aplikasi, beberapa fitur yang dimiliki spring diantaranya adlah:
    1.    - Mudah dipelajari dan dipahami
    2.   -  Tidak terlalu rumit dan infasif
    3.    -   Helper class yang banyak
    4.    -  Mendukung AOP
    5.    Diintegrasikan dengan framework lain mudah
    Spring framework sebenrnya mengunakan teknik yang sederhana
    selanjutnya kita coba untuk latihan membuatnya:
    1. sepeti biasa kita buat java aplication dan beri judul bebas
    2. Buat sebuah class baru 


    package asep.entity;

    /**
     *
     * @author asep
     */
    public class DefaultMesage {
        private String mesage=null;

      
        public String getMesage() {
            return mesage;
        }

        public void setMesage(String mesage) {
            this.mesage = mesage;
        } 
    }
    3. buat spring file dengan cara buka menu FILE  --> open File --->
    lalu beri nama file spring dan ok/ finish
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
    ">
        <bean id="mesage" class="asep.entity.DefaultMesage">
            <property name="mesage" value="asep"/>
        </bean>

    </beans>
    4. Buat java main class baru dan beri nama main, edit isinya menjadi sbb:

    package asep.entity;

    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;

    /**
     *
     * @author asep
     */
    public class Main {

        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) {
            // TODO code application logic here
            ApplicationContext ac=new ClassPathXmlApplicationContext("classpath:asep/entity/spring.xml");
            DefaultMesage cm=  (DefaultMesage) ac.getBean("mesage");
            System.out.println(cm.getMesage());
        }
    }

    5. Lalu jalankan: dengan cara klik kanan run file

    Sunday, January 1, 2012

    Auto Number dengan java persistence dan MYsql

    Assalamualkaum Wr. Wb..
    Sahabat blogger semua pernah tidak kamu ketika mengunakan sebuah program, code (id) otomatis generate seperti ada paternnya contoh HR001001. Bagaimana caranya jika kita membuat auto number dengan mengunakan java dan persistance.

    1. Persiapan yang Dibutuhkan

    Pertama kamu harus sudah menginstall Netbeans dan selanjutnya buatlah database terlebih dahulu denga cara :
    create database autonumber;

    2. Pembuatan Code Program

    Selanjutnya buatlah sebuah projek baru java aplication da beri judul bebas:
    disini saya memberi nama nya AutoNumber.
    kemudian buatlah sebuah entity class dengan cara klik FIle--> new File --> pilih persistence dan pilih entity class masukan database yang tadi kitabuat dan beri nama classnya Mahasiswa:

    package asep.autonumber;

    import java.io.Serializable;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.Id;

    /**
     *
     * @author asep
     */
    @Entity
    public class Mahasiswa implements Serializable {
        private static final long serialVersionUID = 1L;
        @Id
        @Column(name="Nim",length=10,nullable=false,unique=true)
        private String nim;

        @Column(name="nama",length=20,nullable=false)
        private String nama;
      
        @Column(name="alamat",length=50,nullable=false)
        private String alamat;

        public String getAlamat() {
            return alamat;
        }

        public void setAlamat(String alamat) {
            this.alamat = alamat;
        }

        public String getNama() {
            return nama;
        }

        public void setNama(String nama) {
            this.nama = nama;
        }

        public String getNim() {
            return nim;
        }

        public void setNim(String nim) {
            this.nim = nim;
        }

        @Override
        public boolean equals(Object obj) {
            if (obj == null) {
                return false;
            }
            if (getClass() != obj.getClass()) {
                return false;
            }
            final Mahasiswa other = (Mahasiswa) obj;
            if ((this.nim == null) ? (other.nim != null) : !this.nim.equals(other.nim)) {
                return false;
            }
            if ((this.nama == null) ? (other.nama != null) : !this.nama.equals(other.nama)) {
                return false;
            }
            if ((this.alamat == null) ? (other.alamat != null) : !this.alamat.equals(other.alamat)) {
                return false;
            }
            return true;
        }

        @Override
        public int hashCode() {
            int hash = 3;
            hash = 59 * hash + (this.nim != null ? this.nim.hashCode() : 0);
            hash = 59 * hash + (this.nama != null ? this.nama.hashCode() : 0);
            hash = 59 * hash + (this.alamat != null ? this.alamat.hashCode() : 0);
            return hash;
        }    
    }
    Lalu buat persistenceHelper:
    package asep.autonumber;

    import javax.persistence.EntityManagerFactory;
    import javax.persistence.Persistence;

    /**
     *
     * @author asep
     */
    public class PersistanceHelper {
        private static final EntityManagerFactory FACTORY;
      
        static{
            FACTORY=Persistence.createEntityManagerFactory("AutoNumberPU");
        }

        public static EntityManagerFactory getFACTORY() {
            return FACTORY;
        }  
    }

    buat tampilan view sbb:
    tambahkan geter untuk txtUserId
     public JTextField getTxtId() {
            return txtId;
        }
    kemudin buat controlernya:
    package asep.autonumber;

    import javax.persistence.EntityManager;
    import javax.persistence.Query;

    /**
     *
     * @author asep
     */
    public class Controler {  
        private View view;

        public Controler(View view) {
            this.view = view;
        }
      
        public void select(){
            EntityManager manager=PersistanceHelper.getFACTORY().createEntityManager();
            manager.getTransaction().begin();
            try{
                @SuppressWarnings("unchecked")
                Query id= manager.createQuery("select max(a.nim) from Mahasiswa a");
                Object coun= id.getSingleResult();
                if(coun==null){
                    view.getTxtId().setText("0001");
                }else{
                    int nilai=Integer.parseInt(coun.toString());
                    nilai=nilai+1;
                    view.getTxtId().setText("000"+String.valueOf(nilai));
                }
              
                manager.getTransaction().commit();
              
            }finally{
                manager.close();
            }
        }
      
    }
    lalu tambahkan pula pada action btnAdd koding ini:
    private void btnIdActionPerformed(java.awt.event.ActionEvent evt) {                                    
    // TODO add your handling code here:
        controler=new Controler(this);
            controler.select();
    }  

    3. Testing dan Jalankan Program

    sekarang kita coba jalankan programnya, tekan tombol add maka number akan otomatis di create:
    downloas sourcecode lengkapnya disini:
    autonumber