Ads Home1

C# Tutorial - Pengertian Class, Anggota Class, dan Cara Mendeklarasikan Class

http://www.xcodeplus.net/2017/10/csharp-tutorial-class-anggota-class.html


Pengertian Kelas (Class)

Class atau Kelas merupakan pola atau blueprint yang merepresentasikan suatu objek tertentu. Secara umum, suatu kelas tersusun dari data dan fungsi. Data adalah atribut yang dimiliki oleh objek, dan Fungsi adalah operasi (berupa kode) atau kemampuan yang dimiliki oleh objek. Data yang terdapat di dalam suatu kelas disebut field dan fungsi disebut metode (method).

Sebagai contoh, objek motor memiliki data spesifik seperti: warna, tahun, merk, tipe, nomor mesin, nomor polisi, dan sebagainya. mobil juga memiliki perilaku-perilaku spesifik yang dapat membedakan antara mobil yang satu dengan yang lainnya, seperti:  sistem pengereman, perubahan roda gigi, cc, dan sebagainya.

Kita ambil objek lainnya seperti manusia, objek manusia memiliki data seperti: nama, jenis kelamin, tanggal lahir, berat badan, tinggi badan, warna kulit, dan sebagainya. Sedangkan kemampuannya bisa berupa berjalan,berlari, berbicara, makan,tidur, melompat, dan sebagainya.

Dalam konteks pemrograman, manusia dapat dijadikan sebagai tipe data baru dalam bentuk kelas. Sebenarnya kelas tidak jauh berbeda dengan tipe data sederhana (tipe nilai). Perbedaanya, tipe data sederhana digunakan untuk mendeklarasikan variabel normal, sedangkan kelas digunakan untuk mendeklarasikan variabel yang menunjuk ke objek aktual. Variabel semacam ini dikenal dengan istilah referensi atau variabel referensi. Namun, saya biasa menyebutnya dengan istilah referensi objek (object reference).

Catatan :
Ada hal yang penting Anda harus ketahui bahwa kelas masih bersifat abstrak. Apa itu abstrak ? Anda bisa lihat penjelasan tersebut di materi yang telah saya sampaikan sebelumnya. Intinya saat kita mendefinisikan suatu kelas, kita hanya membuat tipe data baru, bukan membuat objek.

Baca Juga : Konsep Pemrograman Berorientasi Objek (OOP) C# 

Agar Anda dapat memahami pengertian kelas, referensi dan objek, berikut ini potongan kode program yang akan menjelaskan penggunaan dari kelas :
  class Manusia
        {
            private string nama;

            public void SetText(string nama)
            {
                this.nama = nama;
            }

            public string GetText()
            {
                return nama;
            }
        }

        static void Main(string[] args)
        {
            // Mendeklarasikan referensi sekaligus membuat
            // objek dari kelas manusia.
            Manusia obj = new Manusia();
            
            // Mengakses nilai-nilai yang berada dikelas manusia,
            // dengan referensi objek obj.
            obj.SetText("Khairil Anwar");
            Console.Write(obj.GetText());
            Console.ReadLine();
        }


Catatan :
Kode di atas hanyalah sebagai contoh, jika kode program di atas dikompilasi akan menimbulkan sebuah kesalahan. Ini dikarenakan tidak adanya kelas utama di dalam program.


Pada kode di atas, Manusia adalah kelas dan obj adalah referensi yang nantinya akan digunakan untuk menunjuk ke objek dari kelas Manusia. Pembuatan nama referensi tidak harus seperti yang terlihat pada potongan kode di atas (obj), Anda bisa saja mengganti nama referensi (obj) tersebut dengan nama yang Anda inginkan.

Pengertian dari objek disini adalah instance dari kelas Manusia yang dibuat dan dialokasikan di memori komputer ketika kita menuliskan perintah new Manusia(). Objek yang terbentuk selanjutnya akan ditunjuk referensi objek obj seperti yang terlihat pada potongan kode program di atas.


Anggota Kelas

Apa yang dimaksud dengan anggota kelas ? yang termasuk dalam anggota kelas yaitu, bagian-bagian yang terkandung di dalam sebuah kelas itu disebut dengan anggota kelas. Anggota kelas sendiri terbagi menjadi dua yaitu Anggota kelas yang berupa data dan Anggota kelas yang berupa fungsi. Data dan fungsi inipun dibedakan menjadi beberapa istilah tersendiri. Berikut dibawah ini mari kita simak apa saja yang termasuk dalam anggota kelas berupa data maupun fungsi.

