My first Magazine pemrograman-kompetitif-dasar | Page 147

12 Dasar-Dasar Geometri Geometri merupakan materi yang dapat yang diujikan pada pemrograman kompetitif. Untuk menyelesaikan soal yang memiliki unsur geometri, diperlukan kemampuan untuk memodelkan bidang spasial dan menghitung sifat-sifat objek spasial seperti jarak, luas, volume, bentuk, dan sebagainya. Bab ini mengulas dasar-dasar geometri dan cara memodelkannya pada pemrograman. 12.1 Titik Titik merupakan elemen mendasar pada dunia geometri. Titik dapat didefinisikan pada 2 dimensi, 3 dimensi, atau lebih. Pada bidang 2 dimensi, titik dapat dianggap berada pada suatu koordinat (x, y). Representasi titik pada program dapat diwujudkan dengan tipe data komposit yang menyimpan nilai x dan y. Tipe data ini misalnya record (Pascal), struct (C) atau class (C++/Java). Alternatif lainnya adalah menggunakan tipe data untuk merepresentasikan tuple, apabila bahasa pemrograman yang Anda gunakan mendukungnya. 12.1.1 Jarak Euclidean Salah satu persoalan yang muncul pada geometri komputasional adalah menghitung jarak antara 2 titik. Jarak Euclidean adalah definisi jarak yang umum digunakan pada bidang 2 dimensi atau ruang 3 dimensi. Jarak pada bidang 2 dimensi dari dua titik A(x, y) dan B(x, y) adalah: dist(A, B) = q (A.x − B.x) 2 + (A.y − B.y) 2 y B(6,3) 2 2 8 +6 =10 6 A(-2,-3) x 8 Gambar 12.1: Jarak Euclidean dari titik A dan B. Sebagai contoh, jika diberikan titik (−2, −3) dan (6, 3), jarak euclidean dari kedua titik tersebut adalah 10. 137