• Tidak ada hasil yang ditemukan

7003f modul praktikum java

N/A
N/A
Protected

Academic year: 2017

Membagikan "7003f modul praktikum java"

Copied!
45
0
0

Teks penuh

(1)

STIMATA

Pemrograman Java

1

[image:1.595.129.480.75.320.2]

Modul 1: Menggunakan NetBeans

Gambar 1.1, Menu Pembuka NetBeans

Langkah-langkah yang diperlukan dalam menuliskan program Java menggunakan NetBeans sebagai berikut:

1. Pilih menu File > New Projects, lalu pilih categories dengan Java dengan Projects Java Aplication. Selanjutnya, pilih Next

Gambar 1.2. Membuat Project baru dalam NetBeans

[image:1.595.103.490.352.660.2]
(2)

STIMATA

Pemrograman Java

2

[image:2.595.138.480.61.554.2]

Gambar 1.3 Menentukan nama dan lokasi Projek

(3)

STIMATA

Pemrograman Java

3

Modul 2 : Type Data dan Variabel

A. Latar Belakang

Pada modul 2 ini membahas penggunaan Type Data dan Variabel yang telah dibahas pada saat Dasar Teori dikelas. Perlunya mempraktekan hal tersebut sebagai penambahan pemahaman mahasiswa secara skill, selain pemahan secara abstrak.

B. Tujuan

Dalam modul ini, Anda akan melakukan percobaan Type Data, Variabel, dan Array dalam Java. Pertama, Anda akan mendefinisikan apa type data, variable dan array, kemudian Anda juga akan mendiskusikan bagaimana mendeklarasikannya dan menggunakannya dalam Java.

Pada akhir pembahasan, diharapkan mahasiswa mempunyai kompetensi dalam :  Mendeklarasikan berbagai type data

 Mendeklarasikan variabel

 Mendeklarasikan dan membuat array  Mengakses elemen-elemen didalam array

 Menentukan jumlah element didalam sebuah array  Mendeklarasikan dan membuat array multidimensi

C. Dasar Teori

Variabel adalah item yang digunakan data untuk menyimpan pernyataan objek. Variabel memiliki tipe data dan nama. Tipe data menandakan tipe nilai yang dapat dibentuk oleh variabel itu sendiri. Nama variabel harus mengikuti aturan untuk identifier.

D. Latihan

1. Type Data

Pada percobaan dua ini, dilengkapi dengan pengujian terhadap beberapa jenis type data yaitu: short, int, long, float, dan double.

 Ketik program dibawah ini, untuk mempraktekkan cara penulisan, pendefinisian, dan cara menampilkan isinya dari beberapa type data.

class MyHitungan {

public static void main(String[] args) { //mendeklarasikan type data

byte a = 1; short b = 2; int c = 5; long d = 1000; float e = 45; double f = 1000.0;

//menampilkan nilai dari beberapa jenis type data System.out.println("nilai a = " + a);

(4)

STIMATA

Pemrograman Java

4

} }

2. Variabel

Syntax deklarasi variabel adalah sebagai berikut, <data tipe> <name> [=initial value];

Pendeklarasian variabel

Contoh, penulisan variabel result dengan tipe data boolean, dan option dengan tipe data char

boolean result; char option;

Menampilkan isi Variabel

Menampilkan isi variable pada layar atau screen dapat dilakukan dengan beberapa cara, seperti dituliskan dibawah ini

System.out.println( result );

System.out.println( “The value of x=” + result );

 Ketik program berikut ini, untuk mempraktekkan cara pendefinisian variable dan tipe datanya, kemudian menampilkan isi dilayar monitor.

public class OutputVariable {

public static void main( String[] args ){ int value = 10;

char x; x = „A‟;

System.out.println( value );

System.out.println( “The value of x=” + x ); }

}

3. Array

Sebuah array akan menyimpan beberapa item data yang memiliki tipe data sama didalam sebuah blok memori yang berdekatan yang kemudian dibagi menjadi beberapa ruang. Array adalah sebuah variabel/sebuah lokasi tertentu yang memiliki satu nama sebagai identifier, namun identifier ini dapat menyimpan lebih dari sebuah nilai.

Array satu dimensi Cara pertama

 Ketik program dibawah ini, untuk mempraktekkan memahami cara penulisan, pendefinisian, dan cara menampilkan isinya dari array satu dimensi.

class jumHari {

public static void main(String[] args) {

(5)

STIMATA

Pemrograman Java

5

//Menentukan jumlah elemen array jumlahHari = new int[12];

//Mengisi nilai dari setiap elemen array yang ada jumlahHari[0] = 31;

jumlahHari[1] = 28; jumlahHari[2] = 31; jumlahHari[3] = 30; jumlahHari[4] = 31; jumlahHari[5] = 30; jumlahHari[6] = 31; jumlahHari[7] = 31; jumlahHari[8] = 30; jumlahHari[9] = 31; jumlahHari[10] = 30; jumlahHari[11] = 31;

System.out.println("Bulan Oktober mempunyai jumlah "+jumlahHari[10] + " hari");

} }

Cara kedua

 Ketik program dibawah ini, untuk mempraktekkan memahami cara penulisan, pendefinisian, dan cara menampilkan isinya dari array multidimensi.

class jumHari2 {

public static void main(String[] args) {

//Mendeklarasikan variabel array satu dimensi bertipe int int [] jumlahHari ={31,28,31,30,31,30,31,31,30,31,30,31};

System.out.println("Bulan Oktober mempunyai jumlah "+jumlahHari[10] + " hari");

} }

Array multi dimensi

Array multidimensi diimplementasikan sebagai array yang terletak di dalam array. Array multidimensi dideklarasikan dengan menambahkan jumlah tanda kurung setelah nama array.

Sebagai contoh,

// Elemen 512 x 128 dari integer array int[][] twoD = new int[512][128];

// karakter array 8 x 16 x 24

char[][][] threeD = new char[8][16][24];

// String array 4 baris x 2 kolom String[][] ponsel = {

{ "nokia", "brown" },

{ "sony ericson", "white" }, { "seimens", "gray"},

(6)

STIMATA

Pemrograman Java

6

E. Tugas

Berikut ini adalah array multidimensi yang menyatakan isi dari sebuah buku alamat:

String entry = {

{"Florence", "735-1234", "Jakarta"}, {"Yanto", "983-3333", "Surabaya"}, {"Kendedesi", "456-3322", "Malang"} };

Cetak buku alamat tersebut dalam format berikut ini:

Name : Florence Tel. # : 735-1234 Address : Jakarta

Name : Yanto Tel. # : 983-3333 Address : Surabaya

(7)

STIMATA

Pemrograman Java

7

Modul 3: Operator

A. Latar Belakang

Dalam Java, ada beberapa tipe operator. Ada operator aritmatika, operator relasi, operator logika, dan operator kondisi. Operator ini mengikuti bermacam-macam prioritas yang pasti, sehingga compilernya akan tahu yang mana operator untuk dijalankan lebih dulu dalam kasus beberapa operator yang dipakai bersama-sama dalam satu pernyataan.

Dalam modul 3 ini, Anda akan melakukan percobaan penggunaan beberapa tanda operator untuk digunakan pada proses penghitungan.

B. Tujuan

Pada akhir pembahasan, diharapkan mahasiswa mempunyai kompetensi dalam :  Menerapkan operator aritmatika, relasi dan logika dalam sebuah program  Menggunakan tanda operator yang cocok dalam proses penghitungan

C. Dasar Teori

Operator Aritmatika

Berikut ini adalah contoh program dalam penggunaan operator-operator ini :

