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
61 changes: 61 additions & 0 deletions H071191014/Main.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
import java.util.HashMap;
import java.util.Map;

public class Main {

public static void main(String[] args) {
Map<String, String> facultyMap = new HashMap<>();
Map<String, String> 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();

}
}
67 changes: 67 additions & 0 deletions H071191014/Student.java
Original file line number Diff line number Diff line change
@@ -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.length(); i++) {
if (i==0 && b[i]!=' ' || b[i]!=' ' && b[i-1]==' ') {
if (b[i] >= 'a' && b[i] <= 'z') b[i] = (char)(b[i] - 'a' + 'A');
}
}
a= new String(b);
return a;
}

public void setId(Map<String , String> fakultas, Map<String , String> prodi) {
Random random= new Random();
id= fakultas.get(faculty) + prodi.get(major) + 1 + (""+registerYear).substring(2) + 0 +random.nextInt(61);
}

public void setEmail(Map <String , String> fakultas) {
String [] a= (getFullName().toLowerCase()).split(" ");
String kata1= a[a.length-1];
String kata2= "";
for(int i=0; i<a.length; i++) {
kata2+= a[i].charAt(0);
}
email= kata1 + kata2.substring(0,kata2.length()-1) + (""+registerYear).substring(2) + fakultas.get(faculty) + "@student.unhas.ac.id";
}

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", faculty);
System.out.printf("Departemen\t: %s\n", department);
System.out.printf("Prodi\t\t: %s\n\n", major);
}
}
79 changes: 79 additions & 0 deletions assignment-02/H071191014/DataSource.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

class DataSource{
private Map <String, User> userMap = new HashMap<>();
private Map <Integer, UserDetail> 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);
}
}
36 changes: 36 additions & 0 deletions assignment-02/H071191014/Login.java
Original file line number Diff line number Diff line change
@@ -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());
}
}
}
10 changes: 10 additions & 0 deletions assignment-02/H071191014/Main.java
Original file line number Diff line number Diff line change
@@ -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();
}
}
28 changes: 28 additions & 0 deletions assignment-02/H071191014/User.java
Original file line number Diff line number Diff line change
@@ -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 <Integer, UserDetail> userDetailMap)
// {
// userDetail = userDetailMap.get(id);
// }
}
5 changes: 5 additions & 0 deletions assignment-02/H071191014/User.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
1;fitrh;12345678
2;arzk;qwerty
3;ken;asdf
4;naim;Naim
5;farhan;Parhan
22 changes: 22 additions & 0 deletions assignment-02/H071191014/UserDetail.java
Original file line number Diff line number Diff line change
@@ -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;
}
}
5 changes: 5 additions & 0 deletions assignment-02/H071191014/UserDetail.txt
Original file line number Diff line number Diff line change
@@ -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