Anda di halaman 1dari 95

ALGORITMA, FLOWCHART, TIPE

DATA, OPERATOR
Muhammad Ridwan Arif Cahyono
ALGORITMA
Public static void main String arg
means?
The Main method is the method in which execution to any java program begins.
A main method declaration looks as follows:
public static void main(String args[]){
}

The method is public because it be accessible to the JVM to begin execution of the
program.
It is Static because it be available for execution without an object instance. you may
know that you need an object instance to invoke any method. So you cannot begin
execution of a class without its object if the main method was not static.
It returns only a void because, once the main method execution is over, the
program terminates. So there can be no data that can be returned by the Main
method
The last parameter is String args[].This is used to signify that the user may opt to
enter parameters to the java program at command line.We can use both String[]
args or String args[].The Java compiler would accept both forms.
Algoritma
Adalah inti dari ilmu
komputer.
Algoritma adalah urutan
langkah-langkah logis
penyelesaian masalah yang
disusun secara sistematis
dan logis.
Algoritma

Kata logis merupakan kata kunci dalam algoritma.


Algoritma adalah urutan-urutan dari instruksi atau langkah-
langkah untuk menyelesaikan suatu masalah.
Urutan langkah logis, yang berarti algoritma harus mengikuti
suatu urutan tertentu, tidak boleh melompat-lompat.
Algoritma
Alur pemikiran dalam menyelesaikan suatu pekerjaan yang
dituangkan secara tertulis.
Alur pikiran, sehingga algoritma
seseorang dapat juga berbeda dari
algoritma orang lain.
Tertulis, yang artinya dapat berupa
kalimat, gambar, atau tabel tertentu.
Algoritma

Langkah-langkah dalam
algoritma harus dapat
ditentukan bernilai benar atau
salah.
Algoritma
Algoritma adalah blueprint dari program.
Sebaiknya disusun sebelum membuat program.
Kriteria suatu algoritma:
Ada input dan output
Efektif dan efisien
Terstruktur
Algoritma Dalam Kehidupan
Algoritma adalah jantung ilmu komputer atau
informatika. Banyak cabang ilmu komputer yang diacu
dalam terminologi algoritma.
Algoritma juga digunakan dalam kehidupan sehari-hari,
contohnya resep makanan. Di dalam resep makanan
terdapat langkah-langkah yang merupakan algoritma.
Algoritma dalam Kehidupan
Algoritma dalam Kehidupan
Kriteria Algoritma
Input: algoritma dapat memiliki nol atau lebih
inputan dari luar.
Output: algoritma harus memiliki minimal satu
buah output keluaran.
Definiteness(pasti): algoritma memiliki instruksi-
instruksi yang jelas dan tidak ambigu.
Kriteria Algoritma
Finiteness (ada batas): algoritma harus memiliki
titik berhenti (stopping role).
Effectiveness(tepat dan efisien): algoritma sebisa
mungkin harus dapat dilaksanakan dan efektif.
Contoh instruksi yang tidak efektif adalah: A = A +
0 atau A = A * 1
Jenis Proses Algoritma
Sequence Process: instruksi dikerjakan secara
sekuensial, berurutan.
Selection Process: instruksi dikerjakan jika memenuhi
kriteria tertentu
Iteration Process: instruksi dikerjakan selama
memenuhi suatu kondisi tertentu.
Concurrent Process: beberapa instruksi dikerjakan
secara bersama.
Sifat Algoritma (Umum)
Tidak menggunakan simbol atau sintaks dari suatu bahasa
pemrograman
Tidak tergantung pada suatu bahasa pemrograman
Notasi-notasinya dapat digunakan untuk seluruh bahasa
manapun
Contoh Algoritma 1
Mengirim surat kepada teman:
1.Tulis surat pada secarik kertas surat.
2. Ambil sampul surat.
3. Masukkan surat ke dalam sampul.
4.Tutup sampul surat menggunakan perekat.
5. Jika kita ingat alamat teman tersebut, maka
tulis alamat pada sampul surat.
6. Jika tidak ingat, lihat buku alamat, kemudian
tulis alamat pada sampul surat.
7.Tempel perangko pada surat.
8. Bawa surat ke kantor pos untuk diposkan.
Contoh Algoritma 2
Mengupas Kentang untuk Makan Malam
Ibu Tati mengambil kantong kentang dari rak
Ibu Tati mengambil panci dari almari
Ibu Tati mengupas kentang
Ibu Tati mengembalikan kantong kentang dari rak
Contoh Algoritma 2 (lanjt)
Ada hal yang tergantungpada sesuatu:
Ibu Tati mengambil kantong kentang dari rak
Ibu Tati mengambil panci dari almari
Lakukan persiapan, gunakan celemek, pakaian
tergantung hari
Ibu Tati mengupas kentang
Ibu Tati mengembalikan kantong kentang dari rak
Kondisi dari Alg. 2
Hari Sabtu :
Ibu Tati melihat bahwa bajunya tidak berwarna
muda karena itu ia tidak memakai celemek(berarti
tidak ada aksi memakai celemek)
Hari Minggu:
Ibu Tati melihat bahwa bajunya berwarna muda
karena itu ia memakai celemek
Kondisi dari Alg. 2
Jadi:
Ambil kantong kentang dari rak
Ambil panci dari almari
Depend on warna baju
berwarna muda : Pakai celemek
tidak berwarna muda :Tidak pakai celemek
Kupas kentang
Kembalikan kantong kentang ke rak
Kondisi dari Alg. 2
Karena dapat pesanan, maka kentang yg harus dikupas
500 buah
tergantung pada jumlah kentang yang sudah dikupas
belum cukup : Kupas 1 kentang
cukup : selesai
Atau:
while jumlah kentang terkupas belum cukup do
Kupas 1 kentang
Kondisi dari Alg. 2