public class aritmatikaDemo {

public static void main(String[] args) {

//sedikit angka

int i = 37; int j = 42; double x = 27.475; double y = 7.22;

System.out.println("Variable values..."); System.out.println(" i = " + i);

System.out.println(" j = " + j); System.out.println(" x = " + x);

System.out.println(" y = " + y); //penjumlahan angka System.out.println("Adding...");

System.out.println(" i + j = " + (i + j)); System.out.println(" x + y = " + (x + y)); //pengurangan angka

System.out.println("Subtracting..."); System.out.println(" i - j = " + (i - j)); System.out.println(" x - y = " + (x - y)); //perkalian angka

System.out.println("Multiplying..."); System.out.println(" i * j = " + (i * j)); System.out.println(" x * y = " + (x * y)); //pembagian angka

System.out.println("Dividing...");

System.out.println(" i / j = " + (i / j)); System.out.println(" x / y = " + (x / y)); //menghitung hasil modulus dari pembagian

System.out.println("Computing the remainder..."); System.out.println(" i % j = " + (i % j));

System.out.println(" x % y = " + (x % y)); //tipe penggabungan

(8)

STIMATA

Pemrograman Java

8

System.out.println(" j + y = " + (j + y)); System.out.println(" i * x = " + (i * x)); }

}

 Hasil Runing Program aritmatikademo adalah sebagai berikut: Variable values...

i = 37 j = 42 x = 27.475 y = 7.22 Adding... i + j = 79 x + y = 34.695

Subtracting...

i - j = -5

x - y = 20.255000000000003 Multiplying...

i * j = 1554

x * y = 198.36950000000002 Dividing...

i / j = 0

x / y = 3.805401662049862

Computing the remainder...

i % j = 37

x % y = 5.815000000000002 Mixing tipes...

j + y = 49.22 i * x = 1016.575

Operator relasi

Berikut ini adalah contoh program yang menggunakan operator Relasi,

public class RelasiDemo {

public static void main(String[] args) {

//beberapa nilai int i = 37; int j = 42; int k = 42;

System.out.println("Nilai variabel..."); System.out.println(" i = " + i);

System.out.println(" j = " + j); System.out.println(" k = " + k); //lebih besar dari

System.out.println("Lebih besar dari...");

System.out.println(" i > j = " + (i > j)); //false System.out.println(" j > i = " + (j > i)); //true System.out.println(" k > j = " + (k > j)); //false //lebih besar atau sama dengan

System.out.println("Lebih besar dari atau sama dengan..."); System.out.println(" i >= j = " + (i >= j)); //false

System.out.println(" j >= i = " + (j >= i)); //true System.out.println(" k >= j = " + (k >= j)); //true //lebih kecil dari

System.out.println("Lebih kecil dari...");

(9)

STIMATA

Pemrograman Java

9

//lebih kecil atau sama dengan

System.out.println("Lebih kecil dari atau sama dengan..."); System.out.println(" i <= j = " + (i <= j)); //true

System.out.println(" j <= i = " + (j <= i)); //false System.out.println(" k <= j = " + (k <= j)); //true //sama dengan

System.out.println("Sama dengan...");

System.out.println(" i == j = " + (i == j)); //false System.out.println(" k == j = " + (k == j)); //true //tidak sama dengan

System.out.println("Tidak sama dengan...");

System.out.println(" i != j = " + (i != j)); //true System.out.println(" k != j = " + (k != j)); //false }

}

 Hasil Runing Program RelasiDemo adalah sebagai berikut:

Nilai variabel... i = 37

j = 42 k = 42

Lebih besar dari... i > j = false j > i = true k > j = false

Lebih besar dari atau sama dengan... i >= j = false

j >= i = true k >= j = true Lebih kecil dari... i < j = true

j < i = false k < j = false

Lebih kecil dari atau sama dengan... i <= j = true

j <= i = false k <= j = true Sama dengan... i == j = false k == j = true

Tidak sama dengan... i != j = true

k != j = false

Operator logika

Berikut ini adalah suatu contoh source code yang menggunakan logika dan boolean AND,

public class TestAND {

public static void main( String[] args ) {

int i = 0; int j = 10;

boolean test= false; //demonstrasi &&

test = (i > 10) && (j++ > 9); System.out.println(i);

(10)

STIMATA

Pemrograman Java

10

System.out.println(test); //demonstrasi &

test = (i > 10) & (j++ > 9); System.out.println(i);

System.out.println(j); System.out.println(test); }

}

 Hasil Runing Program TestAND adalah sebagai berikut: i = 0

j = 10

test = false i = 0

j = 11

test = false

Berikut ini sebuah contoh source code yang menggunakan operator logika dan boolean OR,

public class TestOR {

public static void main( String[] args ) {

int i = 0; int j = 10;

boolean test= false; //demonstrasi ||

test = (i < 10) || (j++ > 9); System.out.println(i);

System.out.println(j); System.out.println(test); //demonstrasi |

test = (i < 10) | (j++ > 9); System.out.println(i);

System.out.println(j); System.out.println(test); }

}

 Hasil Runing Program TestOR adalah sebagai berikut: i = 0

j = 10 test = true i = 0

j = 11 test = true

Berikut ini adalah contoh source code yang menggunakan operator logika NOT,

public class TestNOT {

public static void main( String[] args ) {

boolean val1 = true; boolean val2 = false; System.out.println(!val1); System.out.println(!val2); }

(11)

STIMATA

Pemrograman Java

11

D. Latihan

Berdasarkan percobaan diatas,

1. Apa perbedaan operator “=” dengan operator “==”

(12)

STIMATA

Pemrograman Java

12

Modul 4: Operator Logika

A. Latar Belakang

Modul 4 ini membahas tentang cara penggunaan /mempraktekkan operator logika yang telah dibahas pada saat Dasar Teori teori dikelas. Mempraktekkan operator logika sebagai upaya penambahan pemahaman mahasiswa secara skill, selain pemahan abstrak.

B. Tujuan

Pada akhir pembahasan, diharapkan mahasiswa mempunyai kompetensi dalam mengunakan operator logika if dalam menyelesaikan kasus pada pemrograman, logika if yang harus difahami adalah sebagai berikut;

a. if b. if … else

c. if…. else if … else

C. Dasar Teori

1. if tunggal

Bentuk dari pernyataan if,

if( boolean_expression ) statement;

atau

if( boolean_expression ){ statement1;

statement2; . . .

[image:12.595.91.507.232.587.2]

}

gambar 4.1 flowchar statemen if

Keterangan

boolean_expression : adalah nilai yang diuji atau syarat yang diberikan statement : pernyataan yang diberikan setelah syarat

berikut ini adalah baris kode untuk mencetak pernyataan “x adalah 100”, hanya jika nilai yang tersimpan pada variabel x adalah 100.

int x = 100; if (x == 100){

System.out.print("x adalah 100");

}

Jika Anda menginginkan lebih dari satu statement yang ditampilkan ketika kondisi bernilai benar, maka Anda dapat menggunakan blok statemen. Kode berikut ini menunjukkan bagaimana Anda menggunkan lebih dari satu perintah menampilkan statemen dalam blok.

x = 90

“LULUS”

x > 50

(13)

STIMATA

Pemrograman Java

13

int x = 100; if (x == 100) {

System.out.print(“Nilai x adalah : “); System.out.println(x);

}

2. Statement if-else

Pernyataan if-else digunakan apabila Anda ingin mengeksekusi beberapa pernyataan dengan kondisi true dan pernyataan yang lain dengan kondisi false.

Bentuk statement if-else, if( boolean_expression ) statement1;

else

statement2;

dapat juga ditulis seperti,

if( boolean_expression ){ statement1;

statement2; . . .

} else{ }

[image:13.595.105.470.238.434.2]

statement1; statement2; . . .

Gambar 3.2 Statement if-else

dalam format ini boolean_expression diuji apakah bernilai benar atau salah, jika kondisi bernilai BENAR maka statemen1 yang di kerjakan. Namun jika sebaliknya kondisi bernilai SALAH maka statement2 yang di kerjakan. Untuk lebih mudah dalam memahami format ini, Anda bisa melihat dalam contoh program sederhana. Misal kondisinya adalah (x = = 100). statement1 = System.out.println(“ Benar “); dan statement2 adalah System.out.println(“ Tidak Seratus “); Bila dituliskan dalam sebuah program adalah sebagai berikut;

int x = 100; if (x == 100)

{System.out.println(“ Benar “); }

else

{System.out.println(“ Tidak Seratus “); }

3. Statement if- else if - else

Pernyataan pada bagian kondisi else dari blok if-else dapat menjadi struktur if-else yang lain. Kondisi struktur seperti ini mengijinkan Anda untuk membuat seleksi persyaratan yang lebih kompleks.

Bentuk statement if-else if, if( boolean_expression1 ) statement1;

else if( boolean_expression2 ) statement2;

else statement3;

x

z2

x

f

(14)

STIMATA

Pemrograman Java

14

Dalam pemrograman dapat dituliskan seperti contoh dibawah ini,

int x = 1;

if (x > 0) { System.out.print("x is positive");} else if (x < 0) {System.out.print("x is negative"); else {System.out.print("x is 0");

Dalam pengujian kebenaran sebuah kondisi biasanya ditentukan oleh tanda perbandingan yang diberikan. Tanpa memahami tanda perbandingan tersebut mustahil Anda bisa mengerti bagaimana Anda membaca dan membuat sebuah program dengan baik.

D. Latihan

Berikut ini adalah contoh-contoh perbandingan pernyataan.

public class RelasiDemo2 {

public static void main(String[] args) {

int x = 4, y = 10 , x = 8; char a = 40, b = 40, c = 40 ; float r = 12.50, s = 14.54, t = 15.78;

//kelompok pertama perbandingan pernyataan

if (x==y) z = -13; //set nilai Z = -13 if (x>z) a = „A‟; //set nilai a = 65

if (!(x>z)) a =‟B‟; //tidak melakukan perubahan apapun if (b<=c) r = 0.0; //set nilai r = 0.0

if (r!=s) t = c/2; //set nilai t = 2.0

System.out.println(z); System.out.println(a); System.out.println(r); System.out.println(t);

//kelompok kedua perbandingan pernyataan if (x==y) z = 222;

if (x!=0) z = 333;

System.out.println(z);

//kelompok ketiga perbandingan pernyataan x = y = z = 77;

x

z1

x

t

z2

f

t

(15)

STIMATA

Pemrograman Java

15

if ((x=y) && (x == 77)) z =33; if ((x>y) || (z >12 )) z =22; if (x && y && z) z =11;

if ((x=1) && (y = 2)) && (z = 3)) r=12; if ((x==1) && (y = 3)) && (z = 4)) r=12.46;

System.out.println(z); System.out.println(r); }

}

 Ketik program dibawah ini, lalu simpan dengan nama file Hitung. Compile dan perhatikan nilai keluarannya.

public class coba1 {

public static void main(String[] args) {

kasir mycoba = new kasir ();

mycoba.hitungan();// Honda revo = new Honda()

} // revo.colour //revo.type //revo.PlateNumber }

class kasir {

public int hitungan() {

int jml=50;

double hrg = 150000,dsc,totbyr,tothrg;

tothrg =(jml*hrg);

if ((jml >10) && (hrg>100000)){ dsc = 0.1 * (jml*hrg);

totbyr = tothrg - dsc; }

else {

dsc = 0;

totbyr = tothrg - dsc; }

System.out.println("Rp. "+tothrg); System.out.println("Rp. "+dsc); System.out.println("Rp. "+totbyr); return 0;

} }

Keluaran dari program diatas adalah

Rp. 7500000.0 Rp. 750000.0 Rp. 6750000.0

 Ganti isi variabel jml menjadi 10. Kemudian, compile dan perhatikan nilai keluarannya. Mengapa bisa demikian, jelaskan alasannya.

(16)

STIMATA

Pemrograman Java

16

Bentuk statement switch,

switch( switch_expression ) {

case case_selector1: statement1; //

statement2; //block 1 . . . //

break;

case case_selector2: statement1; //

statement2; //block 2 . . . //

break;

. . . . . . // break;

default:

statement1; //

statement2; //block n }

Contoh penulisan public class Grade {

public static void main( String[] args ) {

int grade = 92; switch(grade){ case 100:

System.out.println( "Excellent!" ); break;

case 90:

System.out.println("Good job!" ); break;

case 80:

System.out.println("Study harder!" ); break;

default:

System.out.println("Sorry, you failed."); }

} }

E. Tugas

 Buatlah program untuk menampilkan nilai dari ujian Anda, dengan ketentuan sebagai berikut:

Jika Nilai >=80 maka tampilan dilayar adalah A Jika Nilai >=75 maka tampilan dilayar adalah B+ Jika Nilai >=70 maka tampilan dilayar adalah B Jika Nilai >=65 maka tampilan dilayar adalah C+ Jika Nilai >=55 maka tampilan dilayar adalah C Jika Nilai >=45 maka tampilan dilayar adalah D Jika Nilai < 45 maka tampilan dilayar adalah E,

(17)

STIMATA

Pemrograman Java

17

Modul 5 : Control Perulangan

A. Latar Belakang

Praktikum pada modul 5 ini membahas penggunaan control perulangan yang telah dibahas pada saat Dasar Teori dikelas. Ada tiga macam jenis dari struktur kontrol pengulangan yaitu while, dowhile, dan for-loops. Mempraktekan hal tersebut sebagai penambahan pemahaman mahasiswa dengan skill, selain pemahan abstrak.

B. Tujuan

Pada akhir pembahasan, diharapkan mahasiswa mempunyai kompetensi dalam menggunakan struktur kontrol pengulangan (while, do-while, for) untuk mengeksekusi blok tertentu pada program beberapa kali.

C. Dasar Teori

1. while loop

Pernyataan while loop adalah pernyataan atau blok pernyataan yang diulang-ulang sampai mencapai kondisi yang cocok.

Bentuk pernyataan while,

while( boolean_expression ){ statement1;

statement2; . . .

}

Pernyataan di dalam while loop akan dieksekusi berulang-ulang selama kondisi boolean_expression bernilai benar (true).

int x = 0; while (x<10) {

System.out.println(x); x++;

}

 Berikut ini percobaan menghitung angka dimulai dari 0 sampai dengan 9 atau percobaan menampilkan angka dibawah 10 dengan menggunakan perulangan while

public class ulang {

public static void main(String[] args) {

ulang1 myulang = new ulang1 (); myulang.hitungan();

} }

class ulang1 {

public int hitungan() {

(18)

STIMATA

Pemrograman Java

18

while (x<10) {

System.out.println(x); x++;

}

return 0; }

}

2. do-while loop

Do-while loop mirip dengan while-loop. Pernyataan di dalam do-while loop akan dieksekusi beberapa kali selama kondisi bernilai benar(true).

Perbedaan antara while dan do-while loop adalah dimana pernyataan di dalam do-while loop akan dieksekusi sedikitnya satu kali.

Bentuk pernyataan do-while,

do{

statement1; statement2; . . .

}while( boolean_expression );

Pernyataan di dalam do-while loop akan dieksekusi pertama kali, dan akan dievaluasi ondisi dari boolean_expression. Jika nilai pada boolean_expression tersebut bernilai true, pernyataan di dalam do-while loop akan dieksekusi lagi.

int x = 0; do

{

System.out.println(x); x++;

}while (x<10);

 Berikut ini percobaan menghitung angka dimulai dari 0 sampai dengan 9 atau percobaan menampilkan angka dibawah 10 dengan menggunakan perulangan do - while

public class coba1 {

public static void main(String[] args) {

cobaah mycoba = new cobaah (); mycoba.hitungan();

} }

class cobaah {

public int hitungan() {

int x = 0; do

{

System.out.println(x); x++;

}while (x<10); return 0; }

(19)

STIMATA

Pemrograman Java

19

3. for loop

Pernyataan for loop memiliki kondisi hampir mirip seperti struktur perulangan while yaitu melakukan pengulangan untuk mengeksekusi kode yang sama sebanyak yang telah ditentukan.

Bentuk dari for loop,

for (InitializationExpression; LoopCondition; StepExpression) {

statement1; statement2; . . .

}

Keterangan

InitializationExpression adalah ekspresi variabel atau pengenalan variabel yang akan digunakan dalam proses perulangan. Dibagian ini bisa diletakkan lebih dari satu variable. Contoh sebagai pengenalan variable int i = 0.

LoopCondition adalah kondisi yang diberikan sebagai control sejumlah perulangan yang akan dilakukan. Contoh loopCondition adalah i < 10, i < jumlah.

StepExpression adalah bagian untuk melakukan penambahan (increase) atau pengurangan (decrease). Dibagian ini bisa diletakkan lebih dari satu variable. Contoh StepExpression adalah i++, i -- atau ++i, --i.

Berikut ini adalah contoh dari for loop, int i;

for( i = 0; i < 10; i++ ){ System.out.println(i); }

 Berikut ini percobaan menghitung angka dimulai dari 0 sampai dengan 9 atau percobaan menampilkan angka dibawah 10 dengan menggunakan perulangan for

public class coba1 {

public static void main(String[] args) {

cobaah mycoba = new cobaah (); mycoba.hitungan();

} }

class cobaah {

public int hitungan() {

int i = 0;

for( i = 0; i < 10; i++ ){ System.out.println(i); }

return 0; }

(20)

STIMATA

Pemrograman Java

20

D. LATIHAN

 Berikut ini variasi-variasi penulisan perulangan for

Pada contoh kelas for1 ini InitializationExpression tidak dimasukkan dalam for(), hal ini dibenarkan, karena inisialisasi dilakukan pada baris kode sebelumnya.

public class for1 {

public static void main(String[] args) { int j = 0;

for (; j < 3; j++) { System.out.println(j); }

} }

Pada contoh kelas for2 ini, loopControl menggunakan nama varibel (limit), dan bukan sebuah konstanta tertentu.

public class for2 {

public static void main(String[] args) { int limit = 20; // Sum from 1 to this value

int sum = 0; // Accumulate sum in this variable

for (int i = 1; i <= limit; i++) { sum = sum + i;

}

System.out.println("sum = " + sum); }

}

Pada contoh kelas for3 ini, tidak ada variabel apapun yang dimasukkan dalam for() atau sehingga hanya berupa for(;;).

public class for3 {

public static void main(String[] args) { for (;;) {

System.out.println("Hello"); break;

} } }

Pada contoh kelas for4 ini, inisialisasi dan stepExpression diletakkan lebih dari satu varibel. Jumlah StepExpression sama dengan jumlah inisialisasi.

public class for4 {

public static void main(String[] arg) { int limit = 10;

int sum = 0;

for (int i = 1, j = 0; i <= limit; i++, j++) { sum += i * j;

}

System.out.println(sum); }

(21)

STIMATA

Pemrograman Java

21

Pada contoh for5 ini, jumlah stepExpression yang digunakan tidak sama dengan inisialisasi yang dikenalkan yaitu hanya meletakkan ( i ) saja (i) dari tiga inisialisasi I, j dan k.

public class for5 {

public static void main(String[] args) { for (int i = 0, j = 1, k = 2; i < 5; i++){

System.out.println("I : " + i + ",j : " + j + ", k : " + k); }

} }

Pada contoh for6 ini, stepExpression tidak dimasukkan dalam for(), melainkan diletakkan dalam blok kode.

public class for6 {

public static void main(String[] arg) { int limit = 10;

int sum = 0;

for (int i = 1; i <= limit;) { sum += i++;

}

System.out.println(sum); }

}

Pada contoh for7 ini, tidak meletakkan inisialisasi variabel dan stepExpression dalam for(), melainkan melakukan inisialisasi variabel sebelum for() dan meletakkan stepExpression pada blok kode.

public class for7 {

public static void main(String[] arg) { int limit = 10;

int sum = 0;

int i = 1;

for (; i <= limit;) { sum += i++;

}

System.out.println(sum); }

}

E.

Tugas

(22)

STIMATA

Pemrograman Java

22

Modul 6 : Pembuatan Class dan Objek

A.

Latar Belakang

Pada modul 6, akan mengantarkan beberapa konsep dasar dari Pemrograman berorientasi obyek (Object Oriented Porgramming). Selanjutnya, Anda akan membahas konsep dari class dan obyek, serta penggunaan class dan anggota-anggotanya termasuk perbandingan, konversi dan pengubahan obyek. Untuk saat ini, Anda memfokuskan dalam pembuatan class sendiri.

Perlunya mempraktekan hal tersebut sebagai penambahan pemahaman mahasiswa secara skill , selain pemahan secara abstrak yang telah dibahas pada saat Dasar Teori dikelas..

B.

Tujuan

Pada akhir pembahasan, diharapkan mahasiswa mempunyai kompetensi dalam :

Membuat class sendiri

Menjelaskan mengenai konsep pemrograman berorientasi obyek

Menjelaskan mengenai method, serta cara pemanggilan dan pemberian parameter ke dalam method

Mendeklarasikan methode dalam class

Melewatkan parameter dalam methode

Membandingkan obyek dan menjabarkan class dari obyek.

C.

Dasar Teori

Pengertian Class adalah template untuk pembuatan objek pada Java Program, syntax dari sebuah kelas class nama_class{……}, kelas sendiri memiliki attributdanmethod

syntax class sebagai berikut :

<modifier> class <namaclass> { [deklarasi atribut]

[deklarasi method]

 Deklarasi atribut sebagai berikut : <modifier> <tipe> <nama atribut> ;

 Deklarasi method dapat dilakukan dengan cara :

<modifier> <return type> <nama_method> ([daftarargumen]) }

D.

Latihan

Percobaan 1 Pembuatan Kelas

(23)

STIMATA

Pemrograman Java

23

1.1. Menuliskan class dalam window editor

Pembuatan class pada latihan 1 ini, Anda akan membuat sebuah class dengan identitas sebagai berikut:

<namaclass> buku, attribut judul, harga method pinjam, kembali <modifier> public

class pada program java dapat dituliskan seperti dberikut ini; public class buku {

string judul; // atribute judul dengan type string double harga; // attribute harga type double

void pinjam() { // methode pinjam dengan modifier void judul =”Handbook of Java”;

harga = 650000; }

void kembali() { // methode kembali modifier void judul =”Handbook of Java”;

harga = 650000; }

[image:23.595.121.526.350.694.2]

Kode program tersebut pada jendela Editor akan nampak seperti pada gambar 6.1 berikut ini,

Gambar 6.1. kode progam

1.2. Menyimpan dokumen

(24)

STIMATA

[image:24.595.119.497.81.301.2]

Pemrograman Java

24

gambar 6.2. pemberian nama file

Selanjutnya Anda ketik nama class Main pada File name, lalu pilih menu Yes. Secara otomatis akan tercipta nama file baru berekstensi Main.java. Pada kondisi ini, Anda telah berhasil menyimpan file baru dengan nama Main.java

1.3. Compile program

Agar file yang telah dibuat dapat digunakan, maka file tersebut harus di-compile. Hasil dari proses kompilasi adalah terciptanya nama file baru dengan extensi .class

[image:24.595.203.429.477.743.2]

Kemudian pada menu Run pilih Run File, seperti ditunjukkan pada gambar 6.3 berikut ini.
(25)

STIMATA

Pemrograman Java

25

Atau cara kedua, selain cara diatas. Dari windows tempat penulisan program tekan tombol Shift dan tombol F6 (Shift+F6) bersamaan

Percobaan 2 Deklarasi Class dengan satu method

Setelah Anda sukses membuat class pada percobaan pertama, pada percobaan kedua ini, Anda akan membuat class baru dengan menempatkan satu method saja pada program. Method dalam percobaan ini bernama displayMessage().

Method ini berfungsi untuk menampilkan pesan yang akan ditampilkan pada layar monitor. Pada percobaan ini pesan yang ditampilkan adalah kata “Welcome to STMIK P3M!”

Ketikkan perintah/ baris kode-kode berikut ini di window editor, dan simpan dengan nama file Hello.Java

Kemudian Anda ketik perintah Javac Hello.java untuk mengkompilasi file Hello.java, agar menjadi Hello.class, kemudian tekan tombol [enter]

Untuk menampilkan hasil dilayar monitor Anda, ketik perintah Java Hello.class atau Java Hello

Percobaan 3 Melewatkan parameter dalam Method

Pada percobaan ketiga ini, Anda akan membuat program dengan method berisi parameter yang dilewatkan. Parameter ini berisi variabel dengan type data string. Langkah pertama Anda tentukan nama class baru dengan nama KampusIdaman, sedangkan nama method-nya adalah displayMessage(). Method ini berfungsi untuk menampilkan pesan “Welcome to STMIK P3M!” pada layar monitor Anda. Isi dari pesan tersebut ditampung dalam sebuah parameter bernama labelName danbertype data String.

(26)

STIMATA

Pemrograman Java

26

Kemudian Anda ketik perintah Javac HelloTo.java untuk mengkompilasi file HelloTo.java, kemudian tekan tombol [enter]

Untuk menampilkan hasil dilayar monitor Anda, ketik perintah Java HelloTo.class atau Java HelloTo

Melewatkan nilai dalam methode

Berikut ini dibahas tentang cara melewatkan nilai dalam methode. Pada kelas Test berikut ini terdapat sebuah methode dengan nama ubah(), yang didalamnya terdapat dua buah variabel. Variabel i dan j dengan type masing-masing adalah integer. Kedua variabel tersebut akan dilewatkan sebagai referensi dalam methode ubah(int i, int j). Berikut ini cara melewatkan sebuah nilai dalam methode

class Test {

void ubah(int i, int j) { //pass by refference i *= 2;

j /= 2;

System.out.println("i dan j lewat methode: " + i + " " + j); }

}

public class Main {

public static void main(String args[]) { Test ob = new Test();

int a = 5, b = 20;

System.out.println("a dan b sebelum methode: " + a + " " + b);

//memanggil a dan b lewat methode ob.ubah(a, b);

} }

Melewatkan nilai dalam object

(27)

STIMATA

Pemrograman Java

27

class Test { int a, b;

Test(int i, int j) {//objek dalam kelas a = i;

b = j; }

void meth(Test o) {//melewatkan nilai dalam objek o.a *= 2;

o.b /= 2; }

}

public class Main {

public static void main(String args[]) { Test ob = new Test(15, 20);

System.out.println("ob.a and ob.b : " + ob.a + " " + ob.b); ob.meth(ob);

System.out.println("ob.a and ob.b : " + ob.a + " " + ob.b);

} }

Method overloading

 Penggunaan method dengan nama yang sama, parameter berbeda, dan me-return value dengan return type yang berbeda

 Dapat digunakan ketika operator yang sama memiliki implementasi yang berbeda Method overloading memiliki properti-properti berikut:

 Nama yang sama

 Parameter/argument berbeda (jumlah dan Type)  Return type dapat berbeda atau sama

Membangun konstruktor dalam kelas

class Kotak { double lebar; double tinggi;

Rectangle() {//konstruktor lebar = 10;

tinggi = 10; }

double area() {

return lebar * tinggi; }

}

public class Main {

public static void main(String args[]) { Rectangle myKotak1 = new Rectangle(); double area;

area = myKotak1.area();

System.out.println("Luas daerah " + area); }

}

Konstruktor Dengan Parameter

(28)

STIMATA

Pemrograman Java

28

class Rectangle { double lebar; double tinggi;

Rectangle(double a, double a) { lebar = a;

tinggi = b; }

double area() {

return lebar * tinggi; }

}

public class Main {

public static void main(String args[]) { Rectangle myKotak1 = new Rectangle(10, 20); double area;

area = myKotak1.area();

System.out.println("Luas daerah " + area); }

}

Konstruktor Dengan Parameter Objek

class Rectangle { double lebar; double tinggi;

// Melewatkan parameter objek di constructor Rectangle(Rectangle ob) {

lebar = ob.lebar; tinggi = ob.tinggi; }

Rectangle(double w, double h) { lebar = w;

tinggi = h; }

Konstructor digunakan saat tidak disebutkan secara khusus dimensi yang diminta

Rectangle() {

// menggunakan inisialisasi -1 lebar = -1;

tinggi = -1; }

// Konstruktor digunakan saat pembuatan kubik/volume Rectangle(double len) {

lebar = tinggi = len; }

double area() {

return lebar * tinggi; }

(29)

STIMATA

Pemrograman Java

29

public class Main {

public static void main(String args[]) { Rectangle myKotak1 = new Rectangle(10, 20); Rectangle mykotak2 = new Rectangle(myKotak1); double area;

// Memperoleh volume dari kotak1 area = myKotak1.area();

System.out.println("Luas dari Kotak1 adalah " + area); // Memperoleh volume dari clone

area = mykotak2.area();

System.out.println("Luas dari kotak2 adalah " + area);

} }

Penggunaan Nama Kontruktor Yang Berulang (Overload)

class Rectangle { double lebar; double tinggi;

// konstruktor dengan penyebutan seluruh dimensi Rectangle(double w, double h) {

lebar = w; tinggi = h; }

// konstruktor dengan tanpa penyebutan variabel dimensi Rectangle() {

// use -1 to indicate lebar = -1;

tinggi = -1; }

Rectangle(double len) { lebar = tinggi = len; }

double area() {

return lebar * tinggi; }

}

public class Main {

public static void main(String args[]) { Rectangle mybox1 = new Rectangle(10, 20); Rectangle mybox2 = new Rectangle();

Rectangle mycube = new Rectangle(7);

double area = mybox1.area(); System.out.println(area);

area = mybox2.area(); System.out.println(area);

(30)

STIMATA

Pemrograman Java

30

System.out.println(area);

} }

E.

Tugas

Buatlah program yang terdiri public class adalah Indentitas, class turunannya adalah Ktm, method adalah tampil. Format tampilan dilayar sebagai berikut

Nama : <nama Anda>

NIM : <Nomor Induk Mahasiswa> Jurusan : <Jurusan Anda>

Tempat/ Tgl Lahir : <……>

(31)

STIMATA

Pemrograman Java

31

Modul 7 : Pewarisan

A.

Latar Belakang

Pada modul 7, membahas pewarisan sifat objek (inheritence) dari Pemrograman berorientasi obyek (Object Oriented Porgramming). Selanjutnya, Anda akan membahas konsep dari superclass dan subclass.

Perlunya mempraktekan hal tersebut sebagai penambahan pemahaman mahasiswa secara skill , selain pemahan secara abstrak yang telah dibahas pada saat Dasar Teori dikelas..

B.

Tujuan

Pada akhir pembahasan, diharapkan mahasiswa mempunyai kompetensi dalam :

Membuat superclass dan subclass sendiri

Menjelaskan mengenai konsep pewarisan sifat objek

C. Dasar Teori

Java mengijinkan kita untuk mendefinisikan suatu kelas yang bersifat generik. Selanjutnya, kelas tersebut dapat diturunkan lagi menjadi kelas baru dengan sifat yang lebih spesifik. Dalam terminology Java, kelas induk yang diturunkan disebut dengan superclass. Adapun kelas baru hasil turunan disebut dengan subclass.

Format

class nama-subclass extends nama-superclass { //badan kelas

}

D. Latihan

Cara membuat kelas induk dan kelas turunan. Pada latihan ini, Anda akan membuat kelas induk dengan nama Induk dan class turunannya bernama Child .

Percobaan 1

Membuat kelas turunan (Child) dari kelas sebelumnya (Induk) class Induk {

int i, j;

void showInduk() {

System.out.println("i = " + i + " dan j = " + j); }

}

class Child extends Induk { int k;

void showChild() {

System.out.println("k = " + k); }

void sum() {

System.out.println("i + j + k = " + (i + j + k)); }

(32)

STIMATA

Pemrograman Java

32

public class Main {

public static void main(String args[]) { Induk superOb = new Induk();

Child subOb = new Child();

System.out.println("Data di SuperClass"); superOb.i = 10;

superOb.showInduk(); System.out.println();

System.out.println("Data di SubClass"); subOb.i = 7;

subOb.showInduk(); subOb.showChild(); System.out.println();

subOb.sum(); }

}

Hasil Runing Program diatas adalah sebagai berikut:

Data di SuperClass i = 10 dan j = 0

Data di SubClass i = 7 dan j = 0 k = 0

i + j + k = 7

E. TUGAS

1. Apa yang anda ketahui tentang kelas induk dan kelas turunan, dan apapula perbedaan diantara keduanya.

2. Dari hasil running program induk.java diatas, untuk data induk muncul i = 10 dan j = 0, sedangkan untuk data kelas child muncul i = 7 dan j = 0 serta k =0. Mengapa demikian, jelaskan alasan Anda.

(33)

STIMATA

Pemrograman Java

33

Modul 8 : Input dan Output

A. Latar Belakang

Dasar Teori I/O yang disampaikan secara teoritis dalam sesi kuliah (tatap muka) dikelas mengakibatkan mahasiswa memahami secara abstrak sebatas jangkauan pikirannya. Diperlukan aktivitas yang dapat merangsang pemahaman berdasar pengalaman dengan cara mempraktekkan dalam program yang diharapkan mampu menguatkan pemahaman teoritis diperkuiahan

Dalam kegiatan ini mahasiswa mempraktekkan membuat program yang berisikan beberapa kelas, yaitu BufferedReader, InputStreamReader, System.in, dan try {}

B. Tujuan

Setelah melakukan kegiatan ini, mahasiswa diharapkan mempunyai kompetensi dalam 1. mengenal dasar-dasar I/O

2. melakukan Input 3. menampilkan Output 4. dasar-dasar Baca/Tulis File 5. Kelas File

6. membuat program yang bisa digunakan untuk menuliskan kalimat

C. Dasar Teori

Proses input dan output (I/O) adalah hal yang paling sering dijumpai pada sebagian besar program yang membutuhkan data-data eksternal. Java menydiakan terhadap proses I/O dengan menghadirkan paket java.io.*

Stream

Program java melakukan proses I/O melalui stream. Stream adalah sebuah abstraksi yang dapat memberikan atau mendapatkan informasi. Stream dapat menghubungkan dengan perlatan fisik yang terdapat dalam siste I/O Java, seperti keyboard, file, layar console dan yang lainnya.

Kelas-kelas dalam stream

Nama Kelas Keterangan

BufferedInputStream Stream input yang telah ter-buffer BufferedOutputStream Stream output yang telah ter-buffer

ByteArrayInputStream Stream input yang membaca dari array byte ByteArrayOutputStream Stream output yang menulis ke array byte

DataInputStream Stream input yang berisi method-method untuk membaca tipe data standar terdapat dalam java

DataOutputStream Stream output yang berisi method-method untuk membaca tipe data standar terdapat dalam java

FileInputStream Stream input yang membaca dari sebuah file FileOutputStream Stream output yang menulis ke sebuah file FilterInputStream Mengimplementasikan inputstream

FilterOutputStream Mengimplementasikan Outputstream

InputStream Kelas abstrak yang menjelaskan stream input OutputStream Kelas abstrak yang menjelaskan stream output PipedInputStream Penyalur input

PipedOutputStream Penyalur Output

(34)

STIMATA

Pemrograman Java

34

Kelas-kelas stream karakter

Nama Kelas Keterangan

BufferedReader Stream karakter input yang telah ter-buffer BufferedWriter Stream Karakter output yang telah ter-buffer CharArrayReader Stream input yang membaca dari array karakter CharArrayWriter Stream output yang menulis ke array karakter FileReader Stream input yang membaca dari sebuah file FileWriter Stream output yang menulis ke sebuah file FilterWriter Reader yang ter-filter

FilterReader Writer yang ter-filter

InputStreamReader Stream input yang menerjemahkan byte ke karakter LineNumberReader Line input yang menghitung jumlah baris

OuputStreamWriter Stream input yan menterjemahkan karakter ke byte PipedReader Penyalur Input

PipedWriter Penyalur Output

PrintWriter Stream output yang berisi method println() dan print() Reader Kelas abstrak yang menjelaskan stream karakter input StringReader Stream input yang membaca dari sebuah string StringWriter Stream output yang menulis ke sebuah string

Writer Stream output

Perintah Try {} catch {}

perintah try { ... }, adalah perintah yang ingin dijalankan pada situasi yang “mungkin” tidak berhasil atau perintah yang akan dilakukan apabila kesalahan ditangkap..

Parameter pada catch, yaitu IOException e adalah jenis kesalahan yang ingin Anda tangkap. Dalam hal ini Anda ingin menangkap adanya kesalahan IO, yaitu kesalahan yang bertipe IOException. Jika tidak ada kesalahan IO yang ditemukan, maka bagian ini akan dilewatkan (tidak dijalankan).

 try { ...

} catch (IOException e) { ...

}

Membaca Input data Karakter Percobaan 1

import java.io.*; /**

* @author Irul */

class DemoKarakter {

public static void main(String [] args) throws IOException { System.out.print("Masukkan sembarang karakter: ");

char ch;

InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr);

ch = (char) br.read();

System.out.println("Karakter yang dimasukkan adalah \'"+ch+"\'"); }

(35)

STIMATA

Pemrograman Java

35

Membaca Input data String Percobaan 2

import java.io.*; /**

* @author Irul */

class DemoInput {

public static void main(String [] args) throws IOException { System.out.print("Masukkan Nama Anda: ");

String nama;

InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr);

nama = br.readLine();

System.out.println("Hello "+nama + ", sudahkan Anda paham Java?"); }

}

Membaca Input data Numerik Percobaan 3

import java.io.*; /**

* @author Irul */

class DemoNumerik {

public static void main(String [] args) throws IOException { System.out.print("Masukkan sebuah bilangan bulat: "); String temp;

int bilangan = 0;

InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr);

temp = br.readLine(); try{

bilangan =Integer.parseInt(temp); }catch (NumberFormatException nfe){

System.out.println("Data yang dimasukkan bukan bilangan bulat");

System.exit(1); }

System.out.println("Bilangan yang dimasukkan adalah : "+bilangan); }

}

Membaca dan Menulis File Percobaan 4

import java.io.*; /**

* @author Irul */

class BacaFile {

public static void main(String [] args) { FileInputStream finput = null;

int data;

//Membuka file try {

(36)

STIMATA

Pemrograman Java

36

System.out.println("File tidak ditemukan");

return; //Keluar dari method }

//Membaca data dari dalam file try{

while ((data = finput.read())!= -1) { //konversi data ke type char

System.out.println((char) data); }

}catch (IOException e){

System.out.println(e.getMessage()); return;

}

//Menutup File try {

finput.close();

}catch (IOException e){} }

}

D. Praktek

 Progam berikut ini, membangun sebuah program aplikasi yang dapat digunakan untuk menuliskan kalimat dengan menggunakan class-class di java.io.

Ketik kode berikut ini dan simpan dengan nama baca.java, compile dan kemudian jalankan.

import java.io.*;

public class baca //StringReader {

public static void main (String[] args) {

System.out.println("Ketik Kalimat, Kemudian tekan Tombol 'Enter.'"); String string = "";

InputStreamReader input = new InputStreamReader(System.in); BufferedReader reader = new BufferedReader(input);

// membaca iputan dari user try

{

string = reader.readLine(); }

catch(Exception e){}

System.out.println("Tulisan Anda: " + string);

// menunggu diketik kata “ENTER” atau ditekan tombol ENTER untuk keluar System.out.println("Tekan/Ketik 'Enter' untuk keluar");

try {

string = reader.readLine(); }

catch(Exception e){

System.out.println ("Ada kesalahan!!!");} }

(37)

STIMATA

Pemrograman Java

37

Modul 9 : Kelas File

A. Latar Belakang

Dasar Teori kelas File yang disampaikan secara teoritis dalam sesi kuliah (tatap muka) dikelas mengakibatkan mahasiswa memahami secara abstrak sebatas jangkauan pikirannya. Diperlukan aktivitas yang dapat merangsang pemahaman berdasar pengalaman dengan cara mempraktekkan dalam program yang diharapkan mampu menguatkan pemahaman teoritis diperkuiahan.

B. Tujuan

Setelah melakukan kegiatan ini, mahasiswa diharapkan mempunyai kompetensi dalam  Membaca file

