Mana yang lebih bagus Visual Studio atau Unity? - IMedia9 - Creative Networks

Breaking

Wednesday, 21 December 2016

Mana yang lebih bagus Visual Studio atau Unity?


Sebenarnya saya sudah pernah membahas soal ini pada postingan yang lain secara singkat, tapi sepertinya masih ada beberapa orang yang bingung bin kagak ngerti dengan perbandingan kedua software tersebut. Saya coba jelaskan pertanyaan tersebut dengan cara yang lebih mudah. Mana yang lebih bagus Microsoft Word atau Adobe Photoshop?

Bagi anda yang paham, pasti akan langsung teriak kalau semua itu ya tergantung fungsinya. Word untuk ngetik, dan Photoshop untuk ngedit foto. Kalau saya usil, saya akan balas tanya. Emangnya Word nggak bisa dipake ngedit foto? Emangnya Photoshop nggak bisa dipake ngetik skripsi? Bisa kok! Cuma ya gaje aja lihatnya. Masa ngetik skripsi pake Photoshop? Mau kelar kapan mas? Hehehe.

Hal yang sama berlaku untuk Visual Studio atau Unity. Masalahnya jadi rada kompleks sedikit karena keduanya terikat dengan satu pokok permasalahan yaitu bahasa C#. Visual Studio atau Unity sama-sama menggunakan bahasa C#. Jadi kita punya 2 buah C# yang berbeda. Satu C#-nya Visual Studio dan satunya lagi adalah C#-nya Unity.

C# mana yang bisa dipakai?

Apakah C#-nya Visual Studio bisa dipakai oleh Unity? Atau sebaliknya, bisakah C#-nya Unity dipakai oleh Visual Studio?

Jadi gini yah, Visual Studio itu sebenarnya hanya "alat untuk ngetik" seperti halnya Monodevelop yang merupakan editor bawaan Unity. Jadi sekali lagi, membandingkan antara Visual Studio dan Unity bukanlah suatu bentuk perbandingan yang tepat. Saya coba pakai analogi lain yang mudah-mudahan bisa anda mengerti. Bayangkan anda ingin belajar Otomotif dan Farmasi dengan menggunakan bahasa Indonesia. Maka ada beberapa pertanyaan yang mungkin timbul.
  Otofarmasi
Apakah bahasa Indonesia bisa dipakai untuk mempelajari Otomotif? Apakah bahasa Indonesia bisa dipakai untuk mempelajari Farmasi? Apakah bahasa Indonesia-nya Otomotif bisa dipakai pada Farmasi? Apakah bahasa Indonesia-nya Farmasi bisa dipakai pada Otomotif? Mulai kelihatan maksudnya?

Intinya adalah bahasa Indonesia di mana-mana sama. Tata bahasanya ya begitu, kosakatanya ya begitu. Namun ketika bahasa Indonesia masuk ke dalam konteks yang khusus misalnya Otomotif, maka akan terdapat beberapa istilah yang hanya bisa dimengerti di dunia Otomotif. Seperti halnya akan ada beberapa istilah yang hanya bisa dimengerti oleh dunia Farmasi. Kembali pada konteks bahasa C#.

 Secara umum struktur dan "kosakata" bahasa C# itu sama. Deklarasi variabel: int i, float c, string s Deklarasi class & directive: public class, private class Perintah kondisi: if(){ } else { } Perintah pengulangan: for () { }, while (){ } Tapi khusus untuk Unity, terdapat beberapa class yang memang dirancang khusus untuk membangun sebuah game. Misalnya: class GameObject, Animator, Collision, Raycast Dan masing-masing class tersebut memiliki berbagai method spesifik yang HANYA bisa dimengerti jika anda mempelajari dan memahami deskripsinya yang dijelaskan pada Unity Script Reference.

 Gampangnya gini deh. Visual Studio itu dibuat oleh tim developernya Microsoft kan? Bisa kita bilang bahwa para programmer Microsoft itu adalah super expert di dunia pemrograman, khususnya bahasa C#. Pertanyaannya adalah: Apakah tim developer Microsoft tahu kegunaan fungsi-fungsi dan class pada Unity? Jawabannya: NGGAK!

 Mereka juga pasti bingung tujuh keliling waktu pertama kali melihat "class C#" yang digunakan pada Unity. Kok bisa? Bukankah seharusnya para developer Microsoft itu jago-jago? Dan inilah sebenarnya yang juga menjadi kesalahan pemahaman pada pemula. Karena analogi kasus di atas bisa kita ganti jadi: Kok bisa Guru Besar Bahasa Indonesia yang jago bikin EYD nggak ngerti masalah Kedokteran? Bukan bahasa C#-nya yang menjadi masalah, bro. Tapi struktur class C#-nya yang dibuat secara khusus oleh tim developer Unity.

 Struktur class, kumpulan fungsi dan method-method itulah "sebenarnya" yang disebut dengan istilah Game Engine. Pada tahun 2007 silam, waktu pertama kali saya ngoding game bentuk dari game engine ya cuma begitu. Nggak kayak Unity yang sudah ada IDE canggih yang bisa tinggal drag-drop. Aslinya cuma sekumpulan script yang bikin kepala mumet pas pertama kali ngeliatnya. Tapi namanya juga Game Engine. Hanya dengan mengetikkan 1-2 baris fungsi anda sudah bisa menghasilkan mekanisme game yang canggih.

 Masalahnya cuma satu.

 Anda harus bisa memahami tujuan dari fungsi-fungsi yang sudah ada. Setiap Game Engine beda fungsi, beda parameter, dan beda outputnya. Dan untuk memahaminya, anda harus memahami struktur bahasa pemrogramannya terlebih dahulu baru struktur class pada game engine tersebut. Menurut saya, ini adalah analogi yang sama untuk C# dan Unity.

 Jadi jika kemudian ada pertanyaan lanjutan: Saya harus membaca buku apa untuk mulai mempelajari Unity? Buku dasar-dasar pemrogaman Visual C#? Atau langsung buku Unity Tutorial Game Engine? Sebagai penulis buku Unity Tutorial Game Engine, saya ingin menjawab: Anda lebih baik baca saja buku saya.

Tapi sebagai programmer, saya sarankan anda untuk membaca buku dasar-dasar pemrograman visual C# terlebih dahulu. Kenapa? Kembali ke analogi di atas. Bayangkanlah jika anda kuliah di fakultas kedokteran terkenal di Korea tapi anda sama sekali tidak bisa bahasa Korea. Apakah anda bisa belajar dengan optimal?

No comments:

Post a Comment