0% menganggap dokumen ini bermanfaat (0 suara)
168 tayangan175 halaman

Algoritma Dasar

Java Basics membahas tentang pernyataan dan ekspresi, variabel dan tipe data, operator, input/output, format output numerik, konversi string dan bilangan, pernyataan penentu keputusan, pernyataan pengulangan dan pemindahan proses, serta array dan ArrayList dalam bahasa pemrograman Java.

Diunggah oleh

Razaq
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
168 tayangan175 halaman

Algoritma Dasar

Java Basics membahas tentang pernyataan dan ekspresi, variabel dan tipe data, operator, input/output, format output numerik, konversi string dan bilangan, pernyataan penentu keputusan, pernyataan pengulangan dan pemindahan proses, serta array dan ArrayList dalam bahasa pemrograman Java.

Diunggah oleh

Razaq
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 175

2.

Java Basics

1
Java Basics
1. Pernyataan dan Ekspresi
2. Variabel dan Tipe Data
3. Operator
4. I/O Stream Sederhana
5. Pengaturan Format Output Numerik
6. Konversi String dan Bilangan (Number)
7. Pernyataan Penentu Keputusan
8. Pernyataan Pengulangan Proses
9. Pernyataan Pemindah Proses
10. Array dan ArrayList
2
2.1 Pernyataan dan Ekspresi

3
Pernyataan
 Perintah yang menyebabkan sesuatu terjadi
dan merepresentasikan suatu aksi tunggal
dalam program Java
Contoh: int tahunProduksi;
 Setiap pernyataan ditutup oleh karakter
semicolon (;)
 Pernyataan dikelompokkan dengan tanda
pembuka ({) dan penutup (}). Kelompok ini
disebut blok atau blok pernyataan

4
Ekspresi
 Pernyataan yang dapat menghasilkan suatu
nilai. Nilai yang dihasilkan oleh pernyataan ini
yang disebut dengan nilai balik (return value)
 Nilai balik bisa berupa bilangan, boolean, atau
objek
 Method tanpa nilai balik biasanya
menggunakan keyword void
 Contoh: hasilBagi = a / b;

5
Kata Kunci
abstract private case interface
continue this enum static
for break instanceof void
new double return class
switch implements transient finally
assert protected catch long
default throw extends strictfp
package byte int volatile
synchronized else short float
boolean import try native
do public char super
if throws final while
6
2.2 Variabel dan Tipe Data

7
Variabel
 Lokasi di dalam memori komputer yang
digunakan untuk menyimpan suatu informasi
(nilai)
 Nilai variabel dapat diubah di pernyataan
manapun di dalam program
 Mendeklarasikan variabel:
tipe namaVariabel1 [, namaVariabel2]
 Contoh:
int hasilKali;
String namaSiswa, namaGuru, namaAdmin;
8
Deklarasi Variabel

9
Lingkup Variabel
Variabel dipanggil berdasarkan lingkupnya, dimulai
dari blok yang paling kecil, kemudian blok di luar itu

1. Local Variable: digunakan di dalam method atau blok


