Selasa, 26 Mei 2020

iReport

IReport
‐  JasperReports : Merupakan software open source untuk reporting
 iReport : Merupakan Visual Designer untuk membuat laporan yang komplek menggunakan   JasperReports library tanpa harus memiliki pengetahuan tentang XML
Cara Membuat Report di Java-Netbeans Menggunakan JasperReport dan Ireport.

 Install iReport cara nya seperti ini :

  • Extract iReport, kita pilih 4 File dengan format file nbm.
  • Buka Netbeans, pilih menu Tools > Plugins > (klik tab Downloaded)
  • Klik button Add, cari file iReport yang sudah kalian extract tadi
  • Setelah membuka folder extract td, CTRL + A, lalu pilih open ke empat filenya
  • Pastikan sudah tercentang semua, klik Install
  • pilih  next, next dan install saja IDE Installernya
 Contoh menggunakan iReport pada Java Netbeans :
  • Extract File Library nya, copy ke Folder Netbeans Project  : Documents > NetBeansProjects > iReport.
  • Pada Netbeans, Pilih project nya, pada Libraries klik kanan, Add Jar/Folder. Cari semua file library di project kalian tadi, CTRL + A, lalu Open
  • Kembali ke Libraries tadi, klik kanan Add Library, pilih MySQL JDBC Driver
  • Sekarang buat View nya dengan JframeFrom pada package ireport
  • Buat View hanya 1 button saja dulu, sebagai contoh untuk klik dan memanggil laporan nya
  • Pada package belajarreport, klik kanan, pilih New lalu Other, Cari Report dan pilih Report Wizard
  • Next , pilih Layout yang bagus dan beri nama report.
  • Setelah memberi nama, akan ada pilihan Connections. Kalian klik button New, pilih Database JDBC connection
  • Pastikan XAMPP MYSQL kalian sudah menyala
  • Sebelum di save, pastikan klik Test dulu untuk mentest koneksi Project kita apakah berhasil terkoneksi ke MySQL nya
  • Masukkan Query nya dari tabel
  • Next dan pindahkan semua fields ke kanan dengan mengklik tanda >> atau kalian pilih field mana saja yang nanti nya akan ditampilkan pada Laporan / Report
  • Next, dan Finish
  • Buka file report.jrxml, klik Preview (pastikan tabel  memiliki data)
  •  Cara nya jika button yang di buat pada JframeFrom tadi ketika di klik menampilkan laporan.
  • Buat dulu Class Koneksi , isi nya :
  • private void laporanActionPerformed(java.awt.event.ActionEvent evt) {                                       
                        String namaFile = "src/bgproject/iReport.jrxml";
                        String filetoFill ="src/bgproject/iReport.jasper";
                        try{
                        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/zakat4", "root", "");
                        JasperCompileManager.compileReport(namaFile);
                        Map param = new HashMap():
                        JasperFillManager.fillReport (filetoFill,param,conn);
                        JasperPrint jp = JasperFillManager.fillReport(filetoFill, param, conn);
                        JasperViewer.viewReport(jp, true);
                        }catch (Exception ex){
                            System.out.println(ex);
                        }
                    }                     

Minggu, 10 Mei 2020

CRUD dan Seraching Data

Tabel (CRUD dan Searching Data)
1. Buka Tampilan Tabel yang telah dibuat.
2. Buat Tampilan contohnya seperti ini :



















Catatan :
Tombol simpan yang ada pada tampilan tersebut memiliki fungsi untuk menyimpan data dan mengupdate data . Dan  tombol hapus untuk menghapus data.

1.  Langkah pertama membuat events yaitu mouse clik dimana jika kita mengkilik sebuah data maka akan memunculkan ID. 

Caranya adalah klik kana pada jTabel1 lalu klik pilih events>mouse Clicked.


Kodenya :
private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {                                    
        // TODO add your handling code here:
        DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
        int data_terpilih = jTable1.getSelectedRow();
        String ID = model.getValueAt(data_terpilih, 0).toString();
        String Nama = model.getValueAt(data_terpilih, 1).toString();
        String Alamat = model.getValueAt(data_terpilih, 2).toString();
        data.setText(ID);
        id.setText(ID);
        nama.setText(Nama);
        alamat.setText(Alamat);
    }        

