Anda di halaman 1dari 156

BKPM – WORKSHOP PEMROGRAMAN DASAR

BUKU KERJA PRAKTIK MAHASISWA


(BKPM)

WORKSHOP PEMROGRAMAN DASAR


MIF10709
SEMESTER 1

OLEH :
Faisal Lutfi Afriansyah, S.Kom., M.T.

PROGRAM STUDI MANAJEMEN INFORMATIKA


JURUSAN TEKNOLOGI INFORMASI
POLITEKNIK NEGERI JEMBER
TAHUN 2022

1
BKPM – WORKSHOP PEMROGRAMAN DASAR

KEMENTERIAN PENDIDIKAN, KEBUDAYAAN, RISET DAN TEKNOLOGI


POLITEKNIK NEGERI JEMBER

LEMBAR PENGESAHAN

BUKU KERJA PRAKTEK MAHASISWA


WORKSHOP PEMROGRAMAN DASAR

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,

Hendra Yufit Riskiawan, S.Kom, M.Cs


NIP. 198302032006041003

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.

Kami mengucapkan terima kasih kepada berbagai pihak yang telah


membantu proses penyelesain BKPM ini. Semoga BKPM ini dapat
bermanfaat bagi kita semua.

Jember, 13 Agustus 2022

Tim Penulis

2
BKPM – WORKSHOP PEMROGRAMAN DASAR

DAFTAR ISI

LEMBAR PENGESAHAN ........................................................................................................ i


KATA PENGANTAR ...............................................................................................................ii
DAFTAR ISI ............................................................................................................................ iii
Acara 1 Pengenalan Java 1 ….……………………………………………………………... 1
Acara 2 Pengenalan Java 2……………….….……………………………………………. 12
Acara 3 Variabel, Konstanta, dan Literal ...………………………………………………. 25
Acara 4 Ekspresi Operator & Operan ……………………………………………………. 38
Acara 5 Input & Output (Console) ………………………………………………………. 38
Acara 6 AWT dan SWING ………………………………………………………………. 51
Acara 7 GUI Event Handling .……………………………………………………………. 77
Acara 9 Kondisi: if ………….……………………………………………………………. 85
Acara 10 Kondisi: switch ………………………………………………………………... 96
Acara 11 Perulangan: for ………………………………………………………...………104
Acara 12 Perulangan: while ..…………………………………………………………….111
Acara 13 Perulangan: do while…………………………………………………………..117
Acara 14 Array..………………………………………………………………………….123
Acara 15 String……..…………………………………………………………………….131
Acara 16 Project Waktu.………………………………...……………………………….140

3
BKPM – WORKSHOP PEMROGRAMAN DASAR

Acara 1

Materi Pembelajaran : Pengenalan Java 1


Acara Praktikum/Praktik : Sejarah, Komponen keyword dan Jenis Editor Java
Tempat : Daring/Luring Politeknik Negeri Jember
Alokasi Waktu : 1x4x170 menit

a. Capaian Pembelajaran Mata Kuliah (CPMK)


1. Mahasiswa mampu memahami tentang pengenalan java
2. Mahasiswa mampu memahami sejarah dan kelebihan java
3. Mahasiswa mampu memahami komponen penting java
4. Mahasiswa mampu memahami keyword java
5. Mahasiswa mampu mengetahui jenis-jenis editor java

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

yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk


membangun aplikasinya.
- Bergaya C++ → memiliki sintaks seperti bahasa pemrograman [C++]
sehingga menarik banyak pemrogram C++ untuk pindah ke Java.
- Sederhana
- Handal
- Platform independent
- Aman

3. Komponen penting Java


1) JVM
Java Virtual Machine (JVM) kerap dianggap sebagai jantung dari bahasa
pemrograman Java. Ketika menjalankan program Java, JVM bertugas untuk
mengonversi byte code menjadi kode yang lebih spesifik.

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

Hubungan antara JVM, JRE, dan JDK.

4. IDE (Integrated Development Environment)


IDE merupakan program komputer yang memiliki beberapa fasilitas yang
diperlukan dalam pembangunan perangkat lunak. Tujuan dari IDE adalah untuk
menyediakan semua utilitas yang diperlukan dalam membangun perangkat lunak.
IDE JAVA: Netbeans (Open source), Eclipse (Open source), BlueJ (Open source),
Android Studio (Open source), Oracle Jdeveloper (Open source), IntelliJ (Closed
Source).

3
BKPM – WORKSHOP PEMROGRAMAN DASAR

5. Daftar kata kunci/keyword pada Java

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.

d. Alat dan Bahan


1. BKPM
2. Komputer dengan Netbeans

9
BKPM – WORKSHOP PEMROGRAMAN DASAR

3. Buku Referensi Pemrograman Visual dengan Netbeans


4. Buku Referensi Pemrograman Berorientasi Objek
5. LCD
6. ATK

e. Prosedur Kerja
Lanjutkan membuat program java sederhana pada Acara 2.

f. Hasil dan Pembahasan


Selesai menginstall Netbeans dan siap digunakan untuk melanjutkan ke workshop
selanjutnya.

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

Materi Pembelajaran : Pengenalan Java 2


Acara Praktikum/Praktik : Membuat program Java Sederhana
Tempat : Daring/Luring Politeknik Negeri Jember
Alokasi Waktu : 1x100 menit

a. Capaian Pembelajaran Mata Kuliah (CPMK)


1. Mahasiswa memahami langkah-langkah awal membuat program java
sederhana.

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!

1. Komentar: // Your First Program


Dalam java, setiap baris yang dimulai dengan // adalah komentar. Komentar
ditujukan bagi pengguna yang membaca kode untuk memahami maksud dan
fungsi program. Komen ini akan diabaikan oleh kompiler Java (aplikasi yang
menerjemahkan program Java ke bytecode Java yang dapat dijalankan oleh
komputer).

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.

public static void main(String[] args) {


... ... ...
}

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.

Hal-hal yang perlu diperhatikan:


• Setiap Aplikasi Java yang valid harus memiliki definisi class (yang cocok
dengan nama file).
• Main method harus berada di dalam definisi class.
• Kompiler mengeksekusi kode mulai dari fungsi main.
• Ini adalah program Java yang valid yang tidak melakukan apa-apa.
Public class HelloWorld {
public static void main(String[] args) {
//Write your code here
}
}

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

1. Jalankan Software Netbeans, tunggu beberapa saat sampai netbeans siap


digunakan, seperti gambar berikut:

• 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

Public static void main(String[] args) {


// TODO code application logic here
System.out.println("Hello World ..!");
}

• Untuk mengetahui apakah program tersebut benar, lakukan Compile,


klik kanan tepat di atas node nama file poject (Project | HelloWorld |
Sources Packages | helloworld | java.main) pilih compile file.

• Jika pada baris akhir bagian jendela Output tertuliskan :


BUILD SUCCESSFUL (total time: 2 seconds)

Maka Program tersebut benar

• Untuk melihat hasil program tersebut, lakukan Run file.

14
BKPM – WORKSHOP PEMROGRAMAN DASAR

2. Menganalisa dan membenahi kesalahan pada program. Tulislah program


berikut ini dan simpanlah dengan nama koreksi.java
package koreksi;
public class Testing {
public static void main(String[] args) {
System.out.println("What's wrongs with this program?");
}
}

Lakukan kompilasi pada file tersebut dan amati hasilnya. Kenapa terjadi
kegagalan pada saat kompilasi? Benahilah kesalahan diatas sehingga program
tersebut dapat berjalan dengan baik.

3. Buatlah program java sederhana dengan menampilkan:

Politeknik Negeri Jember

f. Hasil dan Pembahasan


1. Dokumentasi Tugas berupa laporan (listing program dan hasil, serta berikan
analisa dan kesimpulan pada program yang dibuat)
2. Dokumentasi Tugas berupa file doc/pdf, beri nama file NIM_NamaMahasiswa

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

Materi Pembelajaran : Variabel, Konstanta, dan Literal


Acara Praktikum/Praktik : Merancang Algoritma dan Impmentasi Pada Program
Tempat : Daring/Luring Politeknik Negeri Jember
Alokasi Waktu : 1x4x170 menit

a. Capaian Pembelajaran Mata Kuliah (CPMK)


1. Mahasiswa Mampu memahami Variabel, Konstanta, dan Literal pada
Pemrograman Java
2. Mahasiswa dapat menerapkan perancangan algoritma secara praktis dan baik
menjadi sebuah program dengan menggunakan bahasa pemrograman java
saat diberikan suatu kasus permasalahan mengenai variable, konstanta, dan
literal.

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 tipe-data NAMAKONSTANTA = nilai;

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.

Berikut adalah berbagai jenis literal di Java.


1) Literal Boolean
Literal boolean digunakan untuk menginisialisasi tipe data boolean. Mereka
dapat menyimpan dua nilai: true dan false. Sebagai contoh,
flag boolean1 = false;
flag boolean2 = true;
Di sini, false dan true adalah dua literal boolean.

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;

Literal floating-point digunakan untuk menginisialisasi variabel tipe float dan


double.

4) Literal Karakter
Literal karakter adalah karakter unicode yang diapit di dalam tanda kutip
tunggal. Sebagai contoh,

char letter = 'a';


