0% menganggap dokumen ini bermanfaat (0 suara)
734 tayangan27 halaman

Java Collection Framework, Dimana Framework Ini Diletakan Dalam Package Java - Util Dan

Dokumen tersebut membahas konsep dan prosedur pembuatan program berbasis OOP yang menerapkan collection sebagai penyimpan data, operasi file, input output, serta membuat program aplikasi berbasis OOP untuk operasi file."
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
734 tayangan27 halaman

Java Collection Framework, Dimana Framework Ini Diletakan Dalam Package Java - Util Dan

Dokumen tersebut membahas konsep dan prosedur pembuatan program berbasis OOP yang menerapkan collection sebagai penyimpan data, operasi file, input output, serta membuat program aplikasi berbasis OOP untuk operasi file."
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 27

1.

Konsep penerapan collection sebagai penyimpan data dalam pemrograman berbasis oop
2. Prosedur pembuatan program aplikasi berbasis oop dengan menerapkan collection sebagai
media penyimpan data
3. Konsep operasi file dalam pemrograman berbasis oop
4. Konsep input dan output dalam pemrograman aplikasi berbasis oop
5. Prosedur pembuatan program aplikasi berbasis oop untuk operasi file
6. Prosedur pembuatan program aplikasi berbasis oop untuk input dan output
7. Membuat program aplikasi berbasis oop untuk operasi file yang dapat mengedit,
menambah, menghapus dan membaca isi file
Jawaban :
1. Collection merupakan istilah umum yang dipakai untuk setiap objek yang berfungsi untuk
mengelompokkan beberapa objek tertentu menggunakan suatu teknik tertentu pula. Semua
class yang berhubungan dengan pengelompokan objek ini dalam java tergabung dalam
Java Collection Framework, dimana Framework ini diletakan dalam package java.util dan
mempunyai dua interface utama, yaitu collection dan map.
Collection digunakan untuk menyimpan, mengambil, dan memanipulasi datadata. Salah
satu collection paling sederhana adalah Array. Collection terbagi menjadi 3 kelompok
yaitu Set, List dan Map.
Berikut ini adalah struktur hierarki interface dan class yang termasuk dalam kelompok
collection ini.
Beberapa kelebihan utama menggunakan collection framework antara lain:
• Mengurangi effort dalam membuat program, karena sudah tersedia struktur data dan
algoritma tanpa harus menulis sendiri.
• Meningkatkan performa, karena setiap implementasi dapat berfungsi maksimal sesuai
kasus yang ada.
• Mudah dipelajari, sehingga mengurangi effort untuk mempelajari cara menggunakan
API.
• Dapat dikembangkan dan fleksibel terhadap tipe object yang ada dalam Collection.

2. Jenis Pengelompokan Collection ini merupakan pengelompokan satu dimensi.


Berdasarkan teknik Collection Interface pengelompokannya terbagi menjadi tiga
kelompok yaitu set, list, dan queue.

• Set : Koleksi yang tidak boleh ada duplikasi nilai, dengan kata lain semua value dari
class collection yang mengimplementasikan interface Set tidak boleh ada duplikasi
nilai di dalamnya. Set merupakan turunan langsung dari collection class
• List : Koleksi boleh ada duplikasi nilai dan terurut.
• Map : Object yang memetakan object ke nilai.
• Queue : Collection yang menjaga urutan elemenya berdasarkan FIFO.
• SortedMap : sebuap Map yang memelihara elemen key-nya terurut secara ascending.
• SortedSet: Sebuat set yang memelihara pemetaan elemennya secara ascennding.
Kemudian ada 5 implementasi dasar yang digunakan pula, yaitu Hash Table, Resizable
Array, Balanced Tree, Linked List, dan Hash Table + Linked List.

Java Collections Framework terbagi menjadi tiga kelompok:


