Thursday, January 12, 2012

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

cara instal ulang notebook acer aspire one gratis



sebener-nya aku nulis artikel ini sekaligu curhat(hahaha.. gelakguling ), soal-nya dulu nasibku sial bgt.. beli netbook acer aspire one, baru sekitar 3 bulan eh.. jadi lambat bgt... xpasti. nyalain-nya aja lama bgt (mungkin klo ditinggal lari keliling lapangan 2 kali, masih tetep loading)
mungkin gara2 sering download, tapi ga pernah scan virus..(maklum, males update-nya sengihnampakgigi)
waktu mau cari tugas, netbook aku nyalain.. eh layar-nya ga nyala.. (tapi tombol power-nya nyala)

keesokan harinya.. aku service, kata si tukang service acer, ga bisa nyala karna sering dimatiin ga pake shutdown malu (hang terus sih..). untung masih garansi, klo gak.. pasti aneh.
skitar 2 minggu, netbook-ku sembuh, tapi masih tetep lambat. kata si tukang servis, mending di install ulang aja.. dg. keras kepala aku bilang, install ulang sendiri aja(seingetku ada software bawaan acer di netbookku namanya Acer eRocevery Management, buat install ulang). sampe rumah, eh.. eRecovery tadi ngadat.. hah. waktu itu jelas bingung.. akhirnya (abis 3 menit meditasi di kamar mandi), aku dapet cara.. install ulang lewat flashdisk.

bagi yg blom tau netbook pasti di bilang "kenapa ga pake CD aja? udah murah, ga ribet lagi.."
perlu kamu tau.. netbook itu biasa-nya ga punya CD-Room. klo notebook sih biasa-nya punya jadi gampang diatasi. besok-nya, aku install ulang lewat flashdisk, ga bisa malah error (denger2, caraini bisa dipake di ASUS EEE PC). karna gagal aku pake Live USB, bisa jalan..! tapi repot 100% (program-nya ga lengkap lagi). jadi aku cuma backup data-nya, terus install ulang di pusat acer. aku cuma backup data ke drive D.

waktu minta install ulang, suruh bayar 50rb!! marah (50rb bisa buat makan siang 17 hari lho.. dah pake minum lagi). walaupun masih garansi, tapi klo install ulang harus bayar. (kata-nya sih asli..around) ya gpp lah.. yg penting bisa bener. kata si pen-servise, di install pake USB ga bisa, soal-nya ga asli acer..(dasar, netbook matre merajuk)

beberapa minggu kmudian.. netbook aku ambil, udah normal lagi. tapi.. blur data2 ilang smua.
padahal penting2 tuh data(padahal bnyak game yg susah2 aku kumpulintension)
partisi-nya juga keubah.. dulu ada 4 drive, sekarang jadi 2.. parah bgt kan. dulu aku kira cuma drive C yg di install ulang... eh malah semua.

1 bulan kemudian.. netbookku jadi lambat lagi..
padahal dah pake antivirus (tapi jarang updatejelir ). mau install ulang lagi tapi sayang.. bayar 5orb lagi.. mending buat beli sate maduragelakguling . sodaraku bilang: "pake CD-Room external aja"
beuh.. CD-Room external itu kan mahal bgt..
mending aku cari cara install ulang lain yg rumit tapi hemat..
nah di google ketemu! ada yg mbahas itu di suatu forum yg kurang terkenal sengihnampakgigi


CARA 1
Start > (All) Programs > Empowering Technology > Acer eRecovery Management
CARA 2

1. restart netbook mu
sebener-nya ga di restart gpp. yg penting kamu ada di posisi sebelum masuk ke operating system (windows xp, vista, mac os, dll.) atau waktu proses boot-up

2. pencet Alt + F10
pas netbookmu nyala.. ada layar item, trus ada tulisan acer warna putih.. pencet pas itu.
disitu proses boot-up, pencet-nya harus bareng.. jari satu dengan yg lain diusahakan kompakgelakguling

3. ikuti instruksi



cara yg aku pake cara 2.. soal-nya, kaya tadi yg aku bilang.. Acer eRecovery Management ku kena virus, jadi cara 1 ga bisa dipake. klo cara 2, walaupun kena virus.. selagi masih bisa ke proses boot-up.. itu ga masalah

