0% menganggap dokumen ini bermanfaat (0 suara)
3 tayangan

Modul 3 OOP

Diunggah oleh

rizalmaulana0546
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
3 tayangan

Modul 3 OOP

Diunggah oleh

rizalmaulana0546
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 11

BAB I

PENDAHULU11AN

1.1 Latar Belakang


Saat ini, dengan perkembangan teknologi yang semakin berkembang dengan
lingkungan yang semakin luas dan banyak diminati, dan mempunyai nilai
ekonomi yang sangat tinggi yaitu dunia pemrograman komputer. Seperti halnya
dunia pemrograman komputer dikenal banyak bahasa pemrograman komputer,
seperti c, c++, pascal basic, java, dan lain-lain. di anatara bahasa pemrograman,
java adalah yang paling diminati, karena perannya yang sudah tidak diragukan
lagi dan ke eksisannya dalam perkembangan TI. Oleh karena itu yang akan
dibahas dalam makalah ini adalah bahasa pemrograman java, dan hal-hal menarik
yang ada dalam bahasa pemrograman java.
Pemrograman visual menerapkan konsep event driven yaitu suatu program
yang pengeksekusiannya didasarkan atas kejadian tertentu. Kejadian-kejadian itu
sendiri, mempunyai kode program sendiri yang disimpan dalam sebuah fungsi.
Pada dasarnya, konsep pemrograman visual ini sama dengan pemrograman
procedural, yaitu pemrograman yang memiliki input, proses dan output.
Namun,ada satu penambahan yang berbeda, yaitu konsep pemilihan untuk
mengeksekusi proses programnya. Konsep inilah yang digunakan untuk
menjalankan eventnya.
C++ builder, merupakan bahasa pemrograman yang berkemampuan
luasdan sangat canggih yang didukung oleh object-object yang sangat kuat,
canggih dan lengkap. Hal itu dimaksudkan agar pengguna dapat lebih mudah
dalam merancang, membuat dan menyelesaikan aplikasi yang diinginkan.

1.2 Tujuan Praktikum


A. Mahasiswa dapat membuat program java interaktif yang dapat mengambil
data yang diinputkan melalui keyboard oleh user.
BAB II
DASAR TEORI

2.1 Pengenalan I/O Dalam Pemrograman


