Anda di halaman 1dari 23

1

LAPORAN PEMODELAN DAN SIMULASI


“Simulasi Penerbangan Pesawat Terbang”

Disusun oleh:

Putu Mas Anggita Putra 1708561007


I Gusti Ayu Purnami Indryaswari 1708561009
I Gede Teguh Satya Dharma 1708561019

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS UDAYANA
BADUNG
TAHUN 2019
i

KATA PENGANTAR

Sehubungan dengan berjalannya mata kuliah Pemodelan dan Simulasi


Komputer, penulis menyusun laporan ini berdasarkan kegiatan praktikum yang
sudah di alami penulis. Dalam menyusun laporan ini, penulis mendapatkan
referensi dari kegiatan praktikum yang dijalani.

Penulis menyadari bahwa laporan ini belum sempurna, oleh karena itu
penulis meminta maaf dan mengharap kritik saran yang membangun dari semua
pihak yang membutuhkan laporan ini. Sebagai akhir kata, penulis berharap, semoga
laporan ini dapat memberi manfaat bagi semua pihak yang membutuhkannya.

Badung,14 Oktober 2019


Penulis,

Kelompok

i
ii

DAFTAR ISI

KATA PENGANTAR ............................................................................................. i


DAFTAR ISI ........................................................................................................... ii
BAB I DESKRIPSI SIMULASI ............................................................................ 1
BAB II MODEL ..................................................................................................... 2
BAB III IMPLEMENTASI DAN PEMBAHASAN .............................................. 4
BAB IV KESIMPULAN ...................................................................................... 19
DAFTAR PUSTAKA ........................................................................................... 20

ii
BAB I
DESKRIPSI SIMULASI

Simulasi ini dilakukan untuk mengetahui jumlah runway yang dibutuhkan


agar waktu tunggu dari setiap pesawat tidak terlalu lama. Dari soal sudah
diketahui bahwa waktu yang diperlukan pesawat besar selama di landasan
(runway) adalah selama 2.5 menit dan waktu yang diperlukan pesawat kecil
selama di landasan (runway) adalah selama 1.5 menit. Selain itu diketahui
bahwa banyak pesawat kecil adalah 70% dari jumlah pesawat besar. Diketahui
juga waktu kedatangan diantara pesawat besar dan pesawat kecil adalah
sebagai berikut:

Untuk melakukan Simulasi, pertama harus dicari terlebih dahulu waktu


kedatangan dari masing-masing pesawat berdasarkan tabel diatas. Setelah itu
dilakukan simulasi untuk mengetahui waktu tunggu yang didapat masing-
masing pesawat berdasarkan dari waktu kedatangan yang sudah didapatkan
dan waktu yang diperlukan masing-masing pesawat selama di landasan.
Simulasi untuk mencari waktu tunggu dilakukan dengan cara membandingkan
jumlah landasan (runway) yang berbeda. Disini kami membandingkan
landasan (runway) yang berjumlah satu dan dua. Setelah mendapatkan waktu
tunggu dari masing-masing pesawat, selanjutnya yang dilakukan adalah
mencari rata-rata waktu tunggu berdasarkan jumlah landasan (runway). Setelah
mendapatkan rata-rata waktu tunggu, selanjutnya dilakukan perbandingan
untuk mengetahui apakah penambahan landasan (runway) diperlukan atau
tidak.

1
BAB II
MODEL

Model dengan Jumlah Landasan


(Runway) adalah 1

Start

Pesawat
Datang

Apakah Pesawat
Landasan No Menunggu
Kosong Landing

Yes

Pesawat
Landing

Pesawat
Melakukan
Persiapan

Apakah Pesawat
Landasan No Menunggu
Kosong Take Off

Yes

Pesawat Take
End
Off

2
3

Model dengan Jumlah Landasan


(Runway) adalah 2

Start

Pesawat
Datang

Apakah Apakah Pesawat


Landasan 1 No Landasan 2 No Menunggu
Kosong Kosong Landing

