Anda di halaman 1dari 17

BAB 2

DASAR-DASAR PEMROGRAMAN JAVA


A. Pokok Bahasan
1. Identifier
2. Tipe Data
3. Operator
4. Input dari Keyboard
5. Percabangan
6. Perulangan
7. Array

B. Tujuan Belajar
Setelah melakukan praktikum dalam bab ini, mahasiswa diharapkan mampu:
1. Memahami perintah-perintah dasar Bahasa pemrograman Java
2. Membuat program dengan Java

C. Dasar Teori
1. Identifier
Identifier adalah nama yang diberikan kepada variabel, method, kelas, paket,
dan interface. Adapun tata cara penamaan identifier:
• Case sensitive, huruf kapital dan kecil dibedakan.
• Identifier yang diberikan oleh pemrogram tidak boleh sama dengan
keyword yang ada di Java.Dimulai dengan huruf atau underscore (garis
bawah) atau tanda ($). Namun sebisa mungkin diawali dengan huruf karena
mungkin identifier dengan awalan underscore dan ($) digunakan untuk
pemrosesan internal dan file import.
• Karakter berikutnya dapat berupa huruf atau angka 0 sampai 9. Simbol-
simbol seperti ‘+’ dan spasi tidak dapat digunakan.
2. Tipe Data
Tipe data adalah sebuah pengklasifikasian data berdasarkan jenis data. Tipe
data dibutuhkan agar kompiler dapat mengetahui bagaimana sebuah data akan

6|P age
digunakan. Tipe data dalam Bahasa Java dikategorikan menjadi 2 yaitu tipe data
primitif dan tipe data non-primitif (referensi).
Tipe data primitif adalah tipe data paling mendasar. Tipe data ini sudah
didefinisikan oleh Java dan diberi nama dengan keyword tertentu.
Tipe data non-primitif (referensi) adalah tipe data yang didefinisikan
sendiri oleh programmer dan biasanya berisi lebih dari satu nilai.

Logika boolean

Karakter char

byte
Primitif
short
Bilangan
Bulat
int

Tipe Data
Number long

String float
Bilangan
Non-Primitif Pecahan
Array double
(Referensi)

Class, dll

Gambar 5 Jenis tipe data

Tipe data suatu variabel dapat diubah ke tipe data lain. Cara ini dikenal dengan nama
casting. Berikut ini adalah contoh casting:

short data1 = 3;
char data = (char) data1 // short ke char

//contoh lain

String duapuluh ="20";


int ubah = Integer.parseInt(duapuluh);

7|P age
Tabel 1 Rentang dan kapasitas tipe data bilangan bulat

Tipe Data Panjang Rentang Nilai Contoh

byte 8 bit -27 sampai 27 - 1 5

