• Tidak ada hasil yang ditemukan

LAPORAN PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

N/A
N/A
Anisa Putri Maharani

Academic year: 2024

Membagikan "LAPORAN PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK "

Copied!
35
0
0

Teks penuh

I. BAB: Constructor dan Instance Method

Bab ini menganalisis penggunaan constructor dan instance method dalam konteks praktikum Pemrograman Berorientasi Objek. Analisis meliputi identifikasi kesalahan kode, penambahan fungsionalitas, dan implementasi penggunaan array untuk menangani input pengguna.

1.1 Constructor: Analisis Kesalahan dan Perbaikan

Analisis kode menunjukkan kesalahan penulisan nama method dan constructor pada kelas Student. Perbaikan dilakukan dengan mengoreksi kapitalisasi nama method Student menjadi Student dan memastikan nama constructor juga ditulis dengan benar. Selain itu, terdapat kekurangan kode dalam memperbarui rata-rata nilai setelah mengubah alamat dan umur Anna. Perbaikan melibatkan pemanggilan ulang setter untuk rata-rata nilai agar output nilai rata-rata tidak bernilai 0. Perbaikan ini memastikan konsistensi data dan hasil yang akurat.

1.2 Constructor: Penambahan Parameter Nilai Mata Pelajaran

Sebuah constructor baru ditambahkan pada kelas Student yang menerima parameter nilai masing-masing mata pelajaran (Matematika, Inggris, Sains). Penambahan ini memungkinkan inisialisasi nilai mata pelajaran secara langsung saat pembuatan objek Student, menyederhanakan proses dan meningkatkan efisiensi kode. Contoh objek baru dengan constructor ini ditambahkan pada kelas MainStudent, menunjukkan bagaimana constructor baru ini dapat digunakan untuk membuat objek dengan nilai mata pelajaran yang telah ditentukan sebelumnya.

1.3 Instance Method: Penambahan Method `statusAkhir()`

Method statusAkhir() ditambahkan untuk menentukan status kelulusan siswa berdasarkan nilai rata-rata. Method ini mengembalikan nilai boolean (true untuk lolos, false untuk remidi) dan menampilkan status tersebut pada method displayMessage(). Implementasi menggunakan operator ternary untuk menampilkan keluaran yang ringkas dan mudah dibaca. Method ini memperkaya fungsionalitas kelas Student dengan logik penilaian yang jelas dan terstruktur.

1.4 Penggunaaan Array untuk Input Jumlah Siswa

Implementasi menggunakan array Student[] memungkinkan penyimpanan data sejumlah siswa yang ditentukan pengguna. Penggunaan Scanner menyediakan input interaktif untuk memasukkan informasi setiap siswa. Loop for digunakan untuk memproses input dan menyimpan data ke dalam array. Selanjutnya, loop lain digunakan untuk menampilkan informasi dan status akhir setiap siswa dalam array. Ini menunjukkan kemampuan untuk memproses data dalam jumlah besar secara dinamis.

1.5 Menghitung Jumlah Objek yang Dibuat

Variabel statik jumlahObjek ditambahkan ke kelas Student untuk melacak jumlah objek yang dibuat. Nilai jumlahObjek diinkrementasikan di dalam constructor. Method statis jumlahObjek() ditambahkan untuk menampilkan jumlah objek yang telah dibuat. Pemanggilan method ini di MainStudent menunjukkan total objek Student yang telah diinstansiasi selama eksekusi program. Fitur ini berguna untuk memantau penggunaan memori dan mengelola objek dalam aplikasi.

II. Instance Method: Operasi pada Bilangan Rasional

Bab ini menganalisis implementasi instance method untuk operasi pada bilangan rasional, termasuk perbaikan kode, penambahan operator perbandingan, dan penggantian struktur iterasi.

2.1 Analisis dan Perbaikan Kode Instance Method

Analisis kode pada kelas Rasional tidak menemukan kesalahan signifikan. Semua method berfungsi dengan baik dan sesuai dengan spesifikasi. Output menunjukkan operasi-operasi seperti pengecekan rasional, penyederhanaan pecahan, konversi ke double, perbandingan, operasi unary, dan operasi penjumlahan pecahan. Semua method instance bekerja secara efektif dan menghasilkan output yang tepat.

2.2 Penambahan Operator Perbandingan

Method untuk operator <, <=, dan >= ditambahkan ke kelas Rasional. Method ini membandingkan dua bilangan rasional berdasarkan nilai numeriknya. Implementasi memastikan perbandingan dilakukan dengan akurat, mempertimbangkan pembilang dan penyebut dari kedua bilangan rasional. Contoh penggunaan ditambahkan di kelas RasionalDemo untuk menunjukkan cara penggunaan method-method baru ini dan verifikasi fungsionalitasnya.

2.3 Penggantian Struktur Iterasi (While ke For)

Struktur iterasi dalam method Sederhana() diubah dari while loop menjadi for loop. Perubahan ini tidak mengubah fungsionalitas kode, tetapi meningkatkan efisiensi dan keterbacaan kode. Penggunaan for loop dianggap lebih tepat dalam konteks algoritma ini karena kondisi pengakhiran loop sudah jelas dan dapat dinyatakan secara eksplisit di dalam pernyataan for loop. Hal ini membuat kode menjadi lebih ringkas dan mudah dipahami.

2.4 Penambahan Operasi Pengurangan, Perkalian, dan Pembagian

Method untuk operasi pengurangan (unaryMinus), perkalian (unaryMultiply), dan pembagian (unaryDivide) ditambahkan ke kelas Rasional. Method-method ini beroperasi pada dua bilangan rasional dan menghasilkan bilangan rasional baru sebagai hasil. Method Sederhana() dipanggil untuk menyederhanakan hasil perhitungan. Contoh penggunaan pada kelas RasionalDemo menunjukkan bagaimana operasi-operasi ini dapat digunakan dan diintegrasikan dalam program yang lebih kompleks.

III. Tugas Praktikum: Manajemen Mata Kuliah

Bab ini menganalisis implementasi program untuk mengelola daftar mata kuliah menggunakan kelas MataKuliah dan KRS. Analisis meliputi struktur data, penanganan input, dan output program.

3.1 Struktur Data dan Kelas MataKuliah

Program menggunakan kelas MataKuliah untuk merepresentasikan data mata kuliah, termasuk kode dan nama. Kelas ini memiliki constructor untuk inisialisasi dan method getter untuk mengakses data. Struktur data yang digunakan adalah array MataKuliah[] untuk menyimpan daftar mata kuliah dalam objek KRS. Penggunaan array memungkinkan penyimpanan beberapa objek mata kuliah dalam satu objek KRS, mencerminkan struktur data yang fleksibel dan efisien.

3.2 Penanganan Input dan Kelas KRS

Kelas KRS memiliki method tambahMataKuliah() untuk menambahkan objek MataKuliah ke dalam daftar. Program utama (MainKRS) menggunakan Scanner untuk mendapatkan input dari pengguna, termasuk jumlah mata kuliah dan detail setiap mata kuliah. Penggunaan loop for memastikan input untuk semua mata kuliah yang diinputkan pengguna. Validasi input juga dilakukan untuk membatasi jumlah mata kuliah maksimum menjadi 5, menjamin integritas data.

3.3 Output Program

Program menampilkan daftar mata kuliah yang telah dimasukkan, termasuk kode dan nama masing-masing mata kuliah. Format output yang terstruktur memudahkan pengguna untuk memahami data yang telah diinputkan. Penggunaan loop for untuk iterasi melalui array MataKuliah memastikan semua data mata kuliah ditampilkan. Program ini menunjukkan kemampuan program untuk mengolah dan menampilkan data mata kuliah dengan efisien dan terstruktur.

Referensi

Dokumen terkait

Jika pada saat kita memberikan sebuah parameter berupa string, hasil yang ditampilkan adalah nama, alamat dan umur dari siswa, sedang pada saat kita memberikan 3 nilai dengan tipe

* To change this template file, choose Tools | Templates * and open the template in the editor...

Apabila Method tidak akan mengembalikan nilai kepada objek yang memanggilnya, maka bisa dituliskan didepan nama Method dengan perintah void... Karakteristik

Variabel adalah item yang digunakan data untuk menyimpan pernyataan objek. Variabel memiliki tipe  data  dan  nama.  Tipe  data  menandakan  tipe  nilai  yang 

(a) Buat project baru dengan nama Modul10g, jangan pilih opsi Create Main Class (b) Tambahkan satu package ke dalam project Modul10g, dengan cara klik kanan pada. project

Jika pada saat kita memberikan sebuah parameter berupa string, hasil yang ditampilkan adalah nama, alamat dan umur dari siswa, sedang pada saat kita memberikan 3 nilai dengan tipe

Pemorgraman Berorientasi Objek | 20 Karena static property dan static method adalah milik class, maka kita tidak perlu membuat objek untuk mengaksesnya, tapi langsung menyebutkan nama

Contoh penggunaan form widget seperti dibawah: import 'package:flutter/material.dart'; void main { runAppMaterialApp title: "Latihan Form Flutter", home: LatihanForm, ; } class