Yes

Pesawat
Yes
Landing

Pesawat
Melakukan
Persiapan

Apakah Apakah Pesawat


Landasan 1 No Landasan 2 No Menunggu
Kosong Kosong Take Off

Yes

Pesawat Take
End Yes
Off
4

BAB III
IMPLEMENTASI DAN PEMBAHASAN

3.1 Pembahasan Soal 2.3


A. Inter-arrival time.
Diketahui distribusi untuk inter arrival time sebagai berikut:
Time between arrival for landing (minutes) Percentage
2-3 30%
3-4 35%
4-5 25%
5-6 10%

a. Melakukan pembangkitan bilangan acak sebagai sampel


40 95 50 5
71 26 81 36
2 57 12 67
33 88 43 98
64 19 74 29

b. Tabel Hubungan Bilangan Acak Hingga Sampel Waktu Kedatangan


Random Numbers Inter-arrival
time (minutes)
00 – 29 2–3
30 – 64 3–4
65 – 89 4–5
90 – 99 5–6
Untuk interval kelas bilangan acak diatas, berpatokan pada distribusi
inter arrival- time. Dalam pembangkitan bilangan acak dari rentang 0-99
menggunakan 100 buah bilangan, dapat ditentukan interval kelas dengan
cara sebagai berikut:
Untuk waktu kedatangan pada menit 2 – 3 dengan presentase 30% dapat
dihitung, 30% x 100 = 30 (karena dimulasi dari 0 maka rentang kelas
yang didapat adalah 00 – 29 ).
Untuk waktu kedatangan pada menit 3 – 4 dengan presentase 35% dapat
dihitung, 35% x 100 = 35 (interval kelasnya adalah dimulai dari 30
hingga 64).
Untuk waktu kedatangan pada menit 4 – 5 dengan presentase 25% dapat
dihitung, 25% x 100 = 25 (interval kelas yang didapat adalah dimulai
dari 65 hingga 89).
5

Untuk waktu kedatangan pada menit 5 – 6 dengan presentase 10% dapat


dihitung, 10% x 100 = 10 (sehingga interval kelas yang didapat adalah
dari 90 – 99)

c. Tabel inter-arrival time of the first 10 arrivals : sampled using random


numbers

Pesawat First Random Inter-arrival Second Inter-arrival


time range Random time
Number (Row 3)
Number (minutes)
(Row 5)
P1 40 3–4 50 4
P2 71 4–5 81 5
P3 2 2–3 12 3
P4 33 3–4 43 4
P5 64 3–4 74 4
P6 95 5–6 5 5
P7 26 2–3 36 3
P8 57 3–4 67 4
P9 88 4–5 98 5
P10 19 2–3 29 3
Mean 4,0
Berdasarkan pengujian menggunakan metode variability, diperoleh
hasil inter-arrival time sebesar 4 menit.
2. Aeroplane Size
Diketahui distribusi untuk frekuensi ukuran pesawat sebagai berikut:

Plane Percentage
Sizes
S 7
m
L 30
a %0
a. Melakukan pembangkitan 10 bilangan acak sebagai sampel
rl %
40 71gl 2 33 64 95 26 57 88 19
e
b. Tabel Hubungan Bilangan Acak Hingga Sampel Waktu Kedatangan
Untuk mendapatkan interval kelas bilanagn acak, kita asumsikan jika
banyak pesawat adalah 100. Pada kasus ini, diketahui jika presentase
perbandingan pesawat besar dan kecil adalah 30% dan 70% oleh karena
itu dapat dilakukan perhitungan sebagai berikut :
70% x 100 = 70 (karena dimulai dari 0, maka interval kelas untuk
pesawat kecil
6

adalah 70 – 1 = 69 sehingga menjadi 0 – 69). Untuk pesawat besar, 100


– 70 = 30 (interval untuk kelas pesawat besar dimulai dari 70 sampai 99).
Untuk lebih jelasnya dapat melihat tabel dibawah ini
Random Numbers Plane Size
00 – 69 Small
70-99 Large
c. Tabel plane size of the first 10 arrivals : sampled using random numbers

Random Number Plane Size


40 Small
71 Large
2 Small
33 Small
64 Small
95 Large
26 Small
57 Small
88 Large
19 Small
Berdasarkan pengujian menggunakan metode variability, diperoleh
hasil plane
size 3 pesawat ukuran large dan 7 pesawat ukuran small.
B. Simulate a period of operation at the airport.
Tabel Interval Untuk B1
Pesawat First Random Inter-arrival Second Inter-arrival
Number (Row 3) time range Random time
Number (minutes)
(Row 5)
P1 40 3–4 57 4
P2 71 4–5 88 5
P3 2 2–3 19 3
P4 33 3–4 50 4
P5 64 3–4 81 4
P6 95 5–6 12 5
P7 26 2–3 43 3
Mean 4,0
7

Tabel Interval Untuk B2


Pesawat First Random Inter-arrival Second Inter-arrival
time range Random time
Number (Row 1)
Number (minutes)
(Row 4)
P1 74 4–5 6 4
P2 5 2–3 97 3
P3 36 3–4 298 3
Mean 3,3

Tabel Ukuran Pesawat


Random Number Plane Size
40 Small
71 Large
2 Small
33 Small
64 Small
95 Large
26 Small
57 Small
88 Large
19 Small
Diperoleh 3 pesawat berukuran large dan 7 pesawat berukuran small

- Tabel Simulasi dengan Jumlah Landasan (Runway) adalah 1

Take
Time Arival Take
Arrival Landing Prepare Off
(minutes) Queue Off
Queue
4 S1(B1) S1(C1)

5,5 S1(B3) S1(C3)

7,3 L1(B2) L1(C2)

9,5 L1 S1(B5) S1(C7)

9,8 L1(B4) L1(C3) S1(C4)

11,3 S2(B1) S2(C1) S1(B6)


8

12,8 S2(B3) S2(C3)

13,8 L1(B5) L1(C5)

15,3 S3(B1) S3(C6) L1

16,3 S3(C1) L1(B7)

16,8 S3 S2(B5) S2(C7)

17,8 S3(B3) S3(C3) S2(C4)

19,3 S4(B1) S4(C1) S2(B6)

20,8 S4(B3) S4(C3)

21,8 S3(B5) S3(C4)

22,6 L2(B2) L2(C6) S3

23,3 L2(C2) S3(B6)

24,8 L2 S4(B5) S4(C7)

25,8 L2(B4) L2(C3) S4(C4)

26,6 S5(B1) S5(C6) S4

27,3 S5(C1) S4(B6)

28,8 S5(B3) S5(C3)

29,8 L2(B5) L2(C5)

30,6 S6(B1) S6(C6) L2

32,3 S6(C1) L2(B7)

32,8 S6 S5(B5) S5(C7)

33,8 S6(B3) S6(C3) S5(C4)

33,9 L3(B2) L3(C6) S5

35,3 L3(C2) S5(B6)


9

L3(C3),
37,8 L3(B4) S6(C4)
S6(B5)

37,9 S7(B1) S7(C6) S6

39,3 S7(C1) S6(B6)

40,8 S7(B3) S7(C3)

41,8 L3(B5) L3(C5)

44,3 L3(B7)

44,8 S7(B5) S7(C4)

46,3 S7(B7)

- Tabel Simulasi dengan Jumlah Landasan (Runway) adalah 2


Time Arival Take Off Take Off Take Off
Arrival Landing 1 Landing 2 Prepare
(minutes) Queue Queue 1 2
10
4 S1(B1) S1(C1)

5,5 S1(B3) S1(C3)

7,3 L1(B2) L1(C2)

9,5 L1 S1(B5) S1(C4)

9,8 L1(B4) L1(C3) S1

11,0 S1(B6)

