Dasar-dasar bahasa pemrograman Python meliputi banyak hal, sama seperti bahasa pemrograman lain, yaitu adanya syntax tertentu untuk mendeklarasikan variable, tipe data, operator dan lainnya. Perbedaan yang fundamental adalah hanya pada penulisannya saja. Oleh karena itu kali ini kita akan menelurisi satu persatu, terutama untuk bahasa pemrograman Python.
catatan: tutorial ini menggunakan Jupyter notebook. Jika Anda ingin menggunakan IDE yang sama, Anda harus menginstallnya terlebih dahulu (install menggunakan Anaconda akan lebih mudah).
Selain itu Anda dapat mendownload file interaktif jupyter notebook untuk tutorial ini pada bab kesimpulan secara gratis.
Jika Anda tipe pembelajar visual dan auditory, maka Anda dapat langsung menonton ini:
Jika Anda lebih menyukai menonton langsung pada platform youtube. Maka Anda dapat klik disini untuk playlist detail dan dapat subscribe untuk mendapatkan notifikasi update terbaru konten tutorial pada channel Auftechnique.
Perbedaan bahasa pemrograman Python dibandingkan bahasa yang lain seperti Java, JavaScript dan C++ adalah indentasi. Mengapa demikian? Jawabnya sederhana, yaitu agar mudah di baca, dapat dibandingkan jika kita membaca Java, kebanyakan programmer pemula akan mengalami kesulitan untuk memahami koding yang di tulis oleh bahasa tersebut jika disandingkan dengan bahasa pemrograman Python.
Indentasi pada bahasa pemrograman Python adalah hal yang wajib. jika kita tidak mematuhi aturan tersebut, maka akan memberikan pesan error seperti di bawah ini:
IndentationError: unexpected indent
Pada bahasa pemrograman Python, notifikasi pesan Error pun sangat mudah di baca. Bagi anda yang pada mulanya menggunakan bahasa lain, lalu beralih menggunakan Python. Mungkin awalnya Anda akan merasa risih, namun pada akhirnya Anda akan menyadari bahwa indentasi ini sangat menyenangkan mata programmer, terlebih jika kode program tersebut di tulis oleh orang lain. Hal tersebut akan mempermudah jika kita bekerja di dalam tim yang besar, sehingga akan cepat memahami intensi dari kode program tersebut.
Sesuai dengan namanya, variable adalah sesuatu yang dapat berubah. Variabel ini digunakan untuk merujuk menuju lokasi memori oleh program komputer.
Pada sebagian besar bahasa lain, Anda perlu menetapkan tipe data terhadap suatu variabel. Namun, hal itu tidak perlu dilakukan pada bahasa pemrograman python. Sebagai contoh, jika Anda menulis program dengan menggunakan bahasa C, maka sintaks yang harus anda tulis adalah int num = 39;
Dengan Python Anda hanya cukup menuliskan num = 39
.
Untuk memeriksanya, Anda dapat membuka Jupyter notebook atau Python Shell, lalu lakukan langkah demi langkah perintah di bawah ini:
Integer adalah angka numerik yang dapat berupa nilai positif, negatif, atau nol tanpa memiliki angka desimal
num = 39
print(num)
39
type(num)
<class 'int'>
Seperti yang telah kita lihat di atas, kita telah mendeklarasikan variabel num
dan menetapkan angka 39 sebagai nilai variabel tersebut. Metode type
yang sudah built-in pada bahasa pemrograman python dapat digunakan untuk memeriksa jenis suatu variabel.
Ketika kita memeriksa jenis variable num
dengan menggunakan metode type
, maka kita akan melihat output <class 'int'>
.
Float adalah angka numerik sama seperti integer , namun ada sedikit perbedaan, yaitu adanya angka desimal
num = 39.0
print(num)
39.0
type(num)
<class 'float'>
Dapat di lihat pada contoh tersebut bahwa kita telah menggunakan angka desimal pada num
. Lalu, ketika kita memeriksanya pada bahasa pemrograman Python akan menunjukkan bahwa tipe data tersebut adalah float
.
String adalah kumpulan beberapa karakter atau integer. String tersebut direpresentasikan dengan menggunakan tanda quotes (double ataupun single).
test = "Hallo semua"
print(test )
Hallo semua
type(test )
<class 'str'>
Pada contoh di atas kita telah menetapkan string pada variable test
. Jenis variable test
ini adalah seperti yang terlihat pada output Python, yaitu string.
Boolean adalah operator biner yang hanya memiliki dua nilai output yaitu True
atau False
.
anda_robot = False
print(anda_robot)
False
type(anda_robot)
<class 'bool'>
Di sini kita telah menetapkan nilai False kepada variable anda_robot
. Jenis variabel ini adalah boolean. Kita hanya dapat menetapkan True atau False. Perlu di ingat bahwa T dan F harus berupa huruf kapital atau kita akan mendapatkan pesan error code ini:
anda_robot = false
print(anda_robot)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-147-4473960a0737> in <module>
----> 1 anda_robot = false
2 print(anda_robot)
NameError: name 'false' is not defined
NoneType digunakan ketika variable tidak memiliki nilai, seperti pada contoh di bawah ini:
num = None
print(num)
None
type(num)
<class 'NoneType'>
Operator adalah simbol aritmatika pada bahasa pemrograman Python atau bahasa lainnya, untuk melihat seluruh operator yang tersedia pada Python Anda dapat melihat table di bawah ini.
Mari kita membahas satu per satu operator pada bahasa pemrograman python
Operator yang akan kita bahas adalah penambahan, pengurangan, perkalian, eksponensial, modulus, dan pembagian. Mari kita lihat operasi aritmatika sederhana pada bahasa pemrograman Python.
Pertama-tama kita akan mendeklarasikan dua variabel a dan b.
a = 6
b = 2
Untuk lebih jelasnya, dapat kita lihat pada contoh di bawah ini:
a + b # Penambahan
8
a - b # Pengurangan
4
a * b # Perkalian
12
a / b # Pembagian
3.0
a ** b # Eksponensial
36
Contoh untuk menguji operator aritmatika lainnya:
a = 7
b = 3
a % b # Modulus (sisa pembagian)
1
a // b # Floor division (di bulatkan ke bawah)
2
Contoh operator pembanding adalah sama dengan, lebih besar dari, serta kurang dari.
a = 5
b = 2
a > b # Lebih besar
True
a < b # kurang dari
False
a == b # sama dengan
False
a >= 5 # lebih besar atau sama dengan
True
b <= 1 # lebih kecil atau sama dengan
False
Operator ini "tidak termasuk", "dan", "dan atau"
a = 10
b = 2
a == 2 and b == 10 # dan
False
a == 10 or b == 10 # atau
True
not(a == 10) # tidak
False
not(a == 2)
True
Conditional statement digunakan untuk memeriksa suatu kondisi yang ditentukan sebelumnya apakah nilai nya True atau False.
Sering kali ketika kita sedang mengembangkan suatu aplikasi, ada hal di mana kita perlu memeriksa suatu kondisi tertentu lalu melakukan perintah yang berbeda tergantung pada hasil sebelumnya. Dalam skenario seperti itu conditional statement akan sangat berguna. if
, elif
dan else
adalah pernyataan kondisional yang digunakan dalam bahasa pemrograman Python.
Dengan conditional statement, kita dapat membandingkan suatu variable dan memeriksanya apakah variable tersebut memiliki nilai atau merupakan suatu boolean, dan selanjutnya memeriksa apakah True atau False. Oleh karena itu, mari kita praktekan penggunaannya.
Kondisi pertama. Kita memiliki suatu integer dan tiga kondisi. Yang pertama adalah kondisi if
untuk mengecek apakah nomor tersebut sama dengan 10. Yang kedua adalah kondisi elif
. Disini kita akan memeriksa apakah nomor tersebut kurang dari 10. Yang terakhir adalah kondisi else
. Kondisi ini akan tereksekusi jika kedua kondisi sebelumnya tidak memenuhi syarat.
angka = 5
if angka == 10:
print("angka adalah 10")
elif angka < 10:
print("angka adalah kurang dari 10")
else:
print("angka adalah lebih dari 10")
Output:
angka adalah kurang dari 10
Catatan: Tidak wajib untuk menggunakan dua kondisi sama-dengan di dalam kondisi if
. Anda dapat melakukannya dengan elif
.
Kondisi kedua. Pada kasus ini kita akan memiliki variabel boolean dan dua kondisi. Pada contoh sebelumnya ketika kita membahas mengenai boolean apakah benar atau salah? Saat ini kita akan menggunakannya kembali pada conditional statement.
Jika anda_robot
, lalu print "Ya, saya robot", selain itu print "bukan, saya manusia".
anda_robot = False
if anda_robot:
print ("Ya, saya robot")
else:
print ("bukan, saya manusia")
Output:
bukan, saya manusia
Kondisi ketiga. Pada contoh ini kita akan membuat kondisi berkebalikan dari kondisi kedua dengan operator not
.
anda_robot = False
if not anda_robot:
print ("Ya, saya robot")
else:
print ("bukan, saya manusia")
Output
Ya, saya robot
Kondisi ke empat. Disini kita akan mendeklarasikan data sebagai None, lalu memeriksanya jika data tersebut ada atau tidak.
data = None
if data:
print ("data bukan none")
else:
print ("data adalah none")
Kondisi kelima. Anda pun dapat menggunakan if
dalam satu baris pada bahasa pemrograman Python. Syntax nya akan terlihat seperti pada:
a = 10
b = 5
if a > b: print("a lebih besar dari b")
Output:
a lebih besar dari b
Kondisi ke enam. Anda pun dapat menggunakan if
else
dalam satu baris, seperti pada contoh di bawah ini:
num = 5
print("Angka adalah lima ") if num == 5 else print("Angka bukan lima")
Output:
Nomor adalah lima
Kondisi ketujuh. Anda pun dapat menggunakan nested if-else statement, yaitu:
num = 25
if num > 10:
print("Angka lebih besar dari 10")
if num > 20:
print("Angka lebih besar dari 20")
if num > 30:
print("Angka lebih besar dari 30")
else:
print("Angka lebih kecil dari 10")
Nomer lebih besar dari 10
Nomer lebih besar dari 20
Kondisi kedelapan. Anda dapat pula mengunakan operator and
pada conditional statement. Operator ini menyatakan jika kondisi 1 dan 2 keduanya adalah benar.
num = 10
if num > 5 and num < 15:
print(num)
else:
print("Angka bisa lebih kecil dari 5 atau lebih besar dari 15")
Output:
10
Karena 10 adalah angka di antara 5 dan 15.
Kondisi kesembilan. Anda pun dapat menggunakan operator or
dalam pernyataan bersyarat. Hal ini untuk menyatakan bahwa jika salah satu kondisi 1 atau kondisi 2 benar, sehingga program akan di eksekusi.
num = 10
if num > 5 or num < 7:
print(num)
Output:
10
Apakah Anda bingung karena output num
adalah 10, padahal pada statement kedua adalah kurang dari 7? Hal ini disebabkan oleh kondisi or
. Sehingga, jika salah satu kondisi terpenuhi, maka program akan tetap berjalan.
Metode lain yang berguna dalam bahasa pemrograman Python adalah iterator. Hal ini sangat membantu jika Anda ingin melakukan sesuatu beberapa kali.
print("Hai")
print("Hai")
print("Hai")
Dapat dibayangkan jika kita ingin menulis kata "Hai" sebanyak seribu kali, tentu kode program kita akan sangat sulit untuk di baca, selain itu, kemungkinan terjadinya kesalahan sangat lah besar. Oleh karena itu, kita dapat menggunakan suatu cara yang disebut loop
atau iterator
. Ada dua cara untuk menjalankan perintah tersebut, yaitu dengan for
atau while
loop.
Pada contoh kali ini, kita akan menggunakan metode range
. Metode ini yang menentukan rentang loop
seberapa banyak perintah harus di ulang. Secara default, titik awalnya adalah 0.
for i in range(3):
print("Hai")
Output:
Hai
Hai
Hai
Contoh lainnya jika kita ingin membuat rentang yang berbeda, maka kita dapat menggunakan range(1,3)
.
for i in range(1,3):
print("Hai")
Output
Hai
Hai
"Hai" hanya tercetak dua kali karena kita telah menentukan rentang dari angka 1 hingga 3. Sederhananya kita dapat mengurangi angka sebelah kanan dengan sebelah kiri.
Kita pun dapat menambahkan perintah lain setelah loop selesai, seperti pada contoh di bawah ini:
for i in range(3):
print("Hai")
else:
print("Selesai")
Output
Hai
Hai
Hai
Selesai
Dapat kita lihat bahwa loop telah melakukan iterasi sebanyak 3 kali ( 3 - 0 ). Setelah iterasi selesai, tahap selanjutnya adalah mengeksekusi statement else
.
Selain itu kita pun dapat melakukan nesting for
loop di dalam for
loop yang lain.
for i in range(3):
for j in range(2):
print("loop di dalam")
print("loop di luar")
Output:
loop di dalam
loop di dalam
loop di luar
loop di dalam
loop di dalam
loop di luar
loop di dalam
loop di dalam
loop di luar
Dapat kita lihat bersama bahwa statement "loop di dalam" tereksekusi dua kali. Setelah itu "loop di luar" di eksekusi satu kali. Lalu, "loop di dalam" di eksekusi lagi sebanyak dua kali.
Jika Anda masih bingung, semoga pernyataan ini dapat membantu:
for
loop pada bagian awal. Selanjutnya membaca ke bagian bawah dan menemukan keberadaan for
loop yang lain.for
"loop di dalam" dan di ulangi terus hingga "loop di luar" selesai.Kita pun dapat memilih untuk melewati for
loop pada kondisi tertentu. Maksudnya adalah setiap kali proses looping dijalankan, hingga intrepreter melihat statement pass
, sehingga membuatnya tidak mengesekusi baris tersebut dan akan melanjutkan pada baris setelahnya (jika ada).
for i in range(3):
pass
Anda tidak akan melihat output di sini, karena setelah pass
tidak ada lagi baris kode program.
Dalam bahasa pemrograman Python, terdapat metode loop atau iterator yang lain, yaitu while
loop. Kita pun dapat memberikan hasil yang sama seperti yang telah kita lakukan pada for
loop dengan menggunakan while
loop, seperti contoh di bawah ini:
i = 0
while i < 3:
print("Angka", i)
i += 1
Output
Angka 0
Angka 1
Angka 2
Perlu diperhatikan bahwa, setiap kali kita menggunakan perintah while
loop. Kita harus menambahkan statement increment atau statement yang dapat menghentikan loop pada titik tertentu. Jika kita tidak menggunakannya, maka proses loop akan berjalan selama nya.
Cara lain untuk menghentikan loop adalah dengan menambahkan statement break
di dalam while
loop. Perintah ini akan menghentikan loop seperti pada contoh di bawah ini.
i = 0
while i < 3:
if i == 3:
break
print("Angka", i)
i += 1
Output
Angka 0
Angka 1
Angka 2
Di sini kita menghentikan while
loop ketika intrepreter membaca nilai dari i
, yaitu 4 (lebih dari 3).
Contoh lainnya adalah dengan menambahkan statement else
di dalam while loop. Statement ini akan di eksekusi setelah while
loop selesai.
i = 0
while i < 3:
print("Angka", i)
i += 1
else:
print("Angka lebih besar dari 2")
Output:
Angka 0
Angka 1
Angka 2
Angka lebih besar dari 2
Selanjutnya adalah statement continue
. Statement ini dapat digunakan untuk melewati proses eksekusi yang sedang berjalan dan melanjutkan pada baris setelahnya.
i = 0
while i < 5:
i += 1
if i == 2:
continue
print("Angka", i)
Output:
Angka 1
Angka 3
Angka 4
Angka 5
Bayangkanlah kita membuat suatu aplikasi seperti command-line. Dimana aplikasi ini harus dapat mengambil input dari pengguna dan melakukan sesuai apa yang di perintah. Untuk melakukan hal tersebut, kita dapat menggunakan metode input yang sudah terintegrasikan pada bahasa pemrograman Python.
Syntax agar user dapat melakukan input adalah:
variable = input(".....")
Contoh:
name = input("Masukan nama Anda: ")
Output:
Ketika kita menggunakan metode input
, lalu mengesekusinya, kita akan di minta untuk memasukkan text pada textbox, lalu tekan Enter. Setelah itu kita dapat memeriksa kembali apakah variable nama yang kita masukkan sudah sesuai atau belum.
Berdasarkan hasil di atas, maka variable yang kita masukkan adalah benar. Jika Anda mengeceknya, Zacky
ini adalah type data string.
type(name)
<class 'str'>
Mari kita coba satu contoh lagi, dimana kita akan meng-assign nilai integer
sebagai input.
Apakah Anda sedikit bingung karena integer
dikenali oleh bahasa pemrograman python sebagai string
. Ini bukan kesalahan pada Python, melainkan memang seharusnya memberikan output seperti itu jiga menggunakan metode input
. Untuk menangani kasus seperti ini, maka kita akan mengkonversi string
kepada integer
dengan metode typecasting
.
Kita telah melihat bahwa, metode input akan menghasilkan output berupa string
, termasuk integer
. Sekarang, jika kita ingin mengubah output tersebut kepada integer, hal yang harus kita lakukan adalah:
Disini kita telah mendeklarasikan User input dan mengkonversikannya ke dalam bentuk integer menggunakan metode input
pada bahasa pemrograman python . Inilah yang disebut dengan nama typecasting
.
Sederhananya, kita dapat melakukan konversi dengan bantuan typecasting untuk semua jenis variable:
catatan: Konversi dari integer
ke string
pun dapat dilakukan.
Bagian ini pada artikel bahasa pemrograman python, kita akan membahas Dictionary
. Kita dapat membayangkannya untuk menyimpan user detail, seperti halnya kamus yang dapat menyimpan berbagai macam kata-kata. Python pun dapat melakukan hal serupa dengan cara seperti di bawah ini:
nama = "Zacky"
profesi = "Developer"
Untuk melihat hasilnya, kita dapat menggunakan perintah print.
print(nama)
Zacky
Sebagai seorang programmer, cara tersebut tidaklah elegan. Untuk membuatnya lebih baik, mari kita menyimpan data tersebut di dalam key-value dictionary.
Dictionary adalah kumpulan variable yang tidak berurutan dan dapat di ubah(dapat di perbaharui).
Format dictionary pada bahasa pemrograman python adalah sebagai berikut:
data = {
"key" : "value"
}
Untuk memahaminya lebih jauh, maka kita dapat melihat contoh pada penggunaannya.
info_detail = {
"nama": "Zacky",
"profesi": "Developer",
"hobi": "Ngoprek open source software dan hardware"
}
Untuk dapat mengakses nilai di dalam dictionary ada dua cara yang dapat kita lakukan. Kita akan melihat kedua cara tersebut, sehingga dapat menentukan mana yang lebih baik.
Untuk mengakses nilai pada key nama
dari info_detail
di dalam dictionary pada bahasa pemrograman python adalah seperti pada gambar di bawah ini:
Kita dapat melihat bahwa cara pertama lebih mudah untuk dipahami. Namun, masalah akan timbul ketika kita hendak mengakses data yang tidak ada di dalam dictionary, seperti pada contoh di bawah ini:
info_detail["umur"]
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-41-790676cbae31> in <module>
----> 1 info_detail["umur"]
KeyError: 'umur'
Dari pesan error di atas terindikasi bahwa tidak ada key
yang bernama umur
. Sekarang, mari kita coba skenario yang sama dengan menggunakan metode kedua.
info_detail.get("umur")
Kita tidak mendapatkan response apapun dari Python console setelah kita hit run. Mari kita mencoba debugging lebih jauh lagi untuk mengetahui mengapa hal ini dapat terjadi. Namun sebelumnya, kita akan menetapkan variable umur
untuk memanggil metode get
, lalu lakukan perintah print.
umur = info_detail.get("umur")
print(umur)
Output
None
Berdasarkan contoh di atas, ketika perintah get
tidak menemukan nilai key
,maka akan menghasilkan variable bernilai None
. Hal ini yang menyebabkan kita tidak mendapatkan pesan error. Anda mungkin bertanya-tanya, manakah metode yang lebih baik.
Sebagian besar programmer biasanya menggunakan metode kedua karena lebih masuk akal. Namun, untuk beberapa kondisi di mana pengecekan kode program yang lebih ketat, maka kita perlu menggunakan metode pertama.
key
.Kita mungkin bertanya-tanya, bagaimana cara kita ingin mengetahui apakah suatu dictionary memiliki key
tertentu atau tidak. Pada bahasa pemrograman python, metode key()
dapat menyelesaikan masalah ini.
if "umur" in info_detail.keys():
print("Ya, ada di dalam key")
else:
print("tidak ada di dalam key")
Output:
tidak ada di dalam key
Bagaimana jika kita ingin memeriksa apakah suatu dictionary itu memiliki suatu nilai atau tidak? Untuk mengetahuinya, mari kita mendeklarasikan dictionary kosong seperti di bawah ini:
info_detail = {}
Kita dapat menggunakan if-else pada dictionary secara langsung untuk melakukan pengecekan, jika memberikan hasil true
maka terdapat data di dalam dictionary tersebut, sebaliknya false
jika tidak memiliki data.
Pada bahasa pemrograman python, metode bool
pun dapat di gunakan untuk pengecekan apakah suatu dictionary memiliki nilai atau tidak. Perlu di ingat bahwa boolean akan memberikan hasil False
jika dictionary tidak memiliki nilai dan True
jika memiliki nilai.
key
yang memiliki nilai.Pada bagian ini kita akan mencoba untuk mengubah nilai yang sudah ada di dalam dictionary. Misalkan kita sudah memiliki dictionary seperti di bawah ini:
info_detail = {
"nama":"Zacky",
"profesi": "Developer"
}
Misalkan kita ingin mengubah status profesi yang ada di dalam dictionary, maka syntax untuk melakukannya ialah:
info_detail["profesi"] = "tukang kayu"
print(info_detail)
{'nama': 'Zacky', 'profesi': 'tukang kayu'}
Mengubah nilai key
pada dictionary adalah sama dengan cara memberikan nilai pada variabel.
key-value
info_detail["umur"] = "120"
print(info_detail)
{'nama': 'Zacky', 'profesi': 'tukang kayu', 'umur': '120'}
Dapat kita lihat bahwa key
yang baru kita masukan ke dalam dictionary adalah umur
yang memiliki value
120.
key-value
.Untuk menghapus pasangan key-value
pada bahasa pemrograman python adalah dengan metode pop
.
info_detail.pop("umur")
'120'
print(info_detail)
{'nama': 'Zacky', 'profesi': 'tukang kayu'}
Dapat di lihat bahwa key-value
umur
telah hilang dari dictionary.
Dictionary tidak dapat di copy dengan menggunakan cara konvensional. Kita tidak dapat meng-copy nilai dictA
ke dictB
seperti contoh di bawah ini:
dictA = dictB
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-48-62e270af49fb> in <module>
----> 1 dictA = dictB
NameError: name 'dictB' is not defined
Cara di atas akan memberikan pesan error. Cara yang tepat untuk copy value adalah dengan menggunakan metode copy
.
dictB = info_detail.copy()
print(dictB)
{'nama': 'Zacky', 'profesi': 'tukang kayu'}
List adalah struktur data pada bahasa pemrograman Python yang mutable (dapat di ubah) dan memiliki element berurutan secara sekuensial. Setiap elemen di dalam list disebut dengan item. Untuk mendefinisikan suatu list pada bahasa pemrograman Python adalah dengan menggunakan tanda kurung siku [ ]. Contohnya adalah:
data =[7, 6.789, "abc", False]
List sangat membantu ketika kita bekerja dengan banyak nilai yang saling berhubungan. List memungkinkan kita untuk menyimpan data secara bersamaan dan melakukan metode yang sama untuk melakukan suatu operasi pemrograman terhadap nilai yang banyak dengan sekali perintah.
Mengakses element di dalam list adalah dengan cara memperhatikan urutannya yang di mulai dari angka nol untuk anggota list pertama.
Contoh syntax untuk akses list urutan ketiga:
data[2]
'abc'
Selain mengakses list pada posisi tertentu, anda pun dapat menggunakan rentang anggota list, contoh nya:
data[0:2]
[7, 6.789]
Angka 0
di dalam kurung siku menandakan dari mana kita memulai (dalam hal ini di mulai dari urutan pertama), sedangkan angka kedua 2
adalah posisi nilai sebelum urutan tersebut (sebelum urutan ketiga).
Pada bahasa pemrograman python, untuk menambahkan anggota ke dalam list adalah dengan menggunakan metode append
.
data.append("tambahan")
data
[7, 6.789, 'abc', False, tambahan']
Pada contoh di bawah ini, kita akan mengubah item ke-empat yaitu False, menjadi True.
data[3] = True
data
[7, 6.789, 'abc', True, 'tambahan']
Untuk menghapus item di dalam list pada bahasa pemrograman python adalah dengan menggunakan metode remove
.
data.remove("abc")
data
[7, 6.789, True, 'tambahan']
Kita pun dapat memerintahkan fungsi loop di dalam list dengan cara:
for i in data:
print(i)
7
6.789
True
tambahan
Untuk memeriksa keberadaan anggota di dalam list adalah dengan cara di bawah ini:
if 8 in data:
print ("ada")
else:
print("tidak")
tidak
Kita dapat melihat bahwa angka 8 tidak termasuk di dalam list, sehingga akan kembali pada kondisi else
, yaitu tidak
.
Untuk meng-copy list dari satu kepada yang lainnya adalah dengan menggunakan metode copy
.
List2 = data.copy()
List2
[7, 6.789, True, 'tambahan']
Pada bahasa pemrograman Python, untuk memeriksa panjang list adalah dengan menggunakan metode len
.
len(data)
4
Untuk menggabungkan dua list, kita dapat menggunakan operator +
.
list1 = [4, 8,1, "hey"]
list2 = [2, 8, "apa kabar"]
list1 + list2
[4, 8, 1, 'hey', 2, 8, 'apa kabar']
Apa yang terjadi jika kita mencoba untuk mengakses elemen yang tidak terdapat di dalam list?
list1[4]
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-83-853c8927f3be> in <module>
----> 1 list1[4]
TypeError: 'type' object is not subscriptable
Pada kode program di atas, kita hendak mencoba untuk mengakses element kelima [4]
. Seperti yang telah kita ekspektasikan, bahwa kode tersebut akan memberikan pesan error, karena kita hanya memiliki empat elemen di dalam list tersebut.
Pada bagian sebelumnya, list bekerja sangat baik untuk menyimpan koleksi data dan yang di ubah (mutable). Namun, terkadang kita ingin membuat list yang tidak dapat di ubah isinya. Tuple dapat melakukannya untuk kita, dengan kata lain tuple adalah list yang immutable (data tidak dapat di ubah).
data = ( 3, 6 , 9, "Hai")
data
(3, 6, 9, 'Hai')
Seperti hal nya untuk mengakses element pada list, tupple pun dapat di akses dengan menggunakan syntax yang sama.
data[2]
2
Mengakses rentang index pun memiliki cara yang sama dengan list:
data[1:4]
(6, 9, 'Hai')
Mungkin Anda bertanya-tanya. Lho, bukannya tuple tidak dapat di ubah? Anda tidak perlu khawatir jika melakukan kesalahan input pada tuple. Ada trik yang dapat kita lakukan yaitu dengan cara mengkonversi tuple menjadi list, lalu dikonversikan kembali ke dalam bentuk tuple. Contohnya:
data = ( 3, 6, 9, 'Hai')
data2 = list(data) # Konversi data ke list
data2[3] = "hai juga" # update nilai pada list
data = tuple(data2) # konversi balik data ke tuple
data
(3, 6, 9, 'hai juga')
Catatan: Sekali tuple di buat, elemen baru tidak dapat ditambahkan.
Sets adalah salah satu tipe data yang lain pada bahasa pemrograman Python. Sets merupakan data tidak berurutan dan tidak memiliki indeks, dinyatakan seperti pada contoh berikut ini:
data = { "hai", "salam kenal", 14, 20 }
data
{14, 20, 'hai', 'salam kenal'}
Oleh karena sets
tidak memiliki indeks, maka, kita tidak dapat mengaksesnya secara langsung. Oleh karena itu, untuk mengakses elemen tersebut perlu menggunakan fungsi loop.
for i in data:
print(i)
salam kenal
20
hai
14
Catatan: sekali sets di buat, nilanya tidak dapat di ubah.
Pada bahasa pemrograman python, untuk menambahkan elemen pada suatu sets adalah dengan cara menggunakan metode add
.
data.add("tambah")
data
{14, 20, 'hai', 'salam kenal', 'tambah'}
// Memeriksa panjang elemen
len(data)
5
// Menghapus item
data.remove("hai")
data
{14, 20, 'salam kenal', 'tambah'}
Ketika kita ingin melakukan tugas tertentu pada program yang kita kembangkan. Kita pun dapat menggunakanfunction
pada kode suatu program. Terlebih lagi jika kita ingin melakukan suatu perintah berulang kali di dalam program dan tidak ingin untuk menggunakan kode yang sama berkali-kali. Dengan menggunakan function
ini, hidup programmer menjadi lebih mudah.
Untuk mendeklarasikan function
pada bahasa pemrograman python adalah dengan menggunakan kata kunci def
, contoh nya adalah:
def hello_world():
print("Hello world, kami dari Indonesia")
Pada contoh di atas, kita telah mendeklarasikan function hello_world
, yang ketika di panggil akan mencetak tulisan "Hello world, kami dari Indonesia". Untuk memanggil function tersebut, kita harus menggunakan syntax seperti pada contoh di bawah ini:
hello_world()
//output:
Hello world, kami dari Indonesia
Perlu di ingat bahwa tanda kurung ()
harus disertakan untuk mengeksekusi function
pada bahasa pemrograman python. Jika kita lupa menyertakannya, maka, akan terlihat seperti pada contoh bawah ini:
hello_world
//output:
<function __main__.hello_world()>
Mari kita melihat contoh sederhana kegunaan function ketika hendak melakukan operasi aritmatika penambahan. Cara konvensional untuk melakukan operasi tersebut yaitu:
a = 10
b = 3
a + b
//output:
13
Sekarang, jika kita ingin mengganti nilai variabel a dan b untuk melakukan operasi penambahan yang sama, kita harus melakukannya lagi seperti pada cara diatas.
a = 10
b = 3
a + b
//output:
13
a = 1
b = 9
a + b
//output:
10
Dapat dibayangkan jika hanya untuk menggunakan operasi penambahan tersebut dan dilakukan sebanyak puluhan kali, kita harus selalu menyesuaikan nilai a dan b. Cara tersebut sangatlah tidak efisien. Namun, kita tidak perlu khawatir, karena masalah tersebut dapat diselesaikan dengan menggunakan function seperti pada contoh selanjutnya.
def penambahan(a,b):
print(a+b)
Function di atas adalah untuk operasi aritmatika penjumlahan variable a dan b. Untuk memanggil function tersebut, kita dapat menggunakan syntax di bawah ini:
penambahan(20,3)
//output
23
Dapat kita lihat bahwa dengan menggunakan function untuk mengeksekusi suatu perintah adalah sangat mudah. Sekarang, bagaimana jika kita tidak memasukkan argumen di dalam tanda kurung function penambahan
tersebut?
penambahan()
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-105-7668fff7f74a> in <module>
----> 1 penambahan()
TypeError: penambahan() missing 2 required positional arguments: 'a' and 'b'
Python akan memberikan pesan TypeError dan menginformasikan kepada kita untuk menggunakan dua argument. Lalu, bagaimana jika kita memasukkan argument ketiga?
penambahan(20,3, 1)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-106-23ba42c141cb> in <module>
----> 1 penambahan(20,3, 1)
TypeError: penambahan() takes 2 positional arguments but 3 were given
Seperti yang terlihat pada pesan error di atas, kita telah memanggil 3 argument, namun pada function penambahan yang telah kita tulis seharusnya hanya memiliki 2 argumen.
Lalu, bagaimana jika kita tidak mengetahui berapa banyak argument yang terdapat pada suatu function? Untuk menjawab masalah tersebut kita dapat menggunakan args
dan kwargs
pada bahasa pemrograman python.
Kita dapat menggunakan args
dan kwargs
(di bahas pada bab selanjutnya) jika tidak mengetahui ada berapa banyak argumen yang terdapat pada suatu function.
Untuk meneruskan sejumlah n argument kepada suatu function, kita dapat menggunakan args. Untuk mendefinisikan args
, maka kita harus menambahkan tanda *
di depan argumen.
Ingat!Ketika kita menambahkan tanda *
di depan, kita akan menerima argument dalam bentuk tuple.
def penambahan(*num):
print(num)
*num
pada kasus di atas adalah contoh dari args. Sekarang kita dapat memanggil kembali fungsi add
dan melewati beberapa argumen sehingga tidak akan mendapatkan pesan TypeError.
Sehingga, untuk melakukan operasi penjumlahan, kita dapat secara langsung menggunakan metode yang sudah build-in pada bahasa pemrograman Python, yaitu sum
.
def penambahan(*num):
print(sum(num))
Sekarang kita dapat memanggil function penambahan dan kita akan melihat output yang benar seperti pada dua contoh di bawah ini.
penambahan(1,2,3) # memanggil fungsi
6
penambahan(1,2,3,4) # memanggil fungsi
10
Terkadang, kita tidak mengetahui urutan dari suatu argumen yang akan diteruskan ketika function di panggil. Pada kasus seperti ini, kita dapat menggunakan keyword arguments
yang dapat diteruskan tanpa harus mengingat urutannya. Namun, function tersebut akan mengetahui nilai yang benar. Lihatlah contoh di bawah ini:
Hasil pemanggilan function dan argument di atas adalah tepat. Namun, bagaimana jika kita memanggil function tersebut seperti ini:
info_detail("tukang kayu", "Zacky")
# outputnya akan seperti:
Nama: tukang kayu
Profesi: Zacky
Hasil di atas adalah tidak benar. Yang terjadi pada kasus ini adalah variable nama
mengambil kata "tukang kayu" dan variable profesi
memasukkan kata "Zacky". Untuk scenario yang kita tidak ketahui urutan argumentnya, maka cara untuk memanggil keyword argument pada bahasa pemrograman python adalah:
info_detail(profesi= "tukang kayu", nama= "Zacky")
# outputnya akan seperti:
Nama: Zacky
Profesi: tukang kayu
Pada kondisi di mana kita tidak yakin apakah suatu argumen memiliki suatu nilai atau tidak ketika function di panggil. Kita dapat menggunakan metode lain, yaitu default argument
seperti pada contoh di bawah ini.
def info_detail(nama, profesi = None):
print("Nama:", nama)
print("Profesi: ", profesi)
Di sini kita menyisipkan variable bernilai None pada argument
profesi. Sehingga, jika kita tidak memanggil argument kedua, ketika memanggil function tersebut. Maka, argument kedua akan mengambil nilai None
sebagai default. Sebagai contoh, mari kita panggil function info_detail
.
info_detail("zacky")
# output
Nama: zacky
Profesi: None
Jika kita memasukkan nilai pada argument kedua, maka nilai None
akan berubah dan menjadi nilai argument kedua.
info_detail("zacky", "tukang kayu")
#output
Nama: zacky
Profesi: tukang kayu
Namun, jika kita menentukan suatu nilai pada argument pertama sebagai default. Lalu, menjadikan argumen kedua sebagai non-default. Maka, Python akan memberikan pesan error seperti di bawah ini:
def info_detail(nama = None, profesi):
print("Nama:", nama)
print("Profesi: ", profesi)
File "<ipython-input-130-6c704f968e19>", line 1
def info_detail(nama = None, profesi):
^
SyntaxError: non-default argument follows default argument
Ingat! Urutan untuk menentukan parameter suatu argumen di dalam function adalah:
Untuk kondisi di mana kita tidak mengetahui ada berapa banyak keyword argumen yang akan diteruskan kepada function. Maka, kita akan menggunakan kwargs
. Penggunaan kwarg adalah dengan menempatkan tanda **
di depan argumen.
Ingat! Ketika kita menempatkan tanda **
di depan argumen. Maka, kita akan menerima argument dalam bentuk dictionary.
Mari kita mencoba untuk memahaminya dengan contoh yang konkrit. Kita akan mendekalarasikan function yang dapat menerima nama
sebagai argument dengan menggunakan tanda **
di depannya.
def user(**nama):
print(nama)
Ketika kita memanggil user
function, maka kita akan menerima data dalam bentuk dictionary. Mari kita lihat contoh di bawah ini:
user(nama1="messi",name2="ronaldo")
#output
{'nama1': 'messi', 'name2': 'ronaldo'}
Sekilas seperti tidak memiliki perbedaan dengan args
. Namun, ini bukan lah args. Pada args
, kita tidak dapat mengakses nilai tertentu berdasarkan namanya karena args
berbentuk tuple
. Sedangkan pada kwargs
, kita mendapatkan data dalam bentuk dictionary
sehingga nilainya dapat di akses.
Mari kita lihat contoh di bawah ini:
def user(**info_detail):
print(info_detail['nama'])
Lalu, panggil function tersebut:
user(nama="Zacky",profesi="tukang kayu")
#output
Zacky
Terlihat bahwa dengan menggunakan kwargs
kita dapat menampilkan nilai dari nama
, yaitu Zacky.
Kita telah menelurusi dasar-dasar bahasa pemrograman Python yang cukup intensif. Semoga dapat membantu Anda dalam memahami bahasa pemrograman Python dengan mudah. Saya menyediakan notebook materi ini dalam bentuk file jupyter notebook dengan klik tombol di bawah ini:
Jika Anda ingin menggunakan bahasa Python pada proyek yang sebenarnya, seperti pada implementasi Internet of Things, maka Anda dapat mengikuti tutorial ini. Atau pada implementasi pada Artificial Intellegent klik di sini
Terima kasih telah membaca artikel ini, semoga bermanfaat untuk anda.
Python Data Visualisasi dengan Seaborn
Mendeteksi Object Dengan Tensorflow
IoT Dengan Python dan Raspberry Pi
Mendeteksi Object Dengan Raspberry Pi