You are on page 1of 78

LAPORAN PRAKTIKUM

BAHASA PEMROGRAMAN JAVA

Nomor

Nama Praktikan

Tanggal Kumpul

Mahasiswa

Abdul Khaliq

1314370020

Tanda tangan
Pratikan

5 Januari 2015

Tanggal

Nama Penilai

Kelas
TI5-E
SORE

Nilai

Koreksi

Indri Sulistianingsih,
S.Kom
Universitas Pembangunan Panca Budi
Fakultas Teknik
Jurusan Sistem Informasi
Medan
2015

Tanda tangan
Dosen

KATA PENGANTAR

Puji serta syukur kehadirat Allah Yang Maha Esa atas segala rahmat dan hidayahnya. Laporan praktikum Bahasa Pemrograman Java telah selesai disusun. Materi-materi
dalam laporan praktikum ini mencakup materi Bahasa Pemrograman Java dan juga
aplikasi java menggunakan Netbeans.
Laporan ini berisi tentang penyusunan program java dan translasi ke dalam bahasa
pemrograman yang di gunakan dengan di sertai alasan-alasan yang menjelaskan mengapa
struktur programnya tersusun demikian serta kolerasinya pada saat mentranslasikan ke
dalam bahasa pemrograman java.
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.

Medan, 5 Januari 2015

Abdul Khaliq

Kata Pengantar | i

Daftar Isi
Halaman
Kata Pengantar ...................................................................................................................

Daftar Isi.............................................................................................................................. ii - iii

BAB I Pendahuluan ...........................................................................................................

A. Umum .................................................................................................................

B. Latar belakang ....................................................................................................

C. Tujuan pratikum .................................................................................................

BAB II Landasan Teori tentang Bahasa Pemrograman Java .....................................

A. Pengenalan Java dan NetBeans ...........................................................................

B. Operator ..............................................................................................................

C. Class, Object dan Method ................................................................................... 14


D. Struktur Perulangan dan Percabangan ................................................................ 16
E. Pemrograman Berorientasi Objek ....................................................................... 27

BAB III Hasil Percobaan Praktikum ............................................................................... 30


A. Modul 2 : Ruang Lingkup Pemrograman Java .................................................. 30
B. Modul 3 : Dasar-Dasar Pemrograman Java ....................................................... 32
C. Modul 4 : Struktur Kondisi ................................................................................ 35
D. Modul 5 : Struktur Kondisi Lanjutan ................................................................ 38
E. Modul 6 : Multi Document Interface (MDI) ..................................................... 42
F. Modul 7 : From Input Data ................................................................................ 47
G. Modul 8 : Form Input Data Lanjutan ................................................................ 50
Daftar Isi | ii

BAB IV Analisa Hasil Percobaan ................................................................................... 54


A. Modul 2 : Ruang Lingkup Pemrograman Java .................................................. 54
B. Modul 3 : Dasar-Dasar Pemrograman Java ....................................................... 57
C. Modul 4 : Struktur Kondisi ................................................................................ 60
D. Modul 5 : Struktur Kondisi Lanjutan ................................................................ 63
E. Modul 6 : Multi Document Interface (MDI) ..................................................... 64
F. Modul 7 : From Input Data ................................................................................ 67
G. Modul 8 : Form Input Data Lanjutan ................................................................ 69

BAB V Penutup.................................................................................................................. 71
A. Kesimpulan ........................................................................................................ 71
B. Saran .................................................................................................................. 73

Daftar Pustaka .................................................................................................................... 74

Daftar Isi | iii

BAB I
PENDAHULUAN

A.

Umum
Java adalah bahasa pemrograman yang dapat dijalankan di berbagai
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 dukungan rutin-rutin aras bawah yang minimal. Aplikasi-aplikasi
berbasis java umumnya dikompilasi ke dalam p-code (bytecode) dan dapat
dijalankan pada berbagai Mesin Virtual Java (JVM). Java merupakan bahasa
pemrograman yang bersifat umum/non-spesifik (general purpose), dan secara
khusus didisain untuk memanfaatkan dependensi implementasi seminimal
mungkin. Karena fungsionalitasnya yang memungkinkan aplikasi java mampu
berjalan di beberapa platform sistem operasi yang berbeda, java dikenal pula
dengan slogannya, "Tulis sekali, jalankan di mana pun". Saat ini java merupakan
bahasa pemrograman yang paling populer digunakan, dan secara luas dimanfaatkan
dalam pengembangan berbagai jenis perangkat lunak aplikasi ataupun aplikasi
berbasis web.

BAB I | 1

B.