• Set Set mengikuti model himpunan, dimana objek/anggota yang tersimpan dalam Set
harus unik. Urutan maupun letak dari anggota tidaklah penting, hanya keberadaan
anggota saja yang penting. Class-class yang mengimplementasikan interface Set
adalah HashSet. Interface SortedSet merupakan subInterface dari interface Set. Untuk
mengurutkan Set, kita dapat menggunakan class yang mengimplementasikan interface
SortedSet yaitu clas TreeSet.
• List List digunakan untuk menyimpan sekumpulan objek berdasarkan urutan masuk
(ordered) dan menerima duplikat. Cara penyimpanannya seperti array, oleh sebab itu
memiliki posisi awal dan posisi akhir, menyisipkan objek pada posisi tertentu,
mengakses dan menghapus isi list, dimana semua proses ini selalu didasarkan pada
urutannya. Classclass yang mengimplementasikan interface List adalah Vector, Stack,
Linked List dan Array List. Terdapat interface Queue yang cara penyimpanan seperti
List, interface ini menyimpan objek menggunakan metode FIFO (First In First Out)
yaitu objek yang masuk pertama keluar pertama. Class-class yang
mengimplementasikan interface Queue adalah PriorityQueue dan LinkedList. Data
yang tersimpan pada objek PriorityQueue akan diurutkan, data tersebut harus
mengimplementasikan objek Comparable atau Comparator. Pemrograman
Berorientasi
• Map Perbedaaan mendasar map dengan collection yang lain, untuk menyimpan objek
pada Map, perlu sepasang objek, yaitu key yang bersifat unik dan nilai yang disimpan.
Untuk mengakses nilai tersebut maka kita perlu mengetahui key dari nilai tersebut.
Map juga dikenal sebagai dictionary/kamus. Pada saat menggunakan kamus, perlu
suatu kata yang digunakan untuk pencarian. Classclass yang mengimplementasikan
Map adalah Hashtable,HashMap, LinkedHashMap. Untuk mengurutkan Map
menggunakan interface SortedMap, class yang mengimplementasikan interface
tersebut adalah TreeMap.

3. Operasi file, yaitu membuat file baru atau menulis dan membaca file dengan character
stream atau dengan byte stream. Untuk menciptakan sebuah file dengan mengakses class
java.io.File dan menciptakan objek dari class tersebut, ini tanpa harus menangkap error
io. Berbeda dengan menciptakan file yang langsung diakses oleh stream, file tersebut
harus dapat menangkap error io ketika penciptaan objek class file.
 Java.io.File
terdapat 4 atribut, 4 konstruktor dan 39 method yang ada didalam class untuk
menspesifikasikan file yang dibuat.
File(),File(String path),File(String dir,String nm) Konstruktor diatas adalah yang
sering digunakan yaitu membuat objek file kemudian digunakan dengan pengesetan
methodnya, atau menginstan langsung dengan nama file beserta pathnya.
Boolean createNewFile(), boolean delete(),boolean exists()
method-method diatas untuk mengeset dengan pengecekan, untuk createNewFile
digunakan untuk menciptakan file kemudian mengembalikan nilai true jika file
dibuat.
 Java.io.FileInputStream
dengan byte stream terdapat 3 konstruktor dan 9 method yang ada.Digunakan untuk
mengambil file yang telah dideskripsikan untuk dibaca dengan byte stream.
FileInputStream(File of), FileInputStream(String nama)
Digunakan untuk mengambil file untuk dibaca secara byte stream,bisa memasukan
deskripsi file yang telah ada dengan String, atau dengan file yang telah diinstan
dengan jelas.
 Java.io.FileWriter
dengan character stream terdapat 5 konstruktor dan tidak ada method yang
dideskripsikan didalam class ini.
FileWriter(File of), FileWriter(File of,boolean append)
Digunakan untuk penciptaan objek file yang akan diakses dengan character stream,
dan untuk variabel append digunakan untuk apakah isi file akan dilanjutkan ke akhir
dari isi file.
 Java.io.FileOutputStream
dengan byte stream terdapat 5 konstruktor dan 7 method untuk membuat file yang
akan diakses menggunakan byte stream.
FileOutputStream(File of), FileOutputStream(File of,boolean append)
Digunakan untuk penciptaan objek file yang akan diakses dengan byte stream, dan
untuk variabel append digunakan untuk apakah isi file akan dilanjutkan ke akhir dari
isi file.
 Java.io.FileReader
dengan character stream terdapat 3 konstruktor dan tidak ada method yang
dideskripsikan didalam class ini.
FileReader(File of), FileReader(String nama)
Digunakan untuk mengambil file untuk dibaca secara character stream,bisa
memasukan deskripsi file yang telah ada dengan String, atau dengan file yang telah
diinstan dengan jelas.

