Mengurutkan nilai rapor atau mencari posisi suatu harga adalah pekerjaan yang muncul berulang kali. Menulis loop untuk setiap kebutuhan tersebut memakan waktu dan membuka peluang kesalahan. Kelas Array di namespace System menyediakan method-method statik yang siap dipakai pada array tipe mana pun.
Sort, Reverse, dan IndexOf #
Array.Sort mengurutkan elemen menaik secara langsung pada array yang diberikan, Array.IndexOf mencari posisi nilai tertentu, dan Array.Reverse membalik urutan elemen:
int[] nilai = { 78, 92, 65, 88, 71 };
Array.Sort(nilai);
Console.WriteLine(string.Join(" ", nilai));
int posisi = Array.IndexOf(nilai, 88);
Console.WriteLine(posisi);
Array.Reverse(nilai);
Console.WriteLine(string.Join(" ", nilai));
string[] nama = { "Dewi", "Agus", "Budi", "Rina" };
Array.Sort(nama);
Console.WriteLine(string.Join(" ", nama));Output yang Dihasilkan:
65 71 78 88 92
3
92 88 78 71 65
Agus Budi Dewi RinaMari kita telaah baris demi baris:
- Baris 3 (
Array.Sort(nilai)): Method mengurutkan array pada tempatnya (in place), bukan mengembalikan array baru; kelima nilai kini menaik dari65sampai92. - Baris 6 (
Array.IndexOf(nilai, 88)): Method mengembalikan indeks pertama yang memuat88, yaitu3setelah pengurutan. - Baris 9 (
Array.Reverse(nilai)): Urutan elemen dibalik menjadi menurun. - Baris 12-13:
Array.Sortjuga bekerja pada arraystring; pengurutan mengikuti urutan alfabet, sehinggaAgustampil sebelumRina.
Fill dan Clear #
Array.Fill mengisi seluruh elemen dengan satu nilai, sedangkan Array.Clear mengembalikan elemen ke nilai default tipenya:
int[] diisi = new int[4];
Array.Fill(diisi, 7);
Console.WriteLine(string.Join(" ", diisi));
Array.Clear(nilai, 0, nilai.Length);
Console.WriteLine(string.Join(" ", nilai));
Console.WriteLine(nilai[0]);Output yang Dihasilkan:
7 7 7 7
0 0 0 0 0
0Array.Fill(diisi, 7) menuliskan 7 pada keempat elemen array kosong. Array.Clear(nilai, 0, nilai.Length) bekerja mulai indeks 0 sebanyak nilai.Length elemen, dan seluruh elemen int kembali menjadi 0. Ukuran array tidak berubah; yang berubah hanya isi selnya.
Ringkasan Method Kelas Array #
| Method | Tugas |
|---|---|
Array.Sort | Mengurutkan elemen menaik pada tempatnya |
Array.Reverse | Membalik urutan elemen |
Array.IndexOf | Mencari indeks nilai; mengembalikan -1 bila tidak ditemukan |
Array.Fill | Mengisi elemen dengan satu nilai |
Array.Clear | Mengembalikan elemen ke nilai default |
Array.BinarySearch | Mencari pada array yang sudah terurut |
Array.Exists, Array.Find | Mencari berdasarkan kondisi (predicate) |