pino rasandi 1314370209 laporan praktikum bahasa pemrograman java
Post on 29-Jan-2016
31 Views
Preview:
DESCRIPTION
TRANSCRIPT
LAPORAN PRAKTIKUMBAHASA PEMROGRAMAN JAVA
Nama Praktikan
Nomor Mahasisw
a
Tanggal Kumpul
Tanda tangan
Pratikan
Pino Rasandi 1314370209 12/12/2015
Nama PenilaiTanggal Koreksi
NilaiTanda tangan
Dosen
Indri Sulistianingsih S.Kom
Universitas Pembangunan Panca BudiFakultas Teknik
Jurusan Sistem InformasiMedan 2015
Kelas
SI 5A PAGI
KATA PENGANTAR
Puji syukur Penulis panjatkan kehadirat Tuhan Yang Maha Esa yang telah
memberikan rahmat dan karunia-Nya sehingga Penulis dapat melaksanakan sebuah
praktikum dan menyelesaikannya dengan baik hingga menjadi sebuah laporan
praktikum.
Laporan praktikum ini adalah sebuah laporan yang Penulis buat setelah Penulis
melakukan praktikum Bahasa Pemrograman Java. Laporan tersebut Penulis susun
dengan sistematis dan sebaik mungkin berdasarkan pada hasil praktikum yang
sebenarnya.
Penulis juga nengucapkan banyak terima kasih kepada pihak-pihak yang sangat
berperan penting dalam proses kegiatan praktikum ini. terutama pada Dosen
pembimbing yang sekaligus menjadi Dosen mata kuliah Bahasa Pemrograman Java
Ibu Indri Sulistianingsih S.kom, yang telah memberi bimbingan dan arahan kepada
Penulis. Tak lupa Penulis juga mengucapkan banyak terima kasih kepada teman-
teman sekalian yang telah membantu saat praktikum berlangsung.
Akhirnya , semoga laporan praktikum ini bermanfaat untuk penlitian lanjutan.
Penulis menyadari sebagai manusia tidak luput dari kekurangan. Oleh karena itu ,
Penulis akan menerima jika ada saran maupun kritik terhadap laporan praktikum yang
telah Penulis susun ini .
Medan, 12 Desember 2015
Pino Rasandi
i
DAFTAR ISI
KATA PENGANTAR................................................................................ i
DAFTAR ISI............................................................................................... ii
BAB I
1.1 Latar belakang................................................................................ 1
1.2 Tujuan............................................................................................ 2
BAB II
2.1 Pengenalan bahasa pemrograman java dan netbeans.................... 3
2.2 Operator......................................................................................... 9
2.3 Class, object dan method............................................................... 18
2.4 Struktur perulangan dan percabangan............................................ 27
2.5 Pemrograman berorientasi objek................................................... 29
BAB III
3.1 Modul 2.......................................................................................... 35
3.2 Modul 3.......................................................................................... 38
3.3 Modul 4.......................................................................................... 42
3.4 Modul 5.......................................................................................... 47
3.5 Modul 6.......................................................................................... 57
3.6 Modul 7.......................................................................................... 64
3.7 Modul 8.......................................................................................... 73
BAB IV
4.1 Hasil analisa modul 2..................................................................... 88
ii
4.2 Hasil analisa modul 3..................................................................... 88
4.3 Hasil analisa modul 4..................................................................... 88
4.4 Hasil analisa modul 5..................................................................... 89
4.5 Hasil analisa modul 6..................................................................... 89
4.6 Hasil analisa modul 7..................................................................... 90
4.7 Hasil analisa modul 8..................................................................... 90
BAB V
Kesimpulan Dan Saran................................................................................. 92
DAFTAR PUSTAKA................................................................................. 94
iii
BAB I
PENDAHULUAN
1.1 LATAR BELAKANG
Pesatnya teknologi, terutama teknologi komputer sudah tak bisadipungkiri
lagi, bagi yang mengikuti perkembangannya, ia tidak akandipandang sebelah mata.
Sebaliknya, bagi yang tidak mengikutiperkembangannya, bersiaplah untuk mundur
secara suka rela dari panggungkompetisi. Ibarat wabah, teknologi komputer sudah
menyusupi hampir semuabidang kehidupan manusia. Dari pemerintah pusat sampai
tingkat pemerintah desa, perusahaan-perusahaan, supermarket, minimarket,
perguruan tinggi,SLTA, SLTP, bahkan SD hamper semuanya mengenal komputer.
Saat ini, yang mempunyai lingkungan yang semakin luas dan banyak
diminati, juga dapat digunakan untuk menghasilkan uang adalah dunia pemrograman
komputer. Dalam dunia pemrograman komputer, dikenal banyak bahasa
pemrograman, seperti C, C++, Pascal, Basic, Java, dan lain-lain. Di antara banyaknya
bahasa pemrograman, Java adalah salah satu yang paling diminati. Oleh karena
itulah, yang akan dibahas dalam makalah iniadalah bahasa pemrograman Java.
Java adalah bahasa pemograman berorientasi objek yang dikembangkan oleh
Sun Microsystems sejak tahun 1991. Bahasa ini dikembangkan dengan model yang
1
mirip dengan bahasa C++ dan Smalltalk, namun dirancang agar lebih mudah dipakai
dan platform independent, yaitu dapat dijalankan di berbagai jenis sistem operasi dan
arsitektur komputer. Bahasa ini juga dirancang untuk pemrograman di Internet
sehingga dirancang agar aman dan portabel. Bahasa Java sendiri memiliki library
yang cukup besar yang dapat mempermudah Anda dalam membuat sebuah aplikasi
dengan cepat. Library ini sudah mencakup untuk grafik, desain user interface,
kriptografi, jaringan, suara, database, dan lain-lain.
1.2 TUJUAN
Adapun dan tujuan dari penulisan laporan ini ialah
1. Untuk lebih menambah wawasan penulis tentang aplikasi Java
2. Agar penulis bisa mempelajari dan mendalami tentang aplikasi Java dan
komponen - komponen di dalamnya
3. Untuk mengasah kemampuan penulis dalam bidang aplikasi Java
4. untuk menyelesaikan mata kuliah bahasa pemrograman java
5. Sebagai syarat untuk menyelesaikan mata kuliah Bahasa Pemrograman Java.
2
BAB II
LANDASAN TEORI
2.1 Pengenalan Bahasa Pemrograman Java dan Netbeans
Bahasa pemrograman java diciptakan pada tahun 1991 oleh James Gosling et al.
Dari Sun Microsystems. Bahasa pemrograman java pada awalnya disebut dengan
istilah Oak yang diambil dari nama pohon diluar jendela Gosling setelah itu namanya
berubah menjadi Java dikarenakan sudah ada bahasa lain yang bernama Oak.
Motivasi awal dari terbentuknya java ialah dikarenakan kebutuhan terhadap
platform bahasa yang bersifat free, yang dapat di-implementasikan pada produk
elektronik untuk konsumen seperti toaster dan kulkas. Salah satu proyek pertama
yang dibangun dengan menggunakan java ialah remote control hand-held pribadi
yang bernama Star 7. Pada saat yang sama, World Wide Web dan Internet sedang
populer, Gosling et. al. menyadari bahwa Java bisa juga digunakan untuk
pemrograman pada Internet.
Yang termasuk teknologi Java diantaranya:
Bahasa Pemrograman
3
Sebagai bahasa pemrograman, selain dapat digunakan untuk menciptakan
berbagai macam aplikasi, Java juga dapat digunakan sebagai bahasa
pemrograman biasa.
Development Environment
Sebagai Development Environment, teknologi Java menyediakan berbagai
fasilitas untuk Compiler, Interpreter, Documentation Generator, Class File
Packaging Tool .
Application Environment & Deployment Environment
Aplikasi Java merupakan Program khusus yang dapat berjalan pada mesin
apapun, yang telah memiliki Java Runtime Environment (JRE).
Ada 2 Deployment Environment yang utama :
1. JRE didapat dari Java 2 Software Development Kit (SDK), yang didalamnya
terdapat kumpulan lengkap file class dari semua package Teknologi Java,
termasuk class bahasa basic, class komponen GUI dan lain – lain.
2. Yang utama pada Deployment Environment lainnya adalah pada web
browser. Sebagian besar browser komersial menyediakan penerjemah /
interpreter untuk Teknologi Java dan Runtime Environment
Beberapa fitur Java diantaranya:
1. Java Virtual Machine (JVM)
4
Merupakan mesin virtual yang diimplementasikan oleh software sehingga
menyamai mesin yang sebenarnya, selain itu juga menyediakan spesifikasi
platform perangkat keras yang dapat meng-compile semua program Java.
2. Garbage Collection
Memiliki fungsi yaitu bertanggung jawab untuk mengosongkan memori,
pengosongan memori terjadi secara otomatis selama masa aktif dari program
java. Programmer dibebaskan dari beban untuk mengalokasikan kembali
memori itu sendiri.
3. Code Security
Code Security disampaikan di Java melalui implementasi dari Java Runtime
Environment (JRE), JRE menjalankan kode yang telah ter-compile dari JVM
dan menampilkan class loading (melalui class loader), memverifikasi kode
(melalui bytecode verifier) dan yang terakhir adalah mengeksekusi kode.
Fase Program Java diantaranya:
5
Gambar 1
menjelaskan proses compiling and executing pada program Java
Gambar 2
menjelaskan Fase – Fase pada Program Java
(Write, Compile, Run)
Panduan penulisan Program dengan menggunakan Java diantaranya:
1. Setiap Program Java harus disimpan sebagai file yang diakhiri dengan
ekstensi.java
2. Nama file harus sama dengan nama dari class public.
3. Comment sebaiknya ditulis untuk menjelaskan perilaku dari sebuah class, atau
prilaku dari sebuah method.
4. Untuk membuat block, tempatkan kurung kurawal buka, satu baris setelah
deklarasi block, contohnya “ public static void main(String[] args){ “atau
6
tambahkan pada baris berikutnya, seperti, “ public static void main ( String[]
args){ “
5. Statement sebaiknya dimasukkan pada baris selanjutnya, setelah awal dari
block.
6. Untuk penamaan class, gunakan huruf kapital pada huruf awal dari nama
class.
7. Untuk penamaan method dan variabel, gunakan huruf kecil diawal nama.
8. Pada saat memberikan nama identifier lebih dari satu kata , gunakan huruf
kapital untuk menunjukkan huruf awal dari kata selanjutnya kecuali kata awal.
9. Hindari penggunaan garis bawah pada awal identifier seperti “_read
atau_write”
Integrated Development Environment (IDE) merupakan Environment
pemrograman yang terintegrasi pada aplikasi, menyediakan developer GUI, Text atau
Code Editor , Compiler / Interpreter dan debugger.
Langkah 1 : Menjalankan Netbeans
1. Melalui Command – Line menggunakan terminal dengan meng-klik tombol
shortcut yang ada pada menu.
2. Menjalankan Netbeans menggunakan Terminal, dengan cara buka terminal
dan ketikkan netbeans.
3. Klik shortcut netbeans pada desktop.
7
Langkah 2 : Membuat Project
Untuk membuat project, klik pada “ File -> New Project “ kemudian Dialog
New Project muncul. Pada Panel bagian kanan pada dialog project, Klik pada
Aplikasi Java dan klik pada Tombol “Next”, dialog Aplikasi Baru akan muncul, edit
pada nama projectnya dan ketikkan “HelloApplication”. Ubahlah lokasi dari
Aplikasi dengan meng-klik tombol BROWSE. Pilih lokasi project, dan kotak dialog
akan muncul, klik dua kali pada folder root. Isi dari folder root akan muncul,
sekarang klik dua kali folder MYJAVAPROGRAMS dan klik pada tombol “Open”.
Yang terakhir pada TextField Create Main Class, tuliskan Hello sebagai nama main
class, dan kemudian klik tombol “Finish”.
Langkah 3 : Tulis Program
Langkah 4 : Compile Program
Untuk meng- Compile program klik pada : “Build -> Build Main Project“ jika
tidak ada error pada program, maka akan muncul successful message pada window
output.
Langkah 5 : Jalankan Program
Untuk menjalankan program, klik pada : “Run -> Run Main Project” setelah itu
hasil output dari program akan ditampilkan pada windows output.
8
2.2 Operator
Beberapa Tipe Operator diantaranya;
Arithmetic Operator
Relation Operator
Logical Operator
Conditional Operator
Operator – operator tersebut memiliki ciri – ciri tertentu sehingga compiler bisa
mengetahui operator mana yang akan dievaluasi terlebih dahulu pada saat beberapa
operator digunakan pada satu statement.
1. Arithmetic Operator
9
Gambar 1
Arithmetic Operator
Ketika nilai integer dan angka floating-point digunakan sebagai operand pada
operasi arithmatika, hasilnya akan menjadi floating point. Nilai secara implisit integer
diubah menjadi nilai floating-point sebelum operasi berlangsung.
2. Operator Increment & Decrement
Increment & Decrement Operator akan menambah dan mengurangi nilai dengan
1. Unary Increment Operator (++) sedangkan Unary Decrement Operator (--). Contoh
ekspresi berikut ini:
Count=count + 1;
//increment the value of count by 1
adalah sama dengan,
count++;
10
Gambar 2
Increment & Decrement Operator
Operator Increment dan Decrement dapat diletakkan sebelum atau sesudah
operand. Ketika digunakan sebelum operand hal ini akan membuat variabel ditambah
atau dikurangi dengan nilai 1, dan selanjutnya nilai yang baru akan digunakan pada
ekspresi selanjutnya.
3. Relational Operator
Operator Relational digunakan untuk membandingkan beberapa nilai dan
menentukan hubungan antara nilai – nilai tersebut. Output dari perbandingan tersebut
adalah nilai boolean antara true atau false.
11
Gambar 3
Relation Operator
4. Logical Operator
Logical Operator memiliki satu atau dua boolean operand yang akan me-return
value tipe boolean. Terdapat enam logical operator yaitu;
&& (logical AND)
& (Boolean logical AND)
|| (logical OR)
| (boolean logical inclusive OR)
^ (boolean logical exclusive OR)
! (logical NOT)
12
Operasi dasar dari operasi logical adalah “x1 op x2” dimana x1, x2 dapat sebagai
ekspresi boolean, variabel, atau konstanta dan op bisa sebagai operator &&, &, ||, |
atau ^. Berikut merupakan tabel kebenaran, hasil – hasil dari operasi kombinasi nilai
dari x1 dan x2.
Gambar 4
tabel kebenaran untuk && dan &
Perbedaan mendasar antara operator && dan & yaitu && dapat digunakan
pada short-circuit evaluation (atau partial evaluation) sedangkan & tidak dapat.
Terdapat sebuah expresi : “exp1 && exp2” && akan mengecek ekspresi dari
exp1, dan selanjutnya akan memberikan nilai false jika exp1 adalah false. Jika exp 1
adalah false, operator tidak mengecek nilai exp2 karena hasilnya akan tetap false
tanpa mengetahui nilai exp2. Sebaliknya, operator & selalu mengecek semua ekspresi
antara exp1 dan exp2 sebelum memberikan jawaban.
13
Berikut ini adalah gambar 5 yang merupakan tabel kebenaran dari || dan |
Perbedaan dasar antara operator || dan | yaitu || mendukung short-circuit
evaluations (atau partial evaluations), sedangkan | tidak.
Terdapat sebuah ekspresi : “exp1 || exp2” dimana || akan mengecek ekspresi
exp1, dan langsung memberikan nilai true jika nilai dari exp1 adalah true. Jika exp1
true, operator tidak mengecek nilai dari exp2 karena apapun nilai dari exp2 akan tetap
menghasilkan nilai true. Sedangkan operator | akan melakukan pengecekan pada exp1
dan exp2 sebelum memberikan nilai.
Berikut ini merupakan tabel kebenaran ^
Gambar 6
tabel kebenaran ^
14
Hasil dari operasi – operasi eksklusif OR adalah TRUE, jika dan hanya jika
satu operand yang bernilai true dan operand lain bernilai false. Perlu diperhatikan,
bahwa semua operand akan dicek untuk menentukan hasil dari operasi eksklusif OR.
Berikut ini merupakan tabel kebenaran !
Gambar 7
tabel kebenaran !
Logical NOT hanya memerlukan satu argumen, argumen tersebut dapat
berupa ekspresi, variabel, atau konstanta.
Conditional Operator (?:) merupakan ternary operator, hal ini bahwa
diperlukan tiga argumen bersamaan dari sebuah ekspresi conditional. Struktur dari
ekspresi yang menggunakan conditional operator adalah “exp1?exp2:exp3” dimana
exp1 adalah ekspresi boolean yang memberikan hasil / nilai true atau false. Hasilnya
15
jika exp1 adalah true, maka nilai dari exp2 yang akan diberikan tetapi jika false, maka
nilai dari exp3 yang diberikan.
Gambar 8
Conditional Operator
Operator Geser (Shift Operators) terbagi menjadi 3, yaitu :
<< : geser kiri (Op1<<Op2 : Op1 x (2 ^ Op2))
>> : geser kanan bertanda (bit tanda tetap)
>>> : geser kanan tanpa tanda (bit tanda bisa berubah)
Tipe data Op1 : byte, short, int, long. Sebelum operasi geser, terjadi promosi
operand ke type data int.
16
Operator Inversion (~) yaitu merubah bit 1 menjadi 0 dan 0 menjadi 1, tipe data
operand diantaranya : byte, short, int, long, char. Dan terjadi promosi ke int sebelum
eksekusi operator
Gambar 9
Operator Inversion (~)
Berikut merupakan gambar Operator Precedence
17
Gambar 10
Operator Precedence
Berikut ini terdapat ekspresi yang kompleks,
6%2*5+4/2+88-10
Ekspresi diatas dapat ditulis ulang dengan memberikan tanda kurung berdasarkan
prioritas operator,
((6%2)*5)+(4/2)+88-10;
2.3 Class, Object dan Method
18
Class diasumsikan sebagai template, sebuah prototype dari object, dan merupakan
struktur dasar dari Object – Oriented Programming (OOP). Terdapat dua tipe class
member, yaitu :
Field (property atau attribute) yaitu, menentukan tipe data yang digunakan
oleh class.
Method yaitu, menentukan jalan operasional.
Object terdiri dari kumpulan data (Property) berupa variabel yang menentukan
karakteristik dari sebuah Object. Dan merupakan beberapa method (behavior) yang
menjelaskan bagaimana bentuk dari Object. Secara keseluruhan Object merupakan
sebuah Instance dari Class.
Gambar 1
Contoh Class dan Object
19
Perbedaan Class dengan Object yaitu Class memiliki kelebihan dengan salah
satu karakteristiknya yaitu, reusable. Programmer juga dapat menggunakan sebuah
Class berulang kali untuk membuat banyak object.
Class terdiri dari :
Instance Variable
Instance Method
Class Variable (Static Member Variable) ialah variabel yang dimiliki oleh
keseluruhan class, variabel tersebut memiliki nilai (value) yang sama untuk semua
object dalam class yang sama.
Gambar 2 Contoh Class Variable
Instantiate Class digunakan untuk membuat sebuah object atau instance dari
class, digunakan operator new. Sebagai contoh :
String str2 = new String (“ Hello world! ”);
Atau sama dengan,
String str2 = “Hello”;
20
Operator New ialah mengalokasikan memory untuk object dan membuat
sebuah reference dari alokasi memory tersebut. Pada saat pembuatan object, class
constructor dipanggil. Constructor merupakan sebuah method dimana
penginisialisasian ditempatkan, nama construktor sama dengan nama class.
Method merupakan bagian code yang dapat dipanggil oleh program utama atau
method lain untuk melakukan suatu fungsi tertentu. Terdapat beberapa ciri method
diantaranya:
Dapat me-return value atau tidak sama sekali.
Setelah method telah selesai dieksekusi, proses kembali kepada method yang
memanggilnya.
Alasan menggunakan method diantaranya yaitu:
Inti dari pemecahan masalah yang efektif adalah memilah dan membagi
permasalahan.
Proses tersebut dapat dilakukan dalam Java dengan membuat method untuk
menyelesaikan bagian tertentu atas permasalahan.
Ambil sebuah permasalahan, pilah menjadi beberapa bagian kecil, kemudian
atur penulisannya menjadi program berskala besar.
21
Berikut ini merupakan contoh pemanggilan method dengan menggunakan class
String. Pertama gunakan Java API documentation untuk mengetahui seluruh method
yang terdapat pada class String. Pemanggilan instance method, dapat dideklarasikan
dengan menggunakan sintaks berikut ini :
nameOfObject.nameOfMethod( parameters );
Gambar 3
2 contoh dari Method class String
Atau menggunakan Methods :
String str1 = “Hello”;
char x = str1.charAt(0); //return character H
//disimpan dalam variabel x
String str2 = “Hello”;
22
//return boolean value true
boolean result = str1.equalsIgnoreCase( str2 );
pada saat sebuah pass – by – value muncul, method tersebut membuat copy
dari value variabel yang di- passing ke method. Method tersebut tidak dapat langsung
mengubah argumen awal, meskipun dapat mengubah parameter pada saat proses
perhitungan. Seluruh data primitif pada saat ditujukan ke method merupakan pass –
by – value.
Gambar 4
Pass – by - Value
Pada saat pass – by – reference muncul, reference untuk sebuah object di –
passing untuk memanggil sebuah method. Method tersebut membuat sebuah copy
reference dari variabel yang ditujukan ke method. Namun, tidak seperti pass – by –
value, method tersebut dapat memodifikasi object sebenarnya yang ditunjuk oleh
23
reference, meskipun dua reference yang berbeda digunakan dalam method, lokasi
data yang ditunjuk adalah sama.
Gambar 5
Pass – by – Reference
24
Gambar 6
Pass – by - Reference
Static Method merupakan method yang dapat dipanggil tanpa
penginstansiasian class (tanpa menggunakan keyword new), static method tidak
hanya dimiliki oleh instance atau object tertentu dari class, tetapi oleh class secara
keseluruhan. Keyword staticdigunakan oleh static method di dalam sebuah class,
untuk membedakannnya dengan instance method. Pemanggilan static method, dapat
dideklarasikan dengan sintaks berikut ini :
Classname.staticMethodName(params);
25
Contoh dari static method yaitu sebagai berikut :
// mencetak data pada layar
System.out.println (“Hello World”);
// konversi String 10, menjadi sebuah integer
int i = Integer.parseInt(“10”);
// menghasilkan representasi String dari integer argument sebagai
// integer basis 16
String hexEquivalent = Integer.toHexString( 10 );
Menentukan Class dari sebuah Object, diasumsikan terdapat object berikut :
SomeClassName key = new SomeClassName();
Berikut akan dibahas mengenai dua cara untuk mengetahui tipe tujuan object
dengan menggunakan reference key.
Method getClass() digunakan untuk menentukan Class object (dimana Class
adalah class) yang memiliki sebuah method getName(). Dalam hal ini, getName()
menghasilkan sebuah string yang merepresentasikan nama dari class. Sebagai
contoh :
String name = key.getClass().getName();
26
instanceOf memiliki dua operand yaitu: sebuah reference object pada sisi kiri
dan nama class pada sisi kanan. Exkspresi tersebut menghasilkan nilai true atau false
berdasar pada apakah object merupakan instance class yang dimaksud atau subclass
lain.
Sebagai contoh :
boolean ex1 = “Texas” instanceOf String; // true
Object pt = new point (10, 10);
boolean ex2 = pt instanceOf String; // false
2.4 Struktur Perulangan dan Percabangan
Pada saat mempelajari Bahasa Pemrograman Java, maka pertama kita harus
mengerti tentang konsep umum yang digunakan dalam pemrograman karena itu
merupakan pelajaran yang paling basic.
Struktur Perulangan
Perulangan atau looping adalah suatu proses didalam pemrograman yang dapat
mengeksekusi beberapa statement yang sama dengan berulang ulang sampai berhenti
pada kondisi tertentu. Perulangan pada dasarnya memiliki fungsi “ Efisien “terdapat
3 jenis perulangan pada Bahasa Pemrograman Java yaitu :
1. For
27
For merupakan perulangan yang dimiliki variabel untuk melakukan
pengkondisian. Element pada nilai for yaitu : nilai awal, syarat, dan penambahan atau
pengurangan nilai.
2. While
While merupakan perulangan yang berguna untuk terus melakukan proses.
Perulangan selama kondisinya benar (true) dan berhenti apabila salah (false).
3. Do While
Do While merupakan perulangan yang hampir sama dengan while, namun while
disini bersifat memproses atau mengecek instruksi terlebih dahulu kemudian
membandingkan (kondisi). Sedangkan pada while bersifat mengecek kondisi baru
melakukan instruksi.
Struktur Percabangan
Percabangan adalah suatu keadaan dimana pernyataan dapat dieksekusi apabila
suatu kondisi memenuhi syarat untuk mengerjakan pernyataan tersebut. Struktur
Percabangan pada bahasa pemrograman java yaitu dibagi menjadi 2, diantaranya :
If
Percabangan If merupakan percabangan yang melibatkan lebih dari satu
kondisi dan penggabungan beberapa If dan bisa juga digabungkan menjadi if – else.
28
Switch
Percabangan Switch memberikan suatu cara untuk mengatasi banyak
kemungkinan bermunculan dengan cara memberikan nilai variabel atau pernyataan
tunggal.
2.5 Pemrograman Berorientasi Objek
Pemrograman Berorientasi Objek (Object – Oriented Programming atau
disingkat dengan OOP) merupakan pemrograman yang berorientasikan kepada
Objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas – kelas
atau Objek – objek. 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.
Terdapat beberapa istilah di dalam OOP, diantaranya :
Kelas atau Class, merupakan kumpulan atas definisi data dan fungsi-fungsi
dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog'
29
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, yang berguna untuk membungkus data dan fungsi bersama menjadi
suatu unit dalam sebuah program komputer, objek merupakan dasar dari
modularitas dan struktur dalam sebuah program komputer berorientasi objek.
Abstraksi, yaitu 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
30
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.
Polomorfisme 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
31
berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa
fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-
pertama.
Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah
kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur)
tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai
contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris,
petugas administrasi data dan lainnya.Misal manager tersebut ingin memperoleh data
dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung
tetapi dapat menyuruh petugas bagian 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
administrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-
objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.
Salah satu pemograman pendukung OOP adalah bahasa pemograman Java.
Java adalah salah satu bahasa pemograman OOP.Bahasa ini awalnya dibuat
oleh James Gosling. 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
32
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 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.
Versi awal Java ditahun 1996 sudah merupakan versi release sehingga
dinamakan Java Versi 1.0. Java versi ini menyertakan banyak paket standar awal
yang terus dikembangkan pada versi selanjutnya:
java.lang: Peruntukan kelas elemen-elemen dasar.
java.io: Peruntukan kelas input dan output, termasuk penggunaan berkas.
java.util: Peruntukan kelas pelengkap seperti kelas struktur data dan kelas
kelas penanggalan.
java.net: Peruntukan kelas TCP/IP, yang memungkinkan berkomunikasi
dengan komputer lain menggunakan jaringan TCP/IP.
33
java.awt: Kelas dasar untuk aplikasi antarmuka dengan pengguna (GUI)
java.applet: Kelas dasar aplikasi antar muka untuk diterapkan pada
penjelajah web.
Berikut merupakan contoh penulisan bahasa pemrograman java :
public class identitas
{ String Nama,WarnaRambut,TinggiBadan,BeratBadan;
int Umur;
public static void main(String[]args)
{ identitas Obj = new identitas();
Obj.Nama = "XXXXXXX";
Obj.WarnaRambut="XXXX";
Obj.TinggiBadan="155";
Obj.BeratBadan="50";
Obj.Umur=24;
System.out.println("Nama Lengkap : " + Obj.Nama);
System.out.println("Warna Rambut : " + Obj.WarnaRambut);
System.out.println("Tinggi Badan : " + Obj.TinggiBadan + " Cm");
System.out.println("Berat Badan : " + Obj.BeratBadan + " Kg");
System.out.println("Umur : " + Obj.Umur);}}
34
BABIII
HASIL PERCOBAAN
3.1 Modul 2
1. Gambar tampilan awal
2. Source Kode Program
public class modul2 extends javax.swing.JFrame {
public modul2() {
initComponents();
}
@SuppressWarnings("unchecked")
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
35
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("");
txtnama.setText("");
txttl.setText("");
txthobi.setText("");
txtalamat.setText("");
cbojk.setSelectedItem("Pilih");
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new modul2().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JComboBox cbojk;
36
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JPanel jPanel1;
private javax.swing.JLabel lblalamat;
private javax.swing.JLabel lblhobi;
private javax.swing.JLabel lbljk;
private javax.swing.JLabel lblnama;
private javax.swing.JLabel lblnpm;
private javax.swing.JLabel lbltl;
private javax.swing.JTextField txtalamat;
private javax.swing.JTextField txthobi;
private javax.swing.JTextField txtnama;
private javax.swing.JTextField txtnpm;
private javax.swing.JTextField txttl;
// End of variables declaration
}
37
3. Gambar Setelah Program Di Eksekusi
3.1 Modul Tiga
1. Gambar awal program
2. Source kode program
public class modul3 extends javax.swing.JFrame {
public modul3() {
38
initComponents();
}
@SuppressWarnings("unchecked")
private void btntambahActionPerformed(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;
39
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 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);
40
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new modul3().setVisible(true);
}
});
}
private javax.swing.JButton btnbagi;
private javax.swing.JButton btnkali;
private javax.swing.JButton btnkurang;
private javax.swing.JButton btntambah;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
41
private javax.swing.JPanel jPanel1;
private javax.swing.JTextField txthasil;
private javax.swing.JTextField txtinput1;
private javax.swing.JTextField txtinput2;}
3. Gambar setelah program di eksekusi
3.3 Modul Empat
1. gambar tampilan awal program
42
2. Source kode program
public class modul4 extends javax.swing.JFrame {
public modul4() {
initComponents();}
@SuppressWarnings("unchecked")
private void cbojenisActionPerformed(java.awt.event.ActionEvent evt) {
if(cbojenis.getSelectedItem()=="IPAD"){
txtharga.setText("4999000");
}else if(cbojenis.getSelectedItem()=="IPHONE"){
43
txtharga.setText("7999000");
}else if(cbojenis.getSelectedItem()=="IPOD")
{txtharga.setText("2999000");}else{
txtharga.setText("");
}} private void btnbayarActionPerformed(java.awt.event.ActionEvent evt)
{
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);
44
txttotal.setText(""+total);}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {new modul4().setVisible(true);
}});}private javax.swing.JButton btnbayar;
private javax.swing.JComboBox cbojenis;
private javax.swing.JComboBox cbostatus;
private javax.swing.JLabel diskon;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel8;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
45
private javax.swing.JTextField txtdiskon;
private javax.swing.JTextField txtharga;
private javax.swing.JTextField txtjumlah;
private javax.swing.JTextField txtnama;
private javax.swing.JTextField txttotal; private javax.swing.JLabel
txttotal12;}
3. Gambar setelah program di eksekusi
46
3.4 Modul Lima
1. gambar tampilan awal program
2. Source kode program
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;
47
private String s_gajikotor;
private String s_pajak;
private String s_gajibersih;
public modul5() {setTitle("Form perhitungan gaji pegawai");
initComponents();}
private void Gaji(){
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:
48
txtgajipokok.setText("1200000");
break;
case 5:
txtgajipokok.setText("750000");
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;
49
}
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();}
private void BelumMenikah(){
tunjanganistri=0;
50
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;
}
51
pajak=(gajikotor*10)/100;
gajibersih=gajikotor-pajak;
s_gajikotor=String.valueOf(gajikotor);
s_pajak=String.valueOf(pajak);
s_gajibersih=String.valueOf(gajibersih);
txtgajikotor.setText(s_gajikotor);
txtpajak.setText(s_pajak);
txtgajibersih.setText(s_gajibersih);} 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");}
@SuppressWarnings("unchecked")
private void formWindowOpened(java.awt.event.WindowEvent evt) {
52
BelumMenikah();}
private void cmbjabatanItemStateChanged(java.awt.event.ItemEvent evt) {
BersihTeks(); Gaji(); If(opsi1.isSelected()==true){
Menikah(); }else{ BelumMenikah(); }}
private void opsi1ActionPerformed(java.awt.event.ActionEvent evt) {
Menikah();}
private void opsi2ActionPerformed(java.awt.event.ActionEvent evt) {
BelumMenikah();}
private void txtjumlahanakKeyReleased(java.awt.event.KeyEvent evt) {
TunjanganAnak();}
private void btnbersihMouseClicked(java.awt.event.MouseEvent evt) {
BersihTeks();}
private void btnhitungMouseClicked(java.awt.event.MouseEvent evt) {
Total();}
private void btnhitungActionPerformed(java.awt.event.ActionEvent evt) { }
private void btnbersihActionPerformed(java.awt.event.ActionEvent evt) { }
53
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new modul5().setVisible(true); }});}
private javax.swing.JButton btnbersih;
private javax.swing.JButton btnhitung;
private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.JComboBox cmbjabatan;
private javax.swing.JLabel jLabel1;private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel2;private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
54
private javax.swing.JLabel jLabel9;
private javax.swing.JPanel jPanel1;
private javax.swing.JRadioButton opsi1;
private javax.swing.JRadioButton opsi2;
private javax.swing.JTextField txtgajibersih;
private javax.swing.JTextField txtgajikotor;
private javax.swing.JTextField txtgajipokok;
private javax.swing.JTextField txtjumlahanak;
private javax.swing.JTextField txtnama;
private javax.swing.JTextField txtnip;
private javax.swing.JTextField txtpajak;
private javax.swing.JTextField txttunjangananak;
private javax.swing.JTextField txttunjanganistri;}
3. Gambar setelah program di eksekusi
55
56
3.5 Modul Enam
1. gambar tampilan awal program
2. Source Kode Program
import MDI.IFModul2;
import MDI.IFModul3;
import MDI.IFModul4;
import MDI.IFModul5;
import java.awt.Dimension;
import java.awt.PopupMenu;
import javax.swing.JInternalFrame;
57
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class FormUtama extends javax.swing.JFrame {
private int jml;
private String judul;
private PopupMenu jin;
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);
58
jDesktopPane1.add(jin);
jin.setVisible(true);
}catch(Exception e){
JOptionPane.showMessageDialog(null,e);}}
@SuppressWarnings("unchecked")
private void jMenu3ActionPerformed(java.awt.event.ActionEvent evt) {
jml = jml+1;
judul= "Form Baru"+jml;
FormBaru(); }
private void jMenu4ActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);}
private void jMenu5ActionPerformed(java.awt.event.ActionEvent evt) {
IFModul2 form2 = new IFModul2();
jDesktopPane1.add(form2);
Dimension parentSize = jDesktopPane1.getSize();
Dimension childSize = form2.getSize();
59
form2.setLocation((parentSize.width-childSize.width)/2,
(parentSize.height - childSize.height)/2);
form2.setVisible(true);}
private void jMenu6ActionPerformed(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);}
private void jMenu7ActionPerformed(java.awt.event.ActionEvent evt) {
IFModul4 form4 = new IFModul4();
jDesktopPane1.add(form4);
Dimension parentSize = jDesktopPane1.getSize();
Dimension childSize = form4.getSize();
60
form4.setLocation((parentSize.width-childSize.width)/2,
(parentSize.height - childSize.height)/2);
form4.setVisible(true);}
private void jMenu8ActionPerformed(java.awt.event.ActionEvent evt) {
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);}
private void jMenu1ActionPerformed(java.awt.event.ActionEvent evt) {}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new FormUtama().setVisible(true);
61
}});}
private javax.swing.JDesktopPane jDesktopPane1;
private javax.swing.JMenu jMenu1;
private javax.swing.JMenu jMenu2;
private javax.swing.JMenu jMenu3;
private javax.swing.JMenu jMenu4;
private javax.swing.JMenu jMenu5;
private javax.swing.JMenu jMenu6;
private javax.swing.JMenu jMenu7;
private javax.swing.JMenu jMenu8;
private javax.swing.JMenu jMenu9;
private javax.swing.JMenuBar jMenuBar1;}
62
3. Gambar setelah program di eksekusi
63
3.6 Modul Tujuh
1. gambar tampilan awal program
2. Source kode program java Jframe from
import MDI.IFModul2;
import MDI.IFModul3;
import MDI.IFModul4;
import MDI.IFModul5;
import java.awt.Dimension;
64
import java.awt.PopupMenu;
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;
private PopupMenu jin;
public FormUtama() {
setTitle("MDI Form");
setExtendedState(MAXIMIZED_BOTH);
initComponents();}
private void FormBaru(){
try{
65
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);}}
@SuppressWarnings("unchecked")
private void jMenu3ActionPerformed(java.awt.event.ActionEvent evt) {
jml = jml+1;
judul= "Form Baru"+jml;
FormBaru(); }
66
private void jMenu4ActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);}
private void jMenu5ActionPerformed(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);}
private void jMenu6ActionPerformed(java.awt.event.ActionEvent evt) {
IFModul3 form3 = new IFModul3();
jDesktopPane1.add(form3);
Dimension parentSize = jDesktopPane1.getSize();
67
Dimension childSize = form3.getSize();
form3.setLocation((parentSize.width-childSize.width)/2,
(parentSize.height - childSize.height)/2);
form3.setVisible(true);}
private void jMenu7ActionPerformed(java.awt.event.ActionEvent evt) {
IFModul4 form4 = new IFModul4();
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);}
private void jMenu8ActionPerformed(java.awt.event.ActionEvent evt) {
IFModul5 form5 = new IFModul5();
68
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);}
private void jMenu1ActionPerformed(java.awt.event.ActionEvent evt) {}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new FormUtama().setVisible(true);
}});}
private javax.swing.JDesktopPane jDesktopPane1;
private javax.swing.JMenu jMenu1;
private javax.swing.JMenu jMenu2;
private javax.swing.JMenu jMenu3;
69
private javax.swing.JMenu jMenu4;
private javax.swing.JMenu jMenu5;
private javax.swing.JMenu jMenu6;
private javax.swing.JMenu jMenu7;
private javax.swing.JMenu jMenu8;
private javax.swing.JMenu jMenu9;
private javax.swing.JMenuBar jMenuBar1;}
3. Source kode program java class
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(){
70
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"); }}
return koneksi; }}
71
4. Source kode program database
CREATE DATABASE dbjava;
USE dbjava;
CREATE TABLE tcustomer (
id VARCHAR(6) PRIMARY KEY,
nama VARCHAR(25),
nohp VARCHAR(14),
alamat VARCHAR(100));
5. Gambar setelah program di eksekusi
72
3.7 Modul Delapan
1. gambar tampilan awal program
2. Source kode program java Jframe from
package gui;
import java.awt.HeadlessException;
import java.sql.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JOptionPane;
import koneksi.ClassDB;
73
public class FormTransaksi extends javax.swing.JFrame {
public FormTransaksi() {
initComponents();
invoice();
Date current = new Date();
SimpleDateFormat frmt = new SimpleDateFormat("dd/mm/yyyy");
String dateString1 = frmt.format(current);
txttanggal.setText(dateString1);}
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) ;
74
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()) {
75
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); txtnama.setText(null);txtid.requestFocus() ;
}}} catch (ClassNotFoundException | SQLException | HeadlessException
e) {}}
private void simpan(){
String invoice=this.txtinvoice.getText();
String tanggal=this.txttanggal.getText().toString();
String id=this.txtid.getText();
String nama=this.txtnama.getText();
String status=this.cbostatus.getSelectedItem().toString();
76
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");
}else{try {Connection c=ClassDB.getkoneksi();
Statement s= c.createStatement();
77
String sql="Insert into tpenjualan values (?,?,?,?,?,?,?,?,?,?)";
try (com.mysql.jdbc.PreparedStatement p =
(com.mysql.jdbc.PreparedStatement)
c.prepareStatement(sql)) {
p.setString(1, invoice);
p.setString(2, tanggal);
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");
78
}catch(SQLException e) {
System.out.println("Gagal Menyimpan " + e);
}finally{
bersih();}}}
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 ;
79
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);
txttotal.setText(null);
}
80
@SuppressWarnings("unchecked")
private void btnbayarActionPerformed(java.awt.event.ActionEvent evt) {
bayar(); }
private void txtnamaMouseClicked(java.awt.event.MouseEvent evt) {
cariId(); }
private void txtnamaMouseReleased(java.awt.event.MouseEvent evt) {
cariId(); }
private void btnsimpanActionPerformed(java.awt.event.ActionEvent evt) {
simpan();
bersih();}
81
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("");}}
private void cbostatusActionPerformed(java.awt.event.ActionEvent evt)
{ }
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new FormTransaksi().setVisible(true);
}});}
82
private javax.swing.JButton btnbayar;
private javax.swing.JButton btnsimpan;
private javax.swing.JComboBox cbojenis;
private javax.swing.JComboBox cbostatus;
private javax.swing.JDesktopPane jDesktopPane1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel14;
private javax.swing.JLabel jLabel15;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
83
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
private javax.swing.JTextField txtalamat;
private javax.swing.JTextField txtdiskon;
private javax.swing.JTextField txtharga;
private javax.swing.JTextField txthp;
private javax.swing.JTextField txtid;
private javax.swing.JTextField txtinvoice;
private javax.swing.JTextField txtjumlah;
private javax.swing.JTextField txtnama;
private javax.swing.JTextField txttanggal;
private javax.swing.JTextField txttotal; }
84
3. Source kode program java class
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{
String url=new String();
String user=new String();
String password=new String();
url="jdbc:mysql://localhost:3306/dbjava";
user="root";
password="";
85
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
koneksi=DriverManager.getConnection(url,user,password);
}catch (SQLException t){
System.out.println("Error membuat koneksi"); }}
return koneksi; }}
4. Source kode program database
CREATE DATABASE dbjava;
USE dbjava;
CREATE TABLE tpenjualan (
invoice VARCHAR(12) PRIMARY KEY,
tanggal DATE,
id VARCHAR(6),
nama VARCHAR(30),
status VARCHAR(15),
barang VARCHAR(30),
86
harga VARCHAR(12),
jumlah VARCHAR(6),
diskon VARCHAR(12),
bayar VARCHAR(12));
5. Gambar setelah program di eksekusi
87
BAB IV
HASIL ANALISA
4.1 Hasil Analisa Modul 2
Pada modul dua dimana user mengisi form form tersebut . setelah user mengisi
form form tersebut maka user mengklik button proses, program akan
mengeksekusinya , maka akan tampil biodata di disebelah form form tersebut
4.2 Hasil Analisa Modul 3
pada modul 3 dimana penulis membuat program calculator menggunakan java ,
menggunakan operator aritmatika , dimana user mengisi form form tersebut
dengan nilai atau bilangan bulat , setelah user mengisi bilangan tersebut lalu
user tinggal mengklik operator operator yang berada di program tersebut , maka
hasil perhitungan akan muncul di program tersebut
4.3 Hasil Analisa Modul 4
pada program ini kita menggunakan statement if else else if , dimana
statement pada klausa else dari sebuah blok if-else dapat menjadi struktur if-
else atau statement yang lain dimana Struktur ini memperbolehkan kita untuk
88
membuat pilihan yang lebih kompleks. Percabangan digunakan ketika kita
membuat program dimana progran tersebut terdapat beberapa kondisi yang
berbeda dan memerlukan pemilihan satu dari beberapa kondisi tersebut.
Dengan kata lain, kita tidak bisa memilih lebih dari satu kondisi
4.4 Hasil Analisa Modul 5
Disini penulis Menggunakan struktur kontrol pemulihan dimana (if, else,
switch) dimana statement akan digunakan untuk mengeksekusi beberapa
kondisi , Pendeklarasian variabel pilihan yang bernilai integer. struktur kontrol
switch yang digunakan untuk mengevaluasi suatu ekspresi dengan
kemungkinan banyak nilai dan banyak perintah yang harus dieksekusi
berdasarkan ekspresi dan nilainya. Pada kode program di atas, nilai dari
variabel akan dicek pada setiap option yang ada (terletak di bagian case). Jika
option yang sama dengan nilai variabel, maka statement-statement di bawah
option tersebutlah yang akan dijalankan.
4.5 Hasil Analisa Modul 6
89
pada percobaan modul6 penulis menggunakan aplikasi MDI (Multiple
document Interface) merupakan aplikasi yang bisa menampilkan beberapa
dokumen sekaligus. Di dalam aplikasi MDI, ada 2 pembagian Form.
1. Form Induk : Form terluar yang dijadikan tempat (wadah) untuk
menampilkan form yang lain.
2. Form Anak : Form yang ditampilkan di dalam form Induk. Form ini
terpasang seolah-olah menempel di dalam Form induk dan tidak dapat
keluar dari tampilan Form induk.
4.6 Hasil Analisa Modul 7
Pada percobaan modul 7 kita menggunakan database dimana pengolahan data
dan pencarian data mudah dilaksanakan, karena program aplikasi ini terdapat
database sebagai media penyimpanan data yang pasti, akurat , cepat dan
terjamin keasliannya.
4.7 Hasil Analisa Modul 8
pada hasil prcobaan ketujuh formTransaksi ini dapat dengan mudah menangani
perubahan - perubahan yang terjadi, seperti perubahan harga, penambahan jenis
barang, user hanya perlu melakukan perubahan data pada form jenis. Selain itu
90
dalam pengoperasian Aplikasi formtransaksi ini mudah dimengerti user,
sehingga tidak memerlukan waktu yang lama untuk pelatihan menggunakan
aplikasi ini. Tingkat ketelitian aplikasi ini dapat dilihat misalnya dalam hal
input data, selain itu Aplikasi ini dapat menyimpan data ke data base sebagai
media penyimpanan data yang pasti, akurat , cepat dan terjamin keasliannya.
91
BABV
PENUTUP
Dari rangkaian kegiatan praktikum pemrograman java yang telah
terselesaikandari pertemuan awal hingga akhir, maka dapat diambil beberapa
kesimpulan diantaranya:
1. Pemrograman java memiliki tingkat sensitifitas yang tinggi terhadap error
program jadi butuh ketelitian dalam membuat source code , misal penggunaan
huruf besar maupun kecil harus benar-benar diperhatikan.
2. Untuk mengetahui letak kesalahan program, editor IDE Netbeans
menampilkan tanda merah pada sisi sebelah kiri code yang salah,
denganmeletakkan cursor pada tanda tersebut maka akan terbaca jenis
kesalahantersebut
3. Java merupakan jenis pemrograman yang open source jadi untuk developing
nya sangat luas dan tidak terbatas jika dikemudian hari terdapat kekurangan
untuk dikembangkan.
Akhirnya penulis mengucapkan banyak terima kasih kepada semua pihak yang telah
membantu hingga terselesaikannya laporan praktikum ini, penulis juga mengucapkan
terima kasih kepada Ibu Indri Sulistianingsih S.Kom selaku dosen pembimbing
92
praktikum yang telah membimbing kami selama praktikum pemrograman java ini
berlangsung di laboratorium komputer Universitas Pembangunan panca budi , Terima
kasih Buk.
Medan, 12 Desember 2015
Pino Rasandi
93
DAFTAR PUSTAKA
http://id.wikipedia.org/wiki/Java
https://netbeans.org/kb/docs/java/quickstart.html
http://www.kaminarisoftware.com/cara-membuat-koneksi-java-ke-mysql/
http://docs.oracle.com/javase/tutorial/getStarted/cupojava/netbeans.html
https://ahmadanwar31.wordpress.com/2014/03/27/belajar-java-dengan-netbeans/
http://www.fahrial.web.id/2013/08/belajar-pemrograman-java-dasar-dengan.html
http://www.dendicious.com/2013/11/program-kalkulator-sederhana.html
http://ceritabodohtakbermutu.blogspot.com/2013/07/cara-mudah-belajar-java-1-
netbeans.html
http://jarkom77.wordpress.com/2013/07/13/belajar-dasar-java-netbean-7-1/
94
top related