Anda di halaman 1dari 24

LAPORAN PROYEK WORK

DI
S
U
S
U
N
OLEH
INDARYANA
XI.RPL 3
TAHUN PELAJARAN 2020/2021
SMK NEGERI 2 PINRANG
KATA PENGANTAR

Assalamualaikum Wr. Wb.

Puji syukur diucapkan kehadirat Allah SWT atas segala rahmatNya sehingga
makalah ini dapat tersusun sampai dengan selesai. Tidak lupa kami mengucapkan
terimakasih terhadap bantuan dari pihak yang telah berkontribusi dengan
memberikan sumbangan baik pikiran maupun materinya.

Penulis sangat berharap semoga makalah ini dapat menambah pengetahuan dan
pengalaman bagi pembaca. Bahkan kami berharap lebih jauh lagi agar makalah ini
bisa pembaca praktekkan dalam kehidupan sehari-hari.

1. Kepada Bapak/Ibu Guru Produktif, yang telah memberikan banyak pengetahuan


dan informasi.

2. Seluruh keluarga khususnya orang tua penulis yang telah memberikan banyak
dukungan.

Karena kebaikan dari semua pihak maka penulis bisa menyelesaikan laporan
Project Work ini dengan sebaik-baiknya. Laporan ini memang masih jauh dari
kesempurnaan, tapi penulis sudah berusaha sebaik mungkin. Sekali lagi terima
kasih, semoga laporan ini bermanfaat bagi kita semua.

Wassalamualaikum Wr. Wb.

Pinrang,14 Juni 2021

DAFTAR ISI
KATA PENGANTAR............................................................................................................i

DAFTAR ISI.......................................................................................................................ii

DAFTAR GAMBAR............................................................................................................iii

BAB I PENDAHULUAN

A. Latar Belakang...................................................................................................1

B. Rumusan Masalah....................................................................................................1

C. Tujuan dan Manfaat Penulisan....................................................................................1

BAB II ISI UTAMA LAPORAN

A. Aplikasi yang digunakan.............................................................................................3

B. Bahasa pemrograman................................................................................................4

C. Alat dan Bahan...........................................................................................................5

D. Database..................................................................................................................8

E. Tampilan Program dan kode listing............................................................................8

BAB III PENUTUP

A. Kesimpulan ...........................................................................................................23

B. Saran.......................................................................................................................23

DAFTAR GAMBAR
GAMBAR 1. Netbeans...................................................................................... 3

GAMBAR 2. Contoh Bahasa Pemrograman Java .................................................... 4


GAMBAR 3. Laptop............................................................................................ 5

GAMBAR 4. Handphone................................................................................... 6

GAMBAR 5. Mouse ......................................................................................... 6

GAMBAR 6. Micrososft Office Word .............................................................. 7

GAMBAR 7. Google Chrome .............................................................................. 7

GAMBAR 8. Netbeans IDE 8.2............................................................................. 7

GAMBAR 9. Database ......................................................................................... 8

GAMBAR 10. Program ...................................................................................... 8

GAMBAR 11. Kode Listing .................................................................................. 8

BAB I PENDAHULUAN
A. Latar Belakang Pembuatan Proyek
Project based learning (Pembelajaran berbasis proyek ) adalah sebuah model atau
pendekatan pembelajaran yang inovatif, yang menekankan belajar kontekstual melalui
kegiatan kegiatan yang kompleks. Project based learning berfokus pada konsep-konsep dan
prinsipprinsip utama (central) dari suatu disiplin, melibatkan siswa dalam kegiatan
pemecahan masalah dan tugas-tugas bermakna lainya, memberi peluang bagi siswa untuk
bekerja secara otonom mengkonstruk belajar mereka sendiri, dan puncaknya menghasilkan
produk karya siswa bernilai, dan realistic.
Pembelajaran berbasis proyek memiliki potensi untuk melatih meningkatkan aktivitas
dan motivasi belajar siswa. Dalam model pembelajaran berbasis proyek (project based
learning model) siswa merancang sebuah masalah dan mencari penyelesaiannya sendiri.
Pembelajaran berbasis proyek memfokuskan pada pertanyaan atau masalah yang
mendorong menjalani konsep-konsep dan prinsip-prinsip. Pembelajaran berbasis proyek
juga melibatkan siswa dalam investigasi konstruktif. Investigasi ini dapat berupa desain,
pengambilan keputusan, penemuan masalah, pemecahan masalah, penemuan atau proses
pembangunan model. Dalam Pembelajaran berbasis proyek, aktivitas tersebut harus
meliputi transformasi dan konstruksi pengetahuan pada pihak siswa. Pembelajaran ini
mendorong siswa mendapatkan pengalaman belajar sampai pada tingkat yang signifikan.
Pembelajaran berbasis pada proyek lebih mengutamakan otonomi, pilihan, waktu kerja yang
tidak bersifat rumit, dan tanggung jawab siswa.

B. Rumusan Masalah
Berikut beberapa rumusan masalah yang akan dijawab pada laporan ini, yaitu :
1. Aplikasi apa yang digunakan dalam pembuatan proyek?
2. Bahasa pemrograman apa yang digunakan dalam pembuatan proyek?
3. Apa saja alat dan bahan digunakan dalam pembuatan proyek?
4. Bagaimana database yang telah dibuat?
5. Bagaimana program dan kode listing yang telah dibuat?

C. Tujuan dan Manfaat Proyek


Berikut beberapa tujuan dan manfaat dari project yang dibuat, baik untuk diri sendiri
maupun orang lain :
1. Melatih siswa dalam mengorganisasi sebuah project. Pelaksanaan proyek membutuhkan
beragam sumber daya dan informasi untuk ditangani sehingga bermanfaat bagi
penyelesaian proyek.

2. Meningkatkan keterampilan dalam manajemen waktu, siswa harus benar-benar dapat


memanajemen waktu, mereka harus membuat perencanaan alokasi waktu sedetil
mungkin agar setiap bagian rancangan proyek dapat diselesaikan dengan baik.
3. Memperoleh pengetahuan dan keterampilan yang kokoh dan bermakna guna
(meaningfull use) yang dibangun melalui tugas-tugas dan pekerjaan yang otentik.
4. Meningkatkan keterampilan pemecahan masalah siswa.
5. Memperluas pengetahuan melalui keotentikan kegiatan kurikuler yang terkudung oleh
proses kegiatan belajar melakukan perencanaan (designing) atau investigasi yang
openended, dengan hasil atau jawaban yang tidak ditetapkan sebelumnya oleh
perspektif tertentu.

BAB II PEMBAHASAN
A. Aplikasi
yang digunakan
Netbeans adalah suatu aplikasi IDE atau Integrated Development Environment yang berbasis bahasa
Java dan berjalan diatas Swing. Maksudnya Swing disini adalah suatu teknologi yang memungkinkan
pengembangan aplikasi desktop dan dapat berjalan di berbagai macam platform seperti Windows,
Mac OS, Linux dan Solaris.

Gambar 1. Netbeans

Sedangkan Integrated Development Environment suatu sistem pemrograman atau development


dan diintegrasikan kedalam suatu perangkat lunak. Netbeans menyediakan beberapa tools seperti
Graphic User Interface (GUI), kode editor atau text, suatu compiler serta debugger. Tidak hanya
menunjang bahasa pemrograman Java saja, Netbeans juga dapat membuat atau mengembangkan
program yang berbasis bahasa C, C++ atau bahkan dynamic language seperti PHP, JavaScript,
Groovy, dan Ruby.

