Konsep Dasar Bilangan sebagai Objek
Dalam Python, setiap bilangan adalah sebuah objek yang memiliki atribut dan metode tersendiri. Konsep ini mungkin terdengar asing pada awalnya, tetapi sebenarnya sangat sederhana. Bayangkan bilangan seperti sebuah kotak yang tidak hanya berisi nilai, tetapi juga memiliki kemampuan khusus yang bisa kamu gunakan.
Ketika kamu menulis atau , Python tidak hanya menyimpan angka tersebut, tetapi juga menyediakan berbagai fungsi yang bisa kamu panggil untuk memanipulasi atau mendapatkan informasi dari bilangan tersebut.
Mengakses Atribut dan Metode
Untuk mengakses atribut dari sebuah objek bilangan, kamu menggunakan sintaks objek.atribut. Sedangkan untuk memanggil metode, kamu menggunakan sintaks objek.metode().
Mari kita lihat contoh praktis dengan bilangan kompleks:
# Membuat bilangan kompleksc = 2 + 3j# Mengakses atribut real (bagian riil)print(c.real) # Output: 2.0# Mengakses atribut imag (bagian imajiner)print(c.imag) # Output: 3.0# Memanggil metode conjugate() untuk mendapatkan konjugatprint(c.conjugate()) # Output: (2-3j)Cara Melihat Atribut dan Metode yang Tersedia
Python menyediakan beberapa cara untuk melihat atribut dan metode apa saja yang tersedia pada sebuah objek bilangan.
Menggunakan Fungsi type()
Fungsi type() menunjukkan jenis objek yang sedang kamu tangani:
# Melihat tipe data bilanganprint(type(42)) # Output: <class 'int'>print(type(3.14)) # Output: <class 'float'>print(type(2+3j)) # Output: <class 'complex'>Atribut Bilangan Kompleks
Bilangan kompleks memiliki dua atribut utama yang sangat berguna:
Atribut real
Atribut real memberikan bagian riil dari bilangan kompleks:
# Contoh penggunaan atribut realz1 = 4 + 5jz2 = -2 + 7jz3 = 10 + 0j # Bilangan riil murniprint(f"Bagian riil dari {z1} adalah {z1.real}")print(f"Bagian riil dari {z2} adalah {z2.real}")print(f"Bagian riil dari {z3} adalah {z3.real}")# Output:# Bagian riil dari (4+5j) adalah 4.0# Bagian riil dari (-2+7j) adalah -2.0# Bagian riil dari (10+0j) adalah 10.0Atribut imag
Atribut imag memberikan bagian imajiner dari bilangan kompleks:
# Contoh penggunaan atribut imagz1 = 3 + 8jz2 = 6 - 4jz3 = 0 + 9j # Bilangan imajiner murniprint(f"Bagian imajiner dari {z1} adalah {z1.imag}")print(f"Bagian imajiner dari {z2} adalah {z2.imag}")print(f"Bagian imajiner dari {z3} adalah {z3.imag}")# Output:# Bagian imajiner dari (3+8j) adalah 8.0# Bagian imajiner dari (6-4j) adalah -4.0# Bagian imajiner dari 9j adalah 9.0Metode Bilangan Kompleks
Metode conjugate()
Metode conjugate() mengembalikan konjugat kompleks dari bilangan. Konjugat kompleks adalah bilangan dengan bagian riil yang sama tetapi bagian imajiner yang berlawanan tanda.
# Contoh penggunaan metode conjugate()z1 = 3 + 4jz2 = -2 - 5jz3 = 7 + 0jprint(f"Konjugat dari {z1} adalah {z1.conjugate()}")print(f"Konjugat dari {z2} adalah {z2.conjugate()}")print(f"Konjugat dari {z3} adalah {z3.conjugate()}")# Output:# Konjugat dari (3+4j) adalah (3-4j)# Konjugat dari (-2-5j) adalah (-2+5j)# Konjugat dari (7+0j) adalah (7-0j)Penggunaan Praktis Konjugat
Konjugat kompleks sangat berguna dalam berbagai perhitungan matematika, terutama untuk menghitung modulus bilangan kompleks:
import math# Menghitung modulus bilangan kompleks menggunakan konjugatz = 3 + 4jmodulus_squared = z * z.conjugate()modulus = math.sqrt(modulus_squared.real)print(f"Bilangan kompleks: {z}")print(f"Konjugatnya: {z.conjugate()}")print(f"z × z*: {modulus_squared}")print(f"Modulus |z|: {modulus}")# Output:# Bilangan kompleks: (3+4j)# Konjugatnya: (3-4j)# z × z*: (25+0j)# Modulus |z|: 5.0Atribut dan Metode pada Bilangan Lain
Meskipun contoh di atas fokus pada bilangan kompleks, bilangan integer dan float juga memiliki atribut dan metode tersendiri.
Bilangan Integer
# Beberapa metode pada bilangan integern = 42# Metode bit_length() - menghitung jumlah bit yang diperlukanprint(f"Jumlah bit untuk {n}: {n.bit_length()}")# Metode to_bytes() - mengkonversi ke bytesbyte_representation = n.to_bytes(2, byteorder='big')print(f"Representasi byte dari {n}: {byte_representation}")# Output:# Jumlah bit untuk 42: 6# Representasi byte dari 42: b'