Showing posts with label Programming. Show all posts
Showing posts with label Programming. Show all posts

Sekilas Tentang Power Designer Untuk Membuat Desain Database

2:57:00 PM Add Comment
Sekilas Tentang Power Designer Untuk Membuat Desain Database

Sekilas Tentang Power Designer Untuk Membuat Desain Database - Halo sobat ambyar helmyntest, jumpa lagi dengan gw sang bloger ambyar. Setelah sebelumnya gw akan membagikan cara membuat aplikasi spg atau direct selling. Agar lebih paham dengan tools yang akan gw gunakan, kali ini gw akan menjelaskan sekilat tentang power designer aplikasi untuk desain database.

Buat sobat helmyntest yang gatau apa sih power designer itu?

    Power Designer adalah salah satuTools yang dapat dipergunakan untuk membangun atau merancang sebuah basisdata melalui  ER-diagram, merancang sistem melalui Data Flow Diagram (DFD) serta mampu membuat program aplikasi. Dalam Power Designer, ada beberapa macam pemodelan data yang digunakan untuk perancangan basis data diantaranya pertama, Conceptual Data Model (CDM) adalah model yang dibuat berdasarkan anggapan bahwa dunia nyata terdiri dari koleksi obyek-obyek dasar yang dinamakan entitas (entity) serta hubungan (relationship) antara entitas-entitas itu. Sementara itu, kedua, Physical Data Model (PDM) yaitu model yang menggunakan sejumlah tabel untuk menggambarkan data serta hubungan antara data-data tersebut.

    Sybase Power Designer merupakan tool pemodelan yang dikeluarkan oleh Sybase untuk membangun sebuah sistem informasi yang cepat, terstrukturdanefektif (Waden: 2010).
Pada Sybase Power Designer kita dapat melakukan generate database yang semula berupa ER-Diagram atau Conceptual Data Model (CDM) kedalam bentuk Physical Data Model (PDM) yang selanjutnya bisa kita gunakan untuk membuat sistem basis data berbasis WEB.
Sybase Power Designer adalah software terkemuka di manajemen pemodelan dan metadata, dimaksudkan untuk pembuatan model data, arsitektur informasi dan arsitektur interprise, Power Designer memberikan perusahaan analisis kekuatan hubungan (analisis dampak teknologi) kemampuan untuk mengelola perubahan selama desain dan manajemen metadata teknik (Shinichi Kudo: 2010).

Kelebihan dan Kekurangan Power Designer

  1. Manfaat Sybase Power Designer adalah sebagai berikut:
  2. Meningkatkan produktivitas dengan bekerja sama bisnis dan TI;
  3. Berkelanjutan mendukung berbagai lingkungan heterogen;
  4. Pengaturan yang fleksibel untuk mendukung standar yang berbeda dan mengatur komunikasi dengan lingkungan eksternal;
  5. Meningkatkan pembuatan model arsitektur enterprise karena kemungkinan mendokumentasikan;
  6. Meningkatkan bisnis kelincahan oleh ketersediaan link teknologi & sync dan analisis hubungan (analisis dampak) (Shinichi Kudo: 2010)
    Sybase Power Designer memiliki beberapa kelebihan sebagai berikut jika dibandingkan dengan menggunakan cara manual atau menggunakan aplikasi pembantu dari vendor, yaitu :

  1. Design database mayoritas menggunakan interface berupa tampilan grafik, hal ini berarti orang yang tidak mengerti bahasa SQL juga bisa menggunakan software ini untuk membuat database dengan berbagai macam tingkat kesulitan;
  2. Database dapat diciptakan independen dari RDBMS. Sybase tidak bergantung pada vendor tertentu saja untuk mengimplementasikan design database yang telah dibuat pada RDBMS seperti MySQL, Oracle, atau Microsoft SQL Server. Sybase dapat mengkonstruksikan database yang telah kita buat dalam berbagai macam RDBMS, bahkan RDBMS yang jarang kita dengar juga didukung oleh sybase;
  3. Migrasi database menjadi mudah, hal ini dikarenakan sybase mempunyai fitur untuk mengkoneksikan diri dengan berbagai macam RDBMS seperti Oracle, MySQL, dan Microsoft SQL Server untuk mengkonstruksikan databaseyang telah didesign pada sybase;
  4. Hampir tidak memerlukan pengetahuan mengenai bahasa SQL, semuanya dilakukan dengan klik sana sini di Sybase, namun begitu kita dapat melihat hasil output SQL dari design database yang sudah dibuat (Iwan Susanto: 2009).

    Sybase Power Designer cocok untuk digunakan pada saat kita membutuhkan design database yang kuat dan fleksible dan membutuhkan waktu yang cepat untuk konstruksi database. Software ini sering digunakan di perusahaan-perusahaan karena lebih memudahkan mereka untuk melihat secara grafis dari database tersebut.

    Sekian untuk postingan Sekilas Tentang Power Designer Untuk Membuat Desain Database sob, sesuai judulnya "sekilas" jadi ga usah panjang-panjang ye gak.. Terimakasih buat yang sudah berkunjung jangan lupa like and subskreb. Sampai jumpa di postingan gw berikutnyaa..

Membuat Aplikasi SPG (Penjualan Langsung/Direct Selling) Dengan PHP Codeigniter dan MySQL

7:25:00 PM Add Comment
Membuat Aplikasi SPG (Penjualan Langsung/Direct Selling) Dengan PHP Codeigniter dan MySQL


~ Halo sobat Helmyntest yang budiman dan tersasar di blog entah berantah ini. Setelah sekian lama gw ga pernah membuat postingan dikarenakan banyak hal yang salah satunya karena kurang berminat bloging akhirnya gua putuskan untuk lanjut untuk meramaikan blog ini lagi.

Di masa pandemi corona atau covid-19 ini dan bertepatan dengan bulan ramadhan banyak sekali sobat sekalian yang pastinya terjebak dengan aktifias #dirumahaja. ya. Salah satunya gw. Demi memanfaatkan waktu dirumah aja ini banyak hal yang gw lakuin seperti bermain game, begadang, tidur pagi bangun sore,  ngerjain skripsi yang ga kunjung kelar. mantapp. Sering kali juga gw gabut dan bingung mau ngapai, sampai akhirnya gw putuskan untuk memberikan atau berbagi ilmu yang gw miliki, Yups sob, gw akan membuat tutorial  membuat aplikasi spg dengan bahasa pemrograman PHP dan database MySQL.

Apa sih aplikasi SPG ini? 

hmmm.. singkatnya aplikasi berbasis web yang digunakan oleh perusahaan dibidang jual produk i.e roko atau oli melalui para SPG nya yang cuantik dan menggemaskan. Dari aplikasi ini para stakeholder dapat memantau secara langsung penjualan produknya. Untuk aplikasi yang akan gw buat ini yaitu aplikasi untuk penjualan produk dimana terdapat beberapa suplier atau distributor dibeberapa branch pada beberapa kota berbeda.

Apa aja sih fitur dari aplikasi SPG ini?

