Penampil sederhana untuk menyajikan matakuliah TPB ITB dalam kurikulum 2019 [1], yang dapat dibuat menggunakan JS.
Kode, nama, dan jumlah SKS tiap matakuliah dapat diperoleh dengan mengubah pilihan F/S.
Terdapat beberapa kelas yang digunakan untuk membuat tampilan di atas, yaitu kelas Course
class Course {
constructor(code, name, credit) {
this.code = code;
this.name = name;
this.credit = credit;
}
};
kelas Semester
class Semester {
constructor(term, courses) {
this.term = term;
this.courses = [];
if(arguments.length > 1) {
this.courses = courses.split(" ");
}
this.credit = 0;
}
addCourse(course) {
this.courses.push(course);
}
getCredit() {
var N = this.courses.length;
var cre = 0;
for(var i = 0; i < N; i++) {
var c = getCourse(this.courses[i]).from(courses).credit;
cre += c;
}
this.credit = cre;
return this.credit;
}
};
dan kelas Curriculum
class Curriculum {
constructor(name) {
this.name = name;
this.semesters = [];
}
addSemester(term, courses) {
var s = new Semester(term, courses);
this.semesters.push(s);
}
};
serta beberapa fungsi
function createCourse(info) {
var s = info.split("\t");
if(info.length > 0 && s.length > 1) {
var c = new Course(s[0], s[1], parseInt(s[2]));
courses.push(c);
}
}
function getCourse(code) {
var o = {
from(courses) {
var N = courses.length;
var c;
for(var i = 0; i < N; i++) {
if(code == courses[i].code) {
c = courses[i];
break;
}
}
return c;
}
}
return o;
}
function getSemester(term) {
var o = {
from(semesters) {
var s;
N = semesters.length;
for(var i = 0; i < N; i++) {
if(term == semesters[i].term) {
s = semesters[i];
break;
}
}
return s;
}
}
return o;
}
function getCurriculum(name) {
var o = {
from(faculties) {
var f;
N = faculties.length;
for(var i = 0; i < N; i++) {
if(name == faculties[i].name) {
f = faculties[i];
break;
}
}
return f;
}
}
return o;
}
function strCurriculum0(curriculum) {
var sem = curriculum.semesters;
var str = "";
str += curriculum.name + "\n";
for(var i = 0; i < sem.length; i++) {
str += "Semester " + sem[i].term + "\n";
var cou = sem[i].courses;
for(var j = 0; j < cou.length; j++) {
var c = getCourse(cou[j]).from(courses);
str += c.code + "\t";
str += c.name + "\t";
str += c.credit + "\n";
}
}
return str;
}
untuk menggakan kelas-kelas di sebelumnya. Beberapa fungsi dapat dintegrasikan ke dalam kelas terkait, yang mungkin akan dilakukan dalam versi berikutnya. Penggunaan larik global, e.g. courses
, curriculums
juga akan ditinjau ulang.
Kode lengkap dapat diperoleh [2] dan dapat dimodifikasi. Digunakan dengan cara meletakkan baris berikut
<script src="js-view-tpb-curriculum.js"></script>
dalam suatu berkas HTML setelah berkas JS js-view-tpb-curriculum.js
tersebut disimpan pada link tertentu agar dapat dipanggil seperti potongan kode di atas.