Efisiensi Algoritma FPB dan KPK dengan Python

Elga Yunia Cristi

Sosial Media


0 orang menyukai ini
Suka

Summary

Summary


Portofolio ini Menjelaskan implementasi program Python untuk menghitung Faktor Persekutuan Terbesar (FPB) dan Kelipatan Persekutuan Kecil (KPK) menggunakan dua pendekatan algoritma: Brute Force dan Euclidean. Program ini bertujuan untuk mengevaluasi efisiensi kedua algoritma dalam menyelesaikan perhitungan matematis yang sering digunakan.Pendekatan Brute Force bekerja dengan memeriksa semua kemungkinan pembagi dari kedua bilangan hingga menemukan FPB terbesar. Di sisi lain, algoritma Euclidean memanfaatkan pembagian berulang, menjadikannya lebih cepat dan efisien, terutama saat menangani bilangan besar. Program ini juga mengukur waktu eksekusi masing-masing metode untuk membandingkan performa, yang menunjukkan keunggulan algoritma Euclidean dalam hal efisiensi.

Dengan tampilan antarmuka sederhana, program ini memudahkan pengguna untuk menghitung FPB dan KPK secara instan sambil memahami perbedaan efisiensi antar algoritma. Selain menjadi solusi yang praktis, program ini juga berfungsi sebagai media pembelajaran untuk memperdalam pemahaman konsep matematika dan pentingnya memilih algoritma yang tepat. Portofolio ini menekankan bagaimana Python dapat digunakan untuk menyelesaikan masalah matematika secara efisien dan mendukung pembelajaran berbasis teknologi.

Description

Description

 

Program ini menganalisis efisiensi algoritma Brute Force dan Euclidean dalam menghitung FPB dan KPK menggunakan Python. Program ini membandingkan kedua algoritma berdasarkan waktu eksekusi untuk menentukan metode yang lebih efisien, terutama saat menangani bilangan besar.

Berikut adalah penjelasan singkat mengenai fungsi-fungsi utama dalam program:

  • Fungsi FPB Euclidean
    Fungsi fpb_euclidean(a, b) menghitung Faktor Persekutuan Terbesar (FPB) antara dua bilangan. Algoritma ini bekerja dengan menggantikan bilangan besar dengan sisa hasil pembagiannya hingga salah satu bilangan menjadi nol. Hasil FPB ini digunakan dalam perhitungan KPK.
  • Fungsi KPK
    Fungsi kpk(a, b, fpb_func) menghitung KPK dengan rumus:

         Fungsi ini memanfaatkan hasil dari fungsi fpb_euclidean untuk mendapatkan FPB.

  • Benchmark KPK

        Fungsi benchmark_kpk(a, b) digunakan untuk:

  1. Menghitung KPK dengan algoritma Euclidean.
  2. Mencatat waktu eksekusi menggunakan modul time untuk mengukur performa perhitungan.
  • Antarmuka Input dan Eksekusi

Program meminta pengguna untuk memasukkan dua bilangan. Setelah itu, program menghitung KPK dengan memanggil fungsi-fungsi di atas dan menampilkan hasilnya, termasuk waktu eksekusi.

  • Tujuan Program
  1. Membandingkan efisiensi dua algoritma (Brute Force dan Euclidean) dalam menghitung FPB.
  2. Menghitung KPK menggunakan hasil FPB dengan rumus yang telah disebutkan.
  3. Memberikan pemahaman tentang algoritma dasar dalam matematika menggunakan Python.

 

Contoh Program  Menghitung FPB Python:

Penjelasan Program:

Program ini menghitung Faktor Persekutuan Terbesar (FPB) dari dua bilangan bulat menggunakan dua metode: Brute Force dan Euclidean, sekaligus membandingkan efisiensi keduanya. Metode Brute Force mencari FPB dengan memeriksa semua angka hingga nilai terkecil dari kedua bilangan, sedangkan algoritma Euclidean menggunakan pembagian berulang yang lebih cepat, terutama untuk bilangan besar. Program ini juga mengukur waktu eksekusi setiap metode untuk menentukan algoritma yang lebih efisien. Dengan antarmuka sederhana, pengguna hanya perlu memasukkan dua angka untuk mendapatkan FPB dan perbandingan waktu eksekusi.

