Sabs UTDocs
Msim4203

MSIM4203 - Modul 7

Ringkasan materi Array, Method, dan Eksepsi untuk persiapan UAS MSIM4203

Pada Bahasa Pemrograman Java terdapat ribuan fungsi/method yang disimpan kedalam library-library Java. Modul ini akan membahas tiga sub-pokok bahasan penting yaitu array, method, dan eksepsi.

Array

Array adalah objek yang digunakan untuk menyimpan sejumlah data. Elemen-elemen pada array ditandai dengan indeks, yang dimulai dari 0. Panjang array ditetapkan saat dibuat. Array dapat berupa satu dimensi, dua dimensi, atau multidimensi.

Poin Penting tentang Array di Java:

  1. Semua array dialokasikan secara dinamis.
  2. Array adalah objek, sehingga dapat mengetahui jumlah anggotanya.
  3. Variabel array dideklarasikan seperti variabel lain dengan menyebutkan nama array setelah tipe data.
  4. Indeks array dimulai dari 0.
  5. Array dapat dibuat static, variabel lokal, atau menjadi parameter pada sebuah method.

Deklarasi dan Alokasi Memori Array Satu Dimensi

Ada dua cara mendeklarasikan array satu dimensi:

tipe nama_var_array[];

atau

tipe[] nama_var_array;

Setelah deklarasi, memori perlu dialokasikan:

nama_var_array = new tipe[besar_alokasi];

Atau digabungkan:

tipe [] nama_var_array = new tipe[besar_alokasi_mem];

Elemen dalam array yang dialokasikan oleh new secara otomatis diinisialisasi ke 0 (untuk integer), false (untuk boolean), atau null (tipe referensi).

Array Multidimensi

Array multidimensi adalah variabel yang menyimpan sekumpulan data bertipe sama dan diakses melalui banyak indeks, biasanya digunakan untuk matriks.

tipe [][] nama_var_array = new tipe[m][n]; //2D
tipe [][][] nama_var_array = new tipe[m][n][p]; //3D

Passing Array ke Method

Array dapat dilewatkan sebagai parameter ke sebuah method, mirip dengan objek lainnya. Ini memungkinkan transfer data antar method.

Mengambil Nilai Array dari Method

Sebuah method dapat mengembalikan nilai berupa array. Ini dilakukan dengan menentukan tipe kembalian method sebagai array.

Copy Array dengan System.arraycopy()

Java menyediakan method System.arraycopy() untuk menyalin data dari satu array ke array lain.

System.arraycopy(array_summer, int_ambil_index, array_tujuan, int_sisip_awal_index, int_sisip_akhir_index);
  • array_summer: Array sumber yang ingin disalin.
  • int_ambil_index: Indeks awal di array_summer untuk mulai menyalin.
  • array_tujuan: Array tujuan. Panjangnya tidak harus sama dengan array sumber.
  • int_sisip_awal_index: Indeks awal di array_tujuan tempat data akan disisipkan.
  • int_sisip_akhir_index: Indeks akhir di array_tujuan tempat data akan disisipkan.

Kloning Array

Kloning array dapat dilakukan pada array satu dimensi maupun multidimensi menggunakan method .clone().

  • Kloning Array Satu Dimensi: tipe arrayTujuan[] = arraySumber.clone();
  • Kloning Array Multidimensi: tipe arrayTujuan[][] = arraySumber.clone();

Method

Method adalah sekumpulan pernyataan yang dikelompokkan bersama untuk melakukan tugas-tugas tertentu. Dalam bahasa pemrograman lain, method bisa disebut function atau procedure.

Membuat Method

Sintaks dasar pembuatan method:

public static tipe_return namaMethod(tipe x, tipe y, tipe z)
{
    // blok pernyataan
}
  • public static: modifier akses.
  • tipe_return: tipe data nilai yang dikembalikan method (jika ada).
  • namaMethod: nama identifikasi method.
  • tipe x, tipe y, tipe z: parameter input beserta tipe datanya.

Memanggil Method

Method dipanggil dengan menyebutkan nama methodnya. Jika method mengembalikan nilai, nilai tersebut dapat ditampung dalam sebuah variabel.

Method Tanpa Mengembalikan Nilai (void)

Untuk method yang tidak mengembalikan nilai, gunakan keyword void.

public static void namaMethod(tipe x, tipe y, tipe z)
{
    // blok pernyataan
}

Method Overloading

Method Overloading adalah kemampuan sebuah class memiliki nama method yang sama, tetapi dibedakan oleh parameternya. Perbedaan parameter dapat mencakup:

  • Jumlah parameter.
  • Tipe data parameter.
  • Urutan tipe data parameter.

Method Overriding

Method Overriding adalah proses pewarisan method dari super-class ke sub-class. Ketika sebuah super-class memiliki method, dan method tersebut dideklarasikan ulang di sub-class, itu disebut overriding. Ini memungkinkan sub-class untuk menyediakan implementasi spesifik dari method yang sudah disediakan oleh super-class mereka.

Static Method Dibayangi Static Method Dasar