Latar Belakang

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 sekarang ini. Teknologi baru ini dinamai "*7" (Star Seven).

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 kalangan akademisi dan militer. Mereka menjadikan perambah (browser)
Mosaic sebagai landasan awal untuk membuat perambah Java pertama yang
dinamai Web Runner, terinsipirasi dari film 1980-an, Blade Runner. Pada
perkembangan rilis pertama, Web Runner berganti nama menjadi Hot Java.

BAB I | 2

Pada sekitar bulan Maret 1995, untuk pertama kali kode sumber Java versi
1.0a2 dibuka. Kesuksesan mereka diikuti dengan untuk pemberitaan pertama kali
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 dari Sun Microsystems bersama Marc Andreessen, membentuk Netscape.

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

Adapun tujuan pembuatan makalah ini adalah :


1

Untuk melengkapi nilai tugas mata kuliah Bahasa Pemrograman Java

Mampu membuat program Java Pada Netbeans dan menghubungkan


database pada XAMPP

Untuk mengkaji kembali pengetahuan yang telah saya dapat pada kuliah
Bahasa Pemrograman Java

BAB I | 3

BAB II
Landasan Teori tentang Bahasa Pemrograman Java

A. Pengenalan Java dan NetBeans


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
setelah mendapat ide sewaktu minum kopi.
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 untuk pemrograman applet (program komputer yang telah
dikompilasi menjadi bytecode, yaitu suatu keadaan program yang dapat dieksekusi
langsung; tambahan di dalam suatu homepage selain gambar) yang berjalan di web
browser menjadi bahasa pemrograman yang terkenal untuk pengembangan berbagai
aplikasi komputer yang berjalan di beragam perangkat mulai dari handled devices

BAB II | 4

