Anda di halaman 1dari 16

LAPORAN TUGAS BESAR

PENGENALAN KOMPUTASI
KELAS 80
“PEMROGRAMAN LIFT”

Disusun oleh:
Nadya Farah Iresqa (16722477)
Muhammad Khoeru Rizki (16722489)
Sarah Fadlilah Sigit (16722501)
Amalia Maharani (16722513)

FAKULTAS TEKNOLOGI INDUSTRI


INSTITUT TEKNOLOGI BANDUNG
2022
Daftar Isi
HASIL TUGAS 1 .................................................................................................................................. 2
A. Tujuan ............................................................................................................................. 2
B. Eksplorasi ........................................................................................................................ 2
C. Dekomposisi ................................................................................................................... 2
HASIL TUGAS 2 .................................................................................................................................. 3
A. Deskripsi Program .......................................................................................................... 3
B. Simulasi Kerja Program .................................................................................................. 3
C. Flowchart ........................................................................................................................ 4
HASIL TUGAS 3 ................................................................................................................................ 10
A. Source Code .................................................................................................................. 10
PENUTUP............................................................................................................................................ 15
A. Kesimpulan ................................................................................................................... 15
B. Lesson Learned Setelah ................................................................................................ 15

1
HASIL TUGAS 1
A. Tujuan
Menciptakan program untuk mengoperasikan lift yang memudahkan user
berpindah dari satu lantai ke lantai lain secara efektif, efisien, dan aman.
B. Eksplorasi
Lift merupakan alat transportasi vertikal yang digunakan untuk mengangkut
orang. Lift pada umumnya digunakan di gedung bertingkat. Lift pada zaman modern
memiliki tombol-tombol yang dapat dipilih user sesuai lantai tujuan merekal, tombol
bell, dan tombol interkom. Bahkan, lift dimodifikasi dengan kata sandi sehingga
hanya bisa dimasuki user yang terdaftar. Tombol bell dapat digunakan saat user
terperangkap di dalam lift, dengan menekan tombol bell maka aka nada peringatan
kepada operator sehingga penyelamatan dapat segera dilakukan. Fungsi tombol
intercom mirip seperti tombol bell. Ketika penumpang terperangkap di dalam lift,
dapat berbicara dengan kamar tugas atau operator dan/atau ruang mesin dengan
menekan tombol interkom. Setelah tombol interkom ditekan sekali, setelah pihak lain
terhubung dengan perangkat interkom, maka percakapan jara jauh bisa dilakukan.
Cara kerja lift secara umum yakni berjalan ke arah atas atau ke arah bawah, sesuai
tempat posisi user dan lantai yang dituju user. Lift akan menuju ke lantai terdekat
terlebih dahulu apabila ada user lain yang akan menuju lantai yang berebeda.
C. Dekomposisi
Sistem Lift

Sistem Gerak

Masukkan ID ID benar Membuka pintu lift

Masukkan ID ID salah Pintu lift tertutup

Emergency System

Tombol Emergency Call Menghubungkan ke


operator

Sistem Pelantaian

Mengantar secara Mengantar ke lantai


Tombol lantai
satu arah tujuan hingga tidak
(naik/turun) ada user

2
HASIL TUGAS 2
A. Deskripsi Program
Input
• Masukkan ID
• Pilihan arah
• Pilihan lantai posisi user
• Pilihan lantai tujuan
• Situasi keamanan
Proses yang terjadi
• Lift menuju lantai posisi user
• Lift menuju lantai tujuan user
Output
• Lift sampai di lantai user
• Lift menuju lantai tujuan user
• Lift terbuka
• Lift tertutup
• Prosedur keamanan
B. Simulasi Kerja Program
Lift stand by, user memasukkan ID usernya ke lift, jika ID tidak terbaca maka
lift tidak terbuka. Kemudian user mencoba memasukkan IDnya lagi lalu IDnya
terbaca sehingga lift terbuka, lalu user masuk. Jika ada penumpang lain maka user
lain memasukkan IDnya agar bisa memasuki lift. User memilih lantai yang akan
dituju, jika tiap user memasukkan lantai yang berbeda maka lift akan menuju ke lantai
terdekat terlebih dahulu. Selama situasi aman lift tetap menuju ke lantai tujuan. Jika
situasi tidak aman maka user akan dihubungkan ke operator atau lift menuju
basement. Jika selama lift berjalan ada user lain yang ingin masuk maka user perlu
memasukkan IDnya agar bisa memasuki lift. User memasukkan lantai yang akan
dituju. Dari semua lantai yang dimasukkan lift menuju ke lantai terdekat telebih
dahulu. Setelah lift sampai di tujuan lift terbuka user keluar dari lift, lift stand by.

