🐍

🐍 Tutorial Python Lengkap

Dari dasar hingga mahir - Bahasa pemrograman terpopuler di dunia!

Dasar Lanjutan Expert

Iklan 728x90 - Pasang Kode AdSense Anda Di Sini

📚 Bagian 1: Python Dasar

Apa itu Python?

Python adalah bahasa pemrograman tingkat tinggi yang dibuat oleh Guido van Rossum pada tahun 1991. Python terkenal dengan sintaks yang mudah dibaca dan dipahami.

Mengapa Belajar Python?

Instalasi Python

# Cara install Python: # 1. Download dari https://python.org # 2. Atau gunakan Anaconda (untuk Data Science) # Cek versi Python: python --version python3 --version

Hello World!

# Cara pertama - print() print("Hello, World!") # Dengan variabel nama = "Anak Cisoka" print(f"Halo, {nama}!") # Tipe data nama = "Budi" # str (string) umur = 15 # int (integer) tinggi = 165.5 # float is_siswa = True # bool (boolean)

Variabel dan Tipe Data

# Tipe Data Dasar Python # String (str) nama = "Informatika" kalimat = 'Belajar Python itu mudah!' # Integer (bilangan bulat) a = 10 b = -5 c = 0 # Float (bilangan desimal) pi = 3.14159 harga = 15000.50 # Boolean benar = True salah = False # List (array) angka = [1, 2, 3, 4, 5] nama_siswa = ["Ana", "Budi", "Citra"] # Tuple (list yang tidak bisa diubah) koordinat = (10, 20) # Dictionary siswa = { "nama": "Dodi", "umur": 15, "kelas": "X" }

Operasi Aritmatika

# Operator Aritmatika a = 10 b = 3 print(a + b) # Penjumlahan: 13 print(a - b) # Pengurangan: 7 print(a * b) # Perkalian: 30 print(a / b) # Pembagian: 3.333... print(a // b) # Pembagian bulat: 3 print(a % b) # Modulus (sisa bagi): 1 print(a ** b) # Pangkat: 1000

Input dan Output

# Input dari pengguna nama = input("Masukkan nama Anda: ") umur = int(input("Masukkan umur Anda: ")) # Output dengan format print(f"Nama: {nama}, Umur: {umur}") # Format string lain print("Nama: {} | Umur: {}".format(nama, umur))

📹 Video Tutorial Bagian 1:

🔀 Bagian 2: Kontrol Alur Program

Kondisi (If-Else)

# Kondisi If-Else Sederhana nilai = 85 if nilai >= 90: print("A - Sempurna!") elif nilai >= 80: print("B - Baik sekali!") elif nilai >= 70: print("C - Baik") elif nilai >= 60: print("D - Perlu peningkatan") else: print("E - Tidak lulus") # Kondisi dengan operator logika usia = 17 sim = True if usia >= 18 and sim == True: print("Boleh bawa mobil!") else: print("Belum boleh bawa mobil")

Perulangan (Loop)

# For Loop - Mengulang sejumlah tertentu for i in range(5): print(f"Perulangan ke-{i}") # For dengan list buah = ["Apel", "Jeruk", "Mangga"] for b in buah: print(f"Buah: {b}") # While Loop - Mengulang selama kondisi benar hitung = 1 while hitung <= 5: print(f"Hitung: {hitung}") hitung += 1 # Break dan Continue for i in range(10): if i == 3: continue # Skip angka 3 if i == 7: break # Stop di angka 7 print(i)

List Comprehension

# List Comprehension - Cara singkat membuat list # Kuadrat angka 0-9 kuadrat = [x**2 for x in range(10)] print(kuadrat) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] # Angka genap saja genap = [x for x in range(20) if x % 2 == 0] print(genap) # [0, 2, 4, 6, 8, 10, 12, 14, 16, 18] # Mengubah huruf huruf_besar = [x.upper() for x in ['a', 'b', 'c']] print(huruf_besar) # ['A', 'B', 'C']

📹 Video Tutorial Bagian 2:

⚙️ Bagian 3: Fungsi dan Modular

Membuat Fungsi

# Fungsi sederhana def salam(): print("Halo, selamat pagi!") salam() # Memanggil fungsi # Fungsi dengan parameter def salam(nama): print(f"Halo, {nama}! Selamat pagi!") salam("Budi") salam("Ani") # Fungsi dengan return def tambah(a, b): hasil = a + b return hasil jumlah = tambah(5, 3) print(jumlah) # 8

Parameter dan Argumen

# Default parameter def salam(nama, waktu="pagi"): print(f"Selamat {waktu}, {nama}!") salam("Budi") # Selamat pagi, Budi! salam("Ani", "sore") # Selamat sore, Ani! # *args - Banyak argumen def total(*angka): hasil = 0 for a in angka: hasil += a return hasil print(total(1, 2, 3, 4, 5)) # 15 # **kwargs - Argumen bernama def info_siswa(**data): for key, value in data.items(): print(f"{key}: {value}") info_siswa(nama="Budi", kelas="X", usia=15)

Lambda Function

# Lambda - Fungsi tanpa nama (anonymous) #Syntax: lambda arguments: expression # Kuadrat dengan lambda kuadrat = lambda x: x ** 2 print(kuadrat(5)) # 25 # Penjumlahan jumlah = lambda a, b: a + b print(jumlah(3, 4)) # 7 # Dengan fungsi map() angka = [1, 2, 3, 4, 5] kuadrat = list(map(lambda x: x**2, angka)) print(kuadrat) # [1, 4, 9, 16, 25]

Module dan Import

# Import module bawaan Python import math print(math.pi) # 3.141592653589793 print(math.sqrt(16)) # 4.0 # Import dengan alias import datetime as dt sekarang = dt.datetime.now() print(sekarang) # Import spesifik from random import randint, choice print(randint(1, 10)) # Angka random 1-10 print(choice(['A', 'B', 'C'])) # Pilih salah satu

📹 Video Tutorial Bagian 3:

📊 Bagian 4: Struktur Data

List (Daftar)

# Membuat list angka = [1, 2, 3, 4, 5] nama = ["Ana", "Budi", "Citra"] campuran = [1, "Budi", True, 3.14] # Mengakses elemen print(angka[0]) # 1 (indeks pertama) print(angka[-1]) # 5 (indeks terakhir) print(angka[1:4]) # [2, 3, 4] (slicing) # Modifikasi list angka.append(6) # Tambah di akhir angka.insert(0, 0) # Tambah di indeks tertentu angka.remove(3) # Hapus berdasarkan nilai angka.pop() # Hapus terakhir #操作 lain print(len(angka)) # Panjang list print(angka.sort()) # Urutkan print(angka.reverse()) # Balik urutan

Tuple

# Tuple - List yang tidak bisa diubah koordinat = (10, 20) warna = ("merah", "hijau", "biru") # Mengakses tuple print(koordinat[0]) # 10 print(koordinat[1]) # 20 # Tuple unpacking x, y = koordinat print(x, y) # 10 20 # Tuple bisadigunakan sebagai key dictionary titik = {(0,0): "Origin", (1,0): "X", (0,1): "Y"}

Dictionary

# Dictionary - Pasangan Key-Value siswa = { "nama": "Budi", "umur": 15, "kelas": "X IPA 1", "nilai": [90, 85, 88] } # Mengakses data print(siswa["nama"]) # Budi print(siswa.get("alamat", "Tidak ada")) # Default value # Menambah/mengubah data siswa["alamat"] = "Jakarta" siswa["umur"] = 16 # Method dictionary print(siswa.keys()) # Semua key print(siswa.values()) # Semua value print(siswa.items()) # Semua pasangan # Loop dictionary for key, value in siswa.items(): print(f"{key}: {value}")

Set

