Anda di halaman 1dari 37

Algoritma dan Struktur Data

ALGORTMA

Algoritma adalah kumpulan langkah-langkah, yang dinyatakan dengan jelas dan tidak
ambigu, dalam mencapai tujuan atau memecahkan masalah dalam rentang waktu tertentu.

Algoritma di dunia ini bisa mencakup bahasa apapun seperti contoh kegiatan kita sehari-hari.

Seperti ketika kita ingin pergi sekolah, kuliah atau kerja : Dimulai dari bangun tidur , terus
mandi, terus sarapan, lalu pergi dengan kendaraan, dalam perjalanan ,setelah itu sampai
tujuan.

Begitu juga seperti kita membuat teh atau kopi ,dimulai dari masak air, masukan serbuk kopi
atau teh ke dalam gelas, air sudah matang, lalu tuangkan ke gelas ,setelah itu kopi atau teh
siap dinikmati. Dan masih banyak lagi contoh lainya ,yang bisa kalian bayangkan sendiri.

STRUKTUR DATA
Stukur data adalah suatu cara dengan bahasa pemrograman (programatically), untuk
menyimpan dan mengorganisasi data agar dapat digunakan secara efesien. Contoh
tipe data untuk bahasa pemrograman java :
Kita mempunyai data salah satu teman kita yang bernama "Andi" berumur 25 tahun.
Disini Nama Andi tergolong ke dalam tipe data String, lalu umur 25 ini ke dalam tipe
data integer.Kita bisa mengorganisasi data teman tersebut dan lainya , ke dalam
suatu file atau database sebagai struktur data.

Nah tipe-tipe data tersebut, seperti integer, float, booelan, char, dll. Termasuk ke
dalam golongan tipe data primitif. Untuk mengolahnya dan menghubungkanya dengan
data yang lebih besar ,kalian bisa menggunakan stuktur data yang lebih complex lagi
dengan menggunakan struktur data abstrak.

Contohnya seperti :

• Linked List

• Tree

• Graph
• Stack, Queue dan lain-lain.

Perbedaan Compiler dan Interpreter


Suatu program yang ditulis dengan menggunakan bahasa tingkat tinggi biasa disebut
kode sumber atau source code. Oleh karena itu agar kita dapat menjalankan suatu
program di Komputer kita perlu mengubah terlebih dahulu bahasa tingkat
tinggi menjadi bahasa mesin agar dapat dimengerti oleh si Komputer. Untuk itu kita
membutuhkan adanya 2 tipe penterjemah yaitu Compiler atau Interpreter yang
berfungsi untuk mengubah sebuah program yang ditulis menggunakan bahasa tingkat
tinggi (source code) menjadi bahasa mesin agar dapat di mengerti dan dijalankan oleh
Komputer.

Compiler adalah salah satu penterjemah yang bisa mengubah suatu program dari 1
bahasa ke bahasa lainya dari bahasa tingkat tinggi ( high-level language) ke bahasa
tingkat rendah (low-level rendah) sepert bahasa mesin.

Interpreter adalah penterjemah yang berbeda dengan Compiler. Interpreter akan


membaca bahasa tinggi program berdasarkan baris code lalu akan secara langsung
menerjamahkan bahasa level mesin pada waktu yang bersamaan akan menjalankan
setiap baris.

Berikut tabel Perbandingan Compiler dengan Interpreter:

Compiler Interpreter
 Compiler akan mengambil Sedangkan Interpreter akan mengambil satu
keseluruhan baris code di dalam program baris code atau instruksi sebagai Input.
sebagai Input.
 Error akan tampil ketika seluruh baris Erorr akan tampil pada setiap instruksi atau
code di dalam program di cek. statement
 Kebutuhan memori : lebih banyak Kebutuhan memori : lebih sedikit
(setiap objek code, yang dihasilkan)
    Conditional Control statement akan di Conditional Control statement akan di
eksekusi lebih cepat eksekusi lebih lambat
 Contoh Bahasa : C, C++, Contoh Bahasa : Phyton , Ruby, BASIC,Perl
Pascal,Fortran

Mengenal Apa itu Refactoring


Dalam hal pembangunan software atau Aplikasi dengan bahasa pemrograman
apapun Refactoring adalah salah satu kegiatan untuk memperbaiki atau membangun
kembali struktur code dengan cara menghapus baris code yang tidak terpakai serta
mencegah baris code yang berulang-ulang (boilerpate) agar perancangan code yang
telah dibangun dapat lebih jelas dipahami.
Refactoring menurut Martin Fowler dan Kent Beck adalah perubahan yang dilakukan
pada struktur internal dari sebuah software agar lebih mudah dipahami dan lebih
murah untuk dimodifikasi tanpa mengubah tingkah laku code tersebut. Ini adalah cara
disiplin untuk membersihkan code serta meminimalkan kemungkinan terjadinya bug
pada program.
Alasanya dilakukan refactoring ini untuk membuat perbaikan atau perubahan pada
struktur code kalian yang dimana prosesnya agar struktur code kalian lebih mudah di
mengerti dan dapat di maintain dan sewaktu-waktu dapat digunakan kembali.

Proses Refactoring
• Mendeteksi masalah
Langkah awal dalam melakukan kegiatan refactoring adalah dengan mendeteksi
adanya masalah pada struktur code kalian.
Apakah ada masalah ?
Apa masalahnya ?.
• Mendeskripsikan masalah
Deskripsikan masalahnya lebih jelas. Dengan membuat pertanyaan seperti.
Apakah harus dilakukan perubahan pada code ini ?
Apa manfaatnya setelah ini ?
Apakah ada resiko setelah ini ?
• Solusi Design
Kita bisa menggunakan solusi dari software arsitektur design atau design
pattern untuk memperbaiki dan membangun kembali struktur code yang telah kita
kembangkan.
• Modifikasi code
Langkah terakhir adalah mentransformasi struktur code di dalamnya tanpa harus
merubah fungsi dari code tersebut.

Contoh Refactoring :
• Mengganti nama
Kalian bisa mengganti nama baru dari nama variable, class, method, atau nama item
lain yang ada di struktur code agar dapat mudah dibaca dan membuat kalian bingung.
• Memindahkan Class
Memindahkan Class ke dalam package yang lebih baik. Serta tak lupa mengimport
referensi terkait class tersebut.

• Membuat method baru


Kalian juga bisa memisahkan method lama atau juga membuat method baru untuk
meningkatkan perawatan dan keterbacaan pada code kalian.

BASIC
Memahami Konsep Dasar Bahasa Program Java
A.Sekilas-Tentang-Java......................................................................................
Java merupakan bahasa pemrograman tingkat tinggi (high level) artinya bahasa ini
mudah dipahami oleh manusia pada umumnya karena menggunakan bahasa sehari-
hari manusia. Java dulu dibuat oleh perusahaan Sun Microsystems oleh James
Ghosling, Patrick Naughton, dan Mike Sheridan pada tahun 1991, dan memerlukan
kurang lebih 18 bulan untuk mengembangkan versi pertama dari Java yang dulu
bernama Oak yang dimana sekarang Java diakuisisi oleh perusahaan Oracle.
Bahasa java mirip dengan bahasa C++ , namun dikembangkan agar mudah dipahami
dan dipakai.
Java menggunakan konsep OOP (Object Oriented Programming) artinya semua inti
program dari Java yaitu mengacu ke sebuah Obyek.
Java termasuk platform independent yang artinya kalian bisa menjalankan dengan
berbagai Macam OS (Sistem Operasi ) dan arsitektur komputer. Seperti pada
perangkat Android dari Google dan Beberapa Aplikasi Desktop seperti program
AntiVirus , program media player, Aplikasi Enterprise dll.