Jika sebuah sub-class dan super-class memiliki method static dengan nama yang sama, method pada super-class akan "membayangi" method pada sub-class. Saat memanggil method static melalui objek sub-class yang diperlakukan sebagai super-class, yang akan tereksekusi adalah method static dari super-class.

Eksepsi (Exception)

Eksepsi (Exception) adalah peristiwa yang menyebabkan program menjadi tidak normal. Pemicunya bisa karena masukan data yang tidak valid, file tidak ditemukan, memori tidak didefinisikan, atau error yang terjadi saat program dieksekusi (Runtime Error). Penanganan eksepsi penting untuk mempertahankan jalannya aplikasi dan memberikan pesan kesalahan yang komunikatif.

Kategori Error dalam Pemrograman Java

  1. Compilation Error: Terjadi saat kompilasi program.

    • Kesalahan Sintaksis: Penulisan kode tidak sesuai aturan bahasa Java (misal, titik koma yang hilang).
    • Kesalahan Semantik: Kode benar secara sintaksis, tetapi salah makna atau logika (misal, variabel belum diinisialisasi).
    • Kesalahan Cascading: Kesalahan penulisan yang menyebabkan banyak pesan error yang membingungkan karena compiler menunjuk kesalahan di tempat yang tidak tepat.
  2. Runtime Error: Kesalahan yang tidak terlihat saat kompilasi tetapi terjadi saat program dijalankan. Ini termasuk eksepsi.

  3. Logic Error: Bug dalam program yang menyebabkan program beroperasi tidak normal atau menghasilkan keluaran yang tidak sesuai meskipun program valid secara sintaksis dan tidak menghasilkan runtime error.

Tipe-tipe Eksepsi

Dalam Java, eksepsi adalah objek dari sub-class Throwable (paket java.lang).

  1. Class Exception: Memiliki sub-class seperti ArithmeticException, NullPointerException, IndexOutOfBoundsException.
  2. Class Error: Kerusakan pada sistem internal yang fatal (LinkageError, VirtualMachineError).

Checked dan Unchecked Exception

  1. Checked Exception: Eksepsi yang diperiksa saat kompilasi. Programmer harus menanganinya (misal, dengan throws atau try-catch). Contoh: ClassNotFoundException, CloneNotSupportedException.
  2. Unchecked Exception: Eksepsi yang tidak diperiksa saat kompilasi. Ini termasuk RuntimeException dan Error. RuntimeException sering muncul karena desain program atau kesalahan program itu sendiri (misal, ArithmeticException, IndexOutOfBoundsException). Error berada di luar kendali programmer.

Penanganan Eksepsi

  1. try-catch:

    • Blok try berisi kode yang mungkin menimbulkan eksepsi.
    • Blok catch (dengan parameter TipeException VariabelException) akan dieksekusi jika terjadi eksepsi yang sesuai di blok try.
    try {
        // Pernyataan yang mungkin mengalami error
    } catch(TipeException VariabelException) {
        // Blok pernyataan yang dijalankan jika terjadi error
    }
  2. try-catch Bersarang: Sebuah blok try atau catch dapat mengandung blok try-catch lain.

  3. try-catch Banyak: Satu blok try dapat diikuti oleh beberapa blok catch untuk menangani tipe eksepsi yang berbeda. Urutan catch penting; eksepsi spesifik harus ditangani sebelum eksepsi yang lebih umum.

  4. try-catch-finally:

    • Blok finally adalah blok pernyataan yang selalu dijalankan, terlepas dari apakah eksepsi terjadi atau tidak, atau apakah ditangkap atau tidak.
    try {
        // Pernyataan yang mungkin error
    } catch(TipeException VariabelException) {
        // Blok dijalankan jika error
    } finally {
        // Blok selalu dijalankan
    }
  5. throw: Digunakan untuk secara eksplisit melempar objek eksepsi yang dibuat oleh programmer. Misalnya, throw new RuntimeException("Pesan kustom");.

  6. throws: Digunakan di deklarasi method untuk menunjukkan bahwa method tersebut mungkin melempar jenis eksepsi tertentu, dan method pemanggil bertanggung jawab untuk menanganinya. Ini menghindari keharusan menangani eksepsi dalam method itu sendiri.

    public int namaMethod() throws Exception {
        // ...
    }

Poin Penting

  • Array di Java adalah objek yang dialokasikan secara dinamis, dengan indeks dimulai dari 0.
  • Array dapat berupa satu dimensi atau multidimensi, dan dapat dilewatkan atau dikembalikan dari method.
  • System.arraycopy() digunakan untuk menyalin sebagian atau seluruh array, sementara .clone() membuat salinan array.
  • Method adalah blok kode yang melakukan tugas tertentu; dapat mengembalikan nilai (dengan tipe data) atau tidak mengembalikan nilai (dengan void).
  • Method Overloading memungkinkan method dengan nama sama tetapi parameter berbeda.
  • Method Overriding adalah implementasi ulang method dari super-class di sub-class.
  • Eksepsi adalah peristiwa yang mengganggu alur normal program; penanganan eksepsi penting untuk robustnes aplikasi.
  • Jenis error meliputi Compilation Error (sintaksis, semantik, cascading), Runtime Error, dan Logic Error.
  • Eksepsi terbagi menjadi Checked (harus ditangani) dan Unchecked (tidak wajib ditangani saat kompilasi).
  • Penanganan eksepsi dilakukan dengan try-catch, finally, throw, dan throws.

