public String processDataSetResultSetStringSeparatedByToken(ResultSet resultSet, String separator, boolean useNumber) {
        try {
            String result = "";
            resultSet.last(); // menuju paling baris terakhir
            resultSet.beforeFirst();
            int i = 0;
            while (resultSet.next()) {

                if (i == 0) {
                    for (int j = 1; j <= resultSet.getMetaData().getColumnCount(); j++) {
                        if (j == 1) {
                            if (!useNumber) {
                                result = resultSet.getString(j);
                            } else {
                                result = (i + 1) + ". " + resultSet.getString(j);
                            }
                        } else {
                            if (!useNumber) {
                                result = result + separator + resultSet.getString(j);
                            } else {
                                result = (i + 1) + ". " + result + separator + resultSet.getString(j);
                            }
                        }
                    }
                } else {
                    if (!useNumber) {
                        result = result + separator + resultSet.getString(1);
                    } else {
                        result = (i + 1) + ". " + result + separator + resultSet.getString(1);
                    }

                }
                i++;
            }
            if (!result.equals("")) {
                //result = result + "#";
            }

            return result;
        } catch (SQLException ex) {
            Logger.getLogger(DB.class.getName()).log(Level.SEVERE, ex.getMessage(), ex);
            return null;
        }

    }