INFOCPNS Tutorial Python Bahasa Pemrograman Phyton - Rista Bola

Tutorial Python Bahasa Pemrograman Phyton

Tutorial Python Bahasa Pemrograman Phyton

Tutorial Python Bahasa Pemrograman Phyton

Tutorial Python menyediakan konsep dasar dan lanjutan dari Python. Tutorial Python kami dirancang untuk pemula dan profesional.

Python adalah bahasa pemrograman yang sederhana, bertujuan umum, tingkat tinggi, dan berorientasi objek.

Python juga merupakan bahasa skrip yang ditafsirkan. Guido Van Rossum dikenal sebagai penemu pemrograman Python.

Tutorial Python kami mencakup semua topik Pemrograman Python seperti instalasi, pernyataan kontrol, String, Daftar, Tuple, Kamus, Modul, Pengecualian, Tanggal dan Waktu, File I/O, Program, dll. Ada juga pertanyaan wawancara Python yang diberikan untuk membantu Anda lebih memahami Pemrograman Python.


Apa itu Python

Python adalah bahasa pemrograman tujuan umum, dinamis, tingkat tinggi, dan ditafsirkan. Ini mendukung pendekatan pemrograman Berorientasi Objek untuk mengembangkan aplikasi. Ini sederhana dan mudah dipelajari dan menyediakan banyak struktur data tingkat tinggi.

Python adalah bahasa skrip yang mudah dipelajari namun kuat dan serbaguna, yang membuatnya menarik untuk Pengembangan Aplikasi.

Sintaks dan pengetikan dinamis Python dengan sifat interpretasinya menjadikannya bahasa yang ideal untuk skrip dan pengembangan aplikasi yang cepat.

Python mendukung banyak pola pemrograman, termasuk gaya pemrograman berorientasi objek, imperatif, dan fungsional atau prosedural.

Python tidak dimaksudkan untuk bekerja di area tertentu, seperti pemrograman web. Itulah mengapa ini dikenal sebagai bahasa pemrograman multiguna karena dapat digunakan dengan web, perusahaan, CAD 3D, dll.

Kita tidak perlu menggunakan tipe data untuk mendeklarasikan variabel karena ini diketik secara dinamis sehingga kita dapat menulis a=10 untuk menetapkan nilai bilangan bulat dalam variabel bilangan bulat.

Python mempercepat pengembangan dan debugging karena tidak ada langkah kompilasi yang disertakan dalam pengembangan Python, dan siklus edit-tes-debug sangat cepat.


Python 2 vs Python 3

Di sebagian besar bahasa pemrograman, setiap kali versi baru dirilis, itu mendukung fitur dan sintaks dari versi bahasa yang ada, oleh karena itu, lebih mudah bagi proyek untuk beralih ke versi yang lebih baru. Namun, dalam kasus Python, kedua versi Python 2 dan Python 3 sangat berbeda satu sama lain.

Daftar perbedaan antara Python 2 dan Python 3 diberikan di bawah ini:

  1. Python 2 menggunakan print sebagai pernyataan dan digunakan sebagai print "sesuatu" untuk mencetak beberapa string di konsol. Di sisi lain, Python 3 menggunakan print sebagai fungsi dan digunakan sebagai print("something") untuk mencetak sesuatu di konsol.
  2. Python 2 menggunakan fungsi raw_input() untuk menerima input pengguna. Ini mengembalikan string yang mewakili nilai, yang diketik oleh pengguna. Untuk mengubahnya menjadi bilangan bulat, kita perlu menggunakan fungsi int() dengan Python. Di sisi lain, Python 3 menggunakan fungsi input() yang secara otomatis menginterpretasikan tipe input yang dimasukkan oleh pengguna. Namun, kita dapat memberikan nilai ini ke tipe apa pun dengan menggunakan fungsi primitif (int(), str(), dll.).
  3. Di Python 2, tipe string implisit adalah ASCII, sedangkan di Python 3, tipe string implisit adalah Unicode.
  4. Python 3 tidak mengandung fungsi xrange() dari Python 2. The xrange() adalah varian dari fungsi range() yang mengembalikan objek xrange yang bekerja mirip dengan iterator Java. range() mengembalikan daftar misalnya fungsi range(0,3) berisi 0, 1, 2.
  5. Ada juga perubahan kecil yang dibuat dalam penanganan Pengecualian di Python 3. Ini mendefinisikan kata kunci yang perlu digunakan. Kami akan membahasnya di bagian Penanganan pengecualian dari tutorial pemrograman Python.

Program Java vs Python

Berbeda dengan bahasa pemrograman lainnya, Python menyediakan fasilitas untuk mengeksekusi kode menggunakan beberapa baris. Misalnya - Misalkan kita ingin mencetak program "Hello World" di Java; dibutuhkan tiga baris untuk mencetaknya.

  • Java Program

public class HelloWorld {  

 public static void main(String[] args){  

// Prints "Hello, World" to the terminal window.  

  System.out.println("Hello World");  

 }  

 }  

  • Python Program 

Di sisi lain, kita bisa melakukannya dengan menggunakan satu pernyataan di Python.

print("Hello World")

Kedua program akan mencetak hasil yang sama, tetapi hanya dibutuhkan satu pernyataan tanpa menggunakan titik koma atau kurung kurawal di Python.


Python Basic Syntax

Tidak ada penggunaan kurung kurawal atau titik koma dalam bahasa pemrograman Python. Ini adalah bahasa yang mirip bahasa Inggris. Tapi Python menggunakan lekukan untuk mendefinisikan blok kode. Lekukan tidak lain adalah menambahkan spasi putih sebelum pernyataan saat dibutuhkan. Sebagai contoh 

def func():  

       statement 1  

       statement 2  

       …………………  

       …………………  

         statement N  

Dalam contoh di atas, pernyataan-pernyataan yang sejajar ke kanan termasuk dalam fungsi. Secara umum, kita dapat menggunakan empat spasi putih untuk menentukan lekukan.


Sejarah Python

Python ditemukan oleh Guido van Rossum pada tahun 1991 di CWI di Belanda. Ide bahasa pemrograman Python diambil dari bahasa pemrograman ABC atau bisa dikatakan bahwa ABC merupakan pendahulu dari bahasa Python.

Ada juga fakta dibalik pemilihan nama Python. Guido van Rossum adalah penggemar acara komedi populer BBC saat itu, "Monty Python's Flying Circus". Jadi dia memutuskan untuk memilih nama Python untuk bahasa pemrograman yang baru dibuatnya. 

Python memiliki komunitas yang luas di seluruh dunia dan merilis versinya dalam waktu singkat.


Mengapa belajar Python?

Python menyediakan banyak fitur yang berguna untuk programmer. Fitur-fitur ini menjadikannya bahasa yang paling populer dan banyak digunakan. Kami telah membuat daftar di bawah ini beberapa fitur penting dari Python.

  • Mudah digunakan dan Belajar
  • Bahasa Ekspresif
  • Bahasa yang Ditafsirkan
  • Bahasa Berorientasi Objek
  • Bahasa Sumber Terbuka
  • Dapat diperluas
  • Pelajari Perpustakaan Standar
  • Dukungan Pemrograman GUI
  • Terintegrasi
  • Dapat disematkan
  • Alokasi Memori Dinamis
  • Beragam Pustaka dan Kerangka Kerja

Di mana Python digunakan?

Python adalah bahasa pemrograman populer untuk tujuan umum dan digunakan di hampir setiap bidang teknis. Berbagai bidang penggunaan Python diberikan di bawah ini.
  • Ilmu Data
  • Penambangan Tanggal
  • Aplikasi Desktop
  • Aplikasi berbasis konsol
  • Aplikasi Seluler
  • Pengembangan perangkat lunak
  • Kecerdasan buatan
  • Aplikasi Web
  • Aplikasi Perusahaan
  • Aplikasi CAD 3D
  • Pembelajaran mesin
  • Computer Vision atau Aplikasi Pemrosesan Gambar.
  • Pengenalan Ucapan

Kerangka dan Pustaka Populer Python

Python memiliki berbagai pustaka dan kerangka kerja yang banyak digunakan di berbagai bidang seperti pembelajaran mesin, kecerdasan buatan, aplikasi web, dll. Kami mendefinisikan beberapa kerangka kerja dan pustaka Python yang populer sebagai berikut.
  • Pengembangan web (sisi server) - Django Flask, Pyramid, CherryPy
  • Aplikasi berbasis GUI - Tk, PyGTK, PyQt, PyJs, dll.
  • Machine Learning - TensorFlow, PyTorch, Scikit-learn, Matplotlib, Scipy, dll.
  • Matematika - Numpy, Panda, dll.

