Algoritma Dasar
Algoritma Dasar
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
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
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
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);
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;
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
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)
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
50
Operator Bit
& operasi AND untuk bit
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
54
Membandingkan Bilangan Bulat
The == denotes equality testing:
a = 5; // Assign 5 to a
if (a == 5) ... // Test whether a equals 5
55
Latihan: Tampilkan hasilBanding1 dan 2
Pembanding.java
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
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
66
Membaca Input dari Keyboard
Menggunakan class Scanner (java.util.Scanner)
dengan method sebagai berikut:
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) {
}
}
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;
77
Argument untuk Menerima Input
public class LuasSegitigaArgs {
public static void main(String[] args) {
}
}
78
Konversi Bilangan ke String
double myDouble;
int myInteger;
float 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
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
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);
}
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.
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;
} 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;
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
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
108
Operator Ternary (Kondisi)
Pernyataan kondisi yang
menggunakan operator ternary
(melibatkan tiga buah operand)
Bentuk:
ekspresi_kondisi ? nilai_1 : nilai_2
109
OperatorTernary.java
OR
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:
120
for
121
PernyataanFOR.java
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
135
PernyataanBREAKLABEL.java
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
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
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
149
Mengetahui Jumlah Elemen Array
public class ArrayKota3{
public static void main(String[] args){
String[] kota = {“Jakarta”, “Surabaya”, “Semarang”};
150
Deklarasi dan Pemberian Nilai Array
151
Deklarasi dan Pemberian Nilai Array
1. Deklarasikan array:
double[] value = new double[10];
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
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]
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
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");
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
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]
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;
}
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