Skip to content
This repository was archived by the owner on Sep 7, 2021. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions H071191013/Item Store/ItemStore-H071191013/.classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-12"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>
17 changes: 17 additions & 0 deletions H071191013/Item Store/ItemStore-H071191013/.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<projectDescription>
<name>ItemStore-H071191013</name>
<comment/>
<projects>&#xD;
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>&#xD;
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=12
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=10
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=12
Binary file not shown.
Binary file not shown.
9 changes: 9 additions & 0 deletions H071191013/Item Store/ItemStore-H071191013/bin/app/Item.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
0;Penggaris;4000;Untuk Menggaris
1;Pulpen;3000;Untuk Menulis
2;Tipe-X;4500;Untuk Menghapus
3;Buku;5000;Untuk Tempat Menulis
4;Jangkar;2000;Untuk Membuat Lingkaran
5;Tisu;7500;Untuk Membersihkan
6;Krayon;12000;Untuk Mewarnai
7;Kamus;35000;Untuk Mencari Kata
8;Kalkulator;40000;Untuk Membantu Menghitung
Binary file not shown.
5 changes: 5 additions & 0 deletions H071191013/Item Store/ItemStore-H071191013/bin/app/Owner.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Luffy;30000;0:10-1:11-3:10-4:10-5:10-2:1-
Zoro;50000;2:8-3:8-4:8-5:7-6:5-
Sanji;50000;2:3-3:2-4:2-5:10-6:10-
Nami;55000;1:13-2:14-3:20-4:30-
Usopp;50000;0:15-1:12-3:15-4:18-5:15-6:12-7:7-8:19-
Binary file not shown.
Binary file not shown.
4 changes: 4 additions & 0 deletions H071191013/Item Store/ItemStore-H071191013/bin/app/Player.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Rafli;30000;1:1-;
Ikhsan;98000;2:1-;
Alif;90000;1:1-;
Richard;72000;1:2-;
Binary file not shown.
5 changes: 5 additions & 0 deletions H071191013/Item Store/ItemStore-H071191013/bin/app/Store.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
0;Alfamart;0;Selamat Datang di Alfamart
1;Sunny Go;0;All For One
2;Baratie;0;Barang Berkualitas Harga Terjangkau
3;Arlong Park;0;Berkilau Tapi Bukan Emas
4;Merry Go;0;All in One
Binary file not shown.
Binary file not shown.
Binary file not shown.
141 changes: 141 additions & 0 deletions H071191013/Item Store/ItemStore-H071191013/src/app/DataSource.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
package app;

import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;

