Hide and Seek Game

29 Juni 2024

Dalam merancang sebuah algoritma dibutuhkan analisis dan perhitungan matematis yang kompleks untuk menghasilkan algoritma yang efektif dan efisien. Efisiensi dari sebuah algoritma dapat diukur berdasarkan kompleksitas waktu dan kompleksitas ruang. Algoritma dengan kompleksitas waktu yang rendah dan kompleksitas ruang yang lebih sedikit merupakan algoritma yang tepat dan sebaiknya digunakan.

Project ini merupakan pengembangan simulasi interaksi antara dua buah droid, yaitu droid merah dan droid hijau didalam sebuah peta berukuran 15x15 cell yang dapat diacak. Secara fungsionalitas, droid merah memiliki kemampuan untuk mengetahui secara lengkap kondisi peta, namun tidak dapat mengetahui dengan pasti lokasi keberadaan droid hijau. Droid merah akan mengejar droid hijau apabila terlihat dan tidak terhalang oleh tembok. Sementara itu, droid hijau memiliki kemampuan untuk mengetahui lokasi keberadaan droid merah, namun droid hijau tidak mengetahui kondisi peta dan memiliki keterbatasan dalam jarak pandang.

Dengan mempertimbangkan kelebihan dan kekurangan pada masing-masing droid dan kondisi peta yang dinamis, tujuan utama dari project ini adalah melakukan pengamatan dan analisa mengenai strategi algoritma yang seharusnya digunakan oleh droid merah dalam fungsinya untuk mengejar droid hijau dan droid hijau yang bertugas menghindar dari droid merah.

Proses merancang algoritma ini melalui tiga buah perhitungan nilai kompleksitas waktu yaitu analisis Asymptotic untuk mencari batasan atas (Big O notation), analisis Amortisasi dan analisa rekuren (untuk perhitungan kompleksitas dengan fungsi rekursif). Dalam project ini tidak hanya menghasilkan algoritma yang efisien namun juga mengimplementasikan algoritma tersebut ke dalam kode program sehingga output yang dihasilkan adalah sebuah aplikasi yang dapat digunakan.