DIKTAT PEMROGRAMAN 2 - Informatika Unindra
Transcript of DIKTAT PEMROGRAMAN 2 - Informatika Unindra
DIKTAT
PEMROGRAMAN 2 UNIVERSITAS INDRAPRASTA
Ahmad Fauzi, M.Kom
BAB 1
PENGENALAN JAVA
1.1 Sejarah Singkat Java
Pada 1991, sekelompok insinyur Sun dipimpin oleh Patrick Naughton dan James
Gosling ingin merancang bahasa komputer untuk perangkat konsumer seperti cable TV Box.
Dikarenakan perangkat tersebut tidak memiliki banyak memori, bahasa harus berukuran
kecil dan mengandung kode yang liat. Juga karena manufaktur – manufaktur berbeda
memilih processor yang berbeda pula, maka bahasa harus bebas dari manufaktur manapun.
Proyek diberi nama kode ”Green”.
Kebutuhan untuk fleksibilitas, kecil, liat dan kode yang netral terhadap platform
mengantar tim mempelajari implementasi Pascal yang pernah dicoba. Niklaus Wirth, pencipta
bahasa Pascal telah merancang bahasa portabel yang menghasilkan intermediate code untuk
mesin hipotesis. Mesin ini sering disebut dengan mesin maya (virtual machine). Kode ini
kemudian dapat digunakan di sembarang mesin yang memiliki interpreter. Proyek Green
menggunakan mesin maya untuk mengatasi isu utama tentang netral terhadap arsitektur mesin.
Karena orang–orang di proyek Green berbasis C++ dan bukan Pascal maka
kebanyakan sintaks diambil dari C++, serta mengadopsi orientasi objek dan bukan prosedural.
Mulanya bahasa yang diciptakan diberi nama ”Oak” oleh James Gosling yang mendapat inspirasi
dari sebuah pohon yang berada pada seberang kantornya, namun dikarenakan nama Oak sendiri
merupakan nama bahasa pemrograman yang telah ada sebelumnya, kemudian SUN
menggantinya dengan JAVA. Nama JAVA sendiri terinspirasi pada saat mereka sedang
menikmati secangkir kopi di sebuah kedai kopi yang kemudian dengan tidak sengaja salah
satu dari mereka menyebutkan kata JAVA yang mengandung arti asal bijih kopi. Akhirnya
mereka sepakat untuk memberikan nama bahasa pemrograman tersebut dengan nama Java.
Produk pertama proyek Green adalah Star 7 (*7), sebuah kendali jarak jauh yang sangat
cerdas. Dikarenakan pasar masih belum tertarik dengan produk konsumer cerdas maka
proyek Green harus menemukan pasar lain dari teknologi yang diciptakan. Pada saat yang
sama, implementasi WWW dan Internet sedang mengalami perkembangan pesat. Di lain
pihak, anggota dari proyek Green juga menyadari bahwa Java dapat digunakan pada
pemrograman internet, sehingga penerapan selanjutnya mengarah menjadi teknologi yang
berperan di web.
1.2 Karakteristik Java Berdasarkan white paper resmi dari SUN, Java memiliki karakteristik berikut : 1. Sederhana
Bahasa pemrograman Java menggunakan sintaks mirip dengan C++ namun sintaks
pada Java telah banyak diperbaiki terutama menghilangkan penggunaan pointer
yang rumit dan multiple inheritance. Java juga menggunakan automatic memory
allocation dan memory garbage collection.
2. Berorientasi objek (Object Oriented)
Java mengunakan pemrograman berorientasi objek yang membuat program dapat
dibuat secara modular dan dapat dipergunakan kembali. Pemrograman berorientasi
objek memodelkan dunia nyata kedalam objek dan melakukan interaksi antar objek-
objek tersebut.
3. Dapat didistribusi dengan mudah
Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya libraries
networking yang terintegrasi pada Java.
4. Interpreter
Program Java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM).
Hal ini menyebabkan source code Java yang telah dikompilasi menjadi Java bytecodes
dapat dijalankan pada platform yang berbeda-beda.
5. Robust
Java mempuyai reliabilitas yang tinggi. Compiler pada Java mempunyai kemampuan
mendeteksi error secara lebih teliti dibandingkan bahasa pemrograman lain. Java
mempunyai runtime-Exception handling untuk membantu mengatasi error pada
pemrograman.
6. Aman
Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java
memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan
untuk merusak sistem komputer yang menjalankan aplikasi tersebut.
7. Architecture Neutral
Program Java merupakan platform independent. Program cukup mempunyai satu
buah versi yang dapat dijalankan pada platform yang berbeda dengan Java Virtual
Machine.
8. Portabel
Source code maupun program Java dapat dengan mudah dibawa ke platform yang
berbeda-beda tanpa harus dikompilasi ulang.
9. Performance
Performance pada Java sering dikatakan kurang tinggi. Namun performance Java
dapat ditingkatkan menggunakan kompilasi Java lain seperti buatan Inprise,
Microsoft ataupun Symantec yang menggunakan Just In Time Compilers (JIT).
10. Multithreaded
Java mempunyai kemampuan untuk membuat suatu program yang dapat
melakukan beberapa pekerjaan secara sekaligus dan simultan.
11. Dinamis
Java didesain untuk dapat dijalankan pada lingkungan yang dinamis. Perubahan pada
suatu class dengan menambahkan properties ataupun method dapat dilakukan
tanpa menggangu program yang menggunakan class tersebut.
1.3 Sebagian Fitur dari JAVA
1.3.1 Java Virtual Machine
JVM adalah sebuah mesin imajiner (maya) yang bekerja dengan menyerupai aplikasi pada
sebuah mesin nyata. JVM menyediakan spesifikasi hardware dan platform dimana kompilasi
kode Java terjadi. Spesifikasi inilah yang membuat aplikasi berbasis Java menjadi bebas dari
platform manapun karena proses kompilasi diselesaikan oleh JVM.
Aplikasi program Java diciptakan dengan file teks berekstensi .java. Program ini
dikompilasi menghasilkan satu berkas bytecode berekstensi .class atau lebih. Bytecode adalah
serangkaian instruksi serupa instruksi kode mesin. Perbedaannya adalah kode mesin harus
dijalankan pada sistem komputer dimana kompilasi ditujukan, sementara bytecode berjalan
pada java interpreter yang tersedia di semua platform sistem komputer dan sistem operasi.
1.3.2 Garbage Collection
Banyak bahasa pemrogaman lain yang mengijinkan seorang programmer mengalokasikan
memori pada saat dijalankan. Namun, setelah menggunakan alokasi memori tersebut, harus
terdapat cara untuk menempatkan kembali blok memori tersebut supaya program lain dapat
menggunakannya. Dalam C, C++ dan bahasa lainnya, adalah programmer yang mutlak
bertanggung jawab akan hal ini. Hal ini dapat menyulitkan bilamana programmer tersebut alpa
untuk mengembalikan blok memori sehingga menyebabkan situasi yang dikenal dengan nama
memory leaks.
Program Java melakukan garbage collection yang berarti program tidak perlu
menghapus sendiri objek–objek yang tidak digunakan lagi. Fasilitas ini mengurangi beban
pengelolaan memori oleh programmer dan mengurangi atau mengeliminasi sumber kesalahan
terbesar yang terdapat pada bahasa yang memungkinkan alokasi dinamis.
1.3.3 Code Security
Code Security terimplementasi pada Java melalui penggunaan Java Runtime
Environment (JRE). Java menggunakan model pengamanan 3 lapis untuk melindungi sistem dari
untrusted Java Code.
1. Pertama, class-loader menangani pemuatan kelas Java ke runtime interpreter. Proses ini
menyediakan pengamanan dengan memisahkan kelas–kelas yang berasal dari local disk
dengan kelas–kelas yang diambil dari jaringan. Hal ini membatasi aplikasi Trojan karena
kelas–kelas yang berasal dari local disk yang dimuat terlebih dahulu.
2. Kedua, bytecode verifier membaca bytecode sebelum dijalankan dan menjamin bytecode
memenuhi aturan–aturan dasar bahasa Java.
3. Ketiga, manajemen keamanan menangani keamanan tingkat aplikasi dengan mengendalikan
apakah program berhak mengakses sumber daya seperti sistem file, port jaringan, proses
eksternal dan sistem windowing.
Setelah seluruh proses tersebut selesai dijalankan, barulah kode program di eksekusi.
Java juga menyediakan beragam teknik pengamanan lain :
1. Bahasa dirancang untuk mempersulit eksekusi kode perusak. Peniadaan pointer
merupakan langkah besar pengamanan. Java tidak mengenal operasi pointer. Di tangan
programmer handal, operasi pointer merupakan hal yang luar biasa untuk optimasi dan
pembuatan program yang efisien serta mengagumkan. Namun mode ini dapat menjadi
petaka di hadapan programmer jahat. Pointer merupakan sarana luar biasa untuk
pengaksesan tak diotorisasi. Dengan peniadaan operasi pointer, Java dapat menjadi bahasa
yang lebih aman.
2. Java memiliki beberapa pengaman terhadap applet. Untuk mencegah program bertindak
mengganggu media penyimpanan, maka applet tidak diperbolehkan melakukan open,
read ataupun write terhadap berkas secara sembarangan. Karena Java applet dapat
membuka jendela browser yang baru, maka jendela mempunyai logo Java dan teks
identifikasi terhadap jendela yang dibuka. Hal ini mencegah jendela pop-up menipu
sebagai permintaan keterangan username dan password.
1.4 Fase Pemrograman JAVA
Gambar 1.1 Fase-fase pemrograman java
1. Membuat Source Code program dengan menggunakan editor text atau software pihak ketiga
lainnya yang dapat memudahkan dalam membuat program dengan bahasa java. Kode
program yang dibuat kemudian disimpan dalam sebuah berkas berekstensi .java
2. Proses kompilasi (Compile), proses ini memeriksa kode program terjadi kesalahan atau tidak.
3. Hasil dari proses compile adalah sebuah berkas bytecode yang berekstensi .class
4. Class hasil compile yang berupa bytecode dapat dijalankan pada semua platform yang
memiliki Java Virtual Machine.
1.5 Token Token adalah elemen terkecil dari program yang masih memiliki arti bagi kompilator. Token
didalam java terbagi menjadi 5 (lima).
Gambar 1.2 Token didalam java terbagi menjadi 5.
Token
Identifier
Keyword
Literal Operator
Separator
1.5.1 Identifier
Java Identifier adalah suatu tanda yang mewakili nama-nama variabel, method, class, dsb.
Pendeklarasian Java adalah case-sensitive. Hal ini berarti bahwa Identifier : Hello tidak
sama dengan hello. Identifier harus dimulai dengan salah satu huruf, underscore “_”, atau tanda
dollar “$”. Hurufnya dapat berupa huruf besar maupun huruf kecil. Karakter selanjutnya
dapat menggunakan nomor 0 smpai 9.
Syarat penamaan sebuah identifier:
1. Tidak boleh dimulai dengan angka.
2. Tidak boleh mengandung karakter khusus kecuali “_” dan ”$”.
3. Tidak boleh mengandung karakter putih (white space).
4. Tidak boleh menggunakan keyword java.
Tabel 1.1 Contoh Penulisan Identifier
Contoh identifier
Benar Salah
luasLingkaran luasLin&karan
$panjang 4panjang
lebar1 lebar 1
al4y 4lay
user_name user name
1.5.2 Keyword
Keyword (kata kunci) adalah identifier yang telah dipesan atau didefinisikan sebelumnya
oleh Java untuk tujuan tertentu. Anda tidak dapat menggunakan keyword sebagai nama
variabel, class, method , dsb.
Berikut ini adalah daftar dari kata kunci dalam Java (Java Keywords):
Tabel 1.2 Daftar Kata Kunci (Keyword) JAVA
abstract assert boolean break byte
case catch char class const
continue default do double else
enum extends final finally float
for if goto implements import
instanceof int interfaca long native
new package private protected public
return short static strictfp super
switch syncronized this throw throws
transient try void volatile while
1.5.3 Literal
Penulisan besaran untuk variabel adalah penting, literal Java terdiri dari angka, karakter,
dan string. Angka terdiri dari bilangan bulat (integer), bilangan mengambang (floating point), dan
boolean. Nilai boolean untuk true dan false direpresentasikan sebagai 1 dan 0. Karakter selalu
mengacu ke karakter Unicode. String berisi rangkaian karakter. String literal merepresentasikan
banyak karakter dan muncul di dalam pasangan tanda petik ganda (”...”).
Literal karakter direpresentasikan satu karakter Unicode tunggal dan muncul di pasangan
tanda petik tunggal (‟...‟). Serupa C/C++, karakter khusus (seperti karakter kendali dan karakter
yang tidak dapat dicetak) direpresentasikan dengan backslash (\) diikuti kode karakter.
1.5.4 Operator
Operator menspesifikasikan evaluasi atau komputasi terhadap objek. Operan yang
dioperasikan dapat berupa literal, variabel, atau nilai yang dikirim oleh metode atau fungsi.
Macam-macam operator pada java:
1. Operator Aritmatika
2. Operator Relasi
3. Operator Logika
4. Operator Kondisi
1.5.5 Separtor (pemisah)
Separator digunakan untuk menginformasikan ke kompilator Java mengenai adanya
pengelompokkan di kode program. Berikut daftar separator yang digunakan dalam Java :
Tabel 1.3 Daftar Separotor pada Java
Notasi Nama Deskripsi
(...) Kurung
Untuk menghimpun parameter dalam definisi dan pemanggilan method, juga digunakan untuk menyatakan tingkat pernyataan, menghimpun pernyataan, untuk pengaturan alur program, dan untuk menyatakan tipe cast (cast types)
{...} Kurung kurawal Untuk menghimpun nilai yang otomatis dimasukkan ke dalam array, digunakan juga untuk mendefinisikan blok program, untuk cakupan class, method, dan lokal.
[...] Kurung siku Untuk mendeklarasikan tipe array
; Titik koma Untuk mengakhiri sebuah pernyataan (statement)
, Koma Untuk memisahkan identifier-identifier di bagian deklarasi variabel
. Titik Untuk memisahkan nama paket dari sub-paket dan class dan untuk memisahkan variabel atau method dari variabel referensi.
1.6 Program Sederhana Java Sebuah file kode sumber (dengan ekstensi java.) Memegang satu definisi kelas. Kelas
tersebut merupakan bagian dari program, meskipun aplikasi yang sangat kecil mungkin perlu
hanya satu kelas. Kelas harus memiliki sepasang kurung kurawal.
1. public class PraktikumSatu{
2. public static void main(String[] args){
3. System.out.println(“Hello World”);
4. }
5. }
1.7 Komentar Pada Java Komentar adalah catatan yang ditulis pada kode dengan tujuan sebagai bahan
dokumentasi. Komentar membantu programmer untuk mengkomunikasikan dan memahami
program. Komentar tersebut bukan bagian dari program (bukan statement) dan diabaikan oleh
kompiler sehingga tidak mempengaruhi jalannya program.
Terdapat 3 cara penulisan komentar pada java: 1. Menggunakan dua garis miring (//)
Semua teks setelah tanda // dianggap sebagai komentar.
Contoh:
// ini adalah komentar satu baris (single line comments)
2. Menggunakan sepasang /* dan */
Cara ini digunakan untuk membuat komentar dalam beberapa baris.
Diawali dengan /* dan diakhiri dengan */, semua teks yang berada diantara dua tanda
tersebut dianggap sebagai komentar.
Contoh:
/* ini adalah contoh komentar yang ditulis dalam 2 baris
atau juga disebut dengan multilines comments */
3. Komentar khusus javadoc
Komentar javadoc khusus digunakan untuk men-generate dokumentasi HTML untuk
program Java Anda. Anda dapat menciptakan komentar javadoc dengan memulai
baris dengan /** dan mengakhirinya dengan */.
Contoh:
/**
* Write a description of class MateriTiga here.
* @author (your name)
* @version (a version number or a date)
*/
Gambar 1.2 Penjelasan Class Sederhana
PRAKTIKUM
PraktikumDua
1. /**
2. * Mengetahui cara menuliskan komentar pada java
3. * @author Teknik Informatika Unindra
4. */
5.
6. public class PraktikumDua{
7. public static void main(String[] args){
8. // Menampilkan NPM (Komentar Satu Baris)
9. System.out.println(“NPM : ......”);
10.
11. /* Contoh Komentar Lainnya */
12. System.out.println(“Nama : .....”);
13.
14. /* Komentar
15. ini lebih
16. Dari satu baris */
17. System.out.println(“Teknik Informatika”);
18. }
19. }
BAB 2
TIPE DATA, VARIABEL, KONSTANTA
2.1 TIPE DATA Tipe data mendefinisikan metode penyimpanan untuk mereperesentasikan informasi dan
cara informasi diinterprentasikan. Tipe data berkaitan erat dengan penyimpanan variabel di
memori, karena tipe data variabel menentukan cara kompilator menginterpretasikan isi memori.
Tipe data dalam Java dibagi 2 kategori; tipe data sederhana (primitive types) dan tipe data komposit
(reference types).
2.1.1 Tipe data sederhana (primitive types)
Bahasa pemrograman Java mendefinisikan delapan tipe data primitif. Mereka diantaranya
adalah boolean (untuk bentuk logika), char (untuk bentuk tekstual), byte, short, int, long
(integer), double and float (floating point).
a. Byte
Tipe ini adalah tipe terkecil dari tipe integer. Tipe byte pada umumnya digunakan pada saat
kita bekerja dengan sebuah data stream dari suatu file maupun jaringan, yaitu untuk keperluan
proses membaca / menulis. Rentang nilai byte adalah -128 s.d 127.
Untuk mendeklarasikan variabel bertipe byte, perlu menggunakan kata kunci byte. Berikut ini
contoh pendeklarasian tiga buah variabel bertipe byte.
byte a;
byte b, c = 20;
byte x = 121;
b. Short
Tipe ini merupakan tipe 16-bit yang berada pada rentang nilai -32.768 s.d 32.767. Untuk
mendeklarasikan variabel bertipe short, perlu menggunakan kata kunci short. Berikut ini contoh
pendeklarasian tiga buah variabel bertipe short.
short a;
short b, c = 20;
short x = 121;
c. Int
Tipe ini adalah tipe yang paling banyak digunakan untuk merepresentasikan nilai integer.
Karena dianggap paling efisien dibandingkan dengan tipe – tipe integer lainnya. Tipe data ini
memiliki rentang nilai -2147483648 s.d 2147483647. Berikut ini contoh pendeklarasian tiga buah
variabel bertipe int.
int a;
int b, c = 20;
int x = 32789;
d. Long
Long adalah tipe 64-bit bertanda. Tipe ini digunakan untuk kasus – kasus tertentu yang
nilainya berada di luar rentang tipe int. Dengan kata lain, tipe long biasanya terpaksa digunakan
pada saat tipe int sudah tidak cukup lagi menampungnya. Berikut ini contoh pendeklarasian tiga
buah variabel bertipe long.
long a;
int b, c = 24569845632;
int x = 327891345;
e. Float
Dispesifikasikan dengan kata kunci float, menggunakan 32-bit untuk menyimpan nilai.
Ketelitian tunggal diolah lebih cepat pada sejumlah prosesor dan hanya mengambil ruang
setengahnya, tetapi akan mulai tidak teliti jika nilai yang diolah terlalu besar atau terlalu kecil.
Perhitungan sederhana yang membutuhkan hanya sedikit ketelitian pecahan, misalkan
perhitungan total suatu besaran, dimana kita hanya membutuhkan ketelitian sepersepuluh, dapat
direperesentasikan dengan tepat, yaitu dengan float. Berikut contoh deklarasi variabel float :
float a;
float b, c = 0.56;
float x = 33.49;
f. Double
Dinyatakan dengan kata kunci double, menggunakan 64-bit untuk menyimpan nilai. Semua
fungsi matematis transcendental, seperti sin, cos, dan sqrt, menghasilkan besaran double. Jika kita
ingin menjaga ketelitian sampai banyak perulangan perhitungan atau mengolah bilangan besar,
double adalah pilihan terbaik. Berikut contoh deklarasi variabel double :
double luas;
double pi = 3.1416;
double inch = 2.54;
Untuk lebih jelasnya lihat tabel dibawah ini:
Tabel 2.1 Daftar Tipe Data Sederhana
Kelompok Tipe Data Jangkauan Memori
Integer
byte -128 s.d 127 8 bit
short -32768 s.d 32767 16 bit
int -2147483648 s.d 2147483647 32 bit
long -9223372036854775808 s.d 9223372036854775807
64 bit
Floating Point
float -3.4 x 108 s.d 3.4 x 108 32 bit
double -1.7 x 10308 s.d 1.7 x 10308 64 bit
char 8 bit
boolean true, false
2.1.2 Tipe data komposit (reference types)
Komposit, Tipe data komposit disusun dari tipe data sederhana atau tipe komposit lain yang
telah ada. Tipe ini antara lain: String, array, class, dan interface.
2.2 VARIABEL Variabel adalah tempat menampung data atau menampung suatu nilai. Dikatakan variabel
karena nilai yang ditugaskan kepadanya dapat diubah. Dalam pemrograman java, setiap variabel
harus dideklarasikan (diperkenalkan) terlebih dahulu dengan memberitahukan kepada kompiler
nama variabel dan tipe datanya. Bentuk umum deklarasi variabel adalah sebagai berikut:
tipedata namaVariabel;
Berikut adalah beberapa contoh deklarasi variabel:
int panjang;
int lebar;
double luas;
float kelililingLingkaran;
Jika beberapa variabel bertipe sama, maka dapat dideklarasikan secara bersamaan, dengan
dipisahkan tanda koma (,) sebagai berikut:
int panjang, lebar, tinggi;
double luasLingkaran, luasSegitiga;
Variabel seringkali memiliki nilai awal. Anda bisa mendeklarasikan suatu variabel dan
sekaligus menginisialisasikannya. Sebagai contoh:
int tinggi = 6;
int tinggi = 6, panjang = 5;
Setiap pendeklarasian sebuah variabel harus diakhiri dengan sebuah semicolon „;‟. Semicolon
dibutuhkan karena pendeklarasian sebuah variabel adalah sebuah statement di Java. Variabel
merupakan sebuah identifier di java, maka syarat penamaan sebuah variabel mengikuti aturan
penamaan identifier.
2.3 KONSTANTA Konstanta sama seperti variabel, tetapi suatu konstanta merepresentasikan data permanen
yang tidak dapat diubah. Suatu konstanta harus dideklarasikan dan diinisialisasikan dalam
statement yang sama. Kata final merupakan kata kunci (keyword) dalam java untuk
mendeklarasikan suatu konstanta. Bentuk umum deklarasi konstanta adalah sebagai berikut:
final tipedata NAMA_KONSTANTA = nilai;
Contoh deklarasi konstanta:
final double PI = 3.14159;
final String KAMPUS = “Unindra”;
Praktikum
PraktikumTiga
1. /*
2. * Praktikum Tiga
3. * Mengetahui cara penggunaan variabel dan menampilkannya
4. * @author Teknik Informatika Unindra
5. */
6.
7. public class PraktikumTiga{
8. public static void main(String[] args){
9. //membuat variabel panjang
10. int panjang;
11.
12. //membuat variabel lebar dan langsung inisialisasi nilai
13. int lebar = 8;
14.
15. //membuat variabel luas
16. double luas;
17.
18. panjang = 10;
19. luas = panjang * lebar;
20.
21. //Menampilkan (mencetak) data pada console
22. System.out.println(“Panjang = “ + panjang);
23. System.out.println(“Lebar = “ + lebar);
24. System.out.println(“Luas = “ + luas);
25. }
26. }
Latihan
1. Buatlah sebuah program untuk menghitung luas lingkaran yang didalamnya terdapat
konstantan bernama PI (3.14159), dan menampilkan hasilnya pada console Blue-J;
2. Buatlah sebuah program untuk menghitung luas segitiga dan menampilkan hasilnya pada
console Blue-J;
BAB 3
OPERATOR
Operator dapat diartikan juga simbol yang biasa digunakan dalam menulis suatu
pernyataan dalam bahasa pemrograman. Operator akan melakukan suatu operasi terhadap
operand sesuai dengan fungsinya. Operator ini mengikuti bermacam-macam prioritas yang pasti
sehingga compilernya akan tahu yang mana operator untuk dijalankan lebih dulu dalam
kasus beberapa operator yang dipakai bersama-sama dalam satu pernyataan.
3.1 Operator Penugasan
Setelah suatu variabel dideklarasikan anda bisa menugaskan suatu nilai kepadannya
menggunakan operator penugasan. Dalam java tanda “sama dengan” (=) digunakan sebagai
operator penugasan. Contoh operator penugasan:
int x = 1; // menugaskan 1 kepada variabel x
double luas = 1.0; // menugaskan 1.0 kepada variabel luas
x = 5 * (2 + 4); // menugaskan nilai ekspresi kepada x
Suatu variabel dapat juga digunakan di dalam suatu ekspresi. Sebagai contoh:
x = x + 1;
Operator penugasan juga dapat digunakan secara berantai, contoh:
a = b = c = 10;
3.2 Operator Aritmatika Operator aritmatika mencakup: penjumlahan (+), pengurangan (-), perkalian (*), pembagian
(/), dan modulus (%).
Tabel 3.1
Operator Arti Contoh Hasil
+ Penjumlahan 5 + 4 9
- Pengurangan 10 – 7 3
* Perkalian 8 * 2 16
/ Pembagian 10 / 5 2
% Modulus (Sisa bagi) 25 % 3 1
Ketika dua operand dari operator pembagian adalah integer, maka hasilnya akan integer.
Bagian fraksional akan dibuang. Misalnya, 5/2 akan menghasilkan 2, bukan 2.5.
3.3 Operator Penaikan dan Penurunan Operator ini biasa disebut dengan operator increment dan decrement. Operator ini digunakan
untuk menaikkan atau menurunkan suatu nilai integer (bilangan bulat) sebanyak satu (1) satuan
dan hanya dapat digunakan pada variabel. Sebagai contoh, pernyataan
hitung = hitung + 1; //menambahkan variabel hitung dengan 1
Sama dengan :
hitung++;
Tabel 3.2 Operator Increment dan Decrement
Operator Nama Penjelasan Contoh
(asumsi i = 1)
++var Preincrement Menaikan nilai var sebanyak 1 dan menggunakan nilai var yang baru.
int j = ++i; // j = 2, i = 2
var++ Postincrement Menaikan nilai var sebanyak 1 tetapi menggunakan nilai var yang asli.
int j = i++; //j = 1, i = 2
--var Predecrement Mengurangi nilai var sebanyak 1 dan menggunakan nilai var yang baru.
int j = --i; //j = 0, i = 0
var-- Postdecrement Mengurangi nilai var sebanyak 1 dan menggunakan nilai var yang asli
int j = i--; //j = 1, i = 0
3.4 Operator Relasional Operator ini digunakan untuk membandingkan dua buah nilai operand dan menghasilkan
nilai Boolean, yaitu true atau false. Java menyediakan enam operator relasional, seperti yang ditunjukkan pada tabel yang dapat
digunakan untuk membandingkan dua nilai.
Tabel 3.3 Operator Relasional
Operator Nama Contoh Hasil
< Lebih kecil dari 5 < 5 false
5 < 10 true
<= Lebih kecil sama dengan 5 <= 5 true
10 <= 5 false
> Lebih besar dari 7 > 7 false
7 > 4 true
>= Lebih besar sama dengan 7 >= 7 true
10 >= 5 true
== Sama dengan 8 == 9 false
9 == 9 true
!= Tidak sama dengan 10 != 5 true
10 != 10 false
3.5 Operator Logika Operator logika memiliki satu atau lebih operand boolean yang menghasilkan nilai boolean,
dengan kata lain operator ini hanya dapat digunakan untuk operand yang bertipe boolean. Terdapat 6 operator logika dalam java, yaitu: && (logika AND), & (boolean logika AND), ||
(logika OR), | (boolean logika inclusive OR), ^ (boolean logika exclusive OR), dan ! (logika NOT).
3.5.1 Operator AND (&&) dan boolean logika AND (&)
Hasil operator AND bernilai true jika dan hanya jika kedua operand memiliki nilai boolean
true. Berikut ini adalah tabel kebenaran untuk AND
Tabel 3.4 Tabel Kebenaran Operator AND
P1 P2 P1 && P2
true true true
false true false
true false false
false false false
3.5.2 Operator OR (||) dan boolean logika OR (|)
Hasil operator OR bernilai true jika salah satu dari operand memiliki nilai boolean true.
Berikut ini adalah tabel kebenaran untuk OR:
Tabel 3.4 Tabel Kebenaran Operator AND
P1 P2 P1 || P2
true true true
false true true
true false true
false false false
3.5.3 Operator exclusive OR (^)
Hasil operator exclusive OR bernilai true jika dan hanya jika kedua operand memiliki nilai
boolean yang berbeda. Berikut ini adalah tabel kebenaran untuk exclusive OR:
Tabel 3.4 Tabel Kebenaran Operator OR
P1 P2 P1 ^ P2
true true false
false true true
true false true
false false false
3.5.4 Operator NOT (!)
Logika NOT digunakan dalam satu argumen, dimana argumen tersebut dapat menjadi
suatu pernyataan, variabel atau konstanta. Berikut adalah tabel kebenaran untuk NOT:
Tabel 3.4 Tabel Kebenaran Operator AND
P1 !P1
true false
false true
3.6 Operator – operator Shorthand
Seperti yang telah dijelaskan sebelumnya, suatu variabel terkadang ditugaskan kembali
setelah digunakan kedalam variabel tersebut. Sebagai contoh:
i = i + 8;
Java mengizinkan untuk menggabungkan penugasan dengan operator penjumlahan
menggunakan operator shorthand. Sebagai contoh, statement di atas dapat dituliskan kembali
sebagai:
i += 8;
Operator += disebut dengan operator penugasan penjumlahan. Operator – operator
shorthand lainnya ditampilkan pada tabel dibawah ini:
Tabel 3.4 Tabel Kebenaran Operator AND
Operator Nama Contoh Ekivalen
+= Penugasan Penjumlahan i += 8 i = i + 8
-= Penugasan Pengurangan i -= 8 i = i – 8
*= Penugasan Perkalian i *= 8 i = i * 8
/= Penugasan Pembagian i /= 8 i = i / 8
%= Penugasan Modulus i %= 8 i = i % 8 * Tidak boleh ada spasi dalam opertor shorthand. Misalnya + = seharusnya +=
PRAKTIKUM
PraktikumEmpat
1. /*
2. * Praktikum Empat
3. * Mengetahui penggunaan operator aritmatika
4. * @author Teknik Informatika Unindra
5. */
6.
7. public class PraktikumEmpat{
8. public static void main (String[] args){
9.
10. int hasil = 1 + 2; //hasil sekarang adalah 3
11. System.out.println(hasil);
12.
13. hasil = hasil – 1; //hasil sekarang adalah 2
14. System.out.println(hasil);
15.
16. hasil = hasil * 2; //hasil sekarang adalah 4
17. System.out.println(hasil);
18.
19. hasil = hasil / 2; //hasil sekarang adalah 2
20. System.out.println(hasil);
21.
22. hasil = hasil + 8; // hasil sekarang adalah 10
23. hasil = hasil % 7; // hasil sekarang adalah 3
24. System.out.println(hasil);
25. }
26. }
PraktikumLima
1. /*
2. * Praktikum Lima
3. * Mengetahui penggunaan operator increment dan decrement
4. * @author Teknik Informatika Unindra
5. */
6.
7. public class PraktikumLima{
8. public static void main (String[] args){
9.
10. int a = 1;
11. int b = a++; //b mendapat nilai dari a(1), a kemudian bertambah 1
12. System.out.println("a = " + a); //2
13. System.out.println("b = " + b); //1
14.
15. int c = 1;
16. int d = ++c; //d mendapat nilai setelah c bertambah 1 (2)
17. System.out.println("c = " + c); //2
18. System.out.println("d = " + d); //2
19.
20. int i = 1;
21. int j = i--; //j mendapat nilai dari i(1), a kemudian berkurang 1
22. System.out.println("i = " + i); //0
23. System.out.println("j = " + j); //1
24.
25. int k = 1;
26. int l = --k; //l mendapat nilai setelah k berkurang 1 (0)
27. System.out.println("k = " + k); //0
28. System.out.println("l = " + l); //0
29. }
30. }
PraktikumEnam
1. /*
2. * Praktikum Enam
3. * Mengetahui penggunaan operator relasional
4. * @author Teknik Informatika Unindra
5. */
6.
7. public class PraktikumEnam{
8. public static void main (String[] args){
9.
10. int x = 72;
11. int y = 99;
12. int z = 99;
13. System.out.println("Inisialisais nilai variabel ...");
14. System.out.println("x = " + x); // x = 72
15. System.out.println("y = " + x); // y = 99
16. System.out.println("z = " + x); // z = 99
17.
18. System.out.println("Perbandingan Lebih Besar Dari (>) :");
19. System.out.println("x > y = " + (x > y)); // false
20. System.out.println("y > x = " + (y > x)); // true
21. System.out.println("z > y = " + (z > y)); // false
22.
23. System.out.println("Perbandingan Lebih Besar Sama Dengan (>=) :");
24. System.out.println("x >= y = " + (x >= y)); // false
25. System.out.println("y >= x = " + (y >= x)); // true
26. System.out.println("z >= y = " + (z >= y)); // true
27.
28. System.out.println("Perbandingan Lebih Kecil Dari (<) :");
29. System.out.println("x < y = " + (x < y)); // true
30. System.out.println("y < x = " + (y < x)); // false
31. System.out.println("z < y = " + (z < y)); // false
32.
33. System.out.println("Perbandingan Lebih Kecil Sama Dengan (<=) :");
34. System.out.println("x <= y = " + (x <= y)); // true
35. System.out.println("y <= x = " + (y <= x)); // false
36. System.out.println("z <= y = " + (z <= y)); // true
37.
38. System.out.println("Perbandingan Sama Dengan (==) :");
39. System.out.println("x == y = " + (x == y)); // false
40. System.out.println("y == z = " + (y == z)); // true
41.
42. System.out.println("Perbandingan Tidak Sama Dengan (!=) :");
43. System.out.println("x != y = " + (x != y)); // true
44. System.out.println("z != y = " + (z != y)); // false
45. }
46. }
BAB 4
INPUT DARI KEYBOARD
Pada praktikum – praktikum sebelumnya nilai dari suatu variabel ditetapkan di dalam kode
sumber (source code), untuk mendapatkan nilai yang berbeda, anda perlu memodifikasi kode
sumber dan mengkompilasi ulang program. Hal tersebut tentu akan cukup merepotkan. Pada
pembahasan kali ini akan dijelaskan bagaimana cara mendapatkan masukan (input) dari keyboard.
Pada java terdapat beberapa cara yang dapat dilakukan untuk mendapatkan masukan dari
keyboard, diantaranya yaitu menggunakan : kelas Scanner, kelas BufferedReader, dan dengan
GUI.
4.1 Kelas Scanner Deklarasi umum penggunaan kelas Scanner adalah sebagai berikut :
Scanner bacaInput = new Scanner(System.in);
Sintaks new Scanner(System.in) menciptakan suatu objek bertipe Scanner. Sintaks Scanner
bacaInput mendeklarasikan bahwa variabel bacaInput adalah suatu variabel bertipe Scanner.
Objek bacaInput dapat memanggil seluruh metode – metode yang ada pada kelas Scanner yang
berfungsi untuk membaca berbagai tipe data masukan. Untuk lebih jelasnya dapat dilihat pada
tabel dibawah ini, metode – metode untuk objek Scanner.
Tabel 4.1 Metode pada kelas Scanner
Metode Penjelasan
nextByte() Membaca suatu integer bertipe byte
nextShort() Membaca suatu integer bertipe short
nextInt() Membaca suatu integer bertipe int
nextLong() Membaca suatu integer bertipe long
nextFloat() Membaca suatu angka pecahan bertipe float
nextDouble() Membaca suatu angka pecahan bertipe double
next() Membaca suatu string yang berakhir dengan karakter spasi
nextLine() Membaca sebaris teks (suatu string yang berakhir dengan enter)
Kelas Scanner berada pada paket java.util, maka anda harus mengimpornya terlebih dahulu
pada baris sebelum deklarasi class dengan sintaks :
Import java.util.Scanner;
4.2 Kelas BufferedReader Pada bagian ini, kita akan menggunakan class BufferedReader yang berada di package
java.io untuk mendapatkan input dari keyboard.
Sintaks untuk menggunakan class BufferedReader adalah sebagai berikut:
BufferedReader dataIn = new BufferedReader (new InputStreamReader( System.in));
Sama seperti menggunakan class Scanner, BufferedReader merupakan sebuah class yang
berada di luar dari package yang kita buat, sehingga harus di import terlebih dahulu;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
Pada class BufferedReader juga terdapat fungsi untuk menerima inputan dari keyboard
yaitu dengan fungsi readLine(). Fungsi ini harus ditulis dalam blok try-catch, try-catch berguna
untuk menangani exception pada java.
try{
String name = dataIn.readLine();
}catch( IOException e ){
System.out.println("Error!");
}
4.3 Menggunakan GUI Cara lain untuk mendapatkan input dari user adalah dengan menggunakan class
JoptionPane yang didapatkan dari javax.swing package. JoptionPane memudahkan
memunculkan dialog box standard yang memberikan kepada user sebuah nilai atau
menginformasikan sesuatu.
Contoh penggunaan JOptionPane:
4.4 Keluaran Konsol Terforma Jika anda ingin menampilkan hanya dua digit angka dibelakang titik desimal dari suatu nilai
pecahan, anda mungkin menuliskan kode seperti ini:
double x = 2.0 / 3;
System.out.println(“x sama dengan = “ + (int) (x * 100) / 100.0);
System.out.println(“Hello World”);
Keluaran
x sama dengan 0.66
Akan tetapi, cara yang lebih baik untuk melakukan ini adalah dengan memformat keluaran
menggunakan metode printf. Sintaks untuk memanggil metod ini adalah:
System.out.printf(format, item1, item2, ... , item-n);
Dimana format adalah suatu string yang memuat substring dari penspesifikasi format.
Suatu pensfesifikasi format menentukan bagaimana suatu item ditampilkan. Suatu item bisa jadi
suatu nilai numerik, suatu nilai karakter, suatu boolean, atau suatu string. Suatu pensfesifikasi
sederhana mengandung suatu tanda persen (%) yang diikuti dengan suatu kode konversi. Tabel
dibawah ini menyajikan beberapa penspesifikasi sederhana yang sering dipakai
Penspesifikasi Keluaran Contoh
%b Suatu nilai boolean True atau false
%c Suatu nilai karakter „a‟
%d Suatu nilai integer 345
%f Suatu nilai pecahan 3.1415
%e Suatu notasi saintifik standar 3.456e+01
%s Suatu string
Contoh penggunaan konsol terformat: int hitung = 5;
double pi = 3.1415;
System.out.printf(“hitung adalah = %d dan PI adalah %f”, hitung, pi);
Keluaran
Hitung adalah = 5 dan PI adalah 3.141500
Daftar item harus sesuai dengan urutan penspesifikasi, dalam nama dan tipe. Sebagai
contoh, penspesifikasi untuk hitung adalah %d dan untuk pi adalah %f. Secara default, suatu nilai
pecahan akan ditampilkan enam (6) digit di belakang titik desimal. Anda bisa menspesifikasi lebar
dan kepresisian seperti yang ditampilkan pada tabel dibawah ini:
Contoh Keluaran
%4c Keluaran karakter dan menambahkan empat spasi sebelum karakter item.
%5d Keluaran item integer dengan lebar minimum 5. Jika jumlah digit dalam item < 5, akan ditambahkan beberapa spasi sebelum angka item. Jika jumlah digit dalam item >5, lebar akan ditambahkan secara otomatis.
%10.2f Keluaran item pecahan dengan lebar minimum 10, termasuk satu titik desimal dan dua (2) digit setalah titik desimal. Jadi dialokasikan 7 digit sebelum titik desimal. Jika jumlah digit dalam item <7, akan ditambahkan beberapa spasi sebelum angka item. Jika jumlah digit dalam item >7, lebar akan ditambahkan scara otomatis
Berikut contoh lainnya: public class PraktikumFormat{
public static void main (String[] args){
int angka = 86;
double nilai = 49.3456;
//persen n (%n) digunakan untuk pindah baris
System.out.printf(“variabel angka %d%n”, angka);
System.out.printf(“variabel angka dengan 2 digit desimal %.2f”, nilai);
}
}
PRAKTIKUM
Contoh penggunaan kelas Scanner:
PraktikumTujuh
1. /*
2. * Praktikum Tujuh
3. * Mengetahui cara penggunaan kelas Scanner
4. * @author Teknik Informatika Unindra
5. */
6.
7. import java.util.Scanner; //memanggil kelas Scanner dari paket java.util
8. public class PraktikumTujuh{
9. public static void main(String[] args){
10. //membuat Objek Scanner
11. Scanner bacaInput = new Scanner(System.in);
12.
13. //menampilkan perintah untuk menginput nama anda
14. System.out.print(“Masukan nama anda = “);
15.
16. //memasukan nama kedalam variabel nama
17. String nama = bacaInput.nextLine(); //bacaInput = objek scanner
18.
19. //menampilkan nama
20. System.out.println(“Nama Anda adalah = “ + nama);
21.
22. }
23. }
Penjelasan program
- Baris 1 – 5 merupakan komentar yang menerangkan tentang program
- Baris 7, memanggil/mengimpor kelas Scanner dari paket java.util
- Baris 8, pendeklarasian class
- Bari 9, metode main dimana metode ini yang pertama kali dijalankan
- Baris 11, pembuatan objek bacaInput dari kelas Scanner
- Baris 14, menampilkan perintah pada konsol dengan tampilan “Masukan nama anda = “
- Baris 17, menugaskan hasil objek bacaInput kedalam variabel nama
- Baris 20, menampilkan isi dari variabel nama
- Baris 22, kurung kurawal tutup, yang menutup metode main
- Baris 23, kurung kurawal tutup, yang menutup class PraktikumJava (akhir dari class)
Contoh penggunaan class BufferedReader;
PraktikumDelapan
1. /*
2. * Praktikum Delapan
3. * Mengetahui cara penggunaan kelas BufferedReader
4. * @author Teknik Informatika Unindra
5. */
6.
7. // Memanggil class-class yang dibutuhkan
8. import java.io.BufferedReader;
9. import java.io.InputStreamReader;
10. import java.io.IOException;
11.
12. public class PraktikumDelapan{
13. public static void main(String[] args){
14. //membuat Objek BufferedReader
15. BufferedReader dataInput = new BufferedReader(new
InputStreamReader( System.in) );
16.
17. String nama = “”;
18. System.out.print(“Masukan nama anda = “);
19.
20. try{
21. nama = dataInput.readLine();
22. }catch( IOException e ){
23. System.out.println("Terjadi kesalahan pada Inputan!”);
24. }
25. //menampilkan nama
26. System.out.println(“Nama Anda adalah = “ + nama);
27.
28. }
29. }
Contoh Penggunaan JOptionPane
Praktikum Sembilan
1. /*
2. * Praktikum Sembilan
3. * Mengetahui cara penggunaan kelas Scanner
4. * @author Teknik Informatika Unindra
5. */
6.
7. // Memanggil class-class yang dibutuhkan
8. import javax.swing.JOptionPane;
9.
10. public class PraktikumSembilan {
11. public static void main(String[] args){
12. String a1 = JOptionPane.showInputDialog(“Angka Pertama :”);
13. String a2 = JOptionPane.showInputDialog(“Angka Kedua :”);
14.
15. int angkaSatu = Integer.parseInt(a1); //konversi String ke int
16. int angkaDua = Integer.parseInt(a2); //konversi String ke int
17. int hasil = angkaSatu + angkaDua;
18.
19. String total = String.valueOf(hasil); // konversi int ke String
20. JOptionPane.showMessageDialog(null,“Hasil Penjumlahan = “ + total);
21.
22. }
23. }
Latihan
1. Buatlah sebuah program java yang membaca panjang dan lebar suatu persegi panjang dari
keyboard menggunakan kelas Scanner, kemudian menghitung Luas dan Keliling dari persegi
panjang tersebut dan menampilkan hasilnya!
Output yang diharapkan:
Masukan panjang persegi = 8 <enter>
Masukan lebar persegi = 5 <enter>
Luas Persegi Panjang = 40
Keliling Persegi Panjang = 36
2. Buatlah sebuah program java yang membaca tinggi dan alas suatu segitiga dari keyboard
menggunakan kelas Scanner, kemudian menghitung Luas dari segitiga tersebut dan
menampilkan hasilnya!
Output yang diharapkan:
Masukan tinggi segitiga = 8 <enter>
Masukan panjang alas segitiga = 5 <enter>
Luas segitiga = 20
3. Buatlah sebuah program java yang membaca suatu derajat dalam celcius dari keyboard
menggunakan kelas Scanner, kemudian mengkonversinya menjadi derajat fahreinheit dan
menampilkan hasilnya! *fahrenheit = (9/5) * celcius + 32
Output yang diharapkan:
Suhu dalam derajat celcius = 10 <enter>
Maka, suhu dalam derajat fahreinheit = 50
4. Buat kembali program – program yang telah dibuat dalam latihan 1-3 dengan menggunakan
class BufferedReader dan JOptionPane.
BAB 5
PERCABANGAN
Statement/pernyataan pada source code java umumnya dijalankan dari atas kebawah
(berurutan/sequence) sesuai dengan urutannya. Namun terkadang ada kalanya sebuah
pernyataan dikerjakan sesuai kondisi tertentu.
Sebagai contoh, pada saat membuat program login, anda akan menanyakan password
pengguna. Apakah pengguna memasukan password yang benar? Jika ya, biarkan pengguna
memasuki sistem lebih lanjut, jika tidak, keluarkan pengguna tersebut. Jadi bahasa pemrograman
Java membutuhkan cara untuk membuat cabang program salah satu dari dua arah. Dalam Java,
hal ini disebut dengan IF statement.
Pada bagian ini akan dijelaskan tentang struktur kontrol pemilihan dimana pernyataan yang
dieksekusi sesuai dengan kondisi tertentu.
5.1 IF Tunggal If tunggal merupakan salah satu percabangan/pemilihan dalam pemrograman java dimana
eksekusi suatu pernyataan hanya dan hanya jika kondisi terpenuhi (true). Sintaks statemen IF satu
arah ditunjukan sebagai berikut:
if (kondisi)
statement;
atau
if (kondisi){
statement 1;
statement 2;
...
statement – n;
}
Jika hasil evaluasi terhadap kondisi bernilai true maka statemen – statemen di dalam blok
akan dieksekusi. Kurung kurawal bisa diabaikan jika hanya ada satu statemen yang akan
dikerjakan jika kondisi bernilai true.
Contoh penulisan statemen if:
if (totalBelanja > 100000){
diskon = totalBelanja * 10 /100;
totalBelanja = totalBelanja – diskon;
}
System.out.println(“Jumlah Bayar = “ + totalBelanja);
Pada contoh potongan source code diatas dapat dijelaskan bahwa, jika variabel totalBelanja
lebih dari (>) 100000 maka akan mendapatkan diskon, dan totalBelanja akan dikurangi (-)
sebanyak diskon yang didapat. Namun jika tidak, 2 statemen di dalam blok if tidak dikerjakan.
Ekspresi kondisi harus diapit oleh sepasang tanda kurung. Sebagai contoh, kode dalam (a)
adalah salah, sedangkan kode dalam (b) adalah benar.
if i > 0 {
System.out.println(“i positif”);
}
if (i > 0) {
System.out.println(“i positif”);
}
(a) salah (b) benar
5.2 IF – ELSE Intruksi percabangan if ... else adalah intruksi percabangan yang menyediakan aksi jika
kondisi yang dispesifikasikan bernilai benar (true), dan juga menyediakan aksi jika kondisi yang
dispesifikasikan bernilai salah (false). Lain halnya dengan if tunggal yang hanya menyediakan
aksi jika kondisi yang dispesifikasikan bernilai benar (true).
Berikut adalah sintaks suatu percabangan if ... else :
if (kondisi) {
statement – statement true
} else {
statement – statement false
}
Jika hasil evaluasi terhadap kondisi bernilai true, maka statement – statement true
dieksekusi, sebaliknya jika kondisi bernilai false, maka statement – statement false dieksekusi.
Sebagai contoh perhatikan kode berikut ini:
if (nilai >= 65) {
System.out.println(“Selamat Anda Lulus”);
} else {
System.out.println(“Mohon Maaf Anda Tidak Lulus”);
}
Penjelasan contoh diatas: jika variabel nilai lebih dari atau sama dengan (>=) 65 (kondisi
true), maka akan menampilkan kalimat “Selamat Anda Lulus”, sebaliknya (kondisi false) akan
menampilkan kalimat “Mohon Maaf Anda Tidak Lulus” (else).
5.3 IF Majemuk (if ... else if) If majemuk dapat juga dikatakan percabangan banyak arah yang terdiri dari beberapa
statement if. Jika kondisi tidak dipenuhi, ditanya kembali kondisi yang lain dan seterusnya.
Apabila semua kondisi tidak terpenuhi, akan mengerjakan statement di bawah else (paling
terakhir). Bentuk umum dari sintaks if majemuk adalah sebagai berikut:
if (kondisi-1) {
aksi jika kondisi-1 benar
} else if (kondisi-2){
aksi jika kondisi-2 benar
} else if (kondisi-3){
aksi jika kondisi-3 benar
} ...
else if (kondisi-N){
aksi jika kondisi-N benar
} else {
aksi jika seluruh konisi tidak terpenuhi
}
Perhatikan contoh berikut:
int testscore = 76;
char grade;
if (testscore >= 90) {
grade = 'A';
} else if (testscore >= 80) {
grade = 'B';
} else if (testscore >= 70) {
grade = 'C';
} else if (testscore >= 60) {
grade = 'D';
} else {
grade = 'F';
}
System.out.println("Grade = " + grade);
Eksekusi statement if diatas akan menghasilkan output Grade = C.
Proses eksekusi pertama kali akan memeriksa apakah nilai (testscore >= 90) jika bernilai
true, maka grade menjadi „A‟, jika kondisi tersebut bernilai false, maka kondisi kedua (testscore
>= 80) akan diperiksa. Jika kondisi tersebut bernilai true, maka grade menjadi „B‟. Jika kondisi
tersebut bernilai false, maka kondisi ketiga dan kondisi-kondisi lainnya diperiksa sampai suatu
kondisi terpenuhi (true). Jika ternyata semua kondisi bernilai false, maka grade menjadi „F‟.
5.4 IF NESTED Suatu statement if dapat memuat statement if lainnya. Atau dengan kata lain, statement if
sebelah dalam dikatakan nested (bersarang) di dalam statement if sebalah luar. Sebagai contoh:
int a = 5, b = 3, c = 2;
int maks;
if (a > b) {
if(a>c) {
maks = a;
} else {
maks = c;
}
} else if (b > c){
maks = b;
} else {
maks = c;
}
PRAKTIKUM
PraktikumSepuluh
1. /**
2. * Praktikum Sepuluh
3. * Mengetahui cara penggunaan statemen if tunggal
4. * @author Teknik Informatika Unindra
5. */
6.
7. import java.util.Scanner; //memanggil kelas Scanner dari paket java.util
8. public class PraktikumSepuluh{
9. public static void main(String[] args){
10. Scanner bacaInput = new Scanner(System.in);
11. System.out.print(“Masukan Suatu Angka = “);
12. int angka = bacaInput.nextInt();
13. if (angka % 2 == 0)
14. System.out.println(“Kelipatan Dua”);
15.
16. if (angka % 5 == 0){
17. System.out.println(“Kelipatan Lima”);
18. System.out.println(“Statement Lain”);
19. }
20. System.out.println(“Terimakasih”);
21. }
22. }
Program diatas meminta untuk memasukan suatu angka (baris 11), dan memasukannya kedalam
variabel angka (baris 12). Menampilkan kalimat “Kelipatan Dua” jika angka yang dimasukan
dapat dibagi 2 tanpa sisa (baris 13 – 14), dan menampilkan “Kelipatan Lima” dan “Statement
Lain” jika angka yang dimasukan dapat dibagi 5 tanpa sisa (baris 16 – 19). Apapun kondisi yang
didapat, program akan menampilkan “Terimakasih” (baris 20) karena pernyataan tersebut tidak
bergantung pada kondisi if.
PraktikumSebelas
1. /**
2. * Praktikum Sebelas
3. * Mengetahui cara penggunaan statemen if ... else
* Program untuk memeriksa apakah suatu angka ganjil atau genap
4. * @author Teknik Informatika Unindra
5. */
6.
7. import java.util.Scanner; //memanggil kelas Scanner dari paket java.util
8. public class PraktikumSebelas{
9. public static void main(String[] args){
10. //membuat Objek Scanner
11. Scanner bacaInput = new Scanner(System.in);
13. System.out.print(“Masukan Suatu Angka = “);
14. int angka = bacaInput.nextInt();
16. if (angka % 2 == 0){
17. System.out.println(angka + “ adalah angka Genap”); // true
18. } else {
19. System.out.println(angka + “ adalah angka Ganjil”); // false
20. }
22. }
23. }
PraktikumDuaBelas
1. /**
2. * Praktikum DuaBelas
3. * Mengetahui cara penggunaan statemen if ... else if
4. * @author Teknik Informatika Unindra
5. */
6.
7. public class PraktikumDuaBelas{
8. public static void main(String[] args){
9. int hari = 2;
10. String namaHari;
11. if (hari == 1){
12. namaHari = “Senin”;
13. } else if (hari == 2){
14. namaHari = “Selasa”;
15. } else if (hari == 3){
16. namaHari = “Rabu”;
17. } else if (hari == 4){
18. namaHari = “Kamis”;
19. } else if (hari == 5){
20. namaHari = “Jumat”;
21. } else if (hari == 6){
22. namaHari = “Sabtu”;
23. } else {
24. namaHari = “Minggu”;
25. }
26.
27. System.out.println(“Nama Hari = “ + namaHari);
28.
29. }
30. }
Latihan
1. Ubahlah Source Code PraktikumDuaBelas, sehingga program tersebut menerima input
berupa angka dari console, dan menampilkan nama hari yang dimaksud!
2. Evaluasi program yang telah anda buat, bagaimana jika yang anda input adalah angka 10,
apakah hasilnya? Jelaskan!
3. Buatlah suatu program yang meminta pengguna untuk memasukan usia dan menampilkan
kategori dari usia tersebut berdasarkan tabel dibawah ini:
Usia Kategori
1 – 16 tahun Anak-anak
17 – 25 tahun Remaja
>25 tahun Dewasa
Output yang diharapkan:
Masukan Usia Anda : 22 <enter>
Kategori Usia Anda adalah Remaja
Kumpulan latihan
1. Buatlah program untuk menentukan diskon dan total harga sejumlah pembelian dengan
aturan diskon sebagai berikut :
No Jumlah Pembelian Diskon
1 Rp. 300.000 s.d Rp. 500.000 40%
2 Rp. 200.000 s.d Rp. 299.999 30%
3. Rp. 100.000 s.d Rp. 199.999 20%
4. Rp. 50.000 s.d Rp. 99.000 10%
2. Buatlah sebuah program untuk menentukan besaran gaji seorang karyawan berdasarkan
keterangan berikut:
Gaji pokok ditentukan dari golongan karyawan
Setiap bulan karyawan mendapatkan tambahan gaji berupa uang transport yang dihitung
per hari.
Total Gaji per bulan = gaji pokok + (jumlah masuk * uang transport)
Golongan karyawan Gaji Pokok Uang Transport (per hari)
A Rp. 3.000.000,- Rp. 15.000,-
B Rp. 2.500.000,- Rp. 10.000,- C Rp. 2.000.000,- Rp. 5.000,-
3. Sebuah Perpustakaan menentukan harga sewa berdasarkan status peminjam. Jika
peminjamnya adalah pelajar, maka harga sewa buku adalah Rp. 500,-/hari. Jika
peminjammnya adalah mahasiswa, maka harga sewa buku adalah Rp. 1000,-/hari. Dan jika
peminjamnya adalah masyarakat umum, maka harga sewa buku adalah Rp. 1500,-/hari. Selain
hal tersebut, perpustakaan itu juga memberikan diskon kepada peminjam berdasarkan jumlah
buku yang dipinjam. Jika jumlah buku yang dipinjam lebih dari 10, maka akan mendapatkan
diskon sebanyak 5% dari total harga sewa buku. Jika jumlah buku yang dipinjam lebih dari 5,
maka akan mendapatkan diskon 2,5% dari total harga sewa. Perpustakaan tersebut juga
memiliki aturan tentang batasan jumlah buku yang boleh dipinjam dan lama masa
peminjaman. Jumlah buku yang boleh dipinjam maksimal 15 buku, dan lama peminjaman
maksimal adalah 7 hari. Buatlah sebuah program menggunakan scanner untuk menghitung
berapa harga sewa yang harus dibayarkan oleh peminjam!
BAB 6
SWITCH - CASE
Statement if dalam PraktikumDuaBelas membuat pilihan berdasarkan true dan false. Ada 6
kondisi untuk menentukan nama hari, yang bergantung pada nilai angkaHari. Untuk
melakukannya, PraktikumDuaBelas menggunakan if-majemuk. Tetapi statement if-majemuk
yang berlebihan dapat membuat suatu program sulit untuk dibaca. Java menyediakan suatu
statement switch untuk menangani berbagai alternatif secara efisien. Berbeda dengan if, switch
hanya memperbolehkan pilihan kondisi yang bertipe integer, seperti byte, long, short, int dan
char. Char dapat sebagai variabel pilihan switch karena char sebenarnya kisaran nilai angka 0
sampai dengan 65535.
Bentuk umum percabangan switch adalah sebagai berikut:
switch (switch_expression){
case case_selector_1:
statement 1; //
statement 2; // Blok 1
... //
break;
case case_selector_2:
statement 1; //
statement 2; // Blok 2
... //
break;
default:
statement 1; //
statement 2; // Blok n
... //
break;
}
Ketika pernyataan switch ditemukan pada potongan kode program, java pertama kali
akan memeriksa switch_expression, dan menuju ke case yang akan menyamakan nilai yang
dimiliki oleh switch_expression. Selanjutnya program akan mengeksekusi pernyataan pada dari
kode setelah case yang ditemukan sampai menemui pernyataan break, selanjutnya akan
mengabaikan pernyataan yang lainnya hingga akhir dari struktur dari pernyataan switch.
Jika tidak ditemui case yang cocok, maka program akan mengeksekusi blok default.
Sebagai catatan, bahwa bagian blok default adalah opsional. Sebuah pernyataan switch bisa jadi
tidak memiliki blok kode default.
CATATAN:
Tidak seperti pada pernyataan if, beberapa pernyataan pada struktur pernyataan switch
akan dieksekusi tanpa memerlukan tanda kurung kurawal ({}).
Ketika sebuah case pada pernyataan switch menemui kecocokan, semua pernyataan pada
case tersebut akan dieksekusi. Tidak hanya demikian, pernyataan lain yang
berada pada case yang sesuai juga akan dieksekusi.
Untuk menghindari program mengeksekusi pernyataan pada case berikutnya, kita
menggunakan pernyataan break sebagai pernyataan akhir pada setiap blok case.
Contoh Penggunaan Switch
int noHari = 5;
switch (noHari){
case 1:
System.out.println(“Hari Senin”);
break;
case 2:
System.out.println(“Hari Selasa”);
break;
case 3:
System.out.println(“Hari Rabu”);
break;
case 4:
System.out.println(“Hari Kamis”);
break;
case 5:
System.out.println(“Hari Jumat”);
break;
case 6:
System.out.println(“Hari Sabtu”);
break;
case 7:
System.out.println(“Hari Minggu”);
break;
default:
System.out.println(“No Hari Tidak ada yang sesuai”);
}
Potongan source code diatas adalah memeriksa apakah noHari cocok dengan nilai
1,2,3,4,5,6, dan 7. Jika cocok, akan ditampilkan nama hari seusai dengan case nya. Jika tidak ada
satu pun yang cocok, maka nilai default akan dikerjakan.
PRAKTIKUM
PraktikumTigaBelas
1. /**
2. * Praktikum Tiga Belas
3. * Mengetahui cara penggunaan statemen swtich - case
4. * @author Teknik Informatika Unindra
5. */
6.
7. import java.util.Scanner;
8. public class PraktikumTigaBelas{
9. public static void main(String[] args){
10. Scanner bacaInput = new Scanner(System.in);
11. System.out.print(“Masukan nilai indeks huruf (A,B,C,D,E) = ”);
12. String indeksHuruf = bacaInput.next();
13. char indeks = indeksHuruf.charAt(0); //mengambil karakter pertama
14. switch (indeks){
15. case „A‟ : System.out.println(“Nilai anda Sangat Baik”);
16. break;
17. case „B‟ : System.out.println(“Nilai anda Baik”);
18. break;
19. case „C‟ : System.out.println(“Nilai anda Cukup”);
20. break;
21. case „D‟ : System.out.println(“Nilai anda Kurang”);
22. break;
23. case „E‟ : System.out.println(“Nilai anda Sangat Kurang”);
24. break;
25. default : System.out.println(“Salah Memasukan indeks Huruf”);
26. }
27. }
28. }
Latihan
1. Buatlah program yang terdapat struktur switch – case didalamnya untuk menentukan gaji
bulanan seorang pekerja berdasarkan golongannya. (Lihat tabel)
Golongan Gaji
1 1500000
2 2000000
3 2500000
Output yang diharapkan:
Masukan golongan anda = 2 <enter>
Gaji anda adalah 2000000
BAB 7
PERULANGAN
Struktur kontrol pengulangan adalah berupa pernyataan dari Java yang mengijinkan kita
untuk mengeksekusi blok code berulang-ulang sesuai dengan jumlah tertentu yang diinginkan.
Ada tiga macam jenis dari struktur kontrol pengulangan yaitu while, do-while, dan for-loops.
7.1 Perulangan While Pernyataan while loop adalah pernyataan atau blok pernyataan yang diulang-ulang selama
kondisi dari kondisi-loop bernilai true. Sintaks untuk perulangan while adalah sebagai berikut:
while (kondisi-loop){
//tubuh loop
statement-statement ;
}
Pernyataan didalam perulangan while (tubuh loop) akan dieksekusi secara berulang. Setiap
kondisi-loop merupakan suatu ekspresi boolean yang mengendalikan tubuh loop. Kondisi
tersebut dievaluasi untuk menentukan apakah tubuh loop dieksekusi atau tidak. Jika hasil
evaluasi bernilai true, maka tubuh loop dieksekusi, sedangkan jika bernilai false, maka
keseluruhan loop berhenti dan meng-eksekusi perintah dibawah perulangan while (jika ada).
Kondisi - loop
Tubuh Loop(Statement)
TRUE
FALSE
Perhatikan contoh source code berikut:
int hitung = 1;
while (hitung < = 10 ) {
System.out.println(“Mudah Belajar Java”);
hitung++;
}
Contoh di atas menggambarkan bahwa variabel hitung diinisialisasikan dengan nilai 1,
kemudian kondisi-loop (hitung <= 10) dievaluasi, jika bernilai true maka menampilkan kalimat
Mudah Belajar Java, kemudian menambahkan variabel hitung dengan satu (hitung++). Jika
bernilai false maka perulangan akan berhenti. Output dari potongan source code diatas adalah
kalimat Mudah Belajar Java sebanyak 10 kali.
Pastikan bahwa nilai kondisi-loop pada akhirnya bernilai false sehingga program akan
berhenti. Kesalahan pemrograman yang umum terjadi adalah karena loop tidak pernah berhenti
(infinite loop). Yaitu, program tidak bisa menghentikan loop karena kondisi-kontinuasi-loop selalu
bernilai true.
Perhatikan contoh berikut:
int hitung = 1;
while (hitung < = 10 ) {
System.out.println(“Mudah Belajar Java”);
}
Contoh di atas merupakan kondisi pengulangan yang tidak akan pernah berhanti (infinite
loop). Hal tersebut dikarenakan nilai hitung akan selalu bernilai <= 10 (true).
7.2 Perulangan Do While Struktur do-while sebenarnya mirip dengan struktur while. Namun, pengulangan do-while
melakukan pemeriksaan kondisi-loop pada akhir blok pengulangan. Akibatnya, pada
pengulangan menggunakan struktur do-while proses pengulangan akan dilakukan minimal
sekali, meskipun ternyata kondisinya tidak terpenuhi (bernilai false). Sintaks untuk perulangan
while adalah sebagai berikut:
do {
//tubuh loop
statement-statement ;
} while (kondisi-loop);
Pernyataan di dalam do (tubuh loop) akan dieksekusi terlebih dahulu. Kemudian kondisi-
loop dievaluasi. Jika hasil evaluasi adalah true, maka tubuh loop dieksekusi kembali; jika bernilai
false maka perulangan berhenti. Dan melanjutkan statement berikutnya dibawah perulangan.
TUBUH LOOP(STATEMENTS)
KONDISI – LOOP
TRUE
FALSE
Perhatikan contoh berikut:
int hitung = 1;
do {
//tubuh loop
System.out.println(hitung + “ ”);
hitung++;
} while (hitung <= 10);
Contoh di atas menggambarkan bahwa variabel hitung diinisialisasikan dengan nilai 1,
statement yang berada pada tubuh loop akan dieksekusi (menampilkan nilai variabel hitung),
kemudian menambahkan dengan 1 (hitung++). Kondisi-loop dievaluasi setelah tubuh loop
dieksekusi, jika bernilai true maka tubuh loop akan kembali dieksekusi; jika bernilai false maka
perulangan akan berhenti. Output dari potongan source code diatas adalah:
1 2 3 4 5 6 7 8 9 10
Untuk lebih memahami perbedaan antara struktur while dengan do-while, coba perhatikan
terlebih dua buah potongan source code program berikut:
int i = 6;
while (i < 5) {
System.out.println(“Belajar Java itu Mudah”);
i++;
}
Pada contoh di atas, blok pengulangan while tidak akan dieksekusi. Hal ini disebabkan nilai
variabel i lebih besar dari 5 yang menyebabkan kondisi-loop tidak terpenuhi (bernilai false).
Perhatikan contoh di bawah ini, dimana pengulangan menggunakan struktur do-while:
int i = 6;
do {
System.out.println(“Belajar Java itu Mudah”);
i++;
} while (i < 5 );
Pada contoh di atas, walaupun nilai variabel i lebih besar dari 5 (yang berarti kondisi loop
bernilai false), tapi program tetap akan mengeksekusi statement di dalam blok pengulangan
sebanyak 1 kali. Hal ini disebabkan karena struktur pengulangan do-while melakukan
pengecekan kondisi-loop setelah meng-eksekusi statement yang berada pada tubuh-loop.
Sehingga walaupun pada pengecekan kondisi-loop bernilai salah (false) statement di dalam
tubuh-loop tetap dikerjakan (1 kali).
7.3 Perulangan For Struktur for pada umumnya digunakan untuk melakukan pengulangan yang banyaknya
sudah pasti atau sudah diketahui sebelumnya. Dalam pengulangan for kita harus menentukan
nilai awal pengulangan dan nilai akhir pengulangan, pengulangan for tidak membutuhkan
counter untuk menaikan variabel karena sudah disebutkan pada salah satu parameter
pengulangan. Bentuk umum pengulangan for sebagai berikut:
for (nilai inisialisasi awal; kondisi loop; iterasi){
// tubuh loop, statement yang akan diulang
}
Proses pengulangan akan terus dilakukan selama kondisi-loop bernilai true. Dengan kata
lain, proses pengulangan hanya akan dihentikan apabila kondisi telah bernilai false atau sudah
tidak terpenuhi lagi.
Struktur pengulangan for biasanya menggunakan suatu variabel untuk mengendalikan
berapa kali tubuh loop akan dieksekusi dan menentukan kapan loop akan berhenti. Variabel ini
disebut juga dengan variabel kontrol. Nilai inisialisasi awal merupakan variabel kontrol, proses
inisialisasi nilai awal hanya akan dilakukan sekali saja. Iterasi berfungsi menaikan (increment)
atau menurunkan (decrement) nilai variabel kontrol, dan kondisi loop mengevaluasi apakah
kondisi perulangan bernilai true atau false.
Untuk memudahkan pemahaman perhatikan contoh program berikut: 1. public class LatihanFor{
2. public static void main(String[] args){
3. int i;
4. for (i = 1; i <=10; i++){
5. //tubuh loop
6. System.out.println(“JAVA”);
7. }
8. }
9. }
Contoh di atas, melakukan perulangan for dengan inisialisai nilai awal i dengan 1, dan
meng-evaluasi kondisi loop (i <= 10), jika true maka secara berulang mengeksekusi statement
pada tubuh loop (baris 6). Aksi setalah tiap iterasi (i++), adalah suatu statement yang
memperbaharui variabel kontrol. Statement ini dieksekusi setelah (akhir) tiap iterasi. Statemen ini
menaikan (increment) variabel kontrol. Pada gilirannya, nilai variabel kontrol memaksa kondisi-
loop bernilai false. Kalau tidak, maka perulangan akan menjadi tak berhingga (infinite loop).
Variabel kontrol pengulangan dapat dideklarasikan dan diinisialisasi di dalam struktru
perulangan for, berikut adalah contohnya:
for (int i = 1; i <= 1000; i++){
System.out.println(“Pemrograman Java”);
}
7.4 PERULANGAN BERSARANG (NESTED) Perulangan bersarang artinya, di dalam sebuah struktur perulangan terdapat lagi struktur
perulangan lainnya. Sebagai contoh, perhatikan kode program berikut ini:
1. public class ForBersarang{
2. public static void main(String[] args){
3. int i;
4. for (i = 1; i <= 5; i++){
5. for (int j = 1; j <= i; j++){
6. System.out.print(i + “ ”);
7. }
8. System.out.println();
9. }
10. }
Hasil yang akan diberikan oleh program di atas adalah sebagai berikut:
1
2 2
3 3 3
4 4 4 4
5 5 5 5 5
Contoh program diatas bisa juga menggunakan struktur perulangan while maupun do-
while, seperti yang dicontohkan pada kode program berikut:
a. Menggunakan struktur while 1. public class WhileBersarang{
2. public static void main(String[] args){
3. int i = 1;
4. int j;
5. while (i <= 5) {
6. j = 1;
7. while (j <= i) {
8. System.out.print(i + “ ”);
9. j++;
10. }
11. System.out.println();
12. i++;
13. }
14. }
15. }
b. Menggunakan struktur do-while 1. public class WhileBersarang{
2. public static void main(String[] args){
3. int i = 1;
4. int j;
5. do {
6. j = 1;
7. do {
8. System.out.print(i + “ ”);
9. j++;
10. } while (j <=i);
11. System.out.println();
12. i++;
13. } while (i <= 5);
14. }
15. }
PRAKTIKUM 1. Menampilkan bilangan 20 bilangan genap pertama
Output:
2 4 6 8 10 12 ...
2. Menampilkan bilangan sederet bilangan 1 s.d 100 dengan ketentuan setiap angka kelipatan
tiga (3) yang ditampilkan kata “Tiga”, setiap kelipatan lima (5) yang ditampilkan adalah
kata “lima” dan setiap angka yang merupakan kelipatan 3 dan 5 yang ditampilkan adalah
“Unindra”
Output:
1 2 tiga 4 lima tiga 7 8 tiga lima 11 unindra 13 14 unindra ...
BAB 8
ARRAY
Array adalah sekumpulan variabel bertipe sama yang diacu dengan nama yang sama.
Masing – masing elemen array dapat diakses melalui indeksnya. Dalam java, indeks array selalu
bertipe integer yang dimulai dari 0. Berikut ini gambar yang dapat mengilustrasikan sebuah array.
A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7]
10 20 30 40 50 60 70 80
Gambae di atas menunjukan array A yang berisi 8 buah elemen bertipe integer, yaitu 10, 20,
30, 40, 50, 60, 70, 80. Setiap elemen array dapat diakses dengan cara A[indeks].
Array bertujuan untuk mengurangi penggunaan variabel yang banyak dan variabel array
juga memudahkan kita dalam engatur data seperti pengurutan, mencari nilai terbesar, mencari
rata-rata dan lainnya.
8.1 Array Satu Dimensi Untuk menggunakan array dalam sebuah program perlu dilakukan pendeklarasian suatu
variabel untuk mereferensi array dan menspesifikasi tipe elemen array. Berikut adalah sintaks
untuk mendeklarasikan array satu dimensi:
tipeElemen[] varArray;
Tipe elemen menandakan tipe dasar dari setiap elemen array yang ada. Dengan kata lain,
tipe dasar akan menentukan jenis data apa yang akan disimpan dalam masing – masing elemen
array. Tipe elemen dapat berupa sembarang tipe data. Sebagai contoh, kode berikut ini
mendeklarasikan suatu variabel angkaGenap yang mereferensi suatu array dengan elemen –
elemen int.
angkaGenap[] int;
Tidak seperti mendeklarasikan variabel tipe data primitif (sederhana), deklarasi suatu
variabel array tidak mengalokasikan memori untuk array tersebut. Deklarasi tersebut hanya
menyimpan lokasi untuk referensi kepada suatu array. Jika suatu variabel tidak memuat suatu
referensi kepada suatu array, maka nilai variabel tersebut adalah null.
Untuk bisa menugaskan elemen – elemen kepada suatu array harus terlebih dahulu
menciptakan array tersebut, setelah suatu array dideklarasikan anda dapat menciptakan array
tersebut dengan menggunakan kata kunci new dengan sintaks sebagai berikut:
varArray = new tipeElemen[jumlah elemen];
Dimisalkan ingin menentukan array dengan jumlah elemen sebanyak 10, sehingga penulisan
kode-nya adalah sebagai berikut:
angkaGenap = new int[10];
Sampai tahap ini, variabel angkaGenap akan mengacu ke array dengan 10 elemen bertipe
int. Untuk menugaskan nilai – nilai dari masing – masing elemen array tersebut, dapat digunakan
sintaks :
varArray [indeks] = nilai;
Sehingga untuk variabel angkaGenap jika ingin menugaskan nilai kepada elemen –
elemennya adalah sebagai berikut:
angkaGenap[0] = 2;
angkaGenap[1] = 4;
angkaGenap[2] = 6;
angkaGenap[3] = 8;
Mendeklarasikan suatu variabel array, menciptakan suatu array, dan menugaskan referensi
array kepada variabel dapat digabungkan menjadi satu statemen seperti ini:
tipeElemen[] varArray = new tipeElemen[jumlah elemen];
Ini adalah implementasi dari contoh statemen di atas:
int[] angkaGenap = new int[10];
8.2 Array Multidimensi Array multi-dimensi sebenarnya merupakan array dari array. Artinya, terdapat sebuah array
yang setiap elemennya juga bertipe array. Cara umum dalam java untuk mendeklarasikan array
dua dimensi sebagai berikut:
tipeElemen[][] varArray = new tipeElemen[jumlah elemen][jumlah elemen];
Ini adalah implementasi dari contoh statemen di atas:
int[][] varArray = new int[5][4];
Contoh statement diatas akan menghasilkan array 2 dimensi dengan 5 baris dan 4 kolom
PRAKTIKUM
PraktikumEmpatBelas
1. /**
2. * Praktikum Tiga Belas
3. * Mengetahui cara penggunaan array 1 dimensi
4. * @author Teknik Informatika Unindra
5. */
6.
7. import java.util.Scanner;
8. public class PraktikumEmpatBelas{
9. public static void main(String[] args){
10. Scanner scan = new Scanner(System.in);
11. int[] arrayAngka = new int[5];
12. for(int i = 0; i<arrayAngka.length; i++){
13. System.out.print(“Masukan angka : “);
14. arrayAngka[i] = scan.nextInt();
15. }
16. for(int i = 0; i<arrayAngka.length; i++){
17. System.out.println(arrayAngka[i]);
18. }
19. }
20. }
PraktikumLimaBelas
1. /**
2. * Praktikum Tiga Belas
3. * Mengetahui cara penggunaan array 1 dimensi
4. * @author Teknik Informatika Unindra
5. */
6.
7.
8. public class PraktikumLimaBelas{
9. public static void main(String[] args){
11. String[][] arrayData = new String[2][3];
12. arrayData[0][0] = “20134350001”;
13. arrayData[0][1] = “Budi Santoso”;
14. arrayData[0][2] = “Jakarta”;
15. arrayData[1][0] = “20134350002”;
16. arrayData[1][1] = “Ryan Akbar”;
17. arrayData[1][2] = “Depok”;
18. System.out.println(“NPM \t\t Nama \t\t Alamat”);
19. for(int i = 0; i < 2; i++){
20. for(int j = 0; j < 3; j++){
21. System.out.println(arrayData[i][j] + “\t”);
22. }
23. System.out.println();
24. }
25. }
26. }
Latihan 1. Buatlah sebuah program untuk menginput 10 buah bilangan bulat menggunakan class
Scanner, dan menampungnya kedalam sebuah array. Kemudian cetak jumlah dari
keseluruhan bilangan dan cetak rata-rata nya.
2. Buatlah sebuah program untuk menginput npm, nama, nilai uts, nilai uas, nilai praktikum dan
nilai akhir 5 orang mahasiswa, data mahasiswa ditampung dalam array 2 dimensi. Kemudian
cetak seluruh data yang di inputkan dalam bentuk tabel. (seperti PraktikumLimaBelas)