Array Unity 3D

Kursus Hari1 Materi3
Praktek menggunakan array


Array merupakan variabel yang dapat menampung banyak nilai sekaligus. Array dideklarasikan dengan tipe data diikuti dengan sepasang kurung siku. Sebagai contoh:


int[] aAngka;
string[] aNama;
object[] aObjek;

Deklarasi array di atas hanya menghasilkan variabel array kosong. Untuk memberi nilai awal pada array, lakukan salah satu dari cara berikut:



int[] aAngka = new int[5];
string[] aNama = new string[] { "Riadi", "Rini", "Khanza" };
object[] aObjek = { 20.33, "lp2maray.com", DateTime.Now, true, 'D' };

Contoh pertama membuat 5 int kosong, sedangkan contoh kedua membuat array dengan ukuran 3 dan langsung menugaskan nilai-nilai kepada elemen-elemen array tersebut. Contoh ke tiga menunjukkan versi lain dari contoh ke dua yang mengabaikan keyword "new". Contoh ke tiga juga menunjukkan bahwa kita dapat menugaskan nilai bertipe apa saja kepada suatu objek. Pada contoh ke tiga, kita menugaskan double, string, DateTime, bool dan char sekaligus ke dalam array object tersebut.

Mengakses elemen pada array

Ketika kita mendeklarasikan int[] aAngka = new int[5]; kita membuat 5 int sekaligus yang dapat diakses dengan variabel aAngka[0], aAngka[1], aAngka[2], aAngka[3] and aAngka[4]. Kita menyebut int-int ini sebagai elemen dari array, dan angka di dalam kurung siku sebagai index. Penting untuk diketahui bahwa index selalu dimulai dari 0 seperti dapat dilihat pada contoh. Berikut adalah sebuah contoh program yang menggunakan array:















double[] aBerat = new double[5];
for (int i = 0; i < aBerat.Length; i++) {
  string strBerat = Console.ReadLine();
  aBerat[i] = double.Parse(strBerat);
}
Console.WriteLine("----------------");
double total = 0;
for (int i = 0; i < aBerat.Length; i++) {
  total += aBerat[i];
}
Debug.Log("Rata-rata dari berat: " + (total / aBerat.Length));
Array multidimensi pada C#
Semua contoh di atas adalah contoh array satu dimensi. Untuk menggunakan array multidimensi, kita gunakan:




int[,] aTahun = new int[,] { { 2001, 2002, 2003 }, { 2005, 2006, 2007 } };
Debug.Log(aTahun[0, 2]); //Akan menampilkan 2003

Array bergerigi pada C#

Array bergerigi mirip dengan array multidimensi. Untuk menggunakan array bergerigi, kita lakukan:



int[][] aTahun = new int[][] { new int[] { 2003 }, new int[] { 2005, 2008, 2010 } };
Debug.Log(aTahun[1][2]); //Akan menampilkan 2010

Praktek Pada aplikasi sebelumnya tambahkan satu GameObject->Empty
Buat C# Script =>berinama DataType .cs  dan ketikkan kode sbb:


using UnityEngine; 
using System.Collections; 

public class ArrayClass : MonoBehaviour { 
    public int[] Numbers; 
    public string[] Texts; 

    [System.Serializable] 
    public class Collection{ 
        public int ID; 
        public string AnyValue; 
    }  //buatan Unity ===struct

    string myText1, myText2, myText3; 
    public Collection[] Collections;  


    void Start () { 
        myText1 = ""; 
        for (int c=0; c<Numbers.Length; c++){ 
            myText1 = myText1 + Numbers[c].ToString()+' '; 
        } 
        myText2 = ""; 
        for (int c=0; c<Texts.Length; c++){ 
            myText2 = myText2 + Texts[c] +' '; 
        } 
        myText3 = ""; 
        for (int c=0; c<Collections.Length; c++){ 
            myText3 = myText3 + Collections[c].ID.ToString()+     ":"+Collections[c].AnyValue+" "; 
        } 
    } 
    // Update is called once per frame 
    void Update () { 
    } 
   
    void OnGUI(){ 
        GUILayout.BeginArea(new Rect(10,10,400,200)); 
        GUILayout.Label("Array Integer: "+myText1); 
        GUILayout.Label("Array String: "+myText2); 
        GUILayout.Label("Array Object: "+myText3); 
        GUILayout.EndArea(); 
    } 


===========

 Untuk variabel Public array, tentukan dahulu jumlah maximal arraynya...setelah itu baru masukkan data-datanya





NB: array bubblesort for sorting

int[] arr = { 800, 11, 50, 771, 649, 770, 240, 9 };
int temp = 0;
for (int write = 0; write < arr.Length; write++) {
    for (int sort = 0; sort < arr.Length - 1; sort++) {
        if (arr[sort] > arr[sort + 1]) {
            temp = arr[sort + 1];
            arr[sort + 1] = arr[sort];
            arr[sort] = temp;
        }
    }
}

for (int i = 0; i < arr.Length; i++)
    Debug.Log[i] + " ");



Atau secara fungsi:

public static int[] SortArray(int[] array){
    int length = array.Length;
    int temp = array[0];
    for (int i = 0; i < length; i++){
        for (int j = i+1; j < length; j++){
            if (array[i] > array[j]){
                temp = array[i];
                array[i] = array[j];
                array[j] = temp;
            }
        }
    }
    return array;        
}
 
 
Atau cara List :

 static bool BubbleSort(ref List<int> myList, int number){
        if (number == 1)
            return true;
        for (int i = 0; i < number; i++){
            if ((i + 1 < number) && (myList[i] > myList[i + 1])){
                int temp = myList[i];
                myList[i] = myList[i + 1];
                myList[i + 1] = temp;
            }
            else
                continue;
        }
        return BubbleSort(ref myList, number - 1);
    }
 

======
Selamat Mencoba......




Array Unity 3D Array Unity 3D Reviewed by ADIARRAY on 18.44 Rating: 5

Tidak ada komentar:

Diberdayakan oleh Blogger.