From 9dd8f311b584fd52f914b7655912aa91a41fa229 Mon Sep 17 00:00:00 2001 From: PrinceX80 Date: Sun, 29 Mar 2020 22:15:54 +0800 Subject: [PATCH] MID Project PBO A --- .../ItemStore-H071191013/.classpath | 6 + .../Item Store/ItemStore-H071191013/.project | 17 + .../.settings/org.eclipse.jdt.core.prefs | 11 + .../bin/app/DataSource.class | Bin 0 -> 6673 bytes .../ItemStore-H071191013/bin/app/Item.class | Bin 0 -> 1031 bytes .../ItemStore-H071191013/bin/app/Item.txt | 9 + .../ItemStore-H071191013/bin/app/Main.class | Bin 0 -> 10867 bytes .../ItemStore-H071191013/bin/app/Owner.txt | 5 + .../bin/app/Penawaran.class | Bin 0 -> 845 bytes .../ItemStore-H071191013/bin/app/Player.class | Bin 0 -> 2407 bytes .../ItemStore-H071191013/bin/app/Player.txt | 4 + .../ItemStore-H071191013/bin/app/Store.class | Bin 0 -> 2610 bytes .../ItemStore-H071191013/bin/app/Store.txt | 5 + .../bin/app/StoreOwner.class | Bin 0 -> 1386 bytes .../bin/app/StoreStar.class | Bin 0 -> 168 bytes .../ItemStore-H071191013/bin/app/User.class | Bin 0 -> 3021 bytes .../src/app/DataSource.java | 141 ++++++ .../ItemStore-H071191013/src/app/Item.java | 39 ++ .../ItemStore-H071191013/src/app/Item.txt | 9 + .../ItemStore-H071191013/src/app/Main.java | 435 ++++++++++++++++++ .../ItemStore-H071191013/src/app/Owner.txt | 5 + .../src/app/Penawaran.java | 24 + .../ItemStore-H071191013/src/app/Player.java | 47 ++ .../ItemStore-H071191013/src/app/Player.txt | 4 + .../ItemStore-H071191013/src/app/Store.java | 69 +++ .../ItemStore-H071191013/src/app/Store.txt | 5 + .../src/app/StoreOwner.java | 21 + .../src/app/StoreStar.java | 5 + .../ItemStore-H071191013/src/app/User.java | 71 +++ README.md | 145 +----- 30 files changed, 952 insertions(+), 125 deletions(-) create mode 100644 H071191013/Item Store/ItemStore-H071191013/.classpath create mode 100644 H071191013/Item Store/ItemStore-H071191013/.project create mode 100644 H071191013/Item Store/ItemStore-H071191013/.settings/org.eclipse.jdt.core.prefs create mode 100644 H071191013/Item Store/ItemStore-H071191013/bin/app/DataSource.class create mode 100644 H071191013/Item Store/ItemStore-H071191013/bin/app/Item.class create mode 100644 H071191013/Item Store/ItemStore-H071191013/bin/app/Item.txt create mode 100644 H071191013/Item Store/ItemStore-H071191013/bin/app/Main.class create mode 100644 H071191013/Item Store/ItemStore-H071191013/bin/app/Owner.txt create mode 100644 H071191013/Item Store/ItemStore-H071191013/bin/app/Penawaran.class create mode 100644 H071191013/Item Store/ItemStore-H071191013/bin/app/Player.class create mode 100644 H071191013/Item Store/ItemStore-H071191013/bin/app/Player.txt create mode 100644 H071191013/Item Store/ItemStore-H071191013/bin/app/Store.class create mode 100644 H071191013/Item Store/ItemStore-H071191013/bin/app/Store.txt create mode 100644 H071191013/Item Store/ItemStore-H071191013/bin/app/StoreOwner.class create mode 100644 H071191013/Item Store/ItemStore-H071191013/bin/app/StoreStar.class create mode 100644 H071191013/Item Store/ItemStore-H071191013/bin/app/User.class create mode 100644 H071191013/Item Store/ItemStore-H071191013/src/app/DataSource.java create mode 100644 H071191013/Item Store/ItemStore-H071191013/src/app/Item.java create mode 100644 H071191013/Item Store/ItemStore-H071191013/src/app/Item.txt create mode 100644 H071191013/Item Store/ItemStore-H071191013/src/app/Main.java create mode 100644 H071191013/Item Store/ItemStore-H071191013/src/app/Owner.txt create mode 100644 H071191013/Item Store/ItemStore-H071191013/src/app/Penawaran.java create mode 100644 H071191013/Item Store/ItemStore-H071191013/src/app/Player.java create mode 100644 H071191013/Item Store/ItemStore-H071191013/src/app/Player.txt create mode 100644 H071191013/Item Store/ItemStore-H071191013/src/app/Store.java create mode 100644 H071191013/Item Store/ItemStore-H071191013/src/app/Store.txt create mode 100644 H071191013/Item Store/ItemStore-H071191013/src/app/StoreOwner.java create mode 100644 H071191013/Item Store/ItemStore-H071191013/src/app/StoreStar.java create mode 100644 H071191013/Item Store/ItemStore-H071191013/src/app/User.java diff --git a/H071191013/Item Store/ItemStore-H071191013/.classpath b/H071191013/Item Store/ItemStore-H071191013/.classpath new file mode 100644 index 0000000..cc8c2c8 --- /dev/null +++ b/H071191013/Item Store/ItemStore-H071191013/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/H071191013/Item Store/ItemStore-H071191013/.project b/H071191013/Item Store/ItemStore-H071191013/.project new file mode 100644 index 0000000..c39400b --- /dev/null +++ b/H071191013/Item Store/ItemStore-H071191013/.project @@ -0,0 +1,17 @@ + + + ItemStore-H071191013 + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + \ No newline at end of file diff --git a/H071191013/Item Store/ItemStore-H071191013/.settings/org.eclipse.jdt.core.prefs b/H071191013/Item Store/ItemStore-H071191013/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..82245cc --- /dev/null +++ b/H071191013/Item Store/ItemStore-H071191013/.settings/org.eclipse.jdt.core.prefs @@ -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 diff --git a/H071191013/Item Store/ItemStore-H071191013/bin/app/DataSource.class b/H071191013/Item Store/ItemStore-H071191013/bin/app/DataSource.class new file mode 100644 index 0000000000000000000000000000000000000000..4c52de3504e589f3375964c89cf5c0cb87297ce7 GIT binary patch literal 6673 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 literal 0 HcmV?d00001 diff --git a/H071191013/Item Store/ItemStore-H071191013/bin/app/Item.class b/H071191013/Item Store/ItemStore-H071191013/bin/app/Item.class new file mode 100644 index 0000000000000000000000000000000000000000..4402225513a688620fa7db1fa546b4d7eb060025 GIT binary patch literal 1031 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 literal 0 HcmV?d00001 diff --git a/H071191013/Item Store/ItemStore-H071191013/bin/app/Player.txt b/H071191013/Item Store/ItemStore-H071191013/bin/app/Player.txt new file mode 100644 index 0000000..b7a3df6 --- /dev/null +++ b/H071191013/Item Store/ItemStore-H071191013/bin/app/Player.txt @@ -0,0 +1,4 @@ +Rafli;30000;1:1-; +Ikhsan;98000;2:1-; +Alif;90000;1:1-; +Richard;72000;1:2-; \ No newline at end of file diff --git a/H071191013/Item Store/ItemStore-H071191013/bin/app/Store.class b/H071191013/Item Store/ItemStore-H071191013/bin/app/Store.class new file mode 100644 index 0000000000000000000000000000000000000000..de64a4e7897629587a22f5c58ded5b25eb898988 GIT binary patch literal 2610 zcmaJ?YjYD-7=AWQvzxHc7$_ySg;Y?I6dFYYN=kupvyjqCpbDkJwq44$xtVOh;@$BV z_|;F2Gw{W6)Um-)hw+on_(6Y>m*+jZG)Y@&XL8PY&v~Esd9VA&KR-PIa15X72xtgf zl}aY>maDdopoZv@bu3oj~3d;HNyj7UCs*ap}VbHzn)HG~q@~2;B&331n!3ZYDg{isNCM8b>NiVKU zc;V|#Zswry9W)U^Si@E_n_r%=D!y%a%=*QyDDnh94ff;H!XZQvd&Z>Bt( zxHf0qO{g+9@Gf1QDb6M)tm?AuCZ-D3JYPPb>6y9N#2DLy1IO{I(yyv^SJ<7J!?BQS z>*bZo(|#WCg59n(qPj#J%Z?Htk}ub*^Y(d1rb0wD%aD{22H30}oU5G($b{i8Ak#;! zoHJ@=C##jSh^vgAt=PujE}lMDdceN)V?@)j?W^cc53ZsoeP9*wbpI-P)A67P8|eQ| zp(ObG0%w>Y1!*b58P`SR9Yl>2cMnf{5hXL=FgX#M@Aq<*op9isbG+3%mKdhi)X;83P!m zW24N)X-4=wBQwC)p34_}mk&^)qchso6_rG=oqW!%!Ha*(SFOQIwjecwm)TUgd%g1D zrphm`rR^vgNVLLIgN#7BnL4iuhFFK07Lf2-`d-1IP3ZTmXK<)Rxk>-kr}@&BnO!N+ zzi7Rufy24)aXfaafiYPx_^W^Z8ROSummXt+Z{rP2HjwuosEcXuf}Xs!cA=0uPCQa@ z@~SU*`$x?1Wy~VLU|$3Czrtx?nWtE>O;lb3`YfRJ4K`5y^50)t+0}h^_x*LHg{{<0 zP}R*C`xX578aTq;QP#~d%7^)X99Q^7y@3%9_Y?Sn>qDHxH#mg`tLO>F@Ebpff8wkP zVZsZOAAbYC<2}634BW&;e87GT;6vJxiu3M1;!Y}#dHfr%sKQ literal 0 HcmV?d00001 diff --git a/H071191013/Item Store/ItemStore-H071191013/bin/app/Store.txt b/H071191013/Item Store/ItemStore-H071191013/bin/app/Store.txt new file mode 100644 index 0000000..82070cb --- /dev/null +++ b/H071191013/Item Store/ItemStore-H071191013/bin/app/Store.txt @@ -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 \ No newline at end of file diff --git a/H071191013/Item Store/ItemStore-H071191013/bin/app/StoreOwner.class b/H071191013/Item Store/ItemStore-H071191013/bin/app/StoreOwner.class new file mode 100644 index 0000000000000000000000000000000000000000..949eff9ae44c70a2e43556403501debb65f1e268 GIT binary patch literal 1386 zcma)5TTc^F5dIDnc3GB-<>m!+QIr-aRYXCGD4 zP!di20Y3YCjB~b&Kxm9@a%RrinQ!Ks%g^86egK$8UO@vxJ9pi5-gi8)eryX*L5x9_ zZ`)S#hULr2cE#ad9>72X!#wFo?(bN0Bk!#z{p zqsN$kXqFi|L%eft8HSk6OQF{lE(}d2#}*X^mL=V!EC`~fE<=Xi%V8_-S?Ixf4wr~g zP5GX0IyOUNBDvFoTNqH#Pw8IBsZyr+I&R|*Svi6KHxtuIZ&2-h>VV*-jEX^qfz-c# z8t&n~f+2>kFu-L59S<7$|_z^Qw<~U)6kZU8B%B?jBq7X%rmqZ#;UW= zEo0LipCP6Ui#lH6HDM6H)!O7xKeH14jm&VFp+Awm%J?h~6>k}|LaAtMIY-V>pd!c6 zU2u!WhOqfD_qc6rSiB4I$u^*Rh!yu*HNP7=7kVe}?QVDM=T1b9CjQ)T+GTNUyh4zK?M(A{EWC`+6$fu38 zk(wRa(Lp!zKqsydrqtr-3awRiqlf%^=~a)ub)%177_Q?6oigSxLXv(bUvV>TRB@N& zcO>4&M@}&|QpI=`6ID!Ak*R%)&qea0?aP|&LKRErhLJ%$8#$~*ay63c7l0(whLGt* vc(xD^4MS+f7~Lm{^D1%OCbmUlDu`=|cm~AuGqIEvsWCi>D#GwCMBMxXKgdDV literal 0 HcmV?d00001 diff --git a/H071191013/Item Store/ItemStore-H071191013/bin/app/StoreStar.class b/H071191013/Item Store/ItemStore-H071191013/bin/app/StoreStar.class new file mode 100644 index 0000000000000000000000000000000000000000..c5785b726c44da56c73f716ea71001a203b1a08e GIT binary patch literal 168 zcmX^0Z`VEs1_lcTZgvJHMh4!*f&%^ElKi67;F825b_Nzk27#=^vPAuy#JqHU|D>$c zX;E^jTV_rw qBLg4Yd_9n2HU literal 0 HcmV?d00001 diff --git a/H071191013/Item Store/ItemStore-H071191013/bin/app/User.class b/H071191013/Item Store/ItemStore-H071191013/bin/app/User.class new file mode 100644 index 0000000000000000000000000000000000000000..163d9fda5f65f6a83db0b8e4eebddbc459519ddc GIT binary patch literal 3021 zcma)7TYD2#6kR8oWSTJL)(ezUZN);HUIJBHpq2Zr(iSApS}w{oowh^Mq+}+AqM|6? z^#{nCzVPCM_(>4`^z+%D;EVsm8?HSw&BgZfGY^@4_MEf#+H0?~=a;{~{|Ufee5NC$ zP-8AGCNDTvUWcZz@tV10CNpMsHhE_1nw54Hw5+*cDQq4oze>4zJ3Bk55Lw7&tz`u@ zOxt#?1xKO5-&k<%O!9C(Z!VA6j?2BVls%g@-9nzh+Sb}LG$K%j8D;PQ_eY29tnD69 z=;~OVdU&k>gPr3F1OIn-RXRDT9nDQ!afGqiKrQMN!X2ICF|Z;7I%>q)VjzO3SWO0E zh%0Ouv9s1#VPVS3pEsv69#OfpnHe|pwyXoE=FZvVChnCeY)gS2VSNgXBULAs7gtWz zIF>u=GpuzC3r2m`a>u-W)OU2QriJa~2BDD2wyf+})ruW!zo}v*<SubP5r%^qiHR zm#{tp->M~~a?9fAK~hJrLY*g+>ZAsCV-Fc6I`Sz8%WCq4HmKvdK#hKQW&70x1h5$t zS=3Csb}mau&Rp(>S7;3TF{FcpR){yX>=3Pi7eN7qa|Oxjr?hj)vsAB34O`~IU=0o_ zwDkPfFODNPrsL>JWz`W39LEXLvM50_MAoo|06WKpo>K;f@e-@DT`O<8xjb86)d|+) z`3Kiw1Y)NjA2(wcL(wJsvJp!3yXbt`@t(Hrm zpz3CL#LXC(#T;SJna-HU5w&xX85WjBFe|rEY>K8f<(ldFQFGC|snRCOCM#l%=Bd;Ln%{ zdy;0onw_1=@y^Y!G|oF4yjBgAU2gNPvVSaPM&}4qn z(qy7~Pfk(3T}L|vgHLt@>uLL*4cN#xx4G8%tWP|`ro{G#G`b$5G12o7TOZIL#y0*p zGBy}h<7Aeo>lvetF`Ma4_~)@5EnG2@heLUmAPITaQ#=*M)3goZkX=vF3e#@&Y7i_3 zxL0;Z6V1dS*+X9TxaZx#xEsBUjsC7u#;8{@DU)l$e~FdkQ}RR--=gvBQmClstnzpgXfC4r zXY`fh_<*)m)Mb?FGVnb4lR92Ne-N#*uKKV3RaZ*|lyY4IY?TkCi~EHXRp!>u-&S!@ zm1@{qI`|uvB`TQ}BEm!8VBhA0MI4rjia0rTA18Yr?DL;6kZ2g+{sk}7fA6H zu4gz!M2M}F6Cnohqc8*dcJM1^;~JYV&-e8RJwX#R9g5S29|Qb>qhy6&a zq5Ej7=o%qwUzYlqnP8>OJ_Wfip8Q${?cbIp^}3tt*h64R^b(AK^tGD|K!(sAfD~vo z2>*$Q+7=>^JRBd6YN225v*U5!9}V~G_i?ye5;y3+oJejF?&s*JbXM9#-VnK3#4W8q z`rxjv8uSwG#|_bYXp-d*=$mZrZfS@#X^-$`5pPeFOX~IRML+v6K+^VdknCe0_Tv}^ zaS}r~Mc)Jt;xgr)=ch+XJ?FzN$=SiX^oaf(++{cAQaE^zKIxl-_XCkR_<+6$^JMTL zKB6~{QI96w>!1PcFVrfvKlD3wpzv{NfE)=r7ngE))iPcMl|$q>^>m`55%Chbc+d!i KPlzUjPyYe03{Bnu literal 0 HcmV?d00001 diff --git a/H071191013/Item Store/ItemStore-H071191013/src/app/DataSource.java b/H071191013/Item Store/ItemStore-H071191013/src/app/DataSource.java new file mode 100644 index 0000000..276d349 --- /dev/null +++ b/H071191013/Item Store/ItemStore-H071191013/src/app/DataSource.java @@ -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 = 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 = 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 items; + static int indexUser; + public static void main(String[] args) { + players = dataSource.getPlayer(); + owners = dataSource.getOwners(); + stores = dataSource.getStore(); + mainMenu(); + } + //main Menu + public static void mainMenu(){ + + System.out.println(" -Item Store- "); + System.out.println("1. Mulai\n2. Keluar"); + System.out.print("Input Nilai : "); + + int inp = sc.nextInt(); + sc.nextLine(); + switch (inp){ + case 1: + startMenu(); + break; + case 2: + return; + default: + System.out.println("Input Salah"); + mainMenu(); + } + } + + //start Menu + public static void startMenu(){ + System.out.println("-----------------------------"); + System.out.println(" PILIH USER "); + System.out.println("-----------------------------"); + //daftar player + int indexO = 1; + for (int i=0;i "); + int inp = sc.nextInt(); + if(inp==index){ + saveData(); + } + //jika store owner yang terpilih + else if(inp>=indexO){ + storeAction(inp-indexO); + //jika player yang terpilih + }else { + playerAction(inp-1); + } + + } + + //playerAction + public static void playerAction(int i){ + players[i].action(); + items = players[i].getItems(); + System.out.print("> "); + String input = sc.next(); + switch (input){ + case "i": + System.out.println("-----------------------------"); + System.out.println("Item Ditawarkan"); + if(players[i].getPenawaran().getItemDitawarkan()==null){ + }else{ + System.out.printf("%s dgn harga Rp.%d\n", players[i].getPenawaran().getItemDitawarkan().getName(), players[i].getPenawaran().getHargaPenawaran()); + } + System.out.println("-----------------------------"); + if(!items.isEmpty()){ + System.out.println(" Pilih Item "); + players[i].showItems(); + } + else { + System.out.println("TIdak ada Item"); + System.out.println("-----------------------------"); + } + System.out.println(" [k] kembali"); + System.out.println("-----------------------------"); + System.out.print("> "); + String inp = sc.next(); + if(inp.equals("k")){ + playerAction(i); + } + itemAction(i, (Integer.parseInt(inp)-1)); + break; + case "t": + marketPlace(i); + break; + case "p": + penawaranPlayer(i, 1); + playerAction(i); + break; + case "b": + players[i].createStore(); + break; + case "h": + delete(i,"p"); + System.out.println("User Berhasil Di Hapus"); + startMenu(); + break; + case "k": + startMenu(); + break; + default : + playerAction(i); + } + } + //item action + private static void itemAction(int indexPlayer, int indexItem) { + System.out.println("-----------------------------"); + System.out.println(" "+items.get(indexItem).getName()); + System.out.println("-----------------------------"); + System.out.println("[j]Jual | [i]Info | [k]Kembali"); + System.out.println("-----------------------------"); + System.out.print("> "); + String inp = sc.next(); + switch (inp){ + case "j": + playerSellItem(indexItem, indexPlayer); + playerAction(indexPlayer); + break; + case "i": + System.out.println("-----------------------------"); + System.out.println(" "+items.get(indexItem).getInfo()); + System.out.println("-----------------------------"); + itemAction(indexPlayer, indexItem); + break; + case "k": + playerAction(indexPlayer); + break; + default: + itemAction(indexPlayer, indexItem); + } + } + + //ownerAction + public static void storeAction(int i){ + owners[i].action(); + System.out.print("> "); + String input = sc.next(); + switch (input){ + case "m": + stores[i].myStore(); + modifMyStore(i); + storeAction(i); + break; + case "p": + penawaranPlayer(i, 0); + storeAction(i); + break; + case "h": + delete(i,"s"); + System.out.println("User Berhasil Di Hapus"); + startMenu(); + break; + case "k": + startMenu(); + break; + default : + storeAction(i); + } + } + //player market place + public static void marketPlace(int nowPlayer){ + System.out.println("-----------------------------"); + System.out.println(" PUSAT PENJUALAN"); + System.out.println("-----------------------------"); + for (int i=0;i "); + int inp = sc.nextInt(); + buyFromStore(inp-1, nowPlayer); + } + //store market + public static void marketPlaceStore(int my){ + System.out.println("-----------------------------"); + System.out.println(" PUSAT PENJUALAN"); + System.out.println("-----------------------------"); + int index = 0; + for (int i=0;i "); + int input = sc.nextInt()-1; + input=input>=my?input+1:input; + storeFromStore(my, input); + } + + //modif store + public static void modifMyStore(int i){ + System.out.print("> "); + String inp = sc.next();sc.nextLine(); + switch (inp){ + case "o": + System.out.println("-----------------------------"); + System.out.println(" BUAT MOTTO "); + System.out.println("-----------------------------"); + System.out.print("> "); + String inp1 = sc.nextLine(); + stores[i].myMotto(inp1); + storeAction(i); + break; + case "m": + marketPlaceStore(i); + break; + case "b": + storeAction(i); + break; + default: + modifMyStore(i); + } + } + + //delete akun + public static void delete(int i, String tipe){ + if(tipe.equals("p")){ + for(int j=i;j "); + String input = sc.next(); + if(input.equals("k")){ + storeAction(nowPlayer); + } + int inp = Integer.parseInt(input); + System.out.println("Jumlah Pembelian"); + System.out.print("> "); + int sum = sc.nextInt(); + System.out.println("-----------------------------"); + Item sell = owners[from].getItem(inp - 1); + int itemPrice = sum > 5 ? (sell.getPrice() * 80 / 100) * sum : (sell.getPrice() * sum); + if (itemPrice <= owners[nowPlayer].getMoney() && sell.getKuantitas()>=sum) { + owners[nowPlayer].setMoney((owners[nowPlayer].getMoney())- itemPrice); + owners[from].setMoney(owners[from].getMoney() + itemPrice); + owners[nowPlayer].setItem(sell.getId(), sell.getName(), sell.getPrice(), sell.getInfo(),sum); + owners[from].getItem(inp - 1).setKuantitas(sell.getKuantitas() - sum); + stores[from].setPenjualan(stores[from].getPenjualan()+1); + storeFromStore(nowPlayer,from); + } else if(sell.getKuantitas() "); + String input = sc.next(); + if(input.equals("b")){ + playerAction(nowPlayer); + } + int inp = Integer.parseInt(input); + Item sell = owners[from].getItem(inp-1); + if(sell.getPrice()<=players[nowPlayer].getMoney()){ + players[nowPlayer].setMoney((players[nowPlayer].getMoney())-(sell.getPrice())); + owners[from].setMoney(owners[from].getMoney()+sell.getPrice()); + players[nowPlayer].setItem(sell.getId(),sell.getName(),sell.getPrice(),sell.getInfo(),1); + owners[from].getItem(inp-1).setKuantitas(sell.getKuantitas()-1); + System.out.println("-----------------------------"); + System.out.printf("(!) %s\n\tMembeli %s\n\tDari %s Store\n",players[nowPlayer].getName(),sell.getName(),stores[from].getName()); + System.out.println("-----------------------------"); + playerAction(nowPlayer); + }else{ + System.out.println("-----------------------------"); + System.out.println(" (!) Maaf Uang anda tidak cukup\n (!) Pembelian Gagal"); + System.out.println("-----------------------------"); + playerAction(nowPlayer); + + } + } + public static void penawaranPlayer(int ind, int tipe){ + System.out.println(" DAFTAR PENAWARAN"); + boolean kosong = true; + int index = 0; + int[] nowIndex = new int[players.length]; + for(int i=0;i "); + int input = sc.nextInt()-1; + if(input>index){ + penawaranPlayer(ind, tipe); + } + input = nowIndex[input]; + Item item = players[input].getPenawaran().getItemDitawarkan(); + penawaranDiterima(ind, tipe, players[input], item); + } + } + public static void playerSellItem(int ind, int i) { + if (players[i].getPenawaran().getItemDitawarkan() == null) { + System.out.println("Harga Penawaran"); + System.out.print("> "); + int harga = sc.nextInt(); + if (harga < 0 || harga >= 200000) { + System.out.println("Harga Tidak Wajar"); + playerSellItem(ind, i); + } + players[i].takeItemToPenawaran(ind, harga); + } + else{ + System.out.println("(!)Player Hanya Boleh\nMemiliki 1 Penawaran"); + } + } + + public static void penawaranDiterima(int indexPlayerAktif, int tipe, Player playerPenawar, Item item){ + if(tipe==1){ + if(players[indexPlayerAktif].getMoney() items, Item itemPenawaran, int hargaItem) { + super(name, money, items); + penawaran = new Penawaran(); + if(itemPenawaran!=null){ + penawaran.setItem(itemPenawaran); + penawaran.setPrice(hargaItem); + } + + } + + @Override + public void action() { + System.out.println("-----------------------------"); + System.out.println(" "+getName().toUpperCase()); + System.out.println(" Status : Player"); + System.out.println("-----------------------------"); + System.out.println(" Cash Rp."+ getMoney()); + System.out.println("-----------------------------"); + System.out.println("[i] Item"); + System.out.println("[t] Toko"); + System.out.println("[p] Penawaran Player"); + System.out.println("[b] Buat Toko"); + System.out.println("[h] Hapus Akun"); + System.out.println("[k] Kembali"); + System.out.println("-----------------------------"); + } + + public void createStore(){} + public void takeItemToPenawaran(int indexitem, int price){ + if(items.get(indexitem)!=null&&penawaran.getItemDitawarkan()==null){ + penawaran.setItem(items.get(indexitem)); + penawaran.setPrice(price); + items.remove(indexitem); + } + } + public Penawaran getPenawaran(){ + return penawaran; + } + public void kosongkanPenawaran(){ + penawaran = new Penawaran(); + } +} \ No newline at end of file diff --git a/H071191013/Item Store/ItemStore-H071191013/src/app/Player.txt b/H071191013/Item Store/ItemStore-H071191013/src/app/Player.txt new file mode 100644 index 0000000..b7a3df6 --- /dev/null +++ b/H071191013/Item Store/ItemStore-H071191013/src/app/Player.txt @@ -0,0 +1,4 @@ +Rafli;30000;1:1-; +Ikhsan;98000;2:1-; +Alif;90000;1:1-; +Richard;72000;1:2-; \ No newline at end of file diff --git a/H071191013/Item Store/ItemStore-H071191013/src/app/Store.java b/H071191013/Item Store/ItemStore-H071191013/src/app/Store.java new file mode 100644 index 0000000..e1f4e7b --- /dev/null +++ b/H071191013/Item Store/ItemStore-H071191013/src/app/Store.java @@ -0,0 +1,69 @@ +package app; +import java.util.ArrayList; + +public class Store{ + private String name; + private String motto = ""; + private int penjualan; + private int star; + private StoreOwner owner; + public Store(StoreOwner owner, String name, int penjualan, String motto){ + this.owner = owner; + this.name = name; + this.penjualan = penjualan; + this.motto = motto; + myStar(); + } + public void setPenjualan (int penjualan){ + this.penjualan = penjualan; + } + public int getPenjualan(){ + return penjualan; + } + public void myMotto(String motto) { + this.motto = motto; + } + public void myStar() { + if(penjualan<=1){ + star = 1; + }else if(penjualan<=3){ + star = 2; + }else if(penjualan<=5){ + star = 3; + }else if(penjualan<=7){ + star = 4; + }else { + star = 5; + } + } + public String getName(){ + return name; + } + public String getMotto (){ + return motto; + } + public int getStar(){ + myStar(); + return star; + } + public StoreOwner getOwner(){ + return owner; + } + public void myStore(){ + ArrayList items = owner.getItems(); + System.out.println("-----------------------------"); + System.out.println("\tMY STORE "); + System.out.println("-----------------------------"); + System.out.println("Name : "+name); + System.out.println("Star : "+star); + System.out.println("-----------------------------"); + for(int i=0;i items) { + super(name, money, items); + } + @Override + public void action() { + System.out.println("-----------------------------"); + System.out.println(" "+getName().toUpperCase()); + System.out.println(" Status : Store Owner"); + System.out.println("-----------------------------"); + System.out.println(" Modal Rp.: "+ getMoney()); + System.out.println("-----------------------------"); + System.out.println("[m] Tokoku"); + System.out.println("[p] Penawaran Player"); + System.out.println("[h] Hapus Akun"); + System.out.println("[k] Kembali"); + System.out.println("-----------------------------"); + } +} \ No newline at end of file diff --git a/H071191013/Item Store/ItemStore-H071191013/src/app/StoreStar.java b/H071191013/Item Store/ItemStore-H071191013/src/app/StoreStar.java new file mode 100644 index 0000000..b602f95 --- /dev/null +++ b/H071191013/Item Store/ItemStore-H071191013/src/app/StoreStar.java @@ -0,0 +1,5 @@ +package app; +interface StoreStar { + void myStar(); + void myMotto(String motto); +} diff --git a/H071191013/Item Store/ItemStore-H071191013/src/app/User.java b/H071191013/Item Store/ItemStore-H071191013/src/app/User.java new file mode 100644 index 0000000..e301b92 --- /dev/null +++ b/H071191013/Item Store/ItemStore-H071191013/src/app/User.java @@ -0,0 +1,71 @@ +package app; +import java.util.ArrayList; +public class User { + protected String name; + protected int money; + protected ArrayList items; + //konstruktor User + public User(String name, int money, ArrayList items2){ + this.money = money; + this.name = name; + this.items = items2; + } + //set money + public void setMoney(int money){ + this.money = money; + } + //getter + public String getName (){ + return name; + } + public ArrayList getItems (){ + checkItem(); + return items; + } + public Item getItem(int i){ + return items.get(i); + } + public int getMoney(){ + return money; + } + + //polymerpisme action + public void action(){}; + + //Item modif + public void showItems (){ + checkItem(); + int i=0; + System.out.println("-----------------------------"); + for (Item myItem:items){ + i++; + System.out.printf("[%d] %s \n\tHarga : Rp.%d \n\tStock : %d\n",i,myItem.getName(),myItem.getPrice(), myItem.getKuantitas()); + System.out.println("-----------------------------"); + } + } + public void checkItem(){ + for (int i=0;i - Berkas project berupa `.java` dimana *satu class satu file*. - > - Struktur Project dapat menggunakan Struktur Maven, Gradle, Eclipse dan sejenisnya -5. **Push** berkas project anda ke repositori hasil *fork* pada *branch* **NIM** anda. -6. Buat **Pull Request** untuk **Merge** *branch* **NIM** dengan *branch* **master** pada repositori ini. - -## Aturan Project Mid - -1. Setiap orang memilih salah satu dari tema *project* yang telah disediakan. -2. *Project* yang dibuat harus memiliki semua konsep dari materi yang telah dipelajari (*Class & Object - Polymorphism*). -3. Deskripsi dari tema *project* menjelaskan mengenai gambaran dan *minimum requirement*, yang berarti project yang anda buat minimal memenuhi *requirement* tersebut. -4. Fitur *project* anda boleh dimodifikasi dan ditambahkan, selama syarat no. 3 terpenuhi. -5. Jika *project* anda membutuhkan penyimpanan data, gunakan package *java.nio* untuk baca-tulis file. -6. Didalam direktori **NIM** anda, buat file **README.md** yang menjelaskan mengenai *project* anda termasuk : - - Spesifikasi *Project* - - Alur Kerja - - Contoh *input-output*, jika ada - - Bagian dari project anda yang menerapkan konsep *object oriented* - - Jika ada konsep *object oriented* yang tidak anda gunakan, jelaskan mengapa - - Hal-hal yang ingin di*improve* kedepannya mengenai project yang anda buat - - dll -7. Lakukan *commit* disetiap perubahan yang anda lakukan selama membuat *project*, hal ini akan menjadi *log* aktifitas dan bukti bahwa project tersebut adalah orisinil dari anda, sertakan *commit message* yang jelas dan deskriptif, *commit message* dapat menggunakan bahasa indonesia ataupun inggris, mengenai tata cara *commit* yang baik, sialahkan baca artikel berikut : [How to Write a Git Commit Message](https://chris.beams.io/posts/git-commit/). -8. *Project* yang dibuat harus memiliki *Main Class* yang terdapat *main method* untuk simulasi *project* anda. - -9. Jika anda memiliki tema sendiri diluar dari tema yang disediakan, silahkan didiskusikan terlebih dahulu di grup. - -## Tema *Project* - -### Pet Clinic - -- Sistem Penitipan dan Jual Beli Hewan Peliharaan -- Setiap *Pet* yang dititipkan, memiliki *Owner* -- Setiap *Pet* hanya memiliki 1 *Owner*, dan *Owner* dapat memiliki lebih dari 1 *Pet* -- Setiap *Pet* memiliki status, titipan atau dijual -- Setiap *Owner*, memiliki data pribadi, seperti nama, alamat, no. telepon, dll -- Terdapat aktifitas untuk menitipkan, membeli, atau menjual *Pet* -- Untuk aktifitas menitipkan, terdapat jadwal penitipan dan pengembalian -- Terdapat aktifitas melihat daftar *Pet* Keseluruhan, yang dititipkan, dan yang dijual -- Terdapat aktifitas untuk melihat detail dari sebuah *Pet*, termasuk spesifikasi dari *Pet* tersebut, struktur spesifikasi dari *Pet* bergantung pada jenisnya (Ayam, Kucing, Anjing, dll) -- Untuk data pribadi dari *Owner*, hanya dapat dilihat oleh *Owner* itu sendiri, Pemilik *Pet Clinic* atau pegawai dari *Pet Clinic* - -### TO DO List - -- Sistem untuk Mencatat Jadwal Kegiatan yang akan dilakukan -- Daftar kegiatan dimiliki oleh satu *User* -- Setiap kegiatan memiliki deskripsi -- Setiap kegiatan memiliki jadwal mulai dan jadwal selesai -- Setiap Kegiatan memiliki status selesai, sedang dikerjakan, dan belum dikerjakan -- Setiap Kegiatan memiliki prioritas -- *User* hanya dapat melihat daftar kegiatan yang dibuatnya -- *User* dapat menampilkan daftar kegitan berdasarkan jadwal, prioritas, atau status -- *User* dapat menghapus dan menambah kegiatan - -### Bank - -- Sistem Bank Sederhana -- Terdapat Bank -- Terdapat Nasabah, setiap nasabah dapat memiliki lebih dari 1 akun, namun hanya terdapat 1 akun dalam 1 bank -- Setiap Nasabah memiliki Rekening, jika nasabah memiliki akun dibeberapa bank, maka masing-masing akun memiliki detail rekening yang berbeda-beda -- Nasabah dapat melakukan aktifitas menabung, transfer dan menarik uang -- Aktifitas menabung dan menarik uang hanya dapat dilakukan jika nasabah menggunakan akun yang sesuai dengan bank yang dikunjungi -- Untuk aktifitas transfer, terdapat nasabah lain yang ditransferkan -- Setiap nasabah dapat melihat log aktifitas mereka, log aktifitas dikategorikan berdasarkan aktifitas menabung, menarik, mentransfer dan ditarnsferkan -- Setiap aktifitas diatas hanya dapat dilihat oleh nasabah yang bersangkutan setelah melakukan proses autentikasi - -### Library - -- Sistem Peminjaman Buku Perpustakaan -- Terdapat *User* -- Terdapat daftar *User* yang berkunjung -- *User* dapat mengambil buku untuk dibaca -- *User* yang ingin meminjam buku, harus menjadi *Member* perpustakaan -- Setiap buku memiliki detail buku yang memuat jenis buku, penulis, penerbit, jumlah halaman, dll -- Aktifitas peminjaman buku memiliki jadwal peminjaman dan jadwal pengemblian -- Jika *User* mengembalikan buku setelah jadwal pengembalian, maka akan dikenai denda yang dihitung perhari -- Terdapat log yang berisi daftar proses peminjaman -- *User* dapat melihat riwayat buku yang dibaca dan buku yang dipinjaman -- Riwayat yang dapat dilihat oleh user, hanya riwayat milikinya - -### Item Store - -- Sistem Jual Beli Item -- Terdapat *Store*, masing-masing *Store* memiliki *Owner* dan daftar *Item* yang dijual -- Setiap *Item* memiliki harga, kuantitas, dan detail -- Terdapat *User*, yang dapat berperan sebagai *Player*, *Store Owner*, atau keduanya -- Setiap *User* memiliki Uang -- Setiap *User* dapat memiliki lebih dari 1 *Item* -- Terdapat Aktifitas Membeli dan Menjual -- Jika *User* membeli *Item*, maka daftar itemnya bertambah, namun jika *Item* yang dibeli telah ada dalam daftarnya, maka yang bertambah adalah kuantitas dari *Item* tersebut -- Aktifitas membeli hanya dapat terjadi jika uang dari *User* mencukupu harga *Item* -- Uang dari *User* akan bertambah jika menjual *Item* -- Proses Jual Beli *Item* dapat dilakukan antar *Player-Player*, *Player-Store*, atau *Store-Store* - -### Burger Store - -- Sistem Penjualan *Hamburger* -- Terdapat Pesanan, setiap Pesanan dapat memilki lebih dari 1 item -- Terdapat beberapa jenis *Humburger*, setiap jenis memiliki harga *default* -- Terdapat *Addition* sperti *Drink*, *Ketchup*, *Potato*, *Tomato*, dll -- Setiap *Addition* memiliki harga -- Setiap Pesanan *Hamburger*, dapat memiliki lebih dari 1 *Addition* -- *Addition* dapat ditambahkan sekaligus atau satu persatu -- Harga akhir pesanan bergantung pada harga *Hamburger* yang dipesan beserta *Addition*nya - -### Academic System - -- Sistem Informasi Akademik Sederhana -- Terdapat Mahasiswa, Dosen, dan Matakuliah -- Setiap Mahasiswa dapat mengambil beberapa Matakuliah -- Setiap Matakuliah memiliki SKS dan Dosen Pengajar -- Jumlah SKS Matakuliah yang dapat diambil oleh Mahasiswa tidak boleh melebihi batas maksismum SKS Mahasiswa tersebut -- Setiap Mahasiswa memiliki 1 Dosen Pembimbing -- Dosen Pembimbing dapat memilki lebih dari 1 Mahasiswa bimbingan -- Dosen Pembimbing dapat melihat daftar Mahasiswa bimbingannya beserta detail dari Mahasiswa tersebut, termasuk mengenai Matakuliah yang diambil -- Setiap Mahasiswa dapat melihat detail dari daftar Matakuliah yang diambil -- 1 Matakuliah hanya dapat diambil 1 kali -- Terdapat aktifitas untuk melihat nilai IPS -- Setiap Mahasiswa hanya dapat melihat data miliknya +# Item Store Project + +H071191013 +Rafli Fathur Rachman + +Project ini berbasis jual beli item antara Player dan Store Owner +Setiap Player dan Store Owner memiliki uang dan memiliki lebih dari 1 item +dimana keduanya memiliki user masing-masing yang tersimpan dalam file Owner.txt dan Player.txt +- Untuk Item = Setiap Item memiliki Nama, Harga dan Detail dari item tersebut +- Untuk Player = Setiap Player memiliki Nama, Uang dan Item. player dapat membeli item di store dan dapat menjual Item mereka di daftar penawaran. Player dapat juga menentukan harga Item untuk dijual +- Untuk Store = Setiap Store memiliki Owner dimana juga Store mempunyai motto untuk Storenya + +Skema Jalannya Project +Ketika dijalankan maka akan muncul perintah +1. Mulai +2. Keluar +tekan 1 kemudian mengarah ke user yang telah disediakan +setelah memilih user maka terdapat perintah Item, Toko, Penawaran Player, Buat Toko, Hapus Akun dan Kembali untuk membeli item kita mengarah ke toko untuk membeli beberapa Item yang diinginkan dan sebagainya + +Hal yang dimprove ingin membuat project ini dalam bentuk JavaFX \ No newline at end of file