Game merupakan sebuah permainan/hiburan multimedia yang dibuat semenarik mungkin untuk menghibur/memenuhi kepuasan pemain. Di dalam game umummya terdapat reward system (sistem penghargaan) bagi pemain, misalnya dalam bentuk skor. Skor dihitung berdasar tingkat keberhasilan yang dicapai pemain dalam menyelesaikan tugas-tugas yang ada di dalam Game.
Genre
Ketika kita mengaktifkan fungsi pencarian game di sebuah aplikasi Store, akan muncul beberapa genre game yang bisa kita nikmati.
Genre Game berbeda-beda berdasarkan cara bermain, tujuan, dan seni di dalamnya, antara lain:
- Action: permainan aksi yang menekankan pada tantangan fisik. Dibutuhkan koordinasi mata dan keterampilan motorik untuk mengatasai tantangan tersebut. Genre Action memiliki banyak sub-genre seperti game platform, game fighting dan game shooter.
- Action-Adventure: permainan kombinasi yang memadukan unsur-unsur dari dua genre yang berbeda; aksi dan petualangan. Pemain biasanya ditantang untuk mengumpulkan item tertentu, memecahkan teka teki dan bertarung.
- Adventure: game yang meminta pemain untuk memecahkan teka teki melalui interaksi dengan orang atau lingkungan. Gameplay ini umumnya dimainkan dengan santai.
- Role-Playing: Game di mana pemain memerankan satu peran atau lebih yang mengkhususkan diri pada keahlian spesifik dengan alur yang telah ditentukan sebelumnya. Gameplay yang terkait seperti contohnya RPG, MMORPG, dll.
- Simulation: permainan yang dirancang untuk mensimulasikan aspek nyata atau fiktif secara dekat. Contohnya, simulasi menerbangkan pesawat terbang, mengendarai mobil, dan lain-lain.
- Strategy: permainan yang membutuhkan pemikiran dan perancangan yang hati-hati dan terampil guna meraih kemenangan.
- Sport: merupakan permainan yang mensimulasikan olahraga. Pemain lawannya dapat dikendalikan oleh orang lain atau manifestasi dari kecerdasan buatan, contohnya game sepak bola.
- Casual Game: permainan yang dapat diselesaikan dalam waktu singkat dan dapat dimainkan dengan santai. Di dalam game ini, umumnya tidak ada konotasi negatif seperti kekerasan atau konfrontasi.
- Trivia Game: permainan menjawab pertanyaan.
- Massively Multiplayer Online (MMO) atau Massively Multiplayer Online Game (MMOG): Game multiplayer yang dapat dimainkan oleh banyak pemain dalam waktu bersamaan. Permainan ini dapat ditemukan di sebagian besar platform dengan kemampuan jaringan seperti komputer pribadi, konsol, smartphone, dan perangkat seluler lainnya.
Referensi:
Tahapan Membuat Game
Proses membuat game terdiri dari 3 (tiga) tahapan yaitu: Ide, Development, dan Publishing.Tahap Ide
Developer yang menyusun bagian ini haruslah seseorang yang paham tentang Game Design. Tahapan ini utamanya melibatkan proses utama Brainstorming dan Prototyping. Lebih lanjut, output dari tahap ini adalah sebuah Concept Document. Untuk sukses sedari tahap awal ini, perhatikan hal-hal sebagai berikut:
- Gunakan market data / penelitian / wawasan.
- Tentukan target konsumen.
- Miliki konsep yang layak (layak dikembangkan dan dipertahankan sebagai bisnis).
- Tentukan genre game yang baik dan manfaatkan keahlian tim.
- Buatlah konsep game yang kecil dan sederhana sehingga dapat segera di-publish. Jika membuat game yang terlalu kompleks dikhawatirkan game tersebut tidak bisa tuntas dikembangkan atau tidak jadi diluncurkan.
- Masukkan konten lokal sehingga menarik minat pasar konsumen Indonesia.
- Gunakan sedikit fitur namun disertai dengan perbaikan dan pembaruan rutin. Hal ini lebih baik dibandingkan dengan banyak fitur tapi minim perbaikan dan pembaruan.
- Perbanyak konten karena dengan semakin banyak konten semakin lama pula user bermain. Dengan playtime/retention yang tinggi, jumlah unduhan dan peringkat di Google Play pun menjadi lebih tinggi.
- Miliki perbedaan mekanik dengan game yang sejenis walaupun hanya sedikit.
- Perhatikan faktor randomisasi, multiplayer, konten, dan cerita. Tujuannya, agar user termotivasi untuk kembali bermain (replayability).
- Pastikan desain game mudah dipahami sehingga user tidak harus membaca tutorial terlebih dulu sebelum bermain.
Tahap Development
Setelah konsep dokumen selesai, berlanjut ke tahap pengembangan (development).
Output dari tahap ini adalah sebuah game final. Adapun bagian komposisi
tim yang berperan mewujudkan game final ini adalah sebagai berikut:
- Game Programmer (Primer)
- Game Artist (Sekunder)
- Game Design (Sekunder)
- Game Producer (Tersier)
- Game Sound Engineer / Composer (Tersier)
- QA (Tersier)
Berikut gambaran proses model iterative.
- Iterative Development → Disarankan menggunakan Two Week Sprint dengan tujuan pengguna yang jelas setiap saat.
- Masukan yang Berulang dari Pengguna (Repetitive User Feedback) → Sangat disarankan untuk selalu memperhatikan feedback dari pengguna. Untuk keperluan tersebut, gunakan sistem data analitis yang baik, contohnya: Funneling.
Tips:
- Ukuran berkas (file) sebaiknya kecil.
- Implementasikan Google Play Service agar kesempatan untuk di-featured lebih besar.
- Jika game-nya sederhana, kembangkan dengan native, tapi jika gamenya cukup kompleks dan butuh multiplatform, gunakan game engine (Unity, dll).
- Pastikan desain UI ramah pengguna (user friendly) dan mudah dimengerti.
- Pahami dasar-dasar pemrograman game.
- Evaluasi game dengan mencoba memainkannya sendiri.
Publishing
Setelah game selesai maka target selanjutnya adalah user (pengguna) dan revenue (pemasukan).Tim yang terlibat dalam proses ini adalah:
- DevOps Team
- User Acquisition
- Data Analyst
- Creative
- IT
- Test Launch (Beta)
- Soft Launch
- Grand Launch
- DevOps: Pembaruan konten dan aktivitas pengguna secara reguler.
- Analysis-driven decision: Sandarkan semua keputusan pada data terutama saat melakukan akuisisi pengguna.
- Marketing/Akuisisi
- Perbarui game. Semakin sering memperbarui, semakin baik indeks game.
- Lakukan pra-rilis ke situs-situs terkait baik lokal maupun global.
- Gunakan iklan berbayar untuk mempromosikan produk.
- Retensi
- Adakan event atau reward untuk menarik hati user agar bermain kembali.
- Buat komunitas online.
- Analisa progress (perkembangan) dan tindak lanjuti hasil analisa tersebut dengan langkah-langkah yang konkret.
- Perbarui game berdasar hasil analisa.
- Evaluasi dan ukur keberhasilan/kekurangan secara berkala.
Unity
Unity adalah sebuah software game development (Game Engine) yang digunakan untuk mengembangkan game multiplatform. Selain ke dalam PC, Unity juga dapat di-build ke berbagai platform antara lain:
Unity dapat digunakan untuk membuat game berbasis 3D atau berbasis 2D
sehingga memungkinkan developer untuk berkreasi membuat berbagai jenis
game.
Persyaratan untuk Menginstall Unity 2018
Sebelum menginstall Unity, pastikan Anda telah memenuhi kelengkapan berikut ini ya:OS:
- Windows 7 SP1 atau yang lebih baru
- Windows 8
- Windows 10
- Mac OS X 10.9 atau yang lebih baru
GPU:
- Graphics card dengan DX9 (shader model 3.0) atau
- DX11 with feature level 9.3 capabilities.
- Minimal memiliki kapasitas ram 4 GB, namun 8 GB lebih disarankan.
Komponen terdiri dari:
- Unity 2018, sebuah Unity Editor yang di dalamnya terdapat MonoDevelop untuk membuat sebuah game.
- Documentation, berisikan Unity user manual dan referensi Scripting API yang dapat dikunjungi secara offline.
- Standard Assets, terdapat resources baik itu asset atau script untuk memudahkan developer membangun sebuah game di Unity.
- Example Project, sebuah contoh proyek game yang menggunakan standard asset yang disediakan oleh Unity.
- Build Support, salah satu kelengkapan membuat game dengan menargetkan platform tertentu.
Jika terlewat menginstall Unity, Documentation, Standard Assets, dan Example Project, Anda dapat unduh di https://unity3d.com/get-unity/download/archive. Sedangkan untuk modul build support, Anda dapat mengunduhnya di jendela Build Settings.
Pengenalan Interface Unity
Berikut ini adalah tampilan Interface pada Unity di mana terdapat Toolbar, Hierarchy Window, Scene Window, Game View, Inspector Window, Project Window, dan Console Window.
Toolbar digunakan untuk
memanipulasi Scene View dan objek-objek di dalamnya. Fungsinya beragam,
yakni dari memindahkan posisi view, rotasi, hingga skala objek.
Hierarchy window digunakan untuk melihat daftar GameObject apa saja yang ada di dalam scene. Setiap objek yang ada di scene pasti masuk di Hierarchy.
Scene Window
Scenes
Window digunakan untuk melihat secara keseluruhan obyek yang digunakan
di Game. Scenes Window juga dapat mengedit objek, baik itu dalam hal
posisi, rotasi maupun skala.
Game View
Game View digunakan untuk melihat hasil akhir dari Game yang nantinya akan ditampilkan di layar user.
Inspector Window
Inspector window digunakan untuk mengedit semua properties pada obyek yang aktif.
Project Window
Project
window digunakan untuk menampilkan daftar asset yang dapat digunakan
dalam proyek Anda. Ketika menambahkan asset baru, ia akan muncul di
Project Window.
Console Window
Digunakan untuk mengetahui log-log dalam script serta informasi eror dan peringatan yang ada di script.
Referensi:
Secara default, pada script yang baru ini akan tampil 2 buah prosedur, yaitu:
- Start()
Prosedur ini akan dipanggil satu kali di awal, pada saat script pertama kali di-enable. Prosedur ini sesuai untuk inisialisasi. - Update()Untuk daftar prosedur dan fungsi lengkap yang ada pada kelas MonoBehaviour, silakan merujuk ke tautan ini: https://docs.unity3d.com/ScriptReference/MonoBehaviour.html.
Prosedur ini dipanggil pada setiap frame, apabila script di-enable. Prosedur ini sesuai untuk bagian script yang dieksekusi berulang-ulang.
MonoBehaviour
MonoBehaviour adalah class dasar dari setiap script Unity yang dibuat. Ketika Anda menggunakan C#, MonoBehaviour secara otomatis (default) akan tercipta.
Berikut ini kotak centang untuk mengaktifkan atau menonaktifkan MonoBehaviour (script) pada Unity Editor. Letaknya ada pada tab Inspector.
Fungsi MonoBehaviour untuk menonaktifkan script ketika di tidak di-checklist. Jika fungsi-fungsi tersebut dinonaktifkan maka tidak akan terjadi apa-apa pada Log Console. Berikut ini fungsi-fungsi yang akan dibahas pada modul ini:
- Awake() dan Start()
- Update(), FixedUpdate(), dan LateUpdate()
Di bawah ini adalah diagram untuk pengurutan dan pengulangan fungsi selama script dijalankan.
Awake
Awake digunakan untuk menginisialisasi variabel pada saat status game belum dimulai. Awake dipanggil ketika script sedang dijalankan dan setelah semua objek diinisialisasi Sehingga, Anda dapat memanggil objek lain.
Contoh kode dari fungsi Awake:
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public class LatihanAwake : MonoBehaviour {
- void Awake() {
- Debug.Log("Awake Dipanggil");
- }
- }
Pembahasan kode:
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
3 baris kode di atas adalah Library bawaan saat script dibuat. Kita dapat memberi Library tambahan seperti scene, UI dan lainnya.
- public class LatihanAwake: MonoBehaviour
Nama kelas dari script. Nama kelas harus sama dengan berkas (file) script yang dibuat.
- void Awake()
Fungsi ini akan dipanggil selama script dijalankan.
- Debug.Log("Awake Dipanggil");
Akan terpanggil setelah fungsi Awake() dijalankan.
Start
Start dipanggil ketika script diaktifkan tepat sebelum fungsi Update dipanggil pertama kali. Seperti fungsi Awake, Start dipanggil tepat saat script dalam keadaan aktif. Namun, Awake dipanggil ketika objek script di nisialisasi, terlepas dari apakah script diaktifkan atau tidak.
Contoh kode dari fungsi Start:
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public class LatihanStart : MonoBehaviour {
- void Start() {
- Debug.Log("Start Dipanggil");
- }
- }
Pembahasan kode:
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
3 baris kode di atas adalah Library bawaan saat script dibuat. Kita dapat memberi Library tambahan seperti scene, UI dan lainnya.
- public class LatihanStart : MonoBehaviour
Nama kelas dari script. Nama kelas harus sama dengan berkas script yang dibuat.
- void Start()
Fungsi ini akan dipanggil saat script diaktifkan dan dijalankan.
- Debug.Log("Start Dipanggil");
Akan terpanggil setelah fungsi Start() dijalankan.
Berikut ini contoh penerapan kedua fungsi tersebut, Awake dan Start.
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public class Latihan1 : MonoBehaviour {
- //fungsi Awake
- void Awake() {
- Debug.Log("Awake dipanggil");
- }
- //fungsi Start
- void Start() {
- Debug.Log("Start dipanggil");
- }
- }
Update
Update akan
aktif jika MonoBehaviour diaktifkan. Update akan terpanggil sesudah
Start dipanggil. Update adalah fungsi yang paling sering digunakan untuk
menerapkan script game. Namun, tidak semua MonoBehaviour membutuhkan script Update. Biasanya kita membuat method baru untuk mendeklarasikan sebuah fungsi.
Contoh kode dari fungsi Update:
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public class LatihanUpdate : MonoBehaviour {
- void Update() {
- Debug.Log("Waktu untuk Update :" + Time.deltaTime);
- }
- }
Pembahasan kode:
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
3 baris kode di atas adalah Library bawaan saat script dibuat. Kita dapat memberi Library tambahan seperti scene, UI dan lainnya.
- public class LatihanUpdate : MonoBehaviour
Nama kelas dari script. Nama kelas harus sama dengan berkas script yang dibuat.
- void Update()
Fungsi ini akan dipanggil saat script diaktifkan dan dijalankan setelah Start().
- Debug.Log("Waktu untuk Update :" + Time.deltaTime);
Dijalankan saat fungsi Update() dijalankan dan akan menampilkan waktu yang sama.
FixedUpdate
FixedUpdate biasanya digunakan sebagai gantinya Update ketika bertemu dengan Rigidbody. Misalnya saat menambahkan physic ke benda.
Contoh kode dari fungsi FixedUpdate:
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public class LatihanFixedUpdate : MonoBehaviour {
- void FixedUpdate() {
- Debug.Log("Waktu untuk FixedUpdate :" + Time.deltaTime);
- }
- }
Pembahasan kode:
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
3 baris kode di atas adalah Library bawaan saat script dibuat. Kita dapat memberi Library tambahan seperti scene, UI dan lainnya.
- public class LatihanFixedUpdate : MonoBehaviour
Nama kelas dari script. Nama kelas harus sama dengan berkas script yang dibuat.
- void FixedUpdate()
Fungsi ini akan dipanggil saat script diaktifkan dan dijalankan setelah Update().
- Debug.Log("Waktu untuk FixedUpdate :" + Time.deltaTime);
Dijalankan saat fungsi FixedUpdate() dijalankan dan akan menampilkan waktu berbeda.
LateUpdate
LateUpdate dipanggil setelah semua fungsi Update dipanggil. Ia berguna untuk memberi log console eksekusi script. Contohnya, Camera Follow harus selalu diimplementasikan di LateUpdate karena melacak objek yang mungkin telah bergerak di dalam Update.
Contoh kode dari fungsi LateUpdate:
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public class LatihanLateUpdate : MonoBehaviour {
- void LateUpdate() {
- Debug.Log("Waktu untuk LateUpdate :" + Time.deltaTime);
- }
- }
Pembahasan kode:
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
3 baris kode di atas adalah Library bawaan saat script dibuat. Kita dapat memberi Library tambahan seperti scene, UI dan lainnya.
- public class LatihanLateUpdate : MonoBehaviour
Nama kelas dari script. Nama kelas harus sama dengan berkas script yang dibuat.
- void LateUpdate()
Fungsi ini akan dipanggil saat script diaktifkan dan dijalankan setelah Update() dan FixedUpdate().
- Debug.Log("Waktu untuk LateUpdate :" + Time.deltaTime);
Dijalankan saat fungsi LateUpdate() dijalankan dan akan menampilkan waktu berbeda.
Berikut ini contoh penerapan ketiga fungsi Update, FixedUpdate dan LateUpdate.
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public class Latihan1 : MonoBehaviour {
- void FixedUpdate () {
- Debug.Log("Waktu untuk FixedUpdate :" + Time.deltaTime);
- }
- void Update () {
- Debug.Log("Waktu untuk Update :" + Time.deltaTime);
- }
- void LateUpdate () {
- Debug.Log("Waktu untuk LateUpdate :" + Time.deltaTime);
- }
- }
Mengatur Editor Script
Secara default Unity menggunakan MonoDevelop sebagai Editor Script.Namun jika Anda menginginkan editor yang lebih sophisticated / terdepan, Anda dapat menggunakan Visual Studio. Untuk pilihan editor yang ringan dan lebih sederhana, pakailah Notepad++ . Pemilihan tersebut tergantung kenyamanan Anda dalam menulis kode dan spesifikasi komputer yang Anda miliki.
Variable
Sebuah variable (variabel) dapat menyimpan satu dari dua tipe nilai, yaitu value type dan reference type.- Values Type adalah dasar dari tipe data primitif seperti char, int, dan float, serta tipe user-defined yang dideklarasikan dengan struct.
- Reference Type adalah kumpulan class atau data kompleks yang dibangun dari tipe data primitif.
Modifier Access
Modifier Access merupakan hak akses user untuk memanggil sebuah variabel dari sebuah kelas.- Public
Variabel yang dapat dipanggil/diakses dari kelas lain, misalnya:- public string nama = “Alif”;
- Protected
Variabel yang dapat dipanggil/diakses hanya dari kelas turunan, misalnya:- protected string nama = “Ali”;
- Private
Variabel yang hanya dapat diakses oleh kelas itu sendiri, misalnya:- private string nama = “Ali”;
- Default
Variabel yang memiliki hak akses sama seperti Private, misalnya:- string nama = “Ali”;
Cara Deklarasi Variable
Cara deklarasi variabel yang sering digunakan dalam membuat game dapat dikelompokkan sebagai berikut:- Global Variable
Variabel yang dapat digunakan atau dipanggil oleh semua fungsi atau method, misalnya:
- public class Contoh : MonoBehaviour
- {
- string nama = "Dico"; // Global Variable
- void Start ()
- {
- Debug.Log ("My Name: "+nama); // Kamu dapat panggil disini
- }
- void Update ()
- {
- Debug.Log ("My Name: "+nama); // Kamu dapat panggil disini
- }
- }
- Local Variable
Variabel yang hanya dipanggil pada method atau fungsi di mana ia dideklarasikan, misalnya:
- public class Contoh : MonoBehaviour {
- void Start ()
- {
- string nama = "Dico"; // Local Variable
- Debug.Log ("My Name: "+nama); // Kamu dapat panggil disini
- }
- void Update ()
- {
- // Kamu tidak dapat panggil disini
- }
- }
- Constant Variable
Variabel yang memiliki nilai tetap dan tidak dapat diubah, misalnya:
- public class Contoh : MonoBehaviour
- {
- const string ID = "1234"; // Constant Variable
- }
- Static Variable
Variabel yang dapat langsung dipanggil oleh kelas lain tanpa harus membuat objek dari kelas itu sendiri, misalnya:
- public class Data
- {
- public static string ID = "1234"; // Static Variable
- }
Kelas yang memanggil static variable.
- public class Contoh : MonoBehaviour {
- void Start ()
- {
- Debug.Log ("ID: "+Data.ID); // Kamu dapat panggil disini
- }
- }
Aturan Penulisan Nama Variable
Penulisan nama variabel sebenarnya bebas, tetapi untuk membedakan penulisan lainnya, yakni antara variabel dengan kelas dan fungsi, kita membutuhkan sebuah penulisan khusus seperti ini:- Kata diawali huruf kecil, misalnya: timer, nama, alamat.
- Jika lebih dari 2 kata, maka kata kedua diawali huruf besar, misalnya playerController, enemyZombie.
Tetapi hal diatas tidak berlaku pada variable Konstanta yang memiliki aturan sebagai berikut:
- Semua huruf pada kata terdiri dari huruf besar, misalnya TOKEN.
- Jika lebih dari 2 kata, maka dipisahkan dengan garis bawah (Underscore), misalnya TOKEN_ADS.
Function
Di dalam pemrograman, function juga digunakan untuk memudahkan kita untuk memahami sekumpulan kode. Dengan menggunakan function yang diimplementasikan dengan baik, kode akan lebih sederhana dan rapi.Aturan Penulisan Function/Method
- Setiap kata diawali dengan huruf besar.
- Tambahkan();
- Jika nama fungsi lebih dari 2 kata maka kata kedua menggunakan huruf besar.
- SamaDengan();
Classes and Object
Class adalah sebuah bangunan dasar dari bahasa berorientasi object. Ia berisi metode dan variabel yang berfungsi untuk menciptakan suatu instance dari object. Sedangkan object itu sendiri adalah perumpamaan dari class yang mempresentasikan sebuah object. Anda dapat melihat bagan di bawah ini.Setiap class dapat dipresentasikan ke banyak object. Penggunaan prinsip di atas memudahkan kita untuk mengelompokkan sesuatu yang memiliki sifat yang sama. Misalnya, dari class mobil dapat dibuat beberapa object seperti Jazz, Avanza, Kijang, dll.
Setiap Object dapat memanggil Property dan Method yang memiliki access modifier public yang terdapat dalam suatu Class.
Inheritance
Inheritance atau warisan adalah konsep Pemrograman Berorientasi Objek (OOP) yang digunakan untuk mengakses dan menggunakan kembali sifat atau metode satu kelas dari kelas lainnya.Di dalam inheritance, kelas dasarnya dikenal sebagai Base Class (kelas dasar). Sementara kelas yang mewarisi dari base dikenal sebagai Derived Class (kelas turunan).
Ketika membuat kelas baru di Unity, maka secara otomatis kelas tersebut merupakan turunan dari MonoBehaviour sebagai default-nya. Di dalam kelas turunan ini kita bisa mengakses banyak fungsi seperti Update(), Start(), dan fungsi lain yang dimiliki oleh Class Monobehaviour.
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public class Kosongan : MonoBehaviour
- {
- // Use this for initialization
- void Start()
- {
- }
- // Update is called once per frame
- void Update()
- {
- }
- }
Berikut ini adalah ilustrasi pada kelas turunan.
Jika kelas A memiliki method SeniLukis() dan Menyanyi() dan B merupakan turunan dari kelas A, maka B memiliki method yang sama dengan kelas A.
Kemudian Base Class (Kelas Dasar) dapat diturunkan kebeberapa kelas turunan. Kelas turunan tersebut juga dapat diturunkan kembali ke kelas turunan yang lain, seperti yang ditampilkan pada bagan di bawah ini:
Berikut ini adalah contoh turunan pada variabel base class (kelas dasar) ke kelas yang lain.
- Public, merupakan feature pada method, property atau variabel yang dapat diturunkan kepada kelas yang diwariskan dan dapat diakses juga oleh kelas yang bukan turunannya.
- Protected, murupakan feature pada method, property atau variable yang dapat diturunkan kepada kelas yang diwariskan tetapi tidak dapat diakses oleh kelas yang bukan turunannya.
- Private, murupakan fitur pada method, property atau variable yang tidak dapat diturunkan kepada kelas yang diwariskan serta tidak dapat diakses oleh kelas yang bukan turunannya.
Array
Jika Anda terbiasa menggunakan bahasa Java, mungkin akan sedikit bingung dengan penulisan Array di C#. Jangan khawatir, Anda dapat mempelajari perbedaannya di pembahasan ini.Array digunakan untuk menyimpan tipe data sejenis yang dikelompokkan sebagai satu kesatuan, seperti contoh di bawah ini.
- Single Dimension Arrays
Menyimpan banyak nilai dalam satu variabel, misalnya:- int[] intArray; // Deklarasi Array
- void Start ()
- {
- intArray = new int[4]; // Inisialisasi Array
- intArray[0] = 10; // Memasukkan nilai ke Array
- intArray[1] = 20;
- intArray[2] = 30;
- intArray[3] = 40;
- }
- Multi-Dimensional Arrays
Berikut ini adalah contoh array 2 dimensi di mana untuk mendapatkan sebuah nilainya, kita perlu 2 buah nilai, misalnya baris ke 1 dan kolom ke 0 dengan nilai 30.- int[,] intArray2; // Deklarasi Array
- void Start ()
- {
- intArray2 = new int[2,2]; // Inisialisasi Array
- intArray2[0,0] = 10;// Memasukkan nilai ke Array
- intArray2[0,1] = 20;
- intArray2[1,0] = 30;
- intArray2[1,1] = 40;
- }
- Jagged Arrays
Bisa dikatakan "array di dalam array," misalnya:- int[][] intArray3; // Deklarasi Array
- void Start ()
- {
- intArray3 = new int[2][]; // Inisialisasi Element
- intArray3[0] = new int[2]; // Inisialisasi Array
- intArray3[1] = new int[3];
- intArray3[0][0] = 10;// Memasukkan nilai ke Array
- intArray3[0][1] = 20;
- intArray3[1][0] = 30;
- intArray3[1][1] = 40;
- intArray3[1][2] = 50;
- }
Reference & Images Source :
dicoding
Menjadi Game Developer Expert
No comments:
Post a Comment