(-128 sampai 127 -126

short 16 bit -215 sampai 215 - 1 9

(-32.768 sampai 32.767) -23659

int 32 bit -231 sampai 231 - 1 2067456397

( -2.147.483.648 sampai -1456398567


2.147.483.647)

long 64 bit -2-63 sampai 263 - 1 3L

( -9.223.372.036.854.775.808 -2147483648L
sampai
9.223.372.036.854.775.807) 67L

Tabel 2 Rentang dan kapasitas tipe data bilangan pecahan

Tipe Data Panjang Rentang Nilai Contoh

float 32 bit 3.4 * 10-38 hingga 3.4 * 1038 78F


-34736.86F
6.4E4F ( sama dengan 6,4 x 104 )
double 64 bit 1.7 * 10-308 hingga 1.7 * 10308 -2356

3.5E7
67564788965.567

3. Variabel dan Konstanta


Variabel adalah suatu tempat di memori komputer untuk menampung data
yang nilainya selalu berubah. Sedangkan, Konstanta adalah suatu tempat di memori
komputer untuk menampung data yang nilainya tetap dan tidak boleh diubah
sepanjang program berjalan. Variabel digunakan sebagai tempat penyimpanan data
sementara. Data yang disimpan dalam variabel akan hilang setelah program selesai
dieksekusi. Berikut ini adalah sintaks untuk deklarasi variabel.

8|P age
tipe_data nama_variabel; //sintaks
int nilai; //contoh
float data,jumlah //contoh

Sedangkan untuk deklarasi konstanta dengan menambahkan keyword final


seperti berikut ini:

final tipe_data nama_Konstanta; //sintaks


final int nilai =10; //contoh
final float phi = 3.14; //contoh

4. Operator
a. Operator Aritmatika

Sama halnya dengan semua bahasa pemrograman, Java menyediakan


operator-operator aritmatika untuk manipulasi variabel data numerik. Tabel
penggunaan dan jenis operator aritmatika dalam Java bisa dilihat di bawah ini:

Tabel 3 Operator aritmatika 1

Operator Penggunaan Deskripsi

+ Op1 + Op2 Menambahkan Op1 dengan Op2

- Op1 - Op2 Mengurangkan Op1 dengan Op2

* Op1 * Op2 Mengalikan Op1 dengan Op2

/ Op1 / Op2 Membagi Op1 dengan Op2

Menghasilkan sisa hasil bagi


% Op1 % Op2
antara OP1 dengan Op2

9|P age
Selain operator di atas, operator berikut juga termasuk dalam operator
aritmatika:

Tabel 4 Tabel 1 Operator aritmatika 2

Operator Penggunaan Deskripsi

Op dinaikkan nilainya 1 setelah dilakukan operasi


++ Op++
pada Op
Op dinaikkan nilainya 1 sebelum dilakukan operasi
++ ++Op
pada Op
Op diturunkan nilainya 1 setelah dilakukan operasi
-- Op--
pada Op
Op diturunkan nilainya 1 setelah dilakukan operasi
-- --Op
pada Op
Mengubah nilai Op menjadi negasinya, jika Op
- -Op positif maka menjadi negatif, jika Op negatif
menjadi positif

b. Operator Relasional
Operator relasional dalam Java dapat digunakan untuk membandingkan
antara dua variable, lebih lengkapnya dapat dilihat dalam tabel berikut ini:

Tabel 5 Operator Relasional

Operator Penggunaan Deskripsi

Menghasilkan true jika Op1 lebih besar


> Op1 > Op2
dari Op2

Menghasilkan true jika Op1 lebih kecil


< Op1 < Op2
dari Op2

Menghasilkan true jika Op1 lebih besar


>= Op1 >= Op2
atau sama dengan Op2

10 | P a g e
Operator Penggunaan Deskripsi

Menghasilkan true jika Op1 lebih kecil


<= Op1 <= Op2
atau sama dengan Op2

Menghasilkan true jika Op1 sama


== Op1 == Op2
dengan Op2

Menghasilkan true jika Op1 tidak sama


!= Op1 != Op2
dengan Op2

c. Operator Kondisional
Operator kondisional dalam Java ada enam macam sebagaimana
digambarkan dalam tabel berikut ini:

Tabel 6 Operator Kondisional

Operator Penggunaan Deskripsi

Menghasilkan true jika Op1 dan Op2, keduanya


&& Op1 && Op2
bernilai Boolean true
Menghasilkan true jika Op1 atau Op2, salah
|| Op1 || Op2
satunya bernilai boolean true
Menghasilkan true jika Op1 bernilai boolean
! Op1 ! Op2
false

Bitwise AND, menghasilkan true jika Op1 dan


& Op1 & Op2
Op2 bernilai true

Bitwise OR, Menghasilkan true jika Op1 atau


| Op1 | Op2
Op2 salah satunya bernilai true
Menghasilkan true jika salah satu diantara Op1
^ Op1 ^ Op2
dan Op2 bernilai true, namun tidak keduanya

11 | P a g e
d. Operator Shift
Operator shift dalam Java digunakan untuk manipulasi bit. Operator shift
digunakan untuk menggeser bit-bit sesuai yang diinginkan. Ada tiga operator shift
dalam Java, yakni:

Tabel 7 Operator Shift

Operator Penggunaan Deskripsi

>> Op1 >> Op2 Menggeser bit Op1 ke kanan sejauh Op2

<< Op1 << Op2 Menggeser bit Op1 ke kiri sejauh Op2

Op1 >>>
>>> Menggeser bit Op1 ke kanan sejauh Op2
Op2

e. Operator Assignment
Tabel 8 Operator assigment

Operator Penggunaan Deskripsi

+= Op1 += Op2 Op1 = Op1 + Op2

-= Op1 -= Op2 Op1 = Op1 – Op2

*= Op1 *= Op2 Op1 = Op1 * Op2

/= Op1 /= Op2 Op1 = Op1 / Op2

%= Op1 %= Op2 Op1 = Op1 % Op2

&= Op1 &= Op2 Op1 = Op1 & Op2

|= Op1 |= Op2 Op1 = Op1 | Op2

^= Op1 ^= Op2 Op1 = Op1 ^ Op2

<<= Op1 <<=


<<= Op1 = Op1 << Op2
Op2

>>= Op1 >>= Op2 Op1 = Op1 >> Op2

12 | P a g e
Operator Penggunaan Deskripsi

>>>= Op1 >>>= Op2 Op1 = Op1 >>> Op2

f. Presedence
Java mempunyai aturan untuk menentukan urutan dimana operator di dalam
ekspresi dievaluasi ketika suatu ekspresi mempunyai beberapa operator. Aturan ini
disebut dengan operator precedence. Operator precedence adalah urutan evaluasi
dimana operator yang ada di suatu ekspresi akan dievaluasi berdasarkan aturan
prioritas yang ditentukan.
Operator dengan prioritas lebih tinggi akan dievaluasi terlebih dahulu
dibandingkan dengan operator yang mempunyai prioritas lebih rendah. Apabila
beberapa operator di dalam ekspresi mempunyai prioritas yang sama, maka
operator akan dievaluasi berdasarkan asosiasi dari operator tersebut (operator
association). Berikut ini adalah tabel operator di Java dengan tingkatan prioritas:
Tabel 9 Hirarki Operator

Prioritas Operator Keterangan

0 (…) Kurung buka tutup

1 ++, --, . Postincrement, Postdecrement dan


titik.
reincrement, Predecrement, unary
2 ++, --, +, -, !
plus, unary minus dan Boolean NOT.

Pengkonversian tipe data dan


3 (type), new
pembuatan obyek
Perkalian, pembagian dan sisa
4 *, /, %
pembagian (modulus)
Penambahan, pengurangan dan
5 +, -, +
operator penggabungan string.

6 <, >, <=, >= Relational operator

13 | P a g e
Prioritas Operator Keterangan

7 ==, != Equaliti operator

8 ^ Boolean XOR (eksklusif or)

9 && Boolean AND

10 || Boolean OR

=, +=, -=, *=,


11 Operator pemberian
/=, %=

5. Input dari Keyboard


a. Scanner
Class Scanner merupakan class yang dapat mengambil data yang diketikkan
pada keyboard untuk disimpan ke dalam variabel pada program Java. Untuk
menggunakan Scanner ini, anda harus mengimpor library java.util.Scanner agar
class Scanner bisa digunakan. Berikut kode untuk mengimpor library Scanner.

import java.util.Scanner;

Kode tersebut ditulis pada baris awal sebelum nama class Java. Setelah anda
mengimpor library Scanner, buatlah obyek dari Scanner dengan kode berikut.

Scanner s1 = new Scanner(System.in);

Pada kode di atas, s1 merupakan nama obyek/variabel dari class Scanner yang
baru saja dibuat. Anda bisa menggunakan nama apa saja untuk Scanner. Kemudian
obyek/variabel tadi digunakan untuk mengambil inputan dari keyboard dengan
kode berikut.

int nilai1 = s1.nextInt();

14 | P a g e
Kode s1.nextInt()akan menghasilkan angka yang ditulis pada keyboard.
Sedangkan int nilai1 digunakan sebagai variabel untuk menyimpan data angka yang
dihasilkan s1.nextInt().

b. BufferedReader
Class BufferedReader merupakan class yang dapat membaca data dari
keyboard untuk disimpan pada sebuah variabel. Untuk menggunakan
BufferedReader, tulis kode berikut pada baris paling awal program anda.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

Selanjutnya buatlah obyek/variabel dari BufferedReader dengan kode berikut


BufferedReader br1 = new BufferedReader
(new InputStreamReader(System.in));

Setelah itu anda bisa mengambil dan menyimpan input dari keyboard ke variabel
yang diinginkan
try
{
String nama = br1.readLine();
}
catch (IOException ex)
{
System.out.println("Error pada saat input data");
}

Kode untuk mengambil input keyboard harus ditulis pada blok try-catch untuk
menghindari terjadi error.

c. JOptionPane
JoptionPane merupakan alternatif menerima input keyboard berbasis dialog.
Untuk menggunakan class ini, import class JoptionPane dengan kode berikut.

import javax.swing.JOptionPane;

15 | P a g e
Setelah itu gunakan kode berikut untuk menyimpan input dari keyboard ke
variable

String nilai = JOptionPane.showInputDialog("Masukkan nilai");

Ketika program dijalankan, maka akan tampil dialog untuk meminta input dari
keyboard.
6. Percabangan
a. if-else
if digunakan untuk membuat suatu kode yang hanya berjalan pada kondisi
tertentu. Berikut sintaksnya:

if (kondisi)
{
pernyataan-pernyataan;
}

Misalnya suatu nilai akan dikalkulasikan jika nilai tersebut lebih besar dari 50.

if(nilai >= 50)


{
nilai = nilai + poin;
}

Sintaks di atas adalah contoh penggunaan if untuk memproses nilai jika nilai
tersebut bernilai lebih besar atau sama dengan 50. Selain sintaks if seperti di atas,
juga ada sintaks if-else, sintaks yang ada dalam else dieksekusi jika kondisi tidak
terpenuhi . Berikut ini sintaksnya:

if (kondisi)
{
pernyataan-pernyataan;
}
else
{
pernyataan-pernyataan lain;

16 | P a g e
}

Sebagai contoh apabila nilai mahasiswa lebih besar dari 55 maka mahasiswa
tersebut mendapat predikat lulus untuk mata kuliah yang dimaksud, jika tidak maka
tidak lulus. Contoh pemakain if-else dalam program:

if(nilai > 55)


{
System.out.println("Anda lulus");
}
else
{
System.out.println("Anda tidak lulus");
}

b. switch-case

switch (variable)
{
case keadaan1 : pernyataan-1;
break;
case keadaan2 : pernyataan-2;
break;
case keadaan3 : pernyataan-3;
break;
default : pernyataan-default;
}

Sintaks switch-case di atas jika dituliskan dengan if menjadi:

if (variabel==keadaan1)
{
pernyataan-1;
}
else if (variabel==keadaan2)
{

17 | P a g e
pernyataan-2;
}
else if (variabel==keadaan3)
{
pernyataan-3;
}
else
{
pernyataan-default;
}

7. Perulangan
a. for
for adalah kode yang digunakan untuk menjalankan serangkaian kode secara
berulang-ulang. Pada kode for ini terdapat beberapa komponen yang dicantumkan,
antara lain: (1) inisialisasi, (2) kondisi, (3) perubahan nilai, (4) statement yang
diulang. Berikut ini format sintaks untuk kode for.

for (inisialisasi-awal, kondisi, perubahan_nilai)


{
statemen;
}

Berikut ini adalah contoh skrip untuk mencetak tulisan “Hello” sebanyak 10
kali.

for(int a = 0; a < 10; a++)


{
System.out.println(“Hello”);
}

Kode perulangan dapat dibuat di dalam perulangan lainnya, atau yang sering
disebut nested for. Contoh penggunaaan seperti pada skrip berikut:

for(int a = 0; a < 5; a++)


{
for(int b = 0; b < 5; b++)
{

18 | P a g e
System.out.print(a);
}
}

b. while-do
Perintah while-do merupakan perintah alternatif untuk melakukan
perulangan selain for. Cara kerjanya sama, namun sintaks (aturan penulisan) yang
berbeda. Berikut sintaks while-do.

inisialisasi;
while(kondisi)
{
Statement;
perubahan_nilai;
}

Berikut ini adalah contoh skrip untuk mencetak tulisan “Hello” sebanyak 10
kali.

int a = 0;
while(a < 10)
{
System.out.println(“Hello”);
a++;
}

c. do-while
Pernyataan perulangan while akan menguji sebuah persyaratan, dan
kemudian menjalankan sekumpulan pernyataan jika persyaratan terpenuhi. Usai
menjalankan kumpulan pernyataan, persyaratan akan diuji kembali, dan jika
terpenuhi kumpulan peryataan akan dijalankan kembali. Demikian seterusnya.

inisialisasi;
do
{

19 | P a g e
Statement;
perubahan_nilai;
} while(kondisi);

Berikut ini adalah contoh skrip untuk mencetak tulisan “Hello” sebanyak 10
kali.

int a = 0;
do
{
System.out.println(“Hello”);
a++;
} while(a < 10);

8. Array
Array adalah kumpulan data yang memiliki tipe data sama. Tiap data tersebut
dibedakan dengan index dalam array tersebut. index dari array dimulai dari [0].
Array digunakan untuk mengurangi jumlah penggunaan variabel. Array dapat
terdiri dari satu dimensi, dua dimensi dan seterusnya tergantung kebutuhan.
Berikut ini sintaks untuk deklarasi array:

tipe_data [] nama_array; //array 1 dimensi

atau

tipe_data nama_array[][];//array 2 dimensi

Contoh penggunaan array sebagai berikut:

int [] nilai = {1,2,3,4,5};


System.out.println(nilai[2]);

20 | P a g e
D. Percobaan
1. Percobaan 1

public class PositifNegatif {


public static void main( String[] args )
{
int angka;
Scanner x = new Scanner(System.in);
do {
System.out.print("Inputkan sebuah bilangan : ");
angka = x.nextInt();
if (angka > 0)
System.out.println("bilangan " + angka + "
adalah bilangan positif");
else
System.out.println("bilangan "+angka+" adalah
bilangan negatif");
} while(angka!=0);
}
}

2. Percobaan 2

public class HitungRataRata {


public static void main( String[] args )
{
int data [] = {100,80, 85, 70, 65, 100, 55, 75, 90,
100};
float jumlah = 0;
for (int i=0; i<10; i++)
{
System.out.println("nilai ke "+ i +" : "+ data[i]);
jumlah = jumlah + data[i];
}
float rata = jumlah/10;
System.out.println("jumlah = " + jumlah);

21 | P a g e
System.out.println("rata-rata = " + rata);
}
}

E. Latihan
1. Analisislah program pada percobaan 1, berikan komentar yang berisi
kegunaan setiap baris kode program
2. Buatlah flowchart dari percobaan 1!
3. Buatlah program untuk menampilkan karakter * dengan pola seperti gambar
di bawah ini. User diminta untuk menginputkan a atau b, jika user
menginputkan a, maka akan keluar karakter * dengan pola seperti gambar a,
dan jika user menginputkan b, maka akan keluar karakter * dengan pola
seperti gambar b.
a.

b.

4. Buatlah program untuk menghitung perkalian matrik 2x2!

22 | P a g e

Anda mungkin juga menyukai