Mengukur waktu I
Dalam slide kuliah, Anda melihat bagaimana fungsi time.time() dapat dimuat dan digunakan untuk mengukur waktu yang diperlukan untuk melakukan operasi matematika dasar.
Sekarang, Anda akan menggunakan strategi yang sama untuk menilai dua metode berbeda untuk menyelesaikan masalah serupa: menghitung jumlah kuadrat dari semua bilangan bulat positif dari 1 hingga 1 juta (1.000.000).
Seperti yang Anda lihat dalam video, Anda akan membandingkan dua metode; satu menggunakan brute force dan satu lagi yang lebih canggih secara matematis.
Dalam fungsi formula, kita menggunakan rumus standar
$$ \frac{N*(N+1)(2N+1)}{6} $$
dengan N=1.000.000.
Dalam fungsi brute_force kita melakukan perulangan pada setiap angka dari 1 hingga 1 juta dan menambahkannya ke hasil.
Latihan ini merupakan bagian dari kursus
Menulis Kode Efisien dengan pandas
Instruksi latihan
- Hitung hasil permasalahan menggunakan fungsi
formula(). - Cetak waktu yang diperlukan untuk menghitung hasil menggunakan fungsi
formula(). - Hitung hasil permasalahan menggunakan fungsi
brute_force(). - Cetak waktu yang diperlukan untuk menghitung hasil menggunakan fungsi
brute_force().
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# Calculate the result of the problem using formula() and print the time required
N = 1000000
fm_start_time = ____
first_method = formula(N)
print("Time using formula: {} sec".format(time.time() - fm_start_time))
# Calculate the result of the problem using brute_force() and print the time required
sm_start_time = ____
second_method = ____(N)
print("Time using the brute force: {} sec".format(time.time() - sm_start_time))