Wednesday 14 September 2016

14. Structure C# (Basic/Dasar)

Hello guys kali ini kita akan membahas tentang structur di C#, structure sangat bermanfaat karena kita bisa memodelkan beberapa tipe data dalam sebuah variabel. Bisa dibilang structure seperti penyimpan data yang bisa kita custom. Untuk mendeklarasikan structure kita bisa menggunakan kata kunci struct.

Misalnya kita ingin menyimpan detail buku dan memodelkannya menjadi sebuah struct maka kita akan menyimpan informasi berikut dalam struct:

  • Title
  • Author
  • Subject
  • Book ID
Mendefinisikan Structure

Untuk mendefinisikan structure, kita bisa menggunakan statement struct. Statement struct akan mendefinisikan tipe data baru dengan member lebih dari satu pada program.

Sebagai contoh kita ingin mendefinisikan informasi buku, maka kita bisa membuat struct untuk tipe data buku.

struct Books
{
   public string title;
   public string author;
   public string subject;
   public int book_id;
}; 

Untuk memperjelas penggunaan struct, program berikut akan mengilustrasikan penggunaan struct:

using System;
struct Books
{
   public string title;
   public string author;
   public string subject;
   public int book_id;
};  

public class testStructure
{
   public static void Main(string[] args)
   {

      Books Book1;   /* Declare Book1 of type Book */
      Books Book2;   /* Declare Book2 of type Book */

      /* book 1 specification */
      Book1.title = "C Programming";
      Book1.author = "Nuha Ali"; 
      Book1.subject = "C Programming Tutorial";
      Book1.book_id = 6495407;

      /* book 2 specification */
      Book2.title = "Telecom Billing";
      Book2.author = "Zara Ali";
      Book2.subject =  "Telecom Billing Tutorial";
      Book2.book_id = 6495700;

      /* print Book1 info */
      Console.WriteLine( "Book 1 title : {0}", Book1.title);
      Console.WriteLine("Book 1 author : {0}", Book1.author);
      Console.WriteLine("Book 1 subject : {0}", Book1.subject);
      Console.WriteLine("Book 1 book_id :{0}", Book1.book_id);

      /* print Book2 info */
      Console.WriteLine("Book 2 title : {0}", Book2.title);
      Console.WriteLine("Book 2 author : {0}", Book2.author);
      Console.WriteLine("Book 2 subject : {0}", Book2.subject);
      Console.WriteLine("Book 2 book_id : {0}", Book2.book_id);       

      Console.ReadKey();

   }
}

Setelah program dijalankan akan memberikan hasil sebagai berikut:

Book 1 title : C Programming
Book 1 author : Nuha Ali
Book 1 subject : C Programming Tutorial
Book 1 book_id : 6495407
Book 2 title : Telecom Billing
Book 2 author : Zara Ali
Book 2 subject : Telecom Billing Tutorial
Book 2 book_id : 6495700

Beberapa Fitur Structure dalam C#

Structure pada C# sedikit berbeda dengan structure dalam C/C++. Structure dalam C# mempunyai fitur sebagai berikut:

  • Structure dapat memiliki methods, fields, indexer, properties, operators and event.
  • Structure dapat memiliki constructor tetapi tidak memiliki destructor. Kita tidak bisa mendefinisikan default constructor karena default constructor sudah terdefinisi secara otomatis dan tidak bisa di ubah.
  • Tidak seperti class, structure tidak bisa menurunkan dari structure yang lain atau class yang lain.
  • Structure dapat mengimplementasikan satu atau lebih interface.
  • Structure member tidak dapat dideklarasikan sebagai abstract, virtual atau protected.
  • Ketika structure object diinisialisasi dengan new operator, akan membuat object sesuai dengan constructor yang dipanggil.
  • Tidak seperti class, structure dapat dibuat dengan atau tanpa new operator.
  • Jika new operator tidak digunakan, semua field akan dibiarkan tidak terinisialisasi dan object tidak dapat digunakan sampai semua field terinisialisasi.
Class Versus Structure

Class dan structure mempunyai beberapa perbedaan mendasar:
  • Class adalah Reference Types, sedangkan Structure adalah Value Type
  • Structure tidak bisa inheritance
  • Structure tidak boleh mempunyai default constructor, karena otomatis sudah dibuat dan tidak bisa diubah
Baiklah untuk memperjelas pembahasan ini kita buat simulasi program untuk class dan structure:

using System;
struct Books
{
   private string title;
   private string author;
   private string subject;
   private int book_id;
   public void getValues(string t, string a, string s, int id)
   {
      title = t;
      author = a;
      subject = s;
      book_id = id;
   }
   public void display()
   {
      Console.WriteLine("Title : {0}", title);
      Console.WriteLine("Author : {0}", author);
      Console.WriteLine("Subject : {0}", subject);
      Console.WriteLine("Book_id :{0}", book_id);
   }

};  

public class testStructure
{
   public static void Main(string[] args)
   {

      Books Book1 = new Books();   /* Declare Book1 of type Book */
      Books Book2 = new Books();   /* Declare Book2 of type Book */

      /* book 1 specification */
      Book1.getValues("C Programming",
      "Nuha Ali", "C Programming Tutorial",6495407);

      /* book 2 specification */
      Book2.getValues("Telecom Billing",
      "Zara Ali", "Telecom Billing Tutorial", 6495700);

      /* print Book1 info */
      Book1.display();

      /* print Book2 info */
      Book2.display(); 

      Console.ReadKey();

   }
}

Berikut adalah hasil output program tersebut:

Title : C Programming
Author : Nuha Ali
Subject : C Programming Tutorial
Book_id : 6495407
Title : Telecom Billing
Author : Zara Ali
Subject : Telecom Billing Tutorial
Book_id : 6495700

Ok guys semoga makin mahir dan tetap semangat mengasah skill pemrograman kalian, sampai ketemu di tutorial selanjutnya Enums.

No comments:

Post a Comment