Anda di halaman 1dari 84

LAPORAN PRAKTIKUM Kelas

SI PAGI
BAHASA PEMROGRAMAN JAVA B

Nomor Tanda tangan


Nama Praktikan Tanggal Kumpul
Mahasiswa Pratikan

Lia Anggraini 1214370307 1 Januari 2015

Tanggal Tanda tangan


Nama Penilai Nilai
Koreksi Dosen
Indri Sulistianingsih,
S.Kom

Universitas Pembangunan Panca Budi


Fakultas Teknik
Jurusan Sistem Informasi
Medan
2015
KATA PENGANTAR

Puji serta syukur kehadirat Allah Yang Maha Esa atas segala rahmat dan hidayah-

nya. Laporan praktikum Bahasa Pemrograman Java telah selesai disusun. Materi-materi

dalam laporan praktikum ini mencakup materi Bahasa Pemrograman Java dan juga aplikasi

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, 1 Januari 2015

Praktikan, Lia Anggraini

Kata Pengantar | i
Daftar Isi

Halaman

Kata

Pengantar

..............................................................................................................................................

Daftar

Isi

..............................................................................................................................................

ii - iii

BAB I

Pendahuluan

...........................................................................................................................................

...........................................................................................................................................

...........................................................................................................................................

A. Umum

............................................................................................................................

B. Latar

belakang

............................................................................................................................

Daftar Isi | ii
C. Tujuan

pratikum

............................................................................................................................

BAB II Landasan Teori tentang Bahasa Pemrograman Java

........................................................................................................................................ 4

A. Pengenalan Java dan

NetBeans

.............................................................................................................................

B. Operator

.............................................................................................................................

C. Class, Object dan

Method

.............................................................................................................................

14

D. Struktur Perulangan dan

Percabangan

.............................................................................................................................

16

E. Pemrograman Berorientasi

Objek

Daftar Isi | ii
.............................................................................................................................

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)

Daftar Isi | ii
............................................................................................................................

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)

Daftar Isi | iii


............................................................................................................................

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 Isi | iii


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.

B. Latar Belakang

BAB I | 1
Bahasa pemrograman Java terlahir dari The Green Project, yang berjalan

selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut

belum menggunakan versi yang dinamakan Oak. Proyek ini dimotori oleh Patrick

Naughton, Mike Sheridan, dan James Gosling, beserta sembilan pemrogram lainnya

dari Sun Microsystems. Salah satu hasil proyek ini adalah maskot Duke yang dibuat

oleh Joe Palrang. Pertemuan proyek berlangsung di sebuah gedung perkantoran Sand

Hill Road di Menlo Park. Sekitar musim panas 1992 proyek ini ditutup dengan

menghasilkan sebuah program Java Oak pertama, yang ditujukan sebagai pengendali

sebuah peralatan dengan teknologi layar sentuh (touch screen), seperti pada PDA

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.

Pada sekitar bulan Maret 1995, untuk pertama kali kode sumber Java versi

1.0a2 dibuka. Kesuksesan mereka diikuti dengan untuk pemberitaan pertama kali

BAB I | 2
pada surat kabar San Jose Mercury News pada tanggal 23 Mei 1995. Sayang terjadi

perpecahan di antara mereka suatu hari pada pukul 04.00 di sebuah ruangan hotel

Sheraton Palace. Tiga dari pimpinan utama proyek, Eric Schmidt dan George Paolini

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

2 Mampu membuat program Java Pada Netbeans dan menghubungkan

database pada XAMPP

3 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 seperti handphone, PDA

BAB II | 4
(Personal Digital Assistant) sampai aplikasi khusus yang tersebar di berbagai macam

komputer server.

Apakah bahasa Java itu mudah? Bahasa Javamerupakan bahasa sederhana, hanya

terdiri beberapa struktur yang tetap, sering disebut sebagai bahasa C++ yang kurang,

karena susunannya yang lebih kecil dibanding bahasa C++. Namun karena diatur

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

buatan Inprise, Microsoft ataupun Symantec yang menggunakan Just In Time

Compilers (JIT).

BAB II | 6
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.

NetBeans merupakan sebuah proyek kode terbuka yang sukses dengan pengguna

yang sangat luas, komunitas yang terus tumbuh, dan memiliki hampir 100 mitra (dan

terus bertambah!). Sun Microsystems mendirikan proyek kode terbuka NetBeans pada

BAB II | 7
bulan Juni 2000 dan terus menjadi sponsor utama. Dan saat ini pun netbeans memiliki

2 produk yaitu Platform Netbeans dan Netbeans IDE. Platform Netbeans merupakan

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

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

BAB II | 8
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).

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 :

BAB II | 9
(++), 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 diminta

BAB II | 11
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 short-circuit

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().

 Method

BAB II | 14
Metode menentukan perilaku objek, yakni apa yang terjadi ketika objek itu dibuat

serta berbagai operasi yang dapat dilakukan objek sepanjang hidupnya. Metode

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

cowok.methodKU( Bernaz );

Mahasiswa cewek = new anakTI();

cewek.mothodKU( Amelia );

BAB II | 15
Outputnya:

Methodku dengan parameter dengan nilai Bernaz di class anakSI telah dipanggil

Methodku dengan parameter dengan nilai Amelia di class anakTI telah dipanggil

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.

1.1 Statement While

BAB II | 16
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.

Bentuk pernyataan do-while,

do{
BAB II | 17
statement1;

statement2;

. . .

}while( boolean_expression );

Pernyataan di dalam do-while loop akan dieksekusi pertama kali, dan akan dievaluasi

kondisi dari boolean_expression. Jika nilai pada boolean_expression tersebut bernilai true,

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.

Contoh 3:

//one loop

BAB II | 18
// 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++)

System.out.println(i);

}
}

BAB II | 19
Hasil (output) dari contoh listing program diatas:

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

2.1 Statement If

BAB II | 21
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 :

if( boolean_expression )
statement;

BAB II | 22
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!");

2.3 Statement if-else-if

BAB II | 23
Pernyataan pada bagian kondisi else dari blok if-else dapat menjadi

struktur if-else yang lain. Kondisi struktur seperti ini mengijinkan kita untuk

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

melakukan perintah yang terdapat di sana. Jika tidak ditemui, maka program

akan melompat ke perintah yang terdapat pada pernyataan default.


BAB II | 25
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

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

BAB II | 26
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.

 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.

BAB II | 27
 Abstraksi - Kemampuan sebuah program untuk melewati aspek informasi yang

diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam

sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja,

laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam

sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau

metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk

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 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.

BAB II | 28
 Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah

kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur)

tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai

contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris,

petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data

dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi

dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut

seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut

tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi.

Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada

karena setiap objek memiliki deskripsi tugasnya sendiri.

Bahasa pemrograman yang mendukung OOP antara lain:

1. Visual Foxpro 14. Adobe Flash AS 3.0

2. Java

3. C++

4. Pascal

5. SIMULA

6. Smalltalk

7. Ruby

8. Python

9. PHP

10. C#

11. Delphi

12. Eiffel

13. Perl

BAB II | 29
BAB III

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
BAB III | 41
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 java.awt.Dimension;
import javax.swing.JInternalFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

/**
*
* @author Win7
*/
public class formutama extends javax.swing.JFrame {
private int jml;
private String judul;

/**
* Creates new form formutama
*/
public formutama() {
setTitle("MDI Form");
setExtendedState(MAXIMIZED_BOTH);
initComponents();
}

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 kosong kembali dengan kode

namavariabel.setText(" ");. 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 data double. Sedangkan tipe data

txthasil.setText(Hasil); berfungsi sebagai 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(""+ diskon); source code ini berfungsi sebagai

penampil diskon pada output program. Dan source code txttotal.setText(""+

total); berfungsi 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

Anda mungkin juga menyukai