Di sini, a adalah karakter literal.

Kita juga dapat menggunakan escape sequence sebagai karakter literal.


Misalnya, \b (spasi mundur), \t (tab), \n (baris baru), dll.

5) Literal String
Literal string adalah urutan karakter yang diapit oleh tanda kutip ganda.
Sebagai contoh,

String str1 = "Pemrograman Java";


String str2 = "POLIJE";
Di sini, Pemrograman Java dan POLIJE adalah dua literal string.

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

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:

2. Konstanta: Menghitung luas lingkaran yang mempunyai jari-jari = 7cm.


package konstanta;
import javax.swing.JOptionPane;
public static void main(String[] args) {

// Deklarasi konstanta
final double PI = 3.14159;

// Deklarasi variabel jari2 dan luas


int jari2;
double luas;

// Memberi nilai awal ke variabel jari2


jari2 = 7;

// Menghitung luas lingkaran


luas = PI * jari2 * jari2;

System.out.println("Jari-jari lingkaran = " +jari2);


System.out.println("\nLuas lingkaran = " +luas);
}}

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";

System.out.println("int bil: "+bil);


System.out.println("char karakter: "+karakter);
System.out.println("boolean benar : "+benar);
System.out.println("boolean salah : "+salah);
System.out.println("float bilangan: "+bilangan);
System.out.println("String nama: "+nama);
}
}

Hasil output:

4. Jalankan program dibawah ini.


public class Main {
public static void main(String[] String) {
int chr = 'A';
System.out.println("The ASCII value of A is :"+chr);
}}

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 {

public static void main(String[] args) {

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:

7. Jalankan program untuk menampilkan nilai variable.


public class Main
{
public static void main(String[] args)
{
// Menggunakan class String .

21
BKPM – WORKSHOP PEMROGRAMAN DASAR

String nama = "Arman";

// Menggunakan class wrapper untuk tipe data short .


Short umur = 20;

// Mengakses dan menampilkan nilai variabel .


System.out.println( nama );
System.out.println( umur );
}
}

Contoh output:

8. Jalankan program java dibawah ini.


public class Main
{
public static void main(String[] args)
{
/*
Literal bilangan bulat 10 dalam
bentuk desimal, oktal dan heksadesimal.
*/

int desimal = 10;


int oktal = 012;
int heksadesimal = 0xA;

System.out.println("Desimal 10 = " + desimal);


System.out.println("Oktal 12 = " + oktal);
System.out.println("Heksadesimal A = " + heksadesimal);
}
}

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:

10. Buatlah program Java untuk mengkonversi heksadesimal ke bilangan biner.


• Bilangan heksadesimal: Ini adalah sistem angka posisi dengan radix, atau
basis 16. Heksadesimal menggunakan 16 simbol yang berbeda, simbol 0-9
untuk mewakili nilai 0 sampai 9, dan A, B, C, D, E, F (atau sebagai
alternatif a, b, c, d, e, f) untuk mewakili nilai 10 hingga 15.
• 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 heksadesimal: 37

Contoh output:

23
BKPM – WORKSHOP PEMROGRAMAN DASAR

f. Hasil dan Pembahasan


1. Dokumentasi Tugas berupa laporan (listing program dan hasil, serta berikan
analisa dan kesimpulan pada program yang dibuat)
2. Dokumentasi Tugas berupa file doc/pdf, beri nama file NIM_NamaMahasiswa

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

Materi Pembelajaran : Ekspresi Operator & Operan


Acara Praktikum/Praktik : Membuat operator pada Java
Tempat : Daring/Luring Politeknik Negeri Jember
Alokasi Waktu : 1x4x170 menit

a. Capaian Pembelajaran Mata Kuliah (CPMK)


1. Mahasiswa mampu memahami jenis-jenis operator pada java
2. Mahasiswa mampu menggunakan operator & operan pada java dengan benar
3. Mahasiswa mampu membuat aplikasi java dengan menggunakan operator
java

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

nilai. Misalnya, + adalah operator yang digunakan untuk penjumlahan,


sedangkan * juga merupakan operator yang digunakan untuk perkalian. Operator
di Java dapat diklasifikasikan menjadi 5 jenis, yaitu:
1. Operator Aritmatika
2. Operator Penugasan
3. Operator Relasional
4. Operator Logika
5. Operator Unary
6. Operator Bitwise

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

<= Kurang dari atau sama dengan 3 <= 5 returns true


4. Operator Logika
Operator logika digunakan untuk memeriksa apakah suatu ekspresi benar
atau salah. Mereka digunakan dalam pengambilan keputusan. Ada beberapa
operator Logika yang tersedia di Java, yaitu:
Operator Contoh Arti
&& (Logical ekspresi1 && ekspresi2 true hanya jika ekspresi1
AND) dan ekspresi2 benar
|| (Logical OR) ekspresi1 || ekspresi2 true hanya jika ekspresi1
atau ekspresi2 benar
! (Logical NOT) !ekspresi true hanya jika ekspresi
salah dan sebaliknya

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

Berbagai operator bitwise yang ada di Java adalah:


Operator Deskripsi
~ Komplemen Bitwise
<< Left Shift (Pergeseran Kiri)
>> Right Shift (Pergeseran Kanan)
>>> Unsigned Right Shift
& Bitwise AND
^ Bitwise exclusive OR

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
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);

// assign value using =+


b += a;
System.out.println("b += a : " + b);

// 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

System.out.println("a adalah " + a + " dan b adalah " + b);

// == 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:

Jelaskan jalannya dari program diatas kenapa memiliki hasil tersebut!

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

System.out.println("b = " + b);

// 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;

// checks if str is an instance of


// the String class
result = str instanceof String;
System.out.println("Is str an object of String? " + result);
}
}

Hasil output:

7) Jalankan program Java untuk mencetak luas dan keliling lingkaran.


public class Main {

private static final double radius = 7;


public static void main(String[] args) {

double keliling= 2 * Math.PI * radius;


double luas = Math.PI * radius * radius;
System.out.println("Jari-jari = " + radius);
System.out.println("Keliling = " + keliling);
System.out.println("Luas = " + luas);
}
}

32
BKPM – WORKSHOP PEMROGRAMAN DASAR

Contoh output:

8) Jalankan program java dibawah ini.


public class Main
{
public static void main(String[] args)
{
int a = 10;
int b = 10;
boolean c = true;

int hasilA = a++;


int hasilB = ++b;
boolean hasilC = !c;

System.out.println(hasilA);
System.out.println(hasilB);
System.out.println(hasilC);
}
}

Contoh output:

9) Jalankan program dibawah ini.


public class Main
{
public static void main(String[] args)
{
boolean a = true;
boolean b = false;
boolean c;

c = a && b;
System.out.println("true && false = " +c);

c = a || b;
System.out.println("true || false = " +c);

System.out.println("Negasi, !true = " + !a);


}
}

Contoh output:

33
BKPM – WORKSHOP PEMROGRAMAN DASAR

10) Jalankan Program dibawah ini.


class Main {
public static void main ( String args []) {
String binary [] = {
" 0000 " ,
" 0001 " ,
" 0010 " ,
" 0011 " ,
" 0100 " ,
" 0101 " ,
" 0110 " ,
"0111 ",
" 1000 " ,
" 1001 " ,
" 1010 " ,
" 1011 " ,
" 1100 " ,
" 1101 " ,
" 1110 " ,
" 1111 "
};
int a = 3 ; // 0011 dalam biner
int b = 5 ; // 0101 dalam biner
int c = a | b;
int d = a & b;
int e = a ^ b;
int f = ( ~ a & b) | (a & ~ b);
int g = ~ a & 0x0f ;
System.out.println ( "a = " + binary [a]);
System.out.println ( "b = " + binary [b]);
System.out.println( );
System.out.println ( "OR: a | b = " + binary [c]);
System.out.println ( "AND: a & b = " + binary [d]);
System.out.println ( "XOR: a ^ b = " + binary [e]);
System.out.println( );
System.out.println ( "~ a & b | a & ~ b = " + binary [f]);
System.out.println ( "~ a = " + binary [g] );
}

Contoh output:

11) Buatlah program java untuk menghitung luas dan keliling belah ketupat.

34
BKPM – WORKSHOP PEMROGRAMAN DASAR

12) Buatlah program java untuk menghitung xn % y dimana x, y dan n semuanya


bilangan integer 32 bit.
Contoh output:

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:

f. Hasil dan Pembahasan


1. Dokumentasi Tugas berupa laporan (listing program dan hasil, serta berikan
analisa dan kesimpulan pada program yang dibuat)
2. Dokumentasi Tugas berupa file doc/pdf, beri nama file NIM_NamaMahasiswa

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

Materi Pembelajaran : Input & Output (Console)


Acara Praktikum/Praktik : Menerapkan Input & Output untuk Algoritma
Tempat : Daring/Luring Politeknik Negeri Jember
Alokasi Waktu : 4x100 menit

a. Capaian Pembelajaran Mata Kuliah (CPMK)


1. Mahasiswa mampu memahami Input & Output (console) pada pemrograman
java.
2. Mahasiswa dapat menerapkan perancangan algoritma secara praktis dan baik
menjadi sebuah program dengan menggunakan bahasa pemrograman java
saat diberikan suatu kasus permasalahan.

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();