11,3 S2(B1) S2(C1)

12,8 S2(B3) S2(C3)

13,8 L1(B5) L1(C5)

15,3 S3(B1) S3(C1) L1

16,3 S3 L1(B7)

16,8 S3(B3) S2(B5) S2(C4)

17,8 S3(C3)

18,3 S2(B6)

19,3 S4(B1) S4(C1)

20,8 S4(B3) S4(C3)

21,8 S3(B5) S3(C4)

22,6 L2(B2) L2(C2) S3

23,3 L2 S3(B6)

24,8 L2 S4(B5) S4(C4)

25,1 L2(B4) L2(C3) S4

26,3 S4(B6)

26,6 S5(B1) S5(C1)

28,1 S5(B3) S5(C3)

29,1 L2(B5) L2(C5)


11

30,6 S6(B1) S6(C1) L2

31,6 S6 L2(B7)

S5(B5),
32,1 S6(B3) S5(C4)
S6(C3)

33,6 S5(B6)

33,9 L3(B2) L3(C2)

36,1 L3 S6(B5) S6(C4)

36,4 L3(B4) L3(C3) S6

37,6 S6(B6)

37,9 S7(B1) S7(C1)

39,4 S7(B3) S7(C3)

40,4 L3(B5) L3(C5)

42,9 L3(B7)

43,4 S7(B5) S7(C4)

44,9 S7(B7)
12

3.2 Implementasi menggunakan bahasa C


 Source code :
#include <stdio.h>
#include <stdlib.h>
int main()
{
int z[100], z2[100], z3[100];
int down[100], up[100];
int at[100],rt[100];
int a = 1, m = 100, c = 31;
int i, j, persen, besar=0, kecil=0;
float jml, rata2,wktkecil,wktbesar, wktArrival,
wktLanding,wktTakeOff;
float timeArrival[100], timeLanding1[100],
timeLanding2[100];
float prepare1[100],prepare2[100];
float timeTakeOff1[100], timeTakeOff2[100];

z[i] = (a*z[i-1]+c)%m;
if(z[i]>=0 && z[i]<=29){
down[i] = 2;
up[i] = 3;
}
else if(z[i]>=30 && z[i]<=64){
down[i] = 3;
up[i] = 4;
}
else if(z[i]>=65 && z[i]<=89){
down[i] = 4;
up[i] = 5;
}
else if(z[i]>=90 && z[i]<=99){
down[i] = 5;
up[i] = 6;
}

}
13

