SlideShare a Scribd company logo
0303-EstimasiLuasDaerah.py #bayuyudhasaputra
Halaman 1
Programming Exercise 03.03
Estimasi Luas Wilayah
03.03.01. Masalah
03.03. Tentukan lokasi GPS daerah kota Atlanta (Georgia), Florida (Orlando), Savannah (Georgia) dan
Charlotte (North Carolina). Kemudian, hitung luas daerah yang melingkupi keempat kota ini.
(Petunjuk: gunakan rumus great circle distance pada latihan 3.2 untuk menentukan jarak kedua kota
dan bagi poligon yang dibentuk oleh keempat kota ini menjadi 2 segitiga)
03.03.02. Rumus Great Circle Distance Antar Titik
Seperti yang sudah dijelaskan dalam latihan 3.2, Great circle distance adalah jarak di
antara dua titik pada permukaan bumi. Misal, (𝑥1, 𝑦1) dan (𝑥2, 𝑦2) latitude dan longitude dari
dua titik. Great circle distance diantara dua titik dapat dihitung menggunakan rumus berikut:
Radius rata-rata bumi adalah 6,371.01 km. Besar sudut latitude dan longitude dinyatakan
dalam derajat, padahal rumus trigonometri Python menggunakan radian. Sehingga, besar sudut
ini harus dikonversi menjadi radian terlebih dahulu sebelum diinput ke rumus ini. Nilai latitude
dan longitude bernilai positif untuk arah berturut-turut utara dan barat. Sedangkan, nilai negatif
untuk arah selatan dan timur. Rumus ini digunakan untuk menentukan jarak antar kota yang
sudah ditentukan latitude dan longitude-nya.
03.03.03. Luas Poligon
Untuk menentukan luas segiempat yang dibentuk oleh titik 1, 2, 3, dan 4, segiempat ini
harus dibagi menjadi 2 segitiga. Sehingga, luas dari segiempat ini adalah jumlah dari 2 segitiga
ini.
𝑑 = 𝑟𝑎𝑑𝑖𝑢𝑠 × arccos(sin(𝑥1) × sin(𝑥2) + cos(𝑥1) × cos(𝑥2) × cos(𝑦1 − 𝑦2))
0303-EstimasiLuasDaerah.py #bayuyudhasaputra
Halaman 2
Gambar 03.03.01. Segiempat yang Terbentuk Dari Titik 1 hingga 4
Gambar 03.03.02. Segiempat 1234 dibentuk dari Segitiga 123 dan 143
0303-EstimasiLuasDaerah.py #bayuyudhasaputra
Halaman 3
03.03.04. Kode Python
Langkah-langkah kerja program python menentukan perkiraan luas yang melingkupi
keempat kota ini adalah:
Langkah ke-1 : input latitude dan longitude ke-1 (kota Atlanta)
Langkah ke-2 : input latitude dan longitude ke-2 (kota Orlando)
Langkah ke-3 : input latitude dan longitude ke-3 (kota Savannah)
Langkah ke-4 : input latitude dan longitude ke-4 (kota Charlotte)
Langkah ke-5 : menentukan jarak antara titik ke-1 dengan 2 (antara Atlanta dengan
Orlando)
Langkah ke-6 : menentukan jarak antara titik ke-2 dengan 3 (antara Orlando dengan
Savannah)
Langkah ke-7 : menentukan jarak antara titik ke-3 dengan 1 (antara Savannah dengan
Atlanta)
Langkah ke-8 : menentukan luas area yang dibentuk oleh titik ke-1, 2 dan 3.
Langkah ke-9 : menentukan jarak antara titik ke-3 dengan 4 (antara Savannah dengan
Charlotte)
Langkah ke-10 : menentukan jarak antara titik ke-1 dengan 4 (antara Atlanta dan
Charlotte)
Langkah ke-11 : menentukan luas area yang dibentuk oleh titik ke-1, 3 dan 4.
Langkah ke-12 : menentukan luas area yang dibentuk oleh titik 1, 2, 3, dan 4.
Langkah ke-13 : menampilkan luas area yang dibentuk oleh titik 1, 2, 3, dan 4.
Program python lengkap menentukan perkiraan luas yang melingkupi keempat kota ini
adalah:
1 import math
2
3 # 1. Latitude dan longitude Atlanta (1)
0303-EstimasiLuasDaerah.py #bayuyudhasaputra
Halaman 4
4 x1 = 33.753746
5 y1 = -84.386330
6 x1 = math.radians(x1)
7 y1 = math.radians(y1)
8
9 # 2. Latitude dan longitude Orlando (2)
10 x2 = 28.538336
11 y2 = -81.379234
12 x2 = math.radians(x2)
13 y2 = math.radians(y2)
14
15 # 3. Latitude dan longitude Savannah (3)
16 x3 = 32.0809263
17 y3 = -81.0911768
18 x3 = math.radians(x3)
19 y3 = math.radians(y3)
20
21 # 4. Latitide dan Longitude Charlotte (4)
22 x4 = 35.227085
23 y4 = -80.843124
24 x4 = math.radians(x4)
25 y4 = math.radians(y4)
26
27 radius = 6371.01 # radius rata-rata bumi
28
29 # 5. Jarak Atlanta dan Orlando (12)
30 jarak12 = radius * math.acos(math.sin(x1) * math.sin(x2) + math.cos(x1) * math.cos(x2) *
math.cos(y1 - y2))
31
32 # 6. Jarak Orlando dan Savannah (23)
33 jarak23 = radius * math.acos(math.sin(x2) * math.sin(x3) + math.cos(x2) * math.cos(x3) *
math.cos(y2 - y3))
34
35 # 7. Jarak Savannah dengan Atlanta (31)
36 jarak31 = radius * math.acos(math.sin(x1) * math.sin(x3) + math.cos(x3) * math.cos(x1) *
math.cos(y3 - y1))
37
38 # 8. Luas Area Atlanta, Savannah, Orlando (123)
39 s123 = (jarak12 + jarak23 + jarak31) / 2 # setengah keliling segitiga 123
40
41 luas123 = (s123 * (s123 - jarak12) * (s123 - jarak23) * (s123 - jarak31) ) ** (1/2)
42
0303-EstimasiLuasDaerah.py #bayuyudhasaputra
Halaman 5
43 # 9. Jarak Savannah dan Charlotte (34)
44 jarak34 = radius * math.acos(math.sin(x3) * math.sin(x4) + math.cos(x3) * math.cos(x4) *
math.cos(y3 - y4))
45
46 # 10. Jarak Atlanta dan Charlotte (14)
47 jarak14 = radius * math.acos(math.sin(x1) * math.sin(x4) + math.cos(x1) * math.cos(x4) *
math.cos(y1 - y4))
48
49 # 11. Luas area Atlanta, Savannah, Charlotte (134)
50 s134 = (jarak31 + jarak34 + jarak14) / 2 # setengah keliling segitiga 134
51
52 luas134 = (s134 * (s134 - jarak31) * (s134 - jarak34) * (s134 - jarak14)) ** (1/2)
53
54 # 12. Luas Atlanta, Orlando, Savannah, Charlotte
55 luas1234 = luas123 + luas134
56
57 luas1234 = round(luas1234, 2) # dibulatkan 2 angka desimal
58
59 # 13. Tampilkan luas Atlanta, Orlando, Savannah, Charlotte.
60 print("Luas daerah yang melingkupi kota",
"Atlanta,",
"Orlando,",
"Savannah, dan",
"Charlotte adalah",
luas1234, "Km persegi."
)
Pada baris ke-1, program mengimpor modul math agar fungsi-fungsi math bisa
digunakan.
1 import math
Pada baris ke-5, 6, 10, 11, 16, 17, 22, dan 23, latitude dan longitude keempat titik
didefinisikan. Nilai latitude disimpan dalam variabel xn dengan n = 1, 2, 3, 4. Nilai longitude
disimpan dalam variabel dengan nama yn dengan n = 1, 2, 3, dan 4.
4 x1 = 33.753746
5 y1 = -84.386330
...
10 x2 = 28.538336
11 y2 = -81.379234
...
0303-EstimasiLuasDaerah.py #bayuyudhasaputra
Halaman 6
16 x3 = 32.0809263
17 y3 = -81.0911768
...
22 x4 = 35.227085
23 y4 = -80.843124
Karena nilai parameter dari method-method trigonometri adalah sudut dalam radian maka nilai
dalam variabel xn dan yn untuk n = 1, 2, 3, dan 4 harus dikonversi menjadi radian terlebih
dahulu menggunakan method math.radians(). Hasil konversi ini memperbarui nilai variabel xn
dan yn, untuk n = 1, 2, 3, dan 4 seperti yang ditunjukkan oleh baris ke-6, 7, 12, 13, 18, 19, 24
dan 25.
6 x1 = math.radians(x1)
7 y1 = math.radians(y1)
...
12 x2 = math.radians(x2)
13 y2 = math.radians(y2)
...
18 x3 = math.radians(x3)
19 y3 = math.radians(y3)
...
24 x4 = math.radians(x4)
25 y4 = math.radians(y4)
Pada baris ke-21, variabel dengan nama radius didefinisikan. Variabel ini menampung
nilai rata-rata radius bumi, yaitu 6371,01 Km.
27 radius = 6371.01
Baris ke-30, 33, 36, 44, dan 47, program menentukan great circle distance dari dua titik.
Baris ke-30 digunakan untuk menentukan great circle distance diantara titik 1 dengan titik 2.
Jarak ini disimpan dalam variabel jarak12.
30 jarak12 = radius * math.acos(math.sin(x1) * math.sin(x2) + math.cos(x1) * math.cos(x2) *
math.cos(y1 - y2))
Baris ke-33 digunakan untuk menentukan great circle distance antara titik 2 dengan 3. Jarak
ini disimpan dalam variabel jarak23.
33 jarak23 = radius * math.acos(math.sin(x2) * math.sin(x3) + math.cos(x2) * math.cos(x3) *
math.cos(y2 - y3))
0303-EstimasiLuasDaerah.py #bayuyudhasaputra
Halaman 7
Baris ke-36 digunakan untuk menentukan great circle distance antara titik ke-3 dengan 1.
Jarak ini disimpan dalam variabel jarak31.
36 jarak31 = radius * math.acos(math.sin(x1) * math.sin(x3) + math.cos(x3) * math.cos(x1) *
math.cos(y3 - y1))
Baris ke-44 digunakan untuk menentukan great circle distance antara titik ke-3 dengan 4.
Jarak ini disimpan dalam variabel jarak34.
44 jarak34 = radius * math.acos(math.sin(x3) * math.sin(x4) + math.cos(x3) * math.cos(x4) *
math.cos(y3 - y4))
Baris ke-47 digunakan untuk menentukan great circle distance antara titik ke-1 dengan 4.
Jarak ini disimpan dalam variabel jarak14.
47 jarak14 = radius * math.acos(math.sin(x1) * math.sin(x4) + math.cos(x1) * math.cos(x4) *
math.cos(y1 - y4))
Pada baris ke-39 dan 41, program menentukan luas segitiga yang dibentuk oleh titik ke-
1, 2, dan 3. Pada baris ke-39, program menentukan setengah keliling segitiga. Setengah keliling
segitiga ini disimpan dalam variabel s123. Kemudian, pada baris ke-40, program menentukan
luas segitiga menggunakan rumus heron. Luas segitiga yang dibentuk oleh titik ke-1, 2, dan 3
ini disimpan dalam variabel dengan nama luas123.
39 s123 = (jarak12 + jarak23 + jarak31) / 2
40 ….
41 luas123 = (s123 * (s123 - jarak12) * (s123 - jarak23) * (s123 - jarak31) ) ** (1/2)
Pada baris ke-50 dan 52, program menentukan luas segitiga yang dibentuk oleh titik ke-
1, 3, dan 4. Pada baris ke-50, program menentukan setengah keliling segitiga. Setengah keliling
segitiga ini disimpan dalam variabel s134. Kemudian, pada baris ke-52, program menentukan
luas segitiga juga menggunakan rumus heron. Luas segitiga yang dibentuk oleh titik ke-1, 3,
dan 4 ini disimpan dalam variabel dengan nama luas134.
50 s134 = (jarak31 + jarak34 + jarak14) / 2
51 ….
52 luas134 = (s134 * (s134 - jarak31) * (s134 - jarak34) * (s134 - jarak14)) ** (1/2)
0303-EstimasiLuasDaerah.py #bayuyudhasaputra
Halaman 8
Kemudian pada baris ke-55, luas daerah yang dibentuk oleh titik 1, 2, dan 3 dijumlahkan
dengan luas segitiga yang dibentuk oleh titik 1, 3, dan 4. Jumlah luas ini disimpan dalam
variabel dengan nama luas1234. Pada baris ke-57, nilai dalam variabel luas1234 ini dibulatkan
hingga 2 angka desimal.
55 luas1234 = luas123 + luas134
56 ….
57 luas1234 = round(luas1234, 2) # dibulatkan 2 angka desimal
Pada baris ke-60, program menampilkan dalam variabel luas1234 menggunakan fungsi
print().
60 print("Luas daerah yang melingkupi kota",
"Atlanta,",
"Orlando,",
"Savannah, dan",
"Charlotte adalah",
luas1234, "Km persegi."
)
Gambar 03.03.03 berikut ini adalah contoh output dari program menentukan luas yang
melingkupi 4 kota. Dalam kasus ini, Output yang dihasilkan adalah 118124.12 kilometer
persegi.
Gambar 03.03.03. Contoh Output Program Menentukan Luas
0303-EstimasiLuasDaerah.py #bayuyudhasaputra
Halaman 9
03.03.05. 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/0303-
Luas4TitikGeografis.py