Perintah diatas untuk mengirim output ke output standar (layar).


Dimana,
System adalah sebuah class
out adalah bagian public static: untuk menerima data keluaran.

Perbedaan antara println(), print(), dan printf()


1. print(): mencetak string di dalam tanda kutip.
2. println(): mencetak string di dalam tanda kutip mirip seperti metode
print(). Kemudian kursor bergerak ke awal baris berikutnya.
3. printf(): menyediakan pemformatan string (mirip dengan printf dalam
pemrograman C/C++).

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.

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
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 ");

System.out.print("1. print ");


System.out.print("2. print");
}
}
Hasil output:

2. Input: mendapatkan input integer dari pengguna


package input;
import java.util.Scanner;
public class Main {

39
BKPM – WORKSHOP PEMROGRAMAN DASAR

public static void main(String[] args) {


Scanner input = new Scanner(System.in);

System.out.print("Inputkan integer: ");


int number = input.nextInt();
System.out.println("Kamu meng-inputkan: " + number);

// closing the scanner object


input.close();
}
}
Hasil output:

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 {

public static void main(String[] Strings) {


double minutesInYear = 60 * 24 * 365;
Scanner input = new Scanner(System.in);
System.out.print("Input the number of minutes: ");

double min = input.nextDouble();


long years = (long) (min / minutesInYear);
int days = (int) (min / 60 / 24) % 365;

System.out.println((int) min + " minutes is approximately


" + years + " years and " + days + " days");
}
}

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:

5. Buatlah program Java untuk membaca input dari console java.


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:

7. Buatlah program Java untuk menampilkan pola berikut.

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:

11. Buatlah program Java untuk membandingkan dua bilangan.


Data Uji:
Input first integer: 25
Input second integer: 39

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 {

public static void main(String[] Strings) {


Scanner input = new Scanner(System.in);
System.out.print("Input weight in pounds: ");
double weight = input.nextDouble();

42
BKPM – WORKSHOP PEMROGRAMAN DASAR

System.out.print("Input height in inches: ");


double inches = input.nextDouble();

double BMI = weight * 0.45359237 / (inches * 0.0254 *


inches * 0.0254);
System.out.print("Body Mass Index is " + BMI+"\n");
}
}

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 {

public static void main(String[] args)


{
Scanner in = new Scanner(System.in);
System.out.print("Input 1st integer: ");
int firstInt = in.nextInt();
System.out.print("Input 2nd integer: ");
int secondInt = in.nextInt();

System.out.printf("Sum of two integers: %d%n", firstInt +


secondInt);
System.out.printf("Difference of two integers: %d%n",
firstInt - secondInt);
System.out.printf("Product of two integers: %d%n",
firstInt * secondInt);
System.out.printf("Average of two integers: %.2f%n",
(double) (firstInt + secondInt) / 2);
System.out.printf("Distance of two integers: %d%n",
Math.abs(firstInt - secondInt));
System.out.printf("Max integer: %d%n", Math.max(firstInt,
secondInt));
System.out.printf("Min integer: %d%n", Math.min(firstInt,
secondInt));
}
}

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{

public static void main(String[] args)


{
Scanner in = new Scanner(System.in);
System.out.print("Input six non-negative digits: ");
int input = in.nextInt();
int n1 = input / 100000 % 10;
int n2 = input / 10000 % 10;
int n3 = input / 1000 % 10;
int n4 = input / 100 % 10;
int n5 = input / 10 % 10;
int n6 = input % 10;
System.out.println(n1 + " " + n2 + " " + n3 + " " + n4 + "
" + n5 + " " + n6);

}
}

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

menukar dua variabel adalah dengan menggunakan variabel ketiga


sementara.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int x, y, z;
Scanner in = new Scanner(System.in);
System.out.println("Input the first number: ");
x = in.nextInt();
System.out.println("Input the second number: ");
y = in.nextInt();
z = x;
x = y;
y = z;
System.out.println(" Swapped values are3:" + x + " and " + y);
}}

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 {

public static void main(String[] args)


{
Scanner in = new Scanner(System.in);
System.out.print("Input a number(string): ");
String str1 = in.nextLine();
int result = Integer.parseInt(str1);

45
BKPM – WORKSHOP PEMROGRAMAN DASAR

System.out.printf("The integer value is: %d",result);


System.out.printf("\n");
}
}

Contoh output:

18. Jalankan program Java untuk menghitung luas poligon.


Luas poligon = (n*s^2)/(4*tan(π/n))
di mana n adalah poligon bersisi n dan s adalah panjang sisinya.

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 {

public static void main(String[] args) {


Scanner input = new Scanner(System.in);
System.out.print("Input the number of sides on the
polygon: ");
int ns = input.nextInt();
System.out.print("Input the length of one of the sides:
");
double side = input.nextDouble();
System.out.print("The area is: " + polygonArea(ns,
side)+"\n");
}
public static double polygonArea(int ns, double side) {
return (ns * (side * side)) / (4.0 * Math.tan((Math.PI /
ns)));
}}

Contoh output:

46
BKPM – WORKSHOP PEMROGRAMAN DASAR

19. Jalankan program Java untuk membalikkan string.


Uji Data:
Input a string: The quick brown fox
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Input a string: ");
char[] letters = scanner.nextLine().toCharArray();
System.out.print("Reverse string: ");
for (int i = letters.length - 1; i >= 0; i--) {
System.out.print(letters[i]);
}
System.out.print("\n");
}
}

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));

public static int sumDigits(long n) {


int sum = 0;
while (n != 0) {
sum += n % 10;
n /= 10;
}
return sum;
}
}

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;

public class Main


{
public static void main (String args[])
{
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));

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();

System.out.println("Nama anda : " + nama); //


menampilkan pesan nama
System.out.println("Alamat anda : " + alamat); //
menampilkan pesan alamat
}
catch(IOException eox) // menangkap kesalahan
{
System.out.println(eox);
}
}
}

48
BKPM – WORKSHOP PEMROGRAMAN DASAR

Contoh output:

22. Jalanakan program dibawah.


import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader input = new BufferedReader(new
InputStreamReader(System.in));

System.out.print("Masukkan Nomor Induk Mahasiswa (NIM) :


");
String nim = input.readLine();
System.out.print("Masukkan Nama: ");
String nama = input.readLine();
System.out.print("Masukkan Jurusan: " );
String jurusan = input.readLine();
System.out.print("Masukkan Alamat: ");
String alamat = input.readLine();
System.out.println();

System.out.println(" DATA DIRI ");


System.out.println("NIM : " + nim);
System.out.println("Nama : " + nama);
System.out.println("Jurusan : " + jurusan);
System.out.println("Alamat : " + alamat);
}
}

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:

f. Hasil dan Pembahasan


1. Dokumentasi Tugas berupa laporan (listing program dan hasil, serta berikan
analisa dan kesimpulan pada program yang dibuat)
2. Dokumentasi Tugas berupa file doc/pdf, beri nama file NIM_NamaMahasiswa

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

Materi Pembelajaran : AWT dan SWING


Acara Praktikum/Praktik : Penerapan GUI menggunakan AWT dan SWING
Tempat : Daring / Luring Politeknik Negeri Jember
Alokasi Waktu : 1x4x170 menit

a. Capaian Pembelajaran Mata Kuliah (CPMK)


1. Memahami persamaan dan perbedaan antara AWT dan Swing
2. Perbedaan antara komponen dan kontainer.
3. Mendesain aplikasi GUI menggunakan AWT.
4. Mendesain aplikasi GUI menggunakan Swing.
5. Menjelaskan tentang flow layout, border layout, dan grid layout dalam
komponen GUI
6. Membuat tampilan yang komplek dalam mendesain aplikasi GUI.

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.

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
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

Setelah itu, buat package baru.

Isi nama package-nya dengan jendela. Lalu klik Finish.

54
BKPM – WORKSHOP PEMROGRAMAN DASAR

Kemudian buat sebuah class baru di dalam package jendela

Beri nama FirstWindow.java, Lalu klik Finish.

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,

lalu pilih Run File.

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:

Karena kita membuat class MainWindow sebagai class turunan


dari JFrame, maka kita bisa mengakses langsung properti JFrame dengan kata
kunci this dari method constructor. Selanjutnya untuk membuat objek dari
class MainWindow pada method main().

57
BKPM – WORKSHOP PEMROGRAMAN DASAR

Hasil outputnya:

Bandingkan hasilnya jika menggunakan program dibawah ini.

Bandingkan hasilnya pada hasil dan pembahasan.

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
}}

Hasil Percobaan 1 Output Frame:

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

Hasil Percobaan 2 Output Panel:

3) Menampilkan Frame Control

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);
}
}

Hasil Percobaan 3 Output Frame Control:

60
BKPM – WORKSHOP PEMROGRAMAN DASAR

4) Menampilkan Flow Layout Demo

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);
}
}

Hasil percobaan 4 Output Flow Layout Demo:

5) Menampilkan Border Layout Demo:

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);
}
}

Hasil Percobaan 5 Output Border Layout Demo:

61
BKPM – WORKSHOP PEMROGRAMAN DASAR

6) Menampilkan Grid Layout Demo

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);
}
}

