Anda di halaman 1dari 83

Kelas

LAPORAN PRAKTIKUM

TI 5Pagi B

BAHASA PEMOGRAMAN JAVA

Nama Praktikan

Tanggal

Tanda tangan

Kumpul

Pratikan

Nomor Mahasiswa

CITRA AGUSTINA

12 Desember
1314370265

DEWI

2015

Tanda tangan

Tanggal
Nama Penilai

Nilai
Koreksi

Indri Sulistianingsih
S.Kom
:
Universitas Pembangunan Panca Budi
Fakultas Ilmu Komputer
Jurusan Sistem Komputer
Medan
1

Dosen

2015

KATA PENGANTAR
Alhamdulillah puji syukur saya panjatkan kehadirat ALLAH karena berkat
rahmatnya penyusunan laporan Bahasa Pemrograman Java dapat diselesaikan dengan
tepat waktu tanpa ada halangan. Tak lupa saya juga menghaturkan terima kasih yang
sebesar-besarnya kepada semua pihak yang telah mendukung dan membantu saya
dalam menyelesaikan laporan ini.
Selain itu, untuk mempermudah pemahaman juga sebagai bahan latihan, saya
juga menyertakan contoh program Java yang dapat dipraktekkan oleh para pembaca.
Namun demikian, saya menyadari bahwa laporan masih banyak adanya kekurangan
dan masih jauh dari kesempurnaan. Oleh karena itu, penulis berharap akan kritik dan
saran dari segenap pembaca.
Demikianlah semoga laporanyang telah dibuat ini dapat bermanfaat bagia
semuanya.

Medan,

11

Desember

2014

CITRA
DEWI

AGUSTINA

DAFTAR ISI
KATA
PENGANTAR...................................................................................................... i
DAFTAR
ISI.................................................................................................................... ii
BAB I PENDAHULUAN................................................................................................
1
a.

Latar

Belakang

................................................................................................. 2
b.

Tujuan

................................................................................................... 3
c.

Manfaat

......................................................................................... 4
BAB II LANDASAN TEORI..........................................................................................
5
a.

Pernyataan

Ekspresi

......................................................................... 5
a.1

Pernyataan

....................................................................... 5

(Statement)

a.2

Ekspresi

(Ekspression)

........................................................................ 5
b.

Variabel,

Tipe

Data

dan

Literal

....................................................................... 6
b.1

Variabel

............................................................................................. 6
b.2

Tipe

...

Data
6

b.3

Literal

..................... 7
c.

Array

........ 7
d.

Operator

............................................................... 7
e. Operasi I/O Stream Sederhana .....
8
f. Pengaturan Format Output Numerik
.............................................................

g. Konversi String dan Bilangan (Number) ................


11
h. Pernyataan Penentu Keputusan......
11

i. Pernyataan Pengulagan Proses ..............


14
j. Pernyataan Pemindah Proses ..
16
BAB III (Percobaan / Praktikum) .. ..
18
3.1 Ruang Lingkup Pemograman Java .
18
3.2 Mengidentifikasi dasar-dasar program Java ..
21
3.3 Struktur Kondisi
24
3.4 Struktur Kondisi (Lanjutan) ......
26
3.5 MDI (Multi Document Interface
.............. 33
3.6 Form Input Data .
37
3.7 Form Input Data (Lanjuan) ................
42
BAB IV(Analisa Hasil Percobaan)..
51

4.1 Analisa Modul 2 ..


51
4.2 Analisa Modul 3...
51
4.3 Analisa

Modul

.... 51
4.4 Analisa

Modul

. 52
4.5 Analisa

Modul

.... 53
4.6 Analisa

Modul

. 53
4.7 Analisa

Modul

..... 54
BAB V (PENUTUP) .. ...
56
5.1 Kesimpulan...
56
5.1 Saran .....
56
DAFTAR PUSTAKA.....
57

BAB I (Pendahuluan)
Bahasa pemrograman, atau sering diistilahkan juga dengan bahasa komputer
atau bahasa pemrograman komputter adalah intruksi standar untuk memerintah
komputer. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks
dan semantiks yang dipakai untuk mendefenisikan program komputer.
Bahasa ini memungkinkan seorang programer dapat menentukan secara persis
data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/
diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam berbagai
situasi.
Menurut tingkat kedekatannya dengan mesin komputer, bahasa pemrograman terdiri
dari:
Bahasa mesin, yaitu memberikan perintah kepada komputer dengan memakai kode
bahasa binner, contohnya 01100101100110.
Bahasa Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan, yaitu
memberi perintah kepda komputer dengan memakai kode-kode singkat, contohnya
SUB, CMP, JMP, JGE,LOOP,dsb.
Bahasa Tingkat Menengah, yaitu bahasa komputer yang memakai campurann
instruksi dalam kata-kata bahasa manusia dan yang bersifat simbolik, contohnya
{,},?,<<,>>,&&,||,dsb.
Bahasa Tingkat Tinggi yaitu bahasa komputer yang memakai intruksi berasal
daari unsur kata-kata bahasa manusia, contohnya begin, end, if, for, while, and, or,

dsb. Komputer dapat mengerti bahasa manusia itu diperlukan program compiler atau
interpreter.

a. Latar Belakang
Java adalah bahasa pemograman yang berorientasi objek (OOP) dan dapat
dijalankan pada berbagai platform system operasi.Perkembangan java tidak hanya
terfokus pada satu system operasi, tetapi dikembangkan untuk berbagi system operasi
dan bersifat open source.Java berasal dari pengembangan bahasa c++ sehingga
strukturnya seperti c++.
Java sering digunakan oleh semua segmen karena mampu meraba seluruh hal,
dari pemrograman dekstop hingga pemrograman mobile (Mobile Programming) dan
java juga terkenal mudah digunakan, karena seluruh system operasi dapat
menjalankan java. Sistem operasi itu antara lain window, linux, DOS, Unix, dan lain
lain sehingga banyak pengguna pemakaian.
Java telah berkembang semula diciptakan untuk pemrograman (applet,
program computer yang telah dikompilasi menjadi bytecode,yaitu suatu keadan
program yang dapat eksekusi langsung ; tambahan didalam suatu homepage selain
gambar) yang berjalan di web browser menjadi bahasa pemrograman yang terkenal
untuk pengembangan berbagi aplikasi computer yang berjalan di beragam perangkat
mulai handled devices seperti handphone, PDA(Personal Digital Assistant) sampai
aplikai khusus yang tersebar diberbagi macam computer server.

Bahasa java merupakan bahasa sederhana, hanya terdiri beberapa struktur


yang tetap sering disebut sebagai bahasa c++ yang kurang, karena susunannya yang
lebih kecil dibandingkan bahasa c++.Namun Karena diatur secara baik, bahasa java
itu mudah diperluaskan melalui pengembangan-pengembangan untuk keperluan
khusus.
Namun bila dikaitkan dengan seluruh kemampuan yang luar biasatentu java
bukan bahasa yang sederhana, dan mudah.Walaupun begitu bila kita menyenanginya
mempelajari bahasa java tidaklah terlalu sulit.

b. Tujuan Praktikum
Sebagai syarat menyelesaikan mata kuliah Bahasa Pemograman Java.
Sebagai bahan pembelajaran mengenai Bahasa Pemograman Java.
Dapat memahami, mengerti dan mendalami yang meliputi :
1). Sekilas tentang bahasa pemograman Java
2.) Sejarah Bahasa Pemograman Java
4). Cara Kerja Java, secara umum
5). Java sebagai suatu Platform
6). Karakteristik Bahasa Pemograman Java
7). Pengenalan IDE Netbeans
8). Instalasi, Compile, dan Run File Java diComand Promt dan membuat project
sederhana.

