Soal no. 1:
Dalam pembuatan game, salah satu teknik dasar yang banyak digunakan adalah Collision
Detection, yaitu teknik untuk menentukan apakah 2 objek sedang berbenturan atau tidak.
Buatlah algoritma untuk melakukan versi sederhana dari Collision Detection dengan
1 1
ketentuan-ketentuan berikut ini:
2 1 2 3 4 5 6 7 8 9 2 1 2 3 4 5 6 7 8 9
10 10
3 3
4 4
5 5
6 6
7 7
8 8
● Setiap objek memiliki 4 variabel, yaitu x, y, h, dan w. Variabel x dan y adalah koordinat
cell ujung kiri atas dari masing-masing objek, sedangkan h dan w masing-masing
adalah tinggi (height) dan lebar (width) objek. Untuk mengakses masing-masing
variabel di dalam pseudocode, tuliskan menggunakan notasi [Nama objek] [titik]
[Variabel]. Perhatikan beberapa contoh di bawah ini yang mengacu pada contoh
gambar di atas:
○ Contoh gambar 1: A.x bernilai 4, A.y bernilai 2, A.h bernilai 3, A.w bernilai 5
B.x bernilai 2, B.y bernilai 6, B.h bernilai 7, B.w bernilai 3
○ Contoh gambar 2: A.x bernilai 2, A.y bernilai 4, A.h bernilai 5, A.w bernilai 6
B.x bernilai 7, B.y bernilai 2, B.h bernilai 2, B.w bernilai 8
1|Page
Universitas Kristen Petra Surabaya
Fakultas Teknologi Industri
Program Studi Informatika
● Kedua objek dikatakan berbenturan ketika ada minimal 1 cell yang sama-sama
termasuk ke dalam 2 objek tersebut, seperti pada contoh gambar 1. Sementara,
kedua objek pada contoh gambar 2 dikatakan tidak berbenturan.
Kerjakan poin-poin berikut ini! Untuk masing-masing poin, berikan juga penjelasan singkat
tentang cara berpikir anda dalam membuat solusi yang diminta! Jika ada, sebutkan juga
dasar-dasar Computational Thinking yang anda terapkan dalam proses pembuatan solusi
tersebut!
b. Buatlah algoritma dalam bentuk pseudocode untuk menghitung berapa cell yang
terlibat dalam collision antara objek A dan objek B! Sebagai contoh, pada contoh
gambar 1, collision antara objek A dan objek B melibatkan 3 cell. Input yang diberikan
adalah objek A dan B beserta semua variabelnya; output yang diharapkan adalah
jumlah cell yang terlibat dalam collision.
Soal no. 2:
Pada tahun 50XX, proses Terraforming pada planet Mars sudah selesai sehingga Mars sudah
dapat ditinggali oleh manusia. Salah satu permasalahan utama yang dihadapi tentunya
adalah cara transportasi antara Bumi dan Mars. Pada waktu itu, teknologi transportasi yang
digunakan adalah menggunakan teleporter.
● Untuk menggunakan teleporter, setiap orang harus membawa minimal 1 teleport key.
Ketika sebuah teleport key sudah digunakan untuk teleport dari Bumi ke Mars, tentu
saja harus ada orang yang teleport kembali ke Bumi agar teleport key tersebut bisa
digunakan lagi oleh orang lain.
● Waktu yang dibutuhkan untuk melakukan proses teleport proporsional dengan massa
masing-masing orang. Untuk menyederhanakan perhitungan, asumsikan tiap 1 kg
2|Page
Universitas Kristen Petra Surabaya
Fakultas Teknologi Industri
Program Studi Informatika
● Teleporter dapat digunakan bersamaan oleh lebih dari satu orang, dengan syarat tiap
orang membawa minimal 1 teleport key. Tetapi, ketika lebih dari satu orang
menggunakan teleporter bersamaan, maka waktu yang dibutuhkan untuk
menyelesaikan proses teleport akan mengikuti waktu terlama. Misalnya, jika 2 orang
dengan berat badan masing-masing 60 kg dan 80 kg menggunakan teleporter
bersamaan, maka waktu yang dibutuhkan adalah 80 detik.
Kerjakan poin-poin berikut ini! Untuk masing-masing poin, berikan juga penjelasan singkat
tentang cara berpikir anda dalam membuat solusi yang diminta! Jika ada, sebutkan juga
dasar-dasar Computational Thinking yang anda terapkan dalam proses pembuatan solusi
tersebut!
~ Selamat mengerjakan ~
3|Page