Hasil Percobaan 6 output Grid Layout Demo:

7) Menampilkan Complex Layout


import java.awt.*;
public class ComplexLayout extends Frame{
public ComplexLayout() {
}
public static void main(String args[]) {
ComplexLayout cl = new ComplexLayout();
Panel panelNorth = new Panel();
Panel panelCenter = new Panel();
Panel panelSouth = new Panel();
panelNorth.add(new Button("ONE"));
panelNorth.add(new Button("TWO"));
panelNorth.add(new Button("THREE"));
panelCenter.setLayout(new GridLayout(4,4));
panelCenter.add(new TextField("1st"));
panelCenter.add(new TextField("2nd"));

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:

8) Menampilkan Swing Demo

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();
}
}

Hasil percobaan 8 Output Swing:

9) Menampilkan JOption Demo

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();
}
}

Hasil Percobaan 9 Output JOptionPaneDemo:

64
BKPM – WORKSHOP PEMROGRAMAN DASAR

B. Drag and Drop:


Pada teknik ini lebih mudah dibandingkan menggunakan hard coding,
karena kita hanya perlu melakukan drag and drop saja.

Langkah pertama kita buat JFrame form baru di dalam package jendela.

Isi namanya dengan CobaWindow.

65
BKPM – WORKSHOP PEMROGRAMAN DASAR

Berikut ini adalah tampilannya.

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.

Pada contoh diatas hanya sebagai pengenalan komponen-komponen swing saja.


Selanjutnya kita coba membuat tampilan yang lain. Buatlah JFrame Form baru
package jendela.

70
BKPM – WORKSHOP PEMROGRAMAN DASAR

Sekarang tambahkan sebuah label dengan menarik dari Palette ke dalam


jendela.

Drag and drop

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.

Sekarang coba lakukan run dan perhatikan hasilnya:

71
BKPM – WORKSHOP PEMROGRAMAN DASAR

Selanjutnya lanjutkan pada studi kasus dibawah ini.

1) Buatlah tampilan dengan GUI Netbeans untuk menampilkan seperti contoh


dibawah ini.

2) Buatlah New JFrame Form untuk membuat tampilan kalkulator seperti gambar
dibawah ini.

72
BKPM – WORKSHOP PEMROGRAMAN DASAR

3) Buatlah tampilan GUI java dengan menambahkan komponen berikut: 1 buah


TextField, 1 buah Button, dan 2 buah Label untuk label TextField dan label
message.

Langkah selanjutnya yaitu mengubah nama variable untuk bebrapa komponen


yang digunakan. Ini bertujuan untuk memudahkan kita untuk mengakses
komponen didalam kode program, karena Variabel Name akan menjadi sebuah
objek didalam kode java.
Klik salah satu komponen, lalu pada bagian Code(dekat properties), isi Variabel
Name….

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.

Maka kita akan memiliki sebuah method baru di dalam kode:

Sekarang, ubahlah isi method tersebut menjadi seperti gambar dibawah:

74
BKPM – WORKSHOP PEMROGRAMAN DASAR

Kemudian Jalankan programnya.

Contoh output:

4) Membuat aplikasi kalkulator (penjumlahan).

Komponen yang dibutuhkan: 4 Label (Nilai A, Nilai B, Hasil, dikosongi untuk


menampilkan hasil), 2 TextField, 1 Button.

75
BKPM – WORKSHOP PEMROGRAMAN DASAR

Kemudian ubah Variabel Name nya:


jTextField1 → txtNilaiA
jTextField2 → txtNilaiB
jButton1 → btnHitung
jLabel4 (Label yang dikosongi untuk menampilkan hasil) → labelHasil

Setelah itu, klik 2 kali pada btnHitung untuk menambahkan method handler
untuk event click. Kemudian isi kode method-nya seperti ini:

Kemudian jalankan programnya.

Contoh output:

f. Hasil dan Pembahasan


1. Dokumentasi Tugas berupa laporan (listing program dan hasil, serta berikan
analisa dan kesimpulan pada program yang dibuat)
2. Dokumentasi Tugas berupa file doc/pdf, beri nama file NIM_NamaMahasiswa

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

Materi Pembelajaran : GUI Event Handling


Acara Praktikum/Praktik : Menerapkan GUI dan Event Handling
Tempat : Daring / Luring Politeknik Negeri Jember
Alokasi Waktu : 1x4x170 menit

a. Capaian Pembelajaran Mata Kuliah (CPMK)


1. Menerangkan komponen-komponen delegation event model
2. Mengerti bagaimana delegation event model bekerja
3. Menciptakan aplikasi GUI yang berinteraksi dengan user
4. Mendiskusikan manfaat dari class-class adapter
5. Mendiskusikan keuntungan-keuntungan dari menggunakan inner dan
anonymous class

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.

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
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

public void mouseExited(MouseEvent me) {


String msg = "Mouse exited component.";
tf.setText(msg);
}
public void mousePressed(MouseEvent me) {
String msg = "Mouse pressed.";
tf.setText(msg);
}
public void mouseReleased(MouseEvent me) {
String msg = "Mouse released.";
tf.setText(msg);
}
public void mouseDragged(MouseEvent me) {
String msg = "Mouse dragged at " + me.getX() + "," +
me.getY();
tf.setText(msg);
}
public void mouseMoved(MouseEvent me) {
String msg = "Mouse moved at " + me.getX() + "," +
me.getY();
tf.setText(msg);
}
public static void main(String args[]) {
MouseEventsDemo med = new MouseEventsDemo("Mouse Events
Demo");
med.launchFrame();
}
}

Hasil Percobaan 1 Output MouseEvent Demo:

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();
}
}

Hasil Percobaan 2 Output CloseFrame:

81
BKPM – WORKSHOP PEMROGRAMAN DASAR

3) Close Frame dengan Command Listener tertentu

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);
}

public static void main(String args[]) {


CloseFrame cf = new CloseFrame("Close Window Example");
cf.launchFrame();
}
}
class CFListener extends WindowAdapter{
CloseFrame ref;
CFListener( CloseFrame ref ){
this.ref = ref;
}
public void windowClosing(WindowEvent e) {
ref.dispose();
System.exit(1);
}
}

Hasil percobaan 3 Output Close Frame dengan membuat Methode Listener


sendiri:

82
BKPM – WORKSHOP PEMROGRAMAN DASAR

4) Close Frame dengan Inner Class

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();
}
}

Hasil percobaan 4 Output Close Frame dengan inner class:

83
BKPM – WORKSHOP PEMROGRAMAN DASAR

5) Anonymous Inner class

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();
}
}

Hasil percobaan 5 Output Close Frame dengan anonymous inner class:

f. Hasil dan Pembahasan


1. Dokumentasi Tugas berupa laporan (listing program dan hasil, serta berikan
analisa dan kesimpulan pada program yang dibuat)
2. Dokumentasi Tugas berupa file doc/pdf, beri nama file NIM_NamaMahasiswa

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

Materi Pembelajaran : Kondisi: if


Acara Praktikum/Praktik : Membuat Pengkondisian menggunakan if
Tempat : Daring/Luring Politeknik Negeri Jember
Alokasi Waktu : 1x4x170 menit

a. Capaian Pembelajaran Mata Kuliah (CPMK)


1. Mahasiswa memahami penggunaan Kondisi if pada java.
2. Mahasiswa dapat menerapkan perancangan kondisi for secara praktis dan
baik menjadi sebuah program dengan menggunakan bahasa pemrograman
java saat diberikan suatu kasus permasalahan.

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
}

Di sini, statemen if dijalankan dari atas ke bawah. Ketika kondisi pengujian


benar, kode di dalam tubuh blok if dieksekusi. Kemudian, kontrol program
melompat ke luar tangga if...else...if. Jika semua ekspresi pengujian salah,
kode di dalam tubuh else dieksekusi.

87
BKPM – WORKSHOP PEMROGRAMAN DASAR

Statemen Nested if..else


Di Java, juga dimungkinkan untuk menggunakan pernyataan if..else di dalam
pernyataan if...else. Ini disebut statemen nested if...else.
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
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:

2. Jalankan program java if else.


class Main {
public static void main(String[] args) {
int number = 10;

// checks if number is greater than 0


if (number > 0) {
System.out.println("The number is positive.");
}

// execute this block


// if number is not greater than 0
else {
System.out.println("The number is not positive.");
}

System.out.println("Statement outside if...else block");


}
}

88
BKPM – WORKSHOP PEMROGRAMAN DASAR

Contoh output:

3. Jalankan program java if else if.


class Main {
public static void main(String[] args) {

int number = 0;

// checks if number is greater than 0


if (number > 0) {
System.out.println("The number is positive.");
}

// checks if number is less than 0


else if (number < 0) {
System.out.println("The number is negative.");
}

// if both condition is false


else {
System.out.println("The number is 0.");
}
}
}

Contoh output:

4. Jalankan program java nested if.