3
C. Flowchart

START

Cek ID
Lift Standby Masukkan ID

Pintu Terbuka Pintu tidak akan terbuka

Pilih lantai

Lift naik/turun

Situasi
Keamanan

Tidak
Aman
aman

Terhubung ke Menuju lantai


operator basement

Sampai di
lantai Pintu Terbuka END
tujuan

4
tidak
Input(id_user) id_user = 000

ya

ya tidak
id_user = 1

or

ya tidak
id_user = 2

or

ya tidak
id_user = 3

or

ya tidak
id_user = 4

or

ya tidak
id_user = 5

or

ya tidak
id_user = 6
Output(pintu lift
tetap tertutup)

Output(pintu lift
terbuka)

5
‘Ya’ ya

‘Tidak’ tidak

‘True’ keep_open

Permitted = input(‘masukkan kode:’)

While

‘Ya’ == permitted False


‘True’ == keep_open

Output (‘lift tetap terbuka’)

id_user = int(input(‘masukkan ID anda : ’)

Output (‘Apakah ada penumpang lain?’)

Permitted = input(‘masukkan kode:’)

Output (‘lift tertutup’)

6
MULAI

Input(Lantai yang dituju)

True
Lantai yang dituju lebih dekat

Lift bergerak menuju Lift bergerak ke lantai


lantai yang dituju yang dituju lebih (Lantai
yang lebih dekat)

Lift tiba di lantai


Selesai
yang dituju

7
MULAI

Input (Lantai
Tujuan)

Print (‘Lift Bergerak


Menuju Lantai Tujuan’)

Cek Situasi
Keamanan

Terjebak Situasi aman

Bahaya eksternal di ruangan


tujuan

Lift tiba di lantai tujuan

Terhubung ke operator

8 Selesai
Mulai

Input(‘situasi keamanan :’)

Cek situasi
keamanan
Terjebak Aman

Bahaya eksternal di ruangan tujuan

Terhubung ke ruang Lift tetap bergerak menuju lantai


operator yang dituju
Menuju Basement

Selesai

9
HASIL TUGAS 3
A. Source Code
# Program_Lift
# Program operasi lift pada suatu bangunan.
# Program ini menerima input ID User yang telah ditentukan sebagai identifikasi
adanya user dan jumlah dari user di dalam lift. Jika masih ada user
# Yang ingin masuk, program memberi pilihan kode yang dimasukkan ke dalam
variabel permitted, yaitu
# 'Ya' = ya ada yang mau masuk dan 'Tidak' = tidak ada lagi yang mau masuk. Jika
memasukkan 7, lift akan tertutup
# Adapun ID User pada program ini sebagai berikut.
# civilians = 000
# logistic_staff = 1
# cleaning_service = 2
# personnel = 3
# stakeholder = 4
# engineering_staff = 5
# trading_purpose = 6
# Lalu, program akan menghitung apakah jumlah user berada kapasitas beban yang
aman atau tidak. Berikutnya, program menerima input jumlah lantai yang ingin
dituju
# Pada prediksi kami, jumlah lantai yang dituju harusnya sama dengan jumlah user
atau bisa jadi kurang. Lalu, program menerima input lantai mana yang ingin dituju
# Dan program akan menampilkan bahwa lift bergerak dan berhenti di lantai yang
dituju
# Adapun prosedur keamanan pada lift terdiri dari 3 input. Pertama, lift terjebak.
Kedua, lantai yang dituju memiliki ancaman eksternal. Ketiga, situasi gedung dan
lift aman.
# Program akan menjalankan prosedur keamanan lift tergantung dengan masukan
yang diberikan

# KAMUS
# id_user, weight_capacity, user, N : int
# permitted, safetiness_parameter, adding_access, safety1,safety2, safety3 : str
# keep_open : bool
# arr_floor : array (0..N) of int

# ALGORITMA
# Prosedur jika ada user lain yang masuk saat lift berhenti pada suatu lantai
def lift_access2 (id_user, user, permitted, keep_open, N, arr_floor,
safetiness_parameter) :
id_user = int(input('Masukkan ID anda : ')) # inisiasi untuk membuka lift dengan
menggunakan user ID yang telah ada penjelasannya
civilians = 000
logistic_staff = 1
cleaning_service = 2
personnel = 3
stakeholder = 4
engineering_staff = 5
trading_purpose = 6

10
user = 0
if id_user == civilians or id_user == logistic_staff or id_user == cleaning_service
or id_user == personnel or id_user == stakeholder or id_user== engineering_staff or
id_user == trading_purpose :
print('Lift terbuka.')
user += 1
else :
print('Lift tidak terbuka. ID tidak terdaftar.')

# kode untuk membuat lift tetap stand by terbuka selama ada tanda bahwa masih
ada penumpang lain
ya = 'Ya'
tidak = 'Tidak'
keep_open = True
print ('Apakah ada penumpang lain?')
permitted = input('masukkan kode : ')

while permitted == ya and keep_open :


#and id_user == civilians or id_user == logistic_staff or id_user ==
cleaning_service or id_user == personnel or id_user == stakeholder or id_user ==
intelligence_staff :
print('lift tetap terbuka')
id_user = int(input('Masukkan ID anda : '))
# Untuk membuka lift dengan menggunakan user ID yang penjelasannya ada di
luar lift kecuali ID user milik staff intel
user += 1
print ('Apakah ada penumpang lain?')
permitted = (input('masukkan kode : '))
if permitted == tidak :
print('lift tertutup')
keep_open == False

# Inisiasi jumlah lantai yang ingin dituju. Nomor lantai akan disimpan dalam
array dan lift akan bergerak sesuai dengan nomor yang pertama kali dimasukkan.
N = int(input('Masukkan jumlah lantai yang ingin dituju : '))
# Asumsi lantai ada 15 dan user telah mengetahui jumlah lantai ini
arr_floor = [0 for i in range (N)]
for i in range (N) :
arr_floor[i] = int(input('Masukkan lantai tujuan : '))

print('Lift bergerak menuju lantai tujuan.')


safety1 = 'Terjebak'
safety2 = 'Bahaya eksternal di ruangan tujuan'
safety3 = 'Situasi aman'

safetiness_parameter = input('Masukkan situasi keamanan : ')

if safetiness_parameter == safety3 :
lift_operations(arr_floor, N)

11
elif safetiness_parameter == safety1 or safetiness_parameter == safety2 :
safety_operational(safetiness_parameter)
return

# ALGORITMA
# Prosedur operasi normal lift
# KAMUS
# lantai_min : int
def lift_operations (arr_floor, N) :
lantai_min = arr_floor[0]
for i in range(0,N) :
if arr_floor [i] < lantai_min :
lantai_min = arr_floor[i]
print('Lift bergerak menuju lantai ', lantai_min)
print('Lift tiba di lantai ', lantai_min)
return

# ALGORITMA
# Prosedur keamanan lift
def safety_operational (safetiness_parameter) :
if safetiness_parameter == safety1 :
print('Mohon maaf, lift tertahan dan operasinya akan dihentikan sementara
waktu.')
print('Penumpang diharapkan tenang.')
print('Menghubungi operator keamanan lift...')
print('Telah tersambung dengan operator, silakan tekan tombol telpon dan
mulai bicara.')
elif safetiness_parameter == safety2 :
print('Menerima masukan bahaya dari lantai ini.')
print('Penumpang diharapkan masuk kembali ke lift')
print('Mengaktifkan prosedur keamanan darurat. Operator keamanan telah
dihubungi.')
print('Menuju Basement.')
print('Lift telah tiba di Basement. Penumpang diharapkan tenang dan segera
melapor kepada petugas di sisi kanan lift.')
else :
print('Maaf, perintah tidak diterima.')
print('Lift tetap bergerak menuju lantai tujuan.')
return

# ALGORITMA UTAMA
id_user = int(input('Masukkan ID anda : ')) # inisiasi untuk membuka lift dengan
menggunakan user ID yang telah ada penjelasannya
civilians = 000
logistic_staff = 1
cleaning_service = 2
personnel = 3
stakeholder = 4
engineering_staff = 5
trading_purpose = 6

12
user = 0
if id_user == civilians or id_user == logistic_staff or id_user == cleaning_service or
id_user == personnel or id_user == stakeholder or id_user== engineering_staff or
id_user == trading_purpose :
print('Lift terbuka.')
user += 1
else :
print('Lift tidak terbuka. ID tidak terdaftar.')

# kode untuk membuat lift tetap stand by terbuka selama ada tanda bahwa masih ada
penumpang lain
ya = 'Ya'
tidak = 'Tidak'
keep_open = True
print ('Apakah ada penumpang lain?')
permitted = input('masukkan kode : ')

while permitted == ya and keep_open :


#and id_user == civilians or id_user == logistic_staff or id_user ==
cleaning_service or id_user == personnel or id_user == stakeholder or id_user ==
intelligence_staff :
print('lift tetap terbuka')
id_user = int(input('Masukkan ID anda : '))
# Untuk membuka lift dengan menggunakan user ID yang penjelasannya ada di
luar lift kecuali ID user milik staff intel
user += 1
print ('Apakah ada penumpang lain?')
permitted = (input('masukkan kode : '))
if permitted == tidak :
print('lift tertutup')
keep_open == False

# Inisiasi jumlah lantai yang ingin dituju. Nomor lantai akan disimpan dalam array
dan lift akan bergerak sesuai dengan nomor yang pertama kali dimasukkan.
N = int(input('Masukkan jumlah lantai yang ingin dituju : '))
# Asumsi lantai ada 15 dan user telah mengetahui jumlah lantai ini
arr_floor = [0 for i in range (N)]
for i in range (N) :
arr_floor[i] = int(input('Masukkan lantai tujuan : '))

lantai_min = arr_floor[0]

for i in range(1,N) :
if arr_floor [i] < lantai_min :
lantai_min = arr_floor[i]

print('Lift bergerak menuju lantai tujuan.')

# Inisiasi pada sistem keamanan lift dengan label tombol safety1 dan safety2

13
safety1 = 'Terjebak'
safety2 = 'Bahaya eksternal di ruangan tujuan'
safety3 = 'Situasi aman'

safetiness_parameter = input('Masukkan situasi keamanan : ')

if safetiness_parameter == safety3 :
lift_operations(arr_floor, N)
elif safetiness_parameter == safety1 or safetiness_parameter == safety2 :
safety_operational(safetiness_parameter)

for i in range(0,N) :
adding_access = input('Apakah ada user yang ingin naik?')
if adding_access == 'Ya' :
lift_access2 (id_user, user, permitted, keep_open, N, arr_floor,
safetiness_parameter)

else :
print('Lift standby.')

14
PENUTUP
A. Kesimpulan
i. Perekaaan cara kerja lift dapat dilakukan dengan pemodelan komputasi
sederhana menggunakan materi if, loop, procedure, array yang telah
diajarkan.
ii. Algoritma dan computational thinking membantu kami dalam memahami
konsep sistem kerja lift
iii. Cara kerja lift sebenarnya lebih sederhana tetapi kami memodifikasi dengan
menambahkan ID user.
B. Lesson Learned Setelah
i. Python dapat digunakan untuk memodelkan cara kerja lift.
ii. Penggunaan if, loop, procedure, array dalam python dapat dipakai untuk
memodelkan cara kerja lift.
iii. Algoritma dan computational thinking dapat memudahkan dalam
menyelesaikan suatu permasalahan.

Pembagian Tugas dalam Kelompok:


1. Nadya Farah Iresqa (16722477) : pembuatan source code
2. Muhammad Khoeru Rizki (16722489) : pembuatan laporan
3. Sarah Fadlilah Sigit (16722501) : pembuatan powerpoint
4. Amalia Maharani (16722513) : pembuatan laporan

15

Anda mungkin juga menyukai