(Pertemuan 06) LIST

LIST

Offline di Departemen Matematika
Author

Tim Dosen Praktikum Algoritma dan Pemrograman

Published

October 1, 2024

Kembali ke Mata Kuliah Praktikum Algoritma dan Pemrograman

1 Oktober 2024 - Pertemuan 6

Materi Pembahasan:

  1. Membuat List

  2. Length/Panjang List

  3. Mengambil/Melihat Elemen pada Indeks Tertentu dari List

  4. Modifikasi Elemen pada List

  5. Menambahkan Elemen ke dalam List

  6. Menghapus Elemen dari List

  7. Perintah: Count(), Index(), Copy(), Clear()

  8. Slicing List

  9. Membangun List dengan Iterasi (For Loop)

  10. List Berisi List

  11. Penjumlahan dan Perkalian List

  12. Diskusi

Praktikum Algoritma dan Pemrograman PTA 2024-2025
Departemen Matematika FMIPA Universitas Indonesia

List merupakan suatu “wadah” untuk menyimpan lebih dari 1 nilai (bisa berbeda jenis tipe data) dalam 1 variabel.

Membuat List

Untuk membuat List digunakan kurung siku dan untuk memisahkan antar elemen digunakan tanda koma.

image.png
var1 = 21
var2 = [20, 21, 29, 4.0]
var2
[20, 21, 29, 4.0]
print(var2)
[20, 21, 29, 4.0]
#list berisi integer
a = [1,2,3,4,5]

#list berisi float
b = [3.15,6.321,321]

#list berisi string
c = ["Rumah","Ayam","Kambing","Sate"]

#list berisi boolean
d = [True,False,False,True,False]

#list berisi campuran tipe data
e = ["Saya",3.14,9,True]

#list kosong
f = []
print(a)
print(b)
print(c)
print(d)
print(e)
print(f)
[1, 2, 3, 4, 5]
[3.15, 6.321, 321]
['Rumah', 'Ayam', 'Kambing', 'Sate']
[True, False, False, True, False]
['Saya', 3.14, 9, True]
[]

Length/Panjang List

Untuk mengetahui panjang atau jumlah elemen dari suatu list dapat digunakan perintah len(nama list)

print(len(a))
print(len(b))
print(len(c))
print(len(d))
print(len(e))
print(len(f))
5
3
4
5
4
0

Mengambil/Melihat Elemen pada Indeks Tertentu dari List

  • Serupa dengan string, kita juga dapat menampilkan/mengambil elemen dari list pada indeks tertentu dengan cara menuliskan nama list diikuti dengan kurung siku yang diisi oleh indeks yang diinginkan.

  • Indeks 0 merupakan indeks dari elemen urutan pertama dan indeks -1 merupakan indeks dari elemen urutan terakhir. Kemudian, jika dimasukkan indeks yang melebihi jumlah elemen dari list, maka akan terjadi IndexError.

print(a[0])
print(b[1])
print(c[2])
print(d[3])
print(e[-1])
1
6.321
Kambing
True
True
# Untuk melakukan print() setiap elemen dari list, kita dapat menggunakan for loop sebagai berikut.

print(a)
for i in a:
    print(i)
[1, 2, 3, 4, 5]
1
2
3
4
5

Modifikasi Elemen pada List

k = [1,5,9,16,25]
k[1] = 4
print(k)
[1, 4, 9, 16, 25]

Menambahkan Elemen ke dalam List

Cara 1: Metode append()
Metode append(x) akan menambahkan elemen x ke posisi terakhir dari list.

# Misalnya ingin ditambahkan elemen bernilai 49 ke dalam list k pada posisi terakhir

k.append(49)
print(k) #tampilkan hasil perubahan list
[1, 4, 9, 16, 25, 49]

Cara 2: Metode insert()
Metode insert(i, x) akan menambahkan elemen x ke list pada indeks ke-i.

# Misalnya ingin ditambahkan elemen bernilai 36 ke dalam list k pada posisi indeks ke-5

k.insert(5, 36)
print(k) #tampilkan hasil perubahan list
[1, 4, 9, 16, 25, 36, 49]

Menghapus Elemen dari List

Cara 1: Metode pop()
Metode pop(i) akan menghapus elemen dengan indeks-i dari list

m = [1,2,3,4,1,2,1,1]
m.pop(1) #menghapus elemen indeks ke-1
print(m)
[1, 3, 4, 1, 2, 1, 1]

Cara 2: Metode remove()
Metode remove(x) akan menghapus elemen bernilai x dari list.

print(m)
m.remove(1) #menghapus elemen bernilai 1
print(m)
[1, 3, 4, 1, 2, 1, 1]
[3, 4, 1, 2, 1, 1]

Perhatikan bahwa remove(x) hanya menghilangkan elemen bernilai x dengan indeks terkecil

Count( )

Metode count(x) dapat digunakan menghitung banyak elemen bernilai x pada list

print(m)
m.count(1) #menghitung jumlah elemen bernilai 1 dari list m
[3, 4, 1, 2, 1, 1]
3

Index( )

Metode index(x) dapat digunakan untuk mencari indeks elemen bernilai x pertama

print(m)
m.index(1) #mencari index dari elemen bernilai 1 di list m
[3, 4, 1, 2, 1, 1]
2

Kita juga dapat menulis index(x,n) yang akan memberikan indeks elemen x pertama setelah indeks ke n

m.index(1,3)
4

Copy( )

Metode copy() digunakan untuk menyalin list

p = [0, 1, 1.681, 2.71, 3.14]
q = p.copy()
print(p)
print(q)
[0, 1, 1.681, 2.71, 3.14]
[0, 1, 1.681, 2.71, 3.14]

Clear( )

Metode clear() digunakan untuk menghapus semua elemen yang ada dilist sehingga memebuat list tersebut menjadi list kosong

p.clear()
print(p)
[]

Slicing List

a = [-2, 3.14, 4, "saya"]
# Mengambil elemen dari awal/indeks ke-0 hingga n-1

a[:2]
[-2, 3.14]
# Mengambil elemen dari indeks ke-n hingga akhir

a[1:]
[3.14, 4, 'saya']
# Mengambil elemen dari indeks ke-n hingga m-1

a[1:3]
[3.14, 4]

Membangun List dengan Iterasi (For Loop)

Misalnya ingin dibuat list yang berisi bilangan 1 sampai 20. Jika dibuat dengan mengetik secara manual akan melelahkan. Ada cara praktis, yaitu dengan menggunakan iterasi dengan for loop.

# Cara 1

m = []
for i in range(1,21):
    m.append(i)
print(m)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
# Cara 2

n = [i for i in range(1,21)]
print(n)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

Nested Lists

c = [ [1,3,2] , [2,3,"Kambing"] , [4,2,"ayam"] ]
print(c)
[[1, 3, 2], [2, 3, 'Kambing'], [4, 2, 'ayam']]
print(c[0])
print(c[1])
print(c[1][2])
[1, 3, 2]
[2, 3, 'Kambing']
Kambing
# Perhatikan bahwa ukuran dari isi list tidak harus sama

d = [[1,"Sapi",3,4],["Ayam",4.31],[3.22]]
print(d[0])
print(d[1][0])
print(d[2])
[1, 'Sapi', 3, 4]
Ayam
[3.22]
  • Pada list, hanya bisa melakukan penjumlahan dan perkalian dengan integer.

  • Tidak bisa melakukan pengurangan, perkalian dengan pecahan/float.

Penjumlahan List

Penjumlahan list bukan berarti menambahkan setiap elemen dengan indeks yang sama. Namun, penjumlahan list akan “menempelkan” semua isi list kedua ke list pertama secara berurutan.

a = [1,2,3]
b = [4,5,6]
a+b
[1, 2, 3, 4, 5, 6]
a + [4, 5]
[1, 2, 3, 4, 5]
x = [1,"sapi",3,4]
y = [3.14,2,"Ayam"]
x+y
[1, 'sapi', 3, 4, 3.14, 2, 'Ayam']

Perkalian List dengan Integer

Perkalian list dengan integer juga bukan berarti mengalikan setiap elemen dengan integer yang diinginkan. Namun, perkalian list dengan integer akan membuat isi list berulang sebanyak integer yang diinginkan.

5*a
[1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3]
3*x
[1, 'sapi', 3, 4, 1, 'sapi', 3, 4, 1, 'sapi', 3, 4]

Rangkuman

image.png

image.png

Diskusi 1

Sebuah matrix \(A\) berukuran \(n \times n\). Buatlah program untuk menghitung trace dari \(A\), yaitu jumlah elemen diagonal matrix \(A\).

A = [[1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]]

# lanjutkan...

Diskusi 2

Selesaikan soal berikut menggunakan program Python.

image.png
A = [[3,2,5,],
    [7,4,3]]

P = [1] * len(A)

for i in range(len(A)):
    j = 1
    K = A[i][j]

    while j < len(A[i]) - 1:
          if A[i][j+1] < K:
              K = A[i][j + 1]

          j += 1

    P[i] = K
print ("Output P:", P)
Output P: [2, 3]

Diskusi 3

Perbaiki kesalahan dari kode berikut.

A = [i for A in range(1, 101)]
K = []

for i in A
  if i % 4 == 0
        K_append(i)
print(K)
SyntaxError: expected ':' (<ipython-input-35-25701df9311f>, line 4)

Diskusi 4

Ada daftar buah : apel, jeruk, pisang, mangga, dan anggur. Carilah apakah buah pepaya ada di dalam daftar buah yang ada dalam list dan urutkanlah buah sesuai dengan urutan abjad. Tuangkan ke dalam bentuk kode program sederhana menggunakan python.