Berikut adalah penjelasan lengkap tentang Struktur Data Dasar dalam Python.
✅ 5. Struktur Data Dasar
Struktur data adalah cara untuk menyimpan dan mengelola data dalam program. Python memiliki beberapa struktur data dasar:
| Struktur Data | Sifat | Kegunaan |
|---|---|---|
List ([]) |
Bisa diubah (mutable), berisi berbagai tipe data | Menyimpan banyak elemen dalam satu variabel |
Tuple (()) |
Tidak bisa diubah (immutable), berisi berbagai tipe data | Menyimpan data yang tidak boleh berubah |
Set ({}) |
Unik (tidak ada duplikasi), tidak berurutan | Menyimpan elemen unik, menghilangkan duplikat |
Dictionary ({key: value}) |
Berupa pasangan key-value, tidak berurutan |
Menyimpan data dengan label (key) |
1️⃣ List ([]) - Kumpulan Data yang Bisa Diubah
List adalah struktur data yang dapat diubah (mutable) dan mendukung berbagai tipe data.
🔹 Membuat List
buah = ["apel", "mangga", "jeruk"]
angka = [1, 2, 3, 4, 5]
campuran = [1, "apel", True, 3.5]
🔹 Akses Elemen List
buah = ["apel", "mangga", "jeruk"]
print(buah[0]) # Output: apel (indeks 0)
print(buah[-1]) # Output: jeruk (indeks negatif dari belakang)
🔹 Operasi Dasar List
| Metode | Fungsi |
|---|---|
append(x) |
Menambahkan elemen ke akhir list |
remove(x) |
Menghapus elemen pertama yang ditemukan |
pop(i) |
Menghapus elemen pada indeks i (default terakhir) |
sort() |
Mengurutkan list (hanya untuk angka & string) |
reverse() |
Membalik urutan list |
len() |
Menghitung jumlah elemen dalam list |
📌 Contoh:
angka = [3, 1, 4, 2]
angka.append(5) # Menambah 5 ke akhir
angka.remove(1) # Menghapus angka 1
angka.sort() # Mengurutkan list
print(angka) # Output: [2, 3, 4, 5]
2️⃣ Tuple (()) - Kumpulan Data yang Tidak Bisa Diubah
Tuple mirip dengan list, tetapi tidak dapat diubah (immutable).
🔹 Membuat Tuple
angka = (1, 2, 3, 4)
buah = ("apel", "mangga", "jeruk")
📌 Contoh Akses Elemen Tuple
print(buah[1]) # Output: mangga
📌 Tuple tidak bisa diubah
buah[1] = "pisang" # Error! Tuple bersifat immutable
3️⃣ Set ({}) - Kumpulan Data Unik & Tidak Berurutan
Set digunakan untuk menyimpan elemen unik dan tidak memiliki indeks.
🔹 Membuat Set
angka = {1, 2, 3, 4, 4, 2}
print(angka) # Output: {1, 2, 3, 4} (Duplikat dihapus)
🔹 Operasi Dasar Set
| Metode | Fungsi |
|---|---|
add(x) |
Menambahkan elemen baru |
remove(x) |
Menghapus elemen (error jika tidak ada) |
discard(x) |
Menghapus elemen (tidak error jika tidak ada) |
union(set2) |
Menggabungkan dua set |
intersection(set2) |
Mendapatkan elemen yang sama dari dua set |
difference(set2) |
Elemen yang hanya ada di set pertama |
📌 Contoh:
angka = {1, 2, 3}
angka.add(4)
angka.remove(2)
print(angka) # Output: {1, 3, 4}
📌 Operasi Set (Gabungan & Irisan)
a = {1, 2, 3}
b = {3, 4, 5}
print(a | b) # Union (Gabungan): {1, 2, 3, 4, 5}
print(a & b) # Intersection (Irisan): {3}
print(a - b) # Difference (Selisih): {1, 2}
4️⃣ Dictionary ({key: value}) - Kumpulan Data dengan Label
Dictionary menyimpan data dalam bentuk key-value pair, seperti kamus.
🔹 Membuat Dictionary
data_mahasiswa = {
"nama": "Budi",
"umur": 20,
"jurusan": "Informatika"
}
🔹 Akses Elemen Dictionary
print(data_mahasiswa["nama"]) # Output: Budi
print(data_mahasiswa.get("umur")) # Output: 20
🔹 Operasi Dasar Dictionary
| Metode | Fungsi |
|---|---|
keys() |
Mengembalikan semua key |
values() |
Mengembalikan semua value |
items() |
Mengembalikan semua pasangan key-value |
update({key: value}) |
Memperbarui nilai key |
pop(key) |
Menghapus elemen berdasarkan key |
📌 Contoh:
data_mahasiswa["umur"] = 21 # Mengubah umur
data_mahasiswa["alamat"] = "Jakarta" # Menambahkan alamat
print(data_mahasiswa.keys()) # Output: dict_keys(['nama', 'umur', 'jurusan', 'alamat'])
print(data_mahasiswa.values()) # Output: dict_values(['Budi', 21, 'Informatika', 'Jakarta'])
📌 Kesimpulan
✅ List ([]) digunakan untuk menyimpan banyak data yang bisa diubah
✅ Tuple (()) seperti list, tetapi tidak bisa diubah
✅ Set ({}) menyimpan elemen unik tanpa urutan
✅ Dictionary ({key: value}) menyimpan data dalam pasangan key-value
🔥 Selanjutnya, kita akan belajar tentang Pemrograman Berorientasi Objek (OOP). Mau aku buatkan penjelasannya juga? 🚀
Tidak ada komentar:
Posting Komentar