Skip to content

felixirwanto080/Introduction-to-Programming-and-Game-Introduction

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 

Repository files navigation

Introduction to Programming & Game Introduction

oleh Felix Irwanto (GameDev Kelompok 3)


Game Introduction

Game berasal dari kata bahasa inggris yang memiliki arti permainan. Menurut Kominfo, Game adalah suatu bentuk permainan atau olahraga, terutama yang kompetitif yang dimainkan menurut aturan dan diputuskan oleh keterampilan, kekuatan, atau keberuntungan.

   

Menurut Chris Crawford, ( Atari Game Designer ), terdapat 5 tahapan untuk mendefinisikan sebuah game:

  • Game disebut seni jika diperuntukkan untuk kesenangan, namun disebut hiburan jika diperuntukkan untuk uang.
  • Sebuah hiburan disebut game apabila bersifat interaktif.
  • Jika tidak terdapat tujuan akhir dari sebuah hiburan, maka disebut mainan.
  • Jika game tidak memiliki lawan, maka disebut puzzle dan disebut conflict, jika memiliki lawan.
  • Jika conflict tidak boleh mengganggu lawan, maka disebut kompetisi dan disebut GAME, jika boleh mengganggu lawan.

Keterampilan / Skills yang dibutuhkan dalam Game Development:

  • Game Design: Konsep dan dokumentasi game, aturan game (kalah-menang), statistik game yang bersifat tahap utama. Kemampuan yang dituntuk yaitu analisa, visi, penulisan cerita, keseimbangan statistik, desain, tren, komunikasi, dan ilmu umum.
  • Programming: Pengimplementasian game design menjadi produk melalui fase ngoding yang bersifat tahap kedua. Kemampuan yang dituntuk yaitu pemrograman, logika, peralatan yang terkait, pemodelan data, pemecahan masalah, analisa, sains, dan matematika.
  • Arts: Estetika (suara, musik, narasi, dsb.) yang ada di dalam game yang bersifat tahap tersier. Kemampuan yang dituntuk yaitu rasa seni, peralatan yang terkait, photoshop, blender, FL Studio, tren, dan fleksibel.

Catatan Penting:

Sumber: hybrid.co.id (2021)

  • Negara China menjadi pasar E-sports terbesar di Asia dengan pendapatan sebesar $403,1juta atau sekitar 6 Triliun Rupiah.
  • Negara Indonesia memiliki pendapatan sebesar $14,9juta atau sekitar 223 Miliar Rupiah yang tidak jauh dengan negara-negara di Asia Tenggara lainnya, meski memiliki penduduk ke-4 terbesar di dunia.

Introduction-to-Programming

Menurut Atmoko & Arizona (2016), Programming / Pemrograman adalah aktivitas membuat program. Program adalah sederetan instruksi atau statement dalam bahasa yang dimengerti oleh komputer yang bersangkutan, Yulikuspartono (2009:29). Bahasa yang dimengerti dari kalimat sebelumnya juga dikenal sebagai Programming Language / Bahasa Pemrograman. Programming Language bertujuan untuk mengajarkan komputer apa yang harus dilakukan secara jelas, sehingga komputer dapat menghasilkan output sesuai keinginan pengguna. Berikut contoh bahasa pemrograman yang dimengerti oleh komputer dan cukup populer, seperti: C, C#, PHP, Python, Javascript, Pascal, dll.

Bahasa Pemrograman terbagi menjadi beberapa jenis, yaitu Procedural Programming Language, Functional Programming Language, Object-oriented Programming Language, Scripting Programming Language, dan Logic Programming Language:

  • Procedural Programming Language : Bahasa pemrograman yang mengeksekusi urutan pernyataan yang mengarah pada hasil, menggunakan banyak variabel, loop berat, dan elemen lainnya.
  • Functional Programming Language : Bahasa pemrograman yang menggunakan data yang tersimpan, fungsi rekursif, dan nilai kembali fungsi.
  • Object-oriented Programming Language : Bahasa pemrograman yang menggunakan sistem enkapsulasi, pewarisan, dan polimorfisme.
  • Scripting Programming Language : Bahasa pemrograman yang bersifat prosedural, dapat terdiri dari elemen bahasa berorientasi objek, namun tidak cocok untuk pengembangan sistem besar.
  • Logic Programming Language : Bahasa pemrograman yang memuat pernyataan deklaratif dan memungkinkan mesin untuk mempertimbangkan konsekuensi dari pernyataan tersebut.

Dikutip dari dosenIT, Bahasa Pemrograman terbagi menjadi beberapa tingkatan:

  • Bahasa pemrograman tingkat rendah (Bahasa Mesin): Bahasa yang bisa diolah komputer secara langsung tanpa kompilasi. Contoh: Bahasa biner.
  • Bahasa pemrograman tingkat menengah (Bahasa Assembly): Bahasa yang memberikan satu tingkat abstraksi di atas kode mesin dan sedikit semantik / simbol. Contoh: Bahasa Assembler.
  • Bahasa pemrograman tingkat tinggi: Bahasa yang memiliki sifat lebih mudah digunakan, mudah diadaptasikan antar-platform, dan lebih abstrak. Contoh: Bahasa C++, Visual Basic, Delphi, dan Pascal.
  • Bahasa pemrograman tingkat sangat tinggi: Bahasa pemrograman dengan tingkat abstraksi yang sangat tinggi, yang di gunakan terutama sebagai alat produktivitas programmer profesional. Contoh: Bahasa VB.Net, Java, dan PHP.

Statement Vs Syntax

Statement

Statement berfungsi memerintah komputer dengan instruksi yang jelas dan terperinci. Syntax adalah aturan yang mendefinisikan kombinasi simbol yang dianggap sebagai statement / pernyataan terstruktur dengan benar dalam suatu bahasa pemrograman.

Variabel

Variabel adalah lokasi penyimpanan yang dipasangkan dengan nama simbolis terkait (pengidentifikasi) yang berisi nilai. Contoh: int x = 80;

Data & Data Types

Data adalah suatu kumpulan yang terdiri dari fakta-fakta untuk memberikan gambaran yang luas terkait dengan suatu keadaan. Data Types atau tipe data adalah cara yang digunakan untuk menentukan jenis dari suatu data. Contoh: char, string, integer, float, dan boolean. Contoh: int x = 80;

Conditional

Conditional atau pengkondisian adalah pernyataan untuk menangani keputusan yang ada ketika membuat sebuah program untuk melakukan tindakan yang berbeda tergantung pada suatu kondisi benar atau salah. Pengkondisian yang sering dipakai dalam program yaitu if-else dan switch.

Contoh pengkondisian if digabung dengan switch (kondisi benar dan salah):

int gold = 10000;

Console.Write("Gold yang Dimiliki: " + gold);
Console.Write("\nItem Yang Ingin Dibeli : ");
string item = Console.ReadLine();

switch(item){
    case "Sword" : 
        if(gold >= 5000)
        {
            gold -= 5000;
            Console.WriteLine("Item Sword Terbeli");
            Console.WriteLine("Sisa Gold : " + gold);
        }
        else{
            Console.WriteLine("Gold Kurang");
        }
        break;
    case "Shield" :
        if(gold >= 3000)
        {
            gold -= 3000;
            Console.WriteLine("Item Shield Terbelih");
            Console.WriteLine("Sisa Gold : " + gold);
        }
        else{
            Console.WriteLine("Gold Kurang");
        }
        break;
    case "Gun" :
        if(gold >= 12000)
        {
            gold -= 12000;
            Console.WriteLine("Item Gun Terbelih");
            Console.WriteLine("Sisa Gold : " + gold);
        }
        else{
            Console.WriteLine("Gold Kurang");
        }
        break;
    default:
        Console.WriteLine("Item tidak tersedia");
        break;
}

Output:

   

Loops

Loops atau perulangan berfungsi mengulangi tugas tertentu sampai mencapai titik henti. Titik henti dapat berupa pernyataan yang telah ditentukan sebelumnya atau kondisional. Perulangan yang sering dipakai dalam program yaitu for dan while. For dipakai ketika suatu perulangan sudah secara jelas diketahui titik hentinya. Contoh:

using System;
namespace Perulangan{
    class perulanganFor{
        static void Main (string[] args) {
            // Program Felix Irwanto - Game 3
            Console.Clear();
            int[,] duaDimensi = new int[3,4]{ {1,2,3,4}, {5,6,7,8}, {9,10,11,12}};
            for (int i = 0; i < duaDimensi.GetLength(0); i++)
            {
                for (int j = 0; j < duaDimensi.GetLength(1); j++)
                {
                    Console.Write(duaDimensi[i,j] + " ");
                }
                Console.WriteLine();
            }
        }
    }
}

Output:

While dipakai ketika suatu perulangan belum diketahui titik hentinya. Contoh:

using System;
namespace Perulangan{
    class perulanganWhile{
        static void Main (string[] args) {
            // Program Felix Irwanto - Game 3
            Console.Clear();
            int angka;
            int jumlahDigit;

            angka = 10;
            jumlahDigit = 0;

            Console.WriteLine("Angka: " + angka);
            while (angka > 0)
            {
                jumlahDigit++;
                angka = angka / 10;
            }

            Console.WriteLine("Jumlah Digit: " + jumlahDigit);
        }
    }
}

Output:

Function / Method

Function / Method adalah bagian dari kode yang ditulis sekali tetapi dapat digunakan di banyak tempat dalam program. Function / Method dalam program terbagi dua, yaitu method void dan method bertipe data. Method void dipakai ketika suatu method tidak memiliki nilai balikan. Contoh:

using System;
namespace FungsiMethod {
    class MethodVoid
    {
        static void Main(string[] args)
        {
            Console.Clear();
            HitungTampilkanHasil();
            HitungTampilkanHasil();
            HitungTampilkanHasil();
        }

        static void HitungTampilkanHasil()
        {
            Console.WriteLine(45 + 55);
        }
    }
}

Output:

Method bertipe data dipakai ketika suatu method memiliki nilai balikan. Method juga dapat disederhanakan dengan mendefinisikan Expression-Embodied Member. Contoh:

using System;
namespace Penjumlahan {
    class Angka {
        static int PenjumlahanTigaAngka(int angka1, int angka2, int angka3) => angka1 + angka2 + angka3;
        static void Main(String[] args) {
            Console.Clear();
            Console.WriteLine(PenjumlahanTigaAngka(33,33,34));
        }
    }
}

Output:

Array

Array adalah struktur data yang menyimpan data yang serupa. Array terbagi menjadi array satu dan multi dimensi.

Contoh Array Satu Dimensi:

object[] arrayObjek = { 20.33, "Lorem ipsum", true, 'D' };
Console.WriteLine($"{arrayObjek[2]}");

Output:

Contoh Array Dua Dimensi:

char[,] arrayXO   = new char [3, 3];

for (int i = 0; i < arrayXO.GetLength(0); i++)
{
    for (int j = 0; j < arrayXO.GetLength(1); j++)
    {
        if(i % 2 == 0)
        {
            if(j % 2 == 0) {
                arrayXO[i,j] = 'x';
            }
            else{
                arrayXO[i,j] = 'o';
            }
        }
        else
        {
            if(j % 2 == 0) {
                arrayXO[i,j] = 'o';
            }
            else {
                arrayXO[i,j] = 'x';
            }
        }
    }
}

for (int i = 0; i < arrayXO.GetLength(0); i++)
{
    for (int j = 0; j < arrayXO.GetLength(1); j++)
    {
        Console.Write(arrayXO[i,j] + " ");
    }
    Console.WriteLine();
}

Output:


**Copyright by Felix Irwanto - 2022**

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published