hmm.. kurang lebih isi atau fitur dari aplikasi ini diantaranya absensi, alokasi SPG, Multi User based On Role, Monitoring, Transaksi Penjualan, Data User, Dinamic Menu with Role Access, dan gatau apalagi hehehe,, mungkin nanti sembari berjalan akan gw tambahin fitur-fitur sesuai kebutuhan.

Kenapa pengen bikin aplikasi ini? 

mmm.. karena sebelumnya pernah membuatnya sebagai pekerjaan kantor. Karena terasa kurang sempurna di aplikasi sebelumnya oleh karenanya gw mau sempurnakan melalui tutorial ini.

Apa aja sih isi dari Tutorial Membuat Aplikasi SPG (Penjualan Langsung/Direct Selling) Dengan PHP Codeigniter dan MySQL ini?

Kurang lebih akan gw buat beberapa part mulai dari perancangan database menggunakan SAP Power Designer sampai tahap Coding.

Mungkin ga akan cepat gw apdet setiap partnya karena tergantung mood menulis gw sob jadi maaf untuk sobat sekalian yang menanti-nantikan kelanjutan setiap partnya. Doain aja biar lancar semua urusan gw dan lancar juga blogingnya. 

Akhir kalam semoga apa yang gua tulis bermanfaat buat sobat sekalian, terimakasih buat sobat helmyntest yang sudah menyempatkan waktunya untuk jalan-jaln di blog gw ini, stay safe sob agar semoga pandemi ini cepat berakhir. Amiin.

Membuat Desain Form Data Penjualan Dengan Netbeans

5:29:00 PM 1 Comment
http://helmyntest.blogspot.com/2017/01/membuat-desain-form-data-penjualan-dengan-netbeans.html


Membuat Desain Form Data Penjualan Dengan Netbeans - Halo sobat helmyntest sorry nih udah lama banget ga ngebloging dan baru-baru ini gua lagi semangat kembali buat bloging jadi gua baru bisa ngelanjutin tentang membuat aplikasi penjualan dengan netbeans. kali ini gw mau lanjutin postingan sebelumnya Membuat Desain Form Data Barang Masuk. kali ini kita akan Membuat Desain Form Data Penjualan Dengan Netbeans dari aplikasi penjualan barang, langsung saja sob kita simak baik-baik! 

Fungsi dari form ini adalah agar  dapat  mengetahu  dan menginput data  para transaksi penjualan yang terjadi. Lakukan beberapa langkah berikut ini sob:

  1. Buatlah  file  baru  dalam  paket  AplikasiPenjualan,  dengan  cara  klik  kanan  paket  Penjualan, Pilih New -> JFrame Form…, sehingga muncul jendela New File.
  2. Pada jendela New JFrame Form, isikan FrmPenjualan pada kotak isian Class Name, dan  Package pilih aplikasipenjualan, lalu tekan tombol Finish untuk mengakhiri. 
  3. Desainlah form yang baru anda ciptakan seperti gambar dibawah ini:
http://helmyntest.blogspot.com/2017/01/membuat-desain-form-data-penjualan-dengan-netbeans.html


Keterangan :
http://helmyntest.blogspot.com/2017/01/membuat-desain-form-data-penjualan-dengan-netbeans.html


Syntax Program
Selanjutnya setelah form sudah selesai dibuat kita masukan Syntax Programnya sob.
Pada bagian import tambahkan dibawah baris package penjuaan sepeti kode berikut:
package penjualan;
import javax.swing.*; 
import java.awt.*; 
import java.sql.*; 
import java.text.SimpleDateFormat;
import java.util.Date;

Pada bagian public class FrmPenjualan extends javax.swing.JFrame tambahkan kode berikut:
public final class FrmPenjualan extends javax.swing.JFrame {
Connection conn;
Statement cn;
    /**
     * Creates new form FrmPenjualan
     */
    public FrmPenjualan() {
        initComponents();
          Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize=this.getSize();
        if(frameSize.height > screenSize.height){
            frameSize.height=screenSize.height;
        }
        if(frameSize.width > screenSize.width){
            frameSize.width=screenSize.width;
        }
        this.setLocation((screenSize.width - frameSize.width) / 2,
        (screenSize.height = screenSize.height) / 10);
      
          table.setModel(tableModel);
        Tabel(table, new int[]{90,300,90,60,60,90});
        setDefaultTable();
        TanggalOtomatis();
         SetEditOff();
        TampilComboBarang();
        TampilComboPetugas();
        tampilfaktur();
    }

Buatlah  kode  program  diatas  //  Variables  declaration  -  do  not  modify    untuk  menampilkan  data  pada tabel seperti berikut:
private javax.swing.table.DefaultTableModel tableModel=getDefaultTabelModel(); 
     
     private void Tabel(javax.swing.JTable tb, int lebar[] ) { 
        tb.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); 
        int kolom=tb.getColumnCount(); 
        for(int i=0;i < kolom;i++) { 
            javax.swing.table.TableColumn tbc=tb.getColumnModel().getColumn(i); 
            tbc.setPreferredWidth(lebar[i]); 
            tb.setRowHeight(17); 
        } 
    } 
      
private javax.swing.table.DefaultTableModel getDefaultTabelModel() { 
return new javax.swing.table.DefaultTableModel( 
new Object[][] {}, 
new String [] {"Kode Barang","Nama Barang","Harga Jual","Stok","Jumlah","Sub Total"} 
){ 
boolean[] canEdit = new boolean[]{ 
false, false, false, false 
}; 
public  boolean isCellEditable(int  rowIndex, int columnIndex){ return canEdit[columnIndex]; 
} 
};    
} 
  
      
  String data[]=new String[6]; 
  private void setDefaultTable() { 
  String stat =""; 
  try { 
koneksi();
String     SQL = "SELECT tblbarang.kodebarang,tblbarang.namabarang,tblbarang.hargajual," +               
"tblbarang.stok,tbldetailpenjualan.jumlah,tbldetailpenjualan.subtotal,tblpenjualan.nofaktur " + 
                 "FROM tblbarang,tbldetailpenjualan,tblpenjualan WHERE tblbarang.kodebarang=tbldetailpenjualan.kodebarang " + 
                 "AND tblpenjualan.nofaktur=tbldetailpenjualan.nofaktur" + 
                 "AND tbldetailpenjualan.nofaktur='"+NoFaktur.getText()+"'"; 
      try (ResultSet res = cn.executeQuery(SQL)) {
          while(res.next()){
              data[0] = res.getString(1);
              data[1] = res.getString(2);
              data[2] = res.getString(3);
              data[3] = res.getString(4);
              data[4] = res.getString(5);
              data[5] = res.getString(6);
              tableModel.addRow(data);
          }
      } 
        cn.close(); 
        conn.close(); 
        } catch (Exception ex) { 
            System.err.println(ex.getMessage()); 
        } 
    } 
    
    // Variables declaration - do not modify 

