Pengenalan Pemrograman Java Dasar
Pengenalan Pemrograman Java Dasar
MATERI PRAKTIKUM
OBJECT-ORIENTED SOFTWARE DEVELOPMENT
(IF32103/ IF42103)
Semester III Tahun Ajar 2022/2023
1. PENDAHULUAN
Bahasa pemrograman Java dikembangkan pertama kali oleh Sun Microsystems pada tahun
1995. Java menjadi salah satu bahasa pemrograman yang populer dengan filosofi “Write Once,
Run Anywhere”, yaitu perangkat lunak yang ditulis dengan menggunakan bahasa pemrograman
ini dapat dijalankan pada platform yang berbeda-beda. Program yang ditulis pada perangkat
berbasis Windows dapat juga dijalankan pada platform lain, seperti varian Linux, Solaris OS dan
Mac OS. Hal ini dimungkinkan dengan penggunaan Java Virtual Machine (JVM) yang sudah
disesuaikan untuk masing-masing platform. JVM merupakan tempat pengeksekusian kode
program Java yang sudah berupa bytecode. JVM juga sudah dirancang agar dapat berkomunikasi
dengan berbagai platform. Dengan demikian file bytecode yang sudah dihasilkan dapat dijalankan
di berbagai platform (portable).
1. Bahasa pemrogamann Java bersifat case sensitive, yakni penggunaan huruf besar dan
huruf kecil sangat berpengaruh pada penulisan kode program.
2. Kode program Java dituliskan ke dalam sebuah file dengan ekstensi .java. Semua file
dengan ekstensi tersebut akan di-compile menjadi file bytecode dengan ekstensi .class.
3. Sebuah file program Java hanya diperbolehkan memiliki sebuah kelas yang menggunakan
modifier aksesnya adalah public. Nama file kode program tersebut harus persis sama
dengan nama kelas tersebut. Nama file program java juga bersifat case sensitive.
4. Method yang dijalankan pertama kali pada program Java bernama main yang memiliki
sebuah parameter array dari String. Hanya ada satu buah method main dalam sebuah
program Java.
Contoh kode program Java dapat dilihat pada Tabel 1 berikut ini.
Tabel 1 Contoh Kode Program Java
public class Buku {
/* Contoh ini menunjukkan pembuatan sebuah kelas dengan
* nama Buku. Ini adalah contoh penggunaan komentar *
pada Java.
*/
public static void main(String []args) {
String tahunAjar = “2021/2022”; //contoh deklarasi variable
//menuliskan teks ke konsol
[Link]("Buku PBO Tahun Ajar "+tahunAjar);
}
}
Pada Tabel 1 dicontohkan sebuah kelas dengan nama Buku dan memiliki sebuah method dengan
nama main. Nama file untuk penampung kode program ini harus diberi nama yang sama dengan
nama kelas yang sifatnya public dan diikuti dengan akhiran .java, dalam hal ini menjadi
[Link]. Dalam method main terdapat satu contoh deklarasi variabel dengan tipe data String
dan penggunaan sebuah method untuk menuliskan teks dalam parameter ke layar konsol. Potongan
kode tersebut juga menunjukkan penggunaan komentar yang dituliskan di antara /* dan */, serta
proses deklarasi untuk memastikan nilai yang ditampung tidak dapat diubah. Sebuah parameter
memiliki nama dan tipe data. Nama parameter digunakan untuk mengidentifikasi nama penampung
nilai, sedangkan tipe data mengindikasikan jenis data yang ditampung.
Deklarasi sebuah parameter biasanya mengikuti pola sebagai berikut:
Keterangan
- tipeData merujuk kepada jenis data yang akan ditampung oleh parameter tersebut.
- nilaiAwal merupakan nilai awal dari variabel yang dapat langsung diatur pada saat
deklarasinya. Penentuan nilai awal ini sifatnya opsional. Nilai sebuah variabel dapat diatur
int volBuku = 7;
String tahunAjar = “2021/2022”;
Bahasa pemrograman Java memiliki dan mendukung pemakaian delapan tipe data primitif,
yaitu tipe yang sudah didefinisikan oleh Java dan namanya tidak dapat digunakan untuk menamai
(dalam bit)
Operator jenis ini digunakan untuk pemberian nilai kepada sebuah parameter. Pada
dasarnya operator ini menggunakan tanda sama dengan (“=”) untuk pemberian nilai pada
int c = 10;
Pada potongan kode di atas, sebuah parameter dengan nama “c” dengan tipe integer diberi
nilai “10” dengan menggunakan operator penugasan “=”. Contoh pengkombinasian
operator penugasan “=” dengan jenis operator lain dapat dilihat pada Tabel 3. Tabel 3 Kombinasi
Operator Penugasan Dengan Jenis Operator Lainnya
Operator Lain Kombinasi Contoh Penggunaan Maksud Operator
* (pengali) *= a*=b a=a*b
/ (pembagi) /= a/=b a=a/b
+ (penjumlah) += a+=b a=a+b
- (pengurang) -= a-=b a=a-b
% (modulus) %= A%=b a=a%b
Operator ini digunakan untuk kebutuhan operasi aritmatika antar parameter. Parameter ini
digunakan untuk proses perkalian, pembagian, pengurangan, penjumlahan dan mendapat
hasil sisa pembagian atau modulus. Kelima operasi tersebut, secara berurutan,
masingmasing menggunakan simbol “*”, “/”, “-“, “+” dan “%”. Contoh penggunaan pada
program Java.
int a = 10; int
b = 5; int c;
//parameter c akan menampung angka integer 2 sebagai
//hasil operasi penjumlah parameter a dan parameter b c
= a + b;
Operator ini digunakan untuk operasi logika dengan True atau False sebagai nilai yang
dihasilkan oleh proses ini. Contoh penggunaan operator ini dapat dilihat pada Tabel
4 ini.
Operator ini digunakan untuk membandingkan nilai dari dua buah parameter yang menjadi
operand operasi pembanding. Operator pembanding dapat dilihat pada Tabel 5.
Tabel 5 Operator Pembanding
Operator Keterangan Contoh Penggunaan
< Nilai operand pertama lebih int a = 10;
kecil dari nilai operand kedua int b = 5;
Untuk dapat menampilkan keluaran ke layar (standard output) diperlukan bantuan objek yang
menangani standard output. Secara default, semua program berbasis Java dapat mengakses
objek tersebut melalui kelas System.
Berikut ini adalah contoh program yang menampilkan sebuah pesan "Hello world!" ke layar
(standard output):
File: [Link]
public class Display { public static void
main(String[] _args){
[Link]("Hello world!");
}
}
Penjelasan:
1. Pada contoh di atas kita menerapkan konsep entry point dengan Display sebagai kelas
di mana entry point kemudian didefinisikan.
2. Kita menggunakan objek out yang disediakan oleh kelas System. Objek out memiliki
method println() yang dapat digunakan untuk menampilkan keluaran ke layar (standard
output).
Berikut ini adalah sebuah contoh untuk menagkap masukan melalui keyboard:
File: [Link]
1. Tetap menggunakan konsep entry point dengan Keyboard sebagai kelas di mana entry
point didefinisikan.
2. Berbeda dengan menampilkan keluaran ke layar, proses menerima masukan dari
keyboard tampak lebih kompleks. Benar, karena pada dasarnya keyboard dibaca satu per
satu key pressed, dan dengan bantuan scanner (objek dari kelas Scanner) program
dapat membaca satu baris masukan dan tidak satu per satu karakter.
3. Untuk dapat menggunakan objek dari kelas Scanner, kita perlu terlebih dahulu
mendeklarasi objeknya: Scanner scanner kemudian menginstansiasi (menciptakan
objek bertipe Scanner) dengan menggunakan keyword new. Dalam proses instansiasi
objek, diperlukan sebuah masukan berupa objek bertipe InputStream, sebagai sumber
masukan yang akan dibaca, dalam konteks ini keyboard (standard input), new
Scanner([Link]). scanner siap dipergunakan.
4. Semua objek dari kelas Scanner memiliki method nextLine() untuk membaca dari
masukan sepanjang satu baris: [Link]() dan mengembalikan nilai
bertipe String. Oleh sebab itu diperlukan variabel penampung untuk menyimpan
keluaran dari invokasi [Link](). Untuk itu dideklarasi sebuah variabel
bernama string dengan tipe String, String inputString.
5. Setelah masukan dari keyboard terbaca dan ditampung pada variabel inputString,
kita dapat gunakan sesuai dengan keperluan.
6. Kelas Scanner juga dapat membaca masukan dengan berbagai tipe data. Misalkan untuk
membaca nilai bertipe integer: [Link](), silakan mengacu ke Java
documentation untuk daftar lebih lengkap.
Pada sebuah if- statement, kata kunci tersebut diikuti dengan ekspresi Boolean yang di
dalamnya terdapat beberapa operasi yang nilai akhirnya akan berupa True atau False. Jika
menggunakan kata kunci if-statement, maka kode yang berada di dalam blok if akan dieksekusi
jika ekspresi Boolean bernilai True. Sementara itu, jika ekspresi Boolean bernilai False, maka
kumpulan kode pada blok berikutnya yang akan dieksekusi. Cara penggunaan if-statement dapat
dilihat pada poin-poin berikut ini:
2. Sebuah if- statement yang diikuti oleh sebuah else- statement. Blok kode else- statement
akan dieksekusi ketika ekspresi Boolean bernilai False. Sintaksnya dapat dilihat pada
bagian berikut ini.
if(ekspresi_Boolean) {
//blok kode yang akan dieksekusi jika nilai ekspresi Boolean
adalah true }else{
//blok kode yang akan dieksekusi jika nilai ekspresi Boolean
adalah false
}
Selain dua pendekatan yang dituliskan di atas, Anda juga dapat membuat percabangan di dalam
kedua blok kode pada if-statement. Sintaks untuk kasus yang sering juga disebut sebagai nested if
statement ini dapat dilihat pada bagian berikut ini.
if(ekspresi_Boolean_1) {
//blok kode yang akan dieksekusi jika nilai ekspresi Boolean 1
adalah true
}else{
//blok kode yang akan dieksekusi jika nilai ekspresi Boolean 1
adalah false
if(ekspresi_Boolean_2) {
//blok kode yang akan dieksekusi jika nilai ekspresi Boolean
2 adalah true }else{
//blok kode yang akan dieksekusi jika nilai ekspresi Boolean 2
adalah false
}
}
if (opsi == 1)
{
[Link]("Opsi nomor 1 dipilih.");
}
else{
[Link]("Opsi Anda tidak tersedia.");
}
}
Pendekatan lainnya untuk melakukan percabangan pada kode program adalah dengan
menggunakan switch- statement. Kata kunci ini digunakan jika Anda ingin menguji nilai yang
terdiri dari beberapa pilihan dari sebuah ekspresi. Switch akan menentukan blok kode yang akan
dieksekusi sesuai dengan nilai ekspresi yang sesuai. Sintaksnya dapat dilihat pada bagian berikut
ini. Bagian yang diberi garis miring menunjukkan kata kunci yang harus dipakai pada saat
menggunakan switch- statement.
Pada saat menggunakan switch, Anda harus memperhatikan hal-hal sebagai berikut:
1. Tipe variabel pada ekspresi yang diuji harus salah satu dari sebuah byte, integer, atau char.
Selain itu, nilainya yang menjadi pengujian harus memiliki tipe data yang serupa.
2. Gunakan kata kunci break untuk membatasi area sebuah blok kode yang akan dieksekusi.
Sebagai contoh pada sintaks, jika blok kode pada case nilai 1 tidak dibatasi dengan
menggunakan kata kunci break, maka eksekusi akan berlanjut sampai pada bagian blok kode
case nilai 2.
3. Jika tidak ada case yang nilainya sesuai dengan pilihan pada switch- statement, maka yang
switch (opsi)
{
case 1: [Link]("Opsi nomor 1 dipilih."); break;
Contoh penggunaan for- statement pada program Java ditunjukkan oleh potongan kode berikut.
Potongan kode tersebut memiliki tujuan untuk meminta sebuah input dari pengguna aplikasi
sebanyak lima kali dan menampilkan hasilnya ke layar.
import [Link];
Jenis ini digunakan jika ekspresi yang menjadi penentu perulangan masih bernilai Boolean true.
Jika nilainya sudah mencapai false atau di dalam blok kode yang diulang ditemukan kata kunci
Contoh penggunaan while- statement pada program Java ditunjukkan oleh potongan kode berikut.
Potongan kode tersebut memiliki tujuan untuk meminta sebuah input dari pengguna aplikasi dan
menampilkan hasilnya ke layar sampai pengguna mengetikkan pilihan angka 0.
import [Link];
opsi = [Link]();
while(opsi != 0){
opsi = [Link](); switch (opsi)
{
case 0: [Link]("Anda memilih untuk berhenti.");
break;
case 1: [Link]("Opsi nomor 1 dipilih.");
break;
default: [Link]("Opsi Anda tidak tersedia.");
}
}
}
Bentuk perulangan yang ketiga ini mirip dengan while-statement dengan pembeda adalah do
while- statement akan menjalankan sekali perulangan sebelum melakukan pengecekan ekspresi
penentu kelanjutan perulangan pada kode program. Jika satu kali perulangan sudah dilakukan,
maka berikutnya akan dicek apakah kondisi pada ekspresi penentu masih bernilai true untuk
melanjutkan perulangan atau sebaliknya. Sintaksnya dapat dilihat pada bagian berikut ini.
//terlebih dahulu lakukan deklarasi variabel untuk digunakan oleh
//ekspresi penentu kelanjutan perulangan do{
//blok kode yang akan diulang, minimal 1 kali perulangan while
(ekspresi_penentu) {
Contoh penggunaan do while- statement pada program Java ditunjukkan oleh potongan kode
berikut. Potongan kode tersebut memiliki tujuan untuk meminta sebuah input dari pengguna
aplikasi minimal sekali dan menampilkan hasilnya ke layar sampai pengguna mengetikkan pilihan
angka 0.
import [Link];
do{
opsi = [Link]();
switch (opsi)
{
case 0: [Link]("Anda memilih untuk berhenti.");
break;
case 1: [Link]("Opsi nomor 1 dipilih.");
break; default: [Link]("Opsi Anda tidak
tersedia.");
}
while(opsi != 0);
}