Mochamad Kolbi Nuron_5025231183_PBO tugas 10

 Nama : Mochamad Kolbi Nuron

NRP : 5025231183

Tugas PBO A ke 10

1. SalesItem.java                                                                                                                                                  public class SalesItem {

    private String itemName;

    private double price;

    private int stock;

    private double totalRevenue;


    public SalesItem(String itemName, double price, int stock) {

        this.itemName = itemName;

        this.price = price;

        this.stock = stock;

        this.totalRevenue = 0.0;

    }


    public void addStock(int amount) {

        if (amount > 0) {

            stock += amount;

        }

    }


    public void sellItem(int amount) {

        if (amount > 0 && amount <= stock) {

            stock -= amount;

            totalRevenue += amount * price;

        }

    }


    public int getStock() {

        return stock;

    }


    public double getTotalRevenue() {

        return totalRevenue;

    }


    // Metode main untuk menjalankan program

    public static void main(String[] args) {

        SalesItem item = new SalesItem("Laptop", 750.0, 10);


        System.out.println("Initial stock: " + item.getStock());

        item.addStock(5);

        System.out.println("Stock after adding: " + item.getStock());


        item.sellItem(3);

        System.out.println("Stock after selling: " + item.getStock());

        System.out.println("Total revenue: $" + item.getTotalRevenue());

    }

}

Kelas SalesItem

Kelas ini digunakan untuk memodelkan item penjualan dengan atribut berikut:

  • itemName: Nama item (contoh: "Laptop").
  • price: Harga per unit item.
  • stock: Jumlah stok item yang tersedia.
  • totalRevenue: Total pendapatan dari penjualan item.

Semua atribut bersifat private untuk menjaga enkapsulasi, sehingga hanya dapat diakses melalui metode kelas.

  1. addStock(int amount):

    • Digunakan untuk menambah stok item.
    • Hanya menambah stok jika amount > 0.
    • Contoh: Jika stok awal 10 dan menambah 5, stok menjadi 15.
  2. sellItem(int amount):

    • Digunakan untuk menjual item.
    • Hanya mengurangi stok jika jumlah yang dijual (amount) valid, yaitu lebih besar dari nol dan tidak melebihi stok tersedia.
    • Pendapatan (totalRevenue) diperbarui berdasarkan jumlah item yang terjual dikalikan harga per unit.
    • Contoh: Jika stok 10, harga 750, dan menjual 3 unit, stok menjadi 7 dan pendapatan bertambah 2250.
  3. getStock():

    • Mengembalikan jumlah stok saat ini.
  4. getTotalRevenue():

    • Mengembalikan total pendapatan dari penjualan.

Metode main digunakan untuk menjalankan program dan menguji fungsionalitas kelas SalesItem:

  1. Membuat objek SalesItem dengan nama "Laptop", harga 750, dan stok awal 10.
  2. Menambah stok sebesar 5, sehingga stok menjadi 15.
  3. Menjual 3 unit, sehingga stok menjadi 12 dan pendapatan bertambah menjadi $2250.
  4. Menampilkan informasi stok dan total pendapatan ke konsol.
2. SalesItemTest.java
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;

public class SalesItemTest {

    @Test
    public void testAddStock() {
        SalesItem item = new SalesItem("Laptop", 750.0, 10);
        item.addStock(5);
        assertEquals(15, item.getStock());
    }

    @Test
    public void testSellItem() {
        SalesItem item = new SalesItem("Laptop", 750.0, 10);
        item.sellItem(3);
        assertEquals(7, item.getStock());
        assertEquals(2250.0, item.getTotalRevenue());
    }
}



Komentar

Postingan populer dari blog ini

Mochamad Kolbi Nuron_5025231183_ETS PBO A

tugas PBOA pengertian dan konsep OOP

Mochamad Kolbi Nuron_5025231183_Tugas PBO 8