SlideShare a Scribd company logo
1 of 186
DENGAN BAHASA JAVA
ALGORITMA DAN
PEMROGRAMAN 2
Pengenalan Java
• Java adalah bahasa pemrograman tingkat tinggi
yang sudah menggunakan paradigma berorientasi
object
• Java dikembangkan oleh James Gosling dan kawankawan saat masuk ke Sun Microsystem pada tahun
1991
• Java tidak berjalan pada level system operasi, tapi
pada Java Virtual Machine (JVM)
• JVM bisa dijalankan diberbagai system operasi,
karena itu java dapat berjalan lintas operating
system
Pengenalan Java
• James Gosling, Mike Sheridan, and Patrick Naughton
initiated the Java language project in June 1991
• The language was initially called Oak after an oak tree
that stood outside Gosling's office
• It went by the name Green later, and was later renamed
Java, from a list of random words
• Gosling aimed to implement a virtual machine and a
language that had a familiar C/C++ style of notation
• Sun Microsystems released the first public
implementation as Java 1.0 in 1995
• On May 8, 2007, Sun finished the process, making all of
Java's core code available under free software/opensource distribution terms (GNU Public License)
Java Family Suite
1. Java Standard Edition
(Java SE)
 For desktop, client/server
application

2. Java Enterprise Edition
(Java EE)
 For e-business, e-commerce
web based application

3. Java Micro Edition
(Java ME)
 For small devices, like palm,
handphone, etc
Mengapa Java?
• Simple and familiar object oriented
programming
• Architecture neutral (platform independent)
• Open Source
• First rank in TIOBE Index
• De-Facto standard programming language in
education
How Java Works?
Menulis Program Java
• Bentuk program:
1. Text-Based Console Application 
menggunakan library non-GUI di Java
2. GUI Application  menggunakan AWT atau
Swing untuk library GUI

• Suatu class bisa dieksekusi karena
memiliki method main
public static void main(String[] args)
 Program Java mulai dari sini!
Pengenalan IDE Netbeans
• Netbeans adalah Integrated Development
Environment (IDE) yang dikembangkan oleh
Sun Microsystem.
• Pada awalnya, Netbeans dikembangkan untuk
menulis program java, tapi saat ini juga bisa
digunkan untuk menulis bahasa pemrograman
lain seperti PHP, C/C++ dan Groovy
• Netbeans menggunakan lisensi General Public
License (GPL), jadi bisa didownload dan
digunakan secara gratis
Pengenalan IDE Netbeans
Pengenalan IDE Netbeans
Jendela Project

Jendela Editor

Jendela Navigasi
Jendela Output
Membuat Program HelloJava dengan
Netbeans
Membuat Program HelloJava dengan
Netbeans
Membuat Program HelloJava dengan
Netbeans
Membuat Program HelloJava dengan
Netbeans
Membuat Program HelloJava dengan
Netbeans
Membuat Program HelloJava dengan
Netbeans
Membuat Program HelloJava dengan
Netbeans
ALGORITMA DAN
PEMROGRAMAN 2
Pengenalan Algoritma
• Algoritma?
• Algoritma adalah langkah-langkah yang diambil
untuk menyelesaikan suatu tugas tertentu
• Langkah-langkahharus tersusun secara logis
dan efisien agar dapat menyelsaikan tugas
dengan tepat dan cepat
• Langkah-langkah tersebut
diselesaikan/dijalankan oleh alat/tools
komputer
Pengenalan Algoritma
• Algoritma merupakan gabungan antara SENI
dan TEKNIK
• Senikarena algoritma penuh dengan
kreatifitas dan imajinasi yang jenius
• Teknikkarena algoritma diterapkan
dikomputer yang penuh dengan tools dan
metodelogi
Pengenalan Algoritma
• Algoritma adalah sekumpulan instruksi yang
apabila dijalakan akan menyelesaikan suatu tugas
tertentu
• Setiap algoitma harus memenuhi kriteria sebagai
berikut:
▫ Tidak harus ada masukan (input) dari luar
▫ Harus punya sesuatu yang dihasilkan, minimal satu
keluaran (output)
▫ Setiap instruksi harus jelas dan tidak meragukan
▫ Algoritma secara keseluruhan (termasuk sub
algoritma) harus punya titk awal dan titk berhenti
Pengenalan Algoritma
▫ Setiap instruksi harus jelas, dapat dilaksanakan
dan efektif. Sebagai contoh A = A + 0 atau A = A*1
adalah instruksi yang tidak efektif (useless)

• Algoritma adalah inti dari ilmu informatika
• Sebuah program adalah gabungan antara
algoritma dan struktur data
Algoritma dan Bahasa Pemrograman
• Belajar algoritma berbeda dengan belajar bahasa
pemrograman
• Belajar algoritmabelajar tentang metodologi
pemecahan masalah, kemudian menuangkannya
dalam bentuk notasi yang mudah dipahami
• Belajar bahasa pemrograman belajar memakai
suatu bahasa, aturan, karakteristik instruksi dan
tata cara pengoperasian compilernya serta
memanfaatkan semua hal tersebut untuk
membuat program dengan bahasa itu saja.
Pengenalan Algoritma
• Contoh Soal 1
▫ Diketahui dua bilangan masing-masing bernilai 4
dan 5. Buat algoritma untuk menampilkan kedua
bilangan tersebut, kemudian buat programnya
dalam bahasa java!
Pengenalan Algoritma
• Jawab
Algoritma TotalBilangan1
DEKLARASI
A, B, T : integer
DESKRIPSI
A4
B5
TA+B
write(T)
Pengenalan Algoritma
• Program Java
Pengenalan Algoritma
• Eksekusi program

A

B

T
Pengenalan Algoritma
• Eksekusi program

4
A

B

T
Pengenalan Algoritma
• Eksekusi program

4

5

A

B

T
Pengenalan Algoritma
• Eksekusi program

4

5

9

A

B

T
Pengenalan Algoritma
• Eksekusi program

4

5

9

A

B

T

9
Pengenalan Algoritma
• Contoh Soal 2
▫ Susun sebuah algoritma untuk menginput dua
buah bilangan, kemudian menampilkan total
kedua bilangan tersebut!
Pengenalan Algoritma
• Jawab
Algoritma TotalBilangan2
DEKLARASI
A, B, T : integer
DESKRIPSI
write(“Masukan bilangan pertama”)
read(A)
write(“Masukan bilangan kedua”)
read(B)
TA+B
write(“Jumlah:”+T)
Pengenalan Algoritma
• Program Java
Pengenalan Algoritma
• Eksekusi Program

A

B

T
Pengenalan Algoritma
• Eksekusi Program

A

B

T

Masukan bilangan pertama
Pengenalan Algoritma
• Eksekusi Program

A

B

T

Masukan bilangan pertama _
Pengenalan Algoritma
• Eksekusi Program
4
A

B

T

Masukan bilangan pertama 4
Masukan bilangan kedua
Pengenalan Algoritma
• Eksekusi Program
4
A

B

T

Masukan bilangan pertama 4
Masukan bilangan kedua _
Pengenalan Algoritma
• Eksekusi Program
4

5

9

A

B

T

Masukan bilangan pertama 4
Masukan bilangan kedua 5
Pengenalan Algoritma
• Eksekusi Program
4

5

9

A

B

T

Masukan bilangan pertama 4
Masukan bilangan kedua 5
Jumlah: 9
Pengenalan Algoritma
• Jawaban Alternatif
Pengenalan Algoritma
• Eksekusi program alternatif

A

T
Pengenalan Algoritma
• Eksekusi program alternatif
0
A

T
Pengenalan Algoritma
• Eksekusi program alternatif

A

T

