0% menganggap dokumen ini bermanfaat (0 suara)
21 tayangan37 halaman

Tipe Data dan Operator di Java

Data

Diunggah oleh

Rey Pandi
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
21 tayangan37 halaman

Tipe Data dan Operator di Java

Data

Diunggah oleh

Rey Pandi
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd

A.

Tipe Data Variabel Dalam Bahasa Pemrograman Java

Tipe Data
Tipe data merupakan bagian program yang paling penting karena tipe data
mempengaruhi setiap instruksi yang akan dilaksanakan oleh Komputer. Misalnya saja 5
dibagi 2 bisa saja menghasilkan hasil yang berbeda tergantung tipe datanya. Jika 5 dan 2
bertipe integer maka akan menghasilkan nilai 2, namun jika keduanya bertipe float maka
akan menghasilkan nilai 2.5000000. Pemilihan tipe data yang tepat akan membuat proses
operasi data menjadi lebih efisien dan efektif.
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 -9223372036854775808 s.d. 9223372036854775807

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.

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

Int
Tipe ini merupaka ntipe 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.

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 Kode

public class TipeDataBilanganBulat {


public static void main(String[] args) {
// TODO Auto-generated method stub
byte b;
short s;
int i;
long l;

b=15;
s=1220;
i=67100;
l=73423512;

System.out.println("b="+b);
System.out.println("s="+s);
System.out.println("i="+i);
System.out.println("l="+l);
}
}

Bilangan Pecahan
Tipe floating-point digunakan untuk merepresentasikan nilai-nilai yang mengandung
pecahan atau angka decimal di belakang koma, seperti 3.1416,5.25, dan sebagainya.
Bilangan semacam ini disebut sebagai bilangan riil. Dalam Java tipe ini dibedakan
menjadi dua jenis, yaitu float, dan double. Untuk jelasnya akan dijelaskan oleh tabel dan
penjelasan di bawah ini :
Tipe Ukuran Range Presisi
bytes bi (jumlah
t digit)
float 4 32 +/- 3.4 6-7
x 1038
double 8 64 +/- 1.8 15
x 10308

Float
Tipe ini digunakan untuk menandakan nilai–nilai yang mengandung presisi atau ketelitan
tunggal (single-precision) yang menggunakan ruang penyimpanan 32-bit. Presisi tunggal
biasanya lebih cepat untuk processor-processor tertentu dan memakan ruang
penyimpanan setengah kali lebih sedikit dibandingkan presisi ganda (double precision).
Permasalahan yang timbul dari pemakaian tipe float untuk nilai-nilai yang terlalu kecil
atau justru terlalu besar, karena nilai yang dihasilkan akan menjadi tidak akurat.

Double
Tipe ini mengandung tingkat ketelitian ganda atau presisi ganda (double precision) dan
menggunakan ruang penyimpanan 64-bit untuk menyimpan nilai. Tipe double tentu lebih
cepat untuk melakukan perhitungan-perhitungan matematis daripad tipe float. Untuk
perhitungan yang bersifat bilangan riil dan menghasilkan hasil yang lebih akurat, maka
lebih baik menggunakan tipe double.

Contoh Kode

public class TipeDataBilanganPecahan {


public static void main(String[] args) {
// TODO Auto-generated method stub
float f;
double d;

f=5.4f;
d=7.8;

System.out.println("f="+f);
System.out.println("d="+d);
}
}

Char
Tipe data char merupakan tipe untuk menyatakan sebuah karakter. Java menggunakan
karakter Unicode untuk merepresentasikan semua karakter yang ada . Unicode ialah
sekumpulan karakter yang terdapat pada semua bahasa, seperti bahasa Latin, Arab,
Yunani dan lain-lainnya. Karena bahasa Java dirancang untuk dapat diterapkan di
berbagai macam platform, maka Java menggunakan karakter Unicode yang
membutuhkan ukuran 16-bit.
String
Tipe data String di dalam Java adalah tipe data yang terdiri dari kumpulan karakter yang
berurutan. Atau di dalam penggunaan sehari-hari string adalah tipe data yang
menampung nilai text atau kalimat.

Contoh Kode

public class TipeDataString {


public static void main(String[] args) {
// TODO Auto-generated method stub
String s;

s="Belajar Java";

System.out.println(s);
}
}

Boolean
Tipe boolean adalah tipe data yang digunakan untuk menampung nilai logika, yaitu nilai
yang hanya memiliki dua buah kemungkinan (benar atau salah). Tipe ini ditandai dengan
kata kunci Boolean. Dalam bahasa Java, nilai benar dipresentasikan dengan kata
kunci true dan nilai salah dengan kata kunci false.

Variabel

Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu nilai
tertentudi dalam proses program. Berbeda dengan konstanta yang nilainya selalu tetap,
nilai dari suatuvariable bisa diubah- ubah sesuai kebutuhan. Nama dari suatu variable
dapat ditentukan sendirioleh pemrogram dengan aturan sebagai berikut :
 Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa huruf.
Bahasa Java bersifat case-sensitive artinya huruf besar dan kecil dianggap berbeda. Jadi
antara nim, NIM dan Nim dianggap berbeda.
 Tidak boleh mengandung spasi.
 Tidak boleh mengandung symbol-simbol khusus, kecuali garis bawah (underscore). Yang
