LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

89
1 LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA NAMA PRAKTIKAN NPM MAHASISWA TANGGAL KUMPUL TANDA TANGAN PRAKTIKAN ASWINA SERIYANTI HASIBUAN 1314370318 NAMA PENILAI TANGGAK KOREKSI NILAI TANDA TANGAN DOSEN Indri Sulistianingsih,S.kom FAKULTAS ILMU KOMPUTER UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015 KELAS 5 siang A

Transcript of LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

Page 1: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

1

LAPORAN PRAKTIKUM

BAHASA PEMROGRAMAN JAVA

NAMA PRAKTIKAN NPM MAHASISWA TANGGAL KUMPUL TANDA TANGAN

PRAKTIKAN

ASWINA SERIYANTI

HASIBUAN

1314370318

NAMA PENILAI TANGGAK KOREKSI NILAI TANDA TANGAN

DOSEN

Indri

Sulistianingsih,S.kom

FAKULTAS ILMU KOMPUTER

UNIVERSITAS PEMBANGUNAN PANCABUDI

MEDAN

2015

KELAS

5 siang A

Page 2: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

2

KATA PENGANTAR

Segala puji bagi Allah SWT yang telah memberikan kesehatan, kekuatan, kesempatan serta limpahan

rahmat dan karunianya sehingga penulis dapat menyelesaikan laporan praktikum pada mata kuliah

Bahasa Pemrograman Java ini dengan baik. Penulisan laporan ini dibuat agar dapat memenuhi sebagi

salah satu syarat untuk mendapatkan nilai tambahan serta dalam mengikuti ujian semester. Dengan

sepenuh hati penulis menyadari bahwa tersusunnya tugas ini berkat bantuan dan bimbingan dari

semua pihak baik berupa material, spiritual, maupun informasi. Oleh karena itu dalam kesempatan ini

penulis tidak lupa mengucapkan terima kasih sebanyak- banyaknya kepada : 1. Kepada Tuhan Yang

Maha Esa yaitu Allah Swt, karena dengan anugerahnya penulis dapat menyelesaikan laporan

praktikum ini dengan baik.

2. Orangtua saya yang telah memberikan semangat dan dukungan sehingga laporan praktikum ini

dapat terselesaikan dengan baik serta mendapatkan nilai yang diinginkan

3. Ibu Indri Sulistianingsih, S.Kom , selaku dosen Bahasa Pemrograman Java.

4. Semua pihak yang telah membantu dalam penyusunan laporan ini. Akhirnya penulis mohon maaf

apabila ada kekurangan atau kesalahan dalam penyusunan laporan praktikum ini. Semoga laporan

praktikum ini dapat bermanfaat bagi penulis, maupun pembacanya

Medan,11 Desember 2015

Penulis

Aswina seriyanti hasibuan

Page 3: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

3

DAFTAR ISI

KATA PENGANTAR ..................................................................................... 2

DAFTAR ISI.................................................................................................... 3-4

BAB I PENDAHULUAN

1.1 Latar belakang .................................................................................. 5

1.2 Tujuan ................................................................................................ 6

1.3 Manfaat………………………………………………………........ 7

BAB II DASAR TEORI

2.1 Pernyataan Dan Ekspresi .................................................................. 8

2.2 Variabel, Tipe Data dan Literal ......................................................... 9-12

2.3 Array ................................................................................................ 13

2.4 Operator ............................................................................................. 14-19

2.5 Operasi I/O Stream Sederhana ......................................................... 20-32

2.6 Pengaturan Format Output Numerik…………………………........ 33-34

2.7 Konversi String dan Bilangan (Number)………………………..... 35-36

2.8 Pernyataan Penentu Keputusan………………………………......... . 37-42

2.9 Pernyataan Pengulangan Proses………………………………......... 43-45

2.10 Pernyataan Pemindah Proses……………………………………..... 46-48

BAB III HASIL PERCOBAAN

3.1 Hasil praktikum modul2 .................................................................... 49-50

3.2 Hasil praktikum modul3 .................................................................... 51-54

3.3 Hasil praktikum modul4 .................................................................... 55-57

3.4 Hasil praktikum modul5 .................................................................... 58-64

Page 4: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

4

3.5 Hasil praktikum modul6 .................................................................... 65-69

3.6 Hasil praktikum modul7 .................................................................... 70-74

3.7 Hasil Praktikum Modul8 ................................................................... ... 75-84

BAB IV ANALISA HASIL PERCOBAAN

4.1 Analisa Hasil Percobaan Modul 2 ....................................................... . 85

4.2 Analisa Hasil Percobaan Modul 3 ....................................................... 85

4.3 Analisa Hasil Percobaan Modul 4 ........................................................ 86

4.4 Analisa Hasil Percobaan Modul 5 .......................................................

4.5 Analisa Hasil Percobaan Modul 6 ....................................................... 92

4.6 Analisa Hasil Percobaan Modul 7 ....................................................... 92

4.7 Analisa Hasil Percobaan Modul 8 ....................................................... 93

BAB V PENUTUP

Kesimpulan ................................................................................................. 94

Saran ........................................................................................................... 94

Daftar pustaka ............................................................................................. 95

Page 5: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

5

BAB I

PENDAHULUAN

a. Latar Belakang

Pada satu dekade atau dasawarsa ini peranan 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 manusia dengan fitur-fitur

canggih yang ada didalamnya, namun komputer di zaman dahulu hanya sebagai

sebuah mesin yang dimana tugasnya hanya melacak untuk sbeuah sinyal yang

didapatkan pada area sekitarnya dan juga digunakan sebagai penghubung komunikasi

pada zaman perang dunia kedua. Pada bahasa tingkat rendah juga masih

menggunakan kode-kode (encoding/decoding) didalam pembuatan dan

Page 6: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

6

pengeksekusian program, misalnya jika ingin memasukkan angka 2 maka, yang

diinputkan ialah kode berupa bilangan biner yaitu 0010.

Pada bahasa tingkat timggi (high level language) dimana bahasa ini sudah bisa

dipakai dan terealisasi pada GUI (Graphic User Interface) serta memiliki kecepatan

memori dan prosesor yang maksimal. Pada bahasa tingkat tinggi pun programmer

atau user bukan lagi memubuat sebuah komputer sebagai pengantar sinyal atau

pemberi sinyal seperti yang dilakukan pada era sebelumnya, namun lebih

mengembangkan bidang pemrograman ini sebagai aplikasi yang mana nantinya lebih

menguntungkan dan membantu manusia (user) didalam pengerjaan apapun dan di

segala bidang.

Pada bahasa Java yang dibahas pada laporan ini, dimana nantinya pemrograman

ini lebih menguntungkan manusia dalam pengerjaan di bidang komputerisasi serta

penggunaan nya bukan hanya bersifat statis atau bisa dikatakan hanya berdiam dan

dilaksanakan/digunakan pada komputer saja, namun secara dinamis yaitu bisa diakses

dimanapun dan kapanpun dengan berbasis web dan pengaksesan bisa mellui sistem

mobile yang akan berbasis aplikasi mobile pada Java tersebut.

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

Page 7: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

7

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

Secara umum adalah seni dan estetika dalam menulis kode program dalam bahasa pemrograman

tertentu untuk menerjemahkan Ide/pikiran yang berisi flow chart (alur logika) kedalam bentuk

program, software, atau perangkat lunak, yang memiliki tujuan utama untuk memecahakan masalah

tertentu secara logis, kronologis, dan sistematis. Untuk bisa mendapatkan manfaat secara universal

dalam mempelajari pemrograman, pengertian dan struktur pemrograman itu sendiri harus bisa

dipahami secara luas dan universal. Bagi sebagian orang pemrograman akan sangat sulit, terutama

yang bukan berasal dari jenjang pendidikan keteknikan, kecuali jika anda benar-benar tekun dan

berusaha mempelajari dan mengaplikasikannya secara luas.

Syntax Tulisan Kode Program sebenarnya sama seperti tulisan kita sehari - hari,

Perbedaannya tulisan dengan bahasa kita sehari-hari lebih bersifat deskriptif, sedangkan tulisan kode

program bersifat konseptual yang berisi baris penjelasan pendek namum mengandung alur logika

yang lebih kompleks/tinggi tidak seperti deskripsi biasa.

Page 8: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

8

BAB II

LANDASAN TEORI

a. Pernyataan dan Ekspresi

Pernyataan adalah perintah yang menyebabkan sesuatu terjadi dan merepresentasikan aksi

tunggal dan tiap baris kode diakhiri dengan semicolon " ; ".

Ekpresi adalah pernyataan yang dapat menghasilkan suatu nilai. Nilai yang dihasilkan oleh

pernyataan ini yang disebut dengan nilai balik. Dan nilai balik bisa berupa bilangan, booleon,

atau objek. Method tanpa nilai balik biasanya menggunakan keyword void.

contoh: hasilBagi = a / b;

Dibawah ini kata kunci suatu pernyataan adan ekspresi:

Elemen Dasar Bahasa Java

Anda tentunya telah mengerti tentang konsep pemrograman Java dari bagian pertama.

Sekarang Anda akan menyelami lebih dalam pemrograman Java dengan mengenal secara

detil dan spesifik mengenai bahasa Java itu sendiri.

Dalam tutorial kali ini Anda akan lebih jauh mempelajari apa-apa yang dapat Anda lakukan

dengan statement dan hal-hal dasar di bahasa Java dalam mendefinisikan sebuah metode

seperti main atau yang lain. Namun sementara kita tidak akan membahas tentang paradigma

pemrograman berorientasi objek seperti kelas dan objek dan bagaimana komunikasi antar

objek dalam sebuah program.

Statement dan Ekspresi

Statement adalah bagian terkecil dalam sebuah program untuk melaksanakan suatu tugas

tertentu, seperti memanggil metode, mendeklarasikan variabel, membandingkan dua buah

variabel, mengassign suatu nilai ke dalam variabel, dll. Berikut ini adalah beberapa contoh

statement.

import java.awt.Graphics;

int i = 0;

System.out.println("Hallo " + nama + ", Selamat Datang!");

this.isRuning = false;

Page 9: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

9

Statement-statement tadi hanya bertugas melakukan suatu tugas tanpa perlu mengembalikan

suatu nilai atau hasil. Statement-statement yang mengembalikan suatu nilai tersebut kita sebut

ekspresi. Berikut contoh ekspresi:

int arraySize = theArray.size();

int result = x + y + z;

Dalam menulis statement Anda tidak perlu menggunakan bentuk penulisan tertentu. Anda dapat

saja menuliskan seluruh statement dalam satu baris walaupun hal ini sangat tidak dianjurkan.

Yang paling penting untuk Anda ingat di sini adalah bahwa whitespace (enter, spasi, dan tab)

tidak mempengaruhi program Anda, dan bahwa setiap statement harus selalu diakhiri tanda titik

koma (;). Kelalaian membubuhkan titik koma pada akhir statement dapat menyebabkan program

Anda tidak dapat dikompile, atau lebih parah menyebabkan bug yang sulit ditemukan.

B.Variabel,Tipe data dan literal

Variabel dalam ilmu matematika adalah sesuatu yang menyimpan nilai yang dapat berubah-ubah.

Demikian juga dalam bahasa pemrograman. Variabel dalam bahasa pemrograman adalah lokasi dalam

memori di mana sebuah nilai disimpan, dan nilai tersebut dapat diubah. Setiap variabel memiliki

nama, tipe, dan nilai.

Untuk menggunakan variabel, pertama kita harus mendeklarasikan variabel tersebut. Informasi yang

dibutuhkan dalam pendeklarasian variabel adalah tipe variabel tersebut. Tipe variabel sendiri akan

kita bahas sebentar lagi. Setelah mendeklarasikan variabel, kita dapat memberi nilai kepada variabel

tersebut, yang dalam bahasa pemrograman diistilahkan dengan assignment. Jadi assignment adalah

proses pemberian nilai kepada sebuah variabel.

Kita dapat mendefinisikan variabel di bagian manapun dari program sama seperti statement. Namun

dianjurkan pendefinisian variabel diletakkan pada awal pendefinisian metode di mana variabel

tersebut digunakan. Dalam beberapa hal, kita perlu melakukan pendefinisian variabel di tempat lain

untuk menyesuaikan ruang lingkup berlakunya variabel tersebut.

Page 10: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

10

Untuk memahami lebih jauh pendefinisian variabel dan hal-hal yang dapat Anda lakukan dalam

mendefinisikan variabel, perhatikanlah kode berikut ini.

public static void main (String[] args)

{

int x; // deklarasi variable biasa

int y, z; // deklarasi dua variabel bertipe sama sekaligus

boolean isRunning = true;

// deklarasi sekaligus assignment nilai

int a = 3, b = 4; // deklarasi sekaligus assignment nilai

int c, d = 6; // deklarasi dan assignment variabel kedua

}

Kode tadi menunjukkan berbagai cara mendefinisikan variabel. Suatu saat mungkin Anda akan

merasakan manfaat tertentu dalam menggunakan cara-cara pendefinisian tersebut. Namun disarankan

Anda menggunakan cara biasa saja demi kerapian dan pencegahan kesalahan-kesalahan akibat

kelalaian dalam penulisan program.

Java memiliki tiga jenis variabel, yaitu: variabel instans, variabel kelas, dan variabel lokal.

Variabel instans adalah variabel yang digunakan sebagai atribut dari sebuah objek. Instans adalah

objek yang diciptakan dari sebuah kelas. Anggaplah kelas sebagai template untuk membuat objek.

Anda akan memahami lebih jauh mengenai hal ini dalam pembahasan mengenai pemrograman

berorientasi objek.

Variabel kelas adalah variabel yang digunakan sebagai atribut dari sebuah kelas. Berbeda dengan

variabel instans, variabel kelas akan bernilai sama bagi semua instans dari kelas ybs.

Variabel kelas adalah variabel yang didefinisikan dan digunakan hanya dalam sebuah metode.

Page 11: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

11

Ketiga jenis variabel ini didefinisikan dengan cara yang sangat mirip tetapi variabel kelas dan instans

diakses dan diassign dengan cara yang agak berbeda dibandingkan variabel lokal.Saat ini kita hanya

akan memusatkan perhatian pada variabel lokal.

Sebagai tambahan, tidak seperti bahasa pemrograman lain, Java tidak memiliki variabel global, yaitu

variabel yang tersedia bagi semua bagian program. Dalam Java kita menggunakan variabel kelas dan

instans untuk mengkomunikasikan informasi global di antara objek-objek. Hal ini disebabkan Java

menganut paradigma pemrograman berorientasi objek murni, sehingga segala hal dipandang sebagai

interaksi antarobjek bukan antar bagian program.

Nama sebuah variabel harus diawali huruf atau garis bawah (_) atau tanda dolar ($), dan tidak boleh