class Main {
public static void main(String[] args) {

// declaring double type variables


Double n1 = -1.0, n2 = 4.5, n3 = -5.3, largest;

// checks if n1 is greater than or equal to n2


if (n1 >= n2) {

// if...else statement inside the if block


// checks if n1 is greater than or equal to n3
if (n1 >= n3) {
largest = n1;
}

else {
largest = n3;
}
} else {

// if..else statement inside else block


// checks if n2 is greater than or equal to n3
if (n2 >= n3) {
largest = n2;
}

89
BKPM – WORKSHOP PEMROGRAMAN DASAR

else {
largest = n3;
}
}

System.out.println("Largest Number: " + largest);


}
}

Contoh output:

5. Jalankan program dibawah.


class Operator8{
public static void main(String[] args) {
int x,y;
x=10; y=5;
if(x>y & ++x>10) { System.out.println("TRUE 3 x : " + x);
System.out.println("TRUE 3 y : " + y);
System.out.println("TRUE 3 : ");
}
else { System.out.println("FALSE 3");
}
}
}

Hasil output:

6. Jalankan program dibawah.


class TestSeleksi4 {
static void main(String[] args) {
int e,f;
e = f = 6;
if(e>5) {
if(e==f)
System.out.println("if di dalam if Test Seleksi 3");
}
else
System.out.println("pasangan if terluar Test Seleksi 3");
}
}
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);
}

static boolean isFibonacci(int x)


{
return isPerfectSquare(5*x*x + 4) ||
isPerfectSquare(5*x*x - 4);
}

public static void main(String[] args)


