Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions Task1/.vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"java.project.sourcePaths": ["src"],
"java.project.outputPath": "bin",
"java.project.referencedLibraries": [
"lib/**/*.jar",
"c:\\Program Files\\Java\\mysql-connector-j-8.0.32\\mysql-connector-j-8.0.32.jar"
]
}
20 changes: 20 additions & 0 deletions Task1/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
- pada package com.config
terdapat method connection() yang bertanggung jawab untuk membuat koneksi ke database menggunakan JDBC (Java Database Connectivity).


- pada config com.controller
terdapat method getDatabase() yang bertanggung jawab untuk mengambil data dari tabel tb_produk dalam database.
terdapat method insertDB(String product, Long i, Integer stok) yang bertanggung jawab untuk untuk menyisipkan (insert) data baru ke dalam tabel tb_produk.
terdapat method updateNamaDB(int id, String name), updateHargaDB(int id, Long harga), dan updateStokDB(int id, Integer stok) yang bertanggung jawab untuk memperbarui data dalam tabel tb_produk berdasarkan ID dengan mengubah nilai NAMA, HARGA, dan JUMLAH masing-masing.
terdapat method deleteDB(String nama) yang bertanggung jawab untuk menghapus data dalam tabel tb_produk berdasarkan NAMA.
terdapat method getProdukbyNama(String nama) yang bertanggung jawab untuk mengambil data produk berdasarkan NAMA dari tabel tb_produk.

- pada com.layouts
pada class DeleteData terdapat method showDeleteData() yang berfungsi untuk menghapus data.
pada class InsertData terdapat method showInsertData() yang berfungsi untuk menambahkan data baru.
pada class Menu terdapat method showMenu() yang berfungsi untuk menampilkan pilihan menu dan method SelectMenu() yang berfungsi untuk mengeksekusi angka menu yang diinput.
pada class ReadData terdapat method showReadData() yang berfungsi untuk menampilkan seluruh isi data.
pada class UpdateData terdapat method showUpdateData(String nama) yang bertanggung jawab untuk menampilkan menu pengeditan data produk dan method showEditNama(String nama), showEditHarga(String nama), dan showEditStok(String nama) ketiga metode ini bertanggung jawab untuk menampilkan menu dan menghandle pengeditan data nama, harga, dan jumlah (stok) produk.

- pada com.models
terdapat method main method yang berfungsi menjalankan program tersebut.
Binary file added Task1/bin/App.class
Binary file not shown.
Binary file added Task1/bin/com/config/MyConfig.class
Binary file not shown.
Binary file added Task1/bin/com/controller/controllerDB.class
Binary file not shown.
Binary file added Task1/bin/com/layouts/DeleteData.class
Binary file not shown.
Binary file added Task1/bin/com/layouts/InsertData.class
Binary file not shown.
Binary file added Task1/bin/com/layouts/Menu.class
Binary file not shown.
Binary file added Task1/bin/com/layouts/ReadData.class
Binary file not shown.
Binary file added Task1/bin/com/layouts/UpdateData.class
Binary file not shown.
Binary file added Task1/bin/com/models/Produk.class
Binary file not shown.
9 changes: 9 additions & 0 deletions Task1/src/App.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@

import com.layouts.Menu;
public class App {
public static void main(String[] args) throws Exception {
Menu.showMenu();
}


}
456 changes: 456 additions & 0 deletions Task1/src/com/config/MyConfig.java

Large diffs are not rendered by default.

123 changes: 123 additions & 0 deletions Task1/src/com/controller/controllerDB.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
package com.controller;

import java.sql.SQLException;

import com.config.MyConfig;
import com.models.Produk;

