Tuesday, April 24, 2012

Sort Array


SORT ARRAY
SORT
Sort adalah proses pengurutan data yang tadinya tersusun secara acak sehingga menjadi tersusun secara teratur menurut suatu aturan tertentu.
Pada umunya terdapat 2 macam jenis pengurutan, yaitu :
-          ascending (naik)
-          descending (turun)
Selian jenis pengurutan di atas, pada bagian kali ini kita juga akan membahas mengenai metode – metode yang dapat digunakan untuk  melakukan sorting. Metode – metode yang digunakan adalah :
-          Bubble sort
-          Selection sort
-          Biner sort
Hal yang umum dilakuakan di dalam sorting adalah terjadinya suatu pertukaran data antara 2 elemen atau lebih. Maka untuk melakukan pertukaran data tersebut, kita harus terlebih dahulu membuat variable sementara. Tujuaan pembuatan variable ini ditujukkan untuk menampung nilai dari salah satu elemen yang akan ditukar sebelum kedua nilai tersebut mengalami proses pertukaran.

COntoh penggunaan Sort Array
using System;

class Program
{
    static void Main()
    {
               char[] array = { 'z', 'a', 'b' }; // Input array.
               Array.Sort(array); // Sort array.
               foreach (char c in array)
                   Console.WriteLine(c);
    }
}


Contoh 2:
using System;
 
class Program
{
    static void Main()
    {
               string[] a = new string[]
               {
                   "Egyptian",
                   "Indian",
                   "American",
                   "Chinese",
                   "Filipino",
               };
               Array.Sort(a);
               foreach (string s in a)
               {
                   Console.WriteLine(s);
               }
    }
}

Tugas !
Buatlah program descending dengan c# !
Kirim ke email : eko_kuntadi@yahoo.com
 

Array


ARRAY

·         Array adalah suatu tipe data terstuktur yang berupa sejumlah data sejenis (bertipe data sama) yang jumlahnya tetap dan diberi suatu nama tertentu.
·         Elemen-elemen array tersusun secara sekuensial di dalam memori sehingga memiliki alamat yang berdekatan.
·         Array dapat berupa array 1 dimensi, 2 dimensi, bahkan n-dimensi.
·         Elemen-elemen array bertipe data sama tapi bisa bernilai sama atau berbeda-beda.

Cara Pengaksesan Elemen Array
·         Elemen-elemen array dapat diakses oleh program menggunakan suatu indeks tertentu
·         Pengaksesan elemen array dapat dilakukan berurutan atau random berdasarkan
indeks tertentu secara langsung.
·         Pengisian dan pengambilan nilai pada indeks tertentu dapat dilakukan dengan
mengeset nilai atau menampilkan nilai pada indeks yang dimaksud.

DEKLARASI ARRAY 1 DIMENSI

tipe_data nama_var_array[ukuran];
tipe_data                    : menyatakan jenis tipe data elemen larik (int, char, float, dll)
nama_var_array       : menyatakan nama variabel yang dipakai.
ukuran                       : menunjukkan jumlah maksimal elemen larik.

Contoh:

char huruf[9];
int umur[10];
int kondisi[2] = {0,1}
int arr_dinamis[] = {1,2,3}

char huruf[9]: berarti akan memesan tempat di memori komputer sebanyak 9 tempat
dengan indeks dari 0-8, dimana semua elemennya bertipe data karakter semuanya. Kalau satu karakter berukuran 1 byte, berarti membutuhkan memori sebesar 9 byte.

int umur[10]: berarti akan memesan tempat di memori komputer sebanyak 10 tempat
dengan indeks dari 0-9, dimana semua elemennya bertipe data integer semuanya. Kalau satu integer berukuran 4 bytes, berarti membutuhkan memori sebesar 4 x 10 = 40 bytes.

int kondisi[2]: berarti akan memesan tempat di memori komputer sebanyak 2 tempat
dengan indeks 0-1, dimana semua elemennya bertipe data integer semuanya. Dan pada contoh di atas isi elemen-elemennya yang sebanyak 2 buah diisi sekaligus (diinisialisasi) yaitu pada elemen kondisi[0] bernilai 0, dan elemen kondisi[1] bernilai 1.

int arr_dinamis[]:berarti mendeklarasikan array dengan ukuran maksimum array tidak
diketahui, namun ukuran tersebut diketahui berdasarkan inisialisasi yaitu sebanyak 3 elemen, yang isinya 1,2, dan 3. Kita tidak dapat mendeklarasikan array dinamis tanpa inisialisasi.

PENJELASAN ARRAY 1 DIMENSI
·         Tanda [] disebut juga “elemen yang ke- „. Misalnya kondisi[0] berarti elemen yang ke nol.
·         Array yang sudah dipesan, misalnya 10 tempat tidak harus diisi semuanya, bisa saja hanya diisi 5 elemen saja, baik secara berurutan maupun tidak. Namun pada kondisi yang tidak sepenuhnya terisi tersebut, tempat pemesanan di memori tetap sebanyak 10 tempat, jadi tempat yang tidak terisi tetap akan terpesan dan dibiarkan kosong.

BERBAGAI CONTOH ARRAY 1 DIMENSI
Contoh 1 (variabel array dan variabel biasa)
//Dengan variabel biasa:
int x1=3,x2=5,x3=2,x4=7,x5=9;
//Dengan larik:
int x[5]={3,5,2,7,9};

ARRAY DIMENSI DUA
·         Sering kali digambarkan/dianalogikan sebagai sebuah matriks.
·         Jika array berdimensi satu hanya terdiri dari 1 baris dan banyak kolom, array
berdimensi dua terdiri dari banyak baris dan banyak kolom yang bertipe sama


 Deklarasi arrray of string 2 Dimensi :
char nama[10][50];berarti mendeklarasikan array of string yang berjumlah 10 data bertipe string (array of character), dimana masing-masing string mampu menampung karakter maksimal sebanyak 50 karakter.

Program that tests jagged array memory [C#]

using System;

class Program
{
    static void Main()
    {
      long b1 = GC.GetTotalMemory(true);
      //
      // This program tests the memory usage of a 1000 x 100 element jagged array.
      //
      int[][] jagged = new int[1000][];
      for (int i = 0; i < 1000; i++)
      {
          jagged[i] = new int[100];
      }
      long b2 = GC.GetTotalMemory(true);
      jagged[0][0] = 0;
      Console.WriteLine("{0} bytes (jagged 1000 x 100)", b2 - b1);
    }
}

Output

416028 bytes (jagged 1000 x 100)


Program that tests 2D array memory [C#]

using System;

class Program
{
    static void Main()
    {
      long b1 = GC.GetTotalMemory(true);
      //
      // This tests the memory usage of a 1000 x 100 element two-dimensional array.
      //
      int[,] array = new int[1000, 100];
      long b2 = GC.GetTotalMemory(true);
      array[0, 0] = 0;
      Console.WriteLine("{0} bytes (2D 1000 x 100)", b2 - b1);
    }
}

Output

400032 bytes (2D 1000 x 100)


COntoh Program :
Array 1 Dimensi ( Belum di beri nilai )

using System;  
  
namespace UsingArray  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            int[] array = new int[10];  
            Console.WriteLine("Index\tValue");  
            for (int counter = 0; counter < array.Length; counter++)  
                Console.WriteLine(counter+"\t"+array[counter]);  
        }  
    }  
}  

Array 1 Dimensi ( Di beri Nilai )
using System;  
  
namespace InputOutput  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            int[] array = { 32, 27, 64, 18, 95, 14, 90, 70, 60, 37 };  
            Console.WriteLine("Index\tValue");  
            for (int counter = 0; counter < array.Length; counter++)  
                Console.WriteLine(counter+"\t"+array[counter]);  
        }  
    }  
}  



Array Multidimensi
using System;

class Program
{
    static void Main()
    {
      // Create a three-dimensional array.
      int[, ,] threeDimensional = new int[3, 5, 4];
      threeDimensional[0, 0, 0] = 1;
      threeDimensional[0, 1, 0] = 2;
      threeDimensional[0, 2, 0] = 3;
      threeDimensional[0, 3, 0] = 4;
      threeDimensional[0, 4, 0] = 5;
      threeDimensional[1, 1, 1] = 2;
      threeDimensional[2, 2, 2] = 3;
      threeDimensional[2, 2, 3] = 4;

      // Loop over each dimension's length.
      for (int i = 0; i < threeDimensional.GetLength(2); i++)
      {
          for (int y = 0; y < threeDimensional.GetLength(1); y++)
          {
                  for (int x = 0; x < threeDimensional.GetLength(0); x++)
                  {
                      Console.Write(threeDimensional[x, y, i]);
                  }
                  Console.WriteLine();
          }
          Console.WriteLine();
      }
    }
}