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