diff --git a/assigntment-01/H071191050/1/assigntment.java b/assigntment-01/H071191050/1/assigntment.java new file mode 100644 index 0000000..8ab616f --- /dev/null +++ b/assigntment-01/H071191050/1/assigntment.java @@ -0,0 +1,87 @@ +package id.pbo; + +import java.util.Map; +import java.util.Random; + +public class Student { + + int registerYear; + String id; + String firstName; + String lastName; + String email; + String faculty; + String department; + String major; + String fullName; + String nameSplit[]; + + public String getEmail() { + return email; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public String getId() { + return id; + } + + public void setFaculty(String Faculty) { + this.faculty = Faculty; + } + + public void setMajor(String Major) { + this.major = Major; + } + + public void setRegisterYear(Integer registerYear) { + this.registerYear = registerYear; + } + + public void setDepartment(String department) { + this.department = department; + } + + public String getDepartment() { + return department; + } + + public String getFullName() { + fullName = ""; + for (int i = 0; i < nameSplit.length; i++) { + if (i == nameSplit.length - 1) { + fullName += nameSplit[i].substring(0, 1).toUpperCase() + nameSplit[i].substring(1).toLowerCase(); + } else { + fullName += nameSplit[i].substring(0, 1).toUpperCase() + nameSplit[i].substring(1).toLowerCase() + " "; + } + } + return fullName; + } + + public void setEmail(Map facultyMap) { + email = nameSplit[nameSplit.length - 1]; + for (int i = 0; i < nameSplit.length - 1; i++) { + email += Character.toLowerCase(nameSplit[i].charAt(0)); + } + email += registerYear % 100 + facultyMap.get(faculty).toLowerCase()+"@student.unhas.ac.id"; + } + + public void setId(Map facultyMap, Map majorMap) { + Random random = new Random(); + id = String.format("%s%s1%02d1%03d", facultyMap.get(faculty), majorMap.get(major), registerYear % 100, random.nextInt(60) + 1); + } + + public void setLastName(String lastName) { + String namef = firstName.toLowerCase() + " " + lastName.toLowerCase(); + nameSplit = namef.split(" "); + this.lastName = lastName; + } + + public void description() { + System.out.printf("Nama\t\t\t:%s\nNIM\t\t\t\t:%s\n",getFullName(),getId()); + System.out.printf("Email Mahasiswa\t:%s\nFakultas\t\t:%s\n",getEmail(),faculty); + System.out.printf("Departemen\t\t:%s\nProgram Studi\t:%s\n\n",getDepartment(),major); + } +} \ No newline at end of file diff --git a/assigntment-01/H071191050/1/main.java b/assigntment-01/H071191050/1/main.java new file mode 100644 index 0000000..0066a93 --- /dev/null +++ b/assigntment-01/H071191050/1/main.java @@ -0,0 +1,64 @@ +package id.pbo; + +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("Fakultas", "A"); + facultyMap.put("Fakultas A", "B"); + facultyMap.put("Fakultas B", "C"); + facultyMap.put("Fakultas C", "D"); + facultyMap.put("Fakultas D", "E"); + facultyMap.put("Fakultas E", "F"); + facultyMap.put("Fakultas F", "G"); + facultyMap.put("MIPA", "H"); + + majorMap.put("Prodi A", "01"); + majorMap.put("Prodi B", "02"); + majorMap.put("Prodi C", "03"); + majorMap.put("Prodi D", "04"); + majorMap.put("Prodi E", "05"); + majorMap.put("Prodi F", "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(); + } +} \ No newline at end of file diff --git a/assigntment-01/H071191050/2/DataSource.java b/assigntment-01/H071191050/2/DataSource.java new file mode 100644 index 0000000..b98759c --- /dev/null +++ b/assigntment-01/H071191050/2/DataSource.java @@ -0,0 +1,103 @@ +import java.io.BufferedReader; +import java.io.FileReader; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; + +class DataSource +{ + private Map userMap = new HashMap<>(); + private Map userDetailMap = new HashMap<>(); + static DataSource dataSource = new DataSource(); + // boolean isAccessible = false; + + 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"); + // String userData[][] = new String[dataSplit.length][3]; + + 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); + } +} \ No newline at end of file diff --git a/assigntment-01/H071191050/2/Login.java b/assigntment-01/H071191050/2/Login.java new file mode 100644 index 0000000..4921759 --- /dev/null +++ b/assigntment-01/H071191050/2/Login.java @@ -0,0 +1,56 @@ +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 + { + /* + Name : Muhammad Muflihun Naim + Email : naimmm17h@student.unhas.ac.id + Date of Birth : 00-00-0000 + User Name : naim + Password : Naim + + */ + + 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()); + } + } + +} \ No newline at end of file diff --git a/assigntment-01/H071191050/2/Main.java b/assigntment-01/H071191050/2/Main.java new file mode 100644 index 0000000..c485ab5 --- /dev/null +++ b/assigntment-01/H071191050/2/Main.java @@ -0,0 +1,13 @@ +import java.io.IOException; + +class Main +{ + + public static void main(String[] args) throws IOException + { + Login login = Login.getObject(); + + login.auth("alba054", "hellfire12"); + login.status(); + } +} \ No newline at end of file diff --git a/assigntment-01/H071191050/2/User.java b/assigntment-01/H071191050/2/User.java new file mode 100644 index 0000000..7d43920 --- /dev/null +++ b/assigntment-01/H071191050/2/User.java @@ -0,0 +1,38 @@ +import java.util.Map; + +// password + +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); + // } +} \ No newline at end of file diff --git a/assigntment-01/H071191050/2/UserDetail.java b/assigntment-01/H071191050/2/UserDetail.java new file mode 100644 index 0000000..5584102 --- /dev/null +++ b/assigntment-01/H071191050/2/UserDetail.java @@ -0,0 +1,31 @@ +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; + } + +} \ No newline at end of file diff --git a/assigntment-01/H071191050/assigntment.java b/assigntment-01/H071191050/assigntment.java new file mode 100644 index 0000000..63fbc13 --- /dev/null +++ b/assigntment-01/H071191050/assigntment.java @@ -0,0 +1,87 @@ +package id.pbo; + +import java.util.Map; +import java.util.Random; + +public class Student { + + int registerYear; + String id; + String firstName; + String lastName; + String email; + String faculty; + String department; + String major; + String fullName; + String nameSplit[]; + + public String getEmail() { + return email; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public String getId() { + return id; + } + + public void setFaculty(String Faculty) { + this.faculty = Faculty; + } + + public void setMajor(String Major) { + this.major = Major; + } + + public void setRegisterYear(Integer registerYear) { + this.registerYear = registerYear; + } + + public void setDepartment(String department) { + this.department = department; + } + + public String getDepartment() { + return department; + } + + public String getFullName() { + fullName = ""; + for (int i = 0; i < nameSplit.length; i++) { + if (i == nameSplit.length - 1) { + fullName += nameSplit[i].substring(0, 1).toUpperCase() + nameSplit[i].substring(1).toLowerCase(); + } else { + fullName += nameSplit[i].substring(0, 1).toUpperCase() + nameSplit[i].substring(1).toLowerCase() + " "; + } + } + return fullName; + } + + public void setEmail(Map facultyMap) { + email = nameSplit[nameSplit.length - 1]; + for (int i = 0; i < nameSplit.length - 1; i++) { + email += Character.toLowerCase(nameSplit[i].charAt(0)); + } + email += registerYear % 100 + facultyMap.get(faculty).toLowerCase()+"@student.unhas.ac.id"; + } + + public void setId(Map facultyMap, Map majorMap) { + Random random = new Random(); + id = String.format("%s%s1%02d1%03d", facultyMap.get(faculty), majorMap.get(major), registerYear % 100, random.nextInt(60) + 1); + } + + public void setLastName(String lastName) { + String namef = firstName.toLowerCase() + " " + lastName.toLowerCase(); + nameSplit = namef.split(" "); + this.lastName = lastName; + } + + public void description() { + System.out.printf("Nama\t\t\t:%s\nNIM\t\t\t\t:%s\n",getFullName(),getId()); + System.out.printf("Email Mahasiswa\t:%s\nFakultas\t\t:%s\n",getEmail(),faculty); + System.out.printf("Departemen\t\t:%s\nProgram Studi\t:%s\n\n",getDepartment(),major); + } +} \ No newline at end of file diff --git a/assigntment-01/H071191050/main.java b/assigntment-01/H071191050/main.java new file mode 100644 index 0000000..0e6432c --- /dev/null +++ b/assigntment-01/H071191050/main.java @@ -0,0 +1,64 @@ +package id.pbo; + +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("Fakultas", "A"); + facultyMap.put("Fakultas A", "B"); + facultyMap.put("Fakultas B", "C"); + facultyMap.put("Fakultas C", "D"); + facultyMap.put("Fakultas D", "E"); + facultyMap.put("Fakultas E", "F"); + facultyMap.put("Fakultas F", "G"); + facultyMap.put("MIPA", "H"); + + majorMap.put("Prodi A", "01"); + majorMap.put("Prodi B", "02"); + majorMap.put("Prodi C", "03"); + majorMap.put("Prodi D", "04"); + majorMap.put("Prodi E", "05"); + majorMap.put("Prodi F", "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(); + } +} \ No newline at end of file diff --git a/assigntment-01/assigntment.java b/assigntment-01/assigntment.java new file mode 100644 index 0000000..63fbc13 --- /dev/null +++ b/assigntment-01/assigntment.java @@ -0,0 +1,87 @@ +package id.pbo; + +import java.util.Map; +import java.util.Random; + +public class Student { + + int registerYear; + String id; + String firstName; + String lastName; + String email; + String faculty; + String department; + String major; + String fullName; + String nameSplit[]; + + public String getEmail() { + return email; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public String getId() { + return id; + } + + public void setFaculty(String Faculty) { + this.faculty = Faculty; + } + + public void setMajor(String Major) { + this.major = Major; + } + + public void setRegisterYear(Integer registerYear) { + this.registerYear = registerYear; + } + + public void setDepartment(String department) { + this.department = department; + } + + public String getDepartment() { + return department; + } + + public String getFullName() { + fullName = ""; + for (int i = 0; i < nameSplit.length; i++) { + if (i == nameSplit.length - 1) { + fullName += nameSplit[i].substring(0, 1).toUpperCase() + nameSplit[i].substring(1).toLowerCase(); + } else { + fullName += nameSplit[i].substring(0, 1).toUpperCase() + nameSplit[i].substring(1).toLowerCase() + " "; + } + } + return fullName; + } + + public void setEmail(Map facultyMap) { + email = nameSplit[nameSplit.length - 1]; + for (int i = 0; i < nameSplit.length - 1; i++) { + email += Character.toLowerCase(nameSplit[i].charAt(0)); + } + email += registerYear % 100 + facultyMap.get(faculty).toLowerCase()+"@student.unhas.ac.id"; + } + + public void setId(Map facultyMap, Map majorMap) { + Random random = new Random(); + id = String.format("%s%s1%02d1%03d", facultyMap.get(faculty), majorMap.get(major), registerYear % 100, random.nextInt(60) + 1); + } + + public void setLastName(String lastName) { + String namef = firstName.toLowerCase() + " " + lastName.toLowerCase(); + nameSplit = namef.split(" "); + this.lastName = lastName; + } + + public void description() { + System.out.printf("Nama\t\t\t:%s\nNIM\t\t\t\t:%s\n",getFullName(),getId()); + System.out.printf("Email Mahasiswa\t:%s\nFakultas\t\t:%s\n",getEmail(),faculty); + System.out.printf("Departemen\t\t:%s\nProgram Studi\t:%s\n\n",getDepartment(),major); + } +} \ No newline at end of file diff --git a/assigntment-01/main.java b/assigntment-01/main.java new file mode 100644 index 0000000..0e6432c --- /dev/null +++ b/assigntment-01/main.java @@ -0,0 +1,64 @@ +package id.pbo; + +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("Fakultas", "A"); + facultyMap.put("Fakultas A", "B"); + facultyMap.put("Fakultas B", "C"); + facultyMap.put("Fakultas C", "D"); + facultyMap.put("Fakultas D", "E"); + facultyMap.put("Fakultas E", "F"); + facultyMap.put("Fakultas F", "G"); + facultyMap.put("MIPA", "H"); + + majorMap.put("Prodi A", "01"); + majorMap.put("Prodi B", "02"); + majorMap.put("Prodi C", "03"); + majorMap.put("Prodi D", "04"); + majorMap.put("Prodi E", "05"); + majorMap.put("Prodi F", "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(); + } +} \ No newline at end of file