Buatlah private baru TampilGridDetail kemudian buat kode program seperti berikut:
private void TampilGridDetail(){
  String stat ="";
  try {
koneksi();
String     SQL = "SELECT tblbarang.kodebarang,tblbarang.namabarang,tblbarang.hargajual,"
+"tblbarang.stok,tbldetailpenjualan.jumlah,tbldetailpenjualan.subtotal,tblpenjualan.nofaktur " +
                 "FROM tblbarang, tbldetailpenjualan, tblpenjualan " +
                 "WHERE tblbarang.kodebarang=tbldetailpenjualan.kodebarang " +
                 "AND tblpenjualan.nofaktur=tbldetailpenjualan.nofaktur " +
                 "AND tbldetailpenjualan.nofaktur='" + NoFaktur.getText() + "'";
      try (ResultSet res = cn.executeQuery(SQL)) {
          while(res.next()){
              data[0] = res.getString(1);
              data[1] = res.getString(2);
              data[2] = res.getString(3);
              data[3] = res.getString(4);
              data[4] = res.getString(5);
              data[5] = res.getString(6);
              tableModel.addRow(data);
          }
      }
        cn.close();
        conn.close();
        } catch (Exception ex) {
            System.err.println(ex.getMessage());
        }   
  } 


Buatlah perintah BersihData, BersihDetail, SetEditOff, dan SetEditON disembarang tempat yang memiliki space kosong seperti berikut ini:
public void BersihData(){ 
     tableModel.setRowCount(0); 
   //  NoFaktur.setText(""); 
     NamaPetugas.setText(""); 
     IDPetugas.setSelectedIndex(0); 
     KodeBarang.setSelectedIndex(0); 
     NamaBarang.setText("");    
       HargaJual.setText(""); 
     Jumlah.setText(""); 
     Stok.setText(""); 
     Bayar.setText("0"); 
     Sisa.setText("0"); 
     Total.setText("0"); 
     SubTotal.setText("0"); 
  } 
     public void BersihDetail(){ 
     KodeBarang.setSelectedIndex(0); 
     NamaBarang.setText("");   
     HargaJual.setText(""); 
     Stok.setText(""); 
     Jumlah.setText(""); 
     SubTotal.setText("0"); 
     } 
      
     public void SetEditOff(){ 
     NoFaktur.setEnabled(false); 
     TglPenjualan.setEnabled(false); 
     IDPetugas.setEnabled(false); 
     KodeBarang.setEnabled(false); 
     Jumlah.setEnabled(false); 
     Hitung.setEnabled(false); 
     CariData.setEnabled(false); 
     AddItem.setEnabled(false); 
     } 
      
     public void SetEditOn(){ 
     NoFaktur.setEnabled(true); 
     TglPenjualan.setEnabled(true); 
     IDPetugas.setEnabled(true); 
     KodeBarang.setEnabled(true); 
     Jumlah.setEnabled(true); 
     SaveTransaction.setEnabled(true); 
     CariData.setEnabled(true); 
     Hitung.setEnabled(true); 
     AddItem.setEnabled(true); 
     }  



Buatlah  kode  program  pada  kombobox  idpetugas  dengan  cara  klik  kanan  pilih  events  ->  item  -> itemStatChanged.
  private void IDPetugasItemStateChanged(java.awt.event.ItemEvent evt) {                                           
        // TODO add your handling code here:
          try {      
koneksi();
String     SQL = "SELECT * FROM tblpetugas where idpetugas='"+ 
IDPetugas.getSelectedItem().toString()+"'"; 
ResultSet  res = cn.executeQuery(SQL); 
res.absolute(1); 
NamaPetugas.setText(res.getString("namapetugas")); 
        } catch (SQLException ex) { 
        } 
          
    }                      

Buatlah private baru untuk menampilakn data pada kombobox idpetugas seperti berikut:
 public void TampilComboPetugas(){ 
try {      
koneksi ();
String     SQL = "SELECT * FROM tblpetugas"; 
ResultSet  res = cn.executeQuery(SQL); 
while(res.next()){ 
IDPetugas.addItem(res.getString("idpetugas")); 
} 
        } catch (SQLException ex) { 
        } 
    }   

Buatlah  kode  program  pada  kombobox  kodebarang  dengan  cara  klik  kanan  pilih  events  ->  item  -> itemStatChanged. 
 private void KodeBarangItemStateChanged(java.awt.event.ItemEvent evt) {                                            
        // TODO add your handling code here:
          try {      
koneksi();
String     SQL = "SELECT * FROM tblbarang where kodebarang='"+ 
KodeBarang.getSelectedItem().toString()+"'"; 
ResultSet  res = cn.executeQuery(SQL); 
res.absolute(1); 
NamaBarang.setText(res.getString("namabarang")); 
HargaJual.setText(res.getString("hargajual")); 
Stok.setText(res.getString("stok")); 
        } catch (SQLException ex) { 
        } 
         Jumlah.requestFocus(); 
         AddItem.setEnabled(true); 
         
    }  

Buatlah private baru untuk menampilakn data pada kombobox iddistributor seperti berikut
 public void TampilComboBarang(){
try {    
koneksi ();
String     SQL = "SELECT * FROM tblbarang";
ResultSet  res = cn.executeQuery(SQL);
while(res.next()){
KodeBarang.addItem(res.getString("kodebarang"));
}
        } catch (SQLException ex) {
        }
    }


 Buatlah private baru untuk menampilkan tanggal otomatis seperti berikut:
public void TanggalOtomatis(){
      Date tanggal = new Date();
      TglPenjualan.setText(""+ (String.format("%1$td/%1$tb/%1$tY",tanggal)));
  }

Buatlah  kode  program  untuk  menampilkan  perhitungan  subtotal  dengan  mengkilik  button  hitung  -> events -> action -> ActionPerformed. .
private void HitungActionPerformed(java.awt.event.ActionEvent evt) {                                     
        // TODO add your handling code here:
        int a;
int b;
double c;   
a = Integer.parseInt(HargaJual.getText());
b = Integer.parseInt(Jumlah.getText());
c = a * b; 
SubTotal.setText(String.valueOf(c));
    }

 Buatlah kode program untuk menampilkan total dengan cara klik kanan textfield  subtotal -> events -> charet -> charetUpdate. 
 private void SubTotalCaretUpdate(javax.swing.event.CaretEvent evt) {                                     
        // TODO add your handling code here:
              double d, e;   
d = Double.parseDouble(SubTotal.getText());  
e = Double.parseDouble(Total.getText());  
e = e+d;   
Total.setText(String.valueOf(e)); 

    }       

 Buatlah kode program untuk menampilkan perhitungan sisa bayar dengan cara klik kanan textfield bayar -> events -> charet -> charetUpdate.

private void BayarCaretUpdate(javax.swing.event.CaretEvent evt) {                                  
        // TODO add your handling code here:
        double a; 
double b; 
double c;  
a = Double.parseDouble(Bayar.getText());  
b = Double.parseDouble(Total.getText()); 
c = a - b;   
Sisa.setText(String.valueOf(c)); 
 
    } 


Buatlah  kode  program  AddNew  dengan  mengklik  kanan  button  AddNew  ->events  ->  action  -> ActionPerformed. 
private void AddNewActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
        SetEditOn(); 
        BersihData();
        NoFaktur.requestFocus();  
        tampilfaktur();
        
    } 

 Buatlah  kode  program  Add  Item  dengan  mengklik  kanan  button  Add Item  ->events  ->  action  -> ActionPerformed. 
