Anda di halaman 1dari 14

TUGAS SESI 11 ALGORITMA KJ03 CCC110

TUGAS KELOMPOK
ADRIEL, AGUNG, FISABILIA, KHALID, MUTIARA,
WIRANATA
PROGRAM STUDI SISTEM INFORMASI
FAKULTAS ILMU KOMPUTER
1. Buatlah simpulan mengenai pengertian Algoritma Penjadwalan sebagai pembekalan
dan pemantapan kemampuan.
Jawaban :
Penjadwalan berkaitan dengan permasalahan memutuskan proses mana yang akan
dilaksanakan dalam suatu sistem. Proses yang belum mendapat jatah alokasi dari CPU
akan mengantri di ready queue. Algoritma penjadwalan berfungsi untuk menentukan
proses manakah yang ada di ready queue yang akan dieksekusi oleh CPU.

2. Jelaskan secara singkat pola Algoritma Penjadwalan FCFS sebagai pembekalan dan
pemantapan kemampuan.
Jawaban :
Algoritma Penjadwalan FCFS merupakan algoritma penjadwalan yang paling
sederhana yang digunakan CPU.
Dengan menggunakan algoritma ini setiap proses yang berada pada status read
dimasukkan kedalam FIFO queue atau antrian dengan prinsip first in first out, sesuai
dengan waktu kedatangannya. Proses yang tiba terlebih dahulu yang akan dieksekusi.
Contohnya :
Ada tiga buah proses yang datang secara bersamaan yaitu pada 0 ms, P1 memiliki
burst time 24 ms, P2 memiliki burst time 3 ms, dan P3 memiliki burst time 3 ms.
Hitunglah waiting time rata-rata dan turnaround time (burst time + waiting time) dari
ketiga proses tersebut dengan menggunakan algoritma FCFS.

Waiting time untuk P1 adalah 0 ms (P1 tidak perlu menunggu), sedangkan untuk P2
adalah sebesar 24 ms (menunggu P1 selesai), dan untuk P3 sebesar 27 ms (menunggu
P1 dan P2 selesai).

Urutan kedatangan adalah P1, P2 , P3; gantt chart untuk urutan


ini adalah:
Waiting time rata-ratanya adalah sebesar(0+24+27)/3 = 17ms. Turnaround time untuk
P1 sebesar 24 ms, sedangkan untuk P2 sebesar 27 ms (dihitung dari awal kedatangan
P2 hingga selesai dieksekusi), untuk P3 sebesar 30ms. Turnaround time rata – rata
untuk ketiga proses tersebut adalah (24+27+30)/3 = 27 ms.
Tugas Perkelompok

Masing-masing kelompok mencari kasus penerapan array dan fungsi dalam satu kasus,
penyelesaian masalah dengan algoritma dan mengikuti tahapan perancangan algoritma.

Anggota Kelompok :

- Adriel Savero (20200803069)


- Agung Dwi Sahputra (20200803125)
- Fisabilia Adipati Ruslan (20200803062)
- Khalid Fadillah (20200803077)
- Mutiara Nur Alamsyah Atjamalia (20200803071)
- Wiranata Sutoyo (20200803066)

Kasus yang diambil : Membuat Grafik nilai Mahasiswa pada satu semester yang ditentukan
secara manual dengan rentang nilai 0-30, 31-40, 41-50, 51-60, 61-70, 71-80, 81-90, dan 91-
100.
Penyelesaian :

➢ Pseudocode
Deklarasi : mhs[8], smstr, i, j adalah integer

Input()
1. Input i
2. Return i
END

InputMHS(i, smstr, mhs[])


1. IF i = 0 THEN
2. Print “Nilai” i*10 “-” (i+3)*10 “ Pada Semester ” smstr “ : ”
ELSE
3. Print "Nilai " ((i+2)*10)+1 "-" (i+3)*10 " Pada Semester " smstr " : "
4. mhs[i] = Input()
END

CetakGrafik(mhs[], i)
1. FOR(j0; ;j<mhs[i];j=j+1)
2. Print “*”
END FOR
END

CetakNilai(i)
1. IF i = 0 THEN
2. Print i*10 "-" (i+3)*10 " : "
3. ELSE IF i = 7 THEN
4. Print ((i+2)*10)+1 "-" (i+3)*10 " : "
ELSE
5. Print ((i+2)*10)+1 "-" (i+3)*10 " : "
END

main()
1. Print “Semester keberapa? : ”
2. smstr = Input()
3. FOR(i0; ;i<8;i=i+1)
4. InputMHS(i, smstr, mhs)
END FOR
5. Print “”
6. Print “Grafik :”
7. FOR(i0; ;i<8;i=i+1)
8. CetakNilai(i)
9. CetakGrafik(mhs, i)
10. Print “”
END FOR
END
➢ Desk Checking

