Ads Home1

C# Tutorial - Apa itu Constructor (konstruktor) ?



Constructor

Constructor atau dalam Bahasa Indonesia disebut dengan konstruktor, yaitu merupakan metode khusus yang namanya sama dengan nama kelas dan akan dipanggil secara otomatis ketika proses pembuatan objek.

Perlu diperhatikan bahwa meskipun constructor mirip dengan metode, tapi constructor tidak memiliki tipe kembalian, tidak juga void. Secara implisit constructor akan mengembalikan nilai berupa objek dari kelas yang sedang diinstansiasi.

Ketika kita mendefinisikan kelas yang tidak memiliki constructor, C# secara otomatis akan membuat satu constructor untuk kita. Constructor ini tidak memiliki parameter dan disebut dengan dengan istilah constructor default (default constructor). Namun, ketika kita mendefinsikan constructor di dalam kelas, constructor default tersebut akan ditimpa dan sudah tidak dapat dipanggil lagi. Perhatikan kode pembuatan objek OperasiAritmatika dari kode program yang pernah kita buat pada pembahasan sebelumnya, sebagai berikut:

OperasiAritmatika obj = new OperasiAritmatika();

Pada contoh-contoh sebelumnya kita telah membuat objek OperasiAritmatika menggunakan cara di atas. Sebenarnya yang kita lakukan di sini adalah memanggil  constructor default milik kelas OperasiAritmatika. Dalam kasus ini yang disebut constructor default adalah OperasiAritmatika(). Kenapa yang akan dipanggil adalah constructor default ? Alasannya adalah karena kita sama sekali belum mendefinisikan constructor di dalam kelas OperasiAritmatika. 

Constructor default akan menginisialisasi semua data di dalam kelas dengan nilai default. Jika data bertipe referensi maka data tersebut akan diisi dengan nilai null, sedangkan untuk data yang bertipe numerik akan diisi dengan nilai 0.


Untuk menginisialisasi data dengan nilai lain (selain null maupun 0), kita perlu mendefinisikan constructor sendiri. Sebagai contoh disini, jika kita ingin menginisialisasi data nilai1 dengan 10 dan nilai2 dengan 20 ketika objek OperasiAritmatika dibuat, maka Anda dapat menuliskan kode program seperti di bawah ini

PROGRAM 1.1
using System;


   class OperasiAritmatika{
      public double nilai1, nilai2;
         
        // Mendefinisikan constructor.
      public OperasiAritmatika(){
      
            // Menginisialisasi nilai1 dan nilai2.
            nilai1  = 10;
            nilai2  = 20;
     }
    
     public void IsiData(double n1, double n2){

           nilai1 = n1;
           nilai2 = n2;
    }
   

  // Mendefinisikan metode untuk penjumlahan nilai1 + nilai2.
     public double OperasiPenjumlahan(){
            
      
            return nilai1 + nilai2; 
        

    }

     // Mendefinisikan metode Hasil yang merupakan
     // metode yang tidak mengembalikan nilai (void)
     public void Hasil(){

     Console.WriteLine("Hasil dari Penjumlahan Adalah = " +       
                        OperasiPenjumlahan());
     } 


 
}  

    class Program{
   
    public static void Main(){
           
     // Membuat referensi objek dari kelas OperasiAritmatika.
     // dengan nama obj.
        OperasiAritmatika obj = new OperasiAritmatika();

    // Menampilkan hasil pertama dari metode     
    // OperasiPenjumlahan(), Melalui metode Hasil().
        Console.WriteLine("HASIL PERTAMA : ");
        obj.Hasil();
       Console.WriteLine();

    // Mengisi data kembali dengan nilai yang berbeda
        obj.IsiData(10,10);

   // Menampilkan hasil kedua dari metode OperasiPenjumlahan()
   // Melalui metode Hasil().
        Console.WriteLine("HASIL KEDUA : ");
        obj.Hasil();
                      
    }

}


HASIL PROGRAM 1.1
HASIL PERTAMA : 
Hasil dari Penjumlahan Adalah = 30 

HASIL KEDUA : 
Hasil dari Penjumlahan Adalah = 20

Pada kode program di atas, awalnya kita mendeklarasikan sebuah variabel dengan tipe data double yang bernama nilai1 dan nilai2. Lalu, kita membuat sebuah constructor seperti yang terlihat pada kode program di atas yang telah saya berikan komentar, dan disana kita menginisialisasi kedua variabel tersebut, nilai1 kita berikan nilai 10 dan nilai2 kita berikan nilai 20. 

Pemanggilan constructor OperasiAritmatika() yang terdapat pada kode di atas akan mengisi nilai awal ke dalam data nilai1 dan nilai2, dan nilai tersebut akan menjadi nilai awal dari kedua variabel tersebut. Karna kita mendeklarasikan metode IsiData() kita masih dapat merubah data dari variabel tersebut dengan mudah sesuai dengan kebutuhan program.