diawali angka. Karakter berikutnya boleh angka. Ingat kembali Java bersifat case sensitive, jadi

perhatikan besar kecil huruf yang Anda pakai dalam nama variabel. Java juga menggunakan set

karakter Unicode. Namun hal ini tidak terlalu penting untuk Anda ketahui. Disarankan agar membuat

nama variabel yang mengandung makna, sehingga memudahkan pembacaan program Anda, misalnya

goButton, cancelButton, statusLabel, dll.

Jenis Variabel

Setiap variabel harus memiliki sebuah tipe. Tipe tersebut bisa berupa salah satu dari delapan tipe

primitif Java, nama kelas atau interface, atau sebuah array. Saat ini kita hanya akan membahas tipe

primitif dan tipe kelas saja.

Tipe Primitif

Java memiliki delapan jenis tipe primitif atau tipe-tipe dasar yang builtin. Tipe tersebut disebut

primitif karena dibangun ke dalam sistem dan bukan benar-benar objek sehingga pemakaiannya lebih

efisien. Tipe-tipe tersebut tidak bergantung pada arsitektur mesin, sehingga pemakaiannya tidak

mengganggu portabilitas program Anda. Kedelapan tipe primitif ini dijelaskan dalam.

Page 12: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

12

Penting untuk diperhatikan bahwa tipe primitif dimulai dengan huruf kecil, karena ada kelas yang

memiliki nama yang sama dengan tipe primitif tersebut yang disebut kelas pembungkus.

Tipe Kelas

Tipe kelas digunakan untuk menyimpan instans dari kelas atau instans subkelas dari kelas tersebut.

Subkelas adalah kelas yang mewarisi sifat-sifat kelas tertentu.

Literal

Literal adalah sebuah istilah dalam bahasa pemrograman yang berarti sesuatu nilai yang memiliki arti

atau nilai sesuai dengan apa yang kita ketikkan. Misalnya kalau Anda memberi nilai 4 pada suatu

variabel bertipe int, maka nilai variabel tersebut adalah 4. Bilangan, karakter, dan string kesemuanya

merupakan literal. Berikut dijelaskan beberapa jenis literal dalam Java.

Literal angka dapat berupa bilangan positif. Angka negatif ditulis dengan menambahkan tanda minus

(-) di awal angka positif. Angka oktal dengan menambahkan angka 0 di awalnya. Angka

heksadecimal dengan menambahkan 0x di awalnya. Literal angka floating point (pecahan desimal)

biasanya memiliki dua bagian yaitu bagian integer dan bagian desimal. Untuk memaksa suatu

bilangan menjadi misalnya float atau long, cukup tambahkan huruf F atau L di belakang bilangan

tersebut. Untuk eksponen gunakan huruf E, seperti 3.0E-7 yang berarti 3,0 kali 10 pangkat minus 7

(0,0000003). Literal boolean terdiri atas true dan false.

Literal karakter terdiri sebuah karakter dalam kutip tunggal seperti 'a', '#', atau '1'. Literal karater juga

memiliki karakter khusus yang mewakili karakter noncetak. menunjukkan karakter-karakter khusus

tersebut. Huruf d pada oktal, hekadecimal, dan escape Unicode mewakili bilangan biasa atau bilangan

heksadecimal.

Literal string pada dasarnya adalah kombinasi dari karakter dalam tanda kutip ganda. Maka itu

karakter-karakter khusus dalam juga berlaku dalam literal string. Sebagai kelas tersendiri (bukan tipe

Page 13: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

13

primitif) String mempunyai metode-metode sehingga Anda dapat melakukan penggabungan, tes, dan

pengubahan literal String dengan mudah.

C.ARRAY

Array adalah suatu variable yang terdiri dari sekumpulan data, dimana data-data tersebut mempunyai

tipe data yang sama. Setiap data disimpan dalam alamat memori yang berbeda-beda yang disebut

dengan elemen array. Setiap elemen mempunyai nilai indek sesuai dengan urutanya. Melalui indek

inilah kita dapat mengakses data-data tersebut. Pada bahasa java dan c++ array dimulai dari 0,

bukan 1 seperi pada pascal.

Array di deklarasikan dengan tanda [] (bracket)

Bentuk Umum dari array dimensi 1:

tipe_data nama_array[jumlah_elemen]

Jika ingin mendeklarasikan sebuah array dengan tipe data integer dengan nama a dan jumlah

elemen array-nya 10 maka kodenya adalah :

int a[10];

Dalam bahasa Java pendeklarasian array lebih variarif. Selain dengan kode seperti di atas,

Java juga dapat mendeklarasikan array dalam bentuk :

int[ ] a;

Kemudian setelah mendeklarasikan array, baik dengan kode yang pertama maupun yang kedua, Java

Page 14: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

14

harus menciptakan (membuat) objek terlebih dahulu sebelum array dapat digunakan karena dalam

Java array merupakan sebuah Class.

Cara menciptakan objek array dalam Java adalah :

a = new int[10];

Dalam Java pendeklarasian array dan pembuatan objek array dapat dilakukan alam satu

sintak, yaitu:

int[ ] a = new int[10]; atau int a[ ] = new int[10];

Bentuk umum pendeklarasian variable array dua dimensi atau array multidimensi pada Java

adalah sebagai berikut:

tipeData[ ][ ] namaVariable [= new tipeData [jumlahBaris] [jumlahKolom]];

atau

tipeData namaVariable[ ][ ] [= new tipeData [jumlahBaris] [jumlahKolom]];

D. Operator

Pada sub bab sebelumnya telah dijelaskan secara singkat mengenai operator. Operator dapat diartikan

juga simbol yang biasa digunakan dalam menulis suatu pernyataan dalam bahasa pemrograman.

Operator akan melakukan suatu operasi terhadap operand sesuai dengan fungsinya, seperti

penjumlahan, pengurangan, perkalian, dan sebagainya.

Operator di Java ada 7 macam, yaitu :

Operator penugasan

Operator matematika

Operator penaikan dan penurunan

Page 15: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

15

Operator bitwise ( manipulasi bit ) tidak dibahas

Operator relasional

Operator logika Boolean

Operator majemuk

Operator Penugasan

Operator ini yang paling sederhana dan hanya dilambangkan dengan karakter � = �. Operator ini

digunakan untuk menugaskan suatu nilai ke suatu variabel. Contoh:

int var = 1;

Uniknya, operator ini dapat digunakan secara berantai. Contoh:

int a,b,c;

a = b = c = 99;

Operator Matematika

Operator ini digunakan dalam ekspresi matematika. Operator matematka yang dikenal dalam Java

adalah sebagai berikut:

Operator Keterangan Contoh Hasil

+ Penjumlahan 4 + 5 9

- Pengurangan 9 � 2 7

* Perkalian 3 * 4 12

/ Pembagian 9 / 3 3

% Modulus ( sisa bagi ) 7 % 2 1

Page 16: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

16

Operator matematika hanya dapat digunakan dengan operan bertipe bilangan, baik bilangan bulat

maupun pecahan, serta tipe data char yang merupakan pengecualian. Tipe data char menyimpan

informasi karakter dengan menggunakan bilangan yang merepresentasikan karakter tersebut. Contoh:

int x = 10;

int y = 2;

int z = x * y;

char x =

�a�;

z = x * 10;

Dalam Unicode, karakter �a�

direpresentasikan dengan angka desimal

97. Sehingga

: z = x * 10;

pada kondisi ini adalah sama dengan:

z = 97 * 10;

Operator Penaikan dan Penurunan

Operator ini digunakan untuk menaikkan atau menurunkan suatu nilai integer (bilangan bulat)

sebanyak satu satuan dan hanya dapat digunakan pada variabel. Operator�operator tersebut adalah

Operator Keterangan

++ Penambahan dengan nilai satu

– Pengurangan dengan nilai satu

Operator ini dapat ditempatkan sebelum atau sesudah variabel. Jika ditempatkan sebelum variabel,

maka variabel tersebut akan dikurangi/ ditambah dengan 1 sebelum di operasikan. Sebaliknya, jika

operator ini diletakkan sesudah variabel, maka variabel tersebut akan di operasikan terlebih dahulu

dan kemudian di tambahkan/ dikurangi dengan 1. Contoh penggunaannya :

x = x + 1; dapat ditulis menjadi x++; atau ++x;

y = y � 1; dapat ditulis menjadi y–; atau –y;

Page 17: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

17

int x = 10;

int y , z;

y = ++x;

z = x++;

Variabel y mendapatkan nilai dari nilai x

yang ditambahkan dengan 1 terlebih

dahulu, sehingga nilai y adalah 11.

Variabel z mendapatkan nilai dari nilai x

yang belum ditambahkan dengan

1terlebih dahulu, sehingga nilai z adalah

10.

Operator Relasional

Operator ini digunakan untuk membandingkan dua buah nilai operand dan menghasilkan nilai

Boolean, yaitu true atau false. Berikut ini operator relasional dalam Java:

Operator Keterangan

== Sama dengan ( membandingkan, bukan penugasan )

!= Tidak sama dengan

> Lebih besar dari

< Lebih kecil dari

>= Lebih besar dari atau sama dengan

<= Lebih kecil dari atau sama dengan

Operator ini banyak digunakan sebagai kontrol alur eksekusi program seperti dalam pernyataan if,

while, do, for, dan lain-lain. Contoh penggunaan :

If(x>10) Jika nilai x lebih dari 10 maka akan

Page 18: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

18

{

x = 0;

}

mengeksekusi operasi dibawahnya, yaitu

nilai x menjadi 0.

Operator Logika Boolean

Operator ini hanya digunakan untuk melakukan operasi pada operand yang bertipe boolean. Berikut

daftar operator logika boolean :

Operator Keterangan

& Logika AND

| Logika OR

^ Logika XOR

! Logika NOT

&& Short circuit Logika AND

|| Short circuit Logika OR

== Logika sama dengan ( membandingkan, bukan penugasan )

!= Logika tidak sama dengan

Berikut contoh penggunaan operator logika boolean :

If(x!=0 &&

y>=10)

{

Menggunakan short circuit AND (&&).

Jika Boolean x!=0 bernilai false, maka

Boolean y>=10 tidak akan dieksekusi.

Page 19: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

19

z = 15;

}

Jika Boolean x!=0 bernilai true, maka

Boolean y>=10 dieksekusi. Jika

keduanya bernilai true, maka akan

mengeksekusi statement dibawahnya,

yaitu memasukkan nilai 15 ke variabel z.

If(x!=0 &

y>=10)

{

z = 15;

}

Menggunakan logika AND (&).

Mengeksekusi semua ekspresi yang

terlibat. Boolean x!=0 dan y>=10 pasti

dieksekusi. Jika keduanya bernilai true,

maka akan mengeksekusi statement

dibawahnya, yaitu memasukkan nilai 15

ke variabel z.

Operator Majemuk

Operator ini merupakan gabungan dari operator yang telah dibahas sebelumnya dengan operator

penugasan. Berikut operator majemuk pada Java yang dipelajari:

Operator Keterangan

+ = Logika AND

- = Logika OR

* = Logika XOR

/ = Logika NOT

% = Short circuit Logika AND

Page 20: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

20

Berikut contoh penggunaannya:

hasil += 10; memiliki arti yang sama dengan hasil = hasil + 10;

hasil -= 20; memiliki arti yang sama dengan hasil = hasil – 20;dan

seterusnya.

E.OPERASI I/O Stream Sederhana

Sebuah I / O Stream merupakan sumber input atau output tujuan. Sebuah stream dapat mewakili

berbagai macam sumber dan tujuan, termasuk file disk, perangkat, program lain, dan array memori.

Stream mendukung berbagai jenis data, termasuk byte sederhana, tipe data primitif, karakter lokal,

dan objek. Beberapa aliran sungai cukup dengan memberikan data, yang lain memanipulasi dan

mengubah data dengan cara yang bermanfaat.

Tidak peduli bagaimana mereka bekerja secara internal, semua aliran menyajikan model sederhana

yang sama untuk program yang menggunakannya: stream adalah urutan data. Suatu program

menggunakan input stream untuk membaca data dari sumber, satu item pada suatu waktu:

Suatu program menggunakan output stream untuk menulis data ke tujuan, satu item pada waktu:

Page 21: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

21

Dalam pelajaran ini, kita akan melihat sungai yang dapat menangani semua jenis data, dari nilai

primitif ke objek maju.

Sumber data dan tujuan data digambarkan di atas bisa apa saja yang memegang, menghasilkan, atau

data mengkonsumsi. Jelas ini termasuk file disk, tetapi sumber atau tujuan juga bisa program lain,

perangkat periferal, soket jaringan, atau array.

Pada bagian berikutnya, kita akan menggunakan jenis yang paling dasar sungai, byte stream, untuk

menunjukkan operasi umum Stream I / O. Untuk input sampel, kita akan menggunakan contoh

xanadu.txt file, yang berisi ayat berikut ini:

Dalam Xanadu tidak Khan Kubla

Sebuah keputusan kesenangan-kubah megah:

Dimana Alph, sungai suci, berlari

Melalui gua terukur kepada manusia

Turun ke laut sunless.

Byte Stream

byte menggunakan Program stream untuk melakukan input dan output byte 8-bit. Semua kelas stream

byte adalah keturunan dari InputStream dan OutputStream.

Ada banyak kelas stream byte. Untuk mendemonstrasikan bagaimana byte stream bekerja, kita akan

fokus pada file I / O byte stream, FileInputStream dan FileOutputStream. jenis lain dari byte stream

yang digunakan dalam banyak cara yang sama, mereka berbeda terutama dalam cara mereka

dibangun.

Page 22: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

22

Menggunakan Byte Streaming

Kita akan mengeksplorasi FileInputStream dan FileOutputStream dengan memeriksa program contoh

bernama CopyBytes, yang menggunakan byte stream untuk menyalin xanadu.txt, satu byte pada suatu

waktu.

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

public class CopyBytes {

public static void main(String[] args) throws IOException {

FileInputStream in = null;

FileOutputStream out = null;

try {

in = new FileInputStream("xanadu.txt");

out = new FileOutputStream("outagain.txt");

int c;

while ((c = in.read()) != -1) {

out.write(c);

}

} finally {

if (in != null) {

in.close();

}

Page 23: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

23

if (out != null) {

out.close();

}

}

}

}

CopyBytes menghabiskan sebagian besar waktu dalam satu lingkaran sederhana yang membaca input

stream dan menulis output stream, satu byte pada suatu waktu, seperti yang ditunjukkan pada gambar

berikut

byte input stream dan output.

Perhatikan bahwa membaca () mengembalikan nilai int. Jika input merupakan aliran byte, mengapa

tidak membaca () mengembalikan nilai byte? Menggunakan int sebagai tipe kembali memungkinkan