termasuk symbol khusus yang tidak diperbolehkan antara lain : $, ?, %, #, !, &,*, (, ), -, +,
=dsb
 Panjangnya bebas, tetapi hanya 32 karakter pertama yang terpakai.

Deklarasi

Deklarasi diperlukan bila kita akan menggunakan pengenal (identifier) dalam program.
Identifier dapat berupa variable, konstanta dan fungsi. Bentuk umum pendeklarasian
suatu variable adalah :

Nama_tipe nama_variabel;

Contoh :

int x; // Deklarasi x bertipe integer


float nilai; // Deklarasi variable bertipe float
double beta; // Deklarasi variable bertipe double

B. Operator Dalam Bahasa Pemrograman Java

Operator adalah suatu simbol yang digunakan untuk memberikan perintah kepada
komputer untuk melakukan aksi terhadap satu atau lebih operand. Operand sendiri adalah
sesuatu yang dioperasikan oleh operator. Operasi yang dilakukan oleh operator
berupa perintah perhitungan, dan segala aksi yang ingin dimasukkan ke dalam program.

Operator dalam Java


Java menyediakan bebagai jenis operator. Macam-macam operator ini mempunyai
fungsi yang berbeda. Berbagai jenis operator ini dapat diklasifikasikan sebagai berikut :
 Operator Aritmetika
 Operator Relasional
 Operator Logika
 Operator Assigment
 Operator Kondisional
 Operator Instanceof

Operator Aritmetika
Operator Aritmetika digunakan pada ekspresi matematik seperti pada operasi aljabar.
Berikut ini merupakan daftar operator aritmetika :

Diasumsikan bahwa variabel A bernilai 10 dan B bernilai 20, maka :

Operator Deskripsi Contoh

Penjumlahan : Menambahkan nilai-


+ A+B hasilnya 30
nilai yang ada di kedua sisi operator.

Pengurangan : Mengurangkan nilai


operand sebelah kiri dengan nilai
– A-B hasilnya -10
operand di sebelah kanan.

* Perkalian : Mengalikan nilai-nilai A*B hasilnya 200


yang ada di kedua sisi operator.

Pembagian : Membagi nilai operand


di sebelah kiri dengan nilai operand
/ B/A hasilnya 2
di sebelah kanan.

Modulus : Melakukan pembagian


nilai operand di sebelah kiri dengan
nilai operand disebelah kanan dan
% B%A hasilnya 0
mengembalikan sisa nilainya.

Peningkatan : Menambahkan 1 pada


++ B++ hasilnya 21
nilai operand.

— Penurunan : Mengurangkan 1 dari B—hasilnya 19


nilai operand.

Operator Relasional
Berikut ini operator relasional yang didukung dalam Java :

Diasumsikan bahwa variabel A bernilai 10 dan B bernilai 20, maka :

Operato
r Deskripsi Contoh

Memeriksa apakah nilai kedua operand


sama atau tidak, jika sama maka konsidi
== bernilai benar. (A==B) adalah tidak benar

Memeriksa apakah nilai kedua operand


sama atau tidak, jika kondisi tidak sama
!= maka bernilai benar. (A!=B) adalah benar

Memeriksa apakah nilai operand sebelah


kiri lebih dari nilai operand di sebelah
kanan, jika ya maka kondisi bernilai
> benar. (A>B) adalah tidak benar

Memeriksa apakah nilai operand di


sebelah kiri kurang dari nilai operand di
sebelah kanan, jika ya berarti kondisi
< bernilai benar. (A<B) adalah benar

Memeriksa apakah nilai operand sebelah


kiri lebih dari atau sama dengan nilai
operand di sebelah kanan, jika ya maka
>= kondisi bernilai benar. (A>=B) adalah tidak benar
Memeriksa apakah nilai operand di
sebelah kiri kurang dari atau sama dengan
nilai operand di sebelah kanan, jika ya
<= berarti kondisi bernilai benar. (A<=B) adalah benar

Operator Logika
Berikut ini daftar operator logika. Diasumsikan bahwa nilai Boolean
variabel A adalah true dan B adalah false, maka :

Operato
r Deskripsi Contoh

Operator logika AND. Jika kedua operand


bernilai bukan nol, maka kondisi bernilai
&& benar. (A&&B) adalah tidak benar

Operator logia OR. Jika ada operand tabf


|| bukan nol, maka kondisi bernilai benar. (A||B) adalah benar

Operator logika NOT. Digunakan untuk


membalik keadaaan logika dari operand.
Jika kondisi benar, maka operator NOT
! akan membuatnya menjadi tidak benar. !(A&&B) adalah benar

Operator Assignment
Berikut ini daftar operator assignment dalam Java :

Operator Deskripsi Contoh

Memasukkan nilai operand di sebalah


kanan kedalam operand di sebelah C=A+B akan memasukkan
= kiri. nilai A+B kedalam C
Menjumlahkan nilai operand disebelah
kiri dengan nilai operand disebelah
kanan dan memasukkan hasilnya C+=A hasilnya sama
+= kedalam operand disebelah kiri. dengan C=C+A