Python print () Function

Fungsi print() menampilkan objek yang diberikan ke perangkat output standar (layar) atau ke file aliran teks.

Berbeda dengan bahasa pemrograman lainnya, fungsi Python print() adalah fungsi yang paling unik dan serbaguna.

Sintaks fungsi print() diberikan di bawah ini.
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)  

Mari kita jelaskan parameternya satu per satu.

  • objek - Sebuah objek hanyalah sebuah pernyataan yang akan dicetak. Tanda * menunjukkan bahwa mungkin ada banyak pernyataan.
  • sep - Parameter sep memisahkan nilai cetak. Nilai default adalah ' '.
  • akhir - Akhir dicetak terakhir dalam pernyataan itu.
  • file - Itu harus berupa objek dengan metode tulis (string).
  • flush - Aliran atau file dibilas secara paksa jika itu benar. Secara default, nilainya salah.

Mari kita pahami contoh berikut. 

Contoh - 1: Mengembalikan nilai

print("Welcome to javaTpoint.")  

  

a = 10  

# Two objects are passed in print() function  

print("a =", a)  

  

b = a  

# Three objects are passed in print function  

print('a =', a, '= b')  

Output

 Welcome to javaTpoint.

a = 10

a = 10 = b

Seperti yang dapat kita lihat pada output di atas, beberapa objek dapat dicetak dalam pernyataan print() tunggal. Kita hanya perlu menggunakan koma (,) untuk memisahkan satu sama lain.

Contoh - 2: Menggunakan argumen sep dan end

a = 10  

print("a =", a, sep='dddd', end='\n\n\n')  

print("a =", a, sep='0', end='$$$$$')  

Output 

a =dddd10



a =010$$$$$ 

Dalam pernyataan print() pertama, kami menggunakan argumen sep dan end. Objek yang diberikan dicetak tepat setelah nilai sep. Nilai parameter akhir dicetak pada objek terakhir yang diberikan. Seperti yang bisa kita lihat, fungsi print() kedua mencetak hasilnya setelah tiga garis hitam.


Mengambil Input ke Pengguna

Python menyediakan fungsi input() yang digunakan untuk mengambil input dari pengguna. Mari kita pahami contoh berikut.

Contoh :

name = input("Enter a name of student:")  

print("The student name is: ", name)  

Output 

Enter a name of student: Devansh

The student name is:   Devansh 

Secara default, fungsi input() mengambil input string tetapi bagaimana jika kita ingin mengambil tipe data lain sebagai input.

Jika kita ingin mengambil input sebagai bilangan bulat, kita perlu mengetikkan fungsi input() menjadi bilangan bulat.

Sebagai contoh 

Contoh :

a  = int(input("Enter first number: "))  

b = int(input("Enter second number: "))    

print(a+b) 

Output

Enter first number: 50

Enter second number: 100

150 

Kita dapat mengambil semua jenis nilai menggunakan fungsi input().


Operator Python

Operator adalah simbol yang melakukan berbagai operasi pada objek Python. Operator Python adalah yang paling penting untuk bekerja dengan tipe data Python. Selain itu, Python juga menyediakan operator identifikasi keanggotaan dan bitwise. Kami akan mempelajari semua operator ini dengan contoh yang sesuai dalam tutorial berikut.

  • Operator Python

Pernyataan Bersyarat Python

Pernyataan bersyarat membantu kami mengeksekusi blok tertentu untuk kondisi tertentu. Dalam tutorial ini, kita akan belajar bagaimana menggunakan ekspresi kondisional untuk mengeksekusi blok pernyataan yang berbeda. Python menyediakan kata kunci if dan else untuk mengatur kondisi logis. Kata kunci elif juga digunakan sebagai pernyataan bersyarat.

  • Pernyataan if..else python

Loop Python

Terkadang kita mungkin perlu mengubah aliran program. Eksekusi kode tertentu mungkin perlu diulang beberapa kali. Untuk tujuan ini, bahasa pemrograman menyediakan berbagai jenis loop yang mampu mengulang beberapa kode tertentu beberapa kali. Pertimbangkan tutorial berikut untuk memahami pernyataan secara rinci. 

  • Loop Python
  • Python Untuk Lingkaran
  • Python Sementara Loop

