From be9b9f2c86570a7337a46c107d36c1c86f860971 Mon Sep 17 00:00:00 2001 From: septiintanaml Date: Mon, 24 Feb 2020 14:47:51 +0800 Subject: [PATCH 1/9] H071191022 --- assigntment-01/H071191022/mainTugasPBO.java | 65 ++++++++++++++ assigntment-01/H071191022/studentPBO.java | 99 +++++++++++++++++++++ 2 files changed, 164 insertions(+) create mode 100644 assigntment-01/H071191022/mainTugasPBO.java create mode 100644 assigntment-01/H071191022/studentPBO.java diff --git a/assigntment-01/H071191022/mainTugasPBO.java b/assigntment-01/H071191022/mainTugasPBO.java new file mode 100644 index 0000000..9039dd7 --- /dev/null +++ b/assigntment-01/H071191022/mainTugasPBO.java @@ -0,0 +1,65 @@ +import java.util.HashMap; +import java.util.Map; + +public class mainTugasPBO { + + public static void main(String[] args) { + Map facultyMap = new HashMap<>(); + Map majorMap = new HashMap<>(); + facultyMap.put("Ekonomi dan Bisnis", "A"); + facultyMap.put("Hukum", "B"); + facultyMap.put("Kedokteran", "C"); + facultyMap.put("Teknik", "D"); + facultyMap.put("Ilmu Sosial dan Ilmu Politik", "E"); + facultyMap.put("Ilmu Budaya", "F"); + facultyMap.put("Pertanian", "G"); + facultyMap.put("MIPA", "H") + majorMap.put("Matematika", "01"); + majorMap.put("Statistika", "02"); + majorMap.put("Kimia", "03"); + majorMap.put("Fisika", "04"); + majorMap.put("Biologi", "05"); + majorMap.put("Geofisika", "06"); + majorMap.put("Ilmu Komputer", "07"); + + // Student student1 = new Student(); + // Student student2 = new Student(); + // Student student3 = new Student(); + + studentPBO student1 = new studentPBO(); + studentPBO student2 = new studentPBO(); + studentPBO student3 = new studentPBO(); + + student1.setFirstName("SePti"); + student1.setLastName("INtan AmAlia"); + student1.setRegisterYear(2019); + student1.setFaculty("MIPA"); + student1.setDepartment("Matematika"); + student1.setMajor("Ilmu Komputer"); + student1.setId(facultyMap, majorMap); + student1.setEmail(facultyMap); + + student2.setFirstName("Riskha"); + student2.setLastName(""); + student2.setRegisterYear(2019); + student2.setFaculty("MIPA"); + student2.setDepartment("Matematika"); + student2.setMajor("Matematika"); + student2.setId(facultyMap, majorMap); + student2.setEmail(facultyMap); + + student3.setFirstName("Muflihun"); + student3.setLastName("Naim"); + 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/H071191022/studentPBO.java b/assigntment-01/H071191022/studentPBO.java new file mode 100644 index 0000000..b4f0d32 --- /dev/null +++ b/assigntment-01/H071191022/studentPBO.java @@ -0,0 +1,99 @@ +import java.util.Random; +import java.util.Map; + +public class studentPBO{ + private String id; + private String firstName; + private String lastName; + private String email; + private int registerYear; + private String faculty; + private String department; + private String major; + + //SET + + 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 void setFaculty (String faculty){ + this.faculty = faculty; + } + public void setDepartment (String department){ + this.department = department; + } + public void setMajor (String major){ + this.major = major; + } + + //GET + + public String getId(){ + return id; + } + public String getEmail(){ + return email; + } + public String getFaculty (){ + return faculty; + } + public String getDepartement(){ + return department; + } + public String getMajor(){ + return major; + } + + //BEHAVIOUR + + public void setId(Map facultyMap,Map majorMap){ + String facultyCode = facultyMap.get(faculty); + String majorCode = majorMap.get(major); + int lastDigit = registerYear % 100; + + Random rand = new Random(); + int randDigit = rand.nextInt(60) + 1; + id = String.format("%s%s1%d1%03d", facultyCode,majorCode,lastDigit,randDigit); + } + public void setEmail(Map facultyMap ){ + String fullName = (firstName +" "+lastName).toLowerCase(); + String [] splitName = fullName.split(" "); + email = splitName[splitName.length - 1]; + for(int i = 0; i < splitName.length - 1; i++){ + email += splitName[i].charAt(0); + } + email += (registerYear % 100) + facultyMap.get(faculty).toLowerCase()+"@student.unhas.ac.id"; + } + + public String getFullName(){ + String fullName = (firstName + " " + lastName).toLowerCase(); + String [] splitName = fullName.split(" "); + String finalName = ""; + for (int i = 0; i < splitName.length; i++) { + finalName += splitName[i].substring(0, 1).toUpperCase() + splitName[i].substring(1, splitName[i].length()) + " "; + } + return finalName; + } + + public void description(){ + System.out.println("Nama : " + getFullName()); + System.out.println("NIM : " + getId()); + System.out.println("Email Mahasiswa : " + getEmail()); + System.out.println("Fakultas : " + getFaculty()); + System.out.println("Department : " + getDepartement()); + System.out.println("Program Studi : " + getMajor()); + System.out.println(); + } +} From 98cb9522949a19c125d5dd94300af9af903652c3 Mon Sep 17 00:00:00 2001 From: septiintanaml Date: Fri, 6 Mar 2020 19:37:10 +0800 Subject: [PATCH 2/9] Tugas 2 --- .../H071191022/Tugas 2/DataSource.java | 70 +++++++++++++++++++ assigntment-01/H071191022/Tugas 2/Login.java | 28 ++++++++ assigntment-01/H071191022/Tugas 2/Main.java | 8 +++ assigntment-01/H071191022/Tugas 2/User.java | 27 +++++++ .../H071191022/Tugas 2/UserDetail.java | 27 +++++++ assigntment-01/H071191022/Tugas 2/user.txt | 5 ++ .../H071191022/Tugas 2/userdetail.txt | 5 ++ 7 files changed, 170 insertions(+) create mode 100644 assigntment-01/H071191022/Tugas 2/DataSource.java create mode 100644 assigntment-01/H071191022/Tugas 2/Login.java create mode 100644 assigntment-01/H071191022/Tugas 2/Main.java create mode 100644 assigntment-01/H071191022/Tugas 2/User.java create mode 100644 assigntment-01/H071191022/Tugas 2/UserDetail.java create mode 100644 assigntment-01/H071191022/Tugas 2/user.txt create mode 100644 assigntment-01/H071191022/Tugas 2/userdetail.txt diff --git a/assigntment-01/H071191022/Tugas 2/DataSource.java b/assigntment-01/H071191022/Tugas 2/DataSource.java new file mode 100644 index 0000000..ef293ad --- /dev/null +++ b/assigntment-01/H071191022/Tugas 2/DataSource.java @@ -0,0 +1,70 @@ +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/assigntment-01/H071191022/Tugas 2/Login.java b/assigntment-01/H071191022/Tugas 2/Login.java new file mode 100644 index 0000000..1600b63 --- /dev/null +++ b/assigntment-01/H071191022/Tugas 2/Login.java @@ -0,0 +1,28 @@ +class Login { + + private User user; + private UserDetail userDetail; + private DataSource dataSource; + + public void auth (String name,String pass){ + 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.println(userDetail.getName()); + System.out.println(userDetail.getEmail()); + System.out.println(userDetail.getDateOfBirth()); + } + } +} \ No newline at end of file diff --git a/assigntment-01/H071191022/Tugas 2/Main.java b/assigntment-01/H071191022/Tugas 2/Main.java new file mode 100644 index 0000000..3773493 --- /dev/null +++ b/assigntment-01/H071191022/Tugas 2/Main.java @@ -0,0 +1,8 @@ +public class Main { + + public static void main(String[] args) { + Login login = new Login(); + login.auth("fitrh","12345678"); + login.status(); + } +} \ No newline at end of file diff --git a/assigntment-01/H071191022/Tugas 2/User.java b/assigntment-01/H071191022/Tugas 2/User.java new file mode 100644 index 0000000..9a3ef5c --- /dev/null +++ b/assigntment-01/H071191022/Tugas 2/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/assigntment-01/H071191022/Tugas 2/UserDetail.java b/assigntment-01/H071191022/Tugas 2/UserDetail.java new file mode 100644 index 0000000..612046a --- /dev/null +++ b/assigntment-01/H071191022/Tugas 2/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/assigntment-01/H071191022/Tugas 2/user.txt b/assigntment-01/H071191022/Tugas 2/user.txt new file mode 100644 index 0000000..70d291f --- /dev/null +++ b/assigntment-01/H071191022/Tugas 2/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/assigntment-01/H071191022/Tugas 2/userdetail.txt b/assigntment-01/H071191022/Tugas 2/userdetail.txt new file mode 100644 index 0000000..8a0deb0 --- /dev/null +++ b/assigntment-01/H071191022/Tugas 2/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 From d1c3de80dda1949e82dfb2438b3cc16fd1abb304 Mon Sep 17 00:00:00 2001 From: Septi <54713592+septiintanaml@users.noreply.github.com> Date: Fri, 6 Mar 2020 20:11:06 +0800 Subject: [PATCH 3/9] Delete DataSource.java --- .../H071191022/Tugas 2/DataSource.java | 70 ------------------- 1 file changed, 70 deletions(-) delete mode 100644 assigntment-01/H071191022/Tugas 2/DataSource.java diff --git a/assigntment-01/H071191022/Tugas 2/DataSource.java b/assigntment-01/H071191022/Tugas 2/DataSource.java deleted file mode 100644 index ef293ad..0000000 --- a/assigntment-01/H071191022/Tugas 2/DataSource.java +++ /dev/null @@ -1,70 +0,0 @@ -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); - } -} From 1c0b2a7bafd319c3ba19cb611423831edeac4dee Mon Sep 17 00:00:00 2001 From: Septi <54713592+septiintanaml@users.noreply.github.com> Date: Fri, 6 Mar 2020 20:11:58 +0800 Subject: [PATCH 4/9] Delete Login.java --- assigntment-01/H071191022/Tugas 2/Login.java | 28 -------------------- 1 file changed, 28 deletions(-) delete mode 100644 assigntment-01/H071191022/Tugas 2/Login.java diff --git a/assigntment-01/H071191022/Tugas 2/Login.java b/assigntment-01/H071191022/Tugas 2/Login.java deleted file mode 100644 index 1600b63..0000000 --- a/assigntment-01/H071191022/Tugas 2/Login.java +++ /dev/null @@ -1,28 +0,0 @@ -class Login { - - private User user; - private UserDetail userDetail; - private DataSource dataSource; - - public void auth (String name,String pass){ - 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.println(userDetail.getName()); - System.out.println(userDetail.getEmail()); - System.out.println(userDetail.getDateOfBirth()); - } - } -} \ No newline at end of file From 1c0a36098a2ba7e8d16b4c7bf190544c6e026c28 Mon Sep 17 00:00:00 2001 From: Septi <54713592+septiintanaml@users.noreply.github.com> Date: Fri, 6 Mar 2020 20:12:07 +0800 Subject: [PATCH 5/9] Delete Main.java --- assigntment-01/H071191022/Tugas 2/Main.java | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 assigntment-01/H071191022/Tugas 2/Main.java diff --git a/assigntment-01/H071191022/Tugas 2/Main.java b/assigntment-01/H071191022/Tugas 2/Main.java deleted file mode 100644 index 3773493..0000000 --- a/assigntment-01/H071191022/Tugas 2/Main.java +++ /dev/null @@ -1,8 +0,0 @@ -public class Main { - - public static void main(String[] args) { - Login login = new Login(); - login.auth("fitrh","12345678"); - login.status(); - } -} \ No newline at end of file From 4050602dbce3127ce48d59fb069ef3466529aaa6 Mon Sep 17 00:00:00 2001 From: Septi <54713592+septiintanaml@users.noreply.github.com> Date: Fri, 6 Mar 2020 20:12:22 +0800 Subject: [PATCH 6/9] Delete User.java --- assigntment-01/H071191022/Tugas 2/User.java | 27 --------------------- 1 file changed, 27 deletions(-) delete mode 100644 assigntment-01/H071191022/Tugas 2/User.java diff --git a/assigntment-01/H071191022/Tugas 2/User.java b/assigntment-01/H071191022/Tugas 2/User.java deleted file mode 100644 index 9a3ef5c..0000000 --- a/assigntment-01/H071191022/Tugas 2/User.java +++ /dev/null @@ -1,27 +0,0 @@ -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 From b36e8949838268fda5dd068b70abf96c8f8bbb47 Mon Sep 17 00:00:00 2001 From: Septi <54713592+septiintanaml@users.noreply.github.com> Date: Fri, 6 Mar 2020 20:12:33 +0800 Subject: [PATCH 7/9] Delete UserDetail.java --- .../H071191022/Tugas 2/UserDetail.java | 27 ------------------- 1 file changed, 27 deletions(-) delete mode 100644 assigntment-01/H071191022/Tugas 2/UserDetail.java diff --git a/assigntment-01/H071191022/Tugas 2/UserDetail.java b/assigntment-01/H071191022/Tugas 2/UserDetail.java deleted file mode 100644 index 612046a..0000000 --- a/assigntment-01/H071191022/Tugas 2/UserDetail.java +++ /dev/null @@ -1,27 +0,0 @@ -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 From 43852952db123ddb60b5c056fa3f3cccd7c6ed42 Mon Sep 17 00:00:00 2001 From: Septi <54713592+septiintanaml@users.noreply.github.com> Date: Fri, 6 Mar 2020 20:13:12 +0800 Subject: [PATCH 8/9] Delete user.txt --- assigntment-01/H071191022/Tugas 2/user.txt | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 assigntment-01/H071191022/Tugas 2/user.txt diff --git a/assigntment-01/H071191022/Tugas 2/user.txt b/assigntment-01/H071191022/Tugas 2/user.txt deleted file mode 100644 index 70d291f..0000000 --- a/assigntment-01/H071191022/Tugas 2/user.txt +++ /dev/null @@ -1,5 +0,0 @@ -1;fitrh;12345678 -2;arzk;qwerty -3;ken;asdf -4;naim;Naim -5;farhan;Parhan \ No newline at end of file From d3a6d7a73fa47a83cb005072a97c6300c8d9e487 Mon Sep 17 00:00:00 2001 From: Septi <54713592+septiintanaml@users.noreply.github.com> Date: Fri, 6 Mar 2020 20:13:21 +0800 Subject: [PATCH 9/9] Delete userdetail.txt --- assigntment-01/H071191022/Tugas 2/userdetail.txt | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 assigntment-01/H071191022/Tugas 2/userdetail.txt diff --git a/assigntment-01/H071191022/Tugas 2/userdetail.txt b/assigntment-01/H071191022/Tugas 2/userdetail.txt deleted file mode 100644 index 8a0deb0..0000000 --- a/assigntment-01/H071191022/Tugas 2/userdetail.txt +++ /dev/null @@ -1,5 +0,0 @@ -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