Mengurangkan nilai operand


disebelah kiri dengan nilai operand
disebelah kanan dan memasukkan
hasilnya kedalam operand disebelah C-=A hasilnya sama
-= kiri. dengan C=C-A

Mengalikan nilai operand disebelah


kiri dengan nilai operand disebelah
kanan dan memasukkan hasilnya C*=A hasilnya sama
*= kedalam operand disebelah kiri. dengan C=C*A

Membagi nilai operand disebelah kiri


dengan nilai operand disebelah kanan
dan memasukkan hasilnya kedalam C/=A hasilnya sama
/= operand disebelah kiri. dengan C=C/A

Menggunakan operasi modulus


terhadap kedua operand dan
memasukkan hasilnya ke dalam C%=A hasilnya sama
%= operand disebelah kiri. dengan C=C%A

Operator Kondisional (?:)


Operator konisional juga disebut operator ternary. Operator ini terdiri dari tiga operand
dan digunakan untuk mengeveluasi ekspresi Boolean. Tujuan daru operator ini adalah
untuk menentukan nilai mana yang akan dimasukkan ke dalam variabel.
Berikut ini syntax penuliasan operator ternary :
variabel x=(ekspresi)?nilai jka benar: nilai jika salah

Berikut Contoh penggunaannya :

public class Tes {


public static void main(String args[])
{
int a, b;
a=10;
b=(a==1)?20:30;
System.out.println(“Nilai b adalah : “+b);

b=(a==10)?20:30;
System.out.println(“Nilai b adalah : “+b);
}
}

Output kode tersebut :

Nilai b adalah : 30

Nilai b adalah : 20

Operator Instanceof
Operator ini digunakan hanya untuk variabel referensi objek. Operator memeriksa apakah
objek merupakan tipe tertentu.

Berikut ini syntax penuliasan operator Instanceof :

(Objek variabel referensi ) Instanceof (tipe kelas atau interface)

Jika objek yang direferensikan oleh variabel di sebelah kiri operator merupakan tipe kelas
atau imterface di sebelah kanan, maka hasillnya adalah benar. Berikut contoh
penggunaannya :

String nama =”Puruhita”;


boolean hasil=nama instanceof String;
//Ini akan bernilai benar karena nama bertipe String
Pada contoh berikut tetap bernilai benar karena objek yang dibandingkan kompatibel
dengan tipe di sebelah kanan :

class Kendaraan()
public class Mobil extends Kendaraan {
public static void main(String[] args) {
Kendaraan a=new Mobil();
boolean hasil=a instanceof Mobil;
System.out.println(hasil);
}
}

Output kode tersebut :

true

Prseden Operator – Operator Java


Java memiliki aturan yang terdefinisi dengan baik untuk menentukan urutan
operator dalam ekspresi dievaluasi ketika ekspresi memiliki beberapa operator.
Misalnya , perkalian dan pembagian memiliki prioritas lebih tinggi daripada penambahan
dan pengurangan.

Berikut urutan prseden operator-operator Java :

Kategori Operator Asosiasi

Postfix () [] . (operator titik) Kiri ke kanan

Unary ++ — | ~ Kanan ke kiri

Multiplicative */ % Kiri ke kanan

Additive +– Kiri ke kanan

Shift >>>>><< Kiri ke kanan

Relasional >>=<<= Kiri ke kanan


Persamaan == != Kiri ke kanan

Bitwise AND & Kiri ke kanan

Bitwise XOR ^ Kiri ke kanan

Bitwise OR | Kiri ke kanan

Logical AND && Kiri ke kanan

Logical OR || Kiri ke kanan

Kondisional ?: Kanan ke kiri

= += -= *= /= %=
Assigment >>= <<= &= ^= |= Kanan ke kiri

Koma , Kiri ke kanan

C. Flowchart Dalam Bahasa Pemrograman Java


Flowchart adalah diagram alur, namun pengertian yang lebih spesifik mengenai
Flowchart itu sendiri adalah adalah bagan-bagan atau simbol-simbol yang memiliki alur
yang mengambarkan proses dari penyelesaian suatu masalah. Flowchart biasa digunakan
pada algoritma dalam menyelesaikan suatu masalah agar terstruktur dan jelas,mulai dari
kasus sampai dengan penyelesaianya hal ini dapat dilihat ketika menyusun sebuah
program Java.
Tujuan Membuat Flowchart
Menggambarkan tahapan dalam penyelesaian suatu permasalahan.Terstruktur
dengan adanya penggunaan simbol-simbol. Mengambarkan secara jelas alur suatu
permasalahan hingga penyelesaian secara rapi dan mudah dikoreksi.

Jenis jenis Flowchart

Ada beberapa jenis flowchart diantaranya:

1. Bagan alir sistem (Systems Flowchart).


System flowchart dapat didefinisikan sebagai bagan yang menunjukkan kontrol dari
sebuah sistem aliran dokumen. systems flowchart menjelaskan urut-urutan dari
prosedur - prosedur yang ada pada sebuah sistem. Bagan flow/alur sistem
menunjukkan apa saja yang dikerjakan pada sebuah sistem.

