Jelajahi eBook
Kategori
Jelajahi Buku audio
Kategori
Jelajahi Majalah
Kategori
Jelajahi Dokumen
Kategori
PEMROGRAMAN OBJEK 2
MODUL 8
7 Mei 2020
2020
DAFTAR ISI
DAFTAR ISI .............................................................................................................................................. i
BAB I ......................................................................................................................................................... 1
PEMBAHASAN ........................................................................................................................................ 1
BAB 2 ......................................................................................................................................................... 1
EKSEKUSI PROGRAM DAN HASIL ANALISA ................................................................................. 1
2.1 Program 8-1 ................................................................................................................................ 1
A. Program 8-1a. StandartInput.java ................................................................................................ 1
B. Program 8-1b. Input.java ............................................................................................................. 2
2.2 Program 8-2 ................................................................................................................................ 2
A. Program 8-2. Addition.java ......................................................................................................... 2
B. Tugas 8-1 .................................................................................................................................... 3
2.3 Program 8-3 ................................................................................................................................ 8
A. Program 8-3 GreetUser.java ........................................................................................................ 8
2.4 Program 8-4 ................................................................................................................................ 9
2.5 Program 8-5 .............................................................................................................................. 10
A. Program 8-5 WriteFile.java ....................................................................................................... 10
2.6 Program 8-6 .............................................................................................................................. 12
A. Program 8-6 FileReading.java ................................................................................................... 12
2.7 Program 8-7 .............................................................................................................................. 14
A. Program 8-7 FileAndDirectoryInfo.java ................................................................................... 14
2.8 Program 8-8 .............................................................................................................................. 16
A. Program 8-8 CreateTextFile.java .............................................................................................. 16
2.9 Program 8-9 .............................................................................................................................. 18
A. Program 8-9 ReadTextFile.java ................................................................................................ 18
BAB 3 ....................................................................................................................................................... 21
TUGAS AKHIR ...................................................................................................................................... 21
3.1 Program ReadWrite.java ........................................................................................................... 21
DAFTAR PUSTAKA ................................................................................................................................ ii
i
BAB I
PEMBAHASAN
BAB 2
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
Analisis
Program di atas merupakan contoh program yang untuk menginputkan data dari
keyboard menggunakan bufferdReader. BufferedReader itu sendiri adalah suatu
1
perintah yg disediakan oleh java untuk melakukan proses input output data user dari
keyboarrd.program diatas pertama akan menampilkan sebuah teks, kemudian pada
program tersebut memiliki perintah untuk memasukan karakter secara bebas, hasil
input dari keyboard tersebut akan ditampilkan.
import java.io.IOException;
Analisis
Pada program ini menggunakan system,.in.read() sebagai proses input. Pada program
tersebut kita akan secara bebas melakukan input namun yang ditampilkan hanya satu
karakter yang diinput.
import java.util.Scanner;
2
public class Addition {
public static void main(String[]args) {
Scanner input = new Scanner(System.in);
int num1,num2,sum;
System.out.print("Masukan nilai integer pertama = ");
num1 = input.nextInt();
System.out.print("Masukan nilai integer kedua = ");
num2 = input.nextInt();
sum = num1 + num2;
System.out.println("Hasil penjumlahannya adalah "+sum);
}
}
Analisis
Pada program di atas hampir sama sebelumnya namun perbedaannya terletak pada saat
ketika kita melakukan input data tersebut akan disimpan kedalam variabel teretentu dan
akan diolah sehingga menghasilkan nilai tertentu. Proses pengolahan data tersebut
merupakan penjumlahan nilai pertama dan nilai kedua. Proses input yang digunakan
memiliki perbedaan dimana pada program ini kita hanya menggunakan class Scanner.
B. Tugas 8-1
Source code
import java.awt.*;
import java.awt.event.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import javax.swing.*;
3
public class AverageValue extends JFrame {
public Button average;
public JTextField
txtValue1,txtValue2,txtValue3,txtValue4,txtValue5;
public JLabel
lbl_Value1,lbl_Value2,lbl_Value3,lbl_Value4,
lblHasil,title,lbl_Value5;
public static double sum;
private final AverageValue self = this;
public AverageValue() {
JFrame frame = new JFrame("Rata-Rata Nilai");
frame.setSize(300, 400);
frame.setLayout(null);
title = new JLabel("Hitung Rata-rata");
title.setFont(new Font("Arial", Font.BOLD, 18));
title.setBounds(75, 10, 150, 30);
txtValue5.setHorizontalAlignment(SwingConstants.CENTER)
;
lbl_Value1 = new JLabel("Nilai ke 2 :
");
lbl_Value1.setBounds(25, 90, 100, 30);
txtValue1 = new JTextField("0");
txtValue1.setBounds(150, 90, 100, 30);
txtValue1.setHorizontalAlignment(SwingConstants.CENTER)
;
lbl_Value2 = new JLabel("Nilai ke 3 :
");
lbl_Value2.setBounds(25, 130, 100, 30);
4
txtValue2 = new JTextField("0");
txtValue2.setBounds(150, 130, 100, 30);
txtValue2.setHorizontalAlignment(SwingConstants.CENTER)
;
lbl_Value3 = new JLabel("Nilai ke 4 :
");
lbl_Value3.setBounds(25, 170, 100, 30);
txtValue3 = new JTextField("0");
txtValue3.setBounds(150, 170, 100, 30);
txtValue3.setHorizontalAlignment(SwingConstants.CENTER)
;
lbl_Value4 = new JLabel("Nilai ke 5 :
");
lbl_Value4.setBounds(25, 210, 100, 30);
txtValue4 = new JTextField("0");
txtValue4.setBounds(150, 210, 100, 30);
txtValue4.setHorizontalAlignment(SwingConstants.CENTER)
;
lblHasil.setHorizontalAlignment(SwingConstants.CENTER);
frame.getContentPane();
frame.add(title);
frame.add(lblHasil);
frame.add(txtValue1);
frame.add(lbl_Value1);
frame.add(lbl_Value2);
frame.add(txtValue2);
5
frame.add(lbl_Value3);
frame.add(txtValue3);
frame.add(lbl_Value4);
frame.add(txtValue4);
frame.add(average);
frame.add(txtValue5);
frame.add(lbl_Value5);
frame.setVisible(true);
//Action Button
average.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent
arg0) {
sum = 0;
double v1,v2,v3,v4,v5;
try {
v1 =
Double.parseDouble(txtValue1.getText());
v2 =
Double.parseDouble(txtValue2.getText());
v3 =
Double.parseDouble(txtValue3.getText());
v4 =
Double.parseDouble(txtValue4.getText());
v5 =
Double.parseDouble(txtValue5.getText());
}catch (NumberFormatException e) {
6
lblHasil.setText(new
Double(sum).toString());
}
});
}
System.out.println("Menghitung deviasi");
totalDev = 0;
totalDev+=Math.pow(Double.parseDouble(data[i])-rata,2);
}
totalDev= Math.sqrt(totalDev/(jumlah-1));
7
System.out.printf("Hasil Deviasi Standar =
%.2f",totalDev);
}
}
import java.io.*;
public class GreetUser {
public static void main(String args[]) throws IOException {
System.out.println("Hi, what's your name?");
String name;
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
name = br.readLine();
System.out.println("Nice to meet you, " + name + "!
:)");
}
8
Analisis
Untuk melakukan input pada program adalah menggunakan BufferdReader dimana
ketika input maka akan ditampung kedalam variabel name dan kemudian variabel
tersebut akan dipanggil sehingga menghasilkan output tertentu berupa apa yang kita
inputkan.
import java.io.*;
try {
char data;
int temp;
do {
temp = fis.read();
9
data = (char) temp;
if(temp != -1) {
System.out.print(data);
}
} while(temp != -1);
} catch(IOException ex) {
System.out.println("Problem in reading file from
the file.");
}
}
}
Analisis
Program diatas merupakan program untuk membaca file pada folder tertentu, awalnya
kita akan melakukan input file apa yang akan dibaca pada program tersebut, setelah
kita melakuakan input maka data hasil input akan dibandingkan dengan file yang lain
di folder yang sama. Jika file tersebut ada makan akan melakukan program selanjut nya
jika tidak maka program akan berakhir karena catch hanya akan menampilkan “File
not Found”.
10
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
filename = br.readLine();
System.out.println("Enter data to write to " +
filename + "...");
System.out.println("Type q$ to end.");
FileOutputStream fos = null;
try {
fos = new FileOutputStream(filename);
}
catch (FileNotFoundException ex)
{
System.out.println("File cannot be
opened for writing.");
}
try {
boolean done = false;
int data;
do {
data = br.read();
if ((char)data == 'q') {
data = br.read();
if ((char)data == '$') {
done = true;
}
else {
fos.write('q');
fos.write(data);
}
}
else {
fos.write(data);
}
}
while (!done);
}
catch (IOException ex) {
11
System.out.println("Problem in reading from
the file.");
}
}
Analisis
Pada program di atas merupakan contoh bagaimna membuat sebuah file serta isi dari
file tersebut, awalnya kita akan dituntut untuk melakukan input data kemudian data
tersebut akan diproses untuk melakukan pembuatan file. Ketika proses membuat file
tersebut berhasil maka akan dilanjutkan pada proses pengisian data pada file yang telah
dibuat. Untuk mengakhiri pengisian kita perlu melakan penginputan data “q$”.
sehingga ketika q$ ditekan maka proses pembuatan file dan pengisian data telah selesai
dilakukan.
/*
* To change this license header, choose License Headers in Project
Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
12
*/
package modul8;
/**
*
* @author Yessi Sofia
*/
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.EOFException;
import java.io.IOException;
import java.io.File;
13
{
System.out.println("Error reading file.");
System.exit(0);
}
System.out.println(fileContent);
}
Analisis
Program diatas merupakan contoh membaca data file menggunakan path pada file
tertentu. Proses pembacaan data dilakukan secara line to line dimana data Angga.txt
akan dibaca secara baris perbasris dan nantinya akan disimpan kedalam variabel
fileContent. FileContent terdiri dari beberapa line dan nantinya variabe tersebut akan
ditampilkan di console.
14
public static void main(String[] args) throws
IOException{
Scanner input = new Scanner(System.in);
System.out.println("Enter file or directory
name:");
Path path = Paths.get(input.nextLine());
if(Files.exists(path)){
System.out.printf("%n$s exists%n",
path.getFileName());
System.out.printf("%s a directory%n",
Files.isDirectory(path) ? "ls" : "ls not");
System.out.printf("%s an absolute path%n",
path.isAbsolute() ? "is" : "is not");
System.out.printf("Last modified: %s%n",
Files.getLastModifiedTime(path));
System.out.printf("size: %s%n",
Files.size(path));
System.out.printf("Path: %s%n", path);
System.out.printf("Absolute path: %s%n",
path.toAbsolutePath());
if (Files.isDirectory(path)){
System.out.printf("%nDirectory
contents:%n");
DirectoryStream<Path> directoryStream =
Files.newDirectoryStream(path);
for (Path p : directoryStream)
System.out.println(p);
}
} else {
System.out.printf("%s does not exist%n",
path);
}
}
}
16
public static void openFile()
{
try {
output = new Formatter("clients.txt");
} catch (SecurityException se) {
System.err.println("Write permission
denied. Terminating.");
System.exit(1);
} catch (FileNotFoundException fe) {
System.err.println("Error opening file.
Terminating.");
System.exit(1);
}
while(input.hasNext())
{
try
{
output.format(" " +input.nextInt()+ "
" +input.next()+ " " +input.next()+ " " +input.nextDouble());
}
catch (NoSuchElementException ee)
{
System.err.println("Invalid input,
please try again.");
input.nextLine();
}
System.out.print("? ");
17
}
Analisis
Pada program diatas akan membuat sebuah file dan nantinya akan melakukan pengisian
data terhadap file tersebut. Setiap kali kita memasukkan data, data yang lama akan
hilang dan akan diganti dengan dat yang baru kita inputkan. Variabel variabel yang di
inputkan dari keyboard antara Account, First Name, Last Name, dan Balance.
18
import java.lang.IllegalStateException;
import java.nio.file.Paths;
import java.util.NoSuchElementException;
import java.util.Scanner;
try
{
while(input.hasNext())
19
{
System.out.print("%-10d%-12s%-
12s%10.2f%n? " + input.nextInt() + input.next() + input.next()
+ input.nextDouble());
}
}
catch (NoSuchElementException ee)
{
System.err.println("File improperly
formed. Terminating.");
}
catch (IllegalStateException ie)
{
System.out.print("Error reading form
file. Terminating.");
}
}
Analisis
Program diatas adalah program untuk membaca sebuah file dimana program diatas
akan membaca record-record yang terdapat pada file tersebut dan menampilkan record-
record yang ada pada file tersebut.
20
BAB 3
TUGAS AKHIR
3.1 Program ReadWrite.java
Source code
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.StringTokenizer;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
public ReadWrite() {
initComponents();
}
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_C
LOSE);
setTitle("Read and Write File");
jButton1.setText("Create File");
jButton1.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jButton2.setText("Read File");
21
jButton2.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
jButton3.setText("Close");
jButton3.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
jButton3ActionPerformed(evt);
}
});
jTextArea1.setColumns(20);
jTextArea1.setRows(5);
jScrollPane1.setViewportView(jTextArea1);
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.TRAILING)
.addComponent(jScrollPane1,
javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.DEFAULT_SIZE, 262, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addComponent(jButton1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UN
RELATED)
.addComponent(jButton2)
.addGap(18, 18, 18)
.addComponent(jButton3)))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addContainerGap()
22
.addComponent(jScrollPane1,
javax.swing.GroupLayout.DEFAULT_SIZE, 154, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.BASELINE)
.addComponent(jButton1)
.addComponent(jButton2)
.addComponent(jButton3))
.addContainerGap())
);
pack();
}
private void
jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}
private void
jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
jTextArea1.setText(null);
int returnVal = dialog.showOpenDialog(this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = dialog.getSelectedFile();
try{
FileInputStream fstream = new
FileInputStream(file);
DataInputStream in = new
DataInputStream(fstream);
BufferedReader br = new BufferedReader(new
InputStreamReader(in));
String strLine;
while ((strLine = br.readLine()) != null){
StringTokenizer st = new
StringTokenizer(strLine, ",");
jTextArea1.setText(jTextArea1.getText() +
st.nextToken() +"\n");
}
in.close();
}catch (Exception e){
System.err.println("Error: " +
e.getMessage());
}
} else {
JOptionPane.showMessageDialog(null, "Batal Buka
File ..");
}
}
private void
jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
23
int returnVal = dialog.showSaveDialog(this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = dialog.getSelectedFile();
try {
file.createNewFile();
PrintWriter out = new PrintWriter(new
BufferedWriter(new FileWriter(file)));
out.print(jTextArea1.getText());
out.flush();
} catch (IOException ex) {
System.err.println("Error: " +
ex.getMessage());
}
} else {
JOptionPane.showMessageDialog(null, "Batal Create
File ..");
}
Read File
24
Analisis
Program ini diperintahkan untuk membaca dan menulis file dalam satu program yang
berbasis GUI yang didalamnya memakai JFrame,JButton, dan JTextArea untuk classnya
menggunakan BufferedReader, package java.io, exception,inputStream, outputStream.
25
Bab 4
TUGAS GIT
Membuat Project modul 8
Graph
26
27
DAFTAR PUSTAKA
Yuniarti.R.[2020].Pemrograman Objek II
ii