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

    Thursday, December 29, 2011

    JTable Dinamis Menyesuikan Dengan Panjang Record


    Dynamic JTable

    Assalamualakum wr. wb...
    Sahabat sekalian pada kesempatan ini saya mau share cara membuat lebar JTabel (tabel pada java) otomatis menyesuaikan lebarnya sesuai dengan isi text yang ada.

    1. Persiapan Kebutuhan

     Untuk tutorial kali ini kita harus menyiapkan Netbeans IDE, tetapi sebenarnya mengunakan IDE lainnya seperti Eclipe juga tidak masalah.Sebagai ilustrasi seperti ditunjukan pada gambar dibawah, kita ingin merubah tampilan Jtabel bagian yang di kasih tanda merah terdapat space yang cukup lebar.

    2. Pembuatan Code

    untuk memulai membuat program ini pertama buat projek baru dan beri nama TabelDinamis, stukturnya seperti ditunjukan pada gambar dibawah.
    Baca Juga :
    selanjutnya buatlah sebuat class baru dan berinama Mahasiswa:
    package asep.tabeldinamis;

    /**
     *
     * @author asep
     */
    public class Mahasiswa {
       
        private String nim;
        private String nama;
        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;
        }   
    }
    selanjutnya buat tabelModelMahasiswa:
    package asep.tabeldinamis;

    import java.util.ArrayList;
    import java.util.List;
    import javax.swing.table.AbstractTableModel;

    /**
     *
     * @author asep
     */
    public class TableModelMahasiswa extends AbstractTableModel{
      
        private List<Mahasiswa>list=new ArrayList<Mahasiswa>();

        public TableModelMahasiswa(List<Mahasiswa> list) {
            this.list=list;
        }

        public TableModelMahasiswa() {
        }
      
     
        @Override
        public int getRowCount() {
            return list.size();
        }

        @Override
        public int getColumnCount() {
            return 3;
        }

        @Override
        public Object getValueAt(int rowIndex, int columnIndex) {
            switch(columnIndex){
                case 0: return list.get(rowIndex).getNim();
                case 1: return list.get(rowIndex).getNama();
                case 2: return list.get(rowIndex).getAlamat();
                    default:return null;
            }
        }

        @Override
        public String getColumnName(int column) {
            switch(column){
                case 0: return "Nim";
                case 1: return "Nama";
                case 2: return "Alamat";
                    default:return null;
            }
        } 
    }
    Selanjutnya buat class sesuaikan kolom:
    package asep.tabeldinamis;

    import java.awt.Component;
    import java.util.ArrayList;
    import java.util.List;
    import javax.swing.JTable;
    import javax.swing.table.TableCellRenderer;
    import javax.swing.table.TableColumn;
    import javax.swing.table.TableColumnModel;

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

        public SesuaikanKolom(JTable table) {
            buatKolomSesuai(table);
        }
        public void buatKolomSesuai(JTable t){
            TableColumnModel columnModel=t.getColumnModel();
            for(int kol = 0;kol<columnModel.getColumnCount();kol++){
                int lebarKolomMax=0;
                for(int baris=0;baris<t.getRowCount();baris++){
                    TableCellRenderer rend=t.getCellRenderer(baris, kol);
                    Object nilaiTabel=t.getValueAt(baris, kol);
                    Component comp=rend.getTableCellRendererComponent(t, nilaiTabel, false, false, baris, kol);
                    lebarKolomMax=Math.max(comp.getPreferredSize().width, lebarKolomMax);
                }
                TableColumn kolom=columnModel.getColumn(kol);
                kolom.setPreferredWidth(lebarKolomMax);
            }
        }   
    }
    Slanjutnya buatlah sebuah JFrame dan masukan sebuah tabel seperti gambar berikut:
    Buatlah sebuah metode tepat dibawah kode berikut:
    public View() {
           initComponents();
         }
    public List isiMahasiswa(){
            List list=new ArrayList();
            for(int i=0;i<20;i++){
                Mahasiswa m=new Mahasiswa();
                m.setNim("001");
                m.setNama("asep hfhfefejfoe");
                m.setAlamat("kebon jeruk gagaeierierererihfjef");
                list.add(m);
            }
            return list;
        }
    Kemudian Masukan kode didalam kode ini:
    public View() {
    initComponents();
    //letakan disini
    }
    public View() {
           initComponents();
           this.setLocationRelativeTo(null);
           TableModelMahasiswa modelMahasiswa=new TableModelMahasiswa(isiMahasiswa());
           TabelMahasiswa.setModel(modelMahasiswa);
           SwingUtilities.invokeLater(new Runnable() {

                @Override
                public void run() {
                    new SesuaikanKolom(TabelMahasiswa);
                    TabelMahasiswa.revalidate();
                }
            });
        }

    3. Testing dan Output

    ketika code program dijalankan maka akan tampil sepetri gambar dibawah ini, kita bisa lihat pebedaannya dengan gambar diatas, space kosong yang tadi cukup lebar dan tidak merata sekarang sudah bergeser dan menyesuaikan secara otomatis.
     download kode lengkapnya disini:
    tabeldinamis

    Wednesday, December 28, 2011

    Load Data Dari Database Ke JCombobox (Javax Swing)

     javax swing

    Assalamualaikum Wr. Wb....
    Sahabat blogger semua, kali ini saya akan share bagaimana caranya load data dari database ke combobox dengan mengunakan java. Cara ini sering sekali digunakan, dan wajib hukumnya bagi seorang programmer java menguasainya. Contoh ini dibuat sederhana saja hanya mengunakan satu tabel dan dua field yaitu id dan nama.
    Ok kita langsung aja praktek, kalau kebanyakan teori malah makin pusing.
    Buatlah database baru dengan nama combobox, tentunya sebelumnya kamu sudah menginstal database MySql.  Gambaran strukturnya seperti pada gambar dibawah ini, saya tidak akan bahas bagaimana cara create barunya, saya anggap kamu sudah pada bisa create database baru dan tabel baru. Jika belum bisa silahkan pelajari dulu cara-caranya:
    Baca Juga :
    Seetelah database baru dan tabel baru terbentuk sekarang kita isi tabel dengan data seperti dibawah, tidak usah terlalu banyak ini hanya untuk contoh saja. Jika nanti sudah berjalan dengan normal silahkan di modifikasi sendiri datanya:

    Database baru, tabel baru dan datanya sudah kita isi, Selanjutnya buat sebuah projek baru dan berinama sesuka anda, gambarannya seperti image dibawah:

    Selanjutnya buat paketbaru dan berinama bebas:
    buat sebuat class baru dan berinama DatabaseHelper

    package asep.comboboxwithdatabase.koneksi;

    import java.sql.Connection;
    import java.sql.DriverManager;

    /**
     *
     * @author asep
     */
    public class DatabaseHelper {
        private static Connection connection;

        public static Connection getConnection() {
            if(connection==null){
                try{
                    Class.forName("com.mysql.jdbc.Driver");
                    connection=DriverManager.getConnection("jdbc:mysql:"
                            + "//localhost:3306/combobox", "root", "root");
                   
                }catch(Throwable t){
                   
                }
            }
            return connection;
        }
       
       
    }

    selanjutnya buatlah GUI form (tampilan) seperti berikut:
    da isi kode seperti berikut:
    package asep.comboboxwithdatabase.koneksi;

    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;

    /**
     *
     * @author asep
     */
    public class view extends javax.swing.JFrame {

        /** Creates new form view */
        public view() {
            initComponents();
        }

        /** 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")
        // <editor-fold defaultstate="collapsed" desc="Generated Code">
        private void initComponents() {

            comboKategory = new javax.swing.JComboBox();

            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

            comboKategory.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "plihan" }));
            comboKategory.addPopupMenuListener(new javax.swing.event.PopupMenuListener() {
                public void popupMenuCanceled(javax.swing.event.PopupMenuEvent evt) {
                }
                public void popupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent evt) {
                }
                public void popupMenuWillBecomeVisible(javax.swing.event.PopupMenuEvent evt) {
                    comboKategoryPopupMenuWillBecomeVisible(evt);
                }
            });

            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addContainerGap()
                    .addComponent(comboKategory, javax.swing.GroupLayout.PREFERRED_SIZE, 301, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(24, Short.MAX_VALUE))
            );
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addGap(34, 34, 34)
                    .addComponent(comboKategory, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(36, Short.MAX_VALUE))
            );

            pack();
        }// </editor-fold>

    private void comboKategoryPopupMenuWillBecomeVisible(javax.swing.event.PopupMenuEvent evt) {                                                       
    // hapus semua data combobox
        comboKategory.removeAllItems();
        //load data dari database ke combo box
        Statement statement=null;
        ResultSet resultSet=null;
        try{
            statement=DatabaseHelper.getConnection().createStatement();
            resultSet=statement.executeQuery("select nama from kategori_barang");
            while(resultSet.next()){
                String kategory=resultSet.getString("nama");
                comboKategory.addItem(kategory);
            }
        }catch(SQLException e){
          
        }finally{
            try{
                if(resultSet != null){
                    resultSet.close();
                }
            }catch(SQLException e){
               
            }
        }
        try{
            if(statement !=null){
                statement.close();
            }
        }catch(SQLException e){
           
        }
    }                                                       

        /**
         * @param args the command line arguments
         */
        public static void main(String args[]) {
            /* Set the Nimbus look and feel */
            //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
            /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
             * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
             */
            try {
                for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                    if ("Nimbus".equals(info.getName())) {
                        javax.swing.UIManager.setLookAndFeel(info.getClassName());
                        break;
                    }
                }
            } catch (ClassNotFoundException ex) {
                java.util.logging.Logger.getLogger(view.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (InstantiationException ex) {
                java.util.logging.Logger.getLogger(view.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (IllegalAccessException ex) {
                java.util.logging.Logger.getLogger(view.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (javax.swing.UnsupportedLookAndFeelException ex) {
                java.util.logging.Logger.getLogger(view.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            }
            //</editor-fold>

            /* Create and display the form */
            java.awt.EventQueue.invokeLater(new Runnable() {

                public void run() {
                    new view().setVisible(true);
                }
            });
        }
        // Variables declaration - do not modify
        private javax.swing.JComboBox comboKategory;
        // End of variables declaration
    }
    untuk lebih jelasnya silahkan download sourcodnya:
    comboboxwithdatabase


    mudah mudahan bisa membantu kamu, terutama kamu yang baru belajar Java.
    Sampai ketemu di postingan selanjutnya

    Salam