 Menyimpan file

C. Dasar Teori

Menulis Teks

Untuk membaca sebuah file, Anda dapat menggunakan class FileInputStream. Berikut ini adalah salah satu constructor dari class tersebut :

FileInputStream(String filename).

Constructor tersebut membuat sebuah koneksi terhadap file dimana nama dari file tersebut ditunjukkan sebagai sebuah argument. Exception berupa FileNotFoundException akan muncul jika file tidak ditemukan atau tidak dapat dibuka dan kemudian dibaca.

Setelah membuat sebuah input stream, Anda kemudian dapat menggunakannya untuk membaca sebuah file dengan menggunakan method read. Method read menghasilkan sebuah nilai integer, dan akan menunjukkan nilai 1 jika telah mencapai batas akhir file.

Berikut ini diberikan aplikasinya untuk membaca sebuah file

Menyimpan Fille

Untuk menuliskan sebuah file, Anda dapat menggunakan class FileOutputStream. Berikut ini salah satu constructor yang dapat Anda gunakan.

FileOutputStream(String filename)

Constructor tersebut menyediakan jalur output stream terhadap sebuah file yang akan ditulis. Sebuah Exception berupa FileNotFoundException akan muncul jika file yang dimaksud tidak dapat dibuka untuk ditulis.

Jika output stream telah dibuat, Anda dapat menggunakannya untuk menulis file yang dituju penggunakan method write. Method tersebut menggunakan penandaan sebagai berikut :

void write(int b)

Parameter b mereferensikan data yang akan dituliskan pada file sesuai dengan hasil output stream.

(38)

STIMATA

Pemrograman Java

38

/**

* @author Irul */

import java.io.*;

class TulisFile {

public static void main(String args[]) throws IOException { System.out.println("Nama File apa yang akan Anda tulis?"); String filename;

BufferedReader br = new BufferedReader(new

InputStreamReader(System.in)); filename = br.readLine();

System.out.println("Masukkan Nama File " + filename + "..." ); System.out.println("Ketik E$ to end.");

FileOutputStream fos = null;

try {

fos = new FileOutputStream(filename); }catch (FileNotFoundException ex) {

System.out.println("File tidak dapat dibuka ."); }

try {

boolean done = false; int data;

do {

data = br.read();

if ((char)data == 'E') { data = br.read(); if ((char)data == '$') { done = true;

} else {

fos.write('E'); fos.write(data); }

} else {

fos.write(data); }

} while (!done);

} catch (IOException ex) {

System.out.println("Baca file bermasalah"); }

} }

Membaca Fille

import java.io.*;

class ReadFile {

public static void main(String args[]) throws IOException { System.out.println("File Apa yang akan dibuka?");

String filename;

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

filename = br.readLine();

(39)

STIMATA

Pemrograman Java

39

try {

fis = new FileInputStream(filename); }catch (FileNotFoundException ex) { System.out.println("File not found."); }

try {

char data; int temp; do {

temp = fis.read(); data = (char) temp; if (temp != -1) {

System.out.print(data); }

} while (temp != -1); }

catch (IOException ex) {

System.out.println("Baca file bermasalah"); }

} }

FileReader dan FileWriter

import java.io.*;

class CopyFile {

void copy(String input, String output) { FileReader reader;

FileWriter writer; int data;

try {

reader = new FileReader(input); writer = new FileWriter(output);

while ((data = reader.read()) != -1) { writer.write(data);

}

reader.close(); writer.close(); }

catch (IOException ie) { ie.printStackTrace(); }

}

public static void main(String args[]) { String inputFile = args[0];

String outputFile = args[1]; CopyFile cf = new CopyFile(); cf.copy(inputFile, outputFile); }

(40)

STIMATA

Pemrograman Java

40

BufferedReader dan BufferedWriter

