Skip to content
This repository was archived by the owner on Sep 7, 2021. It is now read-only.
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
82 changes: 82 additions & 0 deletions assigntment-01/H071191030/Main.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
import java.util.HashMap;
import java.util.Map;

/**
* Main
*/
public class Main {

public static void main(String[] args) {
Map<String,String> facultyMap = new HashMap<>();
Map<String, String> majorMap = new HashMap<>();
facultyMap.put("Ekonomi dan Bisnis", "A");
facultyMap.put("Hukum", "B");
facultyMap.put("Kedokteran", "C");
facultyMap.put("Teknik", "D");
facultyMap.put("SOSPOL", "E");
facultyMap.put("Ilmu Budaya", "F");
facultyMap.put("Pertanian", "G");
facultyMap.put("MIPA", "H");


majorMap.put("Matematika", "01");
majorMap.put("Fisika", "02");
majorMap.put("Sosiologi", "03");
majorMap.put("Ilmu Politik", "04");
majorMap.put("Statistika", "05");
majorMap.put("Hubungan Internasional", "06");
majorMap.put("Ilmu Komputer", "07");
majorMap.put("Aktuaria", "08");

Student student1 = new Student();
Student student2 = new Student();
Student student3 = new Student();

student1.setFirstName("mUHammAd");
student1.setLastName("ZaKy IrGiaWan");
student1.setRegisterYear(2019);
student1.setFaculty("SOSPOL");
student1.setDepartment("Ilmu Politik");
student1.setMajor("Ilmu Politik");
student1.setId(facultyMap, majorMap);
student1.setEmail(facultyMap);

student2.setFirstName("jAMiL");
student2.setLastName("HaidiR");
student2.setRegisterYear(2019);
student2.setFaculty("SOSPOL");
student2.setDepartment("Sosiologi");
student2.setMajor("Sosiologi");
student2.setId(facultyMap, majorMap);
student2.setEmail(facultyMap);

student3.setFirstName("Pande");
student3.setLastName("putu DYLAN sugAnggA");
student3.setRegisterYear(2019);
student3.setFaculty("SOSPOL");
student3.setDepartment("Hubungan Internasional");
student3.setMajor("Hubungan Internasional");
student3.setId(facultyMap, majorMap);
student3.setEmail(facultyMap);

student1.description();
student2.description();
student3.description();
















}
}
122 changes: 122 additions & 0 deletions assigntment-01/H071191030/Student.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
import java.util.HashMap;
import java.util.Map;
import java.util.Random;

public class Student {
private String id;
private String firstName;
private String lastName;
private String email;
private int registerYear;
private String faculty;
private String department;
private String major;

public void setId(String id) {
this.id = id;
}

public void setFirstName(String firstName) {
this.firstName = firstName;
}

public void setLastName(String lastName) {
this.lastName = lastName;
}

public void setEmail(String email) {
this.email = email;
}

public void setRegisterYear(int registerYear) {
this.registerYear = registerYear;
}

public String getRegisterYear() {
String rgstYr = "" + registerYear;
String[] rgst = { rgstYr.substring(0, 2), rgstYr.substring(2) };
String lastTwoDigits = rgst[1];

return lastTwoDigits;
}

public void setFaculty(String faculty) {
this.faculty = faculty;

}

public void setDepartment(String department) {
this.department = department;
}

public void setMajor(String major) {
this.major = major;
}

public String getId() {

return id;
}

public String getEmail() {

return email;
}

public String getFaculty() {

return faculty;
}

public String getDepartment() {

return department;
}

public String getMajor() {

return major;
}

public void setId(Map<String, String> facultyMap, Map<String, String> majorMap) {

Random random = new Random();
int randomDigit = 1 + random.nextInt(60);
id = String.format("%s%s1%s1%03d", facultyMap.get(faculty), majorMap.get(major), getRegisterYear(),
randomDigit);

}

public void setEmail(Map<String, String> facultyMap) {
String fullName[] = (firstName.toLowerCase() + " " + lastName.toLowerCase()).split(" ");
String lastName = fullName[fullName.length - 1];
String firstW = "";
for (int i = 0; i < fullName.length - 1; i++) {
firstW += fullName[i].charAt(0);
}
email = String.format("%s%s%s%s@student.unhas.ac.id", lastName, firstW, getRegisterYear(),
facultyMap.get(faculty).toLowerCase());

}

public String getFullName() {

String fullName[] = (firstName.toLowerCase() + " " + lastName.toLowerCase()).split(" ");
String name = "";
for (int i = 0; i < fullName.length; i++) {
name += fullName[i].substring(0, 1).toUpperCase() + fullName[i].substring(1, fullName[i].length()) + " ";
}
return name;
}

public void description() {
System.out.printf("Nama\t\t : %s\n", getFullName());
System.out.printf("NIM\t\t : %s\n", getId());
System.out.printf("Email Mahasiswa : %s\n", getEmail());
System.out.printf("Fakultas\t : %s\n", getFaculty());
System.out.printf("Departemen\t : %s\n", getDepartment());
System.out.printf("Program Studi\t : %s\n\n", getMajor());

}

}
12 changes: 12 additions & 0 deletions assigntment-02/H071191030/App.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
/**
* App
*/
public class App {

public static void main(String[] args) throws Exception{
Login login = Login.getObject();

login.auth("arzk", "qwert");
login.status();
}
}
99 changes: 99 additions & 0 deletions assigntment-02/H071191030/DataSource.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
import java.util.*;
import java.io.*;