read () untuk menggunakan -1 untuk menunjukkan bahwa ia telah mencapai ujung sungai.

Selalu Tutup Streaming

Menutup aliran saat itu tidak lagi dibutuhkan adalah sangat penting - sangat penting bahwa

Page 24: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

24

CopyBytes menggunakan akhirnya blok untuk menjamin bahwa kedua sungai akan ditutup bahkan

jika terjadi kesalahan. Praktek ini membantu menghindari kebocoran sumber daya yang serius.

Satu kesalahan yang mungkin adalah bahwa CopyBytes tidak dapat membuka satu atau kedua file.

Ketika itu terjadi, variabel aliran sesuai dengan file tidak pernah berubah dari nilai null awal. Itu

sebabnya CopyBytes memastikan bahwa setiap variabel stream berisi referensi obyek sebelum

memanggil dekat.

Ketika Tidak Menggunakan Byte Streams

CopyBytes tampaknya seperti program normal, tetapi sebenarnya merupakan semacam rendah tingkat

I / O yang harus Anda hindari. Sejak xanadu.txt berisi data karakter, pendekatan terbaik adalah

dengan menggunakan karakter stream, seperti dijelaskan dalam bagian berikutnya. Ada juga aliran

untuk lebih jenis data rumit. Byte stream seharusnya hanya digunakan untuk paling primitif I / O.

Jadi mengapa bicara tentang byte stream? Karena semua jenis aliran lain yang dibangun pada byte

stream.

Krakter Stream

Platform Java toko karakter nilai-nilai menggunakan konvensi Unicode. Karakter stream I / O secara

otomatis menerjemahkan format internal untuk dan dari set karakter lokal. Dalam locales Barat, set

karakter lokal biasanya merupakan superset 8-bit ASCII.

Untuk sebagian besar aplikasi, I / O dengan karakter stream tidak lebih rumit daripada I / O dengan

byte stream. Input dan output dilakukan dengan kelas-kelas aliran secara otomatis menerjemahkan

dari dan ke set karakter lokal. Sebuah program yang menggunakan stream karakter di tempat byte

stream secara otomatis menyesuaikan dengan set karakter lokal dan siap untuk internasionalisasi -

semua tanpa upaya ekstra oleh programmer.

Jika internasionalisasi tidak prioritas, Anda dapat menggunakan class stream karakter tanpa

membayar banyak perhatian terhadap isu-isu set karakter. Kemudian, jika internasionalisasi menjadi

prioritas, program anda dapat disesuaikan tanpa recoding luas. Lihat jejak Internasionalisasi untuk

informasi lebih lanjut.

Page 25: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

25

Menggunakan Karakter Streaming

kelas karakter stream Semua adalah keturunan dari Reader dan Writer. Seperti dengan byte stream,

ada kelas aliran karakter yang mengkhususkan diri dalam file I / O: FileReader dan FileWriter.

Contoh CopyCharacters menggambarkan kelas-kelas ini..........

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

public class CopyCharacters {

public static void main(String[] args) throws IOException {

FileReader inputStream = null;

FileWriter outputStream = null;

try {

inputStream = new FileReader("xanadu.txt");

outputStream = new FileWriter("characteroutput.txt");

int c;

while ((c = inputStream.read()) != -1) {

outputStream.write(c);

}

} finally {

if (inputStream != null) {

inputStream.close();

}

if (outputStream != null) {

Page 26: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

26

outputStream.close();

}

}

}

}

CopyCharacters sangat mirip dengan CopyBytes. Perbedaan yang paling penting adalah bahwa

CopyCharacters menggunakan FileReader dan FileWriter untuk input dan output di tempat

FileInputStream dan FileOutputStream. Perhatikan bahwa kedua CopyBytes dan CopyCharacters

menggunakan variabel int untuk membaca dan menulis dari. Namun, di CopyCharacters, variabel int

memiliki nilai karakter dalam terakhir 16 bit, dalam CopyBytes, variabel int memiliki nilai byte dalam

8 bit terakhir.

Karakter Streaming bahwa Gunakan Byte Streams

Karakter aliran sering "pembungkus" untuk byte stream. Aliran karakter menggunakan aliran byte

untuk melakukan fisik I / O, sedangkan aliran karakter menangani terjemahan antara karakter dan

byte. FileReader, misalnya, menggunakan FileInputStream, sedangkan FileWriter menggunakan

FileOutputStream.

Ada dua tujuan umum byte-untuk-karakter "jembatan" stream: InputStreamReader dan

OutputStreamWriter. Gunakan mereka untuk menciptakan karakter stream jika tidak ada aliran

dikemas kelas karakter yang memenuhi kebutuhan Anda. Pelajaran soket dalam jejak jaringan

menunjukkan bagaimana untuk menciptakan karakter stream dari byte stream yang disediakan oleh

kelas socket.

Krakter Stream

Platform Java toko karakter nilai-nilai menggunakan konvensi Unicode. Karakter stream I / O secara

otomatis menerjemahkan format internal untuk dan dari set karakter lokal. Dalam locales Barat, set

Page 27: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

27

karakter lokal biasanya merupakan superset 8-bit ASCII.

Untuk sebagian besar aplikasi, I / O dengan karakter stream tidak lebih rumit daripada I / O dengan

byte stream. Input dan output dilakukan dengan kelas-kelas aliran secara otomatis menerjemahkan

dari dan ke set karakter lokal. Sebuah program yang menggunakan stream karakter di tempat byte

stream secara otomatis menyesuaikan dengan set karakter lokal dan siap untuk internasionalisasi -

semua tanpa upaya ekstra oleh programmer.

Jika internasionalisasi tidak prioritas, Anda dapat menggunakan class stream karakter tanpa

membayar banyak perhatian terhadap isu-isu set karakter. Kemudian, jika internasionalisasi menjadi

prioritas, program anda dapat disesuaikan tanpa recoding luas. Lihat jejak Internasionalisasi untuk

informasi lebih lanjut.

Menggunakan Karakter Streaming

kelas karakter stream Semua adalah keturunan dari Reader dan Writer. Seperti dengan byte stream,

ada kelas aliran karakter yang mengkhususkan diri dalam file I / O: FileReader dan FileWriter.

Contoh CopyCharacters menggambarkan kelas-kelas ini..........

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

public class CopyCharacters {

public static void main(String[] args) throws IOException {

FileReader inputStream = null;

FileWriter outputStream = null;

try {

inputStream = new FileReader("xanadu.txt");

Page 28: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

28

outputStream = new FileWriter("characteroutput.txt");

int c;

while ((c = inputStream.read()) != -1) {

outputStream.write(c);

}

} finally {

if (inputStream != null) {

inputStream.close();

}

if (outputStream != null) {

outputStream.close();

}

}

}

}

CopyCharacters sangat mirip dengan CopyBytes. Perbedaan yang paling penting adalah bahwa

CopyCharacters menggunakan FileReader dan FileWriter untuk input dan output di tempat

FileInputStream dan FileOutputStream. Perhatikan bahwa kedua CopyBytes dan CopyCharacters

menggunakan variabel int untuk membaca dan menulis dari. Namun, di CopyCharacters, variabel int

memiliki nilai karakter dalam terakhir 16 bit, dalam CopyBytes, variabel int memiliki nilai byte dalam

8 bit terakhir.

Karakter Streaming bahwa Gunakan Byte Streams

Karakter aliran sering "pembungkus" untuk byte stream. Aliran karakter menggunakan aliran byte