 Program menggunakan teknik dari perangkaian stream dimana clas FileReader dan FileWriter didekorasi dengan class BufferedReader dan BufferedWriter, berurutan.

 BufferedReader ;

 BufferedWriter ;

import java.io.*;

class CopyFile {

void copy(String input, String output) { BufferedReader reader;

BufferedWriter writer; String data;

try {

reader = new BufferedReader(new FileReader(input)); writer = new BufferedWriter(new FileWriter(output)); while ((data = reader.readLine()) != null) {

writer.write(data, 0, data.length()); }

reader.close(); writer.close(); }

catch (IOException ie) { //ie.printStackTrace();

System.out.println(“bufferd bermasalah”)

} }

public static void main(String args[]) { String inputFile = args[0];

String outputFile = args[1]; CopyFile cf = new CopyFile(); cf.copy(inputFile, outputFile); }

}

D. Latihan

(41)

STIMATA

Pemrograman Java

41

Modul 10 :Pembuatan GUI - 1

A. Latar Belakang

Dalam module sebelumnya, Anda telah mempelajari bagaimana untuk mendapatkan input user dan memanipulasi file-file menggunakan stream.

Kini Anda akan mempelajari lebih banyak tentang cara-cara pendesainan user-interface dalam program-program GUI.

B. Tujuan

Pada akhir pembahasan diharapkan, mahasiswa mempunyai kompetensi pada pembuatan aplikasi visual dengan;