2. Bagan flow/alir dokumen (Document Flowchart).

Bagan flow/alir dokumen (document flowchart) atau disebut juga bagan flow/alir
formulir (form flowchart) atau paperwork flowchart merupakan bagan alir yang
menunjukkan arus dari laporan dan formulir termasuk tembusan-tembusannya.

3. Bagan flow/alir skematik (Schematic Flowchart).

Bagan flow/alir skematik (schematic flowchart) merupakan bagan flow/alir yang mirip
dengan bagan alir sistem, yaitu untuk menggambarkan prosedur di dalam sistem.
Perbedaannya adalah, bagan alir skematik selain menggunakan simbol-simbol bagan
alir sistem, juga menggunakan gambar-gambar komputer dan peralatan lainnya yang
digunakan. Penggunaan gambar-gambar ini adalah untuk memudahkan komunikasi
kepada orang yang kurang paham dengan simbol-simbol bagan flow/alur.

4. Bagan flow/alir program (Program Flowchart).

Menunjukkan kontrol dari sebuah program dalam sebuah sistem. Bagan flow/alir
logika program digunakan untuk menggambarkan tiap-tiap langkah di dalam program
komputer secara logika. Bagan alat- logika program ini dipersiapkan oleh analis
sistem. Gambar berikut menunjukkan bagan flow/alur logika program.

5. Bagan flow/alir proses (Process Flowchart).

Menunjukkan kontrol dari sebuah sistem aliran secara fisik. Bagan alir ini juga
berguna bagi analis sistem untuk menggambarkan proses dalam suatu prosedur.

Simbol-Simbol Umum Pada Flowchart

Penggunaan metode Flowchart dalam menyelesaikan suatu algoritma terbukti sangat


membantu dikarenakan penggunaan simbol-simbol yang membuat alur dalam proses
penyelesaian suatu permasalahan terlihat jelas hingga ke penyelesaiannya.
Gambar dibawah merupakan sedikit contoh dari simbol-simbol yang umum digunakan
dalam Flowchart beserta penjelasan mengenai simbol itu sendiri.

Membuat Flowchart serta Coding Java untuk menghitung Luas Segitiga

Flowchart :
KET :

1. a : alas

2. t : tinggi

Coding Java :

import java.util.Scanner;

class segitiga
{ //awal program
public static void main (String[]args) {
Scanner input=new Scanner (System.in);
int a,t;
double luas ;
// memasukkan nilai a dan t
System.out.println();
System.out.println("[=->>-==--==--==--==--==--==--==--==--==--==--==--=<<-=]");
System.out.println("[=->>=--==--==--==--==--==--==--==--==--==--==--==-<<-=]");
System.out.println();
System.out.println(" [>>>====================================<<<]");
System.out.println(" Menghitung Luas Segitiga ");
System.out.println(" [>>>====================================<<<]");
System.out.println();
System.out.print(" Masukkan Nilai Alas : ");
a=input.nextInt();
System.out.print(" Masukkan Nilai Tinggi : ");
t=input.nextInt();
//menentukan rumus
luas = (0.5 * a) * t;
//menentukan hasil perhitungan
System.out.println();
System.out.println(" [>>>====================================<<<]");
System.out.println(" Hasil Menghitung Luas Segitiga ");
System.out.println(" [>>>====================================<<<]");
System.out.println();
System.out.println(" Luas Segitiga Adalah : "+luas );
System.out.println();
System.out.println(" [>>>====================================<<<]");
System.out.println();
System.out.println("[=->>-==--==--==--==--==--==--==--==--==--==--==--=<<-=]");
System.out.println("[=->>=--==--==--==--==--==--==--==--==--==--==--==-<<-=]");
}
} //akhir dari program

D. Perulangan Dalam Bahasa Pemrograman Java


Dalam Java, ada tiga struktur kontrol perulangan yaitu: for, while, dan do-while.
Perulangan ( atau yang disebut Looping) adalah suatu proses yang diklakukan secara
berulang-ulang hingga mencapai kondisi tertentu.
Sebagai contoh ketika anda ingin mencetak deretan angka hingga batas tertentu (contoh:
1-100), maka anda bisa menggunakan fungsi looping dalam program.
Biasanya fungsi looping digunakan dan berperan penting dalam algoritma sorting, karena
kita akan menukar nilai variabel hingga menghasilkan nilai berurutan.
Bentuk umum perulangan pada java dapat kita temukan dalam beberapa program yang
bekerja menggunakan tipe data array sebagai variabel yang digunakan.

Strukur dan Aturan Penulisan For Loop


Pada dasarnya konsep perulangan pada java memiliki sintaks yang sama dengan C++.
Perhatikan Source Code :
for (start; condition; increment)
{
statement;
}
Start adalah kondisi pada saat awal perulangan.
Biasanya kondisi awal ini digunakan untuk membuat dan memberikan nilai kepada
variabel yang digunakan untuk mengontrol perulangan.
Misalkan, kita akan membuat variabel i, maka untuk kondisi start ini, kita juga harus
memberikan nilai awal untuk variabel i, misalnya dengan 1, maka i=1.
Condition adalah kondisi yang harus terpenuhi agar looping dapat berjalan. Selama
kondisi terpenuhi, maka Java akan terus melakukan perulangan.
Jadi anda harus lebih teliti dan berhati-hati dalam memberikan condition dalam
perulangan for supaya tidak terjadi infinity loop atau malah loop tidak bekerja.
Statement adalah bagian baris kode program yang akan diproses secara terus-menerus
selama proses perulangan berlangsung.
Increment adalah bagian yang digunakan untuk memproses variabel agar bisa memenuhi
kondisi akhir perulangan. Biasa ditulis i++ atau ++i.
Contoh source code perulangan sederhana:
public class CetakAngka {

public static void main(String[] args) {


for(int x=0;x<10;x++){
System.out.println(x);
}
}

Dalam program diatas hanya ingin mencetak 10 angka mulai dari 0 sampai 9. Mengapa
dimulai dari nol? karena start di angka nol.

