author Ahmad Muhardian

Belajar Python: Mengenal Struktur Data List


Bagaimana caranya menyimpan banyak data dalam satu veriabel?

Jawabannya menggunakan List.

List adalah struktur data pada python yang mampu menyimpan lebih dari satu data, seperti array.

Pada kesempatan ini, kita akan membahas cara menggunakan list di Python dari yang paling sederhana sampai yang sedikit kompleks.

Apa saja poin-poin yang akan dipelajari?

  • Cara Membuat List dan Mengisinya
  • Cara Mangambil nilai dari List
  • Cara Menambahkan dan Menghapus isi List
  • Operasi pada List
  • List multi dimensi

Selamat menyimak…

Cara Membuat List di Python

List dapat kita buat seperti membuat variabel biasa, namun nilai variabelnya diisi dengan tanda kurung siku ([]).

Contoh:

# Membuat List kosong
warna = []

# Membuat list dengan isi 1 item
hobi = ["membaca"]

Apabila list-nya memiliki lebih dari satu isi, maka kita bisa memisahnya dengan tanda koma.

Contoh:

buah = ["jeruk", "apel", "mangga", "duren"]

Jenis data apa saja yang boleh diisi ke dalam List?

list dapat diisi dengan tipe data apa saja, string, integer, float, double, boolean, object, dan sebagainya.

Kita juga bisa mencampur isinya.

Contoh:

laci = ["buku", 21, True, 34.12]

Ada empat jenis tipe data pada list laci:

  1. "buku" adalah tipe data string;
  2. 21 adalah tipe data integer;
  3. True adalah tipe data boolean;
  4. dan 34.12 adalah tipe data float.

Cara Mengambil Nilai dari List

Setelah kita tahu cara membuat dan menyimpan data di dalam List, mari kita coba mengambil datanya.

List sama seperti array, list juga memiliki nomer indeks untuk mengakses data atau isinya.

List dengan Indeks

Nomer indeks list selalu dimulai dari nol (0).

Nomer indeks ini yang kita butuhkan untuk mengambil isi (item) dari list.

Contoh:

# Kita punya list nama-nama buah
buah = ["apel", "anggur", "mangga", "jeruk"]

# Misanya kita ingin mengambil mangga
# Maka indeknya adalah 2
print buah[2]

Akan menghasilkan output:

"mangga"

Horee! dapat mangga. 😄

Latihan 1: Membuat Program dengan List

Untuk memantapkan pemahaman, silahkan coba latihan berikut.

  1. Buat sebuah list untuk menyimpan kenalanmu
  2. Isi list sebanyak 5
  3. Tampilkan isi list indeks nomer 3
  4. Tampilkan semua teman dengan perulangan
  5. Tampilkan panjang list

Mari kita coba…

# Buat list untuk menampung nama-nama teman
my_friends = ["Anggun", "Dian", "Agung", "Adi", "Adam"]

# Tampilkan isi list my_friends dengan nomer indeks 3
print "Isi my_friends indeks ke-3 adalah: {}".format(my_friends[3])

# Tampilkan semua daftar teman
print "Semua teman: ada {} orang".format(len(my_friends))
for friend in my_friends:
    print friend

Pada kode di atas, kita menggunakan fungsi len() untuk mengambil panjang list.

Hasil outputnya:

Isi my_friends indeks ke-3 adalah: Adi
Semua teman: ada 5 orang
Anggun
Dian
Agung
Adi
Adam

Mengganti Nilai List

List bersifat mutable, artinya isinya bisa kita ubah-ubah.

Contoh:

# list mula-mula
buah = ["jeruk", "apel", "mangga", "duren"]
# mengubah nilai index ke-2
buah[2] = "kelapa"

Maka "mangga" akan diganti dengan "kelapa".

["jeruk", "apel", "kelapa", "duren"]

Menambahkan Item List

Tedapat Tiga metode (method) atau fungsi yang bisa digunakan untuk menambahkan isi atau item ke List:

  1. prepend(item) menambahkan item dari depan;
  2. append(item) menambahkan item dari belakang.
  3. insert(index, item) menambahkan item dari indeks tertentu

Prepend dan Append

Contoh:

#list mula-mula
buah = ["jeruk", "apel", "mangga", "duren"]
# Tambahkan manggis
buah.append("manggis")

Hasilnya "manggis" akan ditambahkan setelah item terakhir.

["jeruk", "apel", "mangga", "duren", "manggis"]

Metode yang kedua menggunakan prepend().

Metode prepend() akan menambahkan item dari depan atau awal list.

Contoh:

#list mula-mula
buah = ["jeruk", "apel", "mangga", "duren"]
buah.prepend("anggur")

Maka "anggur" akan ditambahkan pada awal list.

["anggur","jeruk", "apel", "mangga", "duren"]

Selain prepend() dan append() kita juga bisa mengginakan method insert() untuk menambahkan item pada indeks tertentu.

Menambahkan item dengan method insert

Contoh:

#list mula-mula
buah = ["jeruk", "apel", "mangga", "duren"]
buah.insert(2, "duren")

Latihan 2: Membuat Program dengan List

Sekarang mari kita coba membuat program dengan memanfaatkan method prepend() dan append().

Silahkan langsung di ketik dan dicoba.

# Membuat list kosong untuk menampung hobi
hobi = []
stop = False
i = 0

# Mengisi hobi
while(not stop):
    hobi_baru = raw_input("Inputkan hobi yang ke-{}: ".format(i))
    hobi.append(hobi_baru)

    # Increment i
    i += 1
    
    tanya = raw_input("Mau isi lagi? (y/t): ")
    if(tanya == "t"): 
        stop = True


# Cetak Semua Hobi
print "=" * 10 
print "Kamu memiliki {} hobi".format(len(hobi))
for hb in hobi:
    print "- {}".format(hb)

Coba eksekusi dan inputkan sebuah nilai.

petanikode@imajinasi ~ $ python hobi.py 
Inputkan hobi yang ke-0: Membaca
Mau isi lagi? (y/t): y
Inputkan hobi yang ke-1: Menulis
Mau isi lagi? (y/t): y
Inputkan hobi yang ke-2: Main Game
Mau isi lagi? (y/t): y
Inputkan hobi yang ke-3: Ngoding
Mau isi lagi? (y/t): t
==========
Kamu memiliki 4 hobi
- Membaca
- Menulis
- Main Game
- Ngoding

Menghapus Item di List

Untuk menghapus salah satu isi dari List, kita bisa menggunakan perintah del.

Menghapus item di List

Perintah del akan menghapus sebuah variabel dari memori.

Contoh:

# Membuat List
todo_list = [
    "Balajar Python",
    "Belajar Django",
    "Belajar MongoDB",
    "Belajar Sulap",
    "Belajar Flask"
]

# Misalkan kita ingin menghapus "Belajar Sulap"
# yang berada di indeks ke-3
del todo_list[3]

print todo_list

Hasilnya, "Belajar Sulap" akan dihapus:

['Balajar Python', 'Belajar Django', 'Belajar MongoDB', 'Belajar Flask']

Selain menggunakan perintah del, kita juga bisa menggunakan method remove() dengan paramter item yang akan dihapus.

Contoh:

# mula-mula kita punya list
a = ["a", "b", "c", "d"]
# kemudian kita hapus b
a.remove("b")

print a

Hasilnya:

["a", "c", "d"]

Memotong list

Seperti string, list juga dapat dipotong-potong.

Potong List

Contoh:

# Kita punya list warna
warna = ["merah", "hijau", "kuning", "biru", "pink", "ungu"]

# Kita potong dari indeks ke-1 sampai ke-5
print warna[1:5]

Hasilnya:

['hijau', 'kuning', 'biru', 'pink']

Operasi List

Ada beberapa operasi yang bisa dilakukan terhadap List, diantaranya:

  • Penggabungan (+)
  • Perkalian (*)

Contoh:

# Beberapa list lagu
list_lagu = [
    "No Women, No Cry",
    "Dear God"
]

# playlist lagu favorit
playlist_favorit = [
    "Break Out",
    "Now Loading!!!"
]

# Mari kita gabungkan keduanya
semua_lagu = list_lagu + playlist_favorit

print semua_lagu

Hasilnya:

['No Women, No Cry', 'Dear God', 'Break Out', 'Now Loading!!!']

Sedangkan untuk operasi perkalian hanya dapat dilakukan dengan bilangan.

Contoh:

# playlist lagu favorit
playlist_favorit = [
    "Break Out",
    "Now Loading!!!"
]

# ulangi sebanyak 5x
ulangi = 5

now_playing = playlist_favorit * ulangi

print now_playing

Hasilnya:

['Break Out', 'Now Loading!!!', 'Break Out', 'Now Loading!!!', 'Break Out', 'Now Loading!!!', 'Break Out', 'Now Loading!!!', 'Break Out', 'Now Loading!!!']

List Multi Dimensi

Pada contoh-contoh di atas, kita hanya membuat list satu dimensi saja.

List dapat juga memiliki lebih dari satu dimensi atau disebut dengan multi dimensi.

List multi dimensi biasanya digunakan untuk menyimpan struktur data yang kompleks seperti tabel, matriks, graph, tree, dsb.

List Multidimensi

Contoh:

# List minuman dengan 2 dimensi
list_minuman = [
    ["Kopi", "Susu", "Teh"],
    ["Jus Apel", "Jus Melon", "Jus Jeruk"],
    ["Es Kopi", "Es Campur", "Es Teler"]
]

# Cara mengakses list multidimensi
# misalkan kita ingin mengambil "es kopi"
print list_minuman[2][0]

Anka dua 2 pada kode di atas, menujukan indeks list yang akan kita akses. Kemudian setelah dapat list-nya baru kita ambil isinya.

Hasil outputnya:

"Es Kopi"

Bagaimana kalau kita ingin menampilkan semua isi dalam list multi dimensi?

Gampang…

Tinggal gunakan perulangan bersarang.

# List minuman dengan 2 dimensi
list_minuman = [
    ["Kopi", "Susu", "Teh"],
    ["Jus Apel", "Jus Melon", "Jus Jeruk"],
    ["Es Kopi", "Es Campur", "Es Teler"]
]

for menu in list_minuman:
    for minuman in menu:
        print minuman

Hasilnya:

Kopi
Susu
Teh
Jus Apel
Jus Melon
Jus Jeruk
Es Kopi
Es Campur
Es Teler

Apa Selanjutnya?

Sebenarnya masih banyak yang ingin saya bahas terkait tentang list, tapi karena artikel ini sudah cukup panjang… saya akhiri saja sampai di sini.

Selanjutnya silahkan lakukan eksperimen sendiri dengan list atau lanjut ke materi berikutnya.

Terima kasih sudah membaca dan menyimak sampai akhir.

Kalau ada yang ditanyakan, silahkan sampaikan melalui komentar.