Saturday, March 26, 2011

cara menginstal ubuntu 10.10

ubuntu telah  kita ketahui bahwa pada 10 oktober lalu cononikal secararesmi merilis ubuntu 10.10 maparick meercat.update dan fitur-fitur baru teah disematkan didalamnya  diantaranya instaler yang sudah diperbaharui,
 penggantian default font dengan font terbaru yang terkanal dengan anma ubuntu font  fameli ,pembaruan dan penyempurnaan utility.
tutorial dibawah ini ditujukan kepada teman-teman yang masih awam untuk menginstal  ubuntu 10.10,atau orang yang baru mau mencobanya.ayo kita galakan open source...
hhal-hal yang harus dipersiapakn sebelum melakkan instalasi diantaranya,pastiakn komputer anda dapat booting melalui cd /dvd drive
bagi anda yang baru pertama kali menginstal ubuntu kami sarankan utuk melakukan penginstalan pada hardisk yang masih kosong, karena jika terjadi kegagalan peginstalan data-data yang ada pada  partisi tersebut akan hilang dan aka sulit dikembalikan lagi...kecuali dengan teknik-teknik recopery tertentu.
setelah semuanya siap dana anda sudah memahami resiko yang akan terjadi jika terjadi kesalahan,langsung saja kita mulai instalasi ubuntu 10.10.
masukan cd/dvd instaler ubuntu 10.10kedalam cd/dvd drive lalu restart komputer.
tunggu sebebtar sampai driver ubuntu berputar.
setelah itu akan muncul instalasion wizard.silahkan pilih bahasa yang anda inginkan lalu click tombol "instal ubuntu"
perhatian.:bagi anda yang belum mau menginstal ubuntu tapii masih mau mencoba ubuntunya click tombol "try ubuntu"

persiapanmenginstal ubuntu
pastikan anda  mempunyai persaratan yang dibutuhkan.sebagai pilihan anda dapat mendownload pembaruan saat menginstal software pihak ketiga seperti pemutar mp3,hanya dapat dilakukan jika anda memiliki koneksi internet saat instalasi.perlu diketahui jika semua itu diaktifkan maka proses instalasi akan memakan waktu yang sangat lama.

 
 MENGALOKASIKAN DRIVE SPACE
pada layar ini terdapat 3 pilihan
 1.instal alongside other operating system
pilih opsi ini jika anda memilliki opsi lain(misalkan widoes xp) telah terinstal pada komputer dananda ingin sistem dual boot.(tidak kami sarankan bagi anda yang belum pernah sama sekali malakukan instalasi sistem oprasi linux)
catatan: ingat bahwa setelah proses instalasi,boot  loder windows akan ditimpa oleh boot loder ubuntu
2. menghapus dan mengunakan seluruh hardisk 
 pilih opsi ini jika anda akan menghapus sistem oprasi yang telah ada atau hardisk masih kosong dan anda ingin membiarkan instaler secara otomatis mempartisi hardisk.ini adlah opsi yang disarankan untuk semua pengguna,hususnya bagi penguna yang ingin mengunkan oprasi tunggal.
3.mementukan partisi secara manual(untuk tingakat mahir) 
pilihan ini dianjurkan hanya untuk pengguna tingkat lanjut utuk membuat partisi khusus  atau mempormat hardisk dengan sistem yang lain dari yang telah ditentukan.cara ini juga dapat dilakukan untuk membuat partisi /hum yang sangat berguna jika kelak anda menginstal ulang seluruh system.

