SI PAGI
BAHASA PEMROGRAMAN JAVA B
Puji serta syukur kehadirat Allah Yang Maha Esa atas segala rahmat dan hidayah-
nya. Laporan praktikum Bahasa Pemrograman Java telah selesai disusun. Materi-materi
dalam laporan praktikum ini mencakup materi Bahasa Pemrograman Java dan juga aplikasi
Laporan ini berisi tentang penyusunan program java dan translasi ke dalam bahasa
Terima kasih, saya ucapkan kepada dosen Bahasa Pemrograman Java yang telah
memeberikan motivasi dan semangat untuk penyusunan laporan praktikum ini. semoga
laporan praktikum ini bisa memenuhi salah satu tugas yang telah diberikan.
Kata Pengantar | i
Daftar Isi
Halaman
Kata
Pengantar
..............................................................................................................................................
Daftar
Isi
..............................................................................................................................................
ii - iii
BAB I
Pendahuluan
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
A. Umum
............................................................................................................................
B. Latar
belakang
............................................................................................................................
Daftar Isi | ii
C. Tujuan
pratikum
............................................................................................................................
........................................................................................................................................ 4
NetBeans
.............................................................................................................................
B. Operator
.............................................................................................................................
Method
.............................................................................................................................
14
Percabangan
.............................................................................................................................
16
E. Pemrograman Berorientasi
Objek
Daftar Isi | ii
.............................................................................................................................
27
Praktikum
..............................................................................................................................................
30
Java
............................................................................................................................
30
Java
............................................................................................................................
32
C. Modul 4 : Struktur
Kondisi
............................................................................................................................
35
Lanjutan
............................................................................................................................
38
(MDI)
Daftar Isi | ii
............................................................................................................................
42
Data
............................................................................................................................
47
Lanjutan
............................................................................................................................
50
Daftar Isi | ii
BAB IV Analisa Hasil
Percobaan
....................................................................................................................................................
54
Java
.........................................................................................................................
.........................................................................................................................
54
.........................................................................................................................
Java
............................................................................................................................
57
C. Modul 4 : Struktur
Kondisi
............................................................................................................................
60
Lanjutan
............................................................................................................................
63
(MDI)
64
Data
............................................................................................................................
67
Lanjutan
.........................................................................................................................
.........................................................................................................................
69
.........................................................................................................................
BAB V
Penutup
....................................................................................................................................................
71
A. Kesimpulan
............................................................................................................................
71
B. Saran
............................................................................................................................
73
Pustaka
....................................................................................................................................................
74
PENDAHULUAN
A. Umum
komputer termasuk telepon genggam. Bahasa ini awalnya dibuat oleh James Gosling
saat masih bergabung di Sun Microsystems saat ini merupakan bagian dari Oracle
dan dirilis tahun 1995. Bahasa ini banyak mengadopsi sintaksis yang terdapat pada
C dan C++ namun dengan sintaksis model objek yang lebih sederhana serta
berbagai Mesin Virtual Java (JVM). Java merupakan bahasa pemrograman yang
platform sistem operasi yang berbeda, java dikenal pula dengan slogannya, "Tulis
sekali, jalankan di mana pun". Saat ini java merupakan bahasa pemrograman yang
B. Latar Belakang
BAB I | 1
Bahasa pemrograman Java terlahir dari The Green Project, yang berjalan
selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut
belum menggunakan versi yang dinamakan Oak. Proyek ini dimotori oleh Patrick
Naughton, Mike Sheridan, dan James Gosling, beserta sembilan pemrogram lainnya
dari Sun Microsystems. Salah satu hasil proyek ini adalah maskot Duke yang dibuat
oleh Joe Palrang. Pertemuan proyek berlangsung di sebuah gedung perkantoran Sand
Hill Road di Menlo Park. Sekitar musim panas 1992 proyek ini ditutup dengan
menghasilkan sebuah program Java Oak pertama, yang ditujukan sebagai pengendali
sebuah peralatan dengan teknologi layar sentuh (touch screen), seperti pada PDA
Setelah era Star Seven selesai, sebuah anak perusahaan Tv kabel tertarik
ditambah beberapa orang dari proyek The Green Project. Mereka memusatkan
kegiatannya pada sebuah ruangan kantor di 100 Hamilton Avenue, Palo Alto.
Perusahaan baru ini bertambah maju: jumlah karyawan meningkat dalam waktu
singkat dari 13 menjadi 70 orang. Pada rentang waktu ini juga ditetapkan pemakaian
Internet sebagai medium yang menjembatani kerja dan ide di antara mereka. Pada
awal tahun 1990-an, Internet masih merupakan rintisan, yang dipakai hanya di
sebagai landasan awal untuk membuat perambah Java pertama yang dinamai Web
Runner, terinsipirasi dari film 1980-an, Blade Runner. Pada perkembangan rilis
Pada sekitar bulan Maret 1995, untuk pertama kali kode sumber Java versi
1.0a2 dibuka. Kesuksesan mereka diikuti dengan untuk pemberitaan pertama kali
BAB I | 2
pada surat kabar San Jose Mercury News pada tanggal 23 Mei 1995. Sayang terjadi
perpecahan di antara mereka suatu hari pada pukul 04.00 di sebuah ruangan hotel
Sheraton Palace. Tiga dari pimpinan utama proyek, Eric Schmidt dan George Paolini
Nama Oak, diambil dari pohon oak yang tumbuh di depan jendela ruangan
kerja "Bapak Java", James Gosling. Nama Oak ini tidak dipakai untuk versi release
Java karena sebuah perangkat lunak lain sudah terdaftar dengan merek dagang
tersebut, sehingga diambil nama penggantinya menjadi "Java". Nama ini diambil
dari kopi murni yang digiling langsung dari biji (kopi tubruk) kesukaan Gosling.
Konon kopi ini berasal dari Pulau Jawa. Jadi nama bahasa pemrograman Java tidak
lain berasal dari kata Jawa (bahasa Inggris untuk Jawa adalah Java).
C. TUJUAN PRATIKUM
3 Untuk mengkaji kembali pengetahuan yang telah saya dapat pada kuliah
BAB I | 3
BAB II
1.Pengenalan Java
Java adalah bahasa pemrograman yang berorientasi objek (OOP) dan dapat
dijalankan pada berbagai platform sistem operasi. Perkembangan Java tidak hanya
terfokus pada satu sistem operasi, tetapi dikembangkan untuk berbagai sistem operasi
dan bersifat open source. Java berasal dari pengembangan bahasa C++ sehingga
strukturnya seperti bahasa C++. Ialah James Gosling dan Patrick Naughton yang
berhasil mengembangkan Java dalam suatu proyek dari SUN Microsystem. Awalnya
James ingin memberi bahasa pemrograman tersebut dengan nama OAK yang berasal
dari pohon yang terdapat pada kantor James Gosling, tetapi akhirnya diberi nama Java
Java sering digunakan oleh semua segmen, karena mampu merambah seluruh
hal, dari pemrogaman dekstop hingga pemrograman mobile (mobile programming) dan
Java juga terkenal mudah digunakan, karena seluruh sistem operasi dapat menjalankan
Java. Sistem operasi itu antara lain Window, Linux, DOS, Unix, dan lain-lainnya
sehingga banyak pengguna memakainya. Java telah berkembang dari semula diciptakan
bytecode, yaitu suatu keadaan program yang dapat dieksekusi langsung; tambahan di
dalam suatu homepage selain gambar) yang berjalan di web browser menjadi bahasa
berjalan di beragam perangkat mulai dari handled devices seperti handphone, PDA
BAB II | 4
(Personal Digital Assistant) sampai aplikasi khusus yang tersebar di berbagai macam
komputer server.
Apakah bahasa Java itu mudah? Bahasa Javamerupakan bahasa sederhana, hanya
terdiri beberapa struktur yang tetap, sering disebut sebagai bahasa C++ yang kurang,
karena susunannya yang lebih kecil dibanding bahasa C++. Namun karena diatur
untuk keperluan khusus. Namun bila dikaitkan dengan seluruh kemampuan yang luar
biasa tentu java bukan bahasa yang sederhana dan mudah. Walaupun begitu bila kita
Mengapa Mempelajari JAVA? Berdasarkan white paper resmi dari SUN, Java
dengan C++ namun sintaks pada Java telah banyak diperbaiki terutama
collection.
3. Terdistribusi (Distributed)
Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya
BAB II | 5
4. Interpreted
(JVM). Hal ini menyebabkan source code Java yang telah dikompilasi menjadi
5. Robust
6. Secure
7. Architecture Neutral
satu buah versi yang dapat dijalankan pada platform berbeda dengan Java
Virtual Machine.
8. Portable
Source code maupun program Java dapat dengan mudah dibawa ke platform
9. Performance
Compilers (JIT).
BAB II | 6
10. Multithreaded
11. Dynamic
Java didesain untuk dapat dijalankan pada lingkungan yang dinamis. Perubahan
2. Pengenalan NetBeans
(IDE) yang berbasiskan Java dari Sun Microsystems yang berjalan di atas swing.
Swing merupakan sebuah teknologi Java untuk pengembangan aplikasi desktop yang
dapat berjalan pada berbagai macam platform seperti windows, linux, Mac OS X dan
suatu aplikasi perangkat lunak yang menyediakan Graphic User Interface (GUI), suatu
mencari kesalahan dan menyebarkan program netbeans yang ditulis dalam bahasa
pemrograman java namun selain itu dapat juga mendukung bahasa pemrograman
lainnya dan program ini pun bebas untuk digunakan dan untuk membuat professional
desktop, enterprise, web, and mobile applications dengan Java language, C/C++, dan
NetBeans merupakan sebuah proyek kode terbuka yang sukses dengan pengguna
yang sangat luas, komunitas yang terus tumbuh, dan memiliki hampir 100 mitra (dan
terus bertambah!). Sun Microsystems mendirikan proyek kode terbuka NetBeans pada
BAB II | 7
bulan Juni 2000 dan terus menjadi sponsor utama. Dan saat ini pun netbeans memiliki
2 produk yaitu Platform Netbeans dan Netbeans IDE. Platform Netbeans merupakan
layanan yang umum bagi aplikasi desktop, mengijinkan pengembang untuk fokus ke
Manajemen jendela
Netbeans IDE merupakan sebuah IDE open source yang ditulis sepenuhnya
mendukung pengembangan semua tipe aplikasi Java (J2SE, web, EJB, dan aplikasi
mobile). Fitur lainnya adalah sistem proyek berbasis Ant, kontrol versi, dan
refactoring.Versi terbaru saat ini adalah NetBeans IDE 5.5.1 yang dirilis Mei 2007
visual SOA, skema XML, web service dan pemodelan UML. NetBeans C/C++ Pack
fungsi yang didefinisikan dengan baik, seperti dukungan untuk bahasa pemrograman
BAB II | 8
Java, editing, atau dukungan bagi CVS. NetBeans memuat semua modul yang
NetBeans untuk bisa dikembangkan. Fitur-fitur baru, seperti dukungan untuk bahasa
contoh, Sun Studio, Sun Java Studio Enterprise, dan Sun Java Studio Creator dari Sun
B. OPERATOR
1. Operator Aritmatika
Operator ini berfungsi untuk menghitung counter baik itu menambah dan
mengurangi nilai dari variabel bersangkutan dengan nilai 1 dan biasanya digunakan
BAB II | 9
(++), sedangkan decrement simbolnya : (–).Untuk penempatanya dapat diletakan
sebelum variabel, maka nilai increment dan decrement akan diproses terlebih dahulu,
baru berlanjut ke proses lainnya. Sedangkan jika increment dan decrement diletakan
sesudah variabel, maka nilai dari increment dan decrement tidak akan diproses dahulu
melainkan nilai varibel lama yang diproses terlebih dulu, kemudian pada proses
berikutnya nilai increment maupun decrement akan terproses. Berikut contoh dari
3. Operator Relasi
Dari kata relasi kita bisa menyimpulkan sebuah arti “hubungan”, sehingga
operator relasi dalam pemrograman java adalah sebuah fungsi yang membandingkan
BAB II | 10
Simbol dari relasi diantaranya: ( >, <, >=, <=, ==, != )
4. Operator Logika
Operator ini berfungsi untuk menentukan nilai kebenaran dari masing-masing nilai
variabel/operand pembentuknya.Sifat dari nilai adalah true dan false ( boolean ). Simbol
• ! ( logical NOT)
Perbedaan dari operator && (logika AND) dan & (boolean AND) ?
hanya sebagian dan nilai yang dicari adlah true. Jika nilai awal adalah false
Operator & (boolean AND) : kebalikan dari && yaitu akan mengeksekusi
BAB II | 11
adalah true, walaupun nilai awal false/true operator akan tetap
Kesimpulannya nilai pada kedua operator adalah nilai yang mengandung true
Tabel Kebenaran :
"true". Jika salah satunya atau keduanya "false", operator ini menghasilkan "false".
Perbedaan dasar antara operator && dan & adalah bahwa && mensupport short-circuit
Tabel Kebenaran :
BAB II | 12
^ (boolean exclusive OR)
Tabel Kebenaran :
Hasil operasi operator exclusive OR adalah True, jika dan hanya jika satu operand
bernilai True dan yang lain bernilai False. Catatan jika kedua operand harus selalu
! (logika NOT)
Tabel Kebenaran :
Operator NOT ("!") melakukan operasi boolean NOT pada operand atau ekspresi
tunggal. Operator ini mengecek nilai boolean dari suatu operand atau expresi kemudian
membalik nilainya (dari true ke false atau false ke true). Berikut ini adalah tabel
BAB II | 13
C. Class, Object dan Method
Class
Class merupakan suatu blueprint atau cetakan untuk menciptakan suatu instant
dari object. class juga merupakan grup suatu object dengan kemiripan
attributes/properties, behaviour dan relasi ke object lain. Contoh: Class Person, Vehicle,
Object
Object adalah instance dari class. Jika class secara umum merepresentasikan
(template) sebuah object, sebuah instance adalah representasi nyata dari class itu sendiri.
Contoh :
Dari class Fruit kita dapat membuat object Mangga, Pisang, Apel dan lainlain. Membuat
object. Untuk membuat object, kita menggunakan perintah new dengan sebuah nama
Keterangan :
hari adalah object reference dari class Date yang akan digunakan untuk mengakses class
Date. Sedangkan operator new adalah operator yang akan menghasilkan hari sebagai
Method
BAB II | 14
Metode menentukan perilaku objek, yakni apa yang terjadi ketika objek itu dibuat
serta berbagai operasi yang dapat dilakukan objek sepanjang hidupnya. Metode
1. Nama metode
3. Daftar parameter.
Tiga bagian pertama mengindikasikan informasi penting tentang metode itu sendiri.
Dengan kata lain, nama metode tersebut=metode lain dalam program. Dalam java kita
dapat memiliki metode-metode berbeda yang memiliki nama sama tetapi berbeda tipe
kembalian atau daftar argumennya, sehingga bagian-bagian definisi metode ini menjadi
penting.
Ini disebut overloading metode. Untuk menjalankan program yang memiliki sifat
kemampuan untuk menentukan fungsi yang mana yang harus digunakan atau dijalankan
jika terdapat nama fungsi yang sama. Polimorfisme bisa diartikan seperti kemampuan
suatu variable untuk mengubah perangai sesuai dengan objek hasil instansiasi yang
digunakan. Polimorfisme membiarkan lebih dari 1 objek dari sub class sub class dan
Contoh:
cowok.methodKU( Bernaz );
cewek.mothodKU( Amelia );
BAB II | 15
Outputnya:
Methodku dengan parameter dengan nilai Bernaz di class anakSI telah dipanggil
Methodku dengan parameter dengan nilai Amelia di class anakTI telah dipanggil
1. Struktur Perulangan
mengijinkan kita untuk mengeksekusi blok code berulang-ulang sesuai dengan jumlah
tertentu yang
diinginkan. Ada tiga macam jenis dari struktur kontrol pengulangan yaitu :
While
Do-while
For loops
mengeksekusi sebarisan instruksi yang sama sampai kondisi akhir ditemui. Dengan
kata lain, looping atau loop artinya mengulangi eksekusi blok program tertentu sampai
bagian yaitu :
inisialisasi (initialization),
termination.
BAB II | 16
Pernyataan while loop adalah pernyataan atau blok pernyataan yang diulang-ulang
while( boolean_expression ){
statement1;
statement2;
. . .
int i = 4;
while ( i > 0 ){
System.out.print(i);
i--; }
Contoh diatas akan mencetak angka 4321 pada layar. Perlu dicatat jika bagian i--;
dihilangkan, akan menghasilkan pengulangan yang terus menerus (infinite loop). Sehingga,
ketika menggunakan while loop atau bentuk pengulangan yang lain, pastikan Anda
Do-while loop mirip dengan while-loop. Pernyataan di dalam do-while loop akan
dieksekusi beberapa kali selama kondisi bernilai benar(true). Perbedaan antara while dan
do-while loop adalah dimana pernyataan di dalam do-while loop akan dieksekusi
do{
BAB II | 17
statement1;
statement2;
. . .
}while( boolean_expression );
Pernyataan di dalam do-while loop akan dieksekusi pertama kali, dan akan dievaluasi
kondisi dari boolean_expression. Jika nilai pada boolean_expression tersebut bernilai true,
Contoh 1:
int x = 0;
do
System.out.println(x);
x++;
}while (x<10);
Contoh 2:
//infinite loop
do{
System.out.println(“hello”);
} while (true);
Contoh di atas akan melakukan pengulangan terus menerus yang menulis kata “hello” pada
layar.
Contoh 3:
//one loop
BAB II | 18
// statement is executed once
do
System.out.println(“hello”);
while (false);
Perulangan for menyediakan sarana mengulang kode dalam jumlah yang tertentu.
Pengulangan ini terstruktur untuk mengulangi kode sampai tercapai batas tertentu.
for(InitializationExpression; LoopCondition;
StepExpression)
statement
Contoh:
int i;
for (i = 1;i<11;i++)
System.out.println(i);
}
}
BAB II | 19
Hasil (output) dari contoh listing program diatas:
10
Java memungkinkan loop yang disarangkan di loop yang lain. Satu loop berada di dalam
Contoh:
for(int i=0;i<10;i++){
for(int j=i;j<10;j++){
System.out.print("*");}
System.out.println();
}
}
BAB II | 20
Hasil (output) dari contoh listing program diatas:
**
**
**
user untuk memilih dan mengeksekusi blok kode spesifik dan mengabaikan blok
1. Statement If
2. Statement If-else
3. Statement If-else-if
2.1 Statement If
BAB II | 21
Pernyataan if akan menentukan sebuah pernyataan (atau blok kode) yang akan
if( boolean_expression )
statement;
atau
if( boolean_expression ){
statement1;
statement2;
. . .
atau
System.out.println("Congratulations!");
System.out.println("You passed!");
pernyataan dengan kondisi true dan pernyataan yang lain dengan kondisi false.
if( boolean_expression )
statement;
BAB II | 22
else
statement;
if( boolean_expression ){
statement1;
statement2;
. . .
else{
statement1;
statement2;
. . .
atau
System.out.println("SELAMAT!");
System.out.println("ANDA LOLOS!");
else{
System.out.println("MAAF SALAH!");
BAB II | 23
Pernyataan pada bagian kondisi else dari blok if-else dapat menjadi
struktur if-else yang lain. Kondisi struktur seperti ini mengijinkan kita untuk
if( boolean_expression1 )
statement1;
statement2;
else
statement3;
pernyataan if. Blok else bersifat opsional dan dapat dihilangkan. Pada contoh
System.out.println("Sangat Baik!");
System.out.println("Sangat Baik!");
}
BAB II | 24
else{
System.out.println("Maaf Gagal!");
switch (ekspresi) {
case nilai1:
perintah1
break;
case nilai2:
perintah2
break;
case nilai3:
perintah3
break;
default:
perintah_lain
dengan nilai-nilai yang didaftarkan pada pernyataan case. Jika salah satu nilai
melakukan perintah yang terdapat di sana. Jika tidak ditemui, maka program
dan sejenisnya) atau karakter, sehingga kita tidak bisa menggunakan switch
switch(grade){
case 100:
System.out.println( "Excellent!" );
break;
case 90:
case 80:
default: }
System.out.println("Good job!" );
break;
System.out.println("Study harder!" );
break;
pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam
BAB II | 26
logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data,
Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih,
kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala
besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah
Konsep dasar
Kelas — kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit
untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri
atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam
perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur
dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat
permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya
(relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika
tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan
terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program
tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah
Objek - membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah
program komputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah
BAB II | 27
Abstraksi - Kemampuan sebuah program untuk melewati aspek informasi yang
diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam
sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja,
laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam
sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau
metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk
keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam
objek tersebut yang diberi izin untuk mengakses keadaannya. Setiap objek mengakses
Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek
tersebut.
pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu
yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu
di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak
cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan
yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah
pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut
polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai
jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat
memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan
yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme
BAB II | 28
Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah
kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur)
tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai
contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris,
petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data
dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi
dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut
seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut
tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi.
Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada
2. Java
3. C++
4. Pascal
5. SIMULA
6. Smalltalk
7. Ruby
8. Python
9. PHP
10. C#
11. Delphi
12. Eiffel
13. Perl
BAB II | 29
BAB III
A. Modul 2
btnprosesActionPerformed(java.awt.event.ActionEvent
evt) {
lblnpm.setText(txtnpm.getText());
lblnama.setText(txtnama.getText());
lbljk.setText((String)cbojk.getSelectedItem());
lbltgl.setText(txttgl.getText());
BAB III | 30
lblalamat.setText(txtalamat.getText());
lblhobi.setText(txthobi.getText());
txtnpm.setText(" ");
txtnama.setText(" ");
txttgl.setText(" ");
txthobi.setText(" ");
txtalamat.setText(" ");
cbojk.setSelectedItem("Pilih");
Output :
BAB III | 31
B. Modul 3
Button Tambah
private void
btntambahMouseClicked(java.awt.event.MouseEvent evt) {
Double nilai1 =
Double.valueOf(txtinput1.getText());
Double nilai2 =
Double.valueOf(txtinput2.getText());
txthasil.setText(Hasil);
BAB III | 32
Button Kurang
private void
btnkurangMouseClicked(java.awt.event.MouseEvent evt) {
Double nilai1 =
Double.valueOf(txtinput1.getText());
Double nilai2 =
Double.valueOf(txtinput2.getText());
txthasil.setText(Hasil);
Button Kali
private void
btnkaliMouseClicked(java.awt.event.MouseEvent evt) {
Double nilai1 =
Double.valueOf(txtinput1.getText());
Double nilai2 =
Double.valueOf(txtinput2.getText());
txthasil.setText(Hasil);
BAB III | 33
Button Bagi
private void
btnbagiMouseClicked(java.awt.event.MouseEvent evt) {
Double nilai1 =
Double.valueOf(txtinput1.getText());
Double nilai2 =
Double.valueOf(txtinput2.getText());
BAB III | 34
C. Modul 4
Source code :
private void
cbojenisActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(cbojenis.getSelectedItem()=="iPad"){
txtharga.setText("4999000");
}else if(cbojenis.getSelectedItem()=="iPhone"){
txtharga.setText("7999000");
} else if(cbojenis.getSelectedItem()=="iPod"){
txtharga.setText("2999000");
}else{
txtharga.setText(" ");
}
}
BAB III | 35
Button Bayar
private void
btnbayarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
int harga = Integer.parseInt(txtharga.getText());
int jumlah =
Integer.parseInt(txtjumlah.getText());
double diskon, total, nilaidiskon;
if(cbostatus.getSelectedItem()=="Member"){
diskon = 0.05*harga;
nilaidiskon = harga-diskon;
total = nilaidiskon*jumlah;
}else{
diskon = 0;
nilaidiskon = harga-diskon;
total = nilaidiskon*jumlah;
}{
txtdiskon.setText(""+ diskon);
txttotal.setText(""+ total);
}
BAB III | 36
Output :
BAB III | 37
D. Modul 5
Source code :
package From;
/**
*
* @author Win7
*/
public class Modul5 extends javax.swing.JFrame {
int gajipokok, gajikotor, pajak, gajibersih;
int tunjanganistri, tunjangananak, jumlahanak;
String t_istri, t_anak;
String gajikotor_1, pajak_1,gajibersih_1;
BAB III | 38
private void Gaji(){
int pilihan=cbmjabatan.getSelectedIndex();
switch(pilihan){
case 0:
txtgajipokok.setText("7500000");
break;
case 2:
txtgajipokok.setText("5000000");
break;
case 3:
txtgajipokok.setText("3000000");
break;
case 4:
txtgajipokok.setText("1200000");
break;
case 5:
txtgajipokok.setText("750000");
break;
case 6:
txtgajipokok.setText("650000");
break;
}
}
BAB III | 39
private void BelumMenikah(){
tunjanganistri=0;
tunjangananak=0;
jumlahanak=0;
txttunjanganistri.setText("0");
txttunjangananak.setText("0");
txtjumlahanak.setText("0");
txttunjanganistri.setEnabled(false);
txttunjangananak.setEnabled(false);
txtjumlahanak.setEnabled(false);
}
private void Total(){
gajipokok =
Integer.valueOf(txtgajipokok.getText());
if(opsi1.isSelected()==true){
gajikotor = gajipokok + tunjangananak +
tunjanganistri;
}else{
gajikotor = gajipokok;
}
pajak = (gajikotor*10)/100;
gajibersih = gajikotor - pajak;
gajikotor_1 = String.valueOf(gajikotor);
pajak_1 = String.valueOf(pajak);
gajibersih_1 = String.valueOf(gajibersih);
txtgajikotor.setText(gajikotor_1);
txtpajak.setText(pajak_1);
txtgajibersih.setText(gajibersih_1);
}
private void BersihTeks(){
gajipokok=0;
gajikotor=0;
pajak=0;
gajibersih=0;
tunjanganistri=0;
tunjangananak=0;
jumlahanak=0;
txtgajipokok.setText("0");
txttunjanganistri.setText("0");
txtjumlahanak.setText("0");
txttunjangananak.setText("0");
txtgajikotor.setText("0");
txtpajak.setText("0");
txtgajibersih.setText("0");
}
BAB III | 40
BAB III | 41
Output :
BAB III | 41
E. Modul 6
BAB III | 42
Tampilan Pada Menu Data
BAB III | 43
Source Code :
package MDI;
import java.awt.Dimension;
import javax.swing.JInternalFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
/**
*
* @author Win7
*/
public class formutama extends javax.swing.JFrame {
private int jml;
private String judul;
/**
* Creates new form formutama
*/
public formutama() {
setTitle("MDI Form");
setExtendedState(MAXIMIZED_BOTH);
initComponents();
}
jin.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
JPanel pn = new JPanel();
jin.setBounds(10,10,500,500);
jDesktopPane1.add(jin);
jin.setVisible(true);
}catch (Exception e){
JOptionPane.showMessageDialog(null, e);
}
}
BAB III | 44
Source code pada menu Keluar
BAB III | 45
Output :
BAB III | 46
F. Modul 7
Source code :
Membuat Koneksi
package koneksi;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
/**
*
* @author Win7
*/
public class ClassDB {
private static Connection koneksi;
public static Connection getkoneksi() {
if (koneksi==null) {
BAB III | 47
try {
String url=new String();
String user=new String();
String password=new String();
url="jdbc:mysql://localhost:3306/dbjava";
user="root";
password="";
DriverManager.registerDriver(new
com.mysql.jdbc.Driver());
koneksi=DriverManager.getConnection(url,user,password);
}catch (SQLException t) {
System.out.println("Error membuat
koneksi");
}
}
return koneksi;
}
} Source code pada desain FormInputData
BAB III | 48
BAB III | 49
Output :
G. Modul 8
BAB III | 50
Source Code : ClassDB untuk koneksi ke database
package transaksi;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
/**
*
* @author Win7
*/
public class classDB {
private static Connection koneksi;
public static Connection getkoneksi(){
if (koneksi==null){
try{
String url=new String();
String user=new String();
String password=new String();
url="jdbc:mysql://localhost:3306/dbjava";
user="root";
password="1234";
DriverManager.registerDriver(new
com.mysql.jdbc.Driver());
koneksi=DriverManager.getConnection(url,user,password);
}catch (SQLException t){
System.out.println("Eror membuat
koneksi");
}
}
return koneksi;
}
}
BAB III | 51
private void invoice(){
String kode = "14000" ;
try {
Class.forName("com.mysql.jdbc.Driver");
try (Connection cn =
DriverManager.getConnection("jdbc:mysql://localhost/dbjava
", "root", "");
Statement smt = cn.createStatement()) {
String sql = "SELECT max(invoice) as iv
FROM tpenjualan";
ResultSet rs = smt.executeQuery(sql) ;
if (rs.next()) {
} else {
}
txtinvoice.setText((kode+1));
}
} catch (ClassNotFoundException |
SQLExceptione){
}
}
BAB III | 52
else {
JOptionPane.showMessageDialog(null,"Id Customer Tidak
Terdaftar","INFORMASI",JOptionPane.INFORMATION_MESSAGE) ;
txtid.setText(null);
txtnama.setText(null);
txtid.requestFocus() ;
}
}
} catch (ClassNotFoundException | SQLException |
HeadlessException e) {
}
}
BAB III | 53
p.setString(5, status);
p.setString(6, barang);
p.setString(7, harga);
p.setString(8, jumlah);
p.setString(9, diskon);
p.setString(10, bayar);
p.executeUpdate();
}
JOptionPane.showMessageDialog(this, "Invoice
Tersimpan");
}catch(SQLException e) {
System.out.println("Gagal Menyimpan " + e);
}finally{
bersih();
}
}
}
Output:
BAB III | 54
BAB IV
ANALISA HASIL PERCOBAAN
A. Modul 2
private void
btnprosesActionPerformed(java.awt.event.ActionEvent
evt) {
lblnpm.setText(txtnpm.getText());
lblnama.setText(txtnama.getText());
lbljk.setText((String)cbojk.getSelectedItem());
lbltgl.setText(txttgl.getText());
lblalamat.setText(txtalamat.getText());
lblhobi.setText(txthobi.getText());
txtnpm.setText(" ");
txtnama.setText(" ");
txttgl.setText(" ");
txthobi.setText(" ");
txtalamat.setText(" ");
cbojk.setSelectedItem("Pilih");
}
Analisa :
Source code program diletakkan di button proses karena apabila program ini
dijalankan, dan di klik proses, semua data yang kita isi di form sebelah kiri akan
berpindah ke sebelah kanan. Source code dibawah ini yang berfungsi memindahkan
teks tersebut :
BAB IV | 55
lblnpm.setText(txtnpm.getText());
lblnama.setText(txtnama.getText());
lbljk.setText((String)cbojk.getSelectedItem());
lbltgl.setText(txttgl.getText());
lblalamat.setText(txtalamat.getText());
lblhobi.setText(txthobi.getText());
Source code diatas berguna mengambil teks yang ada di sebelah kiri dengan kode
txtnpm.setText(" ");
txtnama.setText(" ");
txttgl.setText(" ");
txthobi.setText(" ");
txtalamat.setText(" ");
cbojk.setSelectedItem("Pilih");
Berfungsi sebagai pengatur teks field yang ada di sebelah kiri untuk menset form
BAB IV | 56
Data yang diisikan di form sebelah kiri berpindah ke form sebelah kanan setelah di
B. Modul 3
Button Tambah
private void
btntambahMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
Double nilai1 =
Double.valueOf(txtinput1.getText());
Double nilai2 =
Double.valueOf(txtinput2.getText());
Double hasil = nilai1 + nilai2;
String Hasil = String.valueOf(hasil);
txthasil.setText(Hasil);
}
BAB IV | 57
Analisa :
Source code diatas berfungsi apabila button tambah di click maka hasil dari
nilai pertama dan nilai kedua akan muncul. Nilai tersebut hasil dari penambahan nilai
pertama dan nilai kedua yang anda inputkan. Source code Double nilai1 =
data yang di inputkan dengan tipe data double yang dimana tipe data ini dapat
nilai2; berfungsi sebagai penambah nilai inputan pertama dengan nilai inputan
penambahan nilai yang pertama dan nilai kedua, sebelum ditampilkan inputan nilai
tersebut tipe datanya diubah ke dalam bentuk string agar bisa muncul pada text field
bagi,dan kurang. Hanya saja perbedaannya pada rumus yang diganti dengan tanda
BAB IV | 58
Output button kurang (-)
BAB IV | 59
C. Modul 4
Source code :
private void
cbojenisActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
if(cbojenis.getSelectedItem()=="iPad"){
txtharga.setText("4999000");
}else if(cbojenis.getSelectedItem()=="iPhone"){
txtharga.setText("7999000");
} else if(cbojenis.getSelectedItem()=="iPod"){
txtharga.setText("2999000");
}else{
txtharga.setText(" ");
}
}
Analisa :
Source code pada combo box diatas digunakan sebagai peemilihan item yang
ada pada cobo box. Apabila anda memilih iPad, maka harga yang tertera adalah
if(cbojenis.getSelectedItem()=="iPad"){
harag setiap item yang kita pilih. If digunakan sebagai pemilihan, apabila item yang
kita pilih benar, maka harga akan tertera per item yang dipih, dan apabila kondisi
salah, atau tidak dipilih, maka harga tidak tertera atau kosong.
BAB IV | 60
Button Bayar
private void
btnbayarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
int harga = Integer.parseInt(txtharga.getText());
int jumlah =
Integer.parseInt(txtjumlah.getText());
double diskon, total, nilaidiskon;
if(cbostatus.getSelectedItem()=="Member"){
diskon = 0.05*harga;
nilaidiskon = harga-diskon;
total = nilaidiskon*jumlah;
}else{
diskon = 0;
nilaidiskon = harga-diskon;
total = nilaidiskon*jumlah;
}{
txtdiskon.setText(""+ diskon);
txttotal.setText(""+ total);
}
}
Analisa:
Source code diatas diletakkan pada button bayar, yang berfungsi sebagai
penghitung total pembayaran dan total diskon apabila anda adalah member. Member
if(cbostatus.getSelectedItem()=="Member"){
diskon = 0.05*harga;
nilaidiskon = harga-diskon;
total = nilaidiskon*jumlah;
BAB IV | 61
Dan apabila anda bukan member, maka anda tidak mendapatkan diskon. Dengan
ketentuan : else{
diskon = 0;
nilaidiskon = harga-diskon;
total = nilaidiskon*jumlah; }
BAB IV | 62
D. Modul 5
Source code :
BAB IV | 63
Analisa:
digunakan switch case dan IF. Switch case digunakan untuk pemilihan gaji pokok
E. Modul 6
Source code :
Analisa :
Ketika menu modul 2 di klik maka akan tampil form modul 2 yang telah
dibuat sebelumnya.
Analisa :
Source code diatas berfungsi sebagai penampil modul 3 pada program. Ketika
menu modul 3 di klik maka akan tampil form modul 3 yang telah dibuat
sebelumnya.
BAB IV | 64
Source code pada menu Modul 4
Analisa :
Ketika menu modul 4 di klik maka akan tampil form modul 4 yang telah
dibuat sebelumnya.
Analisa :
Ketika menu modul 5 di klik maka akan tampil form modul 5 yang telah
dibuat sebelumnya.
BAB IV | 65
Analisa :
Source code diatas diletakkan pada menu keluar. Yang fungsinya apabila di
Analisa :
Source code diatas diletakkan pada menu New. Yang fungsinya apabila di
klik menu new maka program akan menampilkan form baru. Sehingga
menghasilkan output :
BAB IV | 66
Ketika menu Modul 2 , 3, 4, dan 5 di klik
F. Modul 7
Source code :
package koneksi;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
/**
*
* @author Win7
*/
public class ClassDB {
private static Connection koneksi;
public static Connection getkoneksi() {
if (koneksi==null) {
try {
String url=new String();
String user=new String();
String password=new String();
url="jdbc:mysql://localhost:3306/dbjava";
user="root";
password="";
DriverManager.registerDriver(new
com.mysql.jdbc.Driver());
koneksi=DriverManager.getConnection(url,user,password);
}catch (SQLException t) {
System.out.println("Error membuat koneksi");
} }
BAB IV | 67
Analisa :
Source code diatas berfungsi sebagai koneksi dari java ke database yang
Analisa :
Source code diatas dimana terdapat Method bacaId, digunakan untuk membaca field
BAB IV | 68
Analisa :
Output pada modul 7 diatas ketika di run maka id akan otomatis terisi dan button
save dan clear akan otomatis terkunci, namun ketika data telah diisi maka button
G. Modul 8
Source code :
package koneksi;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
/**
*
* @author Win7
*/
public class ClassDB {
private static Connection koneksi;
public static Connection getkoneksi() {
if (koneksi==null) {
try {
String url=new String();
String user=new String();
String password=new String();
url="jdbc:mysql://localhost:3306/dbjava";
user="root";
password="";
DriverManager.registerDriver(new
com.mysql.jdbc.Driver());
koneksi=DriverManager.getConnection(url,user,password);
}catch (SQLException t) {
System.out.println("Error membuat koneksi");
} }
Analisa :
Source code diatas berfungsi sebagai koneksi dari java ke database yang
BAB IV | 69
Source code pada desain :
Analisa :
pembelian costumer maka nomor invoice akan bertambah 1 begitu seterusnya secara
BAB IV | 70
BAB V
PENUTUP
A. KESIMPULAN
Dari hasil percobaan yang telah dilakukan dapat disimpulkan bahwa program
java yang dipakai dari beberapa modul diatas menggunakan struktur kontrol
percabangan. Pernyataan dari Java yang mengijinkan user untuk memilih dan
mengeksekusi blok kode spesifik dan mengabaikan blok kode yang lain, yaitu :
1. Statement If
if( boolean_expression )
statement;
atau
if( boolean_expression ){
statement1;
statement2;
. . .
2. Statement If-else
if( boolean_expression )
statement;
else
statement;
BAB IV | 71
statement1;
statement2;
. . .
else{
statement1;
statement2;
. . .
3. Statement If-else-if
if( boolean_expression1 )
statement1;
statement2;
else
statement3;
switch (ekspresi) {
case nilai1:
perintah1
break;
case nilai2:
perintah2
break;
case nilai3:
perintah3
break;
default:
perintah_lain
}
BAB IV | 72
Dan juga pada modul 7 dan 8 menggunakan koneksi ke database menggunakan
aplikasi XAMPP yang tersambung ke java netbeans dengan membuat terlebih dahulu
source code koneksi pada java class. Database ini akan menyimpan data – data yang
B. SARAN
Program ini dapat dikembangkan lagi kode-kode programnya dan desainnya agar
lebih baik lagi penggunaan dan manfaat dari program-program tersebut. Apabila
pembaca ingin membuat program ini menjadi lebih baik lagi, pembaca dapat
BAB IV | 73
Daftar Pustaka
1. http://kmti.umy.ac.id/?p=1299
2. http://ns.akakom.ac.id/~badi/kuliah_pemrograman_desktop/BAB%20I%20Pengena
lan%20Java%20NetBean.pdf
3. http://id.wikipedia.org/wiki/Java
4. http://www.slideshare.net/daffa12/pengenalan-netbeans
5. http://susi.staff.jak-stik.ac.id/files/pemrograman-java%5B2%5D.pdf
6. http://www.slideshare.net/MelinaKrisnawati/tugas-part-1-laporan-pbo
7. http://www.nuraini.staff.gunadarma.ac.id/.../Struktur+Perulangan+Java+Netbeans
8. http://id.wikipedia.org/wiki/Pemrograman_berorientasi_objek
BAB IV | 74