4. STREAM

Stream merupakan dasar operasi input-output ( I/O ) dalam Java yang menggunakan
package java.io sebagai package utama. Stream adalah representasi abstrak dari input dan
output device, dimana aliran bytes akan ditransfer seperti file dalam harddisk, file pada
sistem remote atau printer. Kita dapat membaca data dari input stream, yang dapat berupa
file, keyboard atau komputer remote. Dalam Stream ini terdapat proses input dan output
sebagai berikut :
1. Input Stream

Kelas java.io.InputStream adalah:


public abstract class InputStream
Adapun 2 method utama dari InputStream adalah :
• Read
Method ini digunakan untuk membaca stream.
• Close
Method ini digunakan untuk menutup koneksi input stream.
Dalam proses Penginputan Stream ini pun terdapat pembagian dalam kelasnya,
yaitu : a) Byte Stream
Merupakan kelas dan interface ini digunakan untuk menangani data
biner. b) Character Stream
Merupakan kelompok kelas ini digunakan untuk menangani proses baca tulis karakter
Unicode.
Kelas ini merupakan pengembangan dari kelas Byte Stream sehingga lebih efisien.
Data input dalam Stream ini berfungsi untuk saling melengkapi dengan
DataOutputStream, yaitu untuk mendapatkan data yang telah ditulis.
2. Output Stream
Subclass-subclass dari outputStream adalah :
 ByteArrayOutputStream : digunakan untuk menuliskan stream menjadi byte array.
 FileOutputStream : digunakan untuk menulis pada file
 FilterOutputStream :merupakan superclass dari subclass-subclass
seperti
DataOutputStream, BufferOutputStream, PrintStream, CheckedOutputStream
 ObjectOutputStream : digunakan untuk menuliskan objek pada
OutputStream.
 PipedOutputStream : digunakan untuk menjadi output dari PipedInputStream.
Data Output dalam stream ini merupakan class yang menyediakan cara praktis untuk
menuliskan tipe data primitif ke output stream yang lebih mudah digunakan dalam
penyelesaian program dalam java.
FILE

File merupakan data yang siap diinput dan diproses dalam Stream yang merupaka data
operasi dalam pemrograman. Keterkaitan antara keduanya, proses Input dan Ouput tetap
dilakukan walau dengan cara yang berbeda, dari subclass maupun method yang
digunakan. File Input Stream dan File Output Stream
FileInputStream digunakan untuk membaca data dari file yang merupakan turunan
langsung dari class InputStream dan FileOutputStream untuk menuliskan data ke file
merupakan turunan langsung dari class OutputStream.
Dalam file pun terdapat subclass – subclass dan method, sama halnya dengan Stream,
seperti :
1. Class File
Class File merupakan langkah awal dalam mempelajari proses input-output dengan Java,
karena File merupakan objek yang mewakili path, file, atau direktori pada harddisk. Ada
tiga cara membuat objek File, yaitu :
 Menggunakan objek string sebagai argumen yang menginformasikan path untuk file
atau direktori.
 Menggunakan dua langkah, dimana yang pertama untuk mendefinisikan direktori dan
yang kedua untuk file.
 Menggunakan dua argumen, dimana yang pertama adalah argumen string yang
mendefinisikan direktori, dan yang kedua adalah argumen string yang mendefinisikan
nama file.
2. File Writer
Di dalam aplikasi web, disamping database, penggunaan file untuk menyimpan data cukup
banyak dilakukan karena kebutuhan penyimpanan data yang sederhana cukup dengan
menggunakan file. File Writer merupakan subclass dari OutputStreamWriter yang
merupakan subclass dari class abstract Writer. Class FileWriter memiliki konstruktor yang
umum seperti berikut :
a) FileWriter ( File objekfile );

b) FileWriter ( String pathkefile );

c) FileWriter ( String pathkefile, boolean append );

3. File Reader

File Reader merupakan class yang dapat digunakan untuk membaca file teks. Konstruktor
dari FileReader :
 FileReader(File objekfile);
 FileReader(String pathkefile);
Method yang digunakan :
 Read(char[] array);
 Read(char[] array, int offset, int length);

