Penyaji : Zulkarnaen NS - azoel.files. · PDF fileContoh 3 (manipulasi array 1 dimensi) ......

36
Matakuliah Matakuliah : Struktur Data Struktur Data Versi Versi : 1.0.0 1.0.0 Materi Materi : Larik/ Array Larik/ Array Penyaji Penyaji : Zulkarnaen NS Zulkarnaen NS 1

Transcript of Penyaji : Zulkarnaen NS - azoel.files. · PDF fileContoh 3 (manipulasi array 1 dimensi) ......

Page 1: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

MatakuliahMatakuliah :: Struktur DataStruktur DataVersiVersi :: 1.0.01.0.0

MateriMateri :: Larik/ ArrayLarik/ ArrayPenyajiPenyaji :: Zulkarnaen NSZulkarnaen NS

11

Page 2: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

Larik/ Array

22

Variabel digunakan hanya untuk menyimpan 1 (satu) buah nilai dengan tipe data tertentu. Misalnya:

int a1, a2, a3, a4, a5;

Deklarasi variabel diatas digunakan untuk menyimpan 5 (lima) data integer dimana masing-masing variabel diberi nama a1, a2, a3, a4, dan a5.

Page 3: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

33

Jika data yang dimiliki 10 data, 100 data integer bahkan mungkin data yang ingin diproses tidak diketahui atau bersifat dinamis tidak mungkin menggunakan variabel seperti diatas.

Di dalam JAVA dan pemrograman yang lain, terdapat suatu fasilitas untuk menyimpan data-data yang bertipe data sama dengan suatu nama tertentu.

Page 4: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

Definisi Larik/ Array

44

-Array adalah suatu tipe data terstuktur yang berupa sejumlah data sejenis (bertipe data sama) yang jumlahnya tetap dan diberi suatu nama tertentu.

-Elemen-elemen array tersusun secara sekuensial di dalam memori sehingga memiliki alamat yang berdekatan.

-Array dapat berupa array 1 dimensi, 2 dimensi, bahkan n-dimensi.

-Elemen-elemen array bertipe data sama tapi bisa bernilai sama atau berbeda-beda..

Page 5: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

55

Definisi Larik/ Array (lanj)

Ilustrasi larik/ array

Page 6: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

Pengaksesan Elemen Larik

66

-Elemen-elemen array dapat diakses oleh program menggunakan suatu indeks tertentu

-Pengaksesan elemen array dapat dilakukan berurutan atau random berdasarkan indeks tertentu secara langsung.

-Pengisian dan pengambilan nilai pada indeks tertentu dapat dilakukan dengan men-set nilai atau menampilkan nilai pada indeks yang dimaksud.

Page 7: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

Deklarasi Array 1 Dimensi

77

tipeData namaVarArray[] = {……};

atautipeData namaVarArray[];

namaVarArray = new tipeData[ukuran];

atautipeData namaVarArray[] = new tipeData[ukuran];

Page 8: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

Deklarasi Array 1 Dimensi (lant)

88

tipeData : menyatakan jenis tipe data elemen larik (int, char, float, dll)

namaVarArray : menyatakan nama variabel yang dipakai.

ukuran : menunjukkan jumlah maksimal elemen larik

Page 9: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

99

Contoh:

char []huruf =

new char[9];

: memesan tempat di memori komputer sebanyak 9 tempat dengan indeks dari 0-8, dimana semua elemennya bertipe data karakter semuanya. Jika satu karakter berukuran 1 byte, maka membutuhkan memori sebesar 9 byte.

Page 10: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

1010

int umur[] new

int[10];

: memesan tempat di memori komputer sebanyak 10 tempat dengan indeks dari 0-9, dimana semua elemennya bertipe data integer semua. Jika satu integer berukuran 4 bytes, maka membutuhkan memori sebesar 4 x 10 = 20 bytes.

Page 11: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

1111

int kondisi[]

= {0, 1}

: memesan tempat di memori komputer sebanyak 2 tempat dengan indeks 0-1, dimana semua elemennya bertipe data integer semua. Dan pada contoh di atas isi elemen-elemennya yang sebanyak 2 buah diisi sekaligus (diinisialisasi) yaitu pada elemen kondisi[0] bernilai 0, dan elemen kondisi[1] bernilai 1.

Page 12: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

1212

int arr_dinamis[];

arr_dinamis = new

int[n];

: mendeklarasikan array dengan ukuran maksimum array tidak diketahui, namun ukuran tersebut diketahui berdasarkan inisialisasi yaitu sebanyak n elemen. Tidak dapat mendeklarasikan array dinamis tanpa inisialisasi.

Page 13: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

Array 1 Dimensi

1313

-Tanda [] disebut juga “elemen yang ke- „. Misalnya kondisi[0] berarti elemen yang ke nol.

-Array yang sudah dipesan, misalnya 10 tempat tidak harus diisi semuanya, bisa saja hanya diisi 5 elemen saja, baik secara berurutan maupun tidak. Namun pada kondisi yang tidak sepenuhnya terisi tersebut, tempat pemesanan dimemori tetap sebanyak 10 tempat, jadi tempat yang tidak terisi tetap akan terpesan dan dibiarkan kosong.

