Lewati ke konten utama

Tutorial Struktur Data Python

Berkenalan dengan struktur data Python: pelajari lebih lanjut tentang tipe data dan struktur data primitif maupun non-primitif, seperti string, list, stack, dll.
Diperbarui 28 Sep 2026  · 15 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Struktur data adalah cara mengorganisasi dan menyimpan data sehingga dapat diakses dan digunakan secara efisien. Struktur data menentukan hubungan antar data, serta operasi yang dapat dilakukan pada data tersebut. Ada banyak jenis struktur data yang didefinisikan untuk memudahkan data scientist dan insinyur komputer berfokus pada gambaran besar untuk memecahkan masalah yang lebih besar alih-alih tersesat dalam detail deskripsi dan akses data.

Dalam tutorial ini, Anda akan mempelajari berbagai struktur data Python dan melihat bagaimana penerapannya:

  • Tipe Data Abstrak dan Struktur Data
  • Struktur Data Primitif
    • Integer
    • Float
    • String
    • Boolean
  • Struktur Data Non-Primitif
    • Array
    • List
    • Tuple
    • Dictionary
    • Set
    • File

diagram

Dalam kursus gratis Intro to Python for Data Science, Anda dapat mempelajari lebih lanjut penggunaan Python secara khusus dalam konteks data science. Kursus ini memberikan pengenalan konsep dasar Python. Dengan itu, Anda akan menemukan method, fungsi, dan paket NumPy.

Tipe Data Abstrak dan Struktur Data

Seperti yang Anda baca di pengantar, struktur data membantu Anda berfokus pada gambaran besar alih-alih tersesat dalam detail. Ini dikenal sebagai abstraksi data.

Sekarang, struktur data sebenarnya adalah implementasi dari Abstract Data Types atau ADT. Implementasi ini memerlukan pandangan fisik terhadap data menggunakan beberapa konstruksi pemrograman dan tipe data dasar.

Secara umum, dalam ilmu komputer struktur data dapat dibagi menjadi dua kategori: struktur data primitif dan non-primitif. Yang pertama adalah bentuk paling sederhana untuk merepresentasikan data, sedangkan yang kedua lebih canggih: mereka berisi struktur data primitif di dalam struktur data yang lebih kompleks untuk tujuan khusus.

Struktur Data Primitif

Ini adalah struktur data yang paling primitif atau dasar. Mereka adalah blok bangunan untuk manipulasi data dan berisi nilai data yang murni dan sederhana. Python memiliki empat tipe variabel primitif:

  • Integer
  • Float
  • String
  • Boolean

Di bagian berikutnya, Anda akan mempelajari lebih lanjut tentangnya!

Integers

Anda dapat menggunakan integer untuk merepresentasikan data numerik dan, lebih spesifiknya, bilangan bulat dari negatif tak hingga hingga tak hingga, seperti 4, 5, atau -1.

Float

"Float" adalah singkatan dari 'floating point number'. Anda dapat menggunakannya untuk bilangan rasional, biasanya diakhiri dengan angka desimal, seperti 1.11 atau 3.14.

Lihat DataCamp Light Chunk berikut dan coba beberapa operasi integer dan float!

eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6IiMgRmxvYXRzXG54ID0gNC4wXG55ID0gMi4wXG5cbiMgQWRkaXRpb25cbnByaW50KHggKyB5KVxuXG4jIFN1YnRyYWN0aW9uXG5wcmludCh4IC0geSlcblxuIyBNdWx0aXBsaWNhdGlvblxucHJpbnQoeCAqIHkpXG5cbiMgUmV0dXJucyB0aGUgcXVvdGllbnRcbnByaW50KHggLyB5KVxuXG4jIFJldHVybnMgdGhlIHJlbWFpbmRlclxucHJpbnQoeCAlIHkpIFxuXG4jIEFic29sdXRlIHZhbHVlXG5wcmludChhYnMoeCkpXG5cbiMgeCB0byB0aGUgcG93ZXIgeVxucHJpbnQoeCAqKiB5KSJ9

Catatan bahwa di Python, Anda tidak harus secara eksplisit menyatakan tipe variabel atau data Anda. Itu karena Python adalah bahasa bertipe dinamis. Bahasa bertipe dinamis adalah bahasa di mana tipe data yang dapat disimpan suatu objek bersifat mutable.

String

String adalah kumpulan huruf, kata, atau karakter lainnya. Di Python, Anda dapat membuat string dengan menutup urutan karakter dalam sepasang tanda kutip tunggal atau ganda. Misalnya: 'cake', "cookie", dll.

Anda juga dapat menerapkan operasi + pada dua atau lebih string untuk menggabungkannya, seperti pada contoh di bawah:

x = 'Cake'
y = 'Cookie'
x + ' & ' + y
'Cake & Cookie'

Berikut beberapa operasi dasar lain yang dapat Anda lakukan dengan string; Misalnya, Anda dapat menggunakan * untuk mengulangi string sejumlah kali tertentu:

# Repeat
x * 2
'CakeCake'

Anda juga dapat melakukan slicing pada string, yang berarti Anda memilih bagian dari string:

# Range Slicing
z1 = x[2:]  
print(z1)
# Slicing
z2 = y[0] + y[1]
ke
Co

Catatan bahwa string juga dapat berupa karakter alfanumerik, tetapi operasi + tetap digunakan untuk menggabungkan string.

x = '4'
y = '2'
x + y
'42'

Python memiliki banyak method bawaan atau fungsi pembantu untuk memanipulasi string. Mengganti substring, membuat huruf pertama kapital pada kata tertentu dalam sebuah paragraf, menemukan posisi sebuah string di dalam string lain adalah beberapa manipulasi string yang umum. Coba lihat beberapa di antaranya:

Kapitalisasi string

str.capitalize('cookie')

'Cookie'

Ambil panjang sebuah string dalam karakter. Perhatikan bahwa spasi juga dihitung dalam hasil akhir:

str1 = "Cake 4 U"
str2 = "404"
len(str1)
8

Periksa apakah sebuah string hanya terdiri dari digit

str1.isdigit()
False
str2.isdigit()
True

Ganti bagian dari string dengan string lain

str1.replace('4 U', str2)
'Cake 404'

Temukan substring di string lain; Mengembalikan indeks atau posisi terendah dalam string tempat substring ditemukan:

str1 = 'cookie'
str2 = 'cook'
str1.find(str2)
0
      Substring

'cook'

      ditemukan di awal

'cookie'

      . Akibatnya, Anda merujuk ke posisi dalam

'cookie'

      tempat Anda menemukan substring tersebut. Dalam kasus ini,

0

    dikembalikan karena Anda mulai menghitung posisi dari 0!
str1 = 'I got you a cookie'
str2 = 'cook'
str1.find(str2)
12
      Serupa, substring

'cook'

      ditemukan pada posisi 12 dalam

'I got you a cookie'

    . Ingat bahwa Anda mulai menghitung dari 0 dan spasi juga dihitung sebagai posisi!

Anda dapat menemukan daftar lengkap method string di Python di sini.

Boolean

Tipe data bawaan ini dapat bernilai: True dan False, yang sering membuatnya dapat dipertukarkan dengan integer 1 dan 0. Boolean berguna dalam ekspresi kondisional dan perbandingan, seperti pada contoh berikut:

x = 4
y = 2
x == y
False
x > y
True
x = 4
y = 2
z = (x==y) # Ekspresi perbandingan (Bernilai false)
if z: # Kondisional berdasarkan nilai benar/salah dari 'z'
    print("Cookie")
else: print("No Cookie")
No Cookie

Konversi Tipe Data

Terkadang, Anda akan bekerja pada kode orang lain, dan Anda perlu mengonversi integer ke float atau sebaliknya, misalnya. Atau mungkin Anda mengetahui bahwa Anda telah menggunakan integer padahal yang Anda butuhkan adalah float. Dalam kasus seperti itu, Anda dapat mengonversi tipe data variabel!

