Anda di halaman 1dari 85

Bagian 1 : Alur Logika Pemrograman

Komputer
Kompetensi Dasar :
3.1. Menerapkan alur logika pemrograman komputer
3.1.1. Siswa mampu menggunakanprinsip algoritma dalam menyelesaikan masalah
(C3)
3.1.2. Siswa mampu menggunakan notasi algoritmik (C3)
3.1.3. Siswa mampu menganalisis model algoritma dalam sebuah kasus (C4)
4.1. Membuat alur logika pemrograman komputer
4.1.1. Siswa mampu mengimplementasikan prinsip algoritma dalam menyelesaikan
masalah (P2)
4.1.2. Siswa mampu mendemonstrasikan alur penyelesaian masalah dengan tiga
model notasi algoritmik (P3)
4.1.3. Siswa mampu mendesain model algoritma sekuensial, percabangan, dan
perlangan(P5)

1.1. Masalah
Manusia pada dasarnya hidup dengan berbagai masalah yang
mendatanginya. Hidup pada dasarnya adalah serangkaian aktivitas
untuk menyelesaikan masalah. Dalam Bahasa Indonesia, kata
“masalah” sering disebut juga “persoalan”. Masalah itu sendiri adalah
pertanyaan atau tugas yang harus dicari jawaban atau penyelesaiannya.
Contoh masalah dalam kehidupan sehari-hari.
1. Bu Tisna yang mengajar mata pelajaran Pemrograman Dasar kelas
10 RPL melakukan penilaian praktik di kelas pada setiap siswa.
Setiap siswa mendapatkan nilai sesuai kriteria penilaian. Dari
jawaban tersebut,berapakah dengan nilai tertinggi? Jawaban dari
masalah ini adalah nilai tertinggi.
2. Pada papan pengumuman, tercantum daftar nama siswa kelas 11
Kimia Industri yang sudah tuntas pada praktikum mata pelajaran
Asas Teknik Kimia. Bagaimana cara mengetahui apakah
Rahmawati tuntas pada pelajaran tersebut? Jawaban dari masalah
ini adalah mencari nama Rahmawati pada daftar siswa. Jika
namanya tercantum pada daftar, artinya dia sudah tuntas pada
praktikum.
3. Setiap siswa baru diukur tinggi badannya. Dari pengukuran
tersebut, dihasilkan daftar tinggi badan siswa. Bagaimana urutan
tinggi badan siswa dari siswa terendah ke siswa tertinggi? Jawaban
dari masalah ini adalah daftar tinggi badan siswa yang sudah
terurut dari yang paling rendah hingga paling tinggi.

1
Ketiga contoh di atas memiliki banyak kemiripan dengan masalah lain
yang muncul di dalam kehidupan nyata. Karenanya, masalah yang
muncul biasa dinyatakan dengan beberapa ukuran (parameter) untuk
mempermudah identifikasi permasalah dan mencari solusinya. Setiap
permasalahan memiliki satu atau lebih parameter yang dapat
ditemukan dari diskripsi masalah tersebut.
Pada contoh pertama, parameter yang ada adalah daftar nilai (D) yang
terdiri dari banyak nilai (B) dan nilai tertinggi (T). Setiap parameter
dapat diberikan nilai. Proses pemberian nilai ini disebut instansiasi
masalah,dan jawaban dari instantiasi masalah ini disebut solusi.
Instansiasi masalah pada contoh pertama misalnya :
D = {50, 89, 89, 77, 98, 67, 78} .................... D = Daftar Nilai
B = 7 .......................................................... B = Banyak nilai dalam
daftar
T = 98 ........................................................ T = Nilai tertinggi (solusi)
1.2. Algoritma
Kecepatan sebuah solusi sangat tergantung dari besar kecilnya
instansiasi masalah. Sebuah masalah dengan instansiasi yang kecil
dapat dicari solusinya dengan cepat dan mudah. Pada contoh pencarian
nilai tertinggi di atas, pencarian solusi dapat dilakukan dengan relatif
cepat karena instansiasi masalahnya kecil. Bayangkan jika banyaknya
nilai dalam daftar lebih dari 500 item nilai, tentunya proses pencarian
nilai tertinggi menjadi lebih lama.
Untuk menyelesaikan sebuah masalah, diperlukan prosedur yang terdiri
dari langkah-langkah yang harus dijalankan untuk menghasilkan solusi.
Prosedur ini yang berisi langkah-langkah ini disebut dengan algoritma.
Dalam kalimat yang berbeda, algoritma dapat dijabarkan sebagai
deretan instruksi yang jelas untuk memecahkan masalah, yaitu umtuk
memperoleh keluaran dari suatu masukan dalam jumlah waktu yang
terbatas.
Pada dasarnya, setiap hari setiap manusia telah menerapkan algoritma
untuk menyelesaikan permasalahan, meskipun tidak secara jelas
disebut sebagai algoritma. Contohnya, update status di facebook,
menginstall aplikasi android, melakukan panggilan video pada
Whatsapp.
Contoh Algoritma update status di facebook
1. Klik pada isian “apa yang anda pikirkan”
2
2. Ketikkan status yang diinginkan
3. Tambahkan pelengkap seperti foto, penanda lokasi, dan
sebagainya
4. Klik kirim
Kata algoritma berasal dari algorism. Algorism merupakan ahli
matematika muslim yang terkenal bernama Abu Ja’far Muhammad ibn
Musa Al-Khowarizmi. Lidah orang barat mengucapkan al-khowarizmi
sebagai algorism. Alkhowarizmi menulis buku Kitab al-Jabr wa al-
Muqabala. Dari buku inilah muncul istilah aljabar.
Perubahan kata algorism menjadi algorithm muncul Karena sering
terjadi salahsebut dengan arithmetic sehingga akhiran “sm” menjadi
“thm”. Seiring dengan makin lumrahnya perhitungan dengan angka
Arab, maka berangsur-angsur kata algorithm dipakai sebagai metode
komputasi secara umum.
Sebagai langkah untuk menyelesaikan masalah, sebuah algoritma
harus memiliki 5 buah prinsip penting yaitu:
1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah
terbatas.Contohnya, “berjalanlah mengelilingi lingkaran”. Apabila
tidak dibatasi berapa kali berjalan mengelilingi lingkaran, maka
proses akan terus berjalan tanpa henti.
2. Setiap langkah harus didefinisikan secara jelas dan tidak memiliki
pemahaman yang ambigu. Contohnya, “diamkan air dalam waktu
yang lama”. Kata “waktu yang lama” tidak jelas dan memiliki
pemahaman yang ambigu. Bandingkan dengan kalimat “diamkan
air dalam waktu 24 jam”
3. Algoritma memiliki nol atau lebih masukan (input). Masukan adalah
nilai yang diberikan kepada algoritma untuk diproses. Contohnya,
dalam menghitung luas persegi panjang terdapat dua input yaitu
panjang dan lebar.
4. Algoritma memiliki nol atau lebih keluaran (output). Output
merupakan nilai yang diperoleh dari proses pengolahan input.
Contohnya, dari penjumlahan 4 sisi diperoleh output berupa keliling
bujur sangkar.
5. Algoritma harus efektif. Setiap langkah harus sederhana sehingga
dapat dikerjakan dalam sejumlah waktu yang masuk akal.
Contohnya, Menghitung luas persegi panjang cukup dengan
panjang dikalikan lebar (p x l). Meskipun proses perhitungan
dengan ((2 x p):2) + ((2 x l):2) menghasilkan nilai yang sama, tetapi
proses ini tidak efektif.

3
1.3. Notasi Algoritmik
Di dalam pemrograman, rancangan pemecahan masalah lebih
ditekankan untuk merumuskan langkah-langkah yang harus dilakukan.
Setelah langkah tersebut dirumuskan, barulah kode program dituliskan
sebagai aktivitas akhir. Rancangan pemecahan masalah ini tidak
bergantung pada bahasa pemrograman maupun komputer yang akan
yang digunakan. Rancangan ini ditulis dalam notasi diskriptif yang
dikenal dengan notasi algoritmik.
Notasi algoritmik bukan merupakan bahasa pemrograman, sehingga
siapapun dapat membuatnya dengan bentuk yang berbeda-beda.
Namun prinsip utama dalam notasi algoritmik adalah harus mudah
dibaca dan dipahami.
Terdapat beberapa notasi yang dapat digunakan untuk menuliskan
notasi algoritmik. Berikut adalah beberapa notasi algoritmik yang
diimplementasikan untuk menjabarkan algoritma penghitungan luas
sebuah persegi panjang
1. Notasi 1 : Menggunakan kalimat deskriptif
Dalam notasi ini, setiap langkah dijelaskan dengan kalimat yang
jelas. Setiap dimulai dengan kata kerja seperti hitung, baca,
tampilkan, dan sebagainya. Notasi ini baik untuk orang awam,
tetapi cenderung sulit diterjemahkan langsung dalam bahasa
pemrograman
Contoh:
PROGRAM hitung_luas_persegi_panjang

ALGORITMA
1. Masukkan panjang
2. Masukkan lebar
3. Kalikan panjang dan lebar
4. Tampilkan hasil perkalian

2. Notasi 2 : Menggunakan bagan Alir (Flowchart)


Dalam notasi ini, algoritma
digambarkan dengan bentuk
geometri seperti persegi panjang,
jajaran genjang, belah ketupat dan
sebagainya. Tiap bentuk ini mewakili
tiap jenis langkah dalam algoritma.
Notasi ini cocok untuk
menggambarkan algoritma
sederhana, namun tidak cocok
4
digunakan untuk algoritma yang kompleks karena membutuhkan
lembar kertas yang banyak.

Contoh disamping ini adalah notasi algoritma menggunakan bagan


alir untuk menyelesaikan kasus menghitung luas persegi panjang.

Satu hal yang harus diketahui ketika merancang sebuah alur


program menggunakan notasi bagan alir adalah memahami
simbol-simbol yang digunakan. Secara umum, simbol yang
digunakan dalam notasi bagan alir adalah sebagai berikut:
Simbol Nama Simbol Keterangan
Simbol yang menunjukkan
Process pengolahan yang dilakukan
Komputer
Simbol untuk kondisi yang akan
Decision menghasilkan beberapa
kemungkinan pernyataan
Simbol untuk mempersiapkan
tempat penyimpanan yang
Internal
akan digunakan sebagai tempat
Storage
pengolahan didalam storage
(deklarasi variabel)
Simbol untuk permulaan atau
Terminal
akhir dari suatu program

Penghubung antara prosedur /


Arus / Flow
proses

Simbol penghubung yang


menandakan keluar / masuk
Connector
prosedur atau proses dalam
lembar / halaman yang berbeda
Simbol yang menyatakan
proses input dan output tanpa
Input-Output
tergantung dengan jenis
peralatannya

3. Notasi 3 : Menggunakan pseudo-code


Notasi ini lebih disukai para ilmuwan komputer karena lebih praktis.
Pseudo-code merupakan notasi yang mirip dengan bahasa

5
pemrograman tingkat tinggi, namun tidak sedetil bahasa
pemrograman sebenarnya.
Versi pseudo-code dapat dibuat mirip dengan bahasa
pemrograman apapun asalkan tidak membingungkan. Keuntungan
menggunakan pseudo-code adalah mempermudah ketika
menerjemahkannya ke dalam bahasa pemrograman.
Contoh
PROGRAM hitung_luas_persegi_panjang

DEKLARASI
panjang, lebar, luas : integer

ALGORITMA
1. Baca(panjang)
2. Baca(lebar)
3. Luas  panjang * lebar
4. Tampilkan(luas)

1.4. Jenis Algoritma Dalam Pemrograman Komputer

1. Algoritma Sekuensial
Algoritma ini merupakan runtutan (sequence) satu atau lebih
instruksi yang berarti bahwa:
- Tiap instruksi dikerjakan satu per satu
- Tiap instruksi dilaksanakan tepat sekali, tidak ada proses yang
diulang
- Urutan instruksi yang dijalankan processor sama dengan urutan
instruksi yang ditulis dalam algoritmanya
- Algoritma berakhir pada instruksi terakhir
Perhatikan contoh berikut:
Tulislah algoritma untuk membaca nama orang dari keyboard,
kemudian tampilkan tulisan “Hallo” yang diikuti oleh orang itu!
Kasus di atas jika dituliskan dalam notasi diagram alir menghasilkan
alur berikut:

6
Sedangkan jika ditulis dalam notasi pseudocode akan menghasilkan
kode berikut:
PROGRAM Hallo_Nama

DEKLARASI
nama: String

ALGORITMA
1. Baca(nama)
2. Tampilkan(‘Hallo’ ,nama)

2. Algoritma Percabangan
Algoritma ini cara kerjanya melakukan pemilihan statemen pada
kondisi yang diberikan. Ada dua komponen utama dalam ekspresi
percabangan yaitu kondisi dan pernyataan. Kondisi adalah syarat
dilakukannya sebuah (atau sekelompok) pernyataan, sedangkan
pernyataan dalam konteks ini adalah perintah yang berkaitan
dengan suatu kondisi.
Perhatikan contoh berikut:
Buatlah algoritma yang membaca nominal belanja seorang
pelanggan pada toko XYZ. apabila berbelanja lebih dari 500.000
maka mendapatkan diskon 20 %, jika tidak maka diskon hanya 10
%.

Kasus di atas jika dituliskan dalam notasi diagram alir menghasilkan


alur berikut:

7
Sedangkan jika ditulis dalam notasi pseudocode akan menghasilkan
kode berikut:
PROGRAM HitungDiskon

DEKLARASI
nominal, diskon: Real

ALGORITMA
1. Baca(nominal)
2. if (nominal>500000) {
3. diskon = 0,2 * nominal }
4. Else {
5. diskon = 0,1 * nominal }

3. Algoritma Perulangan
Di dalam algoritma ini terdapat perulangan yang dapat dilakukan
beberapa kali sampai kondisi yang ditentukan untuk menghentikan
perulangan sudah tercapai. Struktur perulangan secara umum
terdiri dari dua bagian:
- Kondisi perulangan, yaitu pernyataan yang harus dipenuhi
untuk melaksanakan perulangan
- Badan perulangan, yaitu bagian algoritma yang diulang dalam
kondisi.

