merge(c4a): resolve merge conflicts with origin/main

This commit is contained in:
cygouw
2026-06-05 15:02:23 +07:00
153 changed files with 29082 additions and 2833 deletions
+80 -20
View File
@@ -1,52 +1,112 @@
[
{
"id": 1,
"question": "Apa saja syarat administratif agar saya bisa mengikuti perkuliahan?",
"answer": "Syarat untuk mengikuti perkuliahan adalah mahasiswa telah melakukan <strong>pembayaran UKT</strong>, mengisi <strong>KRS</strong>, dan terdaftar di <strong>kelas Edlink</strong>."
"question": {
"id": "Apa saja syarat administratif agar saya bisa mengikuti perkuliahan?",
"en": "What are the administrative requirements for me to attend lectures?"
},
"answer": {
"id": "Syarat untuk mengikuti perkuliahan adalah mahasiswa telah melakukan <strong>pembayaran UKT</strong>, mengisi <strong>KRS</strong>, dan terdaftar di <strong>kelas Edlink</strong>.",
"en": "The requirements to attend lectures are that the student has completed <strong>UKT payment</strong>, filled out the <strong>KRS</strong>, and is registered in <strong>Edlink classes</strong>."
}
},
{
"id": 2,
"question": "Berapa persentase kehadiran minimal agar bisa mengikuti Ujian Akhir Semester (UAS)?",
"answer": "Mahasiswa wajib memenuhi minimal <strong>75% kehadiran</strong> dari total pertemuan perkuliahan. Mahasiswa yang tidak memenuhi syarat kehadiran ini tidak diperkenankan mengikuti UAS."
"question": {
"id": "Berapa persentase kehadiran minimal agar bisa mengikuti Ujian Akhir Semester (UAS)?",
"en": "What is the minimum attendance percentage required to take the Final Semester Exam (UAS)?"
},
"answer": {
"id": "Mahasiswa wajib memenuhi minimal <strong>75% kehadiran</strong> dari total pertemuan perkuliahan. Mahasiswa yang tidak memenuhi syarat kehadiran ini tidak diperkenankan mengikuti UAS.",
"en": "Students must meet a minimum of <strong>75% attendance</strong> out of the total lecture sessions. Students who do not meet this attendance requirement are not permitted to take the UAS."
}
},
{
"id": 3,
"question": "Apakah pengisian evaluasi perkuliahan itu wajib?",
"answer": "Ya, karena pengisian evaluasi perkuliahan dapat menjadi salah satu syarat untuk <strong>mengakses hasil studi</strong> sesuai dengan kebijakan yang berlaku. Hasil ini sangat penting untuk perbaikan dan pengembangan kualitas pembelajaran prodi ke depannya."
"question": {
"id": "Apakah pengisian evaluasi perkuliahan itu wajib?",
"en": "Is filling out the lecture evaluation mandatory?"
},
"answer": {
"id": "Ya, karena pengisian evaluasi perkuliahan dapat menjadi salah satu syarat untuk <strong>mengakses hasil studi</strong> sesuai dengan kebijakan yang berlaku. Hasil ini sangat penting untuk perbaikan dan pengembangan kualitas pembelajaran prodi ke depannya.",
"en": "Yes, because completing the lecture evaluation may be one of the requirements to <strong>access study results</strong> in accordance with applicable policies. This is very important for improving and developing the quality of the study program's learning in the future."
}
},
{
"id": 4,
"question": "Berapa minimal SKS dan IPK untuk bisa mendaftar Kerja Praktik (KP)?",
"answer": "Untuk mendaftar KP, mahasiswa harus sudah lulus minimal <strong>100 SKS</strong> dan memiliki Indeks Prestasi Kumulatif (IPK) <strong>≥ 2,00</strong>."
"question": {
"id": "Berapa minimal SKS dan IPK untuk bisa mendaftar Kerja Praktik (KP)?",
"en": "What is the minimum number of credits (SKS) and GPA required to register for an Internship (KP)?"
},
"answer": {
"id": "Untuk mendaftar KP, mahasiswa harus sudah lulus minimal <strong>100 SKS</strong> dan memiliki Indeks Prestasi Kumulatif (IPK) <strong>≥ 2,00</strong>.",
"en": "To register for KP, students must have passed at least <strong>100 credits (SKS)</strong> and have a Cumulative Grade Point Average (GPA) of <strong>≥ 2.00</strong>."
}
},
{
"id": 5,
"question": "Apakah ada syarat kelulusan mata kuliah tertentu sebelum saya bisa mengajukan Kerja Praktik (KP)?",
"answer": "Ya, selain memenuhi syarat minimal SKS dan IPK, mahasiswa juga diwajibkan telah lulus mata kuliah <strong>Penulisan Proposal Tugas Akhir dengan nilai minimal C</strong>. Selain itu, mahasiswa juga harus menyerahkan berkas pendukung pengajuan KP seperti KTM, riwayat studi, transkrip nilai, dan surat permohonan."
"question": {
"id": "Apakah ada syarat kelulusan mata kuliah tertentu sebelum saya bisa mengajukan Kerja Praktik (KP)?",
"en": "Are there specific course completion requirements before I can apply for an Internship (KP)?"
},
"answer": {
"id": "Ya, selain memenuhi syarat minimal SKS dan IPK, mahasiswa juga diwajibkan telah lulus mata kuliah <strong>Penulisan Proposal Tugas Akhir dengan nilai minimal C</strong>. Selain itu, mahasiswa juga harus menyerahkan berkas pendukung pengajuan KP seperti KTM, riwayat studi, transkrip nilai, dan surat permohonan.",
"en": "Yes, in addition to meeting the minimum SKS and GPA requirements, students are also required to have passed the <strong>Final Project Proposal Writing course with a minimum grade of C</strong>. Furthermore, students must also submit supporting documents for the KP application, such as student ID card, academic record, transcript, and application letter."
}
},
{
"id": 6,
"question": "Apa kualifikasi yang dibutuhkan untuk Pembimbing Lapangan di instansi tempat KP?",
"answer": "Pembimbing Lapangan dari tempat pelaksanaan KP diwajibkan memiliki kualifikasi pendidikan minimal <strong>S1 atau D4</strong>."
"question": {
"id": "Apa kualifikasi yang dibutuhkan untuk Pembimbing Lapangan di instansi tempat KP?",
"en": "What qualifications are required for a Field Supervisor at the KP institution?"
},
"answer": {
"id": "Pembimbing Lapangan dari tempat pelaksanaan KP diwajibkan memiliki kualifikasi pendidikan minimal <strong>S1 atau D4</strong>.",
"en": "The Field Supervisor from the KP institution is required to have a minimum educational qualification of <strong>Bachelor's (S1) or Applied Bachelor's (D4)</strong>."
}
},
{
"id": 7,
"question": "Bolehkah saya mengambil mata kuliah Kerja Praktik (KP) bersamaan dengan Tugas Akhir?",
"answer": "Boleh. Mata Kuliah Kerja Praktik (KP) dapat diambil secara bersamaan dengan <strong>Tugas Akhir 1 (TA1)</strong> dan <strong>Tugas Akhir 2 (TA2)</strong> dalam satu semester yang sama."
"question": {
"id": "Bolehkah saya mengambil mata kuliah Kerja Praktik (KP) bersamaan dengan Tugas Akhir?",
"en": "Can I take the Internship (KP) course concurrently with my Final Project (Tugas Akhir)?"
},
"answer": {
"id": "Boleh. Mata Kuliah Kerja Praktik (KP) dapat diambil secara bersamaan dengan <strong>Tugas Akhir 1 (TA1)</strong> dan <strong>Tugas Akhir 2 (TA2)</strong> dalam satu semester yang sama.",
"en": "Yes. The Internship (KP) course can be taken concurrently with <strong>Final Project 1 (TA1)</strong> and <strong>Final Project 2 (TA2)</strong> within the same semester."
}
},
{
"id": 8,
"question": "Apa saja syarat akademik utama sebelum mengajukan judul Tugas Akhir (Skripsi)?",
"answer": "Syarat utamanya adalah mahasiswa harus telah lulus minimal <strong>120 SKS</strong>, memiliki <strong>IPK minimal 2,00</strong>, telah lulus mata kuliah <strong>Penulisan Proposal Tugas Akhir dengan nilai minimal C</strong>, serta telah mendaftarkan mata kuliah skripsi pada KRS."
"question": {
"id": "Apa saja syarat akademik utama sebelum mengajukan judul Tugas Akhir (Skripsi)?",
"en": "What are the main academic requirements before submitting a Final Project (Thesis) title?"
},
"answer": {
"id": "Syarat utamanya adalah mahasiswa harus telah lulus minimal <strong>120 SKS</strong>, memiliki <strong>IPK minimal 2,00</strong>, telah lulus mata kuliah <strong>Penulisan Proposal Tugas Akhir dengan nilai minimal C</strong>, serta telah mendaftarkan mata kuliah skripsi pada KRS.",
"en": "The main requirements are that the student must have passed at least <strong>120 credits (SKS)</strong>, have a <strong>minimum GPA of 2.00</strong>, have passed the <strong>Final Project Proposal Writing course with a minimum grade of C</strong>, and have registered the thesis course in the KRS."
}
},
{
"id": 9,
"question": "Siapa yang berhak mendaftar menjadi Asisten Praktikum (Aslab)?",
"answer": "Rekrutmen terbuka bagi <strong>mahasiswa aktif Program Studi Informatika UNTAN</strong> yang telah lulus mata kuliah terkait (dengan nilai minimal sesuai ketentuan Dosen Pengampu) dan berkomitmen mengikuti seluruh jadwal praktikum selama semester berjalan."
"question": {
"id": "Siapa yang berhak mendaftar menjadi Asisten Praktikum (Aslab)?",
"en": "Who is eligible to register as a Practicum Assistant (Aslab)?"
},
"answer": {
"id": "Rekrutmen terbuka bagi <strong>mahasiswa aktif Program Studi Informatika UNTAN</strong> yang telah lulus mata kuliah terkait (dengan nilai minimal sesuai ketentuan Dosen Pengampu) dan berkomitmen mengikuti seluruh jadwal praktikum selama semester berjalan.",
"en": "Recruitment is open to <strong>active students of the Informatics Study Program at UNTAN</strong> who have passed the relevant courses (with a minimum grade as per the Lecturer's requirements) and are committed to attending all practicum schedules throughout the semester."
}
},
{
"id": 10,
"question": "Bagaimana prosedur meminjam Laboratorium Komputer untuk keperluan kegiatan kampus?",
"answer": "Peminjam (dosen atau mahasiswa) harus mengajukan <strong>surat permohonan peminjaman</strong> kepada staf laboratorium pengelola dan menyampaikan jadwal penggunaannya. Penggunaan lab juga harus didampingi oleh <strong>dosen atau asisten praktikum</strong> yang bertanggung jawab."
"question": {
"id": "Bagaimana prosedur meminjam Laboratorium Komputer untuk keperluan kegiatan kampus?",
"en": "What is the procedure for borrowing the Computer Laboratory for campus activities?"
},
"answer": {
"id": "Peminjam (dosen atau mahasiswa) harus mengajukan <strong>surat permohonan peminjaman</strong> kepada staf laboratorium pengelola dan menyampaikan jadwal penggunaannya. Penggunaan lab juga harus didampingi oleh <strong>dosen atau asisten praktikum</strong> yang bertanggung jawab.",
"en": "The borrower (lecturer or student) must submit a <strong>borrowing request letter</strong> to the laboratory management staff and provide the usage schedule. Lab usage must also be supervised by a <strong>responsible lecturer or practicum assistant</strong>."
}
}
]
+205 -109
View File
@@ -4,194 +4,290 @@
"tab_number": 1,
"category": "akademik",
"icon": "fa-chalkboard-teacher",
"title": "SOP Pelaksanaan Kuliah",
"description": "Mengatur tata cara dan tahapan pelaksanaan perkuliahan mulai dari persiapan hingga evaluasi pembelajaran.",
"purpose": "SOP ini bertujuan untuk menjelaskan tata cara pelaksanaan perkuliahan bagi mahasiswa Program Studi Informatika Universitas Tanjungpura.",
"title": {
"id": "SOP Pelaksanaan Kuliah",
"en": "Lecture Procedure SOP"
},
"description": {
"id": "Mengatur tata cara dan tahapan pelaksanaan perkuliahan mulai dari persiapan hingga evaluasi pembelajaran.",
"en": "Regulates the procedures and stages of lecture implementation from preparation to learning evaluation."
},
"purpose": {
"id": "SOP ini bertujuan untuk menjelaskan tata cara pelaksanaan perkuliahan bagi mahasiswa Program Studi Informatika Universitas Tanjungpura.",
"en": "This SOP aims to explain the procedures for conducting lectures for students of the Informatics Study Program at Tanjungpura University."
},
"requirements": [
"Mahasiswa telah melakukan pembayaran UKT",
"Mahasiswa telah mengisi KRS",
"Mahasiswa terdaftar di kelas Edlink",
"Mahasiswa wajib mengikuti perkuliahan dan menyelesaikan tugas tepat waktu",
"Mahasiswa wajib mengisi daftar hadir dan memberikan alasan resmi jika tidak hadir",
"Mahasiswa memenuhi minimal 70% kehadiran untuk mengikuti UAS"
{ "id": "Mahasiswa telah melakukan pembayaran UKT", "en": "Student has completed UKT payment" },
{ "id": "Mahasiswa telah mengisi KRS", "en": "Student has filled out the KRS" },
{ "id": "Mahasiswa terdaftar di kelas Edlink", "en": "Student is registered in Edlink classes" },
{ "id": "Mahasiswa wajib mengikuti perkuliahan dan menyelesaikan tugas tepat waktu", "en": "Students must attend lectures and complete assignments on time" },
{ "id": "Mahasiswa wajib mengisi daftar hadir dan memberikan alasan resmi jika tidak hadir", "en": "Students must fill in the attendance list and provide an official reason if absent" },
{ "id": "Mahasiswa memenuhi minimal 70% kehadiran untuk mengikuti UAS", "en": "Students must meet a minimum of 70% attendance to take the UAS" }
],
"procedures": [
"Dosen memasuki ruang perkuliahan sesuai jadwal yang telah ditetapkan",
"Dosen mengabsensi mahasiswa dengan mencantumkan keterangan hadir, izin, atau tidak hadir",
"Pada pertemuan pertama, dosen membuat kontrak perkuliahan secara tertulis bersama mahasiswa",
"Dosen menjelaskan materi perkuliahan sesuai RPS yang telah diserahkan ke program studi",
"Mahasiswa mendiskusikan, mencatat, dan mengkritisi materi perkuliahan",
"Dosen menyimpulkan materi perkuliahan dan memberikan penugasan"
{ "id": "Dosen memasuki ruang perkuliahan sesuai jadwal yang telah ditetapkan", "en": "The lecturer enters the lecture room according to the set schedule" },
{ "id": "Dosen mengabsensi mahasiswa dengan mencantumkan keterangan hadir, izin, atau tidak hadir", "en": "The lecturer takes attendance, noting present, excused, or absent" },
{ "id": "Pada pertemuan pertama, dosen membuat kontrak perkuliahan secara tertulis bersama mahasiswa", "en": "At the first meeting, the lecturer creates a written lecture contract with students" },
{ "id": "Dosen menjelaskan materi perkuliahan sesuai RPS yang telah diserahkan ke program studi", "en": "The lecturer explains the course material according to the RPS submitted to the study program" },
{ "id": "Mahasiswa mendiskusikan, mencatat, dan mengkritisi materi perkuliahan", "en": "Students discuss, take notes, and critically engage with the lecture material" },
{ "id": "Dosen menyimpulkan materi perkuliahan dan memberikan penugasan", "en": "The lecturer summarizes the lecture material and gives assignments" }
],
"additional_info": "Mahasiswa yang tidak memenuhi persyaratan kehadiran minimal tidak diperkenankan mengikuti Ujian Akhir Semester (UAS) sesuai ketentuan akademik yang berlaku."
"additional_info": {
"id": "Mahasiswa yang tidak memenuhi persyaratan kehadiran minimal tidak diperkenankan mengikuti Ujian Akhir Semester (UAS) sesuai ketentuan akademik yang berlaku.",
"en": "Students who do not meet the minimum attendance requirements are not permitted to take the Final Semester Exam (UAS) in accordance with applicable academic regulations."
}
},
{
"tab_id": "ujian",
"tab_number": 2,
"category": "akademik",
"icon": "fa-file-signature",
"title": "SOP Pelaksanaan Ujian (UTS & UAS)",
"description": "Mengatur pedoman pelaksanaan Ujian Tengah Semester (UTS) dan Ujian Akhir Semester (UAS) mulai dari penentuan kriteria evaluasi, pelaksanaan, hingga perekapan nilai.",
"purpose": "SOP ini bertujuan untuk memastikan kelancaran proses evaluasi pembelajaran mahasiswa melalui UTS dan UAS agar berjalan tertib, terukur, dan sesuai dengan instruksi dosen pengampu mata kuliah.",
"title": {
"id": "SOP Pelaksanaan Ujian (UTS & UAS)",
"en": "Exam Procedure SOP (Mid-Term & Final Exams)"
},
"description": {
"id": "Mengatur pedoman pelaksanaan Ujian Tengah Semester (UTS) dan Ujian Akhir Semester (UAS) mulai dari penentuan kriteria evaluasi, pelaksanaan, hingga perekapan nilai.",
"en": "Regulates the guidelines for conducting Mid-Term Exams (UTS) and Final Semester Exams (UAS), from determining evaluation criteria and implementation to grade recording."
},
"purpose": {
"id": "SOP ini bertujuan untuk memastikan kelancaran proses evaluasi pembelajaran mahasiswa melalui UTS dan UAS agar berjalan tertib, terukur, dan sesuai dengan instruksi dosen pengampu mata kuliah.",
"en": "This SOP aims to ensure the smooth process of student learning evaluation through UTS and UAS so that it runs orderly, measurably, and in accordance with the course lecturer's instructions."
},
"requirements": [
"Mahasiswa terdaftar aktif pada mata kuliah yang sedang berjalan pada semester tersebut",
"Persentase kehadiran perkuliahan mahasiswa tidak kurang dari 75%"
{ "id": "Mahasiswa terdaftar aktif pada mata kuliah yang sedang berjalan pada semester tersebut", "en": "Students are actively registered in the courses running in that semester" },
{ "id": "Persentase kehadiran perkuliahan mahasiswa tidak kurang dari 75%", "en": "Student lecture attendance percentage is not less than 75%" }
],
"procedures": [
"Dosen pengampu menentukan kriteria UTS dan UAS",
"Mahasiswa mengikuti UTS atau UAS sesuai instruksi dosen pengampu, dan wajib melakukan presensi",
"Mahasiswa mengumpulkan hasil UTS atau UAS sesuai rentang waktu yang diberikan",
"Dosen menilai dan merekap pengerjaan UTS atau UAS mahasiswa"
{ "id": "Dosen pengampu menentukan kriteria UTS dan UAS", "en": "The course lecturer determines the UTS and UAS criteria" },
{ "id": "Mahasiswa mengikuti UTS atau UAS sesuai instruksi dosen pengampu, dan wajib melakukan presensi", "en": "Students take UTS or UAS according to the lecturer's instructions and must complete attendance" },
{ "id": "Mahasiswa mengumpulkan hasil UTS atau UAS sesuai rentang waktu yang diberikan", "en": "Students submit UTS or UAS results within the given timeframe" },
{ "id": "Dosen menilai dan merekap pengerjaan UTS atau UAS mahasiswa", "en": "The lecturer grades and records the students' UTS or UAS work" }
],
"additional_info": "Segala bentuk kecurangan saat ujian, maupun tindakan plagiarisme dalam pengerjaan UTS/UAS, dapat mengakibatkan pembatalan nilai atau pemberian sanksi."
"additional_info": {
"id": "Segala bentuk kecurangan saat ujian, maupun tindakan plagiarisme dalam pengerjaan UTS/UAS, dapat mengakibatkan pembatalan nilai atau pemberian sanksi.",
"en": "Any form of cheating during exams, as well as plagiarism in completing the UTS/UAS, may result in grade cancellation or sanctions."
}
},
{
"tab_id": "evaluasi",
"tab_number": 3,
"category": "akademik",
"icon": "fa-chart-line",
"title": "SOP Pelaksanaan Evaluasi Pengembangan Perkuliahan",
"description": "Mengatur tata cara pelaksanaan evaluasi perkuliahan oleh mahasiswa sebagai sarana umpan balik untuk meningkatkan kualitas proses belajar mengajar.",
"purpose": "SOP ini bertujuan memberikan pedoman pelaksanaan evaluasi perkuliahan guna mendukung peningkatan mutu pembelajaran di Program Studi Informatika Universitas Tanjungpura.",
"title": {
"id": "SOP Pelaksanaan Evaluasi Pengembangan Perkuliahan",
"en": "Lecture Development Evaluation SOP"
},
"description": {
"id": "Mengatur tata cara pelaksanaan evaluasi perkuliahan oleh mahasiswa sebagai sarana umpan balik untuk meningkatkan kualitas proses belajar mengajar.",
"en": "Regulates the procedures for conducting lecture evaluations by students as a feedback mechanism to improve the quality of the teaching and learning process."
},
"purpose": {
"id": "SOP ini bertujuan memberikan pedoman pelaksanaan evaluasi perkuliahan guna mendukung peningkatan mutu pembelajaran di Program Studi Informatika Universitas Tanjungpura.",
"en": "This SOP aims to provide guidelines for conducting lecture evaluations to support the improvement of learning quality in the Informatics Study Program at Tanjungpura University."
},
"requirements": [
"Mahasiswa terdaftar aktif pada semester berjalan",
"Telah mengikuti kegiatan perkuliahan pada mata kuliah yang dievaluasi",
"Tersedia akses ke sistem evaluasi perkuliahan"
{ "id": "Mahasiswa terdaftar aktif pada semester berjalan", "en": "Students are actively registered for the current semester" },
{ "id": "Telah mengikuti kegiatan perkuliahan pada mata kuliah yang dievaluasi", "en": "Has attended lecture activities for the course being evaluated" },
{ "id": "Tersedia akses ke sistem evaluasi perkuliahan", "en": "Access to the lecture evaluation system is available" }
],
"procedures": [
"Program Studi membuka periode evaluasi perkuliahan",
"Mahasiswa mengakses satu untan dan mengisi kuesioner evaluasi perkuliahan",
"Sistem merekap hasil evaluasi yang telah diisi mahasiswa",
"Program Studi meninjau hasil evaluasi sebagai bahan pengembangan perkuliahan"
{ "id": "Program Studi membuka periode evaluasi perkuliahan", "en": "The Study Program opens the lecture evaluation period" },
{ "id": "Mahasiswa mengakses satu untan dan mengisi kuesioner evaluasi perkuliahan", "en": "Students access the Satu Untan portal and fill out the lecture evaluation questionnaire" },
{ "id": "Sistem merekap hasil evaluasi yang telah diisi mahasiswa", "en": "The system records the evaluation results filled in by students" },
{ "id": "Program Studi meninjau hasil evaluasi sebagai bahan pengembangan perkuliahan", "en": "The Study Program reviews the evaluation results as material for lecture development" }
],
"additional_info": "Hasil evaluasi digunakan sebagai dasar perbaikan dan pengembangan kualitas pembelajaran pada semester berikutnya. Pengisian evaluasi perkuliahan dapat menjadi salah satu syarat untuk mengakses hasil studi sesuai kebijakan yang berlaku."
"additional_info": {
"id": "Hasil evaluasi digunakan sebagai dasar perbaikan dan pengembangan kualitas pembelajaran pada semester berikutnya. Pengisian evaluasi perkuliahan dapat menjadi salah satu syarat untuk mengakses hasil studi sesuai kebijakan yang berlaku.",
"en": "Evaluation results are used as a basis for improving and developing the quality of learning in the following semester. Completing the lecture evaluation may be one of the requirements for accessing study results in accordance with applicable policies."
}
},
{
"tab_id": "kp",
"tab_number": 4,
"category": "akademik",
"icon": "fa-briefcase",
"title": "SOP Kerja Praktik",
"description": "Panduan resmi pelaksanaan Kerja Praktek (KP) mulai dari tata cara pendaftaran, pelaksanaan, hingga seminar Kerja Praktek (KP).",
"purpose": "SOP ini bertujuan memberikan pedoman kepada seluruh pihak terkait dalam pelaksanaan Kerja Praktek serta meningkatkan efisiensi dan efektivitas pelaksanaannya di Program Studi Informatika Fakultas Teknik Universitas Tanjungpura.",
"title": {
"id": "SOP Kerja Praktik",
"en": "Internship (KP) SOP"
},
"description": {
"id": "Panduan resmi pelaksanaan Kerja Praktek (KP) mulai dari tata cara pendaftaran, pelaksanaan, hingga seminar Kerja Praktek (KP).",
"en": "The official guide for conducting the Internship (KP), from registration procedures and implementation to the KP seminar."
},
"purpose": {
"id": "SOP ini bertujuan memberikan pedoman kepada seluruh pihak terkait dalam pelaksanaan Kerja Praktek serta meningkatkan efisiensi dan efektivitas pelaksanaannya di Program Studi Informatika Fakultas Teknik Universitas Tanjungpura.",
"en": "This SOP aims to provide guidelines to all relevant parties in the implementation of the Internship and to improve the efficiency and effectiveness of its execution in the Informatics Study Program, Faculty of Engineering, Tanjungpura University."
},
"requirements": [
"Telah lulus minimal 100 SKS",
"Memiliki IPK minimal 2,00",
"Telah lulus mata kuliah Penulisan Proposal Tugas Akhir dengan nilai minimal C",
"Menyerahkan berkas pendukung pengajuan KP (KTM, riwayat studi, transkrip, dan surat permohonan)",
"Pembimbing Lapangan dari tempat KP memiliki kualifikasi pendidikan minimal S1/D4"
{ "id": "Telah lulus minimal 100 SKS", "en": "Has passed a minimum of 100 credits (SKS)" },
{ "id": "Memiliki IPK minimal 2,00", "en": "Has a minimum GPA of 2.00" },
{ "id": "Telah lulus mata kuliah Penulisan Proposal Tugas Akhir dengan nilai minimal C", "en": "Has passed the Final Project Proposal Writing course with a minimum grade of C" },
{ "id": "Menyerahkan berkas pendukung pengajuan KP (KTM, riwayat studi, transkrip, dan surat permohonan)", "en": "Submits supporting documents for the KP application (student ID, academic record, transcript, and application letter)" },
{ "id": "Pembimbing Lapangan dari tempat KP memiliki kualifikasi pendidikan minimal S1/D4", "en": "The Field Supervisor at the KP institution holds a minimum educational qualification of Bachelor's (S1) or Applied Bachelor's (D4)" }
],
"procedures": [
"Mahasiswa mengusulkan topik, draf proposal, dan menyerahkan berkas KP",
"Staf Administrasi memverifikasi kelengkapan berkas",
"Ketua Prodi menerbitkan surat pengantar KP",
"Mahasiswa melaksanakan KP dan mengikuti bimbingan",
"Pembimbing Lapangan memberikan penilaian KP",
"Mahasiswa mengajukan seminar dan Prodi menerbitkan undangan",
"Mahasiswa melaksanakan seminar KP",
"Mahasiswa melakukan revisi laporan akhir KP"
{ "id": "Mahasiswa mengusulkan topik, draf proposal, dan menyerahkan berkas KP", "en": "Students propose a topic, submit a draft proposal, and submit KP documents" },
{ "id": "Staf Administrasi memverifikasi kelengkapan berkas", "en": "Administrative Staff verifies the completeness of documents" },
{ "id": "Ketua Prodi menerbitkan surat pengantar KP", "en": "The Head of the Study Program issues the KP introductory letter" },
{ "id": "Mahasiswa melaksanakan KP dan mengikuti bimbingan", "en": "Students carry out the KP and attend supervision sessions" },
{ "id": "Pembimbing Lapangan memberikan penilaian KP", "en": "The Field Supervisor provides a KP assessment" },
{ "id": "Mahasiswa mengajukan seminar dan Prodi menerbitkan undangan", "en": "Students apply for the seminar and the Study Program issues an invitation" },
{ "id": "Mahasiswa melaksanakan seminar KP", "en": "Students conduct the KP seminar" },
{ "id": "Mahasiswa melakukan revisi laporan akhir KP", "en": "Students revise the final KP report" }
],
"staff_responsible": [
"👤 Staf Administrasi Informatika"
"👤 Staf Administrasi Informatika / Informatics Administrative Staff"
],
"additional_info": "Mata Kuliah Kerja Praktik (KP) dapat diambil bersamaan dengan Tugas Akhir 1 (TA1) dan Tugas Akhir 2 (TA2) dalam semester yang sama."
"additional_info": {
"id": "Mata Kuliah Kerja Praktik (KP) dapat diambil bersamaan dengan Tugas Akhir 1 (TA1) dan Tugas Akhir 2 (TA2) dalam semester yang sama.",
"en": "The Internship (KP) course can be taken concurrently with Final Project 1 (TA1) and Final Project 2 (TA2) in the same semester."
}
},
{
"tab_id": "ta",
"tab_number": 5,
"category": "akademik",
"icon": "fa-graduation-cap",
"title": "SOP Tugas Akhir/Skripsi",
"description": "Mengatur tata cara pelaksanaan skripsi mulai dari pengajuan judul hingga ujian dan penyelesaian skripsi mahasiswa.",
"purpose": "SOP ini bertujuan untuk memberikan pedoman kepada mahasiswa dan dosen dalam pelaksanaan skripsi agar proses penyusunan skripsi berjalan tertib, terarah, dan sesuai ketentuan akademik.",
"title": {
"id": "SOP Tugas Akhir/Skripsi",
"en": "Final Project / Thesis SOP"
},
"description": {
"id": "Mengatur tata cara pelaksanaan skripsi mulai dari pengajuan judul hingga ujian dan penyelesaian skripsi mahasiswa.",
"en": "Regulates the procedures for thesis implementation, from title submission to examination and completion of the student's thesis."
},
"purpose": {
"id": "SOP ini bertujuan untuk memberikan pedoman kepada mahasiswa dan dosen dalam pelaksanaan skripsi agar proses penyusunan skripsi berjalan tertib, terarah, dan sesuai ketentuan akademik.",
"en": "This SOP aims to provide guidance to students and lecturers in the implementation of the thesis so that the thesis writing process runs in an orderly, directed, and academically compliant manner."
},
"requirements": [
"Telah lulus minimal 120 SKS",
"Memiliki IPK minimal 2,00",
"Telah lulus mata kuliah Penulisan Proposal Tugas Akhir dengan nilai minimal C",
"Telah mendaftarkan mata kuliah skripsi pada KRS",
"Telah menyiapkan judul dan proposal skripsi",
"Memiliki dosen pembimbing skripsi",
"Melengkapi berkas persyaratan"
{ "id": "Telah lulus minimal 120 SKS", "en": "Has passed a minimum of 120 credits (SKS)" },
{ "id": "Memiliki IPK minimal 2,00", "en": "Has a minimum GPA of 2.00" },
{ "id": "Telah lulus mata kuliah Penulisan Proposal Tugas Akhir dengan nilai minimal C", "en": "Has passed the Final Project Proposal Writing course with a minimum grade of C" },
{ "id": "Telah mendaftarkan mata kuliah skripsi pada KRS", "en": "Has registered the thesis course in the KRS" },
{ "id": "Telah menyiapkan judul dan proposal skripsi", "en": "Has prepared a thesis title and proposal" },
{ "id": "Memiliki dosen pembimbing skripsi", "en": "Has a thesis supervisor" },
{ "id": "Melengkapi berkas persyaratan", "en": "Completes the required documents" }
],
"procedures": [
"Mahasiswa mengajukan judul dan proposal skripsi",
"Program studi menetapkan dosen pembimbing skripsi",
"Mahasiswa melakukan bimbingan dan penyusunan skripsi",
"Mahasiswa mengajukan seminar atau sidang skripsi",
"Tim penguji dan pembimbing melaksanakan seminar skripsi",
"Mahasiswa melakukan revisi skripsi",
"Mahasiswa menyerahkan skripsi final"
{ "id": "Mahasiswa mengajukan judul dan proposal skripsi", "en": "Students submit the thesis title and proposal" },
{ "id": "Program studi menetapkan dosen pembimbing skripsi", "en": "The study program assigns a thesis supervisor" },
{ "id": "Mahasiswa melakukan bimbingan dan penyusunan skripsi", "en": "Students conduct supervision sessions and write the thesis" },
{ "id": "Mahasiswa mengajukan seminar atau sidang skripsi", "en": "Students apply for the thesis seminar or defense" },
{ "id": "Tim penguji dan pembimbing melaksanakan seminar skripsi", "en": "The examination committee and supervisor conduct the thesis seminar" },
{ "id": "Mahasiswa melakukan revisi skripsi", "en": "Students revise the thesis" },
{ "id": "Mahasiswa menyerahkan skripsi final", "en": "Students submit the final thesis" }
],
"staff_responsible": [
"👤 Staf Administrasi Informatika"
"👤 Staf Administrasi Informatika / Informatics Administrative Staff"
],
"additional_info": "Mahasiswa diberi waktu maksimal 2 semester untuk menyelesaikan Tugas Akhir. Perpanjangan dapat dilakukan dengan persetujuan tertulis dari Kaprodi dan Pembimbing."
"additional_info": {
"id": "Mahasiswa diberi waktu maksimal 2 semester untuk menyelesaikan Tugas Akhir. Perpanjangan dapat dilakukan dengan persetujuan tertulis dari Kaprodi dan Pembimbing.",
"en": "Students are given a maximum of 2 semesters to complete the Final Project. Extensions can be made with written approval from the Head of Study Program and the Supervisor."
}
},
{
"tab_id": "praktikum",
"tab_number": 6,
"category": "praktikum",
"icon": "fa-flask",
"title": "SOP Praktikum Mata Kuliah",
"description": "Mengatur tata cara pelaksanaan praktikum mata kuliah agar kegiatan praktikum berjalan tertib, aman, dan sesuai ketentuan pembelajaran.",
"purpose": "SOP ini bertujuan untuk menjelaskan tata cara pelaksanaan perkuliahan yang memiliki komponen praktikum pada semester berjalan.",
"title": {
"id": "SOP Praktikum Mata Kuliah",
"en": "Course Practicum SOP"
},
"description": {
"id": "Mengatur tata cara pelaksanaan praktikum mata kuliah agar kegiatan praktikum berjalan tertib, aman, dan sesuai ketentuan pembelajaran.",
"en": "Regulates the procedures for conducting course practicums so that practicum activities run in an orderly, safe, and learning-compliant manner."
},
"purpose": {
"id": "SOP ini bertujuan untuk menjelaskan tata cara pelaksanaan perkuliahan yang memiliki komponen praktikum pada semester berjalan.",
"en": "This SOP aims to explain the procedures for conducting courses that have a practicum component in the current semester."
},
"requirements": [
"Terdaftar sebagai peserta mata kuliah yang memiliki komponen praktikum pada semester berjalan",
"Mahasiswa membawa perlengkapan praktikum yang diperlukan"
{ "id": "Terdaftar sebagai peserta mata kuliah yang memiliki komponen praktikum pada semester berjalan", "en": "Registered as a participant in courses with a practicum component in the current semester" },
{ "id": "Mahasiswa membawa perlengkapan praktikum yang diperlukan", "en": "Students bring the required practicum equipment" }
],
"procedures": [
"Dosen mata kuliah menuntaskan pembahasan materi yang menjadi dasar praktikum",
"Mahasiswa mengisi daftar hadir dan menerima penjelasan prosedur praktikum",
"Mahasiswa melaksanakan praktikum sesuai modul di bawah pengawasan dosen atau asisten praktikum",
"Mahasiswa menyusun dan mengumpulkan laporan praktikum sesuai tenggat waktu",
"Dosen atau asisten melakukan penilaian laporan dan hasil praktikum sebagai komponen nilai akhir"
{ "id": "Dosen mata kuliah menuntaskan pembahasan materi yang menjadi dasar praktikum", "en": "The course lecturer completes the discussion of material that forms the basis of the practicum" },
{ "id": "Mahasiswa mengisi daftar hadir dan menerima penjelasan prosedur praktikum", "en": "Students fill in the attendance list and receive an explanation of the practicum procedures" },
{ "id": "Mahasiswa melaksanakan praktikum sesuai modul di bawah pengawasan dosen atau asisten praktikum", "en": "Students carry out the practicum according to the module under the supervision of the lecturer or practicum assistant" },
{ "id": "Mahasiswa menyusun dan mengumpulkan laporan praktikum sesuai tenggat waktu", "en": "Students compile and submit the practicum report by the deadline" },
{ "id": "Dosen atau asisten melakukan penilaian laporan dan hasil praktikum sebagai komponen nilai akhir", "en": "The lecturer or assistant grades the practicum report and results as a component of the final grade" }
],
"additional_info": "Mahasiswa wajib mengikuti seluruh ketentuan praktikum dan menjaga ketertiban serta keamanan selama kegiatan praktikum berlangsung."
"additional_info": {
"id": "Mahasiswa wajib mengikuti seluruh ketentuan praktikum dan menjaga ketertiban serta keamanan selama kegiatan praktikum berlangsung.",
"en": "Students must comply with all practicum regulations and maintain order and safety throughout the practicum activities."
}
},
{
"tab_id": "rekrut_asprak",
"tab_number": 7,
"category": "praktikum",
"icon": "fa-user-plus",
"title": "SOP Perekrutan Asisten Praktikum",
"description": "Prosedur perekrutan Asisten Praktikum (Aslab) mulai dari pendataan kebutuhan mata kuliah, proses seleksi, hingga pengumuman kelulusan.",
"purpose": "SOP ini bertujuan sebagai panduan baku untuk menyelenggarakan rekrutmen Asisten Praktikum secara transparan, guna menyaring mahasiswa Informatika UNTAN yang kompeten dan berkomitmen sesuai kualifikasi mata kuliah.",
"title": {
"id": "SOP Perekrutan Asisten Praktikum",
"en": "Practicum Assistant Recruitment SOP"
},
"description": {
"id": "Prosedur perekrutan Asisten Praktikum (Aslab) mulai dari pendataan kebutuhan mata kuliah, proses seleksi, hingga pengumuman kelulusan.",
"en": "The procedure for recruiting Practicum Assistants (Aslab), from identifying course needs and the selection process to announcing results."
},
"purpose": {
"id": "SOP ini bertujuan sebagai panduan baku untuk menyelenggarakan rekrutmen Asisten Praktikum secara transparan, guna menyaring mahasiswa Informatika UNTAN yang kompeten dan berkomitmen sesuai kualifikasi mata kuliah.",
"en": "This SOP aims to serve as a standard guide for conducting transparent Practicum Assistant recruitment, in order to select competent and committed Informatics UNTAN students according to course qualifications."
},
"requirements": [
"Mahasiswa aktif Program Studi Informatika UNTAN",
"Lulus mata kuliah terkait dengan nilai minimal ketentuan Dosen Pengampu",
"Berkomitmen mengikuti seluruh jadwal dan kontrak praktikum selama semester berjalan"
{ "id": "Mahasiswa aktif Program Studi Informatika UNTAN", "en": "Active student of the Informatics Study Program at UNTAN" },
{ "id": "Lulus mata kuliah terkait dengan nilai minimal ketentuan Dosen Pengampu", "en": "Passed the relevant course with a minimum grade as per the Lecturer's requirements" },
{ "id": "Berkomitmen mengikuti seluruh jadwal dan kontrak praktikum selama semester berjalan", "en": "Committed to following all practicum schedules and contracts throughout the current semester" }
],
"procedures": [
"Dosen mendata kebutuhan kuota dan kualifikasi Asisten Praktikum",
"Dosen mengumumkan pembukaan rekrutmen asisten praktikum",
"Mahasiswa mendaftarkan diri sesuai persyaratan yang diberikan",
"Dosen melakukan seleksi wawancara kepada calon asisten praktikum",
"Dosen mengumumkan calon yang diterima berdasarkan hasil seleksi"
{ "id": "Dosen mendata kebutuhan kuota dan kualifikasi Asisten Praktikum", "en": "The lecturer records the quota needs and qualifications for Practicum Assistants" },
{ "id": "Dosen mengumumkan pembukaan rekrutmen asisten praktikum", "en": "The lecturer announces the opening of Practicum Assistant recruitment" },
{ "id": "Mahasiswa mendaftarkan diri sesuai persyaratan yang diberikan", "en": "Students register according to the given requirements" },
{ "id": "Dosen melakukan seleksi wawancara kepada calon asisten praktikum", "en": "The lecturer conducts interview selection for practicum assistant candidates" },
{ "id": "Dosen mengumumkan calon yang diterima berdasarkan hasil seleksi", "en": "The lecturer announces the accepted candidates based on the selection results" }
],
"additional_info": "Keputusan hasil seleksi bersifat final dan ditetapkan oleh dosen pengampu mata kuliah. Asisten Praktikum yang terpilih wajib mematuhi seluruh ketentuan yang berlaku selama menjalankan tugas sebagai Asisten Praktikum."
"additional_info": {
"id": "Keputusan hasil seleksi bersifat final dan ditetapkan oleh dosen pengampu mata kuliah. Asisten Praktikum yang terpilih wajib mematuhi seluruh ketentuan yang berlaku selama menjalankan tugas sebagai Asisten Praktikum.",
"en": "The selection results are final and determined by the course lecturer. Selected Practicum Assistants must comply with all applicable regulations while performing their duties as Practicum Assistants."
}
},
{
"tab_id": "labkom",
"tab_number": 8,
"category": "praktikum",
"icon": "fa-desktop",
"title": "SOP Peminjaman Laboratorium Komputer",
"description": "Mengatur tata cara peminjaman dan penggunaan laboratorium komputer untuk mendukung kegiatan praktikum dan pembelajaran.",
"purpose": "SOP ini bertujuan menjelaskan tata cara peminjaman lab komputer dan memastikan peminjaman mendukung kelancaran proses belajar mengajar di Program Studi Informatika Universitas Tanjungpura.",
"title": {
"id": "SOP Peminjaman Laboratorium Komputer",
"en": "Computer Laboratory Borrowing SOP"
},
"description": {
"id": "Mengatur tata cara peminjaman dan penggunaan laboratorium komputer untuk mendukung kegiatan praktikum dan pembelajaran.",
"en": "Regulates the procedures for borrowing and using the computer laboratory to support practicum activities and learning."
},
"purpose": {
"id": "SOP ini bertujuan menjelaskan tata cara peminjaman lab komputer dan memastikan peminjaman mendukung kelancaran proses belajar mengajar di Program Studi Informatika Universitas Tanjungpura.",
"en": "This SOP aims to explain the procedures for borrowing the computer lab and to ensure that borrowing supports the smooth teaching and learning process in the Informatics Study Program at Tanjungpura University."
},
"requirements": [
"Melampirkan surat permohonan peminjaman laboratorium",
"Terdapat dosen atau asisten praktikum yang bertanggung jawab",
"Pengguna menaati tata tertib dan ketentuan penggunaan perangkat laboratorium"
{ "id": "Melampirkan surat permohonan peminjaman laboratorium", "en": "Attach a laboratory borrowing request letter" },
{ "id": "Terdapat dosen atau asisten praktikum yang bertanggung jawab", "en": "A responsible lecturer or practicum assistant is present" },
{ "id": "Pengguna menaati tata tertib dan ketentuan penggunaan perangkat laboratorium", "en": "Users comply with the rules and regulations for using laboratory equipment" }
],
"procedures": [
"Dosen atau mahasiswa mengajukan surat permohonan peminjaman laboratorium kepada pengelola",
"Pengguna menyampaikan jadwal penggunaan laboratorium",
"Pengelola menyusun jadwal penggunaan laboratorium",
"Laboratorium digunakan sesuai jadwal dan ketentuan yang berlaku"
{ "id": "Dosen atau mahasiswa mengajukan surat permohonan peminjaman laboratorium kepada pengelola", "en": "The lecturer or student submits a laboratory borrowing request letter to the management" },
{ "id": "Pengguna menyampaikan jadwal penggunaan laboratorium", "en": "The user submits the laboratory usage schedule" },
{ "id": "Pengelola menyusun jadwal penggunaan laboratorium", "en": "The management arranges the laboratory usage schedule" },
{ "id": "Laboratorium digunakan sesuai jadwal dan ketentuan yang berlaku", "en": "The laboratory is used according to the schedule and applicable regulations" }
],
"staff_responsible": [
"👤 Staf Laboratorium Informatika"
"👤 Staf Laboratorium Informatika / Informatics Laboratory Staff"
],
"additional_info": "Pengguna laboratorium wajib menjaga kebersihan, keamanan, dan kondisi perangkat laboratorium selama kegiatan berlangsung."
"additional_info": {
"id": "Pengguna laboratorium wajib menjaga kebersihan, keamanan, dan kondisi perangkat laboratorium selama kegiatan berlangsung.",
"en": "Laboratory users must maintain the cleanliness, safety, and condition of laboratory equipment throughout the activity."
}
}
]
+52 -13
View File
@@ -2,42 +2,81 @@
{
"id": 1,
"name": "Tuning Rahayu, S.Hut.",
"role": "Staf Administrasi Informatika",
"role": {
"id": "Staf Administrasi Informatika",
"en": "Informatics Administrative Staff"
},
"image": "assets/images/staff-female.png",
"location": "Ruang Administrasi Prodi Informatika",
"location": {
"id": "Ruang Administrasi Prodi Informatika",
"en": "Informatics Study Program Administration Room"
},
"contact_consent": true,
"phone": "6282350250892",
"schedule": [
{
"day": "Senin Jumat",
"day": {
"id": "Senin Jumat",
"en": "Monday Friday"
},
"time": "07.3016.00 WIB",
"break": "istirahat 12.0013.00 WIB"
"break": {
"id": "istirahat 12.0013.00 WIB",
"en": "break 12.0013.00 WIB"
}
}
],
"tasks": [
"Administrasi mahasiswa",
"Informasi berkas akademik"
{
"id": "Administrasi mahasiswa",
"en": "Student administration"
},
{
"id": "Informasi berkas akademik",
"en": "Academic document information"
}
]
},
{
"id": 2,
"name": "Mahyus Safutra, A.Md.",
"role": "Staf Laboratorium Informatika",
"role": {
"id": "Staf Laboratorium Informatika",
"en": "Informatics Laboratory Staff"
},
"image": "assets/images/staff-male.png",
"location": "Laboratorium Informatika",
"location": {
"id": "Laboratorium Informatika",
"en": "Informatics Laboratory"
},
"contact_consent": true,
"phone": "895338672533",
"schedule": [
{
"day": "Senin Jumat",
"day": {
"id": "Senin Jumat",
"en": "Monday Friday"
},
"time": "07.3016.00 WIB",
"break": "istirahat 12.0013.00 WIB"
"break": {
"id": "istirahat 12.0013.00 WIB",
"en": "break 12.0013.00 WIB"
}
}
],
"tasks": [
"Pengelolaan laboratorium",
"Dukungan praktikum",
"Peminjaman ruangan dan alat"
{
"id": "Pengelolaan laboratorium",
"en": "Laboratory management"
},
{
"id": "Dukungan praktikum",
"en": "Practicum support"
},
{
"id": "Peminjaman ruangan dan alat",
"en": "Room and equipment borrowing"
}
]
}
]
+8 -4
View File
@@ -1226,12 +1226,15 @@
</div>
<div class="sop-filter-chips" id="sop-filter-chips" role="group"
aria-label="Filter kategori SOP">
<button class="sop-chip active" data-filter="semua" id="chip-semua" data-i18n="grp_c4a_sop_chip_semua">Semua</button>
<button class="sop-chip active" data-filter="semua" id="chip-semua"
data-i18n="grp_c4a_sop_chip_semua">Semua</button>
<button class="sop-chip" data-filter="akademik" id="chip-akademik">
<i class="fas fa-graduation-cap"></i> <span data-i18n="grp_c4a_sop_chip_akademik">Akademik</span>
<i class="fas fa-graduation-cap"></i> <span
data-i18n="grp_c4a_sop_chip_akademik">Akademik</span>
</button>
<button class="sop-chip" data-filter="praktikum" id="chip-praktikum">
<i class="fas fa-flask"></i> <span data-i18n="grp_c4a_sop_chip_praktikum">Praktikum</span>
<i class="fas fa-flask"></i> <span
data-i18n="grp_c4a_sop_chip_praktikum">Praktikum</span>
</button>
</div>
</div>
@@ -1269,7 +1272,8 @@
<section class="faq-section-wrap">
<div class="faq-section-inner">
<div class="faq-header reveal">
<div class="section-tag"><span class="dot"></span> <span data-i18n="grp_c4a_faq_tag">Pertanyaan Umum</span></div>
<div class="section-tag"><span class="dot"></span> <span
data-i18n="grp_c4a_faq_tag">Pertanyaan Umum</span></div>
<h2 data-i18n="grp_c4a_faq_title">Pertanyaan yang Sering Diajukan</h2>
<p data-i18n="grp_c4a_faq_subtitle">Temukan jawaban cepat atas pertanyaan umum mahasiswa
seputar layanan akademik prodi.</p>
+1 -1
View File
@@ -48,7 +48,7 @@ async function initApp() {
initAnimations();
}, 100);
} catch (error) {
console.error('Terjadi kesalahan saat menginisialisasi aplikasi C4A:', error);
console.error('Terjadi kesalahan saat menginisialisasi halaman:', error);
}
}
+26 -14
View File
@@ -13,14 +13,23 @@ function t(key, fallback) {
}
/**
* Helper untuk melokalisasi teks dari objek bilingual {id, en} atau string biasa.
* @param {string|Object} field - Data teks (bisa string biasa atau objek {id, en})
* @returns {string} Teks terlokalisasi
* Mendapatkan bahasa aktif dari localStorage atau default 'id'.
* @returns {'id'|'en'} Kode bahasa aktif
*/
function getLang() {
return localStorage.getItem('if_untan_lang') || 'id';
}
/**
* Mengambil teks dari field bilingual JSON { id: '...', en: '...' }.
* Jika field bukan objek (string lama / belum diupdate), kembalikan apa adanya.
* @param {string|Object} field - Field data dari JSON
* @returns {string} Teks sesuai bahasa aktif
*/
function loc(field) {
if (!field) return '';
if (typeof field === 'object') {
const lang = (window.getLang && typeof window.getLang === 'function') ? window.getLang() : 'id';
if (typeof field === 'object' && field !== null) {
const lang = getLang();
return field[lang] || field['id'] || '';
}
return String(field);
@@ -112,10 +121,13 @@ export function renderStaffCards(staffs) {
tasks
} = staff;
const roleText = loc(role);
const locationText = loc(location);
const scheduleHTML = schedule.map(sched =>
`<div class="schedule-item">` +
`<span class="s-day">${loc(sched.day)}</span>` +
`<span class="s-time">${loc(sched.time)} <span class="s-break">| ${loc(sched.break)}</span></span>` +
`<span class="s-day">${loc(sched.day)}</span>` +
`<span class="s-time">${loc(sched.time)} <span class="s-break">| ${loc(sched.break)}</span></span>` +
`</div>`
).join('');
@@ -138,12 +150,12 @@ export function renderStaffCards(staffs) {
</div>
<div>
<div class="staff-name">${loc(name)}</div>
<div class="staff-role">${loc(role)}</div>
<div class="staff-role">${roleText}</div>
</div>
</div>
<div class="staff-card-body">
<div class="staff-info-grid">
<div class="staff-info-item"><span class="icon">📍</span><div><span class="label">${t('grp_c4a_label_location', 'Lokasi')}</span><span class="val">${loc(location)}</span></div></div>
<div class="staff-info-item"><span class="icon">📍</span><div><span class="label">${t('grp_c4a_label_location', 'Lokasi')}</span><span class="val">${locationText}</span></div></div>
<div class="staff-info-item">
<span class="icon">🕒</span>
<div style="flex:1">
@@ -214,11 +226,12 @@ function buildSopCard(sop) {
procedures
} = sop;
const catLabel = getCatLabel(category);
const catClass = CATEGORY_COLORS[category] || '';
const titleText = loc(title);
const descText = loc(description);
const catLabel = getCatLabel(category);
const catClass = CATEGORY_COLORS[category] || '';
return `
<article class="sop-grid-card reveal" data-tab-id="${tabId}" data-category="${category}" data-title="${titleText.toLowerCase()}">
<div class="sgc-header">
@@ -263,14 +276,13 @@ function buildSopModalContent(sop) {
additional_info: additionalInfo
} = sop;
const catLabel = getCatLabel(category);
const catClass = CATEGORY_COLORS[category] || '';
const titleText = loc(title);
const descText = loc(description);
const purposeText = loc(purpose);
const additionalInfoText = loc(additionalInfo);
const catLabel = getCatLabel(category);
const catClass = CATEGORY_COLORS[category] || '';
const reqsHTML = requirements.map(req => `<li>${loc(req)}</li>`).join('');
const procsHTML = procedures.map(proc => `<li>${loc(proc)}</li>`).join('');