gusdya.net Modul & Materi Kuliah
IF25W0305-20261-MA01 Praktikum Pemrograman II Matrikulasi Ganjil 2026/2027

Matrikulasi 01 - Lingkungan Kerja dan Dasar Java

Wanda Gusdya

Pengampu / Penulis Materi

23 Okt 2026 • 5 menit baca • 77 pembaca

M01 Lingkungan Kerja dan Dasar Java

CAPAIAN LUARAN PRAKTIKAN

Dalam 170 menit, mahasiswa dapat mengompilasi dan menjalankan class Java, menjelaskan alur source→bytecode→JVM, memilih tipe data dasar, dan membaca satu nilai input. Prasyarat awal: pengoperasian folder dan editor; JDK sudah dipasang. Bukti utama: program perhitungan sederhana dan catatan hasil uji. Bekal ini dipakai pada seluruh sesi Praktikum Pemrograman II.

TEORI DASAR

Program dan lingkungan eksekusi. Berkas .java berisi source yang dibaca kompilator javac. Hasil .class berisi bytecode yang dijalankan JVM. JDK menyediakan perangkat pengembangan, termasuk kompilator. Class yang dideklarasikan public harus berada dalam berkas bernama sama, termasuk kapitalisasinya. Metode public static void main(String[] args) adalah titik masuk contoh konsol. Nama class tidak diikuti .class pada perintah java.

Variabel tipe dan nilai. Variabel mempunyai nama, tipe, dan nilai. int mewakili bilangan bulat dalam rentang terbatas; long menyediakan rentang lebih besar; double mewakili bilangan pecahan dengan ketelitian terbatas; boolean memuat true atau false. String menyimpan teks dan merupakan tipe referensi. Pilih tipe berdasarkan arti data dan rentangnya. Misalnya, jumlah item memakai int, sedangkan total nilai yang dapat melampaui int perlu long. Overflow integer dapat menghasilkan nilai salah tanpa exception otomatis.

Operator dan pembagian. Java mengevaluasi ekspresi menurut prioritas operator. Pada dua operand int, 5/2 menghasilkan 2 karena bagian pecahannya dibuang menuju nol; 5/2.0 menghasilkan 2.5. Casting satu operand ke double sebelum pembagian mempertahankan hasil pecahan. Persen (%) adalah sisa pembagian, bukan persentase. Operator + pada String dapat melakukan penggabungan teks, sehingga "hasil=" + 2 + 3 menghasilkan teks hasil=23, sedangkan "hasil=" + (2+3) menghasilkan hasil=5.

Input dan konversi. Scanner dapat membaca input konsol. Membaca satu baris lalu mengubahnya ke integer membantu membedakan pembacaan teks dari parsing angka. Input yang tidak berbentuk angka dapat menimbulkan exception; penanganannya dipelajari bertahap pada M02 dan M07. Jangan memakai data identitas nyata untuk contoh. Sebelum menjalankan program, tulis input yang dipakai agar keluaran dapat diulang.

Tiga jenis kesalahan. Kesalahan kompilasi mencegah source menjadi bytecode, misalnya titik koma hilang. Kesalahan runtime terjadi saat program berjalan, misalnya pembagian integer dengan nol. Kesalahan logika menghasilkan output yang tidak sesuai maksud walaupun program selesai, misalnya rata-rata terpotong karena pembagian integer. Perbaikan dimulai dari pesan pertama yang relevan dan baris source yang ditunjukkan.

LANGKAH EKSPERIMEN

Tahap dan durasi Aktivitas dan bukti
Diagnostik 10 menit Periksa versi Java dan prediksi dua hasil pembagian
Konsep 25 menit Baca teori, bedakan source, class, dan JVM
Demonstrasi 20 menit Jalankan contoh dan cocokkan nilai serta tipe
Latihan terbimbing 40 menit Ubah variabel, tambah input, perbaiki satu compile error
Latihan mandiri 45 menit Buat program rata-rata tiga nilai
Uji dan penjelasan 20 menit Jalankan tabel uji dan jelaskan casting
Refleksi 10 menit Tulis kesalahan, perbaikan, dan perintah run

Contoh kerja. Simpan sebagai M01DasarJava.java. Prediksi seluruh baris, lalu jalankan. Berkas yang sama tersedia pada kode-contoh.

public class M01DasarJava {
    public static void main(String[] args) {
        int a = 5;
        int b = 2;
        System.out.println("bulat=" + (a / b));
        System.out.println("pecahan=" + ((double) a / b));
        System.out.println("sisa=" + (a % b));
        System.out.println("hasil=" + (a + b));
    }
}
javac -d out M01DasarJava.java
java -cp out M01DasarJava
  1. Pastikan terminal berada di folder source. Catat lokasi out dan perbedaan perintah javac dengan java.
  2. Cocokkan output dengan bulat=2, pecahan=2.5, sisa=1, hasil=7. Ubah tanda kurung pada baris terakhir dan jelaskan perubahan arti ekspresinya.
  3. Hilangkan satu titik koma pada salinan latihan. Baca pesan kompilasi dan perbaiki; kemudian buktikan program dapat dijalankan lagi.
  4. Tambahkan Scanner untuk membaca satu baris, misalnya Integer.parseInt(scanner.nextLine()). Periksa dengan input 5 lalu dengan teks lima. Catat jenis kegagalan kedua tanpa menutupinya.
  5. Buat RataTiga.java yang menerima tiga nilai integer 0–100 dari input, lalu menghitung jumlah dan rata-rata double. Pada tahap ini nyatakan rentang sebagai kontrak; penolakan input di luar rentang akan ditambahkan pada M02.

[GAMBAR PERLU DITAMBAHKAN — MAT01] Tangkapan layar editor, struktur folder source/out, serta hasil javac dan java untuk contoh yang berhasil.

LATIHAN TUGAS EVALUASI KEMAMPUAN

Input tiga nilai Jumlah Rata-rata yang diharapkan
80, 90, 70 240 80.0
1, 2, 2 5 Mendekati 1.6666667
0, 0, 0 0 0.0
100, 100, 100 300 100.0

Untuk membandingkan double dalam test, gunakan toleransi kecil, misalnya selisih absolut kurang dari 0.000001, bukan menuntut semua pecahan desimal direpresentasikan tepat. Tulis hasil aktual dan perintah menjalankan. Kasus kritis: program berhasil dikompilasi dari source dan kasus 1,2,2 tidak terpotong menjadi 1.

Cek pemahaman. Mengapa source yang berhasil dikompilasi masih dapat salah? Mengapa cast setelah a/b tidak mengembalikan pecahan yang sudah hilang? Apa perbedaan folder source dan out?

Kunci cek. Kompilator memeriksa aturan bahasa, bukan seluruh maksud masalah. Pada (double)(a/b), pembagian integer sudah terjadi sebelum cast. Folder out menyimpan hasil kompilasi; source tetap diperlukan untuk mengubah dan membangun ulang program.

Pengumpulan dan remediasi. Kumpulkan RataTiga.java, tabel uji, dan catatan error. Bila gagal kompilasi, ulangi siklus edit→compile→run pada contoh lima baris terlebih dahulu. Gunakan rubrik empat aspek pada panduan; lanjut setelah kasus kritis lulus dan dapat dijelaskan.

PUSTAKA

Cosmina, Bab 2–6 untuk lingkungan, sintaks, tipe data, dan operator. Barker, Bab 2 dan Appendix H untuk dasar Java dan kompilator. RPS IF25W0305 sebagai tujuan kesiapan.