Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Array Oleh Shoffin Nahwa Utama M.T Disampaikan pada mata kuliah Struktur Data.

Presentasi serupa


Presentasi berjudul: "Array Oleh Shoffin Nahwa Utama M.T Disampaikan pada mata kuliah Struktur Data."— Transcript presentasi:

1 Array Oleh Shoffin Nahwa Utama M.T Disampaikan pada mata kuliah Struktur Data

2 Tujuan Pada akhir pelajaran, peserta diharapkan mampu untuk : Mendeklarasikan dan membuat array Mengakses elemen-elemen di dalam array Menentukan jumlah elemen dalam sebuah array Duplikasi array Mendeklarasikan dan membuat array 2 dimensi (Matrik) Mendeklarasikan dan membuat array Multidimensi Membuat array dinamis Menerapkan array dalam aplikasi komputer

3 Pengenalan array kita memiliki tiga variabel dengan tipe data int yang memiliki identifier yang berbeda untuk tiap variabel. int number1; int number2; int number3; number1 = 1; number2 = 2; number3 = 3; Code di atas bukanlah contoh yang baik untuk memperlihatkan proses penginisialisasian dan penggunaan variabel, terutama jika variabel tersebut digunakan untuk tujuan yang sama.

4 Pengenalan array baik Java maupun bahasa pemrograman lain, memiliki kemampuan untuk menggunakan satu variabel yang dapat menyimpan sebuah data list, kemudian memanipulasinya dengan lebih efektif. Tipe variabel inilah yang disebut sebagai array. Sebuah array akan menyimpan beberapa item data dengan tipe data yang sama di dalam sebuah blok memori yang berdekatan yang kemudian dibagai menjadi beberapa slot.

5 Pendeklarasian array Untuk mendeklarasikan array : tulis tipe datanya, diikuti dengan tanda kurung [], serta diikuti oleh nama identifier. Contoh: int []ages; atau int ages[];

6 Array instantiation Setelah proses pendeklarasian, kita harus membuat array dan menentukan berapa panjangnya dengan sebuah pernyataan konstruktor. Instantiation Di Java, ini berarti pembuatan Konstruktor Untuk meng-instantiate sebuah obyek, kita membutuhkan sebuah konstruktor. Sebuah konstruktor merupakan sebuah method yang dipanggil untuk membuat object Kita akan membicarakan lagi mengenai instantiate obyek dan pembuatan konstruktor pada bagian selanjutnya.

7 Array instantiation Untuk meng- instantiate (atau membuat) sebuah array, Tulislah new keyword, Diikuti oleh tanda kurung [] yang berisi angka dari elemen yang Anda inginkan pada array tersebut. Contoh, //deklarasi int ages[]; //instantiate object ages = new int[100]; atau, juga dapat ditulis, //declare and instantiate object int ages[] = new int[100];

8 Array instantiation

9 Anda juga dapat meng-instantiate sebuah array dengan cara menginisialisasinya secara langsung dengan data. Contoh, int arr[] = {1, 2, 3, 4, 5}; Pernyataan ini mendeklarasikan dan meng-instantiate sebuah array dari integer dengan lima elemen (diinisialisasi dengan nilai 1, 2, 3, 4, dan 5).

10 Contoh program //membuat sebuah array dari variabel boolean pada sebuah identifier //hasil. Array ini berisi 4 elemen //untuk nilai {true, false, true, false} boolean results[] = { true, false, true, false }; //Membuat sebuah array yang terdiri dari penginisialisasian 4 variabel //untuk nilai {100, 90, 80, 75}; double []grades = {100, 90, 80, 75}; //Membuat sebuah array String dengan identifier days //terdiri dari 7 elemen. String days[] = { “Mon”, “Tue”, “Wed”, “Thu”, “Fri”, “Sat”, “Sun”};

