MAJALAH NGGEDABRUS

java bab 1-5

Arsip majalah NGGEDABRUS

05/08/2009 23:55

SEJARAH:
PUISI CINTA:
ILMU PENGETAHUAN :

  oggix.com : <a href=http://oggix.com/> Free Shoutbox & Complete Blog Tools</a> [Insert link title here]

TOMBO ATI

 

PROFIL DESAINER WEB

 

NAMA

 

: YASMU'I
ALAMAT:
BRENGKOK BRONDONG LAMONGAN

HOBBY

ENJOY AJA KALI
STUDY UNIROW (teknik perangkat lunak)
PEKERJAAN nganggur sambil mendesain Web..Menulis di majalah NGGEDABRUS
Lihat Profil lengkapku

 


DAFTAR ISI


BAB 1 Pengenalan Lingkungan Kerja Java ………………………… 1
Pokok Bahasan …………………………………………….....……1
Tujuan Belajar …………………………………………………...... 1
Dasar Teori …………………………………………… ....……… 1
Percobaan ………………………………………......……………. 2
Percobaan 1 : Instalasi JDK …………............................…………. 2
Percobaan 2 : Pengesetan PATH………………………………….. 2
Percobaan 3 : Pengesetan CLASSPAT………………………….. 2
Percobaan 4 : Menampilkan suatu tulisan ke layar ……………………….. 2
Percobaan 5 : Melibatkan suatu class dalam program ……………………. 2
Latihan ………………………………………………………………….. 3
Latihan 1 : Menganalisa dan membenahi kesalahan pada program ……….. 3
Latihan 2 : Menganalisa dan membenahi kesalahan pada program ……….. 3
Latihan 3 : Menganalisa dan membenahi kesalahan pada program ……….. 4
Latihan 4 : Menganalisa dan membenahi kesalahan pada program ……….. 4
Tugas ……………......…………………………………………………. 5
Tugas 1 : Menghitung luas dan keliling lingkaran ………………………… 5
Tugas 2 : Mengkonversi suatu nilai dari Celcius ke Fahrenheit atau
sebaliknya ……………………………………………..........…………. 5
Lampiran ………………………………………......………………….. 6
BAB 2 Dasar Pemrograman Java ……………………………………… 7
Pokok Bahasan ....…………………………………………………….. 7
Tujuan Belajar …………………………………………………………... 7
Dasar Teori ……………………………………………………………… 7
Percobaan ……………………………………………………………. 9
Percobaan 1 : Memberikan nilai ke suatu tipe ….…………………………. 9
Percobaan 2 : Mencetak nilai default dari tipe dasar ………..……….. 10
Percobaan 3 : Mengamati hasil perubahan nilai dari suatu operasi
matematis ………………………………………………..........…... 10
Percobaan 4 : Mengamati hasil perubahan nilai dari suatu operasi
matematis …………………………………………………............. 10
Percobaan 5 : Menampilkan bilangan oktal ke format desimal ………..….. 11
Percobaan 6 : Menampilkan bilangan heksadesimal ke format desimal ….. 11
Percobaan 7 : Mengamati perubahan nilai pada suatu tipe ……………….. 11
Percobaan 8 : Memahami pemakaian Unicode ……………………... 12
Latihan ……………………………………………………………….. 12
Latihan 1 : Membuat formulasi proses casting dari tipe-tipe primitif ….…. 12
Latihan 2 : Membuat formulasi proses promotion dari tipe-tipe primitif …. 12
Tugas …………………………………………………………………... 13
Tugas 1 : Menganalisa batasan maksimum dari suatu tipe ……………..… 13
Tugas 2 : Mencari panjang menit dari durasi waktu ……...………………. 13