 Menggunakan AWT  Menggunakan Swing

 JButton  JFrame  JLabel  JTextField

C.

Dasar Teori

Dalam Java, terdapat dua pake yang dapat digunakan untuk mengembangkan program-program GUI, yaitu: AWT dan Swing. AWT (Abstract Window Toolkit) yang berisi library dan digunakan untuk menyederhanakan implementasi user-interface. Swing adalah bentuk implementasi selanjutnnya yang menambahkan komponen-komponen dalam system GUI.

D.

Latihan

Percobaan 1

Pada percobaan satu ini diimplementasikan komponen-komponen (Jbutton, Jframe, Jlabel, dan JTexFeild ) swing pada sebuah program operasi matematika sederha.

package irul;

import java.awt.event.*; import javax.swing.*;

/**

* @author Irul */

class DemoTeks implements ActionListener{ public JLabel label1,label2,label3;

public JTextField textField1, textField2, textField3; public JButton button1, button2, button3,button4;

public DemoTeks() {

label1 = new JLabel("Nilai A"); label1.setLocation(10, 10);

(42)

STIMATA

Pemrograman Java

42

textField1 = new JTextField(20); textField1.setLocation(10,25);

textField1.setSize(textField1.getPreferredSize());

label2 = new JLabel("Nilai B"); label2.setLocation(10, 45);

label2.setSize(label2.getPreferredSize());

textField2 = new JTextField(20); textField2.setLocation(10,60);

textField2.setSize(textField2.getPreferredSize());

label3 = new JLabel("Hasil Perhitungan A dan B "); label3.setLocation(10, 90);

label3.setSize(label3.getPreferredSize());

textField3 = new JTextField(20); textField3.setLocation(10,105);

textField3.setSize(textField3.getPreferredSize()); textField3.setEditable(false);

button1=new JButton("Tambah");

button1.setLocation(245,10);

button1.setSize(button1.getPreferredSize()); button1.addActionListener(this);

button1.setMnemonic('T');

button2=new JButton("Kurang"); button2.setLocation(245,40);

button2.setSize(button2.getPreferredSize()); button2.addActionListener(this);

button2.setMnemonic('u');

button3=new JButton("Kali"); button3.setLocation(245,70);

button3.setSize(button3.getPreferredSize()); button3.addActionListener(this);

button3.setMnemonic('K');

button4=new JButton("Bagi"); button4.setLocation(245,100);

button4.setSize(button4.getPreferredSize()); button4.addActionListener(this);

button4.setMnemonic('B'); }

public void createAndShowGUI(){

JFrame.setDefaultLookAndFeelDecorated(true); JFrame frame = new JFrame("Kalkulator by Irul"); frame.setLayout(null);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.getContentPane().add(label1); frame.getContentPane().add(textField1);

frame.getContentPane().add(label2); frame.getContentPane().add(textField2);

(43)

STIMATA

Pemrograman Java

43

frame.getContentPane().add(button1); frame.getContentPane().add(button2); frame.getContentPane().add(button3); frame.getContentPane().add(button4);

frame.setBounds(0, 0, 350, 200); frame.setLocationRelativeTo(null);

frame.setVisible(true); }

public void actionPerformed(ActionEvent event) { double a=0.0, b= 0.0, c=0.0;

try{

a = Double.parseDouble(textField1.getText()); b = Double.parseDouble(textField2.getText()); }catch (NumberFormatException e){

e.printStackTrace();

//System.out.println(“abjad tidak diterima”); }

JButton jbt = (JButton) event.getSource(); if(jbt == button1){

c = a + b;

}else if (jbt == button2){ c = a - b;

}else if (jbt == button3){ c = a * b;

}else {

c = a / b; }

textField3.setText(new String().valueOf(c)); }

public static void main(String[] args) {

javax.swing.SwingUtilities.invokeLater(new Runnable(){ public void run(){

DemoTeks app = new DemoTeks(); app.createAndShowGUI();

} }); } }

[image:43.595.176.439.594.744.2]

Hasil Running program DemoTeks diatas adalah seperti ditunjukkan pada gambar 9.1 berikut ini.

(44)

STIMATA

Pemrograman Java

44

Modul 11 : Pembuatan GUI - 2

A. Latar Belakang

Praktikum pada modul 11 ini membahas penggunaan Jcomponent yang telah dibahas pada saat Dasar Teori dikelas. Mempraktekan hal tersebut sebagai penambahan pemahaman mahasiswa dengan skill, selain pemahan abstrak.

B. Tujuan

Pada akhir pembahasan diharapkan, mahasiswa mempunyai kompetensi menggunakan komponen-komponen Jcomponen pada pembuatan aplikasi visual;

1. JMenu 2. JMenuBar 3. JMenuItem

C.

Dasar Teori

D.

Latihan

/** *

* @author Irul */

import javax.swing.JFrame; import javax.swing.JMenuBar; import javax.swing.JMenu; import javax.swing.JMenuItem;

import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.awt.*;

import java.awt.event.*; import javax.swing.*;

public class Menu extends JFrame implements ActionListener { public JMenuBar menuBar;

public JMenu menu;

public JMenuItem menuItem;

public JMenu fileMenu; // menu for load, save, exit, etc public JMenu editMenu; // menu for load, save, exit, etc

public Menu (){

menuBar = new JMenuBar(); menuBar.setLocation(0,0);

menuBar.setSize(new Dimension (1275, 20));

cFileMenu();

menuBar.add(fileMenu);

}

public void cFileMenu() {

(45)

STIMATA

Pemrograman Java

45

fileMenu.setMnemonic('F');

String[] commands = { "Open", "Save", "Exit" }; char[] shortcuts = { 'O', 'S', 'X' };

for (int i = 0; i < commands.length; ++i) {

JMenuItem item = new JMenuItem(commands[i], shortcuts[i]); item.addActionListener(this);

fileMenu.add(item); }

}

public void actionPerformed(ActionEvent e) { String selection = e.getActionCommand(); System.out.println(selection);

if(selection.equals("Exit")) { System.exit(0);

} }

public void creatAndShowGUI(){

//JFrame.setDefaultLookAndFeelDecorated(true);

JFrame frame = new JFrame("Menu Program Sederhana "); frame.setLayout(null);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().add(menuBar);

frame.setBounds(0, 0, 500, 100); frame.setLocationRelativeTo(null); frame.setVisible(true);

}

public static void main(String arg[]) {

javax.swing.SwingUtilities.invokeLater(new Runnable(){ public void run(){

Menu app = new Menu(); app.creatAndShowGUI(); }

}); }

}

[image:45.595.90.491.57.629.2]

Hasil running dari program Menu.java diatas adalah seperti ditunjukkan pada gambar 11.1 berikut:

Gambar

Gambar 1.1, Menu Pembuka NetBeans
Gambar 1.4 project yang tercipta
gambar 4.1 flowchar statemen if
Gambar 3.2 Statement if-else
+5

Referensi

Dokumen terkait

Perangkat pembingkaian ini dengan demikian mencoba mencari metafora- metafora dan makna dari berbagai metafora tersebut pada teks yang diteliti, dalam hal ini

Menyalin teks formulir (pendaftaran, kartu anggota, pengiriman uang melalui bank / kantor pos, daftar riwayat hidup, dll) sesuai petunjuk pengisiannya.. Menulis kembali

Penelitian ini bertujuan untuk memperdalam kajian ilmu politik Luar Negeri Amerika Serikat di bawah rezim Donald Trump yang berfokus pada pola kepemimpinan Donald

Para peneliti dibidang ini menyatakan, semakin banyak siswa yang mempelajari bahasa asing dalam kelas formal, dapat disimpulkan bahwa anak-anak dewasa lebih baik

Demi pengembangan ilmu pengetahuan, dengan ini menyetujui untuk memberikan ijin kepada pihak Program Studi Sistem Informasi Fakultas Teknik Universitas Muria Kudus

Magnesium ialah logam yang berwarna putih perak dan sangat mengkilap dengan titik cair 651ºC yang dapat digunakan sebagai bahan paduan ringan, sifat dan karakteristiknya sama

Selain penyakit jantung koroner dan stroke, komplikasi peningkatan tekanan darah termasuk gagal jantung, penyakit pembuluh darah perifer, gangguan ginjal, perdarahan

Mikroenkapsulasi pigmen klorofil daun pandan dapat dilakukan untuk mendapatkan pewarna hijau dalam bentuk kering dan mengandung pigmen yang lebih banyak dibandingkan dengan