private void AddItemActionPerformed(java.awt.event.ActionEvent evt) {                                        
        // TODO add your handling code here:
         String NM=NoFaktur.getText(); 
        String KB=KodeBarang.getSelectedItem().toString(); 
        String JM=Jumlah.getText(); 
         
        if ((NM.isEmpty()) | (KB.isEmpty()) |(JM.isEmpty())) { 
            JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi"); 
            KodeBarang.requestFocus(); 
        }else { 
             
            try { 
                koneksi();
                try (Statement stt = conn.createStatement()) {
                    String     SQL = "insert into tbldetailpenjualan values('"+NoFaktur.getText()+"',"+
                            "'"+KodeBarang.getSelectedItem()+"',"+
                            "'"+Jumlah.getText()+"',"+
                            "'"+SubTotal.getText()+"')";
                    stt.executeUpdate(SQL);
                    
                    koneksi();
                    Statement  stt1 = conn.createStatement();
                    String     SQL1 = "Update tblbarang Set stok=stok - '"+Jumlah.getText()+"'" +
                            "Where kodebarang='"+KodeBarang.getSelectedItem().toString()+"'";
                    stt1.executeUpdate(SQL1);
                    data[0] = KodeBarang.getSelectedItem().toString();
                    data[1] = NamaBarang.getText();
                    data[2] = HargaJual.getText();
                    data[3] = Stok.getText();
                    data[4] = Jumlah.getText();
                    data[5] = SubTotal.getText();
                    tableModel.insertRow(0, data);
                } 
                conn.close(); 
                KodeBarang.requestFocus(); 
                AddItem.setEnabled(false); 
                BersihDetail(); 
                KodeBarang.requestFocus(); 
            } catch (Exception ex) { 
                System.err.println(ex.getMessage()); 
            } 
        } 
    } 

 Buatlah  kode  program  SaveTransaction  dengan  mengklik  kanan  button  save Transaction  ->events  ->  action  -> ActionPerformed.
private void SaveTransactionActionPerformed(java.awt.event.ActionEvent evt) {                                                
        // TODO add your handling code here:
          String NM=NoFaktur.getText(); 
         
        if ((NM.isEmpty())) { 
            JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi"); 
            NoFaktur.requestFocus(); 
        }else { 
             
            try { 
               koneksi (); 
                String     SQL = "insert into tblpenjualan values('"+NoFaktur.getText()+"',"+ 
                        "'"+TglPenjualan.getText()+"',"+ 
                        "'"+IDPetugas.getSelectedItem()+"',"+ 
                        "'"+Bayar.getText()+"',"+ 
                        "'"+Sisa.getText()+"',"+ 
                        "'"+Total.getText()+"')";  
                cn.executeUpdate(SQL); 
                cn.close(); 
                conn.close(); 
                BersihData(); 
                SetEditOff(); 
                SaveTransaction.setEnabled(false); 
            } catch (Exception ex) { 
                System.err.println(ex.getMessage()); 
            } 
        }
    }


 Buatlah kode program Close dengan mengklik kanan button Close ->evens -> action -> ActionPerformed. 
private void CloseActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
         if(JOptionPane.showConfirmDialog(null,"This application will be close \n if you press button OK","Information",JOptionPane.OK_CANCEL_OPTION,JOptionPane.INFORMATION_MESSAGE)==JOptionPane.OK_OPTION) 
 this.dispose();
           new FrmMenu().setVisible(true);
    } 

 Buatlah  kode  program  Cari  Data  dengan  mengklik  kanan  button  Cari Data->  events  ->  Action  -> ActionPerformed. 
private void CariDataActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        try { 
koneksi ();
String     SQL = "SELECT * FROM tblpenjualan where nofaktur='"+NoFaktur.getText()+"'"; 
ResultSet  res = cn.executeQuery(SQL); 
res.absolute(1); 
TampilGridDetail(); 
TglPenjualan.setText(res.getString("tglpenjualan")); 
IDPetugas.setSelectedItem(res.getString("idpetugas")); 
Bayar.setText(res.getString("bayar")); 
Sisa.setText(res.getString("sisa")); 
Total.setText(res.getString("total")); 
SaveTransaction.setEnabled(false); 
NoFaktur.setEnabled(false); 
CariData.setEnabled(false); 
} catch (SQLException ex) { 
} 
    } 

Buatlah  kode  program  Cancel  dengan  mengklik  kanan  button  Cancel  ->  events  ->  Action  ->
ActionPerformed.

private void CancelActionPerformed(java.awt.event.ActionEvent evt) {                                        
        // TODO add your handling code here: 
        BersihData(); 
        SetEditOff(); 
}       

Buatlah private baru untuk menampilkan Faktur seperti berikut:
 public void tampilfaktur() {
 //  Date tanggal = new Date();
 //  String kode;
 //  NoFaktur.setText(""+ (String.format("%1$tY%1$tm%1$td",tanggal)));

   Date sk = new Date();

        SimpleDateFormat format1=new SimpleDateFormat("yyMMdd");
        String time = format1.format(sk);
        koneksi();
        String sql = "select right(nofaktur,1) as kd from tblpenjualan order by kd desc";

        try{
       try (ResultSet rs = cn.executeQuery(sql)) {
           if (rs.next()){
              
               int kode = Integer.parseInt(rs.getString("kd"))+1;
              
               NoFaktur.setText(time+Integer.toString(kode));
              
           }else{
              
               int kode = 1;
              
               NoFaktur.setText(time+Integer.toString(kode));
              
           }
       }

        }catch (SQLException | NumberFormatException e){

            JOptionPane.showMessageDialog(null, e);

        }     
       }


Buatlah perintah koneksi disembarang tempat yang memiliki space kosong seperti berikut ini:
public void koneksi(){
    try{
        Class.forName("com.mysql.jdbc.Driver");
        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbretail","root","");
        cn = conn.createStatement();
    }catch (ClassNotFoundException | SQLException e){
        JOptionPane.showMessageDialog(null,"koneksi gagal..");
         JOptionPane.showMessageDialog(null,e.getMessage());
        }
    } 


Doneeeee… Form selesai dibuat selanjutnya tinggal sobat jalankan dengan memencet shift+F6  dan akan tampil seperti berikut sob:
http://helmyntest.blogspot.com/2017/01/membuat-desain-form-data-penjualan-dengan-netbeans.html


Akhirnya selesai juga sob membuat Form Data Penjualan, untuk langkah selanjutnya akan gw bahas di lain kesempatan sob.  okelah sekian untuk postingan kali ini. terimakasih untuk sobat helmyntest atas kunjungannya. sampai jumpa dipostingan berikutnya! :v

Untuk Postingan Sebelumnya bisa cek disini sob :D atau bisa cek disini untuk indexnya :D

Bubble Sort - Pembahasan / Penjelasan dan Contoh Programnya Dengan Cpp

9:23:00 PM Add Comment


Bubble Sort - Pembahasan / Penjelasan dan Contoh Programnya Dengan Cpp 