contohnya: hasil perhitungan Faktor Persekutuan Terbesar (FPB) untuk dua bilangan, yaitu 24 dan 36, menggunakan dua metode algoritma yang berbeda: Brute Force dan Euclidean.

  • Program pertama-tama meminta pengguna untuk memasukkan dua angka, yaitu 24 dan 36.
  • Metode Brute Force menghitung FPB dengan memeriksa semua pembagi kedua bilangan hingga menemukan FPB, yang dalam hal ini adalah 12. Waktu eksekusi untuk metode ini adalah 0.000010 detik.
  • Metode Euclidean juga menghitung FPB dan menghasilkan nilai yang sama, yaitu 12, namun waktu eksekusi untuk metode ini lebih cepat, yaitu 0.000003 detik.
  • Hasil perbandingan menunjukkan bahwa algoritma Euclidean lebih efisien karena memerlukan waktu yang lebih singkat (sekitar 3.5 kali lebih cepat) dibandingkan dengan metode Brute Force. Hal ini menunjukkan keunggulan algoritma Euclidean dalam hal efisiensi waktu, terutama ketika digunakan untuk bilangan yang lebih besar.

Hasil perbandingan menunjukkan bahwa algoritma Euclidean lebih efisien karena memerlukan waktu yang lebih singkat (sekitar 3.5 kali lebih cepat) dibandingkan dengan metode Brute Force. Hal ini menunjukkan keunggulan algoritma Euclidean dalam hal efisiensi waktu, terutama ketika digunakan untuk bilangan yang lebih besar.

 

Contoh Program  Menghitung KPK Python:

Penjelasan Program:

Program ini digunakan untuk menghitung Kelipatan Persekutuan Kecil (KPK) dari dua bilangan bulat dengan memanfaatkan algoritma Euclidean. Fungsi fpb_euclidean(a, b) menghitung Faktor Persekutuan Terbesar (FPB) dengan menggantikan bilangan besar menggunakan sisa pembagian hingga salah satu bilangan menjadi nol. FPB yang diperoleh kemudian digunakan dalam fungsi kpk(a, b, fpb_func) untuk menghitung KPK dengan rumus . Program ini juga mengukur waktu eksekusi perhitungan dengan menggunakan modul time melalui fungsi benchmark_kpk(a, b), yang menampilkan hasil KPK serta waktu yang dibutuhkan untuk menghitungnya. Antarmuka program yang sederhana memungkinkan pengguna untuk dengan mudah memasukkan dua angka dan mendapatkan hasil KPK beserta informasi waktu eksekusinya, sambil memperlihatkan efisiensi algoritma Euclidean.

contohnya: hasil perhitungan KPK (Kelipatan Persekutuan Kecil) dari dua bilangan, yaitu 24 dan 36, menggunakan algoritma Euclidean.

  • Program pertama-tama meminta pengguna untuk memasukkan dua angka, yaitu 24 dan 36.
  • Setelah itu, program menghitung KPK untuk kedua angka tersebut menggunakan algoritma Euclidean.
  • Hasil perhitungan menunjukkan bahwa KPK dari 24 dan 36 adalah 72.
  • Waktu eksekusi perhitungan KPK juga ditampilkan, yaitu 0.000006 detik, yang menunjukkan efisiensi dari algoritma Euclidean dalam menghitung KPK.

Program ini juga mengindikasikan bahwa proses perhitungan berlangsung sangat cepat, yang merupakan salah satu kelebihan algoritma Euclidean dibandingkan dengan metode lain.

 

Kesimpulannya:

Program ini berhasil membandingkan efisiensi antara algoritma Brute Force dan Euclidean dalam menghitung FPB dan KPK. Hasilnya menunjukkan bahwa algoritma Euclidean lebih cepat dalam hal waktu eksekusi, khususnya untuk bilangan yang lebih besar. Algoritma Euclidean mampu menghitung FPB dan KPK dengan waktu yang lebih singkat dibandingkan metode Brute Force, yang melakukan pencarian pembagi satu per satu. Program ini juga memanfaatkan modul time untuk mengukur dan menampilkan waktu eksekusi, yang membantu dalam menilai efisiensi kedua algoritma. Dengan antarmuka yang sederhana, pengguna dapat dengan mudah menghitung FPB dan KPK sambil memperoleh gambaran tentang keunggulan algoritma Euclidean dalam perhitungan matematika dasar.

Informasi Course Terkait
  Kategori: Algoritma dan Pemrograman
  Course: Dasar - Dasar Python