0214-LuasSegitiga.py #bayuyudhasaputra
Halaman 1
Programming Exercise 02.14
Luas Segitiga
02.14.01. Masalah
2.14. Tuliskan program yang meminta input 3 titik kepada pengguna, yaitu (x1, y1),
(x2, y2), dan (x3, y3). Titik-titik yang diinput ini adalah titik sudut segitiga.
Rumus untuk menghitung luas segitiga adalah:
𝑠 =
𝑠𝑖𝑑𝑒1 + 𝑠𝑖𝑑𝑒2 + 𝑠𝑖𝑑𝑒3
2
𝑎𝑟𝑒𝑎 = √𝑠(𝑠 − 𝑠𝑖𝑑𝑒1)(𝑠 − 𝑠𝑖𝑑𝑒2)(𝑠 − 𝑠𝑖𝑑𝑒3)𝑎𝑟𝑒𝑎
= √𝑠(𝑠 − 𝑠𝑖𝑑𝑒1)(𝑠 − 𝑠𝑖𝑑𝑒2)(𝑠 − 𝑠𝑖𝑑𝑒3)
Input absis titik A : 1.5
Input ordinat titik A : -3.4
Input absis titik B : 4.6
Input ordinat titik B : 5
Input absis titik C : 9.5
Input ordinat titik C : -3.4
Luas segitiga dengan titik sudut A(1.5, -3.4), B(4.6, 5) dan C(9.5, -3.4) adalah 33.6
02.14.02. Luas Segitiga
Diketahui segitiga sembarang ABC dengan panjang sisi a, b, dan c didalam diagram
cartesius seperti pada gambar 02.14.01 berikut:
0214-LuasSegitiga.py #bayuyudhasaputra
Halaman 2
Gambar 02.14.01. Segitiga sembarang ABC
Luas segitiga ABC dapat ditentukan dengan rumus berikut:
𝐿𝑢𝑎𝑠 = √𝑠(𝑠 − 𝑎)(𝑠 − 𝑏)(𝑠 − 𝑐)
dimana,
𝑠 =
𝑎 + 𝑏 + 𝑐
2
Panjang sisi segitiga a, b dan c dapat ditentukan menggunakan rumus jarak antara dua titik
dalam diagram cartesius. Panjang sisi a sama dengan jarak antara titik B(x2, y2) dengan C(x3,
y3).
𝑎 = √(𝑥3 − 𝑥2)2 + (𝑦3 − 𝑦2)2
Panjang sisi b sama dengan jarak antara titik A(x1, y1) dengan B(x2, y2).
𝑏 = √(𝑥2 − 𝑥1)2 + (𝑦2 − 𝑦1)2
Panjang sisi c sama dengan jarak antara titik A(x1, y1) dengan C(x3, y3).
𝑐 = √(𝑥3 − 𝑥1)2 + (𝑦3 − 𝑦1)2
0214-LuasSegitiga.py #bayuyudhasaputra
Halaman 3
02.14.03. Kode Python
Langkah-langkah kerja program menghitung luas segitiga sembarang adalah:
Langkah ke-1 : meminta input absis dan ordinat titik-titik A, B dan C. absis titik A, B, dan
C disimpan dalam variabel berturut-turut x_a, x_b dan x_c. Ordinat titik A,
B, dan C disimpan dalam variabel berturut-turut y_a, y_b dan y_c.
Langkah ke-2 : menentukan panjang sisi a menggunakan rumus berikut. Hasil operasi ini
disimpan dalam variabel sisi_a.
sisi_a = ((x_c – x_b) ** 2 + (y_c – y_b) ** 2) ** (1 / 2)
Langkah ke-3 : menentukan panjang sisi b menggunakan rumus berikut. Hasil operasi ini
disimpan dalam variabel sisi_b.
sisi_b = ((x_b – x_a) ** 2 + (y_b – y_a) ** 2) ** (1 / 2)
Langkah ke-4 : menentukan panjang sisi c menggunakan rumus berikut. Hasil operasi ini
disimpan dalam variabel sisi_c.
sisi_c = ((x_c – x_a) ** 2 + (y_c – y_a) ** 2) ** (1 / 2)
Langkah ke-5 : menentukan setengah dari keliling segitiga. Hasil operasi ini disimpan
dalam variabel s.
s = (sisi_a + sisi_b + sisi_c) / 2
Langkah ke-6 : menentukan luas segitiga menggunakan rumus berikut, hasil operasi ini
disimpan dalam variabel luas.
luas = (s * (s – sisi_a) * (s – sisi_b) * (s – sisi_c)) ** (1/2)
Langkah ke-7 : menampilka nilai dalam variabel luas.
Program lengkap program menghitung luas segitiga sembarang adalah:
1 x_a = eval(input("Input absis titik A : "))
2 y_a = eval(input("Input ordinat titik A : "))
3
4 x_b = eval(input("Input absis titik B :"))
5 y_b = eval(input("Input ordinat titik B : "))
6
0214-LuasSegitiga.py #bayuyudhasaputra
Halaman 4
7 x_c = eval(input("Input absis titik C : "))
8 y_c = eval(input("Input ordinat titik C : "))
9
10 sisi_a = ((x_c - x_b) ** 2 + (y_c - y_b) ** 2) ** (1 / 2)
12 sisi_b = ((x_b - x_a) ** 2 + (y_b - y_a) ** 2) ** (1 / 2)
13 sisi_c = ((x_c - x_a) ** 2 + (y_c - y_a) ** 2) ** (1 / 2)
14
15 s = (sisi_a + sisi_b + sisi_c) / 2
17
18 luas = (s * (s - sisi_a) * (s - sisi_b) * (s - sisi_c)) ** (1 / 2)
19
20 print("Luas segitiga dengan titik sudut",
21 "A(", x_a, "," , y_a, "), ",
22 "B(", x_b, ",", y_b, "), ",
23 "C(", x_c, ",", y_c, ")",
24 "adalah", luas
25 )
Pada baris ke-1 hingga 9, program meminta input menggunakan fungsi input().
Kemudian, nilai input dikonversi dari string menjadi numerik menggunakan fungsi eval().
Nilai input ini disimpan dalam variabel berturut-turut x_a, y_a, x_b, y_b, x_c, dan y_c.
1 x_a = eval(input("Input absis titik A : "))
2 y_a = eval(input("Input ordinat titik A : "))
3
4 x_b = eval(input("Input absis titik B :"))
5 y_b = eval(input("Input ordinat titik B : "))
6
7 x_c = eval(input("Input absis titik C : "))
8 y_c = eval(input("Input ordinat titik C : "))
9
Kemudian pada baris ke-10, program menghitung jarak antara titik B(xb, yb) dengan C(xc,
yc). hasil perhitungan ini disimpan dalam variabel sisi_a. Pada baris ke-11, program
menghitung jarak antara titik B(xb, yb) dengan A(xa, ya). hasil perhitungan ini disimpan dalam
variabel sisi_b. Pada baris ke-12, program menghitung jarak antara titik A(xa, ya) dengan C(xc,
yc). hasil perhitungan ini disimpan dalam variabel sisi_c. Jarak-jarak titik ini adalah panjang
sisi-sisi segitiga.
10 sisi_a = ((x_c - x_b) ** 2 + (y_c - y_b) ** 2) ** (1 / 2)
0214-LuasSegitiga.py #bayuyudhasaputra
Halaman 5
12 sisi_b = ((x_b - x_a) ** 2 + (y_b - y_a) ** 2) ** (1 / 2)
13 sisi_c = ((x_c - x_a) ** 2 + (y_c - y_a) ** 2) ** (1 / 2)
Kemudian pada baris ke-15, nilai dalam sisi_a, sisi_b dan sisi_c dihitung menggunakan
rumus berikut. Hasil operasi ini disimpan dalam variabel s. Operasi ini adalah setengah
keliling segitiga.
14 …
15 s = (sisi_a + sisi_b + sisi_c) / 2
17 …
Pada baris ke-18, luas segitiga dihitung menggunakan rumus berikut. Hasil operasi ini
disimpan dalam variabel dengan nama luas.
17 …
18 luas = (s * (s - sisi_a) * (s - sisi_b) * (s - sisi_c)) ** (1 / 2)
19 …
Kemudian pada baris ke-20 hingga 25, program menampilkan nilai variabel luas. nilai
ini ditampilkan dengan ditambahi pesan “Luas segitiga dengan titik sudut A([nilai variabel
x_a], ([nilai variabel y_a]), B([nilai variabel x_b], ([nilai variabel y_b]), C([nilai variabel
x_c], ([nilai variabel y_c]) adalah [nilai varibel luas].”
20 print("Luas segitiga dengan titik sudut",
21 "A(", x_a, "," , y_a, "), ",
22 "B(", x_b, ",", y_b, "), ",
23 "C(", x_c, ",", y_c, ")",
24 "adalah", luas
25 )
Contoh hasil eksekusi program menghitung luas segitiga sembarang ditunjukkan oleh
gambar 02.14.02 berikut:
0214-LuasSegitiga.py #bayuyudhasaputra
Halaman 6
Gambar 02.14.02. Contoh Output Hitung Luas Segitiga
Dalam kasus ini, nilai absis dan ordinat titik A berturut-turut 1.5 dan -3.4. Sementara, absis dan
ordinat titik B adalah berturut-turut 4.6 dan 5. Serta, absis dan ordinat titik C berturut-turut 9.5
dan -3.4. Sehingga, luas segitiganya adalah 33.600000000000016.
02.14.04. Daftar Pustaka
Liang. 2013. Introduction to Programming with Python. London: Pearson Education yang bisa
diakses pada tautan berikut:
https://www.amazon.com/Introduction-Programming-Using-Python-
Daniel/dp/0132747189
Baris kode ini bisa diakses pada tautan berikut:
https://github.com/bayuYudhaSaputra/Python/blob/main/Python_Liang/0214-
LuasSegitiga.py

02.14. Luas Segitiga Menggunakan Bahasa Pemrograman Python

  • 1.
    0214-LuasSegitiga.py #bayuyudhasaputra Halaman 1 ProgrammingExercise 02.14 Luas Segitiga 02.14.01. Masalah 2.14. Tuliskan program yang meminta input 3 titik kepada pengguna, yaitu (x1, y1), (x2, y2), dan (x3, y3). Titik-titik yang diinput ini adalah titik sudut segitiga. Rumus untuk menghitung luas segitiga adalah: 𝑠 = 𝑠𝑖𝑑𝑒1 + 𝑠𝑖𝑑𝑒2 + 𝑠𝑖𝑑𝑒3 2 𝑎𝑟𝑒𝑎 = √𝑠(𝑠 − 𝑠𝑖𝑑𝑒1)(𝑠 − 𝑠𝑖𝑑𝑒2)(𝑠 − 𝑠𝑖𝑑𝑒3)𝑎𝑟𝑒𝑎 = √𝑠(𝑠 − 𝑠𝑖𝑑𝑒1)(𝑠 − 𝑠𝑖𝑑𝑒2)(𝑠 − 𝑠𝑖𝑑𝑒3) Input absis titik A : 1.5 Input ordinat titik A : -3.4 Input absis titik B : 4.6 Input ordinat titik B : 5 Input absis titik C : 9.5 Input ordinat titik C : -3.4 Luas segitiga dengan titik sudut A(1.5, -3.4), B(4.6, 5) dan C(9.5, -3.4) adalah 33.6 02.14.02. Luas Segitiga Diketahui segitiga sembarang ABC dengan panjang sisi a, b, dan c didalam diagram cartesius seperti pada gambar 02.14.01 berikut:
  • 2.
    0214-LuasSegitiga.py #bayuyudhasaputra Halaman 2 Gambar02.14.01. Segitiga sembarang ABC Luas segitiga ABC dapat ditentukan dengan rumus berikut: 𝐿𝑢𝑎𝑠 = √𝑠(𝑠 − 𝑎)(𝑠 − 𝑏)(𝑠 − 𝑐) dimana, 𝑠 = 𝑎 + 𝑏 + 𝑐 2 Panjang sisi segitiga a, b dan c dapat ditentukan menggunakan rumus jarak antara dua titik dalam diagram cartesius. Panjang sisi a sama dengan jarak antara titik B(x2, y2) dengan C(x3, y3). 𝑎 = √(𝑥3 − 𝑥2)2 + (𝑦3 − 𝑦2)2 Panjang sisi b sama dengan jarak antara titik A(x1, y1) dengan B(x2, y2). 𝑏 = √(𝑥2 − 𝑥1)2 + (𝑦2 − 𝑦1)2 Panjang sisi c sama dengan jarak antara titik A(x1, y1) dengan C(x3, y3). 𝑐 = √(𝑥3 − 𝑥1)2 + (𝑦3 − 𝑦1)2
  • 3.
    0214-LuasSegitiga.py #bayuyudhasaputra Halaman 3 02.14.03.Kode Python Langkah-langkah kerja program menghitung luas segitiga sembarang adalah: Langkah ke-1 : meminta input absis dan ordinat titik-titik A, B dan C. absis titik A, B, dan C disimpan dalam variabel berturut-turut x_a, x_b dan x_c. Ordinat titik A, B, dan C disimpan dalam variabel berturut-turut y_a, y_b dan y_c. Langkah ke-2 : menentukan panjang sisi a menggunakan rumus berikut. Hasil operasi ini disimpan dalam variabel sisi_a. sisi_a = ((x_c – x_b) ** 2 + (y_c – y_b) ** 2) ** (1 / 2) Langkah ke-3 : menentukan panjang sisi b menggunakan rumus berikut. Hasil operasi ini disimpan dalam variabel sisi_b. sisi_b = ((x_b – x_a) ** 2 + (y_b – y_a) ** 2) ** (1 / 2) Langkah ke-4 : menentukan panjang sisi c menggunakan rumus berikut. Hasil operasi ini disimpan dalam variabel sisi_c. sisi_c = ((x_c – x_a) ** 2 + (y_c – y_a) ** 2) ** (1 / 2) Langkah ke-5 : menentukan setengah dari keliling segitiga. Hasil operasi ini disimpan dalam variabel s. s = (sisi_a + sisi_b + sisi_c) / 2 Langkah ke-6 : menentukan luas segitiga menggunakan rumus berikut, hasil operasi ini disimpan dalam variabel luas. luas = (s * (s – sisi_a) * (s – sisi_b) * (s – sisi_c)) ** (1/2) Langkah ke-7 : menampilka nilai dalam variabel luas. Program lengkap program menghitung luas segitiga sembarang adalah: 1 x_a = eval(input("Input absis titik A : ")) 2 y_a = eval(input("Input ordinat titik A : ")) 3 4 x_b = eval(input("Input absis titik B :")) 5 y_b = eval(input("Input ordinat titik B : ")) 6
  • 4.
    0214-LuasSegitiga.py #bayuyudhasaputra Halaman 4 7x_c = eval(input("Input absis titik C : ")) 8 y_c = eval(input("Input ordinat titik C : ")) 9 10 sisi_a = ((x_c - x_b) ** 2 + (y_c - y_b) ** 2) ** (1 / 2) 12 sisi_b = ((x_b - x_a) ** 2 + (y_b - y_a) ** 2) ** (1 / 2) 13 sisi_c = ((x_c - x_a) ** 2 + (y_c - y_a) ** 2) ** (1 / 2) 14 15 s = (sisi_a + sisi_b + sisi_c) / 2 17 18 luas = (s * (s - sisi_a) * (s - sisi_b) * (s - sisi_c)) ** (1 / 2) 19 20 print("Luas segitiga dengan titik sudut", 21 "A(", x_a, "," , y_a, "), ", 22 "B(", x_b, ",", y_b, "), ", 23 "C(", x_c, ",", y_c, ")", 24 "adalah", luas 25 ) Pada baris ke-1 hingga 9, program meminta input menggunakan fungsi input(). Kemudian, nilai input dikonversi dari string menjadi numerik menggunakan fungsi eval(). Nilai input ini disimpan dalam variabel berturut-turut x_a, y_a, x_b, y_b, x_c, dan y_c. 1 x_a = eval(input("Input absis titik A : ")) 2 y_a = eval(input("Input ordinat titik A : ")) 3 4 x_b = eval(input("Input absis titik B :")) 5 y_b = eval(input("Input ordinat titik B : ")) 6 7 x_c = eval(input("Input absis titik C : ")) 8 y_c = eval(input("Input ordinat titik C : ")) 9 Kemudian pada baris ke-10, program menghitung jarak antara titik B(xb, yb) dengan C(xc, yc). hasil perhitungan ini disimpan dalam variabel sisi_a. Pada baris ke-11, program menghitung jarak antara titik B(xb, yb) dengan A(xa, ya). hasil perhitungan ini disimpan dalam variabel sisi_b. Pada baris ke-12, program menghitung jarak antara titik A(xa, ya) dengan C(xc, yc). hasil perhitungan ini disimpan dalam variabel sisi_c. Jarak-jarak titik ini adalah panjang sisi-sisi segitiga. 10 sisi_a = ((x_c - x_b) ** 2 + (y_c - y_b) ** 2) ** (1 / 2)
  • 5.
    0214-LuasSegitiga.py #bayuyudhasaputra Halaman 5 12sisi_b = ((x_b - x_a) ** 2 + (y_b - y_a) ** 2) ** (1 / 2) 13 sisi_c = ((x_c - x_a) ** 2 + (y_c - y_a) ** 2) ** (1 / 2) Kemudian pada baris ke-15, nilai dalam sisi_a, sisi_b dan sisi_c dihitung menggunakan rumus berikut. Hasil operasi ini disimpan dalam variabel s. Operasi ini adalah setengah keliling segitiga. 14 … 15 s = (sisi_a + sisi_b + sisi_c) / 2 17 … Pada baris ke-18, luas segitiga dihitung menggunakan rumus berikut. Hasil operasi ini disimpan dalam variabel dengan nama luas. 17 … 18 luas = (s * (s - sisi_a) * (s - sisi_b) * (s - sisi_c)) ** (1 / 2) 19 … Kemudian pada baris ke-20 hingga 25, program menampilkan nilai variabel luas. nilai ini ditampilkan dengan ditambahi pesan “Luas segitiga dengan titik sudut A([nilai variabel x_a], ([nilai variabel y_a]), B([nilai variabel x_b], ([nilai variabel y_b]), C([nilai variabel x_c], ([nilai variabel y_c]) adalah [nilai varibel luas].” 20 print("Luas segitiga dengan titik sudut", 21 "A(", x_a, "," , y_a, "), ", 22 "B(", x_b, ",", y_b, "), ", 23 "C(", x_c, ",", y_c, ")", 24 "adalah", luas 25 ) Contoh hasil eksekusi program menghitung luas segitiga sembarang ditunjukkan oleh gambar 02.14.02 berikut:
  • 6.
    0214-LuasSegitiga.py #bayuyudhasaputra Halaman 6 Gambar02.14.02. Contoh Output Hitung Luas Segitiga Dalam kasus ini, nilai absis dan ordinat titik A berturut-turut 1.5 dan -3.4. Sementara, absis dan ordinat titik B adalah berturut-turut 4.6 dan 5. Serta, absis dan ordinat titik C berturut-turut 9.5 dan -3.4. Sehingga, luas segitiganya adalah 33.600000000000016. 02.14.04. Daftar Pustaka Liang. 2013. Introduction to Programming with Python. London: Pearson Education yang bisa diakses pada tautan berikut: https://www.amazon.com/Introduction-Programming-Using-Python- Daniel/dp/0132747189 Baris kode ini bisa diakses pada tautan berikut: https://github.com/bayuYudhaSaputra/Python/blob/main/Python_Liang/0214- LuasSegitiga.py