Suatu aplikasi Netbeans memiliki fungsi, yakni sebagai media untuk menulis, melakukan compile,
mencari error pada program yang berbasis bahasa Java, C/C++, dan bahkan dynamic languages
seperti PHP, JavaScript, Groovy, serta Ruby. Dengan fungsinya yang multi language ini Netbeans juga
bisa dimanfaatkan untuk menghasilkan program yang berjalan dekstop, web, enterprise, serta
mobile.

Untuk fitur – fitur yang ada pada Netbeans adalah meliputi Smart Code Completion yang dapat
memberi saran kepada programmer nama variabel dari suatu type, parameter dari suatu method
serta melengkapi keyword. Ada juga Bookmarking untuk memberi tanda pada baris kode yang suatu
saat akan kita modifikasi. Lalu ada juga Go to Commands yang membantu kita untuk jump ke
deklarasi variabel,

source code atau file dalam project yang sama, selain itu masih banyak lagi fitur yang tersedia dari
Netbeans.

Untuk kelebihan dan kekurangannya adalah seperti dibawah ini :

 Kelebihan Netbeans
1. Aplikasi Netbeans ini merupakan free (gratis) yang dapat didownload pada laman website
resminya atau pihak ketiga yang bisa kita cari sendiri di internet. Termasuk open source juga.

2. Sun Microsystem yang merupakan pengembang Swing dapat membuat aplikasi Netbeans ini
sangat kompatibel dengan Swing juga. Sehingga menjadi salah satu aplikasi development
penghasil program yang dapat berjalan multi platform.
3. Netbeans juga termasuk aplikasi development yang multi bahasa, karena selain compatible
dengan Java Netbeans juga dapat digunakan untuk membangun program dengan bahasa lain
seperti C/C++, Ruby, dan PHP.

4. Netbeans juga cocok untuk pengembangan sistem dengan skala Enterprise. Serta pada paket
tertentu juga menyertakan GlassFish V2 UR2 dan Apache Tomcat 6.0.16 yang tentunya menjadi
nilai tambah bagi para developer.

 Kekurangan Netbeans
1. Sebuah keuntungan ketika Netbeans mensupport salah satu pengembangan Java GUI yakni
Swing. Namun sayangnya diluar itu sebenarnya ada juga Java GUI yang dikembangkan oleh
Eclipse yakni SWT dan JFace yang sudah cukup populer namun belum disupport oleh Netbeans.

2. Source code untuk Java GUI sudah dipatenkan oleh Netbeans dalam suatu Generated Code,
sehingga para programmer dan developer tidak dapat merubah atau memodifikasi isinya secara
manual.

3. Dalam hal spesifikasi Netbeans juga tergolong cukup tinggi. Perlu ruang memory dan harddisk
yang cukup agar dapat menggunakannya, selain itu penggunaan processornya juga harus
diperhatikan agar dapat dijalankan secara optimal.

B. Bahasa
Pemrograman
Bahasa Pemrograman Java merupakan bahasa pemrograman tingkat tinggi yang berorientasi objek
dan program java tersusun dari bagian yang disebut kelas.

Gambar 2. Bahasa pemprograman

Penulisan kode program Java biasanya disimpan dalam file berekstensi java. Dilihat dari
penggunaannya, sebagai bahasa pemrograman umum kamu bisa memanfaatkan Java untuk
membuat berbagai bentuk aplikasi. Hal itu berlaku mulai dari aplikasi
berbasis desktop, website, mobile, hingga aplikasi embedded device seperti perangkat pintar atau
microprosesor. Dengan menggunakan javac compiler, kamu bisa menyusun file berekstensi java
menjadi file berekstensi class. File berekstensi class. inilah yang disebut sebagai bytecode dan bisa
dijalankan di seluruh Java Virtual Machine (JVM).

Java dikenal memiliki moto “Write Once, Run Anywhere”. Hal ini menunjukkan bahwa setiap kode
program yang ditulis menggunakan Java bisa langsung dijalankan pada platform berbeda-beda tanpa
perlu menyusun ulang.

Java dapat digunakan untuk beberapa hal, diantaranya adalah:

1. Aplikasi mobile (terutama Android)


2. Aplikasi desktop
3. Aplikasi web
4. Server web dan aplikasi server
5. Game
6. Koneksi database

Ada tiga komponen penting dari Java. Ketiga komponen tersebut adalah:

1. JDK Java Development Kit (JDK) merupakan komponen inti dari Java. Komponen ini
memberikan semua tools, executables, binaries yang diperlukan untuk menyusun,
mendebug, dan mengeksekusi sebuah program Java.
2. JVM Java Virtual Machine (JVM) kerap dianggap sebagai jantung dari bahasa pemrograman
Java. Ketika menjalankan program Java, JVM bertugas untuk mengonversi byte code menjadi
kode yang lebih spesifik.
3. JRE Java Runtime Environment (JRE) merupakan implementasi dari JVM. JVM memberikan
platform untuk mengeksekusi program-program Java.

c. Alat dan Bahan


 Alat :
1. Laptop

gambar 3. Laptop
Laptop adalah komputer bergerak (bisa dipindahkan dengan mudah) yang berukuran relatif
kecil dan ringan, beratnya berkisar dari 1-6 kg, tergantung ukuran, bahan, dari spesifikasi
laptop tersebut, laptop dapat digunakan dalam lingkungan yang berbeda dari komputer.
Fungsi laptop pada pembuatan projek, untuk membuat design dan kode program di aplikasi
Netbeans serta laporan proyek di Microsoft Office Word.
2. Handphone

Dipakai untuk membagi jaringan ke Laptop dan mencari informasi tentang cara
menggunakan aplikasi netbeans.

Gambar 4. Handphone

3. Mouse

Untuk alat penunjuk/pointing device atau menggerakkan kursor.

Gambar 5. Mouse

 Bahan :
a. Micrososft Office Word

Untuk membuat laporan project yang telah dibuat.


Gambar 6. Microsoft word

b. Google Chrome

Untuk menyambungkan neatbeans dengan xampp sehingga muncul database yang telah dibuat.

Gambar 7. Google chrome

c. Netbeans IDE 8.2


Untuk mendesain dan membuat kode listing proyek.

Gambar 8. Netbeans IDE 8.2


D. Database
Gambar 9. Database
E. Tampilan program dan kode listing

1. Tampilan Neatbeans

Gambar 10. Program


2. Kode listing