untuk melakukan fisik I / O, sedangkan aliran karakter menangani terjemahan antara karakter dan

byte. FileReader, misalnya, menggunakan FileInputStream, sedangkan FileWriter menggunakan

Page 29: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

29

FileOutputStream.

Ada dua tujuan umum byte-untuk-karakter "jembatan" stream: InputStreamReader dan

OutputStreamWriter. Gunakan mereka untuk menciptakan karakter stream jika tidak ada aliran

dikemas kelas karakter yang memenuhi kebutuhan Anda. Pelajaran soket dalam jejak jaringan

menunjukkan bagaimana untuk menciptakan karakter stream dari byte stream yang disediakan oleh

kelas socket.

Line-Oriented I / O

Karakter I / O biasanya terjadi dalam unit lebih besar dari karakter tunggal. Satu unit umum adalah

baris: string karakter dengan terminator garis di akhir. Sebuah terminator garis bisa menjadi urutan

carriage-return/line-feed ("\ r \ n"), sebuah kereta tunggal-return ("\ r"), atau feed line-tunggal ("\ n").

Mendukung semua line terminator mungkin memungkinkan program untuk membaca file teks yang

dibuat pada salah satu sistem operasi yang banyak digunakan.

Mari kita memodifikasi contoh CopyCharacters untuk menggunakan line-berorientasi I / O. Untuk

melakukan ini, kita harus menggunakan dua kelas belum kita lihat sebelumnya, BufferedReader dan

PrintWriter. Kita akan mengeksplorasi kelas-kelas ini lebih mendalam dalam Buffered I / O dan

Format. Saat ini, kami hanya tertarik pada dukungan mereka untuk baris-berorientasi I / O.

Contoh CopyLines memanggil BufferedReader.readLine dan PrintWriter.println untuk melakukan

input dan output satu baris pada suatu waktu.

import java.io.FileReader;

import java.io.FileWriter;

import java.io.BufferedReader;

import java.io.PrintWriter;

import java.io.IOException;

Page 30: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

30

public class CopyLines {

public static void main(String[] args) throws IOException {

BufferedReader inputStream = null;

PrintWriter outputStream = null;

try {

inputStream =

new BufferedReader(new FileReader("xanadu.txt"));

outputStream =

new PrintWriter(new FileWriter("characteroutput.txt"));

String l;

while ((l = inputStream.readLine()) != null) {

outputStream.println(l);

}

} finally {

if (inputStream != null) {

inputStream.close();

}

if (outputStream != null) {

outputStream.close();

}

}

}

}

Page 31: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

31

Menjalankan kembali readLine baris teks dengan baris. CopyLines output setiap baris menggunakan

println, yang menambahkan line terminator untuk sistem operasi saat ini. Ini mungkin bukan

terminator baris yang sama yang digunakan dalam file input.

Ada banyak cara untuk struktur input teks dan output di luar karakter dan garis. Untuk informasi lebih

lanjut, lihat Scanning dan Format.

Stream buffered

Sebagian besar contoh yang telah kita lihat sejauh ini menggunakan unbuffered I O. / Ini berarti setiap

membaca atau menulis request ditangani langsung oleh OS yang mendasarinya. Hal ini dapat

membuat program yang jauh kurang efisien, karena masing-masing permintaan seperti itu sering

memicu akses disk, aktivitas jaringan, atau beberapa operasi lain yang relatif mahal.

Untuk mengurangi jenis overhead, platform Java mengimplementasikan buffered I / O stream.

Buffered input stream membaca data dari area memori yang dikenal sebagai penyangga; masukan API

asli disebut hanya ketika buffer kosong. Demikian pula, output buffer stream menulis data ke buffer,

dan output API asli disebut hanya ketika buffer penuh.

Suatu program dapat mengkonversi aliran unbuffered ke dalam sungai buffer menggunakan idiom

pembungkus kami telah digunakan beberapa kali sekarang, di mana objek sungai unbuffered

dilewatkan ke konstruktor untuk kelas stream buffer. Berikut adalah bagaimana Anda dapat

memodifikasi pemanggilan konstruktor dalam contoh CopyCharacters untuk menggunakan buffered I

/ O:

Page 32: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

32

inputStream =

new BufferedReader(new FileReader("xanadu.txt"));

outputStream =

new BufferedWriter(new FileWriter("characteroutput.txt"));

Ada empat kelas sungai buffer digunakan untuk membungkus unbuffered stream:

BufferedInputStream dan BufferedOutputStream membuat buffer byte stream, sedangkan

BufferedReader dan BufferedWriter membuat buffered stream karakter.

Flushing Buffered Streaming

Sering masuk akal untuk menulis buffer di titik kritis, tanpa menunggu untuk itu untuk mengisi. Ini

dikenal sebagai pembilasan buffer.

Beberapa kelas output buffer dukungan autoflush, ditetapkan oleh argumen konstruktor opsional.

Ketika autoflush diaktifkan, peristiwa penting tertentu menyebabkan buffer yang akan memerah.

Sebagai contoh, suatu obyek PrintWriter autoflush mengosongkan buffer pada setiap permintaan dari

println atau format. Lihat Memformat untuk lebih lanjut tentang metode ini.

Untuk flush stream secara manual, memanggil metode flush nya. Metode flush berlaku pada setiap

output stream, tapi tidak berpengaruh kecuali sungai adalah buffered.

Page 33: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

33

F.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);

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

Page 34: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

34

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

}

}

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 ) {

Page 35: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

35

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

}

}

G.Konversi String Dan Bilangan(Numerik)

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

Page 36: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

36

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

}

}

Konversi Bilangan ke String

double myDouble;

int myInteger;

float myFloat;

String myString = Double.toString(myDouble);

Integer.toString(myInteger);

Float.toString(myFloat);

Page 37: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

37

H.Pernyataan Penentu Keputusan

Pernyataan Penentu Keputusan

1. if, if-else, if-else if – else

2. 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){

diskon = totalBelanja/10;

}

Page 38: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

38

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;

Page 39: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

39

} else{

diskon = 0;

}

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

}

Page 40: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

40

PernyataanIFELSEIF.java

public class PernyataanIFELSEIF{

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‟;

}

System.out.println(“Nilai = ” + nilai);

}

}

Page 41: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

41

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

}

}

Switch

Switch digunakan untuk melakukan tindakan berbeda terhadap sejumlah kemungkinan nilai

Bentuk:

switch(ekspresi){

case nilaiSatu:

Pernyataan 1

Page 42: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

42

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:

System.out.println(“Soto Ayam”);

break;

case 2:

System.out.println(“Gule Kambing”);

break;

Page 43: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

43

case 3:

System.out.println(“Nasi Goreng”);

break;

default:

System.out.println(“Silakan Pilih 1, 2 atau 3”);

}

}

}

I.Pernyataan Pengulangan Proses

Java menyediakan pernyataan while, do… while, dan for untuk melakukan perulangan

terhadap suatu proses. Berikut bentuk umumnya:

Perulangan Java

For for (inisialisasi;kondisi;iterasi)

pernyataan;

While while (kondisi) {

pernyataan;

}

Do – While do {

Page 44: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

44

pernyataan;

} while (kondisi);

Seleksi Kondisi dan Perulangan Dalam Java

Pada kesempatan kali ini saya akan mencoba untuk berbagi informasi mengenai seleksi kondisi

dan perulangan dalam java. Seleksi kondisi dalam java menggunakan fungsi " if " dan "switch-

case". Dimana pernyataan if merupakan salah satu bentuk pernyataan berkondisi yang

berguna untuk pengambilan keputusan terhadap 2 buah kemungkinan atau lebih. Adapun

bentuk umum atau sintak untuk seleksi kondisi ini adalah sebagai berikut :

1) If-else

Bentuk umum :

if (kondisi)

pernyataan jika kondisi benar;

else

pernyataan jika kondisi salah;

2) Switch-case

Bentuk umum :

switch (expresi switch){

case nilai1 : pernyataan 1;

break;

case nilai2 : pernyataan 2;

break;

case nilaiN : pernyataan N;

break;

default : pernyataan default;

}

Page 45: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

45

Agar pembaca lebih mudah untuk memahami seleksi kondisi ini, saya juga memberikan sebuah

contoh sebagai berikut :

dari kode program diatas akan menghasilkan output sebagai berikut :

ok baiklah, setelah seleksi kondisi kita beralih ke perulangan. Perulangan dalam java menggunakan 3

bentuk yaitu :

1) For

bentuk umum :

for (inisialisasi;kondisi;iterasi)

pernyataan;

Page 46: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

46

2) While

bentuk umum :

while (kondisi) {

pernyataan;

}

3) Do-While

bentuk umum :

do{

pernyataan;

} while (kondisi);

Ada hal yang perlu diketahui dalam hal perulangan ini. Perbedaan antara while dengan do-while

adalah

perulangan while melakukan perulangan ketika kondisi dari perulangan tersebut telah

terpenuhi, jadi kondisinya dahulu dibaca lalu melakukan perulangan.

sedangkan pada do-while perulangan dilakukan terlebih dahulu, lalu setelah itu membaca

kondisi.

J.Pernyataan Pemindah Proses

Pernyataan Pemindah Proses

1. return

2. break

3. continue

4. return

Digunakan untuk keluar dari method

return memiliki dua bentuk:

Page 47: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

47

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

Page 48: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

48

}

}

}

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

}

}

}

Page 49: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

49

BAB III

HASIL PERCOBAAN PRAKTIKUM

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

lbljk.setText((String)cbojk.getSelectedItem());

Page 50: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

50

lbltl.setText(txttl.getText());

lblalamat.setText(txtalamat.getText());

lblhobi.setText(txthobi.getText());

txtnpm.setText("");

txtnama.setText("");

txttl.setText("");

txthobi.setText("");

txtalamat.setText("");

cbojk.setSelectedItem("Pilih");

}

public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new modul2().setVisible(true);

}

});

}

// Variables declaration - do not modify

private javax.swing.JComboBox cbojk;

private javax.swing.JButton jButton1;

Page 51: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

51

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4;

private javax.swing.JLabel jLabel5;

private javax.swing.JLabel jLabel6;

private javax.swing.JLabel jLabel7;

private javax.swing.JPanel jPanel1;

private javax.swing.JLabel lblalamat;

private javax.swing.JLabel lblhobi;

private javax.swing.JLabel lbljk;

private javax.swing.JLabel lblnama;

private javax.swing.JLabel lblnpm;

private javax.swing.JLabel lbltl

3.1 HASIL PRAKTIKUM MODUL 3

Tampilan awal program

Page 52: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

52

Tampilan setelah program di eksekusi

Kode Program

public class modul3 extends javax.swing.JFrame {

public modul3() {

initComponents();

}

@SuppressWarnings("unchecked")

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

Integer nilai1=Integer.valueOf(txtinput1.getText());

Integer nilai2=Integer.valueOf(txtinput2.getText());

Integer Hasil3 = nilai1 + nilai2;

String Hasil = String.valueOf(Hasil3);

txthasil.setText(Hasil);

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

Integer nilai1=Integer.valueOf(txtinput1.getText());

Integer nilai2=Integer.valueOf(txtinput2.getText());

Page 53: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

53

Integer Hasil3 = nilai1 - nilai2;

String Hasil = String.valueOf(Hasil3);

txthasil.setText(Hasil);

}

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

Integer nilai1=Integer.valueOf(txtinput1.getText());

Integer nilai2=Integer.valueOf(txtinput2.getText());

Integer Hasil3 = nilai1 * nilai2;

String Hasil = String.valueOf(Hasil3);

txthasil.setText(Hasil);

}

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

Integer nilai1=Integer.valueOf(txtinput1.getText());

Integer nilai2=Integer.valueOf(txtinput2.getText());

Integer Hasil3 = nilai1 / nilai2;

String Hasil = String.valueOf(Hasil3);

txthasil.setText(Hasil);

}

public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {

Page 54: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

54

public void run() {

new modul3().setVisible(true);

}

});

}

private javax.swing.JButton btnbagi;

private javax.swing.JButton btnkali;

private javax.swing.JButton btnkurang;

private javax.swing.JButton btntambah;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4;

private javax.swing.JPanel jPanel1;

private javax.swing.JTextField txthasil;

private javax.swing.JTextField txtinput1;

private javax.swing.JTextField txtinput2;}

Page 55: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

55

3.1 HASIL PRAKTIKUM MODUL 4

TAMPILAN AWAL PROGRAM

PROGRAM YANG TELAH DI EKSEKUSI

KODE PROGRAM

public class modul4 extends javax.swing.JFrame {

public modul4() {

initComponents();}

@SuppressWarnings("unchecked")

Page 56: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

56

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"){

diskon=0.05*harga;

nilaidiskon=harga-diskon;

total=nilaidiskon*jumlah;

}else{

diskon=0;

nilaidiskon=harga-diskon;

total=nilaidiskon*jumlah;

}txtdiskon.setText(""+diskon);

Page 57: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

57

txttotal.setText(""+total);}

public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {new modul4().setVisible(true);

}});}private javax.swing.JButton btnbayar;

private javax.swing.JComboBox cbojenis;

private javax.swing.JComboBox cbostatus;

private javax.swing.JLabel diskon;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4;

private javax.swing.JLabel jLabel5;

private javax.swing.JLabel jLabel8;

private javax.swing.JPanel jPanel1;

private javax.swing.JPanel jPanel2;

private javax.swing.JTextField txtdiskon;

private javax.swing.JTextField txtharga;

private javax.swing.JTextField txtjumlah;

private javax.swing.JTextField txtnama;

Page 58: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

58

private javax.swing.JTextField txttotal;

private javax.swing.JLabel txttotal12;}

3.2 HASIL PRAKTIKUM MODUL 5

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;

Page 59: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

59

String t_istri,t_anak;

String gajikotor_1 ,pajak_1,gajibersih_1;

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

break;

Page 60: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

60

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

txttunjangananak.setText(t_anak);}

private void Menikah(){

txttunjanganistri.setEnabled(true);

txttunjangananak.setEnabled(true);

Page 61: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

61

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

txttunjangananak.setText("0");

txtjumlahanak.setText("0");

txttunjanganistri.setEnabled(false);

txttunjangananak.setEnabled(false);

txtjumlahanak.setEnabled(false);}

private void Total(){

gajipokok=Integer.valueOf(txtgajipokok.getText());

Page 62: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

62

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

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) {

Page 63: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

63

BelumMenikah();}

private void cmbjabatanItemStateChanged(java.awt.event.ItemEvent evt) {

BersihTeks(); Gaji(); If(opsi1.isSelected()==true){

Menikah(); }else{ BelumMenikah(); }}

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

Menikah();}

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

BelumMenikah();}

private void txtjumlahanakKeyReleased(java.awt.event.KeyEvent evt) {

TunjanganAnak();}

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

