Anda di halaman 1dari 23

Algoritma Pemrograman

MUTABILITAS STRING DAN LIST


NISA’UL HAFIDHOH, M.T.
TIM ALPRO – TI S1
Review
Sebelumnya sudah belajar tentang konsep dasar, analisis dan penerapan fungsi rekursif.
Tujuan Pembelajaran
Mahasiswa mampu memahami, menggunakan dan memanipulasi string dan list pada
pemrograman python dengan benar.
String (penjelasan lebih dalam)
String berisi urutan sekuensial karakter-karakter yang case-sensitive
Karakter = ‘a’ , ‘b’ , ‘,’ , ‘/’
Dapat dibandingkan dengan operator ==,>,>=,<,<=
len() merupakan fungsi khusus di python untuk mengevaluasi panjang karakter pada suatu string
◦ Contoh:
S = “Aku”
print(len(S)) #outputnya 3
Peng-indeks-an didalam string
Tanda kurung kotak [ ] digunakan untuk mengambil nilai berdasarkan indeks/posisi.
s= “abc”
Indeks: 012 (indeks selalu dimulai dari 0) atau..
Indeks: -3-2-1 (indeks elemen terakhir adalah -1)
s[0]  menghasilkan nilai karakter ‘a’
s[1]  menghasilkan nilai karakter ‘b’
s[2]  menghasilkan nilai karakter ‘c’
s[3]  error, trying to index out of bounds
s[-1]  menghasilkan nilai karakter ‘c’
s[-2]  menghasilkan nilai karakter ‘b’
s[-3]  menghasilkan nilai karakter ‘a’
Pemotongan (slice) string
Dapat memotong string menggunakan [start:stop:step]
Jika ada dua angka didalam kurung kotak maka [start:stop], nilai step otomatis 1
Contoh:
s = “abcdef123”
s[2:4]  menghasilkan “cd”, sama dengan s[2:4:1]
S[6:]  menghasilkan “123”
s[2:6:2]  menghasilkan “ce”
s[::]  menghasilkan “abcdef123”, sama dengan s[0:len(s):1]
s[::-1]  menghasilkan “321fedcba”, sama dengan s[-1:-(len(s)+1):-1]
s[4:1:-2]  menghasilkan “ec”
Immutability of string
String bersifat immutable yang berarti tidak dapat di modifikasi langsung
s = “hello”
s[0] = “y” (ini error)
s = “y”+s[1:len(s)] (diperbolehkan tetapi s mengikat objek yang baru)
For-loop recap
for <var> in range(4):  var mengulangi nilai 0,1,2,3
<ekspresi>

for <var> in range(2,4):  var mengulangi nilai 2,3


<ekspresi>

Fungsi range adalah cara untuk beralih dengan diberi suatu angka, tetapi untuk for-loop, variabel
dapat beralih pada set nilai apa pun, bukan hanya angka!
String & Loop
Dua kode berikut melakukan hal yang sama.
Yang bawah lebih cocok hanya untuk python.
Contoh Robot Cheers
Latihan String
Cari dan cobalah beberapa pustaka string berikut. Amati hasilnya!

str.capitalize() str.replace(old, new[, count])


str.center(width[, fillchar]) str.lower()
str.endswith(suffix[, start[, end]]) str.rstrip([chars])
str.find(sub[, start[, end]]) str.strip([chars])
str.lstrip([chars]) str.upper()
Lists
List berisi deretan informasi yang terurut yang di akses dengan index.
Suatu list biasanya di simbolkan dengan kurung kotak [ ]
Suatu list terdiri dari elemen-elemen yang:
◦ Biasanya homogen (semua elemennya bertipe sama)
◦ Dapat berisi tipe yang bercampur-campur (tidak umum)

Suatu elemen list dapat dirubah-rubah nilainya, sehingga list adalah mutable
Indeks dan Urutan
Kode Keterangan
L = []  list kosong
L = [2,'a',4,[1,2]]  list yang berisi elemen2
len(L)  fungsi untuk mengecek banyaknya elemen list sehingga
menghasilkan nilai 4
L[0]  Menghasilkan elemen pertama (indeks mulai dari 0) dari
List yaitu 2
L[2]+1  Elemen ketiga + 1 sehingga 4+1 menghasilkan nilai 5
L[3]  menghasilkan list yang lain yaitu [1,2] !
L[4]  Error, karena hanya sampai indeks ke-3
i=2
L[i-1]  Menghasilkan nilai 'a' karena L[1] = 'a'
Merubah elemen
List adalah mutable !
Men-assign pada suatu elemen yang berada pada indeks tertentu akan dapat merubah nilainya:
L = [2, 1, 3]
L[1] = 5

L sekarang bernilai [2, 5, 3], perhatikan bahwa hal ini tetap dilakukan pada objek yang sama
yaitu variabel L
Pengulangan pada elemen list
Misalnya, jumlahkan semua elemen list
Biasa kita buat dengan:

Perhatikan bahwa:
◦ Suatu elemen list terindeks mulai dari 0 sampai len(L)-1
◦ range(n) secara otomatis akan melakukan pengulangan dari 0 sampai n-1
Operasi pada List -- ADD
Tambahkan elemen pada akhir dari list dengan L.append(element)
Mutasi List!

L = [2,1,3]
L.append(5)  L sekarang menjadi [2,1,3,5]

Apa maksud dari titik antara L dan append?


◦ List merupakan objek python, semua di python adalah objek
◦ Objek memiliki data/variabel/properti
◦ Objek memeliki fungsi/method
◦ Akses informasi dengan nama_objek.lakukan_sesuatu()
Operasi pada List -- Concatenation
Untuk menggabungkan list gunakan operator penggabung atau concatenation, yaitu operator +,
dengan demikian list baru akan terbentuk:

L1 = [2,1,3]
L2 = [4,5,6]
L3 = L1 + L2  L3 bernilai [2,1,3,4,5,6]
meskipun demikian L1,L2 tidak berubah

Cara lain mutasi list dengan L.extend(list_lain)


L1.extend([0,6])  list L1 dimutasi menjadi [2,1,3,0,6]
Operasi pada List -- Remove
Hapus elemen list dengan indeks yang ditentukan dengan del(L[indeks])
Hapus elemen terakhir dari list dengan L.pop()
Hapus elemen spesifik dengan L.remove(element)
◦ Lihat elemennya dan hapus
◦ Jika element ditemukan lebih dari satu, hapus yang pertama ketemu
◦ Jika elemen yang di cari tidak ada di list akan memberikan error
Konversi list ke string dan sebaliknya
Konversi suatu string ke list dengan list(<string>), mengembalikan suatu list untuk setiap
karakter dari string sebagai elemen list
Dapat menggunakan s.split(), untuk memisahkan string pada parameter karakter, jika tidak ada
parameternya maka akan dipisah dengan spasi
Gunakan ''.join(L) untuk mengembalikan list dari karakter ke string.
Nested List
Operasi yang lain di List yang dapat
digunakan
sort() dan sorted()
reverse()
sum()
Dan lebih banyak lagi! Kunjungi: https://docs.python.org/3/tutorial/datastructures.html
Beberapa fungsi yang ada HARUS DIPAHAMI tentang algoritma yang digunakan didalamnya.
Kita akan pelajari pada Mata kuliah Algoritma dan struktur data!
Latihan List
Cari dan cobalah minimal 5 operasi lain yang dapat digunakan pada List!
Referensi
Beberapa konten di slide ini terjemahan dari: Introduction to Computer Science and
Programming in Python, MIT, Introduction to Computer Science and Programming in Python,
MIT https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-
introduction-to-computer-science-and-programming-in-python-fall-2016/lecture-slides-
code/MIT6_0001F16_Lec6.pdf
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, Introduction to
Algorithm Third Edition, MIT Press (2009)
Guttag, John. Introduction to Computation and Programming Using Python: With Application to
Understanding Data Second Edition. MIT Press, 2016. ISBN: 9780262529624.

Anda mungkin juga menyukai