Struktur Data Python

Struktur data dirujuk yang dapat menampung beberapa data bersama atau kami mengatakan bahwa mereka digunakan untuk menyimpan data secara terorganisir. Python menyediakan struktur data bawaan seperti daftar, tupel, kamus, dan set. Kita dapat melakukan tugas-tugas kompleks menggunakan struktur data.

Daftar Piton

Daftar Python menyimpan koleksi item yang dipesan. Kami dapat menyimpan urutan item dalam daftar. Daftar Python bisa berubah yang artinya dapat dimodifikasi setelah dibuat. Butir-butir daftar diapit oleh tanda kurung siku [] dan dipisahkan dengan koma. Mari kita lihat contoh daftar.
L1 = ["John", 102, "USA"]      
L2 = [1, 2, 3, 4, 5, 6]     

Jika kita mencoba mencetak tipe L1, L2, dan L3 menggunakan fungsi type() maka akan keluar berupa list.

print(type(L1))    

print(type(L2))     

Output

<class 'list'>

<class 'list'> 

Untuk mempelajari lebih lanjut tentang daftar, kunjungi tutorial berikut.

  • Daftar Piton
  • Fungsi Daftar Python

Piton Tupel

Python Tuple digunakan untuk menyimpan urutan objek Python yang tidak dapat diubah. Tuple mirip dengan daftar karena nilai item yang disimpan dalam daftar dapat diubah, sedangkan tuple tidak dapat diubah, dan nilai item yang disimpan dalam tuple tidak dapat diubah.

Tuple dapat didefinisikan sebagai berikut

Contoh 
tup = ("Apple", "Mango" , "Orange" , "Banana")  
print(type(tup))  
print(tup)  

Output

<class 'tuple'>

('Apple', 'Mango', 'Orange', 'Banana') 

Jika kami mencoba menambahkan yang baru ke tuple, itu akan menimbulkan kesalahan.

Contoh : 

tup = ("Apple", "Mango" , "Orange" , "Banana")  

  

tup[2] = "Papaya"  

print(tup)   

Output

Traceback (most recent call last):

  File "C:/Users/DEVANSH SHARMA/PycharmProjects/Hello/gamewithturtle.py", line 3, in 

    tup[2] = "Papaya"

TypeError: 'tuple' object does not support item assignment 

Program di atas menimbulkan kesalahan karena tupel adalah tipe yang tidak dapat diubah. Untuk mempelajari lebih lanjut tentang tuple, kunjungi Python Tuples.

  • Piton Tupel 


Tali Python

String python adalah urutan karakter. Ini adalah kumpulan karakter yang dikelilingi oleh tanda kutip tunggal, kutip ganda, atau kutip tiga. Itu juga dapat didefinisikan sebagai kumpulan karakter Unicode. Kita dapat membuat string sebagai berikut.

Contoh 

# Creating string using double quotes  

str1 = "Hi Python"  

print(str1)  

# Creating string using single quotes  

str1 = 'Hi Python'  

print(str1)  

# Creating string using triple quotes  

str1 = '''Hi Python'''  

print(str1)  

Output 

Hi Python

Hi Python

Hi Python 

Python tidak mendukung tipe data karakter. Karakter tunggal yang ditulis sebagai 'p' diperlakukan sebagai string dengan panjang 1.

Sengatan juga tidak berubah. Kami tidak dapat mengubah setelah diumumkan. Untuk mempelajari lebih lanjut tentang string, kunjungi tutorial berikut.

  • String Python
  • Metode String Python
  • Kamus

Kamus Python adalah struktur data yang paling efisien dan digunakan untuk menyimpan data dalam jumlah besar. Ini menyimpan data dalam format key-value pair. Setiap nilai disimpan sesuai dengan kuncinya.

Kunci harus unik dan nilai dapat bertipe apa saja seperti bilangan bulat, daftar, tupel, dll.

Ini adalah tipe yang bisa berubah; kita dapat menugaskan kembali setelah pembuatannya. Di bawah ini adalah contoh membuat kamus dengan Python.

Contoh - 

employee = {"Name": "Rizky Kharisma", "Age": 29, "salary":250000,"Company":"GOOGLE"}      

print(type(employee))      

print("printing Employee data .... ")      

print(employee)  

Output

<class 'dict'>

Printing Employee data .... 

{'Name': 'Rizky Kharisma', 'Age': 29, 'salary': 250000, 'Company': 'GOOGLE'} 

Kurung kurawal kosong {} digunakan untuk membuat kamus kosong. Untuk mempelajari lebih lanjut, kunjungi tutorial lengkap kamus.

  • Kamus Python
  • Metode Kamus Python

Set Python

Set Python adalah kumpulan elemen yang tidak terurut. Setiap elemen dalam set harus unik dan tidak dapat diubah. Set bisa berubah yang berarti kita dapat memodifikasi kapan saja di seluruh program. Mari kita pahami contoh pembuatan set dengan Python.

Contoh 

# Creating Set  

Month = {"January", "February", "March", "April", "May", "June", "July"}  

print(Month)  

print(type(Month))  

Output

{'March', 'July', 'April', 'May', 'June', 'February', 'January'}

<class 'set'> 

Untuk mendapatkan informasi selengkapnya tentang kumpulan, kunjungi sumber daya berikut.

  • Set Python
  • Metode Set Python

Pemrograman Fungsional Python

Bagian tutorial Python ini mendefinisikan beberapa alat penting yang terkait dengan pemrograman fungsional seperti lambda dan fungsi rekursif. Fungsi-fungsi ini sangat efisien dalam menyelesaikan tugas-tugas kompleks. Kami mendefinisikan beberapa fungsi penting, seperti pengurangan, pemetaan, dan filter. Python menyediakan modul functools yang mencakup berbagai alat pemrograman fungsional. Kunjungi tutorial berikut untuk mempelajari lebih lanjut tentang pemrograman fungsional.

  • Fungsi Piton
  • Peta Python () Fungsi
  • Filter python() Fungsi
  • Python mengurangi () Fungsi
  • Modul alat fungsi Python
  • Fungsi Python Lambda

File Python I/O 

File digunakan untuk menyimpan data dalam disk komputer. Dalam tutorial ini, kami menjelaskan objek file bawaan Python. Kita dapat membuka file menggunakan skrip Python dan melakukan berbagai operasi seperti menulis, membaca, dan menambahkan. Ada berbagai cara untuk membuka file. Kami dijelaskan dengan contoh yang relevan. Kita juga akan belajar melakukan operasi baca/tulis pada file biner.
  • File Python I/O

Modul Python

Modul Python adalah file program yang berisi kode atau fungsi Python. Ada dua jenis modul di Python - modul yang ditentukan pengguna dan modul bawaan. Modul yang ditentukan pengguna, atau kita dapat mengatakan bahwa kode Python kita disimpan dengan ekstensi .py, diperlakukan sebagai modul yang ditentukan pengguna.

Modul bawaan adalah modul Python yang telah ditentukan sebelumnya. Untuk menggunakan fungsionalitas modul, kita perlu mengimpornya ke dalam program kerja kita saat ini.

  • Modul Python

Pengecualian Python

Pengecualian dapat didefinisikan sebagai kondisi yang tidak biasa dalam suatu program yang mengakibatkan gangguan pada aliran program.

Setiap kali pengecualian terjadi, program menghentikan eksekusi, dan dengan demikian kode selanjutnya tidak dieksekusi. Oleh karena itu, pengecualian adalah run-time error yang tidak dapat ditangani oleh skrip Python. Pengecualian adalah objek Python yang mewakili kesalahan.
  • Pengecualian Python

CSV Python

Csv adalah singkatan dari "nilai yang dipisahkan koma", yang didefinisikan sebagai format file sederhana yang menggunakan penataan khusus untuk mengatur data tabular. Ini menyimpan data tabular seperti spreadsheet atau database dalam teks biasa dan memiliki format umum untuk pertukaran data. File csv terbuka ke lembar excel, dan data baris dan kolom menentukan format standar. Kunjungi tutorial berikut untuk mempelajari modul CSV secara detail.
  • Python Baca File CSV
  • Python Tulis File CSV

Surat Pengiriman Python

Kami dapat mengirim atau membaca surat menggunakan skrip Python. Modul pustaka standar Python berguna untuk menangani berbagai protokol seperti PoP3 dan IMAP. Kami akan belajar cara mengirim email dengan SMTP layanan email populer dari skrip Python.
  • Python Mengirim Email

Metode Sihir Python

Metode sihir Python didefinisikan sebagai metode khusus yang menambahkan "sihir" ke kelas. Itu dimulai dan diakhiri dengan garis bawah ganda, misalnya, _init_ atau _str_.

Kelas bawaan menentukan banyak metode ajaib. Fungsi dir() dapat digunakan untuk melihat jumlah metode ajaib yang diwariskan oleh suatu kelas. Ini memiliki dua awalan dan garis bawah akhiran dalam nama metode.
  • Metode Sihir Python

Konsep Ups Python

Segala sesuatu di Python diperlakukan sebagai objek termasuk nilai integer, float, fungsi, kelas, dan tidak ada. Selain itu, Python mendukung semua konsep berorientasi. Di bawah ini adalah pengenalan singkat tentang konsep oops Python.

  • Kelas dan Objek - Kelas Python adalah cetak biru dari objek. Objek adalah kumpulan data dan metode yang bertindak atas data.
  • Warisan - Warisan adalah teknik di mana satu kelas mewarisi properti dari kelas lain.
  • Konstruktor - Python menyediakan metode khusus __init__() yang dikenal sebagai konstruktor. Metode ini secara otomatis dipanggil ketika sebuah objek dipakai.
  • Anggota Data - Variabel yang menyimpan data yang terkait dengan kelas dan objeknya.
Untuk membaca konsep oops secara mendetail, kunjungi sumber daya berikut.
  • Konsep Ups Python
  • Objek dan kelas Python
  • Pembuat Python
  • Warisan Python
  • Polimorfisme Python

Topik Tingkat Lanjut Python

Python mencakup banyak konsep canggih dan berguna yang membantu programmer menyelesaikan tugas-tugas kompleks. Konsep-konsep ini diberikan di bawah ini.

Iterator Python

Iterator hanyalah sebuah objek yang dapat diulangi. Ini mengembalikan satu objek pada satu waktu. Itu dapat diimplementasikan menggunakan dua metode khusus, __iter__() dan __next__().

Untuk mempelajari lebih lanjut tentang iterator, kunjungi tutorial Iterator Python kami.

Generator Piton

Generator adalah cara termudah untuk membuat Iterator. Untuk mempelajari lebih lanjut, kunjungi tutorial Generator Python kami.

Dekorator Python

Ini digunakan untuk memodifikasi perilaku fungsi. Dekorator memberikan fleksibilitas untuk membungkus fungsi lain untuk memperluas kerja fungsi yang dibungkus, tanpa mengubahnya secara permanen.

Untuk mempelajari lebih lanjut, kunjungi tutorial Dekorator Python.

Koneksi Basis Data Python

Kita bisa menggunakan berbagai database bersama dengan Python. Anda dapat mempelajari tutorial lengkap untuk mengunjungi sumber daya di bawah ini. Python DBI-API mengakui set fungsionalitas standar untuk disertakan dalam modul konektivitas database untuk masing-masing produk RDBMS. Kami menjelaskan semua konektivitas database penting menggunakan Python DBI-API.

Python MySQL

  • Pengaturan Lingkungan
  • Koneksi Basis Data
  • Membuat Basis Data Baru
  • Membuat Tabel
  • Sisipkan Operasi
  • Baca Operasi
  • Perbarui Operasi
  • Gabung Operasi
  • Melakukan Transaksi

Python MongoDB

Python MongoDB

Python SQLite

Python SQLite

CGI Python

Python CGI adalah singkatan dari "Common Gateway Interface", yang digunakan untuk menentukan cara bertukar informasi antara server web dan skrip Python khusus. Common Gateway Interface adalah standar untuk program gateway eksternal untuk berinteraksi dengan server, seperti Server HTTP. Untuk mempelajari lebih lanjut tentang Python CGI, kunjungi tutorial berikut.
  • CGI Python

Syarat

Sebelum mempelajari Python, Anda harus memiliki pengetahuan dasar tentang konsep pemrograman.

Audience

Tutorial Python kami dirancang untuk membantu pemula dan profesional.

Masalah

Kami menjamin bahwa Anda tidak akan menemukan masalah apapun dalam tutorial Python ini