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

    Monday, September 26, 2011

    Efek cermin dengan java 2d

    Assalamualakum wr. wb...
    Sahabat blogger semua seperti kita ketahui java perupakan salah satu bahasa pemprograman yang cukup populer saat ini. Jika anda orang yang ingin menekuni bidang programming, bahasa ini cukup menjanjika jika dipelajari. Banyak aplikasi perbankan yang dibuat menggunakan bahasa ini, jadi ga rugi dong kalau kita pelajari.. dan hampir di setiap kampus mau Negri maupun swasta ada mata kulian ini walalupun istilahnya macaem-macem.
    Salahsatu bagian dari pemprograman java adalah grafik 2d, bagian ini banyak mengolah tampilan bia render, cermin duplikasi dan lain sebagainya.
    Kali ini kita akan buat tutorial membuat efek cermin tampilannya seperti diatas.

    Baca Juga :
    Untuk memulainya kita harus menuiapkan beberapa kebutuhan.
    1. Netbeans IDE, bisa kamu download dari link berikut  Netbeans
    2. Siapkan Image untuk kita jadikan efek cermin.
     Selanjutnya jika Netbeans sudah siap, buatlah projek java baru dengan struktur seperti image dibawah, untuk proses pembuatnnya seperti biasa, buatlah pecage sbb:
    untuk isi kode pada class IconBayang sbb:
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */

    package asep.swiing008.Bayangan;

    import java.awt.AlphaComposite;
    import java.awt.Color;
    import java.awt.GradientPaint;
    import java.awt.Graphics2D;
    import java.awt.Image;
    import java.awt.image.BufferedImage;

    /**
     *
     * @author user
     */
    public final class IconBayang {

        public IconBayang() {
        }
        public static BufferedImage ConfertToBufferedImage(Image image){
            //mengambil ukuran image
            int with=image.getWidth(null);
            int heigh=image.getHeight(null);
            //membuat buffered image baru
            BufferedImage result=new BufferedImage(with, heigh, BufferedImage.TYPE_INT_ARGB);
            Graphics2D g=result.createGraphics();
            g.drawImage(image, 0,0, null);
            g.dispose();
            //kembalikan hasil
            return result;
        }
        public static BufferedImage createreplectionbufferedImage(BufferedImage image){
            //membuat result image
            BufferedImage result=new BufferedImage(image.getWidth(), image.getHeight()*6/4, BufferedImage.TYPE_INT_ARGB);
            Graphics2D g=result.createGraphics();
            //gambarkan image
            g.drawImage(image, 0,0, null);
            //gambar cermin gambar
            g.scale(1.0, -1.0);
            g.drawImage(image, 0,-image.getHeight()*2, null);
            g.scale(1.0, -1.0);
            //pindahkan ke cermin
            g.translate(0, image.getHeight());
            //buat gradien mask
            GradientPaint mask=new GradientPaint(0, 0, new Color(1f, 1f, 1f,0.5f), 0, image.getHeight()/2, new Color(1f, 1f, 1f, 0f));
            g.setPaint(mask);
            //set alpha composite
            g.setComposite(AlphaComposite.DstIn);
            //menggamnbar mask
            g.fillRect(0, 0, image.getWidth(), image.getHeight());
            g.dispose();
            return result;
        }
        public static BufferedImage createreplectionbufferedImage(Image image){
            return createreplectionbufferedImage(ConfertToBufferedImage(image));
        }
    }

    untuk isi kode pada class iconlabel sbb:

    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */

    package asep.swiing008.Bayangan;

    import java.awt.image.BufferedImage;
    import javax.swing.Icon;
    import javax.swing.ImageIcon;
    import javax.swing.JLabel;
    import javax.swing.SwingConstants;

    /**
     *
     * @author user
     */
    public class IconLabel extends JLabel{

        private Icon iconReflect;

        public IconLabel() {
            super();
            setHorizontalTextPosition(SwingConstants.CENTER);
            setVerticalTextPosition(SwingConstants.BOTTOM);
        }

        public Icon getIconReflect() {
            return iconReflect;
        }

        public void setIconReflect(Icon iconReflect) {
            this.iconReflect = iconReflect;
            if(iconReflect==null){
                firePropertyChange("icon", getIconReflect(), iconReflect);
                this.iconReflect=iconReflect;
                setIcon(iconReflect);
            }else{
                if(!(iconReflect instanceof ImageIcon)){
                    throw new IllegalArgumentException();
                }
                firePropertyChange("icon", getIconReflect(), iconReflect);
                this.iconReflect=iconReflect;
                BufferedImage img=IconBayang.createreplectionbufferedImage(
                        ((ImageIcon)iconReflect).getImage());
                setIcon(new ImageIcon(img));
            }
        }


    }







    kemudian copi dan paste sebuah image kedalam pecage tadi.
    isi kode untuk class Run sbb:
    package asep.swiing008.Bayangan;

    import java.awt.BorderLayout;
    import javax.swing.ImageIcon;
    import javax.swing.JFrame;
    import sun.applet.Main;

    /**
     *
     * @author user
     */
    public class run extends JFrame{

        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) {
            // TODO code application logic here
            java.awt.EventQueue.invokeLater(new Runnable() {

                public void run() {
                    new run().setVisible(true);
                }
            });
        }

        public run() {
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setTitle("percobaan asep");
            setLayout(new BorderLayout());
            IconLabel icon=new IconLabel();
            icon.setIconReflect(new ImageIcon(this.getClass().getResource("icon.jpg")));
            add(icon);
            pack();
            setLocationRelativeTo(null);
        }
    }

    kurang lebih seperti itu bagi yang kurang paham bisa bertanya di komentar.
    selamat mencoba.........

    Tuesday, April 26, 2011

    Export import database melalui dos(comand)


    Assalamualakum Wr. Wb...
    MySql adalah database yang cukup populer dan banyak penggunanya bahkan facebook pernah mengunakannya. MySql saat ini sudah tidak open source lagi karena sudah diakuisisi oleh Oracle. Untuk lebih jelasnya mengenai license MySql silahkan kunjungi situs resminya
    www.mysql.com
    Bagi kamu yang sudah terbiasa mengunakan  MySql tidak usah hawatir karena komunitas yang dulu mengembangkan MySql sudah membuat pengembangan yang semisal MySql uaitu MariaDB, untuk lebih jelasnya silahkan kunjungi web resminya.
    Maria DB
    Baca Juga :
    Kemarin saat saya mengumpulkan tugas database, banyak dari teman – teman aku yang mengalami masalah, memindahkan databasenya ke komputer dosen. Teman ku melakukan backup database dengan cara mengcopy folder databasenya di path /mysql/data saat mereka memindahkan ke komputer yang lain dan membuka database tersebut terdapat indikasi error pada table – tablenya.
    Dan disini saya akan menyelesaikan masalah tersebut dengan melakukan Export dan Import Database kesebuah file .sql melalui Command Prompt (DOS) menggunakan mysqldump.

    Sebenarnya cara memindahkan database dari satu komputer ke komputer lainnya tidak hanya dengan cara ini. Kamu juga bisa mengunakan HeidiSQL atau PHPMyAdmin kedua GUI (graphical user interface) tools ini didalamnya sudah ada menu untuk export dan inport database. Tapi bagi kamu yang baru belajar saya sarankan mengunakan CMD, alasannya apa supaya terbiasa dengan script script. Jika kamu nanti bekerja dilingkungan server apalagi server yang digunakan Linux maka script-scrit CMD ini yang digunakan.

    Gausah panjang lebar ikuti tutorialnya berikut ini:
    1. Membeckup
      mysqldump [Nama Database] -u [Username] -h [Host] -p [Password] > [Nama File Database].sql
      Contohnya :
      mysqldump perpustakaan -u root -h localhost -p > perpustakaan.sql  
    2. Memanggil kembali pada komputer lainnya
      Dan untuk mengambil atau import database dari sebuah file dengan masuk pada mysql prompt dan buat database yang ingin dibuat:

      1. Buat database baru
        create database [Nama Database];
        Contohnya :
        create database perpustakaan
      2. Mengambil atau import database yang ada ke sebuah file:
      mysql [Nama Database] -u [Username] -h [Host] -p [Password] < [Nama File Database].sql
        Contohnya :
      mysql perpustakaan -u root -h localhost -p < perpustakaan.sql

        
    Saya rasa script ini tidak terlalu rumit tinggal dicoba saja, sesuatu yang tidak pernah dicoba tidak akan tau seberapa mudah dan seberapa sulitnya hal itu. Jika masih mentok juga atau error-error terus ya sudah coba saja dengan GUI tools yang saya sebutkan diatas.

    Selamat mencoba, semoga berhasil. Jika ada pertanyaan dan saran silahkan cantumkan pada kolom komentar.

    Salam

    Saturday, April 16, 2011

    Trik mengatasi error windows tanpa instal ulang


    Ide Tulisan ini saya buat karena tadi siang habis mengatasi masalah ini dikantor, ya biasa windows corrupt.
    sampai saat ini saya masih belum tahu apakah trik ini berlaku disemua versi windows karena sampai sekarang untuk client saya hanya memakai windows XP, bukan windows lainnya.
    Ya seperti artikel terdahulu saya tentang NTLDR is Missing, kali ini saya akan menoba memberikan trik lainnya untuk mengatasi masalah windows anda tanpa harus instal ulang.

    1. NTOSKRNL Rusak atau Hilang (Missing or Corrupt)
    Jika Anda mendapati pesan error bahwa "NTOSKRNL not found"

    - Boot PC anda dengan CD windows (cd Harus sesuai dengan yang terinstal)
    - Pada saat muncul opsi R=Repair yang pertama, tekan tombol R
    - Tekan angka sesuai dengan lokasi instalasi Windows yang ingin diperbaiki yang sesuai (biasanya 1 c:\windows)
    - Setelah muncul c:\windows pindahkan ke drive cd anda (misal e: enter dengan asumsi e : adalah Cd rom yang berisi installer windows)
    - lalu ketik : cd i386
    - kemudian ketik : expand ntkrnlmp.ex_ C:\Windows\System32\ntoskrnl.exe setelah sukses ketik exit dan restart PC anda

    2. HAL.DLL Rusak atau Hilang (Missing or Corrupt)
    Jika Anda mendapatkan error hal.dll error or missing kemungkinan boot.ini salah konfigurasi atau misconfigured

    - Boot PC anda dengan CD windows (cd Harus sesuai dengan yang terinstal)
    - Pada saat muncul opsi R=Repair yang pertama, tekan tombol R
    - Tekan angka sesuai dengan lokasi instalasi Windows yang ingin diperbaiki yang sesuai (biasanya 1 c:\windows)
    - Setelah muncul c:\windows pindahkan ke drive cd anda (misal e: enter dengan asumsi e : adalah Cd rom yang berisi installer windows)
    - lalu ketik : cd i386
    - kemudian ketik : bootcfg /list untuk mengecek tampilan boot.ini anda
    - lalu ketik : bootcfg /rebuild untuk memperbaiki konfigurasi boot.ini setelah selesai ketik exit dan restart PC

    3. Direktori \WINDOWS\SYSTEM32\CONFIG rusak atau hilang)
    Jika Anda mendapati pesan error pada PC anda sebagai berikut "Windows could not start because the following files is missing or corrupt
    \WINDOWS\SYSTEM32\CONFIG\SYSTEM or \WINDOWS\SYSTEM32\CONFIG\SOFTWARE"


    - Boot PC anda dengan CD windows (cd Harus sesuai dengan yang terinstal)
    - Pada saat muncul opsi R=Repair yang pertama, tekan tombol R
    - Tekan angka sesuai dengan lokasi instalasi Windows yang ingin diperbaiki yang sesuai (biasanya 1 c:\windows)
    - Lalu ketik cd \windows\system32\config
    - Selanjutnya tergantung letak kerusakannya misal software
    - jika software ketik : ren software software.old
    - jika system ketik : ren system system.old
    - lalu ketik : copy \windows\repair\software jika software atau
    - ketik : copy \windows\repair\system jika system setelah selesai ketik exit dan restart PC anda.
    Semoga sedikit Trik ini berguna untuk para pemula.
    wis ya, ki wis meh jam 3 subuh ngantuk sesuk sik katene kerjo rek, bye