Gambar 11. Kode listing

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package pendaftaran;
import java.awt.EventQueue;
import java.beans.Beans;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.RollbackException;
import javax.swing.JFrame;
import javax.swing.JPanel;
/**
*
* @author Asus
*/
public class pendaftaranbaru extends JPanel {
public pendaftaranbaru() {
initComponents();
if (!Beans.isDesignTime()) {
entityManager.getTransaction().begin();
}
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code">

private void initComponents() {

bindingGroup = new org.jdesktop.beansbinding.BindingGroup()

entityManager = java.beans.Beans.isDesignTime() ? null :


javax.persistence.Persistence.createEntityManagerFactory("db_formpendaftaran?
zeroDateTimeBehavior=convertToNull PU").createEntityManager();

query = java.beans.Beans.isDesignTime() ? null : entityManager.createQuery("SELECT d FROM


DataSiswa d");

list = java.beans.Beans.isDesignTime() ? java.util.Collections.emptyList() :


org.jdesktop.observablecollections.ObservableCollections.observableList(query.getResultList());

masterScrollPane = new javax.swing.JScrollPane();

masterTable = new javax.swing.JTable();

namaLabel = new javax.swing.JLabel();

tanggalLahirLabel = new javax.swing.JLabel();

alamatLabel = new javax.swing.JLabel();

nisnLabel = new javax.swing.JLabel();


asalSekolahLabel = new javax.swing.JLabel();

namaAyahLabel = new javax.swing.JLabel();

pekerjaanAyahLabel = new javax.swing.JLabel();

namaIbuLabel = new javax.swing.JLabel();

pekerjaanIbuLabel = new javax.swing.JLabel();

namaField = new javax.swing.JTextField();

tanggalLahirField = new javax.swing.JTextField();

alamatField = new javax.swing.JTextField();

nisnField = new javax.swing.JTextField();

asalSekolahField = new javax.swing.JTextField();

namaAyahField = new javax.swing.JTextField();

pekerjaanAyahField = new javax.swing.JTextField();

namaIbuField = new javax.swing.JTextField();

pekerjaanIbuField = new javax.swing.JTextField();

saveButton = new javax.swing.JButton();

refreshButton = new javax.swing.JButton();

newButton = new javax.swing.JButton();

deleteButton = new javax.swing.JButton();

FormListener formListener = new FormListener();

org.jdesktop.swingbinding.JTableBinding jTableBinding =
org.jdesktop.swingbinding.SwingBindings.createJTableBinding(org.jdesktop.beansbinding.AutoBindi
ng.UpdateStrategy. READ_WRITE, list, masterTable);

org.jdesktop.swingbinding.JTableBinding.ColumnBinding columnBinding =
jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${nama}"));

columnBinding.setColumnName("Nama");

columnBinding.setColumnClass(String.class);

columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("$
{tanggalLahir}")); columnBinding.setColumnName("Tanggal Lahir");

columnBinding.setColumnClass(java.util.Date.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("$
{alamat}"));

columnBinding.setColumnName("Alamat");

columnBinding.setColumnClass(String.class);

columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("$
{nisn}"));

columnBinding.setColumnName("Nisn");

columnBinding.setColumnClass(String.class);

columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("$
{asalSekolah}"));

columnBinding.setColumnName("Asal Sekolah");

columnBinding.setColumnClass(String.class);

columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("$
{namaAyah}"));

columnBinding.setColumnName("Nama Ayah");

columnBinding.setColumnClass(String.class);

columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("$
{pekerjaanAyah}"));

columnBinding.setColumnName("Pekerjaan Ayah");

columnBinding.setColumnClass(String.class);

columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("$
{namaIbu}"));

columnBinding.setColumnName("Nama Ibu");

columnBinding.setColumnClass(String.class);

columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("$
{pekerjaanIbu}"));

columnBinding.setColumnName("Pekerjaan Ibu");

columnBinding.setColumnClass(String.class);

bindingGroup.addBinding(jTableBinding);

masterScrollPane.setViewportView(masterTable);
namaLabel.setText("Nama:");

tanggalLahirLabel.setText("Tanggal Lahir:");

alamatLabel.setText("Alamat:");

nisnLabel.setText("Nisn:");

asalSekolahLabel.setText("Asal Sekolah:");

namaAyahLabel.setText("Nama Ayah:");

pekerjaanAyahLabel.setText("Pekerjaan Ayah:");

namaIbuLabel.setText("Nama Ibu:");

pekerjaanIbuLabel.setText("Pekerjaan Ibu:");

org.jdesktop.beansbinding.Binding binding =
org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.Upd
ateStrategy.READ_ WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("$
{selectedElement.nama}"), namaField, org.jdesktop.beansbinding.BeanProperty.create("text"));

binding.setSourceUnreadableValue("null");

bindingGroup.addBinding(binding);

binding =
org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.Upd
ateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement !=
null}"), namaField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));

bindingGroup.addBinding(binding);

binding =
org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.Upd
ateStrategy.READ_ WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("$
{selectedElement.tanggalLahir}"), tanggalLahirField,
org.jdesktop.beansbinding.BeanProperty.create("text"));

binding.setSourceUnreadableValue("null");

bindingGroup.addBinding(binding); binding =
org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.Upd
ateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement !=
null}"), tanggalLahirField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));

bindingGroup.addBinding(binding);

binding =
org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.Upd
ateStrategy.READ_ WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("$
{selectedElement.alamat}"), alamatField, org.jdesktop.beansbinding.BeanProperty.create("text"));

binding.setSourceUnreadableValue("null");

bindingGroup.addBinding(binding); binding =
org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.Upd
ateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement !=
null}"), alamatField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));

bindingGroup.addBinding(binding);

binding =
org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.Upd
ateStrategy.READ_ WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("$
{selectedElement.nisn}"), nisnField, org.jdesktop.beansbinding.BeanProperty.create("text"));

binding.setSourceUnreadableValue("null");

bindingGroup.addBinding(binding);

binding =
org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.Upd
ateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement !=
null}"), nisnField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));

bindingGroup.addBinding(binding);

binding =
org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.Upd
ateStrategy.READ_ WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("$
{selectedElement.asalSekolah}"), asalSekolahField,
org.jdesktop.beansbinding.BeanProperty.create("text"));

binding.setSourceUnreadableValue("null");

bindingGroup.addBinding(binding);

binding =
org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.Upd
ateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement !=
null}"), asalSekolahField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));

bindingGroup.addBinding(binding);

binding =
org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.Upd
ateStrategy.READ_ WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("$
{selectedElement.namaAyah}"), namaAyahField,
org.jdesktop.beansbinding.BeanProperty.create("text"));
binding.setSourceUnreadableValue("null");

bindingGroup.addBinding(binding);

binding =
org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.Upd
ateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement !=
null}"), namaAyahField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));

bindingGroup.addBinding(binding);

binding =
org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.Upd
ateStrategy.READ_ WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("$
{selectedElement.pekerjaanAyah}"), pekerjaanAyahField,
org.jdesktop.beansbinding.BeanProperty.create("text"));

binding.setSourceUnreadableValue("null");

bindingGroup.addBinding(binding);

binding =
org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.Upd
ateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement !=
null}"), pekerjaanAyahField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));

bindingGroup.addBinding(binding);

binding =
org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.Upd
ateStrategy.READ_ WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("$
{selectedElement.namaIbu}"), namaIbuField,
org.jdesktop.beansbinding.BeanProperty.create("text"));

binding.setSourceUnreadableValue("null");

bindingGroup.addBinding(binding);

binding =
org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.Upd
ateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement !=
null}"), namaIbuField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));

bindingGroup.addBinding(binding);

binding =
org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.Upd
ateStrategy.READ_ WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("$
{selectedElement.pekerjaanIbu}"), pekerjaanIbuField,
org.jdesktop.beansbinding.BeanProperty.create("text"));
binding.setSourceUnreadableValue("null");

bindingGroup.addBinding(binding);

binding =
org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.Upd
ateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement !=
null}"), pekerjaanIbuField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));

bindingGroup.addBinding(binding);

saveButton.setText("Save");

saveButton.addActionListener(formListener);

refreshButton.setText("Refresh");

refreshButton.addActionListener(formListener);

newButton.setText("New");

newButton.addActionListener(formListener);

deleteButton.setText("Delete");

binding =
org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.Upd
ateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement !=
null}"), deleteButton, org.jdesktop.beansbinding.BeanProperty.create("enabled"));

bindingGroup.addBinding(binding);

deleteButton.addActionListener(formListener);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);

this.setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addComponent(newButton)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(deleteButton)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(refreshButton)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(saveButton))

.addGroup(layout.createSequentialGroup() .addContainerGap()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(namaLabel) .addComponent(tanggalLahirLabel) .addComponent(alamatLabel)

.addComponent(nisnLabel) .addComponent(asalSekolahLabel) .addComponent(namaAyahLabel)

.addComponent(pekerjaanAyahLabel) .addComponent(namaIbuLabel)

.addComponent(pekerjaanIbuLabel))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)

.addComponent(namaIbuField, javax.swing.GroupLayout.Alignment.LEADING,

javax.swing.GroupLayout.DEFAULT_SIZE, 214, Short.MAX_VALUE)

.addComponent(pekerjaanAyahField, javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(namaAyahField, javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(asalSekolahField, javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(nisnField, javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(alamatField, javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(tanggalLahirField, javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(namaField, javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(pekerjaanIbuField)) .addGap(0, 0, Short.MAX_VALUE))

.addComponent(masterScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 709,


Short.MAX_VALUE))))

.addContainerGap())

);
layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {deleteButton,
newButton, refreshButton, saveButton});

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addComponent(masterScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 104,


Short.MAX_VALUE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(namaLabel

.addComponent(namaField, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(tanggalLahirLabel)

.addComponent(tanggalLahirField, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(alamatLabel) .addComponent(alamatField,
javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(nisnLabel) .addComponent(nisnField, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(asalSekolahLabel) .addComponent(asalSekolahField,

javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(namaAyahLabel) .addComponent(namaAyahField,
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

addComponent(pekerjaanAyahLabel)

.addComponent(pekerjaanAyahField, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .

addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(namaIbuLabel) .addComponent(namaIbuField,

javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(pekerjaanIbuLabel)

addComponent(pekerjaanIbuField, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(saveButton) .addComponent(refreshButton) .addComponent(deleteButton)

.addComponent(newButton)) .addContainerGap())

);

bindingGroup.bind();
}

// Code for dispatching events from components to event handlers.

private class FormListener implements java.awt.event.ActionListener {

FormListener()

{} public void actionPerformed(java.awt.event.ActionEvent evt)

{ if (evt.getSource() == saveButton)

{ pendaftaranbaru.this.saveButtonActionPerformed(evt); } else if (evt.getSource() ==


refreshButton) { pendaftaranbaru.this.refreshButtonActionPerformed(evt);

else if (evt.getSource() == newButton)

{ pendaftaranbaru.this.newButtonActionPerformed(evt); }

else if (evt.getSource() == deleteButton)

{ pendaftaranbaru.this.deleteButtonActionPerformed(evt);

} } }//

@SuppressWarnings("unchecked") private void


refreshButtonActionPerformed(java.awt.event.ActionEvent evt)
{ entityManager.getTransaction().rollback(); entityManager.getTransaction().begin();

java.util.Collection data = query.getResultList(); for (Object entity : data)


{ entityManager.refresh(entity);

} list.clear(); list.addAll(data);

} private void deleteButtonActionPerformed(java.awt.event.ActionEvent evt) { int[] selected =


masterTable.getSelectedRows();

List toRemove = new ArrayList(selected.length);

for (int idx = 0; idx < selected.length; idx++) { pendaftaran.DataSiswa d =


list.get(masterTable.convertRowIndexToModel(selected[idx]));

toRemove.add(d); entityManager.remove(d);

} list.removeAll(toRemove); } 20 private void


newButtonActionPerformed(java.awt.event.ActionEvent evt) { pendaftaran.DataSiswa d = new
pendaftaran.DataSiswa(); entityManager.persist(d);

list.add(d); int row = list.size() - 1; masterTable.setRowSelectionInterval(row, row);


masterTable.scrollRectToVisible(masterTable.getCellRect(row, 0, true));
} private void saveButtonActionPerformed(java.awt.event.ActionEvent evt) { try
{ entityManager.getTransaction().commit();

entityManager.getTransaction().begin();

} catch (RollbackException rex) { rex.printStackTrace();

entityManager.getTransaction().begin(); List merged = new ArrayList(list.size()); for


(pendaftaran.DataSiswa d : list) { merged.add(entityManager.merge(d));

} list.clear(); list.addAll(merged); } } // Variables declaration - do not modify private


javax.swing.JTextField alamatField; private javax.swing.JLabel alamatLabel; private
javax.swing.JTextField asalSekolahField; private javax.swing.JLabel asalSekolahLabel; private
javax.swing.JButton deleteButton; private javax.persistence.EntityManager entityManager; private
java.util.List list; 21 private javax.swing.JScrollPane masterScrollPane; private javax.swing.JTable
masterTable; private javax.swing.JTextField namaAyahField; private javax.swing.JLabel
namaAyahLabel; private javax.swing.JTextField namaField; private javax.swing.JTextField
namaIbuField; private javax.swing.JLabel namaIbuLabel; private javax.swing.JLabel namaLabel;
private javax.swing.JButton newButton; private javax.swing.JTextField nisnField; private
javax.swing.JLabel nisnLabel; private javax.swing.JTextField pekerjaanAyahField; private
javax.swing.JLabel pekerjaanAyahLabel; private javax.swing.JTextField pekerjaanIbuField; private
javax.swing.JLabel pekerjaanIbuLabel; private javax.persistence.Query query; private
javax.swing.JButton refreshButton; private javax.swing.JButton saveButton; private
javax.swing.JTextField tanggalLahirField; private javax.swing.JLabel tanggalLahirLabel; private
org.jdesktop.beansbinding.BindingGroup bindingGroup; // End of variables declaration public static
void main(String[] args) { /* Set the Nimbus look and feel */ // /* If Nimbus (introduced in Java SE 6)
is not available, stay with the default look and feel. * For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for
(javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName());
break; } 22 } } catch (ClassNotFoundException ex)
{ java.util.logging.Logger.getLogger(pendaftaranbaru.class.getName()).log(java.util.logging.Level.SEV
ERE, null, ex); } catch (InstantiationException ex)
{ java.util.logging.Logger.getLogger(pendaftaranbaru.class.getName()).log(java.util.logging.Level.SEV
ERE, null, ex); } catch (IllegalAccessException ex)
{ java.util.logging.Logger.getLogger(pendaftaranbaru.class.getName()).log(java.util.logging.Level.SEV
ERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex)
{ java.util.logging.Logger.getLogger(pendaftaranbaru.class.getName()).log(java.util.logging.Level.SEV
ERE, null, ex); } // /* Create and display the form */ EventQueue.invokeLater(new Runnable() { public
void run() { JFrame frame = new JFrame(); frame.setContentPane(new pendaftaranbaru());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack();
frame.setVisible(true); } }); }

BAB III PENUTUP


A. Kesimpulan
Dari hasil pembuatan proyek dengan judul “Form Pendaftaran”, dapat diambil
kesimpulan sebagai berikut :
1. Model pembelajaran berbasis proyek (project based learning model) berfokus
pada konsepkonsep dan prinsip-prinsip utama dari suatu disiplin, melibatkan
siswa dalam kegiatan pemecahan masalah dan tugas-tugas bermakna lainnya,
memberi peluang bagi siswa untuk bekerja secara otonom mengkonstruk
belajar mereka sendiri, dan puncaknya menghasilkan produk karya siswa
bernilai, dan realistik.
2. Netbeans adalah suatu aplikasi IDE atau Integrated Development Environment
yang berbasis bahasa Java dan berjalan diatas Swing.
3. Bahasa Pemrograman Java merupakan bahasa pemrograman tingkat tinggi
yang berorientasi objek dan program java tersusun dari bagian yang disebut
kelas. Java dikenal memiliki moto “Write Once, Run Anywhere”.
B. Saran
Bagi para siswa, metode pembelajaran berbasis proyek sangat sesuai dengan kurikulum
2013 sekarang. Namun, jika dilihat dari situasi sekarang yaitu keadaan Covid 19,
mungkin pembelajaran ini kurang cocok. Karena dari bulan maret yang lalu kita mulai
belajar di rumah, karena itu pembelajaran kurang maksimal dan bagi siswa pastinya
kurang paham dengan pembelajaran tanpa bimbingan tatap muka langsung dari guru.
Wassalamualaikum Wr. Wb.

Anda mungkin juga menyukai