public class DataSource {

StoreOwner[] owners = getOwners();
private String baca (String namaFile) {
Path path = Paths.get("src/app/"+namaFile);
String fileContent = null;
try {
fileContent = new String(Files.readAllBytes(path), StandardCharsets.ISO_8859_1);
} catch (IOException e) {
e.printStackTrace();
}
return fileContent;
}
//getPlayer
public Player[] getPlayer() {
String inputPlayer = baca("Player.txt");
String inputItem = baca("Item.txt");
String[] playerContent = inputPlayer.split("\\r?\\n");
String[] itemContent = inputItem.split("\\r?\\n");
Player[] player = new Player[playerContent.length];
for (int i = 0; i < playerContent.length; i++) {
ArrayList <Item> item = new ArrayList<>();
Item itemPenawaran = null;
String[] modifContent = playerContent[i].split(";");
if(modifContent[2].equals("")||modifContent[2].equals("null")){}
else {
String[] daftarItem = modifContent[2].split("-");
for (int j = 0; j < daftarItem.length; j++) {
String[] items = daftarItem[j].split(":");
String[] spekItem = itemContent[Integer.parseInt(items[0])].split(";");
item.add(new Item(Integer.parseInt(spekItem[0]), spekItem[1], Integer.parseInt(spekItem[2]), Integer.parseInt(items[1]), spekItem[3]));
}
}
String[] itemP = new String[2];
itemP[1]=String.valueOf(-1);
if(modifContent.length!=4){}
else{
itemP = modifContent[3].split(":");
String[] spekItem2 = itemContent[Integer.parseInt(itemP[0])].split(";");
itemPenawaran = new Item(Integer.parseInt(spekItem2[0]),spekItem2[1], Integer.parseInt(spekItem2[2]),1, spekItem2[3]);
}
player[i] = new Player(modifContent[0], Integer.parseInt(modifContent[1]), item, itemPenawaran, Integer.parseInt(itemP[1]));
}
return player;
}
//getStore
public StoreOwner[] getOwners() {
String inputStore = baca("Owner.txt");
String inputItem = baca("Item.txt");
String[] storeContent = inputStore.split("\\r?\\n");
String[] itemContent = inputItem.split("\\r?\\n");
owners = new StoreOwner[storeContent.length];
for (int i = 0; i < storeContent.length; i++) {
ArrayList <Item> item = new ArrayList<>();
String[] modifContent = storeContent[i].split(";");
String[] daftarItem = modifContent[2].split("-");
for (int j = 0; j < daftarItem.length; j++) {
String[] items = daftarItem[j].split(":");
String[] spekItem = itemContent[Integer.parseInt(items[0])].split(";");
item.add(new Item(Integer.parseInt(spekItem[0]),spekItem[1], Integer.parseInt(spekItem[2]), Integer.parseInt(items[1]), spekItem[3]));
}
owners[i] = new StoreOwner(modifContent[0], Integer.parseInt(modifContent[1]), item);
}
return owners;
}
public Store[] getStore(){
String inputStore = baca("Store.txt");
String[] storeContent = inputStore.split("\\r?\\n");
Store[] store = new Store[storeContent.length];
for (int i = 0; i < storeContent.length; i++) {
String[] modifContent = storeContent[i].split(";");
store[i] = new Store(owners[Integer.parseInt(modifContent[0])], modifContent[1], Integer.parseInt(modifContent[2]), modifContent[3]);
}
return store;
}
public void saveData(Store[] updateStores, StoreOwner[] updateOwner, Player[] updatePlayer){
Path playerPath = Paths.get("src/app/Player.txt");
Path storePath = Paths.get("src/app/Store.txt");
Path ownerPath = Paths.get("src/app/Owner.txt");
String[] store = new String[updateStores.length];
String[] player = new String [updatePlayer.length];
String[] owner = new String [updateOwner.length];
for(int i=0;i<updateStores.length;i++){
if(updateStores[i]==null){
store[i]="";
}else {
store[i] = i + ";" + updateStores[i].getName() + ";" + updateStores[i].getPenjualan() + ";" + updateStores[i].getMotto();
}
}
for(int i=0;i<updatePlayer.length;i++){
if(updatePlayer[i]==null){
player[i]="";
}else{
player[i] = updatePlayer[i].getName()+";"+updatePlayer[i].getMoney()+";";
for(int j=0;j<updatePlayer[i].getItems().size();j++){
player[i]+=updatePlayer[i].getItems().get(j).getId()+":"+updatePlayer[i].getItems().get(j).getKuantitas()+"-";
}
if(updatePlayer[i].getPenawaran().getItemDitawarkan()==null){
player[i]+=";";
}else{
player[i] += ";"+updatePlayer[i].getPenawaran().getItemDitawarkan().getId()+":"+updatePlayer[i].getPenawaran().getHargaPenawaran();
}
}
}
for(int i=0;i<updateOwner.length;i++){
if(updateOwner[i]==null){
owner[i]="";
}
else{
owner[i] = updateOwner[i].getName()+";"+updateOwner[i].getMoney()+";";
for(int j=0;j<updateOwner[i].getItems().size();j++){
owner[i]+=updateOwner[i].getItems().get(j).getId()+":"+updateOwner[i].getItems().get(j).getKuantitas()+"-";
}
}
}
try {
write(store, storePath);
write(player, playerPath);
write(owner, ownerPath);
} catch (IOException e) {
e.printStackTrace();
}
}
private void write(String[] input, Path pathIn) throws IOException {
String in = "";
for(int i=0;i<input.length;i++){
in+=input[i]+"\n";
}
Files.write(pathIn,in.getBytes(StandardCharsets.ISO_8859_1));
assert(Files.exists(pathIn));
}
}
39 changes: 39 additions & 0 deletions H071191013/Item Store/ItemStore-H071191013/src/app/Item.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package app;
class Item{
private String name;
private int price;
private int kuantitas;
private String info;
private int id;

//Konstruktor Item
Item(int id, String name, int price, int kuantitas ,String info){
this.name = name;
this.price = price;
this.kuantitas = kuantitas;
this.info = info;
this.id = id;
}

//getter
public String getName(){
return name;
}
public String getInfo(){
return info;
}
public int getPrice(){
return price;
}
public int getKuantitas(){
return kuantitas;
}
public int getId(){
return id;
}

//setter
public void setKuantitas(int kuantitas){
this.kuantitas = kuantitas;
}
}
9 changes: 9 additions & 0 deletions H071191013/Item Store/ItemStore-H071191013/src/app/Item.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
0;Penggaris;4000;Untuk Menggaris
1;Pulpen;3000;Untuk Menulis
2;Tipe-X;4500;Untuk Menghapus
3;Buku;5000;Untuk Tempat Menulis
4;Jangkar;2000;Untuk Membuat Lingkaran
5;Tisu;7500;Untuk Membersihkan
6;Krayon;12000;Untuk Mewarnai
7;Kamus;35000;Untuk Mencari Kata
8;Kalkulator;40000;Untuk Membantu Menghitung
Loading