BKPM-MIF10709-Workshop Pemrograman Dasar
BKPM-MIF10709-Workshop Pemrograman Dasar
OLEH :
Faisal Lutfi Afriansyah, S.Kom., M.T.
1
BKPM – WORKSHOP PEMROGRAMAN DASAR
LEMBAR PENGESAHAN
Mengetahui,
Koord. Program Studi, Koord./Tim Mata Kuliah, Penulis,
Taufiq Rizaldi, S.ST., MT Faisal Lutfi A, S.Kom, M.T Faisal Lutfi A, S.Kom, M.T
NIP. 198903292019031007 NIP. 199104292019031011 NIP. 199104292019031011
Menyetujui,
Ketua Jurusan Teknologi Informasi,
1
BKPM – WORKSHOP PEMROGRAMAN DASAR
KATA PENGANTAR
Puji Syukur kehadirat Tuhan Yang Maha Esa karena atas limpahan
rahmat-Nya sehingga kami dapat menyelesaikan Buku Kerja Praktik
Mahasiswa (BKPM) Workshop Pemrograman Dasar. Workshop ini
merupakan pembelajaran yang memberikan dasar-dasar logika yang
bersifat universal dan mengedepankan pembentukan pola pikir seseorang
mengenai membuat suatu program yang efektif dan efisien. Sehingga
dasar-dasar universal ini dapat diterapkan pada bahasa pemrograman
apa pun, kapan pun, di mana pun. BKPM ini disusun berdasarkan metode
Student Center Learning yaitu menempatkan mahasiswa sebagai pusat
kegiatan belajar. BKPM ini terdiri dari Pokok Bahasan, Acara Praktikum,
Tempat, Alokasi Waktu, Sub Capaian Pembelajaran Mata Kuliah (SUB-
CPMK), Indikator, Dasar Teori, Alat dan Bahan, Prosedur Kerja, Hasil dan
Pembahasan, Kesimpulan, Rubrik Penilaian.
Tim Penulis
2
BKPM – WORKSHOP PEMROGRAMAN DASAR
DAFTAR ISI
3
BKPM – WORKSHOP PEMROGRAMAN DASAR
Acara 1
b. Indikator
Kemampuan mahasiswa dalam mengenal java: sejarah, kelebihan, komponen
penting, keyword, dan editor java.
c. Dasar Teori
1. Sejarah Java
Bahasa pemrograman Java lahir pertama kali dari The Green Project (James
Gosling dkk dari sun microsystems) pada tahun 1991 → Teknologi “*7” (Star Seven).
Mula-mula James Gosling menyebut bahasa pemrograman yang dihasilkannya
dengan OAK → Sun mengubahnya menjadi Java. Sun merilis versi awal java secara
resmi pada awal 1996 yang kemudian terus berkembang hingga muncul JDK 1.1 kmd
JDK 1.2 sehingga mulai versi ini java disebut java 2. Pada tahun 1998-1999 lahirlah
teknologi J2EE (Java 2 Enterprise Edition). Terakhir Teknologi Java melahirkan J2ME
(Java 2 Micro Edition) yang sudah diadopsi oleh Nokia, Siemens, Sony Ericsson,
Motorola untuk menghasilkan aplikasi mobile baik games maupun software lainnya
yang dapat dijalankan diperalatan mobile seperti handphone.
2. Kelebihan Java
- Multiplatform → dapat dijalankan di beberapa platform / sistem operasi
komputer
- OOP (Object Oriented Programming) → semua aspek yang terdapat di Java
adalah Objek.
- Library class yang lengkap → Java terkenal dengan kelengkapan library/
perpustakaan (kumpulan program yang disertakan dalam pemrograman java)
1
BKPM – WORKSHOP PEMROGRAMAN DASAR
2) JRE
Java Runtime Environment (JRE) merupakan implementasi dari JVM. JVM
memberikan platform untuk mengeksekusi program-program Java. Tugasnya
melakukan pemanggilan kode; Memverifikasi kode; Mengeksekusi kode.
3) JDK
Java Development Kit (JDK) merupakan komponen inti dari Java. Komponen
ini memberikan semua tools, executables, binaries yang diperlukan untuk
menyusun, men-debug, dan mengeksekusi sebuah program Java.
2
BKPM – WORKSHOP PEMROGRAMAN DASAR
3
BKPM – WORKSHOP PEMROGRAMAN DASAR
boolean
Mendefinisikan variabel boolean untuk nilai "true" atau "false" saja. Secara default,
nilai tipe primitif boolean adalah false. Kata kunci ini juga digunakan untuk
mendeklarasikan bahwa suatu metode mengembalikan nilai tipe primitif boolean.
short
Keyword short digunakan untuk mendeklarasikan bidang yang dapat menampung
bilangan bulat komplemen dua bertanda 16-bit. Keyword ini juga digunakan untuk
mendeklarasikan bahwa suatu metode mengembalikan nilai tipe primitive short.
for
Keyword for digunakan untuk membuat perulangan for, yang menentukan inisialisasi
variable, ekspresi Boolean, dan peningkatan. Inisialisasi variable dilakukan terlebih
dahulu, kemudian ekspresi Boolean dievaluasi. Jika ekspresi dievaluasi menjadi true,
blok pernyataan/statement yang terkait dengan loop dieksekusi, kemudian dilakukan
penambahan. Ekspresi boolen kemudian dievaluasi lagi. Hal ini berlanjut sampai
ekspresi bernilai false.
case
Sebuah pernyataan diblok switch dapat diberi label dengan satu atau lebih case atau
default label. Pernyataan switch mengevaluasi ekspresi, kemudian mengeksekusi
semua pernyataan yang mengikuti pencocokan case label.
4
BKPM – WORKSHOP PEMROGRAMAN DASAR
Catch
Sebuah blok satement untuk menangkap exception jika terdapat exception/error
didalam blok try.
Final
Untuk mengubah atribut menjadi konstanta, sehinggal tidak bisa diubah, diganti,
atau dioverride oleh method lain.
Interface
Tipe abstrak dengan method yang dapat diimplementasikan oleh kelas tersebut.
Protected
Hak Akses yang memungkinkan terjadi pewarisan data antar class asalkan dalam
satu package yang sama.
This
Digunakan untuk mewakili sebuah instance dari kelas dimana ia muncul, atau
digunakan jika ada nama variable yang sama dengan parameter.
Byte
Byte menyatakan variabel yang dapat menyimpan nilai byte (8 bit) Range -128 s.d.
127.
Void
Void adalah method yang tidak memiliki nilai kembali/return, bisanya digunakan
tidak untuk mencari nilai dalam suatu operasi.
Do
Digunakan bersama dengan while untuk membuat do-while pengulangan, untuk
mengeksekusi suatu statement sebelum kondisi pada while di evaluasi.
Default
Default dapat digunakan dalam pernyataan switch untuk pernyataan yang akan
dieksekusi jika case tidak sesuai dengan nilai yang ditentukan.
Abstract
Digunakan untuk menyatakan sebuah kelas atau method menjadi abstrak.
5
BKPM – WORKSHOP PEMROGRAMAN DASAR
Break
Break digunakan untuk mengeksekusi program ke perintah selanjutnya. Jadi,
keyword break ini melewati statement yang tidak diinginkan oleh programmer, dan
melanjutkan ke statement selanjutnya.
Char
Menyatakan variabel yang dapat menyimpan nilai karakter 16 bit.
Class
Digunakan untuk mendefinisikan dan mengimplementasikan objek.
Const
Const tidak digunakan dan tidak mempunyai fungsi.
Continue
Digunakan untuk melanjutkan eksekusi program perulangan.
Double
Untuk menyimpan nilai pecahan, mempunyai ukuran 8 bytes dan 64 bit serta
panjang Range +/- 1.8 x 10308 dengan jumlah presisi/digit 15.
Else
Kata kunci yang digunakan bersama dengan if untuk membuat pernyataan jika
kondisi pada if tidak terpenuhi.
Enum
Kata kunci yang digunakan untuk mendeklarasikan tipe enumerasi. Enumerations
memperpanjang kelas dasar Enum.
Extends
Digunakan untuk pewarisan sifat dari suberclass/kelas induk pada subclass/kelas
anaknya.
Finally
Bagian dari blok try yang selalu dieksekusi.
6
BKPM – WORKSHOP PEMROGRAMAN DASAR
Float
Untuk menyatakan nilai pecahan, tipe data Float mempunyai ukuran 4 bytes dan 32
bit serta panjang Range +/- 3.4 x 1038 dengan jumlah presisi/digit 6-7.
For
Tipe pengulangan (looping)`
Goto
Goto tidak digunakan dan tidak memiliki fungsi.
If
Untuk membuat statement yang bersyarat (conditional statement).
Implements
Mendefinisikan interface yang diimplementasikan oleh kelas.
Import
Meng-import paket (package).
Instanceof
Untuk menguji jika objek adalah instance dari kelas.
Int
Tipe data bilangan bulat, tipe data Int mempunyai ukuran 32 bit dan Range -
2147483648 s.d. 2147483647.
Long
Tipe data bilangan bulat, memiliki ukuran paling besar yaitu 64 bit dan Range -
922337209 s.d. 922337209.
Native
Method yang diimplementasikan oleh host system.
New
New digunakan untuk membuat sebuah instance dari sebuah kelas atau array.
Null
Null yang berarti tidak memiliki nilai.
7
BKPM – WORKSHOP PEMROGRAMAN DASAR
Package
Untuk mendefinisikan nama Paket kelas.
Private
Hak Akses agar sifat-sifat dari suatu class tidak bisa diwariskan dan hanya bisa
diakses oleh classnya sendiri.
Public
Hak Akses yang memungkinkan atribut/data dapat diaksek oleh class mana saja,
didalam package yang sama ataupun berbeda.
Return
Untuk mengembalikan nilai dari sebuah variable.
Short
Tipe data bilangan bulat, mempunyai ukuran 16 bit, tipe data ini mempunyai Range
lebih tinggi dari Byte, yaitu - 32768 s.d. 32767.
Static
Salah satu sifat untuk variable dan method, agar kita dapat memanggil secara
langsung tanpa harus membuat objek dari class.
Super
Digunakan untuk mengakses anggota kelas yang diwariskan oleh kelas di mana ia
muncul.
Switch
Statement untuk menentukan pilihan.
Synchronized
Method atau blok kode yang atomic kepada thread.
Throw
Keyword throw digunakan untuk melempar suatu exception dalam program.
Throws
Kata kunci throws digunakan untuk mengenali daftar eksepsi yang mungkin di-throw
oleh suatu method.
8
BKPM – WORKSHOP PEMROGRAMAN DASAR
Transient
Merupakan suatu proses dimana state daripada objek tersebut dapat kita simpan
menjadi bentuk deretan byte, dan juga sebaliknya.
Try
Untuk memantau suatu statement yang kemungkinan dapat terjadi exception.
Volatile
Digunakan dalam deklarasi lapangan untuk menentukan bahwa variabel yang
diubahasynchronously oleh bersamaan menjalankan thread. Metode, kelas dan
interface sehingga tidak dapat dideklarasikan volatile.
While
Kata kunci while digunakan untuk membuat pengulangan, selama kondisi true
sampai ekspresi bernilai false.
6. Editor Java
Beberapa editor yang bisa digunakan untuk pemrograman java adalah:
- Notepad → editor standard yang disediakan oleh windows. Tidak dilengkapi
dengan utilitas jumlah baris (berpengaruh pada pelacakan baris program
yang menyebabkan error kompilasi)
- Netbeans → salah satu editor yang dilengkapi dengan pelacakan baris
program yang menyebabkan error kompilasi
- Editor-editor lain: Eclipse, Gel, JBuilder, Jcreator dll
7. Netbeans IDE
Netbeans adalah merek dagang yang hak atas kekayaan intelektualnya
dimiliki oleh Sun Microsystems Inc. Netbeans sebagai IDE ditujukan untuk
memudahkan pemrograman java, Netbeans mencakup compiler atau builder dan
debugger internal. Hal ini sangat memudahkan proses paska perancangan
program. Proses deployment dan / atau tes dapat juga dilakukan dari dalam
NetBeans. Pada Workshop Pemrograman Dasar kali ini kita menggunakan editor
java Netbeans, maka sebelum melanjutkan workshop silahkan download dan
instalasi Netbeans dan JDK.
9
BKPM – WORKSHOP PEMROGRAMAN DASAR
e. Prosedur Kerja
Lanjutkan membuat program java sederhana pada Acara 2.
g. Kesimpulan
Mahasiswa mampu mengenal java, mencakup: sejarah, kelebihan, komponen
penting, keyword, dan editor java.
h. Rubrik Penilaian
No Indikator Skor*
1 2 3 4
1 Ketepatan waktu dan ketepatan pengerjaan tugas disertai V
referensi
2 Ketepatan waktu dan ketepatan pengerjaan tanpa disertai V
referensi
3 Keterlambatan waktu dan ketepatan pengerjaan disertai referensi V
4 Keterlambatan waktu pengumpulan dan kesalahan pengerjaan V
Total Skor* Skor x 25
10
BKPM – WORKSHOP PEMROGRAMAN DASAR
Acara 2
b. Indikator
Kemampuan Mahasiswa dalam membuat program java sederhana.
c. Dasar Teori
Setelah kita mempelajari konsep dasar pada java, sekarang kita akan coba
menulis beberapa program sederhana. Sebuah program java "Hello, Word!"
adalah program sederhana yang menampilkan Hello, World! di layar. Karena ini
adalah program yang sangat sederhana, program ini sering digunakan untuk
memperkenalkan bahasa pemrograman baru kepada pemula. Sebelum membuat
program sederhana, mari kita pelajari bagaimana program Java "Hello, Word!"
bekerja.
// Your First Program
class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
Output:
Hello, word!
11
BKPM – WORKSHOP PEMROGRAMAN DASAR
2. Class HelloWord
Dalam java, setiap aplikasi dimulai dengan definisi class. Dalam program,
HelloWorld adalah nama class, dan definisi class adalah:
class HelloWord {
... ... ...
}
Perhatikan bahwa pada setiap aplikasi java memiliki definisi class, dan nama
class harus sesuai dengan nama file di Java.
3. Main method
public static void main(String[] args) { ... } adalah main method. Setiap
aplikasi di Java harus berisi main method. Kompiler Java mulai mengeksekusi
kode dari main method. Perhatikan bahwa fungsi main adalah titik masuk
aplikasi Java, dan itu wajib dalam program Java.
4. Mencetak hasil
System.out.println("Hello, Word!");
Kode di atas adalah pernyataan cetak, dalam program contoh yaitu mencetak
teks Hello, Word! ke output standar (layar). Teks di dalam tanda kutip disebut
String di Java. Perhatikan bahwa pernyataan print berada di dalam fungsi
main, yang ada di dalam definisi class.
12
BKPM – WORKSHOP PEMROGRAMAN DASAR
Untuk membuat program tulis kode pada bagian dibawah //Write your code
here.
d. Alat dan Bahan
1. BKPM
2. Komputer dengan Netbeans
3. Buku Referensi Pemrograman Visual dengan Netbeans
4. Buku Referensi Pemrograman Berorientasi Objek
5. LCD
6. ATK
e. Prosedur Kerja
• Jalankan menu File | New Project, sehingga dialog New Project muncul
• Pada Menu Categories = Java, Project = Java Application, klik tombol Next,
Sehingga New Java Application muncul
13
BKPM – WORKSHOP PEMROGRAMAN DASAR
• Isikan Sesuai dengan gambar di atas, pastikan pilihan Create Main Class
dan Set as Main project untuk dicentang, klik tombol Finish untuk
menyelesaikan pembuatan Project baru.
• Tambahkan baris program berikut pada Method Public static void main
14
BKPM – WORKSHOP PEMROGRAMAN DASAR
Lakukan kompilasi pada file tersebut dan amati hasilnya. Kenapa terjadi
kegagalan pada saat kompilasi? Benahilah kesalahan diatas sehingga program
tersebut dapat berjalan dengan baik.
g. Kesimpulan
Mahasiswa mampu membuat program java sederhana.
h. Rubrik Penilaian
No Indikator Skor*
1 2 3 4
1 Ketepatan waktu dan ketepatan pengerjaan tugas disertai V
referensi
2 Ketepatan waktu dan ketepatan pengerjaan tanpa disertai V
referensi
3 Keterlambatan waktu dan ketepatan pengerjaan disertai referensi V
4 Keterlambatan waktu pengumpulan dan kesalahan pengerjaan V
Total Skor* Skor x 25
15
BKPM – WORKSHOP PEMROGRAMAN DASAR
Acara 3
b. Indikator
Kemampuan Mahasiswa dalam memahami dan membedakan variable, konstanta,
dan literal serta mampu mengaplikasikan pada pembuatan program java
sederhana.
c. Dasar Teori
1. Variabel
Variabel adalah lokasi di memori (area penyimpanan) untuk menyimpan data.
Untuk menunjukkan area penyimpanan, setiap variabel harus diberi nama unik
(pengidentifikasi).
Contoh membuat variabel java:
Int nilai =10;
Di sini, nilai adalah variabel tipe data int dan telah ditetapkan nilainya yaitu
10. Tipe data int menunjukkan bahwa variabel hanya dapat menampung
bilangan bulat.
2. Konstanta
Di bahasa pemrograman Java, konstanta (constant) berbeda dengan variabel.
Konstanta merupakan identifier yang berisi data yang sudah ditentukan dan
pasti, tidak akan dapat berubah (permanent) di dalam program. Untuk
mendeklarasikan sebuah konstanta di Java, diperlukan kata kunci
(keyword) final sebelum tipe data dan nama konstanta.
16
BKPM – WORKSHOP PEMROGRAMAN DASAR
Berikut ini adalah sintaksis deklarasi dan pemberian nilai pada konstanta Java:
final adalah kata kunci Java yang berarti bahwa nilai sebuah konstanta tidak
dapat berubah. Secara kaidah penamaan, nama konstanta seharusnya ditulis
dengan menggunakan huruf besar semua.
3. Literal
Literal adalah data yang digunakan untuk mewakili nilai tetap. Mereka dapat
digunakan langsung dalam kode. Sebagai contoh,
int = 1;
float b = 2.5;
char c = 'F';
Di sini, 1, 2.5, dan 'F' adalah literal.
2) Literal Integer
Literal integer adalah nilai numerik (dikaitkan dengan angka) tanpa bagian
pecahan atau eksponensial. Ada 4 jenis literal integer di Java, yaitu: biner,
Decimal, Octal, dan heksadesimal.
Sebagai contoh:
// binary
int binaryNumber = 0b10010; // 0b represents binary
// octal
int octalNumber = 027;
// decimal
int decNumber = 34;
// hexadecimal
int hexNumber = 0x2F; // 0x represents hexadecimal
17
BKPM – WORKSHOP PEMROGRAMAN DASAR
3) Literal Floating-point
Literal floating-point adalah literal numerik yang memiliki bentuk pecahan
atau bentuk eksponensial. Sebagai contoh:
double myDouble = 3.4;
float myFloat = 3.4F;
// 3.445*10^2
double myDoubleScientific = 3.445e2;
4) Literal Karakter
Literal karakter adalah karakter unicode yang diapit di dalam tanda kutip
tunggal. Sebagai contoh,
5) Literal String
Literal string adalah urutan karakter yang diapit oleh tanda kutip ganda.
Sebagai contoh,
18
BKPM – WORKSHOP PEMROGRAMAN DASAR
e. Prosedur Kerja
1. Variabel
package variabel;
public class Main {
public static void main(String[] args) {
// TODO code application logic here
int umur = 24;
int UMUR = 25
System.out.println(umur); // prints 24
System.out.println(UMUR); // prints 25
}
}
Hasil Output:
// Deklarasi konstanta
final double PI = 3.14159;
19
BKPM – WORKSHOP PEMROGRAMAN DASAR
Hasil outputnya:
3. Literal
package literal;
public class Main {
public static void main(String[] args) {
int bil=10;
char karakter = '\u0041';
boolean benar = true;
boolean salah = false;
float bilangan = 1.234f;
double angka = 3.767d;
String nama = "Gibran";
Hasil output:
20
BKPM – WORKSHOP PEMROGRAMAN DASAR
Contoh output:
5. Jalankan program Java untuk menukar dua variable. Tukar dua variabel mengacu
pada saling bertukar nilai variabel. Umumnya, ini dilakukan dengan data dalam
memori. Metode paling sederhana untuk menukar dua variabel adalah dengan
menggunakan variabel ketiga sementara.
public class Main {
int a, b, temp;
a = 15;
b = 27;
System.out.println("Before swapping : a, b = "+a+", "+ + b);
temp = a;
a = b;
b = temp;
System.out.println("After swapping : a, b = "+a+", "+ + b);
}
}
Contoh output:
6. Jalankan program Java untuk menukar dua variable tanpa variable ketiga.
public class Main {
public static void main(String[] args) {
// int, double, float
int a, b;
a = 15;
b = 27;
System.out.println("Before swapping : a, b = "+a+", "+ + b);
a = a + b;
b = a - b;
a = a - b;
System.out.println("After swapping : a, b = "+a+", "+ + b);
}
}
Contoh output:
21
BKPM – WORKSHOP PEMROGRAMAN DASAR
Contoh output:
Contoh output:
9. Buatlah program Java untuk mengubah bilangan oktal menjadi bilangan biner.
• Bilangan Oktal: Sistem bilangan oktal adalah sistem bilangan berbasis-8,
dan menggunakan angka 0 hingga 7.
• Bilangan biner: Bilangan biner adalah bilangan yang dinyatakan dalam
sistem bilangan basis-2 atau sistem bilangan biner. Sistem ini hanya
menggunakan dua simbol: biasanya 1 (satu) dan 0 (nol).
Data Uji:
Masukkan angka oktal: 7
22
BKPM – WORKSHOP PEMROGRAMAN DASAR
Contoh output:
Contoh output:
23
BKPM – WORKSHOP PEMROGRAMAN DASAR
g. Kesimpulan
Mahasiswa mampu membedakan variable, konstanta, dan literal seta mampu
mengaplikasikannya pada suatu permasalahan dengan membuat program java
sederhana.
h. Rubrik Penilaian
No Indikator Skor*
1 2 3 4
1 Ketepatan waktu dan ketepatan pengerjaan tugas disertai V
referensi
2 Ketepatan waktu dan ketepatan pengerjaan tanpa disertai V
referensi
3 Keterlambatan waktu dan ketepatan pengerjaan disertai referensi V
4 Keterlambatan waktu pengumpulan dan kesalahan pengerjaan V
Total Skor* Skor x 25
24
BKPM – WORKSHOP PEMROGRAMAN DASAR
Acara 4
b. Indikator
Kemampuan mahasiswa dalam mengetahui berbagai jenis operator dan operan
serta pemanfaatannya pada pemrograman dasar dengan menggunakan
pemrograman java.
c. Dasar Teori
Operand adalah nilai asal yang dipakai dalam sebuah proses operasi.
Sedangkan Operator adalah simbol yang melakukan operasi pada variabel dan
1. Operator Aritmatika
Operator aritmatika digunakan untuk melakukan operasi aritmatika pada
variabel dan data. Sebagai contoh,
a + b;
Di sini, operator + digunakan untuk menambahkan dua variabel a dan b.
Ada berbagai operator aritmatika lainnya di Java, yaitu:
25
BKPM – WORKSHOP PEMROGRAMAN DASAR
Operator Operasi
+ Tambahan
- Pengurangan
* Perkalian
/ Pembagian
% Operasi modulo
2. Operator Penugasan
Operator penugasan digunakan di Java untuk menetapkan nilai ke
variabel. Sebagai contoh,
int usia;
usia = 25;
Di sini, = adalah operator penugasan. Dimana dia memberikan nilai di sebelah
kanannya ke variabel di sebelah kirinya. Artinya, 25 ditugaskan untuk variabel
usia. Ada beberapa operator penugasan yang tersedia di Java, yaitu:
Operator Contoh Setara dengan
= a=b a = b;
+= a += b a = a + b;
-= a -= b a = a – b;
*= a *= b a = a * b;
/= a /= b a = a / b;
%= a %= b a = a % b;
3. Operator Relasional
Operator relasional digunakan untuk memeriksa hubungan antara dua
operan. Sebagai contoh,
a < b;
Di sini, > operator adalah operator relasional. Dia memeriksa apakah a kurang
dari b atau tidak. Dimana mengembalikan nilai true atau false. Ada beberapa
operator Relasional yang tersedia di Java, yaitu:
Operator Deskripsi Contoh
== Sama dengan 3 == 5 returns false
!= Tidak sama dengan 3 != 5 returns true
> Lebih dari 3 > 5 returns false
< Kurang dari 3 < 5 returns true
>= Lebih besar dari atau sama dengan 3 >= 5 returns false
26
BKPM – WORKSHOP PEMROGRAMAN DASAR
5. Operator Unary
Operator unary digunakan hanya dengan satu operand. Misalnya, ++
adalah operator unary yang meningkatkan nilai variabel sebesar 1. Artinya,
++1 akan mengembalikan nilai 2. Beberapa jenis operator unary adalah:
Operator Arti
+ Unary plus: tidak perlu digunakan karena angka positif
tanpa menggunakannya
- Unary minus: membalikkan tanda ekspresi
++ Increment operator: menambah nilai sebesar 1
-- Decrement operator: mengurangi nilai sebesar 1
! Logical complement operator: membalikkan nilai boolean
6. Operator Bitwise
Operator bitwise di pemrograman java digunakan untuk melakukan
operasi pada bit individu. Sebagai contoh,
Operasi komplemen bitwise 35
35 = 00100011 (Dalam Biner)
~ 00100011
________
11011100 = 220 (Dalam desimal)
Di sini, ~ adalah operator bitwise. Ini membalikkan nilai setiap bit (0 ke 1 dan
1 ke 0).
27
BKPM – WORKSHOP PEMROGRAMAN DASAR
e. Prosedur Kerja
1) Operator Aritmetik
package operatoraritmatik;
public class Main {
public static void main(String[] args) {
// declare variables
int a = 20, b = 5;
// addition operator
System.out.println("a + b = " + (a + b));
// subtraction operator
System.out.println("a - b = " + (a - b));
// multiplication operator
System.out.println("a * b = " + (a * b));
// division operator
System.out.println("a / b = " + (a / b));
// modulo operator
System.out.println("a % b = " + (a % b));
}
}
28
BKPM – WORKSHOP PEMROGRAMAN DASAR
Hasil output:
2) Operator Penugasan
package operatorpenugasan;
public class Main {
public static void main(String[] args) {
// create variables
int a = 4;
int b;
System.out.println("a = 4");
// assign value using =
b = a;
System.out.println("b = a : " + b);
Hasil output:
3) Operator Relasional
package operatorrelasional;
public class Main {
public static void main(String[] args) {
// create variables
int a = 7, b = 11;
// value of a and b
29
BKPM – WORKSHOP PEMROGRAMAN DASAR
// == operator
System.out.println("a == b :");
System.out.println(a == b); // false
// != operator
System.out.println("a != b :");
System.out.println(a != b); // true
// > operator
System.out.println("a > b :");
System.out.println(a > b); // false
// < operator
System.out.println("a < b :");
System.out.println(a < b); // true
// >= operator
System.out.println("a >= b :");
System.out.println(a >= b); // false
// <= operator
System.out.println("a <= b :");
System.out.println(a <= b); // true
}
}
Hasil Output:
30
BKPM – WORKSHOP PEMROGRAMAN DASAR
4) Operator Logikal
package operatorlogika;
public class Main {
public static void main(String[] args) {
// && operator
System.out.println((5 > 3) && (8 > 5)); // true
System.out.println((5 > 3) && (8 < 5)); // false
// || operator
System.out.println((5 < 3) || (8 > 5)); // true
System.out.println((5 > 3) || (8 < 5)); // true
System.out.println((5 < 3) || (8 < 5)); // false
// ! operator
System.out.println(!(5 == 3)); // true
System.out.println(!(5 > 3)); // false
}
}
Hasil output:
5) Operator Unary
package operatorunary;
public class Main {
public static void main(String[] args) {
// declare variables
int a = 12, b = 12;
int result1, result2;
// original value
System.out.println("a = " + a);
// increment operator
result1 = ++a;
System.out.println("After increment: " + result1);
31
BKPM – WORKSHOP PEMROGRAMAN DASAR
// decrement operator
result2 = --b;
System.out.println("After decrement: " + result2);
}
}
Hasil output:
6) Operator Bitwise
package operatorbitwise;
public class Main {
public static void main(String[] args) {
String str = "POLIJE";
boolean result;
Hasil output:
32
BKPM – WORKSHOP PEMROGRAMAN DASAR
Contoh output:
System.out.println(hasilA);
System.out.println(hasilB);
System.out.println(hasilC);
}
}
Contoh output:
c = a && b;
System.out.println("true && false = " +c);
c = a || b;
System.out.println("true || false = " +c);
Contoh output:
33
BKPM – WORKSHOP PEMROGRAMAN DASAR
Contoh output:
11) Buatlah program java untuk menghitung luas dan keliling belah ketupat.
34
BKPM – WORKSHOP PEMROGRAMAN DASAR
13) Buatlah program Java yang membaca angka dalam inch, lalu mengubahnya
menjadi meter.
Inci adalah satuan panjang dalam sistem pengukuran kekaisaran (Inggris) dan
Amerika Serikat yang sekarang secara resmi sama dengan 1/36 yard tetapi
biasanya dipahami sebagai 1/12 kaki.
Meter adalah satuan dasar panjang dalam beberapa sistem metrik, termasuk
Sistem Satuan Internasional (SI). Simbol satuan SI adalah m.
Catatan: 1 inch = 0,0254 meter.
Contoh output:
14) Buatlah program Java untuk menampilkan kecepatan, dalam meter per detik,
kilometer per jam, dan mil per jam.
Input Pengguna : Jarak (dalam meter) dan waktu yang diambil (jam, menit,
detik).
Catatan : 1 mil = 1609 meter
Test Data
Input distance in meters: 2500
Input hour: 5
Input minutes: 56
Input seconds: 23
35
BKPM – WORKSHOP PEMROGRAMAN DASAR
Contoh ouput:
15) Buatlah program Java untuk mengubah suhu dari derajat Fahrenheit ke derajat
Celcius.
• Skala Fahrenheit adalah skala suhu yang didasarkan pada skala yang
diusulkan pada tahun 1724 oleh fisikawan Daniel Gabriel Fahrenheit. Ini
menggunakan derajat Fahrenheit (simbol: ° F) sebagai unit.
• Skala Celcius, sebelumnya dikenal sebagai skala celcius, adalah skala suhu
yang digunakan oleh Sistem Satuan Internasional (SI). Sebagai satuan
turunan SI, digunakan oleh semua negara di dunia, kecuali A.S.
36
BKPM – WORKSHOP PEMROGRAMAN DASAR
Data Uji:
Input a degree in Fahrenheit: 212
Contoh output:
g. Kesimpulan
Mahasiswa mampu memahami bagian-bagian dasar yaitu variable, konstanta,
literal, operator & operan serta mampu menyelesaikan permasalahan dengan
membuat program java.
h. Rubrik Penilaian
No Indikator Skor*
1 2 3 4
1 Ketepatan waktu dan ketepatan pengerjaan tugas disertai V
referensi
2 Ketepatan waktu dan ketepatan pengerjaan tanpa disertai V
referensi
3 Keterlambatan waktu dan ketepatan pengerjaan disertai referensi V
4 Keterlambatan waktu pengumpulan dan kesalahan pengerjaan V
Total Skor* Skor x 25
37
BKPM – WORKSHOP PEMROGRAMAN DASAR
Acara 5
b. Indikator
Kemampuan mahasiswa dalam memahami dan menerapkan Input & Ouput java
pada suatu kasus permasalahan.
c. Dasar Teori
1. Java Output
Di Java, keluaran dapat menggunakan:
System.out.println(); atau
System.out.print(); atau
System.out.printf();
38
BKPM – WORKSHOP PEMROGRAMAN DASAR
2. Java Input
Java menyediakan berbagai cara untuk mendapatkan input dari pengguna. Salah
satunya dengan mendapatkan input dari pengguna menggunakan objek class
Scanner. Untuk menggunakan objek Scanner, kita perlu mengimpor package
java.util.Scanner. Kemudian, kita perlu membuat objek dari class Scanner.
Kita dapat menggunakan objek untuk mengambil input dari pengguna.
1. BKPM
5. LCD
6. ATK
e. Prosedur Kerja
1. Output: println() dan print()
package io;
public class Main {
public static void main(String[] args) {
System.out.println("1. println ");
System.out.println("2. println ");
39
BKPM – WORKSHOP PEMROGRAMAN DASAR
3. Buatlah program Java untuk mengubah menit menjadi beberapa tahun dan
hari.
Data Uji:
Masukkan jumlah menit: 3456789
import java.util.Scanner;
public class Main {
Contoh output:
4. Buatlah program Java untuk mencetak 'Hallo' di layar dan kemudian cetak
nama Anda pada baris terpisah.
40
BKPM – WORKSHOP PEMROGRAMAN DASAR
Contoh output:
6. Buatlah program Java untuk membaca input dari console, lalu mencetak 'Hallo'
di layar dan kemudian cetak nama Anda pada baris terpisah.
Contoh output:
8. Buatlah program Java untuk mencetak string berikut dalam format tertentu
(lihat output).
9. Buatlah program Java yang menggunakan lima angka sebagai input untuk
menghitung dan mencetak rata-rata angka.
Data Uji:
Masukkan angka pertama: 10
Masukkan angka kedua: 20
Masukkan angka ketiga: 30
Masukkan angka keempat: 40
Masukkan angka kelima: 50
Contoh output:
41
BKPM – WORKSHOP PEMROGRAMAN DASAR
10. Buatlah program Java yang meng-inputkan n-angka sebagai input untuk
menghitung dan mencetak rata-rata angka.
Contoh output:
Contoh output:
12. Jalankan program Java untuk menghitung indeks massa tubuh (BMI).
BMI: BMI didefinisikan sebagai massa tubuh dibagi dengan kuadrat tinggi
badan, dan secara universal dinyatakan dalam satuan kg/m2, yang
dihasilkan dari massa dalam kilogram dan tinggi dalam meter.
Data Uji:
Berat (masukan dalam pound): 452
Tinggi (masukan dalam inci): 72
import java.util.Scanner;
public class Main {
42
BKPM – WORKSHOP PEMROGRAMAN DASAR
Contoh output:
13. Jalankan program Java yang menerima dua bilangan bulat dan kemudian
mencetak jumlah, selisih, perkalian, rata-rata, jarak (selisih antara bilangan
bulat), maksimum (lebih besar dari dua bilangan bulat), minimum (lebih kecil
dari keduanya bilangan bulat).
Data Uji:
Masukkan bilangan bulat pertama: 25
Masukkan bilangan bulat ke-2: 5
import java.util.Scanner;
public class Main {
43
BKPM – WORKSHOP PEMROGRAMAN DASAR
Contoh output:
14. Jalankan program Java untuk memecah bilangan bulat menjadi urutan digit
individu. Bilangan bulat adalah bilangan yang dapat ditulis tanpa komponen
pecahan. Misalnya, 12, 8, 0, dan -2365 adalah bilangan bulat, sedangkan
4.25, 57 1/2, dan √3 bukan bilangan bulat.
Data Uji:
Masukkan enam digit non-negatif: 123456
import java.util.Scanner;
public class Main{
}
}
Contoh ouput:
15. Jalankan program Java untuk menukar dua variable dengan menginputkan
dari user.
Tukar dua variabel mengacu pada saling bertukar nilai variabel. Umumnya,
ini dilakukan dengan data dalam memori. Metode paling sederhana untuk
44
BKPM – WORKSHOP PEMROGRAMAN DASAR
Contoh output:
16. Jalankan program Java untuk mencetak luas dan keliling lingkaran dengan
menginputkan jari-jari lingkaran.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner io = new Scanner(System.in);
System.out.println("Masukkan jari-jari lingkaran: ");
double radius = io.nextDouble();
System.out.println("Keliling = " + (2 * radius * Math.PI));
System.out.println("Luas = " + (Math.PI * radius * radius));
}
}
Contoh output:
17. Jalankan program Java untuk mengubah string menjadi integer di Java.
import java.util.*;
public class Main {
45
BKPM – WORKSHOP PEMROGRAMAN DASAR
Contoh output:
Data Uji:
Input the number of sides on the polygon: 7
Input the length of one of the sides: 6
import java.util.Scanner;
public class Main {
Contoh output:
46
BKPM – WORKSHOP PEMROGRAMAN DASAR
Contoh output:
20. Jalankan program Java dan hitung jumlah digit bilangan bulat.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Input an integer: ");
long n = input.nextLong();
System.out.println("The sum of the digits is: " +
sumDigits(n));
Data Uji:
Masukkan bilangan bulat: 25
47
BKPM – WORKSHOP PEMROGRAMAN DASAR
Contoh output:
21. Jalankan program untuk membaca input nama dan alamat dari user kemudian
menampilkannya.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
String nama;
String alamat;
try
{
System.out.print("Masukkan nama anda : "); // melakukan
input nama
nama = br.readLine();
System.out.print("Masukkan alamat anda : "); //
melakukan input nama
alamat = br.readLine();
48
BKPM – WORKSHOP PEMROGRAMAN DASAR
Contoh output:
Contoh output:
23. Buatlah program java yang membaca input dari user (panjang dan lebar
persegi panjang), kemudian menampilkan Luas dan Kelilingnya.
Data uji:
Masukkan Panjang (cm): 10
Masukkan Lebar (cm):8
49
BKPM – WORKSHOP PEMROGRAMAN DASAR
Contoh output:
24. Buatlah program java GUI yang membaca input NIM, nama, jurusan, dan
alamat seperti pada nomer 22.
25. Buatlah program Java yang membaca angka yang dinputkan user dan
menampilkan Square, Cube, dan Fouth Power.
Data Uji:
Input the side length value: 15
Contoh output:
g. Kesimpulan
h. Rubrik Penilaian
No Indikator Skor*
1 2 3 4
1 Ketepatan waktu dan ketepatan pengerjaan tugas disertai V
referensi
2 Ketepatan waktu dan ketepatan pengerjaan tanpa disertai V
referensi
3 Keterlambatan waktu dan ketepatan pengerjaan disertai referensi V
4 Keterlambatan waktu pengumpulan dan kesalahan pengerjaan V
Total Skor* Skor x 25
50
BKPM – WORKSHOP PEMROGRAMAN DASAR
Acara 6
b. Indikator
Kemampuan Mahasiswa dalam memahami komponen GUI serta dapat
mendesain/membuat tampilan aplikasi GUI menggunakan AWT dan Swing.
c. Dasar Teori
Tanpa mempelajari tentang grapichal user interface (GUI) API, Anda masih tetap
bisa membuat suatu program. Tetapi, program Anda akan kelihatan tidak menarik
dan tidak nyaman digunakan bagi para user. Memiliki GUI yang baik dapat memberi
efek pada penggunaan aplikasi. Java menyediakan banyak tool seperti Abstract
Windowing Toolkit dan Swing untuk mengembangkan aplikasi GUI yang interaktif.
The Java Foundation Class (JFC), merupakan bagian penting dari Java SDK, yang
termasuk dalam koleksi dari API dimana dapat mempermudah pengembangan
aplikasi JAVA GUI. JFC termasuk diantara 5 bagian utama dari API yaitu AWT dan
Swing. Tiga bagian yang lainnya dari API adalah Java2D, Accessibility, dan Drag and
Drop. Semua itu membantu developer dalam mendesain dan mengimplementasikan
aplikasi dengan visualisasi yang lebih baik.
AWT dan Swing menyediakan komponen GUI yang dapat digunakan dalam
membuat aplikasi Java dan applet. Anda akan mempelajari applet pada bab
berikutnya. Tidak seperti beberapa komponen AWT yang menggunakan native code,
keseluruhan Swing ditulis menggunakan bahasa pemrograman Java. Swing
menyediakan implementasi platform-independent dimana aplikasi yang
dikembangkan dengan platform yang berbeda dapat memiliki tampilan yang sama.
51
BKPM – WORKSHOP PEMROGRAMAN DASAR
Begitu juga dengan AWT menjamin tampilan look and feel pada aplikasi yang
dijalankan pada dua mesin yang berbeda menjadi terlihat sama. Swing API dibangun
dari beberapa API yang mengimplementasikan beberapa jenis bagian dari AWT.
Kesimpulannya, komponen AWT dapat digunakan bersama dengan komponen Swing.
1. BKPM
5. LCD
6. ATK
e. Prosedur Kerja
Pada percobaan ini kita akan membuat program GUI java dengan dua cara
yaitu Hard coding dan Drag and Drop. Sebelum kita mulai, buatlah project baru
pada Netbeans.
52
BKPM – WORKSHOP PEMROGRAMAN DASAR
Isi nama projectnya dengan BelajarSwing dan jangan centang “Create Main
Class”. Lalu klik Finish.
Jangan dicentang
53
BKPM – WORKSHOP PEMROGRAMAN DASAR
54
BKPM – WORKSHOP PEMROGRAMAN DASAR
55
BKPM – WORKSHOP PEMROGRAMAN DASAR
Pada class FirsWindow.java yang telah dibuat, kemudian buat kodenya seperti
ini:
Setelah itu jalankan programnya dengan menekan Shift+F6 atau klik kanan,
56
BKPM – WORKSHOP PEMROGRAMAN DASAR
Hasil outputnya:
Apabila kita meanginginkan membuat jendela untuk aplikasi yang besar dan
kompleks dengan menggunakan hard coding, kita bisa membuat turunan dari
JFrame. Seperti: Class MainWindow, Class TransactionWindow, Class
DetailWindow, dll. Sebagai contoh, Buatlah sebuah file class java baru
bernama MainWindow.java, kemudian isi dengan kode berikut:
57
BKPM – WORKSHOP PEMROGRAMAN DASAR
Hasil outputnya:
Ulangi langkah diatas untuk membuat project baru, package, dan class baru.
Nama class sesuaikan dengan contoh program yang sudah diberikan.
58
BKPM – WORKSHOP PEMROGRAMAN DASAR
A. Hard Coding:
1) Menampilkan Frame
import java.awt.Frame;
public class SampleFrame extends Frame{
public SampleFrame() {
}
public static void main(String args[]) {
SampleFrame sf = new SampleFrame();
sf.setSize(300, 300); //Coba hilangkan baris ini
sf.setVisible(true); //Coba hilangkan baris ini
}}
2) Menampilkan Panel
import java.awt.Frame;
public class GraphicPanel extends Panel {
public GraphicPanel() {
setBackground(Color.black);
}
public void paint(Graphics g) {
g.setColor(new Color(0,255,0)); //green
g.setFont(new Font("Helvetica",Font.PLAIN,16));
g.drawString("Hello GUI World!", 30, 100);
g.setColor(new Color(1.0f,0,0)); //red
g.fillRect(30, 100, 150, 10);
}
public static void main(String args[]) {
Frame f = new Frame("Testing Graphics Panel");
GraphicPanel gp = new GraphicPanel();
f.add(gp);
f.setSize(600, 300);
f.setVisible(true);
}
}
59
BKPM – WORKSHOP PEMROGRAMAN DASAR
import java.awt.*;
public class FrameWControls extends Frame{
public FrameWControls() {
}
public static void main(String args[]) {
FrameWControls fwc = new FrameWControls();
fwc.setLayout(new FlowLayout()); //more on this later
fwc.setSize(600, 600);
fwc.add(new Button("Test Me!"));
fwc.add(new Label("Labe"));
fwc.add(new TextField());
CheckboxGroup cbg = new CheckboxGroup();
fwc.add(new Checkbox("chk1", cbg, true));
fwc.add(new Checkbox("chk2", cbg, false));
fwc.add(new Checkbox("chk3", cbg, false));
List list = new List(3, false);
list.add("MTV");
list.add("V");
fwc.add(list);
Choice chooser = new Choice();
chooser.add("Avril");
chooser.add("Monica");
chooser.add("Britney");
fwc.add(chooser);
fwc.add(new Scrollbar());
fwc.setVisible(true);
}
}
60
BKPM – WORKSHOP PEMROGRAMAN DASAR
import java.awt.*;
public class FlowLayoutDemo extends Frame{
public FlowLayoutDemo() {
}
public static void main(String args[]) {
FlowLayoutDemo fld = new FlowLayoutDemo();
fld.setLayout(new FlowLayout(FlowLayout.RIGHT, 10, 10));
fld.add(new Button("ONE"));
fld.add(new Button("TWO"));
fld.add(new Button("THREE"));
fld.setSize(100, 100);
fld.setVisible(true);
}
}
import java.awt.*;
public class BorderLayoutDemo extends Frame{
public BorderLayoutDemo() {
}
public static void main(String args[]) {
BorderLayoutDemo bld = new BorderLayoutDemo();
bld.setLayout(new BorderLayout(10, 10)); //may remove
bld.add(new Button("NORTH"), BorderLayout.NORTH);
bld.add(new Button("SOUTH"), BorderLayout.SOUTH);
bld.add(new Button("EAST"), BorderLayout.EAST);
bld.add(new Button("WEST"), BorderLayout.WEST);
bld.add(new Button("CENTER"), BorderLayout.CENTER);
bld.setSize(200, 200);
bld.setVisible(true);
}
}
61
BKPM – WORKSHOP PEMROGRAMAN DASAR
import java.awt.*;
public class GridLayoutDemo extends Frame {
public GridLayoutDemo() {
}
public static void main(String args[]) {
GridLayoutDemo gld = new GridLayoutDemo();
gld.setLayout(new GridLayout(2, 3, 4, 4));
gld.add(new Button("ONE"));
gld.add(new Button("TWO"));
gld.add(new Button("THREE"));
gld.add(new Button("FOUR"));
gld.add(new Button("FIVE"));
gld.setSize(200, 200);
gld.setVisible(true);
}
}
62
BKPM – WORKSHOP PEMROGRAMAN DASAR
panelCenter.add(new TextField("3rd"));
panelCenter.add(new TextField("4th"));
panelSouth.setLayout(new BorderLayout());
panelSouth.add(new Checkbox("Choose me!"),
BorderLayout.CENTER);
panelSouth.add(new Checkbox("I'm here!"),
BorderLayout.EAST);
panelSouth.add(new Checkbox("Pick me!"),
BorderLayout.WEST);
cl.add(panelNorth, BorderLayout.NORTH);
cl.add(panelCenter, BorderLayout.CENTER);
cl.add(panelSouth, BorderLayout.SOUTH);
cl.setSize(300,300);
cl.setVisible(true);
}
}
Hasil Percobaan 7 Output Complex Layout:
63
BKPM – WORKSHOP PEMROGRAMAN DASAR
import java.awt.*;
import javax.swing.*;
public class SwingDemo {
JFrame frame;
JPanel panel;
JTextField textField;
JButton button;
Container contentPane;
public SwingDemo() {
}
void launchFrame() {
frame = new JFrame("My First Swing Application");
panel = new JPanel();
textField = new JTextField("Default text");
button = new JButton("Click me!");
contentPane = frame.getContentPane();
panel.add(textField);
panel.add(button);
contentPane.add(panel, BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
}
public static void main(String args[]) {
SwingDemo sd = new SwingDemo();
sd.launchFrame();
}
}
import javax.swing.*;
import java.awt.*;
public class JOptionPaneDemo {
JOptionPane optionPane;
public JOptionPaneDemo() {
}
void launchFrame() {
optionPane = new JOptionPane();
String name = optionPane.showInputDialog("Hi, what's yourname?");
optionPane.showMessageDialog(null,"Nice to meet you, " + name +
".", "Greeting...",optionPane.PLAIN_MESSAGE);
System.exit(0);
}
public static void main(String args[]) {
new JOptionPaneDemo().launchFrame();
}
}
64
BKPM – WORKSHOP PEMROGRAMAN DASAR
Langkah pertama kita buat JFrame form baru di dalam package jendela.
65
BKPM – WORKSHOP PEMROGRAMAN DASAR
66
BKPM – WORKSHOP PEMROGRAMAN DASAR
Komponen Swing
Sekarang cobalah beberapa komponen Swing dan lakukan Edit Text untuk
mengganti isi text sesuai keinginan.
Coba Button:
67
BKPM – WORKSHOP PEMROGRAMAN DASAR
Coba Label:
Coba CheckBox:
68
BKPM – WORKSHOP PEMROGRAMAN DASAR
Coba TextArea:
Coba TextField:
69
BKPM – WORKSHOP PEMROGRAMAN DASAR
Coba RadioButton:
Kemudian lakukan Running program. Maka akan tampil halaman seperti pada
gambar dibawah ini.
70
BKPM – WORKSHOP PEMROGRAMAN DASAR
Mengubah teks,
font, size, dll.
Karena drag & drop, kita bisa mengatur properti jendelanya dengan mudah.
Silahkan atur sesuai selera dan tambahkan komponen TextArea, sehingga
menjadi seperti ini.
71
BKPM – WORKSHOP PEMROGRAMAN DASAR
2) Buatlah New JFrame Form untuk membuat tampilan kalkulator seperti gambar
dibawah ini.
72
BKPM – WORKSHOP PEMROGRAMAN DASAR
73
BKPM – WORKSHOP PEMROGRAMAN DASAR
Selanjutnya kita tambahkan Handler pada button. Ketika tombol diklik maka
program akan melakukan sesuatu. Caranya adalah dengan menambahkan fungsi
atau method untuk menangani event klik pada button. Cara menambahkannya
adalah dengan klik kanan pada button, lalu pilih Events → Action →
actionPerformed atau klik 2 kali pada button.
74
BKPM – WORKSHOP PEMROGRAMAN DASAR
Contoh output:
75
BKPM – WORKSHOP PEMROGRAMAN DASAR
Setelah itu, klik 2 kali pada btnHitung untuk menambahkan method handler
untuk event click. Kemudian isi kode method-nya seperti ini:
Contoh output:
76
BKPM – WORKSHOP PEMROGRAMAN DASAR
g. Kesimpulan
Mahasiswa mampu memahami komponen GUI serta dapat mendesain/membuat
tampilan aplikasi GUI menggunakan AWT dan Swing.
h. Rubrik Penilaian
No Indikator Skor*
1 2 3 4
1 Ketepatan waktu dan ketepatan pengerjaan tugas disertai V
referensi
2 Ketepatan waktu dan ketepatan pengerjaan tanpa disertai V
referensi
3 Keterlambatan waktu dan ketepatan pengerjaan disertai referensi V
4 Keterlambatan waktu pengumpulan dan kesalahan pengerjaan V
Total Skor* Skor x 25
77
BKPM – WORKSHOP PEMROGRAMAN DASAR
Acara 7
b. Indikator
Kemampuan Mahasiswa dalam memahami komponen-komponen delegation
event model, class-class adapter, keuntungan-keuntungan menggunakan inner
dan anonymous class, serta membuat aplikasi GUI yang berinteraksi dengan
user.
c. Dasar Teori
Pada modul ini, Anda akan belajar bagaimana mengendalikan events triggered
ketika user berinteraksi dengan aplikasi GUI Anda. Setelah menyelesaikan modul ini,
Anda akan dapat mengembangkan aplikasi GUI yang dapat merespon interaksi user.
Delegasi event model menguraikan bagaimana program Anda dapat merespon
interaksi dari user. Untuk memahami model, mari kita pelajari pertama-tama melalui
tiga komponen utamanya.
a. Event Source
The event source mengacu pada komponen GUI yang meng-generate event.
Sebagai contoh, jika user menekan tombol, event source dalam hal ini adalah
tombol.
b. Event Listener/Handler
The event listener menerima berita dari event-event dan proses-proses interaksi
user. Ketika tombol ditekan, listener akan mengendalikan dengan menampilkan
sebuah informasi yang berguna untuk user.
c. Event Object
78
BKPM – WORKSHOP PEMROGRAMAN DASAR
Ketika sebuah event terjadi (misal, ketika user berinteraksi dengan komponen
GUI), sebuah object event diciptakan. Object berisi semua informasi yang perlu
tentang event yang telah terjadi. Informasi meliputi tipe dari event yang telah
terjadi, seperti ketika mouse telah di-klik. Ada beberapa class event untuk
kategori yang berbeda dari user action. Sebuah event object mempunyai tipe data
mengenai salah satu class ini.
1. BKPM
5. LCD
6. ATK
e. Prosedur Kerja
1) Mouse Event Demo
import java.awt.*;
import java.awt.event.*;
public class MouseEventsDemo extends Frame implements
MouseListener, MouseMotionListener {
TextField tf;
public MouseEventsDemo(String title){
super(title);
tf = new TextField(60);
addMouseListener(this);
}
public void launchFrame() {
/* Menambah komponen pada frame */
add(tf, BorderLayout.SOUTH);
setSize(300,300);
setVisible(true);
}
public void mouseClicked(MouseEvent me) {
String msg = "Mouse clicked.";
tf.setText(msg);
}
public void mouseEntered(MouseEvent me) {
String msg = "Mouse entered component.";
tf.setText(msg);
}
79
BKPM – WORKSHOP PEMROGRAMAN DASAR
80
BKPM – WORKSHOP PEMROGRAMAN DASAR
2) Close Frame
import java.awt.*;
import java.awt.event.*;
class CloseFrame extends Frame implements WindowListener {
Label label;
CloseFrame(String title) {
super(title);
label = new Label("Close the frame.");
this.addWindowListener(this);
}
void launchFrame() {
setSize(300,300);
setVisible(true);
}
public void windowActivated(WindowEvent e) {
}
public void windowClosed(WindowEvent e) {
}
public void windowClosing(WindowEvent e) {
setVisible(false);
System.exit(0);
}
public void windowDeactivated(WindowEvent e) {
}
public void windowDeiconified(WindowEvent e) {
}
public void windowIconified(WindowEvent e) {
}
public void windowOpened(WindowEvent e) {
}
public static void main(String args[]) {
CloseFrame cf = new CloseFrame("Close Window Example");
cf.launchFrame();
}
}
81
BKPM – WORKSHOP PEMROGRAMAN DASAR
import java.awt.*;
import java.awt.event.*;
class CloseFrame extends Frame{
Label label;
CFListener w = new CFListener(this);
CloseFrame(String title) {
super(title);
label = new Label("Close the frame.");
this.addWindowListener(w);
}
void launchFrame() {
setSize(300,300);
setVisible(true);
}
82
BKPM – WORKSHOP PEMROGRAMAN DASAR
import java.awt.*;
import java.awt.event.*;
class CloseFrame extends Frame{
Label label;
CloseFrame(String title) {
super(title);
label = new Label("Close the frame.");
this.addWindowListener(new CFListener());
}
void launchFrame() {
setSize(300,300);
setVisible(true);
}
class CFListener extends WindowAdapter {
public void windowClosing(WindowEvent e) {
dispose();
System.exit(1);
}
}
public static void main(String args[]) {
CloseFrame cf = new CloseFrame("Close Window
Example");
cf.launchFrame();
}
}
83
BKPM – WORKSHOP PEMROGRAMAN DASAR
import java.awt.*;
import java.awt.event.*;
class CloseFrame extends Frame{
Label label;
CloseFrame(String title) {
super(title);
label = new Label("Close the frame.");
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e){
dispose();
System.exit(1);
}
});
}
void launchFrame() {
setSize(300,300);
setVisible(true);
}
public static void main(String args[]) {
CloseFrame cf = new CloseFrame("Close Window Example");
cf.launchFrame();
}
}
84
BKPM – WORKSHOP PEMROGRAMAN DASAR
g. Kesimpulan
Mahasiswa mampu dalam memahami komponen-komponen delegation event
model, class-class adapter, keuntungan-keuntungan menggunakan inner dan
anonymous class, serta membuat aplikasi GUI yang berinteraksi dengan user.
h. Rubrik Penilaian
No Indikator Skor*
1 2 3 4
1 Ketepatan waktu dan ketepatan pengerjaan tugas disertai V
referensi
2 Ketepatan waktu dan ketepatan pengerjaan tanpa disertai V
referensi
3 Keterlambatan waktu dan ketepatan pengerjaan disertai referensi V
4 Keterlambatan waktu pengumpulan dan kesalahan pengerjaan V
Total Skor* Skor x 25
85
BKPM – WORKSHOP PEMROGRAMAN DASAR
Acara 9
b. Indikator
Kemampuan mahasiswa dalam memahami kondisi if dan menerapkannya pada
program java.
c. Dasar Teori
Dalam pemrograman, kita menggunakan pernyataan if..else untuk
menjalankan blok kode di antara lebih dari satu alternatif. Misalnya, pemberian
nilai (A, B, C) berdasarkan persentase yang diperoleh seorang siswa.
jika persentasenya di atas 90, berikan nilai A
jika persentasenya di atas 75, berikan nilai B
jika persentasenya di atas 65, berikan nilai C
Statement if
Percabangan ini hanya memiliki satu pilihan. Artinya, pilihan di dalam IF
hanya akan dikerjakan kalau kondisinya benar. Sintaks dari statemen if adalah:
if (kondisi) {
// statemen
}
Di sini, kondisinya adalah ekspresi boolean seperti usia >= 18.
jika kondisi bernilai true, statemen dieksekusi
jika kondisi bernilai false, statemen akan dilewati
Statement if else
Statemen if mengeksekusi bagian kode tertentu jika ekspresi pengujian
dievaluasi menjadi true. Namun, jika ekspresi pengujian dievaluasi adalah false,
86
BKPM – WORKSHOP PEMROGRAMAN DASAR
maka tidak melakukan apa-apa. Dalam hal ini, kita dapat menggunakan blok
else. Statemen di dalam tubuh blok else dieksekusi jika ekspresi pengujian
yang dievaluasi false. Hal ini dikenal sebagai pernyataan if-...else di Java.
Sintaks dari pernyataan if...else adalah:
if (kondisi) {
// kode di blok if
}
else {
// kode di blok else
}
Di sini, program akan melakukan satu tugas (kode di dalam blok if) jika
kondisinya benar dan tugas lain (kode di dalam blok else) jika kondisinya salah.
Statemen if else if
Di Java, kita memiliki tangga if...else...if, yang dapat digunakan untuk
mengeksekusi satu blok kode di antara beberapa blok lainnya.
if (kondisi1) {
// kode
}
else if(kondisi2) {
// kode
}
else if (kondisi3) {
// kode
}
.
.
else {
// kode
}
87
BKPM – WORKSHOP PEMROGRAMAN DASAR
1. BKPM
5. LCD
6. ATK
e. Prosedur Kerja
1. Jalankan progam java if dengan String
class Main {
public static void main(String[] args) {
// create a string variable
String language = "Java";
// if statement
if (language == "Java") {
System.out.println("Best Programming Language");
}
}
}
Contoh output:
88
BKPM – WORKSHOP PEMROGRAMAN DASAR
Contoh output:
int number = 0;
Contoh output:
else {
largest = n3;
}
} else {
89
BKPM – WORKSHOP PEMROGRAMAN DASAR
else {
largest = n3;
}
}
Contoh output:
Hasil output:
7. Jalankan program Java dibawah untuk memeriksa apakah angka yang diberikan
adalah angka Fibonacci atau bukan.
import java.util.*;
90
BKPM – WORKSHOP PEMROGRAMAN DASAR
class Main {
static boolean isPerfectSquare(int x)
{
int s = (int) Math.sqrt(x);
return (s*s == x);
}
Contoh output:
8. Jalankan program Java untuk memeriksa suatu bilangan apakah kubus atau
bukan.
Dalam aritmatika dan aljabar, pangkat tiga bilangan n adalah pangkat tiga: hasil
perkalian bilangan dengan dirinya sendiri dua kali:
n3 = n × n × n
Uji Data:
Input a number: 8
Input a number: 11
import java.util.Scanner;
public class Main {
91
BKPM – WORKSHOP PEMROGRAMAN DASAR
System.out.println("\n");
}
}
Contoh output:
9. Jalankan program Java untuk mendapatkan nomor dari pengguna dan cetak
apakah itu positif atau negatif.
Data Uji:
Lakukan data uji 3 kali,
1) Input number: 35
2) Input number: -2
3) Input number: 0
import java.util.Scanner;
public class Main {
if (input > 0)
{
System.out.println("Number is positive");
}
else if (input < 0)
{
System.out.println("Number is negative");
}
else
{
System.out.println("Number is zero");
}
}
}
Contoh output:
10. Jalankan program Java untuk menerima suatu bilangan dan memeriksa bilangan
itu genap atau tidak. Mencetak 1 jika bilangan yang diinputkan genap atau 0 jika
bilangan yang diinputkan ganjil.
import java.util.*;
public class Main {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
System.out.print("Input a number: ");
92
BKPM – WORKSHOP PEMROGRAMAN DASAR
int n = in.nextInt();
if (n % 2 == 0) {
System.out.println(1);
}
else {
System.out.println(0);
}
}
}
Contoh output:
Contoh output:
11. Jalankan program Java yang membaca dalam dua angka floating-point dan
menguji apakah angka tersebut sama hingga tiga tempat desimal.
Data Uji:
Input floating-point number: 15.768
Input floating-point another number: 15.769
import java.util.Scanner;
public class Main {
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
x = Math.round(x * 1000);
x = x / 1000;
y = Math.round(y * 1000);
y = y / 1000;
if (x == y)
{
System.out.println("They are the same up to three decimal
places");
}
else
{
System.out.println("They are different");
}
}
}
Contoh output:
93
BKPM – WORKSHOP PEMROGRAMAN DASAR
12. Jalankan program java untuk mencetak keterangan nilai dari nilai yang
diinputkan user.
import java.util.Scanner;
Contoh output:
13. Buatlah program Java untuk menyelesaikan persamaan kuadrat (gunakan if, else
if dan else).
Data Uji:
Input a: 1
Input b: 5
Input c: 1
94
BKPM – WORKSHOP PEMROGRAMAN DASAR
Contoh output:
Input a: 1
Input b: 5
Input c: 1
The roots are -0.4384471871911697 and -4.561552812808831
14. Buatlah program untuk mengambil tiga angka dari pengguna dan cetak angka
terbesar.
Data Uji:
Masukkan angka ke-1: 25
Masukkan angka ke-2: 78
Masukkan angka ke-3: 87
Contoh output:
Masukkan angka ke-1: 25
Masukkan angka ke-2: 78
Masukkan angka ke-3: 87
Angka terbesar: 87
15. Buatlah program Java yang membaca angka floating-point. Jika angkanya 0 ia
mencetak "nol", jika tidak, cetak "positif" atau "negatif". Tambahkan keterangan
"small" jika nilai absolut dari angka tersebut kurang dari 1, atau "large" jika
melebihi 1.000.000. contoh: -2 → negative, -123455987 → negative large, -0.2
→ negative small
Data Uji:
1. Input a number: -2534
negative
2. Input a number: -123456789
negative large
3. Input a number: -0.2
95
BKPM – WORKSHOP PEMROGRAMAN DASAR
negative small
4. Input a number: 2534
Positive
5. Input a number: 123456789
Positive large
6. Input a number: 0.2
Positive small
g. Kesimpulan
Mahasiswa mampu memahami dan memanfaatkan algortima if untuk membuat
program java.
h. Rubrik Penilaian
No Indikator Skor*
1 2 3 4
1 Ketepatan waktu dan ketepatan pengerjaan tugas disertai V
referensi
2 Ketepatan waktu dan ketepatan pengerjaan tanpa disertai V
referensi
3 Keterlambatan waktu dan ketepatan pengerjaan disertai referensi V
4 Keterlambatan waktu pengumpulan dan kesalahan pengerjaan V
Total Skor* Skor x 25
96
BKPM – WORKSHOP PEMROGRAMAN DASAR
Acara 10
b. Indikator
Kemampuan mahasiswa dalam memahami kondisi switch dan menerapkannya
pada program java.
c. Dasar Teori
Kondisi switch memungkinkan kita untuk mengeksekusi blok kode di antara
banyak alternatif. Sintaks dari statemen switch di Java adalah:
switch (expression) {
case value1:
// code
break;
case value2:
// code
break;
...
...
default:
// default statements
}
Ekspresi dievaluasi sekali dan dibandingkan dengan setiap case value. Jika
ekspresi cocok dengan value1, kode case value1 dieksekusi. Demikian pula,
97
BKPM – WORKSHOP PEMROGRAMAN DASAR
kode case value2 dieksekusi jika ekspresi cocok dengan value2. Jika tidak ada
kecocokan, kode case default dijalankan.
d. Alat dan Bahan
1. BKPM
5. LCD
6. ATK
e. Prosedur Kerja
Hasil output:
98
BKPM – WORKSHOP PEMROGRAMAN DASAR
case 1: switch(year) {
case 2002 : System.out.println("Bulan 1 tahun 2002");
break;
case 2003 : //...
}
case 2: //... default: //default...
}
}
}
Hasil output:
3. Jalankan program Java yang menyimpan nomor dari pengguna dan menghasilkan
bilangan bulat antara 1 dan 7 dan menampilkan nama hari.
Data Uji:
Input number: 3
import java.util.Scanner;
public class Main {
System.out.println(getDayName(day));
}
return dayName;
}
}
Contoh output:
99
BKPM – WORKSHOP PEMROGRAMAN DASAR
case 29:
size = "Small";
break;
case 42:
size = "Medium";
break;
case 48:
size = "Extra Large";
break;
default:
size = "Unknown";
break;
}
System.out.println("Size: " + size);
}
}
Contoh output:
int expression = 2;
// matching case
case 2:
System.out.println("Case 2");
case 3:
System.out.println("Case 3");
default:
System.out.println("Default case");
}
100
BKPM – WORKSHOP PEMROGRAMAN DASAR
}
}
Contoh output:
Mengapa dalam contoh di atas semua case setalah case 2 juga dieksekusi?
Jelaskan alasannya pada analisa hasil dan pembahasan.
int expression = 5;
switch(expression) {
case 2:
System.out.println("Small Size");
break;
case 3:
System.out.println("Large Size");
break;
// default case
default:
System.out.println("Unknown Size");
}
}
}
Contoh output:
class Main {
public static void main(String args[]){
char nilai;
Scanner input = new Scanner(System.in);
switch (nilai) {
case 'A':
System.out.println("Istimewa");
break;
101
BKPM – WORKSHOP PEMROGRAMAN DASAR
case 'B':
System.out.println("Baik");
break;
case 'C':
System.out.println("Cukup");
break;
case 'D':
System.out.println("Kurang");
break;
case 'E':
System.out.println("Kurang sekali");
break;
default:
System.out.println("Nilai tidak sesuai");
}
}
}
Contoh output:
import java.util.Scanner;
102
BKPM – WORKSHOP PEMROGRAMAN DASAR
Contoh output:
9. Buatlah program Java untuk mencari jumlah hari dalam satu bulan dengan
memasukkan nomer bulan dan tahun.
Data Uji:
Masukkan nomer bulan: 8
Masukkan tahun: 2021
Contoh output:
103
BKPM – WORKSHOP PEMROGRAMAN DASAR
g. Kesimpulan
Mahasiswa mampu memahami dan membuat aplikasi dengan memanfaatkan
algortima switch pada java.
h. Rubrik Penilaian
No Indikator Skor*
1 2 3 4
1 Ketepatan waktu dan ketepatan pengerjaan tugas disertai V
referensi
2 Ketepatan waktu dan ketepatan pengerjaan tanpa disertai V
referensi
3 Keterlambatan waktu dan ketepatan pengerjaan disertai referensi V
4 Keterlambatan waktu pengumpulan dan kesalahan pengerjaan V
Total Skor* Skor x 25
104
BKPM – WORKSHOP PEMROGRAMAN DASAR
Acara 11
j. Indikator
Kemampuan mahasiswa dalam memahami dan menerapkan algoritma
perulangan for java pada suatu kasus permasalahan.
k. Dasar Teori
Perulangan java for digunakan untuk menjalankan blok kode beberapa kali.
Sintaks dari perulangan for adalah:
105
BKPM – WORKSHOP PEMROGRAMAN DASAR
}
Dimana,
array - array atau koleksi
item - setiap item array/koleksi ditugaskan ke variabel ini
dataType - tipe data array/koleksi
1. BKPM
5. LCD
6. ATK
m. Prosedur Kerja
Hasil output:
106
BKPM – WORKSHOP PEMROGRAMAN DASAR
Hasil output:
Hasil output:
Hasil output:
107
BKPM – WORKSHOP PEMROGRAMAN DASAR
Hasil output:
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
7. Jalankan program di Java untuk mencetak pola seperti segitiga siku-siku dengan
angka yang akan mengulang angka secara berurutan. Polanya adalah sebagai
berikut:
1
22
333
4444
108
BKPM – WORKSHOP PEMROGRAMAN DASAR
Data Uji:
Input number of n: 4
import java.util.Scanner;
public class Main {
{
int i,j,n;
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
System.out.print(i);
System.out.println("");
}
}
}
Contoh output:
8. jalankanlah program java untuk mencetak pola seperti piramida dengan nomor
yang akan mengulangi nomor di baris yang sama.
1
22
333
4444
Data Uji:
Input number of rows: 4
import java.util.Scanner;
public class Main {
109
BKPM – WORKSHOP PEMROGRAMAN DASAR
s=n+4-1;
for(i=1;i<=n;i++)
{
for(x=s;x!=0;x--)
{
System.out.print(" ");
}
for(j=1;j<=i;j++)
{
System.out.print(i+" ");
}
System.out.println(); v
s--;
}
}
}
Contoh output:
Contoh output:
Data Uji:
Input number of rows: 6
110
BKPM – WORKSHOP PEMROGRAMAN DASAR
Contoh output:
o. Kesimpulan
p. Rubrik Penilaian
No Indikator Skor*
1 2 3 4
1 Ketepatan waktu dan ketepatan pengerjaan tugas disertai V
referensi
2 Ketepatan waktu dan ketepatan pengerjaan tanpa disertai V
referensi
3 Keterlambatan waktu dan ketepatan pengerjaan disertai referensi V
4 Keterlambatan waktu pengumpulan dan kesalahan pengerjaan V
Total Skor* Skor x 25
111
BKPM – WORKSHOP PEMROGRAMAN DASAR
Acara 12
b. Indikator
Kemampuan mahasiswa dalam memahami dan menerapkan algoritma
perulangan while java pada suatu kasus permasalahan.
c. Dasar Teori
Perulangan while digunakan untuk menjalankan kode tertentu hingga kondisi
tertentu terpenuhi. Sintaks dari perulangan while adalah:
while (testExpression) {
// body of loop
}
1. BKPM
5. LCD
112
BKPM – WORKSHOP PEMROGRAMAN DASAR
6. ATK
e. Prosedur Kerja
1. Jalankan program dibawah, mencetak angka sebelum while dan sesudah while.
class TestIter1 {
public static void main(String[] args) {
int a = 9 ;
System.out.println("Sebelum while");
while(a>=10) {
System.out.println("Nilai a : "+a);
a--;
}
System.out.println("Setelah while");
}
}
Hasil output:
2. Jalankan program di bawah, mencetak angka sebelum while dan sesudah while.
class TestIter8 {
public static void main(String[] args) {
int a = 10 ;
System.out.println("Sebelum while");
while(a>0) {
System.out.println("Nilai a : "+a);
a--;
}
System.out.println("Setelah while");
}
}
Hasil output:
113
BKPM – WORKSHOP PEMROGRAMAN DASAR
// declare variables
int i = 1, n = 5;
Hasil output:
int i = 1;
while (i <= 5){
System.out.println("Hello World");
i++;
}
}
}
Contoh output:
5. Jalankanlah program java untuk mencetak semua faktor prima dari suatu
bilangan.
import java.util.*;
class Main {
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
Scanner scan = new Scanner(System.in);
System.out.println("Input a number: ");
int n = scan.nextInt();
if (n>0)
{
while (n%2==0)
{
System.out.print(2 + " ");
n /= 2;
}
114
BKPM – WORKSHOP PEMROGRAMAN DASAR
Contoh output:
class Main {
public static void main(String[] args) {
int sum = 0;
System.out.println("Enter a number");
number = input.nextInt();
}
115
BKPM – WORKSHOP PEMROGRAMAN DASAR
}}
Contoh output:
7. Buatlah program java untuk mencetak “Hello word” sebanyak 5 kali, tiap
mencetak diberikan angka meningkat dari 1 sampai dengan 5.
Contoh output:
8. Buatlah program java untuk mencetak “Hello word” sebanyak 5 kali, tiap
mencetak diberikan angka menurun dari 10 sampai dengan 6.
Contoh output:
g. Kesimpulan
h. Rubrik Penilaian
No Indikator Skor*
1 2 3 4
1 Ketepatan waktu dan ketepatan pengerjaan tugas disertai V
116
BKPM – WORKSHOP PEMROGRAMAN DASAR
referensi
2 Ketepatan waktu dan ketepatan pengerjaan tanpa disertai V
referensi
3 Keterlambatan waktu dan ketepatan pengerjaan disertai referensi V
4 Keterlambatan waktu pengumpulan dan kesalahan pengerjaan V
Total Skor* Skor x 25
117
BKPM – WORKSHOP PEMROGRAMAN DASAR
Acara 13
b. Indikator
Kemampuan mahasiswa dalam memahami dan menerapkan algoritma
perulangan do while java pada suatu kasus permasalahan.
c. Dasar Teori
Perulangan do while mirip dengan perulangan while. Namun, badan
perulangan do while dieksekusi satu kali sebelum textExpression diperiksa.
Sebagai contoh,
do {
// body of loop
} while(textExpression)
118
BKPM – WORKSHOP PEMROGRAMAN DASAR
1. BKPM
5. LCD
6. ATK
e. Prosedur Kerja
1. Jalankan program dibawah.
class TestIter2 {
public static void main(String[] args) {
int b = 9 ;
System.out.println("Sebelum do");
do {
System.out.println("Nilai b : "+b);
b--;
}
while (b>=10);
System.out.println("Setelah do");
}
}
Hasil output:
int b = 0 ;
System.out.println("Sebelum do");
do {
System.out.println("Nilai b : "+b);
b--;
}
while (b>0);
System.out.println("Setelah do");
}
}
Hasil output:
119
BKPM – WORKSHOP PEMROGRAMAN DASAR
{
int bilangan=1;
do{
System.out.println(bilangan);
}
while (bilangan>=5);
} }
Hasil output:
int i = 1, n = 5;
Hasil output:
5. Jalankan program dibawah, untuk membaca nilai yang diinputkan user lalu
menjumlahkan hanya bilangan bulat positif.
Uji Data:
Enter a number: 10
Enter a number: 5
Enter a number: 3
Enter a number: -7
class Main {
public static void main(String[] args) {
int sum = 0;
int number = 0;
120
BKPM – WORKSHOP PEMROGRAMAN DASAR
Contoh output:
7. Buatlah program java GUI untuk menampilkan rata-rata nilai yang diinputkan
oleh user menggunakan statement do while. Input program akan berakhir ketika
nilai yang diinputkan adalah 0.
Contoh output:
121
BKPM – WORKSHOP PEMROGRAMAN DASAR
g. Kesimpulan
h. Rubrik Penilaian
No Indikator Skor*
1 2 3 4
1 Ketepatan waktu dan ketepatan pengerjaan tugas disertai V
122
BKPM – WORKSHOP PEMROGRAMAN DASAR
referensi
2 Ketepatan waktu dan ketepatan pengerjaan tanpa disertai V
referensi
3 Keterlambatan waktu dan ketepatan pengerjaan disertai referensi V
4 Keterlambatan waktu pengumpulan dan kesalahan pengerjaan V
Total Skor* Skor x 25
123
BKPM – WORKSHOP PEMROGRAMAN DASAR
Acara 14
b. Indikator
Kemampuan mahasiswa dalam memahami dan menggunakan array pada java.
c. Dasar Teori
Array adalah kumpulan dari tipe data yang serupa. Berikut adalah cara
mendeklarasikan array.
dataType[] arrayName;
dataType - Bisa berupa tipe data primitif seperti int, char, double, byte, dll.
atau objek Java.
arrayName – Sebagai identifier
Sebagai contoh, jika kita ingin menyimpan nama 100 orang maka kita dapat
membuat array dengan tipe string yang dapat menyimpan 100 nama.
String[] array = new String[100];
Di sini, array di atas tidak dapat menyimpan lebih dari 100 nama. Jumlah nilai dalam
array selalu tetap.
1. BKPM
5. LCD
6. ATK
124
BKPM – WORKSHOP PEMROGRAMAN DASAR
e. Prosedur Kerja
1. Array Satu Dimensi
class SingleArray {
public static void main(String[] args) {
int [] x;
// Cara 1
x = new int[3];
x[0] = 20 ;
x[1] = 10 ;
x[2] = 30;
System.out.println("Nilai x[0] : " + x[0]);
System.out.println("Nilai x[1] : " + x[1]);
System.out.println("Nilai x[2] : " + x[2]);
Hasil output:
int[][] arrx;
// Cara 1 Array 2 Dimensi
arrx = new int[3][3];
arrx[0][0] = 1;
arrx[0][1] = 2;
arrx[0][2] = 3;
arrx[1][0] = 4;
arrx[1][1] = 5;
arrx[1][2] = 6;
125
BKPM – WORKSHOP PEMROGRAMAN DASAR
arrx[2][0] = 7;
arrx[2][1] = 8;
arrx[2][2] = 9;
System.out.println("cara 1:");
System.out.println("Nilai arrx[0] : " + arrx[0][0]);
System.out.println("Nilai arrx[0] : " + arrx[0][1]);
System.out.println("Nilai arrx[0] : " + arrx[0][2]);
System.out.println("Nilai arrx[1] : " + arrx[1][0]);
System.out.println("Nilai arrx[1] : " + arrx[1][1]);
System.out.println("Nilai arrx[1] : " + arrx[1][2]);
System.out.println("Nilai arrx[2] : " + arrx[2][0]);
System.out.println("Nilai arrx[2] : " + arrx[2][1]);
System.out.println("Nilai arrx[2] : " + arrx[2][2]);
System.out.println( );
Hasil output:
126
BKPM – WORKSHOP PEMROGRAMAN DASAR
Hasil output:
127
BKPM – WORKSHOP PEMROGRAMAN DASAR
{7},
};
Hasil output:
5. Jalankan program Java untuk membuat semua kemungkinan permutasi dari array
bilangan bulat yang berbeda.
Data uji:
Input :
nums1 = {1, 2, 3, 4}
nums2 = {1, 2, 3}
import java.util.*;
import java.util.List;
128
BKPM – WORKSHOP PEMROGRAMAN DASAR
nums[j] = nums[i];
nums[i] = temp;
Permutation(i + 1, nums, result);
temp = nums[j];
nums[j] = nums[i];
nums[i] = temp;
}
}
}
}
Contoh output:
6. Jalankan program Java untuk memisahkan 0 di sisi kiri dan 1 di sisi kanan dari
array 0 dan 1 secara acak.
import java.util.Arrays;
public class Main {
public static void main(String[] args)
{
int arr[] = new int[]{ 0, 0, 1, 1, 0, 1, 1, 1,0 };
int result[];
System.out.println("Original Array: ");
129
BKPM – WORKSHOP PEMROGRAMAN DASAR
System.out.println(Arrays.toString(arr));
int n = arr.length;
return arr;
}
}
Contoh output:
130
BKPM – WORKSHOP PEMROGRAMAN DASAR
g. Kesimpulan
Mahasiswa mampu memahami dan membuat program array java.
h. Rubrik Penilaian
No Indikator Skor*
1 2 3 4
1 Ketepatan waktu dan ketepatan pengerjaan tugas disertai V
referensi
2 Ketepatan waktu dan ketepatan pengerjaan tanpa disertai V
referensi
3 Keterlambatan waktu dan ketepatan pengerjaan disertai referensi V
4 Keterlambatan waktu pengumpulan dan kesalahan pengerjaan V
Total Skor* Skor x 25
131
BKPM – WORKSHOP PEMROGRAMAN DASAR
Acara 15
b. Indikator
Kemampuan mahasiswa dalam memahami dan menggunakan operasi String pada
pemrograman java.
c. Dasar Teori
String adalah urutan karakter. Misalnya, "halo" adalah string yang berisi urutan
karakter 'h', 'e', 'l', 'l', dan 'o'. Kita menggunakan tanda kutip ganda untuk mewakili
string. Sebagai contoh:
// create a string
String type = "Java programming";
Di sini, variabel string bernama type. Variabel ini diinisialisasi dengan string
Pemrograman Java.
1. BKPM
5. LCD
6. ATK
e. Prosedur Kerja
1. Membuat String di Java
package string1;
public class Main {
public static void main(String[] args) {
// create strings
132
BKPM – WORKSHOP PEMROGRAMAN DASAR
// print strings
System.out.println(satu); // print Java
System.out.println(dua); // print Python
System.out.println(tiga); // print JavaScript
}
}
Hasil output:
2. Panjang String
package stringlength;
public class Main {
public static void main(String[] args) {
// create a string
String kata = "POLIJE";
System.out.println("String: " + kata);
Hasil output:
// create second
String kata2 = "Java";
System.out.println("String Kedua: " + kata2);
133
BKPM – WORKSHOP PEMROGRAMAN DASAR
Hasil output:
Hasil output:
5. Jalankan program Java untuk mendapatkan konten string yang diberikan sebagai
array byte.
import java.util.Calendar;
Contoh output:
134
BKPM – WORKSHOP PEMROGRAMAN DASAR
6. Jalankan program Java untuk mendapatkan konten string yang diberikan sebagai
array karakter.
public class Main {
public static void main(String[] args)
{
String str = "This is a sample string.";
Contoh output:
7. Jalankan program Java untuk mengubah semua karakter dalam string menjadi
huruf besar.
public class Main {
Contoh output:
8. Jalankan program Java untuk mengubah semua karakter dalam string menjadi
huruf kecil.
public class Main {
public static void main(String[] args)
{
135
BKPM – WORKSHOP PEMROGRAMAN DASAR
Contoh output:
9. Jalankan program Java untuk mengganti karakter tertentu dengan karakter lain.
public class Main {
public static void main(String[] args)
{
String str = "The quick brown fox jumps over the lazy dog.";
Contoh output:
10. Buatlah program java untuk membandingkan dua string secara leksikografis. Dua
string secara leksikografis sama jika panjangnya sama dan mengandung karakter
yang sama di posisi yang sama.
Contoh output:
136
BKPM – WORKSHOP PEMROGRAMAN DASAR
11. Buatlah program untuk menampilkan halaman seperti gambar dibawah ini.
12. Buatlah program Java untuk membuat objek String baru dengan isi array
karakter.
Contoh output:
13. Buatlah program java untuk mengurutkan array numeric dan array string.
Contoh output:
14. Buatlah program Java untuk mendapatkan karakter pada indeks yang diberikan
dalam String.
Contoh output:
137
BKPM – WORKSHOP PEMROGRAMAN DASAR
15. Buatlah program Java untuk memeriksa apakah string yang diberikan diakhiri
dengan konten string lain.
Contoh output:
g. Kesimpulan
Mahasiswa mampu menggunakan operasi String pada pemrograman java.
h. Rubrik Penilaian
No Indikator Skor*
1 2 3 4
1 Ketepatan waktu dan ketepatan pengerjaan tugas disertai V
referensi
2 Ketepatan waktu dan ketepatan pengerjaan tanpa disertai V
referensi
3 Keterlambatan waktu dan ketepatan pengerjaan disertai referensi V
4 Keterlambatan waktu pengumpulan dan kesalahan pengerjaan V
Total Skor* Skor x 25
138
BKPM – WORKSHOP PEMROGRAMAN DASAR
Acara 16
b. Indikator
Kemampuan mahasiswa dalam memahami dan membuat program waktu java
dengan menampilkan pada console dan GUI java.
c. Dasar Teori
Java menyediakan class tanggal yang tersedia dalam java.util package, class ini
berisi rangkuman tanggal dan waktu. Class tanggal mendukung dua konstruktor
seperti yang ditunjukkan dibawah ini.
No. Konstruktor Deskripsi
1 Date() menginisialisasi objek dengan tanggal dan waktu.
2 Date(long millisec) menerima argumen yang sama dengan jumlah milidetik
yang telah berlalu sejak tengah malam
1. BKPM
5. LCD
6. ATK
e. Prosedur Kerja
1. Menampilkan waktu saat ini.
package waktu1;
139
BKPM – WORKSHOP PEMROGRAMAN DASAR
import java.util.Date;
Hasil output:
2. Membuat program Java untuk membuat objek Date menggunakan class Calendar
package waktu4;
import java.util.*;
public class Main {
public static void main(String[] args)
{
int year = 2021;
int month = 7; // January
int date = 18;
System.out.println(cal.getTime());
System.out.println();
}
}
Hasil output:
140
BKPM – WORKSHOP PEMROGRAMAN DASAR
calNewYork.setTimeZone(TimeZone.getTimeZone("America/New_York"));
System.out.println();
System.out.println("Time in New York: " +
calNewYork.get(Calendar.HOUR_OF_DAY) + ":"
+
calNewYork.get(Calendar.MINUTE)+":"+calNewYork.get(Calendar.SECOND));
System.out.println();
}
141
BKPM – WORKSHOP PEMROGRAMAN DASAR
}
Hasil output:
142
BKPM – WORKSHOP PEMROGRAMAN DASAR
int actualMaxMonth =
cal.getActualMaximum(Calendar.MONTH);
int actualMaxWeek =
cal.getActualMaximum(Calendar.WEEK_OF_YEAR);
int actualMaxDate = cal.getActualMaximum(Calendar.DATE);
}
}
Contoh output:
7. Jalankan program Java untuk mendapatkan nilai minimum tahun, bulan, minggu,
tanggal dari tanggal saat ini dari default calendar.
import java.util.*;
public class Main {
public static void main(String[] args)
{
// Create a default calendar
Calendar cal = Calendar.getInstance();
System.out.println();
System.out.println("\nCurrent Date and Time:" +
cal.getTime());
int actualMaxYear = cal.getActualMinimum(Calendar.YEAR);
int actualMaxMonth =
cal.getActualMinimum(Calendar.MONTH);
int actualMaxWeek =
cal.getActualMinimum(Calendar.WEEK_OF_YEAR);
int actualMaxDate = cal.getActualMinimum(Calendar.DATE);
Hasil output:
143
BKPM – WORKSHOP PEMROGRAMAN DASAR
System.out.println(calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
System.out.println();
}
}
Hasil output:
Hasil output:
10. Jalankan program Java untuk mendapatkan jumlah hari dalam sebulan.
import java.util.*;
public class Main {
public static void main(String []args){
Calendar cal = Calendar.getInstance();
int days = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println();
System.out.println("Number of days of the current month : " +
days);
System.out.println();
}
}
Hasil output:
144
BKPM – WORKSHOP PEMROGRAMAN DASAR
// Localize in German
Hasil output:
12. Jalankan program Java untuk mendapatkan hari dalam seminggu dari tanggal
tertentu.
import java.util.*;
public class Main {
public static void main(String []args){
// Create a default calendar
Calendar cal = Calendar.getInstance();
//Set your date: cal.setTime(yourDate);
System.out.println();
int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
System.out.println("Day of the week : " + dayOfWeek);
System.out.println();
}
}
145
BKPM – WORKSHOP PEMROGRAMAN DASAR
Hasil output:
13. Jalankan program Java untuk mendapatkan waktu lokal saat ini.
import java.time.*;
public class Main {
public static void main(String[] args)
{
LocalTime time = LocalTime.now();
System.out.println();
// in hour, minutes, seconds, nano seconds
System.out.println("Local time now : " + time);
System.out.println();
}
}
Hasil output:
14. Jalankan Java untuk menambahkan beberapa jam ke waktu saat ini.
import java.time.*;
public class Main {
public static void main(String[] args)
{
LocalTime time = LocalTime.now();
// adding four hours
LocalTime newTime = time.plusHours(4);
System.out.println();
System.out.println("Time after 2 hours : " + newTime);
System.out.println();
}
}
Hasil output:
15. Jalankan program Java untuk mendapatkan tanggal sebelum dan sesudah 1
tahun dibandingkan dengan tanggal saat ini.
import java.util.*;
public class Main {
public static void main(String[] args)
{
Calendar cal = Calendar.getInstance();
Date cdate = cal.getTime();
// get next year
cal.add(Calendar.YEAR, 1);
Date nyear = cal.getTime();
//get previous year
cal.add(Calendar.YEAR, -2);
Date pyear = cal.getTime();
System.out.println("\nCurrent Date : " + cdate);
System.out.println("\nDate before 1 year : " + pyear);
System.out.println("\nDate after 1 year : " + nyear+"\n");
146
BKPM – WORKSHOP PEMROGRAMAN DASAR
Hasil output:
Date t;
try {
t = ft.parse(input);
System.out.println(t);
} catch (ParseException e) {
System.out.println("Tidak dapat diparsing menggunakan " +
ft);
}
}
}
Hasil output:
147
BKPM – WORKSHOP PEMROGRAMAN DASAR
Hasil output:
Buatlah juga program GUI java dengan tampilan memasukkan total detik,
kemudian menampilakan hasil konversi hari, jam, menit, dan detiknya.
18. Jalankan program Java untuk mendapatkan waktu saat ini di semua zona waktu
yang tersedia.
import java.time.*;
public class Main {
public static void main(String[] args)
{
ZoneId.SHORT_IDS.keySet().
stream().forEach(
zoneKey ->System.out.println(" "+ ZoneId.of(
ZoneId.SHORT_IDS.get( zoneKey ) ) +": "+
LocalDateTime.now(ZoneId.of(ZoneId.SHORT_IDS.get( zoneKey ) ) ) ) );
}
}
Hasil output:
148
BKPM – WORKSHOP PEMROGRAMAN DASAR
Ganti date of birth dengan tanggal lahir anda sendiri kemudian jalankan.
Contoh output:
20. Buatlah program Java untuk menampilkan tanggal saat ini tanpa waktu dan
waktu saat ini tanpa tanggal.
Contoh tampilannya:
Pada kasus diatas, jalankanlah program dengan menampilkan pada console dan
juga GUI java.
21. Buatlah program java untuk mendapatkan dan menampilkan hari pertama dan
terakhir pada bulan ini.
Contoh tampilan pada console:
149
BKPM – WORKSHOP PEMROGRAMAN DASAR
Pada kasus diatas, jalankanlah program dengan menampilkan pada console dan
juga GUI java.
22. Buatlah program java untuk mendapatkan dan menampilkan tanggal setelah 2
minggu.
Contoh tampilan pada console:
Pada kasus diatas, jalankanlah program dengan menampilkan pada console dan
juga GUI java.
23. Buatlah program program Java untuk menampilkan tanggal dalam format yang
ditentukan.
Contoh output:
24. Buatlah program Java untuk mendapatkan informasi tahun saat ini.
Data Uji:
Current Year: 2021
Is current year leap year? false
Length of the year: 365 days
150
BKPM – WORKSHOP PEMROGRAMAN DASAR
Contoh output:
g. Kesimpulan
Mahasiswa mampu membuat progam waktu java dengan luaran pada console dan
GUI java.
h. Rubrik Penilaian
No Indikator Skor*
1 2 3 4
1 Ketepatan waktu dan ketepatan pengerjaan tugas disertai V
referensi
2 Ketepatan waktu dan ketepatan pengerjaan tanpa disertai V
referensi
3 Keterlambatan waktu dan ketepatan pengerjaan disertai referensi V
151
BKPM – WORKSHOP PEMROGRAMAN DASAR
152