public class controllerDB extends MyConfig {
public static void getDatabase(){
connection();

try {
String query = "SELECT NAMA, HARGA, JUMLAH FROM `tb_produk` ORDER BY ID DESC";
preparedStatement = connect.prepareStatement(query);
resultSet = preparedStatement.executeQuery();

while (resultSet.next()){


System.out.println(
resultSet.getString("NAMA")+", Rp."+
resultSet.getInt("HARGA")+", stock = "+
resultSet.getInt("JUMLAH"));
}

preparedStatement.close();
} catch (SQLException e) {
e.printStackTrace();

}
}

public static boolean insertDB(String product, Long i, Integer stok) {
connection();
query = "INSERT INTO `tb_produk` (NAMA, HARGA, JUMLAH) VALUES (?, ?, ?)";
try {
preparedStatement = connect.prepareStatement(query);
preparedStatement.setString(1, product);
preparedStatement.setLong(2, i);
preparedStatement.setInt(3, stok);
preparedStatement.executeUpdate();
preparedStatement.close();
return true;
} catch (SQLException e) {
e.printStackTrace();

}
return false;
}
public static void updateNamaDB(int id, String name) {
connection();
query= "UPDATE `tb_produk` SET NAMA=? WHERE ID=?";
try {
preparedStatement = connect.prepareStatement(query);
preparedStatement.setString(1, name);
preparedStatement.setInt(2, id);
preparedStatement.executeUpdate();
preparedStatement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void updateHargaDB(int id, Long harga) {
connection();
query= "UPDATE `tb_produk` SET HARGA=? WHERE ID=?";
try {
preparedStatement = connect.prepareStatement(query);
preparedStatement.setLong(1, harga);
preparedStatement.setInt(2, id);
preparedStatement.executeUpdate();
preparedStatement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void updateStokDB(int id, Integer stok) {
connection();
query= "UPDATE `tb_produk` SET JUMLAH=? WHERE ID=?";
try {
preparedStatement = connect.prepareStatement(query);
preparedStatement.setInt(1, stok);
preparedStatement.setInt(2, id);
preparedStatement.executeUpdate();
preparedStatement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static boolean deletDB(String nama) {
connection();
query= "DELETE FROM `tb_produk` WHERE NAMA=?";
try {
preparedStatement = connect.prepareStatement(query);
preparedStatement.setString(1, nama);
int rowDelete = preparedStatement.executeUpdate();
if (rowDelete>0) {
return true;
}
preparedStatement.close();
} catch (SQLException e) {
e.printStackTrace();
}
return false;
}
public static Produk getProdukbyNama(String nama){
Produk produk = null;
connection();
query = "SELECT * FROM `tb_produk` WHERE NAMA=?";
try {
preparedStatement = connect.prepareStatement(query);
preparedStatement.setString(1, nama);
resultSet = preparedStatement.executeQuery();

while (resultSet.next()) {
produk = new Produk(resultSet.getInt("ID"), resultSet.getString("NAMA"), resultSet.getLong("HARGA"), resultSet.getInt("JUMLAH"));
}
preparedStatement.close();
} catch (Exception e) {
e.printStackTrace();
}
return produk;
}
}
35 changes: 35 additions & 0 deletions Task1/src/com/layouts/DeleteData.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package com.layouts;

import java.util.Scanner;

import com.controller.controllerDB;

public class DeleteData {
public static void showDeleteData(){
Scanner sc = new Scanner(System.in);
System.out.println("---------------------------------------------");
System.out.println("SILAHKAN PILIH DATA YANG INGIN DIHAPUS ");
System.out.println("---------------------------------------------");
controllerDB.getDatabase();
System.out.println("---------------------------------------------");
System.out.println("***Catatan: input nama produk dengan benar!!!");
System.out.print("Pilih Nama Produk: ");
String nama = sc.nextLine();
System.out.println("---------------------------------------------");

if (controllerDB.deletDB(nama)) {
System.out.println("BERHASIL MENGHAPUS DATA");

}else{
System.out.println("GAGAL MENGHAPUS DATA");
System.out.println("----------------------------------------------");
DeleteData.showDeleteData();

}

System.out.println("----------------------------------------------");
Menu.showMenu();
sc.close();
}

}
35 changes: 35 additions & 0 deletions Task1/src/com/layouts/InsertData.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package com.layouts;

import java.util.Scanner;

import com.controller.controllerDB;

public class InsertData {
public static void showInsertData(){
try {
Scanner sc = new Scanner(System.in);
System.out.println("------------------------------------");
System.out.println("SILAHKAN INPUT PRODUK");
System.out.println("------------------------------------");
System.out.println("NAMA");
String name = sc.nextLine();
System.out.println("HARGA");
long harga = sc.nextInt();
System.out.println("STOK");
int stok = sc.nextInt();
System.out.println("------------------------------------");
if (controllerDB.insertDB(name, harga, stok)) {
System.out.println("BERHASIL INSERT DATA");

}else{
System.out.println("GAGAL MENAMBAHKAN DATA");
}
System.out.println("------------------------------------");
Menu.showMenu();
sc.close();

} catch (Exception e) {
InsertData.showInsertData();
}
}
}
59 changes: 59 additions & 0 deletions Task1/src/com/layouts/Menu.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
package com.layouts;

import java.util.Scanner;


public class Menu{
public static void showMenu(){
System.out.println("----------------------------------------");
System.out.println("------------ SELAMAT DATANG ------------");
System.out.println("----------------------------------------");
System.out.println("1] READ DATA ");
System.out.println("2] INSERT DATA ");
System.out.println("3] EDIT DATA ");
System.out.println("4] DELETE DATA ");
System.out.println("5] EXIT ");
System.out.println("-----------------------------------------");
System.out.print("PILIH: ");
SelectMenu();
}
public static void SelectMenu(){
Scanner sc = new Scanner(System.in);
try {

int menu = sc.nextInt();
switch (menu) {
case 1:
ReadData.showReadData();
break;
case 2:
InsertData.showInsertData();
break;
case 3:
UpdateData.showUpdateData(null);
break;
case 4:
DeleteData.showDeleteData();
break;
case 5:
System.out.println("------------------------------------------");
System.out.println("TERIMA KASIH DAN SAMPAI JUMPA");
System.out.println("------------------------------------------");
break;

default:
System.out.println("MAAF MENU TIDAK ADA DIPILIHAN");
Menu.showMenu();
break;

}
sc.close();
} catch (Exception e) {
System.out.println("INPUTAN BERUPA ANGKA");
showMenu();
}


}
}

58 changes: 58 additions & 0 deletions Task1/src/com/layouts/ReadData.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
package com.layouts;

import java.util.Scanner;

import com.controller.controllerDB;

public class ReadData {


public static void showReadData(){
Scanner sc = new Scanner(System.in);

System.out.println("-----------------------------------");
System.out.println("DATA PRODUK");
System.out.println("-----------------------------------");
controllerDB.getDatabase();
System.out.println("-----------------------------------");

System.out.println("1. MENU ");
System.out.println("2. EXIT ");
System.out.print("Pilih bang: ");
try {
int selectMenu = sc.nextInt();
switch (selectMenu) {
case 1:
Menu.showMenu();
break;
case 2:
System.out.println("-----------------------------------------");
System.out.println("SAMPAI JUMPA KEMBALI...");
System.out.println("-----------------------------------------");
System.exit(selectMenu);
break;

default:
System.out.println("----------------------------------------------");
System.out.println("MAAF MENU YANG DIPILIH TIDAK TERSEDIA");
System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
ReadData.showReadData();
break;
}

} catch (Exception e) {
System.out.println("==============================================");
System.out.println("MASUKKAN INPUTAN ANGKA BANG");
System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
ReadData.showReadData();
}




System.out.println("--------------------------------");
Menu.showMenu();
sc.close();
}

}
Loading