seperti handphone, PDA (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
secara baik, bahasa Java mudah diperluas melalui pengembangan-pengembangan
untuk keperluan khusus. Namun bila dikaitkan dengan seluruh kemampuan yang luar
biasa tentu java bukan bahasa yang sederhana dan mudah. Walaupun begitu bila kita
menyenanginya, mempelajari bahasa Java tidaklah terlalu sulit.
Mengapa Mempelajari JAVA? Berdasarkan white paper resmi dari SUN, Java
memiliki karakteristik berikut :
1. Sederhana (Simple) Bahasa pemrograman Java menggunakan Sintaks mirip
dengan C++ namun sintaks pada Java telah banyak diperbaiki terutama
menghilangkan penggunaan pointer yang rumit dan multiple inheritance. Java
juga menggunakan automatic memory allocation dan memory garbage
collection.
2. Berorientasi objek (Object Oriented)
Java mengunakan pemrograman berorientasi objek yang membuat program
dapat dibuat secara modular dan dapat dipergunakan kembali. Pemrograman
berorientasi objek memodelkan dunia nyata kedalam objek dan melakukan
interaksi antar objek-objek tersebut.
3. Terdistribusi (Distributed)
Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya
libraries networking yang terintegrasi pada Java.

BAB II | 5

4. Interpreted
Program Java dijalankan menggunakan interpreter yaitu Java Virtual Machine
(JVM). Hal ini menyebabkan source code Java yang telah dikompilasi menjadi
Java bytecodes dapat dijalankan pada platform yang berbeda-beda.
5. Robust
Java mempuyai reliabilitas yang tinggi. Compiler pada Java mempunyai
kemampuan

mendeteksi

error

secara

lebih

teliti

dibandingkan

bahasapemrograman lain. Java mempunyai runtime-Exception handling untuk


membantu mengatasi error pada pemrograman.
6. Secure
Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java
memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak
digunakan untuk merusak sistem komputer yang menjalankan aplikasi
tersebut.
7. Architecture Neutral
Program Java merupakan platform independent. Program cukup mempunyai
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
yang berbeda-beda tanpa harus dikompilasi ulang.
9. Performance
Performance

pada

Java

sering

dikatakan

kurang

tinggi.

Namun

performanceJava dapat ditingkatkan menggunakan kompilasi Java lain seperti

BAB II | 6

buatan Inprise, Microsoft ataupun Symantec yang menggunakan Just In Time


Compilers (JIT).
10. Multithreaded
Java mempunyai kemampuan untuk membuat suatu program yang dapat
melakukan beberapa pekerjaan secarasekaligus dan simultan.
11. Dynamic
Java didesain untuk dapat dijalankan pada lingkungan yang dinamis.
Perubahan pada suatu class dengan menambahkan properties ataupun method
dapat dilakukan tanpa menggangu program yang menggunakan class tersebut.

2. Pengenalan NetBeans
Netbeans merupakan sebuah aplikasi Integrated Development Environment
(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 Solaris. Sebuah IDE merupakan lingkup pemrograman yang di integrasikan
ke dalam suatu aplikasi perangkat lunak yang menyediakan Graphic User Interface
(GUI), suatu kode editor atau text, suatu compiler dan suatu debugger.
Netbeans juga digunakan oleh sang programmer untuk menulis, meng-compile,
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 bahkan dynamic languages seperti PHP, JavaScript, Groovy,
dan Ruby.

BAB II | 7

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 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 framework yang dapat digunakan kembali (reusable) untuk
menyederhanakan pengembangan aplikasi deskto dan Platform NetBeans juga
menawarkan layanan-layanan yang umum bagi aplikasi desktop, mengijinkan
pengembang untuk fokus ke logika yang spesifik terhadap aplikasi.
Fitur-fitur dari Platform Netbeans, antara lain:

Manajemen antarmuka (misal: menu & toolbar)

Manajemen pengaturan pengguna

Manajemen penyimpanan (menyimpan dan membuka berbagai macam data)

Manajemen jendela

Wizard framework (mendukung dialog langkah demi langkah)

Netbeans IDE merupakan sebuah IDE open source yang ditulis sepenuhnya
dengan bahasa pemrograman java menggunakan platform netbeans. NetBeans IDE
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
mengembangkan fitur-fitur Java EE yang sudah ada (termasuk Java Persistence
support, EJB-3 dan JAX-WS). Sementara paket tambahannya, NetBeans Enterprise
Pack mendukung pengembangan aplikasi perusahaan Java EE 5, meliputi alat desain

BAB II | 8

visual SOA, skema XML, web service dan pemodelan UML. NetBeans C/C++ Pack
mendukung proyek C/C++.
Semua fungsi IDE disediakan oleh modul-modul. Tiap modul menyediakan
fungsi yang didefinisikan dengan baik, seperti dukungan untuk bahasa pemrograman
Java, editing, atau dukungan bagi CVS. NetBeans memuat semua modul yang
diperlukan dalam pengembangan Java dalam sekali download, memungkinkan
pengguna untuk mulai bekerja sesegera mungkin. Modul-modul juga mengijinkan
NetBeans untuk bisa dikembangkan. Fitur-fitur baru, seperti dukungan untuk bahasa
pemrograman lain, dapat ditambahkan dengan menginstal modul tambahan. Sebagai
contoh, Sun Studio, Sun Java Studio Enterprise, dan Sun Java Studio Creator dari
Sun Microsystem semuanya berbasis NetBeans IDE.

B. OPERATOR
1. Operator Aritmatika
Operator aritmatika digunakan untuk melakukan operasi matematika, seperti
penambahan, pengurangan, pembagian, dan modulo (atau sisa pembagian).

BAB II | 9

2. Operator Increment dan Decrement


Operator ini berfungsi untuk menghitung counter baik itu menambah dan
mengurangi nilai dari variabel bersangkutan dengan nilai 1 dan biasanya digunakan
dalam looping/perulangan. Untuk increment simbolnya :
(++), sedangkan decrement simbolnya : ().Untuk penempatanya dapat diletakan
sebelum ataupun sesudah operand/variabel. Namun fungsi penempatan akan
mempengaruhi dari proses masing-masing. Jika increment dan decrement 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 fungsi menempatkan increment dan decrement: ++A/A++ dan A/A

3. Operator Relasi
Dari kata relasi kita bisa menyimpulkan sebuah arti hubungan, sehingga
operator relasi dalam pemrograman java adalah sebuah fungsi yang membandingkan
dua nilai variabel/operand untuk menentukan keterkaitan hubungan keduanya. Hasil
kedua nilai variabel adalah true atau false ( boolean ).
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 dari operator logika diantaranya:
( &&. &, ||, |, ^, ! )

&&(logical) dan&(boolean logical) AND

|| (logical) dan | (boolean logical) inclusive OR

^ (boolean logical exclusive OR)

! ( logical NOT)

Perbedaan dari operator && (logika AND) dan & (boolean AND) ?

Operator && (logika AND) : singkatnya && akan mengeksekusi variabel


hanya sebagian dan nilai yang dicari adlah true. Jika nilai awal adalah
false maka hasil akan false dan akan mengabaikan variabel berikutnya.

Operator & (boolean AND) : kebalikan dari && yaitu akan mengeksekusi
semua variabel hingga mendapatkan nilai kembalianya. Nilai yang

BAB II | 11

diminta adalah true, walaupun nilai awal false/true operator akan tetap
mengeksekusi variabel berikutnya.
Kesimpulannya nilai pada kedua operator adalah nilai yang mengandung true
pada tiap-tiap variabelnya.
&& (Logika AND) dan && (Boolean Logika AND)
Tabel Kebenaran :

Operator kondisi AND menghasilkan "true" apabila kedua operandnya bernilai


"true". Jika salah satunya atau keduanya "false", operator ini menghasilkan "false".
Perbedaan dasar antara operator && dan & adalah bahwa && mensupport shortcircuit evaluations (atau evaluasi perbagian) ,sementara operator & tidak.

| | (Logika OR) dan | (Boolean Logika Inclusive OR)


Tabel Kebenaran :

Perbedaan dasar antara operator | | dan | adalah bahwa | | mensupport short-circuit


evaluations (atau evaluasi perbagian) ,sementara operator | tidak.

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
dievakuasi untuk menjumlahkan hasil dari suatu exclusive OR.

! (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
kebenaran operator NOT.

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, Tree, Fruit dan lain-lain

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 class yang akan dibuat sebagai instance dari class tersebut.

String str = new String();


Random r = new Random();
Pegawai p2 = new PEgawai();
Date hari = new Date();

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 reference ke instance dari class Date().

BAB II | 14

Method
Metode menentukan perilaku objek, yakni apa yang terjadi ketika objek itu dibuat
serta berbagai operasi yang dapat dilakukan objek sepanjang hidupnya. Metode
memiliki 4 (empat) bagian dasar :

1. Nama metode
2. Tipe Objek atau tipe primitive yang dikembalikan metode.
3. Daftar parameter.
4. Badan atau isi metode.

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
polymorphism tersebut, diperlukan suatu kemampuan overloading, yaitu suatu
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 diperlakukan sebagai objek dari super class tunggal.
Contoh:
Mahasiswa cowok = new anakSI();

BAB II | 15

cowok.methodKU( Bernaz );
Mahasiswa cewek = new anakTI();
cewek.mothodKU( Amelia );
Outputnya:
Methodku dengan parameter dengan nilai Bernaz di class anakSI telah dipanggil
Methodku dengan parameter dengan nilai Amelia di class anakTI telah dipanggil

D. Struktur Perulangan dan Percabangan


1. Struktur Perulangan
Struktur kontrol pengulangan adalah berupa pernyataan dari Java yang
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
Pernyataan-pernyataan diatas menciptakan loop. Loop secara berulang
mengeksekusi sebarisan instruksi yang sama sampai kondisi akhir ditemui. Dengan
kata lain, looping atau loop artinya mengulangi eksekusi blok program tertentu
sampai tercapai kondisi untuk menghentikannya (terminasi). Setiap perulangan
memiliki 4 bagian yaitu :

inisialisasi (initialization),

badan program (body)/ statement,

iterasi (iteration), dan

termination.

BAB II | 16

1.1 Statement While


Pernyataan while loop adalah pernyataan atau blok pernyataan yang diulang-ulang
sampai mencapai kondisi yang cocok.
Bentuk pernyataan while,
while( boolean_expression ){
statement1;
statement2;
. . .
}
Pernyataan di dalam while loop akan dieksekusi berulang-ulang selama kondisi
boolean_expression bernilai benar (true).
Contoh, pada kode dibawah ini,
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 memberikan pernyataan yang membuat pengulangan berhenti pada suatu kondisi.

1.2 Statement Do While


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
sedikitnya satu kali.

BAB II | 17

Bentuk pernyataan do-while,


do{
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, pernyataan di dalam do-while loop akan dieksekusi lagi.
Berikut ini beberapa contoh do-while loop:
Contoh 1:
int x = 0;
do
{
System.out.println(x);
x++;
}while (x<10);
Contoh ini akan memberikan output 0123456789 pada layar.

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.

BAB II | 18

Contoh 3:
//one loop
// statement is executed once
do
System.out.println(hello);
while (false);
Contoh di atas akan memberikan output hello pada layar.

1.3 Statement Perulangan For


Perulangan for menyediakan sarana mengulang kode dalam jumlah yang tertentu.
Pengulangan ini terstruktur untuk mengulangi kode sampai tercapai batas tertentu.
Berikut bentuk dasar perulangan for :

for(InitializationExpression; LoopCondition;
StepExpression)
statement
InitializationExpression, digunakan untuk inisialisasi variabel kendali perulangan.
LoopCondition, membandingkan variabel kendali perulangan dengan suatu nilai
batas.
StepExpression, menspesifkasikan cara variabel kendali dimodifikasi sebelum iterasi
berikutnya dari perulangan.
Contoh:
public class For1
{
public static void main(String[] args)
{
int i;
for (i = 1;i<11;i++)
BAB II | 19

System.out.println(i);
}
}

Hasil (output) dari contoh listing program diatas:


1
2
3
4
5
6
7
8
9
10

Pernyataan for-loop Bersarang


Java memungkinkan loop yang disarangkan di loop yang lain. Satu loop berada di dalam
loop yang lainnya.
Contoh:
public class Loopbersarang1{
public static void main(String[] args){
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:
*
**
*
**
*
**
*

2. Struktur Kontrol Percabangan

Struktur kontrol percabangan

adalah pernyataan dari Java yang

mengijinkan user untuk memilih dan mengeksekusi blok kode spesifik dan
mengabaikan blok kode yang lain. Jenis Percabangan pada Java terdiri dari :
1.

Statement If

2.

Statement If-else

3.

Statement If-else-if

4.

Statement Switch case

BAB II | 21

2.1

Statement If
Pernyataan if akan menentukan sebuah pernyataan (atau blok kode) yang akan

eksekusi jika dan hanya jika persyaratan bernilai benar(true).


Bentuk dari pernyataan if :
if( boolean_expression )
statement;
atau
if( boolean_expression ){
statement1;
statement2;
. . .
}

Berikut ini adalah potongan kode dari pernyataan if :


int grade = 68;
if( grade > 60 ) System.out.println("Congratulations!");
atau
int grade = 68;
if( grade > 60 ){
System.out.println("Congratulations!");
System.out.println("You passed!");
}

2.2

Statement If else
Pernyataan if-else digunakan apabila kita ingin mengeksekusi beberapa
pernyataan dengan kondisi true dan pernyataan yang lain dengan kondisi false.
Bentuk statement if-else :

BAB II | 22

if( boolean_expression )
statement;
else
statement;
dapat juga ditulis seperti,
if( boolean_expression ){
statement1;
statement2;
. . .
}
else{
}
statement1;
statement2;
. . .
Berikut ini adalah potongan kode dari pernyataan if-else :
int grade = 68;
if( grade > 60 ) System.out.println("SELAMAT!");
else System.out.println("MAAF SALAH!");
atau
int grade = 68;
if( grade > 60 ){
System.out.println("SELAMAT!");
System.out.println("ANDA LOLOS!");
}
else{
}
System.out.println("MAAF SALAH!");

BAB II | 23

2.3

Statement if-else-if
Pernyataan pada bagian kondisi else dari blok if-else dapat menjadi
struktur if-else yang lain. Kondisi struktur seperti ini mengijinkan kita untuk
membuat seleksi persyaratan yang lebih kompleks.
Bentuk statement if-else-if :

if( boolean_expression1 )
statement1;
else if( boolean_expression2 )
statement2;
else
statement3;

Sebagai catatan : Anda dapat memiliki banyak blok else-if sesudah


pernyataan if. Blok else bersifat opsional dan dapat dihilangkan. Pada contoh
yang ditampilkan di atas, jika boolean_expression1 bernilai true, maka program
akan mengeksekusi statement1 dan melewati pernyataan yang lain. Jika
boolean_expression2 bernilai true, maka program akan mengeksekusi
statement2 dan melewati statement3.

Berikut ini adalah potongan kode dari pernyataan if else if :


int grade = 68;
if( grade > 90 ){
System.out.println("Sangat Baik!");
}
else if( grade > 60 ){
System.out.println("Sangat Baik!");
BAB II | 24

}
else{
}
System.out.println("Maaf Gagal!");

2.4

Statement Switch Case


Penyataan percabangan kedua yang dimiliki Java adalah switch.
Pernyataan switch lebih jarang digunakan, tetapi sering bermanfaat apabila
kita ingin menuliskan percabangan multi arah. Pernyataan switch memiliki
bentuk sebagai berikut :
switch (ekspresi) {
case nilai1:
perintah1
break;
case nilai2:
perintah2
break;
case nilai3:
perintah3
break;
default:
perintah_lain
}

Di sini pernyataan switch akan mencari nilai ekspresi yang sesuai


dengan nilai-nilai yang didaftarkan pada pernyataan case. Jika salah satu
nilai ditemui, maka program akan melompat ke cabang case tersebut dan

BAB II | 25

melakukan perintah yang terdapat di sana. Jika tidak ditemui, maka program
akan melompat ke perintah yang terdapat pada pernyataan default.
Catatan ekspresi hanya bisa berbentuk nilai bilangan bulat (int, short,
dan sejenisnya) atau karakter, sehingga kita tidak bisa menggunakan switch
untuk mengevaluasi ekspresi yang berbentuk String.
Berikut ini adalah potongan kode dari pernyataan Switch case :
public class Grade
{
public static void main( String[] args )
{
int grade = 92;
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;
System.out.println("Sorry, you failed.");
E. Pemrograman Berorientasi Objek

BAB II | 26

Pemrograman

berorientasi

objek

(OOP)

merupakan

paradigma

pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam
paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan
logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses
data, dan mengirim pesan ke objek lainnya,
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 dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan
pendekatan OOP lebih mudah dikembangkan dan dirawat.
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 dikenali oleh seorang non-programmer sekalipun terkait dengan
domain 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 program ataupun sebaliknya.

BAB II | 27

Objek - membungkus data dan fungsi bersama menjadi suatu unit dalam
sebuah program komputer; objek merupakan dasar dari modularitas dan struktur
dalam sebuah program komputer berorientasi objek.
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
mengembangkan sebuah pengabstrakan.
Enkapsulasi - Memastikan pengguna sebuah objek tidak dapat mengganti
keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam
objek tersebut yang diberi izin untuk mengakses keadaannya. Setiap objek mengakses
interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya.
Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek
tersebut.
Polimorfisme

melalui

pengiriman

pesan.

Tidak

bergantung

kepada

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

BAB II | 28

sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam
pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang
mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.
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 objekobjek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.

Bahasa pemrograman yang mendukung OOP antara lain:


1.

Visual Foxpro

11.

Delphi

2.

Java

12.

Eiffel

3.

C++

13.

Perl

4.

Pascal

14.

Adobe Flash AS 3.0

5.

SIMULA

6.

Smalltalk

7.

Ruby

8.

Python

9.

PHP

10.

C#
BAB II | 29

BAB III
HASIL PERCOBAAN PRAKTIKUM
A. Modul 2
Judul : Ruang Lingkup Pemrograman Java
Desain Pada Jframe From

Source code : code program pada button proses


private void
btnprosesActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
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
Judul : Dasar-Dasar Pemrograman Java
Desain Pada Jframe From

Source code : Pada button + , - , * dan /

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 III | 32

Button Kurang

private void
btnkurangMouseClicked(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);
}

Button Kali

private void
btnkaliMouseClicked(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 III | 33

Button Bagi

private void
btnbagiMouseClicked(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);
}
Output : Nilai 1 + Nilai 2

BAB III | 34

C. Modul 4
Judul : Struktur Kondisi
Desain Pada Jframe From

Source code :

Combo box jenis barang


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
Judul : Struktur Kondisi Lanjutan
Desain Pada Jframe From

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;
/** Creates new form Modul5 */
public Modul5() {
setTitle("From Perhitungan Gaji Pegawai");
initComponents();
}

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;
}
}
private void TunjanganAnak (){
gajipokok =
Integer.valueOf(txtgajipokok.getText());
jumlahanak =
Integer.valueOf(txtjumlahanak.getText());
if(jumlahanak<=2){
tunjangananak=
((15*gajipokok)/100)*jumlahanak;
}else if(jumlahanak>2){
tunjangananak= ((15*gajipokok)/100)*2;
}else{
tunjangananak=0;
}
t_anak= String.valueOf(tunjangananak);
txttunjangananak.setText(t_anak);
}
private void Menikah(){
txttunjanganistri.setEnabled(true);
txttunjangananak.setEnabled(true);
txtjumlahanak.setEnabled(true);
gajipokok =
Integer.valueOf(txtgajipokok.getText());
tunjanganistri = (20*gajipokok)/100;
t_istri = String.valueOf(tunjanganistri);
txttunjanganistri.setText(t_istri);
TunjanganAnak();
}

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

Output :

BAB III | 41

E. Modul 6
Judul : Multi Document Interface (MDI)
Desain Pada Jframe From

Tampilan Menu File

BAB III | 42

Tampilan Pada Menu Data

Tampilan Pada Menu Help

BAB III | 43

Source Code :
package MDI;
import
import
import
import

java.awt.Dimension;
javax.swing.JInternalFrame;
javax.swing.JOptionPane;
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();
}
private void formbaru(){
try{
JInternalFrame jin = new
JInternalFrame(judul,false,true,true);
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);
}
}

Kemudian kembali ke desain, Isi source code menu New :

BAB III | 44

Source code pada menu Keluar

Source code pada menu Modul 2

Source code pada menu Modul 3

Source code pada menu Modul 4

Source code pada Menu Modul 5

BAB III | 45

Output :

BAB III | 46

F. Modul 7
Judul : Form Input Data
Desain Pada Jframe From

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
Judul : Form Input Data Lanjutan
Desain Pada Jframe From

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;
}
}

Source code : FormTransaksi

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){
}
}

private void cariId(){


try {
Class.forName("com.mysql.jdbc.Driver");
try (Connection cn =
DriverManager.getConnection("jdbc:mysql://localhost/dbjava
","root", "");
Statement smt = cn.createStatement()) {
String sql = "SELECT * FROM tcustomer where id
='"+txtid.getText()+"' " ;
ResultSet rs = smt.executeQuery(sql) ;
if (rs.next()) {
txtnama.setText(rs.getString("Nama"));
txthp.setText(rs.getString("nohp"));
txtalamat.setText(rs.getString("alamat"));
}

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) {
}
}

private void simpan(){


String iv=this.txtinvoice.getText();
String tgl=this.txttanggal.getText().toString();
String id=this.txtid.getText();
String nama=this.txtnama.getText();
String
status=this.cbostatus.getSelectedItem().toString();
Stringbarang=this.cbojenis.getSelectedItem().toString
();
String harga=this.txtharga.getText();
String jumlah=this.txtjumlah.getText();
String diskon=this.txtdiskon.getText();
String bayar=this.txttotal.getText();
String st="Free";
if ("".equals(this.txtinvoice.getText()) ||
("".equals(this.txttanggal.getText()))
|| ("".equals(this.txtid.getText()) ||
("".equals(this.txtnama.getText()))
||
("".equals(this.cbostatus.getSelectedItem().toString()))
||
("".eq
uals(this.cbojenis.getSelectedItem().toString()))
|| ("".equals(this.txtharga.getText())) ||
("".equals(this.txtjumlah.getText()))
|| ("".equals(this.txtdiskon.getText())) ||
("".equals(this.txttotal.getText()))))
{
JOptionPane.showMessageDialog(this, "Lengkapi data");
}else{
try {
Connection c=ClassDB.getkoneksi();
Statement s= c.createStatement();
String sql="Insert into tpenjualan values (?,?,?,?,?,
?,?,?,?,?)";
try (com.mysql.jdbc.PreparedStatement p =
(com.mysql.jdbc.PreparedStatement)
c.prepareStatement(sql)) {
p.setString(1, iv);
p.setString(2, tgl);
p.setString(3, id);
p.setString(4, nama);
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
Judul : Ruang Lingkup Pemrograman Java
Source code : Pada Button Proses
private void
btnprosesActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
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
.setText dan dipindahkan ke sebelah kanan dengan kode .getText().
Sedangkan source code :
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
yang

di

isikan

menjadi

namavariabel.setText("

kosong
");.

kembali

dengan

kode

Sehingga saat program dijalankan

tampilan menjadi seperti ini :

BAB IV | 56

Data yang diisikan di form sebelah kiri berpindah ke form sebelah kanan setelah di
klik button proses. Dan form sebelah kanan menjadi kosong.

B. Modul 3
Judul : Dasar-Dasar Pemrograman Java
Source code : Pada button + , - , * dan /

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
=

Double.valueOf(txtinput1.getText());

berfungsi

sebagai

pengambil data yang di inputkan dengan tipe data double yang dimana tipe data ini
dapat menghitung bilangan desimal. Dan source code Double

hasil

nilai1 + nilai2; berfungsi sebagai penambah nilai inputan pertama dengan


nilai

inputan

kedua

dengan

tipe

txthasil.setText(Hasil);

data

double.

berfungsi

sebagai

Sedangkan

tipe

data

penampil

hasil

dari

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
hasil

dengan

source

code

perubah

String

Hasil

String.valueOf(hasil); Begitu juga dengan source code pada button kali,


bagi,dan kurang. Hanya saja perbedaannya pada rumus yang diganti dengan tanda
masing-masing yaitu (-,*,dan /). Sehingga menghasilkan output sebagai berikut :

Output button tambah (+)

BAB IV | 58

Output button kurang (-)

Output button kali (*)

Output button bagi (/)

BAB IV | 59

C. Modul 4
Judul : Struktur Kondisi
Source code :

Combo box jenis barang


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 4999000. Dengan source kode :
if(cbojenis.getSelectedItem()=="iPad"){
txtharga.setText("4999000");.

Source kode inilah yang menentukan

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 akan mendapatkan diskon dengan bisar diskon 5% dengan source code:
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;
txtdiskon.setText(""+

penampil

diskon

pada

txttotal.setText(""+

diskon);

source code ini berfungsi sebagai

output

program.

total);

berfungsi

Dan

source

code

sebagai

penampil

total

pembayaran. Maka dihasilkanlah output :

Output ketika combo box dipilih :

BAB IV | 62

D. Modul 5
Judul : Struktur Kondisi Lanjutan
Source code :
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;
}
}
private void TunjanganAnak (){
gajipokok = Integer.valueOf(txtgajipokok.getText());
jumlahanak =
Integer.valueOf(txtjumlahanak.getText());
if(jumlahanak<=2){
tunjangananak= ((15*gajipokok)/100)*jumlahanak;
}else if(jumlahanak>2){
tunjangananak= ((15*gajipokok)/100)*2;
}else{
tunjangananak=0;
}
t_anak= String.valueOf(tunjangananak);
txttunjangananak.setText(t_anak);
}
private void Menikah(){
txttunjanganistri.setEnabled(true);
txttunjangananak.setEnabled(true);
txtjumlahanak.setEnabled(true);
gajipokok = Integer.valueOf(txtgajipokok.getText());
tunjanganistri = (20*gajipokok)/100;
t_istri = String.valueOf(tunjanganistri);
txttunjanganistri.setText(t_istri);
TunjanganAnak();
}

BAB IV | 63

Analisa:

Pada penggalan source kode modul 5 diatas, struktur percabangannya


digunakan switch case dan IF. Switch case digunakan untuk pemilihan gaji pokok
perjabatan sedangkan IF digunakan untuk menentukan tunjangan anak.

E. Modul 6
Judul : Multi Document Interface (MDI)
Source code :

Source code pada menu Modul 2

Analisa :
Source code diatas berfungsi sebagai penampil modul 2 pada program.
Ketika menu modul 2 di klik maka akan tampil form modul 2 yang telah
dibuat sebelumnya.

Source code pada menu Modul 3

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 :
Source code diatas berfungsi sebagai penampil modul 4 pada program.
Ketika menu modul 4 di klik maka akan tampil form modul 4 yang telah
dibuat sebelumnya.

Source code pada Menu Modul 5

Analisa :

Source code diatas berfungsi sebagai penampil modul 5 pada program.


Ketika menu modul 5 di klik maka akan tampil form modul 5 yang telah
dibuat sebelumnya.

Source code menu keluar :

BAB IV | 65

Analisa :
Source code diatas diletakkan pada menu keluar. Yang fungsinya apabila di
klik menu keluar maka program otomatis terhenti.

Source code pada menu New

Analisa :
Source code diatas diletakkan pada menu New. Yang fungsinya apabila di
klik menu new maka program akan menampilkan form baru. Sehingga
menghasilkan output :

Ketika Menu New di klik

BAB IV | 66

Ketika menu Modul 2 , 3, 4, dan 5 di klik

F. Modul 7
Judul : Form Input Data
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
beralamat pada ://localhost:3306/dbjava"; yang memiliki arti, terletak
pada localhost di port 3306 dengan nama database dbjava.
Source code pada desain :

Analisa :
Source code diatas dimana terdapat Method bacaId, digunakan untuk membaca
field id pada database costumer.
Sehingga dihasilkan output :

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
tersebut akan otomatis terbuka.

G. Modul 8
Judul : Form Input Data Lanjutan
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
beralamat pada ://localhost:3306/dbjava"; yang memiliki arti, terletak
pada localhost di port 3306 dengan nama database dbjava.

BAB IV | 69

Source code pada desain :


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){
}
}

Analisa :
Source code : private void

invoice(){

String

kode =

"14000" ;berfungsi sebagaikode pengisian otomatis pada invoice yang dimulai


dengan

kode

14000

dan

akan

ditambahkan

dengan

source

code

txtinvoice.setText((kode+1)); yang artinya setiap ada penambahan


pembelian costumer maka nomor invoice akan bertambah 1 begitu seterusnya
secara otomatis bertambah. Sehingga menghasilkan output :

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
Dimana bentuk pernyataan if yaitu :
if( boolean_expression )
statement;
atau
if( boolean_expression ){
statement1;
statement2;
. . .
}

2.

Statement If-else
Bentuk statement if-else :
if( boolean_expression )
statement;
else
statement;
dapat juga ditulis seperti,
if( boolean_expression ){
BAB IV | 71

statement1;
statement2;
. . .
}
else{
}
statement1;
statement2;
. . .

3.

Statement If-else-if
Bentuk statement if-else-if :
if( boolean_expression1 )
statement1;
else if( boolean_expression2 )
statement2;
else
statement3;

4.

Statement Switch case


Pernyataan switch memiliki bentuk sebagai berikut :
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 kita ketikkan pada output program dalam modul 7 dan
modul 8.

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
memodifikasi source code dan desainnya.

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

You might also like