Input/Output (I/O) dalam pemrograman merujuk pada proses menerima data
dari sumber eksternal (input) dan mengirimkan data ke tujuan tertentu (output). Di
Java, proses I/O menjadi bagian penting karena memungkinkan program
berinteraksi dengan pengguna atau perangkat lain. Contohnya, pengguna bisa
memasukkan data melalui keyboard, dan program akan menampilkan hasil di
layar. Java menyediakan beberapa kelas bawaan untuk menangani operasi ini,
yang tersebar di paket java.io dan java.util. (Onard, n.d.)
Untuk menangani input dari pengguna, Java sering menggunakan kelas
Scanner dari paket java.util. Kelas ini menyediakan metode sederhana untuk
membaca berbagai tipe data, seperti string, integer, dan float, dari input standar
(keyboard). Selain Scanner, ada juga kelas BufferedReader dan
InputStreamReader yang menawarkan cara lain untuk membaca input, terutama
jika membutuhkan performa lebih baik dalam membaca data besar atau aliran
karakter.
Output di Java biasanya ditangani dengan menggunakan System.out, yang
merupakan output standar untuk menampilkan data ke konsol. Metode yang
paling umum digunakan adalah System.out.print() dan System.out.println(), di
mana perbedaannya terletak pada penambahan baris baru setelah mencetak output.
Selain itu, untuk menulis data ke file atau perangkat lainnya, Java menyediakan
kelas seperti FileWriter dan BufferedWriter, yang memungkinkan penulisan data
ke file dengan lebih efisien.
Java mendukung model I/O berbasis aliran (stream), di mana data diproses
dalam bentuk aliran byte atau karakter. Stream ini terbagi menjadi dua jenis: input
stream untuk membaca data dan output stream untuk menulis data. Pendekatan
berbasis stream ini memberikan fleksibilitas dalam menangani berbagai sumber
dan tujuan data, mulai dari file, jaringan, hingga perangkat input/output lainnya.
Dengan memahami konsep I/O di Java, pengembang dapat membuat aplikasi
yang lebih interaktif dan mampu mengelola data dari berbagai sumber dengan
efisien.
2.2 Stream
Stream adalah abstraksi yang digunakan untuk membaca dan menulis data
secara berurutan dalam pemrograman Java. Konsep ini memungkinkan
pengelolaan data dari berbagai sumber, seperti file, jaringan, atau perangkat
input/output lainnya. Stream bertindak sebagai jalur atau saluran data yang
mengalir dari sumber ke tujuan atau dari perangkat ke program. Dengan
pendekatan berbasis stream, data diproses secara bertahap, sehingga lebih efisien
dalam menangani file besar atau data yang dikirim melalui jaringan.
Java membedakan stream menjadi dua kategori utama byte stream dan
character stream. Byte stream bekerja dengan data dalam bentuk byte dan cocok
untuk file biner seperti gambar, video, atau file audio. Kelas utama yang
digunakan adalah InputStream untuk membaca data dan OutputStream untuk
menulis data. Sebaliknya, character stream bekerja dengan data berbasis karakter,
seperti teks, dan menggunakan kelas Reader dan Writer. Pendekatan ini
memudahkan pengelolaan teks dalam berbagai encoding, yang penting untuk
mendukung karakter non-ASCII seperti Unicode. (Rahmat Musfikar et al., 2023)
Selain jenis-jenis dasar tersebut, Java menyediakan berbagai subkelas yang
lebih spesifik untuk menangani operasi I/O. Misalnya, FileInputStream dan
FileOutputStream digunakan untuk membaca dan menulis file biner, sedangkan
BufferedReader dan BufferedWriter digunakan untuk membaca dan menulis teks
secara efisien dengan menggunakan buffer. Penggunaan buffer memungkinkan
data disimpan sementara di memori sebelum diproses, yang mempercepat operasi
I/O, terutama saat bekerja dengan data besar.
Salah satu keunggulan utama dari stream adalah fleksibilitasnya dalam
mendukung dekorasi (decorator pattern). Kelas seperti BufferedInputStream atau
BufferedOutputStream dapat membungkus stream lain untuk menambahkan
fungsionalitas tambahan, seperti buffering, kompresi, atau enkripsi. Dengan
memanfaatkan konsep ini, pengembang dapat membuat aplikasi yang lebih
modular dan efisien. Pemahaman mendalam tentang cara kerja stream sangat
penting untuk mengelola data secara efektif dalam aplikasi Java yang kompleks.
Pendekatan ini memudahkan pengelolaan teks dalam berbagai encoding, yang
penting untuk mendukung karakter non-ASCII seperti Unicode.
2.3 BufferedReader
BufferedReader adalah salah satu kelas dalam Java yang digunakan untuk
membaca teks dari aliran input karakter secara efisien. Kelas ini berada dalam
paket java.io dan sering digunakan untuk membaca data dalam jumlah besar atau
membaca data baris demi baris dari file atau sumber input lainnya.
BufferedReader bekerja dengan cara menyimpan data dalam buffer sementara
sebelum diproses, sehingga mengurangi jumlah akses langsung ke sumber input
dan meningkatkan kinerja aplikasi.
(Batik Pada Rumah Batik Danar Hadi Andri & Darussalam Pamungka

BufferedReader membutuhkan reader sebagai inputnya, biasanya berupa


InputStreamReader atau subkelas lain dari reader. InputStreamReader bertindak
sebagai jembatan antara stream byte dan stream karakter, memungkinkan
BufferedReader membaca data dari sumber seperti file atau input konsol. Contoh
umum penggunaan BufferedReader adalah membaca data dari file teks:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class ContohBufferedReader {


public static void main(String[] args) {
try (BufferedReader br = new BufferedReader(new
FileReader("contoh.txt"))) {
String baris;
while ((baris = br.readLine()) != null) {
System.out.println(baris);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Tabel 2.1 BufferedReader
Kode di atas menunjukkan bagaimana BufferedReader membaca file
"contoh.txt" baris demi baris menggunakan metode readLine(), yang
mengembalikan satu baris teks setiap kali dipanggil. (Ahmad Muhardian, 2015)
Keunggulan utama BufferedReader adalah kemampuannya untuk
mengurangi jumlah operasi I/O langsung ke sumber data. Saat sebuah program
membaca data tanpa buffering, setiap panggilan untuk membaca data
membutuhkan akses langsung ke sumber input, yang bisa memperlambat kinerja.
Dengan BufferedReader, data dimuat ke dalam buffer dalam jumlah besar
sekaligus, sehingga program dapat mengakses data dari buffer tanpa harus
berinteraksi langsung dengan sumber data untuk setiap karakter atau baris.
Selain metode readLine(), BufferedReader juga memiliki metode read()
yang dapat membaca karakter tunggal atau array karakter. Meskipun umumnya
digunakan untuk membaca teks baris demi baris, BufferedReader juga berguna
untuk membaca data dalam jumlah besar sekaligus ke dalam array karakter.
Dengan pemahaman yang baik tentang BufferedReader, pengembang dapat
membuat aplikasi yang lebih efisien dalam mengolah data teks, terutama saat
bekerja dengan file besar atau input dari jaringan.

2.4 Scanner
Scanner adalah salah satu kelas di Java yang digunakan untuk membaca
input dari berbagai sumber, seperti keyboard, file, atau string. Kelas ini terletak
dalam paket java.util, sehingga harus diimpor terlebih dahulu sebelum digunakan
dengan pernyataan import java.util.Scanner;. Scanner sangat populer karena
menyediakan metode sederhana untuk membaca berbagai tipe data, termasuk
string, integer, float, dan double, yang memudahkan pengembang dalam
menerima input dari pengguna. (Ahmad Syauqi Syuhada, 2023)
Salah satu keunggulan utama Scanner adalah kemampuannya untuk
membaca input secara interaktif dari System.in, yang merujuk pada input standar
(biasanya keyboard). Contohnya, untuk membaca input nama dari pengguna,
program dapat menggunakan metode nextLine() seperti berikut:
Scanner input = new Scanner(System.in);
System.out.print("Masukkan nama Anda: ");
String nama = input.nextLine();
System.out.println("Halo, " + nama + "!");
Tabel 2.2 Scanner
Dalam contoh di atas, metode nextLine() membaca seluruh baris input,
termasuk spasi. Metode lain seperti next() hanya membaca satu kata.
Selain string, Scanner memiliki metode untuk membaca tipe data lainnya.
Metode seperti nextInt(), nextDouble(), dan nextFloat() digunakan untuk
membaca angka sesuai dengan tipe data yang diinginkan. Namun, penting untuk
menangani potensi kesalahan, seperti ketika pengguna memasukkan input yang
tidak sesuai dengan tipe data yang diminta, yang akan menyebabkan
InputMismatchException. Oleh karena itu, penggunaan metode seperti
hasNextInt() atau hasNextDouble() bisa membantu memvalidasi input sebelum
membacanya.
Scanner juga mendukung pemrosesan input dari sumber lain selain
keyboard, seperti file atau string. Untuk membaca dari file, Scanner dapat
diinstansiasi dengan objek File sebagai parameter. Contohnya:
Scanner fileInput = new Scanner(new File("data.txt"));
Tabel 2.3 Objek Baru Scanner
Fleksibilitas ini menjadikan Scanner pilihan yang kuat untuk menangani
berbagai jenis input dalam aplikasi Java. Meski demikian, Scanner bukan selalu
pilihan terbaik untuk data yang sangat besar atau kompleks, karena metode
buffering lain mungkin lebih efisien dalam situasi tersebut.
Salah satu kelebihan utama Scanner adalah kemudahan penggunaannya.
Dengan metode-metode bawaan seperti nextLine(), nextInt(), dan nextDouble(),
Scanner memudahkan pengembang untuk membaca berbagai jenis input dari
pengguna tanpa harus melakukan parsing manual. Scanner juga mendukung
berbagai sumber input, seperti keyboard, file, dan string, yang membuatnya
fleksibel dalam berbagai skenario aplikasi. Selain itu, metode seperti hasNext()
atau hasNextInt() memungkinkan validasi input secara langsung, membantu
mencegah kesalahan akibat tipe data yang tidak sesuai. Fleksibilitas ini
menjadikan Scanner pilihan populer untuk program interaktif. (Andre, 2019)
Namun, Scanner memiliki beberapa kekurangan yang perlu diperhatikan.
Salah satu kelemahannya adalah performa yang lebih rendah saat membaca data
dalam jumlah besar atau data yang membutuhkan buffering tinggi, seperti file
besar atau data jaringan. Dalam kasus seperti ini, kelas seperti BufferedReader
lebih efisien. Scanner juga dapat menimbulkan InputMismatchException jika tipe
data input tidak sesuai dengan yang diminta, sehingga pengembang perlu
menangani pengecualian ini dengan hati-hati. Selain itu, metode seperti nextLine()
dan next() bisa membingungkan jika digunakan bersamaan dengan nextInt() atau
nextDouble(), karena Scanner tidak selalu membersihkan baris input dengan
benar, yang dapat menyebabkan hasil yang tidak diinginkan.
BAB III
PERMASALAHAN

3.1 Permasalahan
A. Buatlah Inputan biodata mahasiswa dengan ketentuan nama, nim, alamat,
jeniskelamin.
outputnya:
Saya [nama] dengan [nim] yang tinggal di [alamat],
Saya seorang [jenis kelamin]
BAB IV
IMPLEMENTASI

4.1 Implementasi
A. Berikut adalah sebuah program java tentang biodata mahasiswa yang dapat
memasukkan data dari keyboard.

Gambar 2.1 Source Code Java Biodata Mahasiswa


Pada gambar 2.1 menunjukkan sebuah code yang berisikan pemrograman
java yang dimana pada kode diatas menggunakan BufferedReader untuk meminta
masukkan sebuah data atau nilai dari keyboard, berikut adalah hasil output dari
source code diatas.

Gambar 2.2 Tampilan Biodata Mahasiswa


Pada gambar 2.2 menunjukkan sebuah hasil output dari program untuk
menampilkan biodata mahasiswa dengan meminta masukkan nilai atau data dari
keyboard.
BAB V
PENUTUP

5.1 Kesimpulan
Stream adalah sebuah abstraksi yang dapat memberikan atau mendapatkan
informasi. Stream dapat dihubungkan dengan peralatan fisik yang terdapat dalam
system i/o java, seperti keyboard, file, layar consule dan lainnya. Dalam java,
stream didefinisikan dengan menggunakan empat kelas abstrak, yaitu input
stream, output stream, reader, dan writer.
Buffered reader sering digunakan untuk membaca text file. Scanner ini
memang lebih sering digunakan dan lebih populer untuk menangani input dari
user. Meskipun demikan, kita tahu bahwa scanner bisa digunakan untuk membaca
file. Ketika membaca input dari keyboard komputer maka kita dapat
melakukannya dengan membuat objek scanner.
Java menyediakan library yang berisi implementasi dari buffered I/O
streams. Buffered input streams berfungsi untuk membaca data dari area memory
yang disebut sebagai buffer. Sedangkan buffered output streams berfungsi untuk
menulis data ke dalam buffer. Buffered stream menyedikan kelas buffered reader
yang memungkinkan pembacaan data dari peranti yang berbasis karakter, misal
keyboard. Salah satu metode dalam kelas ini yaitu read line() yang
memungkinkan pembacaan sebuah baris teks.

5.2 Saran
Saran yang dapat penulis berikan untuk praktikum kali ini adalah ketika
pada saat praktikum dimulai diharapkan lebih memperhatikan seluruh peserta
praktikum yang mana memahami materi dan kurang memahami terhadap materi.
DAFTAR PUSTAKA

Ahmad Muhardian. (2015, November 15). Belajar Java: Cara Mengambil Input dan
Menampilkan Output. Https://Www.Petanikode.Com/Java-Input-Output/.
Ahmad Syauqi Syuhada. (2023, September 7). Tutorial Java: Input Program Java
Begini Caranya! Https://Mahasiswaupdate.Com/Materi-Kuliah/Cara-Input-Di-
Java/.
Andre. (2019, November 25). Tutorial Belajar Java Part 14: Cara Menginput Data ke
dalam Bahasa Java. Https://Www.Duniailkom.Com/Tutorial-Belajar-Java-Cara-
Menginput-Data-Ke-Dalam-Bahasa-Java/.
Batik Pada Rumah Batik Danar Hadi Andri, K., & Darussalam Pamungkas, A. (n.d.).
Aplikasi Berbasis Java Netbeans Untuk Meningkatkan Hasil Penjualan Usaha.
https://doi.org/10.5281/zenodo.7024153
Onard. (n.d.). JURNAL MARIA 22 JAN. 2015 kopi. www.gammu.org,
Rahmat Musfikar, Ichsanul Akbar, Sarini Vita Dewi, & Aulia Syarif Aziz. (2023). E-
Module Bahasa Pemrograman Java Berbasis Exe-Learning. Jurnal PROCESSOR,
18(1). https://doi.org/10.33998/processor.2023.18.1.704

Anda mungkin juga menyukai