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 “tergantung”pada 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
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 Algoritma 3
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 terbesar
IF A > B THEN PRINT A ELSE PRINT
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.
Begin
Input/output
Jangan lupa garis
Mungkin anda ingin
berkomunikasi
dengan pemakai
Input / Output
Pembuatan Flowchart – cont.
Begin
Input
Proses
Proses
Anda dpt melakukan
perhitungan di dlm proses
Pembuatan Flowchart – cont.
Begin
Input
Proses
Output End
Anda dapat menampilkan
hasil di output
Contoh Flowchart
 Problem:
Menghitung luaspersegi
panjang
 Algoritma
Masukkanpanjang(p)2.Ma
sukkanlebar(l)3.Hitunglua
s(L), yaitupanjangkali
lebar4.Cetakluas(L
Flowchart bilangan ganjil 1 -100
Contoh Flowchart
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
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
Penamaan dalam Java
 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
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)
 Contoh Tipe Data Primitive
Tipe Data
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.
Tipe Data Reference
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”
Variabel Tipe Data
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
Integer
short 16 -32,768 … 32,767
int 32 -2,147,483,648 … 2,147,483,647
long 64 -9,223,372,036,854,775,808... 9,223,372,036,854,775,807
float 32 -3.4e+38…3.4e+38 Floating
Point
double 64 -1.7e+308…1.7e+308
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”;
Esc ape
sequenc e
Desc ription
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:
can’t 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;
Konstanta dan Variabel
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 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 Penugasan
Operator
 Operator ini digunakan dalam ekspresi matematika. Berikut ini daftar
operator matematika yang dikenal dalam Java:
 Nilai dari ekspresi dapat berupa proses kalkulasi matematik dimana kita
sebut dengan assignmnet operator. Contoh
a = a + 10
 Operator Matematika
Type Symbol Algebraic Expression Java Expression
Additon + a + b a + b
Subtraction - a – b a – b
Multiplication * ab a*b
Division / a / b or a ÷ b a / b
Modulus (Remainder) % a mod b a % b
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
1 4
3
2
a + b * c - d / e
3 2
4
1
a / (b + c) - d % e
2 3
4
1
a / (b * (c + (d - e)))
4 1
2
3
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 / 4 1
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
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
 Assignment Conversion - Casting Conversion
Operator
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;
 Assignment Conversion - Casting Conversion
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 = a – 2 1
*= a *= 4 a = a * 4 12
/= a /= 2 a = a / 2 1
%= b %= 3 b = b % 3 2
 Assignment Statement & Assignment Operator
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
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 );
10. System.out.println( “k= “ + k );
11. }
12. }
Hasilnya :
4
28
4
21
 Operator Increment dan Decrement
Operator
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.
 Logika
Operator
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
x < y
x >= y
x <= y
True if x > y
True if x > y
True if x ≥ y
True if x ≤ y
Equality operators:
==
!=
x == y
x != y
True if x = y
True if x ≠ y
 Relasi
Operator
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. }
 ?: merupakan operator ternary.
 Sintaks; exp1 ? Exp2 : exp3
 Operator kondisi (?:)
Operator
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. }

2- ALGORITMA, FLOWCHART, TIPE DATA, OPERATOR.pptx

  • 1.
    ALGORITMA, FLOWCHART, TIPE DATA,OPERATOR Muhammad Ridwan Arif Cahyono
  • 2.
  • 3.
    Public static voidmain 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.
  • 4.
    Algoritma  Adalah intidari ilmu komputer.  Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis.
  • 5.
    Algoritma  Kata logismerupakan 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.
  • 6.
    Algoritma  Alur pemikirandalam 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.
  • 7.
    Algoritma  Langkah-langkah dalam algoritmaharus dapat ditentukan bernilai benar atau salah.
  • 8.
    Algoritma  Algoritma adalahblueprint dari program.  Sebaiknya disusun sebelum membuat program.  Kriteria suatu algoritma: – Ada input dan output – Efektif dan efisien – Terstruktur
  • 9.
    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.
  • 10.
  • 11.
  • 12.
    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.
  • 13.
    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
  • 14.
    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.
  • 15.
    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
  • 16.
    Contoh Algoritma 1 Mengirimsurat 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.
  • 17.
    Contoh Algoritma 2 MengupasKentang 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
  • 18.
    Contoh Algoritma 2(lanjt) Ada hal yang “tergantung”pada 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
  • 19.
    Kondisi – dariAlg. 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”
  • 20.
    Kondisi – dariAlg. 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
  • 21.
    Kondisi – dariAlg. 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
  • 22.
    Kondisi – dariAlg. 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
  • 23.
    Menentukan apakah suatubilangan 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 Algoritma 3
  • 24.
    Contoh 4 Algoritma menghitungluas persegi panjang:  Masukkan panjang (P)  Masukkan lebar (L)  Luas ←P * L  Tulis Luas
  • 25.
    Pseudo Code  Kodeatau tanda yang menyerupai (pseudo) program atau merupakan pejelasan cara menyelesaikan suatu masalah.  Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritma
  • 26.
    Contoh Problem:mencari bilangan terbesardari 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
  • 27.
    Contoh Contoh Pseudo-code:  Inputa  Input b  If a > b then kerjakan langkah 4  print a  print b
  • 28.
    Perbandingan Algoritma Pseudo-code Nilai Aditambah 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 terbesar IF A > B THEN PRINT A ELSE PRINT B
  • 29.
    Bagian Program Suatu programpada dasarnya terdiri dari 3 bagian:  Input: bisa ada, bisa tidak  Proses  Output: minimal satu ouput.
  • 30.
    Langkah Pembuatan Program Mendefinisikanmasalah  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.
  • 31.
    Langkah Pembuatan Program Menemukansolusi  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.
  • 32.
    Langkah Pembuatan Program Memilihalgoritma  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.
  • 33.
    Langkah Pembuatan Program Mengujiprogram  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.
  • 34.
    Langkah Pembuatan Program Merawatprogram  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
  • 35.
  • 36.
    Flowchart  Bagan-bagan yangmempunyai 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.
  • 37.
    Flowchart Definisi:  Bentuk gambar/diagramyang mempunyai aliran satu atau dua arah secara sekuensial Kegunaan:  Untuk mendesain program  Untuk merepresentasikan program
  • 38.
    Flowchart Maka, flowchart harusdapat merepresentasikan komponen-komponen dalam bahasa pemrograman Sebelum pembuatan program  Mempermudah programmerdalam menentukan alur logika program Sesudah pembuatan program  Menjelaskan alur program kepada orang lain
  • 39.
    Simbol-simbol Flowchart  FlowDirection Symbols (Simbol penghubung alur)  Processing Symbols (Simbol proses).  Input-output Symbols (Simbol input-output)
  • 40.
    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)
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
    Pembuatan Flowchart  Tidakada 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.
  • 47.
    Pembuatan Flowchart –cont. Selalu dimulai dengan BEGIN: Begin Jangan lupa menggambar garis End
  • 48.
    Pembuatan Flowchart –cont. Begin Input/output Jangan lupa garis Mungkin anda ingin berkomunikasi dengan pemakai Input / Output
  • 49.
    Pembuatan Flowchart –cont. Begin Input Proses Proses Anda dpt melakukan perhitungan di dlm proses
  • 50.
    Pembuatan Flowchart –cont. Begin Input Proses Output End Anda dapat menampilkan hasil di output
  • 51.
    Contoh Flowchart  Problem: Menghitungluaspersegi panjang  Algoritma Masukkanpanjang(p)2.Ma sukkanlebar(l)3.Hitunglua s(L), yaitupanjangkali lebar4.Cetakluas(L
  • 52.
  • 53.
  • 56.
    Exercise  Bagaimana algoritmauntuk 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
  • 57.
    Exercise  Buatlah flowchartuntuk 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.
  • 58.
    Primitif Tipe datadan Operator
  • 59.
    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
  • 60.
    Hasil dari sebuahkonfrensi :  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
  • 61.
    Reserved Keywords abstract continuefloat 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 Penamaan dalam Java
  • 62.
     Bahasa pemrogramanjava 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
  • 63.
    Tipe Data Primitive KataKunci 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
  • 64.
    Contoh Tipe Data 178Int 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)  Contoh Tipe Data Primitive Tipe Data
  • 65.
    Arrays, class, daninterface 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. Tipe Data Reference Tipe Data
  • 66.
     Variabel Primitifadalah 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” Variabel Tipe Data
  • 67.
    Konstanta adalah sebuahtempat 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 Integer short 16 -32,768 … 32,767 int 32 -2,147,483,648 … 2,147,483,647 long 64 -9,223,372,036,854,775,808... 9,223,372,036,854,775,807 float 32 -3.4e+38…3.4e+38 Floating Point double 64 -1.7e+308…1.7e+308 Konstanta dan Variabel
  • 68.
    Integer Konstanta danVariabel 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
  • 69.
    Real Konstanta danVariabel 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
  • 70.
    boolean Konstanta danVariabel 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
  • 71.
    Contoh yang dibolehkan: ‘a’‘1’ “abc” “C” Deklarasi variabel char sbb: char test = ‘A’; string test = ”Universitas Respati Yogyakarta”; Esc ape sequenc e Desc ription 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
  • 72.
    Keeping Constants Consistenin 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: can’t assign a value to final variable: PI 1 error Konstanta dan Variabel
  • 73.
    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
  • 74.
    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; Konstanta dan Variabel
  • 75.
    Operator  Operator merupakansimbol 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
  • 76.
     Operator iniadalah 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 Penugasan Operator
  • 77.
     Operator inidigunakan dalam ekspresi matematika. Berikut ini daftar operator matematika yang dikenal dalam Java:  Nilai dari ekspresi dapat berupa proses kalkulasi matematik dimana kita sebut dengan assignmnet operator. Contoh a = a + 10  Operator Matematika Type Symbol Algebraic Expression Java Expression Additon + a + b a + b Subtraction - a – b a – b Multiplication * ab a*b Division / a / b or a ÷ b a / b Modulus (Remainder) % a mod b a % b Operator
  • 78.
     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 1 4 3 2 a + b * c - d / e 3 2 4 1 a / (b + c) - d % e 2 3 4 1 a / (b * (c + (d - e))) 4 1 2 3 Operator
  • 79.
     Numeric Promotionof 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 / 4 1 2. 1.0 + 1 / 4 1.0 3. 1 + 1.0 / 4 1.25 Operator
  • 80.
     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
  • 81.
     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
  • 82.
    Untuk mengatasi masalahtersebut, 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  Assignment Conversion - Casting Conversion Operator
  • 83.
    Latihan : Perhatikan potonganprogram 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;  Assignment Conversion - Casting Conversion Operator
  • 84.
    Java juga memilikispesial 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 = a – 2 1 *= a *= 4 a = a * 4 12 /= a /= 2 a = a / 2 1 %= b %= 3 b = b % 3 2  Assignment Statement & Assignment Operator Operator
  • 85.
     Operator Incrementdan 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
  • 86.
    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 ); 10. System.out.println( “k= “ + k ); 11. } 12. } Hasilnya : 4 28 4 21  Operator Increment dan Decrement Operator
  • 87.
    Apabila 2 operandbernilai 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.  Logika Operator
  • 88.
    Relational and LogicalOperator 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 x < y x >= y x <= y True if x > y True if x > y True if x ≥ y True if x ≤ y Equality operators: == != x == y x != y True if x = y True if x ≠ y  Relasi Operator
  • 89.
    Contoh Program: 1. publicclass 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. }
  • 90.
     ?: merupakanoperator ternary.  Sintaks; exp1 ? Exp2 : exp3  Operator kondisi (?:) Operator
  • 91.
    Standard Input andOutput 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.
  • 92.
    Standard Input andOutput 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();
  • 93.
    Standard Input andOutput 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. }