LIST DAN TUPLES
STRUKTUR DATA
• Dalam kuliah ini akan dijelaskan konsep baru, yaitu struktur
data
• Struktur data adalah koleksi dari elemen-elemen data (misal,
karakter, bilangan, atau struktur data yang lain), dengan urutan tertentu
• Struktur data paling sederhana di dalam Python adalah sekuen
(urutan). setiap komponen dari sekuen, diberi identitas nomer urutan, yang menyatakan posisi, yang disebut indeks.
STRUKTUR DATA
• Di dalam Python, indeks pertama diberi nomer 0 (nol)
• Indeks kedua, 2 adalah 1, indeks ke 3 adalah 2 dst
• Python memiliki 6 tipe sekuen yang sudah build-in, dan kita
akan belajar 2 tipe saja hari ini, yaitu list dan tuple
• Perbedaan mendasar keduanya adalah, list dapat diubah isi dan
urutannya, sedangkan tuple tidak bisa !
• Contoh list
• >>> wiwit = [ ‘Wiwit Suryanto’, 42]
• >>> haidar = [‘Haidar Pramudito, 11]
• >>> database = [wiwit haidar]
• >>> database
OPERASI DASAR SEKUEN
• Ada banyak operasi dasar untuk sebuah sekuen, diantaranya
• (1) peng-indeks-an
• (2) pemotongan
• (3) penambahan
• (4) pengalian
PENG-INDEKS-AN
• Setiap elemen dalam sebuah sekuen adalah (secara otomatis) dinomeri, dari nol
dan seterusnya.
• Kita dapat mengakses secara individual, dengan memberi identitas nomer tersebut • >>> salam = ‘Selamat Pagi’
• >>> salam[0]= • >>>’S’
• >>> salam[10] = • >>>’g’
PENG-INDEKS-AN
• >>> salam[10] =
• >>>’g’
• >>> Perbuatan seperti diatas disebut peng-indeks-an.
• Jika kita menggunakan bilangan negatif, artinya, Python megurutkan
dari belakang
• >>> salam[-1] • >>>’i’
PENG-INDEKS-AN
• Di dalam Python, pengindeksan dapat langsung dilakukan saat
itu juga ketika kita memanggil sebuah fungsi, misalnya kita akan mengambil bilangan ke empat dalam tahun,
• >>> keempat = raw_input(‘Tahun : ‘)[3]
• >>> Tahun: 2015 • >>> keempat
PENG-INDEKS-AN
• Contoh, menerjemahkan tanggal, bulan tahun dalam bahasa
inggris
• > Tahun : 1974
• > Bulan: 8
• > Hari : 16
PENGIRISAN, SLICING
• Untuk mengakses sejumlah elemen, digunakan range indeks dengan
tanda titik2, :
• >>> tag = ‘<a href=”http://www.python.org”> Python website </a>’
• >>> tag[9:30]
• ‘http://www.python.org’
• tag[32:-4]
PENGIRISAN, SLICING
• Mudah, bukan?• Jadi, perhatikan sekali lagi bahwa indeks pertama adalah elemen yang hendak
diikutkan dalam irisan
• bilangan = [1,2,3,4,5,6,7,8,9,10] • bilangan[3:6]
• [4,5,6]
• bilangan[0:1] • [1]
CONTOH
• Buatlah program untuk mendapatkan nama domain dari link
website yang di-inputkan
• Masukkan nama tautan (URL) : http://www.google.com
• Nama domain : google
• . • .
LONGER STEPS
• bilangan[0:10:1]• [1,2,3,4,5,6,7,8,9,10]
• pada contoh diatas, ditambah satu bilangan di belakang sendiri, yaitu ukuran
langkahnya, dalam hal ini 1
• bilangan[0,10,2] • [1,3,5,7,9]
• bilangan[::4] • [1,5,9]
• Ukuran langkah tidak boleh nol, tapi boleh negatif • bilangan[8:3:-1] • [9,8,7,6,5] • bilangan[10:0,-2] • [10,8,6,4,2] • bilangan[:5:-2]
MENAMBAH URUTAN
• [1,2,3]+[4,5,6] • [1,2,3,4,5,6] • ‘Halo, ‘ + ‘dunia!’ • ‘Hallo, dunia!’ • [1,2,3] + ‘dunia’PERKALIAN
• ‘python’ * 5 • pythonpythonpythonpythonpython • [42] * 10 • [42, 42, 42, 42, 42, 42, 42, 42, 42, 42] • urutan = [kosong] * 9 • urutanKEANGGOTAAN
• >>> permission = ‘rw’ • >>> ‘w’ in permission • True • >>> ‘x’ in permission • False• # periksa nama pemakai dan kode PINnya • database = [ • [‘albert’, ‘1234’], • [‘dilbert’, ‘4242’], • [‘smith’, ‘7524’], • [‘jones’, ‘9843’] • ]
• username = raw_input(‘Nama pengguna : ‘) • pin = raw_input(‘kode PIN :’)
PANJANG, MIN, MAX
• bilangan = [100, 34, 678] • len(bilangan) • 3 • min(bilangan) • 34 • max(bilangan) • 678 • max(2,3) • 3 • min(9,3,2,5) • 2FUNGSI LIST
• Sering kali kita memerlukan untuk mengubah sebuah string
menjadi list. Dalam Python ada fungsi list
• >>> list(‘Hello’)
• [‘H’, ‘e’, ‘l’, ‘l’, ‘o’]
• Sebaliknya, list dari beberapa karakter dapat diubah menjadi
string dengan perintah >>> ‘ ‘.join(bebarapakarakter)
OPERASI DASAR LIST
• mengubah list • >>> x = [1, 1, 1] • >>> x[1] = 2 • >>> x • [1, 2, 1] • menghapus elemen• >>> nama = [‘wiwit’, ‘iwan’, ‘nukman’, ‘afif ’,”Nu’ma”] • >>> del nama[4]
• >>> nama
MENETAPKAN KARAKTER
• Pengirisan merupakan fitur canggih dalam Python, dan menjadi semakin lebih baik karena kita dapat menetapkan sebuah karakter atau nilai di pada irisan. Dalam Matlab hal ini bisa dilakukan, namun agak tricky ...
• >>> nama = list(‘Pascal’) • >>> nama[1:]=list(‘ython’] • >>> nama • [‘P’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’] • >>> bilangan = [1, 5] • >>> bilangan[1:1] = [2, 3, 4] • >>> bilangan • >>> [1, 2, 3, 4,5] • >>> bilangan[1:4]=[] • [1, 5]
METODE-METODE LIST
• Dalam Python, metode adalah sebuah fungsi, yang terikat oleh sebuah obyek,
baik itu berupa list, bilangan, string atau apapun, defaultnya dibelakang
• Cara memanggilnya: obyek.method(argumen) • metode 1, append
• lst=[1, 2, 3] • lst.append(4) • lst
METODE-METODE LIST
• metode 2, count
• menghitung kejadian dari sebuah elemen dalam list
• >>>[‘to’, ‘be’,’or’,‘not’,’to’,’be’].count(‘to’) • 2 • >>> x = [[1, 2],1, 1, [2, 1, [1, 2]]] • >>> x.count(1) • 2 • >>> x.count([1, 2]) • 1
METODE-METODE LIST
• metode 3, extend
• meng-ekstensi list aslinya • >>> a = [1, 2, 3]
• >>> b = [4, 5, 6] • >>> a.extend(b) • >>>a
• [1, 2, 3, 4, 5, 6]
• atau dapat juga dengan assigning • >>> a[len(a):]=b
METODE-METODE LIST
• metode 4, index
• mencari indeks dari kejadian dalam list
• >>> moto = [‘satu’, ‘nusa’,satu’,‘bangsa’]
• >>> moto.index(‘nusa’)
METODE-METODE LIST
• metode 5, insert
• menyisipkan obyek di dalam list • >>> bilangan = [1, 2, 3, 5, 6, 7] • >>> bilangan.insert(3,‘empat’) • >>> bilangan
• [1, 2, 3, ‘empat’, ‘5’,’6’,’7’] • keren, huh?
METODE-METODE LIST
• metode 6, pop
• menghilangkan elemen di dalam list. Defaultnya elemen terbelaaaaakang. • >>> x = [1, 2, 3] • >>> x.pop() • 3 • >>> x • [1, 2] • >>> x.pop(0) • 1 • >>> x • [2]
METODE-METODE LIST
• metode 7, remove
• menghilangkan elemen di dalam list yang muncul pertama kali.
• >>> x = [‘to’,’be’,‘or’,‘not’,’to’,‘be’]
• >>> x.remove(‘be’)
• >>> x
METODE-METODE LIST
• metode 8, reverse
• membalik elemen di dalam list
• >>> x = [1, 2, 3]
• >>> x.reverse()
• >>> x
METODE-METODE LIST
• metode 9, sort
• mengurutkan elemen di dalam list • >>> x = [4, 6, 2, 1, 7, 9]
• >>> x.sort() • >>> x
• [1, 2, 4, 6, 7, 9] • Namun awas !
METODE-METODE LIST
• metode 9a sort • >>> x = [‘I’,‘want’,’to’] • >>> x.sort(key=len) • >>>x • [‘I’,’to’,‘want’] • >>> x = [4,6,2,1,7,9] • >>> x.sort(reverse=True) • >>> x • [9,7,6,4,2,1]TUPLE, URUTAN TAK
TERGANTI
• sama dengan urutan, namun tak dapat diganti.
• nulisnya sederhana, hanya menulis berurutan dengan koma • jadilah tuple !
• >>> 1, 2, 3 • (1, 2, 3)
• Fungsi tuple >>> tuple([1, 2, 3])