Kamis, 04 Januari 2018

, ,

PEMROGRAMAN LANJUT BAB 3 : OVERLOADING METHOD DAN OVERLOADING CONSTRUCTOR

Laporan Praktikum Pemrograman Lanjut Bab 3 Fakultas Ilmu Komputer Universitas Brawijaya 2016/2017

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
Share:

0 comments:

Posting Komentar