More Related Content

PDF
03.14. Membuat Logo Olimpiade Menggunakan Bahasa Pemrograman Python.pdf
PDF
03.13. Membuat Tanda STOP Menggunakan Bahasa Pemrograman Python.pdf
PDF
03.12.Menggambar Bintang Menggunakan Bahasa Pemrograman Python.pdf
PDF
03.11. Pembalikan Digit Bilangan Menggunakan Bahasa Pemrograman Python.pdf
PDF
03.10. Tampilkan 8 Abjad Yunani Menggunakan Bahasa Pemrograman Python.pdf
PDF
03.09. Pembayaran Gaji Menggunakan Bahasa Pemrograman Python.pdf
PDF
03.08. Pecahan Mata Uang USD Menggunakan Bahasa Pemrograman Python.pdf
PDF
03.07.Menampilkan Huruf Kapital secara Random Menggunakan Bahasa Pemrograman ...
03.14. Membuat Logo Olimpiade Menggunakan Bahasa Pemrograman Python.pdf
03.13. Membuat Tanda STOP Menggunakan Bahasa Pemrograman Python.pdf
03.12.Menggambar Bintang Menggunakan Bahasa Pemrograman Python.pdf
03.11. Pembalikan Digit Bilangan Menggunakan Bahasa Pemrograman Python.pdf
03.10. Tampilkan 8 Abjad Yunani Menggunakan Bahasa Pemrograman Python.pdf
03.09. Pembayaran Gaji Menggunakan Bahasa Pemrograman Python.pdf
03.08. Pecahan Mata Uang USD Menggunakan Bahasa Pemrograman Python.pdf
03.07.Menampilkan Huruf Kapital secara Random Menggunakan Bahasa Pemrograman ...

