Anda di halaman 1dari 12

Laporan Praktikum Modul 1

Review Java Basic

A. Landasan Teori
Untuk melakukan praktikum, fokus utama adalah memahami konsep dasar dalam
pendefinisian kelas dan pembuatan objek dalam pemrograman Java. Sebuah kelas adalah
tipe data yang didefinisikan oleh pengguna yang berisi anggota data dan fungsi anggota
untuk mengoperasikan anggota data tersebut. Ini adalah kumpulan objek yang mirip.
Sebuah kelas adalah definisi umum dari suatu objek. Ini adalah cetak biru dari suatu objek
(Rushikesh S. Raut, 2020).
Pada praktikum kali ini kelas yang khusus kita bahas adalah Buffered Reader dan kelas
Scanner. Kelas BufferedReader dan kelas Scanner merupakan dua kelas yang bisa
digunakan untuk membaca fileataupun inputdari usermelalui command promptdalam
pemrograman Java berbasis teks. Namun, diantara keduanya ternyata terdapat
perbedaan yang signifikan dan oleh karena itu perlu untuk diketahui. Salah satu
perbedaan utama adalah bahwakelasBufferedReader hanya dapat membaca String,
namunkelasScanner dapat membaca Stringdan tipe data yang lainnya seperti long,
double, float, shortdan int. (D. Moeis, 2021).
Juga kita mempelajari perulangan IF Else. Lalu ada perulangn for. For Adalah
perulangan yang akan dikerjakan dalam hitungan yang sudah pasti. Perulangan while
berguna untuk meproses suatu pernyataan berkali kali. Selama nilainya benar, program
akan terus berjalan.Sementara Do-While hampir sama dengan while- do, bedanya
pernyataan do-while akan mengecek terlebih dahulu kondisi di belakang.
B. Pembahasan Java Basic

a. Keterkaitan judul modul dengan unguided.

Modul Konsep Kelas dan Objek sangat terkait dengan kegiatan praktikum
unguided yang melibatkan input, output, if-else, dan iterasi. Dalam praktikum,
pengetahuan tentang konsep kelas dan objek dari modul ini akan langsung berguna.
Mahasiswa dapat merancang kelas untuk mewakili entitas dalam masalah
praktikum, seperti mahasiswa dalam pengelolaan data. Konsep ini juga
memungkinkan penerapan if-else yang cerdas pada objek-objek yang telah dibuat.
Meskipun iterasi mungkin tidak dibahas secara eksplisit dalam modul, pemahaman
tentang kelas dan objek akan membantu dalam merancang struktur data yang
diperlukan untuk pengulangan tindakan tertentu. Keseluruhan modul ini
memberikan pondasi kuat bagi mahasiswa dalam mengatasi tantangan
pemrograman berorientasi objek dalam praktikum.Penjelasan mengenai langkah-
langkah penyelesaian.

b. Langkah-langkah Penyelesaian
• Pertama kita harus membuat folder
Contoh :
• Lalu Buat Class

• Soal 1
• Soal 2

Program ini adalah program yang ketika inputannya memiliki modulo 3 nya
adalah 0 tetapi modulo 2 nya tidak sama dengan 0. Jika ada input n yang
memenuhi kedua persyaratan itu maka outputnya adalah inputannya sendiri.
Jika tidak, outputnya akan : “INPUTANNYA SALAH”.

• Soal 3
Ini adalah program dengan dua input Scanner yang satunya mengubah m ke
cm, lalu yang kedua mengubah inch jadi cm.
Outputnya akan begini:

• Soal nomor 4

