PENGENALAN KOMPUTASI
KELAS 80
“PEMROGRAMAN LIFT”
Disusun oleh:
Nadya Farah Iresqa (16722477)
Muhammad Khoeru Rizki (16722489)
Sarah Fadlilah Sigit (16722501)
Amalia Maharani (16722513)
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
Emergency System
Sistem Pelantaian
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
Pilih lantai
Lift naik/turun
Situasi
Keamanan
Tidak
Aman
aman
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
While
6
MULAI
True
Lantai yang dituju lebih dekat
7
MULAI
Input (Lantai
Tujuan)
Cek Situasi
Keamanan
Terhubung ke operator
8 Selesai
Mulai
Cek situasi
keamanan
Terjebak Aman
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 : ')
# 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 : '))
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 : ')
# 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]
# Inisiasi pada sistem keamanan lift dengan label tombol safety1 dan safety2
13
safety1 = 'Terjebak'
safety2 = 'Bahaya eksternal di ruangan tujuan'
safety3 = 'Situasi aman'
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.
15