Anda di halaman 1dari 5

Materi 2 | Konsep yang perlu diketahui

Pada materi kali ini awalnya kita akan membahas tentang tipe data. tetapi karena satu dan lain hal mungkin
sebaiknya sebelum kita baha tipe data ada baiknya kita membahas beberapa konsep yang ada dalam python.

Python Object
Di dalam python, objek merupakan abtraksi dari data. Bahkan semua yang ada di dalam python adalah objek.
Jika kita mengingat kembali materi sebelumnya, kita mempunya contoh a = 10 , setelah sekarang kita
mengetahui bahwa semua yang ada di python adalah object. Kita akan bertanya ketika objek dibuat, kemudian
apa yang terjadi pada a. Yang terjadi adalah variable tersebut akan mempunyai id, kemudia tipe datanya akan
diset menjadi integer dan object ini akan mempunyai value atau nilai yang akan diisi oleh angka 10. Terakhir
objek dari a ini akan disimpan dalam global namespace.

variable
kemudian kita akan membahas tentang variable, variabel dalam python sama seperti variable dalam bahasa
pemrograman lain. Dalam python variable akan merujuk kepada sebuah object.misalnya a = [1,2,3] , maka a
akan merujuk atau mereference ke dalam sebuah object list yang berisi 1,2,3. atau contoh lain kita akan bahas
dalam contok kode berikut

budi = ['handphone', 'kacamata', 'smartwatch']


andi= ['handphone', 'kacamata', 'smartwatch']

a = (budi==andi)
b = (budi is andi)

print ('id budi adalah', id(budi))


print ('id andi adalah', id(andi))
print('barang yang dimiliki sama', a)
print('apakah budi sama dengan andi', b)
dari contoh di atas dapat dilihat bahwa budi, andi, a, b adalah variable yang memiliki value meriference ke
dalam sebuah list yang berisi barangnya, yaitu handphone, kacamata, smartwatch. Sedangkan a dan b adalah
objek yang masing-masing memiliki value perbandingan barang budi dan andi, juga value id yang
membandingkan id budi dan andi.

namespace
Namespace, adalah tempat/kontainer dari variableyang kemudian digunakan untuk maping dari names ke dalam
objek. dari contoh sebelumnya kita bisa melihat namespasenya adalah Global. Jika kita kembali lagi ke contoh
budi. dan global frame kita anggap kecamatan, misalkan budi tinggal di kec.cicendo jika kita ingi mencari budi
kita dapat mengimport budi ke dalam module kita seperti

from bandung.cicendo.pajajaran import budi


from jakarta.menteng.sudirman import andi

contoh ini menggambarkan bandung merupakan namespace pertama, kemudian kita mencari cicendo di dalam
bandung, lalu kita mencari pajajaran sebagai namespace selanjutnya maka kita akan menemukan budi di
pajajaran. untuk sekarang jangan terlalu bingung dengan namespace, nanti jika kita sudah masuk ke dalam real
code maka kita akan lebih mudah untuk memahami namespace.

Sebagai contoh, misal kita mempunyai 2 buah file seperti :

# rumahBudi.py

from testImport.alamat import alamatgw

nama = 'budi'
jl = 'Rumah gw ada di'
isi = input('masukan alamat sebenarnya : ')

print(nama)
print(jl)
alamatgw(isi)

______________________________________________________
# alamat.py

def alamatgw(jalan):
jl = jalan
print(jl)

scope
Satu lagi yang perlu kita bahas adalah scope, scope ini berhubungan erat dengan namespace. Menurut pythonya
sendiri scope "a scope is a textual region of a Python program, where a namespace is directly accessible".
Jika merujuk pada w3c yang defenisikanya lebih praktikal akan seperti ini "A variable is only available from
inside the region it is created. This is called scope.".

Dari kedua defenisi di atas dapat disimpulkan scope adalah daerah dimana sebuah variabel dapat di akses. Dalam
python sendiri scope meliputi :
local scope, merupakan scope terdalam yang berisi variable lokal
enclosing scope, merupakan scope yang mempunyai variabel non-lokal tetapi tidak mengandung variable
dari global scope
global scope, contains global names.
built-in scope, berisikan built-in names atau Built-in Functions, misalnya `float(), print(), super() dan lain
lain

def Luar(): # Globla


nama = 'Budi' # Local
def Dalam(): # Local
umur = 25 # enclose
print('nama : ', nama) # enclose
print('umur: ', umur) # enclose
Dalam() # Local
print('tes panggil umur') # Local
print('umur: ', umur) # Local

Tes = 'Test Enclose' # Global


print(Tes)
Luar()
Mutable dan Immutable
Perbedaan mendasar Python ada pada data yaitu apakah nilai suatu objek berubah atau tidak. Jika nilainya dapat
berubah, objek disebut disebut Mutable, sedangkan jika nilainya tidak bisa berubah, objek itu disebut
Immutable. mengetahui muttable dan immutable pada python cukup penting, karana akan mempengaruhi kode
yang kita buat.

mari kita lihat contohnya

angka = 1000
print(id(angka))
print(angka)
angka = 2000
print(id(angka))
print(angka)

# -----------------------------------------------------------------

class orang():
def __init__(self, umur, kota, tanggal):
self.umur = umur
self.kota = kota
self.tanggal = tanggal

orang = orang(20, "bandung", 2000)


print(id(orang))
print(orang.umur)
orang.umur = 10
orang.kota
orang.tanggal

print(id(orang))
print(orang.umur)

Anda mungkin juga menyukai