Anda di halaman 1dari 11

LAPORAN PRAKTIKUM

PEMROGRAMAN BERORIENTASI OBJEK


(TIF 201P) Modul 2: Membuat dan Menggunakan Tipe

Nama NIM Tanggal Praktikum

: Nanang Makfi Mubarok : 38411 : 16 Oktober 2013

TEKNIK ELEKTRO & TEKNOLOGI INFORMASI FAKULTAS TEKNIK UGM 2013

I.

PENDAHULUAN A. Tujuan Mampu membuat tipe data baru Mampu mendefinisikan dan menggunakan variabel B. Dasar Teori Enumerasi adalah suatu tipe data yang mempunyai elemen-elemen bernilai konstanta dengan urutan yang sudah tertentu. Nilai-nilai konstanta elemen ini berupa nilai-nilai integer yang diwakili oleh nama-nama pengenal yang ditulis diantara kurung kurawal. Tipe data enumerasi dapat dideklarasikan dengan menggunakan kata kunci enum. Contoh penulisan: Enum UserType {Admin,Guest,Invalid,}; Kita dapat menggunakan UserType enumeration sebagai special data type yang sebagai salah satu dari tiga kemungkinan value yang ada , kita dapat assign value menggunakan titik(dot) seperti contoh berikut : UserType newUserType = UserType.Admin; Pada contoh di atas , kita membuat UsertType Baru dan kita set sebagai Admin , enumeration sebenernya dapat kita akses dengan Number berdasarkan urutannya dimana 0 sebagai Admin , 1 sebagai Guest , dan 2 sebagai Invalid , dalam beberapa scenario , kita mungkin ingin mengontrol number yang berbeda untuk setiap kebutuhan atau bagian informasi Struct adalah tipe data yang dapat melakukan penyimpanan beberapa data yang saling terkait (seperti Nama, NRP, Alamat), sebagai suatu kesatuan, sehingga data-data tersebut seakan-akan menjadi suatu data tunggal. Pembuatan tipe data baru dalam C dilakukan dengan menggunakan kata kunci struct, yang merupakan kependekan dari structure (struktur). Contoh : typedef struct { int NIP ; char nama[30] } pegawai_t; Perbedaan dengan Tipe data lain adalah pada tipe data yang lain hanya terdiri dari 1 element, sehingga hanya dapat menyimpan sebuah nilai atau sebuah string saja, sedangkan tipe data struct dapat menyimpan beberapa elemen, dengan berbagai macam tipe seperti int, char, long, dll.

II.

PEMBAHASAN A. Analisis Hasil Praktikum Latihan 1 : Membuat Sebuah Tipe Enum public enum AccountType { Checking, Deposit } untuk membuat variabel AccountType dengan tipe data enum dengan nilai Checking dan Deposit class TestAccount { static void Main() { AccountType goldAccount; AccountType platinumAccount; untuk mendeklarasikan nilai-nilai variabel yang dipetakan dengan AccountType goldAccount = AccountType.Checking; untuk memetakan isi dari AccountType yang nilaimya adalah Checking platinumAccount = AccountType.Deposit; untuk memetakan isi dari AccountType yang nilaimya adalah Deposit Console.WriteLine("The costumer account type is {0}", goldAccount); untuk menampilkan isi dari AccountType pada indeks ke-0 (goldAccount) Console.WriteLine("The costumer account type is {0}", platinumAccount); untuk menampilkan isi dari AccountType pada indeks ke-0 (platinumAccount) Console.ReadLine(); } } Pada program tersebut secara umum berfungsi untuk menampilkan account yang dimiliki pelanggan dengan menggunakan tipe data enum. Hasil Running:

Latihan 2 : Membuat dan Menggunakan Tipe Struct public enum AccountType { Checking, Deposit } untuk membuat variabel AccountType dengan tipe data enum dengan nilai Checking dan Deposit public struct BankAccount untuk membuat BankAccount dengan tipe data struct { public long accNo; public decimal accBal; public AccountType accType; untuk mendeklarasikan variabel atau struktur dari BankAccount. }

class Test { static void Main() { BankAccount goldAccount; untuk mendeklarasikan variabel dengan tipe data BankAccount goldAccount.accType = AccountType.Checking; untuk memberikan nilai pada accType dengan nilai AccountType Checking goldAccount.accBal = (decimal)3000.00; untuk memberikan nilai pada accBal dengan nilai desimal 3000 goldAccount.accNo = 1234567; untuk memberikan nilai pada accNo dengan nilai 1234567 Console.WriteLine("Acct number {0}", goldAccount.accNo); untuk menampilkan isi dari accNo pada indeks pertama Console.WriteLine("Acct type {0}", goldAccount.accType); untuk menampilkan isi dari accType pada indeks pertama Console.WriteLine("Acct balancae ${0}", goldAccount.accBal); untuk menampilkan isi dari accBal pada indeks pertama } } Pada program ini menampilkan isi dari struktur BankAccount yang memilik tipe data berbeda-beda didalamnya.

Hasil Running:

Latihan 3 : Menambah Fungsi Input/Output public enum AccountType { Checking, Deposit } untuk membuat variabel AccountType dengan tipe data enum dengan nilai Checking dan Deposit public struct BankAccount untuk membuat BankAccount dengan tipe data struct { public long accNo; public decimal accBal; public AccountType accType; untuk mendeklarasikan variabel atau struktur dari BankAccount. }