Page 14: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

Contoh Array 1 Dimensi

1414

Contoh 1 (variabel array dan variabel biasa)

Bagaimana jika menghitung total dari variabel biasa? total = a1 + a2 + a3 + a4 + a5;

Page 15: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

Contoh Array 1 Dimensi (lanj)

1515

Contoh 2 (menginputkan dan menampilkan array)

Page 16: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

Contoh Array 1 Dimensi (lanj)

1616

output

Page 17: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

Contoh Array 1 Dimensi (lanj)

1717

Contoh 3 (manipulasi array 1 dimensi)

Page 18: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

Contoh Array 1 Dimensi (lanj)

1818

output

Page 19: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

Contoh Array 1 Dimensi (lanj)

1919

Contoh 4 (tanpa inisialisasi langsung ditampilkan)

Page 20: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

Contoh Array 1 Dimensi (lanj)

2020

output

Beberapa bahasa pemrograman akan mengisikan secara acak nilai ke dalam elemen array .

Page 21: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

Contoh Array 1 Dimensi (lanj)

2121

Contoh 5 (isi dengan nilai 2 untuk semua element)

Method length mengembalikan tipe data integer berupa banyaknya jumlah element array.

Page 22: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

Contoh Array 1 Dimensi (lanj)

2222

output

Page 23: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

Contoh Array 1 Dimensi (lanj)

2323

Contoh 6 (penulisan yang salah dalam mengakses array)

Page 24: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

Contoh Array 1 Dimensi (lanj)

2424

output

Page 25: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

Array 2 Dimensi

2525

-Sering kali digambarkan/dianalogikan sebagai sebuah matriks.

-Jika array berdimensi satu hanya terdiri dari 1 baris dan banyak kolom, array berdimensi dua terdiri dari banyak baris dan banyak kolom yang bertipe sama.

Page 26: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

Ilustrasi Array 2 Dimensi

2626

Gambar array berdimensi (baris x kolom = 3 x 4):

Page 27: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

Deklarasi Array 2 Dimensi

2727

tipeData namaVarArray[][] = {{……}, {……}};

atautipeData namaVarArray[][] = new tipeData[batasBaris][batasKolom];

atautipeData namaVarArray[][];

namaVarArray = new tipeData[batasBaris][batasKolom];

Page 28: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

Contoh Array 2 Dimensi

2828

Page 29: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

Contoh Array 2 Dimensi (lanj)

2929

output

Page 30: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

3030

Larik dimensi dua dapat mewakili bentuk suatu matriks, contoh: suatu matriks

selanjutnya dapat dideklarasikan sebagai berikut:

Contoh Array 2 Dimensi (lanj)

Page 31: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

3131

atau dideklarasikan dengan memberikan nilai elemennya sebagi berikut:

Contoh Array 2 Dimensi (lanj)

Selanjutnya larik 2 dimensi x dapat digambarkan sebagai berikut:

Page 32: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

3232

1. Buatlah program untuk memasukkan n buah nilai dalam array integer dan kemudian Tampilkan kembali data-data array tersebut, jumlah totalnya dan rata-rata-nya!

2. Buatlah program untuk menganalisa sebuah string inputan yang diinputkan oleh user dan kemudian tampilkan:- Berapa jumlah karakter yang berupa karakter vokal (a,i,u,e,o)- Berapa jumlah karatker yang non vokal dan karakter-karakter lainnya

3. Kembangkan soal 2 untuk menghitung berapa jumlah vokal “A“, “I“, “U“, “E“, dan “O“ masing-masing!

Soal-Soal Latihan

Page 33: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

3333

4. Buatlah program untuk membalik kata, misalnya kata “tumi“ akan menjadi “imut“ dengan menggunakan array.

5. Buatlah program untuk menyalin isi array A ke array B yang kosong dengan jumlah elemen sama. Dengan ilustrasi sbb:

Soal-Soal Latihan (lanj)

Page 34: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

3434

6. Kembangkan soal 5, dimana array B akan berisi elemen-elemen array A tapi dengan posisi terbalik, data pertama di array A akan berada di data terakhir di array B!

7. Kembangkan soal no-5, elemen B diisi dengan data dari array A yang nilainya berupa bilangan genap dan lebih besar dari nol pada indeks yang sama dengan array A!

Soal-Soal Latihan (lanj)

Page 35: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

3535

8. Kembangkan soal no-7 dimana array B akan diisi dengan data dari array A yang nilainya berupa bilangan genap, lebih besar dari nol, tapi indeksnya berurutan!

Soal-Soal Latihan (lanj)

Page 36: Penyaji : Zulkarnaen NS - azoel.files.  · PDF fileContoh 3 (manipulasi array 1 dimensi) ... Contoh Array 1 Dimensi ... 3. Kembangkan soal 2 untuk menghitung berapa

SelesaiSelesai

3636