{
Scanner scan = new Scanner(System.in);
System.out.print("Input a number: ");
int n = scan.nextInt();
if (n>0)
{
System.out.println("Is Fibonacci number?
"+isFibonacci(n));
}
}
}

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 {

public static void main( String args[] ){


Scanner sc = new Scanner( System.in );
System.out.print("Input a number: ");
int num = sc.nextInt();
int n = (int) Math.round(Math.pow(num, 1.0/3.0));
if((num == n * n * n))
{
System.out.print("Number is a cube.");
}
else
{
System.out.print("Number is not a cube.");
}

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 {

public static void main(String[] args)


{
Scanner in = new Scanner(System.in);
System.out.print("Input number: ");
int input = in.nextInt();

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);

System.out.print("Input floating-point number: ");


double x = in.nextDouble();
System.out.print("Input floating-point another number: ");
double y = in.nextDouble();

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;

public class Main{


public static void main(String[]args){
//membuat objek baru dari kelas Scanner Java
Scanner input = new Scanner(System.in);
//deklarasi Variabel
int nilai;
String ket;
System.out.print("Masukkan nilai : ");
//inisialiasi value dari nilai adalah angka yang dimasukkan user
nilai = input.nextInt();
//seleksi
if (nilai >= 90) {// jika nilai >= 90
ket = "A";
}else if (nilai >= 80) { // jika nilai >= 80, 80-89
ket = "B";
}else if (nilai >= 70) {// jika nilai >= 70, 70-79
ket = "C";
}else if (nilai >= 60) {//jika nilai >= 60. 60-69
ket = "D";
}else{//jika nilai < 60
ket = "E";
}
System.out.println( );
System.out.println("Total nilai = "+nilai);
System.out.println("Keterangan nilai = "+ket);
}
}

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

f. Hasil dan Pembahasan


1. Dokumentasi Tugas berupa laporan (listing program dan hasil, serta berikan
analisa dan kesimpulan pada program yang dibuat)
2. Dokumentasi Tugas berupa file doc/pdf, beri nama file NIM_NamaMahasiswa

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

Materi Pembelajaran : Kondisi: Switch


Acara Praktikum/Praktik : Membuat Pengkondisian menggunakan Switch
Tempat : Daring/Luring Politeknik Negeri Jember
Alokasi Waktu : 1x4x170 menit

a. Capaian Pembelajaran Mata Kuliah (CPMK)


1. Mahasiswa memahami penggunaan Kondisi switch pada pemrograman
java.
2. Mahasiswa dapat menerapkan perancangan kondisi switch menjadi sebuah
program dengan menggunakan bahasa pemrograman java saat diberikan
suatu kasus permasalahan.

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

2. Komputer dengan Netbeans

3. Buku Referensi Pemrograman Visual dengan Netbeans

4. Buku Referensi Pemrograman Berorientasi Objek

5. LCD

6. ATK

e. Prosedur Kerja

1. Jalankan program dibawah.


class TestSwitch1 {
public static void main(String[] args) { int bulan = 4;
switch(bulan)
{
case 1: System.out.println("pertama");
case 2: System.out.println("kedua");
case 3:
System.out.println("kuartal 1");
break;
case 4: System.out.println("keempat");
case 5:
case 6:
System.out.println("kuartal 2");
break;
case 7:
case 8:
case 9:
System.out.println("kuartal 3");
break;
default:
System.out.println("kuartal 4");
}
System.out.println("keluar dari switch");
}
}

Hasil output:

2. Jalankan program dibawah.


class TestSwitch5 {
public static void main(String[] args) {
int bulan, year;
bulan = 1;
year = 2002;
switch(bulan) {

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 {

public static void main(String[] args)


{
Scanner in = new Scanner(System.in);
System.out.print("Input number: ");
int day = in.nextInt();

System.out.println(getDayName(day));
}

// Get the name for the Week


public static String getDayName(int day) {
String dayName = "";
switch (day) {
case 1: dayName = "Monday"; break;
case 2: dayName = "Tuesday"; break;
case 3: dayName = "Wednesday"; break;
case 4: dayName = "Thursday"; break;
case 5: dayName = "Friday"; break;
case 6: dayName = "Saturday"; break;
case 7: dayName = "Sunday"; break;
default:dayName = "Invalid day range";
}

return dayName;
}
}

Contoh output:

4. Jalankan program java untuk mengecek size.


class Main {

99
BKPM – WORKSHOP PEMROGRAMAN DASAR

public static void main(String[] args) {

int number = 42;


String size;

// switch statement to check size


switch (number) {

case 29:
size = "Small";
break;

case 42:
size = "Medium";
break;

// match the value of week


case 44:
size = "Large";
break;

case 48:
size = "Extra Large";
break;

default:
size = "Unknown";
break;

}
System.out.println("Size: " + size);
}
}

Contoh output:

5. Jalankan program java dibawah ini.


class Main {
public static void main(String[] args) {

int expression = 2;

// switch statement to check size


switch (expression) {
case 1:
System.out.println("Case 1");

// 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.

6. Jalankan program java switch dengan default opsional


class Main {
public static void main(String[] args) {

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:

7. Jalankan program java untuk menampilkan keterangan nilai mahasiswa.


import java.util.Scanner;

class Main {
public static void main(String args[]){

char nilai;
Scanner input = new Scanner(System.in);

System.out.print("Input Nilai Anda (A - E): ");


nilai = input.next().charAt(0);

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:

8. Jalankan program untuk memilih menu makanan.


Data Uji:
Masukkan nama:
Pilihan:
1. Nasi Goreng(Rp. 10.000.00)
2. Mie Ayam(Rp. 7.000.00)
3. Bakso(Rp.15.000.00)
Masukkan pilihan:
Jumlah pesan:

import java.util.Scanner;

public class Main{


public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int pesan,pilih;
String nama;
System.out.print("Masukkan nama :");
nama = input.next();
System.out.print("Pilihan:\n 1. Nasi Goreng(Rp.10.000.00)\n
2. Mie Ayam(Rp.7.000.00)\n 3. Bakso(Rp.15.000.00)\n");
System.out.print("Masukkan Pilihan :");
pilih = input.nextInt();
System.out.print("Jumlah Pesan : ");
pesan = input.nextInt();
System.out.println("================");
switch(pilih){
case 1:
System.out.println("Nama Pemesan :"+nama);
System.out.println("Pesanan : 10.000");
System.out.println("Jumlah Pesan : "+pesan);

102
BKPM – WORKSHOP PEMROGRAMAN DASAR

System.out.println("Total Bayar : "+pesan*10000);


break;
case 2:
System.out.println("Nama Pemesan :"+nama);
System.out.println("Pesanan : Mie Ayam");
System.out.println("Harga : 7.000");
System.out.println("Jumlah Pesan : "+pesan);
System.out.println("Total Bayar : "+pesan*7000);
break;
case 3:
System.out.println("Nama Pemesan :"+nama);
System.out.println("Pesanan : Bakso");
System.out.println("Harga : 15.000");
System.out.println("Jumlah Pesan : "+pesan);
System.out.println("Total Bayar : "+pesan*15000);
break;
default:
System.out.println("Salah Pilih ! :(");
}
}
}

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:

10. Buatlah program java untuk memilih menu makanan.


Data Uji:
Masukkan nama:
Pilihan:

103
BKPM – WORKSHOP PEMROGRAMAN DASAR

1. Nasi Goreng(Rp. 10.000.00)


2. Mie Ayam(Rp. 7.000.00)
3. Bakso(Rp.15.000.00)
Masukkan pilihan:
Jumlah pesan:
Apakah ingin menambah (y/t)? (jika memilih y maka akan kembali ke menu
masukkan pilihan dan jumlah pesan. Jika memilih t, maka program akan lagsung
menghitung pesanan.)

f. Hasil dan Pembahasan


1. Dokumentasi Tugas berupa laporan (listing program dan hasil, serta berikan
analisa dan kesimpulan pada program yang dibuat)
2. Dokumentasi Tugas berupa file doc/pdf, beri nama file NIM_NamaMahasiswa

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

Materi Pembelajaran : Perulangan: for


Acara Praktikum/Praktik : Membuat perulangan menggunakan for
Tempat : Daring/Luring Politeknik Negeri Jember
Alokasi Waktu : 2x100 menit

i. Capaian Pembelajaran Mata Kuliah (CPMK)


1. Mahasiswa mampu memahami penggunaan perulangan for pada java.
2. Mahasiswa dapat menerapkan perancangan algoritma for secara praktis dan
baik menjadi sebuah program dengan menggunakan bahasa pemrograman
java saat diberikan suatu kasus permasalahan.

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:

for (ekspresi1; ekpresi2; ekspresi3) {


// body of the loop
}
• ekspresi1 menginisialisasi dan/atau mendeklarasikan variabel dan hanya
dieksekusi sekali.
• Kondisinya dievaluasi. Jika kondisinya true, body of the loop for akan
dieksekusi.
• Ekspresi3 memperbarui nilai ekspresi1.
• Kondisi tersebut dievaluasi kembali. Proses berlanjut hingga kondisi
bernilai false.

Sintaks for-each loop


Sintaks Java for-each loop adalah:
for(dataType item : array) {
...

105
BKPM – WORKSHOP PEMROGRAMAN DASAR

}
Dimana,
array - array atau koleksi
item - setiap item array/koleksi ditugaskan ke variabel ini
dataType - tipe data array/koleksi

l. 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

m. Prosedur Kerja

1. Jalankan program dibawah.


class TestIter3 {
public static void main(String[] args) {
int c;
System.out.println("Sebelum for");
for(c=0;c<5;c++) v
System.out.println("Nilai c: " + c);
System.out.println("Setelah for");
}
}

Hasil output:

2. Jalankan program dibawah.


class TestIter4 {
public static void main(String[] args) {
int d,e;
System.out.println("Sebelum for");
for(d=0,e=6;d<=3 && e>=3;d++,e--)
{
System.out.println("Nilai d : " + vd);
System.out.println("Nilai e : " + e);
}
System.out.println("Setelah for");
}
}

106
BKPM – WORKSHOP PEMROGRAMAN DASAR

Hasil output:

3. Jalankan program dibawah.


class TestIter5 {
public static void main(String[] args) {
int g,h;
System.out.println("Sebelum for");
for(g=0,h=6;g<=3 && h>=3;g++,h--) {
v
System.out.println("Nilai g : " + g);
System.out.println("Nilai h : " + h);
}
System.out.println("Setelah for");}}

Hasil output:

4. Jalankan program dibawah.


class TestBreak1 {
public static void main(String[] args) {
System.out.println("Sebelum for");
for(int a=0;a<10;a++) {
if(a==4)
break; v
System.out.println("Nilai a : "+ a);
}
System.out.println("Setelah for");
}}

Hasil output:

107
BKPM – WORKSHOP PEMROGRAMAN DASAR

5. Jalankan program dibawah.


class TestBreak2 {
public static void main(String[] args) {
System.out.println("Sebelum for");
for(int b=1;b<3;b++) {
System.out.println("Perulangan ke "+ b);
for(int c=0;c<5;c++) {
if(c==2) v
break;
System.out.println("Nilai c : " + c);
}
}
System.out.println("Setelah for") ;
}
}

Hasil output:

6. Buatlah program untuk menghasilkan luaran sebagai berikut:

*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *

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 {

public static void main(String[] args)

{
int i,j,n;

System.out.print("Input number of n : ");


Scanner in = new Scanner(System.in);
n = in.nextInt();v

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 {

public static void main(String[] args)


{
int i,j,n,s,x;
System.out.print ("Input number of rows : ");
Scanner in = new Scanner(System.in);
n = in.nextInt(); v

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:

9. Buatlah program Java untuk menampilkan segitiga Pascal.


Data Uji:
Input number of rows: 5

Contoh output:

10. Buatlah program java untuk menghasilkan segitiga * berikut.

Data Uji:
Input number of rows: 6

110
BKPM – WORKSHOP PEMROGRAMAN DASAR

Contoh output:

n. Hasil dan Pembahasan


1. Dokumentasi Tugas berupa laporan (listing program dan hasil, serta berikan
analisa dan kesimpulan pada program yang dibuat)
2. Dokumentasi Tugas berupa file doc/pdf, beri nama file NIM_NamaMahasiswa

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

Materi Pembelajaran : Perulangan: while


Acara Praktikum/Praktik : Membuat perulangan menggunakan while
Tempat : Daring/Luring Politeknik Negeri Jember
Alokasi Waktu : 1x4x170 menit

a. Capaian Pembelajaran Mata Kuliah (CPMK)


1. Mahasiswa mampu memahami penggunaan perulangan: while pada java.
2. Mahasiswa dapat menerapkan perancangan algoritma while secara praktis
dan baik menjadi sebuah program dengan menggunakan bahasa
pemrograman java saat diberikan suatu kasus permasalahan.

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
}

• Perulangan while mengevaluasi textExpression di dalam tanda kurung ().


• Jika textExpression bernilai true, kode di dalam while loop akan
dieksekusi.
• TextExpression dievaluasi lagi.
• Proses ini berlanjut sampai textExpression bernilai false.
• Ketika textExpression bernilai false, loop berhenti.

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

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:

3. Jalankan program untuk mencetak bilangan 1 sampai dengan 5.


// Program to display numbers from 1 to 5
class Main {
public static void main(String[] args) {

113
BKPM – WORKSHOP PEMROGRAMAN DASAR

// declare variables
int i = 1, n = 5;

// while loop from 1 to 5


while(i <= n) {
System.out.println(i);
i++;
}
}
}

Hasil output:

4. Jalankan program untuk mencetak “Hello word” sebanyak 5 kali.


class Main {
public static void main(String args[]){

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

for (int i = 3; i <= Math.sqrt(n); i+= 2)


{
while (n%i == 0)
{
System.out.print(i + " ");
n /= i;
}
}
if (n > 2)
System.out.print(n);
}
}
}

Contoh output:

6. Jalankan program dibawah, untuk menjumlahkan bilangan bulat positif yang


diinputkan user.
Uji data:
Enter a number: 10
Enter a number: 5
Enter a number: 3
Enter a number: -7
// Java program to find the sum of positive numbers
import java.util.Scanner;

class Main {
public static void main(String[] args) {

int sum = 0;

// create an object of Scanner class


Scanner input = new Scanner(System.in);

// take integer input from the user


System.out.println("Enter a number");
int number = input.nextInt();

// while loop continues


// until entered number is positive
while (number >= 0) {
// add only positive numbers
sum += number;

System.out.println("Enter a number");
number = input.nextInt();
}

System.out.println("Sum = " + sum);


input.close();

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:

f. Hasil dan Pembahasan


3. Dokumentasi Tugas berupa laporan (listing program dan hasil, serta berikan
analisa dan kesimpulan pada program yang dibuat)
4. Dokumentasi Tugas berupa file doc/pdf, beri nama file NIM_NamaMahasiswa

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

Materi Pembelajaran : Perulangan: do while


Acara Praktikum/Praktik : Membuat perulangan menggunakan do while
Tempat : Daring/Luring Politeknik Negeri Jember
Alokasi Waktu : 1x100 menit

a. Capaian Pembelajaran Mata Kuliah (CPMK)


1. Mahasiswa mampu memahami penggunaan perulangan: do while pada
java.
2. Mahasiswa dapat menerapkan perancangan algoritma do while secara praktis
dan baik menjadi sebuah program dengan menggunakan bahasa
pemrograman java saat diberikan suatu kasus permasalahan.

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)

• Body of the loop dieksekusi pada awalnya. Kemudian textExpression


dievaluasi.
• Jika textExpression bernilai true, body oh the loop di dalam pernyataan do
akan dieksekusi lagi.
• TextExpression dievaluasi sekali lagi.
• Jika textExpression bernilai true, badan perulangan di dalam pernyataan
do akan dieksekusi lagi.
• Proses ini berlanjut hingga textExpression bernilai false. Kemudian loop
berhenti.

d. Alat dan Bahan

118
BKPM – WORKSHOP PEMROGRAMAN DASAR

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
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:

2. Jalankan program dibawah.


class TestIter9 {
public static void main(String[] args) {

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:

3. Jalankan program dibawah.


public class Main
{
public static void main(String[] args)

119
BKPM – WORKSHOP PEMROGRAMAN DASAR

{
int bilangan=1;
do{
System.out.println(bilangan);
}
while (bilangan>=5);
} }

Hasil output:

4. Jalankan program dibawah, untuk mencetak angka 1 sampai dengan 5.


// Java Program to display numbers from 1 to 5
import java.util.Scanner;

// Program to find the sum of natural numbers from 1 to 100.


class Main {
public static void main(String[] args) {

int i = 1, n = 5;

// do...while loop from 1 to 5


do {
System.out.println(i);
i++;
} while(i <= n);
}
}

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

// Java program to find the sum of positive numbers


import java.util.Scanner;

class Main {
public static void main(String[] args) {

int sum = 0;
int number = 0;

120
BKPM – WORKSHOP PEMROGRAMAN DASAR

// create an object of Scanner class


Scanner input = new Scanner(System.in);

// do...while loop continues


// until entered number is positive
do {
// add only positive numbers
sum += number;
System.out.println("Enter a number");
number = input.nextInt();
} while(number >= 0);

System.out.println("Sum = " + sum);


input.close();
}
}

Contoh output:

6. Buatlah program java untuk mencetak “hello word” sebanyak 5 kali.


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

f. Hasil dan Pembahasan


5. Dokumentasi Tugas berupa laporan (listing program dan hasil, serta berikan
analisa dan kesimpulan pada program yang dibuat)
6. Dokumentasi Tugas berupa file doc/pdf, beri nama file NIM_NamaMahasiswa

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

Materi Pembelajaran : Array


Acara Praktikum/Praktik : Menerapkan konsep Array
Tempat : Daring/Luring Politeknik Negeri Jember
Alokasi Waktu : 1x4x170 menit

a. Capaian Pembelajaran Mata Kuliah (CPMK)


1. Mahasiwa mampu memahami tentang array pada java
2. Mahasiswa mampu menerapkan array menjadi sebuah program dengan
menggunakan bahasa pemrograman java saat diberikan suatu kasus
permasalahan.

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.

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

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]);

int [] y = new int[3];


// Cara 2
y[0] = 20 ;
y[1] = 10 ;
y[2] = 30;
System.out.println("Nilai y[0] : " + y[0]);
System.out.println("Nilai y[1] : " + y[1]);
System.out.println("Nilai y[2] : " + y[2]);
int[] z = {20,10,30};
// Cara 3 tdk menggunakan new
System.out.println("Nilai z[0] : " + z[0]);
System.out.println("Nilai z[1] : " + z[1]);
System.out.println("Nilai z[2] : " + z[2]);
}
}

Hasil output:

 Array Multi Dimensi


class MultiArray1 {
public static void main(String[] args) {

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( );

int[][] arry = {{10,20,30},{40,50,60},{70,80,90}} ;


//Cara 2 Array 2 Dimensi dgn ukuran 3 * 3 = 9
System.out.println("cara 2:");
System.out.println("Nilai arry[0] : " + arry[0][0]);
System.out.println("Nilai arry[0] : " + arry[0][1]);
System.out.println("Nilai arry[0] : " + arry[0][2]);
System.out.println("Nilai arry[1] : " + arry[1][0]);
System.out.println("Nilai arry[1] : " + arry[1][1]);
System.out.println("Nilai arry[1] : " + arry[1][2]);
System.out.println("Nilai arry[2] : " + arry[2][0]);
System.out.println("Nilai arry[2] : " + arry[2][1]);
System.out.println("Nilai arry[2] : " + arry[2][2]);
}
}

Hasil output:

 Array Multi Dimensi 2


class MultiArray2 {

126
BKPM – WORKSHOP PEMROGRAMAN DASAR

public static void main(String[] args)


{ int[][][] arr3 =
{{{10,20,30},{40,50,60}},
{{11,21,31},{41,51,61}},
{{12,22,32},{42,52,62}}}; // ukuran 3 * 6 //=
18
System.out.println("Nilai arr3[0] : " + arr3[0][0][0]);
System.out.println("Nilai arr3[0] : " + arr3[0][0][1]);
System.out.println("Nilai arr3[0] : " + arr3[0][0][2]);
System.out.println("Nilai arr3[0] : " + arr3[0][1][0]);
System.out.println("Nilai arr3[0] : " + arr3[0][1][1]);
System.out.println("Nilai arr3[0] : " + arr3[0][1][2]);
System.out.println("Nilai arr3[1] : " + arr3[1][0][0]);
System.out.println("Nilai arr3[1] : " + arr3[1][0][1]);
System.out.println("Nilai arr3[1] : " + arr3[1][0][2]);
System.out.println("Nilai arr3[1] : " + arr3[1][1][0]);
System.out.println("Nilai arr3[1] : " + arr3[1][1][1]);
System.out.println("Nilai arr3[1] : " + arr3[1][1][2]);

System.out.println("Nilai arr3[2] : " + arr3[2][0][0]);


System.out.println("Nilai arr3[2] : " + arr3[2][0][1]);
System.out.println("Nilai arr3[2] : " + arr3[2][0][2]);
System.out.println("Nilai arr3[2] : " + arr3[2][1][0]);
System.out.println("Nilai arr3[2] : " + arr3[2][1][1]);
System.out.println("Nilai arr3[2] : " + arr3[2][1][2]);
}
}

Hasil output:

4. Panjang row array


package array;
public class Main {
public static void main(String[] args) {
// create a 2d array
int[][] a = {
{1, 2, 3},
{4, 5, 6, 9},

127
BKPM – WORKSHOP PEMROGRAMAN DASAR

{7},
};

// calculate the length of each row


System.out.println("Length of row 1: " + a[0].length);
System.out.println("Length of row 2: " + a[1].length);
System.out.println("Length of row 3: " + a[2].length);
}

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;

public class Main {


public static void main(String[] args) throws Exception {
int[] nums1 = {1, 2, 3, 4};
System.out.println("\nOriginal array:
"+Arrays.toString(nums1));
List<List<Integer>> result1 = new Main().permute(nums1);
System.out.println("\nPossible permutations of the said
array:");
result1.forEach(System.out::println);
int[] nums2 = {1, 2, 3};
System.out.println("\nOriginal array:
"+Arrays.toString(nums2));
List<List<Integer>> result2 = new Main().permute(nums2);
System.out.println("\nPossible permutations of the said
array:");
result2.forEach(System.out::println);
}

public List<List<Integer>> permute(int[] nums) {


List<List<Integer>> result = new ArrayList<>();
Permutation(0, nums, result);
return result;
}

private void Permutation(int i, int[] nums, List<List<Integer>>


result) {
if (i == nums.length - 1) {
List<Integer> list = new ArrayList<>();
for (int n : nums) list.add(n);
result.add(list);
} else {
for (int j = i, l = nums.length; j < l; j++) {
int temp = nums[j];

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;

result = separate_0_1(arr, n);


System.out.println("New Array: ");
System.out.println(Arrays.toString(result));
}

static int [] separate_0_1(int arr[], int n)


{
int count = 0;

for (int i = 0; i < n; i++) {


if (arr[i] == 0)
count++;
}

for (int i = 0; i < count; i++)


arr[i] = 0;

for (int i = count; i < n; i++)


arr[i] = 1;

return arr;
}
}

Contoh output:

7. Buatlah Program untuk menampilkan data array yang diinputkan kemudian


menampilkannya seperti gambar dibawah.

Memasukkan data array

Menampilkan data array

8. Kerjakan soal nomer 5 dengan menggunakan tampilan GUI.


Misal tampilannya,

130
BKPM – WORKSHOP PEMROGRAMAN DASAR

9. Buatlah program java untuk menjumlahkan nilai array.


10. Buatlah program java untuk mencari nilai minimum dan maximum dari sebuah
array.

f. Hasil dan Pembahasan


1. Dokumentasi Tugas berupa laporan (listing program dan hasil, serta berikan
analisa dan kesimpulan pada program yang dibuat)
2. Dokumentasi Tugas berupa file doc/pdf, beri nama file NIM_NamaMahasiswa

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

Materi Pembelajaran : String


Acara Praktikum/Praktik : Menerapkan String
Tempat : Daring/Luring Politeknik Negeri Jember
Alokasi Waktu : 1x4x170 menit

a. Capaian Pembelajaran Mata Kuliah (CPMK)


1. Mahasiswa mampu memahami String pada java
2. Mahasiswa mampu meng-implementasikan operasi String pada pemrograman
java

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.

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
1. Membuat String di Java
package string1;
public class Main {
public static void main(String[] args) {
// create strings

132
BKPM – WORKSHOP PEMROGRAMAN DASAR

String satu = "Belajar";


String dua = "Pemrograman";
String tiga = "Java";

// 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);

// get the length of greet


int length = kata.length();
System.out.println("Length: " + length);
}
}

Hasil output:

3. Menggabungkan dua String


package gabungstring;
public class Main {
public static void main(String[] args) {
// create first string
String kata1 = "Pemrograman ";
System.out.println("String Pertama: " + kata1);

// create second
String kata2 = "Java";
System.out.println("String Kedua: " + kata2);

// join two strings


String joinedString = kata1.concat(kata2);
System.out.println("Gabungan String: " + joinedString);
}
}

133
BKPM – WORKSHOP PEMROGRAMAN DASAR

Hasil output:

4. Membandingkan dua String


package comparestring;
public class Main {
public static void main(String[] args) {
// create 3 strings
String satu = "Pemrograman java";
String dua = "Pemrograman java";
String tiga = "Pemrograman C";

// compare first and second strings


boolean result1 = satu.equals(dua);
System.out.println("Strings first and second are equal: " +
result1);

// compare first and third strings


boolean result2 = satu.equals(tiga);
System.out.println("Strings first and third are equal: " +
result2);
}
}

Hasil output:

5. Jalankan program Java untuk mendapatkan konten string yang diberikan sebagai
array byte.
import java.util.Calendar;

public class Main {

public static void main(String[] args)


{
String str = "This is a sample String.";

// Copy the contents of the String to a byte array.


byte[] byte_arr = str.getBytes();

// Create a new String using the contents of the byte array.


String new_str = new String(byte_arr);

// Display the contents of the byte array.


System.out.println("\nThe new String equals " +
new_str + "\n");
}
}

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.";

// Copy the contents of the String to a byte array.


// Only copy characters 4 through 10 from str.
// Fill the source array starting at position 2.
char[] arr = new char[] { ' ', ' ', ' ', ' ',
' ', ' ', ' ', ' ' };
str.getChars(4, 10, arr, 2);

// Display the contents of the byte array.


System.out.println("The char array equals \"" +
arr + "\"");
}
}

Contoh output:

7. Jalankan program Java untuk mengubah semua karakter dalam string menjadi
huruf besar.
public class Main {

public static void main(String[] args)


{
String str = "The Quick BroWn FoX!";

// Convert the above string to all uppercase.


String upper_str = str.toUpperCase();

// Display the two strings for comparison.


System.out.println("Original String: " + str);
System.out.println("String in uppercase: " + upper_str);
}
}

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

String str = "The Quick BroWn FoX!";

// Convert the above string to all lowercase.


String lowerStr = str.toLowerCase();

// Display the two strings for comparison.


System.out.println("Original String: " + str);
System.out.println("String in lowercase: " + lowerStr);
}
}

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.";

// Replace all the 'd' characters with 'f' characters.


String new_str = str.replace('d', 'f');

// Display the strings for comparison.


System.out.println("Original string: " + str);
System.out.println("New String: " + new_str);
}
}

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.

- Memasukkan String pertama


- Memasukkan String kedua
- Klik tombol Simpan, lalu String pertama dan kedua akan digabungkan dengan
di tampilkan pada Gabungan dua String.

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:

f. Hasil dan Pembahasan


3. Dokumentasi Tugas berupa laporan (listing program dan hasil, serta berikan
analisa dan kesimpulan pada program yang dibuat)
4. Dokumentasi Tugas berupa file doc/pdf, beri nama file NIM_NamaMahasiswa

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

Pokok Bahasan : Project Waktu


Acara Praktikum/Praktik : Membuat Project Based Learning Tentang Waktu
Tempat : Daring/Luring Politeknik Negeri Jember
Alokasi Waktu : 1x4x170 menit

a. Capaian Pembelajaran Mata Kuliah (CPMK)


1. Mahasiswa mampu menampilkan waktu pada console dan GUI java
2. Mahaiswa mampu membuat program waktu pada java

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

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
1. Menampilkan waktu saat ini.
package waktu1;

139
BKPM – WORKSHOP PEMROGRAMAN DASAR

import java.util.Date;

public class Main {


public static void main(String[] args) {
// object tanggal
Date date = new Date();

// menampilkan waktu dan tanggal menggunakan toString()


System.out.println(date.toString());
}
}

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;

Calendar cal = Calendar.getInstance();


// Sets the given calendar field value and the time value
// (millisecond offset from the Epoch) of this Calendar
undefined.
cal.clear();
System.out.println();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month);
cal.set(Calendar.DATE, date);

System.out.println(cal.getTime());
System.out.println();
}
}
Hasil output:

140
BKPM – WORKSHOP PEMROGRAMAN DASAR

3. Membuat program java untuk mendapatkan dan menampilkan informasi (tahun,


bulan, hari, jam, menit, dan detik).
package waktu5;
import java.util.*;

public class Main {


public static void main(String[] args) {
// Create a default calendar
Calendar cal = Calendar.getInstance();
// Get and display information of current date from the
calendar:
System.out.println();
System.out.println("Year: " + cal.get(Calendar.YEAR));
System.out.println("Month: " + cal.get(Calendar.MONTH));
System.out.println("Day: " + cal.get(Calendar.DATE));
System.out.println("Hour: " + cal.get(Calendar.HOUR));
System.out.println("Minute: " + cal.get(Calendar.MINUTE));
System.out.println("Second: " + cal.get(Calendar.SECOND));
System.out.println();
}
}
Hasil output:

4. Membuat program untuk mendapatkan dan menampilkan waktu saat di New


York.
package waktu6;
import java.util.*;

public class Main {


public static void main(String[] args) {
Calendar calNewYork = Calendar.getInstance();

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:

5. Mendapatkan dan menampilkan waktu dan tanggal lengkap saat ini.


package waktu7;
import java.util.*;

public class Main {


public static void main(String[] args) {
Calendar now = Calendar.getInstance();
System.out.println();
System.out.println("Current full date and time is : " +
(now.get(Calendar.MONTH) + 1) + "-"
+ now.get(Calendar.DATE) + "-" + now.get(Calendar.YEAR) + " "
+ now.get(Calendar.HOUR_OF_DAY) + ":" +
now.get(Calendar.MINUTE) + ":"
+ now.get(Calendar.SECOND) + "." +
now.get(Calendar.MILLISECOND));
System.out.println();
}
}
Hasil output:

6. Jalankan program Java untuk mendapatkan nilai maksimum tahun, bulan,


minggu, tanggal dari tanggal saat ini dari default calender.
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.getActualMaximum(Calendar.YEAR);

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);

System.out.println("Actual Maximum Year:


"+actualMaxYear);
System.out.println("Actual Maximum Month:
"+actualMaxMonth);
System.out.println("Actual Maximum Week of Year:
"+actualMaxWeek);
System.out.println("Actual Maximum Date:
"+actualMaxDate+"\n");
System.out.println();

}
}

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);

System.out.println("Actual Minimum Year:


"+actualMaxYear);
System.out.println("Actual Minimum Month:
"+actualMaxMonth);
System.out.println("Actual Minimum Week of Year:
"+actualMaxWeek);
System.out.println("Actual Minimum Date:
"+actualMaxDate+"\n");
System.out.println();
}
}

Hasil output:

143
BKPM – WORKSHOP PEMROGRAMAN DASAR

8. Jalankan program Java untuk mendapatkan hari terakhir bulan ini.


import java.util.*;
public class Main {
public static void main(String[] args)
{
//Gets a calendar using the default time zone and locale.
Calendar calendar = Calendar.getInstance();
System.out.println();

System.out.println(calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
System.out.println();
}
}

Hasil output:

9. Jalankan program Java untuk mendapatkan tanggal terakhir bulan ini.


import java.util.*;
public class Main {
public static void main(String[] args)
{
Calendar cal = Calendar.getInstance();
// cal.setTime(date);
System.out.println();
cal.set(Calendar.DAY_OF_MONTH,
cal.getActualMaximum(Calendar.DAY_OF_MONTH));
System.out.println(cal.getTime());
System.out.println();
}
}

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

11. Jalankan program Java untuk mendapatkan nama lokal hari-dalam-minggu.


import java.util.*;
import java.time.*;
import java.text.*;

public class Main {

public static void main(String []args){

// Localize in German

DateFormatSymbols symbols = new DateFormatSymbols(new


Locale("de"));
// for the current Locale :
// DateFormatSymbols symbols = new DateFormatSymbols();
String[] dayNames = symbols.getWeekdays();
for (String s : dayNames) {
System.out.print(s + "\n");
System.out.println();
}
}
}

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:

16. Parsing String ke tanggal


package waktu3;
import java.util.*;
import java.text.*;

public class Main {


public static void main(String[] args) {
SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd");
String input = args.length == 0 ? "2021-08-17" : args[0];
System.out.print(input + " Memparsing sebagai ");

Date t;

try {
t = ft.parse(input);
System.out.println(t);
} catch (ParseException e) {
System.out.println("Tidak dapat diparsing menggunakan " +
ft);
}
}
}
Hasil output:

17. Konversi detik ke hari, jam, menit, dan detik


package konversiwaktu;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner Waktu = new Scanner (System.in);

147
BKPM – WORKSHOP PEMROGRAMAN DASAR

int hari, hari1, jam, jam1, menit, menit1, detik, totaldetik;


System.out.print("Masukan Total Detik :");
totaldetik = Waktu.nextInt();
hari=totaldetik/86400;
hari1=totaldetik%86400;
jam=hari1/3600;
jam1=hari1%3600;
menit=jam1/60;
menit1=jam1%60;
detik=menit1;
System.out.println(+hari+" hari : "+jam+" Jam : "+menit+"
Menit : "+detik+" Detik");
}
}

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

19. Jalankan program Java untuk menghitung usia anda.


import java.time.*;
import java.util.*;

public class Main {


public static void main(String[] args)
{
// date of birth
LocalDate pdate = LocalDate.of(2000, 11, 28);
// current date
LocalDate now = LocalDate.now();
// difference between current date and date of birth
Period diff = Period.between(pdate, now);

System.out.printf("\nI am %d years, %d months and %d days


old.\n\n", diff.getYears(), diff.getMonths(), diff.getDays());
}
}

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:

f. Hasil dan Pembahasan


1. Dokumentasi Tugas berupa laporan (listing program dan hasil, serta berikan
analisa dan kesimpulan pada program yang dibuat)
2. Dokumentasi Tugas berupa file doc/pdf, beri nama file NIM_NamaMahasiswa

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

4 Keterlambatan waktu pengumpulan dan kesalahan pengerjaan V


Total Skor* Skor x 25

152

Anda mungkin juga menyukai