Anda di halaman 1dari 6

Jurnal 6

Tugas 1

Ikutilah langkah-langkah berikut untuk membuat aplikasi yang menggunakan JTable sebagai berikut.
Hasil akhir:

Keterangan: text field akan kosong setelah pengguna melakukan input data.
Langkah 1: Desain tampilan aplikasi sebagai berikut:

JTextField (tfJudul &


tfPenulis)

JComboBox (cbGenre) dengan


model berupa: Romantis,
Komedi, Horor, & Misteri

JPanel dengan
border title

JTextField (tfCari)

JTable (jtBuku)

JButton (btnHapus)

Setiap kelompok komponen (Form/Data) dapat dimasukkan ke dalam JPanel, dengan atribut berupa
border title.

Langkah 2: Buat kode untuk tombol kosongkan


Langkah 3: Deklarasikan beberapa hal berikut sebagai atribut

Kode di atas merupakan deklarasi dan instansiasi dari model tabel (DefaultTableModel) dan sorter
dari table (TableRowSorter). Method isCellEditable merupakan method override agar tabel bisa dipilih
row-nya tapi tidak bisa di-edit value-nya.

Langkah 4: Tambahkan kode untuk menghubungkan antara model, sorter, dan table. Berikan default
kolom, dan tampilkan frame di tengah saat pertama kali dijalankan. Selain itu tambahkan pengaturan
agar memungkinkan menekan “Enter” untuk tombol submit.

Kode setLocationRelativeTo(null) akan membuat JFrame muncul di tengah layar saat aplikasi pertama
kali dijalankan. Sedangkan kode “this.getRootPane().setDefaultButton(jButton1);” ber-efek pada
button “Masukkan” aktif saat menekan tombol “Enter”.

Langkah 5: Tambahkan kode untuk memasukkan data saat menekan tombol submit
Langkah 6: Tambahkan kode yang dijalankan untuk melakukan pencarian saat menekan tombol
cari.

Langkah 7: Tambahkan kode untuk melakukan hapus data pada tabel.

Dikarenakan value pada table berubah karena RowSorter, maka perlu dilakukan pemanggilan method
convertRowIndexToModel untuk meng-“update” nilai pada model. Jika hal ini tidak dilakukan, maka
walau nilai pada tabel berubah, nilai yang terpilih tetap sesuai sebelum filter dilakukan.

Langkah 8: Menjalankan via jar.

Agar jar dapat terbentuk, pilih Run  Clean & Build pada menu file IDE Netbeans. Akan tetapi,
pastikan terlebih dahulu Main Class-nya pada Run  Set Project Configuration. Pastikan yang tertulis
adalah package & class-nya.
Pada Netbeans 8.2, di folder penyimpanan project, cek folder “dist”.

Untuk apache netbeans (Maven Project), tambahkan hal berikut ke dalam POM.xml. Ganti kode
package & main class sesuai yang dibutuhkan.

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>PACKAGE & NAMA MAIN CLASS</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>

Jika menggunakan Maven project, untuk melihat file jar yang terbentuk, dapat di-cek folder “target”.
Untuk apache netbeans (gradle project), tambahkan “build.gradle” dengan kode sebagai berikut.
Ganti kode package & main class sesuai yang dibutuhkan.

jar {
manifest {
attributes(
'Class-Path': configurations.compile.collect { it.getName() }.join(' '),
'Main-Class': ' PACKAGE & NAMA MAIN CLASS'
)
}
}

Jika menggunakan gradle project, untuk melihat file jar yang terbentuk, dapat di-cek folder
“build/libs”.

Langkah 9: Jalankan aplikasi via jar, dan pastikan behavior program sesuai yang diharapkan.

Tugas 2

Buatlah sebuah aplikasi berikut:

Aplikasi Boba Drink Cool akan mencatat transaksi


penjualan minuman Boba. Terdapat 3 pilihan menu
minuman & topping dengan harga masing-masing:
1. Boba Milk: 10000
2. Boba Thai Tea: 5000
3. Boba Red Velvet: 10000
4. Oreo: 2000
5. Jelly: 2000
Tombol “Calculate Purchase” akan menghitung
jumlah pembelian dan menampilkan total pembelian
pada text field total price. Total payment akan diisi
oleh pengguna dengan jumlah uang yang diterima
dari pembeli. Tombol “reset” membuat jumlah
menjadi 0 kembali.

Tombol Process akan menampilkan dialog yang berisi


total bayar, jumlah bayar, dan juga uang kembalian
pada pengguna. Selain itu, total price & payment akan
kosong kembali. Terdapat penanganan total payment
harus lebih besar sama dibandingkan total price.

Anda mungkin juga menyukai