BersihTeks();}

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

Total();}

private void btnhitungActionPerformed(java.awt.event.ActionEvent evt) { }

private void btnbersihActionPerformed(java.awt.event.ActionEvent evt) { }

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;

Page 64: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

64

private javax.swing.ButtonGroup buttonGroup1;

private javax.swing.JComboBox cmbjabatan;

private javax.swing.JLabel jLabel1;private javax.swing.JLabel jLabel10;

private javax.swing.JLabel jLabel11;private javax.swing.JLabel jLabel12;

private javax.swing.JLabel jLabel2;private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4;

private javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel6;

private javax.swing.JLabel jLabel7; private javax.swing.JLabel jLabel8;

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

Page 65: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

65

3.1 HASIL PRAKTIKUM MODUL 6

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;

Page 66: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

66

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

jin.setBounds(10,10,500,500);

jDesktopPane1.add(jin);

jin.setVisible(true);

Page 67: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

67

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

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

Page 68: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

68

Dimension parentSize = jDesktopPane1.getSize();

Dimension childSize = form3.getSize();

form3.setLocation((parentSize.width-childSize.width)/2,

(parentSize.height - childSize.height)/2);

form3.setVisible(true);}

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

IFModul4 form4 = new IFModul4();

jDesktopPane1.add(form4);

Dimension parentSize = jDesktopPane1.getSize();

Dimension childSize = form4.getSize();

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

Page 69: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

69

form5.setVisible(true);}

private void jMenu1ActionPerformed(java.awt.event.ActionEvent evt) {}

public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new FormUtama().setVisible(true);

}});}

private javax.swing.JDesktopPane jDesktopPane1;

private javax.swing.JMenu jMenu1;

private javax.swing.JMenu jMenu2;

private javax.swing.JMenu jMenu3;

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

Page 70: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

70

3.2 HASIL PRAKTIKUM MODUL 7

GAMBAR AWAL APLIKA

GAMBAR APLIKASI SETELAH DI EKSEKUSI

SOURCE KODE UNTUK DATABASE MYSQL

CREATE DATABASE dbjava;

USE dbjava;

CREATE TABLE tcustomer (

id VARCHAR(6) PRIMARY KEY,

nama VARCHAR(25),

nohp VARCHAR(14),

alamat VARCHAR(100));

SOURCE KODE UNTUK JAVA

Page 71: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

71

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

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

Page 72: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

72

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

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

Page 73: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

73

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

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

Page 74: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

74

txtid.setEnabled(false);} @SuppressWarnings("unchecked")

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

simpan();}

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

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

Page 75: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

75

3.3 HASIL PRAKTIKUM MODUL 8

Gambar awal aplikasi

Gambar aplikasi yang telas di eksekusi

Source kode database mysql

CREATE DATABASE dbjava;

Page 76: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

76

USE dbjava;

CREATE TABLE tpenjualan (

invoice VARCHAR(12) PRIMARY KEY,

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;

Page 77: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

77

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

}else {}txtinvoice.setText((kode+1));

}}catch (ClassNotFoundException | SQLException e) { } }

private void cariId(){

Page 78: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

78

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

}}} catch (ClassNotFoundException | SQLException | HeadlessException e) {}}

private void simpan(){

String invoice=this.txtinvoice.getText();

String tanggal=this.txttanggal.getText().toString();

String id=this.txtid.getText();

Page 79: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

79

String nama=this.txtnama.getText();

String status=this.cbostatus.getSelectedItem().toString();

String barang=this.cbojenis.getSelectedItem().toString();

String harga=this.txtharga.getText();

String jumlah=this.txtjumlah.getText();

String diskon=this.txtdiskon.getText();

String bayar=this.txttotal.getText();

String st="Free";

if ("".equals(this.txtinvoice.getText()) || ("".equals(this.txttanggal.getText()))

|| ("".equals(this.txtid.getText()) || ("".equals(this.txtnama.getText()))

|| ("".equals(this.cbostatus.getSelectedItem().toString())) ||

("".equals(this.cbojenis.getSelectedItem().toString()))

|| ("".equals(this.txtharga.getText())) || ("".equals(this.txtjumlah.getText()))

|| ("".equals(this.txtdiskon.getText())) || ("".equals(this.txttotal.getText()))))

{JOptionPane.showMessageDialog(this, "Lengkapi data");

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

Page 80: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

80

p.setString(1, invoice);

p.setString(2, tanggal);

p.setString(3, id);

p.setString(4, nama);

p.setString(5, status);

p.setString(6, barang);

p.setString(7, harga);

p.setString(8, jumlah);

p.setString(9, diskon);

p.setString(10, bayar);

p.executeUpdate();

}JOptionPane.showMessageDialog(this, "Invoice Tersimpan");

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

Page 81: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

81

int diskon, nilaidiskon, total ;

if(cbostatus.getSelectedItem()=="Silver"){

diskon = ((5 * harga)/100);

nilaidiskon = harga - diskon ;

total = (nilaidiskon * jumlah) ;

}else{diskon = ((20 * harga)/100);

nilaidiskon = harga - diskon ;

total = (nilaidiskon * jumlah) ;}

txtdiskon.setText(""+diskon);

txttotal.setText(""+total);}

private void bersih(){

invoice();

txtid.setText(null);

txtnama.setText(null);

txthp.setText(null);

txtalamat.setText(null);

cbostatus.setSelectedItem("Pilih");

txtharga.setText(null);

txtjumlah.setText("1");

txtdiskon.setText(null);

Page 82: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

82

txttotal.setText(null);

}

@SuppressWarnings("unchecked")

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

bayar(); }

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

cariId(); }

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

cariId(); }

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

simpan();

bersih();}

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

Page 83: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

83

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;

private javax.swing.JLabel jLabel15;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

Page 84: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

84

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;

private javax.swing.JTextField txtjumlah;

private javax.swing.JTextField txtnama;

private javax.swing.JTextField txttanggal;

private javax.swing.JTextField txttotal;}

Page 85: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

85

BAB IV

ANALISA HASIL PERCOBAAN

4.1 Analisa Hasil Percobaan Modul 2

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

Page 86: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

86

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.

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‟

Page 87: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

87

caranya 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,

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

Page 88: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

88

BAB V

KESIMPULAN

Demikian yang dapat saya paparkan mengenai materi yang menjadi pokok bahasan dalam laporan

praktikum, tentunya masih banyak kekurangan dan kelemahannya, kerena terbatasnya pengetahuan

dan kurangnya rujukan atau referensi yang ada hubungannya dengan judul makalah ini. Penulis

banyak berharap para pembaca yang budiman bisa memberikan kritik dan saran yang membangun

kepada penulis demi sempurnanya praktukum ini dan dan penulisan makalah di kesempatan –

kesempatan berikutnya. Semoga praktikum ini berguna bagi penulis pada khususnya juga para

pembaca yang budiman pada umumnya.

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

Aswina seriyanti hasibuan

Page 89: LAPORAN PRAKTIKUM BAHASA PEMROGRAMAN JAVA ASWINA.pdf

89

Daftar pustaka

https://maqilazt.wordpress.com/2012/01/02/pernyataan-pemindah-proses-jump/

https://maqilazt.wordpress.com/2012/01/02/konversi-string-dan-bilangan-number/

https://maqilazt.wordpress.com/2012/01/02/pengaturan-format-output-numerik/

http://setyoteguhriyanto.blogspot.co.id/2010/12/file-io-stream_09.html