int planesize[100];
z[0] = 9;
for(i = 1; i<=10;i++){
z[i] = (a*z[i-1]+c)%m;
if(z[i]>=0 && z[i]<=29){
down[i] = 2;
up[i] = 3;
}else if(z[i]>=30 && z[i]<=64){
down[i] = 3;
up[i] = 4;
}else if(z[i]>=65 && z[i]<=89){
down[i] = 4;
up[i] = 5;
}else if(z[i]>=90 && z[i]<=99){
down[i] = 5;
up[i] = 6;
}
}
z2[0]=z[10];
for( j = 1;j<=10;j++){
z2[j] = (a*z2[j-1]+c)%m;
}
printf("Tabel inter-arrival time of the first 10 arrivals
: \n");
//membandingkan
for(j = 1;j<=10;j++){
if(z[j]>z2[j]){
at[j]=down[j]+(z2[j]/100);
}
else if(z[j]<z2[j]){
at[j]=up[j]+(z2[j]/100);
}
jml = jml+at[j];
printf("%d. %d %d-%d %d %d\n", j, z[j],down[j],
up[j], z2[j],at[j] );
}
rata2=jml/10;
printf("Rata-rata arrival time : %.2f \n\n", rata2);
printf("Tabel plane size of the first 10 arrivals : \n");
printf("- angka 0 artinya pesawat kecil \n- angka 1 artinya
pesawat besar\n");
//pembangkitan bil random2
z3[0]=9;
for( i = 1;i<=10;i++){
z3[i] = (a*z3[i-1]+c)%m;
if(z3[i]>=0 && z3[i]<=69){
planesize[i]=0;
}
else if(z3[i]>=70 && z3[i]<=99){
planesize[i]=1;
}
printf("%d. %d %d\n",i, z3[i], planesize[i]);
}
14

for( i = 1;i<=10;i++){
if(planesize[i]==0){
kecil++;
}else if(planesize[i]==1){
besar++;
}
}
printf("Banyak pesawat kecil = %d\n", kecil);
printf("Banyak pesawat besar = %d\n", besar);
printf("\nTabel inter-arrival time of the first %d
arrivals small aerolpanes: \n",kecil);
//mencari waktu antar kedatangan pesawat kecil
z[0] = 9;
for(i = 1; i<=kecil;i++){
z[i] = (a*z[i-1]+c)%m;
if(z[i]>=0 && z[i]<=29){
down[i] = 2;
up[i] = 3;
}else if(z[i]>=30 && z[i]<=64){
down[i] = 3;
up[i] = 4;
}else if(z[i]>=65 && z[i]<=89){
down[i] = 4;
up[i] = 5;
}else if(z[i]>=90 && z[i]<=99){
down[i] = 5;
up[i] = 6;
}
}
z2[0]=z[kecil];
for( j = 1;j<=kecil;j++){
z2[j] = (a*z2[j-1]+c)%m;
}
jml=0;
//membandingkan
for(j = 1;j<=kecil;j++){
if(z[j]>z2[j]){
at[j]=down[j]+(z2[j]/100);
}
else if(z[j]<z2[j]){
at[j]=up[j]+(z2[j]/100);
}
jml = jml+at[j];
printf("%d. %d %d-%d %d %d\n", j, z[j],down[j],
up[j], z2[j], at[j]);
}
rata2=jml/kecil;
printf("Rata-rata arrival time pesawat kecil :%.2f \n",
rata2);
wktkecil=rata2;
printf("\nTabel inter-arrival time of the first %d
arrivals large aerolpanes: \n",besar);
//mencari waktu antar kedatangan pesawat besar
15

z[0] = z2[kecil];
for(i = 1; i<=besar;i++){
z[i] = (a*z[i-1]+c)%m;
if(z[i]>=0 && z[i]<=29){
down[i] = 2;
up[i] = 3;
}else if(z[i]>=30 && z[i]<=64){
down[i] = 3;
up[i] = 4;
}else if(z[i]>=65 && z[i]<=89){
down[i] = 4;
up[i] = 5;
}else if(z[i]>=90 && z[i]<=99){
down[i] = 5;
up[i] = 6;
}
}
z2[0]=z[besar];
for( j = 1;j<=besar;j++){
z2[j] = (a*z2[j-1]+c)%m;
}
jml=0;
//membandingkan
for(j = 1;j<=besar;j++){
if(z[j]>z2[j]){
at[j]=down[j]+(z2[j]/100);
}else if(z[j]<z2[j]){
at[j]=up[j]+(z2[j]/100);
}
jml = jml+at[j];
printf("%d. %d %d-%d %d %d\n", j, z[j],down[j],
up[j], z2[j],at[j]);
}
rata2=jml/besar;
printf("Rata-rata arrival time pesawat besar :%.2f \n",
rata2);
wktbesar=rata2;
i=0;
//satu landasan pacu
printf("\nTabel Simulasi 1 Landasan\n");
timeArrival[0]=0;
timeTakeOff1[0]=0;
timeTakeOff1[-1]=0;
timeTakeOff2[0]=0;
timeTakeOff2[-1]=0;
for( i = 1;i<=10;i++){
if(planesize[i]==0){
timeArrival[i]=timeArrival[i-1]+wktkecil;
if(timeArrival[i]>timeTakeOff1[i-2] &&
timeArrival[i]<timeTakeOff2[i-2]){
timeLanding1[i]=timeTakeOff2[i-2];
timeLanding2[i]=timeLanding1[i]+1.5;
prepare1[i]=timeLanding2[i];
prepare2[i]=prepare1[i]+4;
timeTakeOff1[i]=prepare2[i];
timeTakeOff2[i]=timeTakeOff1[i]+1.5;
}
16

timeTakeOff2[i]=timeTakeOff1[i]+1.5;
}else{
timeLanding1[i]=timeArrival[i];
timeLanding2[i]=timeLanding1[i]+1.5;
prepare1[i]=timeLanding2[i];
prepare2[i]=prepare1[i]+4;
timeTakeOff1[i]=prepare2[i];
timeTakeOff2[i]=timeTakeOff1[i]+1.5;
}
}
else if(planesize[i]==1){
timeArrival[i]=timeArrival[i-1]+wktkecil;
if(timeArrival[i]>timeTakeOff1[i-2] &&
timeArrival[i]<timeTakeOff2[i-2]){
timeLanding1[i]=timeTakeOff2[i-2];
timeLanding2[i]=timeLanding1[i]+2.5;
prepare1[i]=timeLanding2[i];
prepare2[i]=prepare1[i]+4;
timeTakeOff1[i]=prepare2[i];
timeTakeOff2[i]=timeTakeOff1[i]+2.5;
}else{
timeLanding1[i]=timeArrival[i];
timeLanding2[i]=timeLanding1[i]+2.5;
prepare1[i]=timeLanding2[i];
prepare2[i]=prepare1[i]+4;
timeTakeOff1[i]=prepare2[i];
timeTakeOff2[i]=timeTakeOff1[i]+2.5;
}
}
printf("%d. %.2f %.2f-%.2f %.2f-%.2f %.2f-
%.2f\n",i, timeArrival[i],
timeLanding1[i],timeLanding2[i],prepare1[i],prepare2[i],timeTa
keOff1[i],timeTakeOff2[i]);

wktArrival=timeArrival[i];
wktLanding=timeLanding2[i];
wktTakeOff=timeTakeOff2[i];
}
printf("\n- waktu kedatangan akhir pesawat : %.2f\n- waktu
landing akhir %.2f\n- waktu take off akhir
%.2f\n",wktArrival,wktLanding,wktTakeOff);

}
17

 Hasil :
18
19

BAB IV
KESIMPULAN

Simulasi merupakan salah satu cara untuk memecahkan suatu permasalahan


yang ada dalam dunia nyata dengan memodelkan permasalahan tersebut. Dalam
kasus permasalahan contoh kasus soal diatas mengenai Simulasi Pesawat Terbang
dalam sesuatu bandara apakah dalam kasus ini perlu dibangun berapa landasan pacu
sesuai dengan rata-rata pesawat yang landing dan takeoff dalam bandara tersebut.
Dan dari hasil simulasi diatas dimana data menggunakan hasil pembangkitan
bilangan random didapatkan hasil rata-rata pada 1 landasan yaitu 46,3 menit dan
pada 2 landasan yaitu 44,9 menit. Sehingga dapat disimpulkan lebih efisiend waktu
dengan menggunakan 2 landasan pacu karena waktu pelayanan pesawat lebih cepat
sehingga jumlah pesawat yang dapat dilayani lebih banyak.
20

DAFTAR PUSTAKA

Hamali, Sambudi. (2017). Simulasi Monte Carlo. bbs.binus.ac.id. Available


at: http://bbs.binus.ac.id/management/2017/12/simulasi-monte-carlo/
[Diakses 14 Oktober. 2019].

Author (2017). Pengertian Simulasi, Tujuan, Jenis, Model, Langkah


Penerapannya. Artikelsiana. Avaible at:
https://www.artikelsiana.com/2019/06/pengertian-simulasi-tujuan-
jenis-model-langkah-penerapannya.html [Diakses 14 Oktober 2019]

Anda mungkin juga menyukai