Selamat Malam Sobat helmyntest, jumpa lagi dengan gw dimalam yang kelam ini (baca: malam  minggu) *flipeverything. Dikarenakan Malam minggu ini gw ga ada kegiatan sama seperti malam-malam biasanya *curcol, alangkah baiknya gw isi dengan membuat satu postingan mengenai pemrograman metode sorting dengan bubble sort dan contoh programnya dengan c++ yang semoga bermanfaat buat sobat sekalian. Langsung aja sob cek dibawah:


http://www.helmyntest.com/2016/07/bubble-sort-pembahasan-penjelasan-dan-contoh-programnya-dengan-cpp.html

A. Pengertian Bubble Sort


Bubble Sort adalah salah satu algoritma untuk sorting data, atau kata lainnya mengurutkan data dari yang terbesar ke yang terkecil atau sebaliknya (Ascending atau Descending).
Bubble sort (metode gelembung) adalah metode/algoritma pengurutan dengan dengan cara melakukan penukaran data dengan tepat disebelahnya secara terus menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan. Jika tidak ada perubahan berarti data sudah terurut. Disebut pengurutan gelembung karena masing-masing kunci akan dengan lambat menggelembung ke posisinya yang tepat.

Metode pengurutan gelembung (Bubble Sort) diinspirasikan oleh gelembung sabun yang berada dipermukaan air. Karena berat jenis gelembung sabun lebih ringan daripada berat jenis air, maka gelembung sabun selalu terapung ke atas permukaan. Prinsip di atas dipakai pada pengurutan gelembung.

Algoritma bubble sort adalah salah satu algoritma pengurutan yang paling simple, baik dalam hal pengertian maupun penerapannya. Ide dari algoritma ini adalah mengulang proses pembandingan antara tiap-tiap elemen array dan menukarnya apabila urutannya salah. Pembandingan elemen-elemen ini akan terus diulang hingga tidak perlu dilakukan penukaran lagi. Algoritma ini termasuk dalam golongan algoritma comparison sort, karena menggunakan perbandingan dalam operasi antar elemennya. Berikut ini adalah gambaran dari algoritma bubble sort. Misalkan kita mempunyai sebuah array dengan. Elemen-elemen “4 2 5 3 9”. Proses yang akan terjadi apabila digunakan algoritma bubblesort adalah sebagai berikut.
  1. Pass pertama
    (4 2 5 3 9) menjadi (2 4 5 3 9)
    (2 4 5 3 9) menjadi (2 4 5 3 9)
    (2 4 5 3 9) menjadi (2 4 3 5 9)
    (2 4 3 5 9) menjadi (2 4 3 5 9)
  2. Pass kedua
    (2 4 3 5 9) menjadi (2 4 3 5 9)
    (2 4 3 5 9) menjadi (2 3 4 5 9)
    (2 3 4 5 9) menjadi (2 3 4 5 9)
    (2 3 4 5 9) menjadi (2 3 4 5 9)
  3. Pass ketiga
    (2 3 4 5 9) menjadi (2 3 4 5 9)
    (2 3 4 5 9) menjadi (2 3 4 5 9)
    (2 3 4 5 9) menjadi (2 3 4 5 9)
    (2 3 4 5 9) menjadi (2 3 4 5 9)
Dapat dilihat pada proses di atas atau pada gambar paling atas, sebenarnya pada pass kedua, langkah kedua, array telah terurut. Namun algoritma tetap dilanjutkan hingga pass kedua berakhir. Pass ketiga dilakukan karena definisi terurut dalam algoritma bubblesort adalah tidak ada satupun penukaran pada suatu pass, sehingga pass ketiga dibutuhkan untuk memverifikasi keurutan array tersebut.


B. Algoritma Bubble Sort

  1. Membandingkan data ke-i dengan data ke-(i+1) (tepat bersebelahan). Jika tidak sesuai maka tukar (data ke-i = data ke-(i+1) dan data ke-(i+1) = data ke-i). Apa maksudnya tidak sesuai? Jika kita menginginkan algoritme menghasilkan data dengan urutan ascending (A-Z) kondisi tidak sesuai adalah data ke-i > data ke-i+1, dan sebaliknya untuk urutan descending (A-Z).
  2. Membandingkan data ke-(i+1) dengan data ke-(i+2). Kita melakukan pembandingan ini sampai data terakhir. Contoh: 1 dgn 2; 2 dgn 3; 3 dgn 4; 4 dgn 5 … ; n-1 dgn n.
  3. Selesai satu iterasi, adalah jika kita sudah selesai membandingkan antara (n-1) dgn n. Setelah selesai satu iterasi kita lanjutkan lagi iterasi berikutnya sesuai dengan aturan ke-1. mulai dari data ke-1 dgn data ke-2, dst.
  4. Proses akan berhenti jika tidak ada pertukaran dalam satu iterasi.

Contoh Kasus Bubble Sort :

Misalkan kita punya data seperti ini: 6, 4, 3, 2 dan kita ingin mengurutkan data ini (ascending) dengan menggunakan bubble sort. Berikut ini adalah proses yang terjadi:

Iterasi ke-1: 4, 6, 3, 2 :: 4, 3, 6, 2 :: 4, 3, 2, 6 (ada 3 pertukaran)
Iterasi ke-2: 3, 4, 2, 6 :: 3, 2, 4, 6 :: 3, 2, 4, 6 (ada 2 pertukaran)
Iterasi ke-3: 2, 3, 4, 6 :: 2, 3, 4, 6 :: 2, 3, 4, 6 (ada 1 pertukaran)
Iterasi ke-4: 2, 3, 4, 6 :: 2, 3, 4, 6 :: 2, 3, 4, 6 (ada 0 pertukaran) -> proses selesai

C. Kompleksitas Algoritma Bubble Sort

Kompleksitas Algoritma Bubble Sort dapat dilihat dari beberapa jenis kasus, yaitu worst-case, average-case, dan best-case.

  • Kondisi Best-Case
Dalam kasus ini, data yang akan disorting telah terurut sebelumnya, sehingga proses perbandingan hanya dilakukan sebanyak (n-1) kali, dengan satu kali pass.
Proses perbandingan dilakukan hanya untuk memverifikasi keurutan data. Contoh Best-Case dapatdilihat pada pengurutan data “1 2 3 4” di bawah ini.

Pass Pertama
(1 2 3 4) menjadi (1 2 3 4)
(1 2 3 4) menjadi (1 2 3 4)
(1 2 3 4) menjadi (1 2 3 4)

Dari proses di atas, dapat dilihat bahwa tidak terjadi penukaran posisi satu kalipun, sehingga tidak dilakukan pass selanjutnya. Perbandingan elemen dilakukan sebanyak tiga kali. Proses perbandingan pada kondisi ini hanya dilakukan sebanyak (n-1) kali. Persamaan Big-O yang diperoleh dari proses ini adalah O(n). Dengan kata lain, pada kondisi Best-Case algoritma Bubble Sort termasuk pada algoritma lanjar.

  • Kondisi Worst-Case
Dalam kasus ini, data terkecil berada pada ujung array. Contoh Worst-Case dapat dilihat pada pengurutan data “4 3 2 1” di bawah ini.