Catatan:
Pertama buat sebuah variabel untuk menentukan baris mana yang akan diklik, baris mana yang akan ditampilkan.
Data terpilih (data_terpilih) untuk menentukan data apa yang muncul ketika diklik.
getSelectedRow(); adalah baris yang terpilih.



2. Selanjutnya yaitu source kode tombol simpan.
Disini akan membuat 2 buah kondisi dimana jika pada jTexfield (Data) yang ada pada bawah tabel pada terisi maka akan mengupdate data, dan apabila jTexfield (Data) yang ada pada bawah tabel pada keadaan kosong dan ID, Nama, Alamat terisi maka actionnya simpan


     private void simpanActionPerformed(java.awt.event.ActionEvent evt) {                                     
        // TODO add your handling code here:
        if (data.getText().equals("")) {
            try {
                Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/zakat9", "root", " ");
                Statement st = conn.createStatement();
                String query = "INSERT INTO zakat10 VALUES ('" + id.getText() + "','" + nama.getText() + "','" + alamat.getText() + "')";
                st.executeUpdate(query);
                JOptionPane.showMessageDialog(null, "Data Baru Telah Disimpan", "Status", 1);
                ShowDataTabel();
                reset();
            } catch (SQLException ex) {
                Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
            }

        } else {

            try {
                Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/zakat9", "root", " ");
                Statement st = conn.createStatement();
                String query = "UPDATE zakat10 SET ID = '" + id.getText() + "', Nama ='" + nama.getText() + "', Alamat ='"+alamat.getText()+"'"
                        +"WHERE ID= '" +data.getText() + "'";
                st.executeUpdate(query);
                JOptionPane.showMessageDialog(null, "Data Telah Diubah", "Status", 1);
                ShowDataTabel();
                reset();
            } catch (SQLException ex) {
                Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }
      
 Membuat method untuk mengupdate tampilan :
Digunakan ketika akan merest/mengupdate jika berhasil tersimpan maka fiels yang ada pada ID,Nama,Alamat akan menjadi kosong semua.
Lalu memanggil method pada tombol simpan dibagian memasukkan data.


 public void reset() {
        id.setText(null);
        nama.setText(null);
        alamat.setText(null);
        data.setText(null);
    }
}


3. Source Kode Hapus

private void hapusActionPerformed(java.awt.event.ActionEvent evt) {                                     
        // TODO add your handling code here:
           int respon= JOptionPane.showConfirmDialog(null, "Anda Yakin Ingin Menghapus Data", "Status", 0);
           if (respon ==JOptionPane.YES_OPTION){
        try {
                Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/zakat9", "root", " ");
                Statement st = conn.createStatement();
                String query = "DELETE FROM zakat10 WHERE ID ='"+id.getText()+"' ";
                st.executeUpdate(query);
                JOptionPane.showMessageDialog(null, "Data Telah Dihapus", "Status", 1);
                ShowDataTabel();
                reset();
            } catch (SQLException ex) {
                Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
    }                                    
    }
    }      
 4. Pecaraian Data
 private void dataKeyReleased(java.awt.event.KeyEvent evt) {
            // TODO add your handling code here:
            String key_id = id.getText();
            try {
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/zakat9", "root", " ");
            String query = " SELECT* FROM  zakat10  WHERE ID LIKE '%"+key_id "%' OR Nama LIKE '%"+key_id "%' OR Alamat LIKE '%"+key_id "%' OR ;
            Statement st = conn.createStatement();
            ResultSet rs = st.executeQuery(query);
            DefaultTableModel tm = (DefaultTableModel) jTable1.getModel();
            tm.setRowCount(0);
            while (rs.next()) {
                String ID = rs.getString("ID");
                String Nama = rs.getString("Nama");
                String Alamat = rs.getString("Alamat");
                System.out.println(ID);
                tm.addRow(new Object[]{ID, Nama, Alamat});
            }
        } catch (SQLException ex) {
            System.out.println(ex);
        }
                           

Jumat, 01 Mei 2020

Tabel

Cara Menampilkan Data di Database ke Tabel.
1.Aktifkan Xampp lalu buat database

2. Kembali  ke JframeFrom dan buat table dengan cara mendrag Jtabel yang ada di Swing control,.

3. Edit table klik kanan pilih table Contents > columns.

4. Klik source lalu buat sebuah metod.
private void tampilan() {
new Tabel1(). setVisible (true);
        try {
                Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/zakat9", "root", " ");
                String query = “SELECT* FROM zakat10";
                Statement st = conn.createStatement();
ResultSet rs = executeQuery(query);
DefaultTabelModel tm = (DefaultTabelModel) jTabel1.getModel ();
tm.setRowCount (0);
            while (rs.next()) {
                String id = rs.getString “(id”);
                String nama = rs.getString “(nama”);
                tm.addRow[new Object[](id.nama)];
            }
        } catch (SQLException ex) {
            Logger.getLogger(FrmUtamajava.class.getName()).log(Level.SEVERE, null, ex);
        }
5. memanggil method.
public FrmUtamajava() {
        tampilan();

Sabtu, 11 April 2020

Koneksi Database

Cara Mengkoneksikan Database
1.Pertama buka apikasi mysql lalu klik start pada Appache terlebuh dahulu setelah itu baru klik stat pada mysql.

Appche :
Digunakan sebagau web server
Berfungsi mengakses localhost.

MySql:
Mysql adalah modul yang ada di xampp
Berfungsi sebagai database.

2. Cara membuat database di xampp
Buka browser lalu ketikan localhost.phpmyadmin.
Lalu selanjutnya kita buat database
Setelah itu creat table.
Setelah membuat table pada database selanjutnya kita kembali lagi ke GUI.
Mengimport Library.
Pada library klik kana > add library > dbc criber > add library.
Lalu ke tampilan gui lagi, klik forumnya lalu klik source.

3.Mengimport data tapi menggunakan sintak.
Tuliskan dibawah pakage 
Import java.sql.connection;
Import java.sql.drivermanager;
Import java.sql.resultset;
Import java.sql.statment;
Import java.sql.SqlExeption;

Penjelasan :
Import java.sql.connection; Ini berfungsi untuk menyambungkan databse dengan java . 
Fungsi connection untuk melakukan koneksi terhadap basis data.
Import java.sql.drivermanager; Driver manager berfungsi untuk menggabungkan antara driver manager dengan library.
Import java.sql.resultset; Resultset berfungsi untuk queri
Import java.sql.statment; Berfungsi untuk nama queri yang akan ditulis
Import java.sql.SqlExeption; Ini bisa ditulis bisa juga tidak ditulis.

4.Menuliskan blok eksepsi
Public void menu 
String nama = nama1.getText ( );
String nim = nim2.getText ( );
Try {
Connection.corn=DriveManager.getConnection 
(jdbc:mysql://localhost:3306/kampus,root, );
}catch (SQLException ex) {
System.out.println (ex);
}

5.Membuat / Menuliskan Query
String.query=(INSERT INTO mahasiswa VALUES ( null,nama++nama+,+nim+));
Eksekusi query dibawah koneksi
Statement st = corn.creatStatment;
Dibawah string tulis
St.executupdate (query);
JOptionPane.showMassageDialogue(null,  data anda telah disimpan);

Sabtu, 04 April 2020

Input Output Events

Cara Mengambil Input dan Menampilkan Output
Pemrograman Java: Mengambil inputan dari user dan menampilkan Output

Input
Digunakan untuk melakukan inputan  (misal dari user) menggunakan consol (terminal)
Untuk melakukan inputan dengan console bisa menggunakan cara : 
1.Panggil Class Objek Scanner dan          gunakan parameter System.in
 Contoh : Scanner inputUser = new Scanner(System.in);
2.Import asalnya dari class Scanner itu sendiri

Output
Digunakan untuk menampilkan inputan.
Untuk menampilkan tulisan pada consol (terminal) dapat menggunakan perintah: System.out.print()
System.out.println()
Java menyediakan fungsi print(), println(), dan format().

Untuk menampilkan data yang sudah dimasukan pada consol nya, dengan cara:
Menggabungkan String
Ketika menggunakan fungsi print() maupun println(), kadang kita perlu mengambil teks dari variabel dan menggabungkannya dengan teks yang lain.
Misalnya seperti ini:

Kita punya variabel namaDepan dan namaBelakang:

String namaDepan = "wahyu Eka";
String namaBelakang = "Widiati";

Kemudian kita ingin menampilkannya dengan fungsi print(), maka kita hanya perlu memasukkannya.

System.out.print(namaDepan);
System.out.print(namaBelakang);

Kode tersebut akan menghasilkan: Wahyu Eka Widiati

Sebenarnya kita tidak perlu menggunakan dua fungsi print(), karena kita bisa menggabungkannya dengan operator +.
Contoh:
System.out.print(namaDepan + namaBelakang);
Agar ada spasi, tinggal ditambahkan saja spasi:
System.out.print(namaDepan + " " + namaBelakang);

Cara menjalankan method dengan menekan tombol button
Pilih design > submit >properties > events > action perform -> memanggil method dengan cara menuliskan method yang sudah dibuat sebelumnya atau mengcopy paste di bawah method action perform > run > isikan inputan > submit.

Cara memanggil JFrame:
kita perlu membuat beberapa tampilan GUI untuk ditampilkan.

Menentukan JFrame yang pertama kali ditampilkan terlebih dahulu dengan cara: pada tampilan project (main class) > ketikan new menu().setvisible (true);
Menutup halaman login tetapi halaman dta mahasiswa tidak ikut tertutup dengan cara -> pilih JFrame fromnya > pilih Dispose > save

Untuk menjalankan semua programnya dengan cara:
 klik menu  admin > properties > events > pilih mouse clicked > ketik main class yang mau dipanggil (new registrasi().setvisible (true); 

Membuat tampilan GUI, ketika di submit maka akan tersimpan menggunakan setText :
        Nama1.setText(nama);
        jTextField2.setText(nim);
        jTextArea3.setText(alamat);

Kamis, 26 Maret 2020

Dasar GUI Java

Pengertian Jframe Pada Java
Jframe adalah Sebuah frame atau jendela utama yang di gunakan untuk kita menampilkan komponen yang di inginkan pada layar, JFrame juga digunakan untuk kita mendesain tampilan model yang didalamnya bisa kita menetapkan komponen lainnya.jframe java Kelas JFrame adalah jendela utama yang mewarisi kelas java.awt.Frame.

Fungsi Jframe pada java
salah satu class java yang dapat anda gunakan untuk membuat frame sebagai top-level container.Top-level container adalah container dasar komponen swing lainnya diletakkan di source jframe . Komponen yang dimaksud seperti: textField,panel,Text Field,internal pane,list,combo box, label, button, tombol, bidang teks ditambahkan untuk membuat GUI. Jadi frame di java identik juga dengan istilah pembuatan form di java netbeans.  JFrame punya opsi menyembunyikan atau menutup jendela menggunakan metode setDefaultCloseOperation (int).

Membuat Tampilan GUI di NetBeans IDE
Sebenarnya membuat tampilan GUI di NetBeans itu tidak terlalu sulit, kita hanya tinggal drag and drop saja. Tapi walapun hanya tinggal drag and drop jika kita benar-benar belum tahu atau belum terbiasa tetap akan merasa bingung.

Berikut adalah cara Membuat Tampilan GUI di NetBeans IDE
1. Membuat Project
Pertama kita buat dulu projectnya.
2. Membuat JFrame Form
Setelah kita membuat projectnya selanjutnya kita buat dulu JFrame Form yang nantinya akan kita gunakan sebagai tampilan GUI dan untuk meletakan objek-objek yang kita butuhkan.
Caranya:
Membuat JFrame Form Baru
Bagaimana cara menemukan JFrame Form nya?
Caranya silahkan klik pilihan Other, setelah itu kita akan melihat jendela muncul baru seperti pada contoh gambar di bawah ini:
Memilih kategori
Pada bagian Categories, silahkan kalian klik  Swing GUI Forms. Setelah itu lihat pada bagian File Types, silahkan pilih JFrame Form lalu klik Next.
Setelah kita memilih JFrame Form, selanjutnya kita beri nama JFrame Formnya. Untuk namanya bebas sesuka kalian atau sesuaikan dengan apa yang ingin kalian buat. 

3. Membuat Tampilan GUI
Pada langkah ini kita akan memulai membuat tampilannya. Perhatikan pada bagian sebelah kanan yang saya beri tanda.

Pilihan komponen-komponen
Di situlah letak komponen-komponen yang nantinya akan kita butuhkan. Kita bisa memilih komponen apa saja yang kita butuhkan pada aplikasi yang akan kita buat.
Caranya mudah sekali, kita tinggal pilih dan klik komponen yang kita butuhkan, lalu arahkan ke JFrame Form kita lalu lepaskan.
Contoh :

Kamis, 19 Maret 2020

Array dan Blokeksepsi

ARRAY DAN BLOkEKSEPSI

 A. Array
Array adalah Sebuah tipe data bentukan yang terdiri dari sejumlah komponen dengan tipe yang sama. Array berfungsi untuk menyimpan nilai pada suatu variabel yang memiliki tipe data yang sama. Setiap indeks dimulai dari 0 dan seterusnya. Konsep dari array adalah menyimpan setiap nilai ke dalam tiap blok disebut indeks. 
Deklarasi umum array adalah :

Tipe data nama variabel [jumlah indeks];

Jumlah indeks dapat ditulis ataupun tidak ditulis, jika nilai array ditulis artinya menentukan batas maksimal untuk menyimpan nilai ke dalam setiap indeks. Jika jumlah indeks tidak ditulis,  maka jumlah indeks menjadi dinamis (bergantung kepada jumlah nilai yang tersimpan).

Array Multidimensi
Adalah bentuk Kompleks dari Array. pengaksesan nilai dalam array menggunakan indeks baris dan kolom. Utamanya digunakan untuk operasi Matriks.
Bentuk deklarasinya : variable[][]. 

B. Blok Eksepsi
Merupakan keadaan tidak normal (abnormal) saat Program tersebut dijalankan. Ketika Terjadi suatu eksepsi, maka dibutuhkan suatu objek tertentu untuk penanganan eksepsi tersebut.

Beberapa metode untuk penanganan Eksepsi :

 1. TRY.....CATCH
Bentuk dasar penanganan sebuah kondisi abnormal dari program. Ketika terjadi satu eksepsi, maka blok Catch akan "Menangkapnya" tanpa menghentikan program. Jika tidak terjadi suatu eksepsi maka blok Try yang akan dijalankan. 

2. THROW
Throw digunakan secara eksplisit untuk melempar suatu kondisi. Aliran eksekusi akan segera terhenti apabila telah mencapai pernyataan throw. Throw dibuat secara manual oleh programmer yang artinya kita dapat menentukan kapan kondisi throw terjadi.

3. THROWS
Solusi apabila sebuah method dapat menyebabkan terjadinya eksepsi, namun tidak dapat "Menangkapnya".

4. FINALLY
Kondisi finally akan dieksekusi, meskipun tidak terjadi suatu eksepsi.

Jumat, 13 Maret 2020

Materi Perulangan

Perulangan dalam pemrograman java dibagi manjadi dua jenis:
1. Counted loop: Perulangan yang jumlah pengulangannya terhitung atau tentu. 
    Counted loop terdiri dari perulangan For dan For each
2. Uncounted loop: Perulangan yang jumlah pengulangannya tidak terhitung      atau     tidak tentu.
    Uncounted loop terdiri dari perulangan While dan Do/While

Mari kita bahas satu persatu :
1. Counted Loop
    a. Perulangan For
        Contoh Program Perulangan For

        class Bintang{
       public static void main(String[] args){
        for(int i=0; i <= 5; i++){
            System.out.println("*****");
        }

    }
}
Hasil output:

*****
*****
*****
*****
*****
*****

2. Perulangan For Each
Perulangan ini sebenarnya digunakan untuk menampilkan isi dari array, karena perulangan For Each pada Java, dilakukan juga dengan kata kunci For.

Contoh Program For Each :
public class PerulanganForeach {
    public static void main(String[] args) {
        int angka[] = {3,1,42,24,12};
        for( int x : angka ){
            System.out.print(x + " ");
        }

    }
}
Hasil outputnya
3 1 42 24 12

2. Uncounted Loop

a. Perulangan While
Cara kerja perulangan ini seperti percabangan, ia akan melakukan perulangan selama kondisinya bernilai true. Struktur penulisan perulangan while

b.Perulangan Do/While
Cara kerja perulangan Do/While sebenarnya sama seperti perulangan While. Bedanya, Do/While melakukan satu kali perulangan dulu. Kemudian mengecek kondisinya.

Kamis, 05 Maret 2020

Materi Tipe Data

Tipe Data

Tipe data adalah sekumpulan data dengan nilai-nilai yang memiliki karakteristik yang telah ditetapkan. Tipe data mendefinisikan metode penyimpanan untuk merepresentasikan informasi dan cara informasi diinterpretasikan.

A.Tipe Data Primitif

Tipe data primitif merupakan sebuah tipe data standar yang tidak diturunkan dari tipe data yang lain atau objek manapun yang sudah tersedia pada library. 

Terdapat delapan tipe primitif di Java antara lain :
1. Tiga tipe data untuk bilangan bulat (integer) yaitu
  • Int
  • long.
  • Short
2. Dua tipe untuk tipe angka pecahan seperti : 
  • Float
  • Double.
3. Dua untuk tipe karakter yaitu : 
  • Char
  • String.
    Pada java penulisan string diawali dengan huruf kapital (String). 

4. Dan satu yang terakhir untuk data bernilai logika, yaitu :
  •  Boolean.
    Tipe data Boolean digunakan untuk menentukan benar atau salah (perbadingan).


    



Materi Percabangan


Materi Percabangan

Percabangan adalah suatu pilihan atau opsi dimana terdapat kondisi (true atau false) yang harus dipenuhi oleh program untuk menjalankan suatu perintah, jika kondisi itu terpenuhi maka program akan menjalankan perintahnya tetapi jika tidak maka program tidak akan menjalanakan perintahnya lalu melihat kondisi lainnya untuk dijlankan atau berhenti. 

Dalam bahasa pemrograman java, ada 4 buah jenis percabangan yaitu :

If
Percabangan if digunakan pada percabangan dengan statement atau kondisi yang sifatnya tunggul. Artinya pilihan didalam if hanya akan dijalankan jika kondisinya true, tetapi jika kondisi bernilai salah tidak akan melakukan apa-apa.

If Else
Percabangan ini digunakan dalam persyaratan ganda. Artinya jika kondisi bernilai true, maka ifnya yang akan diproses, tetapi jika kondisi bernilai false maka elsenya yang akan dijalankan.

If Nested (If Bersarang)
Ini adalah percabangan yang bisa digunakan untuk banyak kondisi. Artinya kode if dapat digunakan di dalam blok if lainya, atau if didalam if. 

Switch Case
Switch case hanya bisa digunakan untuk angka, tidak bisa menggunakan operator perbandingan/logika. Pada Switch Case perintah deflaut memiliki makna pemberi aksi terakhir apabila tidak ada case yang memenuhi. Pada Switch Case perintah break yang digunakan untuk mengakhiri statement.

Operator Perbandingan 
  1. >     Lebih Besar.
  2. <     Lebih Kecil.
  3. >=   Lebih Besar Sama Dengan.
  4. <=   Lebih Kecil Sama Dengan.
  5. !=    Tidak Sama Dengan
  6. = =  Sama Dengan 
Operator Logika
  1. &&  AND  Jika semua operan bernilai True maka kondisi bernilai Benar.
  2. ||       OR     Jika salah satu operand bernilau True maka kondisi bernilai benar.
  3. !       NOT   Jika kindisi True maka akan berubah menjadi False, begitu pula sebaliknya.
Operator perbandingan dan operator logika digunakanuntyk percabangan if, if else, dan if nested.


iReport

IReport ‐   JasperReports  : Merupakan software open source untuk reporting ‐  iReport  : Merupakan Visual Designer untuk membuat lapor...