5. 1. Melihat direktori
2. FileInputStream
2. BufferedInputStream
3. PushbackInputStream
4. Serialization
6. program komputer terdiri dari tiga komponen utama, yaitu: input, proses, dan output.

 Input: nilai yang kita masukan ke program


 Proses: langkah demi langkah yang dilakukan untuk mengelola input menjadi
sesuatu yang berguna
 Output: hasil pengolahan

Semua bahasa pemrograman telah menyediakan fungs-fungsi untuk melakukan input dan
output.

Java sendiri sudah menyediakan tiga class untuk mengambil input:

1. Class Scanner;
2. Class BufferReader;
3. dan Class Console.

Tiga class tersebut untuk mengambil input pada program berbasis teks (console).
Sedangkan untuk GUI menggunakan class yang lain seperti JOptionPane dan inputbox pada
form.

Sementara untuk outputnya, Java menyediakan fungsi print(), println(), dan format().

Mengambil Input dengan Class Scanner


Scanner merupakan class yang menyediakan fungsi-fungsi untuk mengambil input dari
keyboard.

Agar kita bisa menggunakan Scanner, kita perlu mengimpornya ke dalam kode:

import java.util.Scanner;
Lebih jelasnya…

Mari Kita Praktik


Sekarang adalah pertemuan ke-2, jadi buatlah paket baru bernama pertemuan2 pada source
packages.

Klik kanan pada souce packages, kemudian pilih new package:


Kemudian isi nama paket dengan pertemuan2, lalu klik Finish:

Setelah itu, lanjutkan dengan membuat kelas (java class) baru di paket pertemuan2:


Berikan nama: DataKaryawan. Kemudian klik Finish:

Setelah itu, silahkan ikuti kode berikut ini:

package pertemuan2;
// mengimpor Scanner ke program
import java.util.Scanner;

public class DataKaryawan {

public static void main(String[] args) {


// deklarasi variabel
String nama, alamat;
int usia, gaji;

// membuat scanner baru


Scanner keyboard = new Scanner(System.in);

// Tampilkan output ke user


System.out.println("### Pendataan Karyawan PT. Petani Kode ###");
System.out.print("Nama karyawan: ");
// menggunakan scanner dan menyimpan apa yang diketik di variabel nama
nama = keyboard.nextLine();
// Tampilkan outpu lagi
System.out.print("Alamat: ");
// menggunakan scanner lagi
alamat = keyboard.nextLine();

System.out.print("Usia: ");
usia = keyboard.nextInt();

System.out.print("Gaji: ");
gaji = keyboard.nextInt();

// Menampilkan apa yang sudah simpan di variabel


System.out.println("--------------------");
System.out.println("Nama Karyawan: " + nama);
System.out.println("Alamat: " + alamat);
System.out.println("Usia: " + usia + " tahun");
System.out.println("Gaji: Rp " + gaji);
}

}
Perlu diperhatikan, penggunakan fungsi untuk mengambil data bergantung dari tipe data
yang digunakan.

Misal, tipe datanya adalah String, maka fungsi atau method yang dipakai adalah nextLine().

Begitu juga dengan tipe data


lain, Integer menggunakan nextInt(), Double menggunakan nextDouble(), dsb.

Setelah selesai membuat program, silahkan dijalankan. Klik kanan kemudian pilih  Run
File atau tekan tombol [Shift]+[F6].
Mengambil Input dengan Class BufferReader
Class BufferReader sebenarnya tidak hanya untuk mengambil input dari keyboard saja.

Class ini juga dapat digunakan untuk membaca input dari file dan jaringan.

Class ini terletak di dalam paket java.io.

Silahkan diimpor untuk dapat menggunakan class BufferReader.

import java.io.BufferedReader;
Mari kita coba…
Silahkan buat class baru bernama ContohBufferReader, kemudian isi dengan kode berikut
ini.