8
Perhatikan contoh berikut:
Tulislah teks “Saya pasti bisa jadi programmer!” sebanyak 100 kali!

Kasus di atas jika dituliskan dalam notasi diagram alir menghasilkan


alur berikut:

PROGRAM UlangSemangat

DEKLARASI
i : integer

ALGORITMA
1. i = 1 //pemberian nilai awal kondisi perulangan
2. while (i<=100 ) {// (ulangi sebanyak 100 kali)
3. Tampilkan(‘Saya pasti bisa jadi
programmer!’)
4. i = i + 1 //menaikkan nilai kondisi perulangan
5. }

Latihan
1. Tentukan apakah pernyataan berikut sudah sesuai dengan prinsip
dalam merumuskan algoritma:
a. Langkah menjalankan sepeda motor dimulai dari
menghidupkan starter, memasukkan kunci kontak, menekan
gigi satu, perbesar gas, kemudian jalankan sepeda motor.
b. Untuk mengetahui apakah pembeli mendapatkan diskon, lihat
terlebih dahulu diskon yang tersedia, kemudian teliti apakah

9
pembeli telah mengikuti ketentuan yang ditetapkan dalam
diskon atau tidak.
c. Peserta Ujian Nasional Berbasis Komputer harus memasukkan
username dan password, selanjutnya muncul informasi peserta
dan permintaan mengisikan token. Apabila peserta mengisikan
token dengan benar, maka soal akan ditampilkan.
2. Tentukan letak kesalahan pada algoritma menggoreng ikan
berikut:
1. Siapkan ikan yang sudah dilumuri bumbu
2. Panaskan minyak kelapa sampai mendidih
3. Goreng ikan
4. Angkat ikan yang sudah digoreng
3. Tentukan input dan output pada contoh algoritma berikut!
1. Isikan tahun lahir
2. Kurangi tahun sekarang tahun lahir untuk mengetahui
umur
3. Tampilkan umur
4. Tuliskan algoritma untuk memberikan komentar pada sebuah
status facebook temanmu menggunakan notasi flowchart dan
pseudocode!
5. Tentukan jenis algoritma pada kasus berikut, kemudian tuliskan
algoritmanya menggunakan notasi flowchart dan pseudocode
a. Fia adalah siswi yang rajin, setiap mengerjakan tugas ia selalu
meminta hasil nilainya kepada guru. Apabila nilai Fia berada di
bawah KKM, maka ia langsung meminta tugas tambahan, akan
tetapi jika nilainya melebihi KKM maka ia meminta materi
pengayaan.
b. Pak Misdaryanto adalah teknisi laboratorium yang handal.
Pekerjaannya adalah mengecek laboratorium yang dimulai dari
mengecek kondisi listrik, mengecek jaringan, mengecek
komputer, mengecek LCD proyektor dan mengecek AC
ruangan.
c. Novi adalah siswi yang punya banyak teman di dunia maya. Ia
dikenal karena selalu update status yang berisikan motivasi
untuk sukses. Setiap hari, ia tidak akan berhenti untuk update
status sampai sepuluh status motivasi ia kirimkan.
6. Carilah 3 contoh prosedur dalam kegiatan di sekolah, kemudian
buatkan algoritmanya dalam notasi flowchart dan pseudocode.

10
Bagian 2 : Bahasa Pemrograman
Kompetensi Dasar :
3.2. Memahami Bahasa Pemrograman
3.2.1. Siswa mampu mendeskripsikan jenis bahasa pemrograman (C2)
3.2.2. Siswa mampu membedakan JDK Bahasa Pemrograman JAVA dan IDEnya (C4)
3.2.3. Siswa mampu menentukan tahapan instalasi Java dan Netbeans(C3)
4.2. Melakukan instalasi Bahasa Pemrograman
4.2.1. Siswa mampu mengunduh Java dan Netbeans dari situs sumbernya (P2)
4.2.2. Siswa mampu melakukan instalasi Java dan Betbeans dengan benar (P3)
4.2.3. Siswa mampu menguji hasil instalasi Java dan Netbeans (P4)

2.1. Bahasa Pemrograman