Untuk memeriksa tipe suatu objek di Python, gunakan fungsi bawaan type(), seperti pada baris kode di bawah ini:

i = 4.0
type(i)
float

Saat Anda mengubah tipe suatu entitas dari satu tipe data ke tipe lainnya, ini disebut "typecasting". Ada dua jenis konversi data yang mungkin: implisit yang disebut koersi dan eksplisit, yang sering disebut casting.

Konversi tipe data implisit

Ini adalah konversi data otomatis, dan kompiler yang menangani ini untuk Anda. Lihat contoh berikut:

# A float
x = 4.0 

# An integer
y = 2 

# Divide `x` by `y`
z = x/y

# Check the type of `z`
type(z)
float

Pada contoh di atas, Anda tidak perlu secara eksplisit mengubah tipe data y untuk melakukan pembagian bernilai float. Kompiler melakukannya untuk Anda secara implisit.

Mudah, bukan!

Konversi tipe data eksplisit

Jenis konversi tipe data ini ditentukan pengguna, yang berarti Anda harus secara eksplisit memberi tahu kompiler untuk mengubah tipe data entitas tertentu. Pertimbangkan potongan kode di bawah ini untuk memahaminya sepenuhnya:

x = 2
y = "The Godfather: Part "
fav_movie = y + x
---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

<ipython-input-51-b8fe90df9e0e> in <module>()
      1 x = 2
      2 y = "The Godfather: Part "
----> 3 fav_movie = y + x


TypeError: Can't convert 'int' object to str implicitly

Contoh di atas menghasilkan error karena kompiler tidak memahami bahwa Anda mencoba melakukan penggabungan atau penjumlahan akibat tipe data yang bercampur. Anda memiliki integer dan string yang coba Anda jumlahkan bersama.

Ada ketidakcocokan yang jelas.

Untuk mengatasinya, Anda terlebih dahulu perlu mengonversi int menjadi string agar dapat melakukan penggabungan.

Catatan bahwa tidak selalu mungkin mengonversi satu tipe data ke tipe lainnya. Beberapa fungsi konversi data bawaan yang dapat Anda gunakan di sini adalah: int(), float(), dan str().

x = 2
y = "The Godfather: Part "
fav_movie = (y) + str(x)
print(fav_movie)
The Godfather: Part 2

Struktur Data Non-Primitif

Tipe non-primitif adalah anggota yang lebih canggih dalam keluarga struktur data. Mereka tidak hanya menyimpan satu nilai, melainkan koleksi nilai dalam berbagai format.

Dalam dunia ilmu komputer tradisional, struktur data non-primitif dibagi menjadi:

  • Array
  • List
  • File

Array

Pertama, array di Python adalah cara ringkas untuk mengumpulkan tipe data dasar, semua entri dalam sebuah array harus memiliki tipe data yang sama. Namun, array tidak terlalu populer di Python, berbeda dengan bahasa pemrograman lain seperti C++ atau Java.

Secara umum, ketika orang membicarakan array di Python, mereka sebenarnya merujuk pada list. Namun, ada perbedaan mendasar di antara keduanya, dan Anda akan melihatnya sebentar lagi. Untuk Python, array dapat dianggap sebagai cara yang lebih efisien untuk menyimpan jenis list tertentu. Jenis list ini memiliki elemen dengan tipe data yang sama.

Di Python, array didukung oleh modul array dan perlu diimpor sebelum Anda mulai menginisialisasi dan menggunakannya. Elemen yang disimpan dalam sebuah array dibatasi tipe datanya. Tipe data ditentukan saat pembuatan array dan ditentukan menggunakan kode tipe, yaitu satu karakter seperti I yang Anda lihat pada contoh di bawah:

import array as arr
a = arr.array("I",[3,6,9])
type(a)
array.array

Halaman dokumentasi Python Array menyediakan informasi lebih lanjut tentang berbagai kode tipe yang tersedia dan fungsionalitas yang disediakan oleh modul array.

List