pernyataan yang lebih kecil dari itu
2. Parameter: variabel yg ada di dalam pernyataan
(argument) method
3. Instance Variable: variabel yang memiliki nilai yang
berbeda di setiap objek
4. Class Variable: variabel yang berlaku di suatu class dan
seluruh instan dari class tersebut (objek). Ciri class
variable adalah menggunakan keyword static
10
Bilangan.java BilanganBeraksi.java
public class Bilangan { public class BilanganBeraksi{
static int pencacah = 0; public static void main(String[] args){
int nilai; Bilangan b1 = new Bilangan(50);
b1.info();
public Bilangan(int nilai){
this.nilai = nilai; Bilangan b2 = new Bilangan(15);
pencacah++; b2.info();
}
Bilangan b3 = new Bilangan(30);
public void info(){ b3.info();
System.out.println("Nilai:“ + nilai); }
System.out.println("Pencacah:“ + pencacah); }
System.out.println("");
}
}
11
Hasil Eksekusi: static vs non-static
static non-static
Nilai:50 Nilai:50
Pencacah:1 Pencacah:1

Nilai:15 Nilai:15
Pencacah:2 Pencacah:1

Nilai:30 Nilai:30
Pencacah:3 Pencacah:1

12
Memberi Nilai Variabel
 Menggunakan tanda sama dengan (=)
 Kebiasaan yang baik untuk memberi nilai
awal (initial value) pada local variabel
(mencegah bug pada program)
 Secara otomatis, Java akan memberi nilai
awal pada instance variable
 Contoh:
int hasilTambah = 0;
boolean status = false;
13
Memberi Nama Variabel
 Gunakan lowercase untuk variabel yang terdiri
dari satu kata atau kata pertama
 Gunakan kapital untuk karakter pertama dari
kata kedua, ketiga, dst
 Contoh:
int hasil;
boolean statusMesinMobil;
Button openFile;

14
Konvesi Pemrograman Java

* Konvesi lengkapnya ada di:


http://www.oracle.com/technetwork/java/codeconv-138413.html

15
Modifier
 Modifier adalah keyword yang diletakkan di depan
class, interface, variable (field) atau method
 Jenis Modifier:
1. Access Modifier:
Pengaturan pengaksesan dari variable dan method
2. Static Modifier:
Membuat method dan variable menjadi milik class, bukan
object
Tidak perlu membuat object untuk penggunaan variable
(field) dan method
3. Final Modifier:
Menyatakan bahwa sesuatu (class, method, variable) sudah
final dan tidak adapat diubah
16
Access Modifier
 Private: pengaksesan suatu instance variabel dan
method hanya dapat dilakukan di dalam class ( tidak
bisa dari dari luar class)
 Tanpa Tanda: pengaksesan suatu instance variabel dan
method dapat dilakukan di dalam kelas dan kelas lain
dalam satu paket
 Protected: pengaksesan suatu instance variabel dan
method dapat dilakukan di dalam kelas, kelas lain
dalam satu paket, dan sub class
 Public: pengaksesan suatu instance variable dan
method dapat dilakukan dari luar (sembarang) kelas

17
Access Modifier
Dalam
Dalam Class Dalam Dalam
Modifier Package yang
yang Sama SubClass Package Lain
Sama

private 

tanpa
 
tanda

protected   

public    

18
Static Modifier (Method)
 Sama seperti static variabel, ketika method
ditambahkan static modifier, maka method tersebut
dikontrol oleh class, dan bukan oleh object lagi
 Pemanggilan method dapat dilakukan tanpa membuat
object
 Static method biasanya digunakan pada method yang
hanya melakukan perhitungan matematika

19
Latihan: Static Method pada Matematika
1. Buat class MatematikaBaru dan
MatematikaBaruBeraksi (gunakan refactor  copy),
yang berisi sama persis dengan class Matematika
danMatematikaBeraksi
2. Tambahkan static modifier untuk semua method, dan
panggil method dari class MatematikaBaruBeraksi
dengan tanpa membuat object

20
Tipe Data
1. Tipe Data Primitif
• Tipe data yang merupakan kata kunci di Java
(tertanam di compiler Java), sehingga pemrosesan
jauh lebih cepat
• Menggunakan huruf kecil (lowercase)
• Contoh: int, double
2. Tipe Data Reference (Class)
• Tipe data berupa class yang ada di library Java
(java.lang)
• Menggunakan huruf capital
• Contoh: String, Integer, Double
21
Tipe Data Primitif
1. byte Tipe Data Primitif:
2. short  Secara umum jenis tipe
data:
3. int
1. bilangan bulat
4. long 2. pecahan
5. float 3. karakter
4. boolean
6. double
 Tipe data hasil operasi
7. char matematika akan
mengikuti tipe data dari
8. boolean operand

22
Tipe Data Keterangan Ukuran Jangkauan
Primitif
byte Bilangan bulat 8 bit -128  127

short Bilangan bulat 16 bit -32.768  32.767

int Bilangan bulat 32 bit -2.147.483.648 


2.147.483.647
long Bilangan bulat 64 bit -9.223.372.036.854.775,808
 9.223...807

float Bilangan pecahan 32 bit -3.4E38  3.4E38


(presisi 6-7 bit)
double Bilangan pecahan 64 bit -1.7E308  1.7E308
(presisi 14-15 bit)
char Karakter (unicode) 16 bit \u0000  \uffff

boolean Logika (true/false)


23
Karakter.java

public class Karakter{


public static void main(String[] args){

char karakter1=88, karakter2='X', karakter3='Y';

System.out.println("Karakter 1: " + karakter1);


System.out.println("Karakter 2: " + karakter2);
System.out.println("Karakter 3: " + karakter3);
}
} 24
Wrapper Classes
 Wrapper class adalah class-class yang digunakan
untuk mendukung penyimpanan nilai dari suatu
variabel yang dideklarasikan dengan tipe data
primitif:
Double d = new Double(29.95);

25
Wrapper Classes

26
Auto-boxing
 Auto-boxing: konversi otomatis antara tipe data
primitif dan wrapper classes yang sesuai:
Double d = 29.95; //auto-boxing; same as
//Double d = new Double(29.95);

double x = d; //auto-unboxing; same as


//double x = d.doubleValue();

 Auto-boxing juga bekerja dalam ekspresi aritmatika:


d = d + 1;
Artinya:
• auto-unbox d ke double
• tambahkan 1
• auto-box hasilnya ke Double
• Simpan reference ke object wrapper yang baru dibuat di d
27
Constant Variable (Konstanta)
 Constant Variable digunakan apabila kita ingin
membuat nilai sebuah variable tidak berubah (tetap)
 Constant variable menggunakan keyword final di
depan tipe data
 Biasanya digabungkan dengan keyword static bila
dideklarasikan pada class
 Nama constant variable biasanya menggunakan
kapital
 Contoh:
final float PI = 3.141592;
static final boolean DEBUG = false;
28
Constant Variable (Konstanta)

29
Literal
Semua informasi (bilangan, karakter, string,
boolean ) yang merepresentasikan suatu nilai
 Literal Bilangan (bulat dan pecahan):
• int tahun = 2008; long nilai = 4L
• double myScore = 2.25; float piValue = 3.1415927F;
• double x = 12e22; double y = 19E-95;
 Literal Boolean (true dan false):
• boolean pilihan = true;
 Literal String:
• String quitMsg = “Yakin Ingin Keluar?”;
 Literal Karakter (unicode)
30
Character Escape
Escape Meaning
\n New line
\t Tab
\b Backspace
\r Carriage return
\f Formfeed
\\ Backslash
\' Single quotation mark
\" Double quotation mark
\d Octal
\xd Hexadecimal
\ud Unicode character
31
Character Escape

32
Pengarah Tipe (Type-Casting)
 Pengarah Tipe (Type-Casting)
 Contoh:
double i = 10.56;
int paksa = (int) i;
Hasil  paksa = 10
 Casting tanpa menghilangkan nilai:
Tipe Sumber Tipe Tujuan
byte short, char, int, long, float, double
short int, long, float, double
char int, long, float, double
int long, float, double
long float, double
float double
33
Pembulatan (Math.round())
 Math.round() mengkonversi bilangan pecahan
ke bilangan bulat terdekat
 Contoh:
int rounded = Math.round(balance);
// if balance is 13.75, then rounded is set to 14

34
LuasSegitiga.java
public class LuasSegitiga {
public static void main(String[] args) {
int alas= 3;
int tinggi = 7;

double luas = (double) (alas*tinggi)/2;

System.out.println("Luas Segitiga : " + luas);


}
}

35
Latihan: Hitung Luas Lingkaran
 Buat class Lingkaran yang mempunyai method
menghitung luas lingkaran
void hitungLuas(double r){ ... }
• Rumus luas lingkaran= PI* r * r
• PI adalah konstanta dengan nilai 3. 141592
• r adalah jari-jari lingkaran
 Buat class LingkaranBeraksi, yang
menampilkan hasil perhitungan luas lingkaran
dalam tiga bentuk bilangan: bilangan
pecahan, bilangan bulat (type-casting) dan
pembulatan (rounding). Beri nilai r = 11.78
36
2.3 Operator

37
Operator
 Operator adalah simbol dan karakter
khusus (matematika) yang digunakan
dalam suatu ekspresi
 Contoh:
• int x = 3;
• int y = x;
• int z = x * y;
• boolean status = true;

38
39
Jenis Operator Berdasar Operand
1. Operator Unary: operator yang
melibatkan satu operand
2. Operator Binary: operator yang
melibatkan dua operand
3. Operator Ternary: operator yang
melibatkan tiga operand

40
Jenis Operator
1. Operator Aritmatika
2. Operator Penugasan
3. Operator Penggabungan
4. Operator Increment dan Decrement
5. Operator Bit
6. Operator Pembanding
7. Operator Logika

41
Operator Aritmatika

Operator Meaning Example


+ Addition 3+4
- Subtraction 5-7
* Multiplication 5*5
/ Division 14 / 7
% Modulus 20 % 7

 Hasil operasi matematika akan mengikuti tipe data


operand
 Operand bertipe int akan menghasilkan int
42
Ekspresi Aritmatika

43
Class Math dan Methodnya
Function Returns
Math.sqrt(x) square root
Math.pow(x, y) power xy
Math.exp(x) ex
Math.log(x) natural log
sine, cosine, tangent
Math.sin(x), Math.cos(x), Math.tan(x)
(x in radians)
Math.round(x) closest integer to x
Math.min(x, y), Math.max(x, y) minimum, maximum

44
Operator Penugasan
 Operator penugasan berguna untuk
memberi nilai ke suatu variabel
 Operator penugasan menggunakan tanda
sama dengan ( = )
 Operator penugasan digabungkan dengan
operator aritmatika membentuk operator
penugasan gabungan (compound
assignment)

45
Operator Penugasan Gabungan

Expression Meaning
x += y x=x+y
x -= y x=x-y
x *= y x=x*y
x /= y x=x/y

46
Operator Penggabungan
 Operator + dapat digunakan untuk
penggabungan String dan String maupun String
dan Bilangan

 Contoh:
System.out.println(“Saya adalah” + “Mahasiswa”);
int mahasiswa = 30;
System.out.println(“Jumlah Mahasiswa” + mahasiswa);

47
Increment dan Decrement
 Increment: menambahkan 1 ke nilai variabel
(operator = ++, prefix atau postfix)
int x=5; int x=5;
y = x++; y = ++x;
(nilai saat ini : y = 5, x=6) (nilai saat ini: y = 6, x=6)

 Decrement: mengurangkan 1 ke nilai variabel


(operator = --)
int x=5; int x=5;
y = x--; y = --x;
(nilai saat ini: y = 5, x=4) (nilai saat ini: y = 4, x=4)
48
Latihan: Tampilkan Nilai x, y dan z
Penambahan.java Pengurangan.java

int x, y, z; int x, y, z;
x = 42; x = 42;
y = x++; y = x--;
//tampilkan x, y saat ini //tampilkan x, y saat ini
z = ++x; z = --x;
//tampilkan x, z saat ini //tampilkan x, z saat ini

49
Latihan: Tampilkan Nilai x, y,w dan z

Penambahan2.java Pengurangan2.java

int w, x, y, z; int w,x, y, z;


x = 5; w =5 ; x = 5; w =5 ;
y = 8 - x++; y = 8 – x--;
z = 8 - ++w; z = 8 - --w;

50
Operator Bit
& operasi AND untuk bit

| operasi OR untuk bit

^ operasi Ex OR untuk bit

~ operasi NOT untuk bit

<< geser kiri (geser 1 bit = *2)

>> geser kanan (geser 1 bit = /2)

>>> geser kanan tak bertanda


51
Latihan: Program Kali dan Bagi 2
 Buat program yang menghitung
perkalian (*) dan pembagian (/)
dengan bilangan dua (2) tanpa
operator matematika

 Catatan = x >> n = x/2n

52
Operator Pembanding (Relasional)
Operator Meaning Example
== Equal x == 3
!= Not equal x != 3
< Less than x<3
> Greater than x>3
<= Less than or equal to x <= 3

>= Greater than or equal to x >= 3

Operator pembanding menggunakan ekspresi


dengan nilai balik boolean (true or false)
53
Contoh Operator Pembanding

54
Membandingkan Bilangan Bulat
 The == denotes equality testing:
a = 5; // Assign 5 to a
if (a == 5) ... // Test whether a equals 5

 Relational operators have lower precedence than


arithmetic operators:
amount + fee <= balance

55
Latihan: Tampilkan hasilBanding1 dan 2
Pembanding.java

int age = 36;


boolean hasilBanding1 = age < 25;
boolean hasilBanding2 = age != 26;

//Tampilkan hasilBanding1 dan hasilBanding2

56
Membandingkan Bilangan Pecahan
 Untuk menghindari error roundoff, jangan
menggunakan == untuk membandingkan bilangan
pecahan
 Untuk membandingkan bilangan pecahan dengan
nilai yang dekat, gunakan: |x - y| ≤ ε
final double EPSILON = 1E-14;
if (Math.abs(x - y) <= EPSILON)
// x is approximately equal to y
 ε is a small number such as 10-14

57
Membandingkan String
 Untuk membandingkan dua string, gunakan
method equals:
if (string1.equals(string2)) //Don’t use == for strings!
if (string1 == string2) // Not useful
 == membandingkan identitas
 equals() membandingkan kesamaan content
 Untuk membandingkan secara Case insensitive:
if (string1.equalsIgnoreCase(string2))

58
Membandingkan String
 string1.compareTo(string2) < 0 mengandung arti:
string1 comes before string2 in the dictionary
 string1.compareTo(string2) > 0 mengandung arti:
string1 comes after string2
 string1.compareTo(string2) == 0 mengandung arti:
string1 equals string2
 "car" comes before "cargo"
 All uppercase letters come before
lowercase:
"Hello" comes before "car"
59
Rangkuman Operator Pembanding

60
Operator Logika

&& operasi logika AND


|| operasi logika OR
! operasi logika NOT

Operator logika menggunakan ekspresi dengan


nilai balik Boolean (true or false)

61
X Y X OR Y X AND Y !X
1 1 1 1 0
1 0 1 0 0
0 1 1 0 1
0 0 0 0 1

62
Contoh Penggunaan && dan ||

63
Contoh Penggunaan Operator Logika

64
2.4 I/O Stream Sederhana

65
Stream Standard

1. System.in: menangani pembacaan dari


keyboard (standard input)
2. System.out: mengirimkan keluaran ke
layar (standard output)
3. System.err: mengirimkan kesalahan
(standard error)

66
Membaca Input dari Keyboard
Menggunakan class Scanner (java.util.Scanner)
dengan method sebagai berikut:

1. nextInt(): untuk menerima tipe data integer


2. nextShort(): untuk menerima tipe data short
3. nextLong(): untuk menerima tipe data long
4. nextDouble(): untuk menerima tipe data double
5. nextFloat(): untuk menerima tipe data float
6. nextLine(): untuk menerima tipe data string
7. nextBoolean(): untuk menerima tipa data boolean
67
SalamKenal.java
import java.util.Scanner;

public class SalamKenal {


public static void main( String[] args ){
Scanner masukan = new Scanner(System.in);

System.out.print("Masukkan Nama Anda: ");


String nama = masukan.nextLine();

System.out.println("Halo, Salam Kenal sdr " + nama +"!");


}
}
68
Perkalian.java
public class Perkalian{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print("Masukkan bilangan pertama: ");
int bilangan1 = input.nextInt();

System.out.print("Masukkan bilangan kedua: ");


int bilangan2 = input.nextInt();

System.out.print("Hasil perkalian: " +


(bilangan1 * bilangan2));
}
} 69
Latihan
Ubah class LuasSegitiga dengan nilai alas dan tinggi
dimasukkan oleh user lewat prompt (gunakan class
Scanner)

public class LuasSegitiga {


public static void main(String[] args) {
double alas= 17; double tinggi = 11;

double luas = (alas*tinggi)/2;


System.out.println("Luas Segitiga : " + luas);
}
}

70
Tampilan Program
Program Penghitung Luas Segitiga

Masukkan Alas = 13
Masukkan Tinggi = 24
Jadi, Luas Segitiga adalah =

71
Argument untuk Menerima Input
public class LuasSegitigaArgs {
public static void main(String[] args) {

double alas= Double.parseDouble(args[0]);


double tinggi = Double.parseDouble(args[1]);

double luas = (alas*tinggi)/2;

System.out.println("Luas Segitiga : " + luas);

}
}

72
Tampilan Program
%java LuasSegitigaArgs 2 18
Luas Segitiga: 18

73
Argument untuk Menerima Input (Rev)
public class LuasSegitigaArgs {
public static void main(String[] args) {

if (args.length == 2){
double alas = Double.parseDouble(args[0]);
double tinggi = Double.parseDouble(args[1]);
double luas = (alas*tinggi)/2;
System.out.println("Luas Segitiga : " + luas);
}else{
System.out.println("Penggunaan Argument Salah!");
System.out.println("Contoh: java LuasSegitigaArgs 30 20");
}
}
}
74
Tampilan Program
%java LuasSegitigaArgs 2 18 67
Penggunaan Argument Salah!
Contoh: java LuasSegitigaArgs 30 20

75
2.5 Konversi String dan Bilangan
(Number)

76
Konversi String ke Bilangan
String myString;

double myDbl = Double.parseDouble(myString);


Integer.parseInt(myString);
Float.parseFloat(myString);

77
Argument untuk Menerima Input
public class LuasSegitigaArgs {
public static void main(String[] args) {

double alas= Double.parseDouble(args[0]);


double tinggi = Double.parseDouble(args[1]);

double luas = (alas*tinggi)/2;

System.out.println("Luas Segitiga : " + luas);

}
}

78
Konversi Bilangan ke String
double myDouble;
int myInteger;
float myFloat;

String myString = Double.toString(myDouble);


Integer.toString(myInteger);
Float.toString(myFloat);

79
Substring
String greeting = "Hello, World!";
String sub = greeting.substring(0, 5); // sub is "Hello"
 Supply start and “past the end” position
 First position is at 0

80
Substring
String sub2 = greeting.substring(7, 12); // sub2 is "World"
 Substring length is “past the end” - start

81
Latihan
1. Buat class InputNama yang meminta kita
memasukkan nama lengkap dan panjang karakter
nama belakang kita
2. Sebagai hasilnya class InputNama akan
menampilkan nama belakang kita
3. Gunakan method substring() untuk class tersebut

Masukkan nama anda: Romi Satria Wahono


Berapa panjang karakter nama belakang anda: 6
Jadi nama belakang adalah Wahono
82
2.6 Pengaturan Format Output
Numerik

83
Metode Pengaturan Format
1. Menggunakan Method System.out.format()
2. Menggunakan DecimalFormat Class

84
1. Method System.out.format()
public class TestFormat { Calendar c =
public static void main(String[] Calendar.getInstance();
args) { System.out.format("%tB %te,
long n = 461012; %tY%n", c, c, c);
System.out.format("%tl:%tM
System.out.format("%d%n", n);
%tp%n", c, c, c);
System.out.format("%08d%n", System.out.format("%tD%n", c);
n);
}
System.out.format("%+8d%n", }
n);
System.out.format("%,8d%n",
n);

System.out.format("%+,8d%n%n"
, n);

double pi = Math.PI; 85
Hasil Eksekusi
461012
00461012
+461012
461,012
+461,012

3.141593
3.142
3.142
3.142

May 29, 2006


2:34 am
05/29/06
86
Converters and Flags
Conver
Flag Explanation
ter
d A decimal integer.
f A float.
A new line character appropriate to the platform running the
n
application. You should always use %n, rather than \n.
tB A date & time conversion—locale-specific full name of month.
A date & time conversion—2-digit day of month. td has leading zeroes
td, te
as needed, te does not.
ty, tY A date & time conversion—ty = 2-digit year, tY = 4-digit year.
tl A date & time conversion—hour in 12-hour clock.
A date & time conversion—minutes in 2 digits, with leading zeroes as
tM
necessary.
tp A date & time conversion—locale-specific am/pm (lower case).
A date & time conversion—months in 2 digits, with leading zeroes as
tm
necessary.
tD A date & time conversion—date as %tm%td%ty
08 Eight characters in width, with leading zeroes as necessary.
+ Includes sign, whether positive or negative.
, Includes locale-specific grouping
87 characters.
- Left-justified..
2. DecimalFormat Class
public class DecimalFormatDemo {

public static void main(String[] args){

DecimalFormat formatku = new DecimalFormat("###.##");


System.out.println(formatku.format(45.8398767));
}
}

88
DecimalFormatDemoLengkap.java
public class DecimalFormatDemoLengkap{
static public void customFormat(String pattern, double value ) {
DecimalFormat myFormatter = new DecimalFormat(pattern);
String output = myFormatter.format(value);
System.out.println(value + " " + pattern + " " + output);
}

static public void main(String[] args) {


customFormat("###,###.###", 123456.789);
customFormat("###.##", 123456.789);
customFormat("000000.000", 123.78);
customFormat("$###,###.###", 12345.67);
}
}
89
Hasil Eksekusi
123456.789 ###,###.### 123,456.789 123456.789
###.## 123456.79 123.78 000000.000 000123.780
12345.67 $###,###.### $12,345.67

90
DecimalFormat Class
Value Pattern Output Explanation
The pound sign (#) denotes a
digit, the comma is a placeholder
for the grouping separator, and the
123456.789 ###,###.### 123,456.789
period is a placeholder for the
decimal separator.

The value has three digits to the


right of the decimal point, but the
123456.789 ###.## 123456.79 pattern has only two. The format
method handles this by rounding
up.
The pattern specifies leading and
trailing zeros, because the 0
123.78 000000.000 000123.780 character is used instead of the
pound sign (#).

The first character in the pattern is


91
the dollar sign ($). Note that it
Latihan: Hitung Luas Lingkaran
 Buat class Lingkaran yang mempunyai method
menghitung luas lingkaran
void hitungLuas(double r){ ... }
• Rumus luas lingkaran= PI* r * r
• PI adalah konstanta dengan nilai 3. 141592
• r adalah jari-jari lingkaran

 Buat class LingkaranBeraksi, yang menampilkan hasil


perhitungan luas lingkaran dalam tiga bentuk
bilangan: bilangan pecahan, bilangan bulat (type-
casting) dan pembulatan (rounding). Beri nilai r =
11.78
 Bilangan pecahan dibuat dua decimal di belakang
koma dengan menggunakan class DecimalFormat
92
2.7 Pernyataan Penentu
Keputusan

93
Pernyataan Penentu Keputusan
1. if, if-else, if-else if – else
2. switch

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

95
Contoh if
if (amount <= balance) balance = balance – amount;

96
PernyataanIF.java
public class PernyataanIF{
public static void main(String[] args){
int diskon =0, totalBelanja = 500000;

if(totalBelanja >= 100000){


diskon = totalBelanja/10;
}
System.out.println("Diskon = " + diskon);
}
}
97
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

}
98
Contoh if-else
if (amount <= balance) balance = balance – amount;
else balance = balance – OVERDRAFT_PENALTY

99
PernyataanIFELSE.java
public class PernyataanIFELSE{
public static void main(String[] args){
int diskon =0, totalBelanja = 500000;

if(totalBelanja >= 100000){


diskon = totalBelanja/10;
} else{
diskon = 0;
}
System.out.println("Diskon = " + diskon);
}
} 100
Pernyataan if dan if-else

101
Latihan
 Modifikasi class Bank dan BankBeraksi
yang sebelumnya sudah kita buat
 Tampilkan error dengan menggunakan if-
else apabila pada saat pengambilan uang,
saldo tidak mencukupi

102
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
} 103
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);
}
} 104
Latihan: Input Data pada Bank
1. Modifikasi class Bank dan BankBeraksi yang
sebelumnya sudah kita buat
2. Tampilkan error dengan menggunakan if-else
apabila pada saat pengambilan uang, saldo tidak
mencukupi
3. Dengan menggunakan class Scanner, buat menu
pilihan untuk fitur: cek saldo, ambil uang, simpan
uang
4. Buat saldo awal Rp. 100000 (masukkan nilai ke
parameter pada saat pembuatan object)

105
Latihan: Tampilan Bank
Menu ATM
1. Cek Saldo 2. Simpan Uang 3. Ambil Uang
Pilih Menu: 2

Jumlah uang yang anda simpan Rp: 150000


Saldo anda adalah Rp: 250000

106
Latihan: Input Data pada Matematika
1. Modifikasi program Matematika dan
MatematikaBeraksi yang sebelumnya sudah kita
buat
2. Semua method di class Bank menggunakan return
value int
3. Input data adalah lewat prompt (class Scanner)
4. Buat menu pilihan untuk fitur pertambahan,
pengurangan, pembagian atau perkalian
5. Filter semua pilihan supaya mengeluarkan error
untuk pilihan di luar yang kita tentukan

107
Latihan: Tampilan Matematika
Menu Aplikasi Matematika:
1. Pertambahan 2. Pengurangan 3. Perkalian 4. Pembagian

Pilih Menu = 1
Masukkan Angka Pertama = 3
Masukkan Angka Kedua =23

Hasil Pertambahan antara 3 dan 23 adalah 26

108
Operator Ternary (Kondisi)
 Pernyataan kondisi yang
menggunakan operator ternary
(melibatkan tiga buah operand)