11 Pengaksesan elemen array Untuk mengakses sebuah elemen dalam array, atau mengakses sebagian elemen dari array, Anda menggunakan penomoran yang disebut sebagai index atau subscript. Index atau Subscript Diberikan kepada tiap anggota array, agar program dapat mengakses anggota dari array. Dimulai dari nol dan kemudian akan terus bertambah sampai list value dari array tersebut berakhir. CATATAN: elemen di dalam array anda dimulai dari 0 sampai (sizeOfArray-1)

12 Pengaksesan elemen array Contoh, pada array yang telah kita deklarasikan tadi, kita mempunyai // memberikan nilai 10 kepada elemen pertama array ages[0] = 10; // mencetak elemen array yang terakhir System.out.print(ages[99]);

13 Pengaksesan elemen array CATATAN: Jika array telah dideklarasikan dan dikonstruksi, nilai yang disimpan dalam setiap anggota array akan diinisialisasi sebagai nol. Untuk tipe data reference seperti String, nilai dari String tidak akan diinisialisasi ke string kosong “”, sehingga Anda tetap harus membuat array String secara eksplisit.

14 Pengaksesan elemen array Berikut ini merupakan contoh, untuk mencetak seluruh elemen di dalam array. Terdapat penggunaan loop pada contoh yang membuat kode lebih pendek 1public class ArraySample{ 2public static void main( String[] args ){ 3int[] ages = new int[100]; 4for( int i=0; i<100; i++ ){ 5System.out.print( ages[i] ); 6} 7} 8}

15 Petunjuk penulisan program 1.Akan lebih baik jika anda menginisialisasi atau meng- instantiate array setelah mendeklarasikannya. Contoh deklarasi, int []arr = new int[100]; juga diperbolehkan, int []arr; arr = new int[100];

16 Petunjuk penulisan program 2. Elemen-elemen dalam array dengan n-elemen memiliki index dari 0 sampai n-1. Perhatikan bahwa tidak ada elemen array arr[n], karena hal ini akan menyebabkan array-index-out-of-bounds exception. 3. Anda tidak dapat mengubah ukuran sebuah array.

17 Panjang array Untuk mengetahui jumlah elemen di dalam sebuah array, Anda dapat menggunakan length (panjang) field pada array. Panjang field dalam array akan me-return value dari array itu sendiri. Atau dapat ditulis, arrayName.length

18 Panjang array public class ArraySample { public static void main( String[] args ){ int[] ages = new int[100]; for( int i=0; i

19 Panduan penulisan program 1.Pada saat pembuatan loop untuk memproses elemen-elemen dalam array, gunakanlah length field di dalam statement pengkondisian dalam loop. Hal ini akan menyebabkan loop secara otomatis menyesuaikan diri terhadap ukuran array yang berbeda-beda. 2. constant biasanya digunakan untuk mempermudah pendeklarasian ukuran array di Java. Sebagai contoh, final int ARRAY_SIZE = 1000; //declare a constant... int[] ages = new int[ARRAY_SIZE];

20 Dasar Pengolahan Array Secara Umum // lakukan inisialiasi yang diperlukan sebelumnya for (int i = 0; i < A.length; i++) {... // proses A[i] } Dalam banyak hal, pengolahan array berarti menggunakan operasi yang sama kepada setiap elemen di dalam array. Biasanya sering dilakukan dengan perulangan for. Perulangan untuk mengolah semua elemen dalam array A dapat ditulis dalam bentuk :

21 Dasar Pengolahan Array Secara Umum int maks = A[0]; // nilai maks berisi elemen array pertama for (int i = 1; i < A.length; i++) { // i mulai dari elemen kedua if (A[i] > maks) maks = A[i]; } // Di sini maks berisi nilai elemen array yang paling besar mencari nilai terbesar di dalam array A. Strateginya adalah lihat semua isi array, catat nilai terbesar saat itu. Kita akan simpan nilai terbesar yang kita temui dalam variabel maks. Pada saat kita melihat elemen array satu per satu, kapanpun kita melihat nilai elemen tersebut lebih besar dari maks kita akan mengganti nilai maks dengan nilai yang lebih besar tersebut. Setelah semua elemen array diproses, maka maks merupakan nilai elemen terbesar di dalam array tersebut. Pertanyaannya adalah, apa nilai awal maks? Salah satu kemungkinannya adalah mulai dengan nilai maks sama dengan A[0], baru kemudian melihat isi elemen array lainnya mulai dengan A[1]. Misalnya,

22 Dasar Pengolahan Array Secara Umum // Buat objek array baru, yang panjangnya sama dengan panjang A int[] B = new int[A.length]; for (int i = 0; i < A.length; i++) B[i] = A[i]; // Kopi setiap elemen dari A ke B  Untuk membuat array baru yang merupakan kopi dari array A, kita harus membuat objek array baru, dan mengkopi isinya satu per satu dari array A ke array baru, sehingga  Mengkopi nilai dari satu array ke array yang lain adalah operasi umum sehingga Java memiliki subrutin untuk melakukannya, yaitu System.arraycopy(), yang merupakan subrutin anggota statik dari kelas standar System. Deklarasinya memiliki bentuk seperti : public static void arraycopy(Object arraySumber, int indeksAwalSumber, Object arrayTujuan, int indeksAwalTujuan, int jumlah)

23 Dasar Pengolahan Array Secara Umum int[] a = {22, 44, 66, 88}; print(a); int[] b = (int[])a.clone(); // duplicate a[] in b[] print(b);  Since it is an object, an array can be duplicated by invoking the Object.clone() method,

24 Array Dinamis Objek mirip array yang bisa berubah ukuran untuk mengakomodasi jumlah data yang bisa ia tampung disebut array dinamis. Array dinamis memiliki jenis operasi yang sama dengan array : mengisi nilai pada posisi tertentu dan mengambil nilai di posisi tertentu. Akan tetapi tidak ada batas maksimum dari jumlah array (hanya tergantung pada jumlah memori komputer yang tersedia).

25 Array multidimensi Array multidimensi diimplementasikan sebagai array di dalam array. Array multidimensi dideklarasikan dengan menambahkan jumlah tanda kurung setelah nama array.

26 Array multidimensi Contoh : // Elemen 512 x 128 dari integer array int[][] twoD = new int[512][128]; // karakter array 8 x 16 x 24 char[][][] threeD = new char[8][16][24]; // String array 4 baris x 2 kolom String[][] dogs = {{ "terry", "brown" }, { "Kristin", "white" }, { "toby", "gray"}, { "fido", "black"} };

27 Array multidimensi Untuk mengakses sebuah elemen didalam array multidimensi, sama saja dengan mengakses array satu dimensi. Contoh, untuk mengakses elemen pertama dari baris pertama di dalam array dogs, kita akan menulis, System.out.print( dogs[0][0] ); Kode diatas akan menampilkan String “terry” pada layar.

28 Using the java.util.Arrays Class This program imports the Arrays class from the java.util package to access the sort(),binarySearch(), fill(), and equals() methods. It also imports the static print() method from

29 THE SEQUENTIAL SEARCH ALGORITHM Pencarian menggunakan metoda Conventional/Array Searching. Pencarian dilakukan dari ujung kiri larik dimana hal ini ditunjukkan oleh inisialisasi objek index dengan nilai 0 Pencarian ini berjalan lambat ketika data yang dicari berada di bagian akhir.

30 THE BINARY SEARCH ALGORITHM Binary Search merupakan standart algoritma untuk pencarian data yang telah terurut. Pada metoda ini pertama kali kita harus menentuka posisi peubah mid(Posisi tengah). Jika nilai yang kita cari lebih besar dari nilai yang ditunjuk oleh peubah mid maka pencarian akan dilakukan ke sebelah kanan dengan cara mengubah nilai peubah Low mejadi nilai yang ditunjuk pada peubah mid, dan sebaliknya. Teknik pencarian ini jauh lebih cepat dari ArraySearch/sequentialSearch.

31 Ada Pertanyaan??????


Download ppt "Array Oleh Shoffin Nahwa Utama M.T Disampaikan pada mata kuliah Struktur Data."

Presentasi serupa


Iklan oleh Google