PSEUDOCODE proces 2
Module : 2.1.1
Name : ambil data kepegawaian dosen
Purpose : Menyimpan data dosen ke database dosen PNJ
Programmer : Sad Rizk Muarokh Nasution
Date due : 28 November 2024
language : Java
events
synchronize data dosen dari kepegawaian ke database PNJ menggunakan metode HTTP GET
REQUEST API
Input Name Type Provided by Notes
- - -
Output Type Used by Notes
Name
dataDosen Object program 2.2, program 2.2.1, program
2.2.2
status String program 2.1.1 pesan status request
message String program 2.1.1 digunakan untuk logging
status
FUNCTION fetchDataFromAPI(request):
# Import libraries for HTTP request and JSON parsing
IMPORT httpClientLibrary
IMPORT jsonLibrary
# Define API endpoint
API_URL = "https://external-api.example.com/data"
TRY:
# Fetch data from external API using HTTP GET
response = httpClientLibrary.GET(API_URL)
# Parse API response as JSON
dataDosen = jsonLibrary.parse(response.body)
# Return the fetched data
RETURN {
"status": "success",
"dataDosen": dataDosen
}
EXCEPT Exception AS e:
# Handle any errors during the API request
RETURN {
"status": "error",
"message": e.message
}
END
Module : 2.2.2
Name : menyimpan data dosen yang sudah disinkronisasi
Purpose : menyimpan data ke database dosen PNJ
Programmer : Sad Rizk Mubarokh Nasution
Date due : 28 November 2024
language : Java
events
insert data and commit ke database dosen
Input Name Type Provided by notes
dataDosen String(50) Program 1.2
Output Type Used by Notes
Name
namaKelas String(50) program 1.2.1, program 1.2.2, namaKelas digunakan untuk
program 3.2.1, program 7.1.2, menentukan beberapa data lain
program 3.2
FUNCTION saveDataToDatabase(data):
# Import libraries for database connection
IMPORT databaseLibrary
# Define connection parameters for the destination database
DATABASE_HOST = "dest-db-host"
DATABASE_PORT = "dest-db-port"
DATABASE_NAME = "destination_database"
DATABASE_USER = "user"
DATABASE_PASSWORD = "password"
# Define SQL query to insert data
SQL_INSERT_QUERY = """
INSERT INTO Dosen (Nama,NIK ,umur )
VALUES (%s, %s, %s)
"""
TRY:
# Connect to the destination database
connection = databaseLibrary.connect(
host=DATABASE_HOST,
port=DATABASE_PORT,
database=DATABASE_NAME,
user=DATABASE_USER,
password=DATABASE_PASSWORD
)
cursor = connection.createCursor()
# Iterate over the data and save each record to the database
FOR record IN data:
cursor.execute(SQL_INSERT_QUERY, (
record["Nama"],
record["Nik"],
record["Umur"]
))
# Commit changes and close the connection
connection.commit()
cursor.close()
connection.close()
RETURN {
"status": "success",
"message": "Data successfully saved to the database"
}
EXCEPT Exception AS e:
# Handle any errors during database operations
RETURN {
"status": "error",
"message": e.message
}
END
Other
asumsi bahwa database dosen sudah ada dan memiliki kolom "keahlian/mata kuliah" yang
nantinya akan di kelompokkan dengan database mata kuliah
Module : 2.2.3
Name :Mengelompokan Data Dosen dan mata kuliah yang diajar
Purpose : memastikan dosen mengajar permata kuliahan yang sesuai
Programmer : Sad Rizk Muarokh Nasution
Date due : 28 November 2024
language : Java
events
button click
Input Name Type Provided by notes
DataDosen Object Program 2.2
MataKuliah Object Program 2.2
Output Name Type Used by Notes
DosenMataKuliahGroup String(50) Program namaKelas digunakan untuk
3.2.1,Program 7.1.2 menentukan beberapa data lain
FUNCTION groupDosenDanMatkul(DataDosen, courseData):
# Create a dictionary to store the grouped data (Lecturer -> Courses)
DosenMataKuliahGroup = {}
UUID matkul_id;
# Iterate through each lecturer in lecturerData
FOR Dosen IN DataDosen:
dosenID = Dosen["ID"]
NamaDosen = Dosen["Name"]
# Initialize an empty list to hold courses for this lecturer
DosenMataKuliahGroup[dosenID] = {
"NamaDosen": NamaDosen,
"MataKuliah": []
}
# Iterate through each course in courseData
FOR matkul IN MataKuliah:
matkulID = matkul["CourseID"]
matkulName = matkul["CourseName"]
dosenID = matkul["LecturerID"] # The ID of the lecturer who teaches this
course
# Check if the lecturer exists in the lecturerCourseGroup
IF dosenID IN DosenMataKuliahGroup:
# Add the course to the corresponding lecturer's course list
DosenMataKuliahGroup[lecturerID]["courses"].append({
"matkulID": matkulID,
"matkulName": matkulName
})
# Return the grouped data
RETURN DosenMataKuliahGroup
END
Other
dengan asumsi bahwa Data MataKuliah memang sudah ada