 Bentuk:
ekspresi_kondisi ? nilai_1 : nilai_2

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


}
}
110
switch
 Switch digunakan untuk melakukan tindakan berbeda
terhadap sejumlah kemungkinan nilai
 Bentuk:
switch(ekspresi){
case nilaiSatu:
Pernyataan 1
break;
case nilaiDua:
Pernyataan2
break;
...
default: PernyataanN;
}
111
PernyataanSWITCH1.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;
case 3:
System.out.println("Nasi Goreng");
break;
default:
System.out.println("Silakan Pilih 1, 2 atau 3");
}
}
} 112
PernyataanSWITCH2.java
public class PernyataanSWITCH2{
public static void main(String[] args){
int pilihan = 3;
switch(pilihan){
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("Hari Kerja");
break;
case 6:
case 7:
System.out.println("Hari Libur");
break;
default:
System.out.println("Silakan Pilih Hari");
}
}} 113
Latihan: Menentukan Jumlah Hari
 Buat program (dengan SWITCH) untuk menghitung
berapa jumlah hari pada suatu bulan dan tahun yang
ditunjuk
 Bulan dan tahun dimasukkan dengan input dari
keyboard (class Scanner)
 Filter semua pilihan supaya mengeluarkan error untuk
pilihan di luar yang kita tentukan (termasuk non digit)
 Tampilkan hasilnya dengan:
Masukkan tahun: 1900
Masukan bulan: 2
Jumlah hari pada tahun 1900 bulan 2 adalah 28 hari
114
Syarat Tahun Kabisat
1. Tahun yang habis dibagi 400

OR

2. Tahun yang habis dibagi 4 AND tidak


habis dibagi 100

115
116
Latihan: Menentukan Jumlah Hari (Rev)
 Modifikasi program, pecah jadi dua class: JumlahHari2
dan JumlahHari2Beraksi
 Pada class JumlahHari2, buat method hitungHari,
yang memiliki dua parameter
hitungHari(tahun, bulan)
 Pada class JumlahHariBeraksi, letakkan main method
dengan desain tampilan sama dengan program
JumlahHari sebelumnya
 Tampilkan hasilnya dengan:
Masukkan tahun: 1900
Masukan bulan: 2
Jumlah hari pada tahun 1900 bulan 2 adalah 28 hari
117
2.8 Pernyataan Pengulangan
Proses (Loop)

118
Pernyataan Pengulangan Proses

1.for
2.while
3.do-while

119
for
 for sering disebut for loop, karena
digunakan untuk proses looping atau
pengulangan
 Bentuk:

for (inisialisasi; kondisi; penaikan_penurunan){


pernyataan
}

120
for

121
PernyataanFOR.java

public class PernyataanFOR {


public static void main(String[] args){
for(int i=1; i<11; i++){
System.out.println(i);
}
}
}
122
PernyataanFORArray.java

public class PernyataanFORArray{


public static void main(String[] args){
int[] numbers = {1,2,3,4,5,6,7,8,9,10};

for (int i : numbers) {


System.out.println(i);
}
}
}
123
Nested Loop - Program Pembuat Segitiga
public class Segitiga { public class SegitigaBeraksi {
private int lebar; public static void main(String[] args) {
Segitiga kecil = new Segitiga(5);
public Segitiga(int lebar){ System.out.println(kecil.gambarSegitiga());
this.lebar = lebar;
} Segitiga besar = new Segitiga(15);
System.out.println(besar.gambarSegitiga());
}
public String gambarSegitiga(){
}
String r = "";
for (int i = 1; i <= lebar; i++){
for (int j = 1; j <= i; j++)
r = r + "[]";
r = r + "\n";
}
return r;

Segitiga.java SegitigaBeraksi.java
}
} 124
Latihan
 Tampilkan di layar gambar berikut dengan
menggunakan beberapa nested loop for
[]
[][]
[][][]
[][][][]
[][][][][]
[][][][]
[][][]
[][]
[]
[][][][][][][][][][]
[][][][][][][][][][]
[][][][][][][][][][]
[][][][][][][][][][]
[][][][][][][][][][]
[][][][][][][][][][]
[][][][][][][][][][]
[][][][][][][][][][]