List di Python digunakan untuk menyimpan koleksi item heterogen. List bersifat mutable, yang berarti Anda dapat mengubah isinya tanpa mengubah identitasnya. Anda dapat mengenali list dari tanda kurung siku [ dan ] yang menampung elemen yang dipisahkan dengan koma ,. List sudah bawaan di Python: Anda tidak perlu memanggilnya secara terpisah.

x = [] # Empty list
type(x)
list
x1 = [1,2,3]
type(x1)
list
x2 = list([1,'apple',3])
type(x2)
list
print(x2[1])
apple
x2[1] = 'orange'
print(x2)
[1, 'orange', 3]

Catatan: seperti yang Anda lihat pada contoh di atas dengan x1, list juga dapat berisi item homogen dan karenanya memenuhi fungsionalitas penyimpanan array. Ini baik-baik saja kecuali Anda ingin menerapkan beberapa operasi spesifik pada koleksi ini.

Python menyediakan banyak method untuk memanipulasi dan bekerja dengan list. Menambahkan item baru ke list, menghapus beberapa item dari list, dan mengurutkan atau membalik list adalah manipulasi list yang umum. Mari lihat beberapa di antaranya:

  • Tambahkan 11 ke list list_num dengan append(). Secara default, angka ini akan ditambahkan ke akhir list.
list_num = [1,2,45,6,7,2,90,23,435]
list_char = ['c','o','o','k','i','e']

list_num.append(11) # Add 11 to the list, by default adds to the last position
print(list_num)
[1, 2, 45, 6, 7, 2, 90, 23, 435, 11]
  • Gunakan insert() untuk menyisipkan 11 pada indeks atau posisi 0 di list list_num
list_num.insert(0, 11)
print(list_num)
[11, 1, 2, 45, 6, 7, 2, 90, 23, 435, 11]
  • Hapus kemunculan pertama 'o' dari list_char dengan bantuan remove()
list_char.remove('o') 
print(list_char)
['c', 'o', 'k', 'i', 'e']
  • Hapus item pada indeks -2 dari list_char
list_char.pop(-2) # Removes the item at the specified position
print(list_char)
['c', 'o', 'k', 'e']
list_num.sort() # In-place sorting
print(list_num)
[1, 2, 2, 6, 7, 11, 11, 23, 45, 90, 435]
list.reverse(list_num)
print(list_num)
[435, 90, 45, 23, 11, 11, 7, 6, 2, 2, 1]

Jika Anda ingin tahu lebih banyak tentang list di Python, Anda dapat dengan mudah menelusuri tutorial 18 Pertanyaan List Python Paling Umum!

Array vs. List

Sekarang Anda telah melihat list di Python, Anda mungkin bertanya-tanya mengapa Anda memerlukan array sama sekali. Alasannya adalah karena keduanya berbeda secara fundamental dalam hal operasi yang dapat dilakukan pada keduanya. Dengan array, Anda dapat dengan mudah melakukan operasi pada semua itemnya secara individual, yang mungkin tidak terjadi pada list. Berikut ilustrasinya:

array_char = array.array("u",["c","a","t","s"])
array_char.tostring()
print(array_char)
array('u', 'cats')

Anda dapat menerapkan fungsi tostring() dari array_char karena Python mengetahui bahwa semua item dalam sebuah array memiliki tipe data yang sama dan karenanya operasi berperilaku sama pada setiap elemen. Dengan demikian, array dapat sangat berguna saat menangani kumpulan besar tipe data homogen. Karena Python tidak harus mengingat detail tipe data tiap elemen secara individual; untuk beberapa penggunaan, array mungkin lebih cepat dan menggunakan lebih sedikit memori dibandingkan list.

Perlu juga disebutkan array NumPy saat kita membahas topik array. Array NumPy sangat banyak digunakan di dunia data science untuk bekerja dengan array multidimensi. Mereka lebih efisien daripada modul array dan list Python secara umum. Membaca dan menulis elemen dalam array NumPy lebih cepat, dan mereka mendukung operasi "vektorisasi" seperti penjumlahan elemen per elemen. Selain itu, array NumPy bekerja efisien dengan dataset sparse yang besar. Untuk mempelajari lebih lanjut, lihat Python Numpy Array Tutorial dari DataCamp.

Berikut beberapa kode untuk memulai dengan NumPy Array:

import numpy as np

arr_a = np.array([3, 6, 9])
arr_b = arr_a/3 # Performing vectorized (element-wise) operations 
print(arr_b)
[ 1.  2.  3.]
arr_ones = np.ones(4)
print(arr_ones)
[ 1.  1.  1.  1.]
multi_arr_ones = np.ones((3,4)) # Creating 2D array with 3 rows and 4 columns
print(multi_arr_ones)
[[ 1.  1.  1.  1.]
 [ 1.  1.  1.  1.]
 [ 1.  1.  1.  1.]]

Secara tradisional, struktur data list dapat dikategorikan lebih lanjut menjadi struktur data linear dan non-linear. Stacks dan Queues disebut "struktur data linear," sedangkan Graphs dan Trees adalah "struktur data non-linear." Struktur dan konsep ini bisa relatif kompleks namun digunakan secara luas karena kemiripannya dengan model dunia nyata. Anda akan mendapatkan gambaran sekilas tentang topik-topik ini dalam tutorial ini.

Catatan: dalam struktur data linear, item data diorganisasi secara berurutan atau, dengan kata lain, linear. Item data dilintasi secara seri satu per satu dan semua item data dalam struktur data linear dapat dilintasi selama satu kali putaran. Namun, dalam struktur data non-linear, item data tidak diorganisasi secara berurutan. Artinya elemen dapat terhubung ke lebih dari satu elemen untuk merefleksikan hubungan khusus di antara item-item tersebut. Semua item data dalam struktur data non-linear mungkin tidak dapat dilintasi selama satu kali putaran.

Stacks

Stack adalah wadah objek yang dimasukkan dan dihapus sesuai konsep Last-In-First-Out (LIFO). Bayangkan skenario di pesta makan malam ada tumpukan piring, piring selalu ditambah atau diambil dari bagian atas tumpukan. Dalam ilmu komputer, konsep ini digunakan untuk mengevaluasi ekspresi dan parsing sintaks, penjadwalan algoritme/routine, dll.

Stack dapat diimplementasikan menggunakan list di Python. Saat Anda menambahkan elemen ke stack, ini disebut operasi push, sedangkan saat Anda menghapus atau membuang elemen disebut operasi pop. Catatan bahwa Anda sebenarnya memiliki method pop() yang dapat digunakan saat Anda bekerja dengan stack di Python:

# Bottom -> 1 -> 2 -> 3 -> 4 -> 5 (Top)
stack = [1,2,3,4,5] 
stack.append(6) # Bottom -> 1 -> 2 -> 3 -> 4 -> 5 -> 6 (Top)
print(stack)
[1, 2, 3, 4, 5, 6]
stack.pop() # Bottom -> 1 -> 2 -> 3 -> 4 -> 5 (Top)
stack.pop() # Bottom -> 1 -> 2 -> 3 -> 4 (Top)
print(stack)
[1, 2, 3, 4]

Queue

Queue adalah wadah objek yang dimasukkan dan dihapus menurut prinsip First-In-First-Out (FIFO). Contoh nyata yang sangat baik dari queue adalah antrean di loket tiket di mana orang dilayani sesuai urutan kedatangan, dan karena itu orang yang datang pertama juga yang pertama pergi. Queue dapat memiliki banyak jenis.

List tidak efisien untuk mengimplementasikan queue, karena append() dan pop() dari akhir list tidak cepat dan menimbulkan biaya perpindahan memori. Selain itu, penyisipan di akhir dan penghapusan dari awal list tidak begitu cepat karena memerlukan pergeseran posisi elemen.

Graphs

Graf dalam matematika dan ilmu komputer adalah jaringan yang terdiri dari node, juga disebut simpul, yang mungkin terhubung atau tidak satu sama lain. Garis atau jalur yang menghubungkan dua node disebut edge. Jika edge memiliki arah aliran tertentu, maka itu adalah graf berarah, dengan edge berarah disebut arc. Jika tidak ada arah yang ditentukan, graf disebut graf tak berarah.

Ini mungkin terdengar sangat teoretis dan bisa menjadi cukup kompleks saat Anda menggali lebih dalam. Namun, graf adalah konsep penting, terutama dalam data science, dan sering digunakan untuk memodelkan masalah kehidupan nyata. Jejaring sosial, studi molekul dalam kimia dan biologi, peta, dan sistem rekomendasi semuanya mengandalkan prinsip graf dan teori graf.

Di sini, Anda akan menemukan implementasi graf sederhana menggunakan Python Dictionary untuk membantu Anda memulai:

graph = { "a" : ["c", "d"],
          "b" : ["d", "e"],
          "c" : ["a", "e"],
          "d" : ["a", "b"],
          "e" : ["b", "c"]
        }

def define_edges(graph):
    edges = []
    for vertices in graph:
        for neighbour in graph[vertices]:
            edges.append((vertices, neighbour))
    return edges

print(define_edges(graph))
[('a', 'c'), ('a', 'd'), ('b', 'd'), ('b', 'e'), ('c', 'a'), ('c', 'e'), ('e', 'b'), ('e', 'c'), ('d', 'a'), ('d', 'b')]

Anda dapat melakukan banyak hal menarik dengan graf, seperti mencoba mencari apakah ada jalur antara dua node atau menemukan jalur terpendek antara dua node, menentukan siklus dalam graf.

"Traveling salesman problem" yang terkenal pada dasarnya adalah tentang menemukan rute terpendek yang mengunjungi setiap node tepat sekali dan kembali ke titik awal. Terkadang node atau arc dalam graf diberi bobot atau biaya, Anda dapat menganggap ini sebagai tingkat kesulitan untuk dilalui, dan Anda tertarik menemukan jalur termurah atau termudah.

Trees

Pohon di dunia nyata adalah makhluk hidup dengan akar di tanah dan cabang yang menahan daun serta buah di udara terbuka. Cabang-cabang pohon menyebar dengan cara yang agak teratur. Dalam ilmu komputer, pohon digunakan untuk menggambarkan bagaimana data terkadang diorganisasi, hanya saja akarnya di bagian atas dan cabang serta daun mengikutinya, menyebar ke bawah dan pohon digambar terbalik dibandingkan pohon nyata.

Untuk memperkenalkan sedikit notasi, akar selalu berada di bagian atas pohon. Menjaga metafora pohon, node lain yang mengikuti disebut cabang dengan node terakhir di setiap cabang disebut daun. Anda dapat membayangkan setiap cabang sebagai pohon yang lebih kecil. Akar sering disebut induk dan node yang dirujuk di bawahnya disebut anak. Node dengan induk yang sama disebut saudara. Sekarang Anda mengerti mengapa ini juga disebut pohon keluarga?

Pohon membantu mendefinisikan skenario dunia nyata dan digunakan di mana-mana mulai dari dunia gim hingga merancang parser XML dan juga prinsip desain PDF didasarkan pada pohon. Dalam data science, 'Pembelajaran Berbasis Decision Tree' sebenarnya membentuk area penelitian yang besar. Banyak metode terkenal seperti bagging, boosting menggunakan model pohon untuk menghasilkan model prediktif. Gim seperti catur membangun pohon besar dengan semua kemungkinan langkah untuk menganalisis dan menerapkan heuristik guna memutuskan langkah optimal.

Anda dapat mengimplementasikan struktur pohon dengan menggunakan dan menggabungkan berbagai struktur data yang telah Anda lihat sejauh ini dalam tutorial ini. Namun, demi kesederhanaan, topik ini akan dibahas di pos lain.

diagram

class Tree:
    def __init__(self, info, left=None, right=None):
        self.info = info
        self.left  = left
        self.right = right

    def __str__(self):
        return (str(self.info) + ', Left child: ' + str(self.left) + ', Right child: ' + str(self.right))

tree = Tree(1, Tree(2, 2.1, 2.2), Tree(3, 3.1))
print(tree)
1, Left child: 2, Left child: 2.1, Right child: 2.2, Right child: 3, Left child: 3.1, Right child: None

Anda telah mempelajari tentang array dan juga melihat struktur data list. Namun, Python menyediakan banyak mekanisme pengumpulan data yang berbeda, dan meskipun mungkin tidak termasuk dalam topik struktur data tradisional dalam ilmu komputer, mekanisme ini patut diketahui terutama terkait dengan bahasa pemrograman Python:

  • Tuple
  • Dictionary
  • Set

Tuples

Tuple adalah tipe data urutan standar lainnya. Perbedaannya dengan list adalah tuple bersifat immutable, yang berarti setelah didefinisikan Anda tidak dapat menghapus, menambah, atau menyunting nilai di dalamnya. Ini berguna dalam situasi di mana Anda mungkin ingin menyerahkan kendali kepada orang lain namun tidak ingin mereka memanipulasi data dalam koleksi Anda, melainkan hanya melihatnya atau melakukan operasi secara terpisah pada salinan data.

Mari lihat bagaimana tuple diimplementasikan:

x_tuple = 1,2,3,4,5
y_tuple = ('c','a','k','e')
x_tuple[0]
1
y_tuple[3]
x_tuple[0] = 0 # Cannot change values inside a tuple
---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

<ipython-input-74-b5d6da8c1297> in <module>()
      1 y_tuple[3]
----> 2 x_tuple[0] = 0 # Cannot change values inside a tuple


TypeError: 'tuple' object does not support item assignment

Dictionary

Dictionary adalah yang Anda butuhkan jika Anda ingin mengimplementasikan sesuatu yang mirip dengan buku telepon. Tidak ada struktur data yang telah Anda lihat sebelumnya yang cocok untuk buku telepon.

Di sinilah dictionary berguna. Dictionary tersusun dari pasangan key-value. key digunakan untuk mengidentifikasi item dan value menampung, sesuai namanya, nilai dari item tersebut.

x_dict = {'Edward':1, 'Jorge':2, 'Prem':3, 'Joe':4}
del x_dict['Joe']
x_dict
{'Edward': 1, 'Jorge': 2, 'Prem': 3}
x_dict['Edward'] # Prints the value stored with the key 'Edward'.
1

Anda dapat menerapkan banyak fungsionalitas bawaan lainnya pada dictionary:

len(x_dict)
3
x_dict.keys()
dict_keys(['Prem', 'Edward', 'Jorge'])
x_dict.values()

dict_values([3, 1, 2])

Kode ini menunjukkan contoh penggunaan Python dictionary untuk menyimpan dan mengakses pasangan key-value.

Pertama, kode memanggil fungsi len() dengan x_dict sebagai argumen. Ini mengembalikan jumlah pasangan key-value dalam dictionary, yaitu 3.

Berikutnya, kode memanggil method keys() pada x_dict. Ini mengembalikan objek view yang berisi key dalam dictionary. Dalam kasus ini, key-nya adalah 'Prem', 'Edward', dan 'Jorge', seperti yang ditunjukkan output.

Lalu, kode memanggil method values() pada x_dict. Ini mengembalikan objek view yang berisi value dalam dictionary. Dalam kasus ini, valuenya adalah 3, 1, dan 2, masing-masing, seperti yang ditunjukkan output.

Sets

Set adalah koleksi objek yang berbeda (unik). Ini berguna untuk membuat daftar yang hanya menampung nilai unik dalam dataset. Ini adalah koleksi yang tidak berurutan tetapi mutable, sangat membantu saat menelusuri dataset yang besar.

x_set = set('CAKE&COKE')
y_set = set('COOKIE')

print(x_set)
{'A', '&', 'O', 'E', 'C', 'K'}
print(y_set) # Single unique 'o'
{'I', 'O', 'E', 'C', 'K'}
print(x - y) # All the elements in x_set but not in y_set
---------------------------------------------------------------------------

NameError                                 Traceback (most recent call last)

<ipython-input-3-31abf5d98454> in <module>()
----> 1 print(x - y) # All the elements in x_set but not in y_set


NameError: name 'x' is not defined
print(x_set|y_set) # Unique elements in x_set or y_set or both
{'C', '&', 'E', 'A', 'O', 'K', 'I'}
print(x_set & y_set) # Elements in both x_set and y_set

{'O', 'E', 'K', 'C'}

Kode membuat dua set: x_set dan y_set. Masing-masing set dibuat dengan memberikan string karakter sebagai argumen ke fungsi set(). Dalam kasus ini, x_set dibuat dari string 'CAKE&COKE', sedangkan y_set dibuat dari string 'COOKIE'.

Berikutnya, kode mencetak masing-masing set menggunakan fungsi print(). Pernyataan print() pertama mencetak x_set, yang berisi karakter unik dalam string 'CAKE&COKE'. Output menunjukkan bahwa x_set berisi karakter 'A', '&', 'O', 'E', 'C', dan 'K'. Demikian pula, pernyataan print() kedua mencetak y_set, yang berisi karakter unik dalam string 'COOKIE'. Output menunjukkan bahwa y_set berisi karakter 'I', 'O', 'E', 'C', dan 'K'.

Pernyataan print() ketiga mencoba mencetak himpunan semua elemen dalam x_set yang tidak ada dalam y_set. Namun, baris kode ini menghasilkan NameError karena variabel x belum didefinisikan. Kemungkinan, baris ini seharusnya berbunyi print(x_set - y_set).

Pernyataan print() keempat mencetak himpunan elemen unik dalam x_set atau y_set, atau keduanya. Output menunjukkan bahwa himpunan hasil berisi semua karakter unik dari x_set dan y_set.

Terakhir, pernyataan print() kelima mencetak himpunan elemen yang ada di x_set dan y_set. Output menunjukkan bahwa himpunan ini berisi karakter 'O', 'E', 'K', dan 'C'.

Files

File secara tradisional merupakan bagian dari struktur data. Dan meskipun big data sudah umum di industri data science, bahasa pemrograman tanpa kemampuan menyimpan dan mengambil informasi yang sebelumnya disimpan hampir tidak akan berguna. Anda tetap harus memanfaatkan semua data yang berada di file di berbagai basis data dan Anda akan mempelajari cara melakukannya.

Sintaks untuk membaca dan menulis file di Python mirip dengan bahasa pemrograman lain namun jauh lebih mudah ditangani. Berikut beberapa fungsi dasar yang akan membantu Anda bekerja dengan file menggunakan Python:

  • open() untuk membuka file di sistem Anda, filename adalah nama file yang akan dibuka;

  • read() untuk membaca seluruh file;

  • readline() untuk membaca satu baris setiap kali;

  • write() untuk menulis string ke file, dan mengembalikan jumlah karakter yang ditulis; Dan

  • close() untuk menutup file.

# File modes (2nd argument): 'r'(read), 'w'(write), 'a'(appending), 'r+'(both reading and writing)
f = open('file_name', 'w')

# Reads entire file
f.read() 

# Reads one line at a time
f.readline() 

# Writes the string to the file, returning the number of char written
f.write('Add this line.') 

f.close()

Argumen kedua dalam fungsi open() adalah mode file. Ini memungkinkan Anda menentukan apakah Anda ingin membaca (r), menulis (w), menambahkan (a) atau membaca dan menulis sekaligus (r+).

Untuk mempelajari lebih lanjut tentang penanganan file di Python, pastikan untuk melihat halaman ini.

Kesimpulan

Selamat telah mencapai akhir tutorial ini! Ini membuat Anda satu topik lebih dekat dengan impian menaklukkan dunia data science.

Jika Anda tertarik, dua bagian Python Data Science Toolbox kami membahas lebih dalam tentang fungsi, iterator, list, dll.

Topik
Python

Kursus Python

Kursus

Pengantar Fungsi di Python

3 jam
472.3K
Pelajari seni menulis fungsi sendiri dalam Python, serta konsep-konsep penting seperti lingkup (scoping) dan penanganan kesalahan (error handling).
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

Lihat SelengkapnyaLihat Selengkapnya