 Perbedaan While dan Dowhile


Perulangan yang anda akan temukan adalah while dan do while. Kedua looping
ini akan bekerja selama kondisi masih terpenuhi. Namun yang membedakan
kedua perulangan tersebut adalah lokasi kondisi. Untuk detailnya kita lihat
program dibawah ini:
public class WhileLoop {
public static void main(String[] args) {
int batas = 0;
while (batas<10) {
System.out.print(batas);
batas++;
}
}
}
Bandingkan dengan program dibawah ini:
public class DoWhileLoop {
public static void main(String[] args) {
int batas = 0;
do {
System.out.print(batas);
batas++;
}while (batas<10);
}
}
Sekilas memang hasilnya sama saja, namun sebenarnya ada perbedaan hasil jika
kita menggunakan while loop dengan mengunakan do while.
Pada kasus do while loop pengecekan dilakukan di akhir sehingga minimal
program akan berjalan 1 kali meskipun kondisi tidak terpenuhi.
Sebenarnya konsepnya sama dengan perulangan for, namun hanya sedikit berbeda
dalam penulisan kodenya. Kita tetap membutuhkan start, condition, dan
increment.
E. Percabangan Dalam Bahasa Pemrograman Java
Percabangan hanyalah sebuah istilah yang digunakan untuk menyebut alur program yang
bercabang. Percabangan juga dikenal dengan “Control Flow”, “Struktur Kondisi”,
“Struktur IF”, “Decision”, dsb. Semuanya itu sama. Pada diagram alur (Flow Chart)
seperti di atas, alurnya memang satu. Tapi setelah kita menggunakan percabangan,
alurnya akan bertambah.
Contoh format struktur if seperti ini :
if( suatu_kondisi ) {
// lakukan sesuatu kalau kondisi benar
// Lakukan ini juga
}
suatu_kondisi hanya bernilai true/false saja. Kita bisa gunakan operator relasi dan logika
di sini.
 Percabangan IF
Percabangan ini hanya memiliki satu pilihan. Artinya, pilihan di dalam IF hanya
akan dikerjakan kalau kondisinya benar. Tapi kalau salah tidak akan melakukan
apa-apa alias lanjut eksekusi ke perintah berikutnya.
Contoh kita membuat sebuah program hadiah misalkan ada sebuah toko buku.
Mereka memberikan hadiah berupa perlengkapan sekolah kepada pembeli yang
belanja di atas Rp 100.000. Maka program yang dapat dibuat sebagai berikut:
import java.util.Scanner;

public class Hadiah {

public static void main(String[] args) {

// membuat variabel belanja dan scanner


int belanja = 0;
Scanner scan = new Scanner(System.in);

// mengambil input
System.out.print("Total Belanjaan: Rp ");
belanja = scan.nextInt();
// cek apakah dia belanja di atas 100000
if ( belanja > 100000 ) {
System.out.println("Selamat, anda mendapatkan hadiah!");
}

System.out.println("Terima kasih...");

 Percabangan IF/ELSE
Sedangkan percabangan IF/ELSE memiliki pilihan alternatif kalau kondisinya
salah.
IF: “Jika kondisi benar maka kerjakan ini, kalau tidak silahkan lanjut”
IF/ELSE: “Jika kondisi benar maka kerjakan ini, kalau salah maka kerjakan yang
itu, setelah itu lanjut”.
Contoh kita akan buat sebuah program kelulusan misalkan, kalau nilai siswa lebih
besar dari 70, maka ia dinyatakan lulus. Kalau tidak, maka dia gagal. Maka
program yang dibuat adalah:
import java.util.Scanner;

public class CekKelulusan {

public static void main(String[] args) {

// membuat variabel dan Scanner


int nilai;
String nama;
Scanner scan = new Scanner(System.in);
// mengambil input
System.out.print("Nama: ");
nama = scan.nextLine();
System.out.print("Nilai: ");
nilai = scan.nextInt();

// cek apakah dia lulus atau tidak


if( nilai >= 70 ) {
System.out.println("Selemat " + nama + ", anda lulus!");
} else {
System.out.println("Maaf " + nama + ", anda gagal");
}

}
 Percabangan IF/ELSE dengan Operator Ternary
Selain menggunakan struktur seperti di atas, percahangan ini juga dapat
menggunakan operator ternary. Operator ternary memiliki konsep yang sama
seperti percabangan IF/ELSE. Contoh programnya:
public class OperatorTernary {
public static void main(String[] args) {

boolean suka = true;


String jawaban;

// menggunakan operator ternary


jawaban = suka ? "iya" : "tidak";

// menampilkan jawaban
System.out.println(jawaban);
}
}
 Percabangan IF/ELSE/IF
Jika percabangan IF/ELSE hanya memiliki dua pilihan saja. Maka percahangan
IF/ELSE/IF memiliki lebih dari dua pilihan. Formatnya seperti ini:
if (suatu kondisi) {
// maka kerjakan ini
// kerjakan perintah ini juga
// …
} else if (kondisi lain) {
// kerjakan ini
// kerjakan ini juga
// …
} else if (kondisi yang lain lagi) {
// kerjakan perintah ini
// kerjakan ini juga
// …
} else {
// kerjakan ini kalau
// semua kondisi di atas
// tidak ada yang benar
// …
}

Sebagai contoh disini saya membuat program hitung grade dengan


ketentuan Jika nilainya lebih besar dari 90, maka grade-nya “A”. Sedangkan kalau
lebih besar dari 80, maka “B+”. Lebih besar dari 70, maka “B”, dan seterusnya.
Berikut program yang dibuat:
import java.util.Scanner;
public class HitungGrade {
public static void main(String[] args) {

// membuat variabel dan scanner


int nilai;
String grade;
Scanner scan = new Scanner(System.in);

// mengambil input
System.out.print("Inputkan nilai: ");
nilai = scan.nextInt();

// higung gradenya
if ( nilai >= 90 ) {
grade = "A";
} else if ( nilai >= 80 ){
grade = "B+";
} else if ( nilai >= 70 ){
grade = "B";
} else if ( nilai >= 60 ){
grade = "C+";
} else if ( nilai >= 50 ){
grade = "C";
} else if ( nilai >= 40 ){
grade = "D";
} else {
grade = "E";
}

// cetak hasilnya
System.out.println("Grade: " + grade);
}
}

 Percabangan SWITCH/CASE
Percabangan SWITCH/CASE sebenarnya adalah bentuk lain dari IF/ELSE/IF.
Bedanya, percabangan ini menggunakan kata kunci switch dan case. Formatnya
juga berbeda, tapi cara kerjanya sama. Berikut formatnya:
switch(variabel){
case 1:
// kerjakan kode ini
// kode ini juga
break;
case 2:
// kerjakan kode ini
// kode ini juga
break;
case 3:
// kerjakan kode ini
// kode ini juga
break;
default:
// kerjakan kode ini
// kode ini juga
break;
}

Perhatikan: case 1 artinya nilai variabel yang akan dibandingkan, apakah nilainya
sama dengan 1 atau tidak.
Kalau iya, maka kerjakan kode yang ada di dalam case 1.
Bisa juga betuknya berbeda, misalnya seperti ini:
switch (variabel) {
case 'A':
// lakukan sesuatu
break;
case 'B':
// lakukan ini
break;
default:
// lakukan ini
}
Perlu diperhatikan juga: di sana ada kata kunci break dan default.
break artinya berhenti. Ini untuk memerintahkan komputer untuk berhenti
mengecek case yang lainnya.
default artinya jika nilai variabel tidak ada yang sama dengan pilihan case di atas,
maka kerjakan kode yang ada di dalam default.
Pilihan default bisa juga tidak memiliki break, karena dia adalah pilihan terakhir.
Artinya pengecekan akan berakhir di situ.
Contoh program dengan percabangan SWITCH/CASE:
import java.util.Scanner;

public class LampuLalulintas {


public static void main(String[] args) {

// membuat variabel dan Scanner


String lampu;
Scanner scan = new Scanner(System.in);

// mengambil input
System.out.print("Inputkan nama warna: ");
lampu = scan.nextLine();

switch(lampu){
case "merah":
System.out.println("Lampu merah, berhenti!");
break;
case "kuning":
System.out.println("Lampu kuning, harap hati-hati!");
break;
case "hijau":
System.out.println("Lampu hijau, silahkan jalan!");
break;
default:
System.out.println("Warna lampu salah!");
}
}
}
 Percabangan dalam percabangan (Nested)
Contoh kasus:

Misalnya ada model bisinis seperti ini di sebuah toko. Ketika orang membayar di
kasir, biasanya ditanya ada kartu member untuk mendapatkan diskon dan
sebagainya.
Atau dimisalkan:
Apakah anda punya kartu member?
- ya
* Apakah belanjaan anda lebih dari 500rb?
# ya : mendapatkan diskon 50rb
# tidak : tidak mendapatkan diskon
* Apakah belanjaan anda lebih dari 100rb?
# ya : mendapatkan diskon 15rb
# tidak: tidak mendapatkan diskon
- tidak
* Apakah belanjaan anda lebih dari 100rb?
# ya : mendapatkan diskon 10rb
# tidak: tidak mendapatkan diskon

Mari kita coba dalam program berikut ini;


Pertama kita buat class bernama kasir dan gunakan kode berikut:
import java.util.Scanner;

public class Kasir {


public static void main(String[] args) {
// deklarasi variabel dan Scanner
int belanjaan, diskon, bayar;
String kartu;
Scanner scan = new Scanner(System.in);

// mengambil input
System.out.print("Apakah ada kartu member: ");
kartu = scan.nextLine();
System.out.print("Total belanjaan: ");
belanjaan = scan.nextInt();

// proses
if (kartu.equalsIgnoreCase("ya")) {
if (belanjaan > 500000) {
diskon = 50000;
} else if (belanjaan > 100000) {
diskon = 15000;
} else {
diskon = 0;
}

} else {
if (belanjaan > 100000) {
diskon = 5000;
} else {
diskon = 0;
}
}

// total yang harus dibayar


bayar = belanjaan - diskon;

// output
System.out.println("Total Bayar: Rp " + bayar);
}
}
Mungkin di sana ada yang perlu diperhatikan:
Fungsi equalsIgnoreCase("ya") digunakan untuk membandingkan String dengan
tidak memperdulikan huruf besar dan kecilnya.
Ada juga Fungsi equals(), fungsinya sama. Tapi equals() akan memperhatikan
case hurufnya.
Kenapa tidak menggunakan operator == atau !=?
Di Java memang seperti itu.
Kalau kita ingin membandingkan nilai String, ya… menggunakan fungsi yang
dua tadi.
Tapi, kalau membandingkan selain String, maka bisa pakai operator == atau !=.

 Menggunakan Operator Logika Dalam Percabangan


Operator logika dalam percabangan sebenarnya bisa membuat percabangan
menjadi lebih singkat.
Misal ada program Tilang dengan logika seperti ini:
public class Tilang {
public static void main(String[] args) {
boolean SIM = false;
boolean STNK = true;

// cek apakah dia akan ditilang atau tidak


if(SIM == true){
if( STNK == true ) {
System.out.println("Tidak ditilang!");
}
} else {
System.out.println("Anda ditilang!");
}
}
}
Perhatikan: di sana kita menggunakan percabangan bersarang untuk mengecek,
apakah dia ditilang atau tidak.
Hal ini sebenarnya bisa disingkat dengan operator logika, sehingga menjadi
seperti ini:
public class Tilang {
public static void main(String[] args) {
boolean SIM = false;
boolean STNK = true;

// cek apakah dia akan ditilang atau tidak


if(SIM == true && STNK == true){
System.out.println("Tidak ditilang!");
} else {
System.out.println("Anda ditilang!");
}
}
}
Pada kode di atas, kita menggunakan operator AND (&&).
Karena logikanya: Si pengendara tidak akan ditilang kalau punya SIM dan STNK.

F. Array Dalam Bahasa Pemrograman Java


Array adalah sekumpulan data yang berurutan dan mempunyai tipe variabel yang sama.
indeks didalam array dimulai dari indeks ke 0 dan seterusnya. Pendeklarasian array tidak
jauh beda dengan pendeklarasian variabel. Anda harus membuat sebuah daftar dari tipe
data, yang diikuti oleh sepasang tanda kurung [], lalu diikuti oleh nama identifier-nya.
Cara membuat array kosong:
// cara pertama
String[] nama;

// cara kedua
String nama[];

// cara ketiga dengan kata kunci new


String[] nama = new String[5];

Perhatikan:
Kita menggunakan kurung siku [] untuk membuat array;
Kurung siku bisa diletakkan setelah tipe data atau nama array;
Angka 5 dalam kurung artinya batas atau ukuran array-nya.
Array yang kosong siap diisi dengan data. Pastikan mengisinya dengan data yang sesuai
dengan tipe datanya.
Kita bisa mengisinya seperti ini:
nama[0] = "Linda";
nama[1] = "Santi";
nama[2] = "Susan";
nama[3] = "Mila";
nama[4] = "Ayu";
Atau kalau tidak mau rept bias seperti ini:
String[] nama = {"Linda", "Santi", "Susan", "Mila", "Ayu"};

Setelah pendeklarasian array , kita harus membuat array dan menentukan berapa
panjangnya dengan sebuah konstruktor. Proses ini di Java disebut sebagai instantiation
(istilah dalam Java yang berarti membuat). Sebagai catatan bahwa ukuran dari array tidak
dapat diubah setelah anda menginisialisasinya. Sebagai contoh,
//deklarasi
String nama[];

//instantiate obyek
nama = new String[100];

atau bisa juga ditulis dengan,

//deklarasi dan instantiate


obyek
String nama[] = new
String[100];

Dalam Contoh kali ini saya akan menerapkannya dengan pemograman berorientasi objek.
Dengan sebuah kasus array 1 dimensi dengan overloading constructor dan array 2
dimensi dengan overloading method. Overloading constructor adalah sebuah constructor
yang sama, dalam satu class namun parameternya berbeda.
Berbeda jumlah variabelnya maupun berbeda tipe dari variabelnya. Oveloading method
adalah sebuah method yang sama, dalam satu class namun parameternya berbeda.
Berbeda jumlah variabelnya maupun berbeda tipe dari variabelnya. yang membedakan
antara constructor dengan method terletak pada retrun typenya jika method membutuhkan
retrun type / pengembalian nilai, tapi constructor tidak mebutuhkan retrun type namun
nama dari constructor harus sama dengan nama classnya. untuk lebih jelasnya mari lihat
contoh coding berikut:
Silahkan buat class bernama buah kemudian tulis kode berikut:
import java.util.Scanner;

public class Buah {


public static void main(String[] args) {

// membuat array buah-buahan


String[] buah = new String[5];

// membuat scanner
Scanner scan = new Scanner(System.in);

// mengisi data ke array


for( int i = 0; i < buah.length; i++ ){
System.out.print("Buah ke-" + i + ": ");
buah[i] = scan.nextLine();
}

System.out.println("---------------------------");

// menampilkan semua isi array


for( String b : buah ){
System.out.println(b);
}

}
}

Perhatikan:

Di sana kita menggunakan perulangan foreach untuk menampilkan isi array.

 Array multi dimensi


Array multi dimensi artinya array yang memiliki lebih dari satu dimensi.

Atau kita bisa sebut, array di dalam array.

Jumlah dimensinya tidak terbatas, tergantung kita mampunya sampai berapa.

Contoh berikut ini adalah array dua dimensi:

String[][] kontak = {

{"Lili","08111"},

{"Lala","08122"},

{"Maya","08133"}

};

Indek ke-0 pada array kontak berisi array {"lili","08111"}.

Contoh cara mengakses data dari array dua dimensi:

Package pertemuan8;

Public class array20{

Public static void main(String[]args) {

String[][] kontak = {{“Lili”,”08111”},{“Lala”,”08122”},


{“Maya”,”08133”}};

For(int x=0; x < kontak.length; x++){

System.out.println(“Nama: “ + kontak [x][0]);

System.out.println(“Nama: “ + kontak [x][1]);

System.out.println(“----------------------------------“);

Contoh kembali array multidimensi:


import java.util.Scanner;

public class RuangKelas {

public static void main(String[] args) {

// Membuat Array dan Scanner

String[][] meja = new String[2][3];

Scanner scan = new Scanner(System.in);

// mengisi setiap meja

for(int bar = 0; bar < meja.length; bar++){

for(int kol = 0; kol < meja[bar].length; kol++){

System.out.format("Siapa yang akan duduk di meja (%d,%d): ", bar,


kol);

meja[bar][kol] = scan.nextLine();

// menampilkan isi Array

System.out.println("-------------------------");

for(int bar = 0; bar < meja.length; bar++){

for(int kol = 0; kol < meja[bar].length; kol++){

System.out.format("| %s | \t", meja[bar][kol]);

}
System.out.println("");

System.out.println("-------------------------");

Pada program tersebut, kita menggunakan perulangan bersarang untuk mengambil


input dan menampilkan outputnya.

Karena array dua dimensi mirip seperti tabel, maka kita harus melakukan
perulangan terhadap baris dan kolomnya.

Jika array 3D,4D,5D, kita harus membuat perulangan bersarang sebanyak


dimensinya.

 Array List

Array yang kita bahas di atas sebenarnya memiliki beberapa kekurangan,


seperti:

Tidak mampu menyimpan data dengan tipe yang berbeda.

Ukurannya tidak dinamis.

Maka dari itu, ada Array List yang menutupi kekurangan tersebut.

Array list merupakan sebuah class yang memungkinkan kita membuat


sebuah objek untuk menampung apapun.

Untuk menggunakan Array List, kita harus mengimpornya terlebih dahulu.

import java.util.ArrayList;

Setelah itu, baru kita bisa membuat sebuah objek Array List seperti ini:

ArrayList al = new ArrayList();

Contoh program dengan arraylist


Pertama membuat class bernama doraemon selanjutnya:
import java.util.ArrayList;
public class Doraemon {
public static void main(String[] args) {

// membuat objek array list


ArrayList kantongAjaib = new ArrayList();

// Mengisi kantong ajaib dengan 5 benda


kantongAjaib.add("Senter Pembesar");
kantongAjaib.add(532);
kantongAjaib.add("tikus");
kantongAjaib.add(1231234.132);
kantongAjaib.add(true);

// menghapus tikus dari kantong ajaib


kantongAjaib.remove("tikus");

// Menampilkan isi kantong ajaib


System.out.println(kantongAjaib);

// menampilkan banyak isi kantong ajaib


System.out.println("Kantong ajaib berisi "+ kantongAjaib.size() +"
item");
}
}
Karena array list (kantongAjaib) merupakan sebuah objek yang terbuat
dari class Array List, maka dia punya method (fungsi) untuk melakukan
sesuatu.
Fungsi add() untuk menambahkan sesuatu ke dalam Array List;
Fungsi remove() untuk menghapus sesuatu ke dalam Array List;
Fungsi size() untuk mengambil ukuran Array List;
Fungsi get(id) untuk mengambil item dalam Array List berdasarkan id atau
indeks tertentu.
dan masih banyak fungsi yang lainnya.

Anda mungkin juga menyukai