InputMHS(i, smstr, main()


Input() CetakGrafik(mhs[],i) CetakNilai(i)
N mhs[])
O input return i = mh j<=mhs[ i= i= InputMHS(I, CetakNi CetakGrafik(
Print j j++ Print Print smstr i i<8 i++ Print
i i 0 s[i] i] 0 7 smstr, mhs) lai(i) mhs, i)
Semester
1 keberapa
?:
1 1
2 1
2 1
3 0 Ya 1
1 ya
Nilai 0 – 30
2 pada
semester 1:
1 0
2 0
4 0
Nilai 0 – 30
4 pada semester
1: 0
3 1 Ya 2
N
1
o
Nilai 31 - 40
3 pada
semester 1:
1 0
2 0
4 0
Nilai 31 – 40
4 pada semester
1: 0
3 2 Ya 3
N
1
o
Nilai 41 – 50
3 pada
semester 1:
1 5
2 5
4 5
Nilai 41 – 50
4 pada semester
1: 5
3 3 Ya 4
N
1
o
Nilai 51 – 60
3 pada
semester 1:
1 3
2 3
4 3
Nilai 51 – 60
4 pada semester
1: 3
3 4 Ya 5
N
1
o
Nilai 61 – 70
3 pada
semester 1:
1 1
2 1
4 1
Nilai 61 – 70
4 pada semester
1: 1
3 5 Ya 6
N
1
o
Nilai 71 – 80
3
pada
semester 1:
1 4
2 4
4 4
Nilai 71 – 80
4 pada semester
1: 4
3 6 Ya 7
N
1
o
Nilai 81 – 90
3 pada
semester 1:
1 6
2 6
4 6
Nilai 81 – 90
4 pada semester
1: 6
3 7 Ya 8
N
1
o
Nilai 91 –
3 100 pada
semester 1:
1 5
2 5
4 5
Nilai 91 – 100
4 pada semester
1: 5
3 8 No 9
5
6 Grafik :
7 0 Ya 1
1 Ya
2 0 – 30 :
8 0 - 30 :
1 0 No 1
9
1
0
7 1 Ya 2
N
1
o
N
3
o
5 31-40 :
8 31-40 :
1 0 No 1
9
1
0
7 2 Ya 3
N
1
o
N
3
o
5 41–50 :
8 41–50 :
1 0 Ya 1
2 *
1 1 Ya 2
2 *
1 2 Ya 3
2 *
1 3 Ya 4
2 *
1 4 Ya 5
2 *
1 5 No 6
9 *****
1
0
7 3 Ya 4
N
1
o
N
3
o
5 51–60 :
8 51–60 :
1 0 Ya 1
2 *
1 1 Ya 2
2 *
1 2 Ya 3
2 *
1 3 No 4
9 ***
1
0
7 4 Ya 5
N
1
o
N
3
o
5 61–70 :
8 61-70 :
1 0 Ya 1
2 *
1 1 No 2
9 *
1
0
7 5 Ya 6
N
1
o
N
3
o
5 71–80 :
8 71–80 :
1 0 Ya 1
2 *
1 1 Ya 2
2 *
1 2 Ya 3
2 *
1 3 Ya 4
2 *
1 4 No 5
9 ****
1
0
7 6 Ya 7
N
1
o
N
3
o
5 81–90 :
8 81–90 :
1 0 Ya 1
2 *
1 1 Ya 2
2 *
1 2 Ya 3
2 *
1 3 Ya 4
2 *
1 4 Ya 5
2 *
1 5 Ya 6
2 *
1 6 No 7
9 ******
1
0
7 7 Ya 8
N
1
o
Y
3
a
5 91–100 :
91–100
8
:
1 0 Ya 1
2 *
1 1 Ya 2
2 *
1 2 Ya 3
2 *
1 3 Ya 4
2 *
1 4 Ya 5
2 *
1 5 No 6
9 *****
1
0
7 8 No 9
➢ Code Program
#include<iostream>
using namespace std;

int Input(){
int i;
cin >> i;

return i;
}

void InputMHS(int i, int smstr, int mhs[]){


if(i == 0){
cout << "Nilai " << i*10 << "-" << (i+3)*10 << " Pada Semester " << smstr << "
: ";
}else{
cout << "Nilai " << ((i+2)*10)+1 << "-" << (i+3)*10 << " Pada Semester " <<
smstr << " : ";
}
mhs[i] = Input();
}

void CetakGrafik(int mhs[], int i){


for(int j=0;j<mhs[i];j++){
cout << "*";
}
}

void CetakNilai(int i){


if(i == 0){
cout << i*10 << "-" << (i+3)*10 << " : ";
}else if(i == 7){
cout << ((i+2)*10)+1 << "-" << (i+3)*10 << " : ";
}else{
cout << ((i+2)*10)+1 << "-" << (i+3)*10 << " : ";
}
}

int main(){
int mhs[8], smstr;

cout << "Semester keberapa? : ";


smstr = Input();
for(int i=0;i<8;i++){
InputMHS(i, smstr, mhs);
}
cout << endl;
cout << "Grafik :" << endl;
for(int i=0;i<8;i++){
CetakNilai(i);
CetakGrafik(mhs, i);
cout << endl;
}

return 0;
}

➢ Hirarki Chart

main()

Input()

CetakGrafik() CetakNilai()

InputMHS()
➢ Flowchart

Anda mungkin juga menyukai