Java digunakan untuk :


1. Pengembangan Aplikasi Desktop (Komputer)
2. Web Aplikasi
3. Aplikasi Perusahaan
4. Aplikasi Mobile (Android)
5. System Tertanam
6. Robot, Game dan sebagainya.
Ada 2 Software IDE yang banyak digunakan oleh orang-orang untuk tempat coding
bahasa pemrograman Java. Yaitu Netbeans dan Eclipse.
B).Keunggulan-atau-Kelebihan-Java.................................................................

• Mudah dipelajari

Java memiliki salah satu keunggulan yaitu mudah dipelajari oleh semua orang karena
syntax (tata bahasa) yang mirip dengan bahasa manusia. Dengan banyaknya artikel
atau tutorial yang membahas bahasa pemrograman Java di Internet. Semakin
memudahkan kita untuk pemula untuk mempelajari semua hal yang ada di bahasa
pemrograman Java.

• Merupakan bahasa OOP

Salah satu alasan yang membuat Java begitu populer karena mempunyai konsep
bahasa (OOP) Object Oriented Programming. Oleh karena itu untuk
mengembangkanya jauh lebih mudah serta menjaga system tetap modular flexible
and extensible.

• Banyaknya API

Java memiliki banyaknya API (Application programming interface ) yang siap


dikembangkan untuk keperluan para programer Java.

• Robust

Java juga memiliki kemampuan untuk menangani kesalahan pada coding khususnya
pada erorr checking atau erorr runtime seperti pada Exception Handling.

Java juga mempunyai fitur memori managemen yang handal seperti Garbage
Collector.

C). Konsep OOP :

Konsep di OOP (Object Oriented Programming) memiliki beberapa Konsep salah


satunya:

• Class merupakan sebuah kerangka/model (blueprint) atau bentuk awal


(prototype) yang berfungsi untuk tempat menaruh dan mendeksripsikan
variabel method (perilaku) dari sebuah obyek. Penamaan nama class
diprogram harus sama dengan nama di struktur file extention .java jadi jangan
salah.

Contoh pada kehidupan nyata dari Class adalah: class binatang, class mobil,
class buah dll.

• Object merupakan sebuah representasi dan instance dari Class. Object adalah
sebuah inti dan wujud real dari sebuah Class. Object di definisikan sebagai
state dan behaviour dari Class.

Contoh pada kehidupan nyata dari object dari class binatang kita bisa
mengambil obyek yaitu kucing, ayam, anjing dll.

• Atribute merupakan sebuah unsur data yang ada di class, Atribut biasanya
terdiri dari sebuah data, variabel, propertie dan field. Atribut bisa juga disebut
state dari objek tersebut.

Misal Manusia Mempunyai atribut atau state : Nama , Tinggi, Berat, Umur dan
Jenis Kelamin.

• Method merupakan sebuah perilaku (behavior) dari sebuah class. Method bisa
disebut juga perilaku dari objek tersebut :

Misal Manusia mempunyai method : Berjalan, Berlari, Loncat, Berbicara, dan


Tidur.

• Method terbagi menjadi dua jenis method void dan method non void.
Method void artinya method yang tidak mengembalikan nilai. Method
non void sebaliknya method yang mengembalikan nilai.

Contoh method void seperti : public static void main(String[] args).

Method dikenal juga sebagai : Function atau Prosedur adalah suatu perintah
kode yang diberi nama untuk dijalankan di dalam sebuah program Java.
Method merupakan sebuah cara untuk mempermudah programmer dalam
mengelompokan sebuah baris code atau pernyataan (statement). Jadi dengan
Method kita bisa menjalankan beberapa baris code atau pernyataan sekaligus
hanya dengan memanggil (calling) nama method tersebut. Hal ini agar program
kita terlihat terstruktur dan efisien.
Jadi maksud dari Java berorientasi pada objek itu yaitu semua status dan method mengacu pada
obyek yang mana itu adalah wujud real atau nyata dari sebuah Class yang ada pada bahasa
pemrograman Java.
• Encapsulation (Enkapsulasi) adalah suatu mekanisme membungkus suatu
data (variabel) agar tidak dapat di akses oleh class lain dengan menggunakan
modifier private atau protected (untuk Class Turunan). Di dalam konsep ini
beberapa variabel akan disembunyikan oleh class lain dan hanya bisa di akses
di main class dengan menggunakan method modifier public.
• Inheritance (Pewarisan) adalah suatu proses dimana suatu class yang bisa
disebut super class dapat mewarisi sifat mewarisi sifat atau ciri-ciri seperti
atribut dan method ke dalam class turunanya yaitu sub class. Super class akan
mewarisi nilai dari atribut atau behavior ke Class turunananya.
• Polymorphism (Banyak bentuk) adalah suatu kemampuan yang dimiliki
sebuah method yang memiliki nama sama namun dengan perilaku yang
berbeda-beda. Kemampuan objek agar melakukan perilaku atau
tindakan yang secara konsep sama namun dengan cara yang berbeda-beda.
• Abstract adalah sebuah class yang memiliki posisi tertinggi secara struktur di
bahasa pemrograman Java yang berfungsi untuk di implementasikan pada
class turunanya . Jadi class abstract di ciptakan untuk class dan method yang
dimana kita tidak dapat menginstansiasi atau membuat objek baru dari class
abstract dan juga tidak mempunyai body pada method di dalam class Abstract.
Pointnya kita hanya bisa menggunakan dan mengimplementasinya pada class
turunanya seperti membuat statement.

• Interface adalah sebuah kumpulan method secara struktur di bahasa


pemrograman Java yang berfungsi untuk tempat menyimpan method kosong
dan atribut yang bersifat constant atau final serta tidak mempunyai
Implementasi. Kita dapat mengimplementasikan (keyword : implements)
interface dengan class lain serta dapat mewariskan (keyword : extends )
dengan interface yang lain. Di dalam sebuah class juga kita dapat
mengimplementasikan atau mewariskan lebih dari satu interface ini biasa di
sebut Multiple inheritance . Interface tidak dapat di instansiasi sama seperti
class abstract dan juga method di Interface harus di set modifier ke public.
Sebuah class yang mengimplementasi Interface wajib hukumnya untuk
mengimplementasi method-method yang tersedia di Interface.
D). Modifier

Modifier merupakan sebuah ijin hak akses untuk penggunaan suatu atribut atau
method pada suatu Package dan Class. Terdapat empat 4 jenis Modifier yaitu public,
private, protected, no modifier.

Contohnya nya kalian bisa melihat gambar berikut:

• Public dapat di akses dari class yang sama package yang sama subclass dan
package lain.
• Protected dapat diakses dari class yang sama package yang sama , subclass,
tapi tidak dapat diakses dari package lain.
• Private hanya dapat di akses oleh class yang sama.
• No Modifiers dapat diakses dari class dan package yang sama.
Contoh Program Java :
latihan1.java
package latihan1; // nama package latihan1

import latihan2.latihan2;
//import class bernama latihan dua dari package lain bernama latihan2

/**
* @author FATHUR (indra.com)
*/

public class latihan1 { //nama class latihan1 dengan modifier public

/**
* @param args the command line arguments
*/

public static void main(String[] args) {

latihan2 lth = new latihan2(); //setiap statement selalu diakhiri ;


//membuat obyek baru dengan variabel lth dari class latihan2
//yang berada di package lain bernama package latihan2

lth.tampilhello();
//setiap statement selalu diakhiri ;
//memanggil method void bernama tampillhello()
//dengan variabel lth yang baru dibuat

latihan2.java
package latihan2; // nama package latihan2

/**
*
* @author FATHUR (indra.com)
*/

public class latihan2 { //nama class latihan2

public void tampilhello ()


//method void dengan nama tampillhello()
//modifier public sehingga dapat di akses oleh package lain
//menggunakan modifier public agar dapat diakses oleh package lain
{
System.out.println("Hello Java!!");
//setiap statement selalu diakhiri ;
//obyek cetak text dengan tipe data string Hello Java
}

}
Komentar :

Kita bisa memberikan komentar di antara baris code yang kita tulis , dengan tanda // dan /* */.
Sebuah komentar di dalam baris code ,ditujukan untuk memberi keterangan terkait fungsi atau
kegunaan baris code tersebut.

Dasar Syntax Java


Dasar dari penulisan syntax dalam bahasa pemrograman Java yang perlu kalian
ketahui salah satunya adalah :

• Case Sensitivity artinya penamaan dari kata "HelloWorld" dengan "helloworld"


sangat berbeda.

• Nama Class : untuk nama class huruf pertama harus menggunakan huruf
besar. (contoh : class NamaClass )

• Nama Method : untuk nama method huruf pertama harus menggunakan huruf
kecil. ( contoh : public void namaMethodSaya() )

• Nama Program : nama program java harus sama dengan nama class. Jadi
jika kalian mempunyai nama class NamaClass, program file harus sama
dengan nama class yaitu NamaClass.java.

Point Penting :

• Pada dasarnya sebuah objek mempunyai state atau behavior.


• State atau atribut pada sebuah objek akan disimpan ke dalam sebuah
variable.
• Behavior pada sebuah objek akan di definisikan ke dalam sebuah method.
• Menyembunyikan data internal dari luar class lalu di akses hanya dengan
method dan modifier public disebut juga dengan data enkapsulasi.
• Sebuah blueprint dari sebuah objek , disebut dengan Class.
• Sebuah Method yang di definisikan di SuperClass lalu akan diturunkan atau di
wariskan ke subclass dilakukan dengan cara menggunakan keyword extends.
• Sebuah perkumpulan method tanpa implementasi disebut dengan interface.
• Sebuah namespace yang mengatur class-class dan interface disebut sebagai
package.
Garbage Collector adalah salah satu mekanisme dan fitur dari JVM (Java Virtual
Machine) untuk meningkatkan Memory Management yang akan menghapus objek
secara otomatis pada memory jika tidak dibutuhkan lagi.
Objek yang akan kita buat dalam coding Java jika kita tidak menggunakan dan
mereferensikan lagi kita tidak lagi menulis coding secara eksplisit seperti pada bahasa
pemrograman C/C++. Ini adalah salah satu keunggulan bahasa pemrograman Java
yang memudahkan para programer dan developer untuk efisiensi pada memori.

Keunggulan Garbage Collector pada Java

1. Programer atau Developer tidak perlu khawatir tentang object yang tidak di
referensikan
2. Ini akan secara otomatis terkontrol oleh JVM (Java Virtual Machine).
3. Meningkatkan efisiensi pada memori

Kita bisa melihat Cara Kerja Garbage Collector. Dengan menulis beberapa codingan
dengan method finalize() dan juga System.gc() Sehingga kalian dapat melihat contoh
dari output Garbage Collector.

Codingnya seperti berikut :

public class Pisang {

/**
* @param args the command line arguments
*/

public void finalize() {


System.out.println("Garbage Collector Berhasil Terkumpul");
}
//Akan ditampilkan jika Garbage Collector bekerja

public static void main(String[] indra) {

/*1*/Pisang satu = new Pisang();


/*2*/Pisang dua = new Pisang();
/*3*/Pisang tiga = satu;
/*4*/satu = null;
/*5*/dua = null;
/*6*/System.gc();

System.out.println("Gargabe Collector Siap !");

Output :

Gargabe Collector Siap !


Garbage Collector Berhasil Terkumpul

Untuk lebih jelasnya bisa lihat contoh gambar berikut :


Jika kita lihat baris 15 - 17 codingan diatas akan terlihat seperti pada gambar dibawah :
Pada class Pisang kita akan membuat beberapa variable dari satu, dua dan tiga.
Pada variable satu dan dua kita akan menginisialisasi object ke dalam Pisang 1 dan Pisang 2.
Pada variable tiga kita akan menentukan nilai kembali ke dalam object Pisang 1.

Nah pada baris selanjutnya kita menentukan variable satu dan dua ke dalam null artinya
kosong tidak ada nilai. Nah pada variable tiga kita masih menentukan nilainya ke dalam object
Pisang 1.
Nah karena object Pisang 2 tidak ada variable manapun yang di referensikan nilainya.

Jadi object Pisang 2 layak diangkut oleh system Garbage Collector pada JVM (Java
Virtual Machine).

Tipe Variable Pemrograman Java


Variable di dalam bahasa pemrograman Java ibarat sebuah wadah atau tempat di
dalam memory yang digunakan untuk menyimpan sebuah nilai/value (seperti data
atau informasi) yang bersifat temporary (sementara).

Jadi dapat berubah-ubah atau tidak tetap tergantung perintah si programmer


tersebut. Sama halnya seperti bahasa pemrograman lain variabel di Java juga
memiliki sebuah nama tipe data dan nilai/value (seperti data atau informasi) yang
akan menentukan sebuah ukuran variabel di dalam memori.
Macam-macam basic tipe data dalam Java :

 String = teks ( ex: satu, dua, dll).


 int(integer), long, short, byte = bilangan bulat (0,1,2,3,dll).
 char = karakter (ex: A,B,C).
 float, double = bilangan desimal.
 boolean = nilai/value dari boolean hanya mengenal true dan false.

Ada 3 Macam Tipe Variabel di dalam Java :


a. Local Variables
b. Instance Variables (Non-static variables)
c. Class Variables (Static Variables)

1) Local Variables
 Tipe data variable ini penggunaan atau pengaksesannya berada di dalam method
constructor atau statement block.
 Local Variables penggunaanya tidak memerlukan access modifier (public, dll).
 Local Variables penggunaanya wajib di inisialisasi terlebih dahulu untuk mencegah
terjadinya erorr karna Local Variables tidak memiliki default value.
---------------------------
package contoh2; // nama package

/**
*
* @author INDRA(Gevira.com)
*/

public class Contoh1 { //nama class Contoh1

void cetakNamaLengkap(){ //tidak perlu modif1er (public, dll)

//variabel
String namaku = "Fardi Indrajaya"; // menginisialisasi variable nama
String kotaku = "Tanjung Enim"; //menginisialisasi variable kota
//tampilkan
System.out.println("Nama :"+namaku);
System.out.println("Kota :"+kotaku);

} //belum bisa tampil karena belum ada program perintah

public static void main(String[] args) { //method void main utama mulai perintah
// TODO code application logic here

//membuat obyek baru bernama cth yg berasal dari class Contoh1


Contoh1 cth = new Contoh1();

//objek cth memanggil method void cetakNamaLengkap()


cth.cetakNamaLengkap(); //objek cth memanggil method cetakNamaLengkap

}
2) Instance Variables (Non-static variables)
 Tipe data Variable ini penggunaan atau pengaksesanya berada di dalam kelas namun
diluar dari method, constructor atau statement block.
 Instance Variables memerlukan access modifier karena memiliki default value.
contoh : variable yang bertipe data boolean default valuenya adalah false, variable
yang bertipe data number default valuenya adalah 0, serta yang bertipe object
reference
-------------------------------------
package contoh2; //nama package

/**
*
* @author INDRA(Gevira.com)
*/

public class Contoh1 { //nama class Contoh1

//deklarasi variabel di dalam kelas tapi diluar method / konstruktor


String namasiswa;
char kelas;
double nilaiujian;

public void cetakNamaSiswa(){

namasiswa = "Andi Wijayanto";


kelas = 'A';
nilaiujian = 7.89;

System.out.println("Nama Siswa :"+namasiswa);


System.out.println ("Kelas di :"+kelas);
System.out.println("Nilai Ujian :"+nilaiujian);
}

public static void main(String[] args) { //method void main utama


// TODO code application logic here

Contoh1 cth = new Contoh1(); //buat object baru cth dari class contoh1

cth.cetakNamaSiswa(); //memanggil method void cetakNamaSiswa() oleh obyek cth yg tlh dibuat

}
}

3) Class Variables (Static Variables)


 Tipe variable ini menggunakan keyword static yang berada didalam kelas namun
diluar dari method , constructor atau statement block.
 Tipe variable ini biasanya digunakan untuk membuat variable bertipe konstanta
artinya nilai/value di dalam variable bersifat tepat dan tidak dapat diubah.
 Tipe data variable ini memiliki default value yang sama seperti Instance Variables.
----------------------------------------

package contoh2; // nama package

/**
*
* @author INDRA(Gevira.com)
*/

public class Contoh1 { //nama class Contoh1

public static double nilaiujian;

public static final String namasiswa = "Andi Wijayanto";

public static void main(String[] args) { //method void main utama


// TODO code application logic here

nilaiujian = 7.89;

System.out.println("Nama Siswa :"+namasiswa);


System.out.println("NilaI Ujianya :"+nilaiujian);

}
}

Variable :

 Dapat di deklarasikan (declare)


 Di tentukan nilainya (assign)
 Ditentukan kembali nilainya ( reassign)
Seperti sudah dijelaskan variable merupakan tempat sementara untuk menyimpan nilai/value.

Mendeclare,assign,reassign variable Java

Ketika kita mendeklarasikan tipe data integer dengan variable x, maka belum ada nilai/value yang tersimpan di variable
x.

Kita menentukan nilai/value dari angka 5 ke variable x

Kita dapat menentukan kembali variable x untuk menentukan nilai/value dari angka 7

Hasilnya ketika kita ingin melihat output lalu mengcompile atau menjalankan program
dengan perintah System.out.println (x); Output nya akan menampilkan angka : 7
Data Primitif dan Referensi di Program Java
A. Tipe Data Primitif / Sederhana

1. Integer(Bilangan Bulat)
Tipe data yang masuk menjadi bagian ini adalah byte, short, int dan long. Semua tipe
data ini bersifat Signed, yaitu bisa mempresentasikan nilai positif dan negatif. Tidak
seperti tipe data lainnya, Java tidak mendukung tipe data unsigned yang hanya bisa
mempresentasikan nilai postif. Untuk jelasnya akan dijelaskan oleh tabel dan penjelasan
di bawah ini :

Tipe Data Ukuran (bit) Range


Byte 8 -128 s.d. 127
Short 16 -32768 s.d. 32767
Int 32 -2147483648 s.d. 2147483647
Long 64 -922337203685477580

Byte
Type byte umumnya digunakan pada saat kita bekerja dengan sebuah data stream dari suatu file
maupun jaringan, yaitu untuk kepeluan proses membaca/menulis. Selain itu, tipe ini juga
digunakan saat bekerja dengan data biner yang tidak kompatibel dengan tipe-tipe lain yang
didefiniskan di dalam Java. Contoh :
class ContohByte {
public static void main(String [] args){
byte a;
a=127;
System.out.println(a);
}
}

Short
Pada umumnya diaplikasikan pada komputer-komputer 16-bit, yang saat ini semakin jarang
keberadaanya. Contoh :

Int
Tipe ini merupakantipe yang paling banyak dipakai dalam merepresentasikan angka dalam Java,
dikarenakan dianggap paling efisien dibandingkan dengan tipe-tipe integer lainnya.
Tipe Int banyak digunakan untuk indeks dalam struktur pengulangan maupun dalam konstruksi
sebuah array.Selain itu, secara teori setiap ekspresi yang melibatkan tipe integer byte, short, int,
long) semuanya akan dipromosikan ke int terlebih dahulu sebelum dilakukan proses
perhitungan. Contoh :

Long
Tipe ini digunakan untuk kasus-kasus tertentu yang nilainya berada di luar rentang tipe int,
karna tipe ini punya range paling tinggi dibanding Integer lainnya. Dengan kata lain,
tipe long terpaksa digunakan jika data memiliki range diluar range int. Contoh :

B. Tipe Data Referensi


a. Class
 Kelas dapat didefiniskan sebagai cetak biru (blueprint) atau prototipe/kerangka yang
mendefiniskan variabel-variabel (data) dan method-method (perilaku) umum dari
sebuah objek. Dengan kata lain kelas adalah sebuah kesatuan yang terintegrasi antara
method dan data yang mengacu pada suatu objek.
 Dalam dunia permrograman, sebenarnya kelas tidak jauh berbeda dengan tipe data
sederhana. Perbedaannya, tipe data sederhana digunakan untuk mendeklarasikan
variabel ‘normal’, sedangkan kelas digunakan untuk mendeklarasikan sebuah variabel
yang berupa objek. Variabel yang berupa objek ini sering disebut dengan referensi
objek (object reference).
 Pada saat kita membuat sebuah kelas baru. Sekali didefiniskan, maka tipe data baru ini
dapat digunakan untuk membuat suatu objek dari tipe tersebut. Dengan kata lain,
kelas adalah pola (template) untuk pembuatan objek, dan objek adalah wujud nyata
(instance) dari sebuah kelas. Contoh :

public Class Mahasiswa{


public String nama;
public int nrp;
Mahasiswa(String a, int b){
nama =a;
nrp= b;
}
public void cetak (){
System.out.println(“Nama : “+nama+” nrp : “+nrp);
}

Setelah kita membuat sebuah kelas untuk menggunakannya maka kita harus
membuat sebuah instance dari kelas tersebut. Berikut cara membuat objek dari kelas :

public static void main(String [] args){


Mahasiswa mhs = new Mahasiswa("Rezki",521110004);
mhs.cetak();
}

Tampilannya :

public class Mahasiswa {

public String nama;


public int nrp;
Mahasiswa(String a, int b){
nama =a;
nrp= b;
}
public void cetak (){
System.out.println("Nama : "+nama+" nrp : "+nrp);
}

public static void main(String [] args){


Mahasiswa mhs = new Mahasiswa("Rezki",521110004);
mhs.cetak();
}
}

b. Array
Tipe data ini memiliki kemampuan untuk menggunakan satu variabel yang dapat
menyimpan sebuah data list dan kemudian memanipulasinya dengan lebih efektif.
Sebuah array akan menyimpan beberapa item data yang memiliki tipe data sama
didalam sebuah blok memori yang berdekatan yang kemudian dibagai menjadi
beberapa slot.

c. Interface
Interface merupakan sekumpulan method yang hanya memuat deklarasi dan struktur method,
tanpa detail implementasinya. Sedangkan detail dari method tersebut berada pada class yang
mengimplementasikan interface tersebut. Interface digunakan bila Anda ingin mengaplikasikan
suatu method yang spesifik, yang tidak diperoleh dari proses inheritance yang lebih terbatas.
Tipe data yang boleh pada interface hanya tipe data konstan.

Method di Bahasa Pemrograman Java


Method (dikenal juga sebagai Function atau Prosedur) adalah suatu perintah kode yang diberi
nama untuk dijalankan di dalam sebuah program Java. Method merupakan sebuah cara untuk
mempermudah programmer dalam mengelompokan sebuah baris code atau pernyataan
(statement). Jadi dengan Method kita bisa menjalankan beberapa baris code atau pernyataan
sekaligus hanya dengan memanggil (calling) nama method tersebut. Hal ini agar program kita
terlihat terstruktur dan efisien.

package mahasiswa;
/**
*
* @author HP
*/
public class Contoh1 { //nama class Contoh1

public void cetakInfo() { //method cetakInfo()


System.out.println("Nama saya Okedroid "); //perintah untuk menampilkan text
System.out.println("Saya adalah seorang Blogger"); //perintah untuk menampilkan text
}
//mendefinisikan 2 baris code atau pernyataan untuk menampilkan text didalam method cetakInfo()
public static void main(String[] args) { //method void main utama

Contoh1 ctk = new Contoh1(); //konstruktor untuk membuat obyek baru ctk
ctk.cetakInfo(); //memanggil method yang bernama cetakInfo() di dalam class Contoh1

Output :
Nama saya Okedroid
Saya adalah seorang Blogger

Contoh syntax program diatas. Dengan method kita hanya memanggil nama method dari
cetakInfo(). Untuk menampilkan dua baris perintah atau statement yang
berfungsi menampilkan text di layar output.

Penting untuk diketahui , kita harus memahami perbedaan antara mendefinisikan (Defining)
method dengan memanggil (Calling) method.
 Mendefinisikan (Defining) method artinya kita memberi nama dari grup code tapi tidak
menjalankan code program yang berada di dalam grup code tersebut. Mendefinisikannya di dalam
class.
public void cetakInfo() {
System.out.println("Nama saya Okedroid ");
System.out.println("Saya adalah seorang Blogger");
}
 Memanggil (Calling) method artinya memanggil grup code dan menjalankan code program di
dalamnya berdasarkan nama yang telah di definisikan. Memanggilnya menggunakan object.
ctk.cetakInfo();
 Method dapat menyimpan suatu nilai/values yang disebut parameters, yang mana dapat diakses
ketika dijalankan. Sedangkan jika kita ingin menentukan nilai dari parameter tersebut ,disebut
argument saat method dijalankan. Dimana argument nilai atau valuenya, harus sesuai
berdasarkan tipe data yang ada di parameters.

Paramater : ditentukan saat method di definisikan


Argument : ditentukan saat method di panggil

public class Contoh1 { //nama class Contoh1

public void cetakInfo(String nama) {


//membuat paramater yang memempunyai nilai/values text bertipe data string

System.out.println("Hi "+nama);
//menambahkan nilai/value yaitu nama yang berada di dalam parameter
}
public static void main(String[] args) { //method void main utama

Contoh1 ctk = new Contoh1();


ctk.cetakInfo("Gevira"); //menentukan nilai dengan argument

}
}
Outputnya :
Hi Gevira

Ada 2 jenis method yang perlu kalian ketahui :


 Method void : Method yang menggunakan keyword void (contoh syntax di atas)
adalah method yang di buat agar tidak dapat mengembalikan nilai.
 Method non void : method yang tidak menggunakan keyword void merupakan
method yang dapat mengembalikan nilai.

Serta method non void wajib menggunakan keyword return dan tipe data nya harus sama
dengan nilai yang akan dikembalikanya (return). Keyword return value dapat disimpan ke
dalam variable lalu digunakan di dalam program. Keyword return juga berguna untuk
mengakhiri statement di dalam method tersebut. Jadi ketika kita membuat statement di
bawah return maka code akan erorr.

public class Contoh1 { //nama class Contoh1

public static void main(String[] args) { //method void main utama

System.out.println(sum); // output 11
}

public static int add (int n1, int n2) {


//method non void yang tidak menggunakan keyword void ( langsung dengan mendefiniskan tipe data )
return n1 + n2;
}

static int sum = add (5, 6); // variabel sum diguanakan untuk mengembalikan nilai
}
Outputnya : 11

Mengenal Constructor Pemrograman Java


Constructor digunakan di dalam bahasa pemrograman Java sebagai method khusus yang berfungsi
untuk menginisialisasi sebuah objek di dalam suatu class blueprint.( Berbeda dengan Method biasa
yang sering digunakan.)

Constructor memiliki syarat yaitu :


 Penamaanya harus sama dengan nama class tempat Constructor itu di definisikan.
 Di dalam suatu class Constructor dapat digunakan lebih dari 1 kali. Selain itu juga Constructor
tidak mempunyai nilai kembalian (return value ) dan juga tidak menggunakan keyword
void. Constructor dipanggil atau dijalankan ketika object dibuat untuk di insialisaisi dengan
keyword new.
 Constructor dapat membawa sebuah nilai/value yang disebut parameter.
Contoh syntax mendefiniskan constructor :
AksesModifier NamaClass ( Paramater ){
pernyataan;
}

Contoh syntax memanggil constructor :


NamaClass namaobject = new NamaClass();
//inisialisasi object
namaobject.tampilAksi();
//menjalankan object dengan method
//lewat notasi dot (.)

Contoh Constructor di dalam Class Mahasiswa.java :

 Mendefinisikan Constructor:

public class Mahasiswa {

String Nama, Kelas;


int Npm;
//deklarasi variable

public Mahasiswa (String nama,String kelas,int npm) {


//Constructor dapat membawa sebuah nilai/value yang disebut paramater
Nama = nama;
Kelas = kelas;
Npm = npm;
//mendefinisikan variable ke dalam constructor
}

void tampilNamaKelas (){

System.out.println(Nama+" "+Kelas+" "+Npm);


//membuat perilaku atau method dari object yang nanti akan dipanggil
//dengan notasi dot (.)
}
}

 Menjalankan Constructor :

public class Cetak { //Main Class

public static void main(String [] gevira) { //method void main utama

Mahasiswa mhsw = new Mahasiswa("Fardi Indrajaya" , "Kelas A",65111007);


//menginisialisi object dengan keyword new
//lalu membawa sebuah paramater

mhsw.tampilNamaKelas();
//menjalankan method atau perilaku dari object
//dengan notasi dot (.)
}
}
Output :
Fathurrahman Kelas A 65111007

Mengenal Type Casting dalam Coding Java


Type Casting di dalam bahasa pemrograman Java adalah suatu cara yang digunakan untuk
menentukan atau merubah nilai atau value dari satu tipe data ke dalam tipe data yang lain.
Contoh :
Kita mempunyai nilai dari variabel x dengan tipe data integer kita bisa menentukan nilai dari
variabel x menjadi tipe data float dengan menggunakan Type Casting ini termasuk ke dalam
kategori (Implicit Casting) begitu pun juga sebaliknya kita bisa merubah tipe data float ke
dalam tipe data integer ini termasuk ke dalam kategori (Explicit Casting).

Type Casting diklasifikasikan ke dalam dua tipe yaitu :


1. Widening Conversion (Implicit Casting)

Tipe data kecil -> Tipe data besar

Dari tipe data byte -> tipe data short, int, long, float, atau double
Dari tipe data short -> tipe data int, long, float, atau double
Dari tipe data char -> dalam tipe data int, long, float, atau double
Dari tipe data int -> dalam tipe data long, float, atau double
Dari tipe data long atau -> dalam tipe data float atau double
Dari tipe data float -> dalam tipe data double
public static void main(String [] gevira) {
// TODO code application logic here
int i = 200;
long l = i;
float f = l;
System.out.println("Int value dari : "+i);
System.out.println("Long value dari : "+l);
System.out.println("Float value dari : "+f);
}
Output:
Int value dari : 200
Long value dari : 200
Float value dari : 200.0

2. Narrow Conversion (Explicit Casting)

Tipe data besar -> Tipe data kecil

Dari tipe data byte ke dalam tipe data char


Dari tipe data short ke byte atau char
Dari tipe data char ke byte atau short
Dari tipe data int ke byte, short, atau char
Dari tipe data long ke byte, short, char,atau int
Dari tipe data float ke byte, short, char, int,atau long
Dari tipe data double ke byte, short, char, int, long, atau float
public static void main(String [] gevira) {
// TODO code application logic here
double d = 120.04;
long l = (long)d;
int i = (int)l;
System.out.println("Double value dari : "+d);
System.out.println("Long value dari : "+l);
System.out.println("Int value dari : "+i);
}

Output:
Double value dari : 120.04
Long value dari : 120
Int value dari : 120

Class
Inner Class pada Program Java

Class merupakan sebuah kerangka/model (blueprint) atau bentuk awal (prototype), yang
berfungsi untuk tempat menaruh dan mendeksripsikan variabel method (perilaku) dari
sebuah obyek. Pada artikel belajar java sebelumnya juga, kita telah mengenal istilah nested
looping yaitu perulangan di dalam perulangan. Nah sama halnya juga saat kita membuat dan
menerapkan suatu Class di bahasa pemrograman Java kita dapat membuat Inner Class.
Inner Class yaitu Class yang didalamnya Class
Class dalam : Mempunyai hak akses terhadap atribut atau method yang berada di Class
luar meskipun dalam kondisi modifier private.
Class luar : Tidak mempunyai hak akses terhadap atribut atau method yang berada di Class
dalam.

OPERATOR
1. Mengenal Operator Assignment dalam Program Java
Operator Assignment (Penugasan) adalah salah satu operator yang berfungsi untuk
menginisialiasi dan memanipulasi suatu nilai pada variable yang identik dengan simbol (=)
serta simbolnya dapat dikombinasikan dengan operator lain.
Seperti contohnya dengan Operator Aritmatika saat kita ingin menjumlahkan nilai pada
variable dengan x = x + y .
Pada variable x dan y sama-sama mempunyai nilai yang tersimpan dan variable x berfungsi
sebagai hasil penjumlahan dari nilai yang tersimpan di variable y.
Disini kita dapat mempersingkatnya dengan menulis baris code x+=y dengan Operator
Assignment. Selengkapnya kita akan mengenal contoh penggunaan Operator Assignment
ini di bahasa pemrograman Java.
---------------------------------------------------------
package gevira;

/**
*
* @author HP
*/
public class Main {

//Belajar java di gevira.com

public static void main(String[] args) {

System.out.println("---Contoh Operator Assignment Java ---");

int x = 14;
int y = 7;

//x =14
System.out.println(" Operator Standar(x) = "+x);
//contoh operator standar output

System.out.println(" Operator Standar(y) = "+y);


//contoh operator standar output

x +=y; // x = x + y

System.out.println(" Operator Penjumlahan(+) = "+x);


//contoh operator penjumlahan

x -=y; // x = x - y

System.out.println(" Operator Pengurangan(-) = "+x);


//contoh operator pengurangan

x*=y; // x = x * y

System.out.println(" Operator Perkalian{*) = "+x);


//contoh operator perkalian

x /=y; // x = x / y
System.out.println(" Operator Pembagian(/) = "+x);
//contoh operator pembagian

x %=y; // x = x % y

System.out.println(" Operator Modulus/Sisa Bagi(%) = "+x);


//contoh operator modulus sisa bagi

}
}

2. Mengenal Operator Logika dalam Program Java

Operator Logika adalah salah satu operator yang digunakan di dalam bahasa
pemrograman Java untuk membandingkan satu nilai atau lebih dengan atau harus
menggunakan tipe data boolean yang menghasilkan nilai true atau false. Hampir sama
seperti operator pembanding bedanya disini kita hanya menggunakan 3 operator saja.
Di dalam bahasa pemrograman Java terdapat 3 operator logika utama yang umumnya
dipakai yaitu : AND ( &&) , OR (| |) dan NOT (!).

package latihan;

import java.util.Date;
/**
*
* @author FATHUR
*/
public class Orang {
/**
* @param args the command line arguments
*/
public static void main(String[] indra) {

//inisialiasai nilai
int nilaisatu = 80;
int nilaidua = 70;
int nilaitiga = 60;

//deklarasi tipe data boolean


boolean x ,y;

//x = nilaidua lebih dari nilai satu and nilai satu lebih dari nilaitiga
//maka hasilnya = FALSE
x = nilaidua >nilaisatu && nilaisatu >nilaitiga;

//y= nilaitiga lebih dari nilaisatu atau nilai dua lebih dari nilaitiga
//maka hasilnya = TRUE
y = nilaitiga>nilaisatu || nilaidua>nilaitiga;

// kondisi if
if (!(x==true && y==true)){
System.out.println("Benar Brooooo !");
}

//atau jika tidak


else {

System.out.println("Salah Ah !");
}

Outputnya :
run:
Benar Brooooo !
BUILD SUCCESSFUL (total time: 0 seconds)

3. Mengenal Operator Relasi dalam Program Java


Operator relasi membandingkan dua nilai dan menentukan keterhubungan diantara nilai-nilai tersebut.
Hasil keluarannya berupa nilai Boolean yaitu true atau false.
Operator Penggunaan Keterangan
> A>B A lebih besar dari B
>= A>=B A lebih besar dari atau sama dengan B
< A<B A kurang dari
<= A<=B A kurang dari atau sama dengan B
== A= = B A sama dengan B
!= A!=B A tidak sama dengan B
Contoh :
package latihan;

/**
*
* @author HP
*/
public class Orang {

/**
* @param indra
*/

public static void main (String[] args){

int a =70;
int b =20;

System.out.println("Hasil a > b = "+ (a>b));


System.out.println("Hasil a >= b = "+ (a>=b));
System.out.println("Hasil a < b = "+ (a<b));
System.out.println("Hasil a <= b = "+ (a<=b));
System.out.println("Hasil a == b = "+ (a==b));
System.out.println("Hasil a != b = "+ (a!=b));
}
}

Outputnya :
run:
Hasil a > b = true
Hasil a >= b = true
Hasil a < b = false
Hasil a <= b = false
Hasil a == b = false
Hasil a != b = true
BUILD SUCCESSFUL (total time: 0 seconds)

4. Mengenal Operator Aritmatika dalam Program Java

Dasar operator aritmatika yang dapat kita gunakan untuk membuat suatu program java.

Operator Penggunaan Keterangan


+ A+B Menambahkan A dengan B
- A–B Mengurankan A dengan B
/ A/B Membagi A dengan B
% A%B Menghitung sisa dari pembagian A dengan B
* A*B Mengalikan A dengan B

Contoh penggunaan :
package latihan;
/**
*
* @author HP
*/
public class Orang {
/**
* @param args
*/

public static void main (String [ ] args){

int A = 100;
int B = 50;
int hasil;

//penjumlahan
hasil = A + B;
System.out.println("Hasil Penjumlahan ="+ hasil);
//Pengurangan
hasil = A - B;
System.out.println("Hasil Pengurangan ="+ hasil);
//Perkalian
hasil = A * B;
System.out.println("Hasil Perkalian ="+ hasil);
//Pembagian
hasil = A / B;
System.out.println("Hasil Pembagian ="+ hasil);
//Hasil Bagi
hasil = A % B;
System.out.println("Hasil Bagi ="+ hasil);
}
}

Outputnya :
run:
Hasil Penjumlahan =150
Hasil Pengurangan =50
Hasil Perkalian =5000
Hasil Pembagian =2
Hasil Bagi =0
BUILD SUCCESSFUL (total time: 0 seconds)
5. Mengenal Operator Increment dan Decrement
Dari sisi operator dasar aritmatika, java juga terdiri atas operator unary increment (++) dan
operator unary decrement (--), operator increment dan decrement menambahkan dan
mengurangi nilai tersimpan dalam bentuk variabel angka terhadap nilai 1.

Berikut ini adalah dasar operator Increment dan Decrement yang dapat kita gunakan untuk
membuat suatu program java.

Operator Penggunaan Keterangan


Menamabah nilai 1 pada A, mengevaluasi nilai A
++ A++
sebelum diincrementasi/ ditambahkan
Menamabah nilai 1 pada A, mengevaluasi nilai A
++ ++A
sesudah diincrementasi/ ditambahkan
Mengurangkan nilai 1 pada A, mengevaluasi nilai A
-- A--
sebelum didecrementasi/dikurangkan
Mengurangkan nilai 1 pada A, mengevaluasi nilai A
-- --A
setelah didecrementasi/dikurangkan

Contohnya :
package latihan;

/**
*
* @author HP
*/
public class Orang {

/**
* @param args
*/

public static void main (String [ ] args) {


int a=20;
int b=5;
int c;
c = ++a +b;
System.out.println("Hasil ="+c);
c = a-- -b;
System.out.println("Hasil ="+c);
c = a++ +b;
System.out.println("Hasil ="+c);
c = --a -b;
System.out.println("Hasil ="+c);
}
}
Outputnya :
run:
Hasil =26
Hasil =16
Hasil =25
Hasil =15
BUILD SUCCESSFUL (total time: 0 seconds)

Keyword
Jenis Keyword pada Java
Semua keyword yang berjumlah 44 ini merupakan kepunyaan Java kita harus
menggunakannya dengan baik dan tentu benar tidak boleh digunakan untuk tujuan yang
lain, seperti untuk penamaan variabel, class atau yang lainnya.

abstract : digunakan untuk Class Abstract yang merupakan sebuah class yang memiliki posisi tertinggi
secara struktur di bahasa pemrograman Java yang berfungsi untuk di implementasikan pada class
turunanya . Jadi class abstract di ciptakan untuk class dan method yang dimana kita tidak dapat
menginstansiasi atau membuat objek baru dari class abstract dan juga tidak mempunyai body pada
method di dalam class Abstract. Pointnya kita hanya bisa menggunakan dan
mengimplementasinya pada class turunanya seperti membuat statement.

assert : digunakan untuk mengetest asumsi seorang programer tentang sebuah code.

boolean : termasuk tipe data primitif yang secara built-in ada di bahasa pemrograman Java digunakan
untuk mendefinisikan nilai yang berisi true atau false pada variable.
break: untuk menghentikan sebuah statement yang biasa digunakan pada suatu kondisi tertentu
pada perulangan.

byte: termasuk tipe data primitif yang secara built-in ada di bahasa pemrograman Java digunakan
untuk mendefinisikan nilai angka dengan ukuran 1 bytes dari range
-128 ke 127.

case: digunakan sebagai kata kunci untuk menyatakan nilai tertentu pada objek yang berhubungan
statement switch yang memuat statement.

catch: digunakan untuk menangkap terjadinya bug atau error yang terjadi pada block program
didalam keyword try.

char : termasuk tipe data primitif yang secara built-in ada di bahasa pemrograman Java digunakan
untuk mendefinisikan nilai huruf atau satuan karakter yang menggunakan tanda kutip satu( ' ').

class: digunakan untuk sebuah nama class, yang merupakan sebuah kerangka/model (blueprint) atau
bentuk awal (prototype) yang berfungsi untuk tempat menaruh dan mendeksripsikan variabel
method (perilaku ) dari sebuah obyek.

const: tidak digunakan lagi.

continue: untuk melanjutkan sebuah statement yang biasa digunakan pada suatu kondisi tertentu
pada perulangan.

default: digunakan pada kondisi switch case yang dimana jika semua pertanyaan atau statement case
salah maka statement di dalam keyword ini akan ditampilkan atau dieksekusi

do: digunakan untuk menyatakan statement di awal ,perulangan do while.

double: termasuk tipe data primitif yang secara built-in ada di bahasa pemrograman Java, digunakan
untuk mendefinisikan nilai angka desimal dengan ukuran 8 bytes dari range
-17e308 ke 1.7e308.

else: digunakan pada kondisi if else yang dimana jika semua pertanyaan if salah maka statement di
dalam block keyword ini akan ditampilkan atau dieksekusi.

enum: digunakan untuk Enumeration untuk memuat kumpulan variable yang telah didefinisikan
menjadi tipe data konstanta.

extends: digunakan pada class , untuk pewarisan (inheritance) yang merupakan suatu proses dimana ,
suatu class yang bisa disebut super class ,dapat mewarisi sifat atau ciri-ciri, seperti atribut dan
method, ke dalam class turunanya yaitu sub class. Super class akan mewarisi nilai dari atribut atau
behavior ke Class turunananya.

final : digunakan pada variable ,atau method ,yang mempunyai nilai tetap ,dan tidak berubah-rubah.
finally: untuk menampilkan output pada statement , setelah try catch , selesai dieksekusi.

float: termasuk tipe data primitif , yang secara built-in ada di bahasa pemrograman Java, digunakan
untuk mendefinisikan nilai angka desimal,dengan ukuran 4 bytes, dari range -3.4e38 ke 3.4e38.

for :digunakan untuk perulangan for , yang menyimpan nilai seperti :definisi nilai variable , kondisi
variable ,sampai increment.

goto: tidak digunakan lagi.

if : keyword sebagai awalan ,yang digunakan untuk mengecek kondisi pada sebuah statement , dalam
kondisi if else.

implements: keyword yang digunakan pada class, untuk mengimplementasi method-method , yang
ada di interface.

import: keyword yang digunakan untuk mengimport class library , atau framework di bahasa
pemrograman Java.

instanceof : adalah salah satu keyword di bahasa pemrograman Java , yang digunakan untuk
membandingkan suatu objek ,apakah termasuk instansiasi dari suatu class ,atau tidak ,yang dimana
kondisinya nanti akan menghasilkan nilai true ataupun false.

int : termasuk tipe data primitif , yang secara built-in ada di bahasa pemrograman Java, digunakan
untuk mendefinisikan nilai angka ,dengan ukuran 4 bytes, dari range
-2147483648 ke 2147483647.

interface adalah sebuah kumpulan method secara struktur di bahasa pemrograman Java , yang
berfungsi untuk tempat menyimpan method kosong dan atribut yang bersifat constant atau final ,
serta tidak mempunyai Implementasi. Kita dapat mengimplementasikan(keyword : implements)
interface dengan class lain ,serta dapat mewariskan (keyword : extends ) dengan interface yang lain.

long: termasuk tipe data primitif , yang secara built-in ada di bahasa pemrograman Java, digunakan
untuk mendefinisikan nilai angka ,dengan ukuran 8 bytes, dari range
63 63
-2 ke 2 -1.

native: digunakan untuk menulis code bahasa pemrograman , selain Java.

new: keyword yang digunakan untuk, menginstansiasi (membuat) objek baru dari class.

package : digunakan untuk alamat (folder) mengklasifikasikan dan menyimpan file-file logika java
private: termasuk ke dalam modifier ,yang hanya dapat di akses oleh class yang sama.

protected: dapat diakses dari class yang sama ,package yang sama ,subclass, tapi tidak dapat diakses
dari package lain

public: termasuk ke dalam modifier, dapat di akses dari class yang sama,package yang sama ,subclass
,dan package lain.
return: keyword yang digunakan untuk tanda berhenti ,dari suatu method yang memiliki tipe data ,lalu
mengembalikan nilainya berdasarkan tipe data dari method tersebut.

short : termasuk tipe data primitif , yang secara built-in ada di bahasa pemrograman Java, digunakan
untuk mendefinisikan nilai angka ,dengan ukuran 2 bytes, dari range

-32768 ke 32767.

static: digunakan untuk mengunci atau menahan suatu method dan variable , menjadi milik class
,bukan menjadi milik class instance, serta tidak dapat di override.

strictfp: membatasi kemampuan komputer dalam merepresentasi angka ekstra besar ,saat komputer
mengkalkulasi nilai float dan double

super: digunakan sebagai variable referensi class , untuk rujukan(referensi) dari Super Class atau
Parent class. Kita dapat menempatkan keyword super pada Variable , Method dan juga Constructor .

switch: sebagai awalan ,untuk menyatakan kondisi nilai pada variable ,yang berhubungan dengan
case dan default.

synchronized : digunakan thread-safe ,yang dimana pada waktu yang bersamaan ,thread yang
berbeda-beda mengakses pada variable yang sama.

this : digunakan sebagai referensi dari variable class , yang mengacu pada obyek saat ini. Keyword this
juga digunakan untuk membedakan variable class dengan variable atribut. Jika kita tidak
menggunakan keyword this , pada nama variable class dan atribut yang sama , maka nilai/value akan
menjadi 0 pada integer atau null pada String.

throw : digunakan secara eksplisit, untuk melempar exception. Jadi kita bisa menggunakan
CheckedException atau UncheckedException di dalam keyword throw.

throws : digunakan untuk mendeklarasikan sebuah exception ,yang kemungkinan terjadi bug atau
error. Jadi kita akan mendeklarasikan exception terlebih dahulu,sebelum penangganan bug atau erorr

transient : digunakan untuk mengindikasikan bahwa variable, tidak dapat di diserialisasikan, dan
menjadi nilai tetap secara default.

try :

digunakan untuk menjalankan dan memproses block program ,yang berpotensi akan mengalami error
nantinya

void : keyword yang artinya kosong ,untuk tipe jenis method ,yang tidak mengembalikan nilai atau
value ,setelah method yang menggunakan keyword ini ,di panggil atau di eksekusi.

volatile :digunakan untuk mereferensikan nilai pada variable akan dimodifikasi oleh thread yang
berbeda.
while : keyword yang digunakan untuk memuat kondisi nilai pada variable ,yang dimana eksekusi akan
berhenti jika nilai false.

Mengenal Keyword Static Pemrograman Java


Keyword static pada Bahasa Pemrograman Java berfungsi untuk mengunci atau menahan
suatu method dan variable menjadi milik class bukan menjadi milik class instance. Jadi ketika
kita menerapkan keyword static pada method dan variable kita tidak perlu lagi membuat
objek baru ketika digunakan oleh class lain. Kita hanya cukup gunakan namaclass(notasi dot.)
nama static variable atau method.

A. Static pada variable


Tanpa keyword static

public class Cetak { //Main Class

int count=0; //akan menyimpan memori sekali

Cetak(){
count++; //iterasi + 1
System.out.println(count);
}

public static void main(String[] gevira) { //method void main utama

Cetak c1 = new Cetak(); //nilai count = 1


Cetak c2 = new Cetak(); //nilai count = 1
Cetak c3 = new Cetak(); //nilai count = 1

}
}

Dengan keyword static

public class Cetak {


//Main Class

static int count=0; //akan menyimpan memori hanya sekali


//lalu dengan keyword static nilai akan dipertahankan

Cetak(){
count++; //iterasi +1
System.out.println(count);
}

public static void main(String [] gevira) { //method void main utama

Cetak c1 = new Cetak(); //nilai count = 1


Cetak c2 = new Cetak(); //nilai count ditahan 1 + 1 = 2
Cetak c3 = new Cetak(); //nilai count ditahan 2 + 1 = 3
}
}
Contoh tanpa menggunakan keyword static :

public class Cetak { //Main Class

String nama = "Fardi Indrajaya !!";

public static void main(String[] gevira) { //method void main utama

System.out.println(nama);
//kita tidak bisa mengakses variable nama
//variable tersebut merupakan tipe variable non static
//karena di inisialiasi di luar method main
}
}
Output :
Program tidak bisa dijalankan alias error

Contoh dengan menggunakan keyword static :

public class Cetak { //Main Class

static String nama = "Fardi Indrajaya !!";

public static void main(String[] gevira) { //method void main utama

System.out.println(nama);
//kita tidak bisa mengakses variable nama
//variable tersebut merupakan tipe variable non static
//karena di inisialiasi di luar method main
}
}

Penjelasan : Pada contoh code program diatas pada variable nama agar kita dapat mengakses
variable tersebut kita harus menggunakan keyword static jika tidak program akan erorr
Karena variable tersebut diinisaliasi diluar method main.

B. Static pada method


Tanpa keyword static

public class Cetak { //Main Class

void tampilKata(){ //membuat method void tanpa keyword static

System.out.println("Halo");
System.out.println("Selamat Pagi");

public static void main(String[] gevira) { //method void main utama

Cetak c1 = new Cetak();


//jika tidak menggunakan static
//kita harus membuat atau menginisialisasi obyek terlebih dahulu

c1.tampilKata();
//menampilkan method tampil() dari obyek c1
}
}
Output :
Halo
Selamat Pagi
----------------------------------------------
Dengan keyword static

public class Cetak { //Main Class

static void tampilKata(){ //membuat method void dengan keyword static

System.out.println("Halo");
System.out.println("Selamat Pagi");

public static void main(String[] gevira) { //method void main utama

Cetak c1 = new Cetak();


//dengan keyword static kita tidak perlu lagi membuat obyek baru
//kita hanya perlu memanggil dengan nama class lalu notasi dot. nama method
//yaitu tampilKata() atau langsung hanya dengan tampilKata(); saja juga bisa.
}
}
Output :
Halo
Selamat Pagi

Penjelasan : Seperti pada contoh code program diatas jika kita ingin memanggil method di luar
method main kita harus membuat atau menginisialisasi obyek terlebih dahulu. Kemudian jika kita
menggunakan keyword static pada method kita tidak perlu lagi membuat obyek terlebih dahulu. Kita
hanya perlu memanggil nya dengan nama class dot (.) nama method atau langsung dengan nama
methodnya saja juga bisa.