125
while
 while digunakan untuk melakukan proses
pengulangan suatu blok pernyataan selama
kondisinya bernilai true
 Kebanyakan programmer lebih memilih
menggunakan while daripada do...while
 Bentuk:
while (kondisi) {
pernyataan
}
126
PernyataanWHILE.java
class PernyataanWHILE {
public static void main(String[] args){
int i = 1;
while (i < 11) {
System.out.println(i);
i++;
}
}
}
127
Latihan: Tampilkan Bilangan Genap
Tampilkan bilangan genap antara 1
sampai 20 dengan menggunakan:

1. Pernyataan FOR
2. Pernyataan WHILE

128
do...while
 do ... while digunakan untuk melakukan
proses pengulangan suatu blok pernyataan
selama kondisinya bernilai true
 Pernyataan dalam blok paling tidak dieksekusi
satu kali
 Bentuk:
do {
pernyataan
} while (kondisi);

129
PernyataanDOWHILE.java

class PernyataanDOWHILE {
public static void main(String[] args){
int i = 1;
do {
System.out.println(i);
i++;
} while (i <= 10);
}
}
130
2.9 Pernyataan Pemindah Proses
(Jump)

131
Pernyataan Pemindah Proses

1. return
2. break
3. continue

132
return
 Digunakan untuk keluar dari method
 return memiliki dua bentuk:
1. mengembalikan nilai (sesuai dengan tipe data)
2. tidak mengembalikan nilai (untuk void)
 Contoh:
int perkalian(int x, int y){
return x * y;
}
void perkalian(int x, int y){
hasilKali = x * y;
return;
}
133
break
 Penyataan break digunakan untuk
keluar dari suatu pengulangan (loop)
 Penggunaan break bisa berbentuk
tanpa label atau berlabel

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

135
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);
}
}
}
136
continue
 Digunakan untuk melanjutkan
eksekusi ke suatu pengulangan
(loop)
 Bisa berbentuk tanpa label atau
berlabel
 Bentuk code persis sama dengan
break, baik untuk yang tanpa label
atau berlabel
137
Latihan: Looping pada Bank
 Kembangkan class Bank dan BankBeraksi yang
sebelumnya sudah kita buat
 BankBeraksi menampilkan secara interaktif
Menu ATM, dengan contoh tampilan seperti
slide berikut

138
Tampilan BankBeraksi
Menu ATM
1. Cek Saldo 2. Simpan Uang 3. Ambil Uang 4. Keluar
Pilih Menu: 1
Saldo anda adalah Rp. 100000

Menu ATM
1. Cek Saldo 2. Simpan Uang 3. Ambil Uang 4. Keluar
Pilih Menu: 2
Jumlah uang yang anda simpan Rp. 150000
Saldo anda adalah Rp. 250000