Masukan bilangan pertama
Pengenalan Algoritma
• Eksekusi program alternatif

A

T

Masukan bilangan pertama _
Pengenalan Algoritma
• Eksekusi program alternatif
4

4

A

T

Masukan bilangan pertama 4
Pengenalan Algoritma
• Eksekusi program alternatif
4

4

A

T

Masukan bilangan pertama 4
Masukan bilangan kedua
Pengenalan Algoritma
• Eksekusi program alternatif
4

4

A

T

Masukan bilangan pertama 4
Masukan bilangan kedua _
Pengenalan Algoritma
• Eksekusi program alternatif
5

9

A

T

Masukan bilangan pertama 4
Masukan bilangan kedua 5
Pengenalan Algoritma
• Eksekusi program alternatif
5

9

A

T

Masukan bilangan pertama 4
Masukan bilangan kedua 5
Jumlah: 9
Pengenalan Algoritma
• Untuk selanjutnya akan lebih mudah jika notasi
algoritma langsung ditulis dalam bentuk syntax
java.
• Selain karena tujuannya sama, juga untuk
menghindari redundansi penulisan dan bisa
langsung diimplementasikan dalam program
ALGORITMA DAN
PEMROGRAMAN 2
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
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;
Kata kunci (Keywords) Java
Pengarah Tipe (Type-Casting)
• Pengarah Tipe (Type-Casting)
• Contoh:
double i = 10.56;
int paksa = (int) i;
Hasil  paksa = 10

• Casting tanpa menghilangkan nilai:
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
Program LuasSegitiga
Latihan: Hitung LuasLingkaran
• 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
ALGORITMA DAN
PEMROGRAMAN 2
Variabel dan Tipe Data
• Variabel adalah lokasi dalam memori komputer
yang digunakan untuk menyimpan data(nilai)
• Nilai variabel dapat diubah dimanapun dalam
program
• Variabel harus dideklarasikan sebelum
digunakan
• Contoh dalam algoritma
▫ A: integer
▫ B : float
▫ C : boolean
Variabel dan Tipe Data
• Contoh dalam program java
Variabel dan Tipe Data
• Berdasarkan lingkup, variabel ada 4, yaitu:
▫ Local variable  digunakan dalam fungsi atau
blok pernyataan yang lebih kecil
▫ Parameter  variabel yang ada dalam deklarasi
fungsi (argument)
▫ Instance Variable  variabel yang nilainya
berbeda pada masing-masing object
▫ Class Variable  variabel yang berlaku pada suatu
class dan nilainya sama pada setiap object yang
merupakan instance dari class tersebut
Variabel dan Tipe Data
• Tipe data adalah jenis atau tipe dari variabel
• Tipe data primitif  tipe data standar yang uniq
dan berdiri sendiri, contoh:
▫ integer  tipe data untuk bilangan bulat
▫ float  tipe data untuk bilangan pecahan
▫ boolean  tipe data untuk kondisi benar atau
salah
▫ char  tipe data untuk character
▫ string tipe data untuk text
Variabel dan Tipe Data
• Tipe data Reference  tipe data bentukan
seperti class atau record, contoh:
▫
▫
▫
▫

String
Integer
Double
Entity
Variabel dan Tipe Data
• Dalam bahasa java, batasan masing-masing tipe
data adalah sebagai berikut:
Variabel dan Tipe Data
• Constant Variable adalah variabel yang nilainya
tidak berubah(tetap)
• Dalam bahasa java, constant variable
dideklarasikan dengan keyword final di depan
tipe data
• Jika dideklarasikan dalam class, maka
digabungkan dengan keyword static
• Contoh:
▫ Static final int A = 5
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
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;
Modifer
• 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
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
Access Modifier
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)
Character Escape
Character Escape
ALGORITMA DAN
PEMROGRAMAN 2
Operator
• Operator adalah simbol dan karakter
khusus(matematika) yang digunakan dalam
suatu expresi
• Contoh:
▫
▫
▫
▫

int x = 5;
int y = x;
int z = x * y;
boolean status = true;
Operator
Jenis Operator Berdasar Operand
• Operator Unary  operator yang melibatkan
satu buah operand
• Operator Binary  operator yang melibatkan
dua operand
• Operator Ternary  operator yang melibatkan
tiga operand
Jenis Operator
1.
2.
3.
4.
5.
6.

Operator Aritmatika
Operator Penugasan
Operator Penggabungan
Operator Increment dan Decrement
Operator Pembanding
Operator Logika
Operator Aritmatika

• Hasil operasi matematika akan mengikuti tipe
data operand
• Operand bertipe int akan menghasilkan int
Ekspresi Aritmatika
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)
Operator Penugasan Gabungan
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);
Increment dan Decrement
• Increment: menambahkan 1 ke nilai variabel
(operator = ++, prefix atau postfix)
int x=5;
y = x++;
(nilai saat ini : y = 5, x=6)

int x=5;
y = ++x;
(nilai saat ini: y = 6, x=6)

• Decrement: mengurangkan 1 ke nilai variabel
(operator = --)
int x=5;
y = x--;
(nilai saat ini: y = 5, x=4)

int x=5;
y = --x;
(nilai saat ini: y = 4, x=4)
Latihan Increment1: Tampilkan Nilai x,
y dan z
Latihan Decrement1: Tampilkan Nilai
x, y dan z
Latihan Increment2: Tampilkan Nilai x,
y dan z
Latihan Decrement2: Tampilkan Nilai
x, y dan z
Operator Pembanding (Relasional)

• Operator pembanding menggunakan ekspresi
dengan nilai balik boolean (true or false)
Perbandingan Bilangan Bulat
• Operator == akan menghasilkan true jika kedua
operand adalah sama
▫ int a = 5;
▫ boolean hasilBanding = a == 5;

• Level Operator perbandingan lebih rendah dari
operator aritmatika, maka jika expresinya
adalah:
▫ boolean hasilBanding = 10 > 5+7
▫ hasilBanding akan bernilai false
Perbandingan Bilangan Pecahan
• Hindari penggunaan operator == untuk
membandingkan bilangan pecahan.
• Hal ini untuk menghindari nilai pecahan
bilangan tersebut yang mungkin tidak
tampak(error roundof)
• Untuk membandingkan bilangan pecahan
dengan bilangan yang dekat, gunakan konstanta
yang nilainya sudah ditetapkan.
▫ final boolean e = 1e -10;
▫ boolean hasilBanding = x <= e;
Perbandingan String
• Untuk membandingkan String, gunakan fungsi
equals
▫ boolean hasilBanding = string1.equals(string2);

• == membandingkan identitas
• Equals membandingkan content(value)
• Untuk membandingkan case sensitif, gunakan
fungsi equalsIgnoreCase()
Latihan Operator Perbandingan
Rangkuman Operator Pembanding
Operator Logika
&&
||
!

operasi logika AND
operasi logika OR
operasi logika NOT

Operator logika menggunakan ekspresi dengan nilai
balik Boolean (true or false)
Tabel Operator Logika
Contoh penggunaan Operator Logika
ALGORITMA DAN
PEMROGRAMAN 2
Pernyataan Penentu Keputusan
1. if, if-else, if-else if – else
2. switch
IF
• Pernyataan kondisi yang digunakan untuk
pengambilan keputusan terhadap dua buah
kemungkinan
• if bisa berdiri sendiri atau dengan menggunakan
else
• Bentuk:
if(kondisi){
// blok pernyataan yang dijalankan, bila kondisi benar

}
Contoh if
PernyataanIF.java
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

}
Contoh if-else
PernyataanIFELSE.java
Pernyataan if dan if-else
Latihan
• Buat algoritma program untuk menentukan
bilangan terbesar diantara dua bilangan yang
diinisialisasi dari program!
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
}
JenisKelamin.java
PernyataanIFELSEIF.java
Latihan
• Buat algoritma dan program untuk menentukan
dan menampilkan hasil operasi matematika dari
dua bilangan yang sudah ditentukan dengan
pilihan operasi tambah, kurang, kali dan bagi!
Operator Ternary (Kondisi)
• Pernyataan kondisi yang menggunakan operator
ternary (melibatkan tiga buah operand)

• Bentuk:
ekspresi_kondisi ? nilai_1 : nilai_2
PeryataanOperatorTernaryKondisi.java
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;
}
PernyataanSWITCH1.java
PernyataanSWITCH2.java
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)
• Tampilkan hasilnya dengan:
Masukkan tahun: 1900
Masukan bulan: 2
Jumlah hari pada tahun 1900 bulan 2 adalah 28 hari
Syarat Tahun Kabisat
1. Tahun yang habis dibagi 400
OR
2. Tahun yang habis dibagi 4 AND tidak habis
dibagi 100
ALGORITMA DAN
PEMROGRAMAN 2
Pernyataan Pengulangan Proses
1. for
2. while
3. do-while
for
• for sering disebut for loop, karena digunakan
untuk proses looping atau pengulangan
• Bentuk:
for (inisialisasi; kondisi; penaikan_penurunan){
pernyataan
}
PernyataanFOR.java
Loop Bersarang
GambarSegitiga.java
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
}
PernyataanWHILE.java
Latihan
Tampilkan bilangan genap antara 1
sampai 20 dengan menggunakan:
1. Pernyataan FOR
2. Pernyataan WHILE
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);
PernyataanDOWHILE.java
ALGORITMA DAN
PEMROGRAMAN 2
Pernyataan Pemindah Proses
1.
2.
3.

return
break
continue
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;
}
break
• Penyataan break digunakan untuk keluar dari
suatu pengulangan (loop)
• Penggunaan break bisa berbentuk tanpa label
atau berlabel
PernyataanBREAK.java
PernyataanBREAKLABEL.java
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
PernyataanCONTINUE.java
Latihan
• Buatlah algoritma program untuk menampilkan
100 suku pertama dari deret 5,8,11,14,17,20, …
• Skip eksekusi looping pada loop ke 10, 20 dan
30
• Hentikan looping jika loop sudah sampai pada
loop ke 50
• Buat dengan looping for dan while
ALGORITMA DAN
PEMROGRAMAN 2
Definisi Fungsi
• Fungsi adalah sekumpulan ekspresi dan
pernyataan (sub program) yang akan dieksekusi
jika nama fungsinya dipanggil
• Fungsi bisa mengembalikan nilai (return value)
dan tidak mengembalikan nilai
• Fungsi dideklarasikan dengan memberikan type
return valuenya
• Fungsi yang tidak mengembalikan return
valuenya dideklarasikan dengan type void
Definisi Fungsi
• Fungsi bisa mempunyai 0 atau lebih parameter
• Pada sebuah program java, nama fungsi bisa
sama asal mempunyai parameter berbeda
(jumlah atau type parameter)
• Fungsi digunakan untuk mengeksekusi
sekumpulan syntax yang kemungkinan dipanggil
sekali atau lebih dari program
Definisi Fungsi
• Program java harus mempunyai minimal 1 buah
fungsi
• Fungsi main harus ada dalam program java agar
bisa dijalankan (Run)
LuasSegitiga.java
LuasSegitiga.java
Variable Scope
• Dalam fungsi bisa terdapat 0 atau lebih variabel
• Variabel yang dideklarasikan dalam fungsi
hanya berlaku dalam fungsi itu saja
• Variabel yang dideklarasikan diclass bisa diakses
dari fungsi manapun dalam class tersebut
• Penamaan variable class bisa sama dengan
variabel fungsi, untuk membedakannya
pemanggilan variabel class menggunakan
keyword this
LuasSegitiga.java
LuasSegitiga.java
Variable class

Variable fungsi
Recursive
• Rekursif adalah fungsi yang memanggil dirinya
sendiri
Recursive

Pemanggilan fungsi

Deklarasi fungsi
Kontrol rekursif berakhir

Pemanggilan
dirinya sendiri
(rekursif)
ALGORITMA DAN
PEMROGRAMAN 2
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.
2.

Mendeklarasikan variabel array
Menciptakan objek array
Deklarasi Variabel Array
• Bentuk Deklarasi:
tipePrimitif[] namaVariabel;
namaKelas[] namaVariabel;
• Contoh:
String[] kota;
int[] nomor;
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];
Deklarasi Array
Mengakses Elemen Array
• Bentuk Deklarasi
namaVariabelArray[nomorElemen];

• Contoh:
kota[0] = “Surabaya”;
ArrayMataKuliah.java
ArrayMataKuliah.java

Deklarasi variabel array

Mengisi elemen array
Menampilkan
elemen array
Pemberian Nilai Array Langsung
Mengetahui Jumlah Elemen Array
Deklarasi dan Pemberian Nilai Array
Deklarasi dan Pemberian Nilai Array
1. Deklarasikan array:
double[] value = new doublee[10];

2. Gunakan [ ] untuk mengakses elemen:
values[2] = 29.95;
Latihan
• Buatlah algoritma program untuk mencari nilai
terbesar dari sejumlah elemen array!
• Elemen array dimasukan dari keyboard
menggunakan object scanner!
• Tampilkan elemen terbesar ke layar out put!
Array Multidimensi
• Array multiidimensi adalah array yang
mempunyai dimensi lebih dari satu
• Array multidimensi dua dimensi adalah array dari
array , dengan konsep pengaksesan
[noBaris][noKolom]
ArrayMultiDimensi.java
Latihan
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
ALGORITMA DAN
PEMROGRAMAN 2
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
ArrayList
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");
Menghapus Elemen
• Untuk menghapus elemen pada suatu indeks,
menggunakan method remove:
names.remove(1);
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
Menambah Nilai Baru ke Elemen
• Untuk menambahkan nilai baru ke elemen,
digunakan method set:
names.set (2, "Carolyn");
Menambah dan Menghapus Elemen
Looping untuk Array dan ArrayList
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
2. Tampilkan seluruh isi dari ArrayList artis
3. Tambahkan 1 artis di ke akhir elemen
4. Tampilkan seluruh isi dari ArrayList artis
5. Sisipkan 2 artis pada indeks 1 dan 4
6. Tampilkan seluruh isi dari ArrayList artis
7. Ganti indeks 3 dengan artis lain
8. Tampilkan seluruh isi dari ArrayList artis
Tugas
• Kerjakan semua latihan dan tugas yang ada di
slide Algoritma dan pemrograman 2
• Kirimkan netbeans project yang sudah di zip ke
ahza07@gmail.com
dengan subyek: [ALG-PRG2] Nama–NIM
• Deadline: 2 minggu
• Meng-copy file orang lain akan menyebabkan
nilai tugas 0
Referensi
1. Sharon Zakhour et al, The Java Tutorial Fourth
Edition, http://java.sun.com/docs/books/tutorial
2. Cay Horstmann, Big Java, John Wiley & Sons, 2010
3. Rogers Cadenhead & Laura Lemay, Teach Yourself Java
6 in 21 Days, Sams Publishing, 2007
4. Deitel & Deitel, Java for Programmers, Prentice Hall,
2009
5. Robert Lafore, Data Structures and Algorithms in Java
Second Edition, Sams Publishing, 2003
6. Tim Pengembang JENI, JENI 1-6, Depdiknas, 2007
7. Rachmad Hakim & Sutarto, Mastering Java, Elex Media
Komputindo, 2009

More Related Content

What's hot

