Java Collection Framework, Dimana Framework Ini Diletakan Dalam Package Java - Util Dan
Java Collection Framework, Dimana Framework Ini Diletakan Dalam Package Java - Util Dan
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.
• 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.
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
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 );
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.
Semua bahasa pemrograman telah menyediakan fungs-fungsi untuk melakukan input dan
output.
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.
Agar kita bisa menggunakan Scanner, kita perlu mengimpornya ke dalam kode:
import java.util.Scanner;
Lebih jelasnya…
package pertemuan2;
// mengimpor Scanner ke program
import java.util.Scanner;
System.out.print("Usia: ");
usia = keyboard.nextInt();
System.out.print("Gaji: ");
gaji = keyboard.nextInt();
}
Perlu diperhatikan, penggunakan fungsi untuk mengambil data bergantung dari tipe data
yang digunakan.
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.
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;
String nama;
}
Ternyata class BufferReader tidak bisa bekerja sendirian. Dia juga butuh teman yaitu:
class InputStreamReader dan class IOException.
Scanner menggunakan next(), sedangkan BufferReader menggunakan readLine().
Akan tetapi…
Class ini hanya bisa digunakan di lingkungan console saja, seperti Terminal dan CMD.
Class Console tidak bisa digunakan langsung di Netbeans.
import java.io.Console;
Mari kita coba…
Buatlah file baru bernama InputConsole.java dengan isi sebagai berikut:
import java.io.Console;
String nama;
int usia;
Lanjut…
Setelah itu, lakukan kompilasi melalui Terminal atau CMD. Buka terminal, kemudian
masuk ke direktori tempat menyimpan kodenya.
1. Fungsi System.out.print()
2. Fungsi System.out.println()
3. Fungsi System.out.format()
Fungsi print() vs println()
Fungsi print() dan println() sama-sama digunakan untuk menampilkan teks.
package eksperimen;
}
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.
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:
Contoh:
package eksperimen;
public class FormatString {
}
Perhatikan: di sana kita menggunakan simbol %s untuk mengambil nilai dari variabel di
sampingnya. %s artinya string.
package Konfigurasi;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
/**
*
* @author Reishan Tridya Rafly
*/
public class Koneksi {
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
package Form;
import Konfigurasi.Koneksi;
import java.sql.Connection;
import java.sql.SQLException;
import javax.swing.table.DefaultTableModel;
public form_barang() {
initComponents();
this.TampilData();
}
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());
}