You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SysMart membutuhkan bantuan anda sebagi programmer untuk merancang sebuah
aplikasi kasir CLI (Command Line Interface) untuk memvalidasi dan menghitung
banyaknya kembalian dari pembayaran yang diberikan, tidak hanya itu, SysMart
juga menginginkan program tersebut agar dapat menghitung banyaknya kembalian
untuk setiap pecahan uang yang mereka miliki.
Mereka memiliki pecahan:
100.000
50.000
20.000
10.000
5.000
2.000
1.000
500
200
100
SysMart menggunakan satuan lembar untuk uang pecahan 1.000 keatas dan buah untuk pecahan 500 kebawah.
Jika pelanggan membayarkan sejumlah uang dan kembaliannya ada diluar pecahan
tersebut, SysMart menganggapnya sebagai donasi.
Bantulah SysMart untuk merancang aplikasi tersebut, berikut spesifikasi
lengkap dan referensi programnya.
Spesifikasi
Program menerima inputan berupa integer
Jika pembeli memasukkan selain integer, program akan interupsi lalu berhenti
Jika tidak ada kembalian, program akan meyampaikan bahwa pembayaran yang
dilakukan menggunakan uang pas lalu berhenti
Jika uang yang dibayarkan tidak cukup, program akan menyampaikan bahwa uang
pembeli belum cukup, lalu berhenti
Program menampilkan total kembalian diikuti dengan banyaknya masing-masing
pecahan yang disediakan
Program hanya menampilkan pecahan yang digunakan sebagai kembalian, e.g. Jika
harga barang 135.000, pembeli membayar sebesar 150.000, kembalian sebesar
15.000, maka program hanya menampilkan banyaknya pecahan 10.000 dan 5.000
Jika masih ada kembalian dibawah 100, maka program akan menampilkan kembalian
tersebut sebagai donasi
Referensi
simplescreenrecorder-2021-10-15_21.08.36.mp4
2. Role Base Access Control
Lengkapilah potongan program barikut
publicclassRoleB {
publicstaticvoidmain(String[] args) {
intmenuIndex = 0;
intsubMenuIndex = 0;
booleanisValidRole = false;
if (args.length == 0) {
System.out.println("What role you want to see ?");
System.out.println("For example, try 'Admin'.");
return;
}
if (args.length > 1) {
System.out.println("Too many argument");
return;
}
/* * Your magic is here * Role validation * / if (/* Magic ? */) {
System.out.println("Invalid Role");
System.out.println("Valid Role : Super Admin, Admin, User");
return;
}
/*
* Anothermagic
* Mainmenu
* /
}
}
Sehingga menghasilkan output berikut (Klik untuk play)
Dengan Ketentuan
Tidak ada varaiabel tambahan selain variabel yang telah disediakan
Gunakan args[0] sebagai variabel pengecekan Role
Variable isValidRole harus digunakan
Tidak ada penggunaan string method
Index menu dan sub menu bersifat dinamis (sesuai Role) yang merupakan hasil dari
variabel indexMenu dan indexSubmenu
Tidak ada duplikasi dalam menampilkan menu masing-masing Role
if (args[0] == "Admin") {
System.out.printf("%d. Admin\n", menuIndex);
System.out.printf("%2d.%d. CRUD Admin\n", menuIndex, subMenuIndex);
System.out.printf("%2d.%d. CRUD User\n\n", menuIndex, subMenuIndex);
System.out.printf("%d. User\n", menuIndex); // Duplikasi, bagian ini hanya boleh terdapat dibagian UserSystem.out.printf("%2d.%d. View\n", menuIndex, subMenuIndex); // Duplikasi, bagian ini hanya boleh terdapat dibagian UserSystem.out.printf("%2d.%d. Edit\n", menuIndex, subMenuIndex); // Duplikasi, bagian ini hanya boleh terdapat dibagian User
} elseif (args[0] == "User") {
System.out.printf("%d. User\n", menuIndex);
System.out.printf("%2d.%d. View\n", menuIndex, subMenuIndex);
System.out.printf("%2d.%d. Edit\n", menuIndex, subMenuIndex);
}
Diatas merupakan contoh duplikasi, dimana roleAdmin menampilkan menu User dalam pengecekan kondisinya
Setiap Role hanya menampilkan menu untuk Role tersebut dialam blok pengecekannya
Ketentuan menu masing-masing Role
Super Admin dapat melihat menu untuk Admin dan User
Admin dapat melihat menu untuk User tapi tidak dapat melihat menu Super Admin
User hanya dapat melihat menu User
Untuk lebih jelasnya, silahkan perhatikan bagian output
The text was updated successfully, but these errors were encountered:
1. Simple Cashier
Ringkasan
SysMart membutuhkan bantuan anda sebagi programmer untuk merancang sebuah
aplikasi kasir CLI (Command Line Interface) untuk memvalidasi dan menghitung
banyaknya kembalian dari pembayaran yang diberikan, tidak hanya itu, SysMart
juga menginginkan program tersebut agar dapat menghitung banyaknya kembalian
untuk setiap pecahan uang yang mereka miliki.
Mereka memiliki pecahan:
SysMart menggunakan satuan lembar untuk uang pecahan 1.000 keatas dan
buah untuk pecahan 500 kebawah.
Jika pelanggan membayarkan sejumlah uang dan kembaliannya ada diluar pecahan
tersebut, SysMart menganggapnya sebagai donasi.
Bantulah SysMart untuk merancang aplikasi tersebut, berikut spesifikasi
lengkap dan referensi programnya.
Spesifikasi
dilakukan menggunakan uang pas lalu berhenti
pembeli belum cukup, lalu berhenti
pecahan yang disediakan
harga barang 135.000, pembeli membayar sebesar 150.000, kembalian sebesar
15.000, maka program hanya menampilkan banyaknya pecahan 10.000 dan 5.000
tersebut sebagai donasi
Referensi
simplescreenrecorder-2021-10-15_21.08.36.mp4
2. Role Base Access Control
Lengkapilah potongan program barikut
Sehingga menghasilkan output berikut (Klik untuk play)
Dengan Ketentuan
args[0]
sebagai variabel pengecekan RoleisValidRole
harus digunakanvariabel
indexMenu
danindexSubmenu
Untuk lebih jelasnya, silahkan perhatikan bagian output
The text was updated successfully, but these errors were encountered: