lumakoo-list-python
Pada pembahasan seri ke #5 kita telah mempelajari tipe data dan variabel di python. Akan tetapi, kita hanya mempelajari dasar-dasarnya saja alias tipe data sederhana.

Nah, dipertemuan seri ke #6 ini kita akan mengambil beberapa pelajaran tentang tipe data koleksi (collection) pada python.

Apa maksud dari tipe data koleksi?

Ia adalah suatu jenis atau tipe data digunakan untuk menghimpun kumpulan data, atau data yang berjumlah  lebih dari satu.

Secara keseluruhan, terdapat 4 tipe data koleksi pada python. Diantaranya:

  • List
  • Tuple
  • Set
  • Dictionary

Masing-masing dari 4 tipe data di atas memiliki sifat dan funsi masing-masing. Agar kita tahu kapan lita membutuhkan tipe data a dan kapan kita membutuhkan tipe data b, maka kita harus mempalajarinya satu-persatu.

Dan pada pertemuan ini, kita akan mencoba terlebih dahulu berkenalan dengan tipe data list pada python.

Tipe Data List

Tipe data list adalah tipe data koleksi yang bersifat ordered (terurut) dan juga bersifat changeble (bisa diubah). Tipe data ini bisa kita definisikan dengan tanda kurung siku [] di dalam python.

Jangan kebanyakan teori, oke langsung aja kita praktek.

Bagaimana Cara Membuat List?

Langsung aja buka pycharm atau teks editor kalian, lalu tulis kode berikut:

# list kosong
list_kosong = []

#list yang berisi kumpulan string
jenis_kucing = ['Ragdoll', 'Scottish fold', 'Somali', 'Persians']

# list kumpulan integer
nilai = [60, 70, 80, 90, 100]

#list campuran
biodata = ['Saqeela', 90, 33.33, False]

seperti yang sudah kita bahas, list didefinisikan menggunakan tanda kurung siku [] dan bisa berisi berbagai macam tipe data, seperti string, integer, float, double, boolean, object dsb. Kita juga bisa mengisi tipe data sejenis maupun dari tipe data yang berbeda-beda tentunya.

Menampilkan List

Lalu bagaiamana cara kita menampilkan list, kita bisa menggunakan perintah print() untuk melihat isi dari sebuah list, baik secara menyeluruh maupun sebagian.

Pada kode program diatas tambahkan kode berikut untuk menampilkan semua isi list:

print('List kosong = ', list_kosong)
print('List jenis kucing = ', jenis_kucing)
print('List nilai = ', nilai)
print('List biodata = ', biodata)

dan apabila kita jalankan programnya, maka outpunya seperti berikut:

lumakoo-list

Selain itu kita bisa menampilkan beberapa bagian list menurut indeks (nilai integer di dalam list yang dimulai dari 0). Kita ilustrasikan sebagai gambar berikut:

lumako-list-lpython

No indeks tersebut yang kita butuhkan untuk mengambil isi (item) di dalam list.

Contoh:

Kita hanya membutuhkan item nama atau indeks ke-0 di dalam list biodata, maka kita bisa membuat program seperti berikut, 

lumakoo-list-python

selain itu kita juga bisa indeks negatif untuk menampilkan list dari urutan belakang, seperti:

print(list_buah[-1])
print(list_buah[-2])
print(list_buah[-3])
print(list_buah[-4])
Dengan catatan:

Indeks negatif tidak dimulai dari angka nol, akan tetapi dimulai dari angka 1, apabila kita ingin mencetak variabel nama berarti perintahnya print(biodata[-4])

Menampilkan list di dalam string

Untuk menampilakan item list didalam string kita bisa menggunakan fungsi {} diikuti dengan .format().

Sebagai contoh:

list_buah = ['Durian', 'Apel', 'Cerry', 'Belimbig']
print('Buah kesukaan: {}'.format(list_buah[0]))
Output:

lumakoo-list-format

Slicing List

Slicing list adalah teknik untuk memotong nilai pada variabel list.

Maksudnya adalah, ketika kita mau mengambil beberapa nilai pada list dengan mendefinisikan indeks kiri dan indeks kanan.

Berikut contohnya:

list_buah = ['Apel', 'Belimbing', 'Cerry', 'Durian']

print(list_buah[0:1])
print(list_buah[0:2])
print(list_buah[1:3])
print(list_buah[0:-1])
print(list_buah[-1:-3])
print(list_buah[-1:3])
print(list_buah[-3:-1])
Jika kita eksekusi, maka outputnya adalah:

lumakoo-list

Keterangan:

  • Parameter indeks sebelah kiri mendefinisikan awal indeks dari nilai yang akan di tampilkan.
  • Parameter indeks sebelah kanan mendefinisikan batas yang harus di tampilkan (tidakk dimasukan dalam hitungan).

Slicing tanpa batas

Kita juga bisa melakukan slicing data tanpa mendefinisikan indeks batas. Coba perhatikan contoh berikut:

list_buah = ['Apel', 'Belimbing', 'Cerry', 'Durian']

print(list_buah[0:])
print(list_buah[1:])
print(list_buah[2:])
print(list_buah[3:])
print(list_buah[:0])
print(list_buah[:1])
print(list_buah[:2])
print(list_buah[:3])
print(list_buah[:4])
Kode program diatas akan menghasilkan output berikut:

lumakoo-list

Mengubah data di dalam list

Pada awal pembahasan, dikatakan bahwa list adalah tipe data yang bersifat changable alias bisa diubah.

Lalu bagaimana cara mengubah data di dalam variabel list?

Caranya mudah, seperti mengubah nilai variabel pada umumnya, seperti berikut:

list_buah = ['Apel', 'Belimbing', 'Cerry', 'Durian']
print(list_buah) # ubah data pertama list_buah[0] = 'Jeruk' print(list_buah) # ubah data terakhir list_buah[-1] = 'Mangga' print(list_buah)

Output:

lumakoo-list

Mengubah data di dalam range

Di dalam python kita juga bisa mengubah data di dalam range tertentu secara sekaligus. Caranya tidak jauh berbeda dengan apa yang telah kita pelajari pada slicing data list.

Pada kode program diatas, tambahkan lagi kode program berikut:

# ubah data dalam range
list_buah[1:3] = ['Naga', 'Pepaya']

print(list_buah)
Maka kita akan mendapatkan hasil output Belimbing dan durian akan berubah menjadi Naga dan Pepaya.

lumakoo-list

Menambah item ke dalam list

Setelah kita menubah data pada list, sekarang kita akan mencoba untuk menambahkan sebuah data baru ke dalam list.

Terdapat tiga metode (method) atau fungsi yang bisa digunakan untuk menambahkan item list:

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

Menambah data di belakang

Yang pertama kita bisa menggunakan fungsi append().

Fungsi ini menerima satu parameter, yang mana parameter tersebut akan dimasukan sebagai nilai baru pada list, dan nilai baru tersebut berada pada nilai terakhir.

list_buah = ['Apel', 'Belimbing', 'Cerry', 'Durian']
print(list_buah)

# tambah data di belakang list
list_buah.append('Sirsak')
print(list_buah)
Berikut hasil outputnya:

lumakoo-list

Menambah data di depan

Selain fungsi prepend(), kita juga bisa nmenambahkan item ke dalam list dengan fungsi insert(). Fungsi ini menerima dua buah parameter:

  1. Parameter pertama untuk mendefinisikan posisi indeks dari data yang akan dimasukkan
  2. Parameter yang kedua untuk mendefinisikan nilai yang akan dimasukkan ke dalam list

Berikut ini contoh untuk memasukan item 'Jambu' ke dalam list_buah pada indeks 0.

list_buah = ['Apel', 'Belimbing', 'Cerry', 'Durian']
print(list_buah)

# tambah data di awal list
list_buah.insert(0, 'Jambu')
print(list_buah)
Dan hasilnya adalah:

lumakoo-list

Menambahkan data dimanapun

Tidak hanya terbatas indeks 0, kita juga bisa memasukan nilai pada indeks berapapun pada list.

list_buah = ['Apel', 'Belimbing', 'Cerry', 'Durian']
print(list_buah)


# tambah data di index mana pun dalam list
list_buah.insert(2, 'Manggis')
print(list_buah)

lumakoo-list

Menghapus item dari list

Untuk menghapus item dari list, kita bisa menggunakan dua buah funsi, fungsi pop() dan fungsi remove(), kita juga bisa menggunakan statement del.

Menghapus item dengan fungsi pop()

Fungsi pop() akan mengambil item terakhir dari sebuah list, lalu menghapus. Karena ia juga "mengambil", maka kita bisa menyimpan hasil kembalian dari fungsi pop() ke dalam sebuah variabel.

Perhatikan contoh berikut:

list_buah = ['Apel', 'Belimbing', 'Cerry', 'Durian']
print(list_buah)

# hapus satu item di belakang
item_yang_terhapus = list_buah.pop()

print('item yang terhapus:', item_yang_terhapus)
print(list_buah)
Output dari kode program diatas adalah:

lumakoo-list-pop

Menghapus dengan funsi remove()

Selanjutnya dalah fungsi remove(), fungsi ini akan menghapus data yang memiliki nilai yang sama dengan parameter yang dimasukan.

Perhatikan contoh berikut:

list_buah = ['Apel', 'Belimbing', 'Cerry', 'Durian']
print(list_buah) # hapus item pertama dengan nilai 'Apel' list_buah.remove('Jambu') print(list_buah)
Output:

lumakoo-list-remove

Menghaspus dengan statement del

Selanjutnya kita juga bisa menghapus item pada list dengan menggunakan statement del. Dengan statement ini kita bisa menghapus indeks berapapun dari  item list.

Perhatikan contoh berikut:

list_buah = ['Apel', 'Belimbing', 'Cerry', 'Durian']
print(list_buah) del list_buah[1] print(list_buah) del list_buah[0:2] print(list_buah)

 Output:

lumakoo-list-del

Menggabungkan dua buah list atau lebih

Berikutnya hal umum yang bisa kita lakukan dengan list adalah menggabungkan dua list (atau lebih) menjadi satu kesatuan.

Bisa jadi kita memiliki 3 list berikut:

a = [1, 2, 3]
b = ['a']
c = [True, 'b', False]

Kita bisa menggabungkan ketiganya menggunakan operator +.

listBaru = a + b + c

Program diatas akan menghasilkan:

lumakoo-merge-list

Mengurutkan data

Terakhir pada seri ke #6 ini, kita bisa mengurutkan data list pada python dengan memanggil fungsi <list>.short().

Perhatikan contoh berikut:

list_buah = ['Durian', 'Cerry', 'Apel', 'Belimbing']
print(list_buah)

# urutkan secara ascending
list_buah.sort()
print(list_buah)

# membalikkan posisi item list (tidak harus berurut)
list_buah.reverse()
print(list_buah)

Output:

lumakoo-list-sort

Fungsi-fungsi bawaan list

Masih ada banyak sekali fungsi-fungsi list pada python yang belum kita bahas.

Secara umum, beriukut ini diantara fungsi-fungsi yang kita bisa manfaatkan untuk menyelesaikan berbagai macam permasalahan.

NamaKeterangan
append()Menambahkan elemen baru pada list
clear()Menghapus semua item pada list
copy()Mengembalikan hasil duplikat dari list
count()Mengembalikan jumlah item pada list sesuai yang didefinisikan
index()Mengembalikan indeks pertama dari item yang sudah didefinisikan
insert()Menambahakn item baru pada list pada posisi tertentu
pop()Menghapus item terakhir pada list, atau juga bisa menghapus item pada posisi yang didefinisikan
remove()Hapus item pada list sesuai dengan nilai yang didefinisikan
reverse()Membalikkan posisi tiap item pada list
sort()Mengurutkan list

Setelah lumayan panjang pada seri ini, kita bisa tau banyak fungsi yang terdapat pada variabel list.

Cukup sekian pembahasan pada seri ini, tidak bosan-bosan saya mengingatkan supaya kamu tidak berhenti sampai disini karna kita sudah memiliki tujuan dimana kita belajar python yang sudah jauh belajar.

Dan buat kamu yang belum belajar dari awal, bisa mengunjungi seri sebelumnya.

Saya akhiri sekian.

Terimakasih sudah membaca, jangan lupa praktek.