10

c. Manfaat
Adapun beberapa manfaat dalam mempelajari java, yaitu :
1. Programan java merupakan bahasa pemrgograman berorientasi objek, mudah
dipejari, terutama untuk programmer yang sudah menguasai C atau C++.
2. Bahasa pemrograman java menganjurkan praktek membuat program yang
baik, dan automatic garbage collection membantu anda untuk menghindari
kebocoran memori. Orientasi objeknya, arsitektur komponen JavaBeans, dan
jangkauan yang luas, API yang mudah diperluas, memungkinkan anda
menggunaka kode yang ada.
3. Bahasa pemrograman java lebih mudah dari C++, pemrograman akan menjadi
2 kali lipat lebih cepat, dengan jumlah baris yang jauh lebih sedikit.

11

BAB II (Landasan Teori)


a. Pernyataan dan Ekspresi
a.1 Pernyataan (Statement)
Secara sederhana analogis dengan kalimat dalam bahasa natural.
Sebuah pernyataan membentuk unit eksekusi yang komplit (a complete unit of
execution), dapat dieksekusi oleh computer.
Eksekusi dapatdiubah menjadi pernyataan (sehingga dapat dieksekusi)
dengan mengakhiri penulisannya dengan titik koma atau semicolon (;)
Contoh :
X = 10;
Y = x+1;
Printf(&d, x);
X++;
Contoh diatas merupakan pernyataan ekspresi (ekspresi statement).
Selain itu, ada macam pernyataan lainnya, pernyataan deklarasi (declaration
statement) dan pernyataan aliran kendali (control flow statement).

12

Selain pernyataan ekspresi, ada macam pernyataan lainnya, yaitu


pernyataan deklarasi (declaration statement) dan pernyataan aliran kendali
(control flow statement)
Contoh pernyataan deklarasi :
Int x;
Char ch = A;
Pernyataan aliran kendali dapat berupa percabangan bersyarat (
selection) atau (repetition). Akan dibahas ditopik lain kelak.

a.2 Ekspresi (Expression)


Ekspresi adalah sebuah konstruksi yang tersusun dari variabel,
operator, dan pemanggilan fungsi, dapat dikonstruksikan sesuai dengan
sintaks dari bahasa pemrograman, dan dapat dievaluasi menjadi sebuah nilai.
Contoh :
X=1
Hasil = 1 + 2
1+ 2 + 3
X + y / 100 // ambiguous
(x + y) / 100 // unambiguous, recommended
Komponen utama ekspresi adalah operand dan operator. Operand
dapat berupa variabel, konstanta, nilai data konstan maupun fungsi. Setiap
operand harus memiliki nilai data. Operator adalah symbol yang mengolah
nilai pada operand dan menghasilkan satu nilai baru.

13

b. Variabel, Tipe Data, dan Liberal


b.1 Variabel
lokasi didalam memori computer yang digunakan untuk menyimpan
suatu informasi (nilai). Nilai variabel dapat diubah di pernyataan manapun
didalam program. Mendeklarasi variabel :
tipe datavariabel1 [,namaVariabel2]
contoh :
int HasilKali;
string NamaSiswa, NamaGuru, NamaAdmin;

b.2 Tipe Data

Tipe Data Primitif


Tipe data yang merupakan kata kunci di java (tertanam di compiler

Java), sehingga pemrosesan jauh lebih cepat. Menggunakan huruf kecil


(lowercase)
Contoh : int, double, byte, short, long, float, char, boolean.

2. Tipe Data Reference (Class)


Tipe data berupa class yang ada di library java (java.lang).

menggunakan huruf capital.


Contoh : String, Integer, Double.

14

b.3 Literal
literal merupakan rangkaian kata atau huruf yang menyatakan suatu
nilai. Contoh : int a = 100;
Pada contoh diatas, yang dinamakan dengan literal adalah 100, yang
merupakan bilangan bulat atau integer. Dengan banyaknya tipe data pada
pemrograman Java, maka jenis literal ini juga ada beberapa macam.
beberapa jenis literal pada Java :
1. Literal bilangan bulat
2. Literal karakter
3. Literal Boolean
4. Literal string
5. Literal null

c. Array
Array adalah sekelompok data sejenis yang disimpan kedalam variabel
dengan nama yang sama, dengan memberi indeks pada variabel untuk
membedakan antara yang satu dengan yang lain. Array di java dideklarasikan
dengan kurung siku : [..]
Variabel array : nama_variabel[indeks]
Ketentuan nama variabel array sama dengan nama variabel biasa. Indeks
menunjukkan nomor dari variabel.

15

d. Operator
Didasarkan atas jumlah operand, operator dapat dibedakan menjadi 3 jenis,
yaitu :

Unary operator, memerlukan 1 operand

Binary operator, memerluka 2 operand

Ternary operator, memerlukan 3 operand

Berdasarkan jenis operasinya, operator dalam pemrograman C dapat dikelompokkan :

Operator penugasan (assignment operator)

Operator logika

Operator aritmatika

Operator relasional

Operator bitwise

Operator pointer

e. Operasi I/O Stream Sederhana


Stream standar
1. System.in : menanganin pembacaan dari keyboard (standard input)
2. System.out : mengirimkan keluaran ke layar (standard output)
3. System.err : mengirimkan kesalahan (standard error)
Membaca input dari keyboard
Menggunakan class Scanner (java.util.Scanner) dengan method sebagai berikut :

16

1. netxtInt() : untuk menerima tipe data integer


2. nextShort() : untuk menerima tipe data short
3. nextLong() : untuk menerima tipe data long
4. nextDouble() : untuk menerima tipe data double
5. nextFloat() : untuk menerima tipe data float
6. nextLine() : untuk menerima tipe data string
7. nextBoolean() : untuk menerima tipe data Boolean
contoh perkalian Java :
public class Perkalian{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print(Masukkan bilangan pertama: );
Int bilangan1 = input.netxInt();
System.out.print(Hasil perkalian: +
(bilangan1 * bilangan2));
}
}

f. Pengaturan Format Output Numerik


Metode pengaturan format

Menggunakan Method System.out.format()


Public class testFormat {
Public static void main (String[] args0 {

17

Long n = 461012;
System.out.format(%d%n,n);
System.out.format(%08d%n,n);
System.out.format(%+8d%n,n);
System.out.format(%8d%n,n);
System.out.format(%+,8d%n%n,n);
Double pi = Math.PI;
System.out.format(%f%n,pi);
System.out.format(%.3f%n,pi);
System.out.format(%10.3f%n,pi);
System.out.format(%-10.3f%n,pi);
Calendar c = Calender.getInstance();
System.out.format(%B%te,%Y%n,c,c,c);
System.out.format(%tl:%tM%tp%n,c,c,c);
Syste.out.format(%tD%n,c);
}
}
Hasil eksekusi
461012
00461012
+461012
461,012
+461,012

18

3.141593
3.142
3.142
3.142
May 29,2006
2:34 am
05/29/06

Menggunakan DecimalFormat Clas

Public class DecimalFormatDemo {


Public static void(String[] args){
DecimalFormat formatku = new DecimalFormat(###.##);
//String output = formatku.format(45.8398767);
//system.out.printIn(formatku.format(45.8398767));
}
}
DecimalFormatDemoLengkap
Public class DecimalFormatDemoLengkap{
Static public void customFormat (String patten, double value) {
DecimalFormat myFormatter = new DecimalFormat(pattern);
String output = myFormatter.format(value);
System.output.printIn(value+ + pattern + + output);
}

19

Static public void main(String[]args) {


customFormat(###,###.###,123456.789);
customFormat(###.##,123456.789);
customFormat(000000.000,123.78);
customFormat($###,###,###,12345.67);
}
}
Hasil eksekusi
123456 ###.###.### 123,456.789 123456.789 ###.## 123456.79
123.78 000000.00 000123,780 12345.67 $###,###.### $12,345.67
123.79
g. Konversi String dan Bilangan (Number)

Konversi String ke Bilangan

String myString;
double myDbl = Double.parseDouble(myString); //konversi string ke double
Integer.parseInt(myString); //konversi string ke integer Float.parseFloat(myString);
//konversi string float
Argument untuk Menerima Input
public class LuasSegitigaArgs {
public static void main(String[] args) {
double alas= Double.parseDouble(args[0]);
double tinggi = Double.parseDouble(args[1]); double luas = (alas*tinggi)/2;
System.out.println(Luas Segitiga : + luas);

20

}
}

Konversi Bilangan ke String

double myDouble;
int myInteger;
float myFloat;
String myString = Double.toString(myDouble);
Integer.toString(myInteger);
Float.toString(myFloat);

h. Pernyataan Penentu Keputusan


1. Statement if
Pernyataan if akan menentukan sebuah pernyataan (blok kode) yang akan
dieksekusi jika dan hanya jika persyaatan bernilai benar (true). Bentuk dari
pernyataan if:
If(boolean_expression)
Statement;
Atau
If(boolean_expression) {
Statement1;
Statement2;

21

....;
}
Dimana, boolean_expression adalah sebuah pernyataan logika (true/false) atau
variabel bertipe boolean.
2. Statement if-else
Pernyataan if-else digunakan apabila ingin mengeksekusi beberapa pernyataan
dengan kondisi true dan pernyataan lain dengan kondisi false. Bentuk
statemant if-else:
If(boolean_expression)
Statement;
Else
Statement;
Dapat juga ditulis seperti ini:
If(boolean_expression) {
Statement1;
Statement2;
....;
}else{
Statement1;
Statement2;
.....;
}
3. Statement if-else-if

22

Pernyataan pada bagian kondisi else dari blok if-else dapat menjadi struktur
if-else yang lain. Kondisi dtruktur seperti ini mengijinkan kita untuk membuat
seleksi persyaratan yang lebih komplex. Bentuk statement if-else if:
If(boolean_expression1){
Statement1;
Else If(boolean_expression2) {
Statement2;
}else{
Statement3;
}
4. Statement switch
Cara lain untuk membuat cabang dengan menggunakan kata kunci switch.
Switch mengkonstruksikan cabang untuk beberapa kondisi dari nilai. Bentuk
statement switch:
Switch(switch_expression){
Case case_selector2;
Statement1;
Statement2;
......;
Break;
Case case_selector2;
Statement1;
Statement2;

23

......;
Break;
Case case_selector-n;
Statement-n;
Break;
Default;
Statement1;
Statement2;
.....;
}

i. Pernyataan Pengulagan Proses


1. For

for seringdisebut for loop, karenadigunakanuntuk proses loopingatau


pengulangan

Bentuk:
for (inisialisasi; kondisi; penaikan_penurunan){
Pernyataan
}

P e r n ya t a a n F O R . j a v a

24

public class PernyataanFOR {


public static void main(String[] args){
for(int i=1; i<11; i++){
System.out.println(i); }}}

P e r n ya t a a n F O R E n h a n c e d . j a v a
class PernyataanFOREnhanced {
public static void main(String[] args){
int[] numbers = {1,2,3,4,5,6,7,8,9,10};
for (int i : numbers) {
System.out.println(i);}}}
2. While

while digunakanuntukmelakukan proses pengulangansuatublok


pernyataanselamakondisinyabernilai true

Bentuk:
while (kondisi) {
pernyataan
}

PernyataanWHILE.java
class PernyataanWHILE {

25

public static void main(String[] args){


int i = 1;
while (i < 11) {
System.out.println(i);
i++;}} }

3. DoWhile

do while digunakanuntukmelakukan
prosespengulangansuatublokpernyataanselamakondisinyabernilai true

Pernyataandalamblok paling tidakdieksekusisatu kali

Bentuk:
do {
pernyataan
} while (kondisi);

PernyataanDOWHILE.java
class PernyataanDOWHILE {
public static void main(String[] args){ int i = 1;
do {
System.out.println(i); i++; } while (i <= 10); } }

j. Pernyataan Pemindah Proses

26

1. Return

Digunakanuntukkeluardari method

return memilikiduabentuk:
1. mengembalikannilai (sesuaidengantipe data)
2. tidakmengembalikannilai (untuk void)

Contoh:
int
perkalian(int x, int y){
return x * y;
}
void perkalian(int x, int y){ hasilKali = x * y;
return;
}
2. Break

Penyataan break digunakanuntukkeluardarisuatupengulangan(loop)

Penggunaan break bisaberbentuktanpa label atauberlabel

PernyataanBREAK.java
public class PernyataanBREAK {
public static void main(String[] args){
for(int i=1; i<11; i++){
if(i==5)

27

break;
System.out.println(i);
}} }

PernyataanBREAKLABEL.java
public class PernyataanBREAK {
public static void main(String[] args){
selesai:
for(int i=1; i<11; i++){ if(i==5)
break selesai;
System.out.println(i); }} }

3. Continue

Digunakanuntukmelanjutkaneksekusikesuatupengulangan (loop)

Bisaberbentuktanpa labelatauberlabel

Bentukcode persissamadengan break , baikuntuk yang tanpa label atauberlabel

28

BAB III
(Percobaan / Praktikum)

3.1

Ruang Lingkup Pemograman Java


Membuat program java menggunakan text editor dan console pada
environment.

29

Jalankan

software

Netbeans

melalui klik start All Programs


Netbeans .Netbeans IDE 7.3.1.

Pada menu klik File New


Project,
Categories

kemudian
pilih

pada
Java

kemudianklik Next

Pada Project Name Isikan nama aplikasi yang akan dibuat : PagiA,
kemudianhilangkan ceklist pada Set as Main Project dan Create Main Class
kemudian klikFinish.

30

Beri

nama

frame

contoh

Modul2"dan

nama

package

menggunakanspasi dalam setiap penamaan dalam project java.

kemudian klik Finish

Desain Frame seperti pada gambar berikut :

Jangan

31

Berikut adalah detail item-item yang diambil dari palette. Ganti variable name
sesuaidengan detail label dan textfield.

Objek Palette

Propertis

Nilai

JLabel1

Text

NPM

JLabel2

Text

Nama

JLabel3

Text

Jenis Kelamin

JLabel4

Text

Tanggal Lahir

JLabel5

Text

Alamat

JLabel6

Text

Hobbi

JLabel7

Text

Biodata

JTextField1

Text variable name

txtnpm

JTextField2

Text variable name

txtnpm

JTextField3

Text variable name

txttanggallahir

JTextField4

Text variable name

txtalamat

JTextField5

Text variable name

txthobbi

JComboBox

Text variable name

cbojk

Model : Pria, wanita

32

JButton1

Text variable name

btnproses

JLabel7

Text

Biodata

JLabel8

NPM
Variable name

JLabel9

Nama
Variable name

JLabel10

JLabel11

lbltl

Alamat
Variable name

JLabel13

Lbljk

Tanggal Lahir
Variable name

JLabel12

lblnama

Jenis Kelamin
Variable name

lblalamat

Hobi
Variable name

lblnpm

lblhobi

Ketikkan code program pada button proses seperti diberikut:


private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
lblnpm.setText(txtnpm.getText());
lblnama.setText(txtnama.getText());
lbljk.setText((String)cbojk.getSelectedItem());
lbltl.setText(txttl.getText());
lblalamat.setText(txtalamat.getText());
lblhobi.setText(txthobi.getText());
txtnpm.setText("");

33

txtnama.setText("");
txttl.setText("");
txthobi.setText("");
txtalamat.setText("");
cbojk.setSelectedItem("Pilih");
}

Compile program dengan mengklik menu Build> Build Main Project- Run
Program dengan mengklik menu Run> Run Main Project.

3.2

HASIL MODUL 2

Mengidentifikasi dasar-dasar program Java


Membedakan beberapa hal yang penting pada Java seperti, Java literal, tipe
data primitif, tipe data variabel, identifier dan operator.

Buatlah program dengan nama frame Modul3 yang menghasilkan output


desain frame seperti pada gambar :

34

Berikut adalah detail navigator untuk pallete dan variable name:

Palette

Properties

Nilai

jLabel1

Text

Input Nilai Pertama

jLabel2

Text

Input Nilai Kedua

jLabel3

Text

Hasil

jTextField1

Variable name

txtinput1

jTextField2

Variable name

txtinput2

jTextField3

Variable name

txthasil

JButton1

+
Variable name

JButton2

Variable name

JButton3

btnkali

/
Variable name

btnkurang

X
Variable name

JButton4

btntambah

btntambah

Masukan kode program dibawah sesuai pada 4 button dengan cara-klik kanan
button => Event => Action => Mouse=>pilih mouseClicked. Ketikan kode
program dibawah ini sesuai variable button masing masing:
private void btntambahActionPerformed(java.awt.event.ActionEvent evt) {
Integer nilai1=Integer.valueOf(txtinput1.getText());
Integer nilai2=Integer.valueOf(txtinput2.getText());
Integer Hasil3 = nilai1 + nilai2;

35

String Hasil = String.valueOf(Hasil3);


txthasil.setText(Hasil);
}

private void btnkaliActionPerformed(java.awt.event.ActionEvent evt) {


Integer nilai1=Integer.valueOf(txtinput1.getText());
Integer nilai2=Integer.valueOf(txtinput2.getText());
Integer Hasil3 = nilai1 * nilai2;
String Hasil = String.valueOf(Hasil3);
txthasil.setText(Hasil);
}

private void btnkurangActionPerformed(java.awt.event.ActionEvent evt) {


Integer nilai1=Integer.valueOf(txtinput1.getText());
Integer nilai2=Integer.valueOf(txtinput2.getText());
Integer Hasil3 = nilai1 - nilai2;
String Hasil = String.valueOf(Hasil3);
txthasil.setText(Hasil);
}

private void btnbagiActionPerformed(java.awt.event.ActionEvent evt) {


Integer nilai1=Integer.valueOf(txtinput1.getText());
Integer nilai2=Integer.valueOf(txtinput2.getText());
Integer Hasil3 = nilai1 / nilai2;
String Hasil = String.valueOf(Hasil3);
txthasil.setText(Hasil);
}

36

Compile program dengan mengklik menu Build> Build Main Project- Run
Programdengan mengklik menu Run> Run Main Project

3.3

HASIL MODUL 3

Struktur Kondisi
Menggunakan struktur kontrol pemilihan (if, else, switch) yang
digunakan untuk memilih blok kode yang akan dieksekusi

Buatlah program dengan nama frame Modul4 yang menghasilkan output


desain frame seperti pada gambar :

37

Berikut adalah propertise Variable / Item-item yang diambil dari pallete sesuai
pada desain frame diatas:

Palette 1 Edit Text

Palette 2

Variable name

Desktop Pane

Propertiies
Background : Green

Nama
jLabel1

Text Field

Txtnama

Combo Box

Cbostatus

Pembeli
Model
jLabel2

Status

Umum,

Member
Model : Pilih, iPad,
jLabel3

Jenis Barang

Combo Box

Cbojenis
iPhone, iPod

jLabel4

Harga

Text Field

Txtharga

Editable : False

jLabel5

Jumlah

Text Field

Txtjumlah

38

Event
jLabel6

Button

Btnbayar
ActionPerformed

jLabel7

Diskon

Text Field

Txtdiskon

Editable : False

jLabel8

Total Bayar

Text Field

Txttotal

Editable : False

Pada Comco Box jenis barang. Tuliskan kode program berikut:Caranya klik
kanan cbojenis => Event=>Action=>ActionPerformed
private void cbojenisActionPerformed(java.awt.event.ActionEvent evt) {
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("");
}
}

klik btnbayar (button bayar) pilih event=> action=>Actionperformed.


Tuliskan kode program berikut:
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;

39

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);
txttotalbayar.setText(""+total);
}

Kemudian jalankan program Dengan cara klik kanan pada file program
(frame) pilih Run File atau tekan Shift +

HASIL MODUL 4

40

3.4 STRUKTUR KONDISI (Lanjutan)


Menggunakan struktur kontrol pemilihan (if, else,switch) yang digunakan
untuk memilih blok kodeyang akan dieksekusi

Buatlah program dengan nama frame Modul5 yang menghasilkan output


desain frame seperti pada gambar :

Selanjutnya, tambahkan beberapa komponen pallete seperti pada tabel


berikut::

Objek Palette

Properties

Nilai

JLabel1

Text

Perhitungan Gaji

JLabel2

Text

NIP

JLabel3

Text

Nama

JLabel4

Text

Jabatan

JLabel5

Text

Gaji Pokok

JLabel6

Text

Status

JLabel7

Text

Tunjangan Istri(20% Gaji)

JLabel8

Text

Jumlah Anak

41

JLabel9

Text

Tunjangan Anak(15%Gaji)

JLabel10

Text

Gaji Kotor

JLabel11

Text

Pajak(10% Gaji)

JLabel12

Text

Gaji Bersih

JTextField1

Text

txtnip

Variable Name
JTextField2

Text

txtnama

Variable Name
JTextField3

Text

txtgajipokok

Variable Name
JTextField4

Text

txttunjanganistri

Variable Name
JTextField5

Text

txtjumlahanak

Variable Name
JTextField6

Text

txttunjangananak

Variable Name
JTextField7

Text

txtgajikotor

Variable Name
JTextField8

Text

txtpajak

Variable Name
JTextField9

Text
Variable Name

txtgajibersih

42

JRadioButton1

JRadioButton

Text

Menikah

Variable Name

Opsi1

Text

Belum Menikah

Variable Name

Opsi2

JButtonGroup1

JButton1

Text

Clear

Variable Name

btnbersih

Text

Hitung

Variable Name

btnhitung

Variable name

Cmbjabatan

Model

Direktur

JButton2

Manager
JComboBox

Kabag
Sekretaris
Karyawan
Office Boy

HASIL MODUL 5

43

Selanjutnya

tambahkan

komponenJRadioButton.

Ubah

komponen
properti

ButtonGroup
buttonGroup

pada

untuk
kedua

JRadioButton (opsi1dan opsi2) menjadi buttonGroup1.

Setelah selesai desain form. Kemudian ke tab Source dan tuliskan


kodeprogram:
public class modul5 extends javax.swing.JFrame {
int gajipokok,gajikotor,pajak,gajibersih;
//Kode program dengan awalannya int adalah variabel dideklarasikandengantipe
data Integer.
int tunjanganistri,tunjangananak,jumlahanak;
String t_istri,t_anak;
String gajikotor_1 ,pajak_1,gajibersih_1;
//Kodeprogram dengan awalannya String adalah variabel dideklarasikandengan tipe
data string
/**

44

* Creates new form modul5 */


public modul5() {
setTitle("Form perhitungan gaji pegawai");
initComponents();
}

Selanjutnya di bagian bawah dari kode perintah initComponents(); }


Ketikkan kode berikut ini:
private void Gaji(){txtgajibersih
//Method dengan namaGaji yang berfungsi untuk menampilkan
jumlahgajidengan pernyataan switch pada txtgajipokok ketika item model di
cmbjabatan dipilih.
int pilihan=cmbjabatan.getSelectedIndex();
switch(pilihan){
case 0:
txtgajipokok.setText("7500000");
break;;
case 1:
txtgajipokok.setText("5000000");
break;
case 2:
txtgajipokok.setText("3000000");
break;
case 3:
txtgajipokok.setText("2000000");
break;
case 4:

45

txtgajipokok.setText("1200000");
break;
case 5:
txtgajipokok.setText("750000");
break;
}
}

private void TunjanganAnak(){


//Method dengan namaTunjanganAnak berfungsi sebagai pernyataan kondisi

jika

tunjangan anak dapat diperoleh maksimal 2 anak setiap pegawai.


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(){
//Method

dengan

namaMenikah

digunakan

opsi1jRadioButton1 mendapat 20% tunjangan istri.

untuk

menyatakan

pilihan

46

txttunjanganistri.setEnabled(true);
txttunjangananak.setEnabled(true);
txtjumlahanak.setEnabled(true);
gajipokok = Integer.valueOf(txtgajipokok.getText());
tunjanganistri=(20*gajipokok)/100;
}
private void BersihTeks(){
//Method

dengan

namaBersihTeks,

maksudnya

yaitu

untuk

membersihkan/mengosongkan nilai pada tiap-tiap JTextField dengan tujuan untuk


memulainilai baru.
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");
}

Selanjutnya kembali lagi ke tab Desain.

Klik kanan pada JFrame setelah itu pilih Events

Windows

47

windowOpened.

Ketikkan kode perintah: BelumMenikah();


private void formWindowOpened(java.awt.event.WindowEvent evt) {
// TODO add your handling code here
BelumMenikah();
}

Klik

kanan

pada

cmbjabatan

setelah

itu

pilih

Events

=>Item

=>itemStateChanged.kemudian ketikkan kode berikut ini:


private

void

BersihTeks();
Gaji();

cmbjabatanItemStateChanged(java.awt.event.ItemEvent

evt)

48

if(opsi1.isSelected()==true){
Menikah();
}else{
BelumMenikah();
}
}

klik

kanan

jRadioButton1

Menikah

(opsi1)

lalu

events=>Action=>ActionPerformed:
private void opsi1ActionPerformed(java.awt.event.ActionEvent evt) {
Menikah();
}

klik

kanan

jRadioButton1

Menikah

(opsi1)

lalau

events=>Action=>ActionPerformed:
private void opsi2ActionPerformed(java.awt.event.ActionEvent evt) {
TunjanganAnak();
}

klik kanan pada txtjumlahanak setelah itu pilih events=>Key+>keyRealesed:


private void txtjumlahanakkeyReleased(java.awt.event.KeyEvent evt) {
BelumMenikah();
}

klik kanan btnbersih pilih Events=>Mouse=>MouseClicked:


private void btnbersihMouseClicked(java.awt.event.MouseEvent evt) {
BersihTeks();
}

klik kanan btnhitung pilih Events=>Mouse=>MouseClicked:

49

private void btnhitungMouseClicked(java.awt.event.MouseEvent evt) {


Total();
}

Compile (F9) dan Run Program melalui menu Run

Isikan NIP, Nama, dan Pilih Jabatan, Status, Jika sudah Menikah

Run (Shift + F6).

isikanJumlah anak. Setelah itu klik tombol Hitung maka total gaji
akanditampilkan.
3.5 MDI (Multi Document Interface)
Aplikasi MDI (Multiple document Interface) merupakan
aplikasi yang bisa menampilkan beberapa dokumen sekaligus.

Buat Project baru dari Netbeans .dan tentukan lokasi penyimpanan


projectatau Buka Project Sebelumnya caranya dari menu File
Project

Open

cariproject folder pada computer anda kemudian klik Open

Project.

Buat JFrame Form pada project pilih menu File

New File pilih

Projectanda, kemudian pada Categories pilih Swing GUI Forms dan pada
File Typespilih JFrame Form kemudian klik Next.

Isikan Class name FormUtama dan Pakage MDI Kemudian klik Finish.

Tambahkan JFrame baru dan beri nama Form Utama lalu kalian
tambahkanlagi komponen Desktop Pane dan JMenu Bar dan sesuaikan
dengankeinginan.

Tambahkan JMenuItem di Menu File dengan Cara klik kanan Menu File-->
Add From Palette --> Menu Item.

50

Ganti Text JMenuItem dengan 'New' caranya klik kanan JMenuItem1 -> Edit
Text

Ulangi Langkah, buat tampilannya seperti berikut :

Global

untuk

dapat

Buat
diakses

method yang ada didalamclass FormUtama.

Tambahkan perintah berikut di dalam constructor FormUtama .

Buat Method baru dengan nama "FormBaru" dengan isi berikut :


package MDI;
import java.awt.Dimension;
import javax.swing.JInternalFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class FormUtama extends javax.swing.JFrame {
private int jml;
private String judul;
public FormUtama() {
setTitle("MDI Form");
setExtendedState(MAXIMIZED_BOTH);
initComponents();
}
private void FormBaru(){

Variable
semua

51

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

Isi Perintah pada Menu New ( JMenuItem ) dengan cara Klik kanan pada
menuNew --> Events --> Action --> actionPerformed.
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here
jml = jml + 1;
judul = "Form Baru"+jml;
FormBaru();
}

Isi Perintah pada Menu Keluar (JMenuItem) dengan cara Klik kanan pada
menuNew --> Events --> Action --> actionPerformed.
private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent
evt) {
}

System.exit(0);

52

Filepilih Project anda, kemudian pada Categories pilih Swing GUI Forms dan
padaFile Types pilih JInternalFrame Form kemudian klik Next.

Isikan Class namecontohIFModul2 dan Pakage MDI kemudian klik


Finish.

Kemudian Desain persis seperti program pada modul2, atau copy paste
dengancara :

Buka

Modul2

item

yang

sebelumnya

kemudian

klik kanan Copy.

Buka

IFModul2 yang sebelumnya kemudian pilih navigator item


klik kanan Paste.

pilih

navigator

53

Lakukan hal yang sama (ikuti langkah-langkah sebelum ny) untuk membuat
filejInternalFrame Form untuk IFModul3, IFModul4, IFModul5.

Atur

Propertise

item

pada

masing-masing

InternalFrame,

pilih

navigator

klik kanan Propertise. Cheklist Closable sehingga

bernilaitrue.

Kembali

pada

FormUtama

kemudian

berikan

untukmemanggil form-form yang telah dibuat diatas.

perintah-perintah

54

Isi Perintah pada Menu Modul2 (JMenuItem) dengan cara Klik kanan
padamenu New --> Events --> Action --> actionPerformed.
private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {
IFModul2 form2 = new IFModul2();
jDesktopPane1.add(form2);
Dimension parentSize =jDesktopPane1.getSize();
Dimension childSize =form2.getSize();
form2.setLocation((parentSize.width - childSize.width)/2,
(parentSize.height-childSize.height)/2);
form2.setVisible(true);
}

Isi Perintah pada Menu Modul3 (JMenuItem) dengan cara Klik kanan
padamenu New --> Events --> Action --> actionPerformed.
private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {
IFModul3 form3 = new IFModul3();
jDesktopPane1.add(form3);
Dimension parentSize =jDesktopPane1.getSize();
Dimension childSize =form3.getSize();
form3.setLocation((parentSize.width - childSize.width)/2,
(parentSize.height-childSize.height)/2);
form3.setVisible(true);
}

Isi Perintah pada Menu Modul4 (JMenuItem) dengan cara Klik kanan
padamenu New --> Events --> Action --> actionPerformed:
private void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {
IFModul4 form4 = new IFModul4();

55

jDesktopPane1.add(form4);
Dimension parentSize =jDesktopPane1.getSize();
Dimension childSize =form4.getSize();
form4.setLocation((parentSize.width - childSize.width)/2,
(parentSize.height-childSize.height)/2);
form4.setVisible(true);
}

Isi Perintah pada Menu Modul5 (JMenuItem) dengan cara Klik kanan
padamenu New --> Events --> Action --> actionPerformed.
private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
IFModul5 form5 = new IFModul5();
jDesktopPane1.add(form5);
Dimension parentSize =jDesktopPane1.getSize();
Dimension childSize =form5.getSize();
form5.setLocation((parentSize.width - childSize.width)/2,
(parentSize.height-childSize.height)/2);
form5.setVisible(true);
}

Run Program melalui FormUtama menu Run

Run File (Shift + F6).

56

graman Java UNPAB


3.6 Form Input Data
Berikut ini adalah cara untuk membuat program input data customer dari Java
dan
Netbeans dan menggunakan database MySQL

Buatlah database dan tabel terlebih dahulu :


CREATE DATABASE dbjava;
USE dbjava;
CREATE TABLE tcustomer (
id VARCHAR(6) PRIMARY KEY,
nama VARCHAR(25),
nohp VARCHAR(14),
alamat VARCHAR(100));

57

Buat Project baru dengan pilihan kategori Java Aplication, kemudian beri
namaProgramPenjualan. Jika sudah klik Finish.

Buatlah Pakage baru caranya, klik kanan Project, New -> Java Pakage.
Berinama koneksi, kemudian klik Finish.

Buatlah JClass caranya, klik kanan pakage koneksi, New -> Java Class.
Berinama ClassDB, kemudian klik Finish.

Di bagian bawah kode public class ClassDB {. ketikkan kode berikut ini:
package koneksi;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
/**
*
* @author lako
*/
public class ClassDB {
private static Connection koneksi;
public static Connection getkoneksi(){

58

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="admin";
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
koneksi=DriverManager.getConnection(url,user,password);
}
catch (SQLException t) {
System.out.println("Error Membuat Koneksi");
}
}
return koneksi;
}
}