More from Bayu Yudha Saputra (20)

PDF
03.06. Konversi Kode ASCII Menggunakan Bahasa Pemrograman Python.pdf
PDF
03.05. Luas Segi-n Beraturan Menggunakan Bahasa Pemrograman Python.pdf
PDF
03.04. Luas Segilima Beraturan Menggunakan Bahasa Pemrograman Python
PDF
03.02. Great Circle Distance Menggunakan Bahasa Pemrograman Python
PDF
03.01. Luas Segilima Menggunakan Bahasa Pemrograman Python
PDF
02.26. Menggambar Lingkaran Dan Menampilkan Luas Menggunakan Bahasa Pemrogram...
PDF
02.23. Gambar Empat Lingkaran Menggunakan Python
PDF
02.22. proyeksi Jumlah Penduduk Menggunakan Bahasa Pemrograman Python
PDF
02.21. Hitung Bunga Majemuk Menggunakan Bahasa Pemrograman Python.pdf
PDF
02.20.Hitung Nominal Bunga Bulanan Menggunakan Python
PDF
02.19. Hitung Nilai Investasi Menggunakan Python.pdf
PDF
02.17. Menentukan Body Mass Index Menggunakan Bahasa Pemrograman Python
PDF
02.16. Hitung Percepatan Menggunakan Python
PDF
02.15. LuasSegienam Menggunakan Bahasa Pemrograman Python
PDF
02.14. Luas Segitiga Menggunakan Bahasa Pemrograman Python
PDF
02.13. Ekstrak Bilangan Ribuan Mengguanakan Bahasa Pemrograman Python
PDF
02.11. Hitung Nilai Awal Tabungan Menggunakan Python
PDF
02.10. Hitung Panjang Minimal Runway Menggunakan Python
PDF
02.09. Menentukan Wind-chill Temperature Menggunakan Bahasa Pemrograman Python
PDF
02.07. Mengonversi Satuan Menit Ke Tahun Dan Hari
03.06. Konversi Kode ASCII Menggunakan Bahasa Pemrograman Python.pdf
03.05. Luas Segi-n Beraturan Menggunakan Bahasa Pemrograman Python.pdf
03.04. Luas Segilima Beraturan Menggunakan Bahasa Pemrograman Python
03.02. Great Circle Distance Menggunakan Bahasa Pemrograman Python
03.01. Luas Segilima Menggunakan Bahasa Pemrograman Python
02.26. Menggambar Lingkaran Dan Menampilkan Luas Menggunakan Bahasa Pemrogram...
02.23. Gambar Empat Lingkaran Menggunakan Python
02.22. proyeksi Jumlah Penduduk Menggunakan Bahasa Pemrograman Python
02.21. Hitung Bunga Majemuk Menggunakan Bahasa Pemrograman Python.pdf
02.20.Hitung Nominal Bunga Bulanan Menggunakan Python
02.19. Hitung Nilai Investasi Menggunakan Python.pdf
02.17. Menentukan Body Mass Index Menggunakan Bahasa Pemrograman Python
02.16. Hitung Percepatan Menggunakan Python
02.15. LuasSegienam Menggunakan Bahasa Pemrograman Python
02.14. Luas Segitiga Menggunakan Bahasa Pemrograman Python
02.13. Ekstrak Bilangan Ribuan Mengguanakan Bahasa Pemrograman Python
02.11. Hitung Nilai Awal Tabungan Menggunakan Python
02.10. Hitung Panjang Minimal Runway Menggunakan Python
02.09. Menentukan Wind-chill Temperature Menggunakan Bahasa Pemrograman Python
02.07. Mengonversi Satuan Menit Ke Tahun Dan Hari
Ad

