public void performHapus() {
        if (getTabelDaftar().getSelectedRow() >= 0
                && JOptionPane.showConfirmDialog(Startup.getInstance().getMainFrame(),
                "Akan menghapus data. Anda yakin?", "Menghapus Data",
                JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
            String rowToBeErased = mapIds.get(getTabelDaftar().getSelectedRow()) + "";
            // System.out.println("XXX" + rowToBeErased);
            if (dialogEntry != null) {
                dialogEntry.beforeHapus(Integer.parseInt(rowToBeErased));
            }
            DB.SUPPRESS_ERROR = true;

            if (dialogEntry != null) {
                dialogEntry.beforeHapus(Integer.parseInt(rowToBeErased));
            }
            if (isIdInteger) {
                DB.getInstance().executeQuery("delete from " + getTableName() + ""
                        + " where " + columIdName + "=" + rowToBeErased);
            } else {
                DB.getInstance().executeQuery("delete from " + getTableName() + ""
                        + " where " + columIdName + "= '" + rowToBeErased + "'");
            }

            DB.SUPPRESS_ERROR = false;
            if (dialogEntry != null) {
                dialogEntry.afterHapus(Integer.parseInt(rowToBeErased));
            }
            int rowLama = tabelDaftar.getSelectedRow();
            loadTable();
            rowLama--;
            if (rowLama < 0) {
                rowLama = 0;
            }
            //loadTable(true);
            if (rowLama >= 0) {
                tabelDaftar.getSelectionModel().setSelectionInterval(0, rowLama);
            }

        }
    }