LAPORAN PRAKTIKUM
SI-5 Pagi B
Nama Peraktikan
NPM Mahasiswa
Tanggal Kumpul
Tanda Tangan
Peraktikan
Ardian Wijaya
1314370089
Nama Penilai
12 Desember 2015
Tanggal Koreksi
Nilai
Tanda Tangan
Dosen
Indri Sulistianingsih,S.Kom
12 Desember 2015
KATA PENGANTAR
Puji syukur saya panjatkan kehadirat Tuhan Yang Maha Esa karena dengan
rahmat, karunia, serta taufik dan hidayah-Nya saya dapat menyelesaikan Laporan
Praktikum ini dengan baik meskipun banyak kekurangan didalamnya. Dan juga saya
berterima kasih pada Ibu Indri Sulistianingsih,S.Kom selaku Dosen mata kuliah
Bahasa Pemrograman Java yang telah memberikan tugas ini kepada saya.
Semoga Laporan Praktikum ini dapat dipahami bagi siapapun yang membacanya.
Sekiranya laporan yang telah disusun ini dapat berguna bagi saya sendiri maupun
orang yang membacanya. Sebelumnya saya mohon maaf apabila terdapat kesalahan
kata-kata yang kurang berkenan dan saya memohon kritik dan saran yang
membangun demi perbaikan di masa depan.
DAFTAR ISI
BAB I
PENDAHULUAN
a. Latar Belakang
Bahasa pemrograman didalam membuat sebuah program yang dimana
akan mementingkan sebuah kualitas, daya tarik, nilai estetika, efisiensi, dan
kuantitas sangat diperlukan dan menjadi prioritas utama bagi programmer
yang akan bergelut didalam dunia pemrograman ini. Seperti yang diketahui,
dari zaman sebelum Indonesia merdeka, perkembangan dalam dunia
pemrograman memang sudah memiliki perkembangan yang cukup pesat, dari
bahasa pemrograman yang memiliki bahasa tingkat rendah (low level
language) seperti bahasa mesin, COBOL, FORTRAN, dll serta hingga
sekarang kita mengetahui dan juga dipakai yaitu bahasa tingkat tinggi (high
level language) seperti C, C++, Pascal, PHP, JAVA, dll. Apa perbedaan
antara low level language (bahasa tingkat rendah) dengan high level language
(bahasa tingkat tinggi) ? Perbedaannya ialah pada bahasa tingkat rendah
masih belum terciptanya komputer yang bebasis GUI (Graphic User Interface)
yang mana berfungsi untuk lebih menguntungkan pengguna dengan grafis
yang telah dibuat pada sistem operasi atau secara tidak langsung berinteraksi
atau bertatap muka langsung dengan jendela komputer tersebut untuk
mengetahui kekurangan dan kelebihan program yang akan dibuat serta cepat
didalam penanggapan jika terjadi kesalahan didalam pengeksekusian.
Sedangkan zaman dahulu sekitar 1900-an, fungsi komputer bukan digunakan
untuk seperti zaman sekarang, membantu segala apapun yang akan dibuat
1
bahasa
tingkat
rendah
juga
masih
menggunakan
kode-kode
b. Tujuan Pratikum
Tujuan praktikum menggunakan bahasa pemrograman Java ialah :
1. Untuk memudahkan user didalam penggunaan aplikasi yang dibuat dengan
fitur-fitur andalanya.
2. Agar pengguna (user) dapat secara cepat didalam pengaksesan data dan
efisien.
3. Pengguna nantinya dapat mengakses program aplikasi dari bahasa Java
dalam segala platform OS (Operating System) seperti Windows, Linux, Unix,
Mac OS, dll.
4. Pengguna juga dapat menggunakan aplikasi di platform OS yang ada pada
smartphone atau mobile yaitu Android.
5. Koneksi database yang akan juga terhubung pada web juga dapat dilakukan
pada pemrograman Java. Jadi dapat digunakan ketika online.
6. Supaya pembaca ataupun user dapat memahami pemrograman Java lebih
luas dengan adanya laporan praktikum ini.
c. Manfaat
Bahasa Pemrograman JAVA digunakan untuk membuat seluruh bentuk
aplikasi, dekstop, web dan lainnya, sebagai mana dibuat dengan menggunakan
bahasa pemrograman konvensional lainnya.
Kelebihan
Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di
beberapa platform / sistem operasi komputer, sesuai dengan prinsip tulis
3
sekali, jalankan di mana saja. Dengan kelebihan ini pemrogram cukup menulis
sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti
manusia menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat
dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini
memungkinkan sebuah program berbasis java dikerjakan diatas operating
system Linux tetapi dijalankan dengan baik di atas Microsoft Windows.
Platform yang didukung sampai saat ini adalah Microsoft windows, Linux,
Mac OS dan Sun Solaris. Penyebanya adalah setiap sistem operasi
menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java)
untuk meninterpretasikan bytecode tersebut.
OPP(Object Oriented Programming Pemrogram Berorientasi Objek) yang
artinya semua aspek yang terdapat di Java adalah objek. Java merupakan salah
satu bahasa pemrograman berbasis oebjek secara murni. Semua tipe data
diturunkan dari kelas dasar yang disebut Object. Hal ini sangat memudahkan
pemrogram untuk mendesain, membuat, mengembangkan dan mengalokasi
kesalahan sebuah program dengan basis Java secara cepat, tepat, mudah dan
terorganisir. Kelebihan ini menjadikan Java sebagai salah satu bahasa
pemograman termudah, bahkan untuk fungsi fungsi yang advance seperti
komunikasi antara komputer sekalipun.
Perpustakaan Kelas Yang Lengkap, Java terkenal dengan kelengkapan
library/perpustakaan (kumpulan program program yang disertakan dalam
pemrograman java) yang sangat memudahkan dalam penggunaan oleh para
pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini
4
ditambah dengan keberadaan komunitas Java yang besar yang terus menerus
membuat
perpustakaan-perpustakaan
baru
untuk
melingkupi
seluruh
BAB II
LANDASAN TEORI
a. Pernyataan dan Ekspresi
Pernyataan penyeleksian dan pernyataan perulangan, Java juga memiliki
pernyataan break dan continue sebagai kontrol tambahan yang dapat
digunakan untuk merubah arah kontrol program. Pernyataan continue dapat
digunakan untuk mengakhiri proses iterasi yang sedang berlangsung,
melewati dan tidak mengeksekusi sisa pernyataan yang masih ada di dalam
pernyataan perulangan untuk kemudian melanjutkan proses ke iterasi
berikutnya (continuing the next iteration). Di dalam perulangan while dan dowhile, program akan mengevaluasi ekspresiboolean dengan segera setelah
pernyataan continue dieksekusi, sedangkan di dalam perulangan for, aksisetelah-tiap-iterasi dari perulangan for akan dieksekusi dan kemudian kondisikelanjutan-loop dievaluasi kembali.
Ekspresi adalah suatu bentuk yang menghasilkan suatu nilai . Dalam bentuk
sederhana, ekspresi berupa sebuah literal atau variabel. dalam bentuk yang
lebih kompleks, suau ekspresi melibatkan operator dan operand, misal :
1 + 2 merupakan suatu ekpresi yang menghasilkan nilai 3. Dalam hal ini 1 dan
2 bertindak sebagai operand dan + berperan sebagai operator.
1. byte
tipe data byte adalah 8-bit signed bilangan bulat, tipe data byte digunakan
untuk menghemat memori. Tipe data byte berukuran 4 kali lebih kecil
dibanding int.
2. short
tipe data short adalah 16 bit bilangan bulat, short juga digunakan untuk
menghemat memori seperti pada tipe data byte. Bedanya short 2 kali lebih
kecil dibanding sebuah int.
3. int
int adalah tipe data 32 bit bilangan bulat, int digunakan sebagai tipe data
default untuk nilai integral kecuali kita mulai konsern soal memori.
4. long
long adalah tipe 64 bit bilangan bulat, tipe data ini digunakan untuk range
data yang lebih lebar dari int.
range-nya
dari
-9,223,372,036,854,775,808
sampai
9,223,372,036,854,775,807
nilai defaultnya adalah 0L.
contohnya : int a = 100000L, int b = -200000L
5. float
float adalah tipe data single-precision 32 bit IEEE 754 floating point,
bahasa sederhananya float digunakan untuk bilangan pecahan. tipe data
float sebaiknya tidak digunakan untuk nilai-nilai yang presisi seperti mata
uang.
6. double
double adalah tipe data 64 bit IEEE 754 floating point. tipe data ini
umumnya digunakan untuk tipe data desimal. sebaiknya tipe data double
tidak digunakan untuk nilai presisi seperti mata uang.
10
7. boolean
tipe data boolean mewakili informasi 1 bit, nilainya hanya tersedia dua
pilihan yaitu true dan false. tipe data ini digunakan untuk menandai
kondisi true/false.
8. char
tipe data char adalah sebuah karakter 16 bit Unicode. tipe data char
digunakan hanya untuk menyimpan data berupa karakter.
contohnya : char letterA = 'A'
11
3. Literal
Penjelasan tentang Literal, yaitu rangkaian kata atau huruf yang
menyatakan suatu nilai. Misalnya:
12
Literal Karakter
Kita dapat melambangkan suatu karakter dengan tanda petik tunggal
misalnya a atau 3 atau =. Suatu karakter dapat juga dilambangkan
dengan kode ASCII nya. Caranya dengan memulainya dengan \u00 (garis
miring terbalik) kemudian diikuti dengan kode ASCII nya dalam bentuk
heksadesimal.
13
Literal Boolean
Nilai true dan false pada java merupakan literal boolean. Suatu variabel
bertipe boolean hanya dapat memiliki nilai true atau false.
boolean ok = true;
Ingat bahwa boolean true atau false TIDAK menggunakan tanda petik
tunggal seperti ekspresi pada karakter.
double d = 3.27E+32;
float f = 4f;
14
float pi = 3.14159;
Literal String
String merupakan untaian huruf dan angka yang tersusun menjadi satu
kalimat. Dalam bahasa java, string bukan merupakan tipe primitif, tetapi
merupakan kelas. String pada java tidak disimpan dalam bentuk array
seperti pada C. Java menyediakan beberapa metoda untuk melakukan
penggabungan, modifikasi, atau perbandingan. String ditulis di antara dua
tanda petik ganda seperti contoh berikut.
Literal Null
Literal terakhir pada bahasa java adalah literal null. Null merupakan
kondisi di mana suatu objek tidak diberi alokasi memori. Pada saat suatu
objek dideklarasikan, komputer akan mengalokasikan memori untuk
objek tersebut. Apabila objek tersebut telah selesai dipergunakan, kita
dapat melepas lokasi memori yang digunakan oleh objek tersebut
sehingga memori itu dapat digunakan oleh objek lain. Berikut ini adalah
contohnya
obj = null;
16
c. Array
Array adalah sekumpulan data yang mempunyai nama variabel dan tipe data
yang sama. karena mempunyai nama variabel yang sama, maka untuk
membedakan data yang satu dengan yang lainnya maka digunkanlah nomor
index. Bayangkan jika dalam program kita membutuhkan variabel yang
banyak, misalnya 100 variabel. Maka, kalau kita harus mendeklarasikan satupersatu hal ini akan kurang effisien. Maka di Java ada konsep yang dinamakan
dengan array. Untuk memberikan keterangan yang jelas mengenai array maka
dapat digambarkan sebagai berikut:
Deklarasi Array
Untuk mendeklarasikan array bisa digunakan beberapa cara sebagai berikut:
Tidak menyebutkan berapa jumlah elemen array. Untuk menyatakan berapa
elemen dalam array, bisa diberikan setelah pendeklarasian. Format umumnya
sebagai berikut:
typeData[] namaArray;
atau bisa juga
typeData namaArray[];
Kurung siku bisa ditulis setelah tipeData atau namaArray-nya.
Contoh:
int[] bilangan;
atau
17
int bilangan[];
18
Perlu diketahui bahwa index array di Java di mulai dari 0, bukan dari 1.
Sehingga apabila suatu array mempunyai kapasitas 10 elemen, maka nomor
index-nya dimulai dari 0 sampai 9. Kalau array bisa kapasitasnya n elemen,
maka nomor index-nya dimulai dari 0 sampai n-1.
Memberikan nilai pada array
Untuk memberikan nilai pada array, dengan cara menyebutkan nomor indexnya. Ingat, bahwa array bisa menampung data lebih dari satu dan setiap
elemennya mempunyai nomor index untuk membedakan dengan elemen yang
lain. Format umum untuk memberi nilai array pada nomor index tertentu
adalah sebagai berikut:
namaArray[nomorIndex] = nilai;
contoh
bilangan[0] = 5;
Maksud dari pernyataan di atas adalah, array dengan nama bilangan pada
index ke-0 diisi dengan nilai 5.
contoh lain:
bilangan[1] = 7;
bilangan[2] = 4;
bilangan[3] = 6;
Mengetahui elemen array
Untuk mengetahui elemen array pada index tertentu, maka bisa digunakan
format umum sebagai berikut:
namaArray[noIndex];
19
contoh:
bilangan[3];
misalnya kalau digunakan dalam statement berikut:
System.out.println(bilangan[3])
maka di layar akan ditampi elemen array bilangan pada index ke-3.
Mengetahui kapasita (elemen) array
Untuk mengetahui kapasitas (jumlah) elemen yang bisa ditampung array
digunakan method length, bentuk umumnya adalah sebagai berikut:
namaArray.length;
contoh:
bilangan.length;
d. Operator
Java menyediakan lingkuangan yag kaya akan operator dimana
operator ini fungsinya untuk membantu atau sebagai perantara dari sebuah
operand
yang
digunakan
pada
bahasa
Java
dan
kemudian
akan
aritmatik
dipakai
dalam
ekspresi-ekspresi
matematik, seperti pada aljabar. Berikut ini merupakan tabel yang merangkum
semua operator aritmatik.
20
Tiap operand dari operator-operator aritmatik harus bertipe numerik. Kita tak
dapat menerapkannya pada tipe-ripe boolean, tatapi kita dapat menerapkannya
terhadap tipe-tipe char, karena tipe char pada Java adalah subhimpunan dari
int.
Operator Bitwise
Java mendefinisikan beberapa opertaor bitwise yang dapat diterapkan
pada tipe-tipe integer seperti long, int, short, char, dan byte. Semua operator
ini berperan terhadap bit-bit individual dari operand-operandnya.
Berikut ini merupakan tabel yang merangkum semua operator bitwise.
21
Bitwise NOT
Dikenal dengan bitwise complement atau operator NOT unary. Opertaor ini
menginversi semua bit dari operandnya. Sebagai contoh, nilai 42 (desimal),
memiliki pola bit :
00101010
menjadi
11010101
setelah operator NOT diterapkan.
22
Bitwise AND
Operator AND, &, menghasilkan bit 1 jika kedua operandnyajuga bernilai 1.
Bit 0 dihasilkan untuk kasus-kasus lain. Berikut adalah contohnya.
00101010 (42)
&00001111 (15)
00001010 (10)
Bitwise OR
Operator OR, |, mengkombinasikan bit-bit sehingga jika terdapat sedikitnya
salah satu bit operand bernilai 1, maka bit yang dihasilkan adalah 1, seperti
ditunjukkan disini:
00101010 (42)
| 00001111 (15)
00101111 (47)
Bitwise XOR
Operator XOR, ^ , mengkombinasikan bit-bit sehingga jika hanya dan hanya
satu bit operand bernilai 1, maka bit hasil adalah 1. Selain itu, bit hasil adalah
0. Berikut diberikan suatu contoh penggunaan operator XOR.
00101010 (42)
^00001111 (15)
00100101 (37)
23
24
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 :
25
Dalam pemrograman java ada dua threads, yaitu daemon dan user thread.
Daemon thread merupakan thread yang siklus hidupnya tergantung pada
26
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.
27
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 kontrol dari 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.
28
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 ia secara 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,
29
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.
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
menjadi
output
dari
OutputStream.
PipedOutputStream
digunakan
untuk
PipedInputStream.
#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.
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
May 29, 2006
2:34 am
05/29/06
2. DecimalFormat Class
public class DecimalFormatDemo {
public static void main(String[] args){
32
//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);
customFormat(000000.000, 123.78);
customFormat($###,###.###, 12345.67);
}
}
33
Hasil Eksekusi
123456.789 ###,###.### 123,456.789 123456.789 ###.## 123456.79 123.78
000000.000 000123.780 12345.67 $###,###.### $12,345.67
Contoh :
int a=65;
char huruf;
34
Supaya nilai a bisa disimpan ke variable huruf, maka nilai a perlu diubah
menjadi tipe data char dengan cara berikut :
huruf = (char) a;
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){
35
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){
System.out.println("Silahkan Masukan Jumlah Belanja Anda:);
36
} else{
diskon = 0;
}
if Bersarang
if bersarang 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){
37
}else{
// pernyataan yang dijalankan untuk kondisi selain itu
}
PernyataanIFBersarang.java
public class PernyataanIFBersarang {
public static void main(String[] args) {
int skorUjian= 86; char nilai;
if (skorUjian >= 90) {
nilai = 'A';
} else if (skorUjian >= 80) {
nilai = 'B';
} else if (skorUjian >= 70) {
nilai = 'C';
} else {
nilai = 'D';
}
38
Perulangan For
for sering disebut for loop, karena digunakan untuk proses looping atau
pengulangan
Bentuk:
for (inisialisasi; kondisi; increment) {
// lakukan selama kondisi benar
}
Contoh:
PernyataanFOR.java
}
}
}
PernyataanFOREnhanced.java
public class PernyataanFOREnhanced {
public static void main(String[] args){
int[] numbers = {1,2,3,4,5,6,7,8,9,10};
Contoh:
PernyataanWHILE.java
40
Perulangan Do-While
do ... while digunakan untuk melakukan proses pengulangan suatu blok
pernyataan selama kondisinya bernilai true.
Pernyataan dalam blok paling tidak dieksekusi satu kali
Bentuk:
do {
// lakukan selama kondisi benar
} while ( kondisi );
Contoh:
PernyataanDOWHILE.java
public class PernyataanDOWHILE {
public static void main(String[] args){
41
int i = 1;
do {
System.out.println(i);
i++;
} while (i <= 10);
}
}
42
BAB III
HASIL PERCOBAAN PRAKTIKUM (MODUL 2 -8)
a. Modul 2
b. Modul 3
43
44
c. Modul 4
45
d. Modul 5
46
e. Modul 6
f. Modul 7
47
g. Modul 8
48
BAB IV
ANALISA HASIL PERCOBAAN (MODUL 2-8)
a. Modul 2
Pada source kode diatas, terlihat kode atau perintah yang digunakan berada
pada perintah btnprosesActionPerformed yang ada pada button Proses
(kotak biru) yang digunakan untuk mengeksekusi dari output yang telah diisi.
Sedangkan isi perintahnya utnuk membuat program tersebut berjalan dengan
semestinya dan sesuai dengan keinginan user ialah source kode yang berada
didalam btnproses tersesbut (kotak merah). Berikut merupakan keterangannya
:
lblnpm.setText(txtnpm.getText()); ialah bisa dibaca seperti ini, dimana lblnpm
ter-setText atau bisa dikatakan text nya ditetapkan oleh atau dari field txtnama
yang telah diisi oleh user, dan ketika button Proses pada output di klik,
maka fungsi getText lah yang berfungsi disini, dimana ia berfungsi sebagai
pengirim data yang telah diisi pada field txtnpm ke lblnpm pada saat eksekusi
49
terjadi.
Keterangan
fungsi
ini
sama
kaitannya
dengan
lblnama.setText(txtnma.getText()); ,
lbltgl.setText(txttgl.getText()); ,
lblalamat.setText(txtalamat.getText()); , dan
lblhobi.setText(txthobi.getText()); . Sedangkan pada
lbljk.setText(cbojk((String).getSelectedIndex()); ialah dimana kode atau
perintah ini hampir sama penjelasannya dengan yang telah dijelaskan
sebelumnya, hanya saja dikarenakan ia menggunakan combobox untuk
memilih sebuah pilihan dari jk (jenis kelamin) maka pada perintah pengiriman
data atau text yang telah dimasukkan user ialah dengan menggunakan
getSelectedIndex, lalu lbljk yang menset (menetapkan) text yang telah dipilih
dari combobox (cbojk) pada saat pengeksekusian program.
b. Modul 3
50
Pada
gambar
diatas
merupakan
source
kode
(private
void
51
52
artinya memilki nilai dari hasil3 yaitu dimana tempat peletakkan rumus yang
telah dibuat.
Baris selanjutnya ialah txthasil.setText(hasil); , yang mana maksudnya ialah
txthasil men-set text atau menetapkan text daripada hasil yang telah
dideklarasikan pada baris sebelumnya dengan menggunakan tipe data String.
Pada source code btntambah, btnkurang, dan btnkali semua sama
penjelasannya dengan btnbagi yang telah kita jelaskan sebelumnya, hanya saja
pada btntambah, btnkurang, dan btnkali pada baris Integer hasil3 = nilai1 +
nilai2; yang mendeklarasikan rumus, hanya diganti operatornya saja dimana
btntambah diganti dengan (+), btnkurang diganti dengan (-), btnkali diganti
dengan (*) .
c. Modul 4
53
Pada
perintah
yang
ada
dalam
cbojenis
private
void
cbojenisActionPerformed(java.awt.event.ActionEvent evt) { ).
Pada isi perintah dari cbojenis ini, kita menggunakan perintah percabangan ifelse-if untuk menyatakan statement yang dialam item pada combobox jenis
(cbojenis) yaitu iPad, iPhone, dan iPod.
54
55
56
dibuat sebelumnya, dimana harga yang ada pada perumusan ialah dari
pendeklarasian int harga di awal dan dikurangi diskon berasal dari data yang ada
pada tipe data long dan sudah dideklarasi sebelumnya.
total=nilaidiskon*jumlah; //deklarasi dari rumus perhitungan total yang akan berjalan
jika program tereksekusi, nilaidiskon dideklarasikan dari tipe data long yang telah
dibuat sebelumnya serta dikali jumlah yang dideklarasian diawal, dimana jumlah ini
sesuai dengan pengisian berapa banyak jumlah gadget yang dibeli dari yang dipilih
user, kemudian dieksekusi pada btnbayar.
}else{ //tidak, dimana jika bukan status Member yang dipilih oleh user atau customer,
maka....
diskon=0; //tidak ada diskon
nilaidiskon=harga-diskon; //pendeklarasian rumus
total=nilaidiskon*jumlah; //pendeklarasian rumus
}
txtdiskon.setText(""+diskon); //dimana field txtdiskon ter-set oleh variable diskon
yang ada pada tipe data long, yang telah dideklarasi.
txttotal.setText(""+total); //dimana field txttotal ter-set oleh variable total yang ada
pada tipe data long, yang telah dideklarasi.
}
57
d. Modul 5
58
59
60
break; //tutup.
case 2: //panggilan ke-3
txtgajipokok.setText("3000000"); //field pada gaji pokok (txtgajipokok) akan terset 3000000
case 3: //panggilan ke-4
txtgajipokok.setText("2000000"); //field pada gaji pokok (txtgajipokok) akan terset 7500000
break; //tutup
case 4: //panggilan ke-5
txtgajipokok.setText("1200000"); //field pada gaji pokok (txtgajipokok) akan terset 7500000
break; //tutup
case 5: //panggilan ke-6
txtgajipokok.setText("750000"); //field pada gaji pokok (txtgajipokok) akan ter-set
750000
break; //tutup
}
}
61
jumlahanak
62
}else if(jumlahanak > 2){ //jika tidak, jika jumlah anak lebih besar dari 2.
tunjangananak=((15*gajipokok)/100) *2; //maka, tunjangananak 15% dikali
gajipokok dikali 2.
}else{ //jika tidak lagi, artinya jika pernyataan yang diinputkan (menggunakan
radiobutton (rbStatus)) selain dari pernyataan-pernyataan diatas maka,,,
tunjangananak=0; //tunjangananak tidak ada atau kosong.
}
t_anak=String.valueOf(tunjangananak); //dibaca, t_anak yang bertipe data
String memiliki nilai dari tunjangananak yang telah dideklarasi tadi.
txttunjangananak.setText(t_anak); //field pada txttunjangananak (Tunjnagan
Anak) akan ter-set oleh t_anak yang memiliki nilai dari pendeklarasian
tunjangananak sebelumnya.
}
63
txttunjanganistri,
hanya
disini
pada
txttunjangananak
(Tunjangan Anak).
txtjumlahanak.setEnabled(true);
//sama
pengetiannya
dari
yang
sebelumnya.
gajipokok=
Integer.valueOf(txtgajipokok.getText());
//
menyatakan
gajipokok bertipe Integer yang memiliki nilai dari field txtgajipokok (Gaji
Pokok) yang datanya akan dikirim setelah pengisian data semuanya selesai
dan pengeksekusian hitung dilakuakan.
tunjanganistri=(20*gajipokok)/100;
//menyatakan
tunjanganistri
64
65
//kurang
lebih,
sama
pengertiannya
pada
66
67
68
private
void
BersihTeks(){
//pernyataan
method
untuk
membersihkan
atau
69
private
void
cmbjabatanItemStateChanged(java.awt.event.ItemEvent
evt)
//pernyataan untuk meletakkan perintah pada cbojabatan yang akan dipilih, disini
menggunakan ItemStateChanged dikarenakan perintah ini berada pada combobox
yang mana item nya nanti akan berganti-ganti sesuai keinginan user.
// TODO add your handling code here:
BersihTeks(); //method yang diperlukan ialah BersihTeks yang mana teks nya akan
70
71
72
73
e. Modul 6
74
75
76
77
private
void
mitnewActionPerformed(java.awt.event.ActionEvent
evt)
78
private
void
mitmodul2ActionPerformed(java.awt.event.ActionEvent
evt)
79
f. Modul 7
Berikut ini adalah cara untuk membuat program input data tcustomer
menggunakan database MySQL:
CREATE DATABASE dbjava;
USE dbjava;
CREATE TABLE tcustomer (
id VARCHAR(6) PRIMARY KEY,
nama VARCHAR(25),
nohp VARCHAR(14),
alamat VARCHAR(100));
Pada source ini, dideklarasikan pada package gui, mengenai apa-apa saja
yang akan diimport pada program yg user buat.
package gui; //mendeklarasikan dari isi package gui.
import java.sql.*; //mengimport java sql untuk support dari jalannya
program.
import
javax.swing.JOptionPane;
//mengimport
javax
swing
pada
JOptionPane.
import koneksi.ClassDB; //import dari package koneksi yag berisi
ClassDB
Dimana yang telah kita ketahui dari modul7 yang ada pada komponen
dalamnya ialah bacaid(); , yang mana bacaid ini merupakan method yang akan
terhubung pada database untuk membaca id.
81
82
Penganalisaan saya disini ialah dimana method Simpan ini fungsinya ialah
untuk menyimpan data atau mentransferkan data yang telah diisi oleh user ke
database (dbjava) pada tcustomer (tcustomer) yang telah diisi semua datanya
oleh user. Jika telah terisi dan di klik tombol Save, maka JOptionPane muncul
dengan pernyataan Sukses Tambah Data kalau tidak akan muncul pesan
Lengkapi Data.
83
g. Modul 8
Berikut ini adalah cara untuk membuat program input data penjualan
menggunakan database MySQL:
CREATE TABLE penjualan (
iv VARCHAR(12) PRIMARY KEY,
tgl VARCHAR(17),
84
id VARCHAR(6),
nama VARCHAR(30),
status VARCHAR(15),
barang VARCHAR(30),
harga VARCHAR(12),
jumlah VARCHAR(6),
diskon VARCHAR(12),
bayar VARCHAR(12)
)
Pada method Invoice , disini kurang lebih sama dengan penjelasan bacaid
pada modul7 hanya saja kode dimulai dari 14000 dan string sql yang
diseleksi semaksimal invoice dari tabel penjualan (penjualan).
86
Fungsi method simpan disini ialah menyimpan data yang telah diisi akan
ditransferkan datanya tersebut ke tabel penjualan (penjualan).
87
Method bayar diletakkan pada perintah button Bayar yang berfungsi untuk
menghitung keselurhan data yang telah dimasukkan.
88
Disini
perintah
pemanggilan
yang
diletakkan
pada
89
Penjelasan disini ialah yang paling mengatur untuk database yang mana
penentuan pada url, localhost :3306, user=root, dan password=123456 ,
dan databes yang dipilih ialah dbjava seperti gambar berikut ini :
90
Berikut ini adalah data sudah di save melalui modul7 dan modul8, lalu
data tersebut berada pada database SQLyog.
91
PENUTUP
a. Kesimpulan
Kesimpulan mengenai laporan praktikum ini ialah dimana Bahasa
Pemrograman Java sebagai bahasa pemrograman yang berkembang pesat
pada saat ini memiliki peranan penting, bukan hanya untuk user yang
merasakan manfaat lebih dengan menggunakan aplikasi bahasa pemrograman
Java, tetapi programmer juga dapat berkaraya dan meningkatkan nilai estetika
yang baik dan lebih baik, yang bagus dan lebih bagus, yang efesien dan lebih
efisien dengan mengandalkan fitur-fitur yang berada didalamnya untuk
mengoperasikan pemrograman bahasa Java ini serta memiliki kualitas yang
akan meningkatkan daya saing dibidang komputer maupun marketing atau
pemasarannya yang akan mendapatkan kuantitas atau keuntungan dari apa
yang telah dibuat operator atau programmer dengan bahasa Java ini.
b. Saran
Saran saya menegenai Bahasa Pemrograman Java ialah supaya bahasa
Java ini dapat dikembangkan lagi dalam penerapan akses dan penambahan
fitur-fitur nya agar dapat memudahkan programmer dalam membuat aplikasi
serta penggunaan bahasa yang memungkinkan untuk dapat dimudahkan atau
dibuat sesederhana mungkin agar programmer dapat mudah dan mengerti
serta tanggap fungsi, maksud dan syntaks yang berada didalamnya. Mengapa
saya berpendapat sepert itu? Karena saya rasa masih sedikit orang yang mau
92
belajar dan mendalami bahasa Java ini baik mahasiswa, programmer amatir,
sampai programmer yang expert, alasannya berbagai macam seperti karena
penggunaan bahasa yang begitu rumit serta bertele-tele yang tak mudah.
diserap maksudnya. Penulis berharap ada yang akan
menuntaskan
93
DAFTAR PUSTAKA
http://herimediaonline.blogspot.co.id/2011/07/definisi-literal-pemrogramanjava.html
Deitel . 2006. Java; How To Program . Diete & Associates : New Jersey.
http://kuliahrika.blogspot.co.id/2009/11/operasi-io-stream-sederhana.html
http://belajarjavabareng.blogspot.co.id/2009/10/pernyataan-penentukeputusan.html
94