berikut adaalh cara menginstal manual: 
  • pilih "spesifi partision manually (advanced) lalu klik tombol "forwad"
  •  pastikan bahwa hyardisk yang dipilih telah benar"/dev/sda" adalah hardisk pertama"/div/sdb" adalah hardisk yang kedua.jastikan bahwa anda tau mana yang akan diformat,jika tidak maka anda akn kehilangan semau data.
  • kami asumsikan bahwa hrdisk yang anda pilih adalah kosong(tidak ada sistem oprasiatau data lainya)tetapi telah memiliki beberapa partisi.pilih salah satu partisi danklik tombol delete,lakukan langkah ini untuk patisi lain pada hardisk yang telah di pilih hingga semua pa\rtisi dan anda memiliki sebuah free space tunggal.
  • pilih pada ruang kosong tesebut tekan tombol add pada jendela baru masukan nilai 2048 dalam kotak "new partision size in megabaite  lalu pilih opsi swep area pada menu drop down pilih menu use us  klik tombol ok.dalam beberapa detik anda akan melihat sebuah partisi swap.
  • pilih pada ruang kosong yang masih ada, klik tommbol add pada jendela baru pilih menu primary,masukan nilai antara 10.000 sampai 50000 dalam bentuk new partision inmegabait,lalu pilih "/" pada menu drop down  "mount poin" klik tombol ok, dalam beberapa detik akan terbentuk partisi baru
  • pilih pada ruang kosong yang masih ada, klik tombol "add" pada jendela baru pilih menu "primary"masukan nilai antara 30.000 sampai 50.000 atau berapapaun sisra ruang hardisk yang masih ada dalam menu new partision in megabaite lalu pilih "/home" pada menu drop down "mount poin" klik tombol ok dalam beberapa detik maka kan meuncul partisi baru. 
tabel partisi hardisk akan terlihat seperti berikut

perhatian :pada langkah ini semua hardisk akan dihapus dan tidak dapat dikembailikan lagi
klik tombol instal now untuk melanjutkan mengintal


Catatan: Pada langkah ini hardisk akan dihapus lalu dipartisi, data pada CD akan disalin kedalam hardisk dan Anda dapat sedikit bersantai sambil memasukkan informasi yang diperlukan.

Where are you? - Di mana Anda berada?

Layar ini akan menampilkan peta bumi. Setelah memilih lokasi tempat tinggal Anda, waktu sistem akan disesuaikan secara otomatis. Anda dapat menentukan lokasi Anda dengan meng-klik pada peta atau cukup ketik nama kota dalam kotak dibawahnya. Klik tombol "Forward" setelah Anda menentukan lokasi yang diinginkan...

Keyboard layout.

Pada layar ini, Anda dapat memilih susunan keyboard yang diinginkan atau biarkan dalam pilihan default. Anda juga dapat mengklik tombol "Figure Out Keyboard Layout" untuk indentifikasi yang lebih baik dari layout keyboard Anda. Klik tombol "Forward" jika Anda telah selesai menentukan konfigurasi keyboard...
 Who are you? - Siapakah Anda?

Pada layar ini, Anda harus memasukkan informasi yang sesuai. Isi kolom dengan nama asli Anda, nama komputer (secara otomatis terisi, tetapi bisa Anda ubah), nama yang Anda gunakan untuk login (disebut juga "username", yang akan diperlukan untuk login ke sistem) dan password yang ingin Anda gunakan.

Masih pada langkah ini, ada sebuah opsi bernama "Log in automatically". Jika Anda memilih opsi itu, Anda akan secara otomatis login ke desktop Ubuntu.

Opsi lainnya, "Encrypt my home folder", ini akan mengenkripsi instalasi Ubuntu (jika Anda tidak tahu manfaatnya, sebaiknya jangan aktifkan opsi ini). Klik tombol "Forward" untuk melanjutkan...
 Pada tahap ini Ubuntu 10.10 (Maverick Meerkat) akan diinstal...


Setelah 10 sampai 15 menit (bergantung pada spesifikasi komputer Anda), jendela pop-up akan muncul yang memberitahukan bahwa instalasi telah selesai, Anda harus me-restart komputer untuk dapat menggunakan sistem operasi Ubuntu yang baru saja diinstal. Klik tombol "Restart Now"...

 

CD/DVD instalasi akan dikeluarkan, ambil CD/DVD itu lalu tekan "Enter" untuk me-reboot. Komputer akan di-restart dan dalam beberapa detik Anda akan melihat boot splash Ubuntu...



Pada layar login, klik username lalu masukan password Anda. Klik tombol "Log In" atau tekan Enter untuk log in...

Desktop Ubuntu 10.10 (Maverick Meerkat) telah siap Anda gunakan...

enjoy...........................