Pass Pertama
(4 3 2 1) menjadi (3 4 2 1)
(3 4 2 1) menjadi (3 2 4 1)
(3 2 4 1) menjadi (3 2 1 4)
Pass Kedua
(3 2 1 4) menjadi (2 3 1 4)
(2 3 1 4) menjadi (2 1 3 4)
(2 1 3 4) menjadi (2 1 3 4)
Pass Ketiga
(2 1 3 4) menjadi (1 2 3 4)
(1 2 3 4) menjadi (1 2 3 4)
(1 2 3 4) menjadi (1 2 3 4)
Pass Keempat
(1 2 3 4) menjadi (1 2 3 4)
(1 2 3 4) menjadi (1 2 3 4)
(1 2 3 4) menjadi (1 2 3 4)

Dari langkah pengurutan di atas, terlihat bahwa setiap kali melakukan satu pass, data terkecil akan bergeser ke arah awal sebanyak satu step. Dengan kata lain, untuk menggeser data terkecil dari urutan keempat menuju urutan pertama, dibutuhkan pass sebanyak tiga kali, ditambah satu kali pass untuk memverifikasi. Sehingga jumlah proses pada kondisi best case dapat dirumuskan sebagai berikut. Jumlah proses = n2+n (3)
Dalam persamaan (3) di atas, n adalah jumlah elemen yang akan diurutkan. Sehingga notasi Big-O yang didapat adalah O(n2). Dengan kata lain, pada kondisi worst-case, algoritma Bubble Sort termasuk dalam kategori algoritma kuadratik.

  • Kondisi Average-Case
Pada kondisi average-case, jumlah pass ditentukan dari elemen mana yang mengalami penggeseran ke kiri paling banyak. Hal ini dapat ditunjukkan oleh proses pengurutan suatu array, misalkan saja (1 8 6 2). Dari (1 8 6 2), dapat dilihat bahwa yang akan mengalami proses penggeseranpaling banyak adalah elemen 2, yaitu sebanyak dua kali.

Pass Pertama
(1 8 6 2) menjadi (1 8 6 2)
(1 8 6 2) menjadi (1 6 8 2)
(1 6 8 2) menjadi (1 6 2 8)
Pass Kedua
(1 6 2 8) menjadi (1 6 2 8)
(1 6 2 8) menjadi (1 2 6 8)
(1 2 6 8) menjadi (1 2 6 8)
Pass Ketiga
(1 2 6 8) menjadi (1 2 6 8)
(1 2 6 8) menjadi (1 2 6 8)
(1 2 6 8) menjadi (1 2 6 8)


Dari proses pengurutan di atas, dapat dilihat bahwa untuk mengurutkan diperlukan dua buah passing,ditambah satu buah passing untuk memverifikasi. Dengan kata lain, jumlah proses perbandingan dapat dihitung sebagai berikut. Jumlah proses = x2+x (4) Dalam persamaan (4) di atas, x adalah jumlahpenggeseran terbanyak. Dalam hal ini, x tidak pernah lebih besar dari n, sehingga x dapat dirumuskan sebagai
Dari persamaan (4) dan (5) di atas, dapat disimpulkan bahwa notasi big-O nya adalah O(n2). Dengan kata lain, pada kondisi average case algoritma Bubble Sort termasuk dalam algoritma kuadratik.


D. Implementasi dalam Pseudo-Code

Setiap algoritma akan memiliki implementasi yang berbeda, tergantung dari bahasa program yang dipakai. Oleh karena itu berikut ini adalah pseudo-code dari algoritma bubblesort, untuk memudahkan implementasi bubblesort pada bahasa apapun.

procedure bubbleSort( A : list of
sortable items ) defined as:doswapped := false
for each i in 0 to length(A) - 2
inclusive do:if A[i] > A[i+1] thenswap( A[i], A[i+1] )
swapped := true
end ifend forwhile swapped
end procedure

E. Kelebihan dan Kelemahan Bubble Sort


Kelebihan :
  • Metode Buble Sort merupakan metode yang paling simpel
  • Metode Buble Sort mudah dipahami algoritmanya
Kelemahan:
Meskipun simpel metode Bubble sort merupakan metode pengurutan yang paling tidak efisien. Kelemahan buble sort adalah pada saat mengurutkan data yang sangat besar akan mengalami kelambatan luar biasa, atau dengan kata lain kinerja memburuk cukup signifikan ketika data yang diolah jika data cukup banyak. Kelemahan lain adalah jumlah pengulangan akan tetap sama jumlahnya walaupun data sesungguhnya sudah cukup terurut. Hal ini disebabkan setiap data dibandingkan dengan setiap data yang lain untuk menentukan posisinya.

sumber: buublesort.blogspot.co.id

Contoh Program Bubble Sort Dengan Cpp

http://www.helmyntest.blogspot.com/2016/07/bubble-sort-pembahasan-penjelasan-dan-contoh-programnya-dengan-cpp.html



#include <iostream>

using namespace std;

int main(){
 int A[]={50, 9, 7, 3, 4, 12, 38, 2, 18, 28, 29};
 int n=sizeof(A)/4;
 int temp;
 bool swap=true;
 
 cout<<"Unsorted order: ";
 for(int a=0;a<n;a++){
  cout<<A[a]<<" ";
 }
 
 while(swap){
  swap=false;
  for(int i=0;i<n-1;i++){
   if(A[i]>A[i+1]){
    temp=A[i];
    A[i]=A[i+1];
    A[i+1]=temp;
    swap=true;
   }
  }
 }
 
 cout<<endl<<"Sorted order: ";
 for(int a=0;a<n;a++){
  cout<<A[a]<<" ";
 }
}

Sekian untuk postingan kali ini mengenai Bubble Sort - Pembahasan / Penjelasan dan Contoh Programnya Dengan Cpp semoga bermanfaat :) Terimakasih sudah berkunjung sampai jumpa dan Selamat Malam Mingguan -,-.

Membuat Aplikasi Hitung Nilai Mahasiswa Dengan Java Netbeans dan MYSQL

10:00:00 PM 1 Comment
http://www.helmyntest.blogspot.com/2016/07/membuat-apliksai-hitung-nilai-mahasiswa-dengan-java-netbeans-dan-mysql.html

Membuat Apliksai Hitung Nilai Mahasiswa Dengan Java Netbeans dan MYSQL

Selamat Malam Sobat Helmyntest. Gimana Puasanya hari ini? semoga semuanya berbuka magrib :D Udah ga kerasa beberapa hari lagi merayakan hari kemeanangan dan gw masih sendiri -_- Oke langsung aja kepembahasan, sesusai judul postingan kali ini gw mau share Cara Membuat Apliksai Hitung Nilai Mahasiswa Dengan Java Netbeans dan MYSQL.
1. Sudah Pasti Sobat membuat Project Baru, setelah membuat project baru kemudia sobat buat design Formnya seperti Gambar Diatas dengan Komponen seperti gambar dibawah sob.

http://www.helmyntest.blogspot.com/2016/07/membuat-apliksai-hitung-nilai-mahasiswa-dengan-java-netbeans-dan-mysql.html