Makalah Kegunaan Matematika Diskrit pada Teknik Informatika
Makalah Kegunaan Matematika Diskrit pada Teknik InformatikaMakalah Kegunaan Matematika Diskrit pada Teknik Informatika
Makalah Kegunaan Matematika Diskrit pada Teknik Informatikasaid zulhelmi
 
Metode statistika
Metode statistikaMetode statistika
Metode statistikaAlwi Hasan
 
Algoritma dan Struktur Data (Python) - Perulangan
Algoritma dan Struktur Data (Python) - PerulanganAlgoritma dan Struktur Data (Python) - Perulangan
Algoritma dan Struktur Data (Python) - PerulanganAndiNurkholis1
 
OOP - Enkapsulasi
OOP - EnkapsulasiOOP - Enkapsulasi
OOP - EnkapsulasiKuliahKita
 
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Fatma Qolbi
 
Ciri-ciri Teks Akademik
Ciri-ciri Teks AkademikCiri-ciri Teks Akademik
Ciri-ciri Teks AkademikUwes Chaeruman
 
Laporan Praktikum Algoritma Pemrograman
Laporan Praktikum Algoritma PemrogramanLaporan Praktikum Algoritma Pemrograman
Laporan Praktikum Algoritma PemrogramanYulie Astin
 
Graf ( Matematika Diskrit)
Graf ( Matematika Diskrit)Graf ( Matematika Diskrit)
Graf ( Matematika Diskrit)zachrison htg
 
Aturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode PembuktianAturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode PembuktianFahrul Usman
 
Analisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik KompilasiAnalisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik Kompilasiahmad haidaroh
 
285975_TEOREMA GRAPH_.ppt
285975_TEOREMA GRAPH_.ppt285975_TEOREMA GRAPH_.ppt
285975_TEOREMA GRAPH_.pptHadiWidjaja4
 
Metode Numerik Trapesium
Metode Numerik TrapesiumMetode Numerik Trapesium
Metode Numerik TrapesiumWahyu Priyanti
 
Pengertian dan Representasi Graph
Pengertian dan Representasi GraphPengertian dan Representasi Graph
Pengertian dan Representasi GraphZaldy Eka Putra
 
Etika profesi bab 1 pendahuluan
Etika profesi  bab 1  pendahuluanEtika profesi  bab 1  pendahuluan
Etika profesi bab 1 pendahuluanHaryadi Mukmin
 
Diktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan PemogramanDiktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan PemogramanPisca Prasetyo
 
UML (Unified Modeling Language) - Rekayasa Perangkat Lunak
UML (Unified Modeling Language) - Rekayasa Perangkat LunakUML (Unified Modeling Language) - Rekayasa Perangkat Lunak
UML (Unified Modeling Language) - Rekayasa Perangkat Lunakraissazivana
 

What's hot (20)

Makalah Kegunaan Matematika Diskrit pada Teknik Informatika
Makalah Kegunaan Matematika Diskrit pada Teknik InformatikaMakalah Kegunaan Matematika Diskrit pada Teknik Informatika
Makalah Kegunaan Matematika Diskrit pada Teknik Informatika
 
Metode statistika
Metode statistikaMetode statistika
Metode statistika
 
Algoritma dan Struktur Data (Python) - Perulangan
Algoritma dan Struktur Data (Python) - PerulanganAlgoritma dan Struktur Data (Python) - Perulangan
Algoritma dan Struktur Data (Python) - Perulangan
 
OOP - Enkapsulasi
OOP - EnkapsulasiOOP - Enkapsulasi
OOP - Enkapsulasi
 
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
 
02.logika
02.logika02.logika
02.logika
 
Ciri-ciri Teks Akademik
Ciri-ciri Teks AkademikCiri-ciri Teks Akademik
Ciri-ciri Teks Akademik
 
Laporan Praktikum Algoritma Pemrograman
Laporan Praktikum Algoritma PemrogramanLaporan Praktikum Algoritma Pemrograman
Laporan Praktikum Algoritma Pemrograman
 
Graf ( Matematika Diskrit)
Graf ( Matematika Diskrit)Graf ( Matematika Diskrit)
Graf ( Matematika Diskrit)
 
Aturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode PembuktianAturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode Pembuktian
 
Analisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik KompilasiAnalisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik Kompilasi
 
4.matriks dan relasi
4.matriks dan relasi4.matriks dan relasi
4.matriks dan relasi
 
Algoritma powerpoint
Algoritma powerpointAlgoritma powerpoint
Algoritma powerpoint
 
285975_TEOREMA GRAPH_.ppt
285975_TEOREMA GRAPH_.ppt285975_TEOREMA GRAPH_.ppt
285975_TEOREMA GRAPH_.ppt
 
Metode Numerik Trapesium
Metode Numerik TrapesiumMetode Numerik Trapesium
Metode Numerik Trapesium
 
Pengertian dan Representasi Graph
Pengertian dan Representasi GraphPengertian dan Representasi Graph
Pengertian dan Representasi Graph
 
Etika profesi bab 1 pendahuluan
Etika profesi  bab 1  pendahuluanEtika profesi  bab 1  pendahuluan
Etika profesi bab 1 pendahuluan
 
Diktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan PemogramanDiktat kuliah Algoritma dan Pemograman
Diktat kuliah Algoritma dan Pemograman
 
UML (Unified Modeling Language) - Rekayasa Perangkat Lunak
UML (Unified Modeling Language) - Rekayasa Perangkat LunakUML (Unified Modeling Language) - Rekayasa Perangkat Lunak
UML (Unified Modeling Language) - Rekayasa Perangkat Lunak
 
Contoh knn
Contoh knnContoh knn
Contoh knn
 

Viewers also liked

Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan AlgoritmaAlgoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan AlgoritmaAri Septiawan
 
Algoritma dan Struktur Data - Array
Algoritma dan Struktur Data - ArrayAlgoritma dan Struktur Data - Array
Algoritma dan Struktur Data - ArrayKuliahKita
 
Algoritma pertemuan 1
Algoritma pertemuan 1Algoritma pertemuan 1
Algoritma pertemuan 1ysvcyber
 
Penjelasan Tentang Module Algo
Penjelasan Tentang Module AlgoPenjelasan Tentang Module Algo
Penjelasan Tentang Module AlgoAPK BARU
 
If1282 notasi fungsional
If1282 notasi fungsionalIf1282 notasi fungsional
If1282 notasi fungsionalkhaerul azmi
 
02. prak.-pemrograman-berorientasi-objek
02. prak.-pemrograman-berorientasi-objek02. prak.-pemrograman-berorientasi-objek
02. prak.-pemrograman-berorientasi-objekJamil Jamil
 
Contoh Program buble sort dari belakang
Contoh Program buble sort dari belakangContoh Program buble sort dari belakang
Contoh Program buble sort dari belakangSimon Patabang
 
Contoh program buble sort dalam pascal
Contoh program buble sort dalam pascalContoh program buble sort dalam pascal
Contoh program buble sort dalam pascalSimon Patabang
 
Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15doudomblogspot
 
Array dalam Struktur Data
Array dalam Struktur DataArray dalam Struktur Data
Array dalam Struktur DataFajar Sany
 
15. modul bahasa pemrograman (java)
15. modul bahasa pemrograman (java)15. modul bahasa pemrograman (java)
15. modul bahasa pemrograman (java)Safz Cabeza
 

Viewers also liked (15)

Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan AlgoritmaAlgoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
 
Algoritma dan Struktur Data - Array
Algoritma dan Struktur Data - ArrayAlgoritma dan Struktur Data - Array
Algoritma dan Struktur Data - Array
 
Algoritma pertemuan 1
Algoritma pertemuan 1Algoritma pertemuan 1
Algoritma pertemuan 1
 
Penjelasan Tentang Module Algo
Penjelasan Tentang Module AlgoPenjelasan Tentang Module Algo
Penjelasan Tentang Module Algo
 
If1282 notasi fungsional
If1282 notasi fungsionalIf1282 notasi fungsional
If1282 notasi fungsional
 
Struktur data
Struktur dataStruktur data
Struktur data
 
02. prak.-pemrograman-berorientasi-objek
02. prak.-pemrograman-berorientasi-objek02. prak.-pemrograman-berorientasi-objek
02. prak.-pemrograman-berorientasi-objek
 
Algoritma - Array
Algoritma - ArrayAlgoritma - Array
Algoritma - Array
 
Contoh Program buble sort dari belakang
Contoh Program buble sort dari belakangContoh Program buble sort dari belakang
Contoh Program buble sort dari belakang
 
Contoh program buble sort dalam pascal
Contoh program buble sort dalam pascalContoh program buble sort dalam pascal
Contoh program buble sort dalam pascal
 
Struktur data
Struktur dataStruktur data
Struktur data
 
Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15
 
Array dalam Struktur Data
Array dalam Struktur DataArray dalam Struktur Data
Array dalam Struktur Data
 
Algoritma flowchart
Algoritma flowchartAlgoritma flowchart
Algoritma flowchart
 
15. modul bahasa pemrograman (java)
15. modul bahasa pemrograman (java)15. modul bahasa pemrograman (java)
15. modul bahasa pemrograman (java)
 

Similar to Algoritma dan pemrograman

Pengenalan_Materi-Paradigman_PBO-fix.pptx
Pengenalan_Materi-Paradigman_PBO-fix.pptxPengenalan_Materi-Paradigman_PBO-fix.pptx
Pengenalan_Materi-Paradigman_PBO-fix.pptxngajiyanto .
 
2- ALGORITMA, FLOWCHART, TIPE DATA, OPERATOR.pptx
2- ALGORITMA, FLOWCHART, TIPE DATA, OPERATOR.pptx2- ALGORITMA, FLOWCHART, TIPE DATA, OPERATOR.pptx
2- ALGORITMA, FLOWCHART, TIPE DATA, OPERATOR.pptxslametafandi3
 
Analisa berorientasi objek
Analisa berorientasi objekAnalisa berorientasi objek
Analisa berorientasi objekfachrielamir
 
Algoritma dan pemrograman
Algoritma dan pemrogramanAlgoritma dan pemrograman
Algoritma dan pemrogramanMastur Cell
 
Struktur Pemrograman Java
Struktur Pemrograman JavaStruktur Pemrograman Java
Struktur Pemrograman Javaroji muhidin
 
Bahan ajar-dasar-pemrograman
Bahan ajar-dasar-pemrogramanBahan ajar-dasar-pemrograman
Bahan ajar-dasar-pemrogramanAndri Yanto
 
Pengenalan algoritma
Pengenalan algoritmaPengenalan algoritma
Pengenalan algoritmaIcha Dicaprio
 
Materi Pemrograman Dasar 1.1 Algoritma Pemrograman.pptx
Materi Pemrograman Dasar 1.1 Algoritma Pemrograman.pptxMateri Pemrograman Dasar 1.1 Algoritma Pemrograman.pptx
Materi Pemrograman Dasar 1.1 Algoritma Pemrograman.pptxAmuharnis1
 
JavaScript Dasar
JavaScript DasarJavaScript Dasar
JavaScript Dasargdsc10
 
Pengantar pemrograman-dengan-bahasa-java-2017
Pengantar pemrograman-dengan-bahasa-java-2017Pengantar pemrograman-dengan-bahasa-java-2017
Pengantar pemrograman-dengan-bahasa-java-2017Katrina Flomina
 
Ppt java
Ppt javaPpt java
Ppt javaakuyuli
 

Similar to Algoritma dan pemrograman (20)

Pengenalan_Materi-Paradigman_PBO-fix.pptx
Pengenalan_Materi-Paradigman_PBO-fix.pptxPengenalan_Materi-Paradigman_PBO-fix.pptx
Pengenalan_Materi-Paradigman_PBO-fix.pptx
 
2- ALGORITMA, FLOWCHART, TIPE DATA, OPERATOR.pptx
2- ALGORITMA, FLOWCHART, TIPE DATA, OPERATOR.pptx2- ALGORITMA, FLOWCHART, TIPE DATA, OPERATOR.pptx
2- ALGORITMA, FLOWCHART, TIPE DATA, OPERATOR.pptx
 
Analisa berorientasi objek
Analisa berorientasi objekAnalisa berorientasi objek
Analisa berorientasi objek
 
Pert 2 PBO
Pert 2 PBOPert 2 PBO
Pert 2 PBO
 
Algoritma dan pemrograman
Algoritma dan pemrogramanAlgoritma dan pemrograman
Algoritma dan pemrograman
 
Struktur Pemrograman Java
Struktur Pemrograman JavaStruktur Pemrograman Java
Struktur Pemrograman Java
 
Bahan ajar-dasar-pemrograman
Bahan ajar-dasar-pemrogramanBahan ajar-dasar-pemrograman
Bahan ajar-dasar-pemrograman
 
Algoritam1
Algoritam1Algoritam1
Algoritam1
 
Pengenalan algoritma
Pengenalan algoritmaPengenalan algoritma
Pengenalan algoritma
 
Materi Java.pptx
Materi Java.pptxMateri Java.pptx
Materi Java.pptx
 
Materi Pemrograman Dasar 1.1 Algoritma Pemrograman.pptx
Materi Pemrograman Dasar 1.1 Algoritma Pemrograman.pptxMateri Pemrograman Dasar 1.1 Algoritma Pemrograman.pptx
Materi Pemrograman Dasar 1.1 Algoritma Pemrograman.pptx
 
Java
JavaJava
Java
 
JavaScript Dasar
JavaScript DasarJavaScript Dasar
JavaScript Dasar
 
pertemuanke 1.ppt
pertemuanke 1.pptpertemuanke 1.ppt
pertemuanke 1.ppt
 
Pengantar pemrograman-dengan-bahasa-java-2017
Pengantar pemrograman-dengan-bahasa-java-2017Pengantar pemrograman-dengan-bahasa-java-2017
Pengantar pemrograman-dengan-bahasa-java-2017
 
java
 java java
java
 
Ppt java
Ppt javaPpt java
Ppt java
 
Materi 1 - Algoritma & Pemrogaman
Materi 1 - Algoritma & PemrogamanMateri 1 - Algoritma & Pemrogaman
Materi 1 - Algoritma & Pemrogaman
 
Makalah java
Makalah javaMakalah java
Makalah java
 
Makalah java
Makalah javaMakalah java
Makalah java
 

Recently uploaded

Memperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptxMemperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptxsalmnor
 
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]Abdiera
 
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfAndiCoc
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptxDEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptxwawan479953
 
PPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptxPPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptxDEAAYUANGGREANI
 
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfAndiCoc
 
power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"baimmuhammad71
 
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAYSOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAYNovitaDewi98
 
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMKAksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMKgamelamalaal
 
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptxBAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptxJuliBriana2
 
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKAKELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKAppgauliananda03
 
1. Kisi-kisi PAT IPA Kelas 7 Kurmer 2024
1. Kisi-kisi PAT IPA Kelas 7 Kurmer 20241. Kisi-kisi PAT IPA Kelas 7 Kurmer 2024
1. Kisi-kisi PAT IPA Kelas 7 Kurmer 2024DessyArliani
 
Konseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusiaKonseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusiaharnosuharno5
 
Panduan Memahami Data Rapor Pendidikan 2024
Panduan Memahami Data Rapor Pendidikan 2024Panduan Memahami Data Rapor Pendidikan 2024
Panduan Memahami Data Rapor Pendidikan 2024RahmadLalu1
 
Pengenalan Figma, Figma Indtroduction, Figma
Pengenalan Figma, Figma Indtroduction, FigmaPengenalan Figma, Figma Indtroduction, Figma
Pengenalan Figma, Figma Indtroduction, FigmaAndreRangga1
 
Prakarsa Perubahan dan kanvas ATAP (1).pptx
Prakarsa Perubahan dan kanvas ATAP (1).pptxPrakarsa Perubahan dan kanvas ATAP (1).pptx
Prakarsa Perubahan dan kanvas ATAP (1).pptxHaryKharismaSuhud
 
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...nuraji51
 
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdfMODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdfAndiCoc
 
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...Kanaidi ken
 

Recently uploaded (20)

Memperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptxMemperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptx
 
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]
 
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptxDEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
 
PPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptxPPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptx
 
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
 
power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"
 
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAYSOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
 
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMKAksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
 
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptxBAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
 
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKAKELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
 
1. Kisi-kisi PAT IPA Kelas 7 Kurmer 2024
1. Kisi-kisi PAT IPA Kelas 7 Kurmer 20241. Kisi-kisi PAT IPA Kelas 7 Kurmer 2024
1. Kisi-kisi PAT IPA Kelas 7 Kurmer 2024
 
Konseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusiaKonseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusia
 
Panduan Memahami Data Rapor Pendidikan 2024
Panduan Memahami Data Rapor Pendidikan 2024Panduan Memahami Data Rapor Pendidikan 2024
Panduan Memahami Data Rapor Pendidikan 2024
 
Pengenalan Figma, Figma Indtroduction, Figma
Pengenalan Figma, Figma Indtroduction, FigmaPengenalan Figma, Figma Indtroduction, Figma
Pengenalan Figma, Figma Indtroduction, Figma
 
Prakarsa Perubahan dan kanvas ATAP (1).pptx
Prakarsa Perubahan dan kanvas ATAP (1).pptxPrakarsa Perubahan dan kanvas ATAP (1).pptx
Prakarsa Perubahan dan kanvas ATAP (1).pptx
 
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
 
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...
 
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdfMODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
 
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
 

Algoritma dan pemrograman

  • 3. Pengenalan Java • Java adalah bahasa pemrograman tingkat tinggi yang sudah menggunakan paradigma berorientasi object • Java dikembangkan oleh James Gosling dan kawankawan saat masuk ke Sun Microsystem pada tahun 1991 • Java tidak berjalan pada level system operasi, tapi pada Java Virtual Machine (JVM) • JVM bisa dijalankan diberbagai system operasi, karena itu java dapat berjalan lintas operating system
  • 4. Pengenalan Java • James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java language project in June 1991 • The language was initially called Oak after an oak tree that stood outside Gosling's office • It went by the name Green later, and was later renamed Java, from a list of random words • Gosling aimed to implement a virtual machine and a language that had a familiar C/C++ style of notation • Sun Microsystems released the first public implementation as Java 1.0 in 1995 • On May 8, 2007, Sun finished the process, making all of Java's core code available under free software/opensource distribution terms (GNU Public License)
  • 5. Java Family Suite 1. Java Standard Edition (Java SE)  For desktop, client/server application 2. Java Enterprise Edition (Java EE)  For e-business, e-commerce web based application 3. Java Micro Edition (Java ME)  For small devices, like palm, handphone, etc
  • 6. Mengapa Java? • Simple and familiar object oriented programming • Architecture neutral (platform independent) • Open Source • First rank in TIOBE Index • De-Facto standard programming language in education
  • 8. Menulis Program Java • Bentuk program: 1. Text-Based Console Application  menggunakan library non-GUI di Java 2. GUI Application  menggunakan AWT atau Swing untuk library GUI • Suatu class bisa dieksekusi karena memiliki method main public static void main(String[] args)  Program Java mulai dari sini!
  • 9. Pengenalan IDE Netbeans • Netbeans adalah Integrated Development Environment (IDE) yang dikembangkan oleh Sun Microsystem. • Pada awalnya, Netbeans dikembangkan untuk menulis program java, tapi saat ini juga bisa digunkan untuk menulis bahasa pemrograman lain seperti PHP, C/C++ dan Groovy • Netbeans menggunakan lisensi General Public License (GPL), jadi bisa didownload dan digunakan secara gratis
  • 11. Pengenalan IDE Netbeans Jendela Project Jendela Editor Jendela Navigasi Jendela Output
  • 12. Membuat Program HelloJava dengan Netbeans
  • 13. Membuat Program HelloJava dengan Netbeans
  • 14. Membuat Program HelloJava dengan Netbeans
  • 15. Membuat Program HelloJava dengan Netbeans
  • 16. Membuat Program HelloJava dengan Netbeans
  • 17. Membuat Program HelloJava dengan Netbeans
  • 18. Membuat Program HelloJava dengan Netbeans
  • 19.
  • 20.
  • 22. Pengenalan Algoritma • Algoritma? • Algoritma adalah langkah-langkah yang diambil untuk menyelesaikan suatu tugas tertentu • Langkah-langkahharus tersusun secara logis dan efisien agar dapat menyelsaikan tugas dengan tepat dan cepat • Langkah-langkah tersebut diselesaikan/dijalankan oleh alat/tools komputer
  • 23. Pengenalan Algoritma • Algoritma merupakan gabungan antara SENI dan TEKNIK • Senikarena algoritma penuh dengan kreatifitas dan imajinasi yang jenius • Teknikkarena algoritma diterapkan dikomputer yang penuh dengan tools dan metodelogi
  • 24. Pengenalan Algoritma • Algoritma adalah sekumpulan instruksi yang apabila dijalakan akan menyelesaikan suatu tugas tertentu • Setiap algoitma harus memenuhi kriteria sebagai berikut: ▫ Tidak harus ada masukan (input) dari luar ▫ Harus punya sesuatu yang dihasilkan, minimal satu keluaran (output) ▫ Setiap instruksi harus jelas dan tidak meragukan ▫ Algoritma secara keseluruhan (termasuk sub algoritma) harus punya titk awal dan titk berhenti
  • 25. Pengenalan Algoritma ▫ Setiap instruksi harus jelas, dapat dilaksanakan dan efektif. Sebagai contoh A = A + 0 atau A = A*1 adalah instruksi yang tidak efektif (useless) • Algoritma adalah inti dari ilmu informatika • Sebuah program adalah gabungan antara algoritma dan struktur data
  • 26. Algoritma dan Bahasa Pemrograman • Belajar algoritma berbeda dengan belajar bahasa pemrograman • Belajar algoritmabelajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam bentuk notasi yang mudah dipahami • Belajar bahasa pemrograman belajar memakai suatu bahasa, aturan, karakteristik instruksi dan tata cara pengoperasian compilernya serta memanfaatkan semua hal tersebut untuk membuat program dengan bahasa itu saja.
  • 27. Pengenalan Algoritma • Contoh Soal 1 ▫ Diketahui dua bilangan masing-masing bernilai 4 dan 5. Buat algoritma untuk menampilkan kedua bilangan tersebut, kemudian buat programnya dalam bahasa java!
  • 28. Pengenalan Algoritma • Jawab Algoritma TotalBilangan1 DEKLARASI A, B, T : integer DESKRIPSI A4 B5 TA+B write(T)
  • 33. Pengenalan Algoritma • Eksekusi program 4 5 9 A B T
  • 34. Pengenalan Algoritma • Eksekusi program 4 5 9 A B T 9
  • 35. Pengenalan Algoritma • Contoh Soal 2 ▫ Susun sebuah algoritma untuk menginput dua buah bilangan, kemudian menampilkan total kedua bilangan tersebut!
  • 36. Pengenalan Algoritma • Jawab Algoritma TotalBilangan2 DEKLARASI A, B, T : integer DESKRIPSI write(“Masukan bilangan pertama”) read(A) write(“Masukan bilangan kedua”) read(B) TA+B write(“Jumlah:”+T)
  • 39. Pengenalan Algoritma • Eksekusi Program A B T Masukan bilangan pertama
  • 40. Pengenalan Algoritma • Eksekusi Program A B T Masukan bilangan pertama _
  • 41. Pengenalan Algoritma • Eksekusi Program 4 A B T Masukan bilangan pertama 4 Masukan bilangan kedua
  • 42. Pengenalan Algoritma • Eksekusi Program 4 A B T Masukan bilangan pertama 4 Masukan bilangan kedua _
  • 43. Pengenalan Algoritma • Eksekusi Program 4 5 9 A B T Masukan bilangan pertama 4 Masukan bilangan kedua 5
  • 44. Pengenalan Algoritma • Eksekusi Program 4 5 9 A B T Masukan bilangan pertama 4 Masukan bilangan kedua 5 Jumlah: 9
  • 46. Pengenalan Algoritma • Eksekusi program alternatif A T
  • 47. Pengenalan Algoritma • Eksekusi program alternatif 0 A T
  • 48. Pengenalan Algoritma • Eksekusi program alternatif A T Masukan bilangan pertama
  • 49. Pengenalan Algoritma • Eksekusi program alternatif A T Masukan bilangan pertama _
  • 50. Pengenalan Algoritma • Eksekusi program alternatif 4 4 A T Masukan bilangan pertama 4
  • 51. Pengenalan Algoritma • Eksekusi program alternatif 4 4 A T Masukan bilangan pertama 4 Masukan bilangan kedua
  • 52. Pengenalan Algoritma • Eksekusi program alternatif 4 4 A T Masukan bilangan pertama 4 Masukan bilangan kedua _
  • 53. Pengenalan Algoritma • Eksekusi program alternatif 5 9 A T Masukan bilangan pertama 4 Masukan bilangan kedua 5
  • 54. Pengenalan Algoritma • Eksekusi program alternatif 5 9 A T Masukan bilangan pertama 4 Masukan bilangan kedua 5 Jumlah: 9
  • 55. Pengenalan Algoritma • Untuk selanjutnya akan lebih mudah jika notasi algoritma langsung ditulis dalam bentuk syntax java. • Selain karena tujuannya sama, juga untuk menghindari redundansi penulisan dan bisa langsung diimplementasikan dalam program
  • 57. 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
  • 58. 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;
  • 60. Pengarah Tipe (Type-Casting) • Pengarah Tipe (Type-Casting) • Contoh: double i = 10.56; int paksa = (int) i; Hasil  paksa = 10 • Casting tanpa menghilangkan nilai:
  • 61. 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
  • 63. Latihan: Hitung LuasLingkaran • 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
  • 65. Variabel dan Tipe Data • Variabel adalah lokasi dalam memori komputer yang digunakan untuk menyimpan data(nilai) • Nilai variabel dapat diubah dimanapun dalam program • Variabel harus dideklarasikan sebelum digunakan • Contoh dalam algoritma ▫ A: integer ▫ B : float ▫ C : boolean
  • 66. Variabel dan Tipe Data • Contoh dalam program java
  • 67. Variabel dan Tipe Data • Berdasarkan lingkup, variabel ada 4, yaitu: ▫ Local variable  digunakan dalam fungsi atau blok pernyataan yang lebih kecil ▫ Parameter  variabel yang ada dalam deklarasi fungsi (argument) ▫ Instance Variable  variabel yang nilainya berbeda pada masing-masing object ▫ Class Variable  variabel yang berlaku pada suatu class dan nilainya sama pada setiap object yang merupakan instance dari class tersebut
  • 68. Variabel dan Tipe Data • Tipe data adalah jenis atau tipe dari variabel • Tipe data primitif  tipe data standar yang uniq dan berdiri sendiri, contoh: ▫ integer  tipe data untuk bilangan bulat ▫ float  tipe data untuk bilangan pecahan ▫ boolean  tipe data untuk kondisi benar atau salah ▫ char  tipe data untuk character ▫ string tipe data untuk text
  • 69. Variabel dan Tipe Data • Tipe data Reference  tipe data bentukan seperti class atau record, contoh: ▫ ▫ ▫ ▫ String Integer Double Entity
  • 70. Variabel dan Tipe Data • Dalam bahasa java, batasan masing-masing tipe data adalah sebagai berikut:
  • 71. Variabel dan Tipe Data • Constant Variable adalah variabel yang nilainya tidak berubah(tetap) • Dalam bahasa java, constant variable dideklarasikan dengan keyword final di depan tipe data • Jika dideklarasikan dalam class, maka digabungkan dengan keyword static • Contoh: ▫ Static final int A = 5
  • 72. 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
  • 73. 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;
  • 74. Modifer • 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
  • 75. 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
  • 77. 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)
  • 81. Operator • Operator adalah simbol dan karakter khusus(matematika) yang digunakan dalam suatu expresi • Contoh: ▫ ▫ ▫ ▫ int x = 5; int y = x; int z = x * y; boolean status = true;
  • 83. Jenis Operator Berdasar Operand • Operator Unary  operator yang melibatkan satu buah operand • Operator Binary  operator yang melibatkan dua operand • Operator Ternary  operator yang melibatkan tiga operand
  • 84. Jenis Operator 1. 2. 3. 4. 5. 6. Operator Aritmatika Operator Penugasan Operator Penggabungan Operator Increment dan Decrement Operator Pembanding Operator Logika
  • 85. Operator Aritmatika • Hasil operasi matematika akan mengikuti tipe data operand • Operand bertipe int akan menghasilkan int
  • 87. 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)
  • 89. 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);
  • 90. Increment dan Decrement • Increment: menambahkan 1 ke nilai variabel (operator = ++, prefix atau postfix) int x=5; y = x++; (nilai saat ini : y = 5, x=6) int x=5; y = ++x; (nilai saat ini: y = 6, x=6) • Decrement: mengurangkan 1 ke nilai variabel (operator = --) int x=5; y = x--; (nilai saat ini: y = 5, x=4) int x=5; y = --x; (nilai saat ini: y = 4, x=4)
  • 91. Latihan Increment1: Tampilkan Nilai x, y dan z
  • 92. Latihan Decrement1: Tampilkan Nilai x, y dan z
  • 93. Latihan Increment2: Tampilkan Nilai x, y dan z
  • 94. Latihan Decrement2: Tampilkan Nilai x, y dan z
  • 95. Operator Pembanding (Relasional) • Operator pembanding menggunakan ekspresi dengan nilai balik boolean (true or false)
  • 96. Perbandingan Bilangan Bulat • Operator == akan menghasilkan true jika kedua operand adalah sama ▫ int a = 5; ▫ boolean hasilBanding = a == 5; • Level Operator perbandingan lebih rendah dari operator aritmatika, maka jika expresinya adalah: ▫ boolean hasilBanding = 10 > 5+7 ▫ hasilBanding akan bernilai false
  • 97. Perbandingan Bilangan Pecahan • Hindari penggunaan operator == untuk membandingkan bilangan pecahan. • Hal ini untuk menghindari nilai pecahan bilangan tersebut yang mungkin tidak tampak(error roundof) • Untuk membandingkan bilangan pecahan dengan bilangan yang dekat, gunakan konstanta yang nilainya sudah ditetapkan. ▫ final boolean e = 1e -10; ▫ boolean hasilBanding = x <= e;
  • 98. Perbandingan String • Untuk membandingkan String, gunakan fungsi equals ▫ boolean hasilBanding = string1.equals(string2); • == membandingkan identitas • Equals membandingkan content(value) • Untuk membandingkan case sensitif, gunakan fungsi equalsIgnoreCase()
  • 101. Operator Logika && || ! operasi logika AND operasi logika OR operasi logika NOT Operator logika menggunakan ekspresi dengan nilai balik Boolean (true or false)
  • 105. Pernyataan Penentu Keputusan 1. if, if-else, if-else if – else 2. switch
  • 106. 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 }
  • 109. 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 }
  • 112. Pernyataan if dan if-else
  • 113. Latihan • Buat algoritma program untuk menentukan bilangan terbesar diantara dua bilangan yang diinisialisasi dari program!
  • 114. 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 }
  • 117. Latihan • Buat algoritma dan program untuk menentukan dan menampilkan hasil operasi matematika dari dua bilangan yang sudah ditentukan dengan pilihan operasi tambah, kurang, kali dan bagi!
  • 118. Operator Ternary (Kondisi) • Pernyataan kondisi yang menggunakan operator ternary (melibatkan tiga buah operand) • Bentuk: ekspresi_kondisi ? nilai_1 : nilai_2
  • 120. 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; }
  • 123. 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) • Tampilkan hasilnya dengan: Masukkan tahun: 1900 Masukan bulan: 2 Jumlah hari pada tahun 1900 bulan 2 adalah 28 hari
  • 124. Syarat Tahun Kabisat 1. Tahun yang habis dibagi 400 OR 2. Tahun yang habis dibagi 4 AND tidak habis dibagi 100
  • 126. Pernyataan Pengulangan Proses 1. for 2. while 3. do-while
  • 127. for • for sering disebut for loop, karena digunakan untuk proses looping atau pengulangan • Bentuk: for (inisialisasi; kondisi; penaikan_penurunan){ pernyataan }
  • 130.
  • 132. 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 }
  • 134. Latihan Tampilkan bilangan genap antara 1 sampai 20 dengan menggunakan: 1. Pernyataan FOR 2. Pernyataan WHILE
  • 135. 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);
  • 139. 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; }
  • 140. break • Penyataan break digunakan untuk keluar dari suatu pengulangan (loop) • Penggunaan break bisa berbentuk tanpa label atau berlabel
  • 143. 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
  • 145. Latihan • Buatlah algoritma program untuk menampilkan 100 suku pertama dari deret 5,8,11,14,17,20, … • Skip eksekusi looping pada loop ke 10, 20 dan 30 • Hentikan looping jika loop sudah sampai pada loop ke 50 • Buat dengan looping for dan while
  • 147. Definisi Fungsi • Fungsi adalah sekumpulan ekspresi dan pernyataan (sub program) yang akan dieksekusi jika nama fungsinya dipanggil • Fungsi bisa mengembalikan nilai (return value) dan tidak mengembalikan nilai • Fungsi dideklarasikan dengan memberikan type return valuenya • Fungsi yang tidak mengembalikan return valuenya dideklarasikan dengan type void
  • 148. Definisi Fungsi • Fungsi bisa mempunyai 0 atau lebih parameter • Pada sebuah program java, nama fungsi bisa sama asal mempunyai parameter berbeda (jumlah atau type parameter) • Fungsi digunakan untuk mengeksekusi sekumpulan syntax yang kemungkinan dipanggil sekali atau lebih dari program
  • 149. Definisi Fungsi • Program java harus mempunyai minimal 1 buah fungsi • Fungsi main harus ada dalam program java agar bisa dijalankan (Run)
  • 152. Variable Scope • Dalam fungsi bisa terdapat 0 atau lebih variabel • Variabel yang dideklarasikan dalam fungsi hanya berlaku dalam fungsi itu saja • Variabel yang dideklarasikan diclass bisa diakses dari fungsi manapun dalam class tersebut • Penamaan variable class bisa sama dengan variabel fungsi, untuk membedakannya pemanggilan variabel class menggunakan keyword this
  • 155. Recursive • Rekursif adalah fungsi yang memanggil dirinya sendiri
  • 156. Recursive Pemanggilan fungsi Deklarasi fungsi Kontrol rekursif berakhir Pemanggilan dirinya sendiri (rekursif)
  • 158. 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. 2. Mendeklarasikan variabel array Menciptakan objek array
  • 159. Deklarasi Variabel Array • Bentuk Deklarasi: tipePrimitif[] namaVariabel; namaKelas[] namaVariabel; • Contoh: String[] kota; int[] nomor;
  • 160. 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];
  • 162. Mengakses Elemen Array • Bentuk Deklarasi namaVariabelArray[nomorElemen]; • Contoh: kota[0] = “Surabaya”;
  • 164. ArrayMataKuliah.java Deklarasi variabel array Mengisi elemen array Menampilkan elemen array
  • 167. Deklarasi dan Pemberian Nilai Array
  • 168. Deklarasi dan Pemberian Nilai Array 1. Deklarasikan array: double[] value = new doublee[10]; 2. Gunakan [ ] untuk mengakses elemen: values[2] = 29.95;
  • 169. Latihan • Buatlah algoritma program untuk mencari nilai terbesar dari sejumlah elemen array! • Elemen array dimasukan dari keyboard menggunakan object scanner! • Tampilkan elemen terbesar ke layar out put!
  • 170. Array Multidimensi • Array multiidimensi adalah array yang mempunyai dimensi lebih dari satu • Array multidimensi dua dimensi adalah array dari array , dengan konsep pengaksesan [noBaris][noKolom]
  • 172. Latihan 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
  • 174. 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
  • 176. 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");
  • 177. Menghapus Elemen • Untuk menghapus elemen pada suatu indeks, menggunakan method remove: names.remove(1);
  • 178. 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
  • 179. Menambah Nilai Baru ke Elemen • Untuk menambahkan nilai baru ke elemen, digunakan method set: names.set (2, "Carolyn");
  • 181.
  • 182. Looping untuk Array dan ArrayList
  • 183.
  • 184. 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 2. Tampilkan seluruh isi dari ArrayList artis 3. Tambahkan 1 artis di ke akhir elemen 4. Tampilkan seluruh isi dari ArrayList artis 5. Sisipkan 2 artis pada indeks 1 dan 4 6. Tampilkan seluruh isi dari ArrayList artis 7. Ganti indeks 3 dengan artis lain 8. Tampilkan seluruh isi dari ArrayList artis
  • 185. Tugas • Kerjakan semua latihan dan tugas yang ada di slide Algoritma dan pemrograman 2 • Kirimkan netbeans project yang sudah di zip ke ahza07@gmail.com dengan subyek: [ALG-PRG2] Nama–NIM • Deadline: 2 minggu • Meng-copy file orang lain akan menyebabkan nilai tugas 0
  • 186. Referensi 1. Sharon Zakhour et al, The Java Tutorial Fourth Edition, http://java.sun.com/docs/books/tutorial 2. Cay Horstmann, Big Java, John Wiley & Sons, 2010 3. Rogers Cadenhead & Laura Lemay, Teach Yourself Java 6 in 21 Days, Sams Publishing, 2007 4. Deitel & Deitel, Java for Programmers, Prentice Hall, 2009 5. Robert Lafore, Data Structures and Algorithms in Java Second Edition, Sams Publishing, 2003 6. Tim Pengembang JENI, JENI 1-6, Depdiknas, 2007 7. Rachmad Hakim & Sutarto, Mastering Java, Elex Media Komputindo, 2009