The Concept and Usage of Arrays

Halo Arek Blodhil! Kali ini kita akan belajar konsep dan pemakaian array!
Apa sih Array itu? Array digunakan untuk menyimpan beberapa nilai dalam satu variabel, alih-alih mendeklarasikan variabel terpisah untuk setiap nilai. Array menggunakan indeks untuk memudahkan akses terhadap data yang disimpannya. Indeks array selalu dimulai dari 0. Indeks Array tidak selalu dalam bentuk angka. Bisa juga karakter atau teks.

Langsung saja ke contohnya yuk!
Di bawah ini aku akan ngasih contoh untuk scanner array berupa buah!

dan menghasilkan contoh output sebagai berikut apabila aku masukkan input (1, 2, 3, 4, 5).

Keren dan seru ya! mari kita perhatikan pengimplementasian Array dalam bentuk lainnya!

1. ArrayApp

Implementasi pertama dengan yang namanya ArrayApp. Dengan input sebagai berikut.

Menghasilkan output sebagai berikut.

Pada program di atas, kita membuat array bertipe data long menggunakan cara konvensional. Ketika program dijalankan, maka hasilnya akan jadi seperti berikut

2. LowArray

Implementasi kedua dengan yang namanya LowArray, kita mengimplementasikannya menggunakan dua kelas yaitu LowArray dan LowArrayApp. LowArrayApp menggunakan method sederhana, seperti menginisiasi array (method LowArray), mengubah nilai pada indeks tertentu (method setElem), serta mendapatkan nilai dari indeks tertentu (method getElem). Berikut merupakan source code dari LowArrayApp. Dengan input sebagai berikut.
Berikut Input Kelas LowArray.
Berikut input kelas LowArrayApp.
dan apabila dijalankan, menghasilkan output sebagai berikut.

3. HighArray

Implementasi ketiga dengan yang namanya HighArray, kita mengimplementasikannya menggunakan dua kelas yaitu HighArray dan HighArrayApp. HighArrayApp berbeda dengan LowArrayApp karena HighArrayApp memiliki metode-metode yang lebih kompleks yang tidak dimasukkan pada metode main, seperti menginisiasi array (metode HighArray), mencari nilai di array (metode find), menambahkan nilai pada array (metode insert), menghapus nilai pada array (metode delete), dan mendisplay array (metode display). Hal ini bertujuan agar array lebih fleksibel.
Berikut Input Kelas HighArray.
Berikut input kelas HighArrayApp.
dan apabila dijalankan, menghasilkan output sebagai berikut.

4. OrderedArray

Implementasi keempat dengan yang namanya OrderedArray, kita mengimplementasikannya menggunakan dua kelas yaitu OrderedArray dan OrderedArrayApp. OrderedArrayApp bertujuan untuk mendapatkan sebuah array yang sudah terurut dengan baik. Selain itu, OrderedArrayApp juga dilengkapi dengan metode find yang menggunakan merge sort untuk mencari value pada array. Penggunaan merge sort dalam mencari sebuah nilai pada array terurut dapat mempercepat pencariannya.
Berikut Input Kelas OrderedArray.
Berikut input kelas OrderedArrayApp.
dan apabila dijalankan, menghasilkan output sebagai berikut.

5. ClassDataArray

Implementasi kelima dengan yang namanya ClassDataArray, kita mengimplementasikannya menggunakan tiga kelas yaitu Person, ClassDataArray dan ClassDataArrayApp. ClassDataArrayApp merupakan implementasi yang paling berbeda dengan implementasi array lainnya. Hal ini dikarenakan ClassDataArrayApp menggunakan objek baru untuk menginisiasi sebuah array yang terdiri dari beberapa vaiabel. Terdapat pada kelas input ini, dibuat sebuah objek Person yang memiliki variabel String lastName dan firstName dan variabel integer (bilangan bulat) age. Dapat dilihat bahwa Person memiliki data tersendiri di dalamnya sehingga Person harus dibuat sebuah objek baru.
Berikut Input Kelas Person.

Berikut Input Kelas ClassDataArray.
Berikut Input Kelas ClassDataArrayApp.
dan apabila dijalankan, menghasilkan output sebagai berikut.

6. Sorting

Nah Arek Blodhil, yang lebih menariknya lagi di dalam Java ini kita bisa melakukan proses penyortiran lho! atau yang temen-temen sering dengar, Sorting! kalau teman-teman belum tahu Sorting adalah sebuah proses merangkai benda dalam urutan tertentu dan/atau dalam himpunan yang berbeda, dan oleh karena itu dia memiliki dua arti umum yang berbeda: 
  1. pengurutan: merangkai benda yang sejenis, sekelas, dll, dalam urutan yang teratur,
  2. kategorisasi: pengelompokan dan pemberian label kepada benda dengan sifat yang serupa.
dan pada kali ini aku akan tunjukkan kalian salah satu algoritma sorting paling populer dalam semua bahasa pemrograman, yaitu Bubble Sort.  Bubble Sort adalah algoritme pengurutan paling sederhana yang bekerja dengan menukar elemen yang berdekatan secara berulang jika urutannya salah.
Berikut Input Kelas BubbleSort dengan contoh input integer secara acak (64, 34, 25, 12, 22, 11, 90).

dan apabila dijalankan, menghasilkan output integer yang terurut sebagai berikut.

7. Searching

Gak cuma sorting, tapi searching juga bisa. Pengertian searching sebenarnya bisa dimaknai sebagai proses pencarian data dari sekian banyaknya data yang tersedia di suatu mesin pencari. Pada kesempatan kali ini aku akan tunjukkan ke temen-temen algoritma searching yang dinamakan Binary Search! Binary Search merupakan sebuah teknik pencarian data dengancara berulang kali membagi separuh dari jumlah data yang dicari sampai sehingga memperkecil lokasi pencarian menjadi satu data. Dengan teknik ini kita akanmembuang setengah dari jumlah data. Apabila ditemukan kecocokan data maka program akan mengembalikan output, jika tidak pencarian akan terus berlanjut hingga akhir dari pembagian jumlah data tersebut. Algotihma ini biasanya banyak digunakan untuk mencari di program dengan jumlah data yang banyak, dimana kompleksitas dari algorithma ini adalah Ο(log n) di mana n adalah jumlah item.
Berikut Input Kelas BinarySearch dengan contoh input integer yang disediakan yaitu (3591020) dimana dia akan mencari angka 9 berada di index ke-berapa.
dan apabila dijalankan, menghasilkan output sebagai berikut.

Sepertinya sekian dulu Arek-Arek Blodhil! Sampai jumpa di blodhil selanjutnya!

Comments

Popular posts from this blog

Linked List in Java