Академический Документы
Профессиональный Документы
Культура Документы
Tugas Akhir
Disusun Oleh:
DEDEN RIZAL NOPAWIJAYA
NPM. 0606017
Tugas Akhir telah dibaca dan disetujui oleh komisi pembimbing untuk diajukan
dalam sidang sarjana pada Jurusan Teknik Informatika Sekolah Tinggi Teknologi
Garut.
Menyetujui,
Pembimbing I Pembimbing II
Mengetahui,
Ketua Jurusan Teknik Informatika
ABSTRAK
i
KATA PENGANTAR
ii
akhir ini dan juga banyak berkerja bareng di urusan kemahasiswaan
ukhusunya BEM, HIMA dan UKM.
4. Ibu Dini Destiani SF, Dra., MT selaku Ketua Jurusan Teknik Informatika
Sekolah Tinggi Teknologi Garut.
5. Bapak Asep Deddy Supriatna, Ir., M.Kom., selaku Sekretaris Jurusan Teknik
Informatika.
6. Sahabat-sahabat seperjuangan Teknik Informatika 2006 terutama anak-anak
Lima Bunga Matahari (Susane, Iepe, Nuy, Eva, Dian na Rio) tetep tebarkan
cinta dan kasih sayangnya ya.
7. Para Senior Teknik Informatika 2005 Zamzam Bz, Nur Holisoh, Isma yang
banyak membantu pencerahan dalam penyususnan Laporan Tugas Akhir ini.
8. Para senior-senior dan junior-junior yang banyak memeberikan pelajaran
berharga selama di kehidupan organisasi kampus baik di BEM, MAPALA,
LDK maupun di HIMIF.
9. Seluruh staf dosen dan civitas akademika di Sekolah Tinggi Teknologi Garut.
10. Seluruh pihak yang membantu penyusuan laporan tugas akhir ini yang tidak
dapat disebutkan satu persatu.
11. Dan buat yang terakhir yang paling rewel, nyebelein, suka ganggu, bikin
buyar konsentrasi dalam penyusunan tugas akhir ini tapi tetep slalu nganenin
itu adalah kau LINA KARLINA my lovely.
Penulis menyadari bahwa dalam penyusunan Laporan Tugas Akhir ini
masih jauh dari kesempurnaan, oleh karena itu kritik dan saran yang membangun
demi perbaikan di masa yang akan datang selalu penulis nantikan. Akhirnya
penulis berharap semoga Laporan Tugas Akhir ini dapat bermanfaat bagi penulis
khususnya dan bagi para pembaca pada umumnya.
Amin…
Wassalamu’alaikum Wr. Wb.
Garut, September 2010
Penulis
iii
DAFTAR ISI
Halaman
ABSTRAKSI................................................................................................... i
KATA PENGANTAR .................................................................................... ii
DAFTAR ISI ................................................................................................... iv
DAFTAR GAMBAR ...................................................................................... vii
DAFTAR TABEL .......................................................................................... xi
BAB I PENDAHULUAN ............................................................................... 1
1.1. Latar Belakang Masalah............................................................................ 1
1.2. Identifikasi Masalah .................................................................................. 7
1.3. Tujuan ....................................................................................................... 8
1.4. Batasan Masalah ....................................................................................... 8
1.5. Motode Penelitian ..................................................................................... 8
1.6. Kerangka Pemikiran .................................................................................. 12
1.7. Sistematika Penulisan ............................................................................... 13
BAB II TINJAUAN PUSTAKA.................................................................... 15
2.1 Sistem Informasi Manajemen ................................................................ 15
2.1.1. Sistem .............................................................................................. 15
2.1.2. Informasi .......................................................................................... 16
2.1.3. Manajemen ...................................................................................... 17
2.1.4. Konsep Sistem Informasi Manejemen ............................................. 18
2.2 Pengembangan Sistem Berorentasi Objek (Object Oriented System
Development) ............................................................................................ 19
2.2.1 Konsep Objek................................................................................. 20
2.2.1.1 Kelas................................................................................ 20
2.2.1.2 Enkapsulasi ..................................................................... 21
2.2.1.3 Pewarisan (Inheritence)................................................... 23
2.2.2 Metodelogi Berorientasi Objek .................................................... 24
iv
Halaman
2.2.3 Pemodelan Menggunakan Unified Modelling Language
(UML) ............................................................................................ 25
2.2.3.1 Diagram pada UML ........................................................ 26
2.2.3.1.1 Class Diagram........................................................ 26
2.2.3.1.2 Use-case diagram ................................................... 28
2.2.3.1.3 Interaction Diagram ............................................... 30
2.2.3.1.4 Activity Diagram ................................................... 31
2.2.4 Analisis Berorientasi Objek .......................................................... 32
2.2.4.1 Identifikasi Aktor ............................................................ 33
2.2.4.2 Analisa Proses Bisnis ...................................................... 34
2.2.4.3 Identifikasi Use Case ...................................................... 34
2.2.4.4 Pemodelan Interaksi Menggunakan Interaction
Diagram .............................................................................. 35
2.2.4.5 Perancangan Kelas .......................................................... 35
2.2.5 Perancangan (Design) Sistem Berorientasi Objek ..................... 37
2.2.5.1 Penerapan Desain Axiom terhadap desain kelas............. 39
a. Refine atribut................................................................... 39
b.Refine method ................................................................. 39
2.2.5.2 Perancangan Lapisan Akses (Access Layer) .................. 40
2.2.5.2.1 Database Manajemen Sistem (DBMS) ........................... 40
2.2.5.2.2 Database Terdistribusi pada Arsitektur Client-Servetr ... 41
2.2.5.3 Perancangan Lapisan View (View Layer) ...................... 43
2.3 Java RMI ................................................................................................. 44
2.3.1 Arsitektur RMI ................................................................................ 45
2.3.2 Objek Remote .................................................................................. 46
2.3.3 Stub dan Skeleton ............................................................................ 46
2.3.4 Remote Exception ........................................................................... 47
2.3.5 Tahap Pemrograman Java-RMI ....................................................... 47
2.4 Interaksi Manusia dan Komputer ......................................................... 48
2.4.1 Definisi Interaksi Manusia dan Komputer....................................... 48
v
Halaman
2.4.2 Strategi Perkembangan Antar Muka................................................ 48
2.4.3 Ragam Dialoh .................................................................................. 49
BAB III ANALISIS SISTEM ........................................................................ 52
3.1. Identifikasi Aktor (Actors) ................................................................ 52
3.2 Deskripsi Aktivitas (Business process) ............................................. 56
3.3 Identifikasi Use Case .......................................................................... 57
3.4 Identifikasi Interaksi Antar Objek Menggunakan Interaction
diagrams .............................................................................................. 63
3.5 Perancangan Kelas (Classification) ................................................. 71
3.5.1 Identifikasi Kelas (Class) ................................................................. 71
3.5.2 Identifikasi Relationship .................................................................. 77
3.5.3 Identifikasi Atribut (Attributes) ....................................................... 79
3.5.4 Identifikasi Method .......................................................................... 80
BAB IV DESAIN SISTEM ............................................................................ 82
4.1 Desain Axiom Kelas ................................................................................ 82
4.1.1 Refine Atribut-atribut kelas .............................................................. 82
4.1.2 Refine Method-method kelas ............................................................. 86
4.2 Perancangan layer akses (data storage) ................................................ 88
4.2.1 Perancangan Database. ...................................................................... 88
4.2.2 Perancangan Struktur Tabel ............................................................... 89
4.2.3 Penerapan Atribut dan Tipe data....................................................... 89
4.3 Perancangan Layer View ....................................................................... 92
4.3.1 Struktur Navigasi Menu ..................................................................... 95
4.3.2 Rancangan Antarmuka (Interface) ..................................................... 96
4.3.3 Prototipe Antarmuka (Interface Prototype) ....................................... 101
BAB V KESIMPULAN DAN SARAN ......................................................... 105
5.1 Kesimpulan .............................................................................................. 105
5.2 Saran ........................................................................................................ 105
DAFTAR PUSTAKA
LAMPIRAN-LAMPIRAN
vi
DAFTAR GAMBAR
Halaman
Gambar 1.1 : Rangkaian Aktivitas Tata Usaha .............................................. 4
Gambar 1.2 : Kerangka Pemikiran ................................................................. 13
Gambar 2.1 : Model Aktivitas Sistem ............................................................ 16
Gambar 2.2 : Proses Pembentukan Informasi ................................................ 17
Gambar 2.3 : Sumber Informasi yang Dibutuhkan Setiap Tingkatan
Manajemen ............................................................................... 18
Gambar 2.4 : Contoh Objek pada Kelas Employee ........................................ 21
Gambar 2.5 : Contoh Tingkat Visibilitas Kelas pada Konsep Enkapsulasi ..... 23
Gambar 2.6 : Contoh Hierarki Super Kelas dan Sub Kelas yang
Menggambarkan Konsep Pewarisan ........................................ 24
Gambar 2.7 : Contoh Classes ........................................................................... 27
Gambar 2.8 : Contoh Class Diagrams .............................................................. 28
Gambar 2.9 : Contoh Use Case Diagrams ....................................................... 30
Gambar 2.10 : Contoh Sequence Diagrams ..................................................... 31
Gambar 2.11 : Contoh Activity Diagrams ....................................................... 32
Gambar 2.12 : Tahapan Analisis pada Pengembangan Berorientasi Objek ... 33
Gambar 2.13 : Perbedaan Aktor dengan Pengguna ..................................... 34
Gambar 2.14 : Activity Diagram (AD) Menunjukan Beberapa Aktivitas
Dilakukan Aktor ...................................................................... 34
Gambar 2.15 : Contoh Use Case Diagram Pada SistemPerpustakaan ............ 35
Gambar 2.16 : Tiga Kategori Kelas ................................................................. 36
Gambar 2.17 : Proses Perancangan Berorientasi Objek dengan Pendekatan
Unified ...................................................................................... 39
Gambar 2.18 : Sistem Database Vs Sistem File .............................................. 42
Gambar 2.19 : Sistem Client-server dengan Arsitektur Two-tier ................... 43
Gambar 2.20 : Sistem Client-server dengan Arsitektur Three-tier ................. 43
vii
Halaman
Gambar 2.21 : Contoh Desin Interface Dialog Box dengan Banyak Tab pada
Microsoft Multimedia Setup..................................................... 44
Gambar 2.22 : Arsitektur RMI ........................................................................ 45
Gambar 2.23 : Layanan Naming ..................................................................... 46
Gambar 2.24 : Stub dan Skeleton..................................................................... 46
Gambar 2.25 : Contoh Sistem Menu Dasar .................................................... 50
Gambar 2.26 : Contoh Sistem Menu Tarik ..................................................... 50
Gambar 2.27 : Contoh Dialog Berbasis Pengisian Barang ............................. 51
Gambar 2.28 : Antar Muka Berbasis Icon ...................................................... 51
Gambar 3.1 : Perbedaan User dan Aktor ........................................................ 55
Gambar 3.2 : Diagram Aktivitas Pengelolaan Data Alumni .......................... 57
Gambar 3.3 : Package pada Sistem Informasi Pengolahan Data Alumni ...... 59
Gambar 3.4 : Use Case Diagram pada Kegiatan Login dan Verifikasi
Sistem ....................................................................................... 60
Gambar 3.5 : Use Case Diagram untuk Proses Pencatatan dan Modifikasi
Data........................................................................................... 61
Gambar 3.6 : Use Case Diagram untuk Proses Melihat Laporan .................. 62
Gambar 3.7 : Use Case Diagram untuk Proses Administrasi Sistem............. 62
Gambar 3.8 : Sequence Diagram pada Package Use Case Login dan
Verifikasi Sistem ...................................................................... 63
Gambar 3.9 : Collaboration Diagram pada Package Use Case Login dan
Verifikasi Sistem ...................................................................... 64
Gambar 3.10 : Sequence Diagram pada Use Case Registrasi
Pengguna .................................................................................. 65
Gambar 3.11 : Collaboration Diagram pada Use Case Registrasi Pengguna .. 65
Gambar 3.12 : Sequence Diagram untuk Package Use Case Mencatat dan
Memodifikasi Data ................................................................... 67
Gambar 3.13 : Collaboration Diagram untuk Package Use Case Mencatat
dan Memodifikasi Data ............................................................ 68
viii
Halaman
Gambar 3.14 : Sequence Diagram untuk Package Use Case Melihat
Laporan ..................................................................................... 69
Gambar 3.15 : Collaboration Diagram untuk Package Use Case Melihat
Laporan ..................................................................................... 69
Gambar 3.16 : Sequence Diagram untuk Package Use Case Administrasi
Sistem ....................................................................................... 70
Gambar 3.17 : Collaboration Diagram untuk Package Use Case
Administrasi Sistem.................................................................. 71
Gambar 3.18 : Class Diagram untuk Sistem infomasi Pengolahan Data
Alumni ...................................................................................... 78
Gambar 3.19: Class Diagram dengan Beberapa Agregasi dan Generalisasi .. 79
Gambar 3.20 : Class Diagram dengan Atribut-atribut Kelas .......................... 80
Gambar 3.21 : Class Diagram dengan Atribut-atribut dan Method-method
Kelas ......................................................................................... 81
Gambar 4.1 : Class Diagram dengan Atribut yang Audah Dikaji Ulang
(refine) ...................................................................................... 86
Gambar 4.2 : Class Diagram dengan Method yang Sudah Dikaji Ulang
(refine) ...................................................................................... 88
Gambar 4.3 : Perancangan Koneksi Basisdata pada Sistem .......................... 89
Gambar 4.4 : Desain Tabel User pada MySQL Administrator ...................... 90
Gambar 4.5 : Desain Tabel Alumni pada MySQL Administrator ................. 91
Gambar 4.6 : Kelas Diagram yang Terdiri dari Kelas Objek, Kelas Akses
dan Kelas View......................................................................... 94
Gambar 4.7 : Struktur Menu SI Alumni ........................................................ 95
Gambar 4.8 : Rancangan Menu Utama .......................................................... 97
Gambar 4.9 : Rancangan Form Login pada LoginUI .................................... 97
Gambar 4.10 : Rancangan Form Registrasi Pengguna pada
RegistrasiPenggunaUI .............................................................. 98
Gambar 4.11 : Rancangan Form Input Data Alumni ....................................... 99
Gambar 4.12 : Interface Server Side ................................................................ 100
ix
Halaman
Gambar 4.13 : Desain Report Data Alumni ..................................................... 100
Gambar 4.14 : Desain Report Data Alumni Berdasarkan Jurusan ................... 101
Gambar 4.15 : Desain Report Data Alumni Berdasarkan Tahun Lulusan ....... 101
Gambar 4.16 : Splash Screen SI Alumni ......................................................... 102
Gambar 4.17 : Menu Utama ............................................................................. 102
Gambar 4.18 : Form Login pada LoginUI ....................................................... 103
Gambar 4.19 : Form Registrasi Pengguna pada RegistrasiPenggunaUI .......... 103
Gambar 4.20 : Form Input Data Alumni .......................................................... 104
Gambar 4.21 : Interface Server Side ................................................................ 104
x
DAFTAR TABEL
Halaman
Tebel 1.1 : Animo Masuk SMK Negeri 2 Garut Tahun 1995-2009.............. 2
Tabel 1.2 : Jumlah Kelulusan Siswa SKM Negeri 2 Garut Tahun 2003-
2008 ............................................................................................ 3
Tabel 3.1 : Indentifikasi Aktor ...................................................................... 53
Tabel 3.2 : Kandidat Kelas ............................................................................ 72
Tabel 3.3 : Kandidat Kelas dengan Kategori Kelas ...................................... 74
Tabel 3.4 : Indentifikasi Kelas Redundant .................................................... 75
Tabel 3.5 : Deskripsi Kelas ........................................................................... 77
Tabel 3.6 : Keterhubungan (relationship) antar Kelas .................................. 78
Tabel 4.1 : Refine Method-method Kelas ..................................................... 87
Tabel 4.2 : Struktur Tabel User .................................................................... 90
Tabel 4.3 : Struktur Tabel Alumni ................................................................ 91
Tabel 4.4 : Perancangan Hak Akses Aktor.................................................... 96
xi
BAB I
PENDAHULUAN
1
2
pada tahun 2002 hingga pada tahun 2009 sesuai dengan Peraturan Bupati Garut
Nomor 446 Tahun 2008 Tentang Penetapan Nama-nama Sekolah Menengah
Pertama Negeri, Sekolah Menengah Atas Negeri dan Sekolah Menengah
Kejuruan Negeri di Lingkungan Pemerintah Kabupaten Garut, dimana SMK
Negeri 1 Tarogong Kaler Garut secara resmi (Formal Yuridis) berubah nama
menjadi SMK Negeri 2 Garut.
SMK Negeri 2 Garut yang sekarang bertempat di Jalan Suherman No. 90
Tarogong Kaler Garut yang memiliki 6 program keahlian yaitu :
1. Teknik Gambar Bangunan
2. Teknik Ketenagalistrikan
3. Teknik Audio Video
4. Teknik Motor Otomotif
5. Teknik Geologi Pertambangan
6. Teknik Multimedia
7. Teknik Broadcasting
Perkembangan animo masyarakat terhadap SMK Negeri 2 Garut ini sangat
pesat hal ini dapat di buktikan pada perkembangan siswa pada SMK Negeri 2
Garut dari tahun 1995 sampai dengan 2009 dapat dilihat pada tabel berikut:
Tabel 1.1 Tabel animo siswa masuk SMK Negeri 2 Garut Tahun 1995-2009
alumni yang terorganisir dengan baik sekolah dapat mengetahui banyak atau
sedikitnya jurusan yang diminati masyarakat khususnya bagi pihak luar dalam hal
ini perusahan-perusahan yang nantinya akan menampung para alumni.
Sedangakan bagi pihak luar dalam hal ini perusahan seringkali meminta data
alumni yang sesuai dengan kualifikasi perusahaan tersebut secara cepat dan
akuran yang nanatinya akan dijadikan karyawannya. Maka dari itu pengelolaan
data yang semula bersifat manual tersebut akan dirubah menjadi komputerisasi,
sehingga pengelolaan datanya diharapkan akan lebih efektif, efisien dan hasilnya
menjadi lebih akurat. Sedangkan penyimpanan data yang tadinya bersifat
konvensional akan diganti dengan penyimpanan data elektronik (Hard Disk)
dengan data yang dikemas dalam sebuah basis data (Data Base), sehingga dengan
demikian proses pencarian, penambahan dan pengurangan akan lebih mudah dan
cepat dilakukan.
Kekurangan dan kelemahan yang terdapat pada prosedur kerja dapat
berdampak pada lambatnya pelayanan administrasi. Adapun pengertian dari
administrasi adalah sebagai berikut :
memusatkan rancangan pada objek dan antar muka yang dihasilkan. Objek adalah
entity yang berisi data atau variabel dan tingkah laku. Data atau variabel yang
menggambarkan sifat atau keadaan objek dalam dunia nyata (real world)
didefiniskan sebagai attribute, sedangkan tingkah laku yang menggambarkan
aksi-aksi yang dimiliki objek didefinisikan sebagai method.
Metode analisis yang berorientasi objek diantaranya Unified Approach
(UA) dari bukunya Bahrami (1999). Unified Approach (UA) adalah suatu
metodologi pengembangan sistem berbasis objek yang menggabungkan proses
dan metodologi yang telah ada sebelumnya dan menggunakan Unified Modelling
Languge (UML) sebagai standar pemodelannya. Proses dan tahapan yang ada
dalam Unified Approach (UA) merupakan proses-proses terbaik yang diambil
dari metode objek yang telah diperkenalkan oleh Booch, Rumbaugh, dan
Jacobson. Tahap Analisis dalam Unified Approach (UA) ditujukan untuk
mengidentifikasi kelas-kelas yang terdapat dalam sistem.
Untuk melanjutkan ketahap desain maka di perlukan juga bahasa
pemograman yang berorientasi objek. Dalam hal ini penulis mencoba merancang
dengan menggunakan bahasa pemrograman Java karena bahasa pemograman Java
merupakan salah satu bahasa pemrograman yang berorientasi objek dan juga Java
merupakan develpment tool yang fleksibel dan powerful. Salah satu
keunggulannya adalah platform independence. Maksud dari platfrom
independence adalah program yang kita tulis tidak tergantung pada sistem operasi
saat program tersebut dibuat. Java dibangun dengan kekuatan C++. Java
mengambil fitur-fitur terbaik dari C++ dan menghilangkan permasalahan yang
ada. Java memiliki fitur garbage collection (menajemen memori secara otomatis),
multithreading (kemampuan untuk melakukan sesuatu lebih dari satu pada saat
bersamaan) dan keamamanan yang lebih baik. Sehinggan Java menjadi
pemograman yang sederhana, elagan, powerful dan mudah digunakan.
Bersamaan dengan semakin berkembangnya teknologi informasi dan
komunikasi, perancangan Sistem informasi yang terdistribusi, dan terintegrasi
yang dapat memungkinkan terciptanya keterpaduan-keterpaduan di atas dapat
dibangun menggunakan teknologi jaringan berbasis client server. Pada arsitektur
7
client server terdapat dua jenis aplikasi, yaitu aplikasi server dan aplikasi client.
Instruksi-instruksi pengolah data disimpan di aplikasi server, sedangkan aplikasi
client hanya memuat instruksi-instruksi yang berkaitan dengan pembuatan user
interface. Komunikasi yang terjadi antara aplikasi server dengan aplikasi client
terjadi ketika aplikasi client me-request instruksi yang ada pada aplikasi server.
Data diinput di client , lalu client meminta aplikasi di server dan mengirimkan
data yang diinput user ke database di server untuk dimanipulasi atau diolah oleh
aplikasi yang berada di server dan hasilnya akan dikembalikan ke client.
Perancangan aplikasi yang terintegrasi dan berbasis client server salah satunya
dapat menggunakan suatu package dalam bahasa pemograman Java yang dikenal
dengan istilah Remote Methode Invokes (RMI). Dengan package ini suatu sistem
memungkinkan untuk dibangun dalam satu kesatuan subsistem yang terintegrasi
secara sistematis dan terdistribusi (ditributed).
Pada karya ilmiah ini penulis mencoba menerapkan konsep-konsep diatas
pada perancangan Sistem Informasi Pengelolaan Data Alumni di SMK Negeri 2
Garut dengan judul karya Ilmiah “PERANCANGAN SISTEM INFORMASI
PENGOLAHAN DATA ALUMNI MENGGUNAKAN TEKNOLOGI JAVA
REMOTE METHOD INVOKES (JAVA-RMI) DENGAN METODELOGI
BERORIENTASI OBJEK (Studi Kasus di SMK Negeri 2 Garut)”.
1.3 Tujuan
Adapun yang menjadi tujuan dari penelitian ini adalah mengembangkan
sebuah sistem informasi pengolahan data alumni yang berbasis komputer dengan
menggunakan metodelogi berorientasi objek, sehingga dengan adanya sistem
informasi tersebut diharapkan dapat menyelesaikan permasalahan yang
berhubungan dengan pengolahan data alumni di SMK Negeri 2 Garut.
b. Observasi lapangan
Selain wawancara, penulis juga mengamati secara langsung
bagaimana setiap prosedur berlangsung, sehingga dapat diketahui
aktifitas bisnisnya yang nantinya akan dimodelkan.
c. Studi kepustakaan
Selain itu, penulis juga mempelajari petunjuk ataupun referensi
berupa buku, dokumen, pedoman ataupun formulir tentang
bagaimana proses maupun prosedur pada kegiatan akademik
dilakukan sebagai bahan untuk melakukan analisis dan desain.
BAB I PENDAHULUAN
Bab ini akan di bahasa mengenai teori dari berbagai sumber yang
digunakan sebagai referensi baik didalam kegiatan analisis
maupun perancangan untuk menyelesaikan permasalahan dari
studi kasus yang dipilih. Serta memuat konsep-konsep dasar yang
menjadi guidlines sehingga aktivitas analisis maupun desain
sesuai dengan aturan-aturan yang baku.
DAFTAR PUSTAKA
Pada bab ini akan dilakukan pengamatan pendahuluan dari sistem yang
akan dirancang, pengamatan pendahuluan meliputi studi kepustakaan (library
research). Studi kepustakaan dilakukan untuk meninjau teori-teori dari literatur
mengenai konsep-konsep, metodelogi, pendekatan, serta tahap-tahap penelitian
yang akan dilakukan pada fase-fase selanjutnya.
15
16
2.1.2 Informasi
Tidak berbeda halnya dengan pendefinisian sebuah sistem,
pendefinisian informasipun memiliki pandangan yang berbeda dari
setiap orang, akan tetapi memiliki esensi yang sama. Hal itu dapat
ter;ihat dari pendefinisian informasi berikut:
Informasi didefinisikan sebagai berikut :
Informasi adalah “data yang diolah menjadi bentuk yang lebih berguna
dan lebih berarti bagi yang menerimanya” (Kristanto, 1999).
Informasi adalah “adalah data yang telah diolah menjadi suatu bentuk
yang berarti bagi penerimanya dan bermanfaat dalam pengambilan
keputusan pada saat ini ataupun saat mendatang” (Hartono, 1999).
2.1.3 Manajemen
Secara luas orang sudah banyak mengenal tentang istilah
manajemen, hakikat manajemen secara relatif, yaitu bagaimana sebuah
aktivitas bisa berjalan lebih teratur berdasarkan prosedur dan proses.
Terry (1997) pada buku Rochaety (2006) secara umum
dikatakan bahwa manajemen merupakan proses yang khas yang terdiri
dari tindakan-tindakan perencanaan, pengorganosasian, penggerakan,
dan pengawasan untuk mencapai tujuan yang telah ditetapkan melalui
pemanfaatan sumber daya manusia maupun sumber daya lainnya.
Definisi lain menyatakan bahwa manajemen merupakan proses
perencanaan, pengorganisasian, kepemimpinan, dan pengawasan antar
anggota dengan menggunakan seluruh sumber daya organisasi untuk
mencapai tujuan yang telah ditetapkan (Stoner, 1998) dalam
(Rochaety, 2006).
Pada dasarnya dalam proses penggunaan sistem informasi,
seorang manajer sebelumnya harus memahami posisi dari
hirarki/tingkatan manajemen dimana dia berada, sebagaimana
dikemukakan (McLeod, 2001) dalam (Rochaety, 2006) bahwa
tingkatan manajerial terdiri dari Strategic Planning Level (Top
Management), Management Control Level (Middle Management), dan
Operational Control Level (Lower management). Posisi tersebut sangat
berpengaruh terhadap sumber dan bentuk informasi yang dibutuhkan
oleh seorang manajer (pimpinan) sebagai bahan proses pengambilan
keputusan. Sumber informasi dan bentuk informasi yang dibutuhkan
18
2.2.1.1 Kelas
Objek-objek pada pengembangan software berorientasi objek
kemudian dekelompokan dalam beberapa kelas (Class). Class
digunakan untuk memisahkan suatu objek dari objek yang lain, dengan
kata lain kelas (class) merupakan satu kesatuan objek yang memiliki
struktur dan perilaku (behavior) yang sama/serupa. Setiap kelas
memiliki properties/state/attribute dan prosedur/behavior/method.
(Bahrami, 1999)
21
2.2.1.2 Enkapsulasi
Enkapsulasi adalah pembungkusan objek bersama metode-
metodenya dengan tingkat visibilitas tertentu. Manfaat utama
enkapsulasi adalah penyembunyian rincian-rincian implementasi dari
objek lain. Bagian internal objek mempunyai ketampakan terbatas
dibanding bagian eksternal objek. Penyusunan seperti ini menjaga agar
objek terlindung dari pengaksesan oleh objek lain yang tidak
diinginkan.(Wijono, 2004)
Bagian eksternal objek sering disebut antarmuka objek karena
berlaku sebagai antarmuka terhadap objek lain. Objek lain harus
berkomunikasi dengan objek tersebut hanya melalui antarmuka,
sehingga bagian internal objek dapat dilindungi dari gangguan luar.
Dikarenakan objek luar tidak bisa mengakses implementasi internal
objek, maka implementasi internal objek dapat berubah tanpa
mempengaruhi bagian-bagian yang lain. (Wijono, 2004)
Konsep enkapsulasi ini diimplementasikan oleh kelas. Kelas
membungkus atribut dan metode-metode yang diperlukan untuk
mendeskripsikan objek.
22
Frame
header : FrameHeader
uniqueID : Long
addM essage()
setCheckSum()
encrypt()
Vehicle
Car
Ford
Gambar 2.6 : Contoh hierarki super kelas dan sub kelas yang
menggambarkan konsep pewarisan (Bahrami, 1999)
Wall
height : fl oat
width : float
thickness : float
isLoadingBieari ng : boolean = false
paint()
Company
1..* 1..*
1..*
Office
Department
address : Stri ng
name : Name
* * voi ce : Number
*
*
1..*
Person Headquarters
name : Name
employeeID : Integer
ti tl e : String ContactInformation
getPhoto()
address : String
getSoundBite()
getContactInformati on()
getPersobalRecord()
PeronnelRecord
taxID
employmentHi stotr
sal ary
ISecureInformation
<<extend>>
<<extend>>
User
Use scheduler
Gambar 2.9 : Contoh use case diagrams (Booch, et. al, 1999)
<<create>>
setValues(a, "CO")
<<destroy>>
Select site
Commision architect
Develop plan
Bid plan
[not accepted]
[else]
Finish
construction
yang dirancang serta memiliki attribut dan method. Fuzzy class adalah
kelas yang memiliki makna ambigu dimana kelas ini tidak jelas apakah
relevan atau tidak. Irrelevant class adalah kelas yang tidak mempunyai
pengaruh atau keterkaitan langsung dengan sistem yang akan
dirancang, misalkan proses eliminasi pada kelas yang berupa atribut
atau method (Bahrami, 1999).
b. Refine method
Berdasarkan method-method yang teridentifikasi
untuk setiap kelas pada atahap analisis, pada tahap ini
method-method tersebut akan ditinjau ulang dengan
menambahkan beberapa informasi berupa visibilitas
(visibility) dari masing-masing method pada kelas. Berikut
format suatu method berdasarkan notasi Unified Modelling
Language (UML) (Bahrami, 1999) :
visibility name : (parameter-list) : return-type-expression
Berikut beberapa visibilitas suatau method :
+ public visibility (dapat diakses pada seluruh kelas)
# protected visibility (dapat diakses oleh subclass dan
method pada kelas yang bersangkutan)
– private visibility (hanya dapat diakses pada kelas yang
memilikinya)
Parameter–list menunjukan daftar parameter, nilainya
berdasarkan tipe dan expresi datanya. Sedangkan return-
type-expression adalah nilai balik yang dihasilkan dari
method yang bersangkutan. Contoh suatu format method :
+getName() : aName
#getAccountnumber (account:type) : account Number
42
objek yang sama. Walaupun objek yang satu berada pada jarak yang cukup
jauh. Selama sistem yang berjalan dapat berkomunikasi melalui TCP/IP, maka
aplikasi Client/Server dapat dikembangkan tanpa menggunakan Stream dan
Socket.
Dengan adanya teknologi RMI ini maka para programmer dapat
menghindari protokol komunikasi yang kompleks antara aplikasi yang
dikembangkan, sebagai gantinya dapat digunakan protokol yang berbasis
method. Secara garis besar RMI ini adalah metode komunikasi antar objek
Java hanya dengan menggunakan pemanggilan method seperti memanggil
method pada kelas yang sama. Dengan adanya aplikasi ini diharapkan RMI
dapat digunakan untuk aplikasi Client/Server lainnya. (Muchalil, 2006)
Pada dasarnya, RMI diarancangan untuk membangun komunikasi
antar dua atau lebih program berbasis Java, yang dapat berjalan dalam Java
Visrtual mechine (JVM) yang terpisah,serta melakukan pemanggilan method
dalam suatu proses secara sekaligus. (Grosso, 2001)
Prinsip kerja dalam sebuah sistem komputer adalah input, process, output.
Data masukan komputer dapat berupa angka atau karakter yang kemudian
diproses menjadi keluaran sesuai yang diharapkan oleh pengguna. Ketika
seseorang bekerja dengan sebuah komputer, maka ia akan melakukan interaksi
dengan komputer menggunakan cara-cara tertentu. Cara yang umum digunakan
adalah bahwa pengguna memberikan suatu perintah pada komputer, dan komputer
menanggapinya dengan mencetak atau menuliskan tanggapan pada layar tampilan.
Dengan melalui masukan serta keluaran tersebut pengguna dan komputer saling
berinteraksi.
Dengan dikembangkannya antarmuka berbasis grafis yang dikenal dengan
istilah GUI (Graphical User Interface ) dapat memudahkan manusia dalam
mengoperasikan komputer dan mendapatkan berbagai umpan balik sesuai yang
diperlukan. Para perancang antarmuka manusia-komputer harus mampu membuat
sistem komputer yang mempunyai sifat ramah dengan pengguna sehingga
perancang harus mampu memahami aspek psikologi yang yang dimiliki oleh
50
pengguna, hal ini berhungan dengan faktor manusia. Perancang sistem pun harus
mampu memilih teknik dialog interaktif agar komunikasi antara manusia dengan
komputer lebih mudah, (Santosa, 2004).
SUBMENU
MENU UTAMA
(PILIHAN DENGAN
HIERARKI
SUB-SUBMENU
Pada bab ini akan dilakukan analisis terhadap sistem pengolahan data
alumni di SMKN 2 Garut, dimana tahap analisisnya disusun berdasarkan langkah-
langkah analisis yang dijabarkan dalam metodelogi analisis sistem berorientasi
objek dengan pendekatan unified (UA).
Tipe
No. Aktor Aktivitas Keuntungan
Aktor
54
55
Tipe
No. Aktor Aktivitas Keuntungan
Aktor
Dari Tabel di atas, dapat diketahui apa saja yang dilakukan oleh aktor dalam
Sistem Informasi Administrasi Pengolahan Data Alumni yang ada di SMK Negeri
2 Garut, serta keuntungan yang didapat dari sistem tersebut. Serta dapat diketahui
perbedaan antara User dan Aktor serta aktivitasnya seperti pada gambar berikut :
Tidak
Terdaftar Melakukan
Regstrasi
?
Ya
Operator Bukan
Ya
Administrator
Mencatat/Menambah Memodifikasi
Data Data
Bukan
Melakukan perbaikan
j ika ada kerusakan
sistem/Update Sistem
ActivityFinal
sistem. Secara implisit proses yang terjadi pada use caase ini adalah
sebagai berikut :
• Aktor membuka menu pada sistem
• Aktor memilih menu pencatatan/penambahan data alumni
• Aktor menyimpan data alumni yang sudah dicatat
• Aktor keluar dari menu pencatatan/penambahan data alumni
• Aktor keluar dari sistem
5. Nama Use Case : Memodifikasi Data Alumni. Aktor yang berlaku
sebagai operator memodifikasi data (menghapus atau mengupdate)
data alumni sesuai dengan kondisi atau kebijakan yang mengharuskan
hal tersebut.
6. Nama Use Case : Melihat Data Alumni. Aktor khususnya yang berlaku
sebagai User, melihat data alumni sesuai dengan kebutuhan dan fungsi
user tersebut.
Secara keseluruhan, dari seluruh use case di atas dapat
dikelompokan ke dalam beberapa package. Setiap package mencakup
beberapa use case yang berkaitan dengan package tersebut. Package ini
dibangun berdasarkan lingkup aktivitas yang ada pada setiap use case.
Setelah dianalisis seluruh use case di atas dapat dikelompokan dengan
package-package di bawah ini :
uc Use Case Model
«use»
«use»
1. Package Use case pada pada kegiatan Login dan Verifikasi Sistem
Package Use case ini meliputi Use case interaksi dengan
sistem, use case verifikasi aktor, dan use case registrasi pengguna.
Berikut ini Use case diagram untuk pacakage ini (Gambar 3.4):
uc Package Login dan Verifikasi Sistem
Interaksi
dengan Sistem
User
«uses»
Proses
Verifikasi Aktor
Operator
«extend»
Administrator
Registrasi
Pengguna
Gambar 3.4 : Use case diagram pada pada kegiatan Login dan Verifikasi
Sistem
2. Package Use case untuk proses Pencatatan dan Modifikasi data
Package Use case ini meliputi Use case interaksi dengan
sistem, verifikasi aktor, registrasi pengguna, mentatat data,
memodifikasi data, dan mencatat data kebutuhan alumni. Berikut ini
Use case diagram untuk pacakage ini (Gambar 3.5):
61
Interaksi Proses
«uses»
dengan Sistem Verifikasi Aktor
«extend»
Registrasi
«extend»
Pengguna
«extend»
Operator
Mencatat Data
alumni
Memodifikasi
data alumni
Interaksi Proses
dengan Sistem «uses» Verifikasi Aktor
«extend»
«extend»
Registrasi
User Pengguna
Melihat Data
alumni
Interaksi Proses
dengan Sistem «uses» Verifikasi Aktor
«extend»
Administrator
Registrasi
Pengguna
Pengguna
Membuka
Apl ikasi()
Menampil kan
Menu()
Memi li h
Menu()
Mel akukan
l ogout()
Menutup Menu
Kel uar proses() utama()
Keluar dari
proses()
Sel esai
Gambar 3.8 : Sequence diagram pada Package Use case Login dan
Verifikasi Sistem
64
Proses Login
1.10: Sistem berhasil diperbaiki()
Gambar 3.9 : Collaboration diagram pada Package Use case Login dan
Verifikasi Sistem
Pengguna
Membuka
Aplikasi()
display
formulir
registrasi()
Register
pengguna()
registrasi berhasil()
Keluar
dari
proses() Selesai
1: Membuka Aplikasi()
1.2: input username dan pessword()
Proses Login
1.1: Request username dan password()
1.5: Username dan password invalid()
Pengguna
1.3: Verifikasi pengguna()
Formulir Registrasi
1.8: menyimpan data pengguna()
Operator
Membuka
Menu()
Memilih Data
Alumni()
Memberikan data
Alumni()
Memberikan data
Alumni()
Data berhasil
disimpan()
Keluar dari
proses()
Melakukan
logout()
Keluar aplikasi()
Akhiri proses()
Selesai
Gambar 3.12 : Sequence diagram untuk Package Use case Mencatat dan
memodifikasi Data
68
Operator
Menu Utama
Proses Login
Data Pengguna
Data Alumni
Membuka
Aplikasi()
Memulai
proses
login()
request data
login()
Request username
dan password()
Memasukan username
dan password()
Username dan
password Valid()
Menampilkan menu
Utama()
Melakukan
logout()
Keluar
aplikasi ()
End
proses()
Selesai
Pengguna
Membuka aplikasi()
Melakukan Logout()
Keluar aplikasi()
End proses()
Selesai
Proses Login
1.10: Sistem berhasil diperbaiki()
1. SI Alumni
2. Menu Utama
3. Proses Login
4. Username
5. Password
6. Pengguna
7. Mesin Host
8. Formulir data Alumni
9. Data alumni
10. Data Individu
11. Operator
12. Proses Pencatatan Data
13. Proses Modifikasi Data
14. Report
15. Report Data Alumni
16. Rekapitulasi Alumni
17. User
18. Pesan Kesalahan
19. Administrator
77
ProsesModifikasiData
SI_Alumni
Mesin_Host
0..*
Data_Alumni
Repair/Update System
1..*
Add or Modify Data 1
Pengguna
1
1..*
Display Report
ProsesPencatatanData 1..*
Report_data_alumni
ProsesModifikasiData
SI_Alumni
Mesin_Host
0..*
Data_Alumni
Repair/Update System
1..*
Add or Modify Data 1
Pengguna
1
1..*
Display Report
ProsesPencatatanData 1..*
Report_data_alumni
ProsesModifikasiData
Mesin_Host
- idTrans: String
- tglTrans: Date - hostName: String
- ipAddress: String
SI_Alumni
Repair/Update System
0..*
1
Data_Alumni
Pengguna
- alamat: String
- nama: String - namaPengguna: String
- noinduk: int - password: String
- tahunKeluar: String - tipePengguna: String
- tempatLahir: String Add or Modify Data - username: String
- tglLahir: Date
1..* 1
1..*
Display Report
1..*
Report_data_alumni
ProsesPencatatanData
- idTrans: String
- tglTrans: Date
ProsesModifikasiData
SI_Alumni
- idT rans: String
- tglTrans: Date
+ setIdTrans() : void
+ setT glTrans() : void
0..*
Mesin_Host
- hostName: String
Repair/Update - ipAddress: String
System
Data_Alumni
Pengguna
- alamat: String
- namaPengguna: String
- nama: String 1
- password: String
- noinduk: int Add or Modify Data
- tipePengguna: String
- tahunKeluar: String
1..* 1 - username: String
- tempatLahir: String
- tglLahir: Date
+ verifikasiPengguna() : void
+ getAll() : void
1..*
+ getById() : void
+ getByNeme() : void
+ hapus() : void
+ insert() : void Display
+ update() : void Report
1..*
Report_data_alumni
ProsesPencatatanData
- idTrans: String
- tglT rans: Date
- setIdTrans() : void
- setTglT rans() : void
85
83
ProsesModifikasiData
SI_Alumni
- dataalumni: data alumni
- idTrans: String
- pengguna: pengguna
- tglTrans: Date
0..*
Mesin_Host
- hostName: Sting
Repair/Update - ipAddres: Sting
System
Data_Alumni
Pengguna
- alamat: String
- password: String
- jk: Sting 1
- jurusan: String - tipePengguna: String
- userName: String
- nama: String
Add or Modify Data
- rerataNilai: int
- status: String 1..* 1
- tahunLulus: String
- tempatLahir: String
1..*
- tglLahir: Date
Display
Report
1..*
Report_data_alumni
- idReport: int
- tipeReport: int
ProsesPencatatanData
ProsesModifikasiData SI_Alumni
- dataalumni: data alumni
- idTrans: String + connectToDatabase() : void
- pengguna: pengguna
- tglT rans: Date
- setTglTrans() : void
- stIdT rans() : void
0..*
Mesin_Host
- hostName: Sting
Repair/Update - ipAddres: Sting
System
+ connectToServer() : void
Data_Alumni
Pengguna
- alamat: String
- jk: Sting - password: String
1
- jurusan: String - tipePengguna: String
- nama: String - userName: String
Add or Modify Data
- rerataNilai: int
- status: String 1..* 1 + verifikasiPengguna() : void
- tahunLulus: String
- tempatLahir: String 1..*
- tglLahir: Date
+ getAll() : void
+ getById() : void Display
+ getByName() : void Report
+ hapusAlumni() : void
+ insertAlumni() : void
+ updateAlumni() : void
1..*
Report_data_alumni
- idReport: int
- tipeReport: int
- printReport() : void
ProsesPencatatanData
- setIdTrans() : void
- setT glT rans() : void
Gambar 4.2 : Class Diagram dengan method yang sudah dikaji ulang
(refine)
1. Tabel user
Tabel ini menyimpan data pengguna pada sistem, berikut struktur
dari tabel pengguna:
90
2. Tabel alumni
Tabel ini menyimpan data alumni pada sistem, berikut struktur
dari tabel alumni :
Kelas Bisnis
Kelas View
SI_Alumni
Mesin_Host
ProsesModifikasiData
MenuUtamaUI RegistrasiPenggunaUI
LoginUI
Kelas Akses
database sialumni
Data Alumni
Pengguna PencatatanDanModifikasiDataUI
sistem
administration
add or modify PrintReportUI
Display report
Report_data_alumni
ProsesPencatatanData
Gambar 4.6 : kelas diagram yang terdiri dari kelas objek, kelas akses dan kelas view
95
1. MenuUtamaUI
MenuUtamaUI merupakan interface yang menunjukan
aktivitas pengguna dengan sistem secara keseluruhan. Objek ini
merupakan interface dari use case interaksi dengan sistem dan
layer dari kelas S I Alumni (lihat Gambar 4.7). berikut rancangan
tampilannya (Gambar 4.9):
97
2. LoginUI
LoginUI merupakan interface pada proses verifikasi
pengguna, dimana setiap pengguna diminta untuk memasukan
username dan password untuk dapat mengakses menu utama dari
sistem. Berikut rancangan tampilannya (Gambar 4.11) :
3. RegistrasiPenggunaUI
RegistrasiPenggunaUI merupakan interface untuk kelas
Registrasi pengguna, dimana pengguna yang berlaku sebagai
admin melakukan pencatatan dan modifikasi data pengguna yang
nantinya akan diberi hak untuk mengakses sistem. Berikut
rancangan tampilannya (Gambar 4.11) :
4. PentatatanDanModifikasiDataUI
PencatatanDanModifikasiUI terdiri dari form pencatatan
data alumni. Form ini disediakan untuk operator untuk proses
pencatatan dan modifikasi data alumni serta menyimpannya ke
dalam database. Berikut rancangan tampilannya (gambar 4.12) :
99
1. Splash screen
Berikut adalah tampilah splash screen pada sistem
informasi pengolahan data alumni :
2. MenuUtamaUI
3. LoginUI
4. RegistrasiPenggunaUI
RegistrasiPenggunaUI merupakan interface untuk kelas
Registrasi pengguna, dimana pengguna yang berlaku sebagai
admin melakukan pencatatan dan modifikasi data pengguna yang
nantinya akan diberi hak untuk mengakses sistem. Berikut
rancangan tampilannya (Gambar 4.18) :
5. PentatatanDanModifikasiDataUI
6. Server
Berikut prototipe antarmuka server :
5.1 Kesimpulan
Berdasarkan hasil kajian dan tinjauan teori yang ada, kesimpulan yang
diambil dari hasil analisis dan pengembangan Sistem Informasi Pengolahan Data
Alumni di SMK Negeri 2 Garut adalah sebagai berikut:
1. Sistem Informasi Pengolahan Data Alumni telah mengakomodasi aktivitas
bisnis yang ada antara lain mempermudah user melakukan pencatatan,
pencarian dan pelaporan data.
2. Unified Approach (UA) dapat digunakan untuk pengembangan Sistem
Informasi Pengolahan Data Alumni di SMK Negeri 2 Garut.
3. Perancangan sistem dengan arsitektur client-server dengan
mengimplementaikan java RMI mampu mewakili proses-proses service
yang diminta oleh mesin client.
4. Sistem Informasi Pengolahan Data Alumni di SMK Negeri 2 Garut dapat
membantu sekolah dalam melaksanakan salah satu tugasnya yaitu
memberikan pelayanan kepada alumni dan pihak lain dalam hal ini yaitu
perusahan yang bekerja sama dengan sekolah yang membutuhkan data-data
alumni dan juga membantu sekolah dalam hal pengembangan program studi
yang ada di SMK Negeri 2 Garut.
5.2 Saran
Sebagaimana yang dijelaskan sebelumnya, bahwa penelitian ini hanya
sampai pada tahapan prototipe, serta modul yang diimplementasikan hanya pada
proses pencatatan data, maka berdasarkan hal itu penulis menyarankan :
1. Mengaharapkan kritik dan saran yang dapat membangun demi
kesempurnaan penyusunan laporan Tugas Akhir ini
2. Diharapkan pada nantinya di rancang Sistem Informasi Pengolahan Data
Alumni secara utuh sampai pada tahap implementasi.
104
DAFTAR PUSTAKA
Visi Misi
Visi :
Unggul, berkembang dan berprestasi dalam Ilmu Pengetahuan dan
Teknologi (IPTEK) serta menghasilkan tamatan yang mampu
bekerja mandiri, dapat bersaing di pasar kerja tingkat nasional dan
internasional dengan dilandasi Iman dan Taqwa.
b. Mesin Client
1. Motherboard dan Processor minimal setara intel Pentium IV, karena software
yang dirancang direncakan hanya menggunakan CPU usage sekitar 800 MHz -
1 GHz.
2. Memori (RAM) 128 MB, karena penggunaan memory untuk software serta
keseluruhan service pada sistem berkisar sekitar 200-350 Mb.
3. Display Adapter (VGA) 32 Mb untuk kebutuhan grafis pada sistem.
4. Ruang kosong pada hardisk minimal 10 MB untuk aplikasi.
5. Ethernet card /Wireless Adapter karena sistem yang dirancang dibangun
dengan arsitektur jaringan.
6. Input device: Mouse dan Keyboard
7. Output Device : Monitor, Printer
Arsitektur Sistem
Berdasarkan deskripsi umum serta teknologi yang digunakan maka berikut
gambaran arstiketur pada sistem yang dirancang:
Library
package nopawijaya.api.entity;
package nopawijaya.api.entity;
package nopawijaya.api.service;
Interface Client
Form Data Alumni
package nopawijaya.client.gui;
import java.rmi.RemoteException; public class FormAlumni extends
import java.util.Date; javax.swing.JFrame {
import java.util.List; private TabelModelAlumni
import tabelModelAlumni = new
javax.swing.event.ListSelectionEve TabelModelAlumni();
nt; private AlumniService as;
import
javax.swing.event.ListSelectionLis /** Creates new form
tener; FormAlumni */
import
nopawijaya.api.entity.Alumni; public
import FormAlumni(AlumniService
nopawijaya.api.service.AlumniServi alumniService) {
ce; this.as = alumniService;
import try{
nopawijaya.client.model.TabelModel
Alumni; tabelModelAlumni.setData(this.as.g
etAlumni());
}catch(RemoteException
/** ex){
* ex.printStackTrace();
* @author Deden-pc }
*/ initComponents();
* WARNING: Do NOT modify this
tblAlumni.setModel(tabelModelAlumn code. The content of this method
i); is
* always regenerated by the
tblAlumni.getSelectionModel().addL Form Editor.
istSelectionListener(new */
ListSelectionListener() { @SuppressWarnings("unchecked")
// <editor-fold
public void defaultstate="collapsed"
valueChanged(ListSelectionEvent e) desc="Generated Code">
{ private void initComponents()
int row = {
tblAlumni.getSelectedRow();
if(row != -1){ jPanel1 = new
Alumni a = javax.swing.JPanel();
tabelModelAlumni.get(row); jLabel1 = new
javax.swing.JLabel();
txtNoInduk.setText(a.getNoInduk()) jLabel2 = new
; javax.swing.JLabel();
txtNamaDepan = new
txtNamaDepan.setText(a.getNamaDepa javax.swing.JTextField();
n()); jLabel3 = new
javax.swing.JLabel();
txtNamaBelakang.setText(a.getNamaB txtNamaBelakang = new
elakang()); javax.swing.JTextField();
jLabel4 = new
txtJk.setSelectedItem(a.getJk()); javax.swing.JLabel();
txtTanggalLahir = new
txtTempatLahir.setText(a.getTempat javax.swing.JFormattedTextField();
Lahir()); jLabel6 = new
javax.swing.JLabel();
txtTanggalLahir.setValue(a.getTang txtTempatLahir = new
galLahir()); javax.swing.JTextField();
jLabel8 = new
txtStatus.setSelectedItem(a.getJk( javax.swing.JLabel();
)); jLabel9 = new
javax.swing.JLabel();
txtAlamat.setText(a.getAlamat()); jLabel10 = new
javax.swing.JLabel();
txtJurusan.setSelectedItem(a.getJu jPanel2 = new
rusan()); javax.swing.JPanel();
btnInsert = new
txtStatus.setSelectedItem(a.getSta javax.swing.JButton();
tus()); btnUpdate = new
javax.swing.JButton();
txtTahunLulus.setText(a.getTahunLu btnDelete = new
lus()); javax.swing.JButton();
btnRefresh = new
txtRerataNilai.setValue(a.getRerat javax.swing.JButton();
aNilai()); jLabel12 = new
javax.swing.JLabel();
} txtAlamat = new
} javax.swing.JTextField();
}); txtTahunLulus = new
} javax.swing.JFormattedTextField();
txtNoInduk = new
/** This method is called from javax.swing.JTextField();
within the constructor to jScrollPane1 = new
* initialize the form. javax.swing.JScrollPane();
tblAlumni = new
javax.swing.JTable();
txtJk = new
javax.swing.JComboBox();
txtJurusan = new txtTanggalLahir.setFormatterFactor
javax.swing.JComboBox(); y(new
txtStatus = new javax.swing.text.DefaultFormatterF
javax.swing.JComboBox(); actory(new
jLabel11 = new javax.swing.text.DateFormatter(jav
javax.swing.JLabel(); a.text.DateFormat.getDateInstance(
txtRerataNilai = new java.text.DateFormat.LONG))));
javax.swing.JFormattedTextField();
jLabel5 = new txtTanggalLahir.setValue(new
javax.swing.JLabel(); java.util.Date());
jPanel1.add(txtTanggalLahir, new
setDefaultCloseOperation(javax.swi org.netbeans.lib.awtextra.Absolute
ng.WindowConstants.DISPOSE_ON_CLOS Constraints(300, 150, 135, -1));
E);
setTitle("Si Alumni jLabel6.setText("Jenis
Client"); Kelamin");
jPanel1.add(jLabel6, new
org.netbeans.lib.awtextra.Absolute
jPanel1.setBorder(javax.swing.Bord Constraints(20, 120, -1, -1));
erFactory.createTitledBorder("Alum
ni")); jPanel1.add(txtTempatLahir, new
org.netbeans.lib.awtextra.Absolute
jPanel1.setFocusable(false); Constraints(160, 150, 135, -1));
jPanel1.setLayout(new
org.netbeans.lib.awtextra.Absolute
Layout()); jLabel8.setText("Jurusan");
jPanel1.add(jLabel8, new
jLabel1.setText("No. org.netbeans.lib.awtextra.Absolute
Induk"); Constraints(470, 60, -1, -1));
jPanel1.add(jLabel1, new
org.netbeans.lib.awtextra.Absolute jLabel9.setText("Tahun
Constraints(20, 30, -1, -1)); Lulus");
jPanel1.add(jLabel9, new
jLabel2.setText("Nama org.netbeans.lib.awtextra.Absolute
Depan"); Constraints(470, 120, -1, -1));
jPanel1.add(jLabel2, new
org.netbeans.lib.awtextra.Absolute jLabel10.setText("Rerata
Constraints(20, 60, -1, -1)); Nilai");
jPanel1.add(txtNamaDepan, jPanel1.add(jLabel10, new
new org.netbeans.lib.awtextra.Absolute
org.netbeans.lib.awtextra.Absolute Constraints(470, 150, -1, -1));
Constraints(160, 60, 179, -1));
jPanel2.setLayout(new
jLabel3.setText("Nama java.awt.GridLayout(1, 0));
Belakang");
jPanel1.add(jLabel3, new btnInsert.setIcon(new
org.netbeans.lib.awtextra.Absolute javax.swing.ImageIcon(getClass().g
Constraints(20, 90, -1, -1)); etResource("/nopawijaya/client/ima
ge/disk.png"))); // NOI18N
jPanel1.add(txtNamaBelakang, new
org.netbeans.lib.awtextra.Absolute btnInsert.setText("Insert");
Constraints(160, 90, 179, -1));
btnInsert.addActionListener(new
jLabel4.setText("Tempat, java.awt.event.ActionListener() {
Tgl Lahir"); public void
jPanel1.add(jLabel4, new actionPerformed(java.awt.event.Act
org.netbeans.lib.awtextra.Absolute ionEvent evt) {
Constraints(20, 150, -1, -1));
jPanel1.add(jPanel2, new
btnInsertActionPerformed(evt); org.netbeans.lib.awtextra.Absolute
} Constraints(60, 200, 720, 30));
});
jPanel2.add(btnInsert);
jLabel12.setText("Alamat");
btnUpdate.setIcon(new jPanel1.add(jLabel12, new
javax.swing.ImageIcon(getClass().g org.netbeans.lib.awtextra.Absolute
etResource("/nopawijaya/client/ima Constraints(470, 30, -1, -1));
ge/plugin.png"))); // NOI18N jPanel1.add(txtAlamat, new
org.netbeans.lib.awtextra.Absolute
btnUpdate.setText("Update"); Constraints(610, 30, 276, -1));
jPanel1.add(txtTahunLulus,
btnUpdate.addActionListener(new new
java.awt.event.ActionListener() { org.netbeans.lib.awtextra.Absolute
public void Constraints(610, 120, 86, -1));
actionPerformed(java.awt.event.Act jPanel1.add(txtNoInduk,
ionEvent evt) { new
org.netbeans.lib.awtextra.Absolute
btnUpdateActionPerformed(evt); Constraints(160, 30, 105, -1));
}
}); tblAlumni.setModel(new
jPanel2.add(btnUpdate); javax.swing.table.DefaultTableMode
l(
btnDelete.setIcon(new new Object [][] {
javax.swing.ImageIcon(getClass().g {null, null, null,
etResource("/nopawijaya/client/ima null},
ge/bin_closed.png"))); // NOI18N {null, null, null,
null},
btnDelete.setText("Delete"); {null, null, null,
null},
btnDelete.addActionListener(new {null, null, null,
java.awt.event.ActionListener() { null}
public void },
actionPerformed(java.awt.event.Act new String [] {
ionEvent evt) { "Title 1", "Title
2", "Title 3", "Title 4"
btnDeleteActionPerformed(evt); }
} ));
});
jPanel2.add(btnDelete); jScrollPane1.setViewportView(tblAl
umni);
btnRefresh.setIcon(new
javax.swing.ImageIcon(getClass().g jPanel1.add(jScrollPane1,
etResource("/nopawijaya/client/ima new
ge/lifebuoy.png"))); // NOI18N org.netbeans.lib.awtextra.Absolute
Constraints(20, 260, 870, 210));
btnRefresh.setText("Refresh");
txtJk.setModel(new
btnRefresh.addActionListener(new javax.swing.DefaultComboBoxModel(n
java.awt.event.ActionListener() { ew String[] { "Pilih salah
public void satu..", "Lelaki", "Perempuan"
actionPerformed(java.awt.event.Act }));
ionEvent evt) { jPanel1.add(txtJk, new
org.netbeans.lib.awtextra.Absolute
btnRefreshActionPerformed(evt); Constraints(160, 120, 179, -1));
}
}); txtJurusan.setModel(new
jPanel2.add(btnRefresh); javax.swing.DefaultComboBoxModel(n
ew String[] { "Pilih salah
satu..", "T. Gambar Bangunan", "T.
Ketenagalistrikan", "T. Audio
Video", "T. Motor Otomotif", "T. .addGap(61, 61, 61)
Geologi Pertambangan", "T.
Multimedia", "T. Broadcasting" .addComponent(jLabel5,
})); javax.swing.GroupLayout.PREFERRED_
jPanel1.add(txtJurusan, SIZE, 178,
new javax.swing.GroupLayout.PREFERRED_
org.netbeans.lib.awtextra.Absolute SIZE))
Constraints(610, 60, 179, -1));
.addComponent(jPanel1,
txtStatus.setModel(new javax.swing.GroupLayout.PREFERRED_
javax.swing.DefaultComboBoxModel(n SIZE, 907,
ew String[] { "Pilih salah javax.swing.GroupLayout.PREFERRED_
satu..", "Bekerja", "Lanjut SIZE))
Sekolah", "Tidak Lanjut" }));
jPanel1.add(txtStatus, new .addContainerGap(28,
org.netbeans.lib.awtextra.Absolute Short.MAX_VALUE))
Constraints(610, 90, 179, -1)); );
layout.setVerticalGroup(
jLabel11.setText("Status"); layout.createParallelGroup(javax.s
jPanel1.add(jLabel11, new wing.GroupLayout.Alignment.LEADING
org.netbeans.lib.awtextra.Absolute )
Constraints(470, 90, -1, -1));
.addGroup(layout.createSequentialG
jPanel1.add(txtRerataNilai, new roup()
org.netbeans.lib.awtextra.Absolute .addGap(18, 18,
Constraints(610, 150, 86, -1)); 18)
jLabel5.setFont(new .addComponent(jLabel5)
java.awt.Font("Tahoma", 1, 14));
jLabel5.setIcon(new .addPreferredGap(javax.swing.Layou
javax.swing.ImageIcon(getClass().g tStyle.ComponentPlacement.UNRELATE
etResource("/nopawijaya/client/ima D)
ge/Open.png"))); // NOI18N
jLabel5.setText("Form Data .addComponent(jPanel1,
Alumni"); javax.swing.GroupLayout.PREFERRED_
SIZE, 497,
javax.swing.GroupLayout javax.swing.GroupLayout.PREFERRED_
layout = new SIZE)
javax.swing.GroupLayout(getContent
Pane()); .addContainerGap(javax.swing.Group
Layout.DEFAULT_SIZE,
getContentPane().setLayout(layout) Short.MAX_VALUE))
; );
layout.setHorizontalGroup(
pack();
layout.createParallelGroup(javax.s java.awt.Dimension
wing.GroupLayout.Alignment.LEADING screenSize =
) java.awt.Toolkit.getDefaultToolkit
().getScreenSize();
.addGroup(layout.createSequentialG java.awt.Dimension
roup() dialogSize = getSize();
.addGroup(layout.createParallelGro setLocation((screenSize.width-
up(javax.swing.GroupLayout.Alignme dialogSize.width)/2,(screenSize.he
nt.LEADING) ight-dialogSize.height)/2);
}// </editor-fold>
.addGroup(layout.createSequentialG
roup()
private void
btnRefreshActionPerformed(java.awt }
.event.ActionEvent evt) {
// TODO add your handling private void
code here: btnUpdateActionPerformed(java.awt.
try{ event.ActionEvent evt) {
List<Alumni> list = // TODO add your handling
as.getAlumni(); code here:
try{
tabelModelAlumni.setData(list); int row =
}catch(RemoteException tblAlumni.getSelectedRow();
ex){ if(row == -1){
ex.printStackTrace(); return;
} }
} Alumni person =
tabelModelAlumni.get(row);
private void
btnInsertActionPerformed(java.awt. person.setNoInduk(txtNoInduk.getTe
event.ActionEvent evt) { xt());
// TODO add your handling
code here: person.setNamaDepan(txtNamaDepan.g
try{ etText());
Alumni a = new
Alumni(); person.setNamaBelakang(txtNamaBela
kang.getText());
a.setNoInduk(txtNoInduk.getText())
; person.setStatus((String)
txtStatus.getSelectedItem());
a.setNamaDepan(txtNamaDepan.getTex person.setJk((String)
t()); txtJk.getSelectedItem());
a.setNamaBelakang(txtNamaBelakang. person.setTempatLahir(txtTempatLah
getText()); ir.getText());
a.setJk((String)
txtJk.getSelectedItem()); person.setTanggalLahir((Date)txtTa
nggalLahir.getValue());
a.setTempatLahir(txtTempatLahir.ge
tText()); person.setAlamat(txtAlamat.getText
());
a.setTanggalLahir((Date)
txtTanggalLahir.getValue()); person.setJurusan((String)
txtJurusan.getSelectedItem());
a.setAlamat(txtAlamat.getText());
a.setJurusan((String) person.setTahunLulus(txtTahunLulus
txtJurusan.getSelectedItem()); .getText());
a.setStatus((String) person.setRerataNilai(
txtStatus.getSelectedItem()); (String)
txtRerataNilai.getValue());
a.setTahunLulus(txtTahunLulus.getT
ext()); as.updateAlumni(person);
a.setRerataNilai(
txtRerataNilai.getText()); tabelModelAlumni.update(row,
Alumni person1 = person);
as.insertAlumni(a); }catch(RemoteException
exception){
tabelModelAlumni.insert(person1);
}catch(RemoteException exception.printStackTrace();
exception){ }
}
exception.printStackTrace();
}
private void private javax.swing.JLabel
btnDeleteActionPerformed(java.awt. jLabel3;
event.ActionEvent evt) { private javax.swing.JLabel
// TODO add your handling jLabel4;
code here: private javax.swing.JLabel
try{ jLabel5;
int row = private javax.swing.JLabel
tblAlumni.getSelectedRow(); jLabel6;
if(row == -1){ private javax.swing.JLabel
return; jLabel8;
} private javax.swing.JLabel
String noInduk = jLabel9;
tabelModelAlumni.get(row).getNoInd private javax.swing.JPanel
uk(); jPanel1;
private javax.swing.JPanel
as.deleteAlumni(noInduk); jPanel2;
private
tabelModelAlumni.delete(row); javax.swing.JScrollPane
jScrollPane1;
}catch(RemoteException private javax.swing.JTable
ex){ tblAlumni;
ex.printStackTrace(); private javax.swing.JTextField
} txtAlamat;
} private javax.swing.JComboBox
txtJk;
/** private javax.swing.JComboBox
* @param args the command line txtJurusan;
arguments private javax.swing.JTextField
*/ txtNamaBelakang;
private javax.swing.JTextField
// Variables declaration - do txtNamaDepan;
not modify private javax.swing.JTextField
private javax.swing.JButton txtNoInduk;
btnDelete; private
private javax.swing.JButton javax.swing.JFormattedTextField
btnInsert; txtRerataNilai;
private javax.swing.JButton private javax.swing.JComboBox
btnRefresh; txtStatus;
private javax.swing.JButton private
btnUpdate; javax.swing.JFormattedTextField
private javax.swing.JLabel txtTahunLulus;
jLabel1; private
private javax.swing.JLabel javax.swing.JFormattedTextField
jLabel10; txtTanggalLahir;
private javax.swing.JLabel private javax.swing.JTextField
jLabel11; txtTempatLahir;
private javax.swing.JLabel // End of variables
jLabel12; declaration
private javax.swing.JLabel
jLabel2; }
Form Login
package nopawijaya.client.gui;
import java.rmi.RemoteException; * always regenerated by the
import javax.swing.GroupLayout; Form Editor.
import javax.swing.JOptionPane; */
import @SuppressWarnings("unchecked")
nopawijaya.api.entity.Pengguna; // <editor-fold
import defaultstate="collapsed"
nopawijaya.api.service.AlumniServi desc="Generated Code">
ce; private void initComponents()
{
jButton1.setIcon(new layout.createParallelGroup(javax.s
javax.swing.ImageIcon(getClass().g wing.GroupLayout.Alignment.LEADING
etResource("/nopawijaya/client/ima )
ge/key.png"))); // NOI18N
jButton1.setText("Login"); .addGroup(layout.createSequentialG
roup()
jButton1.addActionListener(new .addGap(26, 26,
java.awt.event.ActionListener() { 26)
public void
actionPerformed(java.awt.event.Act .addGroup(layout.createParallelGro
ionEvent evt) { up(javax.swing.GroupLayout.Alignme
nt.LEADING)
jButton1ActionPerformed(evt);
} .addGroup(layout.createSequentialG
}); roup()
jButton2.setIcon(new .addComponent(lblLoading)
javax.swing.ImageIcon(getClass().g
etResource("/nopawijaya/client/ima .addPreferredGap(javax.swing.Layou
ge/cross.png"))); // NOI18N tStyle.ComponentPlacement.RELATED,
89, Short.MAX_VALUE)
jButton2.setText("Cancel");
.addComponent(jButton1)
jButton2.addActionListener(new
java.awt.event.ActionListener() { .addPreferredGap(javax.swing.Layou
public void tStyle.ComponentPlacement.RELATED)
actionPerformed(java.awt.event.Act
ionEvent evt) { .addComponent(jButton2))
jButton2ActionPerformed(evt); .addGroup(layout.createSequentialG
} roup()
});
.addGroup(layout.createParallelGro
jLabel3.setFont(new up(javax.swing.GroupLayout.Alignme
java.awt.Font("Tahoma", 1, 24)); nt.LEADING)
jLabel3.setIcon(new
javax.swing.ImageIcon(getClass().g .addComponent(jLabel1)
etResource("/nopawijaya/client/ima
ge/Key lock.png"))); // NOI18N .addComponent(jLabel2))
jLabel3.setText("
Silahkan Login"); .addGap(30, 30, 30)
.addGroup(layout.createParallelGro
up(javax.swing.GroupLayout.Alignme SIZE,
nt.TRAILING, false) javax.swing.GroupLayout.DEFAULT_SI
ZE,
.addComponent(jPasswordField1) javax.swing.GroupLayout.PREFERRED_
SIZE))
.addComponent(jTextField1,
javax.swing.GroupLayout.DEFAULT_SI .addPreferredGap(javax.swing.Layou
ZE, 246, Short.MAX_VALUE))) tStyle.ComponentPlacement.RELATED)
.addGroup(layout.createSequentialG .addGroup(layout.createParallelGro
roup() up(javax.swing.GroupLayout.Alignme
nt.CENTER)
.addGap(18, 18, 18)
.addComponent(jLabel2)
.addComponent(jLabel3))
.addComponent(jPasswordField1,
.addGroup(javax.swing.GroupLayout. javax.swing.GroupLayout.PREFERRED_
Alignment.TRAILING, SIZE,
layout.createSequentialGroup() javax.swing.GroupLayout.DEFAULT_SI
ZE,
.addGap(38, 38, 38) javax.swing.GroupLayout.PREFERRED_
SIZE))
.addComponent(jSeparator1, .addGap(18, 18,
javax.swing.GroupLayout.DEFAULT_SI 18)
ZE, 356, Short.MAX_VALUE)))
.addGroup(layout.createParallelGro
.addContainerGap()) up(javax.swing.GroupLayout.Alignme
); nt.BASELINE)
layout.setVerticalGroup(
.addComponent(lblLoading)
layout.createParallelGroup(javax.s
wing.GroupLayout.Alignment.LEADING .addComponent(jButton2)
)
.addComponent(jButton1))
.addGroup(layout.createSequentialG
roup() .addContainerGap(javax.swing.Group
.addContainerGap() Layout.DEFAULT_SIZE,
Short.MAX_VALUE))
.addComponent(jLabel3) );
.addPreferredGap(javax.swing.Layou java.awt.Dimension
tStyle.ComponentPlacement.RELATED) screenSize =
java.awt.Toolkit.getDefaultToolkit
.addComponent(jSeparator1, ().getScreenSize();
javax.swing.GroupLayout.PREFERRED_
SIZE, 10, setBounds((screenSize.width-
javax.swing.GroupLayout.PREFERRED_ 438)/2, (screenSize.height-222)/2,
SIZE) 438, 222);
}// </editor-fold>
.addPreferredGap(javax.swing.Layou
tStyle.ComponentPlacement.UNRELATE
D) private void
jButton1ActionPerformed(java.awt.e
.addGroup(layout.createParallelGro vent.ActionEvent evt) {
up(javax.swing.GroupLayout.Alignme if(new
nt.CENTER) String(jPasswordField1.getPassword
()).contains("admin") &&
.addComponent(jLabel1) jTextField1.getText().contains("ad
min")){
.addComponent(jTextField1,
javax.swing.GroupLayout.PREFERRED_ JOptionPane.showMessageDialog(null
, "Selamat datang " + PenggunaAplikasi = new
jTextField1.getText()); Pengguna();
PenggunaAplikasi =
new Pengguna(); PenggunaAplikasi.setUsername("user
");
PenggunaAplikasi.setUsername("admi
n"); PenggunaAplikasi.setPassword("user
");
PenggunaAplikasi.setPassword("admi
n"); PenggunaAplikasi.setTipePengguna("
User");
PenggunaAplikasi.setTipePengguna(" try {
Administrator");
try { service.writeLog("Client Berhasil
Login, username : user");
service.writeLog("Client Berhasil } catch
Login, username : admin"); (RemoteException ex) {
} catch
(RemoteException ex) { }
} dispose();
dispose(); }else if(new
String(jPasswordField1.getPassword
}else if(new ()).contains("coba1") &&
String(jPasswordField1.getPassword jTextField1.getText().contains("co
()).contains("operator") && ba1")){
jTextField1.getText().contains("op
erator")){ JOptionPane.showMessageDialog(null
, "Selamat datang
JOptionPane.showMessageDialog(null "+jTextField1.getText());
, "Selamat datang PenggunaAplikasi = new
"+jTextField1.getText()); Pengguna();
PenggunaAplikasi = new
Pengguna(); PenggunaAplikasi.setUsername("coba
1");
PenggunaAplikasi.setUsername("oper
ator"); PenggunaAplikasi.setPassword("coba
1");
PenggunaAplikasi.setPassword("oper
ator"); PenggunaAplikasi.setTipePengguna("
Operator");
PenggunaAplikasi.setTipePengguna(" try {
Operator");
try { service.writeLog("Client Berhasil
Login, username : coba1");
service.writeLog("Client Berhasil } catch
Login, username : operator"); (RemoteException ex) {
} catch
(RemoteException ex) { }
dispose();
} }else if(new
dispose(); String(jPasswordField1.getPassword
}else if(new ()).contains("coba") &&
String(jPasswordField1.getPassword jTextField1.getText().contains("co
()).contains("user") && ba")){
jTextField1.getText().contains("us
er")){ JOptionPane.showMessageDialog(null
, "Selamat datang
JOptionPane.showMessageDialog(null "+jTextField1.getText());
, "Selamat datang PenggunaAplikasi = new
"+jTextField1.getText()); Pengguna();
PenggunaAplikasi.setUsername("coba }
");
private void
PenggunaAplikasi.setPassword("coba jTextField1KeyTyped(java.awt.event
"); .KeyEvent evt) {
// TODO add your handling
PenggunaAplikasi.setTipePengguna(" code here:
User");
try { if(!jTextField1.getText().equals("
")){
service.writeLog("Client Berhasil
Login, username : coba"); lblLoading.setVisible(true);
} catch }else{
(RemoteException ex) {
lblLoading.setVisible(false);
} }
dispose(); }
}else{
void setService(AlumniService
JOptionPane.showMessageDialog(null service) {
, "Username atau password tidak this.service = service;
terdaftar"); }
package nopawijaya.client.gui;
import java.rmi.RemoteException; String url =
import java.sql.Connection; "jdbc:mysql://localhost:3306/sialu
import java.sql.DriverManager; mni";
import java.util.logging.Level;
import java.util.logging.Logger; DriverManager.registerDriver(new
import javax.swing.JOptionPane; com.mysql.jdbc.Driver());
import javax.swing.SwingWorker;
import //Class.forName("com.mysql.jdbc.Dr
net.sf.jasperreports.engine.JRExce iver").newInstance();
ption; conn =
import DriverManager.getConnection(url,
net.sf.jasperreports.engine.Jasper "root", "root");
FillManager; }catch(Exception e){
import e.printStackTrace();
net.sf.jasperreports.engine.Jasper }
Print;
import mnRegister.setVisible(false);
net.sf.jasperreports.view.JasperVi
ewer; btnRegister.setVisible(false);
import
nopawijaya.api.service.AlumniServi setExtendedState(javax.swing.JFram
ce; e.MAXIMIZED_BOTH);
import
nopawijaya.api.service.PenggunaSer }
vice;
/** This method is called from
within the constructor to
/** * initialize the form.
* * WARNING: Do NOT modify this
* @author Deden-pc code. The content of this method
*/ is
public class FormMain extends * always regenerated by the
javax.swing.JFrame { Form Editor.
*/
private AlumniService @SuppressWarnings("unchecked")
alumniService; // <editor-fold
private PenggunaService ps; defaultstate="collapsed"
private Connection conn; desc="Generated Code">
private void initComponents()
/** Creates new form FormMain {
*/
public FormMain() { jToolBar1 = new
initComponents(); javax.swing.JToolBar();
try{ btnLogin = new
javax.swing.JButton();
btnInputAlumni = new
javax.swing.JButton(); btnLogin.setToolTipText("Login");
btnRegister = new
javax.swing.JButton(); btnLogin.setFocusable(false);
btnCetakAumni = new
javax.swing.JButton(); btnLogin.setHorizontalTextPosition
btnPetunjuk = new (javax.swing.SwingConstants.CENTER
javax.swing.JButton(); );
btnKeluar = new
javax.swing.JButton(); btnLogin.setVerticalTextPosition(j
jPanel1 = new avax.swing.SwingConstants.BOTTOM);
javax.swing.JPanel();
lblKet = new btnLogin.addActionListener(new
javax.swing.JLabel(); java.awt.event.ActionListener() {
jLabel1 = new public void
javax.swing.JLabel(); actionPerformed(java.awt.event.Act
jMenuBar1 = new ionEvent evt) {
javax.swing.JMenuBar();
mnAplikasi = new btnLoginActionPerformed(evt);
javax.swing.JMenu(); }
mnLogin = new });
javax.swing.JMenuItem(); jToolBar1.add(btnLogin);
mnKeluar = new
javax.swing.JMenuItem(); btnInputAlumni.setIcon(new
mnInput = new javax.swing.ImageIcon(getClass().g
javax.swing.JMenu(); etResource("/nopawijaya/client/ima
mnInputAlumni = new ge/Open (2).png"))); // NOI18N
javax.swing.JMenuItem();
mnRegister = new btnInputAlumni.setToolTipText("Inp
javax.swing.JMenuItem(); ut Data Alumni");
mnReport = new
javax.swing.JMenu(); btnInputAlumni.setEnabled(false);
mnCetakAlumni = new
javax.swing.JMenuItem(); btnInputAlumni.setFocusable(false)
jMenuItem1 = new ;
javax.swing.JMenuItem();
jMenuItem2 = new btnInputAlumni.setHorizontalTextPo
javax.swing.JMenuItem(); sition(javax.swing.SwingConstants.
jMenuItem3 = new CENTER);
javax.swing.JMenuItem();
jMenuItem4 = new btnInputAlumni.setVerticalTextPosi
javax.swing.JMenuItem(); tion(javax.swing.SwingConstants.BO
mnBantuan = new TTOM);
javax.swing.JMenu();
mnPetunjuk = new btnInputAlumni.addActionListener(n
javax.swing.JMenuItem(); ew java.awt.event.ActionListener()
{
public void
setDefaultCloseOperation(javax.swi actionPerformed(java.awt.event.Act
ng.WindowConstants.EXIT_ON_CLOSE); ionEvent evt) {
setTitle("SI Alumni
Client"); btnInputAlumniActionPerformed(evt)
;
}
jToolBar1.setRollover(true); });
btnLogin.setIcon(new jToolBar1.add(btnInputAlumni);
javax.swing.ImageIcon(getClass().g
etResource("/nopawijaya/client/ima btnRegister.setIcon(new
ge/Key lock.png"))); // NOI18N javax.swing.ImageIcon(getClass().g
etResource("/nopawijaya/client/ima
ge/People.png"))); // NOI18N jToolBar1.add(btnCetakAumni);
btnRegister.setToolTipText("Regist btnPetunjuk.setIcon(new
rasi Pengguna"); javax.swing.ImageIcon(getClass().g
etResource("/nopawijaya/client/ima
btnRegister.setEnabled(false); ge/Notebook.png"))); // NOI18N
btnRegister.setFocusable(false); btnPetunjuk.setToolTipText("Petunj
uk");
btnRegister.setHorizontalTextPosit
ion(javax.swing.SwingConstants.CEN btnPetunjuk.setFocusable(false);
TER);
btnPetunjuk.setHorizontalTextPosit
btnRegister.setVerticalTextPositio ion(javax.swing.SwingConstants.CEN
n(javax.swing.SwingConstants.BOTTO TER);
M);
btnPetunjuk.setVerticalTextPositio
btnRegister.addActionListener(new n(javax.swing.SwingConstants.BOTTO
java.awt.event.ActionListener() { M);
public void
actionPerformed(java.awt.event.Act btnPetunjuk.addActionListener(new
ionEvent evt) { java.awt.event.ActionListener() {
public void
btnRegisterActionPerformed(evt); actionPerformed(java.awt.event.Act
} ionEvent evt) {
});
btnPetunjukActionPerformed(evt);
jToolBar1.add(btnRegister); }
});
btnCetakAumni.setIcon(new
javax.swing.ImageIcon(getClass().g jToolBar1.add(btnPetunjuk);
etResource("/nopawijaya/client/ima
ge/printer_48.png"))); // NOI18N btnKeluar.setIcon(new
javax.swing.ImageIcon(getClass().g
btnCetakAumni.setToolTipText("Ceta etResource("/nopawijaya/client/ima
k Data Pendidik"); ge/cancel_48.png"))); // NOI18N
btnCetakAumni.setEnabled(false); btnKeluar.setToolTipText("Keluar")
;
btnCetakAumni.setFocusable(false);
btnKeluar.setFocusable(false);
btnCetakAumni.setHorizontalTextPos
ition(javax.swing.SwingConstants.C btnKeluar.setHorizontalTextPositio
ENTER); n(javax.swing.SwingConstants.CENTE
R);
btnCetakAumni.setVerticalTextPosit
ion(javax.swing.SwingConstants.BOT btnKeluar.setVerticalTextPosition(
TOM); javax.swing.SwingConstants.BOTTOM)
;
btnCetakAumni.addActionListener(ne
w java.awt.event.ActionListener() btnKeluar.addActionListener(new
{ java.awt.event.ActionListener() {
public void public void
actionPerformed(java.awt.event.Act actionPerformed(java.awt.event.Act
ionEvent evt) { ionEvent evt) {
btnCetakAumniActionPerformed(evt); btnKeluarActionPerformed(evt);
} }
}); });
jToolBar1.add(btnKeluar);
public void
actionPerformed(java.awt.event.Act
getContentPane().add(jToolBar1, ionEvent evt) {
java.awt.BorderLayout.PAGE_START);
mnLoginActionPerformed(evt);
}
jPanel1.setBorder(javax.swing.Bord });
erFactory.createCompoundBorder(jav mnAplikasi.add(mnLogin);
ax.swing.BorderFactory.createEtche
dBorder(), mnKeluar.setIcon(new
javax.swing.BorderFactory.createEm javax.swing.ImageIcon(getClass().g
ptyBorder(2, 2, 2, 2))); etResource("/nopawijaya/client/ima
ge/cross.png"))); // NOI18N
jPanel1.setPreferredSize(new
java.awt.Dimension(934, 32)); mnKeluar.setText("Keluar");
jPanel1.setLayout(new
java.awt.BorderLayout()); mnKeluar.addActionListener(new
java.awt.event.ActionListener() {
lblKet.setIcon(new public void
javax.swing.ImageIcon(getClass().g actionPerformed(java.awt.event.Act
etResource("/nopawijaya/client/ima ionEvent evt) {
ge/loadingpreview.gif"))); //
NOI18N mnKeluarActionPerformed(evt);
lblKet.setText("-"); }
jPanel1.add(lblKet, });
java.awt.BorderLayout.CENTER); mnAplikasi.add(mnKeluar);
jMenuBar1.add(mnAplikasi);
getContentPane().add(jPanel1,
java.awt.BorderLayout.PAGE_END); mnInput.setText("Input");
mnInput.setEnabled(false);
jLabel1.setIcon(new
javax.swing.ImageIcon(getClass().g mnInputAlumni.setIcon(new
etResource("/nopawijaya/client/ima javax.swing.ImageIcon(getClass().g
ge/ground.jpg"))); // NOI18N etResource("/nopawijaya/client/ima
ge/user.png"))); // NOI18N
getContentPane().add(jLabel1,
java.awt.BorderLayout.CENTER); mnInputAlumni.setText("Input Data
Alumni");
mnAplikasi.setText("Aplikasi"); mnInputAlumni.addActionListener(ne
w java.awt.event.ActionListener()
mnAplikasi.addActionListener(new {
java.awt.event.ActionListener() { public void
public void actionPerformed(java.awt.event.Act
actionPerformed(java.awt.event.Act ionEvent evt) {
ionEvent evt) {
mnInputAlumniActionPerformed(evt);
mnAplikasiActionPerformed(evt); }
} });
});
mnInput.add(mnInputAlumni);
mnLogin.setIcon(new
javax.swing.ImageIcon(getClass().g mnRegister.setIcon(new
etResource("/nopawijaya/client/ima javax.swing.ImageIcon(getClass().g
ge/key.png"))); // NOI18N etResource("/nopawijaya/client/ima
mnLogin.setText("Login"); ge/user_business_boss.png"))); //
NOI18N
mnLogin.addActionListener(new
java.awt.event.ActionListener() { mnRegister.setText("Register
Pengguna");
public void
mnRegister.addActionListener(new actionPerformed(java.awt.event.Act
java.awt.event.ActionListener() { ionEvent evt) {
public void
actionPerformed(java.awt.event.Act jMenuItem1ActionPerformed(evt);
ionEvent evt) { }
});
mnRegisterActionPerformed(evt); mnReport.add(jMenuItem1);
}
}); jMenuItem2.setIcon(new
mnInput.add(mnRegister); javax.swing.ImageIcon(getClass().g
etResource("/nopawijaya/client/ima
jMenuBar1.add(mnInput); ge/printer.png"))); // NOI18N
jMenuItem2.setText("Data
Alumni Berdasarkan Status
mnReport.setText("Report"); Lulusan");
mnReport.setEnabled(false); jMenuItem2.addActionListener(new
java.awt.event.ActionListener() {
mnReport.addActionListener(new public void
java.awt.event.ActionListener() { actionPerformed(java.awt.event.Act
public void ionEvent evt) {
actionPerformed(java.awt.event.Act
ionEvent evt) { jMenuItem2ActionPerformed(evt);
}
mnReportActionPerformed(evt); });
} mnReport.add(jMenuItem2);
});
jMenuItem3.setIcon(new
mnCetakAlumni.setIcon(new javax.swing.ImageIcon(getClass().g
javax.swing.ImageIcon(getClass().g etResource("/nopawijaya/client/ima
etResource("/nopawijaya/client/ima ge/printer.png"))); // NOI18N
ge/printer.png"))); // NOI18N jMenuItem3.setText("Data
Alumni Berdasarkan Nilai Tertinggi
mnCetakAlumni.setText("Data PerJurusan");
Alumni");
jMenuItem3.addActionListener(new
mnCetakAlumni.addActionListener(ne java.awt.event.ActionListener() {
w java.awt.event.ActionListener() public void
{ actionPerformed(java.awt.event.Act
public void ionEvent evt) {
actionPerformed(java.awt.event.Act
ionEvent evt) { jMenuItem3ActionPerformed(evt);
}
mnCetakAlumniActionPerformed(evt); });
} mnReport.add(jMenuItem3);
});
jMenuItem4.setIcon(new
mnReport.add(mnCetakAlumni); javax.swing.ImageIcon(getClass().g
etResource("/nopawijaya/client/ima
jMenuItem1.setIcon(new ge/printer.png"))); // NOI18N
javax.swing.ImageIcon(getClass().g jMenuItem4.setText("Alumni
etResource("/nopawijaya/client/ima Jurusan T. Audio Video 2010
ge/printer.png"))); // NOI18N Berdasarkan Status ");
jMenuItem1.setText("Data
Alumni Berdasarkan Jurusan"); jMenuItem4.addActionListener(new
java.awt.event.ActionListener() {
jMenuItem1.addActionListener(new public void
java.awt.event.ActionListener() { actionPerformed(java.awt.event.Act
ionEvent evt) {
private void
jMenuItem4ActionPerformed(evt); mnPetunjukActionPerformed(java.awt
} .event.ActionEvent evt) {
}); // TODO add your handling
mnReport.add(jMenuItem4); code here:
if
jMenuBar1.add(mnReport); (lblKet.getText().equals("Server
tidak ditemukan")) {
mnBantuan.setText("Bantuan"); JOptionPane.showMessageDialog(null
, "Pastikan komputer anda
mnPetunjuk.setIcon(new terhubung ke Server, hubungi
javax.swing.ImageIcon(getClass().g Administrator untuk keterangan
etResource("/nopawijaya/client/ima lebih lanjut !!");
ge/lightbulb.png"))); // NOI18N } else {
mnPetunjuk.setText("Petunjuk"); JOptionPane.showMessageDialog(null
, "selamat Datang di Program SI
mnPetunjuk.addActionListener(new Alumni v.1.0, ini merupakan
java.awt.event.ActionListener() { program berbasis Java RMI");
public void }
actionPerformed(java.awt.event.Act }
ionEvent evt) {
private void
mnPetunjukActionPerformed(evt); btnKeluarActionPerformed(java.awt.
} event.ActionEvent evt) {
}); // TODO add your handling
mnBantuan.add(mnPetunjuk); code here:
System.exit(0);
jMenuBar1.add(mnBantuan); }
setBounds((screenSize.width- mnLogin.setText("Login");
950)/2, (screenSize.height-569)/2,
950, 569); btnLogin.setToolTipText("Login");
}// </editor-fold> btnLogin.setIcon(new
javax.swing.ImageIcon(getClass().g
private void etResource("/jawaxa/simpendikclien
btnLoginActionPerformed(java.awt.e t/image/Key.png")));
vent.ActionEvent evt) {
// TODO add your handling mnRegister.setVisible(false);
code here:
mnInput.setEnabled(false);
mnLoginActionPerformed(evt);
} mnReport.setEnabled(false);
f.setService(alumniService); mnInput.setEnabled(false);
f.setVisible(true);
if mnReport.setEnabled(true);
(f.getPenggunaAplikasi() == null)
{ btnInputAlumni.setEnabled(false);
mnLogin.setText("Login"); btnRegister.setVisible(false);
} else if btnRegister.setEnabled(false);
(f.getPenggunaAplikasi().getTipePe
ngguna().equalsIgnoreCase("adminis btnCetakAumni.setEnabled(true);
trator")) {
mnLogin.setText("Logout");
mnRegister.setVisible(true);
btnLogin.setToolTipText("Logout");
mnInput.setEnabled(true);
}
mnReport.setEnabled(true); }
mnRegister.setVisible(false); JOptionPane.showMessageDialog(null
, "selamat Datang di Program SI
mnInput.setEnabled(true); Alumni v.1.0, ini merupakan
program berbasis Java RMI");
mnReport.setEnabled(true); }
}
btnInputAlumni.setEnabled(true);
private void
btnRegister.setVisible(false); mnAplikasiActionPerformed(java.awt
.event.ActionEvent evt) {
btnRegister.setEnabled(false); // TODO add your handling
code here:
btnCetakAumni.setEnabled(true); }
}
* @param args the comman d
private void line arguments
jMenuItem3ActionPerformed(java.awt */
.event.ActionEvent evt) { // Variables declaration - do
try { not modify
private javax.swing.JButton
alumniService.writeLog("Client btnCetakAumni;
melihat Report data Alumni private javax.swing.JButton
Berdasarkan Nilai Tertinggu Per btnInputAlumni;
Jurusan"); private javax.swing.JButton
JasperPrint print = btnKeluar;
JasperFillManager.fillReport("nila private javax.swing.JButton
iTinggi.jasper",null,conn); btnLogin;
private javax.swing.JButton
JasperViewer.viewReport(print, btnPetunjuk;
false); private javax.swing.JButton
btnRegister;
JasperViewer.setDefaultLookAndFeel private javax.swing.JLabel
Decorated(true); jLabel1;
} catch (RemoteException private javax.swing.JMenuBar
ex) { jMenuBar1;
private javax.swing.JMenuItem
Logger.getLogger(FormMain.class.ge jMenuItem1;
tName()).log(Level.SEVERE, null, private javax.swing.JMenuItem
ex); jMenuItem2;
} catch (JRException ex) { private javax.swing.JMenuItem
ex.printStackTrace(); jMenuItem3;
} private javax.swing.JMenuItem
} jMenuItem4;
private javax.swing.JPanel
private void jPanel1;
jMenuItem4ActionPerformed(java.awt private javax.swing.JToolBar
.event.ActionEvent evt) { jToolBar1;
try { private javax.swing.JLabel
lblKet;
alumniService.writeLog("Client private javax.swing.JMenu
melihat Report data Alumni Jurusan mnAplikasi;
T. Audio Video Berdasarkan Status private javax.swing.JMenu
Lulusan"); mnBantuan;
JasperPrint print = private javax.swing.JMenuItem
JasperFillManager.fillReport("av.j mnCetakAlumni;
asper",null,conn); private javax.swing.JMenu
mnInput;
JasperViewer.viewReport(print, private javax.swing.JMenuItem
false); mnInputAlumni;
private javax.swing.JMenuItem
JasperViewer.setDefaultLookAndFeel mnKeluar;
Decorated(true); private javax.swing.JMenuItem
} catch (RemoteException mnLogin;
ex) { private javax.swing.JMenuItem
mnPetunjuk;
Logger.getLogger(FormMain.class.ge private javax.swing.JMenuItem
tName()).log(Level.SEVERE, null, mnRegister;
ex); private javax.swing.JMenu
} catch (JRException ex) { mnReport;
ex.printStackTrace(); // End of variables
} declaration
// TODO add your handling
code here: public void setservice(final
} AlumniService service1) {
/**
this.alumniService = }
service1;
@Override
if (service1 == null) { protected void
lblKet.setText("Server done() {
tidak ditemukan"); try {
//lblKet.setIcon(new get();
javax.swing.ImageIcon(getClass().g } catch
etResource("/jawaxa/simpendikclien (Exception e) {
t/image/notserver.gif")));
} else { lblKet.setText("Server ditemukan,
lblKet.setText("Server namun server tidak terkoneksi ke
ditemukan, menghubungkan aplikasi database");
ke database ..");
//lblKet.setIcon(new //lblKet.setIcon(new
javax.swing.ImageIcon(getClass().g javax.swing.ImageIcon(getClass().g
etResource("/jawaxa/simpendikclien etResource("/jawaxa/simpendikclien
t/image/loadingpreview.gif"))); t/image/notserver.gif")));
new SwingWorker() { }
}
@Override }.execute();
protected Object }
doInBackground() throws Exception
{ }
service1.getAlumni();
package nopawijaya.client.gui;
import java.rmi.RemoteException; import
import java.util.List; nopawijaya.api.service.AlumniServi
import ce;
javax.swing.event.ListSelectionEve import
nt; nopawijaya.api.service.PenggunaSer
import vice;
javax.swing.event.ListSelectionLis import
tener; nopawijaya.client.model.TabelModel
import Pengguna;
nopawijaya.api.entity.Pengguna;
/** This method is called from
within the constructor to
/** * initialize the form.
* * WARNING: Do NOT modify this
* @author Deden-pc code. The content of this method
*/ is
public class FormRegPengguna * always regenerated by the
extends javax.swing.JFrame { Form Editor.
private TabelModelPengguna */
tabelModelPengguna = new @SuppressWarnings("unchecked")
TabelModelPengguna(); // <editor-fold
private AlumniService defaultstate="collapsed"
alumniService; desc="Generated Code">
private PenggunaService private void initComponents()
penggunaService; {
/** Creates new form
FormRegPengguna */ jLabel1 = new
public javax.swing.JLabel();
FormRegPengguna(PenggunaService txtUsername = new
penggunaService) { javax.swing.JTextField();
this.penggunaService = jLabel2 = new
penggunaService; javax.swing.JLabel();
try{ jLabel3 = new
javax.swing.JLabel();
tabelModelPengguna.setData(this.pe jLabel4 = new
nggunaService.getPengguna()); javax.swing.JLabel();
}catch(RemoteException txtTipePengguna = new
ex){ javax.swing.JComboBox();
ex.printStackTrace(); jPanel1 = new
} javax.swing.JPanel();
initComponents(); btnInsert = new
javax.swing.JButton();
tblPengguna.setModel(tabelModelPen btnUpdate = new
gguna); javax.swing.JButton();
btnDelete = new
tblPengguna.getSelectionModel().ad javax.swing.JButton();
dListSelectionListener(new btnClose = new
ListSelectionListener() { javax.swing.JButton();
txtPassword = new
public void javax.swing.JPasswordField();
valueChanged(ListSelectionEvent e) jScrollPane1 = new
{ javax.swing.JScrollPane();
int row = tblPengguna = new
tblPengguna.getSelectedRow(); org.jdesktop.swingx.JXTable();
if(row != -1){
Pengguna p =
tabelModelPengguna.get(row); setDefaultCloseOperation(javax.swi
ng.WindowConstants.DISPOSE_ON_CLOS
txtUsername.setText(p.getUsername( E);
)); setResizable(false);
txtPassword.setText(p.getPassword( jLabel1.setFont(new
)); java.awt.Font("Tahoma", 1, 18));
jLabel1.setIcon(new
txtTipePengguna.setSelectedItem(p. javax.swing.ImageIcon(getClass().g
getTipePengguna()); etResource("/nopawijaya/client/ima
} ge/Open.png"))); // NOI18N
} jLabel1.setText("Form
}); Registrasi Pengguna");
}
public void
jLabel2.setText("Username"); actionPerformed(java.awt.event.Act
ionEvent evt) {
jLabel3.setText("Password"); btnDeleteActionPerformed(evt);
}
jLabel4.setText("Tipe });
Pengguna"); jPanel1.add(btnDelete);
btnClose.setIcon(new
txtTipePengguna.setModel(new javax.swing.ImageIcon(getClass().g
javax.swing.DefaultComboBoxModel(n etResource("/nopawijaya/client/ima
ew String[] { "Pilih salah satu", ge/lifebuoy.png"))); // NOI18N
"Administrator", "Operator",
"User" })); btnClose.setText("Refresh");
btnInsert.setIcon(new btnClose.addActionListener(new
javax.swing.ImageIcon(getClass().g java.awt.event.ActionListener() {
etResource("/nopawijaya/client/ima public void
ge/disk.png"))); // NOI18N actionPerformed(java.awt.event.Act
ionEvent evt) {
btnInsert.setText("Insert");
btnCloseActionPerformed(evt);
btnInsert.addActionListener(new }
java.awt.event.ActionListener() { });
public void jPanel1.add(btnClose);
actionPerformed(java.awt.event.Act
ionEvent evt) {
jScrollPane1.setViewportView(tblPe
btnInsertActionPerformed(evt); ngguna);
}
}); javax.swing.GroupLayout
jPanel1.add(btnInsert); layout = new
javax.swing.GroupLayout(getContent
btnUpdate.setIcon(new Pane());
javax.swing.ImageIcon(getClass().g
etResource("/nopawijaya/client/ima getContentPane().setLayout(layout)
ge/plugin.png"))); // NOI18N ;
layout.setHorizontalGroup(
btnUpdate.setText("Update");
layout.createParallelGroup(javax.s
btnUpdate.addActionListener(new wing.GroupLayout.Alignment.LEADING
java.awt.event.ActionListener() { )
public void
actionPerformed(java.awt.event.Act .addGroup(layout.createSequentialG
ionEvent evt) { roup()
.addGap(10, 10,
btnUpdateActionPerformed(evt); 10)
}
}); .addComponent(jLabel1,
jPanel1.add(btnUpdate); javax.swing.GroupLayout.PREFERRED_
SIZE, 296,
btnDelete.setIcon(new javax.swing.GroupLayout.PREFERRED_
javax.swing.ImageIcon(getClass().g SIZE))
etResource("/nopawijaya/client/ima
ge/bin_closed.png"))); // NOI18N .addGroup(layout.createSequentialG
roup()
btnDelete.setText("Delete"); .addGap(24, 24,
24)
btnDelete.addActionListener(new
java.awt.event.ActionListener() { .addComponent(jLabel2)
.addGap(71, 71, javax.swing.GroupLayout.PREFERRED_
71) SIZE))
);
.addComponent(txtUsername, layout.setVerticalGroup(
javax.swing.GroupLayout.PREFERRED_
SIZE, 164, layout.createParallelGroup(javax.s
javax.swing.GroupLayout.PREFERRED_ wing.GroupLayout.Alignment.LEADING
SIZE)) )
.addGroup(layout.createSequentialG .addGroup(layout.createSequentialG
roup() roup()
.addGap(24, 24, .addGap(23, 23,
24) 23)
.addComponent(jLabel3) .addComponent(jLabel1)
.addGap(73, 73, .addGap(30, 30,
73) 30)
.addComponent(txtPassword, .addGroup(layout.createParallelGro
javax.swing.GroupLayout.PREFERRED_ up(javax.swing.GroupLayout.Alignme
SIZE, 164, nt.LEADING)
javax.swing.GroupLayout.PREFERRED_
SIZE)) .addGroup(layout.createSequentialG
roup()
.addGroup(layout.createSequentialG .addGap(3,
roup() 3, 3)
.addGap(24, 24,
24) .addComponent(jLabel2))
.addComponent(jLabel4) .addComponent(txtUsername,
.addGap(48, 48, javax.swing.GroupLayout.PREFERRED_
48) SIZE,
javax.swing.GroupLayout.DEFAULT_SI
.addComponent(txtTipePengguna, ZE,
javax.swing.GroupLayout.PREFERRED_ javax.swing.GroupLayout.PREFERRED_
SIZE, 119, SIZE))
javax.swing.GroupLayout.PREFERRED_ .addGap(6, 6, 6)
SIZE))
.addGroup(layout.createParallelGro
.addGroup(layout.createSequentialG up(javax.swing.GroupLayout.Alignme
roup() nt.LEADING)
.addGap(24, 24,
24) .addGroup(layout.createSequentialG
roup()
.addComponent(jPanel1, .addGap(3,
javax.swing.GroupLayout.PREFERRED_ 3, 3)
SIZE,
javax.swing.GroupLayout.DEFAULT_SI .addComponent(jLabel3))
ZE,
javax.swing.GroupLayout.PREFERRED_ .addComponent(txtPassword,
SIZE)) javax.swing.GroupLayout.PREFERRED_
SIZE,
.addGroup(layout.createSequentialG javax.swing.GroupLayout.DEFAULT_SI
roup() ZE,
.addGap(30, 30, javax.swing.GroupLayout.PREFERRED_
30) SIZE))
.addGap(6, 6, 6)
.addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_ .addGroup(layout.createParallelGro
SIZE, 360, up(javax.swing.GroupLayout.Alignme
nt.LEADING)
.addComponent(jLabel4) tabelModelPengguna.insert(pgn);
}catch(RemoteException
.addComponent(txtTipePengguna, exception){
javax.swing.GroupLayout.PREFERRED_
SIZE, exception.printStackTrace();
javax.swing.GroupLayout.DEFAULT_SI }
ZE, }
javax.swing.GroupLayout.PREFERRED_
SIZE)) private void
.addGap(18, 18, btnUpdateActionPerformed(java.awt.
18) event.ActionEvent evt) {
try{
.addComponent(jPanel1, int row =
javax.swing.GroupLayout.PREFERRED_ tblPengguna.getSelectedRow();
SIZE, if(row == -1){
javax.swing.GroupLayout.DEFAULT_SI return;
ZE, }
javax.swing.GroupLayout.PREFERRED_ Pengguna p =
SIZE) tabelModelPengguna.get(row);
.addGap(4, 4, 4)
p.setUsername(txtUsername.getText(
.addComponent(jScrollPane1, ));
javax.swing.GroupLayout.PREFERRED_
SIZE, 273, p.setPassword(txtPassword.getText(
javax.swing.GroupLayout.PREFERRED_ ));
SIZE))
); p.setTipePengguna((String)
txtTipePengguna.getSelectedItem())
pack(); ;
java.awt.Dimension
screenSize =
java.awt.Toolkit.getDefaultToolkit penggunaService.updatePengguna(p);
().getScreenSize();
java.awt.Dimension tabelModelPengguna.update(row, p);
dialogSize = getSize(); }catch(RemoteException
exception){
setLocation((screenSize.width-
dialogSize.width)/2,(screenSize.he exception.printStackTrace();
ight-dialogSize.height)/2); }
}// </editor-fold> }
p.setTipePengguna((String) penggunaService.deletePengguna(Use
txtTipePengguna.getSelectedItem()) rname);
;
Pengguna pgn = tabelModelPengguna.delete(row);
penggunaService.insertPengguna(p);
}catch(RemoteException private javax.swing.JButton
ex){ btnUpdate;
ex.printStackTrace(); private javax.swing.JLabel
} jLabel1;
} private javax.swing.JLabel
jLabel2;
private void private javax.swing.JLabel
btnCloseActionPerformed(java.awt.e jLabel3;
vent.ActionEvent evt) { private javax.swing.JLabel
try{ jLabel4;
List<Pengguna> list = private javax.swing.JPanel
penggunaService.getPengguna(); jPanel1;
private
tabelModelPengguna.setData(list); javax.swing.JScrollPane
}catch(RemoteException jScrollPane1;
ex){ private
ex.printStackTrace(); org.jdesktop.swingx.JXTable
} tblPengguna;
} private
javax.swing.JPasswordField
/** txtPassword;
* @param args the command line private javax.swing.JComboBox
arguments txtTipePengguna;
*/ private javax.swing.JTextField
txtUsername;
// End of variables
// Variables declaration - do declaration
not modify
private javax.swing.JButton }
btnClose; /*
private javax.swing.JButton * To change this template, choose
btnDelete; Tools | Templates
private javax.swing.JButton * and open the template in the
btnInsert; editor.
*/
Library
package nopawijaya.client.main;
Thread.sleep(1500);
package nopawijaya.client.model;
package nopawijaya.client.model;
<text><![CDATA[No </textElement>
Induk]]></text>
</staticText> <text><![CDATA[alumni_jurusa
<staticText> n]]></text>
</staticText>
<reportElement mode="Opaque" <staticText>
x="50" y="0" width="100"
height="18" forecolor="#FFFFFF" <reportElement mode="Opaque"
backcolor="#999999"/> x="458" y="0" width="62"
height="18" forecolor="#FFFFFF"
<textElement> backcolor="#999999"/>
<text><![CDATA[Nama]]></text </textElement>
>
</staticText> <text><![CDATA[Thn
<staticText> Lulus]]></text>
</staticText>
<reportElement mode="Opaque" <staticText>
x="150" y="0" width="70"
height="18" forecolor="#FFFFFF" <reportElement mode="Opaque"
backcolor="#999999"/> x="520" y="0" width="35"
height="18" forecolor="#FFFFFF"
<textElement> backcolor="#999999"/>
<text><![CDATA[Jk]]></text> </textElement>
</staticText>
<staticText> <text><![CDATA[r-
Nilai]]></text>
<reportElement mode="Opaque" </staticText>
x="220" y="0" width="120" </band>
height="18" forecolor="#FFFFFF" </columnHeader>
backcolor="#999999"/> <detail>
<band height="22"
<textElement> splitType="Stretch">
<textField>
<font size="12"/>
<reportElement x="0" y="0"
</textElement> width="50" height="20"/>
<textFieldExpression <textElement>
class="java.lang.String"><![CDATA[
$F{alumni_namaDepan}+" <font size="12"/>
"+$F{alumni_namaBelakang}]]></text
FieldExpression> </textElement>
</textField>
<textField> <textFieldExpression
class="java.lang.String"><![CDATA[
<reportElement x="150" y="0" $F{alumni_tahunLulus}]]></textFiel
width="70" height="20"/> dExpression>
</textField>
<textElement> <textField>
</textElement> <textElement>
<font isBold="true"/> <textElement/>
</textElement> <text><![CDATA[Garut,
September 2010]]></text>
<text><![CDATA[Kepala </staticText>
Sekolah SMK Negeri 2 </band>
Garut]]></text> </pageFooter>
</staticText> <summary>
<staticText> <band
splitType="Stretch"/>
<reportElement x="442" </summary>
y="18" width="113" height="20"/> </jasperReport>
Report Data Alumni Jurusan T. Audio Video yang Status Lulusannya Bekerja
<fieldDescription><![CDATA[] <textElement>
]></fieldDescription>
</field> <font size="12"/>
<field
name="alumni_rerataNilai" </textElement>
class="java.lang.Long">
<text><![CDATA[No
<fieldDescription><![CDATA[] Induk]]></text>
]></fieldDescription> </staticText>
</field> <staticText>
<background>
<band <reportElement mode="Opaque"
splitType="Stretch"/> x="50" y="0" width="100"
</background> height="18" forecolor="#FFFFFF"
<title> backcolor="#999999"/>
<band height="58"
splitType="Stretch"> <textElement>
<line>
<font size="12"/>
<reportElement x="0" y="8"
width="555" height="1"/> </textElement>
</line>
<line> <text><![CDATA[Nama]]></text
>
<reportElement x="0" y="51" </staticText>
width="555" height="1"/> <staticText>
</line>
<staticText> <reportElement mode="Opaque"
x="150" y="0" width="50"
<reportElement x="65" y="13" height="18" forecolor="#FFFFFF"
width="424" height="35"/> backcolor="#999999"/>
<textElement <textElement>
textAlignment="Center">
<font size="12"/>
<font size="26"
isBold="true"/> </textElement>
</textElement> <text><![CDATA[Jk]]></text>
</staticText>
<staticText>
<reportElement mode="Opaque" <text><![CDATA[alumni_rerata
x="200" y="0" width="100" Nilai]]></text>
height="18" forecolor="#FFFFFF" </staticText>
backcolor="#999999"/> </band>
</columnHeader>
<textElement> <detail>
<band height="20"
<font size="12"/> splitType="Stretch">
<textField>
</textElement>
<reportElement x="0" y="0"
<text><![CDATA[Tmpt, Tgl width="50" height="20"/>
Lahir]]></text>
</staticText> <textElement>
<staticText>
<font size="12"/>
<reportElement mode="Opaque"
x="300" y="0" width="50" </textElement>
height="18" forecolor="#FFFFFF"
backcolor="#999999"/> <textFieldExpression
class="java.lang.String"><![CDATA[
<textElement> $F{alumni_noInduk}]]></textFieldEx
pression>
<font size="12"/> </textField>
<textField>
</textElement>
<reportElement x="150" y="0"
<text><![CDATA[alumni_alamat width="50" height="20"/>
]]></text>
</staticText> <textElement>
<staticText>
<font size="12"/>
<reportElement mode="Opaque"
x="450" y="0" width="50" </textElement>
height="18" forecolor="#FFFFFF"
backcolor="#999999"/> <textFieldExpression
class="java.lang.String"><![CDATA[
<textElement> $F{alumni_jk}]]></textFieldExpress
ion>
<font size="12"/> </textField>
<textField>
</textElement>
<reportElement x="200" y="0"
<text><![CDATA[alumni_tahunL width="50" height="20"/>
ulus]]></text>
</staticText> <textElement>
<staticText>
<font size="12"/>
<reportElement mode="Opaque"
x="500" y="0" width="50" </textElement>
height="18" forecolor="#FFFFFF"
backcolor="#999999"/> <textFieldExpression
class="java.lang.String"><![CDATA[
<textElement> $F{alumni_tempatLahir}+","+$F{alum
ni_tanggalLahir}]]></textFieldExpr
<font size="12"/> ession>
</textField>
</textElement> <textField>
{alumni_rerataNilai}]]></textField
<reportElement x="250" y="0" Expression>
width="50" height="20"/> </textField>
<textField>
<textElement>
<reportElement x="50" y="0"
<font size="12"/> width="50" height="20"/>
</textElement> <textElement>
<fieldDescription><![CDATA[] </staticText>
]></fieldDescription>
<textField> <textElement
textAlignment="Center">
<reportElement mode="Opaque"
x="139" y="0" width="416" <font size="14"
height="27" forecolor="#FFFFFF" isBold="true"/>
backcolor="#000000"/>
</textElement>
<textElement>
<text><![CDATA[Jalan
<font size="18" Suherman No. 9 Tarogong
isBold="true"/> Garut]]></text>
</staticText>
</textElement> <staticText>
<text><![CDATA[Jk]]></text> <textElement>
</staticText>
<staticText> <font size="12"/>
</staticText> <textElement
textAlignment="Center">
<textField>
<font size="14"
<reportElement mode="Opaque" isBold="true"/>
x="200" y="0" width="355"
height="27" forecolor="#FFFFFF" </textElement>
backcolor="#000000"/>
<text><![CDATA[Jalan
<textElement> Suherman No. 9 Tarogong
Garut]]></text>
<font size="18" </staticText>
isBold="true"/> <staticText>
<text><![CDATA[No </textElement>
Induk]]></text>
</staticText> <text><![CDATA[Alamat]]></te
<staticText> xt>
</staticText>
<reportElement mode="Opaque" <staticText>
x="55" y="0" width="110"
height="18" forecolor="#FFFFFF" <reportElement mode="Opaque"
backcolor="#999999"/> x="414" y="0" width="95"
height="18" forecolor="#FFFFFF"
<textElement> backcolor="#999999"/>
<text><![CDATA[Nama]]></text </textElement>
>
</staticText> <text><![CDATA[Jurusan]]></t
<staticText> ext>
</staticText>
<reportElement mode="Opaque" <staticText>
x="165" y="0" width="74"
height="18" forecolor="#FFFFFF" <reportElement mode="Opaque"
backcolor="#999999"/> x="509" y="0" width="46"
height="18" forecolor="#FFFFFF"
<textElement> backcolor="#999999"/>
$F{alumni_jk}]]></textFieldExpress
<textElement> ion>
</textField>
<font size="12"/> <textField>
</textElement> <textElement>
</textElement> <text><![CDATA[Garut,
September 2010]]></text>
<textFieldExpression </staticText>
class="java.util.Date"><![CDATA[ne <staticText>
w Date()]]></textFieldExpression>
</textField> <reportElement x="499"
<staticText> y="38" width="62" height="20"/>
<fieldDescription><![CDATA[] </staticText>
]></fieldDescription>
</field> <textField>
<field name="alumni_alamat"
class="java.lang.String"> <reportElement mode="Opaque"
x="139" y="0" width="416"
<fieldDescription><![CDATA[] height="27" forecolor="#FFFFFF"
]></fieldDescription> backcolor="#000000"/>
</field>
<field name="alumni_jurusan" <textElement>
class="java.lang.String">
<font size="18"
<fieldDescription><![CDATA[] isBold="true"/>
]></fieldDescription>
</field> </textElement>
<field name="alumni_status"
class="java.lang.String"> <textFieldExpression
class="java.lang.String"><![CDATA[
<fieldDescription><![CDATA[] $F{alumni_status}]]></textFieldExp
]></fieldDescription> ression>
</field>
<field </textField>
name="alumni_tahunLulus" </band>
class="java.lang.String"> </groupHeader>
<groupFooter>
<fieldDescription><![CDATA[] <band height="8"
]></fieldDescription> splitType="Stretch">
</field> <line
<field direction="BottomUp">
name="alumni_rerataNilai"
class="java.lang.Long"> <reportElement key="line"
x="1" y="4" width="554"
<fieldDescription><![CDATA[] height="1"/>
]></fieldDescription> </line>
</field> </band>
<group name="alumni_status"> </groupFooter>
</group>
<background>
<band <font fontName="SansSerif"
splitType="Stretch"/> size="26" isBold="true"/>
</background>
<title> </textElement>
<band height="133"
splitType="Stretch"> <text><![CDATA[SMK Negeri 2
<line> Garut]]></text>
</staticText>
<reportElement x="0" y="8" </band>
width="555" height="1"/> </title>
</line> <pageHeader>
<line> <band
splitType="Stretch"/>
<reportElement x="0" y="71" </pageHeader>
width="555" height="1"/> <columnHeader>
</line> <band height="18"
<staticText> splitType="Stretch">
<staticText>
<reportElement x="10" y="97"
width="530" height="35"/> <reportElement mode="Opaque"
x="0" y="0" width="55" height="18"
<textElement> forecolor="#FFFFFF"
backcolor="#999999"/>
<font fontName="SansSerif"
size="18" isBold="true" <textElement>
isItalic="false"
isUnderline="true"/> <font size="12"/>
</textElement> </textElement>
<textElement <textElement>
textAlignment="Center">
<font size="12"/>
</textElement> <reportElement x="0" y="0"
width="55" height="20"/>
<text><![CDATA[Jk]]></text>
</staticText> <textElement>
<staticText>
<font size="12"/>
<reportElement mode="Opaque"
x="261" y="0" width="124" </textElement>
height="18" forecolor="#FFFFFF"
backcolor="#999999"/> <textFieldExpression
class="java.lang.String"><![CDATA[
<textElement> $F{alumni_noInduk}]]></textFieldEx
pression>
<font size="12"/> </textField>
<textField>
</textElement>
<reportElement x="55" y="0"
<text><![CDATA[Tmpt, Tgl width="112" height="20"/>
Lahir]]></text>
</staticText> <textElement>
<staticText>
<font size="12"/>
<reportElement mode="Opaque"
x="380" y="0" width="115" </textElement>
height="18" forecolor="#FFFFFF"
backcolor="#999999"/> <textFieldExpression
class="java.lang.String"><![CDATA[
<textElement> $F{alumni_namaDepan}+"
"+$F{alumni_namaBelakang}]]></text
<font size="12"/> FieldExpression>
</textField>
</textElement> <textField>
<textElement> <text><![CDATA[Garut,
September 2010]]></text>
<font size="10"/> </staticText>
</band>
</textElement> </pageFooter>
<summary>
<textFieldExpression <band
class="java.util.Date"><![CDATA[ne splitType="Stretch"/>
w Date()]]></textFieldExpression> </summary>
</textField> </jasperReport>
<staticText>
</textField> </textElement>
</band>
</groupHeader> <text><![CDATA[SMK Negeri 2
<groupFooter> Garut]]></text>
<band height="8" </staticText>
splitType="Stretch"> <staticText>
<line
direction="BottomUp"> <reportElement x="0" y="87"
width="530" height="35"/>
<reportElement key="line"
x="1" y="4" width="554" <textElement>
height="1"/>
</line> <font fontName="SansSerif"
</band> size="18" isBold="true"
</groupFooter> isItalic="false"
</group> isUnderline="true"/>
<background>
<band </textElement>
splitType="Stretch"/>
</background> <text><![CDATA[Report Data
<title> Alumni Berdasarkan Urutan Nilai
<band height="127" Tertinggi Perjurusan]]></text>
splitType="Stretch"> </staticText>
<line> </band>
</title>
<reportElement x="0" y="8" <pageHeader>
width="555" height="1"/> <band
</line> splitType="Stretch"/>
<line> </pageHeader>
<columnHeader>
<reportElement x="1" y="66" <band height="18"
width="555" height="1"/> splitType="Stretch">
</line> <staticText>
<staticText>
<reportElement mode="Opaque"
<reportElement x="92" y="39" x="0" y="0" width="55" height="18"
width="424" height="35"/> forecolor="#FFFFFF"
backcolor="#999999"/>
<textElement
textAlignment="Center"> <textElement>
<text><![CDATA[Nama]]></text </textElement>
>
</staticText> <text><![CDATA[Tahun
<staticText> Lulusan]]></text>
</staticText>
<reportElement mode="Opaque" <staticText>
x="165" y="0" width="55"
height="18" forecolor="#FFFFFF" <reportElement mode="Opaque"
backcolor="#999999"/> x="495" y="0" width="55"
height="18" forecolor="#FFFFFF"
<textElement> backcolor="#999999"/>
<text><![CDATA[Jk]]></text> </textElement>
</staticText>
<staticText> <text><![CDATA[r-
Nilai]]></text>
<reportElement mode="Opaque" </staticText>
x="220" y="0" width="110" </band>
height="18" forecolor="#FFFFFF" </columnHeader>
backcolor="#999999"/> <detail>
<band height="20"
<textElement> splitType="Stretch">
<textField>
<font size="12"/>
<reportElement x="0" y="0"
</textElement> width="55" height="20"/>
<text><![CDATA[Alamat]]></te <textElement>
xt>
<font size="12"/> <reportElement x="440" y="0"
width="55" height="20"/>
</textElement>
<textElement>
<textFieldExpression
class="java.lang.String"><![CDATA[ <font size="12"/>
$F{alumni_namaDepan}+"
"+$F{alumni_namaBelakang}]]></text </textElement>
FieldExpression>
</textField> <textFieldExpression
<textField> class="java.lang.String"><![CDATA[
$F{alumni_tahunLulus}]]></textFiel
<reportElement x="165" y="0" dExpression>
width="55" height="20"/> </textField>
<textField>
<textElement>
<reportElement x="495" y="0"
<font size="12"/> width="55" height="20"/>
</textElement> <textElement>
package nopawijaya.server.gui;
/** }
*
* @author Deden-pc public static void
*/ writeLog(String s){
public class FormServer extends jTextArea1.append(s+"\n");
javax.swing.JFrame { }
/** This method is called from
public static void within the constructor to
setStatus(String s) { * initialize the form.
* WARNING: Do NOT modify this
lblServerStatus.setText(s); code. The content of this method
is
} * always regenerated by the
Form Editor.
public static void */
setDbStatus(String s, Icon i) { @SuppressWarnings("unchecked")
lblDbStatus.setText(s); // <editor-fold
lblDbStatus.setIcon(i); defaultstate="collapsed"
desc="Generated Code">
} private void initComponents()
{
jButton3.addActionListener(new
lblServerStatus.setIcon(new java.awt.event.ActionListener() {
javax.swing.ImageIcon(getClass().g public void
etResource("/nopawijaya/server/dat actionPerformed(java.awt.event.Act
abase.png"))); // NOI18N ionEvent evt) {
lblServerStatus.setText("Status jButton3ActionPerformed(evt);
server"); }
});
lblDbStatus.setIcon(new jPanel1.add(jButton3);
javax.swing.ImageIcon(getClass().g
etResource("/nopawijaya/server/loa javax.swing.GroupLayout
dingpreview.gif"))); // NOI18N layout = new
javax.swing.GroupLayout(getContent
Pane()); .addComponent(jPanel1,
javax.swing.GroupLayout.Alignment.
getContentPane().setLayout(layout) TRAILING,
; javax.swing.GroupLayout.DEFAULT_SI
layout.setHorizontalGroup( ZE, 481, Short.MAX_VALUE)
layout.createParallelGroup(javax.s .addComponent(jScrollPane1,
wing.GroupLayout.Alignment.LEADING javax.swing.GroupLayout.PREFERRED_
) SIZE, 460,
javax.swing.GroupLayout.PREFERRED_
.addGroup(javax.swing.GroupLayout. SIZE)))
Alignment.TRAILING,
layout.createSequentialGroup() .addGroup(javax.swing.GroupLayout.
Alignment.TRAILING,
.addGroup(layout.createParallelGro layout.createSequentialGroup()
up(javax.swing.GroupLayout.Alignme
nt.TRAILING) .addContainerGap(432,
Short.MAX_VALUE)
.addGroup(layout.createSequentialG
roup() .addComponent(jLabel3)))))
.addContainerGap() .addContainerGap())
);
.addComponent(jLabel2)) layout.setVerticalGroup(
.addGroup(layout.createParallelGro layout.createParallelGroup(javax.s
up(javax.swing.GroupLayout.Alignme wing.GroupLayout.Alignment.LEADING
nt.TRAILING) )
.addGroup(layout.createSequentialG .addGroup(layout.createSequentialG
roup() roup()
.addContainerGap()
.addContainerGap()
.addComponent(jLabel2)
.addComponent(jLabel1))
.addPreferredGap(javax.swing.Layou
.addGroup(layout.createParallelGro tStyle.ComponentPlacement.RELATED)
up(javax.swing.GroupLayout.Alignme
nt.LEADING) .addComponent(jLabel3,
javax.swing.GroupLayout.PREFERRED_
.addGroup(layout.createSequentialG SIZE, 22,
roup() javax.swing.GroupLayout.PREFERRED_
SIZE)
.addGap(22, 22, 22)
.addPreferredGap(javax.swing.Layou
.addGroup(layout.createParallelGro tStyle.ComponentPlacement.RELATED)
up(javax.swing.GroupLayout.Alignme
nt.LEADING) .addComponent(jLabel1)
.addGap(18, 18,
.addGroup(layout.createSequentialG 18)
roup()
.addGroup(layout.createParallelGro
.addGap(12, 12, 12) up(javax.swing.GroupLayout.Alignme
nt.BASELINE)
.addComponent(lblServerStatus)
.addComponent(lblServerStatus)
.addGap(30, 30, 30)
.addComponent(lblDbStatus))
.addComponent(lblDbStatus))
System.exit(1);
.addPreferredGap(javax.swing.Layou }
tStyle.ComponentPlacement.RELATED)
private void
.addComponent(jScrollPane1, jButton3ActionPerformed(java.awt.e
javax.swing.GroupLayout.PREFERRED_ vent.ActionEvent evt) {
SIZE, 242, // TODO add your handling
javax.swing.GroupLayout.PREFERRED_ code here:
SIZE) jTextArea1.setText("");
}
.addPreferredGap(javax.swing.Layou
tStyle.ComponentPlacement.RELATED) /**
* @param args the command line
.addComponent(jPanel1, arguments
javax.swing.GroupLayout.PREFERRED_ */
SIZE,
javax.swing.GroupLayout.DEFAULT_SI
ZE, // Variables declaration - do
javax.swing.GroupLayout.PREFERRED_ not modify
SIZE) private javax.swing.JButton
jButton1;
.addContainerGap(javax.swing.Group private javax.swing.JButton
Layout.DEFAULT_SIZE, jButton2;
Short.MAX_VALUE)) private javax.swing.JButton
); jButton3;
private javax.swing.JLabel
java.awt.Dimension jLabel1;
screenSize = private javax.swing.JLabel
java.awt.Toolkit.getDefaultToolkit jLabel2;
().getScreenSize(); private javax.swing.JLabel
jLabel3;
setBounds((screenSize.width- private javax.swing.JPanel
529)/2, (screenSize.height-477)/2, jPanel1;
529, 477); private
}// </editor-fold> javax.swing.JScrollPane
jScrollPane1;
private void private static
jButton2ActionPerformed(java.awt.e javax.swing.JTextArea jTextArea1;
vent.ActionEvent evt) { private static
// TODO add your handling javax.swing.JLabel lblDbStatus;
code here: private static
hide(); javax.swing.JLabel
} lblServerStatus;
// End of variables
private void declaration
jButton1ActionPerformed(java.awt.e
vent.ActionEvent evt) {
// TODO add your handling }
code here:
package nopawijaya.server.service;
/** }catch(SQLException
* exception){
* @author Deden-pc
*/ exception.printStackTrace();
public class AlumniServiceServer }finally{
extends UnicastRemoteObject if (statement !=
implements AlumniService { null){
try{
public AlumniServiceServer() statement.close();
throws RemoteException {
} }catch(SQLException exception){
}
public Alumni }
insertAlumni(Alumni a) throws }
RemoteException { return a;
FormServer.writeLog("Client }
melakukan proses Insert data
Alumni"); public void
PreparedStatement statement updateAlumni(Alumni a) throws
= null; RemoteException {
try{ FormServer.writeLog("Client
statement = melakukan proses Update data
DatabaseUtilities.getConnection(). Alumni");
prepareStatement( PreparedStatement
"INSERT INTO statement = null;
alumni (noInduk, namaDepan, try{
namaBelakang, jk, tempatLahir, statement =
tanggalLahir, alamat, jurusan, DatabaseUtilities.getConnection().
status, tahunLulus, rerataNilai) prepareStatement(
values (?,?,?,?,?,?,?,?,?,?,?)" "UPDATE alumni
); SET
statement.setString(1, namaDepan=?,namaBelakang=?,jk=?,te
a.getNoInduk()); mpatLahir=?,tanggalLahir=?,alamat=
statement.setString(2, ?,jurusan=?,status=?,tahunLulus=?,
a.getNamaDepan()); rerataNilai=? WHERE noInduk = ?"
statement.setString(3, );
a.getNamaBelakang());
statement.setString(4,
a.getJk());
statement.setString(5, statement.setString(1,
a.getTempatLahir()); a.getNamaDepan());
statement.setDate(6, statement.setString(2,
new a.getNamaBelakang());
Date(a.getTanggalLahir().getTime() statement.setString(3,
)); a.getJk());
statement.setString(7, statement.setString(4,
a.getAlamat()); a.getTempatLahir());
statement.setString(8, statement.setDate(5,
a.getJurusan()); new
statement.setString(9, Date(a.getTanggalLahir().getTime()
a.getStatus()); ));
statement.setString(10, statement.setString(6,
a.getTahunLulus()); a.getAlamat());
statement.setString(11, statement.setString(7,
a.getRerataNilai()); a.getJurusan());
statement.setString(8, }
a.getStatus());
statement.setString(9, public Alumni getAlumni(String
a.getTahunLulus()); noInduk) throws RemoteException {
statement.setString(10,
a.getRerataNilai()); FormServer.writeLog("Client
statement.setString(11, melakukan pross getByKode");
a.getNoInduk()); PreparedStatement
statement = null;
statement.executeUpdate(); try{
statement =
}catch(SQLException (PreparedStatement)
exception){ DatabaseUtilities.getConnection().
prepareStatement(
exception.printStackTrace(); "SELECT * FROM
}finally{ alumni WHERE noInduk = ?");
if(statement != null){ ResultSet result =
try{ statement.executeQuery();
statement.close(); Alumni a = null;
}catch(SQLException if(result.next()){
exception){ a = new Alumni();
exception.printStackTrace(); a.setNoInduk(result.getString("noI
} nduk"));
}
} a.setNamaDepan(result.getString("n
} amaDepan"));
statement.setString(1,noInduk); a.setStatus(result.getString("stat
statement.executeUpdate(); us"));
}catch(SQLException a.setTahunLulus(result.getString("
exception){ tahunLulus"));
exception.printStackTrace(); a.setRerataNilai(result.getString(
}finally{ "rerataNilai"));
try{
statement.close();
}catch(SQLException }
exception){ result.close();
return a;
exception.printStackTrace(); }catch(SQLException
} exception){
}
exception.printStackTrace(); alumni.setTempatLahir(result.getSt
return null; ring("tempatLahir"));
}finally{
if (statement != null){ alumni.setTanggalLahir(result.getD
try{ ate("tanggalLahir"));
statement.close();
}catch(SQLException alumni.setAlamat(result.getString(
exception){ "alamat"));
exception.printStackTrace(); alumni.setJurusan(result.getString
} ("jurusan"));
}
} alumni.setStatus(result.getString(
} "status"));
alumni.setNoInduk(result.getString exception.printStackTrace();
("noInduk")); }
}
alumni.setNamaDepan(result.getStri }
ng("namaDepan")); }
alumni.setJk(result.getString("jk" FormServer.writeLog(string);
)); }
package nopawijaya.server.service;
import com.mysql.jdbc.PreparedStatement;
import com.mysql.jdbc.Statement;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import nopawijaya.api.entity.Pengguna;
import nopawijaya.api.service.PenggunaService;
import nopawijaya.server.gui.FormServer;
import nopawijaya.server.utilitiies.DatabaseUtilities;
/**
*
* @author Deden-pc
*/
public class PenggunaServiceServer extends UnicastRemoteObject
implements PenggunaService {
statement.executeUpdate();
}catch(SQLException exception){
exception.printStackTrace();
}finally{
if (statement != null){
try{
statement.close();
}catch(SQLException exception){
}
}
}
return p;
}
statement.setString(1, p.getPassword());
statement.setString(2, p.getTipePengguna());
statement.setString(3, p.getUsername());
statement.executeUpdate();
}catch(SQLException exception){
exception.printStackTrace();
}finally{
if(statement != null){
try{
statement.close();
}catch(SQLException exception){
exception.printStackTrace();
}
}
}
}
}catch(SQLException exception){
exception.printStackTrace();
}finally{
try{
statement.close();
}catch(SQLException exception){
exception.printStackTrace();
}
}
}
p.setTipePengguna(result.getString("tipePengguna"));
}
result.close();
return p;
}catch(SQLException exception){
exception.printStackTrace();
return null;
}finally{
if (statement != null){
try{
statement.close();
}catch(SQLException exception){
exception.printStackTrace();
}
}
}
}
p.setTipePengguna(result.getString("tipePengguna"));
list.add(p);
}
result.close();
return list;
}catch(SQLException exception){
exception.printStackTrace();
return null;
}finally{
if (statement != null){
try{
statement.close();
}catch(SQLException exception){
exception.printStackTrace();
}
}
}
}
}
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package nopawijaya.server.utilitiies;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author Deden-pc
*/
public class DatabaseUtilities {
private static Connection connection;
public static Connection getConnection(){
if (connection == null){
try {
DriverManager.registerDriver(new
com.mysql.jdbc.Driver());
connection =
DriverManager.getConnection("jdbc:mysql://Localhost:3306/sialumni"
,"root","root");
} catch (SQLException ex) {
Logger.getLogger(DatabaseUtilities.class.getName()).log(Level.SEVE
RE, null, ex);
}
}
return connection;
}
}