Jarak dua titik dalam dIagram Cartesius menggunakan bahasa pemrograman C++ akan dibahas dalam artikel ini. Contoh bahasa pemrograman c++ ini termasuk contoh program c++ sederhana, contoh program c++ perhitungan, contoh program c++ matematika, contoh program c++ aritmatika serta contoh program c++ dan hasil.
Masalah yang akan diselesaikan adalah menentukan jarak dua titik dalam diagram cartesius menggunakan bahasa pemrograman C++. Pengguna menginput absis dan ordinat titik pertama serta titik kedua. Langkah-langkah menyelesaikan masalah ini adalah sebagai berikut:
Langkah 1. Input absis titik pertama;
Langkah 2. Input ordinat titik pertama;
Langkah 3. Input absis titik kedua;
Langkah 4. Input ordinat titik kedua;
Langkah 5. Hitung jarak titik pertama dengan titik kedua;
Langkah 6. Tampilkan hasil perhitungan jarak titik pertama dengan kedua.
Masalah ini dirujuk dari buku pada tautan berikut:
Liang. 2014. Introduction to Programming with C++ 3rd Edition. London: Pearson Education yang bisa diakses pada tautan berikut:
https://www.pearson.com/en-us/subject-catalog/p/Liang-Companion-Website-for-Introduction-to-Programming-with-C-Access-to-Videonotes-3rd-Edition/P200000003422/978013338026
Baris kode ini bisa diakses pada tautan berikut:
https://github.com/bayuYudhaSaputra/introduction-programming-CPP-liang/blob/main/02.15.DistanceTwoPoint.cpp
Oleh : #bayuyudhasaputra
02.15. Jarak Dua Titik Dalam Diagram Cartesius Menggunakan Bahasa Pemrograman C++
1. 02.15.DistanceTwoPoint
#bayuyudhasaputra Halaman 1
Programming Exercise 02.15
Geometry: distance of two points
2.15. (Geometry: distance of two points)
Write a program that prompts the user to enter two points (x1, y1) and (x2, y2)
and displays their distance between them. The formula for computing the distance
is β(π₯2 β π₯1)2 + (π¦2 β π¦1)2 . Note that you can use pow(a, 0.5) to compute
βπ.
Here is a sample run:
Enter x1 and y1: 1.5 -3.4
Enter x2 and y2: 4 5
The distance between the two points is 8.764131445842194
02.15.01. Identifikasi Masalah
Masalah yang akan diselesaikan adalah menentukan jarak dua titik dalam diagram
cartesius menggunakan bahasa pemrograman C++. Pengguna menginput absis dan ordinat
titik pertama serta titik kedua.
02.15.02. Strategi Pemecahan Masalah
Untuk menyelesaikan masalah ini, penulis menggunakan rumus untuk menentukan
jarak dua titik dalam bidang cartesius berikut:
Misal, titik π΄(π₯1 , π¦1) dan titik π΅(π₯2 , π¦2) terdapat dalam diagram carteisus berikut:
2. 02.15.DistanceTwoPoint
#bayuyudhasaputra Halaman 2
Maka, jarak antara titik π΄ dengan π΅ (dinotasikan oleh π) adalah:
Rumus 02.15.01. Jarak Dua Titik Dalam Diagram Cartesius
Misal, jarak antara titik π΄(β4 , 1) dengan π΅(5 , 3) dapat dihitung dengan langkah-
langkah berikut:
Absis titik A (π₯1) = β4
Ordinat titik A (π¦1) = 1
Absis titik B (π₯2) = 5
Ordinat titik B (π¦2) = 3
π = β(π₯2 β π₯1)2 + (π¦2 β π¦1)2
3. 02.15.DistanceTwoPoint
#bayuyudhasaputra Halaman 3
Maka jarak antara titik A dengan B adalah:
π = β(π₯2 β π₯1)2 + (π¦2 β π¦1)2
π = β(5 β (β4))
2
+ (3 β 1)2
π = β(5 + 4)2 + (3 β 1)2
π = β(9)2 + (2)2
π = β81 + 4
π = β85
π β 9,2195444572928873100022742817628
π β 9,21954
Sehingga, jarak antara titik π΄ dengan π΅ kira-kira sama dengan 9,21954 satuan panjang.
4. 02.15.DistanceTwoPoint
#bayuyudhasaputra Halaman 4
02.15.03. Menyelesaikan Masalah
Rumus 02.15.01 dapat diterjemahkan ke dalam langkah-langkah berikut:
Langkah 1. Input absis titik pertama
Langkah 2. Input ordinat titik pertama
Langkah 3. Input absis titik kedua
Langkah 4. Input ordinat titik kedua
Langkah 5. Hitung jarak titik pertama dengan titik kedua
Langkah 6. Tampilkan hasil perhitungan jarak titik pertama dengan kedua
02.15.04. Mengajukan Solusi
Keenam langkah ini dapat diterjemahkan ke dalam baris kode bahasa pemrograman
C++ berikut:
1 #include <iostream>
2 #include <cmath>
3 using namespace std;
4
5 /*
6 =================================================================
7 02.14. Distance Of Two Point
8 by : #bayuyudhasaputra
9 lang : IDN (Bahasa Indonesia)
10 -----------------------------------------------------------------
11 Masalah :
12 Write a program that prompts the user to enter two points (x1, y1)
and
13 (x2, y2) and displays their distance between them!
14 ==================================================================
15 */
16
5. 02.15.DistanceTwoPoint
#bayuyudhasaputra Halaman 5
17 int main()
18 {
19 cout << endl
20 << "======================================================="
21 << endl
22 << endl
23 << "02.15. Distance Of Two Points"
24 << endl
25 << endl
26 << "-------------------------------------------------------"
27 << endl
28 << endl;
29
30 // 1. Input absis titik pertama
31 cout << "Input absis titik pertama (Misal. 4) : ";
32 double absisPertama;
33 cin >> absisPertama;
34 cout << endl << endl;
35
36 // 2. Input ordinat titik pertama
37 cout << "Input ordinat titik pertama (Misal. -1) : ";
38 double ordinatPertama;
39 cin >> ordinatPertama;
40 cout << endl
41 << endl
42 << " --- [Titik pertama adalah "
43 << "A(" << absisPertama << " ; " << ordinatPertama << ")] β
- "
44 << endl
45 << endl;
46
47 // 3. Input absis titik kedua
48 cout << "Input absis titik kedua (Misal, 5) : ";
49 double absisKedua;
50 cin >> absisKedua;
6. 02.15.DistanceTwoPoint
#bayuyudhasaputra Halaman 6
51 cout << endl << endl;
52
53 // 4. Input ordinat titik kedua
54 cout << "Input ordinat titik kedua (Misal, 3) : ";
55 double ordinatKedua;
56 cin >> ordinatKedua;
57 cout << endl
58 << endl
59 << " --- [Titik kedua adalah "
60 << "B(" << absisKedua << " ; " << ordinatKedua << ")] --- "
61 << endl
62 << endl;
63
64 // 5. Hitung jarak titik pertama dengan titik kedua
65 double jarak;
66 jarak = pow(pow(( absisKedua - absisPertama ), 2) + pow((
ordinatKedua - ordinatPertama ), 2) , 0.5);
67
68 // 6. Tampilkan hasil perhitungan jarak titik pertama dengan kedua
69 cout << "Jadi, jarak antara titik" << endl << endl
70 << " A(" << absisPertama << " ; " << ordinatPertama <<
")" << endl << endl
71 << " dengan " << endl << endl
72 << " B(" << absisKedua << " ; " << ordinatKedua << ")"
<< endl << endl
73 << "kira-kira sama dengan " << jarak << " satuan panjang."
74 << endl
75 << endl
76 << "======================================================="
77 << endl;
78
79 return 0;
80 }
7. 02.15.DistanceTwoPoint
#bayuyudhasaputra Halaman 7
Pada baris ke-1, penulis menyertakan file header iostream. Header ini harus disertakan
karena program ini menggunakan perintah cin untuk menginput nilai dan cout untuk
menampilkan output ke layar. Selain itu pada baris ke-2, penulis mendeklarasikan file header
cmath karena akan menggunakan fungsi pow(a, b) untuk melakukan operasi pangkat.
1 #include <iostream>
2 #include <cmath>
Variabel-variabel dengan nama absisPertama, ordinatPertama, absisKedua dan
ordinatKedua dideklarasikan pada baris ke-32, 38, 49 dan 55 dengan tipe data double.
Variabel-variabel ini menampung data input dari pengguna seperti yang ditunjukkan oleh baris
ke-33, 39, 50 dan 56.
32 double absisPertama;
33 cin >> absisPertama;
38 double ordinatPertama;
39 cin >> ordinatPertama;
49 double absisKedua;
50 cin >> absisKedua;
55 double ordinatKedua;
56 cin >> ordinatKedua;
Kemudian, variabel dengan nama jarak didefinisikan dengan tipe data double untuk
menampung nilai ekspresi dalam baris ke-66. Ekspresi ini terdapat fungsi built-in pow(a, b).
65 double jarak;
66 jarak = pow(pow(( absisKedua - absisPertama ), 2) + pow((
ordinatKedua - ordinatPertama ), 2) , 0.5);
8. 02.15.DistanceTwoPoint
#bayuyudhasaputra Halaman 8
Penjelasan mengenai fungsi pow(a, b) adalah sebagai berikut:
pow((absisKedua β absisPertama), 2) = (πππ ππ πΎπππ’π β πππ ππ ππππ‘πππ)2
pow((ordinatKedua β ordinatPertama), 2) = (πππππππ‘πΎπππ’π β πππππππ‘ππππ‘πππ)2
Sehingga ekspresi fungsi yang tersimpan dalam variabel jarak menjadi:
pow(pow(( absisKedua - absisPertama ), 2) + pow((ordinatKedua - ordinatPertama
), 2), 0.5);
Ekspresi ini sama dengan ekspresi aritmatika berikut:
β(πππ ππ πΎπππ’π β πππ ππ ππππ‘πππ)2 + (πππππππ‘πΎπππ’π β πππππππ‘ππππ‘πππ)2
Misal, variabel-variabel absisPertama, absisKedua, ordinatPertama dan
ordinatKedua diinput nilai berikut:
absisPertama = -4
absisKedua = 5
ordinatPertama = 1
ordinatKedua = 3
Maka, proses kalkulasi yang disimpan dalam variabel jarak adalah sebagai berikut:
jarak = pow(pow(( absisKedua - absisPertama ), 2) + pow((ordinatKedua -
ordinatPertama ), 2), 0.5);
jarak = pow(pow((5 β (-4)), 2) + pow((3 - 1 ), 2), 0.5);
jarak = pow(pow(( 5 + 4), 2) + pow((3 - 1), 2), 0.5);
jarak = pow(pow(( 9), 2) + pow((2), 2), 0.5);
jarak = pow((81+ 4), 0.5);
jarak = pow(85, 0.5);
jarak = 9,21954
9. 02.15.DistanceTwoPoint
#bayuyudhasaputra Halaman 9
Contoh output program dengan nilai variabel absisPertama = -4, absisKedua = 5,
ordinatPertama = 1 dan ordinatKedua = 3 adalah sebagai berikut:
02.15.05. Refleksi
Program menentukan jumlah nominal tabungan menggunakan bahasa pemrograman
C++ ini dapat dikembangkan dengan menambahkan:
1. Mengecek nilai input. Data yang diinput tentu saja harus bertipe double. Jika pengguna
menginput data selain bilangan maka program menjadi error tanpa menampilkan pesan
yang dipahami oleh pengguna.
2. Menawarkan input kembali kepada pengguna atau berhenti menjalankan program setelah
program dijalankan, baik ketika program berjalan sesuai dengan harapan atau malah terjadi
error.
10. 02.15.DistanceTwoPoint
#bayuyudhasaputra Halaman 10
02.15.06. Daftar Rujukan
Liang. 2014. Introduction to Programming with C++ 3rd Edition. London: Pearson Education
yang bisa diakses pada tautan berikut:
https://www.pearson.com/en-us/subject-catalog/p/Liang-Companion-Website-for-
Introduction-to-Programming-with-C-Access-to-Videonotes-3rd-
Edition/P200000003422/978013338026
Baris kode ini bisa diakses pada tautan berikut: