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