Pembahasan UTS Mata Kuliah Pemrograman Berorientasi Objek 2022
Berikut ini adalah pembahasan soal UTS mata kuliah Pemrograman Berorientasi Objek program studi Informatika UNS tahun 2022.
Pembahasan soal no 1 :
float hitung() { float x = 2f * f1; }
Sebelum method hitung() ditulis tipe float, jadi method tersebut memiliki return value berupa float. Namun pada source code belum ditulis return valuenya
misal diperbaiki menjadi
float hitung() { float x = 2f * f1; return x; }
Catatan :
Mahasiswa banyak menuliskan mengenai perlunya main method
→ Main method tidak wajib ada pada sebuah class. Apabila sebuah class tidak memiliki main method, source code tidak akan error namun apabila source code dijalankan tidak ada yang dieksekusi.
Sejumlah jawaban juga menyoroti penulisan 2f pada
float x = 2f * f1;
2f tersebut adalah angka 2 yang ditulis sebagai float, bukan merupakan kesalahan penulisan code.
- - - - - - - - - - - - - - - - - -
Pembahasan soal no 2 :
Yang wajib ada adalah penggunaan keyword untuk perulangan, misalnya bisa menggunakan for atau while. Kemudian penggunaan perulangan harus benar, minimal ada indeks yang digunakan untuk menjumlahkan elemen array yang sesuai.
Menggunakan for
Diperlukan nested for untuk mengiterasi 2 indeks (jumlah baris dan kolom)
int jml = 0; for(int i = 0; i < 3; i++) { for(int j = 0; j < 3; j++) { jml += arrayInt[i][j]; } }
i < 3 indeks i untuk mengulang sesuai jumlah baris (3)
menghitung jumlah baris bisa digantikan dengan arrayInt[0].length
j < 3 indeks j untuk mengulang sesuai jumlah kolom (3)
menghitung jumlah kolom bisa digantikan dengan arrayInt[1].length
int jml = 0; for(int i = 0; i < arrayInt[0].length; i++) { for(int j=0; j < arrayInt[1].length; j++) { jml += arrayInt[i][j]; } }
Menggunakan while
Diperlukan nested while untuk mengiterasi 2 indeks (jumlah baris dan kolom)
int x = 0; while(x < 3) { int y = 0; while(y < 3) { jml += arrayInt[x][y]; y++; } x++; }
- - - - - - - - - - - - - - - - - -
Pembahasan soal no 3 :
a. ClassY sebagai subclass (turunan) dari ClassX mewarisi atribut a dan x, serta method hitungX() yang dimiliki oleh ClassX.
b. Pada main method ClassY terdapat baris yang memanggil method hitungY()
diketahui method hitungY() berisi
y = hitungX() * b;
hitungX() berasal dari ClassX yang berisi
x = x + 5 * 2;
nilai awal x = 0
x = 0 + 5 * 2 = 10
nilai 10 adalah output dari hitungX()
kemudian kembali ke hitungY
y = hitungX() * b;
diketahui nilai b dari ClassY = 5
y = 10 * 5 = 50
nilai y = 50 ini adalah return value dari hitungY() yang kemudian diprint ke layar
jadi output dari source code ClassY adalah 50
- - - - - - - - - - - - - - - - - -
Pembahasan soal no 4 :public Mahasiswa
public Mahasiswa(String nim, String nama, String alamat, char jenisKelamin) { this.nim = nim; this.nama = nama; this.alamat = alamat; this.jenisKelamin = jenisKelamin; }
- - - - - - - - - - - - - - - - - -
Pembahasan soal no 5 :a. [0-9] menunjukkan karakter yang valid adalah angka antara 0 hingga 9
{4} menunjukkan karakter angka yang ditulis sebelumnya [0-9] diulang sebanyak 4 kali
sintaks [0-9]{4}-[0-9]{4}-[0-9]{4} menunjukkan pola karakter angka sebanyak 12 digit yang setiap 4 digit dipisahkan oleh tanda -
misal angka diwakili oleh x, string yang dihasilkan adalah xxxx-xxxx-xxxx
b. contoh string yang valid misalnya 0548-5435-2329
- - - - - - - - - - - - - - - - - -
Pembahasan soal no 6 :Class Buku
public class Buku { private String ISBN, judul; private int harga; private Penulis penulis; public String getISBN() { return ISBN; } public void setISBN(String iSBN) { ISBN = iSBN; } public String getJudul() { return judul; } public void setJudul(String judul) { this.judul = judul; } public int getHarga() { return harga; } public void setHarga(int harga) { this.harga = harga; } public Penulis getPenulis() { return penulis; } public void setPenulis(Penulis penulis) { this.penulis = penulis; } }
Class Penulis
public class Penulis { private String nama, alamat; public String getNama() { return nama; } public void setNama(String nama) { this.nama = nama; } public String getAlamat() { return alamat; } public void setAlamat(String alamat) { this.alamat = alamat; } }
Comments
Post a Comment