laporan praktikum bahasa pemrograman java(polina).pdf
Post on 18-Feb-2018
335 Views
Preview:
TRANSCRIPT
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 1/84
LAPORAN PRAKTIKUM
BAHASA PEMROGRAMAN JAVA
Nama Praktikan
Nomor
Mahasiswa
Tanggal Kumpul
Tanda tangan
Pratikan
Pollinawati Purba 1314370332 11/12/2015
Nama Penilai
Tanggal
Koreksi
Nilai
Tanda tangan
Dosen
Indri Sulistianingsih
S.Kom
Fakultas Ilmu Komputer
Universitas Pembangunan Panca Budi
Medan
2 15
Kelas
TI 5A SIANG
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 2/84
i
KATA PENGANTAR
Puji syukur penyusun panjatkan ke hadirat Allah Subhanahu wataala, karena
berkat rahmat-Nya kami bisa menyelesaikan laporan praktikum java. Laporan
praktikum ini diajukan guna memenuhi tugas mata kuliah bahasa pemrograman java
Kami mengucapkan terima kasih kepada semua pihak yang telah membantu
sehingga laporan praktikum ini dapat diselesaikan tepat pada waktunya.Laporan
praktikum ini masih jauh dari sempurna, oleh karena itu, kritik dan saran yang
bersifat membangun sangat kami harapkan demi sempurnanya laporan praktikum ini.
Semoga laporan praktikum ini memberikan informasi bagi masyarakat dan
bermanfaat untuk pengembangan wawasan dan peningkatan ilmu pengetahuan bagi
kita semua.
Medan,11 Desember 2015
Pollinawati Purba
1314370332
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 3/84
ii
DAFTAR ISI
KATA PENGANTAR ........................................................................... i
DAFTAR ISI .......................................................................................... ii
BAB I PENDAHULUAN
1.1 Latar belakang .......................................................................... 1
1.2 Tujuan ....................................................................................... 1
1.3 Manfaat………………………………………………………. 1
BAB II DASAR TEORI
2.1 Pernyataan Dan Ekspresi ......................................................... 3
2.2 V a r i a b e l , T i p e D a t a d a n L i t e r a l
................................................................................................... 5
2.3 A r r a y ............................................................................... 10
2.4 O p e r a t o r ..................................................................... 13
2.5 O p e r a s i I / O S t r e a m S e d e r h a n a
................................................................................................... 14
2.6 P e n g a t u r a n F o r m a t O u t p u t
N u m e r i k …………………………. . 1 5
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 4/84
iii
2.7 K o n v e r s i S t r i n g d a n B i l a n g a n
( N u m b e r ) ………………………. 1 6
2.8 P e r n y a t a a n P e n e n t u
K e p u t u s a n … ……………………………. . .
1 7
2.9 P e r n y a t a a n P e n g u l a n g a n
P r o s e s ……………………………… . . 1 8
2.10 P e r n y a t a a n P e m i n d a h
P r o s e s … ………………………………… 1 9
BAB III HASIL PERCOBAAN
3.1 Hasil praktikum modul2 ........................................................... 18
3.2 Hasil praktikum modul3 ........................................................... 22
3.3 Hasil praktikum modul4 ........................................................... 26
3.4 Hasil praktikum modul5 ........................................................... 30
3.5 Hasil praktikum modul6 ........................................................... 39
3.6 Hasil praktikum modul7 ........................................................... 46
3.7 Hasil Praktikum Modul8 ........................................................... 53
BAB IV ANALISA HASIL PERCOBAAN
4.1 Analisa Hasil Percobaan Modul 2 .............................................. 67
4.2 Analisa Hasil Percobaan Modul 3 .............................................. 67
4.3 Analisa Hasil Percobaan Modul 4 ............................................... 68
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 5/84
iv
4.4 Analisa Hasil Percobaan Modul 5 .............................................. 69
4.5 Analisa Hasil Percobaan Modul 6 .............................................. 69
4.6 Analisa Hasil Percobaan Modul 7 .............................................. 70
4.7 Analisa Hasil Percobaan Modul 8 .............................................. 71
BAB V PENUTUP
Kesimpulan ........................................................................................ 72
Saran .................................................................................................. 72
Daftar pustaka .................................................................................... 73
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 6/84
5
BAB I
PENDAHULUAN
1.1 Latar Belakang
Perkembangan teknologi dari tahun ketahun semakin cepat. Dari mulai handphone, laptop,
tablet, dan berbagai gadget lainnya selalu ada perubahan dan semakin memanjakan pengguna.
Dari tahun ketahun perkembangan teknologi seakan membuat para pengguna menjadi
ketergantungan dan dimanfaatkan teknologi itu sendiri.
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++, pascal, basic, java,
dan lain-lain. Di antara banyaknya bahasa pemrograman, tim penyusun akan membahas seputar
java.
1.2 Tujuan
1. Tujuan pembuatan Laporan java ini yaitu agar pembaca dapat mengenal lebih dalam
seputar perkembangan teknologi bahasa pemrograman java dari mulai sejarah sampai
bagaimana pembuatan aplikasi Java
2. Sebagai syarat untuk menyelesaikan mata kuliah Bahasa Pemrograman Java.
3. Sebagai bahan pembelajaran mengenai Sistem informasi khususnya bahasa
pemrograman Java.
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 7/84
6
BAB II
DASAR TEORI
2.1 Pernyataan dan Ekspresi
Pernyataan adalah :
Perintah yang menyebabkan sesuatu terjadi dan merepresentasikan aksi tunggal dalam program Java. Contohnya adalah : int tahunProduksi.
Setiap pernyataan ditutup oleh karakter semicolon ( ; ). Pernyataan dikelompokkan dengan tanda pembuka ( { ) dan tanda penutup ( } ) .
Kelompok ini disebut blok atau blok pernyataan.
Ekspresi adalah:
Pernyataan yang dapat menghasilkan suatu nilai. Nilai yang dihasilkan oleh pernyataanini yang disebut dengan nilai balik ( return value ).
Nilai balik bisa berupa bilangan, boolean atau objek. Method tanpa nilai balik biasanya menggunakan keyword void Contoh hasil bagi=b/c ;
2.2 Variabel Tipe Data dan Literal
A..Variabel adalah suatu nama yang digunakan untuk menyimpan suatu nilai dari tipe data
tertentu. Nilai dari suatu variabel disebut literal. Sebelum digunakan variabel harusdideklarasikan. Deklarasi di sesuaikan dengan tipe data yang ingin direpresentasikan.Deklarasi variabel mengikut aturan sebagai berikut : tipeData namaVariabel. Contoh berikutadalah deklarasi variabel dengan menggunakan tipe data int :
int bilangan1;int bilangan2;Kata int adalah tipe data, sedangkan bilangan1 dan bilangan2 adalah nama variabel. Duadeklarasi variabel di atas bisa diringkas menjadai : int bilangan1, bilangan2;
Tipe data dari suatu variabel bisa berupa tipe data primitif (seperti : int, byte, char, short,
boolean dll) atau tipe data berupa class (misalnya Integer, Byte, Short, Boolean dll - bisa kelasyang anda buat).Java memiliki aturan-aturan dalam penamaan suatu variabel. Aturan-aturan itu adalah sebagai berikut :Penamaan variabel tidak boleh menggunakan kata-kata kunci dalam bahasa pemrogramman java. Kata-kata kunci tersebut adalah sebagai berikut (berdasarkan urutan abjad) : abstract, boolean, break, byte, case, catch, char, class, const, continue, default, do, double, else, extends,final, finally, float, for, goto, if, implements, import,instanceof, int, interface, long, native, new,
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 8/84
7
package, private, protected, public, return, short, static, super, switch, synchronized, this, throw,throws, transient, try, void, volatile dan while.Harus dimulai dengan huruf atau garis bawah ( _ ) atau tanda dollar ($), tidak boleh angka.Huruf kedua dan seterusnya bebas (bisa angka) tapi tidak boleh menggunakan operator yangdigunakan java (semisal +, ++, * , -, — dll)
Panjang nama variabel terserah (dalam artian tidak dibatasi) tapi kata-katanya tidak bolehterpisah. Nama Variabel dalam java adalah case sensitif (membedakan huruf kecil dan huruf besar. Namavariabel bilangan1 dan Bilangan1 dianggap sebagai dua variabel yang berbeda.Penamaan variabel sebaiknya interpretatif, menggambarkan raealita yang diwakilinya.Penamaan variabel String namaMahasiswa adalah lebih interpretatif dibandingkan denganvariabel String x.Sudah menjadi konvensi (kesepakatan) para programmer java juga, jika penamaan variabeldimulai dengan huruf, maka hurufnya harus huruf kecil.Berikut contoh penamaan variabel yang valid dan tidak valid :
int bilangan1 – > validint bilangan 1 – > tidak validint 1bilangan – > tidak validint _bilangan1 – > validint $bilangan1 – > validint b1langan – > validint bi-langan – > tidak validint bi+langan – > tidak valid
B.Tipe Data
Sebagaimana telah dijelaskan sebelumnya, deklarasi variabel dan konstanta membutuhkan tipedata tertentu. Java memiliki delapan tipe data primitif, sedangkan untuk tipe data kelas jumlahnya tak terhingga (karena bisa kita definisikan sendiri). Delapan tipe data primitif inisangat fundamental karena ia sebagai dasar untuk membangun tipe data kelas.Kedelapan tipe data primitif tersebut bisa digolongkan kedalam tipe data numerik (untukmengolah nilai-nilai yang berupa angka), tipe data boolean (berisi nilai benar dan salah - 0 dan
1), dan tipe data karakter huruf.Tipe data numerik dibagi menjadi dua, yakni tipe data untuk menyimpan bilangan bulat dan tipedata untuk menyimpan bilangan pecahan.Berikut tipe data primitif (dasar) dalam java : Numerik Bilangan Bulat : byte (panjangnya 1 byte = 8 bit), menampung nilai dari -128 sd 127. Memiliki nilai default 0 – >artinya jika tidak diinisialisasi (diberi nilai awal) variabel yang menggunakan tipe data ini bernilai 0.short (panjangnya 2 byte = 16 bit), menampung nilai dari -32,768 sd 32,767. Nilai default juga 0.int (panjangnya 4 byte = 32 bit), menampung nilai dari -2,147,483,648 sd 2,147,483,647. Nilaidefault 0.
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 9/84
8
long (panjangnya 8 byte = 64 bit), menampung nilai dari -9,223,372,036,854,775,808 sd9,223,372,036,854,775,807. Nilai default 0.
Numerik Bilangan pecahan :float (panjangnya 4 byte), menampung nilai dari -3.4E38 (-3.4 * 10 pangkat 38) sd +3.4E38.
Memiliki presisi angka sampai 7 digit (0.xxxxxxx)double (panjangnya 8 byte), menampung nilai dari -1.7E308 (-1.7 * 10 pangkat 308) sd+1.7E308. Memiliki presisi angka sampai 17 digit (0.xxxxxxxxxxxxxxxxx)Deklarasi untuk tipe data numerik bilangan pecahan secara default menggunakan tipe datadouble. Jadi 0.24, 1.78, 2000.5034 dll dibaca sebagai double. Dengan eclipse deklarasi variabelfloat testFloat = 0.24; akan bertanda merah (berarti eclipse mendeteksi kesalahan). Deklarasi pecahan yang bertipe float harus diakhiri dengan huruf f. Deklarasi float yang salah di atas bisadiperbaiki menjadi sebagai berikut float testFloat = 0.24f.Char : tipe data untuk menampung nilai dari satu karakter (bisa berupa huruf atau angka).Boolean : tipe data untuk menampung nilai benar (true) atau salah (false). Berikut contohdeklarasi variabel menggunakan tipe data primitif char dan boolean yg sudah dinisialisasi:
char nilaiKuliah = ‗A‘; boolean lulus = true;Default tipe data char adalah karakter kosong, sedangkan default tipe data boolean adalah bernilai ‗false‘. Untuk setiap tipe data primitif yang telah dijelaskan, java memiliki tipe data kelas yang bersesuaian, yaitu Byte untuk tipe data primitif byte, Short untuk tipe data primitif short, Integeruntuk tipe data primitif int, Long untuk tipe data primitif long, Float untuk tipe data primitiffloat, Double untuk tipe data primitif double, Boolean untuk tipe data primitif boolean danCharacter untuk tipe data primitif char.
Literal
Semua informasi (bilangan,karakter,string,Boolean) yang merepresentasikan suatu nilai.Literal Bilangan(bulat dan pecahan):
int tahun=2008;long nilai=4L
double myScore=2.25;float piValue=3.1415927F;
double x=12e22;double y=19e95;
Literal Boolean (true dan false):
boolean pilihan=true;
Literal String:
String quitMsg=‖Yakin Ingin Keluar?‖;
Literal Karakter
Character Escape
Escape
Meaning
\n
New line
\t
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 10/84
9
Tab
\o
Backspace
\r
Carriage return
\t
Formfeed
\\
Backslash
\‘
Single quotation mark
\‖
Double quotation mark
\d
Octal\xd
Hexadecimal
\ud
Unicode character
Pengarah Tipe (Type-Casting)
Pengarah Tipe (Type-Casting).
2.3 Array
Array adalah sebuah variable yang dapat menyimpan banyak data. Untuk mengakses data dalam
variable tersebut digunakan indeks. Indeks adalah bilangan bukat yang menunjukkan posisi data
dalam variable array.
public class Main {
public static void main(String[] args) {
int[] data = {20, 10, 50, 30, 10};
for (int i = 0; i < 5; i++) {
System.out.println("Data ke " + i + " adalah : " + data[i]);
}
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 11/84
10
}
}
Output :
Data ke 0 adalah : 20
Data ke 1 adalah : 10
Data ke 2 adalah : 50
Data ke 3 adalah : 30
Data ke 4 adalah : 10
Pada contoh di atas, yang di sebut variable array adalah baris:
int[] data = {20,10,50,30,10};
dan digunakan dalam program pada baris:
System.out.println("Data ke " + i + " adalah : " + data[i]);
Aturan penggunaan variable array dalam program computer adalah berikut:
Deklarasi variable array
Int[] data;
Menentukan besar variable array
data = new int [5];
Memberi nilai variable array
for (int i=0; i<5; i++) {
data[i]=i
}
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 12/84
11
2.4 Operator
Operator adalah symbol dan karakter khusus yang kita gunakan dalam bahasa pemrograman
untuk mengubah nilai suatu operand. Sebagai contoh, symbol + adalah operator penambahan
dalam Java. Kita menggunakan operator ini untuk melakukan penjumlahan dari dua operand. di
bawah ini beberapa contoh tpe operator dalam JAVA.
Operator Aritmatika
Operator aritmatika digunakan untuk melakukan operasi matematika, seperti penambahan,
pengurangan, pembagian, dan modulo (atau sisa pembagian).
Contoh penggunaan :
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 13/84
12
Operator Increment dan Decrement
Operator ini berfungsi untuk menghitung counter baik itu menambah dan mengurangi nilai dari
variabel bersangkutan dengan nilai 1 dan biasanya digunakan dalam looping/perulangan. Untuk
increment simbolnya : (++), sedangkan decrement simbolnya : ( – ).Untuk penempatanya dapat
diletakan sebelum ataupun sesudah operand/variabel. Namun fungsi penempatan akan
mempengaruhi dari proses masing-masing. Jika increment dan decrement diletakan sebelum
variabel, maka nilai increment dan decrement akan diproses terlebih dahulu – baru berlanjut ke
proses lainnya. Sedangkan jika increment dan decrement diletakan sesudah variabel, maka nilai
dari increment dan decrement tidak akan diproses dahulu melainkan nilai varibel lama yang
diproses terlebih dulu, kemudian pada proses berikutnya nilai increment maupun decrement akan
terproses. Berikut contoh dari fungsi menempatkan increment dan decrement: ++A/A++ dan –
A/A –
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 ). Simbol dari relasi diantaranya: ( >, <, >=, <=, ==, != )
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 14/84
13
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 akanfalse dan akan mengabaikan variabel berikutnya.
Operator & (boolean AND) : kebalikan dari && yaitu akan mengeksekusi semua variabel
hingga mendapatkan nilai kembalianya. Nilai yang diminta adalah true, walaupun nilai
awal false/true operator akan tetap mengeksekusi variabel berikutnya.
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 15/84
14
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.
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 16/84
15
^ (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.
OperatorKondisi
Operator ini berfungsi sebagai pembanding tiga atau lebih variabel untuk menemukan nilai yang
ingin dicapai. Operator ini bersifat ternary (mengoperasikan lebih dari dua operand). Contoh
penulisan dengan simbol operator kondisi diantaranya:
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 17/84
16
Pada dasarnya operator "?:" akan mengevaluasi "kondisi". Apabila kondisi bernilai "true",
operator akan mengembalikan "jika_benar", tetapi apabila "kondisi" bernilai "false", operator
akan mengembalikan "jika_salah". Misalnya:
x =(1>2)?10:20
Dari contoh di atas, "x" akan memiliki nilai 20, karena ekspresi (1 > 2) adalah salah (atau
"false").
Berikut adalah hasil keluarannya :
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 18/84
17
2.5
Operasi I/O Stream Sederhana
Operasi I/O Stream Sederhana
Dalam sebuah pemrograman berorientasi object seperti halnya Program Java, kita mengenal
sebuah pengontrol aliran program yang akan dieksekusi oleh komputer (Threads). Dengan
adanya threads dalam pemrograman java kita dapat membuat program yang saling berurutan
(sekuensial).
Thread merupakan kemampuan yang disediakan oleh Java untuk membuat aplikasi yang
tangguh, karena thread dalam program memiliki fungsi dan tugas tersendiri. Dengan adanya
thread, dapat membuat program yang lebih efisien dalam hal kecepatan maupun penggunaan
sumber daya, karena kita dapat membagi proses dalam aplikasi kita pada waktu yang sama.
Thread umumnya digunakan untuk pemrograman multitasking, networking, yang melibatkan
pengaksesan ke sumber daya secara konkuren.
Secara konkrit, konsep threads dapat dilihat ketika kita mengetik sebuah dokumen di komputer
dengan menggunakan text editor, dalam waktu yang bersamaan kita juga dapat mendengarkanmusik, dan surfing lewat internet pada PC. Sistem operasi yang telah terinstal dalam komputer
kita memperbolehkan untuk menjalankan multitaskting. Seperti itu juga sebuah program, ia juga
dapat mengeksekusi beberapa proses secara bersama-sama (ibaratkan beberapa aplikasi berbeda
yang bekerja pada sebuah PC). Contoh aplikasi adalah HotJava browser yang memperbolehkan
untuk browsing terhadap suatu page, bersamaan dengan mendownload object yang lain,
misalnya gambar, memainkan animasi, dan juga file audio pada saat yang bersamaan.
Sedangkan ketika kita melakukan penulisan dan pembacaan data sering kita sebut dengan proses
input dan output, dimana penulisan data berarti mengalirkan data ke output dan menerima atau
mendapatkan data dari input. Kita mengenal, dua macam stream yaitu Stream Input dan Stream
output.
Stream adalah representasi abstrak dari input dan output device, dimana aliran bytes akan
ditransfer seperti file dalam harddisk, file pada sistem remote atau printer. Kita dapat membaca
data dari input stream, yang dapat berupa file, keyboard atau komputer remote. Sedangkan untuk
operasi penulisan berarti menulis data pada output stream. Package Java I/O mendukung dua tipe
stream, yaitu binari dan karakter stream. Binari merupakan data berupa bit atau data binari,
sedangkan karakter adalah tipe khusus untuk pembacaan dan penulisan teks/karakter.
Thread merupakan kemampuan yang disediakan oleh Java untuk membuat aplikasi yang
tangguh, karena thread dalam program memiliki fungsi dan tugas tersendiri. Dengan adanya
thread, dapat membuat program yang lebih efisien dalam hal kecepatan maupun penggunaan
sumber daya, karena kita dapat membagi proses dalam aplikasi kita pada waktu yang sama.
Thread umumnya digunakan untuk pemrograman multitasking, networking, yang melibatkan
pengaksesan ke sumber daya secara konkuren. Ada dua cara yang bisa digunakan dalam
membuat sebuah thread, yaitu :
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 19/84
18
# Membuat subclass dari thread
Untuk menjalankan thread, dapat dilakukan dengan memanggil method start(). Saat start()
dijalankan, maka sebenarnya method run() dari class akan dijalankan. Jadi untuk membuat
thread, harus mendefinisikan method run() pada definisi class. Konstruktor dari cara ini adalah :
ClassThread namavar = new ClassThread();
Namavar.start();
Atau dapat juga langsung dengan cara:
New ClassThread().start();
#Mengimplementasikan interface Runnable
Cara ini merupakan cara yang paling sederhana dalam membuat thread. Runnable merupakan
unit abstrak, yaitu kelas yang mengimplementasikan interface ini hanya cukup
mengimplementasikan fungsi run(). Dalam mengimplementasi fungsi run(), kita akan
mendefinisikan instruksi yang membangun sebuah thread. Konstruktor dari cara ini adalah :
ObjekRunnable objek = new ObjekRunnable();Thread namavar = new Thread(Objek Runnable);
Atau dengan cara singkat seperti :
New Thread(new ObjekRunnable());
Dalam pemrograman java ada dua threads, yaitu daemon dan user thread. Daemon thread
merupakan thread yang siklus hidupnya tergantung pada thread utama atau induk, sehingga
apabila thread induk berakhir, maka otomatis thread-thread daemon juga ikut berakhir.
Sedangkan user thread memiliki sifat berbeda, dimana apabila thread utama sudah selesai, maka
user thread akan terus dijalankan.
Macam-macam state pada streads:
1. Running
Sebuah thread yang pada saat ini sedang dieksekusi dan didalam control dari CPU.
2. Ready to run
Thread yang sudah siap untuk dieksekusi, tetapi masih belum ada kesempatan untuk
melakukannya.
3. Resumed
Setelah sebelumnya di block atau diberhentikan sementara, state ini kemudian siap untuk
dijalankan.
4. Suspended
Sebuah thread yang berhenti sementara, dan kemudian memperbolehkan CPU untuk
menjalankan thread lain bekerja
5. Blocked
Sebuah thread yang di-block merupakan sebuah thread yang tidak mampu berjalan, karena ia
akan menunggu sebuah resource tersedia atau sebuah event terjadi
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 20/84
19
Untuk menentukan thread mana yang akan menerima control dari CPU dan akan dieksekusi
pertama kali, setiap thread akan diberikan sebuah prioritas. Sebuah prioritas adalah sebuah nilai
integer dari angka 1 sampai dengan 10, dimana semakin tinggi prioritas dari sebuah thread,
berarti semakin besar kesempatan dari thread tersebut untuk dieksekusi terlebih dahulu. Sebagai
contoh, asumsikan bahwa ada dua buah thread yang berjalan bersama-sama. Thread pertama
akan diberikan prioritas nomor 5, sedangkan thread yang kedua memiliki prioritas 10. Anggaplah
bahwa thread pertama telah berjalan pada saat thread kedua dijalankan. Thread kedua akan
menerima control dari CPU dan akan dieksekusi pada saat thread kedua tersebut memiliki
prioritas yang lebih tinggi dibandingkan thread yang pada saat itu tengah berjalan. Salah satu
contoh dari skenario ini adalah context switch.
Sebuah context switch terjadi apabila sebagian dari thread telah dikontrol oleh CPU dari thread
yang lain. Ada beberapa skenario mengenai bagaimana cara kerja dari context switch. Salah satu
skenario adalah sebuah thread yang sedang berjalan memberikan kesempatan kepada CPU untuk
mengontrol thread lain sehingga ia dapat berjalan.
Dalam kasus ini, prioritas tertinggi dari thread adalah thread yang siap untuk menerima kontroldari CPU. Cara yang lain dari context switch adalah pada saat sebuah thread yang sedang
berjalan diambil alih oleh thread yang memiliki prioritas tertinggi seperti yang telah dicontohkan
sebelumnya. Hal ini juga mungkin dilakukan apabila lebih dari satu CPU tersedia, sehingga lebih
dari satu prioritas thread yang siap untuk dijalankan.
Untuk menentukan diantara dua thread yang memiliki prioritas sama untuk menerima kontrol
dari CPU, sangat bergantung kepada sistem operasi yang digunakan. Windows 95/98/NT
menggunakan time-slicing dan round-robin untuk menangani kasus ini. Setiap thread dengan
prioritas yang sama akan diberikan sebuah jangka waktu tertentu untuk dieksekusi sebelum CPU
mengontrol thread lain yang memiliki prioritas yang sama. Sedangkan Solaris, ia akan
membiarkan sebuah thread untuk dieksekusi sampai ia menyelesaikan tugasnya atau sampai iasecara suka rela membiarkan CPU untuk mengontrol thread yang lain.
Stream merupakan dasar operasi input-output ( I/O ) dalam Java yang menggunakan package
java.io sebagai package utama. Stream adalah representasi abstrak dari input dan output device,
dimana aliran bytes akan ditransfer seperti file dalam harddisk, file pada sistem remote atau
printer. Kita dapat membaca data dari input stream, yang dapat berupa file, keyboard atau
komputer remote. Sedangkan untuk operasi penulisan berarti menulis data pada output stream.
Package java.IO mendukung dua tipe stream, yaitu binari dan karakter stream. Binari merupakan
data berupa bit atau data binari, sedangkan karakter adalah tipe khusus untuk pembacaan dan
penulisan teks/karakter.
A. Input Stream
Subclass-subclass dari input Stream adalah: Audio Input Stream, Byte Array Input Stream, File
Input Stream, Filter Input Stream, Piped Input Stream, Sequence Input Stream, dan String Buffer
Input Stream. Dua method utama dari InputStream adalah :
a. Read : Method ini digunakan untuk membaca stream
b. Close : Method ini digunakan untuk menutup koneksi input stream.
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 21/84
20
B. Output Stream
Subclass-subclass dari outputStream adalah :
• ByteArrayOutputStream : digunakan untuk menuliskan stream menjadi byte array;
• FileOutputStream : digunakan untuk menulis pada file;
• FilterOutputStream : merupakan superclass dari subclass-subclass seperti DataOutputStream,
BufferOutputStream, PrintStream, CheckedOutputStream;
• ObjectOutputStream : digunakan untuk menuliskan objek pada OutputStream.
• PipedOutputStream : digunakan untuk menjadi output dari PipedInputStream.
Sebagian method-method OutputStream adalah :
#Voidclose()
Menutup output stream yang aktif dan melepaskan sumber daya terkait dengan stream tersebut;
#Void flush()
Melakukan flush output stream dan memaksa semua byte buffer untuk dituliskan keluar;#Void write(byte[] b)
Menulis sebanyak b.length dari byte array ke output stream;
#Void write(byte[] b, int off, int len)
Menuliskan sebanyak len byte dari byte array b dimulai dari index off.
2.6
Pengaturan Format Output Numerik
Metode Pengaturan Format
1. Menggunakan Method System.out.format() 2. Menggunakan DecimalFormat Class
1. Method System.out.format()
public class TestFormat {
public static void main(String[] args) {
long n = 461012;
System.out.format(―%d%n‖, n);
System.out.format(―%08d%n‖, n);
System.out.format(―%+8d%n‖, n);
System.out.format(―%,8d%n‖, n);
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 22/84
21
System.out.format(―%+,8d%n%n‖, n);
double pi = Math.PI;
System.out.format(―%f%n‖, pi);
System.out.format(―%.3f%n‖, pi);
System.out.format(―%10.3f%n‖, pi);
System.out.format(―%-10.3f%n‖, pi);
Calendar c = Calendar.getInstance();
System.out.format(―%tB %te, %tY%n‖, c, c, c);
System.out.format(―%tl:%tM %tp%n‖, c, c, c);
System.out.format(―%tD%n‖, c);
}
}
Hasil Eksekusi
461012
00461012
+461012
461,012
+461,012
3.141593
3.142
3.142
3.142
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 23/84
22
May 29, 2006
2:34 am
05/29/06
2. DecimalFormat Class
public class DecimalFormatDemo {
public static void main(String[] args){
DecimalFormat formatku = new DecimalFormat(―###.##‖);
//String output = formatku.format(45.8398767);
//System.out.println(output);
System.out.println(formatku.format(45.8398767));
}
}
DecimalFormatDemoLengkap
public class DecimalFormatDemoLengkap{
static public void customFormat(String pattern, double value ) {
DecimalFormat myFormatter = new DecimalFormat(pattern);
String output = myFormatter.format(value);
System.out.println(value + ‖ ‖ + pattern + ‖ ‖ + output);
}
static public void main(String[] args) {
customFormat(―###,###.###‖, 123456.789);
customFormat(―###.##‖, 123456.789);
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 24/84
23
customFormat(―000000.000‖, 123.78);
customFormat(―$###,###.###‖, 12345.67);
}
}
Hasil Eksekusi
123456.789 ###,###.### 123,456.789 123456.789 ###.## 123456.79 123.78 000000.000
000123.780 12345.67 $###,###.### $12,345.67
2.7 Konversi String dan Bilangan (Number)
Konversi String ke Bilangan
String myString;
double myDbl = Double.parseDouble(myString); //konversi string ke double
Integer.parseInt(myString); //konversi string ke integer
Float.parseFloat(myString); //konversi string float
Argument untuk Menerima Input
public class LuasSegitigaArgs {
public static void main(String[] args) {
double alas= Double.parseDouble(args[0]);
double tinggi = Double.parseDouble(args[1]);
double luas = (alas*tinggi)/2;
System.out.println(―Luas Segitiga : ‖ + luas);
}
}
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 25/84
24
Konversi Bilangan ke String
double myDouble;
int myInteger;
float myFloat;
String myString = Double.toString(myDouble);
Integer.toString(myInteger);
Float.toString(myFloat);
2.8 Pernyataan Penentu Keputusan
Pernyataan Penentu Keputusan
1. if, if-else, if-else if – else2. switch
if
Pernyataan kondisi yang digunakan untuk pengambilan keputusan terhadap dua buah
kemungkinan
if bisa berdiri sendiri atau dengan menggunakan else Bentuk:
if(kondisi){
// blok pernyataan yang dijalankan, bila kondisi benar
}
PernyataanIF.java
public class PernyataanIF{
public static void main(String[] args){
int diskon =0, totalBelanja = 500000;
if (totalBelanja >= 100000){
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 26/84
25
diskon = totalBelanja/10;
}
System.out.println(―Diskon = ‖ + diskon);
}
}
if-else
if-else mengatur pernyataan yang dijalankan sewaktu kondisi bernilai benar atau salah
Bentuk:
if(kondisi){
// blok pernyataan yang dijalankan, bila kondisi benar
} else{
// blok pernyataan yang dijalankan, bila kondisi salah
}
PernyataanIFELSE.java
public class PernyataanIFELSE{
public static void main(String[] args){
int diskon =0, totalBelanja = 500000;
if (totalBelanja >= 100000){
diskon = totalBelanja/10;
} else{
diskon = 0;
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 27/84
26
}
System.out.println(―Diskon = ‖ + diskon);
}
}
if-else if-else
Mengatur pernyataan yang dijalankan sewaktu kondisi berupa pilihan Bentuk:
if (kondisiA){
// pernyataan yang dijalankan, bila kondisiA benar
}else if (kondisiB){
// pernyataan yang dijalankan, bila kondisiB benar
}else if (kondisiC){
// pernyataan yang dijalankan, bila kondisiC benar
}else{
// pernyataan yang dijalankan untuk kondisi selain itu
}
PernyataanIFELSEIF.java
public class PernyataanIFELSEIF{
public static void main(String[] args) {
int skorUjian= 86; char nilai;
if (skorUjian >= 90) {
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 28/84
27
nilai = ‗A‘;
} else if (skorUjian >= 80) {
nilai = ‗B‘;
} else if (skorUjian >= 70) {
nilai = ‗C‘;
} else {
nilai = ‗D‘;
}
System.out.println(―Nilai = ‖ + nilai);
}
}
Operator Ternary (Kondisi)
Pernyataan kondisi yang menggunakan operator ternary (melibatkan tiga buah operand) Bentuk:
ekspresi_kondisi ? nilai_1 : nilai_2
OperatorTernary.java
public class OperatorTernary{
public static void main(String[] args){
int totalBelanja = 500000;
int diskon = totalBelanja >= 100000 ?totalBelanja/10 : 0;
System.out.println(―Diskon = ‖ + diskon);
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 29/84
28
}
}
Switch
Switch digunakan untuk melakukan tindakan berbeda terhadap sejumlah kemungkinannilai
Bentuk:
switch(ekspresi){
case nilaiSatu:
Pernyataan 1
break;
case nilaiDua:
Pernyataan2
break;
…
default: PernyataanN;
}
PernyataanSWITCH.java
public class PernyataanSWITCH1{
public static void main(String[] args){
int pilihan = 3;
switch(pilihan){
case 1:
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 30/84
29
System.out.println(―Soto Ayam‖);
break;
case 2:
System.out.println(―Gule Kambing‖);
break;
case 3:
System.out.println(―Nasi Goreng‖);
break;
default:
System.out.println(―Silakan Pilih 1, 2 atau 3‖);
}
}
}
2.9 Pernyataan Pengulangan Proses
1. Pernyataan “for “
Pernyataan ―for‖ digunakan untuk mengulang suatu blok program yang terdapat di dalam kurungkurawal setelah pernyataan ―for‖. Format penulisan pernyataan ―for‖ adalah sebagai berikut :
for (inisiasi; test kondisi; proses inkremental/dekremental)
{pernyataan yang akan diulang;}Inisiasi dilakukan pertama – tama ketika pernyataan ―for‖ dijalankan dan hanya dilakukan satukali saja yaitu pada saat awal pernyataan ―for‖ dijalankan. Selama proses pengulangan terjadi,selalu dilakukan test kondisi untuk mengetahui apakah variabel masih masuk dalam range yangditentukan atau masih bernilai ―benar‖ atau tidak. Setelah proses test kondisi, variabel diinkremental atau dekremental sesuai dengan persamaan yang diberikan. Pengulangan terus berlangsung hingga test kondisi ―salah‖. Bila bilai test kondisi ―salah‖, maka proses pengulangan
dihentikan dan program lanjut membaca pernyataan berikutnya.
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 31/84
30
Contoh Program
int PWMpin = 10;
void setup()
{ pinMode(PWMpin, OUTPUT);}
void loop(){
int i;for (i=0; i<=255; i++){analogWrite(PWMpin,i);}
}
Penjelasan:
Pada contoh program diatas, pertama-tama program melakukan deskripsi yaitu menyatakan―PWMpin‖ adalah bilangan bulat (integer) dan sebagai perwujudan dari pin 10. Pada bagiansetup diatur supaya ―PWMpin‖ menjadi pin output. Pada bagian program utama (loop), terlebihdahulu dideklarasi sebuah variabel i sebagai bilangan bulat (integer). Kemudian dilakukan pengulangan dengan menggunakan pernyataan ―for‖. Nilai inisiasi awal untuk variabel i adalahi=0, kemudian dilakukan test kondisi i<255. Selama nilai variabel i < 255, pengulangan terusdilakukan hingga variabel i > 255. Kemudian dilakukan proses inkremental dengan menaikkannilai variabel i sebesar 1. Pernyataan yang diulang adalah ―analogWrite(PWMpin,i)‖ yaitumengeluarkan output PWM dengan nilai dari 0 hingga 255.
2. Pernyataan “while”
Pernyataan ―while‖ akan memerintahkan program untuk melakukan pengulangan terus menerusdan tak terhingga, sampai nilai test kondisi yang terdapat di dalam kurung () tercapai. Format penulisan untuk pernyataan pengulangan ―while‖ adalah :
while(test kondisi){ pernyataan / program ; }Test kondisi adalah sebuah bilangan boolean yang menyatakan salah atau benar.Contoh Programint var ;void loop(){var = 0;while(var < 200){// suatu pernyataan yang akan dilakukan berulang-ulang hingga 200 kali
var++;
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 32/84
31
}}
Pada contoh program di atas, pertama-tama dideskripsikan terlebih dahulu suatu variabel ―var‖sebagai bilangan integer. Kemudian dalam program utama, variabel ―var‖ diuji apakah
memenuhi ―var<200‖. Jika hasil pengujian benar, maka pernyataan yang ada dalam blok ―while‖akan dieksekusi dan nilai variabel ―var‖ akan dinaikan 1. Kemudian program berulang kembali.Pengulangan dilakukan hingga variabel ―var‖ tidak memenuhi var<200.
3. Pernyataan “do-while”
Pernyataan pengulangan ―do-while‖ hampir sama dengan pernyataan ―while‖, bedanya bila pada pernyataan ―while‖ , test kondisi diuji dahulu, dan bila test kondisi bernilai benar maka pernyataan yang ada di dalam blok ―while‖ akan dieksekusi, kemudian test kondisi akandiinkremental. Pada pernyataan ―do-while‖, kondisi menjadi terbalik, yaitu pernyataan utamaakan dieksekusi terlebih dahulu, setelah itu baru test kondisi diuji, jika test kondisi benar maka
pernyataan utama akan diulang, dan jika salah program akan keluar dari blok ―do-while‖. Format penulisan pernyataan ―do-while‖ adalah sebagai berikut.
do { //pernyataan utama;}
while(test kondisi)Contoh Programdo { delay(50);
x = readSensors(); }
while (x < 100);
Pada contoh program di atas, pertama-tama program akan melakukan delay selama 50 milidetikmenungga hingga sensor stabil. Kemudian program akan membaca sensor dan menyimpannyadalam variabel x. Kemudian variabel x akan diuji apakah lebih kecil dari 100 atau tidak. Jikanilai x lebih kecil dari 100, maka program akan melakukan pengulangan (kembali melakukan pembacaan sensor), tetapi jika nilai x lebih besar dari 100, maka program akan keluar dari blok―do-while‖ untuk melakukan perintah yang lain.
2.10 Pernyataan Pemindah Proses
Pernyataan Pemindah Proses
1. return2. break3. continue
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 33/84
32
return
Digunakan untuk keluar dari method return memiliki dua bentuk:
1. mengembalikan nilai (sesuai dengan tipe data)
2. tidak mengembalikan nilai (untuk void) Contoh:
int perkalian(int x, int y){
return x * y;
}
void perkalian(int x, int y){
hasilKali = x * y;
return;
}
Break
Penyataan break digunakan untuk keluar dari suatu pengulangan (loop) Penggunaan break bisa berbentuk tanpa label atau berlabel
PernyataanBREAK.java
public class PernyataanBREAK {
public static void main(String[] args){
for(int i=1; i<11; i++){
if(i==5) break;
System.out.println(i);
}
}
}
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 34/84
33
PernyataanBREAKLABEL.java
public class PernyataanBREAK {
public static void main(String[] args){
selesai:
for(int i=1; i<11; i++){
if(i==5) break selesai;
System.out.println(i);
}
}
}
Continue
Digunakan untuk melanjutkan eksekusi ke suatu pengulangan (loop) Bisa berbentuk tanpa label atau berlabel
Bentuk code persis sama dengan break, baik untuk yang tanpa label atau berlabel
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 35/84
34
BABIII
HASIL PERCOBAAN PRAKTIKUM
3.1 H
3.2
3.3
3.4
3.5
3.6
ASIL PRAKTIKUM MODUL2
TAMPILAN GAMBAR AWAL
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 36/84
35
TAMPILAN PROGRAM DI EKSEKUSI
KODE PROGRAM
public class modul2 extends javax.swing.JFrame {
public modul2() {
initComponents();
}
@SuppressWarnings("unchecked")
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
lblnpm.setText(txtnpm.getText());
lblnama.setText(txtnama.getText());
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 37/84
36
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);
}
});
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 38/84
37
}
// Variables declaration - do not modify
private javax.swing.JComboBox cbojk;
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;
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 39/84
38
private javax.swing.JLabel lbltl
3.7 HASIL PRAKTIKUM MODUL 3
Tampilan awal program
Tampilan setelah program di eksekusi
Kode Program
public class modul3 extends javax.swing.JFrame {
public modul3() {
initComponents();
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 40/84
39
}
@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;
String Hasil = String.valueOf(Hasil3);
txthasil.setText(Hasil);
}
private void btnkaliActionPerformed(java.awt.event.ActionEvent evt) {
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 41/84
40
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);
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new modul3().setVisible(true);
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 42/84
41
}
});
}
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;
private javax.swing.JPanel jPanel1;
private javax.swing.JTextField txthasil;
private javax.swing.JTextField txtinput1;
private javax.swing.JTextField txtinput2;}
3.8 HASIL PRAKTIKUM MODUL 4
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 43/84
42
TAMPILAN AWAL PROGRAM
PROGRAM YANG TELAH DI EKSEKUSI
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 44/84
43
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"){
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"){
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 45/84
44
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);}
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;
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 46/84
45
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;
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.9
HASIL PRAKTIKUM MODUL 5
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 47/84
46
Gambar awal aplikasi
Gambar setelah aplikasi di eksekusi
SOURCE KODE
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;
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 48/84
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:
txtgajipokok.setText("1200000");
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 49/84
48
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;
}
t_anak = String.valueOf(tunjangananak);
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 50/84
49
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;
tunjangananak=0;
jumlahanak=0;
txttunjanganistri.setText("0");
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 51/84
50
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;
s_gajikotor=String.valueOf(gajikotor);
s_pajak=String.valueOf(pajak);
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 52/84
51
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) {
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) {
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 53/84
52
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) { }
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;
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 54/84
53
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;
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.10 HASIL PRAKTIKUM MODUL 6
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 55/84
54
GAMBAR AWAL APLIKASI
GAMBAR APLIKASI YANG TELAH DI EKSEKUSI
SOURCE KODE
import MDI.IFModul2;
import MDI.IFModul3;
import MDI.IFModul4;
import MDI.IFModul5;
import java.awt.Dimension;
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 56/84
55
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{
JInternalFrame Jin = new JInternalFrame(judul,false,true,true);
jin.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
JPanel pn = new JPanel();
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 57/84
56
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(); }
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();
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 58/84
57
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();
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 59/84
58
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();
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() {
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 60/84
59
new FormUtama().setVisible(true);
}});}
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;}
3.11
HASIL PRAKTIKUM MODUL 7
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 61/84
60
GAMBAR AWAL APLIKASI
GAMBAR APLIKASI SETELAH DI EKSEKUSI
SOURCE KODE UNTUK DATABASE MYSQL
CREATE DATABASE dbjava;
USE dbjava;
CREATE TABLE tcustomer (
id VARCHAR(6) PRIMARY KEY,
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 62/84
61
nama VARCHAR(25),
nohp VARCHAR(14),
alamat VARCHAR(100));
SOURCE KODE UNTUK JAVA
package gui;
import java.awt.HeadlessException;
import java.sql.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JOptionPane;
import koneksi.ClassDB;
public class formInputData extends javax.swing.JFrame {
public formInputData()
{
initComponents();
bacaId();
txtid.setEnabled(false);
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 63/84
62
btnsave.setEnabled(false);}
private void bacaId(){
int kode = 0; 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(Id) as kd FROM tcustomer";
ResultSet rs = smt.executeQuery(sql);
if (rs.next()){
kode = rs.getInt("kd");
}else{
}txtid.setText("000"+(kode + 1));
}
}catch (ClassNotFoundException | SQLException e){}}
private void simpan() {
String id = this.txtid.getText();
String nama = this.txtnama.getText();
String nohp = this.txthp.getText();
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 64/84
63
String alamat = this.txtalamat.getText();
String st = "Free";
if ("".equals(this.txtid.getText()) || ("".equals(this.txtnama.getText ()))
|| ("".equals(this.txthp.getText())) || ("".equals(this.txtalamat.getText()))) {
JOptionPane.showMessageDialog(this, "Lengkapi data");
}
else {
try{
Connection c = ClassDB.getkoneksi();
Statement s = c.createStatement();
String sql = "Insert into tcustomer values (?,?,?,?)";
try (com.mysql.jdbc.PreparedStatement
p = (com.mysql.jdbc.PreparedStatement) c.prepareStatement(sql))
{
p.setString(1, id);
p.setString(2, nama);
p.setString(3, nohp);
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 65/84
64
p.setString(4, alamat);
p.executeUpdate();
}JOptionPane.showMessageDialog(this, "Sukses Tambah data");
}catch (SQLException e) {
System.out.println("Terjadi kesalahan " + e);
}finally {
bersih();
}}}
private void bersih() {
bacaId();
txtnama.setText(null);
txthp.setText(null);
txtalamat.setText(null); btnsave.setEnabled(false); btnclear.setEnabled(false);
txtid.setEnabled(false);} @SuppressWarnings("unchecked")
private void btnsaveActionPerformed(java.awt.event.ActionEvent evt) {
simpan();}
private void btnclearActionPerformed(java.awt.event.ActionEvent evt) {
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 66/84
65
bersih(); }
private void txtnamaKeyTyped(java.awt.event.KeyEvent evt) {
btnsave.setEnabled(true); btnclear.setEnabled(true); }
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() { new formInputData().setVisible(true);}});}
private javax.swing.JButton btnclear; private javax.swing.JButton btnsave;
private javax.swing.JDesktopPane jDesktopPane1; private javax.swing.JLabel jLabel1; private
javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4; private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTextArea txtalamat; private
javax.swing.JTextField txthp;
private javax.swing.JTextField txtid; private javax.swing.JTextField txtnama;}
3.12 HASIL PRAKTIKUM MODUL 8
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 67/84
66
Gambar awal aplikasi
Gambar aplikasi yang telas di eksekusi
Source kode database mysql
CREATE DATABASE dbjava;
USE dbjava;
CREATE TABLE tpenjualan (
invoice VARCHAR(12) PRIMARY KEY,
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 68/84
67
tanggal DATE,
id VARCHAR(6),
nama VARCHAR(30),
status VARCHAR(15),
barang VARCHAR(30),
harga VARCHAR(12),
jumlah VARCHAR(6),
diskon VARCHAR(12),
bayar VARCHAR(12)
);
Source kode program java
package gui;
import java.awt.HeadlessException;
import java.sql.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JOptionPane;
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 69/84
68
import koneksi.ClassDB;
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) ;
if (rs.next()) {
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 70/84
69
}else {}txtinvoice.setText((kode+1));
}}catch (ClassNotFoundException | SQLException e) { } }
private void cariId(){
try {
Class.forName("com.mysql.jdbc.Driver");
try (Connection cn = DriverManager.getConnection("jdbc:mysql://localhost/dbjava",
"root", "");
Statement smt = cn.createStatement()) {
String sql = "SELECT * FROM tcustomer where id ='"+txtid.getText()+"' " ;
ResultSet rs = smt.executeQuery(sql) ;
if (rs.next()) {
txtnama.setText(rs.getString("Nama"));
txthp.setText(rs.getString("nohp"));
txtalamat.setText(rs.getString("alamat"));
}else {
JOptionPane.showMessageDialog(null,"Id Customer Tidak
Terdaftar","INFORMASI",JOptionPane.INFORMATION_MESSAGE) ;
txtid.setText(null); txtnama.setText(null);txtid.requestFocus() ;
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 71/84
70
}}} 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();
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()))
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 72/84
71
|| ("".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, 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);
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 73/84
72
p.setString(10, bayar);
p.executeUpdate();
}JOptionPane.showMessageDialog(this, "Invoice Tersimpan");
}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);
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 74/84
73
nilaidiskon = harga - diskon ;
total = (nilaidiskon * jumlah) ;}
txtdiskon.setText(""+diskon);
txttotal.setText(""+total);}
private void bersih(){
invoice();
txtid.setText(null);
txtnama.setText(null);
txthp.setText(null);
txtalamat.setText(null);
cbostatus.setSelectedItem("Pilih");
txtharga.setText(null);
txtjumlah.setText("1");
txtdiskon.setText(null);
txttotal.setText(null);
}
@SuppressWarnings("unchecked")
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 75/84
74
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();}
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");}
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 76/84
75
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);
}});}
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;
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 77/84
76
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;
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;
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 78/84
77
private javax.swing.JTextField txtjumlah;
private javax.swing.JTextField txtnama;
private javax.swing.JTextField txttanggal;
private javax.swing.JTextField txttotal;
}
BAB IV
ANALISA HASIL PERCOBAAN
4.1 Analisa Hasil Percobaan Modul 2
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 79/84
78
Program tersebut digunakan untuk menampilkan hasil output Biodata, seperti mengisi
NPM, Nama, Jenis Kelamin, Tanggal Lahir, Alamat, Hobi. Pallete yang digunakan adalah
jLabel, Text Field, Combo Box dan JButton . jLabel yang digunakan unutk menampilkan output
biodata ― variabel name ‖ di ubah masing-masing menjadi lblnpm, lblnama, lbljk, lbltgl,
lblalamat, lblhobi . Kemudian Text Field yang digunakan untuk mengisi data ― variabel name‖ di
ubah menjadi txtnpm, txtnama, txttgl, txtalamat dan txthobi. Jenis Kelamin yang menggunakan
Combo Box Karena pada Jenis Kelamin ini terdapat 2 pilihan yaitu : (Laki-laki dan Perempuan)
variabel name diubah menjadi cbojk, dan Proses menggunakan J Button juga digantikan variabel
name menjadi btnproses. Hal ini untuk memudahkan dalam penulisan program, Kemudian
kembali ke tab design dan memberi ActionPerformed pada button Proses, Kemudian ketikan
source code seprti pada gambar 3.1.10, Kemudian jalankan program
4.2 A nalisa Hasil Percobaan Modul 3
Program tersebut digunakan untuk menampilkan hasil output seperti pada Kalkulator.
Program ini terdiri dari Input Nilai Pertama, Input Nilai Kedua, Hasil dan Operator Aritmatika
seperti (+, -, *, /). Disini pada tampilan Input Nilai Pertama, Input Nilai Kedua dan Hasil
menggunakan Pallete Text Field yang digunakan untuk mengisi nilai pertama dan nilai kedua,
tetapi pada hasil penulis mengubah pengaturan agar hasil tersebut tidak bisa diedit ataupun
dihapus, Kemudian pada Operator Aritmatika menggunakan Pallete Button agar Operator
Aritmatika dapat di klik, seperti menampilkan hasil Penjumlahan, Pengurangan, Perkalian dan
Pembagian. Masing Button di ubah masing-masing variabel namenya. Kemudian klik kanan
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 80/84
79
pada button > pilih Event kemudian MouseCliked lalu ketikan kode perintah. Lakukan juga
pada button yang lain. Setelah itu jalankan program
4.3 Analisa Hasil Percobaan Modul 4
Program tersebut digunakan untuk menampilkan hasil output seperti pada Kalkulator.
Program ini terdiri dari Input Nilai Pertama, Input Nilai Kedua, Hasil dan Operator Aritmatika
seperti (+, -, *, /). Disini pada tampilan Input Nilai Pertama, Input Nilai Kedua dan Hasil
menggunakan Pallete Text Field yang digunakan untuk mengisi nilai pertama dan nilai kedua,
tetapi pada hasil penulis mengubah pengaturan agar hasil tersebut tidak bisa diedit ataupun
dihapus, Kemudian pada Operator Aritmatika menggunakan Pallete Button agar Operator
Aritmatika dapat di klik, seperti menampilkan hasil Penjumlahan, Pengurangan, Perkalian dan
Pembagian. Masing Button di ubah masing-masing variabel namenya. Kemudian klik kanan
pada button > pilih Event kemudian MouseCliked lalu ketikan kode perintah. Lakukan juga
pada button yang lain. Setelah itu jalankan program
4.4 Analisa Hasil Percobaan Modul 5
Disini kami 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.
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 81/84
80
4.5 Analisa Hasil Percobaan Modul 6
Program tersebut digunakan untuk menampilkan hasil output seperti Tampilan website
sederhana yang terdiri dari Menu Bar seperti File, Data dan Help, Cara membuatnya klik JMenu
Bar dari pallete kemudian letakan pada tab design form. File, Data dan Help masing-masing
terdapat 2 Menu Item seperti (New dan Keluar), 4 Menu Item yang berisi (Modul 2, Modul 3,
Modul 4 dan Modul 5), dan n 1 Menu Item yang berisi (Tentang). Cara menambahkannya Menu
Item Klik kanan pada Menu bar > Add Form Pallete > Menu Item. Kemudian ganti text
JMenuItem dengan ‗New‘ car anya Klik kanan JMenuItem1 > Edit Text, Lakukan berulang
sesuai dengan form. Kemudian membuat packages baru dengan nama MDI dan menambahkan
JInternal Frame Form
4.6 Analisa Hasil Percobaan Modul 7
Program ini terdiri dari Id, Nama, No HP dan Alamat dengan tombol Save dan Clear.
Program Form Input Data Customer ini juga mengkoneksikan ke MySQL Database. Pada Modul
7, program ini menggunakan 2 Package yaitu Package Gui dan Package Koneksi, Package
Koneksi inilah yang menghubungkan dari Program Java Netbeans IDE ke MySQL Database.
Pada bagian code public class ClassDB merupakan perintah yang menghungkan hasil inputan ke
DATABASE. Method dengan nama simpan, di gunakan untuk menyipan data ke database
tcustomer. Kemudian tambahkan Library konektor MySQL, Caranya : Klik kanan folder
Libararies > Add Library > Pilih MySQL JDBC Driver > Add Library. Yang berfungsi sebagai
penghubungProgram tersebut digunakan untuk menampilkan hasil output Data Customer,
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 82/84
81
4.7 Analisa Hasil Percobaan Modul 8
pada hasil prcobaan modul8 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 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.
BAB V
PENUTUP
KESIMPULAN
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 83/84
82
Pada praktikum Bahasa Pemrograman Java ini saya menggunakan Netbeans IDE 8.0.1 sebagai
editor. Dari hasil praktikum ini, Saya bisa memahami dan mengerti cara merancang tampilan
form dari sebuah aplikasi dan mengerti fungsi dari source kode masing-masing form dan
menghubungkannya ke database.
SARAN
Semoga praktikum bahasa pemograman java lebih di tingkatkan lagi. Agar mahasiswa dapat
membangun sebuah aplikasi atau sistem informasi yang kemudian bisa diterapkan dalam
kehidupan sebagai kebutuhan akan informasi.
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 praktikum yang telah membimbing kami selama
praktikum pemrograman java ini berlangsung di laboratorium komputer Universitas Pembangunan panca
budi Terima kasih Buk.
MEDAN, 11 Desember 2015
Pollinawati Purba
DAFTAR PUSTAKA
http://belajarpsikologi.com/kata-pengantar-contoh-kata-pengantar/
http://study-rpl.blogspot.co.id/2014/08/variabel-dan-tipe-data-pada-java.html
7/23/2019 LAPORAN PRAKTIKUM bahasa pemrograman java(polina).pdf
http://slidepdf.com/reader/full/laporan-praktikum-bahasa-pemrograman-javapolinapdf 84/84
http://www.arijulianto.com/tutorial/php/convert_string_ke_integer.php#ixzz3ttuKRIZ9
http://www.kamusq.com/2013/04/analisa-adalah-definisi-dan-arti-kata.html
http://blog.aimagu.com/2012/08/membuat-aplikasi-create-read-update-dan.html
http://septialutfi-1102412057-3.blogspot.com/2013/10/makalah-bahasa-pemrograman-java.html
top related