Ini adalah program mengetahui jumlah sks yang akan di ambil berdasarkan
ip: outputnya
c. Penjelasan tentang kode-kode program khusus yang dipakai dalam unguided.
1. Soal 1
for (int i = 3; i <= 7; i++)[1] {
for (int j = 3; j <= i; j++)[2] {
System.out.print(i + " ");[3]
Artinya:
[1]Ini perulangan luar yang mengontrol nilai i. Dimulai dari i = 3, setiap
iterasi akan menambahkan 1 ke nilai i, dan perulangan akan berlanjut selama
nilai i kurang dari atau sama dengan 7.
[2] artinya adalah perulangan dalam yang mengontrol nilai j. Dimulai dari j =
3, setiap iterasi akan menambahkan 1 ke nilai j, dan perulangan ini akan
berlanjut selama nilai j kurang dari atau sama dengan nilai i
[3] Di dalam perulangan dalam, setiap kali iterasi dijalankan, ini akan
mencetak nilai i diikuti oleh spasi. Karena perulangan dalam tergantung pada
nilai i, ini akan mencetak angka i sejumlah i - 2 kali (karena dimulai dari j =
3).

2. Soal 2
Scanner s998 = new Scanner(System.in);
System.out.print("Masukkan nilai n maniezz : ");
int n998= s998.nextInt();
Jadi, keseluruhan potongan kode ini digunakan untuk mengambil
masukan angka bulat dari pengguna dan menyimpannya dalam variabel n998
agar dapat digunakan dalam program.
3. Soal 3
a) String meter998Input = reader.readLine();
Baris ini membaca baris masukan teks yang dimasukkan (nilai dalam meter)
dan menyimpannya dalam variabel meter998Input.

b) double meter998 = Double.parseDouble(meter998Input);


mengonversi nilai dalam meter yang diambil dari masukan teks (dalam
bentuk string) menjadi tipe data double dan menyimpannya dalam variabel
meter998.

c) double centimeterkeMeter998 = meter998 * 100;


Melakukan konversi nilai dari meter ke centimeter dengan mengalikan
nilai dalam meter dengan 100

d) catch (IOException | NumberFormatException e) {


e.printStackTrace(); }
blok penanganan pengecualian (exception handling). Jika ada kesalahan
dalam membaca masukan atau mengonversi nilai ke tipe data yang tepat,
program akan menangkap pengecualian yang dihasilkan (dalam hal ini
IOException atau NumberFormatException) dan mencetak jejak (stack
trace) dari pengecualian tersebut.

4. Soal keempat
A. import java.util.InputMismatchException;
bagian kode ini adalah pernyataan impor untuk kelas
InputMismatchException yang merupakan bagian dari paket java.util. Kelas
ini digunakan untuk menangani kesalahan saat tipe data yang dimasukkan
oleh pengguna tidak sesuai dengan yang diharapkan.
B. try { ... } catch (InputMismatchException e) { ... }
blok try-catch. Program mencoba membaca input pengguna dan
melakukan perhitungan berdasarkan nilai IPK yang dimasukkan. Jika
input yang dimasukkan tidak yang diharapkan (misalnya, bukan angka
desimal), maka akan ditangkap InputMismatchException dan ditangani
dalam blok catch.

C. Pembahasan Tugas (Take Home)


a. permasalahan dan kaitannya judul modul
Pembahasan mengenai masalah dan hubungannya dengan judul
"kelas dan objek" membantu kita memahami bagaimana ide kelas dan objek
dalam pemrograman berorientasi objek (OOP) bisa digunakan untuk
menyelesaikan masalah dalam situasi tertentu. Konsep dasar kelas dan objek
ini adalah dasar penting dalam OOP. Ia membantu kita membuat
representasi komputer tentang dunia nyata dan merapikan kode agar lebih
terstruktur. Dengan cara ini, kita bisa lebih mudah memecah masalah yang
rumit menjadi bagian yang lebih kecil dan lebih rapi, serta membuat solusi
yang lebih cocok untuk berbagai situasi.

b. konsep yang dipakai dalam kode pemrograman dalakaitannyadengan kasus.

1. Soal 1

Buatlah program untuk menghitung beli 2 barang dapat 1 gratis


Jumlah beli diterima menggunakan BufferedReader
Misal beli 2 maka total yg didapat = 3
Misal beli 4 maka total yg didapat = 6

Jawab:
2. Soal 2

Buatlah sebuah program yang mampu menampilkan pola seperti contoh


dibawah.
3
44
555
6666
77777
6666
555
44
3
3. Soal no. 3
4. Soal 4
package TakeHome1;
import java.util.Scanner;

public class Soal4 {

public static void main(String[] args) {


Scanner in = new Scanner(System.in);

String en998 = "";


System.out.print("Masukkan Kalimat= ");
String kal = in.nextLine();

int baris998 = 7;
int kolom998 = 4;

char[][] ch = new char[baris998][kolom998];


int pos998 = 0;

for (int j = 0; j < kolom998; j++) {


for (int i = 0; i < baris998; i++) {
if (kal.length() > pos998) {
ch[i][j] = kal.charAt(pos998++);
}
}
}

for (int i = 0; i < baris998; i++) {


for (int j = 0; j < kolom998; j++) {
char kt = ch[i][j];
en998 += (char) kt;
}
}

en998 = en998.trim();

System.out.println("Hasil= " + en998);


}
}

c. Kode program khusus dan langkah yang dipakai dalam menyelesaikan tugas
1. Soal 1
try {
System.out.print("Masukkan jumlah barang yang dibeli: ");
int jumlahBeli998 = Integer.parseInt(reader.readLine());

int totalBarang = jumlahBeli998 + (jumlahBeli998 / 2); //

System.out.println("Total barang yang Anda dapatkan: " +


totalBarang);
} catch (IOException | NumberFormatException e) {
System.out.println("Terjadi kesalahan: " + e.getMessage());
}

Di dalam blok try, program meminta pengguna untuk memasukkan jumlah barang yang
dibeli. Kemudian, program menghitung total barang yang akan diberikan kepada
pengguna, dengan memberikan diskon sebanyak setengah dari jumlah barang yang dibeli.
Setelah perhitungan selesai, program mencetak total barang yang diperoleh.

Jika terjadi kesalahan dalam membaca input atau konversi angka, blok catch akan
menangkap dan menangani pengecualian. Pengecualian yang dapat terjadi di sini adalah
IOException (kesalahan input/output) atau NumberFormatException (kesalahan konversi
angka).
2. Soal 4
public static void main(String[] args) {

Scanner in = new Scanner(System.in);

String en998 = "";

System.out.print("Masukkan Kalimat= ");

String kal = in.nextLine();

int baris998 = 7;

int kolom998 = 4;

char[][] ch = new char[baris998][kolom998];

int pos998 = 0;

// Memecah kalimat menjadi matriks karakter 2D

for (int j = 0; j < kolom998; j++) {

for (int i = 0; i < baris998; i++) {

if (kal.length() > pos998) {

ch[i][j] = kal.charAt(pos998++);

// Menghasilkan kembali kalimat dari matriks karakter 2D

for (int i = 0; i < baris998; i++) {


for (int j = 0; j < kolom998; j++) {

char kt = ch[i][j];

en998 += (char) kt;

en998 = en998.trim();

System.out.println("Hasil= " + en998);

• Variabel baris998 dan kolom998 digunakan untuk mengatur dimensi


matriks karakter 2D.
• Matriks ch digunakan untuk menyimpan karakter-karakter kalimat yang
dipisahkan.
• Dalam loop pertama, program memecah kalimat menjadi matriks karakter
2D.
• Dalam loop kedua, program menghasilkan kembali kalimat dari matriks
karakter 2D.
• Karakter-karakter yang dihasilkan dikonversi ke dalam variabel en998.
• Variabel en998 di-trim untuk menghilangkan spasi ekstra di akhir.
• Hasil akhir dicetak menggunakan System.out.println.
Daftar Pustaka
Dikwan Moesis, S. Y. (2021). ANALISIS PERBEDAAN PENGGUNAAN KELAS BUFFEREDREADER
DAN KELAS SCANNER DALAM PROSES INPUT KEYBOARD PADA PEMROGRAMAN
JAVA BERBASIS TEXT. Jurnal Informatika Progres, Abstract.

RAUT, R. S. (2020). Research Paper on Object-Oriented Programming (OOP). International Research


Journal of Engineering and Technology (IRJET), 2.

Wibowo, K. (2015). ANALISA KONSEP OBJECT ORIENTED PROGRAMMING . JURNAL


KHATULISTIWA INFORMATIKA, 2.

Anda mungkin juga menyukai