Laporan Praktikum Pemrograman Lanjut Bab 3 Fakultas Ilmu Komputer Universitas Brawijaya 2016/2017
Soal :
Source code :
Class DatabaseRun
Class Database
Download the file here
Soal :
Misalkan
dalam sebuah basis data memiliki struktur seperti ini
[
{
"id":101,
"nama":"Paijo",
"gajiPokok":2000,
"tunjangan":1000,
"bonus":500,
"denda":200
},
{
"id":102,
"nama":"Lala",
"gajiPokok":1750,
"tunjangan":900,
"bonus":500,
"denda":200
},
{
"id":103,
"nama":"Lulu",
"gajiPokok":2150,
"tunjangan":1000,
"bonus":300,
"denda":375
},
{
"id":104,
"nama":"Sabar",
"gajiPokok":1500,
"tunjangan":750,
"bonus":600,
"denda":200
},
{
"id":105,
"nama":"Sule",
"gajiPokok":2500,
"tunjangan":850,
"bonus":500,
"denda":300
}
]
Buatlah
class yang bertujuan untuk mengambil semua/sebagian data dari
"database" diatas dengan kerangka method dibawah.
get()
-> Mengambil semua data dari database
get(int
id) -> Mengambil salah satu data berdasarkan id
get(String
columnName, Object value) -> Mengambil semua data dengan nilai columnName =
value
get(String
columnName, String operator, Object value) -> Mengambil semua data dengan
nilai columnName 'operator' value
Contoh
penggunaan:
db.get()
// mengambil semua data
db.get(104)
// mengambil data dengan id=104
db.get("gajiPokok",
2000) // mengambil semua data yang memiliki gajiPokok = 2000
db.get("tunjangan", "<=", 1000) // mengambil semua data yang
memiliki tunjangan <= 1000
db.get("bonus",
">", 450) // mengambil semua data yang memiliki bonus > 450
Source code :
Class DatabaseRun
package bab3overloaddanoverloadingmethod; import java.util.Scanner; public class DatabaseRun { public static void main(String[] args) { int c = 0; Database db = new Database(); Scanner sausan = new Scanner(System.in); do { System.out.println("MENU"); System.out.println("1. Show All Data"); System.out.println("2. Show Data Based on ID"); System.out.println("3. Show Data Based on Column Name and Value"); System.out.println("4. Show Data Based on Column Name, Operator, and Value"); System.out.println("5. Exit"); System.out.print("Choose : "); c = sausan.nextInt(); System.out.println("==============================="); if (c == 1) { db.get(); } if (c == 2) { System.out.print("Enter ID : "); db.get(sausan.nextInt()); } if (c == 3) { System.out.println("List of Column Name"); System.out.println("ID\nSalary\nSubsidy\nBonus\nFine"); System.out.print("Enter Column Name : "); String columname = sausan.next(); System.out.print("Enter Value : "); int value = sausan.nextInt(); db.get(columname, value); } if (c == 4) { System.out.println("List of Column Name"); System.out.println("ID\nSalary\nSubsidy\nBonus\nFine"); System.out.print("Enter Column Name : "); String columname = sausan.next(); System.out.println("List of Operator"); System.out.println("< > <= >= ="); System.out.print("Enter Operator : "); String operator = sausan.next(); System.out.print("Enter Value : "); int value = sausan.nextInt(); db.get(columname, operator, value); } } while (c != 5); } }
Class Database
package bab3overloaddanoverloadingmethod; public class Database { String name[] = {"Paijo", "Lala", "Lulu", "Sabar", "Sule"}; int numbers[][] = { {101, 2000, 1000, 500, 200}, {102, 1750, 900, 500, 200}, {103, 2150, 100, 300, 375}, {104, 1500, 750, 600, 200}, {105, 2500, 850, 500, 300} }; public void show(int s) { System.out.println("======================"); System.out.println("ID : " + numbers[s][0]); System.out.println("Name : " + name[s]); System.out.println("Salary : " + numbers[s][1]); System.out.println("Subsidy : " + numbers[s][2]); System.out.println("Bonus : " + numbers[s][3]); System.out.println("Fine : " + numbers[s][4]); System.out.println("======================"); } public void get() { for (int i = 0; i < name.length; i++) { show(i); } } public void get(int z) { boolean sarah = false; for (int i = 0; i < name.length; i++) { if (numbers[i][0] == z) { show(i); sarah = true; } } if (!sarah) { System.out.println("======================"); System.out.println("YOU'RE ENTERING WRONG DATA"); System.out.println("======================"); } } public void get(String h, int m) { boolean asuka = false; int x = 0; if (h.equalsIgnoreCase("ID")) { x = 0; } if (h.equalsIgnoreCase("Salary")) { x = 1; } if (h.equalsIgnoreCase("Subsidy")) { x = 2; } if (h.equalsIgnoreCase("Bonus")) { x = 3; } if (h.equalsIgnoreCase("Fine")) { x = 4; } for (int i = 0; (i < name.length) && (x >= 0 && x <= 4); i++) { if (numbers[i][x] == m) { show(i); asuka = true; } } if (!asuka) { System.out.println("============================================"); System.out.println("YOU'RE ENTERING WRONG DATA"); System.out.println("============================================"); } } public void get(String a, String i, int z) { boolean op = false, n = false; int x = 0; if (a.equalsIgnoreCase("id")) { x = 0; } if (a.equalsIgnoreCase("salary")) { x = 1; } if (a.equalsIgnoreCase("subsidy")) { x = 2; } if (a.equalsIgnoreCase("bonus")) { x = 3; } if (a.equalsIgnoreCase("fine")) { x = 4; } for (int j = 0; (j < name.length) && (x >= 0 && x <= 4); j++) { if (i.equalsIgnoreCase("<")) { op = (numbers[j][x] < z); } if (i.equalsIgnoreCase("<=")) { op = (numbers[j][x] <= z); } if (i.equalsIgnoreCase(">")) { op = (numbers[j][x] > z); } if (i.equalsIgnoreCase(">=")) { op = (numbers[j][x] >= z); } if (i.equalsIgnoreCase("=")) { op = (numbers[j][x] == z); } if (op) { show(j); n = true; } } if (!n) { System.out.println("============================================"); System.out.println("YOU'RE ENTERING WRONG DATA"); System.out.println("============================================"); } } }
Download the file here
0 comments:
Posting Komentar