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:
Deklarasi array di atas hanya menghasilkan variabel array kosong. Untuk memberi nilai awal pada array, lakukan salah satu dari cara berikut:
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.
Semua contoh di atas adalah contoh array satu dimensi. Untuk menggunakan array multidimensi, kita gunakan:
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
Atau secara fungsi:
======
Selamat Mencoba......
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 mendeklarasikanint[] 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]; }
"Rata-rata dari berat: " + (total / aBerat.Length));
Array multidimensi pada C#
|
int [,] aTahun = new int [,] { { 2001, 2002, 2003 }, { 2005, 2006, 2007 } };
//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
|
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
Reviewed by ADIARRAY
on
18.44
Rating:
Tidak ada komentar: