My Family

0 komentar

I have dad,mom, two brothers. And they still alive until I post this article, He".
My dad is a government employee in financial department, and my mom is a good housewife.
My first brother work as government employee too, he work in BPS(Badan Pusat Statistik). He has two young princes.
My second brother work as lecture in STIKES-Bali, and he has two princes too.
I have two dog, male and female. They kind of pom-pom dog, Small, has long hair, and they cute. My male dog name is Boo, and Female name is Casie.
that's all my family, I don't have any idea again to make a story about them

My Hobby

0 komentar

what is your hobby??? if someone ask me like that I will answer my hobby is....... (hhmm, I don't know). I like to read, hang out with my ceper community, making a software and website, learn something new, play with my cute dog, hacking.
I like to read, my favorite book is angel and demon which write by Dan Brown. This book storied about the science and religion. If you read this book, you you will ask your self, "is the god real??" beside that a  I like to read the book about Nazi, History about war, and programing book.

The picture above this word is my bike.I like ceper bike, I don't have a word to translate ceper to english. I will explain about ceper bike,ceper bike is a bike which have height under 5 cm from the ground, so it's need a good skill to ride my bike. In Indonesia we have a big community name IMCI(Ikatan Motor Ceper Indonesia), but in Singaraja my community only has 3 members. my community name is CERMIN'S(Ceper Minimalis Singaraja). I like to hang out with my club, talk about automotive, go to garage and customized my bike.

make a software and website is my specialties, sit in front of laptop for a long hours, drink a cup of coffee, suck a red marlboro,thinking about the system, mixed between algorithm and programing language. i loved that.

Hacker, what will you thinking if you heard this word??? Someone who wreck down your system and make a big trouble. eng..onk that is wrong, if you say like that you talk about cracker, not hacker. hacker is someone who test your system and tell you about the weakness of your system. I wanna be like that, I'am still study to do that..

Ebook Fundamental of English Grammar 2nd Edition and 3rd Edition

2 komentar

temen -temen yang udah dapet ke gramedia bilang, "duh susah bgt nyari bukunya betty azar yang judulnya fundamental of english grammar 2nd edition, yang ada cuman yang 3rd edition". Kebetulan sayas menemukan link yang kalian bisa donlot bukunya, yang edisi kedua ataupun yang edisi ketiga. buat yang males ke denpasar, atau juga buat yang lagi bokek tapi pengen belajar, silahkan aja di donlot.
download edisi kedua :
edisi kedua

download edisi ketiga :
edisi ketiga

Perbedaan Cara Menampilkan Isi Database dengan Java dan Visual Basic 6

1 komentar

Beberapa hari yang lalu saya sempat bingung, gimana sih caranya nampilin isi database di java pake Jtable. Setelah berburu sumber-sumber yang terpercaya akhrinya bisa juga saya nampilin isi databasenya pake Jtable, akhirnya juga saya dapet bahan buat di tulis di blog ini.... Langsung aja,  kalo di Visual Basic 6, kita bisa nambahin ADODC untuk koneksi database, tapi yang akan saya bahas sekarang adalah koneksi dengan coding di modul...

Untuk membuat koneksi, buatlah fungsi koneksi di modul. Saya anggap pembaca sudah mengerti cara menambahkan modul di VB 6. Lalu Copy-paste coding berikut:

 Option Explicit
Public cn As New ADODB.Connection
Public rs As New ADODB.Recordset
Public koneksi As String
'Public conn As String

Public Sub koneksi_database()
Dim ConnStr As String
'alamat database
koneksi = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=dbkoperasi"
cn.ConnectionString = koneksi
cn.Open
End Sub

Sub tampil(getADODC As Adodc, sintak As String)
    getADODC.ConnectionString = koneksi
    getADODC.RecordSource = sintak
    getADODC.Refresh
End Sub

public sub koneksi_database adalah prosedur untuk mengakses database, sedangkan Sub tampil adalah untuk menampilkan database ke tabel. Caranya dengan menambahkan adodc di form, lalu panggil sub tampil(). Misalnya pada saat form load pembaca ingin agar tabel langsung terisi dengan data di database, tinggal panggil tampil(nama adodc, select* from namatabel). Sudah, habis perkara...


Lain di visual basic, lain juga di Java. untuk di java pertama-tama buat dulu sebuah class untuk koneksi database dengan nama koneksi. Saya sudah pernah membahas mengenai koneksi database menggunakan Java pada postingan sebelumnya. Setelah itu kita buat satu frame dengan design seperti gambar dibawah


Setelah itu buat sebuah class dengan nama classruangan yang isinya :

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

package ruangan;


/**
 *
 * @author Black-code
 */
public class classruangan {
    public String idruangan;
    public String namaruangan;

    public void setidruang(String id){
        this.idruangan=id;
    }

    public String getidruang(){
        return idruangan;
    }

    public void setnamaruang(String nama){
        this.namaruangan=nama;

    }

    public String getnamaruang(){
        return namaruangan;
    }


}

Class udah, tampilan interface udah juga, selanjutnya coding di desain interfacenya... cek it dot

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

/*
 * formruang.java
 *
 * Created on Apr 18, 2010, 5:11:15 PM
 */

package ruangan;


import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author Black-code
 */
public class formruang extends javax.swing.JFrame {

    public static Connection konek;
    Vector row=new Vector();
    Vector dataent=new Vector();
    DefaultTableModel mod=new DefaultTableModel(null,row);
    int numrow;
    int respon;
    /** Creates new form formruang */
    public formruang() {
        initComponents();
        row.add("ID Ruangan");
        row.add("Nama Ruangan");
        tampiltabel();
        btnadd.setEnabled(true);
        btncancel.setEnabled(false);
        btndelete.setEnabled(false);
        btnedit.setEnabled(false);
        btnexit.setEnabled(true);
        btnsave.setEnabled(false);
        jTextField1.setEnabled(false);
        jTextField2.setEnabled(false);

      
    }
    public void tampiltabel(){
        konek=inventori.koneksi.getkoneksi();

        jTable1.setModel(mod);

        try{
            Statement s=konek.createStatement();
            ResultSet rs=s.executeQuery("select * from tbruangan order by idruangan asc");
            dataent= new Vector();
            Vector datatbl=new Vector();

            while(rs.next()){
                Vector dataRow=new Vector();
                classruangan enty=new classruangan();
                dataRow.add(rs.getString("idruangan"));
                dataRow.add(rs.getString("namaruangan"));
                enty.setidruang(rs.getString("idruangan"));
                enty.setnamaruang(rs.getString("namaruangan"));
                dataent.add(enty);
                datatbl.add(dataRow);
            }
            mod.setDataVector(datatbl, row);
            jTable1.setModel(mod);

        }catch (Exception e){
            e.printStackTrace();
        }
    }


    public void simpan(String id, String nama)throws SQLException{
        try{

            konek= inventori.koneksi.getkoneksi();
            Statement order=konek.createStatement();
            ResultSet hasil=order.executeQuery("select * from tbruangan where idruangan='INF-"+id+"'");

            if(hasil.next()){
                respon=JOptionPane.showConfirmDialog(this, "data sudah ada, ingin diupdate", "Update Data", WIDTH,JOptionPane.YES_NO_OPTION);
                if(respon==0){
                    order.executeUpdate("update tbruangan set namaruangan='"+nama+"' where idruangan='INF-"+id+"'");
                    JOptionPane.showMessageDialog(this, "data sudah diupdate");
                    tampiltabel();
                }else{
                    id="";
                    nama="";
                }
            }else{
                order.executeUpdate("insert into tbruangan values('INF-"+id+"','"+nama+"')");
                JOptionPane.showMessageDialog(this, "data berhasil disimpan");
                tampiltabel();
            }
           
           
        }catch(Exception sqle){
            sqle.printStackTrace();
        }
    }
    public void updatedata(String id, String nama)throws SQLException{
        respon=JOptionPane.showConfirmDialog(this, "apakah anda benar-benar ingin mengupdate data??", "Edit data", WIDTH,JOptionPane.YES_NO_OPTION);
        if (respon==0){
            try{
                konek=inventori.koneksi.getkoneksi();
                Statement stm=konek.createStatement();
                stm.executeUpdate("update tbruangan set namaruangan='"+nama+"' where idruangan='"+id+"'");
                tampiltabel();
            }catch (Exception e){
                e.printStackTrace();
            }


        }else{
            id="";
            nama="";
        }
    }
    public void lihatisi(){
        int edit;
        edit=jTable1.getSelectedRow();
       jTextField1.setText((String) jTable1.getValueAt(edit, 0));
        jTextField2.setText( (String) jTable1.getValueAt(edit, 1));
    }
    public void hapus(String id, String nama){
        respon=JOptionPane.showConfirmDialog(this, "apakah anda benar-benar ingin menghapus data??", "Hapus data", WIDTH,JOptionPane.YES_NO_OPTION);
        if (respon==0){
            try{
                konek=inventori.koneksi.getkoneksi();
                Statement stm=konek.createStatement();
                stm.executeUpdate("delete from tbruangan where idruangan='"+id+"'");
                tampiltabel();
            }catch (Exception e){
                e.printStackTrace();
            }


        }else{
            id="";
            nama="";
        }
    }

    /** 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.
     */
            

    private void btnsaveActionPerformed(java.awt.event.ActionEvent evt) {                                       
        try {
            simpan(jTextField1.getText(), jTextField2.getText());

            // TODO add your handling code here:
        } catch (SQLException ex) {
            Logger.getLogger(formruang.class.getName()).log(Level.SEVERE, null, ex);
        }
        btnadd.setEnabled(true);
        btncancel.setEnabled(false);
        btndelete.setEnabled(false);
        btnedit.setEnabled(false);
        btnexit.setEnabled(true);
        btnsave.setEnabled(false);
        jTextField1.setEnabled(false);
        jTextField2.setEnabled(false);
    }                                      

    private void btneditActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
        try{
           updatedata(jTextField1.getText(), jTextField2.getText());

        }catch (Exception e){
            e.printStackTrace();
        }
        btnadd.setEnabled(true);
        btncancel.setEnabled(false);
        btndelete.setEnabled(false);
        btnedit.setEnabled(false);
        btnexit.setEnabled(true);
        btnsave.setEnabled(false);
         jTextField1.setEnabled(false);
        jTextField2.setEnabled(false);
       
    }                                      

    private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {                                    
        lihatisi();
        jTextField1.setEnabled(false);
        jTextField2.setEnabled(true);
        btnedit.setEnabled(true);
        btndelete.setEnabled(true);
        btnadd.setEnabled(true);
        btncancel.setEnabled(false);
        btnexit.setEnabled(true);
        btnsave.setEnabled(false);
    }                                   

    private void btnaddActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        jTextField1.setEnabled(true);
        jTextField2.setEnabled(true);
        btnadd.setEnabled(false);
        btncancel.setEnabled(true);
        btndelete.setEnabled(false);
        btnedit.setEnabled(false);
        btnexit.setEnabled(false);
        btnsave.setEnabled(true);
    }                                     

    private void btndeleteActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        jTextField1.setEnabled(false);
        jTextField2.setEnabled(false);
        //script delete
        try{
            hapus(jTextField1.getText(), jTextField2.getText());
        }catch(Exception e){
            e.printStackTrace();
        }
        btnadd.setEnabled(true);
        btncancel.setEnabled(false);
        btndelete.setEnabled(false);
        btnedit.setEnabled(false);
        btnexit.setEnabled(true);
        btnsave.setEnabled(false);
        jTextField1.setEnabled(false);
        jTextField2.setEnabled(false);

    }                                        

    private void btnexitActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
        this.dispose();
    }                                      

    private void btncancelActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        btnadd.setEnabled(true);
        btncancel.setEnabled(false);
        btndelete.setEnabled(false);
        btnedit.setEnabled(false);
        btnexit.setEnabled(true);
        btnsave.setEnabled(false);
        jTextField1.setEnabled(false);
        jTextField2.setEnabled(false);
    }                                        

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new formruang().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                    
    private javax.swing.JButton btnadd;
    private javax.swing.JButton btncancel;
    private javax.swing.JButton btndelete;
    private javax.swing.JButton btnedit;
    private javax.swing.JButton btnexit;
    private javax.swing.JButton btnsave;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTable jTable1;
    private javax.swing.JTextField jTextField1;
    private javax.swing.JTextField jTextField2;
    private latar.panelimageruang panelimageruang1;
    private latar.paneltrans paneltrans1;
    // End of variables declaration                  

}

Yang saya cetak tebal dan miring adalah coding untuk menampilkan isi database ke dalam Jtable. Sekian Posting kali ini semoga bermanfaat...

Simulasi Sistem Inventori

0 komentar

Postingan kemaren gw udah bahas tentang simulasi antrean di ATM. Sekarang, gw kasi Coding untuk simulasi Antrian Inventori, dimana kita bakal main-main sama stok barang. Jalan sistemnya kurang lebih kayak gini. Kita asumsikan kalo isi maksimum gudang suatu toko adalah 40, stok minimal adalah 10, dan stok yang tersisa sekarang adalah 15. Jika seorang pembeli datang dan memesan kurang dari Jumlah stok sekarang, maka barang bisa langsung dikirim ke pemesan, apabila tidak (jumlah stok kurang dari jumlah pesanan) maka pelanggan harus menunggu kiriman barang dari suplier, disini lama kiriman barang dari suplier gw pake 3 satuan waktu. biar lebih jelas, cek aja lah .....



#include
#include
#include
#include
#include
#include
struct data{
     int tantardemand,tdtngdemand,jumdemand,tkirim,stokcur,jumorder,ttunggu;
};

main(){
 data d[11];
 int stokmax=40;
 int stokmin=10;
 int torder=3;
 d[0].tantardemand=0;
 d[0].tdtngdemand=0;
 d[0].stokcur=15;
 randomize();

 for(int i=1;i<11;i++){
    d[i].tantardemand=rand()%100;
    d[i].tdtngdemand=d[i].tantardemand + d[i-1].tdtngdemand;
    d[i].jumdemand=rand()%100;
    if (d[i-1].stokcur > d[i].jumdemand){
            if(d[i-1].stokcur < stokmin){
            d[i].jumorder=stokmax-d[i-1].stokcur;
            d[i].stokcur=stokmax-d[i].jumdemand;
            if(d[i-1].tkirim > d[i].tkirim){
                      d[i].tkirim=d[i-1].tkirim;
            }else{
                    d[i].tkirim=d[i].tdtngdemand+torder;
              }
            d[i].ttunggu=d[i].tkirim-d[i].tdtngdemand;

         }else{
                d[i].stokcur=d[i-1].stokcur-d[i].jumdemand;
                d[i].tkirim=d[i].tdtngdemand;
                d[i].jumorder=0;
            d[i].ttunggu=d[i].tkirim-d[i].tdtngdemand;
        }

    }else{
        d[i].stokcur=40;
        d[i].jumorder=d[i].jumdemand - d[i-1].stokcur + 40; //*rumus jumlah order*//
      d[i].tkirim=d[i].tdtngdemand+torder;
      d[i].ttunggu=d[i].tkirim-d[i].tdtngdemand;

    }

 }
 clrscr();
 gotoxy(2,2);
 cout<<"No";
 gotoxy(5,2);
 cout<<"Tdemand";
 gotoxy(13,2);
 cout<<"Jumdemand";         
 gotoxy(24,2);
 cout<<"Tkirim";
 gotoxy(33,2);
 cout<<"Stok";
 gotoxy(38,2);
 cout<<"Jumorder";
 gotoxy(48,2);
 cout<<"waktu tunggu";
 for (int i=1;i<11;i++){
     gotoxy(2,i+3);
     cout<
   gotoxy(6,i+3);
   cout<
   gotoxy(15,i+3);
   cout<
   gotoxy(25,i+3);
   cout<
   gotoxy(34,i+3);
   cout<
   gotoxy(41,i+3);
   cout<
   gotoxy(55,i+3);
   cout<
 }
 getch();

}

Fungsi Windows API

0 komentar

Kali ini saya Posting tentrang WINDOWS API, Windows API (Application Programming Interface) merupakan kumpulan fungsi-fungsi eksternal yang terdapatdalam file-file perpustakaan windows (selanjutnya sering disebut sebagai libary windows) atau file libary lainnya yang dapat digunakan oleh program kita. Fungsi ini dapat menangani semua yang berhubungan dengan Windows, seperti pengaksesan disk, interface printer, grafik windows, kotak dialog (buka file, simpan file, memilih font, memilih warna, dan lain-lain), windows shell, settings sistem komputer, penanganan file, mengakses sistem registry, memainkan musik, dan sebagainya. Fungsi ini menyediakan fitur-fitur standar untuk semua program yang berbasis windows.
Semua fungsi windows API hampir terdapat dalam direktor sistem milik windows (biasanya terdapat dalam direktori C:\Windows\System dan C:\Windows, bergantung pada setting pertama installasi Windows) dan paling banyak berekstensi .DLL yang digunakan oleh sistem operasi windows.
Selain itu fungsi ini juga untuk memastikan secara konsisten penggunaan semua sumber yang terdapat dalam Windows. File-file itulah yang disebut dengan Windows API.
Kali ini, windows API yang saya buat adalah untuk me'rename drive, menghapus recent document, dan juga menutup program windows yang sedang berjalan, okelah cek it dot...

       
MENGGANTI LABEL DRIVE
Option Explicit

Private Declare Function SetVolumeLabel Lib "kernel32" Alias "SetVolumeLabelA" (ByVal lpRootPathName As String, ByVal lpVolumeName As String) As Long

Public Function ChangeVolumeLabel(DriveLetter As String, _
   NewDriveVolume As String) As Boolean

'Example:
'ChangeVolumeLabel("C:\", "CDrive")

   
Dim lAns As Long

On Error Resume Next
lAns = SetVolumeLabel(DriveLetter, NewDriveVolume)
ChangeVolumeLabel = (lAns <> 0)
   
End Function


       
MENGHAPUS RECENT DOCUMENT
Option Explicit
Private Declare Sub SHAddToRecentDocs Lib "shell32.dll" (ByVal uFlags As Long, ByVal PV As String)

Public Function ClearDocumentsMenu() As Boolean
    'Returns true if successful, false otherwise
    SHAddToRecentDocs 2, vbNullString
    ClearDocumentsMenu = Err.LastDllError = 0
End Function



       
MENUTUP PROGRAM YANG SEDANG BERJALAN
Option Explicit

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Const WM_CLOSE = &H10


Public Sub CloseProgram(ByVal Caption As String)
 Dim Handle As Variant
 Handle = FindWindow(vbNullString, Caption)
 If Handle = 0 Then Exit Sub
 SendMessage Handle, WM_CLOSE, 0&, 0&

End Sub

Buat sebuah 3 buah module, lalu paste'kan script diatas dan buat form sesuai kreasi kalian...
Ok sekian dulu pembahasan windows API kali ini, semoga bisa bermanfaat.
download disini untuk mendownload program lengkapnya

Simulasi Antrian ATM dengan C++

2 komentar

Pemrograman Sistem Simulasi Antrian ATM, disini kita bikin sistem buat mensimulasi antrian pengguna yang menggunakan ATM. Dimana waktu kedatangan pelanggan dan waktu pelayanan dibangkitkan secara random. okelah langsung aja deh diliat codingnya, Buat rumus dan juga cara pembangkitannya diliat langsung aja di coding...

       
  
 #include
#include
#include
#include
#include
#include


struct data{
 int tdatang;
 int tlayanan;
 int tantrian;
 int tmulai;
 int tselesai;
 int tpalinglama;
 int n,m;
};
void main(){
 data d[11];
 gotoxy(3,1);
 cout<<"no \n";
 gotoxy(7,1);
 cout<<"waktu antar kedatangan random \n";
 gotoxy(38,1);
 cout<<"waktu layanan random \n";
 randomize();
 for (int i=1;i<11;i++){
   d[i].n=rand()%100;
   d[i].m=rand()%100;
   gotoxy(3,i+1);
   cout<
   gotoxy(20,i+1);
   cout<
   gotoxy(45,1+i);
   cout<
 }
 cout<<"\n"<<"\n";
 d[0].n=0;
 for(int i=1;i<11;i++){

   d[i].tlayanan=d[i].m;
      if (i<=1){
       d[i].tdatang=d[i].n + d[i-1].n;
        d[i].tantrian=0;
         d[i].tmulai=d[i].tdatang;
         d[i].tselesai=d[i].tdatang + d[i].tlayanan;
         d[i].tpalinglama=d[i].tselesai-d[i].tdatang;
   }else{
       d[i].tdatang=d[i-1].tdatang + d[i].n;
       d[i].tantrian=d[i-1].tselesai-d[i].tdatang;
      d[i].tmulai=d[i-1].tselesai;
      d[i].tselesai=d[i].tmulai + d[i].tlayanan;
      d[i].tpalinglama=d[i].tselesai-d[i].tdatang;
      if (d[i].tantrian < 0){
              d[i].tantrian=0;
                 d[i].tmulai=d[i].tdatang;
                 d[i].tselesai=d[i].tdatang + d[i].tlayanan;
            d[i].tpalinglama=d[i].tselesai-d[i].tdatang;
      }
   }

 }

 gotoxy(3,20);
 cout<<"no";
 gotoxy(7,20);
 cout<<"Tdatang";
 gotoxy(17,20);
 cout<<"Tlayanan";
 gotoxy(27,20);
 cout<<"Tantrian";
 gotoxy(37,20);
 cout<<"Tmulai";
 gotoxy(47,20);
 cout<<"Tselesai";
 gotoxy(57,20);
 cout<<"Tlama dalam system";
  for (int i=1;i<11;i++){
   gotoxy(3,i+21);
   cout<
   gotoxy(10,i+21);
   cout<
   gotoxy(21,i+21);
   cout<
   gotoxy(31,i+21);
   cout<
   gotoxy(40,i+21);
   cout<
   gotoxy(51,i+21);
   cout<
   gotoxy(65,i+21);
   cout<
  }
  cout<<"\n";
  cout<<"\n";
 float rata1=0;
 float rata2=0;
 float rata3=0;
 int waktu;

 for(int i=1;i<11;i++){
     rata1+=d[i].tlayanan;
     rata2+=d[i].tantrian;
     rata3+=d[i].tpalinglama;
     waktu=d[10].tselesai;
 }
 float r1,r2,r3;
 r1=rata1/10;
 r2=rata2/10;
 r3=rata3/10;
 cout<<"rata - rata waktu layanan = "<<<"\n";
 cout<<"rata - rata waktu antrian = "<<<"\n";
 cout<<"rata - rata waktu orang dalam system = "<<<"\n";
 cout<<"efektivitas mesin adalah : "<<(rata1/waktu)*100<<"%";



 getch();
 }




JAVA DATABASE CONNECTIVITY part II

0 komentar

Wah ketemu lagi ney, ok ga usah banyak ba bi bu, lagsung ajah ke coding. Sebelumnya saya kan menyuruh(‘ih apa sie kata2 yang pas, pokoknya intinya gitu ya, maaf kalo ada yang tersinggung’) anda membuat sebuah Class dengan nama koneksi, silahkan dibuka Class itu lalu ketikkan coding dibawah ini


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

package belajardatabase;

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

/**
*
* @author black code
*/
public class koneksi {
private static Connection koneksi;
static {
try{
Class.forName("com.mysql.jdbc.Driver");
koneksi=DriverManager.getConnection("jdbc:mysql://localhost:3306/dbakuntansi","root","");

}catch(Throwable t){
t.printStackTrace();

}
}
public static Connection getkoneksi(){
return koneksi;
}
}

Selanjutnya buka formkaryawan dan ketikkan coding dibawah ini
package belajardatabase;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

/**
*
* @author black code
*/
public class formkaryawan extends javax.swing.JFrame {

/** Creates new form formkaryawan */
public formkaryawan() {
initComponents();
}
public void simpandata(int id,String nama)throws SQLException{
Connection konek;
int respon;
try {
konek=koneksi.getkoneksi();
Statement perintah=konek.createStatement();
ResultSet hasil=perintah.executeQuery("select * from tbkaryawan where id="+id);

if (hasil.next()){
respon=JOptionPane.showConfirmDialog(this, "data sudah ada apakah ingin diupdate", "update data", WIDTH, JOptionPane.YES_NO_OPTION);
if(respon==0){
perintah.executeUpdate("update tbkaryawan set nama='"+nama+"' where id='"+id+"'");
JOptionPane.showMessageDialog(this, "data sudah diupdate");
}else{
jTextField1.setText("");
jTextField2.setText("");
}
}else{
perintah.executeUpdate("INSERT INTO tbkaryawan values('"+ id +"','"+ nama+"')");
JOptionPane.showMessageDialog(this, "data berhasil disimpan");
}
perintah.close();
konek.close();
} catch (Exception ex) {
JOptionPane.showMessageDialog(rootPane, "penambahan gagal ");
}

}

/** 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")
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
if (jTextField1.getText().equals("") || jTextField2.getText().equals("")){
JOptionPane.showConfirmDialog(this, "data masih ada yang kosong, silahkan dilengkapi", "data kosong", JOptionPane.OK_OPTION);

}else{
try {
int id=Integer.valueOf(jTextField1.getText());
// TODO add your handling code here:
simpandata(id,jTextField2.getText());
} catch (SQLException ex) {
Logger.getLogger(formkaryawan.class.getName()).log(Level.SEVERE, null, ex);
}
}
}


Segitu aja, gampang kan??? Ga seseram apa yang kalian bayangin, dicoba aja deh…. Keep reading my blog ok…

JAVA DATABASE CONNECTIVITY part I

0 komentar

Untuk membuat aplikasi database dengan DBMS MySQL kita membutuhkan aplikasi XAMPP atau bisa juga menggunakan PhpMyadmin. Dalam posting kali ini saya menganggap pembaca sudah menginstall Xampp dan mengerti cara membuat class dengan Java begitu juga membuat form interface pengguna.
Okay, untuk persiapan kalian perlu :
1. Iman yang kuat.
2. Kemauan keras.
3. Pantang putus asa.
4. Marlboro merah. Kalo belum punya silahkan di download di warung terdekat.
5. Kopi atau susu, atau teh
6. Music, tapi jangan yang cadas, kalian ga bakal bisa mikir.
Langsung aja, buat sebuah project baru dengan nama “belajardatabase”. Setelah itu buat sebuah JframeForm dan beri nama Formkaryawan, dan juga sebuah class dengan nama koneksi. Eh iya lupa, sebelumnya buatlah sebuah database dengan nama “dbakuntansi” tanpa tanda petik, kenapa namanya “dbakuntansi”?? karena pada saat membuat database hanya nama itu yang terlintas di pikiran saya.Selanjutnya buat sebuah table dengan 2 buah field. Field pertama beri nama ‘id’(tanpa tanda petik) id ini akan dijadikan primary key dengan type INT. Field yang kedua berinama ‘nama’ dengan type text. Table yang baru kalian buat beri nama ‘tbkaryawan’
Tambahkan 2 buah Jtextfield, 3 buah Jlabel, dan sebuah Jbutton. Design seperti pada gambar dibawah ini.

Selanjutnya klik tab ‘service’ yang ada di bagian sebelah kanan pada netbeans. Setelah itu klik kanan pada ‘database’ dan pilih new Connention.

Akan tampil jendela baru seperti gambar dibawah ini..


Pada drivername pilih driver MySQL(Connector/ J Driver), pada host ketikkan ‘localhost’,port diisi dengan port default dari MySQL yaitu port ‘3306’, selanjutnya dataset diisi dengan nama database dalam hal ini nama databasenya adalah dbakuntansi, username ‘root’, dan password kosong. Sesuaikan dengan setting pada MySQL yang kalian install. Setelah semuanya terisi klik tombol OK.
Masih di tab service akan muncul sebuah koneksi baru dengan nama jdbc:mysql://localhost:3306/dbakuntansi, klik kanan pada koneksi itu dan pilih connect.


Nah selanjutnya tinggal membuat coding koneksi pada kelas koneksi. Tapi sabar dulu itu akan saya bahas pada tutorial selanjutnya. See you at next tutorial JDBC part 2.

Teori Simplex Dengan Java

3 komentar

satu lagi project UAS gw yang pake java, teori simplex dengan java... teori simplex nie ada di mata kuliah program linier,
program yang gw bikin cuman terbatas pada penyelesaian sistem persamaan linier 2 variable ajah, sapa tau pembaca blog ini mau ngembangin jadi banyak variable mohon sharing - sharing ke gw yoo,,,
Tampilan aplikasinya kayak gini, hampir sama dengan algoritma prim yang gw buat pake java juga...



kalo mau liat source codenya langsung ajah diembat disinidownload