diff --git a/H071191014/Main.java b/H071191014/Main.java new file mode 100644 index 0000000..c5cda67 --- /dev/null +++ b/H071191014/Main.java @@ -0,0 +1,61 @@ +import java.util.HashMap; +import java.util.Map; + +public class Main { + + public static void main(String[] args) { + Map facultyMap = new HashMap<>(); + Map majorMap = new HashMap<>(); + facultyMap.put("Nama Fakultas Lain", "A"); + facultyMap.put("Nama Fakultas Lain", "B"); + facultyMap.put("Nama Fakultas Lain", "C"); + facultyMap.put("Nama Fakultas Lain", "D"); + facultyMap.put("Nama Fakultas Lain", "E"); + facultyMap.put("Nama Fakultas Lain", "F"); + facultyMap.put("Nama Fakultas Lain", "G"); + facultyMap.put("MIPA", "H"); + majorMap.put("Prodi Lain", "01"); + majorMap.put("Prodi Lain", "02"); + majorMap.put("Prodi Lain", "03"); + majorMap.put("Prodi Lain", "04"); + majorMap.put("Prodi Lain", "05"); + majorMap.put("Prodi Lain", "06"); + majorMap.put("Ilmu Komputer", "07"); + + Student student1 = new Student(); + Student student2 = new Student(); + Student student3 = new Student(); + + student1.setFirstName("mUHammAd"); + student1.setLastName("fITRAH"); + student1.setRegisterYear(2017); + student1.setFaculty("MIPA"); + student1.setDepartment("Matematika"); + student1.setMajor("Ilmu Komputer"); + student1.setId(facultyMap, majorMap); + student1.setEmail(facultyMap); + + student2.setFirstName("KENNEDY"); + student2.setLastName(""); + student2.setRegisterYear(2017); + student2.setFaculty("MIPA"); + student2.setDepartment("Matematika"); + student2.setMajor("Ilmu Komputer"); + student2.setId(facultyMap, majorMap); + student2.setEmail(facultyMap); + + student3.setFirstName("Khawaritzmi"); + student3.setLastName("abdallah ahmad"); + student3.setRegisterYear(2017); + student3.setFaculty("MIPA"); + student3.setDepartment("Matematika"); + student3.setMajor("Ilmu Komputer"); + student3.setId(facultyMap, majorMap); + student3.setEmail(facultyMap); + + student1.description(); + student2.description(); + student3.description(); + + } +} diff --git a/H071191014/Student.java b/H071191014/Student.java new file mode 100644 index 0000000..a74fb55 --- /dev/null +++ b/H071191014/Student.java @@ -0,0 +1,67 @@ +import java.util.Map; +import java.util.Random; + +public class Student { + + private String id; + private String firstName= ""; + private String lastName; + private String email; + private String faculty; + private String department; + private String major; + private int registerYear; + + void setFirstName(String fn) { firstName= fn; } + void setLastName(String ln) { lastName= ln;} + void setEmail(String email) { this.email= email;} + void setFaculty(String fakultas) { faculty= fakultas;} + void setDepartment(String depart) { department= depart;} + void setMajor(String prodi) { major= prodi;} + void setRegisterYear(int tahunMasuk) { registerYear= tahunMasuk;} + + String getId() { return id;} + String getEmail() { return email;} + String getFaculty() { return faculty;} + String getDepartment() { return department;} + String getMajor() { return major;} + + public String getFullName() { + String a; + if(firstName.length()==0) a= (lastName.toLowerCase()); + else a= ((firstName+" "+lastName).toLowerCase()); + + char [] b= a.toCharArray(); + for (int i=0; i= 'a' && b[i] <= 'z') b[i] = (char)(b[i] - 'a' + 'A'); + } + } + a= new String(b); + return a; + } + + public void setId(Map fakultas, Map prodi) { + Random random= new Random(); + id= fakultas.get(faculty) + prodi.get(major) + 1 + (""+registerYear).substring(2) + 0 +random.nextInt(61); + } + + public void setEmail(Map fakultas) { + String [] a= (getFullName().toLowerCase()).split(" "); + String kata1= a[a.length-1]; + String kata2= ""; + for(int i=0; i userMap = new HashMap<>(); + private Map userDetailMap = new HashMap<>(); + static DataSource dataSource = new DataSource(); + + private DataSource(){} + + public static DataSource getObject(){ + return dataSource; + } + + String read(String fileName) throws IOException{ + FileReader reader = null; + BufferedReader read = null; + String tempString = ""; + try{ + reader = new FileReader(fileName); + read = new BufferedReader(reader); + + String lineRead = ""; + while((lineRead = read.readLine()) != null){ + tempString += lineRead + "\n"; + } + } + catch (IOException e){ + System.out.println("something went wrong with file handling"); + } + finally{ + try{ + if(reader != null){ + reader.close(); + } + if(read != null){ + read.close(); + } + } + catch(IOException io){ + System.out.println("unclosed"); + } + } + return tempString; + } + + private void putUserDetail() throws IOException{ + String dataSplit[] = read("UserDetail.txt").split("\n"); + + for(int i = 0; i < dataSplit.length; i++){ + String userData[] = dataSplit[i].split(";"); + Integer id = Integer.parseInt(userData[0]); + userDetailMap.put(id, new UserDetail(id, userData[1], userData[2], userData[3])); + } + } + + private void putUser() throws IOException{ + String dataSplit[] = read("User.txt").split("\n"); + + for(int i = 0; i < dataSplit.length; i++){ + String userData[] = dataSplit[i].split(";"); + Integer id = Integer.parseInt(userData[0]); + userMap.put(userData[1], new User(id, userData[1], userData[2])); + } + } + + public User getUser(String key) throws IOException{ + putUser(); + return userMap.get(key); + } + + public UserDetail getUserDetail(Integer key) throws IOException{ + putUserDetail(); + return userDetailMap.get(key); + } +} diff --git a/assignment-02/H071191014/Login.java b/assignment-02/H071191014/Login.java new file mode 100644 index 0000000..3ced0f6 --- /dev/null +++ b/assignment-02/H071191014/Login.java @@ -0,0 +1,36 @@ +import java.io.IOException; + +class Login{ + private User user; + private UserDetail userDetail; + private DataSource dataSource; + boolean is_accesible = false; + static Login login = new Login(); + + + private Login(){} + + static Login getObject(){ + return login; + } + + public void auth(String userName, String password) throws IOException{ + dataSource = DataSource.getObject(); + user = dataSource.getUser(userName); + is_accesible = password.equals(user.getPassword()) ? true:false; + userDetail = is_accesible ? dataSource.getUserDetail(user.getId()):null; + + } + + public void status(){ + if(userDetail == null){ + System.out.println("NoSuchElementException"); + }else{ + System.out.println("Name : " + userDetail.getName()); + System.out.println("Email : " + userDetail.getEmail()); + System.out.println("Date of Birth : " + userDetail.getBirth()); + System.out.println("UserName : " + user.getUserName()); + System.out.println("Password : " + user.getPassword()); + } + } +} diff --git a/assignment-02/H071191014/Main.java b/assignment-02/H071191014/Main.java new file mode 100644 index 0000000..eae514f --- /dev/null +++ b/assignment-02/H071191014/Main.java @@ -0,0 +1,10 @@ +import java.io.IOException; + +class Main{ + public static void main(String[] args) throws IOException{ + Login login = Login.getObject(); + + login.auth("farhan", "Parhan"); + login.status(); + } +} diff --git a/assignment-02/H071191014/User.java b/assignment-02/H071191014/User.java new file mode 100644 index 0000000..45e3178 --- /dev/null +++ b/assignment-02/H071191014/User.java @@ -0,0 +1,28 @@ +import java.util.Map; + +class User{ + private Integer id; + private String userName; + private String password; + private UserDetail userDetail; + + public User(Integer id, String userName, String password){ + this.id = id; + this.userName = userName; + this.password = password; + } + public String getPassword(){ + return password; + } + public Integer getId(){ + return id; + } + public String getUserName(){ + return userName; + } + + // public void setUserDetail(Map userDetailMap) + // { + // userDetail = userDetailMap.get(id); + // } +} diff --git a/assignment-02/H071191014/User.txt b/assignment-02/H071191014/User.txt new file mode 100644 index 0000000..6df7605 --- /dev/null +++ b/assignment-02/H071191014/User.txt @@ -0,0 +1,5 @@ +1;fitrh;12345678 +2;arzk;qwerty +3;ken;asdf +4;naim;Naim +5;farhan;Parhan diff --git a/assignment-02/H071191014/UserDetail.java b/assignment-02/H071191014/UserDetail.java new file mode 100644 index 0000000..f1cb452 --- /dev/null +++ b/assignment-02/H071191014/UserDetail.java @@ -0,0 +1,22 @@ +class UserDetail{ + private Integer id; + private String name; + private String dateOfBirth; + private String email; + + public UserDetail(Integer id, String name, String dateOfBirth, String email){ + this.id = id; + this.name = name; + this.dateOfBirth = dateOfBirth; + this.email = email; + } + public String getName(){ + return name; + } + public String getBirth(){ + return dateOfBirth; + } + public String getEmail(){ + return email; + } +} diff --git a/assignment-02/H071191014/UserDetail.txt b/assignment-02/H071191014/UserDetail.txt new file mode 100644 index 0000000..4bd5770 --- /dev/null +++ b/assignment-02/H071191014/UserDetail.txt @@ -0,0 +1,5 @@ +1;Muhammad Fitrah;04-09-1998;fitrahm17h@student.unhas.ac.id +2;Muhammad Arizki;00-00-0000;arizkim17h@student.unhas.ac.id +3;Kennedy;00-02-2000;kennedy17h@student.unhas.ac.id +4;Muhammad Muflihun Naim;00-00-0000;naimmm17h@student.unhas.ac.id +5;Farhan Ramdhani;00-00-0000;ramdhanif17h@student.unhas.ac.id