Perpangkatan memadatkan perkalian berulang menjadi satu notasi yang ringkas, dan sifat-sifatnya menjadi perangkat aljabar yang paling sering digunakan pada perhitungan ilmiah. Topik ini membahas sifat-sifat dasar eksponen, verifikasinya dengan kode, penulisan notasi ilmiah beserta padanan e-notation pada kode, serta gambaran visual pertumbuhan eksponensial. Setelah topik ini dipahami, manipulasi pangkat dapat dilakukan dengan konsisten dan nilai sangat besar maupun sangat kecil dapat dibaca tanpa salah tafsir.
Sifat-sifat perpangkatan#
Bilangan berpangkat menyatakan perkalian berulang, yaitu dikalikan sebanyak kali untuk bilangan asli. Dari definisi tersebut, matematika menurunkan sekelompok sifat yang membuat perhitungan pangkat dapat disederhanakan tanpa menghitung nilai penuhnya satu per satu. Sebagai gambaran, cukup ditulis karena pangkatnya dijumlahkan, tanpa perlu mengalikan dengan secara langsung.
Tiga bentuk pangkat khusus juga diturunkan dari sifat yang sama. Pangkat nol didefinisikan sebagai agar aturan pembagian tetap berlaku, karena harus bernilai satu. Pangkat negatif didefinisikan sebagai , sehingga menurunkan pangkat sama dengan membalik nilai. Pangkat pecahan didefinisikan sebagai akar pangkat dari , contohnya . Ketiganya bukan aturan tambahan yang berdiri sendiri, melainkan konsekuensi dari keinginan agar seluruh sifat di atas tetap konsisten.
Memeriksa sifat dengan kode#
Setiap sifat perpangkatan dapat diperiksa secara numerik, dan kebiasaan memeriksa rumus dengan kode menjadi pengaman yang murah terhadap kesalahan hafalan. Program berikut menguji empat sifat utama menggunakan NumPy sebagai kalkulator, kemudian mencoba bentuk pangkat khusus.
import numpy as np
a, b, m = 3.0, 4.0, 2.0
print(a**b * a**m == a**(b + m))
print(a**b / a**m == a**(b - m))
print((a * b)**m == a**m * b**m)
print((a**b)**m == a**(b * m))
print(2.0**0, 2.0**(-1), 4.0**0.5)True
True
True
True
1.0 0.5 2.0Empat baris pertama bernilai True, yang berarti kedua sisi setiap persamaan menghasilkan bit yang sama pada contoh angka tersebut. Nilai yang dipilih sengaja dibuat kecil dan berbentuk bilangan yang dapat diwakili tepat oleh float, sehingga perbandingan kesamaan langsung masih aman. Untuk nilai umum, perbandingan dengan toleransi tetap menjadi kebiasaan yang lebih aman sebagaimana dibahas pada topik tentang sistem bilangan. Baris terakhir menegaskan ketiga definisi khusus, yaitu , , dan . Pemeriksaan semacam ini berjalan cepat, tetapi mampu menangkap kesalahan hafalan seperti tertukarnya tanda pada aturan pembagian.
Notasi ilmiah#
Notasi ilmiah menuliskan bilangan sebagai dengan berada di antara 1 dan 10, sedangkan pangkat menyatakan banyaknya pergeseran titik desimal. Bentuk ini memadatkan nilai yang sangat besar maupun sangat kecil menjadi pasangan singkat yang mudah dibandingkan, dan bagian pada bentuk itu sering disebut mantisa. Perbandingan dua notasi ilmiah cukup dimulai dari pangkatnya, karena selisih satu pangkat berarti selisih sepuluh kali lipat. Kecepatan cahaya sekitar meter per detik, sedangkan panjang gelombang cahaya berkisar di sekitar meter.
Bahasa pemrograman menuliskan notasi ilmiah sebagai e-notation, yaitu huruf e yang diikuti pangkatnya, dan bentuk ini digunakan baik pada penulisan literal maupun pada keluaran program.
import numpy as np
print(2.998e8)
print(np.format_float_scientific(0.00047, precision=2))
print(1e-3, 5e2, 3.5e8)299800000.0
4.7e-04
0.001 500.0 350000000.0Keluaran tersebut menunjukkan dua arah pembacaan yang perlu dikuasai. Literal 2.998e8 dicetak Python sebagai 299800000.0 karena fungsi print menampilkan nilai desimal biasa, sedangkan np.format_float_scientific memformat nilai yang sama dalam bentuk 4.7e-04, yang dibaca . Dua bentuk ini sering muncul bergantian pada keluaran alat analisis data, sehingga kemampuan berpindah antar bentuk menjadi keterampilan dasar.
Pertumbuhan eksponensial secara visual#
Sifat perpangkatan yang paling sulit ditangkap oleh intuisi adalah kecepatan pertumbuhannya. Perbandingan antara dan memperlihatkannya dengan jelas, karena keduanya bergerak naik tetapi dengan tempo yang berbeda jauh. Diagram berikut menampilkan kedua fungsi tersebut pada rentang dari 0 hingga 10.
Kurva unggul pada rentang awal, tetapi kurva menyusul pada sekitar dan kemudian menjauh tanpa terkejar. Perpotongan di titik itu berarti kedua fungsi bernilai sama, dan setelah titik itu selisih keduanya melebar dengan sangat cepat. Diagram di atas dihasilkan oleh program berikut, yang dapat dijalankan ulang dengan rentang nilai berbeda untuk mengamati perilaku yang sama.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 10, 200)
plt.figure(figsize=(6, 3))
plt.plot(x, x**2, color="#1f77b4", label="$x^2$")
plt.plot(x, 2.0**x, color="#d62728", label="$2^x$")
plt.xlabel("x")
plt.ylabel("nilai fungsi")
plt.legend(loc="upper left")
plt.grid(True, alpha=0.3)
plt.tight_layout()
plt.savefig("pertumbuhan-eksponen.svg")Pola ini menjelaskan mengapa algoritma berkompleksitas eksponensial sulit dijalankan untuk masukan besar, sementara algoritma berkompleksitas polinomial masih tertangani. Menambah satu pada di berarti menggandakan nilai, sedangkan pada hanya menambah sejumlah kecil. Kesadaran akan perbedaan tempo ini menjadi dasar pembacaan notasi kompleksitas yang lazim pada analisis algoritma.
Di mana hal ini ditemui dalam kode#
Notasi ilmiah dan pangkat muncul terus-menerus pada pekerjaan teknis. Berkas konfigurasi pelatihan model menuliskan laju pembelajaran sebagai 1e-3 atau 3e-4, keluaran konsol NumPy menampilkan array dalam bentuk 1.23e-04 apabila rentang nilainya lebar, dan berkas data ilmiah menyimpan pengukuran mikro dalam notasi eksponensial. Bidang yang berbeda menghasilkan pasangan nilai ekstrem yang serupa, mulai dari jarak astronomi hingga ukuran molekul, sehingga pembacaan e-notation menjadi keterampilan lintas bidang. Program berikut menampilkan perilaku pencetakan NumPy tersebut.
import numpy as np
np.set_printoptions(precision=2, suppress=False)
nilai = np.array([0.000123, 12300000.0])
print(nilai)[1.23e-04 1.23e+07]Sifat pangkat juga bekerja di balik layar banyak perhitungan. Pertumbuhan nilai yang melebihi batas float menghasilkan inf, sedangkan perkalian banyak bilangan kecil menghasilkan nol karena underflow, dan keduanya memaksa penulisan ulang rumus dalam bentuk logaritma pada praktik numerik. Pada analisis algoritma, perbedaan dan menentukan apakah pendekatan layak dijalankan, sehingga intuisi dari diagram sebelumnya berguna jauh melampaui topik aljabar ini.
Ringkasan#
- Perkalian dan pembagian dengan basis sama menambah atau mengurangi pangkat, pangkat berlapis mengalikan pangkat, dan pangkat pada perkalian dibagi ke setiap faktornya.
- Pangkat nol, negatif, dan pecahan didefinisikan sebagai , , serta sebagai akar pangkat , sehingga seluruh sifat tetap konsisten.
- Notasi ilmiah memadatkan nilai ekstrem, dan kodenya ditulis sebagai e-notation seperti
2.998e8maupun4.7e-04. - Fungsi eksponensial tumbuh lebih cepat daripada polinomial, dan perbedaan tempo inilah yang membedakan kompleksitas dari pada analisis algoritma.
Referensi#
- Algebra and Trigonometry — OpenStax — Buku teks terbuka yang membahas sifat eksponen dan notasi ilmiah pada bab eksponensialnya.
- NumPy 2.1 documentation — NumPy Developers
— Dokumentasi
set_printoptionsdanformat_float_scientificyang digunakan pada contoh keluaran topik ini. - Mathematics for Machine Learning — Deisenroth, Faisal, dan Ong — Buku terbuka yang menggunakan notasi eksponensial secara intensif pada pembahasan aljabar linearnya.