You are on page 1of 27

package restoran;

import java.io.*;
import java.util.Arrays;
import java.util.Scanner;
import java.util.StringTokenizer;
import login.login;
public class restoran {

public static void main(String[] args) throws IOException {

// TODO Auto-generated method stub


Scanner input = new Scanner(System.in);
String pilihlah;

login nama1 = new login();


System.out.print("Masukkan Nama Anda: ");
String nama = input.nextLine();

nama1.setNama(nama);
System.out.println();

nama1.tampilkanNama();

boolean lanjutkan=true;
while(lanjutkan){
System.out.println("\n\nPILIHAN MENU");
System.out.println("1. Mendata Customers ");
System.out.println("2. Mendata Makanan ");
System.out.println("3. Mendata Minuman ");
System.out.println("4. Mendata Pesanan ");
System.out.println("5. Memberikan Bill ");
System.out.println("6. Jumlah Pendapatan ");

System.out.print("\n\n Masukkan Pilihan Anda: ");


pilihlah = input.next();

switch(pilihlah){
case"1":
System.out.println("PENDATAAN CUSTOMERS");
customer();
break;
case"2":
System.out.println("PENDATAAN MAKANAN");
makanan();
break;
case"3":
System.out.println("PENDATAAN MINUMAN");
minuman();
break;
case"4":
System.out.println("PENDATAAN PESANAN");
pesanan();
break;
case"5":
System.out.println("PEMBERIAN BILL");
tampilbill();
break;
case"6":
System.out.println("PENDAPATAN RESTORAN");
tampilpendapatan();
break;
default:
System.err.println("\nPilihan Tidah Ditemukan, Silakan
Pilih Menu Antara 1 sampai 5! ");
}
lanjutkan = getYN("Lanjutkan");
}
}

private static void customer()throws IOException {


Scanner input = new Scanner(System.in);
String pilihlah;
boolean lanjutkan=true;
while(lanjutkan){
System.out.println("\n\nPILIHAN MENU");
System.out.println("1. Tampilkan Data Customer ");
System.out.println("2. Cari Data Customer ");
System.out.println("3. Tambahkan Data Customer ");
System.out.println("4. Update Data Customer ");
System.out.println("5. Delete Data Customer ");

System.out.print("\n\n Masukkan Pilihan Anda: ");


pilihlah = input.next();

switch(pilihlah){

case"1":
System.out.println("TAMPILAN DATA CUSTUMERS");
tampilcs();
break;
case"2":
System.out.println("CARI DATA CUSTOMERS");
carics();
break;
case"3":
System.out.println("TAMBAHKAN DATA CUSTOMERS");
tambahcs();
break;
case"4":
System.out.println("UPDATE DATA CUSTOMERS");
updatecs();
break;
case"5":
deletecs();
System.out.println("DELETE DATA CUSTOMERS");

break;
default:
System.err.println("\nPilihan Tidah Ditemukan, Silakan
Pilih Menu Antara 1 sampai 5! ");
}
lanjutkan = getYN("Lanjutkan");
}

}
private static void tambahcs() throws IOException{
FileWriter fileOutput = new FileWriter("customer.txt",true);
BufferedWriter bufferOutput = new BufferedWriter(fileOutput);

Scanner input = new Scanner(System.in);


String nama,id;

//mengambil inputan user


System.out.print("Masukkan ID CUSTOMERS: ");
id=input.nextLine();
System.out.print("Masukkan NAMA: ");
nama=input.nextLine();

//cek Buku
String[] kunci = {id+","+nama};
System.out.println(Arrays.toString(kunci));

boolean ada = carics(kunci,false);

//menulis buku
if(!ada) {
String tanpaspasi= id.replaceAll("\\s+","");
String primaryKey = tanpaspasi;
System.out.println("\n Data Yang Akan Anda Masukkan: ");

System.out.println("------------------------------------------------ ");
System.out.println("Primary Key (isbn) : "+id);
System.out.println("Nama Buku : "+nama);

boolean tambahbuku = getYN("Apakah Anda Akan Menambah Buku


Tersebut ");
if(tambahbuku) {
bufferOutput.write(primaryKey+","+nama);
bufferOutput.newLine();
bufferOutput.flush();
}
}else {
System.out.println("Data Customer Yang Anda Masukkan Sudah
Tercantum Berikut: ");
carics(kunci,true);
}
bufferOutput.close();
}
private static void tampilcs() throws IOException{
BufferedReader bufferInput;

try {
FileReader fileInput = new FileReader( "customer.txt");
bufferInput = new BufferedReader(fileInput);
}catch(Exception e){
System.err.println("Database Tidak ditemukan");
System.err.println("Silakan Tambahkan Data Terlebih Dahulu");
tambahcs();
return;
}
String data = bufferInput.readLine();

System.out.println("\n|NO|ID\t|NAMA CUSTOMERS \t|");

System.out.println("-------------------------------------------------");
int id=0;
while(data != null) {
id++;
StringTokenizer stringToken = new StringTokenizer(data, ",");
System.out.printf("|%d ",id);
System.out.printf("|%s\t",stringToken.nextToken());
System.out.printf("|%s\t",stringToken.nextToken());
System.out.print("\n");
data = bufferInput.readLine();
}
}
protected static void carics() throws IOException{
try {
File file = new File( "customer.txt");
}catch(Exception e){
System.err.println("Database Tidak ditemukan");
System.err.println("Silakan Tambahkan Data Terlebih Dahulu");
tambahcs();
return;
}
Scanner input = new Scanner(System.in);
System.out.print("Masukkan kata kunci: ");
String carikata = input.nextLine();

String[] kunci = carikata.split("\\s+");


carics(kunci,true);
}
private static boolean carics(String[] kunci, boolean isDisplay) throws
IOException{
FileReader fileInput = new FileReader("customer.txt");
BufferedReader bufferInput = new BufferedReader(fileInput);

String data = bufferInput.readLine();


int no=0;
boolean ada=false;
System.out.println("\n|NO|ID\t|NAMA CUSTOMERS \t|");

System.out.println("-------------------------------------------------");
while(data != null) {
ada = false;

for(String key:kunci) {
ada = data.toLowerCase().contains(key.toLowerCase());
}
if(ada) {
if(isDisplay){
no++;
StringTokenizer stringToken = new
StringTokenizer(data, ",");
System.out.printf("|%d ",no);
System.out.printf("|%s\t",stringToken.nextToken());
System.out.printf("|%s\t",stringToken.nextToken());
System.out.print("\n");
data = bufferInput.readLine();

}else {
break;
}
}

data = bufferInput.readLine();
}
return ada;
}
private static void updatecs() throws IOException{
File database = new File("customer.txt");
FileReader fileInput = new FileReader(database);
BufferedReader bufferInput = new BufferedReader(fileInput);

File tempDB = new File("tempcsu.txt");


FileWriter fileOutput = new FileWriter(tempDB);
BufferedWriter bufferOutput = new BufferedWriter(fileOutput);

System.out.println("List Buku");
tampilcs();

Scanner input = new Scanner(System.in);


System.out.print("Masukkan nomor buku yang akan diUpdate: ");
int updateNum = input.nextInt();

String data = bufferInput.readLine();

int entryCountry = 0;
while(data !=null) {
entryCountry++;

StringTokenizer st = new StringTokenizer(data,",");

if(updateNum == entryCountry) {
System.out.println("Data Yang Ingin DIhapus: ");

System.out.println("-------------------------------------------- ");
System.out.println("ID : "+st.nextToken());
System.out.println("Nama Customers : "+st.nextToken());

String[] fieldData = {"ID","NAMA CUSTOMER"};


String[] tempData = new String[2];
st = new StringTokenizer(data, ",");
String originalData;

for(int i=0;i<fieldData.length;i++) {
boolean isUpdate = getYN("Apakah anda ingin
merubah"+fieldData[i]);

originalData = st.nextToken();
if(isUpdate) {
input = new Scanner(System.in);
System.out.print("\n Masukkan "+fieldData[i]+"
baru: ");
tempData[i] = input.nextLine();
}else {
tempData[i]=originalData;
}
}
System.out.println(Arrays.toString(tempData));

}else {
bufferOutput.write(data);
bufferOutput.newLine();

}
data = bufferInput.readLine();
}
bufferOutput.flush();
}
private static void deletecs() throws IOException{
//ambil data di database original
File database = new File("customer.txt");
FileReader fileInput = new FileReader(database);
BufferedReader bufferInput = new BufferedReader(fileInput);

//buat database sementara


File temp = new File("tempcs.txt");
FileWriter fileOutput = new FileWriter(temp);
BufferedWriter bufferOutput = new
BufferedWriter(fileOutput);

//tampilkan data

//ambil input untuk mendelete data


Scanner input = new Scanner(System.in);
System.out.println("Masukkan Nomor Yang Ingin Dihapus: ");
int deleteno = input.nextInt();

//loop untuk membaca tiap data baris dan skip untuk data
yang dihapus
int hitung = 0;
String data = bufferInput.readLine();
while(data!=null) {
hitung++;
boolean isdelete = false;

//menampilkan data yang ingin fihapus


StringTokenizer st = new StringTokenizer(data,",");

if(deleteno == hitung) {
System.out.println("Data Yang Ingin DIhapus:
");

System.out.println("-------------------------------------------- ");

System.out.println("ID :
"+st.nextToken());
System.out.println("Nama Customers :
"+st.nextToken());

//konfirmasi
isdelete = getYN("Apakah Anda Yakin Akan
Menghapus ");

}
if(isdelete) {
System.out.println("Data Berhasil Dihapus");

}else {
bufferOutput.write(data);;
bufferOutput.newLine();;
}
data = bufferInput.readLine();
}
bufferOutput.flush();
database.delete();
temp.renameTo(database);
tampilanhapuscs();
}
private static void tampilanhapuscs() throws IOException{
BufferedReader bufferInput;

try {
FileReader fileInput = new FileReader( "tempcs.txt");
bufferInput = new BufferedReader(fileInput);
}catch(Exception e){
System.err.println("Database Tidak ditemukan");
System.err.println("Silakan Tambahkan Data Terlebih Dahulu");
tambahcs();
return;
}
String data = bufferInput.readLine();

System.out.println("\n|NO|ID\t|NAMA Customer \t|");


System.out.println("------------------------------");
int id=0;
while(data != null) {
id++;
StringTokenizer stringToken = new StringTokenizer(data, ",");
System.out.printf("|%d ",id);
System.out.printf("|%s\t",stringToken.nextToken());
System.out.printf("|%s\t",stringToken.nextToken());
System.out.print("\n");
data = bufferInput.readLine();
}
}

private static void makanan()throws IOException {


Scanner input = new Scanner(System.in);
String pilihlah;
boolean lanjutkan=true;
while(lanjutkan){
System.out.println("\n\nPILIHAN MENU");
System.out.println("1. Tampilkan Data Makananr ");
System.out.println("2. Cari Data Makanan ");
System.out.println("3. Tambahkan Data Makanan ");
System.out.println("4. Update Data Makanan ");
System.out.println("5. Delete Data Makanan ");

System.out.print("\n\n Masukkan Pilihan Anda: ");


pilihlah = input.next();

switch(pilihlah){

case"1":
System.out.println("TAMPILAN DATA MAKANAN");
tampilmakanan();
break;
case"2":
System.out.println("CARI DATA MAKANAN");
carimakanan();
break;
case"3":
System.out.println("TAMBAHKAN DATA MAKANAN");
tambahmakanan();
break;
case"4":
System.out.println("UPDATE DATA MAKANAN");
updatemakanan();
break;
case"5":
System.out.println("DELETE DATA MAKANAN");
deletemakanan();
break;
default:
System.err.println("\nPilihan Tidah Ditemukan, Silakan
Pilih Menu Antara 1 sampai 5! ");
}
lanjutkan = getYN("Lanjutkan Proses Makanan");
}

}
private static void tambahmakanan() throws IOException{
FileWriter fileOutput = new FileWriter("makanan.txt",true);
BufferedWriter bufferOutput = new BufferedWriter(fileOutput);

Scanner input = new Scanner(System.in);


String nama;
int jumlah;

//mengambil inputan user


System.out.print("Masukkan NAMA MAKANAN: ");
nama=input.nextLine();
System.out.print("Masukkan JUMLAH: ");
jumlah=input.nextInt();

//cek Buku
String[] kunci = {nama+","+jumlah};
System.out.println(Arrays.toString(kunci));

boolean ada = carimakanan(kunci,false);

//menulis buku
if(!ada) {
String tanpaspasi= nama.replaceAll("\\s+","");
String primaryKey = tanpaspasi;
System.out.println("\n Data Yang Akan Anda Masukkan: ");

System.out.println("------------------------------------------------ ");
System.out.println("NAMA MAKANAN : "+nama);
System.out.println("JUMLAH : "+jumlah);

boolean tambahbuku = getYN("Apakah Anda Akan Menambah Buku


Tersebut ");
if(tambahbuku) {
bufferOutput.write(primaryKey+","+jumlah);
bufferOutput.newLine();
bufferOutput.flush();
}
}else {
System.out.println("Data Customer Yang Anda Masukkan Sudah
Tercantum Berikut: ");
carimakanan(kunci,true);
}
bufferOutput.close();
}
private static void tampilmakanan() throws IOException{
BufferedReader bufferInput;

try {
FileReader fileInput = new FileReader( "makanan.txt");
bufferInput = new BufferedReader(fileInput);
}catch(Exception e){
System.err.println("Database Tidak ditemukan");
System.err.println("Silakan Tambahkan Data Terlebih Dahulu");
tambahmakanan();
return;
}
String data = bufferInput.readLine();

System.out.println("\n|NO|NAMA MAKANAN\t|JUMLAH \t|");

System.out.println("-------------------------------------------------");
int id=0;
while(data != null) {
id++;
StringTokenizer stringToken = new StringTokenizer(data, ",");
System.out.printf("|%d ",id);
System.out.printf("|%s\t",stringToken.nextToken());
System.out.printf("|%s\t",stringToken.nextToken());
System.out.print("\n");
data = bufferInput.readLine();
}
}
protected static void carimakanan() throws IOException{
try {
File file = new File( "makanan.txt");
}catch(Exception e){
System.err.println("Database Tidak ditemukan");
System.err.println("Silakan Tambahkan Data Terlebih Dahulu");
tambahmakanan();
return;
}
Scanner input = new Scanner(System.in);
System.out.print("Masukkan kata kunci: ");
String carikata = input.nextLine();

String[] kunci = carikata.split("\\s+");


carimakanan(kunci,true);
}
private static boolean carimakanan(String[] kunci, boolean isDisplay) throws
IOException{
FileReader fileInput = new FileReader("makanan.txt");
BufferedReader bufferInput = new BufferedReader(fileInput);

String data = bufferInput.readLine();


int no=0;
boolean ada=false;
System.out.println("\n|NO|NAMA MAKANAN\t|JUMLAH \t|");

System.out.println("-------------------------------------------------");
while(data != null) {
ada = false;

for(String key:kunci) {
ada = data.toLowerCase().contains(key.toLowerCase());
}
if(ada) {
if(isDisplay){
no++;
StringTokenizer stringToken = new
StringTokenizer(data, ",");
System.out.printf("|%d ",no);
System.out.printf("|%s\t",stringToken.nextToken());
System.out.printf("|%s\t",stringToken.nextToken());
System.out.print("\n");
data = bufferInput.readLine();

}else {
break;
}
}

data = bufferInput.readLine();
}
return ada;
}
private static void updatemakanan() throws IOException{
File database = new File("makanan.txt");
FileReader fileInput = new FileReader(database);
BufferedReader bufferInput = new BufferedReader(fileInput);

File tempDB = new File("tempmakananu.txt");


FileWriter fileOutput = new FileWriter(tempDB);
BufferedWriter bufferOutput = new BufferedWriter(fileOutput);

System.out.println("List Buku");
tampilmakanan();

Scanner input = new Scanner(System.in);


System.out.print("Masukkan nomor buku yang akan diUpdate: ");
int updateNum = input.nextInt();

String data = bufferInput.readLine();

int entryCountry = 0;
while(data !=null) {
entryCountry++;

StringTokenizer st = new StringTokenizer(data,",");

if(updateNum == entryCountry) {
System.out.println("Data Yang Ingin DIhapus: ");

System.out.println("-------------------------------------------- ");
System.out.println("NAMA MAKANAN : "+st.nextToken());
System.out.println("JUMLAH : "+st.nextToken());

String[] fieldData = {"NAMA MAKANAN","JUMLAH"};


String[] tempData = new String[2];
st = new StringTokenizer(data, ",");
String originalData;

for(int i=0;i<fieldData.length;i++) {
boolean isUpdate = getYN("Apakah anda ingin
merubah"+fieldData[i]);

originalData = st.nextToken();
if(isUpdate) {
input = new Scanner(System.in);
System.out.print("\n Masukkan "+fieldData[i]+"
baru: ");
tempData[i] = input.nextLine();
}else {
tempData[i]=originalData;
}
}
System.out.println(Arrays.toString(tempData));

}else {
bufferOutput.write(data);
bufferOutput.newLine();

}
data = bufferInput.readLine();
}
bufferOutput.flush();
}
private static void deletemakanan() throws IOException{
//ambil data di database original
File database = new File("makanan.txt");
FileReader fileInput = new FileReader(database);
BufferedReader bufferInput = new BufferedReader(fileInput);

//buat database sementara


File temp = new File("tempmakanan.txt");
FileWriter fileOutput = new FileWriter(temp);
BufferedWriter bufferOutput = new
BufferedWriter(fileOutput);

//tampilkan data

//ambil input untuk mendelete data


Scanner input = new Scanner(System.in);
System.out.println("Masukkan Nomor Yang Ingin Dihapus: ");
int deleteno = input.nextInt();

//loop untuk membaca tiap data baris dan skip untuk data
yang dihapus
int hitung = 0;
String data = bufferInput.readLine();
while(data!=null) {
hitung++;
boolean isdelete = false;

//menampilkan data yang ingin fihapus


StringTokenizer st = new StringTokenizer(data,",");

if(deleteno == hitung) {
System.out.println("Data Yang Ingin DIhapus:
");

System.out.println("-------------------------------------------- ");

System.out.println("NAMA MAKANAN :
"+st.nextToken());
System.out.println("JUMLAH :
"+st.nextToken());

//konfirmasi
isdelete = getYN("Apakah Anda Yakin Akan
Menghapus ");

}
if(isdelete) {
System.out.println("Data Berhasil Dihapus");

}else {
bufferOutput.write(data);;
bufferOutput.newLine();;
}
data = bufferInput.readLine();
}
bufferOutput.flush();
database.delete();
temp.renameTo(database);
tampilanhapusmakanan();
}
private static void tampilanhapusmakanan() throws IOException{
BufferedReader bufferInput;

try {
FileReader fileInput = new FileReader( "tempmakanan.txt");
bufferInput = new BufferedReader(fileInput);
}catch(Exception e){
System.err.println("Database Tidak ditemukan");
System.err.println("Silakan Tambahkan Data Terlebih Dahulu");
tambahmakanan();
return;
}
String data = bufferInput.readLine();

System.out.println("\n|NO|NAMA MAKANAN\t|JUMLAH \t|");


System.out.println("------------------------------");
int id=0;
while(data != null) {
id++;
StringTokenizer stringToken = new StringTokenizer(data, ",");
System.out.printf("|%d ",id);
System.out.printf("|%s\t",stringToken.nextToken());
System.out.printf("|%s\t",stringToken.nextToken());
System.out.print("\n");
data = bufferInput.readLine();
}
}

private static void minuman()throws IOException {


Scanner input = new Scanner(System.in);
String pilihlah;
boolean lanjutkan=true;
while(lanjutkan){
System.out.println("\n\nPILIHAN MENU");
System.out.println("1. Tampilkan Data Minuman ");
System.out.println("2. Cari Data Minuman ");
System.out.println("3. Tambahkan Data Minuman ");
System.out.println("4. Update Data Minuman ");
System.out.println("5. Delete Data Minuman ");

System.out.print("\n\n Masukkan Pilihan Anda: ");


pilihlah = input.next();

switch(pilihlah){

case"1":
System.out.println("TAMPILAN DATA MINUMAN");
tampilminuman();
break;
case"2":
System.out.println("CARI DATA MINUMAN");
cariminuman();
break;
case"3":
System.out.println("TAMBAHKAN DATA MINUMAN");
tambahminuman();
break;
case"4":
System.out.println("UPDATE DATA MINUMAN");
updateminuman();
break;
case"5":
System.out.println("DELETE DATA MINUMAN");
deleteminuman();
break;
default:
System.err.println("\nPilihan Tidah Ditemukan, Silakan
Pilih Menu Antara 1 sampai 5! ");
}
lanjutkan = getYN("Lanjutkan Proses MINUMAN");
}

}
private static void tambahminuman() throws IOException{
FileWriter fileOutput = new FileWriter("minuman.txt",true);
BufferedWriter bufferOutput = new BufferedWriter(fileOutput);

Scanner input = new Scanner(System.in);


String nama;
int jumlah;

//mengambil inputan user


System.out.print("Masukkan NAMA MINUMAN: ");
nama=input.nextLine();
System.out.print("Masukkan JUMLAH: ");
jumlah=input.nextInt();

//cek Buku
String[] kunci = {nama+","+jumlah};
System.out.println(Arrays.toString(kunci));

boolean ada = cariminuman(kunci,false);

//menulis buku
if(!ada) {
String tanpaspasi= nama.replaceAll("\\s+","");
String primaryKey = tanpaspasi;
System.out.println("\n Data Yang Akan Anda Masukkan: ");

System.out.println("------------------------------------------------ ");
System.out.println("NAMA MINUMAN : "+nama);
System.out.println("JUMLAH : "+jumlah);

boolean tambahbuku = getYN("Apakah Anda Akan Menambah MINUMAN


Tersebut ");
if(tambahbuku) {
bufferOutput.write(primaryKey+","+jumlah);
bufferOutput.newLine();
bufferOutput.flush();
}
}else {
System.out.println("Data MINUMAN Yang Anda Masukkan Sudah
Tercantum Berikut: ");
cariminuman(kunci,true);
}
bufferOutput.close();
}
private static void tampilminuman() throws IOException{
BufferedReader bufferInput;

try {
FileReader fileInput = new FileReader( "minuman.txt");
bufferInput = new BufferedReader(fileInput);
}catch(Exception e){
System.err.println("Database Tidak ditemukan");
System.err.println("Silakan Tambahkan Data Terlebih Dahulu");
tambahminuman();
return;
}
String data = bufferInput.readLine();

System.out.println("\n|NO|NAMA MINUMAN\t|JUMLAH \t|");

System.out.println("-------------------------------------------------");
int id=0;
while(data != null) {
id++;
StringTokenizer stringToken = new StringTokenizer(data, ",");
System.out.printf("|%d ",id);
System.out.printf("|%s\t",stringToken.nextToken());
System.out.printf("|%s\t",stringToken.nextToken());
System.out.print("\n");
data = bufferInput.readLine();
}
}
protected static void cariminuman() throws IOException{
try {
File file = new File( "minuman.txt");
}catch(Exception e){
System.err.println("Database Tidak ditemukan");
System.err.println("Silakan Tambahkan Data Terlebih Dahulu");
tambahminuman();
return;
}
Scanner input = new Scanner(System.in);
System.out.print("Masukkan kata kunci: ");
String carikata = input.nextLine();

String[] kunci = carikata.split("\\s+");


cariminuman(kunci,true);
}
private static boolean cariminuman(String[] kunci, boolean isDisplay) throws
IOException{
FileReader fileInput = new FileReader("minuman.txt");
BufferedReader bufferInput = new BufferedReader(fileInput);
String data = bufferInput.readLine();
int no=0;
boolean ada=false;
System.out.println("\n|NO|NAMA MAKANAN\t|JUMLAH \t|");

System.out.println("-------------------------------------------------");
while(data != null) {
ada = false;

for(String key:kunci) {
ada = data.toLowerCase().contains(key.toLowerCase());
}
if(ada) {
if(isDisplay){
no++;
StringTokenizer stringToken = new
StringTokenizer(data, ",");
System.out.printf("|%d ",no);
System.out.printf("|%s\t",stringToken.nextToken());
System.out.printf("|%s\t",stringToken.nextToken());
System.out.print("\n");
data = bufferInput.readLine();

}else {
break;
}
}

data = bufferInput.readLine();
}
return ada;
}
private static void updateminuman() throws IOException{
File database = new File("minuman.txt");
FileReader fileInput = new FileReader(database);
BufferedReader bufferInput = new BufferedReader(fileInput);

File tempDB = new File("tempminumanu.txt");


FileWriter fileOutput = new FileWriter(tempDB);
BufferedWriter bufferOutput = new BufferedWriter(fileOutput);

System.out.println("List Buku");
tampilminuman();

Scanner input = new Scanner(System.in);


System.out.print("Masukkan nomor buku yang akan diUpdate: ");
int updateNum = input.nextInt();

String data = bufferInput.readLine();

int entryCountry = 0;
while(data !=null) {
entryCountry++;

StringTokenizer st = new StringTokenizer(data,",");

if(updateNum == entryCountry) {
System.out.println("Data Yang Ingin DIhapus: ");
System.out.println("-------------------------------------------- ");
System.out.println("NAMA MINUMAN : "+st.nextToken());
System.out.println("JUMLAH : "+st.nextToken());

String[] fieldData = {"NAMA MAKANAN","JUMLAH"};


String[] tempData = new String[2];
st = new StringTokenizer(data, ",");
String originalData;

for(int i=0;i<fieldData.length;i++) {
boolean isUpdate = getYN("Apakah anda ingin
merubah"+fieldData[i]);

originalData = st.nextToken();
if(isUpdate) {
input = new Scanner(System.in);
System.out.print("\n Masukkan "+fieldData[i]+"
baru: ");
tempData[i] = input.nextLine();
}else {
tempData[i]=originalData;
}
}
System.out.println(Arrays.toString(tempData));

}else {
bufferOutput.write(data);
bufferOutput.newLine();

}
data = bufferInput.readLine();
}
bufferOutput.flush();
}
private static void deleteminuman() throws IOException{
//ambil data di database original
File database = new File("minuman.txt");
FileReader fileInput = new FileReader(database);
BufferedReader bufferInput = new BufferedReader(fileInput);

//buat database sementara


File temp = new File("tempminuman.txt");
FileWriter fileOutput = new FileWriter(temp);
BufferedWriter bufferOutput = new
BufferedWriter(fileOutput);

//tampilkan data

//ambil input untuk mendelete data


Scanner input = new Scanner(System.in);
System.out.println("Masukkan Nomor Yang Ingin Dihapus: ");
int deleteno = input.nextInt();

//loop untuk membaca tiap data baris dan skip untuk data
yang dihapus
int hitung = 0;
String data = bufferInput.readLine();
while(data!=null) {
hitung++;
boolean isdelete = false;

//menampilkan data yang ingin fihapus


StringTokenizer st = new StringTokenizer(data,",");

if(deleteno == hitung) {
System.out.println("Data Yang Ingin DIhapus:
");

System.out.println("-------------------------------------------- ");

System.out.println("NAMA MINUMAN :
"+st.nextToken());
System.out.println("JUMLAH :
"+st.nextToken());

//konfirmasi
isdelete = getYN("Apakah Anda Yakin Akan
Menghapus ");

}
if(isdelete) {
System.out.println("Data Berhasil Dihapus");

}else {
bufferOutput.write(data);;
bufferOutput.newLine();;
}
data = bufferInput.readLine();
}
bufferOutput.flush();
database.delete();
temp.renameTo(database);
tampilanhapusminuman();
}
private static void tampilanhapusminuman() throws IOException{
BufferedReader bufferInput;

try {
FileReader fileInput = new FileReader( "tempminuman.txt");
bufferInput = new BufferedReader(fileInput);
}catch(Exception e){
System.err.println("Database Tidak ditemukan");
System.err.println("Silakan Tambahkan Data Terlebih Dahulu");
tambahminuman();
return;
}
String data = bufferInput.readLine();

System.out.println("\n|NO|NAMA MINUMAN\t|JUMLAH \t|");


System.out.println("------------------------------");
int id=0;
while(data != null) {
id++;
StringTokenizer stringToken = new StringTokenizer(data, ",");
System.out.printf("|%d ",id);
System.out.printf("|%s\t",stringToken.nextToken());
System.out.printf("|%s\t",stringToken.nextToken());
System.out.print("\n");
data = bufferInput.readLine();
}
}

private static void pesanan()throws IOException {


Scanner input = new Scanner(System.in);
String pilihlah;
boolean lanjutkan=true;
while(lanjutkan){
System.out.println("\n\nPILIHAN MENU");
System.out.println("1. Tampilkan Data Pesanan ");
System.out.println("2. Cari Data Pesanan ");
System.out.println("3. Tambahkan Data Pesanan ");
System.out.println("4. Update Data Pesanan ");
System.out.println("5. Delete Data Pesanan ");

System.out.print("\n\n Masukkan Pilihan Anda: ");


pilihlah = input.next();

switch(pilihlah){

case"1":
System.out.println("TAMPILAN DATA PESANAN");
tampilpesanan();
break;
case"2":
System.out.println("CARI DATA PESANAN");
caripesanan();
break;
case"3":
System.out.println("TAMBAHKAN DATA PESANAN");
tambahpesanan();
break;
case"4":
System.out.println("UPDATE DATA PESANAN");
updatepesanan();
break;
case"5":
System.out.println("DELETE DATA PESANAN");
deletepesanan();
break;
default:
System.err.println("\nPilihan Tidah Ditemukan, Silakan
Pilih Menu Antara 1 sampai 5! ");
}
lanjutkan = getYN("Lanjutkan Proses PEMESANAN");
}
}
private static void tambahpesanan() throws IOException{
FileWriter fileOutput = new FileWriter("pesanan.txt",true);
BufferedWriter bufferOutput = new BufferedWriter(fileOutput);

Scanner input = new Scanner(System.in);


String namapemesan,makanan,HTmakanan,minuman,HTminuman;

//mengambil inputan user


System.out.print("Masukkan NAMA PEMESAN: ");
namapemesan=input.nextLine();
System.out.print("Masukkan MAKANAN: ");
makanan=input.nextLine();
System.out.print("Masukkan HARGA TOTAL MAKANAN: ");
HTmakanan=input.nextLine();
System.out.print("Masukkan MINUMAN: ");
minuman=input.nextLine();
System.out.print("Masukkan TOTAL HARGA MINUMAN: ");
HTminuman=input.nextLine();

//cek Buku
String[] kunci =
{namapemesan+","+makanan+","+HTmakanan+","+minuman+","+HTminuman};
System.out.println(Arrays.toString(kunci));

boolean ada = caripesanan(kunci,false);

//menulis buku
if(!ada) {
String tanpaspasi= namapemesan.replaceAll("\\s+","");
String primaryKey = tanpaspasi;
System.out.println("\n Data Yang Akan Anda Masukkan: ");

System.out.println("------------------------------------------------ ");
System.out.println("NAMA PEMESAN : "+namapemesan);
System.out.println("MAKANAN : "+makanan);
System.out.println("HARGA TOTAL MAKANAN : "+HTmakanan);
System.out.println("MINUMAN : "+minuman);
System.out.println("HARGA TOTAL MINUMAN : "+HTminuman);

boolean tambahbuku = getYN("Apakah Anda Akan Menambah MINUMAN


Tersebut ");
if(tambahbuku) {

bufferOutput.write(primaryKey+","+makanan+","+HTmakanan+","+minuman+","+HTminuman);
bufferOutput.newLine();
bufferOutput.flush();
}
}else {
System.out.println("Data MINUMAN Yang Anda Masukkan Sudah
Tercantum Berikut: ");
caripesanan(kunci,true);
}
bufferOutput.close();
}
private static void tampilpesanan() throws IOException{
BufferedReader bufferInput;

try {
FileReader fileInput = new FileReader( "pesanan.txt");
bufferInput = new BufferedReader(fileInput);
}catch(Exception e){
System.err.println("Database Tidak ditemukan");
System.err.println("Silakan Tambahkan Data Terlebih Dahulu");
tambahpesanan();
return;
}
String data = bufferInput.readLine();

System.out.println("\n|NO|NAMA PEMESAN\t|MAKANAN \t|HT MAKANAN \t|


MINUMAN \t|HT MINUMAN \\t|");

System.out.println("-------------------------------------------------");
int id=0;
while(data != null) {
id++;
StringTokenizer stringToken = new StringTokenizer(data, ",");
System.out.printf("|%d ",id);
System.out.printf("|%s\t",stringToken.nextToken());
System.out.printf("|%s\t",stringToken.nextToken());
System.out.printf("|%s\t",stringToken.nextToken());
System.out.printf("|%s\t",stringToken.nextToken());
System.out.printf("|%s\t",stringToken.nextToken());
System.out.print("\n");
data = bufferInput.readLine();
}
}
protected static void caripesanan() throws IOException{
try {
File file = new File( "pesanan.txt");
}catch(Exception e){
System.err.println("Database Tidak ditemukan");
System.err.println("Silakan Tambahkan Data Terlebih Dahulu");
tambahpesanan();
return;
}
Scanner input = new Scanner(System.in);
System.out.print("Masukkan kata kunci: ");
String carikata = input.nextLine();

String[] kunci = carikata.split("\\s+");


caripesanan(kunci,true);
}
private static boolean caripesanan(String[] kunci, boolean isDisplay) throws
IOException{
FileReader fileInput = new FileReader("pesanan.txt");
BufferedReader bufferInput = new BufferedReader(fileInput);

String data = bufferInput.readLine();


int no=0;
boolean ada=false;
System.out.println("\n|NO|NAMA PEMESAN\t|MAKANAN \t|HT MAKANAN \t|
MINUMAN \t|HT MINUMAN \\t|");

System.out.println("-------------------------------------------------");
while(data != null) {
ada = false;

for(String key:kunci) {
ada = data.toLowerCase().contains(key.toLowerCase());
}
if(ada) {
if(isDisplay){
no++;
StringTokenizer stringToken = new
StringTokenizer(data, ",");
System.out.printf("|%d ",no);
System.out.printf("|%s\t",stringToken.nextToken());
System.out.printf("|%s\t",stringToken.nextToken());
System.out.printf("|%s\t",stringToken.nextToken());
System.out.printf("|%s\t",stringToken.nextToken());
System.out.printf("|%s\t",stringToken.nextToken());
System.out.print("\n");
data = bufferInput.readLine();

}else {
break;
}
}

data = bufferInput.readLine();
}
return ada;
}
private static void updatepesanan() throws IOException{
File database = new File("pesanan.txt");
FileReader fileInput = new FileReader(database);
BufferedReader bufferInput = new BufferedReader(fileInput);

File tempDB = new File("temppesananu.txt");


FileWriter fileOutput = new FileWriter(tempDB);
BufferedWriter bufferOutput = new BufferedWriter(fileOutput);

System.out.println("List Pesanan");
tampilpesanan();

Scanner input = new Scanner(System.in);


System.out.print("Masukkan nomor Pesanan yang akan diUpdate: ");
int updateNum = input.nextInt();

String data = bufferInput.readLine();

int entryCountry = 0;
while(data !=null) {
entryCountry++;

StringTokenizer st = new StringTokenizer(data,",");

if(updateNum == entryCountry) {
System.out.println("\n Data Yang Akan Anda UPDATE: ");

System.out.println("------------------------------------------------ ");
System.out.println("NAMA PEMESAN :
"+st.nextToken());
System.out.println("MAKANAN :
"+st.nextToken());
System.out.println("HARGA TOTAL MAKANAN :
"+st.nextToken());
System.out.println("MINUMAN :
"+st.nextToken());
System.out.println("HARGA TOTAL MINUMAN :
"+st.nextToken());

String[] fieldData = {"NAMA PEMESAN","MAKANAN","HARGA TOTAL


MAKANAN","MINUMAN","HARGA TOTAL MINUMAN"};
String[] tempData = new String[5];
st = new StringTokenizer(data, ",");
String originalData;

for(int i=0;i<fieldData.length;i++) {
boolean isUpdate = getYN("Apakah anda ingin
merubah"+fieldData[i]);

originalData = st.nextToken();
if(isUpdate) {
input = new Scanner(System.in);
System.out.print("\n Masukkan "+fieldData[i]+"
baru: ");
tempData[i] = input.nextLine();
}else {
tempData[i]=originalData;
}
}
System.out.println(Arrays.toString(tempData));

}else {
bufferOutput.write(data);
bufferOutput.newLine();

}
data = bufferInput.readLine();
}
bufferOutput.flush();
}
private static void deletepesanan() throws IOException{
//ambil data di database original
File database = new File("pesanan.txt");
FileReader fileInput = new FileReader(database);
BufferedReader bufferInput = new BufferedReader(fileInput);

//buat database sementara


File temp = new File("temppesanan.txt");
FileWriter fileOutput = new FileWriter(temp);
BufferedWriter bufferOutput = new
BufferedWriter(fileOutput);
//tampilkan data

//ambil input untuk mendelete data


Scanner input = new Scanner(System.in);
System.out.println("Masukkan Nomor Yang Ingin Dihapus: ");
int deleteno = input.nextInt();

//loop untuk membaca tiap data baris dan skip untuk data
yang dihapus
int hitung = 0;
String data = bufferInput.readLine();
while(data!=null) {
hitung++;
boolean isdelete = false;

//menampilkan data yang ingin fihapus


StringTokenizer st = new StringTokenizer(data,",");

if(deleteno == hitung) {
System.out.println("Data Yang Ingin DIhapus:
");

System.out.println("-------------------------------------------- ");

System.out.println("NAMA PEMESAN :
"+st.nextToken());
System.out.println("MAKANAN :
"+st.nextToken());
System.out.println("HARGA TOTAL MAKANAN :
"+st.nextToken());
System.out.println("MINUMAN :
"+st.nextToken());
System.out.println("HARGA TOTAL MINUMAN :
"+st.nextToken());

//konfirmasi
isdelete = getYN("Apakah Anda Yakin Akan
Menghapus ");

}
if(isdelete) {
System.out.println("Data Berhasil Dihapus");

}else {
bufferOutput.write(data);;
bufferOutput.newLine();;
}
data = bufferInput.readLine();
}
bufferOutput.flush();
database.delete();
temp.renameTo(database);
tampilanhapuspesanan();
}
private static void tampilanhapuspesanan() throws IOException{
BufferedReader bufferInput;
try {
FileReader fileInput = new FileReader( "temppesanan.txt");
bufferInput = new BufferedReader(fileInput);
}catch(Exception e){
System.err.println("Database Tidak ditemukan");
System.err.println("Silakan Tambahkan Data Terlebih Dahulu");
tambahpesanan();
return;
}
String data = bufferInput.readLine();

System.out.println("\n|NO|NAMA PEMESAN\t|MAKANAN \t|HT MAKANAN \t|


MINUMAN \t|HT MINUMAN \\t|");

System.out.println("-------------------------------------------------");
int id=0;
while(data != null) {
id++;
StringTokenizer stringToken = new StringTokenizer(data, ",");
System.out.printf("|%d ",id);
System.out.printf("|%s\t",stringToken.nextToken());
System.out.printf("|%s\t",stringToken.nextToken());
System.out.printf("|%s\t",stringToken.nextToken());
System.out.printf("|%s\t",stringToken.nextToken());
System.out.printf("|%s\t",stringToken.nextToken());
System.out.print("\n");
data = bufferInput.readLine();
}
}

private static void tampilbill() throws IOException{


File database = new File("pesanan.txt");
FileReader fileInput = new FileReader(database);
BufferedReader bufferInput = new BufferedReader(fileInput);

File tempDB = new File("temppesananu.txt");


FileWriter fileOutput = new FileWriter(tempDB);
BufferedWriter bufferOutput = new BufferedWriter(fileOutput);

Scanner input = new Scanner(System.in);


System.out.print("Masukkan nomor Pesanan yang akan diberikan Bill: ");
int updateNum = input.nextInt();

String data = bufferInput.readLine();

int entryCountry = 0;

while(data !=null) {
entryCountry++;

StringTokenizer st = new StringTokenizer(data,",");

if(updateNum == entryCountry) {

System.out.println("\n KWITANSI ");


System.out.println("------------------------------------------------ ");
System.out.println("NAMA PEMESAN :
"+st.nextToken());
System.out.println("MAKANAN :
"+st.nextToken());
System.out.println("HARGA TOTAL MAKANAN :
"+st.nextToken());
System.out.println("MINUMAN :
"+st.nextToken());
System.out.println("HARGA TOTAL MINUMAN :
"+st.nextToken());
}

bufferOutput.flush();

private static void tampilpendapatan() throws IOException {


FileReader fileInput= new FileReader("pesanan.txt");
BufferedReader bufferInput = new BufferedReader(fileInput);

String data = bufferInput.readLine();


String pmakanan,pminuman;
int totalmakan,totalminum;
int gabungmakan=0;
int gabungminum=0;
int gabungpendapatan;
while(data != null) {

StringTokenizer stringToken = new StringTokenizer(data, ",");


stringToken.nextToken();
stringToken.nextToken();

pmakanan = stringToken.nextToken();
totalmakan = Integer.parseInt(pmakanan);
gabungmakan = gabungmakan + totalmakan;
stringToken.nextToken();

pminuman = stringToken.nextToken();
totalminum = Integer.parseInt(pminuman);
gabungminum = gabungminum + totalminum;
System.out.print("\n");
data = bufferInput.readLine();
}
System.out.println("Totalnya Pendapatan Makanan Adalah: "+gabungmakan);
System.out.println("Totalnya Pendapatan Minuman Adalah: "+gabungminum);
gabungpendapatan= gabungmakan + gabungminum;
System.out.println("Totalnya Pendapatan Adalah: "+gabungpendapatan);
}

private static boolean getYN(String message){


Scanner input = new Scanner(System.in);
System.out.print("\n"+message+"[y/n]? ");
String pilihlah = input.next();

while(!pilihlah.equalsIgnoreCase("y") && !
pilihlah.equalsIgnoreCase("n"))
{
System.err.println("Pilihlah y atau n !!!");
System.out.print("\n"+message+"[y/n]? ");
pilihlah = input.next();
}

return pilihlah.equalsIgnoreCase("y");
}

You might also like