Recently uploaded (20)

PDF
Presentasi Aplikasi Persiapan ANBK 2025.pdf
PPTX
Materi Besaran, Satuan, Pengukuran.pptx
PPTX
SISTEM POLITIK DAN PEMERINTAHAN INDONESIA.pptx
PPTX
Konsep & Strategi Penyusunan HPS _Pelatihan "Ketentuan TERBARU Pengadaan" (...
PPTX
1. Bhn Tayang,Kebijaka,Deep Learning,AI & Koding.pptx
PPTX
Perubahan Pengertian_Istilah _Pelatihan "Ketentuan TERBARU Pengadaan Pemerin...
PPT
Kamera foto dan editing foto pengenalan fotografi
PDF
LK Modul 3 - Menentukan Pengalaman Belajar Herpina Indah Permata Sari (2).pdf
PPTX
Pembelajaran-Mendalam-RTL-dan-Umpan-Baliknya.pptx
PDF
RPP PEMBELAJARAN MENDALAM BAHASA INDONESIA _SariIndah_DEWI SINTA (1).pdf
PPTX
!!!!Bahan Tayang Kompetensi Manajerial-AKUNTABILITAS KINERJA-DR Asep Iwa.pptx
PDF
AI-Driven Intelligence and Cyber Security: Strategi Stabilitas Keamanan untuk...
DOC
RPP Deep Learning _ MGMP Wilayah 1 (1).doc
DOCX
Modul Ajar Deep Learning PKN Kelas 10 SMA Terbaru 2025
PPTX
! Keterampilan Digital dalam orgnasisasi.pptx
PPTX
Presentasi Al-Quran Hadits Kelompok XI.1
PPTX
Patuh_Terhadap_Norma_PPKn_Kelas_7 oke.pptx
PPTX
materi presentasi sustainable development
PDF
Laporan On The Job TRaining PM KS Siti Hikmah.pdf
PPTX
Modul 3 Prinsip-Pembelajaran-Mendalam.pptx
Presentasi Aplikasi Persiapan ANBK 2025.pdf
Materi Besaran, Satuan, Pengukuran.pptx
SISTEM POLITIK DAN PEMERINTAHAN INDONESIA.pptx
Konsep & Strategi Penyusunan HPS _Pelatihan "Ketentuan TERBARU Pengadaan" (...
1. Bhn Tayang,Kebijaka,Deep Learning,AI & Koding.pptx
Perubahan Pengertian_Istilah _Pelatihan "Ketentuan TERBARU Pengadaan Pemerin...
Kamera foto dan editing foto pengenalan fotografi
LK Modul 3 - Menentukan Pengalaman Belajar Herpina Indah Permata Sari (2).pdf
Pembelajaran-Mendalam-RTL-dan-Umpan-Baliknya.pptx
RPP PEMBELAJARAN MENDALAM BAHASA INDONESIA _SariIndah_DEWI SINTA (1).pdf
!!!!Bahan Tayang Kompetensi Manajerial-AKUNTABILITAS KINERJA-DR Asep Iwa.pptx
AI-Driven Intelligence and Cyber Security: Strategi Stabilitas Keamanan untuk...
RPP Deep Learning _ MGMP Wilayah 1 (1).doc
Modul Ajar Deep Learning PKN Kelas 10 SMA Terbaru 2025
! Keterampilan Digital dalam orgnasisasi.pptx
Presentasi Al-Quran Hadits Kelompok XI.1
Patuh_Terhadap_Norma_PPKn_Kelas_7 oke.pptx
materi presentasi sustainable development
Laporan On The Job TRaining PM KS Siti Hikmah.pdf
Modul 3 Prinsip-Pembelajaran-Mendalam.pptx
Ad

03.03.Estimasi Luas Daerah Menggunakan Bahasa Pemrograman Python

  • 1. 0303-EstimasiLuasDaerah.py #bayuyudhasaputra Halaman 1 Programming Exercise 03.03 Estimasi Luas Wilayah 03.03.01. Masalah 03.03. Tentukan lokasi GPS daerah kota Atlanta (Georgia), Florida (Orlando), Savannah (Georgia) dan Charlotte (North Carolina). Kemudian, hitung luas daerah yang melingkupi keempat kota ini. (Petunjuk: gunakan rumus great circle distance pada latihan 3.2 untuk menentukan jarak kedua kota dan bagi poligon yang dibentuk oleh keempat kota ini menjadi 2 segitiga) 03.03.02. Rumus Great Circle Distance Antar Titik Seperti yang sudah dijelaskan dalam latihan 3.2, Great circle distance adalah jarak di antara dua titik pada permukaan bumi. Misal, (𝑥1, 𝑦1) dan (𝑥2, 𝑦2) latitude dan longitude dari dua titik. Great circle distance diantara dua titik dapat dihitung menggunakan rumus berikut: Radius rata-rata bumi adalah 6,371.01 km. Besar sudut latitude dan longitude dinyatakan dalam derajat, padahal rumus trigonometri Python menggunakan radian. Sehingga, besar sudut ini harus dikonversi menjadi radian terlebih dahulu sebelum diinput ke rumus ini. Nilai latitude dan longitude bernilai positif untuk arah berturut-turut utara dan barat. Sedangkan, nilai negatif untuk arah selatan dan timur. Rumus ini digunakan untuk menentukan jarak antar kota yang sudah ditentukan latitude dan longitude-nya. 03.03.03. Luas Poligon Untuk menentukan luas segiempat yang dibentuk oleh titik 1, 2, 3, dan 4, segiempat ini harus dibagi menjadi 2 segitiga. Sehingga, luas dari segiempat ini adalah jumlah dari 2 segitiga ini. 𝑑 = 𝑟𝑎𝑑𝑖𝑢𝑠 × arccos(sin(𝑥1) × sin(𝑥2) + cos(𝑥1) × cos(𝑥2) × cos(𝑦1 − 𝑦2))
  • 2. 0303-EstimasiLuasDaerah.py #bayuyudhasaputra Halaman 2 Gambar 03.03.01. Segiempat yang Terbentuk Dari Titik 1 hingga 4 Gambar 03.03.02. Segiempat 1234 dibentuk dari Segitiga 123 dan 143
  • 3. 0303-EstimasiLuasDaerah.py #bayuyudhasaputra Halaman 3 03.03.04. Kode Python Langkah-langkah kerja program python menentukan perkiraan luas yang melingkupi keempat kota ini adalah: Langkah ke-1 : input latitude dan longitude ke-1 (kota Atlanta) Langkah ke-2 : input latitude dan longitude ke-2 (kota Orlando) Langkah ke-3 : input latitude dan longitude ke-3 (kota Savannah) Langkah ke-4 : input latitude dan longitude ke-4 (kota Charlotte) Langkah ke-5 : menentukan jarak antara titik ke-1 dengan 2 (antara Atlanta dengan Orlando) Langkah ke-6 : menentukan jarak antara titik ke-2 dengan 3 (antara Orlando dengan Savannah) Langkah ke-7 : menentukan jarak antara titik ke-3 dengan 1 (antara Savannah dengan Atlanta) Langkah ke-8 : menentukan luas area yang dibentuk oleh titik ke-1, 2 dan 3. Langkah ke-9 : menentukan jarak antara titik ke-3 dengan 4 (antara Savannah dengan Charlotte) Langkah ke-10 : menentukan jarak antara titik ke-1 dengan 4 (antara Atlanta dan Charlotte) Langkah ke-11 : menentukan luas area yang dibentuk oleh titik ke-1, 3 dan 4. Langkah ke-12 : menentukan luas area yang dibentuk oleh titik 1, 2, 3, dan 4. Langkah ke-13 : menampilkan luas area yang dibentuk oleh titik 1, 2, 3, dan 4. Program python lengkap menentukan perkiraan luas yang melingkupi keempat kota ini adalah: 1 import math 2 3 # 1. Latitude dan longitude Atlanta (1)
  • 4. 0303-EstimasiLuasDaerah.py #bayuyudhasaputra Halaman 4 4 x1 = 33.753746 5 y1 = -84.386330 6 x1 = math.radians(x1) 7 y1 = math.radians(y1) 8 9 # 2. Latitude dan longitude Orlando (2) 10 x2 = 28.538336 11 y2 = -81.379234 12 x2 = math.radians(x2) 13 y2 = math.radians(y2) 14 15 # 3. Latitude dan longitude Savannah (3) 16 x3 = 32.0809263 17 y3 = -81.0911768 18 x3 = math.radians(x3) 19 y3 = math.radians(y3) 20 21 # 4. Latitide dan Longitude Charlotte (4) 22 x4 = 35.227085 23 y4 = -80.843124 24 x4 = math.radians(x4) 25 y4 = math.radians(y4) 26 27 radius = 6371.01 # radius rata-rata bumi 28 29 # 5. Jarak Atlanta dan Orlando (12) 30 jarak12 = radius * math.acos(math.sin(x1) * math.sin(x2) + math.cos(x1) * math.cos(x2) * math.cos(y1 - y2)) 31 32 # 6. Jarak Orlando dan Savannah (23) 33 jarak23 = radius * math.acos(math.sin(x2) * math.sin(x3) + math.cos(x2) * math.cos(x3) * math.cos(y2 - y3)) 34 35 # 7. Jarak Savannah dengan Atlanta (31) 36 jarak31 = radius * math.acos(math.sin(x1) * math.sin(x3) + math.cos(x3) * math.cos(x1) * math.cos(y3 - y1)) 37 38 # 8. Luas Area Atlanta, Savannah, Orlando (123) 39 s123 = (jarak12 + jarak23 + jarak31) / 2 # setengah keliling segitiga 123 40 41 luas123 = (s123 * (s123 - jarak12) * (s123 - jarak23) * (s123 - jarak31) ) ** (1/2) 42
  • 5. 0303-EstimasiLuasDaerah.py #bayuyudhasaputra Halaman 5 43 # 9. Jarak Savannah dan Charlotte (34) 44 jarak34 = radius * math.acos(math.sin(x3) * math.sin(x4) + math.cos(x3) * math.cos(x4) * math.cos(y3 - y4)) 45 46 # 10. Jarak Atlanta dan Charlotte (14) 47 jarak14 = radius * math.acos(math.sin(x1) * math.sin(x4) + math.cos(x1) * math.cos(x4) * math.cos(y1 - y4)) 48 49 # 11. Luas area Atlanta, Savannah, Charlotte (134) 50 s134 = (jarak31 + jarak34 + jarak14) / 2 # setengah keliling segitiga 134 51 52 luas134 = (s134 * (s134 - jarak31) * (s134 - jarak34) * (s134 - jarak14)) ** (1/2) 53 54 # 12. Luas Atlanta, Orlando, Savannah, Charlotte 55 luas1234 = luas123 + luas134 56 57 luas1234 = round(luas1234, 2) # dibulatkan 2 angka desimal 58 59 # 13. Tampilkan luas Atlanta, Orlando, Savannah, Charlotte. 60 print("Luas daerah yang melingkupi kota", "Atlanta,", "Orlando,", "Savannah, dan", "Charlotte adalah", luas1234, "Km persegi." ) Pada baris ke-1, program mengimpor modul math agar fungsi-fungsi math bisa digunakan. 1 import math Pada baris ke-5, 6, 10, 11, 16, 17, 22, dan 23, latitude dan longitude keempat titik didefinisikan. Nilai latitude disimpan dalam variabel xn dengan n = 1, 2, 3, 4. Nilai longitude disimpan dalam variabel dengan nama yn dengan n = 1, 2, 3, dan 4. 4 x1 = 33.753746 5 y1 = -84.386330 ... 10 x2 = 28.538336 11 y2 = -81.379234 ...
  • 6. 0303-EstimasiLuasDaerah.py #bayuyudhasaputra Halaman 6 16 x3 = 32.0809263 17 y3 = -81.0911768 ... 22 x4 = 35.227085 23 y4 = -80.843124 Karena nilai parameter dari method-method trigonometri adalah sudut dalam radian maka nilai dalam variabel xn dan yn untuk n = 1, 2, 3, dan 4 harus dikonversi menjadi radian terlebih dahulu menggunakan method math.radians(). Hasil konversi ini memperbarui nilai variabel xn dan yn, untuk n = 1, 2, 3, dan 4 seperti yang ditunjukkan oleh baris ke-6, 7, 12, 13, 18, 19, 24 dan 25. 6 x1 = math.radians(x1) 7 y1 = math.radians(y1) ... 12 x2 = math.radians(x2) 13 y2 = math.radians(y2) ... 18 x3 = math.radians(x3) 19 y3 = math.radians(y3) ... 24 x4 = math.radians(x4) 25 y4 = math.radians(y4) Pada baris ke-21, variabel dengan nama radius didefinisikan. Variabel ini menampung nilai rata-rata radius bumi, yaitu 6371,01 Km. 27 radius = 6371.01 Baris ke-30, 33, 36, 44, dan 47, program menentukan great circle distance dari dua titik. Baris ke-30 digunakan untuk menentukan great circle distance diantara titik 1 dengan titik 2. Jarak ini disimpan dalam variabel jarak12. 30 jarak12 = radius * math.acos(math.sin(x1) * math.sin(x2) + math.cos(x1) * math.cos(x2) * math.cos(y1 - y2)) Baris ke-33 digunakan untuk menentukan great circle distance antara titik 2 dengan 3. Jarak ini disimpan dalam variabel jarak23. 33 jarak23 = radius * math.acos(math.sin(x2) * math.sin(x3) + math.cos(x2) * math.cos(x3) * math.cos(y2 - y3))
  • 7. 0303-EstimasiLuasDaerah.py #bayuyudhasaputra Halaman 7 Baris ke-36 digunakan untuk menentukan great circle distance antara titik ke-3 dengan 1. Jarak ini disimpan dalam variabel jarak31. 36 jarak31 = radius * math.acos(math.sin(x1) * math.sin(x3) + math.cos(x3) * math.cos(x1) * math.cos(y3 - y1)) Baris ke-44 digunakan untuk menentukan great circle distance antara titik ke-3 dengan 4. Jarak ini disimpan dalam variabel jarak34. 44 jarak34 = radius * math.acos(math.sin(x3) * math.sin(x4) + math.cos(x3) * math.cos(x4) * math.cos(y3 - y4)) Baris ke-47 digunakan untuk menentukan great circle distance antara titik ke-1 dengan 4. Jarak ini disimpan dalam variabel jarak14. 47 jarak14 = radius * math.acos(math.sin(x1) * math.sin(x4) + math.cos(x1) * math.cos(x4) * math.cos(y1 - y4)) Pada baris ke-39 dan 41, program menentukan luas segitiga yang dibentuk oleh titik ke- 1, 2, dan 3. Pada baris ke-39, program menentukan setengah keliling segitiga. Setengah keliling segitiga ini disimpan dalam variabel s123. Kemudian, pada baris ke-40, program menentukan luas segitiga menggunakan rumus heron. Luas segitiga yang dibentuk oleh titik ke-1, 2, dan 3 ini disimpan dalam variabel dengan nama luas123. 39 s123 = (jarak12 + jarak23 + jarak31) / 2 40 …. 41 luas123 = (s123 * (s123 - jarak12) * (s123 - jarak23) * (s123 - jarak31) ) ** (1/2) Pada baris ke-50 dan 52, program menentukan luas segitiga yang dibentuk oleh titik ke- 1, 3, dan 4. Pada baris ke-50, program menentukan setengah keliling segitiga. Setengah keliling segitiga ini disimpan dalam variabel s134. Kemudian, pada baris ke-52, program menentukan luas segitiga juga menggunakan rumus heron. Luas segitiga yang dibentuk oleh titik ke-1, 3, dan 4 ini disimpan dalam variabel dengan nama luas134. 50 s134 = (jarak31 + jarak34 + jarak14) / 2 51 …. 52 luas134 = (s134 * (s134 - jarak31) * (s134 - jarak34) * (s134 - jarak14)) ** (1/2)
  • 8. 0303-EstimasiLuasDaerah.py #bayuyudhasaputra Halaman 8 Kemudian pada baris ke-55, luas daerah yang dibentuk oleh titik 1, 2, dan 3 dijumlahkan dengan luas segitiga yang dibentuk oleh titik 1, 3, dan 4. Jumlah luas ini disimpan dalam variabel dengan nama luas1234. Pada baris ke-57, nilai dalam variabel luas1234 ini dibulatkan hingga 2 angka desimal. 55 luas1234 = luas123 + luas134 56 …. 57 luas1234 = round(luas1234, 2) # dibulatkan 2 angka desimal Pada baris ke-60, program menampilkan dalam variabel luas1234 menggunakan fungsi print(). 60 print("Luas daerah yang melingkupi kota", "Atlanta,", "Orlando,", "Savannah, dan", "Charlotte adalah", luas1234, "Km persegi." ) Gambar 03.03.03 berikut ini adalah contoh output dari program menentukan luas yang melingkupi 4 kota. Dalam kasus ini, Output yang dihasilkan adalah 118124.12 kilometer persegi. Gambar 03.03.03. Contoh Output Program Menentukan Luas
  • 9. 0303-EstimasiLuasDaerah.py #bayuyudhasaputra Halaman 9 03.03.05. 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/0303- Luas4TitikGeografis.py