Sesi 39 - Membuat program pengelolaan penumpang Angkot dengan Javascript

September 23, 2018 by

Disini ada denah tempat duduk, yang diarsir gelap untuk sopir dan tempat duduk penumpang dibagi beberapa bagian. Diwakilkan sebagai angka dan akan diubah sebagai array di dalam program javascript nanti.
Code:
var penumpang =[]; // array kosong blm ada isi penumpang didlm angkot

Pengelolaan penumpang 
=> Penumpang naik => diwakilkan dengan fungsi tambahPenumpang()
=> Penumpang Turun => diwakilkan dengan fungsi hapusPenumpang()

1. Fungsi tambahPenumpang() akan menerima 2 buah parameter yaitu:
a. namaPenumpang
b. array penumpang
   Aturan:
1. Jika angkotnya kosong, penumpang naik duduk di kursi pertama.
2. Penumpang berikutnya duduk dikursi selanjutnya secara berurutan
3. Jika ada kursi kosong(karena penumpang turun), penumpang yang naik berikutnya duduk di kursi kosong terlebih dahulu.
4. Asumsi kursi tidak akan penuh dan akan bertambah terus jika ada penumpang naik.
5. namaPenumpang tidak boleh sama, untuk menghindari kebingunagna ketika nanti membuat fungsi untuk penumpang ketika turun, karena informasi yang dimiliki sekarang hanya namaPenumpang, jika sistemnya lebih kompleks nanti ada id, jika namaPenumpang sama maka dianggap orangnya sama.
tambahPenumpang() - TEST CASE 1
var penumpang = [];
misal ditulis di console 
tambahPenumpang('Riventus',penumpang); => ["Riventus"]
tambahPenumpang('Armandus',penumpang); => {2}["Riventus","Armandus"]
tambahPenumpang() - TEST CASE 2
misal awal sudah ada penumpang , kemudian ada penumpang turun sehingga ada kursi yang kosong. Perwakilan array pada kursi yang kosong yaitu nilai undefined. Contoh:
var penumpang =['Riventus',undefined,'Armandus'];
maka jika ada penumpang naik maka 

tambahPenumpang('Aritonang',penumpang);
akan menduduki array yang kosong terlebih dahulu sehingga akan menjadi {3}['Riventus','Aritonang','Armandus']
jika ditambah penumpang lagi maka akan duduk diarray setelah array terakhir.

tambahPenumpang() - TEST CASE 3
Jika ada penumpang naik dengan nama yang sama dengan penumpang di dalam angkot maka diberikan informasi bahwa namaPenumpang yang naik sudah ada didalam angkot.

PSEUDO CODE
var penumpang=[];
var tambahPenumpang = function(namaPenumpang,penumpang){
//Jika angkot kosong
//tambah penumpang di awal array
//kembalikan isi array dan keluar dari function
//else
//telusuri seluruh kursi dari awal 
//Jika ada kursi kosong
//tambahPenumpang di kursi tersebut
//kembalikan isi array dan keluar dari function
//Jika ada nama yang sama 
//tampilkan pesan kesalahannya
//kembalikan isi array dan keluar dari function
//Jika seluruh kursi terisi
//tambahPenumpang diakhir array
//kembalikan isi array dan keluar dari function
}

CODE
var penumpang=['Riventus',undefined,'Aritonang'];
var tambahPenumpang = function(namaPenumpang,penumpang){
//Jika angkot kosong
if(penumpang.length==0){
//tambah penumpang di awal array
penumpang.push(namaPenumpang);
//kembalikan isi array dan keluar dari function
return.penumpang;
}
else{
for(var i=0;i<penumpang.length;i++){
//telusuri seluruh kursi dari awal 
//Jika ada kursi kosong
if(penumpang[i]==undefined){
//tambahPenumpang di kursi tersebut
penumpang[i] = namaPenumpang;
//kembalikan isi array dan keluar dari function
return.penumpang
}//Jika ada nama yang sama 
elseif(penumpang[i]==namaPenumpang){
//tampilkan pesan kesalahannya
console.log(namaPenumpang+' sudah ada di dalam angkot');
//kembalikan isi array dan keluar dari function
return penumpang;
}//Jika seluruh kursi terisi
elseif(i==penumpang.length-1){
//tambahPenumpang diakhir array
penumpang.push(namaPenumpang);
//kembalikan isi array dan keluar dari function
return penumpang;
}
}
}
}

0 comments:

Post a Comment