Anda di halaman 1dari 31

Larik / Array

Konsep Larik, Larik 1 Dimensi dan 2 Dimensi


Definisi Larik (Array)
• Larik (Array) merupakan kumpulan nilai dari tipe sejenis yang diacu
menggunakan satu nama yang sama.
• Setiap nilai yang terdapat di dalam array disebut sebagai elemen array,
yang kemudian dapat diakses berdasarkan indeksnya.
• Gambar berikut menunjukkan array dengan 10 elemen yang bertipe
int, dimana urutan elemen menunjukkan indeksnya (yaitu indeks 0 s/d
9 untuk 10 elemen array)
Konsep Larik
• Larik atau array adalah struktur data fundamental dalam berbagai bahasa
pemrograman, karena struktur data lainnya dapat diimplementasi menggunakan
array sebagai struktur dasar.
• Larik berarti suatu deretan tempat/lokasi/sel yang bisa diisi data, setiap lokasi
dapat diisi satu datum. Abstraksi dari lokasi memori komputer juga menggunakan
larik. Semua bahasa program tingkat tinggi menyediakan struktur larik/array ini.
• Larik dalam bahasan struktur data menunjukkan kumpulan datum yang bertipe
sama/sejenis.
• Dalam python, array (larik) dapat direpresentasikan menggunakan list, sehingga
dapat dilakukan akses dan pencarian elemen array dengan mudah dan cepat.
• Cara lain yang dapat dilakukan untuk mendefinisikan array yaitu menggunakan
kelas array yang tersimpan di dalam modul array.
Deklarasi Larik
menggunakan modul array
• Modul array memiliki sebuah kelas yang juga bernama array. Kelas ini hanya dapat
digunakan untuk mendefinisikan array satu dimensi.
• Python pada hakekatnya tidak memerlukan definisi awal (deklarasi) variabel, tetapi
langsung ke pemberian nilai variabel, sehingga pernyataan untuk contoh array x
yang berisi ‘SAMPLE’ dapat ditulis sebagai:
  x = array('u', ['S','A','M','P','L','E'] )
dimana ‘u’ menyatakan bahwa karakter memakai unicode.
• Contoh lain:
bilangan = array ('i',[2,3,5,7,11,13,17,19])

merupakan larik bernama bilangan bertipe int (integer).


Tabel Kode tipedata array di kelas array
Kode Tipe Tipe C Tipe Python Ukuran
b char int 1 byte
B unsigned char int 1 byte
u unicode char unicode 2 byte
h short int 2 byte
H unsigned short int 2 byte
i int int 2 byte
I unsigned long 2 byte
l long int 4 byte
L unsigned long long 4 byte
f float float 4 byte
d double float 8 byte
Penggunaan modul array
>>> from array import array #import module array
>>> a = array('i',[1,2,3]) #definisi array
>>> a
array('i', [1, 2, 3])
>>> print(a[0]) #index mulai 0
1
>>> print(a)
array('i', [1, 2, 3])
Menambah Elemen Larik ( append())
• Untuk menangani hal ini kelas array mendefinisikan metode append(), contoh:
>>> from array import array
>>> A = array('i',[3,5,2,6,7])
>>> A
array('i', [3, 5, 2, 6, 7])
>>> print(A)
array('i', [3, 5, 2, 6, 7])
>>> A.append(1)
>>> print(A)
array('i', [3, 5, 2, 6, 7, 1])
>>> A.append(8)
>>> print(A)
array('i', [3, 5, 2, 6, 7, 1, 8])
>>>
• Perhatikan bahwa metode append() hanya dapat digunakan untuk menambahkan satu elemen larik, sehingga
jika terdapat dua elemen yang akan ditambahkan maka perlu dilakukan pemanggilan metode append() sebanyak
dua kali.
Menambah Elemen Larik ( extend())

• Untuk memudahkan penambahan beberapa elemen larik (lebih


dari satu), metode extend()dapat digunakan, contoh:
>>> from array import array
>>> b = array('i',[3,5,2,6,7])
>>> print(b)
array('i', [3, 5, 2, 6, 7])
>>> b.extend([1,8])
>>> print(b)
array('i', [3, 5, 2, 6, 7, 1, 8])
Menambah Elemen Larik (insert())
• Selain append() dan extend(), juga dapat digunakan metode
insert() untuk menyisipkan elemen ke dalam larik pada indeks
yang diinginkan, contoh:
>>> from array import array
>>> c = array('i',[3,5,2,6,7])
>>> print(c)
array('i', [3, 5, 2, 6, 7])
>>> c.insert(2,1) # 2 adalah indeks dimana data disisipkan
>>> print(c)
array('i', [3, 5, 1, 2, 6, 7])
Mengubah Elemen Larik
• Melakukan pengubahan nilai terhadap elemen larik dapat dilakukan
dengan mengacu langsung ke index-nya, contoh:
>>> from array import array
>>> d = array('i',[3,5,2,6,7])
>>> print(d)
array('i', [3, 5, 2, 6, 7])
>>> d[2] = 1
>>> print(d)
array('i', [3, 5, 1, 6, 7])
Menghapus Elemen Larik (remove())
• Untuk melakukan penghapusan terhadap nilai tertentu dari larik dapat
dilakukan dengan menggunakan metode remove(), contoh:
>>> from array import array
>>> e = array('i',[3,5,2,6,7])
>>> print(e)
array('i', [3, 5, 2, 6, 7])
>>> e.remove(6)
>>> print(e)
array('i', [3, 5, 2, 7])
Menghapus Elemen Larik (pop() dan del())

• Jika yang akan dihapus adalah elemen terakhir larik, dapat digunakan
metode pop(), contoh:
>>> print(e)
array('i', [3, 5, 2, 7])
>>> x = e.pop()
>>> print(x)
7

• Untuk menghapus elemen pada urutan/indeks tertentu, gunakan fungsi


del(), contoh:
>> print(e)
array('i', [3, 5, 2])
>> del(e[1])
>> print(e)
array('i', [3, 2])
Membalik Urutan Elemen Larik (reverse())
• Untuk melakukan kegiatan ini, kelas array telah
menyiapkan metode reverse(), contoh:
>>> from array import array
>>> g = array('i',[3,5,2,6,7])
>>> print(g)
array('i', [3, 5, 2, 6, 7])
>>> g.reverse()
>>> print(g)
array('i', [7, 6, 2, 5, 3])
Mengurutkan Elemen Larik
• Untuk melakukan pengurutan terhadap elemen larik, dapat dilakukan dengan menciptakan fungsi
sebagai berikut:
>>> def urutkan(a):
for i in range(0,len(a)-1):
for j in range(len(a)-1, i, -1):
if a[j] < a[j-1]:
#pertukarkan elemen lariknya

a[j], a[j-1] = a[j-1], a[j]


Adapun contoh penggunaan fungsi tersebut diatas adalah sbb:
>>> from array import array
>>> f = array('i',[3,5,2,6,7])
>>> print(f)
array('i', [3, 5, 2, 6, 7])
>>> urutkan(f) #memanggil fungsi pengurutan
>>> print(f)
array('i', [2, 3, 5, 6, 7])
Pembuatan Struktur Data Array 1D

Tiga tahapan membangun/membuat suatu struktur, yaitu:


1. Tahap Spesifikasi: mendeskripsikan model struktur data yang akan
dibangun, bagaimana unit data disimpan, untuk apa struktur data
ini (apa manfaatnya).
2. Tahap Implementasi: menyatakan cara penerapan struktur data
berdasarkan struktur data dasar yang tersedia. Pada tahap ini
didefinisikan ADT dari struktur data tersebut.
3. Tahap Pemrograman: memilih bahasa program yang akan
digunakan didalam realisasi struktur data. Membuat prosedur dan
fungsi untuk melaksanakan fungsi-fungsi ADT.
Spesifikasi
• Nama struktur data ini adalah: Array (perhatikan bahwa larik ini diberi
nama Array, huruf depan A adalah huruf besar untuk membedakan
dengan class array yang memakai huruf kecil a). Merupakan struktur
untuk menyimpan sederetan data sejenis, dimana setiap datum dapat
diakses melalui indeks-nya dalam larik.
Implementasi
Array direncanakan memiliki ADT sebagai berikut:
• Array(size) : inisialisasi array berukuran size.
contoh: A = Array(7) # inisialisasi larik dengan 7 lokasi data
• len() : panjang atau banyak-nya data dalam array
contoh: len(A) # menghasilkan banyaknya data = 7
• getitem(index) : mengambil isi array pada lokasi index
contoh: x = A[5]
• setitem(index, value) : mengganti isi pada lokasi index menjadi value
contoh: A[4] = 10
• clear( value ) : membersihkan larik dan menetapkan semua nilai menjadi value
contoh: A.clear(3) # semua value array A bernilai 3
• iterator() : menciptakan objek iterasi untuk larik
• fromList(L) : menyalin isi list L kedalam array
• fromString(Str) : menyimpan nilai ord dari setiap huruf dalam string Str
Pemrograman

• Inisialisasi suatu objek dilakukan dengan mendefinisikan fungsi bernama __init__(), dimana
argumen-nya adalah size, dan dipersyaratkan agar size > 0 (perhatikan instruksi assert).
• Objek array ini dibentuk berdasarkan tipe data fundamental pyton, yaitu ctype, sehingga
ukuran-nya adalah: ctype.py_object dikali size. Ketika Array diberi size=0 atau negatif maka
instruksi “assert size > 0” memastikan bahwa size harus > 0, bila tidak maka muncul error
“Array size must be > 0”.
• Contoh pemakaian adalah:
B = Array(10) # membentuk B sebagai larik dengan 10 elemen
Metode/fungsi lainnya
Metode/fungsi lainnya ..
Metode/fungsi lainnya ...
Class _ArrayIterator
Contoh
Pembuatan Struktur Data Array 2D

Spesifikasi: Array 2D adalah larik yang memiliki baris dan kolom,


sehingga setiap elemen dapat diakses melalui dua
indeks, misalnya: A(1,3) adalah elemen pada baris 1
dan kolom 3.
Implementasi
Abstraksi ADT dari larik 2D :
• Array2D(nrows, ncols) : inisialisasi larik 2D dengan nrows baris dan ncols
kolom, nilai awal diisi None
• numRows() : fungsi untuk memperoleh jumlah baris

• numCols() : fungsi untuk memperoleh jumlah kolom

• clear(value) : menginisialisasi dengan semua data bernilai value

• getitem(b, k) : mengambil data pada baris-b dan kolom-k

contoh: y = M[b,k]
• setitem(b, k, value) : mengganti nilai data pada baris-b dan kolom-k

contoh: M[b,k] = value


Pemrograman
Implementasi array 2D dalam program memakai array 1D sehingga membentuk Array
dari Array
..

Contoh
Matriks
• Matriks adalah larik dua dimensi, yang menunjukkan sekumpulan bilangan
yang disusun secara baris dan kolom, atau biasa disebut dengan ordo
(banyaknya baris (m) dan banyaknya kolom (n)).
• Contoh defenisi matriks:
>>> matriksA = Array2D(2,3) #mendefinisikan matriks 2 x 3
>>> matriksA[0][0] = 4 #mengisi matriks
>>> matriksA[0][1] = 6
>>> matriksA[0][2] = 2
>>> matriksA[1][0] = 3
>>> matriksA[1][1] = 7
>>> matriksA[1][2] = 5
>>> matriksA.dispArr2D() #mencetak isi matriks
Thank You :)

Anda mungkin juga menyukai