Anggota Kelas yang Berupa Data
Data adalah atribut-atribut kelas yang digunakan untuk menyimpan nilai. Dalam terminology C#, data dibedakan menjadi field dan constant field. Field adalah variabel yang dideklarasikan di dalam kelas, sedangkan Constant field adalah field yang nilainya tetap dan harus diisikan pada saat pendifinisian kelas.

class Lingkaran{
       public const float PI = 3.14;      // constant field
       public float  r;   // field
  .....
}

Baik field maupun constant field kita telah mempelajarinya bukan ? Jika Anda belum mengetahuinya, Anda bisa lihat pada postingan saya sebelumnya dengan label/kategori : variabel dan tipe data.

Baca Juga : C# Tutorial - Konstanta

Anggota Kelas yang Berupa Fungsi
Fungsi adalah anggota kelas yang berisi kumpulan statemen untuk memanipulasi data dari kelas bersangkutan. Dalam C#, fungsi dapat berupa: metode, properti, event, indexer, operator, costructor, dan destructor. Berikut ini adalah penjelasang singkat dari masing-masing jenis fungsi tersebut.
  1. Metode adalah fungsi yang didefinisikan di dalam kelas. Berbeda dengan C++, C# tidak   mengizinkan suatu fungsi didefinisikan di luar kelas.
  2. Properti adalah fungsi yang dapat diakses dari luar kelas seperti field yang bersifat public. C# menyediakan properti untuk membaca dan menulis nilai dari/ke dalam suatu field. Melalui cara ini, Anda tidak perlu mengakses field secara lansung atau mendefinsikan fungsi Get() dan Set() di dalam kelas.
  3. Event adalah fungsi yang berguna untuk menyampaikan jenis kejadian yang dapat menimpa objek. Sebagai contoh, kelas System.Window.Form.Button memiliki event Click yang berguna untuk memberi notifikasi ke program bahwa objek dari kelas Button telah di klik.
  4. Indexer adalah fungsi yang mengizinkan objek dapat diindeks seperti layakanya array maupun koleksi.
  5. Operator adalah fungsi yang digunakan untuk melakukan overload terhadap suatu operator sehingga operator tersebut dapat diterapkan ke dalam objek.
  6. Constructor adalah fungsi khusus yang akan dipanggil secara otomatis pada saat objek dibuat. Nama costructor harus sama dengan nama kelas dan tidak dapat memiliki tipe kembalian maupun void. Constructor pada umumnya digunakan untuk melakukan proses inisialisasi nilai.
  7. Destructor adalah fungsi khusus yang akan dipanggil secara otomatis pada saat CLR mendeteksi adanya objek yang sudah tidak digunakan lagi. Nama destructor juga harus sama dengan nama kelas, akan tetapi diawali dengan tilde (~).

Cara Mendeklarasikan Kelas

class NamaKelas{

        // field
  TipeAkses TipeData NamaFieldA;
  TipeAkses TipeData NamaFieldB;
  ....
  TipeAkses TipeData NamaFieldN;


 

// metode
TipeAkses TipeKembalian NamaMetodeA(daftar-parameter){
    // badan metode
}
TipeAkses TipeKembalian NamaMetodeB(daftar-parameter){
    // badan metode
}
TipeAkses TipeKembalian NamaMetodeN(daftar-parameter){
    // badan metode
}


Bentuk umum pendefinisian kelas di atas kita batasi untuk anggota kelas yang berupa field dan metode saja. Karna saya akan membahasnya pada setiap bagian-bagian.

Sebelumnya kita telah membahas berbagai materi Bahasa pemrograman C#, dalam setiap pembahasannya saya selalu memberikan sebuah contoh kode program, disetiap contoh program yang saya buat selalu berisikan metode kelas dengan tipe aksesnya seperti public maupun private, pernyataan tersebut yang disebut dengan tipe akses. 

Tipe akses digunakan untuk menentukan bagaimana data (field) atau metode dapat diakses dari lingkungan luar kelas. Di dalam C# tipe akses sendiri terbagi beberapa macam seperti tipe akses public, private, protected, dan internal.


Jika pada pembuatan sebuah kelas kita tidak mendeklarasikan/menulis tipe akses dari kelas tersebut, maka secara otomatis akan dianggap sebagai private dan inipun berlaku untuk data dan metode.

Data yang dideklarasikan di dalam suatu kelas sering juga disebut dengan instance variable ( variabel yang dimiliki oleh objek/instance dari kelas bersangkutan). Ini berarti bahwa setiap objek dari kelas bersangkutan masing-masing akan memiliki salinan data sendiri. Nilai dari data tersebut selanjutnya akan diakses melalui metode. Dengan demikian, metode sebenarnya digunakan sebagai antarmuka antara data di dalam kelas dengan lingkungan (kode) diluar kelas.


Contoh Kelas Sederhana

Setelah Anda memahami konsep kelas, kali ini kita akan membuat sebuah kelas sederhana dari modifikasi potongan kode program kelas manusia di atas. Kelas ini hanya memiliki dua buah data, yaitu nama dan usia dan kita juga mendeklarasikan beberapa metode dari kedua data nama dan usia, yaitu SetNama, GetNama, SetUsia, dan GetUsia. Berikut ini lihatlah terlebih dahulu kode yang digunakan untuk mendefinisikan kelas Manusia.


class Manusia
{
   // Membuat dua buah variabel (data) nama dan usia.
   private string nama;
   private int usia;
}

Dengan menulis kode tersebut, berarti kita telah memiliki tipe data baru yang berupa kelas bernama Manusia. Ingat! Pendefinisian kelas hanya akan membuat tipe data, bukan membuat objek. Kelas hanya merupakan pola (template) yang digunakan untuk membuat objek. Pembuatan objek sendiri dapat kita lakukan dengan menggunakan perintah berikut:

//Instansiasi kelas Manusia.
Manusia obj = new Manusia();

Melalui cara seperti ini, referensi obj akan menunjuk objek yang dibuat oleh kata kunci new. Dengan demikian kita dapat mengakses data di dalam objek dari kelas Manusia menggunakan referensi obj. Berikut ini program lengkap yang akan menunjukan cara pendefinisian dan penggunaan kelas Manusia yang telah kita modifikasi sedemikian rupa.
PROGRAM 1.1
using System;

namespace DemoKelas
{
    class Program
    { 
        // Membuat kelas Manusia.
        class Manusia
        {
            // Membuat dua buah variabel (data) nama dan usia.
            private string nama;
            private int usia;
            
            