3 Operator ………………………….…………………………… 14
Pokok Bahasan …………………………………………………..…….. 14
Tujuan Belajar ……………………………………………………... 14
Dasar Teori …………………………………………………………….. 15
Percobaan …………………………………………………………... 18
Percobaan 1 : Melakukan increment dan decrement nilai ...…………. 18
Percobaan 2 : Melakukan operasi bit …………………..………..………… 19
Percobaan 3 : Melakukan operasi komplemen ………………………..…... 19
Percobaan 4 : Melakukan operasi shift ………………………….………... 19
Percobaan 5 : Melakukan logical operator ……………………..……..….. 19
Percobaan 6 : Menggunakan operator boolean and …………….…….….. 20
Percobaan 7 : Menggunakan operator boolean and short-circuit ….….….. 20
Percobaan 8 : Menggunakan boolean or ……….………………………... 20
Percobaan 9 : Menggunakan boolean or short-circuit ….………………... 20
Percobaan 10 : Menggunakan operator kondisi ……..…………………... 21
Latihan ………………………………………………………………………….. 21
Latihan 1 : Menampilkan representasi biner dari bilangan desimal bertipe
integer ……………………………………………………..…. 21
Latihan 2 : Menampilkan representasi biner dari bilangan desimal bertipe
byte ………………………………………………………..…. 21
Tugas …………………………………………………………………………... 22
Tugas 1 : Mencari representasi biner dari suatu bilangan ….…………..… 22
Tugas 2 : Menganalisa pergeseran bit dari operasi shift ….………………. 22
BAB 4 Percabangan …..…………………………….…………………………… 23
Pokok Bahasan …………………………………………………………..…….. 23
Tujuan Belajar ………………………………………………………………... 23
Dasar Teori …………………………………………………………………….. 23
Percobaan ……………………………………………………………………... 25
Percobaan 1 : Percabangan menggunakan if, if-else dan else-if …………. 25
Percobaan 2 : Percabangan menggunakan switch ….....………..………… 25
Percobaan 3 : Percabangan menggunakan switch dengan break ……..…... 26
Latihan ……………………………………………………………..………….. 27
Pengecekan kelompok karakter …………..………………….………..…. 27
Tugas …………………………………………………………………………... 27
Tugas 1 : Menghitung nilai determinan dan mencari akar persamaan
kuadrat …………………………………………...…………..… 27
Tugas 2 : Menentukan tahun kabisat ……………………..………………. 27
BAB 5 Perulangan …..…………………………….………..…………………… 29
Pokok Bahasan …………………………………………………………..…….. 29
Tujuan Belajar ………………………………………………………………... 29
Dasar Teori …………………………………………………………………….. 29
Percobaan ……………………………………………………………………... 30
Percobaan 1 : Perulangan menggunakan for ………………………..……. 30
Percobaan 2 : Perulangan menggunakan while ….....………..…………… 31
Percobaan 3 : Perulangan dengan break ………..………………………... 31
Percobaan 4 : Perulangan dengan continue ……..………………………... 31
Percobaan 5 : Pemakaian label pada kondisi break ………………………... 32
Percobaan 6 : Pemakaian label pada kondisi continue ….………………... 32
Latihan ……………………………………………………………..………….. 32
Menampilkan bilangan faktorial ………………………..…….………..…. 32
Tugas …………………………………………………………………………... 33
Tugas 1 : Deret Fibonacci …………...……………………...…………..… 33
Tugas 2 : Menampilkan deret bilangan genap ……..……..………………. 33


Bab 1
Pengenalan Lingkungan Kerja
Java

POKOK BAHASAN

• Instalasi Java Development Kit
• Pengesetan PATH dan CLASSPATH • Latihan program sederhana
• Cara kompilasi dan menjalankan program • Troubleshotting

TUJUAN BELAJAR
Setelah melakukan praktikum dalam bab ini, mahasiswa diharapkan mampu:
• Mengenal dan mempersiapkan lingkungan kerja Java
• Membuat program sederhana dengan Java
• Mengkompilasi dan menjalankan program Java
• Menganalisa beberapa problem yang terjadi saat pemrograman dan
memberikan solusi

Dasar Teori

Untuk bisa bekerja dengan Java, maka kita perlu melakukan instalasi Java
Development Kit (JDK) atau Java 2 Software Development Kit (J2SDK). Setelah
proses instalasi selesai, selanjutnya adalah melakukan penyetingan PATH dan
CLASSPATH di dalam sistem. Penyetingan PATH sangat berguna untuk
memberitahu sistem dimana kita meletakkan file-file utama Java (diantaranya java,

1


BAB 1 - PENGENALAN LINGKUNGAN KERJA JAVA 2

javac, jdb, dan lain-lain). Sedangkan penyetingan CLASSPATH sangat berguna
untuk memberitahu sistem dimana kita meletakkan file-file class yang akan kita
libatkan dalam program kita. Penyetingan CLASSPATH ini biasa melibatkan dua
item, yaitu tanda (titik) yang menandakan direktori kerja dan tools.jar yang
berisikan kumpulan file-file library standar yang disediakan oleh Java.

Percobaan


Percobaan 1 : Instalasi JDK
Jalankan file instalasi JDK dan ikuti proses instalasi tahap demi tahap. Pilihlah direktori penginstallan secara default (biasanya ini akan membuat direktori baru atau c:\jdkxxx atau c:\j2sdkxxx dimana xxx adalah versi JDK yang di-install.

Percobaan 2 : Pengesetan PATH

set PATH=%PATH%;%JAVA_HOME%\bin

Percobaan 3 : Pengesetan CLASSPATH

set CLASSPATH=.;%JAVA_HOME%\lib\tools.jar

Percobaan 4 : Menampilkan suatu tulisan ke layar

Hallo.java
public class Hallo {
public static void main(String args[]) {
System.out.println("Hallo...");
}
}

Percobaan 5 : Melibatkan suatu class dalam program

TestGreeting.java
public class TestGreeting {
public static void main (String[] args) {
Greeting hello = new Greeting();
hello.greet();
}
}

Greeting.java
public class Greeting {
public void greet() {
System.out.println("hi");
}
}


BAB 1 - PENGENALAN LINGKUNGAN KERJA JAVA 3



Latihan


Latihan 1 : Menganalisa dan membenahi kesalahan pada program


Tulislah program berikut ini dan simpanlah dengan nama tertentu.Test.java

Greeting.java

public class Testing {
public static void main(String[] args) {
System.out.println("What's wrong with this program?");
}
}

Lakukan kompilasi pada file tersebut dan amati hasilnya. Kenapa terjadi kegagalan pada saat kompilasi?. Benahilah kesalahan diatas sehingga program tersebut dapat berjalan dengan baik.

Latihan 2 : Menganalisa dan membenahi kesalahan pada program


Tulislah program dibawah ini dan simpanlah dengan nama tertentu. Lakukan


BAB 1 - PENGENALAN LINGKUNGAN KERJA JAVA 4

kompilasi pada file tersebut dan amati hasilnya. Kenapa terjadi kegagalan pada saat kompilasi?. Benahilah kesalahan diatas sehingga program tersebut dapat berjalan dengan baik.

public class Test {
public static void main(String[] args) {
System.out.println("What's wrong with this program?");
}
}
public class TestAnother {
public static void main(String[] args) {
System.out.println("What's wrong with this program?");
}
}


Latihan 3 : Menganalisa dan membenahi kesalahan pada program

Tulislah program berikut ini dan simpanlah.

public class Test {
public static void main(String args) {
System.out.println("What's wrong with this program?");
}
}

Lakukan kompilasi pada program tersebut dan jalankan. Kenapa terjadi kesalahan pada saat menjalankan program tersebut. Benahilah kesalahan diatas sehingga program tersebut dapat berjalan dengan baik.


Latihan 4 : Menganalisa dan membenahi kesalahan pada program

Tulislah program berikut ini dan simpanlah.

public class Test {
public void main(String args[]) {
System.out.println("What's wrong with this program?");
}
}

BAB 1 - PENGENALAN LINGKUNGAN KERJA JAVA 5


Lakukan kompilasi pada program tersebut dan jalankan. Kenapa terjadi kesalahan pada saat menjalankan program tersebut. Benahilah kesalahan diatas sehingga program tersebut dapat berjalan dengan baik.

Tugas


Tugas 1 : Menghitung luas dan keliling lingkaran


Buatlah program untuk menghitung luas dan keliling lingkaran.
Rumus :

Luas lingkaran = PI x jari-jari2
Keliling lingkaran = 2 x PI x jari-jari

tugas 2 : Mengkonversi suatu nilai dari Celcius ke Fahrenheit atau sebaliknya

Buatlah suatu program untuk meng

Rumus :
Fahrenheit = (Celcius x 9 /3)+ 32

konversi suatu nilai dari Celcius ke Fahrenheit atau sebaliknya.

PENGENALAN LINGKUNGAN KERJA JAVA 6

Lampiran


Cara memasukkan input melalui JoptionPane.

import javax.swing.JOptionPane; public class InputPane {
public static void main(String args[]) {
int nilai;
String str=JOptionPane.showInputDialog("Masukkan nilai :"); nilai=Integer.parseInt(str);
System.out.println(nilai); System.exit(0);
}
}


Bab 2

Dasar Pemrograman Java

 

POKOK BAHASAN

• Identifier
• Kata kunci
• Tipe dasar
• Nilai default
• Casting dan promotion


TUJUAN BELAJAR

Dengan praktikum ini mahasiswa diharapkan dapat:
• Mengetahui aturan penamaan identifier
• Mengenal kata-kata kunci yang ada di Java
• Mengetahui tipe-tipe dasar yang ada di Java
• Mengetahui pemberian nilai default untuk masing-masing tipe dasar • Memahami bagaimana melakukan casting dan promotion


Dasar Teori
Identifier adalah nama yang diberikan untuk variabel, class atau method.


Penamaan identifier harus diawali dengan karakter unicode, tanda $ (dollar) atau tanda _ (underscore). Penamaan identifier ini bersifat case-sensitive dan tidak dibatasi panjang maksimum.
Java mempunyai 48 kata kunci, seperti if, int, void, dan lain-lain. Kata-kata kunci tersebut tidak bisa dipakai sebagai identifier. Selain kata kunci, Java juga mempunyai 3 kata literal, yaitu true, false dan true, yang juga tidak bisa dipakai untuk penamaan identifier.
Java mempunyai 8 tipe dasar, yaitu boolean, char, byte, short, int, long, float, dan double. Spesifikasi panjang bit dan range untuk masing-masing tipe adalah sebagai berikut:

Tipe
Panjang bit
Range
boolean
16
-
char
16
0 - 2^16-1
byte
8
-2^7 - 2^7-1
short
16
-2^15 - 2^15-1
int
32
-2^31 - 2^31-1
long
64
-2^63 - 2^63-1
float
32
-
double
64
-

Nilai default untuk masing-masing tipe adalah sebagai berikut:

Tipe
Nilai default
boolean
false
char
'\u0000'
byte
0
short
0

 

int
0
long
0L
float
0.0F
double
0.0


Casting diperlukan untuk mengkonversi dari suatu tipe ke tipe data yang lebih kecil panjang bitnya. Sedangkan promotion terjadi pada saat mengkonversi dari suatu tipe data ke tipe data yang lebih panjang bitnya.
Contoh : int p = (int) 10L;
long i = 10;

Percobaan

 

Percobaan 1 : Memberikan nilai ke suatu tipe

public class Assign {
public static void main(String args[]) {
boolean b=true;
System.out.println("Value b = " + b);
char c='C';
System.out.println("Value c = " + c);
byte bt=10;
System.out.println("Value bt = " + bt);
short s=20;
System.out.println("Value s = " + s);
int i=30;
System.out.println("Value i = " + i);
long l=40L;
System.out.println("Value l = " + l);
float f=3.14F;
System.out.println("Value f = " + f);
double d=3.14;
System.out.println("Value d = " + d);
}
}


Percobaan 2 : Mencetak nilai default dari tipe dasar

public class DefaultValue {
static boolean b;
static char c;
static byte bt;
static short s;
static int i;
static long l;
static float f;
static double d;
public static void main(String args[]) {
System.out.println("Default value b = " + b);
System.out.println("Default value c = " + c);
System.out.println("Default value bt = " + bt);
System.out.println("Default value s = " + s);
System.out.println("Default value i = " + i);
System.out.println("Default value l = " + l);
System.out.println("Default value f = " + f);
System.out.println("Default value d = " + d);
}
}

 

Percobaan 3 : Mengamati hasil perubahan nilai dari suatu operasi matematis

public class Divide {
public static void main(String[] arguments) {
float number1 = 15;
float number2 = 6;
float result = number1 / number2;
float remainder = number1 % number2;
System.out.println(number1 + " divided by " + number2);
System.out.println("\nResult\tRemainder");
System.out.println(result + "\t" + remainder);
}
}

Percobaan 4 : Mengamati hasil perubahan nilai dari suatu operasi matematis

class Invest {
public static void main(String[] arguments) {
float total = 14000;
System.out.println("Original investment: $" + total);

// Inceases by 40 percent the first year total = total + (total * .4F);
System.out.println("After one year: $" + total);

// Loses $1,500 the second year total = total - 1500F;
System.out.println("After two years: $" + total);

// Increases by 12 percent the third year total = total + (total * .12F);
System.out.println("After three years: $" + total);
}
}

 

Percobaan 5 : Menampilkan bilangan oktal ke format desimal

public class Octal {
public static void main(String args[]) {
int six=06;
int seven=07;
int eight=010;
int nine=011;
System.out.println("Octal six = " + six);
System.out.println("Octal seven = " + seven);
System.out.println("Octal eight = " + eight);
System.out.println("Octal nine = " + nine);
}
}


Percobaan 6 : Menampilkan bilangan heksadesimal ke format desimal

public class Hexadecimal {
public static void main(String args[]) {
int x=0x0001;
int y=0x7fffffff;
int z=0xDeadCafe;
System.out.println("x = " + x);
System.out.println("y = " + y);
System.out.println("z = " + z);
}
}

 

Percobaan 7 : Mengamati perubahan nilai pada suatu tipe

public class Plus {
public static void main(String args[]) {
int x;
int y;
x=2147483647; //(2^31)-1
System.out.println("x = " + x);

y=x+1;
System.out.println("y = " + y);
}
}

 

Percobaan 8 : Memahami pemakaian Unicode

public class CobaUnicode {
public static void main(String args[]) {
ch\u0061r a='a';
char \u0062 = 'b';
char c= '\u0063';
String kata="\u0061\u0062\u0063";

System.out.println("a: " + a);
System.out.println("a: " + b);
System.out.println("a: " + c);
System.out.println("kata: " + kata);
}
}

Latihan


Latihan 1 : Membuat formulasi proses casting dari tipe-tipe primitif
Lakukan percobaan casting antar tipe-tipe primitif. Lalu amati dan catatlah konversi dari suatu tipe ke tipe lainnya yang memerlukan suatu casting. Dari hasil analisa anda, buatlah suatu skema casting diantara tipe-tipe primitif.

Latihan 2 : Membuat formulasi proses promotion dari tipe-tipe primitif

Lakukan percobaan promotion antar tipe-tipe primitif. Lalu amati dan catatlah
konversi dari suatu tipe ke tipe lainnya yang menyebabkan terjadinya suatu
promotion. Dari hasil analisa anda, buatlah suatu skema promotion diantara tipe-tipe
primitif.

Tugas

Tugas 1 : Menganalisa batasan maksimum dari suatu tipe

Amatilah dan tulislah program berikut ini:

public class BigInteger {
public static void main(String args[]) {
long p=2147483648;
}
}


Lakukan kompilasi pada file tersebut dan amati pesan kesalahannya. Lakukan analisa mengapa bisa terjadi kesalahan padahal batasan nilai maksimum dari suatu bilangan bertipe long adalah 263-1 (9223372036854775807)?. Kemudian berikanlah solusi yang tepat untuk mengatasi persoalan diatas.

Tugas 2 : Mencari panjang menit dari durasi waktu

Input: jam awal, menit awal, jam akhir, menit akhir
Output: durasi waktu (dalam menit) antara jam awal menit awal dengan jam akhir menit akhir.


Bab 3

Operator

POKOK BAHASAN

• Bentuk operator
o Unary operator
o Binary operator
• Jenis operator
o arithmatic operator (operator aritmatika) o increment - decrement operator
o bitwise operator
o boolean operator (operator boolean)
o logical operator (operator logika)
o shift operator (operator geser)
o assignment operator (operator penugasan)
o combination operator (operator kombinasi)
o conditional operator (operator kondisi)

TUJUAN BELAJAR
Dengan praktikum ini mahasiswa diharapkan dapat:
• Mengenal bentuk-bentuk operator
• Memahami berbagai macam jenis operator yang ada di Java

BAB 3 - OPERATOR

 

Dasar Teori
Operator dapat diklasifikasikan menjadi 2 bentuk, yaitu unary operator dan
binary operator. Unary operator adalah operator yang hanya melibatkan 1
operan. Sedangkan binary operator adalah operator yang melibatkan 2
operan.
Java mempunyai berbagai macam jenis operator yang dapat digolongkan menjadi operator aritmatika, increment-decrement, bitwise, boolean, logik, shift (geser), penugasan, kombinasi dan kondisi.
Arithmatic operator (operator aritmatika) adalah operator yang berfungsi
untuk operasi aritmatika. Yang termasuk dalam arithmatic operator adalah sebagai berikut :

Keterangan

Arithmaticoperator
Keterangan
+
OPerasi penambahan
-
OPerasi pengurangan
*
OPerasi perkalian
/
OPerasi pembagian
%
OPerasi modulus

Increment - decrement operator adalah operator yang berguna untuk
menaikkan 1 nilai (increment) dan menurunkan 1 nilai (decrement). Yang
termasuk increment-decrement operator ini sebagai berikut :

Increment-Decrement operator
keterangan
++
increment
--
decrement

Berdasarkan urutan eksekusi penaikkan dan penurunan nilainya,
increment-decrement operator ini dapat diklasifikasikan menjadi 2 macam, yaitu:

pre-increment/decrement dan post-increment/decrement.

Bitwise operator adalah operator yang dipakai untuk operasi bit pada nilai operan. Yang termasuk bitwise operator ini adalah sebagai berikut :

Bitwise operator
keterangan
~
Operasi complement
&
Operasi AND
|
Operasi OR
^
Operasi XOR

Boolean operator (operator boolean) adalah operator yang mengharuskan
operannya bertipe boolean (true atau false). Yang termasuk boolean operator
adalah sebagai berikut :

Logical Keterangan

Logical operator
Keterangan
!
Operasi negasi (NOT)

&

Operasi AND
|
Operasi OR
^
Operasi XOR
&&
Operasi AND (short circuit)
||
Operasi OR (short circuit)

Operator !, &, | dan ^ mempunyai implementasi yang sama sebagaimana ketika ia menjadi bitwise operator. Hanya saja di logical operator, operan yang dilibatkan disini harus bertipe boolean, yang hanya mempunyai nilai true atau false.

Logical operator (operator logika) adalah operator yang sering dipakai untuk
operasi perbandingan dan selalu menghasilkan suatu nilai bertipe boolean
(true atau false). Yang termasuk logical operator adalah sebagai berikut:

Logical operator
keterangan
==
Operasi perbandingan sama dengan
!=
Operasi perbandingan tidak sama dengan
>
Operasi perbandingan lebih besar
>=
Operasi perbandingan lebih besar sama dengan
<
Operasi perbandingan lebih kecil
<=
Operasi perbandingan lebih kecil sama dengan

Shift operator (operator geser) adalah operator yang berfungsi untuk
menggeser susunan bit pada suatu nilai. Yang termasuk dalam shift operator
ini adalah sebagai berikut:

Shift operator
Ketersngsn
>>
right shift
>>>
unsigned right shift
<<
left shift

Combination operator (operator kombinasi) adalah operator yang terdiri dari gabungan 2 operator. Biasanya combination operator ini dipakai untuk mempersingkat waktu penulisan program. Yang termasuk operator combination ini adalah:

Combination Operator
Keterangan
+=
Gabungan dari operator = dan +
-=
Gabungan dari operator = dan -
*=
Gabungan dari operator = dan *
/=
Gabungan dari operator = dan /
%=
Gabungan dari operator = dan %
>>=
Gabungan dari operator = dan >>
>>>=
Gabungan dari operator = dan >>>
<<=
Gabungan dari operator = dan <<
&=
Gabungan dari operator = dan &
|=
Gabungan dari operator = dan |
^=
Gabungan dari operator = dan ^


Conditional operator (operator konditional) adalah operator yang dipakai untuk operasi kondisi (persyaratan), sama sebagaimana if-then-else dan hanya berlaku untuk pernyataan tunggal. Operator ini mengembalikan suatu
nilai yang benar sesuai dengan kondisi yang diberikan. Conditional operator (operator konditional) ini hanya ada 1 macam, yaitu ? disertai dengan tanda : (titik dua). Jika kondisi persyaratan yang terletak di sebelah kiri tanda ?
bernilai benar, maka pernyataan yang berada di sebelah kiri tanda : yang akan
diambil. Demikian juga sebaliknya, jika kondisi persyaratan bernilai salah,
maka pernyataan yang berada di sebelah kanan tanda : yang akan diambil.

Percobaan

Percobaan 1 : Melakukan increment dan decrement nilai

class IncDec {
public static void main (String args[]) {
int x = 8, y = 13;
System.out.println("x = " + x);
System.out.println("y = " + y);
System.out.println("x = " + ++x);
System.out.println("y = " + y++);

System.out.println("x = " + x--);
System.out.println("y = " + --y);
}
}

 

Percobaan 2 : Melakukan operasi bit

class Bitwise {
public static void main (String args[]) {
int x = 5, y = 6;
System.out.println("x = " + x);
System.out.println("y = " + y);
System.out.println("x & y = " + (x & y));
System.out.println("x | y = " + (x | y));
System.out.println("x ^ y = " + (x ^ y));
}
}

 

Percobaan 3 : Melakukan operasi komplemen

class BitwiseComplement {
public static void main (String args[]) {
int x = 8;
System.out.println("x = " + x); int y = ~x;
System.out.println("y = " + y);
}
}

 

Percobaan 4 : Melakukan operasi shift

class Shift {
public static void main (String args[]) {
int x = 7;
System.out.println("x = " + x);
System.out.println("x >> 2 = " + (x >> 2));
System.out.println("x << 1 = " + (x << 1));
System.out.println("x >>> 1 = " + (x >>> 1));
}
}

 

Percobaan 5 : Menggunakan logical operator

class LogicalOperator {
public static void main (String args[]) {
int x = 7, y = 11, z = 11;
System.out.println("x = " + x);

System.out.println("y = " + y);
System.out.println("z = " + z);
System.out.println("x < y = " + (x < y));
System.out.println("x > z = " + (x > z));
System.out.println("y <= z = " + (y <= z));
System.out.println("x >= y = " + (x >= y));
System.out.println("y == z = " + (y == z));
System.out.println("x != y = " + (x != z));
}
}

 

Percobaan 6 : Menggunakan operator boolean and

public class BooleanAnd {
public static void main(String args[]) {
int a=5, b=7;
if ((a<2) & (b++<10)) b+=2;
System.out.println(b);
}
}

Percobaan 7 : Menggunakan operator boolean and short-circuit

public class ShortCircuitBooleanAnd {
public static void main(String args[]) {
int a=5, b=7;
if ((a<2) && (b++<10)) b+=2;
System.out.println(b);
}
}

 

Percobaan 8 : Menggunakan boolean or

public class BooleanOr {
public static void main(String args[]) {
int a=5, b=7;
if ((a>2) | (b++<10)) b+=2;
System.out.println(b);
}
}

Percobaan 9 : Menggunakan boolean or short-circuit

public class ShortCircuitBooleanOr {
public static void main(String args[]) {
int a=5, b=7;
if ((a>2) || (b++<10)) b+=2;

System.out.println(b);
}
}

 

Percobaan 10 : Menggunakan operator kondisi

class Conditional {
public static void main (String args[]) {
int x = 0;
boolean isEven = false;
System.out.println("x = " + x); x = isEven ? 4 : 7;
System.out.println("x = " + x);
}
}

Latihan

Latihan 1 : Menampilkan representasi biner dari bilangan desimal bertipe int
Buatlah suatu program untuk menampilkan susunan bit dari suatu bilangan desimal. Nilai bilangan input yang dimasukkan adalah bertipe int.

Contoh tampilan:

Masukkan nilai desimal: 13
Susunan bit dari 13 adalah 00000000000000000000000000001101

Masukkan nilai desimal: 612
Susunan bit dari 13 adalah 00000000000000000000001001100100

Masukkan nilai desimal: -1
Susunan bit dari 13 adalah 11111111111111111111111111111111

Masukkan nilai desimal: -13
Susunan bit dari 13 adalah 11111111111111111111111111110011

Latihan 2 : Menampilkan representasi biner dari bilangan desimal bertipe byte

Buatlah suatu program seperti diatas untuk menampilkan susunan bit dari suatu
bilangan desimal, akan tetapi nilai bilangan input yang dimasukkan adalah bertipe
byte.

Tugas


Tugas 1 : Mencari representasi biner dari suatu bilangan


Tuliskan representasi bit dari nilai -19? Jelaskan.


Tugas 2 : Menganalisa pergeseran bit dari operasi shift


Jelaskan apa yang terjadi pada potongan program berikut ini:


byte a=-1;
a=(byte) (a >>> 2);

BAB 4 - PERCABANGAN


POKOK BAHASAN
• Percabangan
o if
o if-else
o else-if
o switch

TUJUAN BELAJAR
Dengan praktikum ini mahasiswa diharapkan dapat:
• Memahami logika percabangan
• Memakai percabangan yang tepat

Dasar Teori

Percabangan di dalam Java terdapat 2 macam, yaitu dengan memakai if dan switch.
Percabangan if dipakai jika kita menginginkan suatu pernyataan itu dilakukan
dengan syarat tertentu yang bernilai benar. Sintaks dari if adalah sebagai
berikut:

if (ekspresi_boolean) {
Pernyataan1;
}

Pernyataan1 akan dilakukan kalau ekspresi_boolean bernilai true.

Percabangan if-else dipakai untuk mengeksekusi salah satu dari 2 pernyataan dari syarat tertentu yang pada pada if yang dapat bernilai benar atau salah. Sintaks dari if-else adalah sebagai berikut:

if (ekspresi_boolean) {
Pernyataan1;
} else {
Pernyataan2;
}



Pernyataan1 akan dilakukan kalau ekspresi_boolean bernilai true. Kalau ekspresi_boolean bernilai false, maka Pernyataan2 akan dikerjakan.
Percabangan else-if dipakai untuk memberikan kondisi tertentu pada bagian else. Sintaks dari else-if adalah sebagai berikut:


if (ekspresi_boolean1) {
Pernyataan1;
} else if (ekspresi_boolean2) {
Pernyataan2;
}


Ketika ekspresi_boolean bernilai false, maka alur program akan menuju ke bagian else. Selanjutnya Pernyataan2 diatas akan dikerjakan kalau ekspresi_boolean2 bernilai true.
Percabangan switch dipakai pada saat kita ingin memberikan kondisi denga
beberapa syarat yang identik yang masing-masing mempunyai pernyataan
yang berbeda-beda. Pada Java, nilai yang dilewatkan pada switch harus
bertipe int, short, byte atau char. Sintaks dari switch adalah sebagai berikut:

switch (ekspresi) {
case nilai1: Pernyataan1;
break;
case nilai2: Pernyataan2;
break;
default: Pernyataan3;
}


Ketika ekspresi bernilai nilai1, maka alur program akan mengeksekusi Pernyataan1. Selanjutnya break menyebabkan alur program keluar dari daerah switch. Kalau ekspresi bernilai nilai2, maka alur program akan mengeksekusi Pernyataan2. Apabila ekspresi mempunya nilai yang tidak sama dengan nilai1 dan nilai2, maka alur program akan menuju ke bagian default dan kemudian mengeksekusi Pernyataan3.

Percobaan

Percobaan 1 : Percabangan menggunakan if, if-else dan else-if

class IfElseName {
public static void main (String args[]) {
char firstInitial = 'a';
System.out.println("Masukkan huruf awal nama anda: ");
try {
firstInitial = (char)System.in.read(); } catch (Exception e) {
System.out.println("Error: " + e.toString());
}
if (firstInitial == 'a')
System.out.println("Nama anda pasti Asep!"); else if (firstInitial == 'b')
System.out.println("Nama anda pasti Brodin!"); else if (firstInitial == 'c')
System.out.println("Nama anda pasti Cecep!");
else
System.out.println("Nama anda tidak terkenal!");
}
}

 

Percobaan 2 : Percabangan menggunakan switch

class SwitchName {
public static void main (String args[]) {
char firstInitial = 'a';
System.out.println("Masukkan huruf awal nama anda:");
try {
firstInitial = (char)System.in.read(); } catch (Exception e) {
System.out.println("Error: " + e.toString());
}
switch (firstInitial) {
case 'a':
System.out.println("Nama anda pasti Asep!"); case 'b':
System.out.println("Nama anda pasti Brodin!"); case 'c':
System.out.println("Nama anda pasti Cecep!"); default:
System.out.println("Nama anda tidak terkenal!");
}
}
}

 

Percobaan 3 : Percabangan menggunakan switch dengan break

class SwitchNameBreak {
public static void main (String args[]) {
char firstInitial = 'a';
System.out.println("Masukkan huruf awal nama anda:");
try {
firstInitial = (char)System.in.read(); } catch (Exception e) {
System.out.println("Error: " + e.toString());
}

switch (firstInitial) {
case 'a':
System.out.println("Nama anda pasti Asep!"); break;
case 'b':
System.out.println("Nama anda pasti Brodin!"); break;
case 'c':
System.out.println("Nama anda pasti Cecep!"); break;
default:
System.out.println("Nama anda tidak terkenal!");
}
}
}

 

Latihan

Pengecekan kelompok karakter
Buatlah program untuk menentukan kelompok suatu karakter yang dimasukkan melalui keyboard. Kelompok karakter tersebut adalah huruf kecil, huruf besar, angka, dan karakter khusus (tanda baca, operator dan sebagainya).

Tugas

Tugas 1 : Menghitung nilai determinan dan mencari akar persamaan kuadrat
Buatlah program untuk menghitung determinan dan mencari akar-akar dari persamaan kuadrat : ax2 + bx + c = 0 , dengan ketentuan sebagai berikut :

D = b2 - 4ac
• Jika D = 0 , maka terdapat 2 akar real yang kembar, yaitu : x1 = x2 = -b / 2a • Jika D > 0 , maka terdapat 2 akar real yang berlainan, yaitu :
x1 = (-b + D^0.5) / 2a
x2 = (-b - D^0.5) / 2a
• Jika D < 0 , maka terdapat 2 akar imaginer yang berlainan, yaitu :
x1 = -b / 2a + (D^0.5 / 2a) i
x2 = -b / 2a - (D^0.5 / 2a) i


Input : a, b, c (int)
Output : Nilai Determinan serta nilai akar-akar persamaan tsb (x1 dan x2).
Petunjuk : Gunakan Math.pow(x,0.5) untuk mencari akar dari x.


Tugas 2 : Menentukan tahun kabisat

Buatlah program untuk menentukan suatu tahun kabisat atau bukan dimana tahun dibatasi mulai dari tahun 1900 sampai dengan tahun 2005.

Contoh tampilan:

Masukkan tahun (1900-2005) : 1923 1923 bukan tahun kabisat

Masukkan tahun (1900-2005) : 1898
Maaf, tahun input dibawah 1900

Masukkan tahun (1900-2005) : 1996 1996 adalah tahun kabisat

Masukkan tahun (1900-2005) : 2008 Maaf, tahun input diatas 2005

Bab 5 Perulangan

POKOK BAHASAN


• Perulangan
o for
o while
o do-while
• Kondisional untuk perulangan
o break
o continue
o break/continue dengan label

TUJUAN BELAJAR

Dengan praktikum ini mahasiswa diharapkan dapat:
• Memahami logika perulangan
• Memakai perulangan yang tepat
• Memahami pemberian kondisi untuk perulangan

Dasar Teori
Perulangan di dalam Java terdapat 3 macam, yaitu for, while dan do-while.
Perulangan for dipakai pada saat kita melakukan perulangan dengan jumlah yang sudah diketahui pasti. Sintaks dari for adalah sebagai berikut:

for (inisialisasi; kondisi; perubah) {
Pernyataan;
}


Perulangan while dipakai pada saat kita melakukan perulangan dengan jumlah yang belum diketahui pasti. Pernyataan pada while akan dikerjakan setelah pengecekan kondisi pada while bernilai true. Sintaks dari while adalah sebagai berikut:

while (kondisi) {
Pernyataan;
}


Perulangan do-while dipakai pada saat kita melakukan perulangan dengan jumlah yang belum diketahui pasti. Pernyataan pada do akan dikerjakan terlebih dahulu, baru setelah itu dilakukan pengecekan kondisi pada while. Sintaks dari do-while adalah sebagai berikut:

do {
Pernyataan;
} while (kondisi);


Kita dapat memberikan kondisi tertentu pada saat terjadi perulangan. Kondisi yang mungkin terjadi pada perulangan terdapat 2 macam, yaitu break dan continue. Break menyebabkan suatu kondisi untuk keluar dari perulangan. Sedangkan continue memyebabkan suatu kondisi untuk melanjutkan ke tahapan selanjutnya pada perulangan.

Percobaan

Percobaan 1 : Perulangan menggunakan for
class ForCount {
public static void main (String args[]) {
int count=1;
for (int i=0; i<9; i++) {
for (int j=0; j<i+1; j++) {
System.out.print(count);
}
count++;
System.out.println();
}
}
}

 

Percobaan 2 : Perulangan menggunakan while

class WhileCount {
public static void main (String args[]) {
int count=1;
int i=0;
while (i<9) {
int j=0;
while (j<i+1) {
System.out.print(count);
j++;
}
count++;
System.out.println();
i++;
}
}
}

 

Percobaan 3 : Perulangan dengan break

class BreakLoop {
public static void main (String args[]) {
int i = 0;
do {
System.out.println("Iterasi ke " + i);
i++;
if (i > 10) break;
}
while (true);
}
}

Percobaan 4 : Perulangan dengan continue

public class ContinueLoop {
public static void main(String args[]) {
int a, b;
for(a=0;a<2;a++)
for(b=0;b<3;b++) {
if (b==1) continue;
System.out.println("a=" + a + " ; b=" + b);
}
}
}

Percobaan 5 : Pemakaian label pada kondisi break

public class BreakLabel {
public static void main(String args[]) {
int a, b;
Mulai:
for(a=0;a<2;a++)
for(b=0;b<3;b++) {
if (b==1) break Mulai;
System.out.println("a=" + a + " ; b=" + b);
}
}
}

 

Percobaan 6 : Pemakaian label pada kondisi continue

public class ContinueLabel {
public static void main(String args[]) {
int a, b;
Mulai:
for(a=0;a<2;a++)
for(b=0;b<3;b++) {
if (b==1) continue Mulai;
System.out.println("a=" + a + " ; b=" + b);
}
}
}

 

Latihan
Menampilkan bilangan faktorial
Bilangan bulat faktorial n, ditulis dengan n! adalah dihasilkan dari mengalikan dari 1 sampai dengan n. Contohnya 5! = 1 x 2 x 3 x 4 x 5 =120. Buatlah program untuk menampilkan tabel hasil faktorial dari suatu bilangan yang diinputkan (tampilan bilangan rata kanan)

Contoh tampilan :

Masukkan bilangan faktorial? 7
n n!
1 1
2 2
3 6
4 24
5 120
6 720
7 5040

Tugas

Tugas 1 : Deret Fibonacci

Buatlah program untuk menampilkan deret Fibonacci.

Contoh tampilan:

Masukkan berapa deret Fibonacci? 8
8 deret Fibonacci = 1 1 2 3 5 8 13 21

Tugas 2 : Menampilkan deret bilangan genap
Buatlah program untuk menampilkan deret bilangan genap dari 2 sampai 20 kecuali kelipatan 6.

Contoh tampilan:

2 4 8 10 14 16 20

Bagi anda yang ingin menyumbang karangan atau tulisan ,silahkan kirim email di [email protected]

 

Parodi ini juga dimuat di majalah NGGEDABRUS desa Brengkok

Hosted by www.Geocities.ws

1