Kursus
Python adalah salah satu bahasa pemrograman yang paling banyak digunakan pada 2025, terkenal karena kesederhanaan, keterbacaan, dan ekosistem pustaka serta framework untuk data science, kecerdasan buatan, dan pembelajaran mesin.
Selain itu, Python mendukung banyak tipe data, sehingga menjadi alat yang sangat baik untuk menyelesaikan masalah kompleks dan memanipulasi data. Ini membantu pengembang membuat aplikasi yang bermanfaat di dunia nyata.
Dalam blog ramah pemula ini, kita akan melihat tipe data utama di Python. Kita akan mengeksplorasi karakteristik uniknya, kapan menggunakannya, dan memberikan contoh praktis untuk masing-masing.
Gambaran Umum Tipe Data Python
Tipe data di Python terbagi dalam beberapa kategori, masing-masing dirancang untuk menangani jenis data dan operasi tertentu.
Memahami kategori ini bukan hanya latihan teoretis, tetapi juga keterampilan praktis yang akan membantu Anda menulis kode yang efisien dan bebas bug. Memilih tipe data yang benar dapat berdampak signifikan pada penggunaan memori, kecepatan komputasi, dan kejelasan kode.
Mari jelajahi kategori-kategori ini secara rinci, dengan menyoroti kasus penggunaan dan aplikasinya.
Tipe data bawaan
Python menyediakan berbagai tipe data bawaan. Tabel di bawah ini mengategorikan tipe-tipe data tersebut untuk membantu Anda memahami penggunaannya secara sekilas:
|
Kategori |
Tipe data |
|
Numerik |
int, float, complex |
|
Urutan |
str, list, tuple |
|
Pemetaan |
dict |
|
Himpunan |
set, frozenset |
|
Boolean |
bool |
|
NoneType |
NoneType |
Pengetikan dinamis
Python adalah bahasa pemrograman bertipe dinamis, artinya Anda tidak perlu secara eksplisit menyatakan tipe variabel saat mendefinisikannya. Sebagai gantinya, interpreter Python menentukan dan menetapkan tipe secara dinamis berdasarkan nilai yang diberikan ke variabel.
Untuk memahami bagaimana Python berbeda, mari bandingkan dengan bahasa bertipe statis seperti Java.
Di Java, Anda harus secara eksplisit menyatakan tipe setiap variabel, seperti yang ditunjukkan di bawah ini:
int x = 10; // Integer
double y = 10.5; // Float
String z = "Hello"; // String
Sebaliknya, Python memungkinkan Anda menetapkan nilai secara langsung tanpa menentukan tipenya, sehingga lebih fleksibel dan ringkas:
x = 10 # Integer
y = 10.5 # Float
z = "Hello" # String
Namun, fleksibilitas ini mengharuskan Anda waspada terhadap perubahan tipe yang tidak disengaja saat runtime, yang dapat menyebabkan kesalahan.
Pengetikan dinamis adalah salah satu alasan Python begitu populer di kalangan pemula, karena menawarkan keseimbangan antara kesederhanaan dan kekuatan.
Sekarang, mari kita lihat semua tipe data secara rinci.
1. Tipe Data Numerik
Python menawarkan beberapa tipe data numerik untuk menangani berbagai jenis nilai angka.
1.1. Bilangan bulat (int):
Bilangan bulat, positif atau negatif, tanpa komponen pecahan.
Ini adalah nilai numerik dasar yang merepresentasikan hitungan atau pengukuran diskret.
Tidak seperti bilangan floating-point, bilangan bulat bersifat eksak dan tidak melibatkan pendekatan, sehingga ideal untuk skenario di mana presisi penting, seperti pengindeksan atau menghitung item.
age = 25
1.2. Bilangan floating-point (float):
Bilangan dengan titik desimal atau dalam bentuk eksponensial.
Nilai-nilai ini umum digunakan dalam skenario presisi pecahan, seperti perhitungan finansial, pengukuran ilmiah, dan pemrograman grafis.
Bilangan floating-point juga dapat merepresentasikan nilai yang sangat besar atau sangat kecil menggunakan notasi eksponensial, menjadikannya serbaguna untuk berbagai aplikasi numerik.
price = 19.99
1.3. Bilangan kompleks (complex):
Bilangan dengan bagian real dan imajiner. Bilangan kompleks berguna di bidang seperti teknik elektro, fisika, dan pemrosesan sinyal, di mana operasi yang melibatkan bilangan imajiner umum dilakukan.
Python merepresentasikan bilangan kompleks sebagai a + bj, di mana a adalah bagian real, dan b adalah bagian imajiner. Dukungan bawaan ini menyederhanakan perhitungan yang jika tidak, memerlukan pustaka eksternal atau implementasi kustom di bahasa lain.
z = 2 + 3j
2. Tipe Data Urutan
Selain angka, Python juga menyediakan tipe data urutan yang menyimpan koleksi elemen yang berurutan.
2.1. String (str):
Urutan karakter yang berurutan yang diapit oleh tanda petik tunggal atau ganda. String adalah salah satu tipe data paling serbaguna di Python, memungkinkan Anda menyimpan dan memanipulasi data berbasis teks.
String umum digunakan dalam tugas seperti menangani input pengguna, membuat pesan, atau bahkan memproses kumpulan data teks yang besar.
Python menyediakan berbagai metode bawaan, seperti .lower(), .upper(), .replace(), dan .split(), yang membuat bekerja dengan string menjadi sangat efisien.
greeting = "Welcome to Python!"
2.2. List (list):
List adalah koleksi item yang berurutan dan dapat diubah (mutable), yang dapat berisi elemen dari berbagai tipe data.
Fleksibilitas ini menjadikan list salah satu tipe data yang paling sering digunakan di Python, cocok untuk tugas mulai dari penyimpanan sederhana hingga manipulasi data yang kompleks.
List memungkinkan pengubahan ukuran secara dinamis dan mendukung berbagai operasi seperti slicing, menambahkan, dan menghapus elemen, menjadikannya struktur andalan untuk skenario yang membutuhkan data berurutan dan dapat diubah.
fruits = ["apple", "banana", "cherry"]
2.3. Tuple (tuple):
Koleksi item yang berurutan dan tidak dapat diubah (immutable). Tuple sering digunakan untuk menyimpan koleksi data tetap di mana immutability penting, seperti koordinat geografis, kode warna RGB, atau catatan basis data.
Tidak seperti list, tuple tidak dapat dimodifikasi setelah dibuat, yang membuatnya lebih cepat dan lebih aman dalam skenario di mana integritas data sangat penting.
dimensions = (1920, 1080)
3. Tipe Data Pemetaan
Sementara urutan menyimpan koleksi elemen yang berurutan, Python juga menyediakan tipe data pemetaan yang mengasosiasikan kunci dengan nilai. Tipe pemetaan yang paling umum digunakan adalah dictionary.
3.1. Dictionary (dict)
Koleksi pasangan kunci-nilai, di mana kunci bersifat unik dan tidak dapat diubah.
Dictionary sangat serbaguna dan memungkinkan Anda mengatur serta mengambil data secara efisien menggunakan kunci yang bermakna, alih-alih bergantung pada indeks numerik. Ini membuatnya sangat berguna untuk merepresentasikan data terstruktur, seperti objek JSON atau pengaturan konfigurasi.
Dictionary Python juga mendukung berbagai operasi, seperti menambah, memperbarui, atau menghapus pasangan kunci-nilai, menjadikannya alat penting dalam banyak skenario pemrograman.
person = {"name": "Alice", "age": 30}
4. Himpunan
Selain urutan dan pemetaan, Python menyediakan tipe data himpunan, yang menyimpan koleksi elemen unik tanpa urutan tertentu.
4.1. Set (set)
Koleksi elemen unik yang tidak berurutan. Set sangat berguna saat Anda perlu memastikan bahwa data Anda tidak mengandung duplikasi, seperti pada pengujian keanggotaan atau menghapus entri duplikat dari sebuah list.
Set mendukung operasi matematika seperti union, intersection, dan difference, menjadikannya alat yang ampuh untuk menyelesaikan masalah yang melibatkan himpunan data.
unique_numbers = {1, 2, 3, 4, 5}
4.2. Frozen set (frozenset)
Versi set yang tidak dapat diubah, yang berarti setelah dibuat, elemennya tidak dapat dimodifikasi.
Frozen set berguna dalam skenario di mana Anda memerlukan koleksi dapat-di-hash dari item unik, seperti menggunakan set sebagai kunci dalam dictionary atau memastikan integritas data yang tidak boleh berubah.
Mereka mempertahankan semua properti set biasa, seperti mendukung operasi matematika seperti union dan intersection, tetapi dengan manfaat tambahan berupa immutability.
immutable_set = frozenset([1, 2, 3])
Untuk mempelajari lebih lanjut tentang ini, lihat tutorial yang sangat baik tentang Python Sets dan Teori Himpunan.
5. Tipe Data Boolean
Dalam banyak skenario pemrograman, kita memerlukan cara untuk merepresentasikan nilai kebenaran. Python menyediakan tipe data Boolean, yang berperan dalam pengambilan keputusan dan alur kendali.
5.1. Boolean
Nilai logika, yaitu True atau False. Nilai-nilai ini sering digunakan dalam proses pengambilan keputusan, seperti pernyataan kondisional dan loop.
Boolean adalah dasar dari alur kendali dalam pemrograman, memungkinkan Anda menulis kode yang bereaksi secara dinamis berdasarkan kondisi.
Di Python, nilai Boolean juga dapat dihasilkan dari perbandingan (misalnya, 5 > 3 bernilai True) atau operasi logika (misalnya, True and False bernilai False).
is_active = True
6. NoneType
Selain tipe numerik, urutan, pemetaan, himpunan, dan Boolean, Python menyertakan tipe data khusus untuk merepresentasikan ketiadaan nilai.
6.1 None (NoneType)
Merepresentasikan ketiadaan nilai atau nilai null.
Tipe None sering digunakan untuk menandai placeholder, variabel yang belum diinisialisasi, atau nilai kembali (return) bawaan dari fungsi yang tidak secara eksplisit mengembalikan apa pun.
Ini berguna terutama dalam kasus di mana suatu operasi mungkin tidak menghasilkan hasil atau ketika variabel perlu didefinisikan tanpa nilai awal.
result = None
Tipe Data Lanjutan dan Pustaka Eksternal
Di luar tipe bawaan fundamental, Python juga menyediakan tipe data lanjutan untuk menangani kasus penggunaan yang lebih khusus. Mari kita lihat tipe yang paling umum.
1. Objek byte
Objek byte dirancang khusus untuk menangani data biner, termasuk file, multimedia, dan paket jaringan. Tipe data ini sangat berguna saat bekerja dengan data non-teks.
Tipe bytes bersifat tidak dapat diubah, sehingga cocok untuk operasi baca-saja, sedangkan bytearray menyediakan alternatif yang dapat diubah untuk skenario yang memerlukan modifikasi. Tipe memory view memungkinkan akses ke buffer data internal suatu objek tanpa menyalinnya, meningkatkan kinerja pada aplikasi yang intensif memori.
data = b"hello" # Immutable bytes object
mutable_data = bytearray(b"hello") # Mutable bytearray object
view = memoryview(mutable_data) # Memoryview of the bytearray
2. Array NumPy
Array NumPy adalah array multi-dimensi yang sangat efisien yang dirancang untuk komputasi numerik.
Berbeda dengan list Python, array NumPy memberikan kinerja yang lebih unggul dan disesuaikan untuk operasi matematis. Mereka adalah tulang punggung komputasi ilmiah, mendukung tugas seperti aljabar linear, transformasi Fourier, dan analisis statistik.
Array ini mendukung broadcasting, yang memungkinkan operasi pada array dengan bentuk berbeda, semakin meningkatkan keserbagunaannya.
import numpy as np
# Creating a 1D array
data = np.array([1, 2, 3, 4])
# Creating a 2D array
data_2d = np.array([[1, 2], [3, 4]])
# Performing element-wise operations
squared = data ** 2
Jika Anda ingin mempelajari lebih lanjut tentang NumPy, daftarlah ke kursus tingkat pemula gratis Introduction to NumPy ini.
3. Pandas DataFrame
Pandas DataFrame adalah struktur data tabular yang menawarkan alat ampuh untuk manipulasi dan analisis data. Dengan baris dan kolom berlabel, mereka membuat penanganan data terstruktur menjadi intuitif dan efisien.
DataFrame sangat penting dalam alur kerja data science, memungkinkan tugas seperti pemfilteran, pengelompokan, penggabungan, dan pengagregasian kumpulan data besar. Selain itu, mereka terintegrasi mulus dengan pustaka lain, menjadikan pandas sangat penting untuk analisis data modern.
import pandas as pd
# Creating a simple DataFrame
data = pd.DataFrame({"Name": ["Alice", "Bob"], "Age": [25, 30]})
# Filtering rows based on a condition
adults = data[data["Age"] > 18]
# Adding a new column
data["IsAdult"] = data["Age"] > 18
# show data
data

Pandas DataFrame ditampilkan di notebook
Lihat lembar contekan pandas, yang mencakup contoh kode dan menjadi referensi cepat untuk data wrangling dengan pandas.
Jika Anda ingin mempelajari lebih lanjut tentang manipulasi data tingkat lanjut menggunakan Pandas DataFrame, daftarlah ke kursus gratis Data Manipulation with pandas.
Konversi Tipe di Python
Konversi tipe mengacu pada proses mengubah nilai dari satu tipe data ke tipe lain. Dalam pemrograman, ini sering diperlukan untuk memastikan bahwa operasi dilakukan dengan benar dan data dapat dimanipulasi sesuai keinginan.
Penanganan konversi tipe di Python sangat fleksibel, menawarkan metode otomatis (implisit) dan manual (eksplisit).
1. Konversi tipe implisit
Python secara otomatis mengonversi satu tipe data ke tipe lain dalam ekspresi ketika tipe data yang lebih kecil atau kurang presisi digabungkan dengan tipe yang lebih besar atau lebih presisi.
Sebagai contoh, menggabungkan int dengan float menghasilkan float, memastikan tidak ada presisi yang hilang selama perhitungan.
result = 5 + 3.5
print(result)
>>> 8.5 # This is a float
2. Konversi tipe eksplisit
Konversi tipe eksplisit, atau type casting, memungkinkan Anda secara manual mengonversi nilai dari satu tipe data ke tipe lain menggunakan fungsi bawaan seperti int(), float(), str(), dan lainnya.
Ini berguna dalam skenario di mana konversi implisit tidak terjadi atau saat bekerja dengan tipe data seperti string yang perlu secara eksplisit dikonversi untuk operasi numerik.
num = int("10") # Converts string to integer
price = float("19.99") # Converts string to float
text = str(123) # Converts integer to string
Praktik Terbaik Saat Bekerja dengan Tipe Data di Python
Memahami tipe data Python adalah langkah pertama—menggunakannya secara efektif adalah kunci untuk menulis kode yang bersih, efisien, dan mudah dirawat. Berikut beberapa praktik terbaik yang perlu diingat saat bekerja dengan tipe data.
Gunakan tipe spesifik untuk tugas spesifik
Pilih tipe yang selaras dengan tugas Anda. Misalnya, gunakan set ketika Anda perlu mempertahankan elemen unik, list untuk koleksi data berurutan, dan tuple untuk urutan yang tidak dapat diubah.
Membuat pilihan yang tepat tentang tipe data memastikan kode Anda efisien dan lebih mudah dibaca serta dirawat.
Validasi tipe input
Memastikan bahwa data masukan bertipe yang diharapkan dapat mencegah kesalahan runtime dan meningkatkan keandalan kode.
Fungsi isinstance() di Python adalah cara yang langsung untuk memvalidasi tipe. Praktik ini sangat penting dalam aplikasi yang menerima input secara dinamis, seperti dari formulir pengguna atau API.
if not isinstance(age, int):
raise ValueError("Age must be an integer")
Gunakan pustaka untuk tipe yang kompleks
Pustaka Python seperti NumPy dan pandas sangat penting untuk manipulasi dan komputasi data tingkat lanjut.
Seperti yang telah kita lihat, NumPy menawarkan array multi-dimensi yang cepat untuk operasi numerik, sementara pandas unggul dalam menangani dan mentransformasikan data terstruktur secara efisien. Memanfaatkan pustaka ini dapat secara signifikan mengurangi kompleksitas kode Anda dan meningkatkan kinerjanya.
Kesimpulan
Memahami tipe data Python adalah langkah pertama menuju pemrograman dan manipulasi data yang efisien. Tipe data membentuk fondasi dari fleksibilitas Python, memungkinkan Anda menangani berbagai jenis data dengan presisi dan kemudahan.
Dengan mempelajari dasar-dasar tipe bawaan Python ini dan mengeksplorasi pustaka lanjutan seperti NumPy dan pandas, Anda sedang menuju menjadi pengguna Python andal dan memecahkan masalah dunia nyata dalam data science, analitik data, analisis keuangan, kecerdasan buatan, dan banyak lagi!
Jika Anda ingin memperdalam pengetahuan, lihat kursus Introduction to Python for Developers, yang membahas konsep-konsep Python penting secara praktis. Untuk jalur belajar terstruktur yang membangun keterampilan Python Anda dari dasar, pertimbangkan Python Data Fundamentals track.
FAQ
Tipe data Python mana yang harus saya gunakan untuk perhitungan numerik besar?
Untuk perhitungan numerik besar, gunakan float untuk nilai desimal dan int untuk bilangan bulat. Jika Anda memerlukan presisi yang lebih tinggi, pertimbangkan menggunakan modul decimal atau fractions.
Bagaimana tipe data Python memengaruhi penggunaan memori dan kinerja?
Tipe data yang berbeda memiliki jejak memori dan implikasi kinerja yang berbeda. Misalnya, list memerlukan lebih banyak memori daripada tuple karena sifatnya yang dinamis, sementara set menawarkan pencarian yang lebih cepat daripada list untuk kumpulan data besar. Menggunakan tipe yang tepat untuk tugasnya dapat mengoptimalkan kinerja.
Bagaimana Python menangani bilangan bulat besar dibandingkan bahasa lain?
Tidak seperti banyak bahasa dengan tipe integer berukuran tetap, Python secara otomatis mendukung integer presisi-sewenang (int), artinya angka dapat membesar tanpa overflow. Namun, ini dapat menimbulkan overhead kinerja dibandingkan tipe integer lebar tetap di bahasa seperti C atau Java.
Apa cara terbaik untuk menyimpan data terstruktur di Python?
Untuk data terstruktur sederhana, dictionary (dict) sering menjadi pilihan yang baik. Untuk data tabular yang lebih kompleks, disarankan menggunakan pustaka eksternal seperti pandas.DataFrame, karena menyediakan kemampuan manipulasi data yang kuat.
Mengapa saya harus lebih memilih isinstance() daripada type() untuk pemeriksaan tipe?
isinstance(obj, type) mendukung pewarisan, yang berarti secara tepat mengidentifikasi instance dari subclass, sedangkan type(obj) == type hanya mencocokkan tipe yang persis sama. Ini membuat isinstance() lebih fleksibel dan andal dalam pemrograman berorientasi objek.
Apa untung-rugi menggunakan defaultdict vs. dict di Python?
defaultdict (dari modul collections) secara otomatis menginisialisasi kunci yang hilang dengan nilai default, sehingga menghindari KeyError. Ini berguna saat bekerja dengan data berkelompok, tetapi dapat menimbulkan perilaku yang tidak diinginkan jika default tidak ditangani dengan hati-hati.

