UAS PBO
NAMA: VEBRYAN ZAKA AULIA
NIM : A11.2018.11163
KEL : A11.4410
1.
public static void isPalindrome(String[] args) {
String kataAsli ,kataBalik = "";
//inisalisasi nilai ข ar
Scanner inputUser = new Scanner(System.in);
//instansi objek class Scanner
System.out.println("Inputkan Kata Untuk Mengecek Palindrome : ");
//keterangan ke user atau pengguna
kataAsli = inputUser.nextLine( );
//masukan nilai kata string dari user atau pengguna
int panjang = kataAsli.length( );
//menyimpan nilai panjang dari kata string user atau pengguna
for (int index = panjang -1;index>=0; index--){
//mengambil nilai kata string ketika dibalik
kataBalik = kataBalik + kataAsli.charAt(index);
if (kataAsli.equals(kataBalik)){
System.out.println("Kata termasuk Palindrome ");
else{
System.out.println("Kata bukan termasuk Palindrome ");
}
//tampilkan output hasil jika kata palindrome atau tidak
2.
Public static int GCD(int a, int b)
if (a == 0)
return b;
if (b == 0)
return a;
if (a == b)
return a;
if (a > b)
return gcd(a-b, b);
return gcd(a, b-a);
Public static int LCM(int a, int b)
return (a*b)/gcd(a, b);
}
3.
Public static void merge(int arr[], int l, int m, int r)
int n1 = m - l + 1;
int n2 = r - m;
int L[] = new int[n1];
int R[] = new int[n2];
for (int i = 0; i < n1; ++i)
L[i] = arr[l + i];
for (int j = 0; j < n2; ++j)
R[j] = arr[m + 1 + j];
int i = 0, j = 0;
int k = l;
while (i < n1 && j < n2) {
if (L[i] <= R[j]) {
arr[k] = L[i];
i++;
else {
arr[k] = R[j];
j++;
k++;
}
while (i < n1) {
arr[k] = L[i];
i++;
k++;
while (j < n2) {
arr[k] = R[j];
j++;
k++;
Public static void sort(int arr[], int l, int r)
if (l < r) {
int m = (l + r) / 2;
sort(arr, l, m);
sort(arr, m + 1, r);
merge(arr, l, m, r);
}
Public static void printArray(int arr[])
int n = arr.length;
for (int i = 0; i < n; ++i)
System.out.print(arr[i] + " ");
System.out.println();
4.
BIKIN VARIABEL BARU
public final class Form_Gaji {
private DefaultTableModel model;
String nip, nama, jabatan;
int gapok, transport, gaber;
KASIH NILAI VARIABEL
public void loadData() {
nip = txtNip.getText();
nama = txtNama.getText();
jabatan = (String) cmboxJabatan.getSelectedItem();
LOAD GAJI
public void loadGaji( ) {
jabatan = " "+ cmboxJabatan.getSelectedItem();
switch(jabatan){
case "Manager":
gapok = 5000000;
break;
case "Asisten Manager":
gapok = 4500000;
break;
case "Kepala HRD":
gapok = 4000000;
break;
case "Staf Keuangan":
gapok = 3500000;
break;
case "Karyawan":
gapok = 3000000;
break;
case "Office Boy":
gapok = 2500000;
break;
transport = (int) (gapok * 0.1);
gaber = gapok + transport;
txtGapok.setText(""+gapok);
txtTransport.setText(""+transport);
txtGaber.setText(""+gaber);
CLASS SAVE
public void saveData(){
loadData();
try{
Statement stat = (Statement) Db_Connection.getKoneksi().createStatement();
String sql = "Insert into gaji (Nip, Nama, Jabatan, Gapok, Transport, Gaber)"
+ "values ('"+ nip +"','"+ nama +"','"+ jabatan +"','"+ gapok +"',"
+ " '"+ transport +"', '"+ gaber +"')";
PreparedStatement p = (PreparedStatement) Db_Connection.getKoneksi().preparedStatement(sql);
p.executeUpdate();
getData();
}catch (SQLException err){
JOptionPane.showMessageDialog(null, err.getMessage());
MANGGIL CLASS loadGaji
private void cmboxJabatanActionPerformed(java.awt.event.ActionEvent evt{
loadGaji();
MANGGIL CLASS saveData() DI BUTTON SAVE
private void btnSaveActionPerformed(java.awt.event.ActionEvent evt{
saveData();
MEMBUAT TOMBOL RESET
public void Reset( ){
nip = " ";
nama = " ";
jabatan = " ";
gapok = 0;
transport = 0;
gaber = 0;
txtNip.setText(nip);
txtNama.setText(nama);
txtGapok.setText(" ");
txtTransport.setText(" ");
txtGaber.setText(" ");
PANGGIL CLASS RESET()
private void btnResetActionPerformed(java.awt.event.ActionEvent evt{
Reset();
MENAMPILKAN RECORD TERPILIH DARI TABLE
public void dataSelect(){
int i = tblGaji.getSelectRow();
if (i == -1){
//tidak ada data terpilih
return;
txtNip.setText(""+model.getValueAt(i, 0));
txtNama.setText(""+model.getValueAt(i, 1));
txtJabatan.setSelectedItem(""+model.getValueAt(i, 2));
txtGapok.setText(""+model.getValueAt(i, 3));
txtTransport.setText(""+model.getValueAt(i, 4));
txtGaber.setText(""+model.getValueAt(i, 5));
panggil class dataSelect()
private void tblGajiMouseClicked(java.awt.event.MouseEvent evt{
dataSelect();
BUAT TOMBOL UPDATE
public void updateData(){
/* memanggil class loadData() untuk menentukan kondisi atau variable nip
yang akan diubah, berdasarkan yang dipilih
*/
loadData();
try{
Statement stat = (Statement) Db_Connection.getConection().createStatement();
String sql = "UPDATE gaji SET Nama = '"+ nama +"',"
+ "Jabatan = '"+ jabatan +"',"
+ "Gapok = '"+ gapok +"',"
+ "Transport = '"+ transport +"',"
+ "Gaber = '"+ gaber +"',"
+ "WHERE Nip = '"+ nip +"' ";
PreparedStatement p = (PreparedStatement)
Db_Connection.getConection().preparedStatement(sql);
p.executeUpdate();
getData();
Reset();
JOptionPane.showMessageDialog(null, "Update berhasil....");
}catch(SQLException err){
JOptionPane.showMessageDialog(null, err.getMessage);
private void btnUpdateActionPerformed(java.awt.event.ActionEvent evt){
updateData( );
BUTTON DELETE
public void deleteData(){
loadData();
//pesan konfirmasi untuk menghapus data
int pesan = JOptionPane.showConfirmDialog(null, "Anda yakin menghapus data"+ nip
"+"?","Konfirmasi", JOptionPane.OK_CANCEL_OPTION);
//jika user mengklik tombol OK maka proses delete dilakukan
if (pesan = JOptionPane.OK_OPTION){
try{
Statement stat = (Statement) Db_Connection.getConection().createStatement();
String sql = "DELETE FROM gaji WHERE Nip = '"+ nip +"' ";
PreparedStatement p = (PreparedStatement)
Db_Connection.getConection().preparedStatement(sql);
p.executeUpdate();
getData();
Reset();
JOptionPane.showMessageDialog(null, "Delete berhasil");
}catch(SQLException err){
JOptionPane.showMessageDialog(null, err.getMessage);
PANGGIL DELETEDATA()
private void btnDeleteActionPerformed(java.awt.event.ActionEvent evt){
deleteData();
BIKIN BUTTON KELUAR
private void btnKeluarActionPerformed(java.awt.event.ActionEvent evt){
this.dispose();
5.
public static void min(int[] coins, int money) {
int[] dp = new int[money + 1];
int[] parents = new int[money + 1];
int[] usedCoin = new int[money + 1];
Arrays.sort(coins);
Arrays.fill(dp, Integer.MAX_VALUE);
Arrays.fill(parents, -1);
dp[0] = 0;
for (int i = 1; i <= money; ++i) {
for (int j = 0; j < coins.length && i >= coins[j]; ++j) {
if (dp[i - coins[j]] + 1 < dp[i]) {
dp[i] = Math.min(dp[i], dp[i - coins[j]] + 1);
parents[i] = i - coins[j];
usedCoin[i] = coins[j];
int parent = money;
Map<Integer, Integer> result = new HashMap<>();
while (parent != 0) {
result.put(usedCoin[parent], result.getOrDefault(usedCoin[parent], 0) + 1);
parent = parents[parent];
System.out.println(result);