2. Jika sudah jangan Lupa Untuk Membuat Database dengan MYSQL bisa dengan XAMPP, jika sobat ga ngerti bisa baca disini
Untuk Databasenya Seterah Sobat, disini gw menggunakan Nama Database "uas" karena tugas UAS :D
dengan record nama (Varchar), uts(float), tm(float), uas(float), rata(float), tingkat(char), akhir (Char).
 Jika database sudah dibuat selanjutnya ke langkah berikutnya

3. Membuat File Koneksi.java dengan isi seperti dibawah pastekan setelah package name
import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.SQLException;
import java.sql.Statement;
/**
 *
 * @author badger
 */
public class koneksi {
        public Statement data = null; 
        public Connection koneksi = null;
        
        public String Url="jdbc:Mysql://localhost/"; //host database anda 
        public String DbName="uas"; //nama database Anda 
        public String DBUser="root"; //username dari database, jika menggunakan default xampp maka username = root 
        public String DBPassword="";//password db , default xampp tidak ada = "";

public koneksi(){    
    try {                                        //setting driver yang digunakan untuk terhubung ke database            
        Class.forName("com.mysql.jdbc.Driver"); //membuat koneksi dengan parameter url +nama database, username dan password            
        koneksi = DriverManager.getConnection(Url+DbName, DBUser, DBPassword); //membuat statement yang akan digunakan untuk mengeksekusi query dari aplikasi            
        data = this.koneksi.createStatement();
        } 
    catch (ClassNotFoundException | SQLException ex) {            
            System.out.println("error : "+ex);            
            System.exit(0);        
        } 
}
public Connection getConnection(){    
    return koneksi; 
} 
    public Statement getStatement(){        
    return data;    
    }
}


4. Mengkoneksikan Database dengan MYSQL JDBC Driver, bagi yg belum tahu caranya bisa googling atau cek disini

5. Setelah Langkah Diatas Selanjutnya Koding pada Project yang sobat buat yang ada designnya sob

Letakan Kode dibawah ini tepat setelah nama package:

import java.awt.event.KeyEvent;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;