Buatlah JFrame Form caranya, klik kanan Project, New -> JFrame Form.
Berinama FrmInputData dan nama pakage gui, kemudian klik Finish

Selanjutnya, tambahkan beberapa komponen seperti yang ada di dalam


tabelberikut ini:

Objek

Properties

Nilai

jDekstopPane1

Background

Yellow

jPanel1

Border

Title Border = Data Customer

59

JLabel1

Text

ID

JLabel2

Text

Nama

JLabel3

Text

No HP

JLabel4

Text

Alamat

JTextField1

Text

Txtid

Variable name
JTextField2

Text

Txtnama

Variable name
JTextField3

Text

Txthp

Variable name
JTextArea

Text

Txtalamat

Variable name
JButton1

JButton2

Text

Save

Variable name

Btnsave

Text

Clear

Variable name

Btncler

Susunan posisi dan ukuran komponen seperti pada gambar berikut:

60

Selanjutnya Ketikkan kode berikut ini:


public FormInputData() {
initComponents();
bacaId();
txtid.setEnabled(false);
btnsave.setEnabled(false);
}
private void bacaId() {
int kode = 0;
try{
Class.forName("com.mysql.jdbc.Driver");
try

(Connection

=DriverManager.getConnection("jdbc:mysql://localhost/dbjava","root","");
Statement smt = cn.createStatement()){
String sql ="Select max(Id) as kd FROM tcustomer";
ResultSet rs = smt.executeQuery(sql);
if (rs.next()){
kode = rs.getInt("kd");
}else{
}
txtid.setText("000" +(kode+1));
}
catch (ClassNotFoundException | SQLException e) {
}

cn

61

Deklarasikan class import berikut :


Package gui;
Import java.sql.*;
Import javax.swing.JOptionPane;
Import koneksi.ClassDB;

private void simpan() {


String id = this.txtid.getText();
String nama = this.txtnama.getText();
String nohp = this.txthp.getText();
String alamat = this.txtalamat.getText();
String st = "Free";
if ("".equals(this.txtid.getText()) || ("".equals(this.txtnama.getText()))
|| ("".equals(this.txthp.getText())) ||
("".equals(this.txtalamat.getText()))) {
JOptionPane.showMessageDialog(this, "Lengkapi data");
} else {
try {
Connection c = ClassDB.getkoneksi();
Statement s = c.createStatement();
String sql = "Insert into tcustomer values (?,?,?,?)";
try (com.mysql.jdbc.PreparedStatement
p= (com.mysql.jdbc.PreparedStatement) c.prepareStatement(sql))
{
p.setString(1, id);
p.setString(2, nama);

62

p.setString(3, nohp);
p.setString(4, alamat);
p.executeUpdate();
}J
OptionPane.showMessageDialog(this, "Sukses Tambah data");
} catch (SQLException e) {
System.out.println("Terjadi kesalahan " + e);
} finally {
bersih();
}
}
}

Selanjutnya di bagian bawah kode perintah:


private void () {
bacaId();
txtnama.setText(null);
txthp.setText(null);
txtalamat.setText(null);
btnsave.setEnabled(false);
btnclear.setEnabled(false);
txtid.setEnabled(false);
}

Klik kanan pada btnsave setelah itu pilih Events -> Action ->
actionPerformed.Ketikkan kode perintah:

63

simpan();

-Klik kanan pada btnclear setelah itu pilih Events -> Action ->
actionPerformed:
bersih();

Klik kanan pada txtnama setelah itu pilih Events -> Key -> KeyTyped:
btnsave.setEnabled(true);
btnclear.setEnabled(true);

-Tambahkan Library konektor MySQL caranya : klik kanan folder Libraries >Add Library -> pilih MySQL JDBC Driver, -> Add Library.

Kompile dan jalankan dari menu Run -> Run File atau tekan Shift + F6.

Id akan otomatis terisi. Isikan Nama, No HP, Alamat kemudian pilih


tombolSimpan.

3.7 Form Input Data (Lanjutan)


Membuat program input data transaksi dariJava dan Netbeans dan
menggunakan database MySQL. Namun sebelum itu anda
telah menyelesaikan dan menyiapkan program sebelumnya:

Buatlah database dan tabel terlebih dahulu :


CREATE DATABASE dbjava;
USE dbjava;
CREATE TABLE tpenjualan (
invoice VARCHAR(12) PRIMARY KEY,

64

tanggal DATE,
id VARCHAR(6),
nama VARCHAR(30),
status VARCHAR(15),
barang VARCHAR(30),
harga VARCHAR(12),
jumlah VARCHAR(6),
diskon VARCHAR(12),
bayar VARCHAR(12)
)

Buat Project baru dengan pilihan kategori Java Aplication, kemudian beri
namaModul8. Jika sudah klik Finish.

Buatlah Pakage baru caranya, klik kanan Project, New -> Java Pakage. Beri
nama koneksi, kemudian klik Finish.

Buatlah JClass caranya, klik kanan pakage koneksi, New -> Java Class.
Berinama ClassDB, kemudian klik Finish.

Tambahkan Library konektor MySQL caranya : klik kanan folder Libraries ->

65

Add Library -> pilih MySQL JDBC Driver, -> Add Library

Di bagian bawah kode public class ClassDB {. ketikkan kode berikut ini:
package koneksi;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ClassDB {
private static Connection koneksi;
public static Connection getkoneksi(){
if (koneksi==null) {
try{
tring url=new String();
String user=new String();
String password=new String();
url=jdbc:mysql://localhost:3306/dbjava;
user=root;
password=1234;
Driver Manager.registerDriver(new com.mysql.jdbc.Driver()):
koneksi:Driver Manager.getConnection(url,user,password);
} atcth (SQLException t) {
System.out.println(Error membuat konneksi);
}
}
return koneksi;
}}

Buatlah JFrame Form caranya, klik kanan Project, New -JFrame Form. Beri

66

nama FormTransaksi dan nama pakage gui, kemudian klik Finish.

Selanjutnya, tambahkan beberapa komponen seperti yang ada di dalam tabel


berikut ini:

Objek

Propertis

Nilai

jDekstopPane1

Background

Red

JLabel1

Text

Tanggal

JLabel2

Text

Invoice

JLabel3

Text

Id Customer

JLabel4

Text

Nama

JLabel5

Text

No Hp

JLabel6

Text

Alamat

JLabel7

Text

Status Member

JLabel8

Text

Jenis Barang

JLabel9

Text

Harga

JLabel10

Text

Jumlah

JLabel11

Text

Diskon

JLabel12

Text

Total Bayar

JTextField1

Variable name

Txttanggal

JTextField2

Variable name

Txtinvoice

JTextField3

Variable name

Txtnama

JTextField4

Variable name

Txthp

67

JTextArea1

Variable name

Txtalamat

JComboBox1

Variable name

Cbostatus

JComboBox2

Variable name

Cbojenis

JTextField6

Variable name

Txtharga

JTextField7

Variable name

Txtjumlah

JTextField8

Variable name

Txtdiskon

JTextField9

Variable name

txttotal

JButton1

Text

Bayar

Variable name

Btnbayar

Text

Simpan

Variable name

BtnSimpan

JButton2

.Susun komponen seperti pada gambar berikut:

Deklarasikan class import berikut :

68

package gui;
import java.awt.MeadlessException;
import java.sql;
import java.text.SimpleDataFormat;
import java.util.Date;
import javax.swing.JOptionPane;
import koneksi.ClassDB;

Selanjutnya Ketikkan kode berikut ini:


public class FrmTransaksi entends javax.swing.JFrame {
public FrmTransaksi() {
initComponents();
invoice();
Date current = new Date ();
SimpleDateFormat frmt = new SimpleDateFormat (dd/MM/yyyy);
String dataString1 = frmt.format(current);
txttanggal.setText(dateString1);
}

Lanjutkan ketik dibahwahnya kode berikut :


private void invoice(){
//Keterangan Kode: Method dengan nama invoice, digunakan untuk mencari data id
invoice pada database tpenjualan.
String kode = "14000" ;
try {
Class.forName("com.mysql.jdbc.Driver");
try (Connection cn =
DriverManager.getConnection("jdbc:mysql://localhost/dbjava", "root", "");
Statement smt = cn.createStatement()) {

69

String sql = "SELECT max(invoice) as iv FROM tpenjualan";


ResultSet rs = smt.executeQuery(sql) ;
if (rs.next()) {
} else {
}
txtinvoice.setText((kode+1));
}
} catch (ClassNotFoundException | SQLException e) {
}
}

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"));
} else {
JOptionPane.showMessageDialog(null,"Id Customer Tidak
Terdaftar","INFORMASI",JOptionPane.INFORMATION_MESSAGE) ;
txtid.setText(null);

70

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();
String barang=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())) ||
("".equals(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");

71

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

72

private void bayar(){


txtjumlah.setText("1");
int harga=Integer.parseInt(txtharga.getText());
int jumlah=Integer.parseInt(txtjumlah.getText());
int diskon, nilaidiskon, total ;
if(cbostatus.getSelectedItem()=="Silver"){
diskon = ((5 * harga)/100);
nilaidiskon = harga - diskon ;
total = (nilaidiskon * jumlah) ;
}else{
diskon = ((20 * harga)/100);
nilaidiskon = harga - diskon ;
total = (nilaidiskon * jumlah) ;
}
txtdiskon.setText(""+diskon);
txttotal.setText(""+total);
}
private void bersih(){
invoice();
txtid.setText(null);
txtnama.setText(null);
txthp.setText(null);
txtalamat.setText(null);
cbostatus.setSelectedItem("Pilih");
txtharga.setText(null);
txtjumlah.setText("1");
txtdiskon.setText(null);

73

txttotal.setText(null);
}

Klik kanan pada cbojenis setelah itu pilih Events -> Action ->
actionPerformed.
Ketikkan kode perintah:
private void cbojenisActionPerformed(java.awt.event.ActionEvent evt) {
//TODO add your handling code here :
if(cbojenis.getSelectedItem()==iPad){
ttxtharga.setText(4999000);
}else if (cbojenis.getSelectedItem()==iPhone){
txtharga.setText(7999000);
}else if (cbojenis.getSelectedItem()==iPod){
txtharga.setText(2999000);

}else{
txtharga.setText();
}
}

Klik kanan pada btnbayar setelah itu pilih Events -> Action ->
actionPerformed
Private void btnbayarActionPerformed(java.awt.event.ActionEvent evt) {
///TODO add your handling code here:
bayar();
}

Klik kanan pada txtnama setelah itu pilih Events -> Action -> MouseClicked:

74

private void txtnamaMouseClicked(java.awt.event.MouseEvent evt) {


//TODO add your handling code here:
cariId();
}
private void txtnamaMouseReleased(java.awt.event.MouseEvent evt) {
//TODO add your handling code here:
cariId();
}

Klik kanan pada btnsimpan setelah itu pilih Events -> Action >actionPerformed. Ketikkan kode perintah:
private void btnsimpanActionPerformed(java.awt.event.MouseEvent evt) {
//TODO add your handling code here:
simpan();
bersih();
}

Kompile dan jalankan dari menu Run -> Run File atau tekan Shift + F6.

75

BAB IV
(Analisa Hasil Percobaan)
4.1 Analisa Modul 2
Ketikan

ditekan

Button

proses,

(txtnpm,txtnama,cbojk,txttgl,txtalamat

proses
dan

akan

txthobi)

memindahkan
ke

dalam

input
label

(lblnpm,lblnama,lbljk,lblalamat, dan lblhobi)

4.2 Analisa Modul 3

Ketika ditekan ditekan button (+),(-),(*), program akan melakukan


perhitungan aritmatika seperti yang telah dideklarasikan. Input pertama
sebagai nilai1 dan input kedua adalah nilai2 dan ditampilkan dengan syntax
Tampil.
Integer nilai1 = Integer.valueOf(txtinput1.getText());
Integer nilai2 = Integer.valueOf(txtinput2.getText());
Integer Total = nilai1+nilai2;
String Tampil = String.valueOf(total);
Txthasil.setText(Tampil);

Ketika ditekan Button (/) input pertama sebagai (float) dan input kedua
sebagai nilai2(float) dan ditampilkan dangan syntax Tampil untuk
menampilkan bilangan berkoma :
Float nilai1 = Float.value(txtinput1.getText());

76

Float nilai2 = Float.value(txtinput2.getText());


Float Total = nilai1/nilai2;
String tampil = String.valueOf(Total);
Txthasil.setText(Tampil);

4.3 Analisa Modul 4

Jika cbojenis barang ;


iPhone, maka txtharga akan menampilkan harga = 7999000
iPad, maka txtharga akan menampilkan harga = 4999000
iPod, maka txtharga akan menampilkan harga = 2999000

Ketika diklik button bayar, maka program akan melakukan proses.


Jika Member dan iPhone
Txtdiskon=0.05*7999000
Txttotal=7999000*jumlah-txtdiskon

4.4 Analisa Modul 5

Jika dipilih cbojabatan :


Direktur, maka txtgaji akan menampilkan = 7500000
Manager, maka txtgaji akan menampilkan = 5000000
Kabag, maka txtgaji akan menampilkan = 3000000
Sekretaris, maka txtgaji akan menampilkan = 2000000
Karyawan, maka txtgaji akan menampilkan = 1200000

77

Office boy, maka txtgaji akan menampilkan = 750000

Jika opsi status :


Opsi 1 menikah, maka
Txtjumlahanak Enable=True
Txttunjanganistri Enable=True
Opsi2, belum menikah, maka
Txtjumlahanak Enable=false

Tunjanganistri=(20*gajipokok)/100

Tunjangananak=((15*gajipokok)/100)*jumlahanak

Ketika diklik button hitung :


Jika status Menikah jumlah anak 2
Tunjanganistri=1500000
Tunjangananak=2250000
Txtgajikotor=txtgajipokok+txttunjanganistri+txttunjangananak
Txtgajikotor=7500000+1500000+2250000
=11250000
Pajak=gajipokok*0.1
=1125000
Gajibersih=11250000-1125000
=10125000

Jika status Belum Menikah


Gaji bersih=gajipokok-gajipokok*0.1

78

=7500000-750000
=6750000

Button clear akan membersihkan data pada form

4.5 Analisa Modul 6

Ketika dipilih menu file, maka program akan mengeksekusi


Jml=jml+1;
Judul=Form Baru+jml;
Modul6();

Ketika diklik menu item Modul2, maka program akan memanggil


form IFModul2, dan begitu seterusnya untuk setiap modulnya(2-5)

Form (IFModul2-IFModul5) tidak bias dijalankan apabila tidak


menjalankan Form induknya terlebih dahulu.

4.6 Analisa Modul 7

Koneksikan

ke

Database

menggunakan

Xammp

dan

library

MySqlJDBC.

Saat load, btnsave akan bernilai Enable=False, ketika txtnama


diinputkan maka btnsave akan berubah menjadi Enable=True.

txtid akan otomatis terisi


SELECT max(Id) as kd FROM tcustomer

79

program akan menambahkan digit terakhir yang diambil dari


field Id dan menampilkan sebagai kd di table bayangan pada
database dan ditambahkan 1.

Baris berikut adalah deklarasi nama


Hostlocalhost,databasedbjava,usernameroot,password
(jdbc:mysql://localhost/dbjava,root,)

Apabila form terisi data, ketika btnsave diklik maka akan


tampil pesan Sukses tambah data

4.7 Analisa Modul 8

Invoice akan terisi otomatis dan menambahkan+1, bertujuan


agar tidak terjadi primary key yang sama.
Berikut adalah syntaxnya :
Private void Invoice(){
Txtinvoice.setEnable(false);
Try {
Class.forName(com.mysql.jdbc.Driver);
Try(Connection cn =
driverManager.getCOnnection(jdbc:mysql://localhost:3306/d
bjava.root,);
statement smt = cn.createStatement()){

80

string sql = Select invoice as iv FROM tpenjualan


Order by invoice desc;
resultSet rs = smt.executeQuery(sql);
if(rs.next()){
int invo=
integer.parseInt(rs.getString(iv))+1;
txtinvoice.setText(Integer.toString(invo));
}
Else{
Int invo=1400;
Txtinvoice.setText(Integer.toString(invo));
}
rs.close();
}
}catch(ClassNotFoundException | SQLException e){
}
}

Ketika Id Customer diinputkan sesuai, maka txtnama, txthp,


txtalamat akan terisi otomatis. Data tersebut dari database
tcustomer yang telah diinput sebelumnya pada modul7.

Jika cbojenis member dipilih :


Gold = Diskon 20% (0.2)

81

Silver = Diskon 5% (0.05)

Jika cbojenis barang :


iPhone, maka txtharga akan menampilkan harga = 7999000
iPad, maka txtharga akan menampilkan harga = 4999000
iPod, maka txtharga akan menampilkan harga = 2999000

Ketika btnsave diklik dan data yang dimasukkan telah lengkap, maka akan
tampil pesan Invoice Tersimpan.

82

BAB V (PENUTUP)
5.1 Kesimpulan
Bahasa pemrograman adalah dasar pengetahuan kita untuk mengerti dan
memahami serta membuat aplikasi, bahasa. Pemrograman yang ada didunia sangatlah
bervariasi, berdasarkan klasifikasi yang sudah ditentukan dipembahasan diatas. Dari
banyaknya penjelasan dan pembahasan, dapat kita ketahui bahwa seorang mahasiswa
teknik harus mampu menguasai dasar-dasar dari bahasa pemrograman.
Seperti saat kita membuat program melalui free pascal atau eclipse, kedua
program tersebut didesign oleh seorang programmer untuk memudahkan kita
membuat aplikasi-aplikasi yang kita inginkan.

5.1 Saran

Pelajari software atau aplikasi pembuat software

Pelajari jenis-jenis atau macam-macam bahasa pemrograman

Kembangkan kembali segala kekurangan yang masih ditemui

83

DAFTAR PUSTAKA

https://cuepricornz.wordpress.com/tutorial/pemrograman-berorientasi-objek/
http://25eundi2012tii.blogspot.in/2012/11/makalah-bahasapemrograman.html?m=1
http://www.google.com/url?q=http://achsan.staff.gunadarma.ac.id/Downloads
/filehttp://one-inspirations.blogspot.bahasa-pemrograman-java.htmlm1
s/14848/pemrograman%2Bberorientasi%2Bobjek.pdf&sa=U&ei=lueaV02IKo
qoogSEtICYCA&ved=0CBIQFjAD&usg=AFQjCNGhQkvQGMI8KW2E6lu
Ue3oa0o52UQ

Anda mungkin juga menyukai