Tes Formatif 1 — Kegiatan Belajar 1

Tes Formatif 1Kegiatan Belajar 1

1.Indeks sebuah array selalu dimulai dari angka ...

2.Dua komponen yang harus disertakan ketika membuat array pada Java adalah ...

3.Perhatikan deklarasi array berikut: `int nilai[];` kode program di atas memberikan informasi bahwa ...

4.Perhatikan deklarasi array berikut: `int nilai[];` Untuk bisa digunakan array di atas harus mengalokasikan memori dengan kode program ...

5.Perhatikan potongan kode program berikut: ```c int array2D[][] = { {2, 1, 8}, {3, 6, 9}, {1, 7, 4}}; ``` Untuk menampilkan nilai data array dengan nilai 3 adalah dengan cara ...

6.Perhatikan script berikut: ```c int array2D[][] = { {2, 1, 8}, {3, 6, 9}, {1, 7, 4}}; BooleanLogic = array2D[1][1] > array2D[1][0]; ... ``` Nilai dari variabel BooleanLogic adalah ...

7.Perhatikan script berikut: `System.arraycopy(arraySumber, 7, arrayTujuan, 5, 6);` Fungsi utama dari kode program di atas adalah ...

8.Perhatikan script berikut: `int array2D[][] = { {2, 1, 8}, {3, 6, 9}, {1, 7, 4}}; nilai = array2D[2][1];` Nilai dari variabel nilai adalah...

9.Pada array pemrograman Java untuk array dua dimensi, maka pernyataan: `Nilai[x][y];` Data x dan y adalah ...

10.Pernyataan kloning untuk satu dimensi dengan dua dimensi adalah...

0/10 soal dijawab

Tes Formatif 2 — Kegiatan Belajar 2

Tes Formatif 2Kegiatan Belajar 2

1.Perhatikan method di bawah ini. ```java public static int CekGanjilGenap(int nilai) { nilai = nilai % 2; return nilai; } ``` Pada method `public static` adalah ...

2.Supaya nilai suatu method tidak perlu dikembalikan, maka nama didepan method harus menyertakan `keyword` ...

3.Jika sebuah contoh method sebagai berikut ... ```c public static double contoh(int nilai, boolean logik, double kecepatan) { ... return x; } ``` Maka cara memanggil method tersebut yang tepat adalah ...

4.Aturan pembuatan sebuah method dari sisi penempatan method dalam sebuah class adalah ...

5.Perhatikan potongan kode program berikut: ```java public class Contoh { // Driver code public static void main(String args[]) { ... } public static double cariNilaiX(double alas, int tinggi) { return (...); } public static int cariNilaiX (int panjang, int lebar) { return (...); } } ``` Method `cariNilaiX` adalah method yang dikenal dengan method ...

6.Sebuah method yang sudah dideklarasikan pada `super-class` dan kemudian kembali dideklarasikan pada `sub-class` disebut dengan istilah ...

7.Sebuah method yang dipanggil dari class lain, dapat dilakukan dengan berbagai macam cara, contoh yang salah dalam memanggil sebuah method adalah sebagai berikut ...

8.Contoh kode program dengan nilai return yang benar adalah sebagai berikut ...

9.Pernyataan `void` pada sebuah method memberikan pengertian sebuah method ...

10.Jika method dideklarasikan dengan tipe data `double`, maka nilai baliknya harus ...

0/10 soal dijawab

Tes Formatif 3 — Kegiatan Belajar 3

Tes Formatif 3Kegiatan Belajar 3

1.Penanganan eksepsi berjalan pada saat runtime error, maksudnya adalah agar ...

2.Tiga kategori Error dalam bahasa pemrograman adalah ...

3.Yang bukan termasuk keyword penanganan eksepsi adalah ...

4.Kesalahan Sintaksis termasuk dalam kesalahan kategori ...

5.Perhatikan contoh program berikut: `prog.java:x: error: variable a might not have been initialized c = a * b; ^` Kesalahan di atas adalah kesalahan ...

6.Kesalahan yang tidak ditampilkan pada saat mengkompilasi program disebut juga dengan kesalahan ...

7.Eksepsi yang diperiksa pada saat kompilasi, artinya pesan kesalahan sudah bisa diprediksi sebelum terjadi, penanganan ini bisa menggunakan `throws` disebut dengan ...

8.Eksepsi yang tidak diperiksa, ada dua macam class yang ada pada exception ini yaitu Runtime exception dan Error disebut dengan ...

9.Eksepsi handling dengan konsep bahwa apapun yang terjadi, kode program tetap dijalankan pada blok keyword-nya adalah ...

10.Ekspresi yang dapat ditangani dengan membangun method atau class adalah ...

0/10 soal dijawab

On this page