ARRAY DAN SEARCHING ALGORITHM Malang 21 Desember 2012
ARRAY DAN SEARCHING ALGORITHM Malang, 21 Desember 2012 bethanurinasari@gmail. com
Array dalam bahasa Indonesia adalah indeks, maka variabel array adalah variabel yang mempunyai indeks. Array sangat penting di dalam pemrograman, karena array mampu menampung banyak data yang bertipe sama. ARRAY Array Satu Dimensi Array Dua Dimensi
Array Satu Dimensi ). a m a s ta a d e p ti ( n e mog o h s ru a h y a rr A ta a d i Nila i satu s n e im rd e b y a rr a m u Bentuk um ; ] n e m le e _ h la m u [j l be tipe data nama. Varia : y a rr a l e b a ri a v tu a u an s ik s ra la k e d n e m k tu n U g n a y h a k a p a ta a d e ip y : T a rr a n e m le e ta a d e ip v T ni i y a rr a l e b a ri a v m la a akan disimpan d bel a ri a v ri a d a m a n n a k a bel : Merup v Nama varia array ng a y n e m le e h la m u J : y en arra v Jumlah elem ut b e rs e t y a rr a m la a d n dibutuhka
Array Satu Dimensi Contoh Sebagai contoh var iabel array x mena mpung nilai-nilai bilangan bu lat {3, 6, 8, 7, 5, 1} be rarti indeks untuk variabe l x ini adalah 1 samp ai dengan 6, dan ditulis sebaga i x(1), x(2), x(3), x(4) , x(5) dan x(6). Kalau ditulis dalam ja � int angka [] = � angka [0]=3; � angka [1]=6; � angka [2]=8; � angka [3]=7; � angka [4]=5; � angka [5]=1; va : new int [6];
Figure 1. An array with ten elements. Indices begin at 0 and end at the array length minus 1. An array element is one of the values within an array and is accessed by its position within the array. Array indices begin at 0 and end at the array length minus 1.
Array pada dasarnya adalah sebuah variabel yang memiliki suatu nama tertentu, namun didalamnya terbagi menjadi variabel-variabel yang dibedakan berdasarkan nomor indeks. Untuk memudahkan pemahaman mengenai konsep array, berikut adalah ilustrasinya :
Source code Array public class belajar { public static void main (String [] args){ 1 String jurusan[]=new String [6]; jurusan[0]="Teknik Informatika"; jurusan[1]="Desain Grafis"; jurusan[2]="Manajemen Komunikasi"; jurusan[3]="Komputer Bisnis"; jurusan[4]="Aplikasi Perekam Medis"; jurusan[5]="Broadcasting"; System. out. println("jurusan yang ada di STT RRI"); for (int i=0; i<jurusan. length; i++) { System. out. println("jurusan ke"+(i+1)+"="+jurusan[i]); } } }
Source code Array 2 public class belajar { public static void main (String [] args){ String jurusan []={"Teknik Informatika", "Manajemen Komunikasi", "Desain Grafis", "Komputer Bisnis", "Aplikasi Perekam Medis", "Broadcasting"}; System. out. println("jurusan yang ada di STT RRI"); for (int i=0; i<jurusan. length; i++){ System. out. println("jurusan ke"+(i+1)+"="+jurusan[i]); } } }
SEARCHING Searching/Pencarian merupakan kegiatan untuk menemukan atau mencari suatu data yang ditentukan di suatu tempat, apakah sesuai atau tidak. Searching mempunyai beberapa metode, salah satunya adalah metode pencarian beruntun atau disebut juga dengan Sequential Search.
Algoritma Searching Menggunakan Java Misalkan ada data dalam bentuk array dengan nama Data. Array yang mempunyai Index Array sebanyak 8 buah dimana tiap index memiliki nilai angka masing, yaitu 3, 6, 19, 90, 30, 20, 10, 8 dan data yang akan kita cari saya beri nama Nilai. X. Misalnya saja Nilai. X = 90 –> Apakah ada dalam Data. Array dan berada pada Index Array yang keberapa ?
Source code import java. io. Scanner; public class searching{ public static void main(String[] args) throws Exception{ Buffered. Reader br = new Buffered. Reader(new Input. Stream. Reader(System. in)); int Data. Array [] = {3, 6, 19, 90, 30, 20, 10, 8}; int x, Nilai. X; boolean Ketemu; //Menampilkan nilai data array System. out. println("n. Data Array : "); for (x=0; x<Data. Array. length; x++){ System. out. print(Data. Array[x]+" ");
//Masukan data yang ingin dicari System. out. print("Masukan angka yang ingin dicari : "); String Input = br. read. Line(); Nilai. X = Integer. parse. Int(Input); Ketemu = false; for (x=0; x<Data. Array. length; x++){ if (Data. Array[x] == Nilai. X){ Ketemu = true; break; } } if (Ketemu == true){ System. out. println("Angka "+Nilai. X+" ditemukan pada Index Array ke"+(x+1)+" ~ !!n"); }else{ System. out. println("Angka tidak ditemukan ~ !!n"); } } }
OUTPU T Ditampilkan isi data array Memasukkan angka 6 Ditemukan pada index ke 2
ALGORITMA PENCARIAN YANG LAIN Binary arch e S Terdapat metode pencarian pada data terurut yang paling efficient, yaitu metode pencarian bagidua atau pencarian biner (binary search). Metode ini digunakan untuk kebutuhan pencarian dengan waktu yang cepat. Prinsip pencarian dengan membagi data atas dua bagian mengilhami metode ini. Data yang disimpan di dalam larik (array) harus sudah terurut.
ALGORITMA PENCARIAN YANG LAIN Sentin el Searc h Sentinel adalah tanda/batas akhir pencarian. Sentinel dapat diletakkan di sebelum elemen pertama (pencarian mundur), maupun ditaruh di sesudah elemen terakhir(pencarian maju). Dengan metode ini, data yang dicari selalu ada. Yang menentukan data yang sebenarnya ada pada tabel atau tidak adalah posisi hasil pencarian.
ALGORITMA PENCARIAN YANG LAIN Interpolation Search Teknik ini dilakukan pada data yang sudah terurut berdasarkan kunci tertentu. Teknik searching ini dilakukan dengan perkiraan letak data. Contoh ilustrasi: jika kita hendak mencari suatu nama di dalam buku telepon, misal yang berawalan dengan huruf T, maka kita tidak akan mencarinya dari awal buku, tapi kita langsung membukanya pada 2/3 atau ¾ dari tebal buku. Jadi kita mencari data secara relatif terhadap jumlah data. Rumus posisi relatif kunci pencarian dihitung dengan rumus: Posisi = kunci – data[low] x (hight – low) + low
Next >>> UAS (LIFE CODING) Anda pelajari Flowchart dan beberapa tipe algoritma berikut : 1. Sequence (runtutan – proses lurus) 2. Selection (penyeleksian – “if-else”, dst) 3. Repetition (Perulangan – for, while do, dst) 4. Searching (Pencarian)
- Slides: 17