package pertemuan2;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class ContohBufferReader {

public static void main(String[] args) throws IOException {

String nama;

// Membuat objek inputstream


InputStreamReader isr = new InputStreamReader(System.in);

// membuat objek bufferreader


BufferedReader br = new BufferedReader(isr);

// Mengisi varibel nama dengan Bufferreader


System.out.print("Inputkan nama: ");
nama = br.readLine();
// tampilkan output isi variabel nama
System.out.println("Nama kamu adalah " + nama);

}
Ternyata class BufferReader tidak bisa bekerja sendirian. Dia juga butuh teman yaitu:
class InputStreamReader dan class IOException.

Sekarang mari kita coba jalankan programnya:

Perbedaan BufferReader dengan Scanner terlihat dari fungsi atau method yang dipakai.

Scanner menggunakan next(), sedangkan BufferReader menggunakan readLine().

Lalu untuk tipe data integer, BufferReader menggunakan fungsi read() saja. Hal ini dapat


kita lihat dalam hint autocomplete .

Tips: Tekan Ctrl+Spasi saat menulis kode untuk menampilkan hint autocomplete .

Mengambil Input dengan Class Console


Class Console hampir sama dengan BufferReader. Dia juga menggunakan
fungsi readLine() untuk mengambil input.

Akan tetapi…

Class ini hanya bisa digunakan di lingkungan console saja, seperti Terminal dan CMD.
Class Console tidak bisa digunakan langsung di Netbeans.

Maka dari itu, kita harus kompilasi secara manual.

Untuk menggunakan class ini, kita perlu mengimpornya terlebih dahulu.

import java.io.Console;
Mari kita coba…
Buatlah file baru bernama InputConsole.java dengan isi sebagai berikut:

import java.io.Console;

public class InputConsole {


public static void main(String[] args) {

String nama;
int usia;

// membuat objek console


Console con = System.console();

// mengisi variabel nama dan usia dengan console


System.out.print("Inputkan nama: ");
nama = con.readLine();
System.out.print("Inputkan usia: ");
usia = Integer.parseInt(con.readLine());

// mengampilkan isi variabel nama dan usia


System.out.println("Nama kamu adalah: " + nama);
System.out.println("Saat ini berusia " + usia + " tahun");
}
}
Perhatikan: dalam kode di atas, kita menggunakan
fungsi Integer.parseInt(con.readLine()) untuk tipe data integer. Artinya, kita merubah tipe
data String ke Integer.

Karena Console tidak memiliki nilai kembalian berupa integer untuk fungsi read().

Lanjut…

Setelah itu, lakukan kompilasi melalui Terminal atau CMD. Buka terminal, kemudian
masuk ke direktori tempat menyimpan kodenya.

Ketik perintah: javac InputConsole.java untuk melakukan kompilasi.

Setelah itu, ketik perintah java InputConsole untuk menjalankannya:


Menampilkan Output
Kita sudah mengenal beberapa cara mengambil input dari keyboard untuk program berbasis
teks.

Sekarang bagaimana dengan outputnya?

Ada beberapa fungsi yang sudah disediakan oleh Java:

1. Fungsi System.out.print()
2. Fungsi System.out.println()
3. Fungsi System.out.format()

Apa saja perbedaan dari fungsi-fungsi tersebut?

Mari kita bahas…

Fungsi print() vs println()
Fungsi print() dan println() sama-sama digunakan untuk menampilkan teks.

Lalu apa bedanya?

Fungsi print() akan menampilkan teks apa adanya. Sedangkan println() akan menampilkan


teks dengan ditambah baris baru.

Mari kita coba dalam kode:

package eksperimen;

public class PrintVsPrinln {

public static void main(String[] args) {

System.out.print("ini teks yang dicetak dengan print()");


System.out.println("sedangkan ini teks yang dicetak dengan println()");
System.out.print("pake print() lagi");

}
Sekarang lihat hasil outputnya:
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 = "Petani";


String namaBelakang = "Kode";
Kemudian kita ingin menampilkannya dengan fungsi print(), maka kita hanya perlu
memasukkannya ke sana.

System.out.print(namaDepan);
System.out.print(namaBelakang);
Kode tersebut akan menghasilkan: PetaniKode

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);


Format String
Sedangkan untuk menggabungkan String yang lebih kompleks, kita bisa menggunakan
fungsi format().

Contoh:

package eksperimen;
public class FormatString {

public static void main(String[] args) {

String namaDepan = "Petani";


String namaBelakang = "Kode";

System.out.format("Nama saya %s %s %n", namaDepan, namaBelakang);

}
Perhatikan: di sana kita menggunakan simbol %s untuk mengambil nilai dari variabel di
sampingnya. %s artinya string.

Selain %s, ada juga simbol lain:

 %d untuk desimal atau angka;


 %f untuk bilangan pecahan;
 %n untuk baris baru, bisa juga pakai \n;
 dan masih banyak lagi, cek di dokumentasi java .

Kode di atas akan menghasilkan: Nama saya Petani Kode


7. Membuat Project
Buatlah project menggunakan netbeans caranya buka netbeans anda kemudian pilih
menu File - New Project - Java Application

Selanjutnya pilih Next kemudian berikan nama projectnya pos kemudian buang checkbox


Create Main Class karena kita tidak menggunakan nya. setelah itu klik Finish

Membuat Koneksi Database


untuk membuat koneksi tambahkan terlebih dahulu sebuah package dengan
nama Konfigurasi setelah itu buatlah sebuah class baru dengan
nama Koneksi.java masukan code berikut agar aplikasi yang kita buat dapat terkoneksi ke
database :

package Konfigurasi;

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

/**
*
* @author Reishan Tridya Rafly
*/
public class Koneksi {

public static Connection getConnection() {


Connection conn = null;
String url = "jdbc:mysql://localhost:3306/pos";
String user = "root";
String password = "";
try {
conn = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
System.out.println(e);
}
return conn;
}

public static void main(String[] args) {


try {
Connection c = Koneksi.getConnection();
System.out.println(String.format("Connected to database %s " + "successfully.",
c.getCatalog()));
} catch (SQLException e) {
System.out.println(e);
}
}
}

Jika sudah sekarang coba tes koneksi yang telah dibuat dengan menekan tombol Shift+F6
atau bisa melalui menu Run - Run File hasilnya harus seperti berikut :
Membuat Design Form
Buatlah sebuah Package baru dengan nama Form untuk meletakkan form yang akan kita
design, tambahkan sebuah JFrame Form  pada package tadi kemudian berikan
nama form_barang tambahkan beberapa komponen sehingga menjadi seperti berikut :

Berikan penamaan variabel kepada komponen yang telah dimasukan, agar mudah diingat
kita berikan penamaan sesuai dengan kegunaan nya masing-masing, seperti berikut :

1. jTextField_kode_barang
2. jTextField_nama_barang
3. jTextField_harga
4. jTextField_satuan
5. jTextField_stok
6. jTable_barang
7. jButton_baru
8. jButton_simpan
9. jButton_edit
10. jButton_hapus

Membuat Proses Tampil Data (Read)


untuk menampilkan data kita akan membuat fungsi agar dapat dipanggil secara berulang -
ulang dan namun sebelum membuatnya kita perlu menambahkan/menyesuaikan header
untuk pemanggilan library yang digunakan, berikut adalah header yang akan kita buat :

package Form;

import Konfigurasi.Koneksi;
import java.sql.Connection;
import java.sql.SQLException;
import javax.swing.table.DefaultTableModel;

Selanjutnya tambahkan fungsi tampil data seperti berikut :

public void TampilData() {


DftTblModel_barang = new DefaultTableModel();
DftTblModel_barang.addColumn("KODE BARANG");
DftTblModel_barang.addColumn("NAMA BARANG");
DftTblModel_barang.addColumn("HARGA");
DftTblModel_barang.addColumn("SATUAN");
DftTblModel_barang.addColumn("STOK");
jTable_barang.setModel(DftTblModel_barang);
Connection conn = Koneksi.getConnection();
try {
java.sql.Statement stmt = conn.createStatement();
SQL = "select * from barang";
java.sql.ResultSet res = stmt.executeQuery(SQL);
while (res.next()) {
DftTblModel_barang.addRow(new Object[]{
res.getString("kode_barang"),
res.getString("nama_barang"),
res.getString("harga"),
res.getString("satuan"),
res.getString("stok")
});
}
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}

Selanjutnya panggl fungsi yang telah dibuat di Konstruktor seperti berikut :

public form_barang() {
initComponents();
this.TampilData();
}

Sebelum dilakukan pengetesan tambahkan beberapa baris record kedalam tabel barang,


agar ketika dijalankan jika berhasil maka data akan tampil. hasil setelah dijalankan seperti
berikut:
Membuat Simpan Data
Untuk melakukan penyimpanan data tambahkan coding berikut pada event tombol simpan
dengan cara klik kanan tombol simpan – Events – Action – ActionPerformed kemudian
masukan coding berikut :
try {
Connection conn = Koneksi.getConnection();
PreparedStatement stmt = conn.prepareStatement("insert into
barang(kode_barang, nama_barang, harga, satuan, stok) values(?,?,?,?,?)");
stmt.setString(1, jTextField_kode_barang.getText());
stmt.setString(2, jTextField_nama_barang.getText());
stmt.setString(3, jTextField_harga.getText());
stmt.setString(4, jTextField_satuan.getText());
stmt.setString(5, jTextField_stok.getText());
stmt.executeUpdate();
JOptionPane.showMessageDialog(null, "Data berhasil disimpan", "Pesan",
JOptionPane.INFORMATION_MESSAGE);
TampilData();
} catch (SQLException e) {
System.out.println(e.getMessage());
}
Membuat Edit Data
Sebelum melakukan edit data kita perlu memilih data mana yang akan diedit, untuk itu
kita perlu menambahkan coding pada event table saat diklik agar muncul pada textfield
berikut cara memberikan event pada saat table diklik : klik kanan table – Mouse – mouse
click kemudian masukan coding berikut :

int baris = jTable_barang.getSelectedRow();


jTextField_kode_barang.setText(DftTblModel_barang.getValueAt(baris, 0).toString());
jTextField_nama_barang.setText(DftTblModel_barang.getValueAt(baris, 1).toString());
jTextField_harga.setText(DftTblModel_barang.getValueAt(baris, 2).toString());
jTextField_satuan.setText(DftTblModel_barang.getValueAt(baris, 3).toString());
jTextField_stok.setText(DftTblModel_barang.getValueAt(baris, 4).toString());

selanjutnya Untuk melakukan edit data tambahkan coding berikut pada event tombol edit
dengan cara klik kanan tombol Edit – Events – Action – ActionPerformed kemudian
masukan coding berikut :
try {
Connection conn = Koneksi.getConnection();
PreparedStatement stmt = conn.prepareStatement("update barang set
nama_barang=?, harga=?, satuan=?, stok=? where kode_barang=?");
stmt.setString(1, jTextField_nama_barang.getText());
stmt.setString(2, jTextField_harga.getText());
stmt.setString(3, jTextField_satuan.getText());
stmt.setString(4, jTextField_stok.getText());
stmt.setString(5, jTextField_kode_barang.getText());
stmt.executeUpdate();
JOptionPane.showMessageDialog(null, "Data berhasil diubah", "Pesan",
JOptionPane.INFORMATION_MESSAGE);
TampilData();
} catch (SQLException e) {
System.out.println(e.getMessage());
}

Membuat Hapus Data


Sama halnya seperti edit data kita perlu melakukan pemilihan data mana yang akan
dihapus, tapi karena sebelumnya kita telah menambahkan coding pilih data maka kita
tidak perlu menambahkan coding lagi, langsung saja untuk melakukan penyimpanan data
tambahkan coding berikut pada event tombol hapus dengan cara klik kanan tombol Hapus
– Events – Action – ActionPerformed kemudian masukan coding berikut :

Connection conn = Koneksi.getConnection();


int confirm = JOptionPane.showConfirmDialog(null, "Apakah anda yakin ingin
menghapus data tersebut?", "Konfirmasi", JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE);
if (confirm == 0) {
try {
java.sql.PreparedStatement stmt = conn.prepareStatement("delete from barang
where kode_barang ='" + jTextField_kode_barang.getText() + "'");
stmt.executeUpdate();
JOptionPane.showMessageDialog(null, "Data berhasil dihapus", "Pesan",
JOptionPane.INFORMATION_MESSAGE);
TampilData();
jTextField_kode_barang.setText("");
jTextField_nama_barang.setText("");
jTextField_harga.setText("");
jTextField_satuan.setText("");
jTextField_stok.setText("");
jTextField_kode_barang.requestFocus();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Data gagal di hapus" + e.getMessage(),
"Pesan", JOptionPane.ERROR_MESSAGE);
}
}

Anda mungkin juga menyukai