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
Binary file added assignment-01/H071191040/Main.class
Binary file not shown.
61 changes: 61 additions & 0 deletions assignment-01/H071191040/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("Teknik", "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("mUHammAdldjfksldjflskfjsl;sdfjs;lj;s;dlfjljljsdflj odfjsdlfjsdfka sdjfks sdfjs");
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("");
student2.setLastName("kennedy");
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();

}
}
Binary file added assignment-01/H071191040/Student.class
Binary file not shown.
167 changes: 167 additions & 0 deletions assignment-01/H071191040/Student.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
import java.util.Random;
import java.util.Map;
import java.util.HashMap;

class Student
{
static Map <String, Integer> departNumber = new HashMap<>();
private String id;
private String firstName;
private String lastName;
private String email;
private int registerYear;
private String faculty;
private String department;
private String major;


void setId(String id)
{

this.id = id;
}

String getId()
{
return id;
}

void setFirstName(String firstName)
{
this.firstName = firstName;
}

void setLastName(String lastName)
{
this.lastName = lastName;
}

void setEmail(String email)
{
this.email = email;
}

String getEmail()
{
return email;
}

void setRegisterYear(int registerYear)
{
this.registerYear = registerYear;
}

void setFaculty(String faculty)
{
this.faculty = faculty;
}

String getFaculty()
{
return faculty;
}

void setDepartment(String department)
{
this.department = department;
}

String getDepartment()
{
return department;
}

void setMajor(String major)
{
this.major = major;
setMap();
}

String getMajor()
{
return major;
}

void setId(Map <String, String> facultyMap, Map <String, String> majorMap)
{
int lastdigit = departNumber.get(major) + 1;
String facultyCode = facultyMap.get(faculty);
String majorCode = majorMap.get(major);
id = String.format("%s%s1%s1%03d",facultyCode, majorCode, registerYear%100, lastdigit);
departNumber.put(major, departNumber.get(major)+1);

}

void setEmail(Map <String, String> facultyMap)
{
String splitName[] = getFullName().split(" ");
String lname = splitName[splitName.length-1].toLowerCase();
char [] letter = new char[splitName.length-1];
String facultyCode = facultyMap.get(faculty).toLowerCase();

for(int i = 0; i < letter.length; i++)
{
letter[i] = splitName[i].charAt(0);
}

String letters = new String(letter).toLowerCase();
email = String.format("%s%s%d%s@student.unhas.ac.id", lname, letters, registerYear%100, facultyCode);


}

String getFullName()
{
String splitFname[] = (firstName + " " + lastName).split(" ");
String fullName = "";
try
{
for(int i = 0; i < splitFname.length; i++)
{
fullName += camelCase(splitFname[i]) + " ";
}
}
catch(StringIndexOutOfBoundsException e)
{
splitFname = lastName.split(" ");

for(int i = 0; i < splitFname.length; i++)
{
fullName += camelCase(splitFname[i]) + " ";
}
}


return fullName;
}

void description()
{
System.out.println("Name : " + getFullName());
System.out.println("NIM : " + getId());
System.out.println("Email Mahasiswa : " + getEmail());
System.out.println("Fakultas : " + getFaculty());
System.out.println("Departemen : " + getDepartment());
System.out.println("Program Studi : " + getMajor());
System.out.println();
}

String camelCase(String name)
{
name = name.toLowerCase();

return String.format("%c%s", name.charAt(0)-('a'-'A'), name.substring(1, name.length()));
}

void setMap()
{

if(departNumber.get(major) == null)
{
departNumber.put(major, 0);
}

}


}
103 changes: 103 additions & 0 deletions assignment-02/H071191040/DataSource.java
Original file line number Diff line number Diff line change
@@ -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 <String, User> userMap = new HashMap<>();
private Map <Integer, UserDetail> 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);
}
}
56 changes: 56 additions & 0 deletions assignment-02/H071191040/Login.java
Original file line number Diff line number Diff line change
@@ -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());
}
}

}
Loading