            // Membuat sebuah metode SetNama.
            public void SetNama(string nama)
            {
                this.nama = nama;
                
            }
            // Membuat sebuah metode SetUsia.
            public void SetUsia(int usia)
            {
                this.usia = usia;
                
            }

            // Membuat sebuah metode GetNama.
            public void GetNama()
            {
                Console.WriteLine(nama);
               
            }

            // Membuat sebuah metode GetUsia.
            public void GetUsia()
            {
                Console.WriteLine(usia);
                
            }
        

        }
        // Kelas utama.
        public static void Main()
        {
            Instansiasi kelas Manusia.
            Manusia obj = new Manusia();
            
            // Mengisi nilai objek.
            obj.SetNama("Jimmy");
            obj.SetUsia(25);
            // Menampilkan nilai objek.
            obj.GetNama();
            obj.GetUsia();

            Console.ReadLine();
           

        }

    }

}

HASIL PROGRAM 1.1
Jimmy 
25

Pada umumnya, para programmer mendefinisikan kelas ke dalam file tersendiri, terpisah dari file yang dijadikan sebagai program utama. Dengan demikian kalian dapat mencobanya sendiri, dengan modifikasi kode program di atas.
 

Kelas merupakan bentuk nyata dari struktur Bahasa pemrograman berorientasi objek (OOP), namun walaupun konsepnya sepertinya mudah, akan tetapi sebenarnya butuh jam terbang khusus bagaimana seorang programmer benar-benar dapat mendefinisikan konsep berorientasi objek dalam program kerjanya.




C# (dibaca: C Sharp) merupakan bahasa pemrograman generasi baru yang mewah, kaya akan fitur, dan dapat digunakan untuk membuat beraneka raga program/aplikasi di berbagai bidang. C# mendukung beberapa paradigma pemrograman: imperatif, deklaratif, fungsional, serta pemrograman berorientasi objek. C# termasuk dalam keluarga C, dan fitur-fiturnya banyak diadopsi dari Java dan C++. C# menggunakan pustaka (library) yang terdapat dalam .NET Framework, kelengkapan di dalam pustaka .NET Framework menjadikan proses pengembangan program/aplikasi menggunakan C# relatif lebih mudah dan cepat jika dibandingkan dengan C++ dan Java.

No comments:

Kami menerima masukan dari anda jika memang ada pembahasan yang keliru dan kami sangat senang jika anda dapat berkontribusi untuk menyempurnakan postingan kami. Anda dapat mengirimkan email ke : hari18.muhammad@gmail.com

Jika postingan ini bermanfaat jangan lupa share postingan ini. Kami sangat merekomendasikan untuk anda yang membutuhkan informasi tentang computer stuff silakan subscribe blog kami dapatkan informasi terupdate dari kami secara gratiss. Terimakasih!

Powered by Blogger.