TIPS: Rangkuman ini hanya sebagai pemahaman secara umum. Pastikan Anda juga membaca BMP (Buku Materi Pokok) versi cetak atau digital di Ruang Baca Virtual (RBV) untuk pemahaman lebih mendalam.
DILARANG: Memperjualbelikan seluruh konten atau latihan soal yang terdapat di portal ini. Pelanggaran akan dikenakan sanksi sesuai ketentuan yang berlaku.
Modul 9: Praktikum 3
Praktikum 3.1: Array dan Method
A. ARRAY
Definisi: Kumpulan data bertipe sama yang setiap elemennya diakses melalui indeks yang dimulai dari 0. Array dialokasikan secara dinamis dan merupakan sebuah objek.
1. Array Satu Dimensi
Sintaks:tipe nama_array[]; atau tipe[] nama_array;.
Menampilkan Isi Array (Gaya Klasik): Menggunakan perulangan for standar (for (int i=0; i < array.length; i++)).
Menampilkan Isi Array (Gaya Sederhana): Menggunakan enhanced for-loop (for (int x : arrayInt)), yang lebih ringkas.
Mengurutkan Data: Menggunakan methodArrays.sort(nama_array) dari kelas java.util.Arrays untuk mengurutkan elemen dari nilai terkecil ke terbesar.
2. Array Multidimensi
Definisi: Array yang diakses menggunakan lebih dari satu indeks (misalnya baris dan kolom).
Sintaks (2D):tipe[][] nama_array = new tipe[baris][kolom];.
Praktik: Mendeklarasikan, menginisialisasi secara langsung, atau menerima input pengguna menggunakan Scanner dan perulangan bersarang.
3. Copy Array
Fungsi: Menyalin elemen dari satu array ke array lain menggunakan System.arraycopy().
Digunakan untuk menangani error (seperti ArrayIndexOutOfBoundsException) agar program tidak berhenti mendadak dan dapat menampilkan pesan yang lebih ramah.
B. Try..Catch Bersarang
Sebuah blok try-catch dapat ditempatkan di dalam blok try atau catch lainnya, memungkinkan penanganan eksepsi pada level berbeda dalam tumpukan pemanggilan (call stack).
C. Try..Catch Multi
Satu blok try dapat diikuti beberapa blok catch untuk menangani berbagai jenis eksepsi (misal: ArrayIndexOutOfBoundsException dan ArithmeticException) secara spesifik.
D. Try..Catch..Finally
Blok finally adalah blok kode opsional yang selalu dieksekusi setelah blok try (dan catch), terlepas dari apakah eksepsi terjadi atau tidak.
Praktikum 3.3: Review Algoritma, Flowchart dan Kode Program
A. Menghitung Total Data Input
Penyelesaian Tidak Optimal: Menggunakan banyak variabel terpisah (a1, a2, dst.) dan kode berulang.
Penyelesaian Optimal: Menggunakan struktur perulangan (for) dan hanya dua variabel (penampung input dan akumulator total), menghasilkan kode yang lebih efisien.
B. Bubble Sort
Definisi: Algoritma pengurutan yang berulang kali membandingkan dan menukar elemen berdekatan jika urutannya salah, sehingga elemen terbesar "menggelembung" ke akhir.
Implementasi: Menggunakan perulangan bersarang (nested loop).
C. Selection Sort
Definisi: Mencari elemen terkecil dari bagian array yang belum terurut dan menukarnya dengan elemen di posisi awal bagian tersebut pada setiap iterasi.
Implementasi: Perulangan luar menentukan posisi isi, perulangan dalam mencari nilai minimum.
D. Insertion Sort
Definisi: Membangun array terurut satu elemen pada satu waktu dengan mengambil elemen input dan menyisipkannya ke lokasi yang benar dalam bagian yang sudah terurut.
Implementasi: Perulangan luar mengambil elemen sisipan, perulangan dalam menggeser elemen lain untuk memberi ruang.