Bisa jadi pada saat mengupas kentang tergantung pada


kentangnya, jika rusak / busuk, buang, tidak dikupas
Jadi:
Jika jumlah kentang terkupas belum cukup do
Tergantung pada kondisi kentang
Busuk: buang dan cari kentang berikutnya, tidak dihitung
Tidak Busuk: kupas 1 kentang
Contoh Algoritma 3
Menentukan apakah suatu bilangan merupakan
bilangan ganjil atau bilangan genap.
Masukkan sebuah bilangan sembarang
Bagi bilangan tersebut dengan bilangan 2
Hitung sisa hasil bagi pada langkah 2.
Bila sisa hasil bagi sama dengan 0 maka bilangan itu adalah
bilangan genap tetapi bila sisa hasil bagi sama dengan 1 maka
bilangan itu adalah bilangan ganjil.
Contoh 4
Algoritma menghitung luas persegi panjang:
Masukkan panjang (P)
Masukkan lebar (L)
Luas P * L
Tulis Luas
Pseudo Code
Kode atau tanda yang menyerupai (pseudo) program atau
merupakan pejelasan cara menyelesaikan suatu masalah.
Pseudo-code sering digunakan oleh manusia untuk
menuliskan algoritma
Contoh
Problem:mencari bilangan terbesar dari dua bilangan yang
diinputkan
Contoh Algoritma:
Masukkan bilangan pertama
Masukkan bilangan kedua
Jika bilangan pertama > bilangan kedua maka kerjakan
langkah 4, jika tidak, kerjakan langkah 5.
Tampilkan bilangan pertama
Tampilkan bilangan kedua
Contoh
Contoh Pseudo-code:
Input a
Input b
If a > b then kerjakan langkah 4
print a
print b
Perbandingan

Algoritma Pseudo-code
Nilai A ditambah dengan 5 A A + 5
Cetak nilai A bila lebih besar dari 10 IF A > 10 THEN PRINT A
Dari dua bilangan A dan B, cari bilangan yang IF A > B THEN PRINT A ELSE PRINT
terbesar B
Bagian Program
Suatu program pada dasarnya terdiri dari 3 bagian:
Input: bisa ada, bisa tidak
Proses
Output: minimal satu ouput.
Langkah Pembuatan Program
Mendefinisikan masalah
Ini merupakan langkah pertama yang sering dilupakan orang.
Menurut hukum Murphy (oleh Henry Ledgard):
Semakin cepat menulis program, akan semakin lama kita dapat
menyelesaikannya.
Hal tersebut berlaku untuk permasalahan yang kompleks.
Tentukan masalahnya, apa saja yang harus dipecahkan dengan
menggunakan komputer, dan apa inputan serta outputnya.
Langkah Pembuatan Program
Menemukan solusi
Setelah masalah didefinisikan, maka langkah berikutnya adalah menentukan
solusi. Jika masalah terlalu kompleks, maka ada baiknya masalah tersebut
dipecah menjadi modul-modul kecil agar lebih mudah diselesaikan.
Contohnya masalah invers matriks, maka kita dapat membagi menjadi
beberapa modul:
meminta masukkan berupa matriks bujur sangkar
mencari invers matriks
menampilkan hasil kepada pengguna
Dengan penggunaan modul tersebut program utama akan menjadi lebih
singkat dan mudah dilihat.
Langkah Pembuatan Program
Memilih algoritma
Pilihlah algoritma yang benar-benar sesuai dan efisien
untuk permasalahan tersebut
Menulis program
Pilihlah bahasa yang mudah dipelajari, mudah
digunakan, dan lebih baik lagi jika sudah dikuasai,
memiliki tingkat kompatibilitas tinggi dengan
perangkat keras dan platform lainnya.
Langkah Pembuatan Program

Menguji program
Setelah program jadi, silahkan uji program tersebut dengan segala macam
kemungkinan yang ada, termasuk error-handlingnya sehingga program
tersebut akan benar-benar handal dan layak digunakan.
Menulis dokumentasi
Menulis dokumentasi sangat penting agar pada suatu saat jika kita akan
melakukan perubahan atau membaca source code yang sudah kita tulis
dapat kita ingat-ingat lagi dan kita akan mudah membacanya. Caranya
adalah dengan menuliskan komentar-komentar kecil tentang apa maksud
kode tersebut, untuk apa, variabel apa saja yang digunakan, untuk apa, dan
parameter-parameter yang ada pada suatu prosedur dan fungsi.
Langkah Pembuatan Program
Merawat program
Program yang sudah jadi perlu dirawat untuk mencegah
munculnya bug yang sebelumnya tidak terdeteksi. Atau
mungkin juga pengguna membutuhkan fasilitas baru yang
dulu tidak ada
FLOWCHART
Flowchart
Bagan-bagan yang mempunyai arus yang menggambarkan langkah-
langkah penyelesaian suatu masalah.
Merupakan cara penyajian dari suatu algoritma.
Ada 2 macam Flowchart :
System Flowchart urutan proses dalam system
dengan menunjukkan alat media input, output serta
jenis media penyimpanan dalam proses
pengolahan data.
Program Flowchart urutan instruksi yang
digambarkan dengan symbol tertentu untuk
memecahkan masalah dalam suatu program.
Flowchart
Definisi:
Bentuk gambar/diagram yang mempunyai aliran satu atau
dua arah secara sekuensial
Kegunaan:
Untuk mendesain program
Untuk merepresentasikan program
Flowchart
Maka, flowchart harus dapat merepresentasikan komponen-
komponen dalam bahasa pemrograman
Sebelum pembuatan program
Mempermudah programmerdalam menentukan alur
logika program
Sesudah pembuatan program
Menjelaskan alur program kepada orang lain
Simbol-simbol Flowchart

Flow Direction Symbols (Simbol penghubung alur)


Processing Symbols (Simbol proses).
Input-output Symbols (Simbol input-output)
Flowchart

Secara garis besar, unsur-unsur pemrograman adalah


Input Proses Output. Semua bahasa
pemrograman, pasti mempunyai
komponen-komponen sebagai berikut :
Input (scanf)
Percabangan (if, switch)
Perulangan (while, for, for each, loop)
Output (printf)
Simbol-simbol Flowchart
Simbol-simbol Flowchart Cont.
Simbol-simbol Flowchart Cont.
Simbol-simbol Flowchart Cont.
Simbol-simbol Flowchart Cont.
Pembuatan Flowchart
Tidak ada kaidah yang baku.
Flowchart = gambaran hasil analisa suatu masalah
Flowchart dapat bervariasi antara satu pemrogram dengan
pemrogram lainnya.
Hindari pengulangan proses yang tidak
perlu dan logika yang berbelit sehingga
jalannya proses menjadi singkat.
Jalannya proses digambarkan dari atas
ke bawah dan diberikan tanda panah
untuk memperjelas.
Pembuatan Flowchart cont.

Selalu dimulai dengan BEGIN:

Begin

Jangan lupa
menggambar garis

End
Pembuatan Flowchart cont.

Input / Output Begin

Jangan lupa garis

Input/output

Mungkin anda ingin


berkomunikasi
dengan pemakai
Pembuatan Flowchart cont.

Proses Begin

Input
Anda dpt melakukan
perhitungan di dlm proses

Proses
Pembuatan Flowchart cont.

Begin

Input

Anda dapat menampilkan


Proses
hasil di output

Output End
Contoh Flowchart

Problem:
Menghitung luaspersegi
panjang

Algoritma
Masukkanpanjang(p)2.Masuk
kanlebar(l)3.Hitungluas(L),
yaitupanjangkali
lebar4.Cetakluas(L
Flowchart bilangan ganjil 1 -100
Contoh Flowchart
~tot1

Pl...f'l)'O u:in9

A
Tr,:ins,a~si
'NilrdON
6elonjokon T y ,...,yo y ,eb<r)IQk
Trmsoko,i
anoU"t
VO"l~ ceo<>st~
d bcr'\(~ T

:~k S:1ld<>jko
dkvrcr.g
T
Saide
omOU\I
y evto be1amlxh
~iSJ
"keolog seb:ny:,t
bel:njas DOIV :Ii cmo.ot
bcnt :oleo
T O'llOIK't
J!mbil Jorgd ~dd~+..

l:><:rk
' I cmo..nt I
seb<n\/Qk
1/ Soldo
om~U"lt
Mel<tiH om<l...f'lf I
s,)l,:lo

(~
J G

Pes:n enor
. ,.
/-,,-------,.
.._/
--. .1 '3r,~ t e
,:.:-~!

1~ :-,.,,11
,,.~~

1,:,,.1 ..1;\,.'I
.-,.,...... ,\
fJ't."l}'I''
,.,.,l,u l'(\'I'
h,,,111,.,,h,
M"',I,, ,,Ii,,,
/

ll'lp v 1 ..~a,
M,..,t:,l'11kJ,

.,,:k,j,,r,v.1.,

- ,,,...,t, ','!':,I.

;i,plr,, nw,r,
hlid t.c- ...I.

;1,,.1 JI
t1l-.,h11r

i:.u ,'!,,,:,,,"
t d }'
---
h)'(T~:11:
Exercise
Bagaimana algoritma untuk menukar isi dari dua gelas?
Menghitung usia berdasarkan tahun (saja) lahir dan tahun
(saja) sekarang
Input:Tahun lahir (tl),Tahun sekarang (ts)
Proses : Umur = ts tl
Output : Cetak Umur
Exercise
Buatlah flowchart untuk menampilkan deret bilangan
berikut :
1, 1, 2, 3, 5, 8, 13
Buatlah flowchart untuk menghitung konversi suhu
dari fahrenheit ke celcius dan reamur dengan nilai
fahrenheit diinput.
Primitif Tipe data dan Operator
Penamaan dalam Java

Java classes, methods, dan Variables semuanya mempunyai nama.


Penamaan didalam java boleh memiliki kombinasi dari letters, numbers, dan
Underscore character(_), tetapi karakter pertama dari penulisan nama
haruslah dimulai dengan huruf.
Penulisan nama didalam java minimal terdiri dari satu karakter, dan tidak
memiliki batasan maksimum.

Contoh penulisan nama yang dibolehkan didalam java.


Hello ThisIsTest ABC A1B2 a_12
Contoh penulisan nama yang tidak dibolehkan didalam java.
1Day _toupper dan lain lain
ditambah dengan reserved keywords
Penamaan dalam Java

Hasil dari sebuah konfrensi :


Nama class java, selalu dimulai dengan huruf besar.
Nama Methods dan Variables, dengan huruf kecil.
Nama Class, Methods dan Variabel jika terdiri dari dua atau lebih suku
kata, awal kata ke dua dan seterusnya awali dengan huruf besar.

Contoh untuk class.


HelloWorld ThisIsTest
Contoh untuk methods dan variables.
getString toUpperCase statusPerkawinan
Penamaan dalam Java

Reserved Keywords

abstract continue float long short try

boolean default for native static void

break do goto now super volatile

byte double if null synchronized while

case else implements package this

catch extends import private throw

char false instanceof protected throws

class final iInt public transient

const finally interface return true


Tipe Data

Bahasa pemrograman java memiliki 2 katagori tipe data:


primitive dan reference. Sebuah variabel dengan tipe
primitive memuat sebuah nilai tunggal dengan format dan
ukuran yang sesuai tipenya. Sedangkan Reference tipe data
merupakan sebuah tipe data berjenis class, yang dapat memiliki
fungsi atau metode.
Tipe Data

Tipe Data Primitive


Kata Kunci Keterangan Size/Format

(integers)

byte Byte-length integer 8-bit two's complement

short Short integer 16-bit two's complement

int Integer 32-bit two's complement

long Long integer 64-bit two's complement

(real numbers)

float Single-precision floating point 32-bit IEEE 754

double Double-precision floating point 64-bit IEEE 754

(other types)

char A single character 16-bit Unicode character

boolean A boolean value (true or false) true or false


Tipe Data
Contoh Tipe Data Primitive
Contoh Tipe Data
178 Int
8864L long
37.266 double
37.266D double
87.363F float
26.77e3 double
'c' char
True boolean
False boolean

Secara umum, sederet digit dengan tanpa titik decimal (dalam notasi Internasional) atau
koma decimal (notasi Indonesia) ditipekan sebagai sebuah integer. Kita juga dapat
menspesifikasi sebuah integer Long dengan menempatkan 'L' atau 'l' setelah angkanya.
'L' ditunjukkan agar tidak membingungkan dengan digit '1'. Sebuah deretan digit dengan
ada sebuah titik desimalnya adalah bertipe double. Kita juga dapat menspesifikasi
sebuah float dengan menempatkan 'f' atau 'F' setelah angka. Sebuah karakter harfiah
adalah sebuah karakter Unicode tunggal diantara tanda petik. Dua karakter Boolean
adalah true dan false (benar dan salah)
Tipe Data

Tipe Data Reference


Arrays, class, dan interface adalah tipe-tipe referensi. Nilai dari
variable tipe referensi, berbeda dengan tipe primitive, adalah
sebuah referensi untuk (sebuah alamat dari) nilai atau
kumpulan nilai dari nilai-nilai yang ditunjukkan oleh variable.
Variabel Tipe Data

Variabel Primitif adalah variabel dengan tipe data


primitif. Mereka menyimpan data dalam lokasi memori
yang sebenarnya di mana variabel tersebut berada.
contoh: int num = 10;

Variabel reference adalah variabel yang menyimpan


alamat dalam lokasi memori yang menunjuk ke lokasi
memori di mana data sebenarnya berada.
contoh: String nama = adi
Konstanta dan Variabel
Konstanta adalah sebuah tempat penyimpanan data didalam memory komputer
yang mana nilai yang ada didalamnya sudah tidak dapat berubah selama
program dijalankan. Sedangkan
Variabel sebaliknya, dimana nilai-nya dapat berubah selama program berjalan.

Tipe data didalam java, yang tergolong kedalam tipe data primitif :

Tipe Bit Range / Jangkauan Sub-Tipe


boolean 1 True or false
char 16 \u0000 to \uFFFF -
byte 8 -128 127
short 16 -32,768 32,767
int 32 -2,147,483,648 2,147,483,647 Integer

long 64 -9,223,372,036,854,775,808... 9,223,372,036,854,775,807

float 32 -3.4e+383.4e+38 Floating


double 64 -1.7e+3081.7e+308 Point
Konstanta dan Variabel
Integer Konstanta dan Variabel adalah bilangan bulat posistif atau negatif
dengan range yang sudah disebutkan pada tabel sebelumnya.

Contoh yang dibolehkan:


12
0
-123456
9999999999L // tipe long
Contoh yang tidak diperbolehkan :
1,024 // memiliki tanda berkoma
9999999999 // terlalu besar untuk tipe int
Deklarasi variabel integer sbb:
int var1, var2;
short var3;
int var4 = 100 // deklarasi dan inisialisasi nilai 100 ke var4
Konstanta dan Variabel
Real Konstanta dan Variabel adalah bilangan pecahan posistif atau negatif
dengan range yang sudah disebutkan pada tabel sebelumnya.
Contoh yang dibolehkan:
12. // tipe double
12E2 // tipe double
12.0e2 // tipe double
3.14159F // tipe float
Contoh yang tidak diperbolehkan :
1,024.0 // memiliki tanda berkoma
1.2e108F // terlalu besar untuk tipe float
Deklarasi variabel real sbb:
double x;
float pi = 3.14159F ;
Konstanta dan Variabel
boolean Konstanta dan Variabel adalah data yang berisi nilai dua
kemungkinan, yaitu nilai benar atau salah.

Contoh yang dibolehkan:


true
false

Deklarasi variabel boolean sbb:


boolean test = false;

character Konstanta dan Variabel adalah character dan string didalam java
menggunakan unicode character set. Dimana disimpan didalam bentuk
16 bit memori, yang memungkinkan menyimpan sebanyak
65,536 karakter. Nilai Karakter ditandai dengan diapit dengan dengan
tanda petik tunggal. Data ini juga dapat direpresentasikan dengan
escape character, seperti terlihat pada tabel dibawah ini. Sedangkan
string diapit dengan tanda petik ganda.
Konstanta dan Variabel
Contoh yang dibolehkan:
a 1 abc C
Deklarasi variabel char sbb:
char test = A;
string test = Universitas Respati Yogyakarta;

Escape Description
sequence
\n Baris baru. Posisi cursor diawal baris berikutnya.
\t Horizontal tab. Memindahkan kursor ke tab berikutnya
\r Carriage return. Posisi cursor diawal baris yang sedang aktif
\\ Backslash. Mencetak karakter backslash.
\" Double quote. Mencetak tanda petik ganda,
System.out.println( "\"in quotes\"" );
displays
"in quotes"
Konstanta dan Variabel
Keeping Constants Consisten in a Program adalah bagaimana
membentuk nilai konstanta menjadi tetap dan tidak dapat berubah
sepanjang program berjalan. Untuk itu dapat dilakukan dengan
menggunakan keyword final didepan tipe data dari sebuah konstanta. Dan
nama constanta menggunakan huruf besar semua
Contoh program sbb:
1. public class Constant {
2. public static void main(String[] args) {
3. final float PI = 3.14159F;
4. Syatem.out.println(2*pi = + 2*PI);
5. }
6. }

Hasilnya sbb:
2*pi = 6.28318

Jika antara baris 3 & 4 disisipkan perintah sbb:


PI = 3.0F
Hasilnya sbb:
cant assign a value to final variable: PI 1 error
Konstanta dan Variabel
Latihan :
Pertanyaan 1 8 jawablah dengan pernyataan valid atau tidak valid dan
berikan alasannya kalau tidak valid.
1. 10.0 5. -100,000
2. 123E-5 6. T
3. 7. 3.14159
4. Siapa kamu? 8. True
Pertanyaan 9 11, apakah sama atau tidak nilai real disisi kiri dengan
disisi kanan?
9. 4650.; 4.65E+3
10. -12.71; -1.27E1
11. 0.0001; 1.0e4
Pertanyaan 12 15, apakah valid atau tidak penulisan nama berikut, jika
tidak berikan alasannya?
12. isVector 14. 2ndChance
13. MyNewApp 15. MIN_DISTANCE
Konstanta dan Variabel
Latihan :
Pertanyaan berikut, jawablah dengan pernyataan valid atau tidak valid dan
berikan alasannya kalau tidak valid, untuk penulisan deklarasi variabel dan
konstanta berikut.
16. int firstIndex = 20;
17. Final short MAX_COUNT = 100000;
18. Char test = Y;

Pertanyaan terakhir, apakah legal atau tidak program dibawah ini, jika legal
apa hasil dari program tersebut, jika tidak dimana letak kesalahannya?
int I, j;
final int k = 4;
I = k * k;
j = I / k;
k = I + j;
Operator

Operator merupakan simbol yang biasa digunakan dalam


menulis suatu penyataan (statement) dalam bahasa
pemrograman apapun. Operator akan melakukan suatu
operasi terhadap operand sesuai dengan fungsinya.
Contoh operasi antara lain penjumlahan, pengurangan,
pembagian dan sebagainya.

3+8*4
3 8 4 adalah operand
+ * adalah Operator
Operator
Operator Penugasan
Operator ini adalah operator yang paling sederhana dan hanya
dilambangkan dengan karakter =. Operator ini digunakan untuk
menugaskan suatu nilai ke suatu variabel. Contoh :
int hitung = 4;

yang unik dari operator ini dalam Java adalah kita dapat menggunakan
operator ini secara berantai dalam suatu ekspresi, contoh:
int a, b, c;
a = b = c = 99;

Bentuk Umumnya sebagai berikut:


variable_name = expression;
yaitu : menyimpan nilai dari expression ke dalam variable_name
Operator
Operator Matematika
Operator ini digunakan dalam ekspresi matematika. Berikut ini daftar operator
matematika yang dikenal dalam Java:

Type Symbol Algebraic Expression Java Expression

Additon + a+b a+b


Subtraction - ab ab
Multiplication * ab a*b
Division / a / b or a b a/b
Modulus (Remainder) % a mod b a%b

Nilaidari ekspresi dapat berupa proses kalkulasi matematik dimana kita sebut
dengan assignmnet operator. Contoh
a = a + 10
Operator
Superioritas Operator.
1. Operator dapat dikombinasikan ke dalam ekspresi yang kompleks
result = total + count / max - offset;
1. Operator memiliki superioritas yang terdefinisi secara baik, yang menentukan urutan
mereka dievaluasi
2. Perkalian, pembagian dan remainder dievaluasi sebelum pengurangan, penjumlahan dan
penggabungan string
3. Operator aritmatik dengan superioritas sama dievaluasi dari kiri ke kanan
4. Kurung dapat digunakan untuk memaksa urutan evaluasi

Contoh :
a + b + c + d + e a + b * c - d / e
1 2 3 4 3 1 4 2

a / (b + c) - d % e a / (b * (c + (d - e)))
4 3 2 1
2 1 4 3
Operator
Operator
Numeric Promotion of Operands
Adalah sebuah aturan dari hasil sebuah perhitungan matematik dimana
atruran tersebut adalah:

1. Jika dalam operand tersebut terdapat nilai double maka operand lain akan di konvert
ke nilai double
2. Selain itu, jika dalam operand tersebut terdapat nilai float maka operand lain akan di
konvert ke nilai float.
3. Selain itu, jika dalam operand tersebut terdapat nilai long maka operand lain akan di
konvert ke nilai long
4. Selain itu, semua operand akan di konvert ke nilai int.

Contoh :
Expression Result
1. 1 + 1 / 41
2. 1.0 + 1 / 4 1.0
3. 1 + 1.0 / 4 1.25
Operator
Ilustrasi Program
1. public class TestPromotion {
2. public static void main(String[] args) {
3. System.out.println(1 + 1/4);
4. System.out.println(1.0 + 1/4);
5. System.out.println(1 + 1.0/4);
6. }
7. }
Jika dikompile dan dijalankan akan menghasilkan sbb:
C:\>javac TestPromotion.java
C:\>java TestPromotion
1
1.0
1.25
Operator

Assignment Conversion - Casting Conversion


Terkadang kita perlu melakukan Assignment Conversion (konversi terhadap data dari satu
tipe data ketipe data yang lain), konversi harus dilakukan secara hati-hati, untuk
menhindari terjadinya kehilangan data. Adapun jenis assignment conversion ini adalah
1. Widening Conversion : perubahan dilakukan dari tipe data yang kecil ketipe data
yang lebih besar. Contoh :
int x = 4;
double y;
y = x; // legal y = 4.0
2. Narrowing Conversion : perubahan dilakukan dari tipe data yang besar ketipe
data yang lebih kecil. Contoh :
int x;
double y=1.25;
x = y; // illegal, karena y bilangan pecahan.
Operator
Assignment Conversion - Casting Conversion
Untuk mengatasi masalah tersebut, maka perlu dilakukan pemaksaan tipe data
dengan menggunakan teknik Casting, yaitu dengan memberikan tipe data lain
pada data yang ingin dirubah tipenya.
Contoh :
x = (int) y;
Contoh Program sbb:
1. public class TestCast {
2. public static void main(String[] args) {
3. double x = 3.99, y = 1.1e38
4. System.out.println((int) x = + (int) x);
5. System.out.println((int) y = + (int) y);
6. }
7. }
Hasil dari program diatas dbb:
(int) x = 3
(int) y = 2147483647 // nilai maksimal int, y lebih besar dari hasil
Operator
Assignment Conversion - Casting Conversion
Latihan :
Perhatikan potongan program dibawah ini, legal atau tidak, hasil dari potongan
program tersebut. Jika legal hasilnya seperti apa, jika tidak baris mana yang
salah, dan berikan solusinya.

1. int x = 16, y = 3;
double result;
result = x + y / 2.0;

2. int x = 16, y = 3;
int result;
result = x + y / 2.0;
Operator
Assignment Statement & Assignment Operator
Java juga memiliki spesial assingment operators dengan mengkombinasikan
assignment dengan binary operator menjadi sebuah ekpresi tunggal.
1. Assignment Statement
a = a + 5;
dapat digantikan dengan menggunakan Addition assignment operator +=.
Sehingga dituliskan sbb:
a += 5;
2. Arithmatic Assignment Operators
Assignment Operators Sample Expression Expanded Expression Result
Assume: int a = 3, b = 11;
+= a += 3 a=a+3 6
-= a -= 2 a=a2 1
*= a *= 4 a=a*4 12
/= a /= 2 a=a/2 1
%= b %= 3 b=b%3 2
Operator
Operator Increment dan Decrement
Java memiliki unary Increment Operator (++) dan unary Decrement Operator
(--). Biasanya data disimpan dalam bentuk penambahan nilai integer dengan
satu.

Bila anda perhatikan maka pernyataan ini akan sama maknanya, walaupun
menggunakan cara yang berbeda-beda.
c = c + 1;
c += 1;
c++;
Tabel : Increment and Decrement Operator

Operator Sample Expression Expanded Expression Result


preincrement ++a Hasil cetak setelah a ditambah 1
postincrement a++ Hasil cetak sebelum a ditambah 1
Predecrement --a Hasil cetak setelah a dikurangi 1
postdecrement a-- Hasil cetak sebelum a dikurangi 1
Operator
Operator Increment dan Decrement
Contoh Program :

1. public class TestIncrement {


2. public static void main(String[] args) {
3. int i = 4, k = 0;
4. k = i-- + 2 * i * ++i;
5. System.out.println( i = + i );
6. System.out.println( k= + k );
7.

8. k = --i + 2 * i * i++;
9. System.out.println( i = + i ); Hasilnya :
10. System.out.println( k= + k ); 4
11. } 28
4
12. } 21
Operator
Logika
Apabila 2 operand bernilai boolean (Contoh A dan B) dan keduanya digunakan dalam
operasi AND, OR, XOR, dan NOT maka nilai yang dihasilkan antara lain:
Operasi AND hanya akan menghasilkan nilai true apabila kedua operand (A dan B) bernilai
true;
Operasi OR hanya akan menghasilkan nilai false apabila kedua nilai operand false;
Operasi XOR hanya akan menghasilkan nilai true apabila salah satu operand-nya (bukan
kedua-duanya) bernilai true; sedangkan
Operasi NOT akan menghasilkan negasi atau kebalikan dari nilai sebelumnya.
Operator
Relasi
Relational and Logical Operator adalah dua buah type operator yang
menghasilkan nilai boolean true atau false. Biasanya digunakan untuk
mengontrol banyak pengulangan dan struktur percabangan didalam java.
Tabel Relational Operators:

Operator Sample Expression Meaning


Relatinal operators:
> x>y True if x > y
< x<y True if x > y
>= x >= y True if x y
<= x <= y True if x y
Equality operators:
== x == y True if x = y
!= x != y True if x y
Contoh Program:
1. public class TestAnd {
2. public static void main(String[] args) {
3. int i = 10, j = 9;
4. boolean test;
5. test = i > 10 && j++ > 10;
6. System.out.println(i);
7. System.out.println(j);
8. System.out.println(test);
9.
10. test = i > 10 & j++ > 10;
11. System.out.println(i);
12. System.out.println(j);
13. System.out.println(test);
14. }
15. }
Operator
Operator kondisi (?:)

?: merupakan operator ternary.


Sintaks; exp1 ? Exp2 : exp3
Standard Input and Output
Pada bahasa pemrograman selalu digunakan sesuatu untuk membaca data
untuk diproses, dan menulis kembali dalam bentuk cetakan setelah
memperoleh sebuah hasil. Ini lah yang kita sebut standart input dan output.
Pemrograman java memiliki tiga standar input dan output objek.Yaitu:
1. System.in : merepresentasikan standard input stream, biasanya melalui
keyboard.
2. System.out : merepresentasikan standard output stream, biasanya melalui
layar monitor.
3. System.err : merepresentasikan standard error sttream, khusunya untuk
menampilkan pesan-pesan error pada program.
Standard Input and Output
Using the standard input stream:
Digunakan untuk membaca data dari keyboard, atau dari media input lainnya.
Membaca data menggunakan metode standar java sangatlah komplek. Pada
kesempatan ini kita akan mencoba menggunakan class BufferedReader dengan
InputStreamReader untuk membaca data pada program-program berikut.
Untuk menggunakan class ini dan metode yang terdapat didalamnya haruslah
mengimport paket java.io kedalam program yang kana dibuat.
Metoda yang digunakan sbb:
readLine()
Contoh penggunaan sbb:
BufferedReader stdin = new BufferedReader(new
InputStreamReader(System.in));

stdin.readLine();
Standard Input and Output
1. import java.io.*;
2. public class ReadStdIn {
3. public static void main(String[] args) throws IOException {
4. double v1; int i1; float b1;
5. BufferedReader stdin = new BufferedReader(new
InputStreamReader(System.in));
6. try {
7. System.out.println("Enter a double value: ");
8. v1 = Double.parseDouble(stdin.readLine());
9. System.out.println("Value = " + v1);
10. System.out.println("Enter a int value: ");
11. i1 = Integer.parseInt(stdin.readLine());
12. System.out.println("Value = " + i1);
13. System.out.println("Enter a float value: ");
14. b1 = Float.parseFloat(stdin.readLine());
15. System.out.println("Value = " + b1);
16. }
17. catch(Exception e) {
18. System.out.println("Error : " + e);
19. }
20. }
21. }

Anda mungkin juga menyukai