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
69 changes: 69 additions & 0 deletions H071191032/Assignment2/DataSource.java
Original file line number Diff line number Diff line change
@@ -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<String,User> userMap = new HashMap<>();
private HashMap<Integer,UserDetail> 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<String> 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 <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(int key){
return userDetailMap.get(key);
}
}
30 changes: 30 additions & 0 deletions H071191032/Assignment2/Login.java
Original file line number Diff line number Diff line change
@@ -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());
}
}
}
8 changes: 8 additions & 0 deletions H071191032/Assignment2/Main.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
public class Main {

public static void main(String[] args) {
Login login = new Login();
login.auth("naim","Naim");
login.status();
}
}
27 changes: 27 additions & 0 deletions H071191032/Assignment2/User.java
Original file line number Diff line number Diff line change
@@ -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;
}
}
27 changes: 27 additions & 0 deletions H071191032/Assignment2/UserDetail.java
Original file line number Diff line number Diff line change
@@ -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;
}
}
5 changes: 5 additions & 0 deletions H071191032/Assignment2/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
5 changes: 5 additions & 0 deletions H071191032/Assignment2/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
63 changes: 63 additions & 0 deletions assigntment-01/H071191032/Main.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@

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("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();
}
}
147 changes: 147 additions & 0 deletions assigntment-01/H071191032/Student.java
Original file line number Diff line number Diff line change
@@ -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<String, String> facultyMap, Map <String, String>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<String, String> 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");
}
}