Algoritma efektif jika dijalankan oleh pemroses (processor). Pemroses
ini bisa manusia, komputer, robot, mesin, dan sebagainya. Pemroses
membaca setiap langkah/instruksi dalam algoritma, memahami, lalu
mengerjakannya.
Komputer merupakan alat bantu untuk menjalankan perintah dalam
algoritma yang telah diberikan. Agar perintah tersebut dapat dipahami
oleh komputer, maka harus ditulis dalam bahasa yang dipahami pula
oleh komputer. Algoritma yang ditulis dalam bahasa komputer ini
disebut program, dan bahasa yang digunakan untuk menuliskan
program disebut bahasa pemrograman.
Saat ini terdapat ratusan pemrograman yang digunakan untuk
menuliskan kode program. Sebuah halaman web
https://www.tiobe.com/tiobe-index/ secara rutin membuat index
popularitas bahasa pemrograman yang paling banyak digunakan di
seluruh dunia.
Berdasarkan “kedekatan” bahasa pemrograman apakah lebih condong
ke bahasa manusia atau ke bahasa mesin, maka bahasa pemrograman
dibagi dalam :
1. Bahasa Tingkat Tinggi: Bahasa pemrograman masuk tingkat ini
karena bahasa tersebut mendekati bahasa manusia. Contohnya
bahasa Basic, Visual Basic, Pascal, Java, PHP.
2. Bahasa Tingkat Menengah: Disebut tingkat menengah karena bisa
masuk ke dalam bahasa tingkat tinggi maupun rendah. Contohnya
bahasa C.
3. Bahasa Tingkat Rendah: Bahasa pemrograman masuk tingkat ini
karena bahasanya masih jauh dari bahasa manusia. Contohnya
bahasa Assembly.
11
Berdasarkan tujuan aplikasinya, bahasa pemrograman dapat
digolongkan menjadi dua kelompok:
1. Bahasa pemrograman bertujuan khusus (specific purpose
programming language), misalnya COBOL untuk terapan bisnis dan
administrasi, ASSEMBLY untuk bahasa pemrograman mesin.
2. Bahasa pemrograman bertujuan umum (general purpose
programming language) yang dapat digunakan untuk berbagai
aplikasi, misalnya JAVA, C++, Visual Basic.NET, PHP.
Pada awalnya bahasa pemrograman dibuat terbatas pada sistem
operasi (platform) tertentu sehingga hanya bisa berjalan pada satu
sistem operasi. Misalnya Basic hanya dibuat untuk sistem operasi DOS,
dan Visual Basic dibuat untuk sistem operasi Windows.
Seiring dengan perkembangan Teknologi Informasi dan Komunikasi,
bahasa pemrograman mulai mengarah pada kemampuan untuk bisa
dijalankan pada berbagai sistem operasi (multiplatform), seperti JAVA
dan PHP yang bisa dijalankan di Windows, Linux dan MacOS. Dengan
kemampuan multiplatform ini, sebuah program yang ditulis pada
sebuah sistem operasi dapat dijalankan pada sistem operasi yang
berbeda tanpa harus mengubah perintahnya.
2.2. Bahasa Pemrograman JAVA dan IDE NetBeans
Java adalah bahasa pemrograman yang dapat dijalankan di berbagai
komputer termasuk telepon genggam. Bahasa ini awalnya dibuat oleh
James Gosling saat masih bergabung di Sun Microsystems saat ini
merupakan bagian dari Oracle dan dirilis tahun 1995. Bahasa ini banyak
mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan
sintaksis model objek yang lebih sederhana serta dukungan rutin-rutin
aras bawah yang minimal.
Aplikasi-aplikasi berbasis java umumnya dikompilasi ke dalam p-code
(bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java
(JVM). Java merupakan bahasa pemrograman yang bersifat umum/non-
spesifik (general purpose), dan secara khusus didisain untuk
memanfaatkan ketergantungan pada saat implementasi seminimal
mungkin.
Karena fungsionalitasnya yang memungkinkan aplikasi java mampu
berjalan di beberapa platform sistem operasi yang berbeda, java
dikenal pula dengan slogannya, ”Write once, run anywhere” (Sekali
menulis kode, dapat dijalankan di berbagai device dan sistem operasi)..

12
Saat ini java merupakan bahasa pemrograman yang paling populer
digunakan, dan secara luas dimanfaatkan dalam pengembangan
berbagai jenis perangkat lunak aplikasi ataupun aplikasi.
Keunggulan yang dimiliki oleh JAVA antara lain
1. Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di
beberapa platform / sistem operasi komputer, sesuai dengan
prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini
pemrogram cukup menulis sebuah program Java dan dikompilasi
(diubah, dari bahasa yang dimengerti manusia menjadi bahasa
mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas
beberapa platform tanpa perubahan.
2. OOP (Object Oriented Programming - Pemrogram Berorientasi
Objek)
3. Perpustakaan Kelas Yang Lengkap, Java terkenal dengan
kelengkapan library/perpustakaan (kumpulan program program
yang disertakan dalam pemrograman java) yang sangat
memudahkan dalam penggunaan oleh para pemrogram untuk
membangun aplikasinya.
4. Bergaya C++, memiliki sintaks seperti bahasa pemrograman C++
sehingga menarik banyak pemrogram C++ untuk pindah ke Java.
Saat ini pengguna Java sangat banyak, sebagian besar adalah
pemrogram C++ yang pindah ke Java.
5. Pengumpulan sampah otomatis, memiliki fasilitas pengaturan
penggunaan memori sehingga para pemrogram tidak perlu
melakukan pengaturan memori secara langsung
Dalam pengembangan aplikasi, programmer Java selalu tak lepas dari
IDE (Integrated Development Environment).IDE adalah program
komputer yang memiliki beberapa fasilitas yang diperlukan dalam
pembangunan perangkat lunak. Tujuan dari IDE adalah untuk
menyediakan semua peralatan yang diperlukan dalam membangun
perangkat lunak. Sebuah IDE, atau secara bebas dapat diterjemahkan
sebagai Lingkungan Pengembangan Terpadu, setidaknya memiliki
fasilitas sebagai berikut:
1. Editor, yaitu fasilitas untuk menuliskan kode sumber dari perangkat
lunak.
2. Compiler, yaitu fasilitas untuk mengecek sintaks dari kode sumber
kemudian mengubah dalam bentuk binari yang sesuai dengan
bahasa mesin.

13
3. Linker, yaitu fasilitas untuk menyatukan data binari yang beberapa
kode sumber yang dihasilkan compiler sehingga data-data binari
tersebut menjadi satu kesatuan dan menjadi suatu program
komputer yang siap dieksekusi.
4. Debuger, yaitu fasilitas untuk mengetes jalannya program, untuk
mencari bug/kesalahan yang terdapat dalam program.
IDE merupakan perangkat wajib bagi semua programmer tak terkecuali
programmer Java. Dalam IDE banyak fitur yang bisa digunakan
mempercepat pengembangan aplikasi. Berikut adalah beberapa IDE
java yang populer digunakan:
No IDE Keterangan
Netbeans adalah IDE yang bagus.
Didalamnya terdapat GUI Builder yang
sudah built-in. Dan dikembangkan dalam
1
Java pula. Kompatibel untuk berbagai
platform. Situs resminya adalah
https://netbeans.org/
Eclipse adalah IDE yang bagus juga open
source. Banyak digunakan untuk
kepentingan komersial dan individu.
Dikembangkan dengan Java pula.
Kompatibel untuk berbagai platform. Punya
2
banyak dukungan plugin tambahan untuk
memperluas pengembangan yang
dibutuhkan. Terdapat highlight untuk
compiling error. Situs resminya adalah
https://eclipse.org/
JCreator adalah IDE yang bagus dan mudah
digunakan. IDE ini dikembangkan dalam
C++ tidak seperti yang lain, yang dibuat
3
dengan Java. Tersedia hanya untuk platform
Windows. Situs resminya adalah
http://www.jcreator.com
BlueJ adalah IDE yang sederhana. Banyak
konsep pemrograman Java dan juga
terdapat perangkat UML yang bagus pula.
4 Dan merupakan salah satu IDE favorit James
Gosling, penemu Java. Dia bilang, “One of
my favourite IDEs out there is BlueJ”. Situs
resminya adalah http://www.bluej.org/
IntelliJ IDEA adalah IDE yang intelijen.
Memang difokuskan untuk produktivitas
programmer yang menyediakan kombinasi
5 perangkat pengembangan. Di dalamnya
terdapat sugesti coding yang instan dan
pintar dalam pelengkapan kode secara
otomatis. Situs resminya di

14
https://www.jetbrains.com/idea/

Pelaksanaan praktikum dalam pelajaran ini menggunaan NetBeans


versi 8.2 sebagai IDE. Terdapat beberapa keunggulan yang dimiliki oleh
Netbeans diantaranya:
1. NetBeans GUI Builder GRATIS dengan ribuan plug In yang bisa
didownload langsung di website resminya, maupun dari pihak
ketiga mulai dari database driver, applet form dan button, dan lain
sebagainya. Sehingga Netbeans sangat cocok bagi siswa yang
masih pemula menggunakan Java.
2. NetBeans GUI Builder sangat kompetebel dengan Swing karena
memang langsung dikembangkan oleh Sun yang merupakan
pengembang Swing.
3. Netbeans tidak hanya dapat digunakan buat java saja, karena
Netbeans dapat di gunakan untuk bahasa pemograman lain seperti
C/C++, Ruby, dan PHP.
4. NetBeans GUI Builder sangat cocok untuk digunakan dalam
pengembangan sistem berskala besar/Enterprise.
Sampai saat modul ini ditulis, Netbeans terbaru yang sudah dirilis
adalah versi 8.2. Berikut sejarah versi Netbeans yang sudah dan akan
dirilis:

No Versi Waktu Rilis


1 9 Rilis akan dikonfirmasikan
2 8.2 Rilis Agustus 2016
3 8.1 Rilis tanggal 4 November 2015
4 8.0.2 Rilis tanggal 28 November 28 2014
5 8.0.1 Rilis tanggal 9 September 9 2014
6 8 Rilis tanggal 18 Maret 2014
7 7.4 Rilis tanggal 15 Oktober 2013
8 7.3.1 Rilis tanggal 12 Juni 2013
9 7.3 Rilis tanggal 21 Februari 2013
10 7.2.1 Rilis tanggal 22 Oktober 2012
11 7.2 Rilis tanggal 24 Juli 2012
12 7.1.2 Rilis tanggal 26 April 2012
13 7.1.1 Rilis tanggal 29 Februari 2012
14 7.1 Rilis tanggal 5 Januari 2012
15 7.0.1 Rilis tanggal 1 Agustus 2011
15
16 7 Rilis tanggal 19 April 2011
17 6.9.1 Rilis tanggal 4 Agustus 2010
18 6.9 Rilis tanggal 15 Juni 2010
19 6.8 Rilis tanggal 10 Desember 2009
20 6.7.1 Rilis tanggal 27 Juli 2009
21 6.7 Rilis tanggal 29 Juni 2009
22 6.5.1 Rilis tanggal 16 Maret 2009
23 6.5 Rilis tanggal 20 November 2008
24 6.1 Rilis tanggal 28 April 2008
25 6 Rilis tanggal 3 Desember 2007
26 5.5.1 Rilis tanggal 24 Mei 2007
27 5.5 Rilis tanggal 30 Oktober 2006
28 5 Rilis bulan January 2006
29 4.1 Rilis bulan Mei 2005
30 4 Rilis bulan Desember 2004
31 3.6 Rilis bulan April 2004
32 3.5 Rilis bulan Juni 2003

2.3. Unduhan dan Instalasi Java danNetbeans


Sebagai IDE dari Java, sebelumnya harus dipastikan bahwa pada
komputer harus diinstall Java Development Kit (JDK). Pada praktikum
mata pelajaran ini, JDK yang digunakan adalah versi 8. JDK versi
tersebut dapat didownload dari situs resmi oracle pada alamat:
http://www.oracle.com/.
Setelah JDK diinstall, langkah berikutnya adalah menginstall Netbeans.
Netbeans dapat diunduh secara gratis pada situs resminya di
www.netbeans.org. Pada halaman awal terdapat pilihan untuk
mendownload versi terbaru. Apabila komputer yang digunakan
memiliki spesifikasi yang rendah dapat memilih versi lain pada pilihan
Learn More.
Mendownload JDK dan Netbeans satu persatu cukup merepotkan,
terlebih apabila harus mencari versi JDK yang kompatibel untuk
Netbeans. Alternatifnya adalah dengan mendownload JDK dan
Netbeans yang sudah terdapat dalam satu paket instalasi.
Sebelum mendownload paket, pastikan untuk memilih paket yang
sesuai dengan Sistem Operasi yang digunakan dan menyetujui lisence
agreementnya.
16
Paket instalasi dapat diinstall setelah didownload dengan mengikuti
tahapan-tahapan yang diberikan oleh file installer.
Instalasi Java dan NetBeans
Seperti disebutkan sebelumnya, terdapat 2 jenis installer Java dan
Netbeans, yaitu paket installer yang komplit atau Java and Netbeans
Cobundle (Java dan Netbeans ada dalam satu file installer), dan paket
installer yang terpisah berupa installer JDK (Java Development Kit)
untuk Java, dan installer Netbeans. Untuk kemudahan instalasi,
disarankan menggunakan Java and Netbeans Cobundle karena proses
instalasi cukup dilakukan satu kali.
Untuk melakukan instalasi Java dan Netbeans lakukan langkah-langkah
berikut ini:
1. Jalankan installer JDK dan Netbeans yang didownload dari
sumbernya.

17
2. Muncul konfigurasi installer JDK dan Netbeans, tunggu beberapa
saat.

3. Apabila muncul layar pembuka installer JDK 8 dan Netbeans versi


8.2, klik tombol Next.

4. Muncul jendela konfirmasi folder instalasi JDK. Klik next jika ingin
melanjutkan. Apabila ingin mengganti folder instalasi, klik tombol
browse.

18
5. Muncul jendela konfirmasi folder Netbeans. Klik next jika ingin
melanjutkan. Apabila ingin mengganti folder instalasi, klik tombol
browse.

19
6. Muncul layar summary yang menginformasikan lokasi instalasi JDK
dan Netbeans. Klik Install untuk memulai proses instalasi.

7. Proses instalasi dimulai, kecepatan proses ini tergantung pada


kecapatan processor dan memory komputer

20
8. Ketika proses instalasi selesai, akan muncul layar di bawah ini:

2.4. Layar Kerja Netbeans


Layar kerja netbeans terdiri dari beberapa panel yang memudahkan
programmer untuk mengelola sebuah project dalam pemrograman
Java. Tampilan layar kerja netbeans tergantung dari jenis project Java
yang dibuat. Di dalam buku ini, tampilan layar kerja netbeans adalah
tampilan dari project yang objeknya terdiri dari Java Class.
Pada project yang yang objeknya terdiri dari Java Class, tampilan layar
pada netbeans adalah sebagai berikut:

1
2
3

5 7

21
1. Title Bar : menampilkan nama project yang aktif dan versi netbeans
yang digunakan
2. Menu Bar : menampilkan daftar menu yang bisa digunakan selama
pembuatan project dalam netbeans
3. Tool Bar : menampilkan daftar icon yang mempermudah
programmer selama pembuatan project
4. Project Panel : menampilkan daftar project yang ada dan
komponen-komponennya.
5. Navigator Panel : menampilkan struktur pewarisan dari komponen
yang ada dalam class
6. Source Panel : merupakan layar editor tempat menuliskan kode
program Java
7. Output Panel : menampilkan hasil eksekusi dari kode program Java.
Latihan
1. Isilah tabel berikut dengan berbagai informasi tentang 10 bahasa
pemrograman. Gunakan sumber belajar dari internet untuk
menggali informasi:
Bahasa Jenis Tujuan Sistem Operasi
Java BTT General Semua Sistem Operasi
Purpose
Visual Basic
Phyton
C++
PHP
Assembly
Delphi

2. Cobalah menginstall aplikasi IDE Netbeans tanpa menginstall Java.


Selanjutnya jalankan aplikasi tersebut. Dapatkah Netbeans
tersebut membuat sebuah project Java? Jelaskan alasanmu!
3. Dapatkah sebuah project Java dibuat hanya dengan menginstall
JDK di dalam komputer tanpa menginstall IDE Netbeans? Jelaskan
alasanmu.
4. Bukalah control panel pada komputer, periksa apakah JDKdan
Netbeans telah terinstall. Laporkan dengan mengisi kolom berikut:
Nama Komputer
Versi JDK
Versi Netbeans
22
5. Bukalah aplikasi netbeans, kemudian tutuplah semua panel yang
ada dengan menekan tanda silang (x) pada panel tersebut.
Kemudian klik menu Windows > Reset Windows. Apa yang terjadi?
Tuliskan kesimpulanmu.

23
Bagian 3 : Menulis Kode Program Java
Kompetensi Dasar :
3.3. Menerapkan alur pemrograman
3.3.1. Siswa mampu menjelaskan struktur project di Java (C2)
3.3.2. Siswa mampu memanipulasikan operasi dasar file dalam struktur project di
Java (C3)
3.3.3. Siswa mampu menganalisis struktur penulisan kode program di Java (C4)
3.3.4. Siswa mampu menganalisis kesalahan penulisan kode program di Java (C4)
4.3. Menulis kode pemrograman
4.3.1. Siswa mampu membuat sebuah project dalam java dengan struktur standar
(P2)
4.3.2. Siswa mampu menerapkan operasi dasar file dalam struktur project di Java
(P2)
4.3.3. Siswa mampu merumuskan sebuah kode program berdasarkan struktur
penulisan di Java (P4)
4.3.4. Siswa mampu memecahkan permasalahan error kode program berdasarkan
analisis kesalahan (P5)

3.1. Struktur Project dalam Netbeans


Sebuah aplikasi yang dibuat
biasanya terdiri dari banyak
komponen misalnya serangkaian
kode program, file database, dan
lain sebagainya. Penataan
komponen-komponen tersebut
dengan baik menjadi salah satu
kunci dalam pembuatan dan
pengembangan aplikasi.
Netbeans memiliki kelebihan dalam mengkoordinasikan komponen
dalam project aplikasi. Sebuah project Java dalam netbeans secara
default terdiri dari Source Packages dan Libraries. Source Package
merupakan folder dimana kode-kode pemrograman Java disimpan.
Sementara Libraries adalah Library atau perpustakaan dalam Java
adalah kumpulan program-program (dalam bentuk jar) yang disertakan
dalam pemrograman java. Library ini bertujuan untuk memudahkan
dalam penggunaan oleh para pemrogram untuk membangun
aplikasinya.
Pada contoh aplikasi di samping, Project Perpustakaan terdiri dari 3
source packages yaitu FormData, Koneksi, dan Laporan. Pada masing-
masing package terdapat beberapa objek yang berupa JavaClass dan

24
JframeForm. Sementara library yang digunakan dalam project tersebut
adalah JDK 1.8 dan MySQL JDBC driver.
Dalam pembuatan sebuah project aplikasi, langkah pertama yang harus
dibuat adalah membuat project, selanjutnya menambahkan Source
Packages yang akan diisi dengan object. Selanjutnya menambahkan
libraries yang dibutuhkan. Pada praktikum Pemrograman Dasar
semester ganjil, jenis objek yang akan digunakan adalah JavaClass,
sementara Library yang digunakan adalah JDK 1.8 sebagai library
default dalam Netbeans.
3.2. Membuat dan Mengelola Project
Langkah pembuatan project adalah sebagai berikut:
1. Klik File > New Project atau Ctrl + Shift + N dari Netbeans

2. Pada pilihan jenis Project pilih Java untuk Categories dan Java
Application pada Projects

3. Beri Nama project yang akan dibuat, sebagai contoh


PemrogramanDasar. Kemudian klik finish

25
Catatan:
- Nama project dapat terdiri dari kombinasi kedua huruf dan
angka.
- Nama project tidak boleh dipisah oleh spasi
- Nama project harus unik, artinya nama yang akan digunakan
harus tidak pernah ada sebelumnya pada komputer yang
digunakan.
4. Setelah klik finish akan muncul project baru sebagai berikut.

Setelah project dibuat ada kemungkinan untuk melakukan perubahan


pada project seperti mengganti nama atau menghapus project karena
tidak digunakan.
Langkah mengganti nama project :
1. Klik kanan pada project, pilih Rename.
2. Pada kotak dialog Rename Project, ganti Project Name dengan
nama baru. Centang juga pilihan ”Also Rename Project Folder” agar
nama folder project juga diganti untuk mempermudah
penelusurannya.

26
3. Setelah tombol Rename diklik perubahan akan muncul pada nama
project.
Langkah menghapus project :
1. Klik kanan pada nama project yang akan dihapus, pilih delete
2. Pada kotak dialog Delete Project, centang ”Also Delete Sources
under ...” untuk memastikan folder tempat project disimpan juga
dihapus.

Catatan : Apabila folder project tidak dihapus, Netbeans akan


menolak untuk membuat project baru dengan nama yang sama
3. Klik Yes untuk memastikan project dihapus.

3.3. Membuat dan Mengelola Package


Package dapat dibuat setelah sebuah project dalam netbeans dibuat.
Langkah-langkah membuat package adalah sebagai berikut:
1. Klik kanan pada project yang akan ditambah package, pilih New >
Java Package

2. Pada dialog New Java Package, isikan nama package. Aturan


pemberian nama package sama dengan pemberian nama pada
project. Contoh nama package dalam project ini adalah Latihan1.

27
3. Setelah tombol finish ditekan, secara otomatis package baru
dengan nama Latihan1 muncul pada SourcePackage project.

Catatan: Package yang baru dibuat secara otomatis berwarna abu-


abu karena masih belum diisi dengan object Java Class. Apabila di
dalam package terdapat object Java Class, maka package akan
berubah warna kuning keemasan.
Seperti halnya project, Package juga bisa diganti nama atau dihapus.
Berikut adalah langkah untuk mengganti nama package.
1. Klik kanan pada package yang akan diganti nama, Pilih Refactor >
Rename
2. Pada kotak kotak dialog Rename, gantilah nama package dengan
nama baru. Centang pilihan ”Apply Rename on Comments” agar
nama package pada bagian komentar juga diganti. Kemudian Klik
Refactor untuk menyetujui perubahan nama

28
3. Perubahan nama package dapat dilihat pada panel project
Menghapus package dalam Netbeans bisa dilakukan dengan dua cara:
1. Langsung menekan tombol Delete pada keyboard.Penggunaan
tombol delete dapat dilakukan pada semua package, baik yang
sudah terisi dengan Java Class maupun masih kosong.
2. Menggunakan Refactor.Sedangkan penggunaan Refactor hanya
bisa digunakan untuk package yang sudah terisi dengan Java Class.
Langkahnya adalah sebagai berikut:
a. Klik Kanan package yang akan dihapus, pilih Refactor> Safely
Delete.
b. Pada kotak dialog Delete, centang pilihan ”Safey Delete” untuk
meminimalisir pengaruh delete package dalam package

3.4. Membuat dan Mengelola Java Class


Kode program java dalam Netbeans ditulis pada JavaClass. Java Class
biasanya diorganisasikan dalam package untuk mempermudah
pengelolaannya. Sebuah package dapat diisi dengan banyak java class
sesuai kebutuhan.
Langkah untuk membuat sebuah Java Class adalah sebagai berikut:
1. Klik kanan pada package yang akan ditambahkan Java Class, pilih
New > Java Class

2. Pada kotak dialog New Java Class, isikan nama Java Class, sebagai
contoh Praktikum31, kemudian klik finish.
29
3. Setelah tombol finish diklik, secara otomatis muncul Java Class
dengan nama Praktikum31 pada package Bagian3. Perhatikan
bagian dalam Java Class berikut :

Setiap Java Class secara otomatis memberikan informasi tentang


nama package dan nama class pada bagian Source. Dalam gambar
di atas, package yang digunakan dalam Source adalah Bagian3,
sedangkan classnya adalah Praktikum31. Nama package dan class
dalam tab Source mengacu pada nama yang dideklarasikan di awal
pembuatannya.
Java Class yang ada di dalam package dapat diganti nama maupun
dihapus seperti halnya package. Proses penggantian nama dan
penghapusan class sama dengan proses penggantian dan penghapusan
nama dalam package.
3.5. Skturktur Kode Program Java
Telah disebutkan sebelumya bahwa kode dalam Java Class ditulis pada
bagian source. Sebelum memulai menuliskan kode program, pahami
terlebih dahulu struktur penulisan kode program dalam Java.
Perhatikan contoh program berikut:

30
Komponen dalam program java di atas terdiri dari :
1. Nama package, komponen ini ada di baris ke 6. Netbeans secara
otomatis akan memberikan nama untuk package dengan mengacu
pada proses pembuatan class.
2. Perintah import, komponen ini ada di baris ke 7. Perintah import
digunakan untuk memberitahukan kepada program untuk
mengacu pada class-class yang terdapat pada package tersebut dan
menjalankan class-class tersebut.
3. Nama Class, komponen ini ada di baris ke 12. Netbeans secara
otomatis akan memberikan nama untuk class dengan mengacu
pada proses pembuatan class.
4. Komentar, Komentar adalah catatan yang ditulis bersama kode
program yang berguna sebagai catatan/keterangan dari suatu
kode, sehingga dapat digunakan sebagai referensi dalam
pembuatan dokumentasi. Komentar merupakan bagian dari
program yang tidak mempengaruhi jalanya program saat program
dikompilasi atau dieksekusi.Perhatikan bentuk komentar pada baris
ke 1 – 5 dan 8 – 11
5. Metode Main, komponen ini berada pada baris 13. main adalah
metode yang digunakan untuk mengawali segala bentuk eksekusi
pada program java. Metode main ini, didefinisikan sebagai public
static void, yang memiliki arti:
- public, yang berarti metode ini bisa dipanggil dan digunakan
didalam Class atau diluarClass.
- static, yang berarti memiliki sifat yang sama disemua instant
Class.
- void, yang berarti bahwa metode ini tidak mengirimkan nilai
balik.
Didalam metode main, terdapat String[] args, yang memiliki
pengertian:
31
- String[], adalah tipe data objek yang menangani serangkaian
karakter-karakter yang berjenis array.
- args, adalah variabel objek.
6. Blok Statement, komponen merupakan area yang berada di antara
kurung kurawal { }. Kode program dalam java biasanya ditulis dalam
blok statement ini.
3.6. Membuat Program Output
Keluaran (output) kode program java dalam Netbeans dapat
ditampilkan pada panel output Netbeans atau dapat pula ditampilkan
melalui kotak dialog. Ketikkan kode program berikut:

Untuk menjalankan kode program di atas, klik kanan pada nama Java
Class, kemudian klik Run File, atau dapat langsung menggunakan
shortcut Shift + F6. Apabila penulisan kode program benar, akan
muncul tampilan pada panel output sebagai berikut:

Perintah System.out.println berfungsi untuk menampilkan tulisan yang


ada di dalam tanda kurung. Output yang ditampilkan bisa berupa
tulisan teks yang diketikkan diantara dua tanda petik. Selain itu, output
yang ditampilkan bisa juga berasal dari variabel string yang sudah
dideklarasikan sebelumnya. Buat Java Class baru dengan nama
Praktikum32, kemudian ketikkan kode berikut:

32
Apabila kode tersebut dijalankan, hasilnya sama persis dengan kode
program pada class Praktikum31. Yang membedakan adalah alur
program, dimana pada kode program pada class Praktikum32
menampilkan pesan yang tersimpan di dalam variabel, sementara kode
program pada class Praktikum31 menampilkan pesan yang diketik
langsiung setelah System.out.println().
Output program selain bisa ditampilkan pada panel output seperti di
atas, juga bisa ditampilkan pada layar dialog. Untuk menampilkan
output pada layar dialog, diperlukan library javax.swing.JoptionPanel
yang harus diimpor pada kode program. Buatlah Java Classdengan
nama Praktikum33, kemudian ketikkan kode program berikut:

Perintah untuk menampilkan pesan ke layar dialog ada pada baris ke 5


sampai 7.Secara default pesan dalam perintah
JoptionPane.showMessageDialog akan ditampilkan dalam satu baris.
Untuk menampilkan pesan tersebut dalam baris yang berbeda,
ditambahkan ”\n” pada awal kata yang akan ditampilkan di baris
berikutnya.Kode diatas jika dijalankan akan muncul sebagai berikut:

Sebagaimana halnya proses pada output panel,


JoptionPane.showMessageDialog juga bisa menampilkan pesan yang
berasal dari variabel. Buatlah Java Class dengan nama Praktikum34,
kemudian ketikkan kode berikut:

33
3.7. Membuat Program Input
Program input menerima masukan dari user dengan menggunakan
keyboard. Nilai input yang diberikan user disimpan pada sebuah
variabel yang telah dideklarasikan sebelumnya. Program dapat
membaca masukan dari panel output atau melalui layar dialog
sebagaimana pada program output yang sudah dipelajari sebelumnya.
Untuk membuat program input dari panel output, buatlah sebuah Java
Class dengan nama Praktikum35, kemudian ketikkan kode program
berikut:

.
Program input yang menggunakan panel output membutuhkan import
java.util.Scanner (baris 2), selanjutnya mendeklarasikan variabel
Scanner secara static untuk membaca input dari user (baris 4), dalam
contoh di atas, nama variabel Scanner static adalah masukan. Variabel
untuk menyimpan nilai yang diberikan oleh user harus dideklarasikan
sebelum proses input (baris 6), dalam contoh di atas, nilai disimpan
pada variabel String nama. Proses input dilakukan dengan
menggunakan nextLine() yang disambungkan dengan nama varabel
scanner masukan (baris 8).
Apabila kode program di atas dijalankan, akan muncul pesan pada
panel Output, ”Masukkan Nama Anda:”, selanjutnya user memasukkan
nama. Setelah nama dimasukkan, maka akan muncul pesan ”Nama
Anda adalah ” yang diikuti dengan nama yang telah dimasukkan.
34
Untuk membandingkan kode program pembuatan input melalui panel
output dengan input melalui layar dialog, buatlah Java Class dengan
nama Praktikum36, kemudian ketikkan kode program berikut:

Program input menggunakan kotak dialog membutuhkan import


javax.swing.JoptionPane (baris 2), selanjutnya membuat variabel yang
akan digunakan untuk menyimpan nilai input yang diberikan user (baris
5), dalam contoh diatas menggunakan variabel String nama. Proses
input dilakukan dengan menggunakan showInpurDialog() yang akan
mengirimkan nilai masukan dari user ke dalam variabel nama (baris 6).
Apabila kode program di atas dijalankan, akan muncul kotak dialog
dengan, ”Masukkan Nama Anda:”, selanjutnya user memasukkan
nama.

Setelah nama dimasukkan pada kotak dialog, pada panel output akan
muncul pesan ”Nama Anda adalah” yang diikuti dengan nama yang
telah dimasukkan pada kotak dialog.

35
Meskipun pada prinsipnya menggunakan panel output maupun kotak
dialog sama-sama menerima input dari user, namun perbedaan
mendasar adalah pada tipe data yang bisa diterima. Tipe data input
yang masuk melalui kota dialog hanya terbaca sebagai string,
sementara input yang masuk melalui panel output bisa diatur tipe
datanya sesuai kebutuhan. Tipe data akan dibahas lebih dalam pada
materi berikutnya. Untuk praktikum selanjutnya, input yang dibuat
menggunakan panel output.
3.8. Kesalahan Pada Program
Penulisan kode program tidak selalu sesuai dengan harapan
programmer. Diperlukan pemahaman tentang kesalahan sehingga
programmer dapat memberikan koreksi. Terdapat 3 jenis kesalahan
pada java:
1. Syntax Error
Syntax merupakan suatu aturan penulisan yang sudah ditetapkan
pada struktur elemen - elemen dalam bahasa pemrograman. Jadi
syntax error ini adalah kesalahan dalam penulisan kode karena
aturan penulisan yang tidak sesuai atau kesalahan pada konstruksi
kode, misalnya :
- Salah dalam menuliskan keyword Java
- Tidak menggunakan tanda kurung kurawal untuk pernyataan
- Tidak menggunakan tanda atau karakter yang sesuai, misalnya
tidak menggunakan tanda " ", untuk tipe data String.
Syntax error ini mudah ditelusuri atau ditemukan karena compiler
akan memberi tahu kita di mana letak kesalahan dalam penulisan
kode program.
Perhatikan kesalahan kode berikut:

Kesalahan pada baris ke 4 dan 5 merupakan syntax error. Kesalahan


pada baris ke 4 disebabkan karena kurangnya tanda petik.
Sementara kesalahan pada baris ke 5 disebabkan karena kurangnya
tutup kurung dan tanda petik dua.
2. Runtime Error
Runtime error merupakan salah satu jenis error yang terjadi karena
program secara tiba-tiba dihentikan ketika program tersebut
sedang berjalan. Runtime error ini dapat terjadi bila program tidak
bisa menangani operasi yang tidak mungkin untuk dilakukan.
Contohnya runtime error ini dapat terjadi karena :
36
- Ketika program meminta user untuk menginputkan angka,
namun user malah menginputkan huruf
- Ketika melakukan perhitungan pembagian angka 1 dengan 0
Sebagai contoh:

Secara kasat mata, tidak ada pesan kesalahan yang ditampilkan


pada baris program. Akan tetapi, saat program tersebut dieksekusi,
akan muncul pesan kesalahan pada panel output sebagai berikut:

3. Logic Error
Logic error terjadi bila ada kesalahan logika dalam kode sehingga
program berjalan dan tidak memberikan hasil seperti yang
diinginkan. Misalnya membuat program konversi dari nilai
centimeter ke nilai milimeter, seharusnya konversi dilakukan
dengan mengalikan nilai centimeter dengan 10.
Perhatikan kode berikut:

Secara syntax, tidak ada kesalahan dalam kode program di atas,


akan tetapi ketika dijalankan akan muncul hasil seperti ini:

Seharusnya, kode yang ditulis pada baris ke 6 menggunakan


operator perkalian proses konversi, sementara pada kode program
di atas menggunakan operasi pembagian.
Latihan Soal
1. Perhatikan struktur project Java dalam
netbeans di berikut:
a. Tentukan package dan Java Class pada
project tersebut

37
b. Buatlah project pada netbeans dengan nama dan struktur
sebagaimana di samping
c. Gantilah nama Java Class Latihan21.java dan Latihan22.java
menjadi Test21.java dan Test 22.java
d. Ubahlah nama package Latihan1 menjadi Praktikum1
e. Hapuslah Java Class Latihan13.java pada package Latihan1
f. Hapuslah Package Latihan3

2. Pada Java Class Bagian1, buatlah program dengan input nama dan
alamat melalui control panel, sedangkan output melalui layar dialog
seperti gambar barikut:
Input Output

3. Perhatikan baris program berikut ini!

Lengkapilah tabel berikut dengan fungsi kode program pada baris


yang ditentukan:
Baris Fungsi kode program
1 Mendeklarasikan package dengan nama Latihan1
... Mengimpor JoptionPane untuk menampilkan dialog
3
5
7
8
9
10

4. Analisis kesalahan pada kode program berikut, kemudian tentukan


perbaikan seharusnya:

38
Baris Penyebab Error Koreksi
2 Tidak diakhiri “;” Ditambah “;” di akhir kode
5
7
8
9
10

5. Tentukan jenis kesalahan pada kasus berikut, kemudian berikan


koreksi:
a. Kode program berikut tidak menunjukkan pesan kesalahan,

akan tetapi ketika dijalankan, dan diisi dengan data muncul


pesan kesalahan sebagai berikut:

b. Kode program menghitung luas persegi panjang di bawah ini


tidak menunjukkan tanda kesalahan

39
Namun jika diisi nilai panjang dan lebar berikut, Luas persegi
panjang tidak sesuai dengan rumus yang seharusnya berlaku.

Bagian 4 : Tipe Data, Variabel, Konstanta,


Operator, dan Ekspresi
Kompetensi Dasar :
3.4. Menerapkan penggunaan tipe data, variabel, konstanta, operator, dan ekspresi
3.4.1. Siswa mampu menganalisis penggunaan tipe data dalam Java(C4)
3.4.2. Siswa mampu membedakan variabel dan konstanta (C4)
3.4.3. Siswa mampu menyusun sebuah ekspresi dalam pemrograman menggunakan
operator (C5)
4.4. Membuat kode program dengan tipe data, variabel, konstanta, operator dan
ekspresi
4.4.1. Siswa mampu menuliskan tipe data dengan benar pada editor Netbeans (P2)
4.4.2. Siswa mampu mendeklarasikan variabel dan konstanta pada editor Netbeans
(P3)
4.4.3. Siswa mampu memformulasikan sebuah ekspresi dengan menggunakan
operator pada editor Netbeans (P4)

4.1. Tipe Data dalam Java


Sebuah program biasanya melakukan pengolahan data. Setiap data
yang diolah memiliki tipe data tertentu. Tipe data menentukan jenis
dan nilai yang diterima di dalam variabel yang menjadi tempat
penyimpanan data tersebut.
Java memiliki tipe data dasar atau tipe data primitif yang
dikelompokkan ke dalam empat grup:
1. Integer
Integer merupakan data bilangan bulat. Tipe data integer memiliki
empat jenis tipe data yaitu byte, short, int, dan long. Semakin besar
ukuran tipe data, maka semakin besar pula ukuran nilai yang dapat
ditampung.
2. Floating Point
Floating poni merupakan tipe data bilangan rasional. Tipe data
floating point memiliki dua jenis tipe data yaitu float dan double.
40
3. Char
Char mewakili simbol dari sebuah karakter. Terdapat 256 kode
pertama dalam tipe data char yang digunakan oleh karakter ASCII.
Untuk mendalami tentang karakter, silakan buka situs
www.unicode.org

4. Boolean
Boolean merupakan tipe data yang menunjukkan nilai true atau
false. Nilai boolean sering digunakan untuk mengatur alur program,
terutama dalam perulangan maupun percabangan.
Berikut keterangan jangkauan nilai yang dapat diterapkan pada tipe
data primitif di atas:
Tipe Besar
Nilai minimal Nilai maksimal
data Storage
8 bit (1
byte -128 127
byte)
16 bit (2
short -32768
byte) 32767
32 bit (4
int -2147483648 2147483647
byte)
64 bit (8
long -9223372036854775808 9223372036854775807
byte)
32 bit (4
float + 3.4E-38 + 3.4E+38
byte)
64 bit (8
double +1.7E-308 + 1.7E+308
byte)
16 bit (2
char \u0000 \uffff
byte)

Pemilihan sebuah tipe data di dalam program harus disesuaikan dengan


besarnya nilai yang diperkirakan akan diisikan di dalamnya. Memilih
tipe data kecil (misalnya byte) untuk isian nilai yang besar (sampai
ribuan atau lebih) akan menyebabkan terjadinya error pada program.
Sementara memilih tipe data yang besar untuk isian nilai yang kecil
akan menyebabkan pemborosan pada memory penyimpanan.
Selain tipe data primitif, terdapat pula tipe data referensi yang dapat
digunakan selama pemrograman. Salah satu tipe data referensi yang
sering digunakan adalah String. String merupakan objek yang

41
digunakan untuk menampilkan tulisan. Isian nilai String diisikan dengan
mengapit tanda petik dua pada teks.
4.2. Variabel
Variabel dibuat untuk menyimpan data sehingga dapat dioleh oleh
program. Data yang disimpan dalam variabel bisa berupa tipe data
primitif maupun tipe data referensi. Mendeklarasikan variabel dalam
Java dilakukan dengan menentukan tipe data yang diikuti dengan nama
variabel. Perhatikan contoh deklarasi variabel berikut:
byte nilai_1; // mendeklarasikan variabel dengan tipe byte
bernama nilai_1
float gaji; // mendeklarasikan variabel dengan tipe float
bernama gaji

Terdapat dua teknik yang dapat digunakan untuk mengisikan nilai ke


dalam variabel, yaitu dengan mengisikan nilai langsung ke dalam kode
program, atau mengisikan nilai melalui userdengan input keyboard.
Di dalam pengisian nilai langsung ke dalam kode program, digunakan
operator assignment (=) yang diikuti dengan nilai yang akan diisikan.
Selain tipe data String, nilai langsung diisikan tanpa diapit oleh tanda
petik dua. Semua variabel dalam Java harus dideklarasikan sebelum
diisi nilai. Pesan kesalahan akan muncul apabila terdapat pengisian data
pada variabel yang belum dideklarasikan. Isian nilai variabel juga harus
disesuaikan dengan jangkauan nilai pada tipe data nya. Perhatikan
contoh berikut:
byte nilai_1, nilai_2;
nilai_1 = 76;
nilai_2 = 896; //Error, karena nilai_2 bertipe byte dengan
nilai maksimal 127
float gaji;
gaji=5000000;
tunjangan=250000; // Error, karena variabel tunjangan belum
dideklarasikan

Pemberian nilai (inisialisasi) variabel secara langsung pada kode


program dapat dipersingkat dengan mengisikannya setelah deklarasi.
Perhatikan contoh berikut
byte nilai_1=96;
float gaji=5000000;

Untuk menguji deklarasi variabel dan inisalisasinya, Buatlah sebuah


Java Class bernama Praktikum41 di dalam package Bagian4. Ketikkan
kode berikut:
42
Apabila kode tersebut benar ketika dijalankan, maka panel Output akan
menampilkan hasil sebagai berikut:

Teknik kedua yang digunakan untuk mengisikan nilai variabel adalah


melalui input keyboard yang dilakukan oleh user. Untuk teknik ini akan
digunakan referensi Scanner yang harus diimport (pelajari kembali
bagian sebelumnya). Perlu dicatat bahwa perbedaan tipe data dalam
deklarasi variabel membedakan method yang dipakai dalam
pembacaan nilai. Sebagai contoh, membaca nilai integer menggunakan
nextInt(), membaca nilai float menggunakan nextFloat().

43
Apabila kode tersebut benar ketika dijalankan, maka panel Output akan
menampilkan hasil sebagai berikut:

4.3. Konstanta
Sebagaimana variabel, konstanta juga berfungsi menyimpan sebuah
nilai. Perbedaannya, nilai pada variabel dapat diubah oleh user,
sementara nilai pada konstanta tidak dapat diubah setelah
dideklarasikan. Contoh konstanta adalah π yang dikenal dalam
menghitung luas lingkaran, nilai π disepakati 3,14 sehingga tidak
diizinkan mengubah nilai ini dalam kondisi apapun.
Deklarasi konstanta di Java mirip dengan deklarasi variabel,
perbedaannya adalah menambahkan keyword final di depan tipe
datanya. Inisialisasi dilakukan langsung setelah proses deklarasi atau
pada baris berikutnya. Sekali konstanta diberi nilai, maka nilai tersebut
tidak dapat diganti. Perhatikan contoh berikut:
final double PI=3.14; //deklarasi konstanta PI bernilai 3,14
PI=22; //Error, karena nilai PI sudah dideklarasikan
sebelumnya
final int jumlah; //deklarasi konstanta jumlah bertipe
integer
jumlah=877; //mengisikan nilai pada konstanta jumlah dengan
877

44
Konstanta berfungsi untuk mengamankan konsistensi program untuk
kasus yang membutuhkan perhitungan dengan nilai yang tetap. Dalam
contoh perhitungan luas lingkaran misalnya, dapat dibayangkan
apabila π dideklarasikan sebagai variabel dan nilainya secara tidak
sengaja diubah, akan terjadi kesalahan yang fatal.
Untuk menguji konstanta, buatlah sebuah Java Class dengan nama
Praktikum43 dan ketikkan kode program berikut:

Apabila kode tersebut benar ketika dijalankan, maka panel Output akan
menampilkan hasil sebagai berikut:

4.4. Operator dan Ekspresi


Proses pengolahan data pada komputer dilakukan pada data yang
tersimpan pada variabel maupun konstanta, sedangkan perangkat yang
digunakan untuk mengolah data adalah operator, atau dengan kalimat
yang lebih simpel operator digunakan untuk melakukan pengolahan
data. Java memiliki banyak jenis operator antara lain:
1. Operator Assignment (=)
Operator Assignment merupakan operator yang digunakan untuk
memberikan nilai pada sebuah variabel baik dengan memberikan
nilai langsung maupun dengan menggunakan operasi
aritmatika.Perhatikan contoh berikut ini:
byte nilai;
nilai = 0;
nilai = nilai + 1;

2. Operator Numerik
45
Operator numerik merupakan operator yang biasa digunakan untuk
melakukan penghitungan matematika. Operator Numerik yang
dikenal dalam Java adalah sebagai berikut:

46
Operator Simbol
Perkalian *
Pembagian /
Pemjumlahan +
Pengurangan -
Sisa (modulus) %
Perhatikan contoh penggunaan operator numerik berikut ini:
int harga,qty,total;
harga = 500;
qty = 4;
total = harga * qty; // operasi perkalian
Untuk menguji penggunaan operator numerik dan assignment,
buatlah sebuah Java Class dengan nama Praktikum44 dan ketikkan
kode program berikut:

Apabila kode tersebut benar ketika dijalankan, maka panel Output


akan menampilkan hasil sebagai berikut:

3. Operator Perbandingan
Operator perbandingan digunakan untuk membandingkan antara
satu nilai dengan nilai lainnya. Hasil dari operator perbandingan ini
adalah boolean yang bernilai true atau false. Java memiliki beberapa
operator perbandingan sebagai berikut:

47
Operator Deskripsi Contoh
> Lebih besar Harga > 5000
>= Lebih besar atau sama dengan Diskon >= 0.3
< Lebih kecil Nilai < 80
<= Lebih kecil atau sama dengan Rerata <=67
== Sama dengan Luas == 7000
!= Tidak sama dengan Keliling !=900
Untuk menguji penggunaan operator numerik dan assignment,
buatlah sebuah Java Class dengan nama Praktikum45 dan ketikkan
kode program berikut:

Apabila kode tersebut benar ketika dijalankan, maka panel Output


akan menampilkan hasil sebagai berikut:

4. Operator Penggabungan (Concatenation)


Operator penggabungan hanya berlaku pada tipe data String.
Operator ini berfungsi untuk menggabungkan beberapa nilai string
menjadi sebuah string. Operator yang digunakan untuk operasi ini
adalah ”+”. Perhatikan contoh berikut ini:

String tulisan1,tulisan2,tulisan3;
tulisan1 = ”Selamat Datang ”
tulisan2 = ”di SMK Negeri 1 Paloh”
tulisan3 = tulisan1+tulisan2

Variabel tulisan3 pada kode di atas akan menggubungkan isi pada


variabel tulisan1 dan tulisan2. Untuk menguji penggunaan operator
penggabungan, buatlah sebuah Java Class dengan nama
Praktikum46 dan ketikkan kode program berikut:

48
Apabila kode tersebut benar ketika dijalankan, maka panel Output
akan menampilkan hasil sebagai berikut:

Ekspresi merupakan pernyataan yang dapat menghasilkan suatu nilai.


Nilai yang dihasilkan oleh pernyataan ini yang disebut dengan nilai balik.
Ekspresi melibatkan operator yang digunakan pada variabel, konstanta,
maupun nilai yang diberikan secara langsung. Pada contoh-contoh kode
program yang telah diuji di atas, dapat diidentifikasi berbagai jenis
ekspresi.
Latihan
1. Tentukan tipe data yang sesuai untuk proses yang terjadi dalam
baris kode berikut

2. Tentukan variabel dan konstanta berikut tipe data yang dapat


digunakan pada operasi berikut:
a. Menentukan luas persegi panjang
b. Menentukan volume bola
c. Menentukan keliling bujur sangkar
d. Menentukan luas lingkaran
e. Menentukan volume kubus
3. Tentukan ekspresi yang digunakan untuk operasi berikut:
a. Besar Denda didapatkan dari jumlah hari keterlambatan
dikalikan dengan 1 % dari harga barang yang disewa.
b. Nilai Akhir yang ditulis pada raport diperoleh dari 30 % Nilai
harian ditambahkan 30 % Nilai UTS dan 40 % Nilai UAS

49
c. Gaji Kotor didapatkan dari Gaji pokok ditambahkan tunjangan
istri 10 % dari gaji pokok, dan tunjangan anak dengan
perhitungan 2,5 % dari gaji pokok untuk tiap anak
4. Ujilah nilai kebenaran dari operasi perbandingan berikut:
a. Tahun lahir lebih kecil daritahun sekarang
b. Penduduk kabupaten sama dengan penduduk provinsi
c. Umur Republik Indonesia lebih tua dari Amerika Serikat
d. Ibu kota Jawa Timur tidak sama dengan Ibu Kota Jawa Tengah
5. Buatlah Java Class untuk menyelesaikan permasalahan berikut ini:
a. Desa Jurangsapi melakukan pendataan usia penduduk. Tahun
pendataan disetting tetap 2017. Setiap penduduk diminta
memasukkan data Nama, RT, dan tahun lahir. Umur diproses
secara otomatis. Hasil program setelah dieksekusi adalah
sebagai berikut:

b. Perpustakaan SMK Negeri 1 Tapen menetapkan denda sebesar


Rp.500 perhari bagi siswa yang terlambat mengembalikan
buku. Siswa yang terlambat mengembalikan buku didata nama,
kelas, dan jumlah hari terlambat. Secara otomatis ditampilkan
besaran denda yang harus dibayar. Hasil program setelah
dieksekusi adalah sebagai berikut:

50
Bagian 5 : Operasi Aritmatika dan Logika
Kompetensi Dasar :
3.5. Menerapkan operasi aritmatika dan logika
3.5.1. Siswa mampu menggunakan operasi aritmatika (C3)
3.5.2. Siswa mampu menganalisis prioritas dalam operasi aritmatika (C4)
3.5.3. Siswa mampu menggunakan operasi logika (C3)
3.5.4. Siswa mampu menganalisis operasi logika yang digabungkan dengan operator
Boolean (C4)
4.5. Membuat kode program dengan operasi aritmatika dan logika
4.5.1. Siswa mampu mengimplementasikan operasi aritmatika (P2)
4.5.2. Siswa mampu mengkombinasikan berbagai operasi aritmatika dengan
prioritas (P4)
4.5.3. Siswa mampu mengimplementasikan operasi logika (P2)
4.5.4. Siswa mampu mengkombinasikan operasi logika dengan operator Boolean
(P4)

5.1. Operasi Aritmatika


Operasi aritmatika merupakan operasi pengolahan data dengan
menggunakan operator numerik. Pada pertemuan sebelumnya telah
dibahas beberapa operator numerik di dalam Bahasa Pemrograman
Java dan contoh pembuatan program dengan menggunakan operator
numerik. Bagian ini akan membahas lebih mendalam tentang operasi
aritmatika.
Operasi aritmatika hanya bisa dilakukan pada tipe data numerik baik
bilangan bulat (byte, short, int, long) maupun bilangan real (float,
double). Namun yang harus diperhatikan, pastikan tipe data yang
digunakan di dalam operasi aritmatika dapat menampung nilai hasil
operasi. Perhatikan contoh berikut ini:
int angka1,angka2,angka3;
angka1 = 7673;
angka2 = 8792;
angka3 = angka1+angka2; // Benar, karenahasil penjumlahan
masih dalam range integer
byte nilai1,nilai2,nilai3;
nilai1 = 79;
nilai2 = 100;
nilai3 = nilai1*nilai2; // Error, hasil perkalian melebihi
nilai maksimum pada byte
float bil1 = 2776/87; // Benar, karena hasil berupa bilangan
real, variabel real
int bil2 = 7682/17; // Error, karena hasil berupa bilangan
real, variabel integer

51
Buatlah sebuah Java Class bernama Praktikum51 pada Package Bagian5
untuk menguci penggunaan variabel dalam operasi aritmatika. Di dalam
kasus Praktikum51, diminta dua buah bilangan masing-masing bertipe
integer, kemudian bilangan tersebut diolah dengan operasi aritmatika (
+, -, *, /, dan %) dan disimpan dalam variabel yang juga bernilai integer.
Hasil operasi yang seharusnya ditampilkan di dalam panel output adalah
bilangan bulat. Permasalahan mungkin saja terjadi pada operasi
pembagian khususnya dalam kasus hasil pembagian bukan berupa
bilangan bulat, misalnya 10 / 4. Pembagian bilangan bulat pada Java
akan menampilkan hasil 2, bukan 2,5 karena bilangan bulat tidak
diizinkan menampilkan koma. Untuk sisa kelebihan pembagian dapat
dicari dengan menggunakan operasi modulus (%). Perhatikan kode
program berikut:

Jalankan program tersebut, isikan bilangan 1 dan bilangan 2 dengan


nilai dan simak hasil operasi aritmatika yang dilakukan. Sebagai contoh
perhatikan hasil berikut ini:

Operasi aritmatika pada bilangan real secara garis besar sama dengan
operasi aritmatika, perbedaannya adalah tidak ada operasi modulus
pada bilangan real. Hal ini terjadi karena bilangan real dapat
menampilkan angka pecahan/angka setelah koma. Untuk mengujinya,
52
buatlah sebuah Java Class dengan nama Praktikum52 dan ketikkan
kode berikut:

Jalankan program tersebut, isikan bilangan 1 dan bilangan 2 dengan


nilai dan simak hasil operasi aritmatika yang dilakukan. Sebagai contoh
perhatikan hasil berikut ini:

Tipe data dalam variabel yang digunakan operasi aritmatika bisa saja
berbeda pada baik pada bilangan bulat maupun bilangan real. Misalnya
variabel untuk menyimpan nilai dari user bertipe byte, sementara
variabel untuk menyimpan nilai operasi aritmatika bertipe int.
Catatan penting yang tidak boleh dilupakan, tipe data yang digunakan
untuk variabel yang menyimpan data hasil operasi aritmatika harus
lebih besar jangkauannya. Pesan kesalahan akan ditampilkan apabila
variabel yang menyimpan data hasil memiliki jangkauan yang lebih
kecil dibandingkan variabel yang akan diolah melalui operasi
aritmatika.Perhatikan urutan jangkauan tipe data dari yang besar
sampai yang kecil di bawah ini.

53
Kondisi yang sama juga berlaku pada tipe data real. Pastikan
menggunakan tipe data yang lebih besar pada variabel hasil jika akan
menggunaka tipe data berbeda pada operasi aritmatika. Perhatikan
contoh berikut:
byte angka1,angka2;
int angka3;
angka1 = 76;
angka2 = 87;
angka3 = angka1+angka2; // Benar, karenavariabel hasil
memiliki range lebih besar
double nilai1,nilai2;
float = nilai3
nilai1 = 79;
nilai2 = 100;
nilai3 = nilai1*nilai3; // Error, karenavariabel hasil
memiliki range lebih besar

Untuk menguji operasi aritmatika yang menggunakan tipe data


bilangan bulat yang berbeda, buatlah Java Class dengan nama
Praktikum53 dan ketikkan kode berikut:

54
Jalankan program tersebut, isikan bilangan 1 dan bilangan 2 dengan
nilai. Simak hasil operasi aritmatika yang dilakukan. Sebagai contoh
perhatikan hasil berikut ini:

Untuk menguji operasi aritmatika yang menggunakan tipe data


bilangan real yang berbeda, buatlah Java Class dengan nama
Praktikum54 dan ketikkan kode berikut:

Jalankan program tersebut, isikan bilangan 1 dan bilangan 2 dengan


nilai. Simak hasil operasi aritmatika yang dilakukan. Sebagai contoh
perhatikan hasil berikut ini:

Penggunaan tipe data yang berbeda tidak hanya terjadi di dalam jenis
yang sama (misalnya sesama bilangan bulat saja atau sesama bilangan
real), tetapi dapat pula terjadi pada jenis yang berbeda. Misalnya
variabel yang menyimpan data masukan dari user bertipe bilangan
bulat, sementara variabel yang digunakan untuk menyimpan hasil
operasi aritmatika bertipe bilangan real.
Apabila terjadi kasus seperti di atas, maka harus dilakukan proses
konversi. Proses konversi antar tipe data bilangan bulat ke bilangan real
atau sebaliknya dapat dilakukan secara langsung maupun melalui
55
teknik casting.Proses konversi langsung dilakukan dari tipe data yang
lebih kecil ke tipe data yang lebih besar. Sementara teknik casting
dilakukan pada tipe data yang lebih besar ke tipe data yang lebih kecil
Teknik casting dilakukan dengan memberikan tanda kurung pada tipe
data yang diinginkan.Perlu diperhatikan bahwa ada kemungkinan
terjadi perubahan nilai pada proses konversi karena nilai disesuaikan
dengan tipe data yang baru. Perhatikan contoh berikut:
int x;
x = 3608;
float y = (float) x; // y berisi nilai x yang telah
dikonversikan menjadi float
int z = (int) y; // z berisi nilai y yang telah dikonverikan
menjadi integer

Untuk menguji penggunaan teknik casting dalam operasi aritmatika,


buatlah Java Class dengan nama Praktikum55 dan ketikkan kode
berikut:

Jalankan program tersebut, isikan bilangan 1 dan bilangan 2 dengan


nilai. Simak hasil operasi aritmatika yang dilakukan. Sebagai contoh
perhatikan hasil berikut ini:

Proses pengolahan data dalam operasi aritmatika sering melibatkan


beberapa jenis operator sekaligus. Kondisi ini harus dicermati karena
Java memiliki prioritas operator. Artinya ada beberapa operator
memiliki prioritas lebih tinggi yang akan diproses terlebih dahulu,

56
kemudian dilanjutkan dengan operator yang memiliki prioritas
dibawahnya.
Operator perkalian (*) , pembagian (/) , dan modulus (%) memiliki
prioritas yang lebih tinggi dibandingkan penjumlahan (+) dan
pembagian (-). Akan tetapi prioritas tersebut dapat diatur dengan
menggunakan tanda kurung untuk menentukan operator yang akan
diproses terlebih dahulu. Perhatikan contoh berikut:
int x,y;
x = 3+4*2 ; // 4 dikalikan 2 dahulu, kemudian hasilnya
ditambahkan 3
y = (3+4)*2; // 3 dijumlahkan dahulu, kemudian hasilnya
dikalikan 2
x = 8-2/2; // 2 dibagi 2 dahulu, hasilnya menjadi pengurang
8
y = (8-2)/2; // 8 dibagi 2 dahulu, hasilnya dibagi 2

Untuk menguji prioritas operator dalam Java, buatlah Java Class


dengan nama Praktikum56 dan ketikkan kode berikut:

Jalankan program tersebut, isikan variabel x, y, dan z dengan nilai.


Simak hasil operasi aritmatika berprioritas yang dilakukan. Sebagai
contoh perhatikan hasil berikut ini:

5.2. Operasi Logika

57
Operasi logika menggunakan operator logika sebagaimana disebutkan
pada bagian sebelumnya. Hasil dari operasi logika berupa nilai boolean
yaitu true (benar) atau false (salah). Dalam pembuatan sebuah program
aplikasi, operasi logika banyak digunakan sebagai kriteria dalam proses
percabangan atau proses perulangan. Perhatikan contoh berikut:
int x,y;
boolean hasil;
x = 8;
y = 9;
hasil = x < y; // hasil bernilai true
hasil = y > 100; // hasil bernilai false
hasil = x == (y-1); //hasil bernilai true
Perlu diingat, penggunaan di dalam Java, operator “=” dan “==”
memiliki fungsi yang berbeda. Operator “=” merupakan assignment
operator yang berfungsi memberikan nilai pada sebuah variabel,
sedangkan operator “==” merupakan operator logika yang berfungsi
membandingkan apakah dua buah nilai memiliki kesamaan.
Untuk menguji bagaimana hasil dari operasi logika dalam Java, buatlah
Java Class dengan nama Praktikum 57 dan ketikkan kode berikut:

Jalankan program tersebut, isikan variabel x dan y, dengan nilai. Simak


hasil operasi logika yang dilakukan. Sebagai contoh perhatikan hasil
berikut ini:

58
Di dalam pemrograman, sering terjadi kasus di mana terdapat
beberapa operasi logika yang digabungkan dengan operator boolean
(AND, OR, NOT). Penggabungan ini menyebabkan operasi tersebut
lebih kompleks. Ungkapan ”nilai lebih besar dari 80 dan lebih kecil dari
100” merupakan contoh operasi logika dengan operator boolean AND.
Berikut adalah operator boolean yang biasa digunakan untuk operasi
logika
Operator Arti Simbol Deskripsi
AND Dan &, && Bernilai benar jika seluruh pernyataan
dalam operasi logika bernilai benar
OR Atau |, || Bernilai benar jika minimal salah satu
pernyataan dalam operasi logika bernilai
benar
NOT Tidak ! Membalik nilai ekspresi, jika benar
menjadi salah dan sebaliknya
Kombinasi penggunaan operator boolean dalam operasi logika
menghasilkan tabel kebenaran di bawah ini:
AND OR NOT
A B A&B A B A|B A !A
True True True True True True True False
True False False True False True False True
False True False False True True
False False False False False False
Untuk menguji bagaimana hasil dari penggunaan operator Boolean
dalam operasi logika , buatlah Java Class dengan nama Praktikum 58
dan ketikkan kode berikut:

59
Kode program di atas akan menghasilkan nilai tabel kebenaran pada
masing-masing operator sebagai berikut:

Latihan
1. Buatlah sebuah Java Class yang menerima input berupa 3 variabel
angka, kemudian lakukan operasi bilangan dengan output sebagai
berikut :

2. Jelaskan urutan eksekusi dalam operasi aritmatika berikut, dan


ujilah dalam sebuah program:
a. D= B – A / C
b. D = B – (A / C)
c. D = (B – A ) / C
d. D = A * B - C + A
e. D = ( A * B ) – ( C + A )
f. D = ( A * B – C ) + A
g. D = A * ( B – C ) + A
h. D = A * ( B – C + A )
3. Tentukan hasil dari operasi logika berikut jika A = 5, B = 3, dan C =
10. Implementasikan dalam sebuah program!
a. ( A + B ) <= C
b. A / C =1
c. ( B * C > A ) && ( A * A >3 )
d. ( B * 10 => 30) | | ( A == 5)
e. ! ( ( C + B < A + B ) | | ( A + B > 10 )

60
Bagian 6 : Struktur Kontrol Percabangan
Kompetensi Dasar :
3.6. Menerapkan struktur kontrol percabangan dalam bahasa pemrograman
3.6.1. Siswa mampu menjelaskan konsep struktur percabangan (C2)
3.6.2. Siswa mampu menganalisis skema percabangan dengan berbagai kondisi (C4)
3.6.3. Siswa mampu menganalisis percabangan yang digabungkan dengan operator
Boolean (C4)
4.6. Membuat kode program struktur kontrol percabangan
4.6.1. Siswa mampu menggambarkan alur struktur percabangan (P2)
4.6.2. Siswa mampu menginterpretasikan skema percabangan dengan berbagai
kondisi ke kode Java (P4)
4.6.3. Siswa mampu menginterpretasikan percabangan yang digabung dengan
operator bolean ke kode Java (P4)

6.1. Konsep Percabangan


Percabangan adalah sebuah alur
dalam algoritma dimana sebuah
pernyataan akan dijalankan jika
terdapat kondisi terpenuhi. Ada dua
komponen utama dalam
percabangan yaitu kondisi dan
pernyataan. Kondisi adalah syarat
dilakukannya sebuah (atau
sekelompok) pernyataan, sedangkan pernyataan dalam konteks ini
adalah perintah yang berkaitan dengan suatu kondisi. Algoritma
percabangan menggunakan simbol di samping dalam flowchart.
Sementara perintah yang digunakan dalam Java untuk percabangan
adalah if dan case.
Perhatikan contoh berikut:
Sebuah toko memberikan diskon pada pelanggan dengan sebuah
ketentuan, apabila berbelanja lebih dari 500.000 maka mendapatkan
diskon 20 %, jika tidak maka diskon hanya 10 %.

Pernyataan percabangan di atas dapat ditulis dalam bentuk notasi


flowchart dan pseudocode sebagai berikut:

61
Flowchart Pseudocode
t
if (harga > 500000)
diskon = harga * 0.2
else
diskon = harga * 0.1
end if

6.2. Percabangan dengan 1 Kondisi (if)


Seperti dijelaskan sebelumnya, percabangan selalu memiliki kondisi
dan pernyataan. Dalam kasus percabangan dengan 1 kondisi, maka
hanya akan ada 1 kondisi dan 1 pernyataan.Di dalam Java,
implementasi percabangan dengan menggunakan sintaks : if (kondisi)
{pernyataan}
Pernyataan percabangan dengan 1 kondisi dapat ditulis dalam bentuk
notasi flowchart dan pseudocode sebagai berikut:
Flowchart Pseudocode

langkah1
langkah2
if (kondisi1){
pernyataan1
}
langkah3

Contoh kasus : Setiap pembeli pada toko Kaneta Jaya ditanyakan harga
barang dan berapa unit. Program akan menghitung total harga
pembelian. Pembeli mendapatkan informasi berupa berapa total harga

62
pembelian. Apabila total harga pembelian lebih besar dari 5000, maka
muncul informasi mendapatkan cashback 1000.
Untuk menguji algoritma percabangan dengan 1 kondisi seperti kasus
di atas, buatlah sebuah Java Class dengan nama Praktikum61 pada
Package Bagian6. Kemudian ketikkan kode program berikut:

Algoritma percabangan dengan 1 kondisi pada kode di atas terdapat


pada baris ke 12 sampai 14, di mana kondisi yang harus dipenuhi adalah
(total>5000), sementara pernyataan yang akan dieksekusi adalah
perintah pada baris ke 13.
Ujilah pernyataan tersebut dengan mengisikan beberapa nilai yang
berbeda, berikut adalah salah satu contoh hasil eksekusi dengan kondisi
pecabangan yang berhasil dipenuhi:

6.3. Percabangan dengan 2 Kondisi (if else)


Percabangan dengan 2 kondisi menyediakan 2 buah kondisi dan 2 buah
pernyataan yang akan dieksekusi. Pernyataan pertama akan dieksekusi
jika kondisi yang diberikan bernilai benar (true), namun jika kondisi
yang diberikan salah (false), maka pernyataan kedua yang akan
dieksekusi. Percabangan dengan 2 kondisi di dalam Java menggunakan
sintaks : if (kondisi1) { pernyataan1} else {pernyataan2}
Pernyataan percabangan dengan 2 kondisi dapat ditulis dalam bentuk
notasi flowchart dan pseudocode sebagai berikut:
63
Flowchart Pseudocode

langkah1
langkah2
if (kondisi1){
pernyataan1
}
Else {
Pernyataan2
}
langkah3

Contoh kasus : Setiap pembeli pada toko Kaneta Jaya ditanyakan harga
barang dan berapa unit. Program akan menghitung dan menampilkan
total harga pembelian. Apabila total harga pembelian lebih besar dari
5000, maka ada potongan harga 1000, dan jika kurang dari 5000 akan
diberi potongan 500. Pembeli mendapatkan informasi total harga
pembelian yang telah dikurangi dengan potongan.
Untuk menguji algoritma percabangan dengan 1 kondisi seperti kasus
di atas, buatlah sebuah Java Class dengan nama Praktikum62.
Kemudian ketikkan kode program berikut:

Algoritma percabangan dengan 1 kondisi pada kode di atas terdapat


pada baris ke 12 sampai 14, di mana kondisi yang harus dipenuhi adalah

64
(total>5000), sementara pernyataan yang akan dieksekusi adalah
perintah pada baris ke 13.
Ujilah pernyataan tersebut dengan mengisikan beberapa nilai yang
berbeda, berikut adalah salah satu contoh hasil eksekusi dengan kondisi
pecabangan yang tidak terpenuhi:

6.4. Percabangan Lebih dari 2 Kondisi (if elseif else& case)


Secara prinsip, yang membedakan percabangan ini adalah jumlah
kondisi yang lebih dari 2 kondisi dengan jumlah pernyataan yang juga
lebih dari 2. Pernyataan pertama akan dieksekusi jika kondisi pertama
yang diberikan bernilai benar (true), namun jika kondisi pertama yang
diberikan salah (false), maka kondisi kedua akan dicek. Apabila kondisi
kedua benar maka pernyataan kedua akan dieksekusi, jika tidak maka
kondisi ketiga akan dicek dan begitu selanjutnya sampai dilakukan
pengecekan pada kondisi terakhir.
Percabangan dengan 2 kondisi di dalam Java menggunakan sintaks : if
(kondisi1) { pernyataan1} else if (kondisi2){pernyataan2} else if (kondisi
n-1) {pernyataan n-1} else {pernyataan1}.
Pernyataan percabangan lebih dari 2 kondisi di atas dapat ditulis dalam
bentuk notasi flowchart dan pseudocode sebagai berikut:

65
Flowchart Pseudocode

langkah1
langkah2
if (kondisi1){
pernyataan1
}
elseif
(kondisi2){
Pernyataan2
}
elseif (kondisi
n-1){
pernyataan n-1
}
else{
Pernyataan n
}
langkah3

Contoh kasus : Pada penilaian raport, ditentukan predikat nilai. Jika


nilai lebih besar dari 85 maka predikat A, jika nilai lebih besar dari 70
maka predikat B, jika nilai lebih besar dari 60 maka predikat C, selain itu
maka predikatnya D.
Untuk menguji algoritma percabangan dengan beberapa kondisi
seperti kasus di atas, buatlah sebuah Java Class dengan nama
Praktikum63. Kemudian ketikkan kode program berikut:

66
Ujilah kode program tersebut dengan mengisikan beberapa nilai yang
berbeda, berikut adalah salah satu contoh hasil eksekusi yang
memenuhi kriteria nilai nilai > 85:

Selain menggunakan if – else if – else, percabangan dengan lebih dari 3


kondisi dapat dilakukan dengan menggunakan switch – case – default.
Di dalam switch – case – default, nilai kriteria yang diuji harus nilai yang
sudah pasti, bukan nilai yang menggunakan operator logika seperti ”>”
dan semacamnya. Struktur sintaks dalam switch – case – default adalah
sebagai berikut:
switch (variabel_kondisi){
case nilai_kondisi1:
pernyataan1;
break;
case nilai_kondisin-1:
pernyataann-1;
break;
default:
pernyataann;
break;
}
Contoh kasus : Siswa SMK Negeri1 Tapen dapat mengetahui proses
pembelajaran dengan mengetikkan kelas. Jika kelas 10 muncul pesan
”Pembelajaran full di sekolah”, jika kelas 11 muncul pesan ”Pelaksanaan
Prakerin”, jika kelas 12 muncul pesan ”Persiapan UN dan Uji
67
Kompetensi”, dan jika kelas selain ketiga angka di atas muncul pesan
”Pilihan Kelas Salah, hanya kelas 10, 11, dan 12”.
Untuk menguji algoritma percabangan dengan beberapa kondisi
seperti kasus di atas menggunakan switch – case – default, buatlah
sebuah Java Class dengan nama Praktikum64. Kemudian ketikkan kode
program berikut:

6.5. Kondisi dengan Operator Boolean


Sebuah kasus percabangan dapat terjadi dengan melibatkan beberapa
kondisi yang digabung dengan operator boolean AND (&&), OR (||) dan
NOT(!). Perhatikan deskripsi kasus berikut:
Untuk memacu prestasi siswa, SMK Negeri 1 Tapen menyiapkan hadiah
bagi para ranking kelas. Hadiah dibedakan berdasarkan jurusan dan
ranking. Untuk jurusan Rekayasa Perangkat Lunak, peringkat 1
mendapatkan Laptop core i7, peringkat 2 mendapatkan Laptop core i5,
dan peringkat 3 mendapatkan laptop core i3. Sedangkan untuk jurusan
Multimedia, Peringkat 1 mendapatkan Kamera Video Profesional,
peringkat 2 mendapatkan Kamera Video prosumer, dan peringkat 3
mendapatkan kamera foto digital.
Pada kasus di atas, terdapat dua kondisi yang akan diuji dalam
algoritma percabangan. Kondisi pertama adalah jurusan, sedangkan
kondisi kedua adalah ranking. Operator boolean yang digunakan untuk
menghubungkan kedua kondisi tersebut adalah AND (&&). Dari

68
penggabungan kedua kondisi akan diperoleh kombinasi sebagaimana
tabel berikut:
Kondisi I Kondisi 2 Penggabungan Pernyataan
Kondisi
Jurusan=RPL Ranking=1 Jurusan=RPL AND Laptop Core i7
Ranking=1
Jurusan=RPL Ranking=2 Jurusan=RPL AND Laptop Core i5
Ranking=2
Jurusan=RPL Ranking=3 Jurusan=RPL AND Laptop Core i3
Ranking=3
Jurusan=MM Ranking=1 Jurusan=MM AND VideoCam
Ranking=1 Professional
Jurusan=MM Ranking=2 Jurusan=MM AND VideoCam
Ranking=2 Prosumer
Jurusan=MM Ranking=3 Jurusan=MM AND PhotoCam
Ranking=3

Untuk menguji algoritma percabangan dengan penggabungan kondisi


seperti kasus di atas, buatlah sebuah Java Class dengan nama
Praktikum65. Kemudian ketikkan kode program berikut:

Pada kode di atas, terdapat dua kondisi yaitu jurusan dengan tipe data
String, dan ranking dengan tipe data integer. Pengujian nilai pada

69
kondisi dengan tipe data string menggunakan fungsi equal() sementara
pengujian nilai pada kondisi dengan tipe data angka (termasuk integer)
menggunakan operator ==. Kedua kondisi tersebut digabungkan
dengan menggunakan operator logika AND (&&). Berdasarkan
penggabungan tersebut, muncul 6 kondisi yang bisa dicek pada baris ke
12 sampai baris ke 24.
Ujilah kode program tersebut dengan mengisikan beberapa nilai yang
berbeda, berikut adalah salah satu contoh hasil eksekusi yang
memenuhi kriteria nilai jurusan = RPL dan ranking = 3:

Latihan
Tentukan jenis algoritma percabangan untuk kasus berikut, buatkan
diagram alir dan kode programnya :
1. Program membaca nilai bilangan bulat, kemudian menentukan
apakah nilai tersebut berupa bilangan ganjil atau genap.
2. Cuci motor Sekawan Jaya memberikan bonus bagi pelanggan,
apabila mencuci motor sebanyak 5 kali maka mendapatkan hadiah
gratis 1 kali cuci motor.
3. Program membaca masukan nilai integer dari 0 sampai 9. Untuk
setiap nilai yang dimasukkan, program menampilkan angka dalam
bentuk huruf. Apabila ada nilai yang lebih dari 9 muncul pesan
kesalahan ”Nilai diluar jangkauan”
4. Dalam rangka hari guru, sebuah minimarket membuat program
diskon. Pada saat pembayaran, jika pembeli menunjukkan Kartu
Identitas Guru, maka pembeli langsung mendapatkan diskon
belanja 10 %.
5. Untuk meningkatkan minat baca siswa, perpustakaan SMK Negeri 1
Tapen membuat program. Pada awalnya batas waktu peminjaman
buku adalah 1 hari, tetapi jika siswa meminjam buku lebih dari 3
judul, maka siswa mendapatkan tambahan batas waktu
peminjaman 2 hari.
6. Sebuah operator telekomunikasi selular membuat promo untuk
menarik minat pelanggan. Setiap hari, operator tersebut
menghitung nilai pulsa yang digunakan oleh pelanggan. Jika
pelanggan menghabiskan pulsa minimal 1000 rupiah, maka ia
70
mendapatkan paket data gratis 10 GB dalam 1 hari, jika tidak maka
pelanggan tersebut hanya mendapatkan paket data gratis 5 GB
7. Untuk meningkatkan motivasi belajar pemrograman, seorang guru
memberikan bonus nilai kepada siswanya. Jika rata-rata nilai
praktik siswa dalam 3 pertemuan terakhir lebih besar dari 80 maka
akan diberi bonus nilai 10, jika tidak maka hanya akan diberikan
bonus nilai 5.
8. Sebuah bank menetapkan tarif biaya administrasi berdasarkan
kartu ATM yang digunakan. Untuk kartu ATM jenis Platinum, biaya
administrasi bulanan adalah 20000. Untuk kartu ATM jenis Gold,
biaya administrasi bulanan adalah 15000. Untuk kartu ATM jenis
Silver, biaya administrasi bulanan adalah 10000. Dan untuk kartu
ATM jenis standar, biaya administrasi bulanan adalah 5000
9. Kenaikan kelas ditentukan dari absensi dan nilai siswa. Jika absensi
siswa lebih dari 12 maka siswa dinyatakan tidak naik kelas
berapapun nilainya. Akan tetapi jika absensi kurang dari 12 maka
nilai menjadi pertimbangan, jika nilai yang kurang dari KKM
terdapat pada 3 mata pelajaran atau lebih maka siswa siswa tidak
naik, jika nilai yang kurang dari KKM hanya terdapat pada 2 mata
pelajaran atau kurang, maka siswa dinyatakan naik.
10. Dalam rangka hari kartini, sebuah toko busana akan memberikan
diskon khusus untuk pelanggan wanita, sedangkan pelanggan pria
tidak mendapat diskon. Diskon untuk pelanggan wanita tersebut
dilihat berdasarkan nominal belanja, apabila pelanggan berbelanja
di atas 50.000, maka diskon 10 %, jika tidak maka diskonnya 5 %.

71
Bagian 7 : Struktur Kontrol Perulangan
Kompetensi Dasar :
3.7. Menerapkan struktur kontrol Perulangan dalam bahasa pemrograman
3.7.1. Siswa mampu menjelaskan konsep struktur perulangan (C2)
3.7.2. Siswa mampu menganalisis skema perulangan dengan while, do while, dan for
(C4)
3.7.3. Siswa mampu menganalisis skema perulangan bersarang (C4)
3.7.4. Siswa mampu menganalisis branching statement dalam perulangan (C4)
4.7. Membuat kode program struktur kontrol perulangan
4.7.1. Siswa mampu membuat sebuah struktur perulangan dalam java (P3)
4.7.2. Siswa mampu menginterpretasikan skema perulangan dengan while, do
while, dan for ke kode Java (P4)
4.7.3. Siswa mampu menginterpretasikan skema perulangan bersarang ke kode java
(P4)
4.7.4. Siswa mampu menginterpretasikan branching statement dalam perulangan ke
kode Java (P4)

7.1 Struktur Perulangan


Salah satu kelebihan komputer
dibandingkan manusia adalah
kemampuannya untuk melaksanakan
perintah berulang kali tanpa mengenal
lelah dan bosan. Di dalam algoritma,
pengulangan atau looping dapat
dilakukan berulang kali sampai kondisi
yang telah ditetapkan untuk
menghentikan perulangan terpenuhi.
Struktur perulangan secara umum terdiri dari dua bagian:
1. Kondisi perulangan, yaitu ekspresi boolean yang harus dipenuhi
untuk melaksanakan pengulangan.
2. Badan (body) perulangan, yaitu bagian algoritma yang diulang.
Untuk memperjelas struktur di atas, perhatikan contoh kasus berikut:
1. SMK Negeri 1 Tapen menetapkan nilai ketuntasan untuk mata
pelajaran Pemrograman Dasar adalah 80. Selama siswa belum
mencapai nilai minimal 80, maka harus mengikuti remedial.
Dalam kasus ini, kondisi yang menjadi acuan perulangan adalah
Nilai minimal 80, sedangkan badan perulangan adalah Mengikuti
remidial.

72
2. Pada proses pemanasan sebelum pelajaran pendidikan jasmani,
siswa harus berlari mengitari lapangan sebanyak 5 kali. Setelah
siswa mengitari lapangan, maka pelajaran dimulai.
Dalam kasus ini, kondisi yang menjadi acuan perulangan adalah
jumlah mengitari lapangan 5 kali, sedangkan badan perulangan
adalah berlari mengitari lapangan.
Di samping kedua struktur di atas, perulangan biasanya disertai dengan
bagian:
1. Inisialisasi, yaitu aksi yang dilakukan sebelum perulangan dilakukan
pertama kali
2. Terminasi, yaitu aksi yang dilakukan setelah perulangan dilakukan.
Inisialisasi dan terminasi tidak selalu harus ada, namun pada berbagai
kasus inisialisasi dan terminasi umumnya diperlukan.
Java memiliki 3 perintah yang dapat digunakan untuk perulangan:
1. While Loop
2. Do while loop
3. For Loop
7.2. Perulangan dengan While Loop
Perulangan dengan while loop dimulai dengan menguji kondisi
perulangan apakah benar atau tidak. Jika benar, bodi perulangan yang
terdiri dari sebuah blok statement akan dijalankan dan program akan
kembali lagi menguji kondisi perulangan apakah benar atau tidak.
Demikianlah seterusnya sampai kondisi perulangan bernilai salah.
Apabila kondisi perulangan bernilai salah, maka bodi pemrograman
akan dilewati dan kondisi perulangan tidak akan diuji lagi. Dengan kata
lain, perintah pada blok statement akan terus dijalankan selama kondisi
bernilai benar (true)
Perulangan dengan while loop dapat ditulis dalam bentuk notasi
flowchart dan pseudocode sebagai berikut:

73
Flowchart Pseudocode

while (kondisi){
bodi_perulangan;
}

Contoh : Lakukan perulangan pada teks yang dimasukkan oleh user


sejumlah nilai perulangan yang juga ditentukan oleh user.
Untuk menguji algoritma perulangan pada kasus di atas menggunakan
while , buatlah sebuah Java Class dengan nama Praktikum71 pada
Package yang bernama Bagian7 dan ketikkan kode program berikut.

Algoritma perulangan pada kode program tersebut terdapat pada baris


12 sampai 16. Penjelasan alur perulangan pada kode di atas adalah
sebagai berikut:
1. Baris 12 merupakan inisialisasi di mana nilai awal kondisi yang akan
diuji pada perulangan diisi dengan nol (0).
2. Baris 13 merupakan pemberian kondisi yang diuji, ditetapkan bodi
perulangan dieksekusi selama nilai variabel kondisi lebih kecil dari
nilai variabel ulang.
3. Baris 14 – 16 merupakan bodi perulangan, di mana baris 14
menampilkan isi variabel tulisan, dan baris 15 akan menambahkan

74
nilai variabel kondisi dengan 1. Sedangkan baris 16 merupakan blok
penutup dari bodi perulangan.
Ujilah kode program tersebut dengan mengisikan teks pesan dan isian
berapa kali pesan akan ditampilkan. Berikut adalah contoh dari pesan
”Aku pasti bisa jadi programmer” yang diulang 7 kali.

7.3. Perulangan dengan Do While Loop


Perulangan dengan do while loop hampir sama dengan while loop.
Perbedaannya adalah perintah menjalankan bodi program terlebih
dahulu, baru kemudian menguji kondisi yang diberikan. Dengan
demikian perintah ini pasti menjalankan bodi perulangan minimal satu
kali meskipun kondisi perulangan tidak terpenuhi.
Perulangan dengan do while loop dapat ditulis dalam bentuk notasi
flowchart dan pseudocode sebagai berikut:
Flowchart Pseudocode

do {
bodi_perulangan;
} while (kondisi);

Contoh : Untuk memasukkan nilai tabungan siswa di kelas, guru


diminta memasukkan jumlah siswa, kemudian memasukkan nilai
tabungan satu persatu sejumlah siswa. Setiap memasukkan nilai
tabungan, akan dijumlahkan nilai tabungan siswa. Setelah semua nilai
tabungan dimasukkan, program menampilkan total nilai tabungan.

75
Untuk menguji algoritma perulangan pada kasus di atas menggunakan
do while, buatlah sebuah Java Class dengan nama Praktikum72 dan
ketikkan kode program berikut:

Algoritma perulangan pada kode program tersebut terdapat pada baris


10 sampai 16. Penjelasan alur perulangan pada kode di atas adalah
sebagai berikut:
1. Baris 10 merupakan inisialisasi di mana nilai awal kondisi yang akan
diuji pada perulangan diisi dengan 1.
2. Baris 11 dan 16 merupakan pemberian kondisi perulangan, di mana
bodi perulangan dieksekusi selama nilai variabel kondisi lebih kecil
atau sama dengan nilai variabel siswa.
3. Baris 12 – 15 merupakan bodi perulangan dengan rincian:
- baris 12 menampilkan teks ”Masukkan Tabungan siswa ke x :”
dengan x adalah nilai kondisi
- baris 13 membaca masukan dari keyboard dan disimpan ke
variabel nilai
- baris 14 menjumlahkan varabel ke dalam variabel total
- baris 15 menambahkan nilai variabel kondisi dengan 1
Ujilah kode program tersebut dengan mengisikan jumlah siswa dan
isian nilai tabungan sesuai jumlah siswa. Berikut adalah contoh isian
dengan jumlah siswa sebanyak 5.

76
7.4. Perulangan dengan for loop
Secara prinsip, perulangan dengan for mirip perulangan dengan while,
di mana kondisi perulangan akan diuji terlebih dahulu, selanjutnya bodi
perulangan akan dieksekusi. Perbedaannya adalah pada struktur
perintah dalam for yang lebih kompleks.
Perulangan dengan for loop dapat ditulis dalam bentuk notasi flowchart
dan pseudocode sebagai berikut:

77
Flowchart Pseudocode

for
(inisiasi;kondisi;pasca_iterasi)
{
bodi_perulangan;
}

Berikut penjelasan untuk model perulangan dengan for loop:


1. Inisiasi : Nilai awal pada variable yang digunakan untuk perulangan
2. Kondisi : Kondisi yang akan diuji untuk menentukan apakah
perulangan akan dijalankan atau tidak. Jika kondisi bernilai benar,
perulangan dilanjutkan. Namun jika tidak, perulangan akan terhenti.
3. Pasca Iterasi : Ekspresi yang dijalankan di akhir setiap bodi
perulangan
Contoh : Program meminta user memasukkan sebuah angka, kemudian
komputer akan menampilkan 10 nilai berikutnya secara berurutan.
Untuk menguji algoritma perulangan pada kasus di atas menggunakan
for , buatlah sebuah Java Class dengan nama Praktikum73 dan ketikkan
kode program berikut:

78
Ujilah kode program tersebut dengan mengisikan sebuah nilai. Berikut
adalah contoh isian dengan isian nilai 10.

7.5. Perulangan bersarang


Secara sederhana, perulangan bersarang dapat diartikan sebagai
perulangan dalam perulangan. Dengan demikian, jumlah perulangan
yang terjadi menjadi lebih banyak, yaitu perkalian antara perulangan di
luar dan perulangan di dalam.Dalam pembuatan aplikasi, perulangan
bersarang banyak dipakai untuk melakuan perulangan bertingkat,
misalnya untuk menampilkan daftar perkalian bilangan, faktorial, dan
lain-lain.
Perulangan dengan for loop dapat ditulis dalam bentuk notasi flowchart
dan pseudocode sebagai berikut:

79
Flowchart Pseudocode

for
(inisiasi1;kondisi1;pasca_iterasi1)
{
bodi_perulangan1;
for
(inisiasi2;kondisi2;pasca_iterasi2)
{
bodi_perulangan2;
}
}

Contoh : SMP Cahaya Hati memiliki 3 kelas. Untuk mendata siswa


berprestasi, pada masing-masing masing kelas akan didata 3 siswa
terbaik.
Untuk menguji algoritma perulangan bersarang pada kasus di atas
menggunakan for, buatlah sebuah Java Class dengan nama
Praktikum74 dan ketikkan kode program berikut:

Ujilah kode program tersebut dengan mengisikan sebuah nilai pada


nama . Berikut adalah contoh isian nama pada masing masing kelas dan
juara:

80
7.6. Branching Statement dengan Break dan Continue
Branching statement digunakan untuk menginterupsi proses yang
sedang berjalan, baik dalam percabangan maupun perulangan.
Perintah break dan continue merupakan instruksi branching statemen
yang banyak digunakan dalam Java.
Break dapat digunakan pada percabangan dan perulangan. Jika
statemen break dieksekusi, maka proses perulangan dihentikan, dan
program akan keluar dari alur perulangan. Dengan demikian kondisi
berikutnya tidak akan diuji karena proses perulangan sudah dihentikan.
Contoh : Untuk memasukkan nilai ujian, guru diminta memasukkan
jumlah siswa, kemudian nilai siswa dimasukkan satu persatu. Apabila
guru memasukkan nilai lebih dari 100, maka akan muncul pesan
kesalahan “Nilai terlalu besar” dan program langsung berhenti.
Untuk menguji algoritma perulangan dengan branching statement
menggunakan break pada kasus di atas, buatlah sebuah Java Class
dengan nama Praktikum75 dan ketikkan kode program berikut:

81
Ujilah kode program tersebut dengan mengisikan jumlah siswa,
kemudian cobalah memasukkan beberapa nilai yang salah satunya
lebih dari 100. Berikut adalah contoh isian nama pada masing masing
kelas dan juara:

Selain break, perintah branching statement yang lain adalah continue.


Berbeda dengan break yang langsung menghentikan proses
perulangan, pemberian perintah continue menyebabkan sebuah
statemen dilewati dan alur program kembali ke pengujian kondisi.
Dengan demikian, program tetap berada dalam proses perulangan dan
dilanjutkan dengan menguji kondisi berikutnya.
Contoh : Sebuah program meminta user untuk memasukkan angka,
selanjutnya program menampilkan angka mulai dari 1 sampai batas
angka yang dimasukkan user, tetapi bilangan kelipatan 3 tidak akan
ditampilkan.
Untuk menguji algoritma perulangan dengan branching statement
menggunakan continue pada kasus di atas, buatlah sebuah Java Class
dengan nama Praktikum76 dan ketikkan kode program berikut:

Ujilah kode program tersebut dengan mengisikan sebuah nilai,


kemudian perhatikan daftar urutan nilai yang ditampilkan, tidak ada
yang terdiri dari kelipatan 3.

82
Latihan
Tentukan jenis algoritma perulangan untuk kasus berikut, buatkan
diagram alir dan kode programnya. Pilihlah salah satu dari while, do
while, dan for dalam kode program:
1. Sebuah program menampilkan nilai bilangan genap dari 1 sampai
10, selanjutnya menampikan nilai bilangan ganjil dari 1 sampai 10.
2. Sebuah program meminta user memasukkan nilai maksimal,
selanjutnya program hanya akan menampilkan nilai kelipatan 3
sampai batas nilai maksimal tersebut.
3. Untuk mengetahui rata-rata nilai, program meminta masukan
jumlah siswa, dan user memasukkan nilai siswa satu persatu sampai
selesai. Setelah seluruh nilai dimasukkan, hasil perhitungan rata-
rata ditampilkan.
4. Petugas Pendaftaran Peserta Didik Baru menginputkan Nama dan
Nilai, selanjutnya komputer menanyakan apakah masih ada lagi
data yang akan dimasukkan. Apabila petugas memasukkan ’Y’
maka proses akan kembali berulang. Proses perulangan akan
selesai setelah user memasukkan ’T’ maka perulangan selesai.
Selama proses perulangan dilakukan pengecekan nilai. Apabila nilai
yang dimasukkan lebih dari 400, proses perulangan terhenti dan
muncul pesan kesalahan nilai.

83
Daftar Pustaka

Hakim, Rachmad & Sutarto, Mastering Java – Konsep pemrograman


JAVA dan penerapannya untuk membuat software Aplikasi, Elex Media
Komputindo Jakarta, 2009.
Hartono, Jogiyanto, Analisis & Desain Sistem Informasi: Pendekatan
Terstruktur teori dan Praktek Aplikasi Bisnis, Penerbit Andi Yogyakarta,
1999.
Indrijani & Martin, Pemrograman Berbasis Objek dengan Bahasa JAVA,
Elex Media Komputindo Jakarta, 2007.
Munir, Rinaldi, Algoritma & Pemrograman Dalam Bahasa Pascal dan C,
Informatika Bandung, 2007.
Wirth, Niklaus, Algoritma + Struktur Data = PROGRAM (terj Insap
Santosa), Penerbit Andi Yogyakarta, 1997.

84
Tentang Penulis

Ahmadi Andianto, menamatkan S1 Teknik Informatika di Sekolah


Tinggi Teknologi Nurul Jadid Paiton Probolinggo dan S2 Magister
Teknik Informatika Universitas Dian Nuswantoro Semarang.
Berpengalaman menjadi programmer dan System Analyst pada
berbagai Project Sistem Informasi sebelum terjun ke dunia pendidikan
sebagai guru.
Pernah mengajar sebagai guru kejuruan komputer di SMK Nurul Jadid
Paiton Probolinggo dan menjadi dosen tidak tetap pada mata kuliah
Database dan Sistem Informasi program S1 Teknik Informatika Sekolah
Tinggi Teknologi Nurul Jadid Paiton Probolinggo dan Universitas Bakti
Indonesia Banyuwangi.
Saat ini penulis menjadi guru kejuruan untuk paket keahlian Multimedia
dan Rekayasa Perangkat Lunak pada SMK Negeri 1 Tapen Bondowoso
dengan tugas tambahan sebagai Ketua Paket Keahlian Rekayasa
Perangkat Lunak (RPL).
Penulis dapat dihubungi pada email ahmadiandianto@gmail.com
atau melalui nomor ponsel 08113045515.

85