/**
* DataSource
*/
public class DataSource {

private static DataSource dataSource;
private HashMap<String, User> userMap = new HashMap<>();
private HashMap<Integer, UserDetail> userDetailMap = new HashMap<>();

private DataSource() {

try {
putUserDetail();
putUser();
} catch (Exception e) {
System.out.println(e);
}

}

public static DataSource getObject() {

if (dataSource == null) {
dataSource = new DataSource();
}

return dataSource;

}

private void putUserDetail() throws IOException {

BufferedReader reader = new BufferedReader(new FileReader("UserDetail.txt"));
String s[];

while (reader.ready()) {

s = reader.readLine().split(";");

if (isInt(s[0])) {
userDetailMap.put(Integer.valueOf(s[0]), new UserDetail(Integer.valueOf(s[0]), s[1], s[2], s[3]));
}
}

s = null;
reader.close();

}

private void putUser() throws IOException {

BufferedReader reader = new BufferedReader(new FileReader("User.txt"));
String s[];

while (reader.ready()) {

s = reader.readLine().split(";");

if (isInt(s[0])) {
userMap.put(s[1],
new User(Integer.valueOf(s[0]), s[1], s[2], userDetailMap.get(Integer.valueOf(s[0]))));
}
}

s = null;
reader.close();

}

public User getUser(String key) {

return userMap.get(key);

}

public UserDetail getUserDetail(int key) {

return userDetailMap.get(key);

}

public static boolean isInt(String sm) {

boolean isInt = false;

try {
Integer.parseInt(sm);
isInt = true;
} catch (NumberFormatException e) {
System.out.println(e);
}

return isInt;
}

}
53 changes: 53 additions & 0 deletions assigntment-02/H071191030/Login.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
import java.util.NoSuchElementException;

/**
* Login
*/
public class Login {

private static Login login;
private User user;
private UserDetail userDetail;
private DataSource dataSource;

private Login() {
dataSource = DataSource.getObject();
}

public static Login getObject() {

if (login == null) {
login = new Login();
}

return login;

}

public void auth(String userName, String password) throws NoSuchElementException {

user = dataSource.getUser(userName);

try {

if (user.Pass(password)) {
userDetail = user.getUserDetail();
}

} catch (Exception e) {
throw new NoSuchElementException("No such Username : " + userName);
}

}

public void status() {

System.out.println("Name : " + userDetail.getName());
System.out.println("Email : " + userDetail.getEmail());
System.out.println("Date of Birth : " + userDetail.getDateOfBirth());
System.out.println("UserName : " + user.getUserName());
System.out.println("Password : " + user.getPassword());

}

}
Loading