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 assigntment-01/H071191034/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("Ilmu Budaya", "A");
facultyMap.put("Hukum", "B");
facultyMap.put("Kedokteran", "C");
facultyMap.put("Pertanian", "D");
facultyMap.put("Sosial dan Politik", "E");
facultyMap.put("Teknik", "F");
facultyMap.put("Farmasi", "G");
facultyMap.put("MIPA", "H");
majorMap.put("Sastra Inggris", "01");
majorMap.put("Administrasi Negara", "02");
majorMap.put("Ilmu Kedokteran", "03");
majorMap.put("Agribisnis", "04");
majorMap.put("Sosiologi", "05");
majorMap.put("Teknik Informatika", "06");
majorMap.put("Ilmu Komputer", "07");

Student student1 = new Student();
Student student2 = new Student();
Student student3 = new Student();

student1.setFirstName("trULY");
student1.setLastName("ROSElyne immANuelle RieuwpassA");
student1.setRegisterYear(2019);
student1.setFaculty("MIPA");
student1.setDepartment("Matematika");
student1.setMajor("Ilmu Komputer");
student1.setId(facultyMap, majorMap);
student1.setEmail(facultyMap);

student2.setFirstName("weyNY");
student2.setLastName("SAN");
student2.setRegisterYear(2018);
student2.setFaculty("Hukum");
student2.setDepartment("Hukum");
student2.setMajor("Administrasi Negara");
student2.setId(facultyMap, majorMap);
student2.setEmail(facultyMap);

student3.setFirstName("puTra");
student3.setLastName("wahyU");
student3.setRegisterYear(2017);
student3.setFaculty("Teknik");
student3.setDepartment("Teknik Elektro");
student3.setMajor("Teknik Informatika");
student3.setId(facultyMap, majorMap);
student3.setEmail(facultyMap);

student1.desc();
student2.desc();
student3.desc();

}
}
106 changes: 106 additions & 0 deletions assigntment-01/H071191034/Student.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
import java.util.Map;
import java.util.Random;


public class Student {
private String id;
private String firstName;
private String lastName;
private String email;
private Integer registerYear;
private String faculty;
private String department;
private String major;
private Random randomValue = new Random();

// 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 getDepartment(){
return department;
}
public String getMajor(){
return major;
}
public int getRegisterYear(){
return registerYear;
}

public void setId(Map<String, String> facultyMap, Map<String, String> majorMap){
String registerCode = ""+registerYear;


int getRandom = 1 + randomValue.nextInt(061);
if (getRandom>9) {
id = facultyMap.get(faculty) + majorMap.get(major) + "1" + registerCode.substring(2, 4) + "1" + "0" + getRandom ;
} else if (getRandom<=9){
id = facultyMap.get(faculty) + majorMap.get(major) + "1" + registerCode.substring(2, 4) + "1" + "00" + getRandom ;
}

}

public void setEmail(Map <String,String> facultyMap) {
String arr[] = getFullName().split(" ");
email = "";
email += arr[arr.length-1].toLowerCase();
for (int i = 0; i < arr.length - 1; i++){
email += (arr[i].substring(0,1).toLowerCase());
}
email += getRegisterYear()%100;
email += facultyMap.get(faculty).toLowerCase();
email += "@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 desc() {
System.out.printf("Nama\t\t: %s\n", getFullName());
System.out.printf("NIM\t\t: %s\n", getId());
System.out.printf("Email Mahasiswa\t: %s\n", getEmail());
System.out.printf("Fakultas\t: %s\n", faculty);
System.out.printf("Departemen\t: %s\n", department);
System.out.printf("Program Studi\t: %s\n", major);
System.out.println();
}
}
77 changes: 77 additions & 0 deletions assigntment-02/H071191034/DataSource.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
import java.util.HashMap;
import java.util.ArrayList;
import java.util.Arrays;
import java.io.*;

class DataSource {
static DataSource instance = null;
private HashMap<String, User> userMap = new HashMap<>();
private HashMap<Integer, UserDetail> userDetailMap = new HashMap<>();

private DataSource() {
putUserDetail();
putUser();
}

static public DataSource getInstance() {
if (instance == null)
instance = new DataSource();
return instance;
}

private void putUserDetail() {
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader("src/UserDetail.txt"));
String s;
while ((s = reader.readLine()) != null) {
ArrayList<String> sList = new ArrayList<String>(Arrays.asList(s.split(";")));
UserDetail userDetail = new UserDetail(Integer.valueOf(sList.get(0)), sList.get(1), sList.get(2),
sList.get(3), s, s);
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("src/User.txt"));
String s;
while ((s = reader.readLine()) != null) {
ArrayList<String> sList = new ArrayList<String>(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(Integer key) {
return userDetailMap.get(key);
}
}
40 changes: 40 additions & 0 deletions assigntment-02/H071191034/Login.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import java.util.NoSuchElementException;

class Login {
static Login instance = null;
private User user;
private UserDetail userDetail;
private DataSource dataSource;

private Login() {

}

static public Login getInstance() {
if (instance == null)
instance = new Login();
return instance;
}

public void auth(String name, String password) throws NoSuchElementException {
dataSource = DataSource.getInstance();
try {
user = dataSource.getUser(name);
if (user.getPassword().equals(password)) {
userDetail = user.getUserDetail();
} else {
System.out.println("wrong password");
}
} catch (Exception e) {
throw new NoSuchElementException("user not found: " + name);
}
}

public void status() {
if (userDetail != null) {
System.out.println(userDetail.getName());
System.out.println(userDetail.getEmail());
System.out.println(userDetail.getDateOfBirth());
}
}
}
7 changes: 7 additions & 0 deletions assigntment-02/H071191034/Main.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
public class Main {
public static void main(String[] args) {
Login login = Login.getInstance();
login.auth("naim", "Naim");
login.status();
}
}
29 changes: 29 additions & 0 deletions assigntment-02/H071191034/User.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
class User{
private Integer id;
private String username;
private String password;
private UserDetail userDetail;

User (Integer 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;
}
}
6 changes: 6 additions & 0 deletions assigntment-02/H071191034/User.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
1;fitrh;12345678
2;arzk;qwerty
3;ken;asdf
4;naim;Naim
5;farhan;Parhan
6;alba054;hellfire123
29 changes: 29 additions & 0 deletions assigntment-02/H071191034/UserDetail.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
class UserDetail{
private Integer id;
private String name;
private String dateOfBirth;
private String email;

UserDetail (Integer id, String name, String dateOfBirth, String email){
this.id = id;
this.name = name;
this.dateOfBirth = dateOfBirth;
this.email = email;
}

public Integer getId(){
return this.id;
}

public String getName(){
return this.name;
}

public String getDateOfBirth(){
return this.dateOfBirth;
}

public String getEmail(){
return this.email;
}
}
6 changes: 6 additions & 0 deletions assigntment-02/H071191034/UserDetail.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
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
6;Muhammad Alif Setya Prakasa;06-10-2000;prakasamas19h@student.unhas.ac.id