Logika dan Algoritma
Pengenalan Bahasa
Pemrograman Java
Apa yang Disebut Java ?
2
Bahasa pemrograman berorientasi objek murni
yang dibuat berdasarkan kemampuan-kemampuan
terbaik bahasa pemrograman objek sebelumnya
(C++ 1980, Ada, Simula).
Diciptakan oleh James Gosling, developer dari Sun
Microsystems pada tahun 1991.
Pada Tahun 2010 Java dibeli oleh Oracle hingga
sekarang
Karakteristik Java
3
Sederhana, semudah C dan seampuh C++: berlawanan
dengan anggapan orang-orang bahwa bahasa Java sulit untuk
dipelajari, Java gampang untuk dipelajari terutama untuk
orang yang sudah mengenal pemrograman tapi belum terlalu
terikat pada paradigma pemrograman prosedural.
Tentu saja ini berarti bahwa kita harus siap mempelajari
salah satu teknologi yang berkembang paling cepat di dunia
dalam dua tahun terakhir ini dengan banyak membaca
tentunya baik dari buku maupun melalui web.
Karakteristik Java
4
Sangat berorientasi obyek (OOP) dengan
implementasi yang sangat baik
Arsitekturnya yang kokoh dan pemrograman yang
aman.
Dalam Java program yang kita buat tidak mudah
untuk “hang” karena konflik pada memori biasanya
diselesaikan dengan mengumpulkan obyek-obyek
yang sudah tak terpakai lagi secara otomatis oleh
garbage collector.
Penanganan kesalahan juga dipermudah dalam
Java dengan konsep Exception
Karakteristik Java
5
Bukan sekedar bahasa tapi juga platform sekaligus arsitektur. Java
Mempunyai portabilitas yang sangat tinggi. Ia dapat berada pada
smartcard, pager, POS (Point of Service), handphone, PDA, palm, TV,
Embedded device (PLC, micro controller), laptop, pc, dan bahkan
server).
Menyadari akan hal ini Sun membagi arsitektur Java membagi tiga
bagian, yaitu:
Enterprise Java (J2EE) untuk aplikasi berbasis web, aplikasi sistem tersebar dengan beraneka
ragam klien dengan kompleksitas yang tinggi. Merupakan superset dari Standar Java
Standard Java (J2SE), ini adalah yang biasa kita kenal sebagai bahasa Java, dan merupakan fokus
kita sekarang.
Micro Java (J2ME) merupakan subset dari J2SE dan salah satu aplikasinya yang banyak dipakai
adalah untuk wireless device/mobile device
Karakteristik Java
6
Program Java dijalankan menggunakan interpreter
melalui Java Virtual machine (JVM). Hal ini
menyebabkan source code Java yang telah
dikompilasi menjadi Java bytecodes dapat
dijalankan pada platform yang berbeda-beda.
Fitur-fitur utama yang lain:
- Mendukung multithreading.
- Selalu memeriksa tipe obyek pada saat runtime.
Java Sun Microsystem
7
Java 2 Software Developer Kit (J2SDK)
Windows
Solaris SPARC
MacOS
Linux
Versi terbaru Java SE 13.01 release 16
April 2019.
[Link]
ase/downloads/[Link]
ml
Bagaimana Java Bekerja ?
8
Bagaimana Java Bekerja ? ( lanjutan )
9
Java Platform
10
Platform dapat diartikan sebagai lingkungan perangkat keras atau
perangkat lunak dimana program dijalankan. Umumnya platform
berdasarkan nama sistem operasi yang digunakan, misalnya
Windows 2000, Linux, Solaris, atau MacOS.
Platform Java mempunyai dua komponen, yaitu:
Java Virtual machine (Java VM)
Merupakan fondasi untuk platform Java yang dapat digunakan
di berbagai platform perangkat keras.
Java Application Programming Interface (Java API)
Kumpulan komponen-komponen perangkat lunak siap pakai
(ready-made software components) untuk berbagai keperluan
Membuat Program Java
11
Persiapan
Download dan Instalasi J2SDK
Setting jalur eksekusi
Download tools development kit
Penulisan program:
Menulis program
Kompilasi
Eksekusi
Persiapan
12
Download dan Installasi J2SDK
[Link]
downloads/[Link]
Download Netbeans
[Link]
Setting jalur eksekusi
Settings – Control Panel – System – Advanced –
Environment Variables
Identifier di Java
13
Identifier adalah nama yang diberikan kepada variabel, method,
kelas, paket, dan interface
Adapun tatacara penamaan identifier:
1. Case sensitive, huruf kapital dan kecil dibedakan
2. Identifier yang diberikan oleh pemrogram tidak boleh sama
dengan keyword yang ada di Java
3. Dimulai dengan huruf atau underscore (garis bawah) atau tanda
($). Namun sebisa mungkin diawali dengan huruf karena
mungkin identifier dengan awalan underscore dan ($) digunakan
untuk pemrosesan internal dan file import
4. Karakter berikutnya dapat berupa huruf atau angka 0 sampai 9.
5. Simbol-simbol seperti ‘+’ dan spasi tidak dapat digunakan
Contoh Penulisan Nama Variabel yang Diizinkan
14
@2var
_status
tanggal
jumlahBarang
nama_kecil
final_test
int_float
OPERATOR
Tipe Data di Java
16
Tipe data dalam Java dibagi dalam dua
kategori:
1. Sederhana (primitif)
2. Komposit (referensi)
Tipe data sederhana (primitif)
17
Tipe data sederhana merupakan tipe inti. Tipe sederhana
tidak diturunkan dari tipe lain. Terdapat delapan tipe data
primitif di Java:
- Empat tipe adalah untuk bilangan
bulat (integer) : byte, short, int, long
- Dua untuk tipe angka pecahan (floating point):
float, double
- Satu untuk tipe karakter, yaitu char
- Satu untuk tipe boolean yang berisi nilai
logika: true/false
Tipe data sederhana (primitif)
18
Integer:
Tipe
Panjang Rentang Nilai Contoh Nilai
Data
byte 8 bit -27 sampai 27 - 1 5
(-128 sampai 127 ) -126
(256 kemungkinan nilai)
short 16 bit -215 sampai 215 - 1 9
(-32.768 sampai 32.767) -23659
(65.535 kemungkinan nilai)
int 32 bit -231 sampai 231 - 1 2067456397
( -[Link] sampai -1456398567
[Link])
([Link] kemungkinan
nilai)
long 64 bit -2-63 sampai 263 - 1 3L
( -[Link].854.775.808 -
sampai 2147483648L
[Link].854.775.807)
([Link].709.551.616 67L
kemungkinan nilai)
Tipe data sederhana (primitif)
19
Floating Point:
Tipe data floating point merupakan tipe data untuk untuk
variabel yang nilai-nilainya adalah bilangan real (dapat
mempunyai pecahan desimal).
Tipe Contoh Penulisan Nilai
Panjang
Data yang Diperbolehkan
float 32 bit 78F
-34736.86F
6.4E4F ( sama dengan
6,4 x 104 )
double 64 bit -2356
3.5E7
67564788965.567
Tipe data sederhana (primitif)
20
Char:
Tipe data textual merupakan tipe data untuk variabel yang nilai-
nilainya adalah karakter tunggal.
Tipe data yang merupakan tipe data textual adalah char yang
memiliki panjang 16 bit.
Nilai variabel char ditulis dengan diberi tanda kutip tunggal ‘...’.
Berikut contoh penggunaan tipe data char :
public char alphabet = ‘A’;
public char ascii = ‘\111’; // jika dicetak, akan menghasilkan
// huruf ‘I’;
Tipe data sederhana (primitif)
21
Logika (Boolean):
Tipe data logika adalah tipe data yang hanya memiliki 2
kemungkinan nilai, yaitu true atau false. Hanya satu tipe data logika
pada teknologi Java, yaitu boolean. Berikut contoh penggunaan tipe
data boolean :
public boolean status = true;
public boolean check = 10 < 5 ; // nilai check menjadi
// false
Tipe Data Komposit
22
Tipe data komposit merupakan tipe data yang disusun dari tipe data
sederhana atau tipe komposit lain yang sudah ada.
Tipe ini dapat berupa array, string, kelas, dan interface.
Khusus untuk String pada Java dikenali sebagai kelas, bukan sebagai array of
character. String pada Java diapit oleh tanda petik ganda (“.....”), contoh:
String s=”Saya makan nasi”;
Promosi dan Casting
23
Promosi adalah proses pengubahan representasi bit variabel
primitif dari representasi bit yang lebih rendah ke
representasi bit yang lebih tinggi. Promosi dapat terjadi
apabila :
A. Jika terjadi assigning nilai dari tipe data dengan
representasi bit yang lebih kecil ke tipe data dengan
representasi bit yang lebih besar, seperti yang diperlihatkan
pada contoh berikut ini:
short a = 12;
int b = a ;
B. Jika terjadi assigning nilai dari tipe data integral ke tipe
data floating-point, seperti yang diperlihatkan pada contoh
int a = 30;
float b = a ;
Promosi dan Casting
24
Casting tipe merupakan proses pengubahan representasi bit
variabel primitif dari representasi bit yang lebih tinggi ke
representasi bit yang lebih rendah. Sintak dari type casting
adalah sebagai berikut :
identifier = (target_type) value ;
ket:
identifier = nama variabel yang menjadi tempat
penyimpanan nilai;
target_type= tipe data yang diinginkan menjadi tipe data
dari value;
value = nilai yang akan di-casting.
Promosi dan Casting
25
Berikut contoh casting tipe
int num1 = 34;
int num2 = 45;
short num3 = (short)(num1 + num2 );
[Link](num3);
Operator di Java
26
Operator Unary
Arti Operator Operator Contoh Pemakaian
Pre-Increment ++operand int i = 8 ;
int j = ++i;
i bernilai 9, j bernilai 9
Post-Increment operand++ int i = 8;
int j = i++;
i bernilai 9, j bernilai 8
Pre-Decrement --operand int i = 8 ;
int j = --i;
i bernilai 7 , j bernilai 7
Post-Increment operand-- int i=8;
int j = i--;
i bernilai 7, j bernilai 8
27
Operator Binary
Arti Operator Operator Contoh Pemakaian Keterangan
Penjumlahan + sum=num1 + num2
Pengurangan - diff=num1 - num2
Perkalian * prod=num1 * num2
Pembagian / quot=num1 / num2 jika num1 dan num2 adalah integer,
pembagian akan menghasilkan nilai integer
tanpa mengikutsertakan sisa, jika terdapat
sisa.
Sisa % mod=num1 % num2 Hasil operasi modulus adalah sisa dari
operasi num1 / num2.
(modulus)
Hasil operasi modulus memiliki tanda ( +/- )
yang sama dengan operand pertama
Prioritas Operator
28
operator yang berada dalam tanda kurung “( ... )” atau
disebut juga parantheses;
operator-operator increment atau decrement;
operator - operator perkalian atau pembagian, yang urutan
operasinya dari kiri ke kanan;
operator-operator penjumlahan atau pengurangan, yang
urutan operasinya dari kiri ke kanan;
29
Contoh
int c = 12 * 3 +5 / (8 - 3) ;
Maka urutan operasinya adalah sebagai berikut :
int c = 12 * 3 + 5 / 5 ;
int c = 36 + 5 / 5;
int c = 36 + 1 ;
int c = 37;
30
Operator Relasi
Condition Operator Example
Is equal to int i = 1;
== [Link](i==1); // (output
(atau “is the same as”) : true)
Is not equal to int i = 1;
(atau “is not the same != [Link](i!=1); // (output
as”) : false)
int i = 1;
Is less than < [Link](i<1); //
(output : false)
int i = 1;
Is less than or equal to <= [Link](i<=1);
//(output : true)
int i = 1;
Is greater than > [Link](i>1); //(output :
false)
int i = 1;
Is greater than or equal
>= [Link](i>=1); // (output
to
: true)
31
Operator kondisional
Condition Operator Example
If one condition AND another && int i = 1;
condition int j = 2;
[Link]((i<1)&&(j>0));
// (output : false)
If either condition OR another || int i = 1;
condition int j = 2;
[Link]((i<1)||(j>0));
// (output : true)
NOT ! int i = 1;
[Link](!(i<3));
// (output : false)
Kata Kunci Final
32
Dalam aplikasi terkadang dibutuhkan suatu
variabel yang dicegah untuk dimodifikasi oleh
program lainnya. Hal ini dilakukan untuk
menjaga agar logika program tetap terjaga.
Untuk membuat konstanta, digunakan sebuah
modifier final.
Kata Kunci Final
33
Contoh
class Lingkaran{
final double pi = 3.14; //konstanta yg nilainya tidak
dapat
//diubah lagi oleh program lain
double jari2;
double luas;
public double hitungLuas(){
luas = pi*jari2*jari2;
return luas;
}
public double hitungKeliling(){
return 2*pi*jari2;
}
}
Tugas Studi Kasus
Buat program pengukur berat badan ideal.
Program yang dapat menampilkan bilangan
genap dari 2 sampai n deret kecuali bilangan
genap tersebut kelipatan 4.
Contoh:
input n : 20
output : 2, 6, 10, 14, 18