# Set - Koleksi unik tanpa urutan angka_unik = {1, 2, 3, 3, 4, 4, 5} print(angka_unik) # {1, 2, 3, 4, 5} (duplikat dihapus) # Operasi set A = {1, 2, 3, 4} B = {3, 4, 5, 6} print(A | B) # Union: {1, 2, 3, 4, 5, 6} print(A & B) # Intersection: {3, 4} print(A - B) # Difference: {1, 2} print(A ^ B) # Symmetric: {1, 2, 5, 6}

📹 Video Tutorial Bagian 4:

🏗️ Bagian 5: Pemrograman Berorientasi Objek (OOP)

Class dan Object

# Membuat Class class Mobil: # Atribut/class attribute roda = 4 # Constructor (init) def __init__(self, merk, warna): self.merk = merk # Instance attribute self.warna = warna # Method def jalan(self): print(f"Mobil {self.merk} sedang berjalan") def berhenti(self): print(f"Mobil {self.merk} berhenti") def info(self): return f"{self.warna} {self.merk}" # Membuat Object mobil1 = Mobil("Toyota", "Merah") mobil2 = Mobil("Honda", "Biru") # Memanggil method mobil1.jalan() print(mobil2.info())

Encapsulation (Enkapsulasi)

# Encapsulation - Menyembunyikan data class BankAccount: def __init__(self, saldo_awal): self.__saldo = saldo_awal # Private dengan __ def setor(self, jumlah): if jumlah > 0: self.__saldo += jumlah print(f"Berhasil setor {jumlah}") def tarik(self, jumlah): if jumlah <= self.__saldo: self.__saldo -= jumlah print(f"Berhasil tarik {jumlah}") else: print("Saldo tidak cukup!") def cek_saldo(self): return self.__saldo # Penggunaan akun = BankAccount(1000000) akun.setor(500000) print(akun.cek_saldo()) # 1500000 # Tidak bisa akses langsung: print(akun.__saldo) # Error!

Inheritance (Pewarisan)

# Parent Class class Hewan: def __init__(self, nama): self.nama = nama def makan(self): print(f"{self.nama} sedang makan") def tidur(self): print(f"{self.nama} sedang tidur") # Child Class class Kucing(Hewan): def __init__(self, nama, warna): super().__init__(nama) # Panggil constructor parent self.warna = warna def meong(self): print(f"{self.nama} mengeong: Meong!") def makan(self): # Override method print(f"{self.nama} makan ikan") # Penggunaan kucing = Kucing("Kitty", "Orange") kucing.makan() # Override: Kitty makan ikan kucing.meong() # Method baru: Kitty mengeong

Polymorphism

# Polymorphism - Bentuk banyak class Bentuk: def luas(self): pass class Persegi(Bentuk): def __init__(self, sisi): self.sisi = sisi def luas(self): return self.sisi ** 2 class Lingkaran(Bentuk): def __init__(self, radius): self.radius = radius def luas(self): return 3.14 * self.radius ** 2 # Polymorphism dalam action bentuk = [Persegi(4), Lingkaran(5), Persegi(3)] for b in bentuk: print(f"Luas: {b.luas()}")

📹 Video Tutorial Bagian 5:

📁 Bagian 6: File dan Exception Handling

Membaca dan Menulis File

# Menulis ke file with open("data.txt", "w") as file: file.write("Halo, ini baris pertama\n") file.write("Ini baris kedua\n") # Membaca file with open("data.txt", "r") as file: isi = file.read() print(isi) # Membaca baris per baris with open("data.txt", "r") as file: for baris in file: print(baris.strip()) # Menambah data ke file with open("data.txt", "a") as file: file.write("Ini data tambahan\n")

Exception Handling

# Try-Except Dasar try: angka = int(input("Masukkan angka: ")) hasil = 10 / angka print(f"Hasil: {hasil}") except ValueError: print("Input harus angka!") except ZeroDivisionError: print("Tidak bisa bagi dengan nol!") finally: print("Program selesai") # Menangkap exception spesifik try: file = open("file_ada.txt", "r") print(file.read()) file.close() except FileNotFoundError: print("File tidak ditemukan!") except PermissionError: print("Tidak memiliki izin akses!") # Raise exception def bagi(a, b): if b == 0: raise ValueError("Pembagi tidak boleh nol!") return a / b

With Statement

# With statement - auto close file # Tidak perlu khawatir menutup file # JSON file import json # Menulis JSON data = {"nama": "Budi", "umur": 15} with open("data.json", "w") as file: json.dump(data, file, indent=4) # Membaca JSON with open("data.json", "r") as file: data_terbaca = json.load(file) print(data_terbaca)

📹 Video Tutorial Bagian 6:

📈 Bagian 7: Python untuk Data Science

NumPy - Komputasi Numerik

# Install: pip install numpy import numpy as np # Membuat array angka = np.array([1, 2, 3, 4, 5]) print(angka * 2) # [2, 4, 6, 8, 10] # Array 2D (matriks) matriks = np.array([[1, 2], [3, 4]]) print(matriks.shape) # (2, 2) # Operasi matematika print(np.mean(angka)) # Rata-rata: 3.0 print(np.max(angka)) # Maksimum: 5 print(np.sum(angka)) # Jumlah: 15

Pandas - Analisis Data

# Install: pip install pandas import pandas as pd # Membuat DataFrame data = { 'Nama': ['Budi', 'Ani', 'Citra'], 'Umur': [15, 14, 15], 'Nilai': [90, 85, 88] } df = pd.DataFrame(data) print(df) # Membaca file CSV df = pd.read_csv('data_siswa.csv') # 操作 DataFrame print(df.head()) # 5 data pertama print(df.describe()) # Statistik deskriptif print(df['Nama']) # Ambil kolom print(df[df['Nilai'] > 85]) # Filter data

Matplotlib - Visualisasi Data

# Install: pip install matplotlib import matplotlib.pyplot as plt # Line plot x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10] plt.plot(x, y) plt.title('Grafik Linear') plt.xlabel('X') plt.ylabel('Y') plt.show() # Bar chart kelas = ['X IPA', 'X IPS', 'XI IPA'] siswa = [30, 25, 28] plt.bar(kelas, siswa) plt.title('Jumlah Siswa per Kelas') plt.show() # Pie chart ukuran = [30, 25, 20, 15, 10] label = ['A', 'B', 'C', 'D', 'E'] plt.pie(ukuran, labels=label) plt.show()

📹 Video Tutorial Bagian 7:

🚀 Bagian 8: Proyek Python

💡 Ide Proyek Python

Contoh: Kalkulator Sederhana

# Kalkulator Sederhana def kalkulator(): print("=== KALKULATOR ===") print("1. Penjumlahan") print("2. Pengurangan") print("3. Perkalian") print("4. Pembagian") pilihan = input("Pilih operasi (1-4): ") a = float(input("Angka pertama: ")) b = float(input("Angka kedua: ")) if pilihan == "1": print(f"Hasil: {a + b}") elif pilihan == "2": print(f"Hasil: {a - b}") elif pilihan == "3": print(f"Hasil: {a * b}") elif pilihan == "4": if b != 0: print(f"Hasil: {a / b}") else: print("Error: Pembagian nol!") else: print("Pilihan tidak valid") # Jalankan program kalkulator()

Contoh: Game Tebak Angka

# Game Tebak Angka import random def game_tebak_angka(): angka_rahasia = random.randint(1, 100) percobaan = 0 print("=== GAME TEBAK ANGKA ===") print("Tebak angka antara 1-100!") while True: try: tebakan = int(input("Masukkan tebakan: ")) percobaan += 1 if tebakan == angka_rahasia: print(f"🎉 BENAR! Angka adalah {angka_rahasia}") print(f"Anda menebak dalam {percobaan} percobaan") break elif tebakan < angka_rahasia: print("📈 Terlalu kecil! Coba lagi") else: print("📉 Terlalu besar! Coba lagi") except ValueError: print("Masukkan angka yang valid!") # Jalankan game game_tebak_angka()

Iklan 728x90 - Pasang Kode AdSense Anda Di Sini

Iklan 728x90 - Pasang Kode AdSense Anda Di Sini

Quiz Python