class Test { static void Main() { BankAccount goldAccount; Console.Write("Enter account number: "); goldAccount.accNo = long.Parse(Console.ReadLine()); untuk mengambil nilai dari input keyboard dan dimasukkan kedalam accNo goldAccount.accType = AccountType.Checking; untuk memberikan nilai pada accType dengan nilai Checking goldAccount.accBal = (decimal)3200.00; untuk memberikan nilai pada accBal dengan nilai desima 3200 Console.WriteLine("*** Account Summary ***");

Console.WriteLine("Acct Number {0}", goldAccount.accNo); untuk menampilkan isi nilai dari accNo Console.WriteLine("Acct Type {0}", goldAccount.accType); untuk menampilkan isi nilai dari accNo Console.WriteLine("Acct Balance ${0}", goldAccount.accBal); untuk menampilkan isi nilai dari accNo } } Pada program ini menampilkan isi dari struktur BankAccount namun pada accNo menggunakan input dari user. Hasil Running:

B. Jawaban Pertanyaan 1. Sebut tiga manfaat enum dan tipe-tipe data apakah yang tidak didukung oleh Enum?? Tiga manfaat enum antara lain : Enum menyediakan mekanisme yang lebih efisien untuk bekerja dengan nilainilai statis yang dapat dibaca, dipertahankan dan dieksekusi karena sebuah enum pada dasarnya merupakan kumpulan konstanta yang mempunyai nama. Client code bisa ditentukan dengan sangat jelas, untuk menentukan nilai apa saja yang berlaku pada variabel. Dalam Visual Studio, IntelliSense memberikan daftar nilai yang telah didefinisikan. Tipe-tipe data yang tidak didukung enum adalah tipe data selain int.

2. Buat sebuah tabel perbandingan antara struct dan class, dan mana yang lebih efisien antara struct dan class.? Struct Class Value Type Reference Type Tidak mendukung user-specified Mendukung inheritance dan inheritance polymorphism Dapat mengimplementasikan Derived Classes dapat memperluas dan interface mengkhususkan Base Classes Berguna untuk struktur data yang Jika object tidak digunakan, tidak ada kecil alokasi memori yang diberikan Tidak membutuhkan tumpukan Class baru dibuat dengan class alokasi declarations Secara implisit meng-inherit dari Membuat instance dari class, yang type object dinamakan object Penggunaan struct lebih efisien saat digunakan dalam program yang tidak begitu kompleks. Kelebihan struct dibandingkan dengan class adalah value type dan tidak membutuhkan stack alokasi. Struct lebih efisien jika digunakan pada struktur data yang kecil yang memiliki nilai semantic. Akan tetapi struct tidak mendukung user-specified inheritance dan semua tipe struct hanya menginherit dari tipe objek. Secara umum, class memang biasa digunakan untuk behavior yang lebih kompleks atau data yang dari awal dibuat untuk dimodif setelah object class dibuat. Sedangkan struct paling baik ketika digunakan untuk struktur data yang kecil yang berisi data primer yang tidak dimaksudkan untuk dimodif. 3. Sebutkan keunggulan struct dibanding class dan kelemahan struct dibanding class.? a. Keunggulan struct dibandingkan class: - Lebih ringan karena sifatnya sebagai value - Bisa dijadikan suatu instance meski tanpa deklarasi new - Berguna untuk struktur data yang kecil - Tidak membutuhkan tumpukan alokasi b. Kelemahan struct dibandingkan class: - Tidak dapat direferensikan - Tidak dapat diwariskankan - Tidak memiliki konstruktor dan destructor

III. PENUTUP Kesinpulan: Enumerasi adalah suatu tipe data yang mempunyai elemen-elemen bernilai konstanta dengan urutan yang sudah tertentu dan biasanya bertipe data integer. Enum memudahkan pembacaan kode. Struct adalah tipe data yang dapat melakukan penyimpanan beberapa data yang saling terkait (seperti Nama, NRP, Alamat), sebagai suatu kesatuan, sehingga data-data tersebut seakan-akan menjadi suatu data tunggal atau bisa disebut suatu kumpulan struktur. Struct dapat berisi beberapa tipe data variabel yang berbeda

IV. DAFTAR PUSTAKA - Anonym. Tipe Data Tingkat Lanjut. http://ocw.gunadarma.ac.id/course/computer-science-and-information/informationsystem-s1-1/teknik-pemrograman-terstruktur-2/tipe-data-tingkat-lanjut diakses tanggal 22 Oktober 2013 - Rohmadi, Arif. Tipe Data pada C# (Lanjutan). http://arifrohmadi.blogspot.com/2013/05/tipe-data-pada-c-lanjutan.html diakses tanggal 22 Oktober 2013 - Pradono, Bimo Adi. 2001. Pemrograman Berorientasi Objek Dengan Bahasa C# Part 2. http://www.scribd.com/doc/74437186/Pemrograman-Berorientasi-ObjekDengan-Bahasa-C-Part-2 diakses tanggal 22 Oktober 2013 - Halimsetiawan, Jeffrey Hermanto. 2009. Tipe Data Struct / Struktur dalam Bahasa C. http://tutorialpemrograman.wordpress.com/2009/02/14/tipe-data-structstruktur-dalam-bahasa-c/ diakses tanggal 22 Oktober 2013 - Pranoto, Suryo. 2009. ASP.Net2 Data Type and Conversion. http://suryodesign.wordpress.com/2009/04/13/aspnet-2-data-type-and-conversion/ diakses tanggal 22 Oktober 2013

V.

LAMPIRAN Latihan 1 : Membuat Sebuah Tipe Enum Source code:

Hasil:

Latihan 2 : Membuat dan Menggunakan Tipe Struct Source Code:

Hasil:

Latihan 3 : Menambah Fungsi Input/Output Source Code:

Hasil: