Pemrograman Visual I Outline: ARRAY Array multidimensi Perulangan foreach arraylist collection
Pendahuluan Dalam kehidupan sehari-hari seringkali kita menemui sekumpulan data yang mempunyai jenis yang sama Bila data tersebut bertujuan menyatakan suatu maksud tertentu, maka akan lebih baik jika kumpulan data tsb disimpan dalam tempat yang mempunyai nama yang sama tetapi dengan nomor urut yang berbeda Sebagai contoh jika anda ingin menyimpan data nilai dari 3 siswa, maka akan lebih baik jika anda menyimpan ketiga data tersebut dalam variabel yang bernama sama sehingga proses pengaksesan terhadap data tersebut menjadi lebih mudah dibandingkan dengan menggunakan 3 nama variabel yang berbeda untuk masing-masing nilai siswa tsb.
Array Variabel dengan kapasitas tertentu yang digunakan untuk menyimpan sekumpulan data disebut dengan array Setiap data dapat disimpan atau diambil kembali dari suatu array dengan menggunakan nomor tertentu yang disebut dengan indeks C# akan menggunakan nomor 0 (nol) sebagai nomor awal dari data yang akan disimpan dalam array Data yang disimpan didalam array ini disebut juga dengan elemen array dan tipe datanya disebut dengan tipe elemen dari array.
Deklarasi Array Array dideklarasikan dengan cara: Type[] name; Type adalah tipe data dari array name adalah nama dari array tanda [ ] memberitahu C# untuk membuat variabel array, dalam C# tanda [ ] harus diletakan setelah tipe data. Contoh: Int [ ] nilaiSiswa; String [ ] namaSiswa; Float [ ] hargaBarang; Type[] name;
Inisialisasi Array Setelah mendeklarasikan array, selanjutnya kita harus memberikan nilai awal (inisialisasi) array dengan menentukan jumlah anggotanya. Ada dua cara umum untuk melakukan inisialisasi array, yaitu: 1. Menggunakan operator new Operator new digunakan untuk memberikan inisialisasi sebuah variabel bertipe referensi. Sintaksnya adalah: Type[] name = new <tipe data> [jumlah elemen array];
Inisialisasi Array 2. Langsung memberikan nilai awal Cara lain memberikan nilai awal pada variabel array adalah dengan menempatkan secara langsung nilai kedalam blok yang menggunakan tanda kurung kurawal buka dan tutup Contoh: nilaiSiswa = {75,80,60,75,90};
Contoh Array 1 dimensi public static void Main() { string[] namabulan ={"Januari","Pebruari","Maret","April", "Mei","Juni","Juli","Agustus","September", "Oktober","Nopember","Desember"}; Console.WriteLine("Jumlah elemen = {0}", namabulan.Length); for (int i = 0; i < namabulan.Length; i++) Console.WriteLine("Bulan {0}={1}", i + 1, namabulan[i]); } Console.ReadLine();
Contoh Array 1 dimensi public static void Main() { int[] array1=new int[7]; int[] array2=new int[3]{1,2,3}; int[] array3={7,8,9,10}; Console.WriteLine("Jumlah elemen = {0}", array1.Length); Console.WriteLine(“Array2:”); for (int i = 0; i < array2.Length; i++) Console.WriteLine(array2[i]); } Console.WriteLine(“Array3:”); for (int i = 0; i < array3.Length; i++) Console.WriteLine(array3[i]); Console.ReadLine();
Contoh Array 1 dimensi public static void Main() { int[] array1=new int[7]; int[] array2=new int[3]{1,2,3}; int[] array3={7,8,9,10}; Console.WriteLine(array3[2]); Console.ReadLine(); } public static void Main() { int[] array2=new int[3]{1,2,3}; int[] array3={7,8,9,10}; Console.WriteLine(“Data = {0}“,array2[0]); Console.ReadLine(); }
Array Multidimensi Array multidimensi adalah sebuah array yang dapat menyimpan lebih dari satu indeks (baris dan kolom). Array multidimensi memiliki dua tipe: Array persegi empat (rectangular array); pada array ini jumlah baris dan kolom sama. Cotoh jumlah barisnya 3 maka jumlah kolomnya juga 3. Array bergerigi (jagged array); pada array ini jumlah baris dan kolom tidak harus sama.
Contoh Array 2 dimensi public static void Main() { int[,] array = new int [4,5]; array[0,0]=4; array[0,1]=5; Console.WriteLine(array[0,1]); Console.ReadLine(); } public static void Main() { int[,] array = {{1,2,3},{5,6,7}} Console.WriteLine(array[1,1]); Console.ReadLine(); }
Perulangan Foreach Perulangan yang satu ini spesial, dan sengaja dibahas terpisah dengan perulangan yang lain karena penerapannya berbeda Perulangan ini sangat membantu melakukan perulangan pada array dan collection Sintaks foreach adalah: Foreach (<tipe data dari array atau collection> <identifier> in <array atau collection>); { ……….statement; }
Perulangan Foreach Beberapa hal yang perlu diperhatikan: Variabel yang digunakan untuk menampung elemen array dalam perulangan foreach bersifat readonly Foreach dapat digunakan untuk melakukan perulangan pada array atau collection, yang dimaksud collection disini adalah semua class atau interface Class string juga merupakan koleksi dari sekumpulan karakter
Array Tanpa Batas (Arraylist) Jika pada array kita harus menentukan terlebih dahulu kapasitasnya sebelem digunakan Jika kapasistas melebihi jumlah data yang akan disimpan maka beberapa tempat dimemori komputer akan terbuang pecuma Sedangkan jika kapasitas memori lebih sedikit dari jumlah data yang akan disimpan maka beberapa data tidak akan dapat disimpan dalam array Untuk mengatasi hal itu C# menyediakan beberapa class yang merepresentasikan sebuah tempat penyimpanan yang tidak perlu ditentukan kapasitasnya terlebih dahulu yakni class arraylist
Array Tanpa Batas (Arraylist) Dalam proses internalnya, arraylist akan mengalokasikan tempat dimemori dengan kapasitas awal sebesar 16 Jika kapasitas awal tsb tidak mencukupi, maka arraylist akan mengalokasikan ulang sejumlah tempat di memori dengan kapasitas 2 kali kapasitas sebelumnya Objek yang terbentuk dari class arraylist dapat diakses dengan cara yang sama seperti objek pada array Sintaks: ArrayList name = new ArrayList(); ArrayList name = new ArrayList(20);
Contoh ArrayList public static void Main() { ArrayList list=new ArrayList(); list.Add(5); list.Add(7); ArrayList list2=new ArrayList(); list2.Add(10); list2.Add(12); foreach (int i in list) Console.WriteLine(i); } Console.ReadLine();
Collection Collection, seperti tergambar dari namanya berfungsi sebagai container untuk menyimpan sekumpulan object, collection hampir mirip dengan konsep array. Untuk mengakses data didalam collection biasanya dilakukan dengan melakukan iterasi terhadap data yang ada didalam collection atau dapat juga diakses dengan menggunakan indeks atau indexer. Pada .Net framework, tersedia beberapa class yang khusus disediakan sebagai tempat menyimpan dan mengambil kumpulan data (collection of data). Beberapa dari class tersebut adalah Array, List, Queue, dan Stack.
List Pada dasarnya, fungsi list serupa dengan array. Perbedaannya adalah bahwa list lebih bersifat dinamis. Berbeda dengan array class list memiliki method untuk menambahkan dan mengurangi elemen dari list. Dengan demikian, tidak aka nada memori yang terbuang karena tempat penyimpanan data yang tidak terpakai bisa dihapus. List <tipe data> name = new List <tipe data> ();
Contoh List public static void Main() { List<int> mylist = new List<int>(); mylist.Add(3); mylist.Add(4); mylist.Add(5); foreach (int i in mylist) Console.WriteLine("{0}", i); } Console.WriteLine(); mylist.Remove(4); Console.ReadLine();
Queue Queue adalah sekumpulan data yang merepresentasikan sebuah antrian. Queue juga dapat menambahkan dan mengurangi data seperti dalam list. Perbedaannya terletak pada cara menambah dan mengambil data. Queue selalu menambahkan elemennya pada akhir dari queue dan mengambil elemennya pada awal queue (seperti sebuah antrian pada umumnya). Queue <tipe data> name = new Queue <tipe data> ();
Contoh Queue public static void Main() { Queue<int> myqueue = new Queue<int>(); myqueue.Enqueue(3); myqueue.Enqueue(4); myqueue.Enqueue(5); foreach (int i in myqueue) Console.WriteLine("{0}", i); } Console.WriteLine(); myqueue.Dequeue(); Console.ReadLine();
Stack Stack adalah kumpulan data yang merepresentasikan sebuah tumpukan Seperti list dan queue, sebuah stack juga dapat menambahkan dan mengurangi elemen pada dirinya Bedanya dengan queue adalah bahwa stack menambahkan dan mengurangi elemen dari awal/ depan/ atas sebuah stack (seperti pada tumpukan) Stack <tipe data> name = new Stack <tipe data> ();
Contoh Stack public static void Main() { Stack<int> mystack = new Stack<int>(); mystack.Push(3); mystack.Push(4); mystack.Push(5); foreach (int i in mystack) Console.WriteLine("{0}", i); } Console.WriteLine(); mystack.Pop(); Console.ReadLine();
String Collection String collection adalah salah satu collection yang digunakan khusus untuk menyimpan data bertipe string. Keuntungan menggunakan collection ini adalah tidak diperlukan untuk melakukan konversi data dari object menjadi string, karena collection secara umum menyimpan dan membaca data bertipe object.