A. Definisi Masalah
Buatlah
sebuah program dengan 6 pilihan menu, dengan ketentuan sebagai berikut:
1.
Input Data: Memasukkan mahasiswa dengan jumlah sesuai keinginan user (maksimal
10). Data berupa NIM, NAMA, nilai Tugas, UTP, dan UAP, kemudian menulis pada
file txt (nama bebas), dengan tambahan nilai rata-rata per mahasiswa
2.
Tampilkan Data: Menampilkan seluruh data yang terdapat pada file txt 3. Hapus
Data: Menghapus sebuah baris pada file txt dengan parameter indeks baris
tertentu
4.
Edit Data: Mengubah sebuah baris pada file txt dengan parameter indeks baris
tertentu, dan juga baris baru yang di inputkan (berupa NIM, NAMA, nilai Tugas,
UTP, dan UAP)
5.
Statistik: Menentukan nilai maksimum dan minimum pada kelas dari setiap nilai
(Tugas, UTP, UAP)
6.
Simpan Data dan Keluar: Menyimpan semua pada file txt dan keluar dari program
B. Screenshoot





C. Source Code
|
import
java.io.*;
import
java.util.Scanner;
public class
Bab6 {
static int jum_mhs;
static String[][] data = new
String[100][100];
public static void main(String[] args)
throws Exception {
Scanner masukan = new
Scanner(System.in);
int pilih;
do {
System.out.println("\nMenu
Utama\n");
System.out.println("1.Input
Data");
System.out.println("2.Tampilkan
Data");
System.out.println("3.Hapus
Data");
System.out.println("4.Edit
Data");
System.out.println("5.Statistik");
System.out.println("6.Keluar");
System.out.print("Masukkan
Pilihan Anda : ");
pilih = masukan.nextInt();
switch (pilih) {
case 1:
Input();
break;
case 2:
Tampil();
break;
case 3:
Hapus();
break;
case 4:
Edit();
break;
case 5:
Statistik();
break;
case 6:
Exit();
break;
}
} while (pilih != 100);
}
public static void Input()throws
Exception {
File filea = new
File("a.txt");
BufferedWriter fOut = new BufferedWriter(new
FileWriter(filea));
Scanner masukan = new
Scanner(System.in);
System.out.print("Masukkan
jumlah mahasiswa: ");
jum_mhs = masukan.nextInt();
for (int i = 0; i < jum_mhs; i++)
{
System.out.print("Masukkan
data mahasiswa ke-" + (i + 1) + " : ");
data[i][0] = masukan.next();
data[i][1] = masukan.next();
data[i][2] = masukan.next();
data[i][3] = masukan.next();
data[i][4] = masukan.next();
}
for (int i = 0; i < jum_mhs; i++)
{
String tugas = data[i][2];
int tgs =
Integer.parseInt(tugas);
String utp = data[i][3];
int tp = Integer.parseInt(utp);
String uap = data[i][4];
int ap = Integer.parseInt(uap);
double rata = (tgs + tp + ap) /
3;
String rata2 =
String.valueOf(rata);
data[i][5] = rata2;
}
for (int i = 0; i < jum_mhs; i++)
{
String data2 = data[i][0] +
"\t" + data[i][1] + "\t" + data[i][2] + "\t" +
data[i][3] + "\t" + data[i][4] + "\t" + data[i][5];
String temp = data2;
fOut.write(data2);
fOut.newLine();
}
fOut.close();
}
public static void Tampil() {
File filea = new
File("a.txt");
try {
int i = 0;
BufferedReader fIn = new
BufferedReader(new FileReader(filea));
String strLine;
while ((strLine = fIn.readLine())
!= null) {
i++;
System.out.println(strLine);
}
fIn.close();
}
catch (Exception e) {
System.err.println("Error:
" + e.getMessage());
}
}
public static void Hapus()throws
Exception {
File filea = new
File("a.txt");
BufferedWriter fOut = new
BufferedWriter(new FileWriter(filea));
Scanner masukan = new
Scanner(System.in);
System.out.print("masukkan indek
data yang ingin dihapus : ");
int hapus = masukan.nextInt();
for (int i = 0; i < jum_mhs; i++)
{
if (i == hapus) {
data[i][0] = null;
data[i][1] = null;
data[i][2] = null;
data[i][3] = null;
data[i][4] = null;
data[i][5] = null;
data[i][0] = data[i + 1][0];
data[i][1] = data[i + 1][1];
data[i][2] = data[i + 1][2];
data[i][3] = data[i + 1][3];
data[i][4] = data[i + 1][4];
data[i][5] = data[i + 1][5];
jum_mhs--;
}
}
for (int i = 0; i < jum_mhs; i++)
{
String data2 = data[i][0] +
"\t" + data[i][1] + "\t" + data[i][2] + "\t" +
data[i][3] + "\t" + data[i][4] + "\t" + data[i][5];
String temp = data2;
fOut.write(data2);
fOut.newLine();
}
fOut.close();
System.out.println();
}
public static void Edit()throws Exception
{
File filea = new
File("a.txt");
BufferedWriter fOut = new
BufferedWriter(new FileWriter(filea));
Scanner masukan = new
Scanner(System.in);
System.out.print("masukkan indek data
yang ingin diedit : ");
int edit = masukan.nextInt();
for (int i = 0; i < jum_mhs; i++)
{
if (i == edit) {
data[i][0] = null;
data[i][1] = null;
data[i][2] = null;
data[i][3] = null;
data[i][4] = null;
data[i][5] = null;
System.out.print("Masukkan data mahasiswa ke-" + (i + 1) +
" : ");
data[i][0] = masukan.next();
data[i][1] = masukan.next();
data[i][2] = masukan.next();
data[i][3] = masukan.next();
data[i][4] = masukan.next();
String tugas = data[i][2];
int tgs =
Integer.parseInt(tugas);
String utp = data[i][3];
int tp =
Integer.parseInt(utp);
String uap = data[i][4];
int ap =
Integer.parseInt(uap);
double rata = (tgs + tp + ap)
/ 3;
String rata2 =
String.valueOf(rata);
data[i][5] = rata2;
}
}
for (int i = 0; i < jum_mhs; i++)
{
String data2 = data[i][0] +
"\t" + data[i][1] + "\t" + data[i][2] + "\t" +
data[i][3] + "\t" + data[i][4] + "\t" + data[i][5];
String temp = data2;
fOut.write(data2);
fOut.newLine();
}
fOut.close();
}
public static void Statistik() {
int mint = 101, maxt = 0, minutp =
101, maxutp = 0, minuap = 101, maxuap = 0;
int tmp, tmp1, tmp2;
for (int i = 0; i < jum_mhs; i++)
{
tmp = Integer.parseInt(data[i][2]);
if (tmp < mint) {
mint = tmp;
} else if (tmp > maxt) {
maxt = tmp;
}
}
for (int j = 0; j < jum_mhs; j++)
{
tmp1 = Integer.parseInt(data[j][3]);
if (tmp1 < minutp) {
minutp = tmp1;
} else if (tmp1 > maxutp) {
maxutp = tmp1;
}
}
for (int k = 0; k < jum_mhs; k++)
{
tmp2 =
Integer.parseInt(data[k][4]);
if (tmp2 < minuap) {
minuap = tmp2;
} else if (tmp2 > maxuap) {
maxuap = tmp2;
}
}
System.out.println("Nilai
maksimum tugas : " + maxt);
System.out.println("Nilai
minimum tugas : " + mint);
System.out.println("Nilai
maksimum utp: " + maxutp);
System.out.println("Nilai
minimum utp : " + minutp);
System.out.println("Nilai
maksimum uap : " + maxuap);
System.out.println("Nilai
minimum uap : " + minuap);
}
public static void Exit() throws
Exception {
File filea = new
File("a.txt");
BufferedWriter fOut = new
BufferedWriter(new FileWriter(filea));
for (int i = 0; i < jum_mhs; i++)
{
String data2 = data[i][0] +
"\t" + data[i][1] + "\t" + data[i][2] + "\t" +
data[i][3] + "\t" + data[i][4] + "\t" + data[i][5];
String temp = data2;
fOut.write(data2);
fOut.newLine();
}
fOut.close();
System.out.println();
System.exit(0);
}
}
|

Tidak ada komentar:
Posting Komentar