Dasar Pemrograman Python #6: Mengenal List, Tuple, Set, dan Dictionary
⚡ INTEL TERKAIT: Analisis Komparatif Lenovo Core i5 vs i7: Evaluasi Arsitektur, Termal, dan Optimalisasi Beban Kerja
Arsitektur Data Komposit dalam Ekosistem Python
Dalam rekayasa perangkat lunak modern, pemilihan struktur data menentukan batas efisiensi komputasi dan manajemen memori sebuah sistem. Python, sebagai bahasa tingkat tinggi yang mendominasi ranah otomasi dan kecerdasan buatan, menyediakan empat tipe data kolektif utama: List, Tuple, Set, dan Dictionary.
Sebagai insinyur perangkat lunak, memahami karakteristik internal, kompleksitas waktu (time complexity), dan jejak memori dari masing-masing struktur ini adalah prasyarat mutlak untuk membangun sistem yang resilien dan berperforma tinggi.
1. List: Mutable Array Berperforma Dinamis
List adalah struktur data sekuensial yang paling sering digunakan. Secara arsitektural, List diimplementasikan sebagai dynamic array (susunan dinamis) dari referensi objek di dalam memori.
- Karakteristik: Ordered (berurutan), mutable (dapat dimodifikasi), dan mengizinkan duplikasi nilai.
- Implikasi Performa:
- Akses elemen berdasarkan indeks (
O(1)) sangat efisien. - Penambahan elemen di akhir (
append) berjalan cepat, namun penyisipan atau penghapusan di awal/tengah memerlukan pergeseran memori (O(n)).
- Akses elemen berdasarkan indeks (
# Inisialisasi arsitektur List
server_cluster = ["node-01", "node-02", "node-03"]
server_cluster.append("node-04") otimal untuk penambahan dinamis
2. Tuple: Immutable Sequence untuk Integritas Sistem
Berbeda dengan List, Tuple dirancang sebagai struktur data yang tidak dapat diubah (immutable) setelah alokasi memori selesai.
- Karakteristik: Ordered, immutable, mengizinkan duplikasi.
- Implikasi Performa: Karena ukuran dan isinya bersifat permanen, Python mengalokasikan memori secara lebih efisien untuk
Tuple. Struktur ini ideal digunakan sebagai konstanta atau kunci dalam dictionary (karena sifatnya yang hashable), menjamin integritas data dari modifikasi runtime yang tidak sah.
# Konfigurasi sistem dengan Tuple (Read-Only)
DATABASE_CONFIG = ("127.0.0.1", 5432, "production_db")
3. Set: Koleksi Unik Berbasis Algoritma Hashing
Set adalah implementasi dari himpunan matematis. Struktur ini tidak mempertahankan urutan elemen dan menolak duplikasi.
- Karakteristik: Unordered, mutable, elemen unik (tidak ada duplikasi).
- Implikasi Performa: Di balik layar,
Setmenggunakan tabel hash (hash table). Hal ini membuat operasi pencarian (membership test dengan operatorin), interseksi, dan union berjalan sangat cepat dengan kompleksitas rata-rataO(1), jauh melampaui performa pencarian linier padaList(O(n)).
# Filter alamat IP unik menggunakan Set
active_connections = {"192.168.1.10", "192.168.1.15", "192.168.1.10"}
print(active_connections) # Output hanya berisi entri unik
4. Dictionary: Key-Value Store Berkecepatan Tinggi
Dictionary (dict) adalah peta asosiatif (associative array) yang memetakan kunci (key) unik ke nilai tertentu (value).
- Karakteristik: Key-value pair, mutable, kunci harus unik dan hashable.
- Implikasi Performa: Seperti
Set,Dictionarydioptimalkan menggunakan tabel hash. Operasi pengambilan, penambahan, dan penghapusan nilai berdasarkan kunci dieksekusi dalam waktu konstanO(1)pada kondisi optimal. Ini adalah fondasi dari penyimpanan cache, indeks database dalam memori, dan deserialisasi JSON.
# Pemetaan status node sistem
system_telemetry = {
"node-01": {"cpu_load": 12.4, "status": "OPTIMAL"},
"node-02": {"cpu_load": 89.1, "status": "CRITICAL"}
}
Matriks Keputusan Arsitektur Data
| Struktur Data | Urutan (Ordered) | Bisa Diubah (Mutable) | Duplikasi | Kompleksitas Pencarian (Lookup) |
|---|---|---|---|---|
| List | Ya | Ya | Ya | O(n) |
| Tuple | Ya | Tidak | Ya | O(n) |
| Set | Tidak | Ya | Tidak | O(1) |
| Dictionary | Ya (Python 3.7+) | Ya | Kunci Unik | O(1) (berdasarkan Key) |
Kesimpulan
Pemilihan struktur data yang tepat dalam Python bukan sekadar masalah sintaksis, melainkan keputusan arsitektural yang berdampak langsung pada latensi dan konsumsi sumber daya perangkat keras. Gunakan List untuk data sekuensial yang dinamis, Tuple untuk data konstan yang aman, Set untuk eliminasi duplikasi berkecepatan tinggi, dan Dictionary untuk pemetaan relasional berkinerja optimal.