From 96479e27e187a02884ff865afb290183aa3387e9 Mon Sep 17 00:00:00 2001 From: muammarahlnn <54732814+muammarahlnn@users.noreply.github.com> Date: Mon, 24 Feb 2020 12:48:40 +0700 Subject: [PATCH 1/2] Assignment1 - H071191032 --- assigntment-01/H071191032/Main.java | 63 +++++++++++ assigntment-01/H071191032/Student.java | 147 +++++++++++++++++++++++++ 2 files changed, 210 insertions(+) create mode 100644 assigntment-01/H071191032/Main.java create mode 100644 assigntment-01/H071191032/Student.java diff --git a/assigntment-01/H071191032/Main.java b/assigntment-01/H071191032/Main.java new file mode 100644 index 0000000..ae377fa --- /dev/null +++ b/assigntment-01/H071191032/Main.java @@ -0,0 +1,63 @@ + +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("Ilmu Budaya", "A"); + facultyMap.put("Hukum", "B"); + facultyMap.put("FISIP", "C"); + facultyMap.put("Ekonomi", "D"); + facultyMap.put("Kedokteran", "E"); + facultyMap.put("Pertanian", "F"); + facultyMap.put("Perikanan", "G"); + facultyMap.put("MIPA", "H"); + + majorMap.put("Matematika", "01"); + majorMap.put("Statistika", "02"); + majorMap.put("Fisika", "03"); + majorMap.put("Geofisika", "04"); + majorMap.put("Kimia", "05"); + majorMap.put("Biologi", "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/H071191032/Student.java b/assigntment-01/H071191032/Student.java new file mode 100644 index 0000000..395dc70 --- /dev/null +++ b/assigntment-01/H071191032/Student.java @@ -0,0 +1,147 @@ + +import java.util.Random; +import java.util.Map; + +public class Student { + private String id, firstName, lastName, email; + private int registerYear; + private String faculty, department, major; + + public String getId() { + return this.id; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + public String getEmail() { + return this.email; + } + + public void setRegisterYear(int registerYear) { + this.registerYear = registerYear; + } + + public void setFaculty(String faculty) { + this.faculty = faculty; + } + + public String getFaculty() { + return this.faculty; + } + + public void setDepartment(String department) { + this.department = department; + } + + public String getDepartment() { + return this.department; + } + + public void setMajor(String major) { + this.major = major; + } + + public String getMajor() { + return this.major; + } + + public void setId(Map facultyMap, Map majorMap) { + Random rand = new Random(); + + this.id = String.format("%s%s1%d1%03d", + facultyMap.get(getFaculty()), + majorMap.get(getMajor()), + this.registerYear % 100, + rand.nextInt(60) + 1 + ); + } + + public void setEmail(Map facultyMap) { + this.email = ""; + String lastWordName = ""; + String firstLetterName = ""; + boolean hasSpace = false; + if (this.lastName.contains(" ")) { + hasSpace = true; + } + + int lastSpace = 0; + if (hasSpace == true) { + for (int i = this.lastName.length() - 1; i >= 0; i--) { + if (this.lastName.charAt(i) == 32) { + lastSpace += i; + break; + } + } + for (int i = lastSpace + 1; i < this.lastName.length(); i++) { + lastWordName += this.lastName.charAt(i); + } + } else { + lastWordName += this.lastName; + } + + firstLetterName += this.lastName == "" ? this.firstName : this.firstName.charAt(0); + firstLetterName += this.lastName == "" ? "" : hasSpace == true ? this.lastName.charAt(0) : ""; + + if (hasSpace == true) { + for (int i = 0; i < this.lastName.length(); i++) { + if (this.lastName.charAt(i) == 32 && i < lastSpace) { + firstLetterName += this.lastName.charAt(i + 1); + } + } + } + + this.email = String.format("%s%s%d%s@student.unhas.ac.id", + lastWordName, + firstLetterName, + this.registerYear % 100, + facultyMap.get(getFaculty()) + ); + this.email = this.email.toLowerCase(); + } + + public String getFullName() { + String fullName = ""; + for (int i = 0; i < this.firstName.length(); i++) { + if (i == 0) { + fullName += this.firstName.toUpperCase().charAt(i); + } else { + fullName += this.firstName.toLowerCase().charAt(i); + } + } + if (this.lastName.equals("")) { + return fullName; + } + + fullName += " " + this.lastName.toUpperCase().charAt(0); + int help = 0; + for (int i = 1; i < this.lastName.length(); i++) { + if (this.lastName.charAt(i) == 32) { + help = i; + fullName += this.lastName.toUpperCase().charAt(i); + } else{ + if (i == help + 1 && i > 1) { + fullName += this.lastName.toUpperCase().charAt(i); + continue; + } + fullName += this.lastName.toLowerCase().charAt(i); + } + } + return fullName; + } + + public void description() { + System.out.println("Nama\t\t : " + this.getFullName()); + System.out.println("NIM\t\t : " + this.getId()); + System.out.println("Email Mahasiswa : " + this.getEmail()); + System.out.println("Fakultas\t : " + this.faculty); + System.out.println("Departemen\t : " + this.department); + System.out.println("Program Studi\t : " + this.major + "\n"); + } +} \ No newline at end of file From a54111d219a7164ed61801226beef726eb8bfd76 Mon Sep 17 00:00:00 2001 From: muammarahlnn <54732814+muammarahlnn@users.noreply.github.com> Date: Fri, 6 Mar 2020 22:54:04 +0700 Subject: [PATCH 2/2] Assignment2 --- H071191032/Assignment2/DataSource.java | 69 ++++++++++++++++++++++++++ H071191032/Assignment2/Login.java | 30 +++++++++++ H071191032/Assignment2/Main.java | 8 +++ H071191032/Assignment2/User.java | 27 ++++++++++ H071191032/Assignment2/UserDetail.java | 27 ++++++++++ H071191032/Assignment2/user.txt | 5 ++ H071191032/Assignment2/userdetail.txt | 5 ++ 7 files changed, 171 insertions(+) create mode 100644 H071191032/Assignment2/DataSource.java create mode 100644 H071191032/Assignment2/Login.java create mode 100644 H071191032/Assignment2/Main.java create mode 100644 H071191032/Assignment2/User.java create mode 100644 H071191032/Assignment2/UserDetail.java create mode 100644 H071191032/Assignment2/user.txt create mode 100644 H071191032/Assignment2/userdetail.txt diff --git a/H071191032/Assignment2/DataSource.java b/H071191032/Assignment2/DataSource.java new file mode 100644 index 0000000..0b0b4bb --- /dev/null +++ b/H071191032/Assignment2/DataSource.java @@ -0,0 +1,69 @@ +import java.io.BufferedReader; +import java.io.FileReader; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; + +class DataSource { + private HashMap userMap = new HashMap<>(); + private HashMap userDetailMap = new HashMap<>(); + + DataSource(){ + putUserDetail(); + putUser(); + } + + private void putUserDetail(){ + BufferedReader reader = null; + try{ + reader = new BufferedReader(new FileReader("userdetail.txt")); + String s; + while ((s = reader.readLine()) != null){ + ArrayList sList = new ArrayList<>(Arrays.asList(s.split(";"))); + UserDetail userDetail = new UserDetail(Integer.valueOf(sList.get(0)),sList.get(1),sList.get(2),sList.get(3)); + userDetailMap.put(Integer.valueOf(sList.get(0)),userDetail); + } + } catch (IOException e){ + System.out.println(e.getMessage()); + }finally{ + try{ + if (reader != null){ + reader.close(); + } + }catch(IOException e){ + System.out.println(e); + } + } + } + + private void putUser(){ + BufferedReader reader = null; + try{ + reader = new BufferedReader(new FileReader("user.txt")); + String s; + while((s = reader.readLine()) != null){ + ArrayList sList = new ArrayList(Arrays.asList(s.split(";"))); + User user = new User(Integer.valueOf(sList.get(0)),sList.get(1),sList.get(2),userDetailMap.get(Integer.valueOf((sList.get(0))))); + userMap.put(sList.get(1),user); + } + }catch (IOException e){ + System.out.println(e.getMessage()); + }finally{ + try{ + if (reader != null){ + reader.close(); + } + }catch(IOException e){ + System.out.println(e); + } + } + } + + public User getUser(String key){ + return userMap.get(key); + } + public UserDetail getUserDetail(int key){ + return userDetailMap.get(key); + } +} diff --git a/H071191032/Assignment2/Login.java b/H071191032/Assignment2/Login.java new file mode 100644 index 0000000..7d5f1e6 --- /dev/null +++ b/H071191032/Assignment2/Login.java @@ -0,0 +1,30 @@ +class Login { + + private User user; + private UserDetail userDetail; + private DataSource dataSource; + + public void auth (String name,String password){ + dataSource = new DataSource(); + if ((user = dataSource.getUser(name)) != null){ + dataSource = new DataSource(); + if ((user = dataSource.getUser(name))!= null){ + userDetail = user.getUserDetail(); + }else{ + System.out.println("wrong password"); + } + }else{ + System.out.println("user not found"); + } + } + + public void status(){ + if (userDetail != null){ + System.out.printf("Name : %s\n", userDetail.getName()); + System.out.printf("Email : %s\n", userDetail.getEmail()); + System.out.printf("Date of Birth : %s\n", userDetail.getDateOfBirth()); + System.out.printf("User Name : %s\n", user.getUserName()); + System.out.printf("Password : %s\n", user.getPassword()); + } + } +} \ No newline at end of file diff --git a/H071191032/Assignment2/Main.java b/H071191032/Assignment2/Main.java new file mode 100644 index 0000000..b883f62 --- /dev/null +++ b/H071191032/Assignment2/Main.java @@ -0,0 +1,8 @@ +public class Main { + + public static void main(String[] args) { + Login login = new Login(); + login.auth("naim","Naim"); + login.status(); + } +} \ No newline at end of file diff --git a/H071191032/Assignment2/User.java b/H071191032/Assignment2/User.java new file mode 100644 index 0000000..9a3ef5c --- /dev/null +++ b/H071191032/Assignment2/User.java @@ -0,0 +1,27 @@ +class User { + + private int id; + private String userName; + private String password; + private UserDetail userDetail; + + User (int id,String userName, String password, UserDetail userDetail){ + this.id = id; + this.userName = userName; + this.password = password; + this.userDetail = userDetail; + } + + public Integer getId(){ + return id; + } + public String getUserName(){ + return userName; + } + public String getPassword(){ + return password; + } + public UserDetail getUserDetail(){ + return userDetail; + } +} \ No newline at end of file diff --git a/H071191032/Assignment2/UserDetail.java b/H071191032/Assignment2/UserDetail.java new file mode 100644 index 0000000..612046a --- /dev/null +++ b/H071191032/Assignment2/UserDetail.java @@ -0,0 +1,27 @@ +class UserDetail { + + private int id; + private String name; + private String dateOfBirth; + private String email; + + public UserDetail(int id,String name,String dateOfBirth, String email){ + this.id = id; + this.name = name; + this.dateOfBirth = dateOfBirth; + this.email = email; + } + + public Integer getId(){ + return id; + } + public String getName(){ + return name; + } + public String getDateOfBirth(){ + return dateOfBirth; + } + public String getEmail(){ + return email; + } +} \ No newline at end of file diff --git a/H071191032/Assignment2/user.txt b/H071191032/Assignment2/user.txt new file mode 100644 index 0000000..70d291f --- /dev/null +++ b/H071191032/Assignment2/user.txt @@ -0,0 +1,5 @@ +1;fitrh;12345678 +2;arzk;qwerty +3;ken;asdf +4;naim;Naim +5;farhan;Parhan \ No newline at end of file diff --git a/H071191032/Assignment2/userdetail.txt b/H071191032/Assignment2/userdetail.txt new file mode 100644 index 0000000..8a0deb0 --- /dev/null +++ b/H071191032/Assignment2/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