Ada pertanyaan disini apakah constructor dapat kita berikan parameter ?. Jawabannya tentu saja bisa, dan bagaimana cara membuatnya atau mendefinisikannya ? Selengkapnya di bawah ini kita akan membahas hal tersebut.


Constructor dengan Parameter

Sama halnya seperti metode, constructor juga dapat memiliki parameter. Dengan demikian, kita dapat menentukan nilai dari data yang terdapat di dalam kelas melalui parameter yang dilewatkan pada constructor. Berikut ini kode program yang akan mendemonstrasikan konsep tersebut.

PROGRAM 1.2
using System;


   class OperasiAritmatika{
      public double nilai1, nilai2;
         

        // Mendefinisikan constructor.
 public OperasiAritmatika(double n1, double n2){
      
           nilai1 = n1;
           nilai2 = n2;
 }
   
   

      // Mendefinisikan metode untuk penjumlahan nilai1 + nilai2.
     public double OperasiPenjumlahan(){
            
      
            return nilai1 + nilai2; 
        

    }

     // Mendefinisikan metode Hasil yang merupakan
      // metode yang tidak mengembalikan nilai (void)
      public void Hasil(){

     Console.WriteLine("Hasil dari Penjumlahan Adalah = " + 
        OperasiPenjumlahan());
 } 


 
}  
    class Program{
   
    public static void Main(){
           
             // Membuat referensi objek dari kelas OperasiAritmatika.
             // dengan nama obj.
             OperasiAritmatika obj;

      // Mengisi data pertama
      obj = new OperasiAritmatika(10, 10);

             // Menampilkan hasil pertama
             // Melalui metode Hasil().
             Console.WriteLine("HASIL KE-1 : ");
             obj.Hasil();

             Console.WriteLine();

      // Mengisi data kedua
      obj = new OperasiAritmatika(30, 30);
              
             // Menampilkan hasil kedua 
             // Melalui metode Hasil().
             Console.WriteLine("HASIL KE-2 : ");
             obj.Hasil();

             Console.WriteLine();

      // Mengisi data ketiga
      obj = new OperasiAritmatika(40, 20);
              
             // Menampilkan hasil ketiga 
             // Melalui metode Hasil().
             Console.WriteLine("HASIL KE-3: ");
             obj.Hasil();

             Console.WriteLine();
            
             // Membuat referensi objek baru kelas 
             // OperasiAritmatika dengan nama objBaru.
             OperasiAritmatika objBaru;
    
             // Mengisi data keempat
      objBaru = new OperasiAritmatika(100, 10);

             // Menampilkan hasil keempat 
             // Melalui metode Hasil().
             Console.WriteLine("HASIL KE-4: ");
             objBaru.Hasil();
             
                      
    }

}

HASIL PROGRAM 1.2
HASIL KE-1 : 
Hasil dari Penjumlahan Adalah = 20 

HASIL KE-2 : 
Hasil dari Penjumlahan Adalah = 60

HASIL KE-3: 
Hasil dari Penjumlahan Adalah = 60 

HASIL KE-4: 
Hasil dari Penjumlahan Adalah = 110

Pada kode program di atas, constructor didefinisikan dengan dua buah parameter bertipe double. Maka dari itu, pemanggilannya juga harus disesuaikan.

obj = new OperasiAritmatika(10, 10);

Kode di atas artinya mengisikan nilai awal ke dalam data nilai1 dengan nilai 10 dan nilai2 juga diberikan nilai 10. Inipun berlaku untuk pengisian data ke-2 dan ke-3. Pada program di atas terlihat kita membuat referensi objek baru ke kelas OperasiAritmatika dengan nama objBaru, dengan menggunakan referensi barupun ini membuktikan bahwa kita tetap dapat melakukan hal yang serupa seperti referensi objek pertama.

Apa itu referensi Objek ? Anda bisa melihat pembahasan sebelumnya yang telah saya sampaikan dalam pertemuan tentang class dan objek. Saya merekomendasikan Anda untuk membacanya agar Anda dapat mengetahui apa itu referensi objek.

Hari ini kita telah membahas secara lengkap mengenai constructor di dalam kelas, tidak hanya constructor yang merupakan metode khusus, di dalam C# ada kebalikan dari costructor yang disebut dengan destructor, mungkin untuk pembahasan selanjutnya kita akan membahas materi tersebut secepatnya.

Mengenai apa itu destructor ? Saya akan jelaskan pada pertemuan berikutnya, terimakasih telah membaca jika pembahasan ini berguna bagi Anda, jangan lupa like, share dan subscribe bantu kami menjadi website pemrograman yang selalu bisa memberikan informasi yang terbaik, terimakasih.




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.