Letakan kode dibawah ini tepat setelah public class Soal2 extends javax.swing.JFrame {

/**
     * Creates new form nILAI
     * @throws java.sql.SQLException
     */
    public Soal2() throws SQLException {
        initComponents();
        setTableFromDB();
    }
    public void bersih(){     
            nama.setText("");     
            uts.setText("");     
            tm.setText("");
            uas.setText("");
            rata.setText("");
            tingkat.setText("");
            akhir.setText("");
            jLabel9.setText("");
            nama.requestFocus(); 
        }

Kemudian Membuat Filter untuk menghandle Field dengan cara Lihat gambar dibawah kemudian letakan kode dibawah tepat setelah private void utsKeyTyped(java.awt.event.KeyEvent evt) { , private void tmKeyTyped(java.awt.event.KeyEvent evt) {  , dan  private void uasKeyTyped(java.awt.event.KeyEvent evt) {
http://www.helmyntest.blogspot.com/2016/07/membuat-apliksai-hitung-nilai-mahasiswa-dengan-java-netbeans-dan-mysql.html


char c = evt.getKeyChar();
if (!(Character.isDigit(c)
        || (c==KeyEvent.VK_BACK_SPACE)
        || (c==KeyEvent.VK_DELETE))) {
    getToolkit().beep();
    JOptionPane.showMessageDialog(null, "Harus Angka 0-100");
    evt.consume();
}


Klik kiri 2 kali pada Button Hitung dan letakan kode dibawah ini tepat setelah private void hitungBtnActionPerformed(java.awt.event.ActionEvent evt) { 

 int total = 0;

if (nama.getText().length()==0 ||uts.getText().length()==0 || tm.getText().length()==0 ||uas.getText().length()==0 ){
        JOptionPane.showMessageDialog(null, "Harap Masukan Semua Data!");
    }
String nama1, grade, hasil;
    nama1=nama.getText();
    jLabel9.setText(String.valueOf(nama1));
    
 float num1, num2, num3, rataan;
 num1=Float.parseFloat(uts.getText());
 num2=Float.parseFloat(tm.getText());
 num3=Float.parseFloat(uas.getText());
 
 rataan=(float) ((num2*0.3)+(num1*0.3)+(num3*0.4));

 rata.setText(String.valueOf(rataan));
 if (rataan >= 100)
     grade="A";
 if (80<=rataan && rataan <=100)
     grade="A";
 else 
 if (70<=rataan && rataan  <=79.9)
     grade="B";
 else
 if (56<=rataan && rataan <=69.9)
     grade="C";
 else 
     grade="D";

 tingkat.setText(String.valueOf(grade));
 
 if ((grade=="A") ||  (grade=="B") || (grade=="C"))
     hasil="Lulus";
 else
     hasil="Tidak Lulus";
 
 akhir.setText(String.valueOf(hasil));
 

Klik kiri 2 kali pada button bersihkan dan letakan kode dibawah tepat setelah private void bersihkanBtnActionPerformed(java.awt.event.ActionEvent evt) {    

nama.setText("");
uts.setText("");
tm.setText("");
uas.setText("");
jLabel9.setText ("");
rata.setText ("");
tingkat.setText ("");
akhir.setText ("");
nama.requestFocus();  

klik kiri 2 kali pada button simpan dan pastekan kode dibawah tepat setelah private void simpanBtnActionPerformed(java.awt.event.ActionEvent evt) {

try {                                         
            try {
                this.insert(
                        this.nama.getText(),
                        this.uts.getText(),
                        this.tm.getText(),
                        this.uas.getText(),
                        this.rata.getText(),
                        this.tingkat.getText(),
                        this.akhir.getText());
            } catch (SQLException ex) {
                Logger.getLogger(Soal2.class.getName()).log(Level.SEVERE, null, ex);
            }
            setTableFromDB();
            bersih();
        } catch (SQLException ex) {
            Logger.getLogger(Soal2.class.getName()).log(Level.SEVERE, null, ex);
        }


lakukan hal yang sama pada button keluar

int reply =JOptionPane.showConfirmDialog(
        null,
        "Yakin ingin keluar?",
        "Konfirmasi",
        JOptionPane.YES_NO_OPTION);
if (reply == JOptionPane.YES_OPTION){
this.dispose();
}


Lakukan hal yang sama pada hapus button 

 try {
            this.delete(
                    this.nama.getText());
            setTableFromDB();
            bersih();
        } catch (SQLException ex) {
            Logger.getLogger(Soal2.class.getName()).log(Level.SEVERE, null, ex);
        }


Membuat function insert dengan meletakan kode dibawah ditempat yg kosong bisa di setelah // End of variables declaration  

private void insert(String nama, String uts, String tm, String uas, String rata, String tingkat, String akhir) throws SQLException{        // buat objek koneksi yang menangani koneksi ke database        
        koneksi conect = new koneksi();        // tentukan query yang akan dijalankan pada mySql/database        
        // kita akan memasukkan data ke dalam tabel mahasiswa        
        String query = "insert into soal2 (nama,uts,tm,uas,rata,tingkat,akhir) values ('"+nama+"','"+uts+"','"+tm+"','"+uas+"','"+rata+"','"+tingkat+"','"+akhir+"')";
        //eksekusi query tersebut dengan cara :        
        try {            
            conect.getStatement().executeUpdate(query);
         //eksekusi
        
        JOptionPane.showMessageDialog(this, "insert berhasil");//pemberitahuan jika berhasil    
        }
        catch (SQLException ex) {            //jika ada kesalahan, maka akan ada pesan error dari sintaks dibawah ini.            
        Logger.getLogger(Soal2.class.getName()).log(Level.SEVERE, null, ex);            
        JOptionPane.showMessageDialog(this, "insert gagal");//pemberitahuan jika gagal        
}    
}


Lakukan hal yang sama untuk membuat function yang mengeset table dari database ke form yang didesain

private void setTableFromDB() throws SQLException {
      koneksi conect = new koneksi();// objek koneksi utk koneksi ke DB         
      ResultSet data = null; //         
      int jumBaris=0; // variable untuk menentukan jumlah baris matriks nantinya.
      //query yang akan ditampilkan, misalkan kita ingin menampilkan data ambil dari DB ke table        
      String query="select * from soal2";
             try {            
                 data = conect.getStatement().executeQuery(query); // query dijalankan            
                 while(data.next()){            
                     jumBaris++;            
                 }        
             } catch (SQLException ex) {            
                 JOptionPane.showMessageDialog(null,"Error pada jumlah baris : "+ex.getMessage());        
             }
              //jika jumlah baris telah didapatkan maka buat array 2 dimensi untuk menyimpan data sementara
        String isi[][]= new String[jumBaris][7]; //jumbaris, dan jumlah kolom = 3{nim, nama, komentar}
        // masukkan data dari ResultStatement kedalam matriks        
        int i=0;//just for loop  
        //eksekusi kembali query      
        try {           
            data = conect.getStatement().executeQuery(query);
            while (data.next())  {                
                System.out.println("disiko");
                            
            isi[i][0] = "" + data.getString("nama"); // ini sintaks untk mengambil isinya, "nama" adalah nama kolom dalam DB                
            System.out.println("nama="+data.getString("nama"));                
            isi[i][1] = "" + data.getString("uts");
            isi[i][2] = "" + data.getString("tm");    
            isi[i][3] = "" + data.getString("uas"); 
            isi[i][4] = "" + data.getString("rata"); 
            isi[i][5] = "" + data.getString("tingkat"); 
            isi[i][6] = "" + data.getString("akhir"); 
            i++;            
     }        
    } catch 
    (SQLException ex) {            
    Logger.getLogger(Soal2.class.getName()).log(Level.SEVERE, null, ex);        
}
    String NamaKolom[] ={"Nama","UTS","TM","UAS","Rata-Rata","Grade","Hasil"};//nama kolom yang nantinya akan ada pada tabel
        DefaultTableModel model= new DefaultTableModel(isi,NamaKolom){};
        //selanjutnya adalah mlakukan pengesetan pada tabel        
        table.setModel(model);        //done!!!    }
 
        } 


membuat function delete seperti langkah diatas 

private void delete(String nama) {
        // buat objek koneksi yang menangani koneksi ke database        
        koneksi conect = new koneksi();
        
         // tentukan query update yang akan dijalankan pada mySql/database        
        // dalam queri ini kita akan menghapus data yang terkait dengan nim        
        String query = "delete from soal2 where nama='"+nama+"' ";
         //eksekusi query tersebut dengan cara :        
        try {            
            conect.getStatement().executeUpdate(query);
         //eksekusi
            JOptionPane.showMessageDialog(this, "data berhasil dihapus");//pemberitahuan jika berhasil
        } catch (SQLException ex) {            //jika ada kesalahan, maka akan ada pesan error dari sintaks dibawah ini.            
            Logger.getLogger(Soal2.class.getName()).log(Level.SEVERE, null, ex);            
            JOptionPane.showMessageDialog(this, "data gagal dihapus");//pemberitahuan jika gagal        
        } 
    }


Dan Selesai sudah langkah membuat aplikasi hitung nilai mahasiswa dengan netbeans dan myql, sobat tinggal jalankan programnya jangan lupa untuk menjalankan xampp sob.
Sekian untuk postingan kali ini semoga bermanfaat untuk semuanya. Jika ada yang salah-salah kata gw mohon maaf dan jika ada yang ditanyakan bisa dituliskan di kolom komentar facebook.
Sampai Jumpa di postingan gw berikutnya sob.



Membuat Database dan Tabel Aplikasi Kasir dengan Visual Basic .NET

12:12:00 PM 1 Comment
http://www.helmyntest.com/2016/06/membuat-database-dan-tabel-aplikasi-kasir-dengan-visual-basic.html

Membuat Database dan Tabel Aplikasi Kasir dengan Visual Basic .NET ~ Selamat Pagi, Siang, Sore, Malam Sobat helmyntest. Akhirnya gw bisa ngeblog lagi setelah sekian lama menjalani kesibukan perkuliahan @_@ Oke sob, Setelah Sebelumnya Gw ngeshare Membuat Form Menu Utama Aplikasi Kasir Dengan VB 2013 dalam Membuat Aplikasi Kasir Dengan VB 2013 Kali ini Gw mau share lanjutannya sesuai judul postingan yaitu Membuat Database dan Tabel Aplikasi Kasir dengan Visual Basic .NET. Jika soabat belum mengikuti tahap sebelumnya, Gw sarankan Sobat untuk  mengikutinya karena jika tidak sobat akan kesulitan di tahap selanjutnya.

Tahap Sebelumnya :

Dalam tahapan ini, kita akan menggunakan Database Access 2010. Jika sobat menggunakan Office 2007 atau 2013 sobat bisa mengikutinya karena extension pada Access 2010 sama saja yaitu .accdb

Berikut langkahnya :
Buka Microsoft Access 2010 pada komputer sobat
Gambar dibawah adalah tampilan awalnya :
http://www.helmyntest.com/2016/06/membuat-database-dan-tabel-aplikasi-kasir-dengan-visual-basic.html

Pada sebelah kanan bawah, buatlah nama database DBKSR.accdb
kemudian masukan pada folder bin\debug project aplikasi kasir sobat
http://www.helmyntest.com/2016/06/membuat-database-dan-tabel-aplikasi-kasir-dengan-visual-basic.html
Kemudian sobat Klik Create
Kemudian buatlah Tabel dengan nama : TBL_KASIR seperti gambar dibawah :
http://www.helmyntest.com/2016/06/membuat-database-dan-tabel-aplikasi-kasir-dengan-visual-basic.html

Jika sudah untuk persiapan Form Login yang akan kita buat. masukan data pada TBL_KASIR seperti gambar dibawah ini :
http://www.helmyntest.com/2016/06/membuat-database-dan-tabel-aplikasi-kasir-dengan-visual-basic.html

Kemudian Close

Jika sudah mengikuti langkah diatas sobat telah sukses membuat database dan tabel yang nantinya digunakan dalam membuat Aplikasi Kasir VB Net 2013. 

Silahkan ikuti tutorial selanjutnya sob.
source: blog.belajarvb.com