Menu ATM
1. Cek Saldo 2. Simpan Uang 3. Ambil Uang 4. Keluar
Pilih Menu: 3
Jumlah uang yang anda ambil Rp. 150000
Saldo anda adalah Rp. 100000
139
Latihan: Looping pada Matematika
 Modifikasi program Matematika yang
sebelumnya sudah kita buat
 Input data adalah lewat prompt (class
Scanner)
 Buat menu pilihan untuk fitur pertambahan,
pengurangan, pembagian atau perkalian
 Gunakan pengulangan untuk menu pilihan.
Akan berhenti (keluar dari aplikasi) apabila
kita pilih 6

140
Latihan: Tampilan
Menu Aplikasi Matematika:
1. Pertambahan 2. Pengurangan 3. Perkalian 4. Pembagian 5. Sisa Bagi
6. Keluar Aplikasi

Pilih Menu = 1
Masukkan Angka Pertama = 3
Masukkan Angka Kedua =23

Hasil Pertambahan antara 3 dan 23 adalah 26

Menu Aplikasi Matematika:


1. Pertambahan 2. Pengurangan 3. Perkalian 4. Pembagian 5. Sisa Bagi
6. Keluar Aplikasi

Pilih Menu =
141
2.10 Array (Larik)

142
Konsep Array (Larik)
 Array adalah objek yang dapat digunakan untuk
menyimpan sejumlah data dalam tipe sama dengan
jumlah elemen tetap

 Elemen yang disimpan pada array dapat berupa tipe


primitif (int, float, etc) atau objek (instan dari class)
 Langkah menciptakan array:
1. Mendeklarasikan variabel array
2. Menciptakan objek array
143
Deklarasi Variabel Array
 Bentuk Deklarasi:
tipePrimitif[] namaVariabel;
namaKelas[] namaVariabel;

 Contoh:
String[] kota;
int[] nomor;

144
Menciptakan Objek Array
 Bentuk Deklarasi:
namaVariabel = new tipePrimitif[jumlahElemen];
namaVariabel = new namaKelas[jumlahElemen];
 Contoh:
nomor = new int[7];
kota = new String[8];
 Bentuk singkat deklarasi variable dan objek array:
String[] kota = new String[8];
int[] nomor = new int[7];

145
Deklarasi Array

146
Mengakses Elemen Array
 Bentuk Deklarasi
namaVariabelArray[nomorElemen];

 Contoh:
kota[0] = “Surabaya”;

147
ArrayKota.java
public class ArrayKota{
public static void main(String[] args){
String[] kota; //deklarasi variabel array
kota = new String[3]; // membuat objek array

// mengisi elemen array


kota[0] = "Jakarta";
kota[1] = "Surabaya";
kota[2] = "Semarang";
// menampilkan elemen array
System.out.println(kota[0]);
System.out.println(kota[1]);
System.out.println(kota[2]);
}
} 148
Pemberian Nilai Array Langsung
public class ArrayKota2{
public static void main(String[] args){
String[] kota = {“Jakarta”, “Surabaya”, “Semarang”};

// menampilkan elemen array


System out println(kota[0]);
System.out.println(kota[1]);
System.out.println(kota[2]);
}
}

149
Mengetahui Jumlah Elemen Array
public class ArrayKota3{
public static void main(String[] args){
String[] kota = {“Jakarta”, “Surabaya”, “Semarang”};

// menampilkan elemen array


for(int i=0; i<kota.length; i++)
System.out.println(kota[i]);
}
}

150
Deklarasi dan Pemberian Nilai Array

151
Deklarasi dan Pemberian Nilai Array

1. Deklarasikan array:
double[] value = new double[10];

2. Gunakan [ ] untuk mengakses elemen:


value[2] = 29.95;

152
Tugas
1. Buat class CekBilangan
2. Deklarasikan array bilangan yang memiliki nilai:
937824
3. Tampilkan bilangan di atas (sebelum dicek)
4. Bandingkan bilangan[0] yaitu 9 dengan bilangan[1]
yaitu 3, apabila bilangan[0] > bilangan[1] lakukan
penukaran
5. Lakukan tahap 2 secara terus menerus (looping)
sampai semua bilangan selesai dibandingkan
6. Tampilkan bilangan setelah dicek
153
Tugas: Algoritma Sorting BubbleSort
 Buat program yang membuat sorting bilangan dari
yang paling kecil ke besar
 Alur algoritma BubbleSort adalah:
1. Deklarasikan dalam bentuk array bilangan yang akan
diurutkan
Misalnya bilangan  34 86 15
Maka array  bilangan[0]=34, bilangan[1]=86, bilangan[2]=15
2. Mulai dari i=0, bandingkan dan tukarkan posisi bila
nilai bilangan[i] > bilangan[i+1], lakukan itu sampai
bilangan terakhir bilangan[bilangan.length-1]
3. Ulangi tahap 2, sampai bilangan selesai diurutkan

154
Alur Algoritma Bubble Sort (34 86 15)

Langkah 0 Langkah 1
34 86 15 34 15 86

tidak tukar tukar

34 86 15 15 34 86

tukar

34 15 86

155
Alur Algoritma Bubble Sort (34 86 15)
LANGKAH bilangan[0] bilangan[1] Bilangan[2]
34 86 15
0 34 15 86
34 15 86
15 34 86
1
15 34 86

156
Tugas
 Pahami alur algoritma yang telah
dijelaskan
 Implementasikan algoritma bubble sort
dengan menggunakan Java untuk bilangan
34, 86 dan 15

157
Tugas
 Pecah program menjadi dua class, BubbleSort
dan BubbleSortApp
 Buat method sort pada class BubbleSort
 Panggil method sort di class BubbleSortApp,
dengan sebelumnya data bilangan dimasukkan
melalui input dari keyboard

158
Menukar Nilai dari Dua Elemen Array?
34 86 15
bil[0] bil[1] bil[2]

1. Simpan nilai bil[1] ke variable lain (temp)


2. Masukkan nilai bil[0] ke bil[1]
3. Masukkan nilai temp ke bil[0]

159
Array Multidimensi
class ArrayMultidimensi {
public static void main(String[] args) {
String[][] nama = {
{"Pak ", "Bu “, “Mbak”},
{"Joko", "Susi"}
};
System.out.println(nama[0][0] + nama[1][0]);
System.out.println(nama[0][1] + nama[1][1]);
System.out.println(nama[0][2] + nama[1][0]);
}
}
Array multidimensi adalah array dari array , dengan konsep
pengaksesan [noBaris][noKolom]
160
Latihan: Buat Array Multidimensi

1. Buat class NegaraKota


2. Buat array multidimensi untuk nama negara dan
ibukotanya
3. Masukkan dalam list array:
nama negara = Amerika, Inggris, Jepang, Perancis,
Indonesia, Iran, Irak
ibukota = Teheran, Bekasi, Jakarta, Bantar Gebang, Tokyo
4. Akses array dan tampilkan di layar sebagai berikut:
Ibukota Indonesia adalah Jakarta
Ibukota Jepang adalah Tokyo
Ibukota Iran adalah Teheran
161
2.11 ArrayList

162
ArrayList
 ArrayList class mengelola urutan object, yang dapat
bertambah dan berkurang sesuai dengan keperluan
 ArrayList class menyediakan banyak method untuk
berbagi keperluan, misalnya menambah dan
menghapus elemen
 ArrayList adalah suatu generic class:
 ArrayList<T> mengumpulkan object yang bertipe T:
ArrayList<String> names = new ArrayList<String>();
names.add("Emily");
names.add("Bob");
names.add("Cindy");

 size method untuk menghitung jumlah elemen


163
ArrayList

164
Menambahkan Elemen
 Untuk menambahkan sebuah elemen pada bagian
akhir dari ArrayList, gunakan method add di
bawah:
names.add("Emily");
names.add("Bob");
names.add("Cindy");

165
Menghapus Elemen
 Untuk menghapus elemen pada suatu indeks,
menggunakan method remove:
names.remove(1);

166
Mendapatkan Nilai Elemen
 Untuk mendapatkan nilai elemen pada indeks,
menggunakan metode get, dimana indeks dimulai
dari 0
String name = names.get(2);
//dapatkan elemen ketiga dari ArrayList

 Bila indeks keluar dari jangkauan, error akan keluar:


int i = names.size();
name = names.get(i); // Error
// legal index values are 0 ... i-1

167
Menambah Nilai Baru ke Elemen
 Untuk menambahkan nilai baru ke elemen,
digunakan method set:
names.set (2, "Carolyn");

168
Menambah dan Menghapus Elemen
names.add("Emily");
names.add("Bob");
names.add("Cindy");
names.set(2,"Carolyn");
names.add(1,"Ann");
names.remove(1);

169
ArrayList<String> names = new ArrayList<String>(); Constructs an empty array list that can hold
strings
names.add("Ann"); Adds elements to the end
names.add("Cindy");
System.out.println(names); Prints [Ann, Cindy]

names.add(1, "Bob"); Inserts an element at index 1. names is now


[Ann, Bob, Cindy]
names.remove(0); Removes the element at index 0. names is
now [Bob, Cindy]
names.set(0, "Bill"); Replaces an element with a different value.
names is now [Bill, Cindy]
String name = names.get(i); Gets an element

String last = Gets the last element


names.get(names.size() - 1);
ArrayList<Integer> squares =new ArrayList<Integer>(); Constructs an array list holding the first ten
for (int i = 0; i < 10; i++){ squares.
squares.add(i * i);
}

170
Latihan
 Buat class ArtisBeraksi
 Kemudian jalankan beberapa perintah di bawah
dengan menggunakan method di ArrayList
1. Buat ArrayList artis, tambahkan nama 5 artis top Indonesia
Tampilkan seluruh isi dari ArrayList artis
2. Tambahkan 1 artis di ke akhir elemen
Tampilkan seluruh isi dari ArrayList artis
3. Sisipkan 2 artis pada indeks 2 dan 3
Tampilkan seluruh isi dari ArrayList artis
4. Ganti indeks 4 dengan artis lain
Tampilkan seluruh isi dari ArrayList artis

171
BankAccount.java
public class BankAccount { public int getAccountNumber(){
private double balance; return accountNumber;
}
private int accountNumber;
public double getBalance(){
public BankAccount(int accountNumber){ return balance;
balance = 0; }
}
this.accountNumber = accountNumber;
}

public void deposit(double amount){


balance = balance + amount;
}

public void withdraw(double amount){


balance = balance - amount;
}
172
BankAccountArrayBeraksi.java
public class BankAccountArrayBeraksi{
public static void main(String[] args) {
ArrayList<BankAccount> accounts = new ArrayList<BankAccount>();
accounts.add(new BankAccount(1001));
accounts.add(new BankAccount(1015));
accounts.add(new BankAccount(1729));
accounts.add(1, new BankAccount(1008));
accounts.remove(0);

System.out.println("Size: " + accounts.size());


System.out.println("Expected: 3");
BankAccount first = accounts.get(0);
System.out.println("First account number: " + first.getAccountNumber());
System.out.println("Expected: 1008");
BankAccount last = accounts.get(accounts.size() - 1);
System.out.println("Last account number: " + last.getAccountNumber());
System.out.println("Expected: 1729");
}
} 173
Looping untuk Array dan ArrayList

174
Referensi
1. Sharon Zakhour et al, The Java Tutorial Fourth Edition,
http://java.sun.com/docs/books/tutorial
2. Cay Horstmann, Big Java: Earl Objects 5th Edition, John Wiley & Sons,
2013
3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012
4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer
Study Guide, Packt Publishing, 2012
5. Walter Savitch, Absolute Java 5th Edition, Pearson Education, 2013
6. Mark Allen Weiss, Data Structures and Algorithm Analysis in Java 3rd
Edition, Pearson Education, 2012
7. Anany Levitin, Introduction to the Design and Analysis of Algorithms
3rd Edition, Pearson Education, 2012
8. Ying Bai, Practical Database Programming with Java, John Wiley &
Sons, 2011
175

Anda mungkin juga menyukai