MAKALAH
MICROSOFT .NET
FRAMEWORK DAN C#
Disusun Oleh :
Grizenzio
Orchivillando
Annisa Rahmawati
Nikke Nur Khotijah
Tri Mulyani
Findy Afdilla
Annisa Rahmawati
Nikke Nur Khotijah
Tri Mulyani
Findy Afdilla
Politeknik Negeri Cilacap
2015
KATA PENGANTAR
Puji syukur
kami panjatkan kehadirat Tuhan Yang Maha Esa karena dengan rahmat, karunia,
serta taufik dan hidayah-Nya kami dapat menyelesaikan makalah tentang Microsoft
.Net Framework dan C# ini dengan baik meskipun banyak kekurangan didalamnya.
Dan juga kami berterima kasih pada Bapak Nur Wahyu Rahadi selaku Dosen mata kuliah PBO
yang telah memberikan tugas ini kepada kami.
Kami sangat berharap
makalah ini dapat berguna dalam rangka menambah wawasan serta pengetahuan kita
mengenai kegunaan dari Microsoft .net framework dan C# , dan juga mengenal
lebih dalam materi tersebut. Kami juga menyadari sepenuhnya bahwa di dalam
makalah ini terdapat kekurangan dan jauh dari kata sempurna. Oleh sebab itu,
kami berharap adanya kritik, saran dan usulan demi perbaikan makalah yang telah
kami buat di masa yang akan datang, mengingat tidak ada sesuatu yang sempurna
tanpa saran yang membangun.
Semoga makalah sederhana
ini dapat dipahami bagi siapapun yang membacanya. Sekiranya laporan yang telah
disusun ini dapat berguna bagi kami sendiri maupun orang yang membacanya.
Sebelumnya kami mohon maaf apabila terdapat kesalahan kata-kata yang kurang
berkenan dan kami memohon kritik dan saran yang membangun demi perbaikan di
masa depan.
Cilacap, 08 September 2015
Kelompok
3
DAFTAR ISI
Kata Pengantar ....................................................................i
Daftar Isi .............................................................................ii
Bab I Microsoft .Net Framework
1.1 Penjelasan ......................................................................4
1.1.1 Penjelasan Dari Microsoft ..........................................5
1.2 .NET Framework sebagai platform ...............................7
1.3 Versi ...............................................................................7
1.4 Kelebihan .......................................................................8
1.5 Fungsi .Net Framework .................................................8
1.6 Common Language Runtime (CLR) ..............................9
1.6.1 Fasilitas yang disediakan Common Language Runtime .9
1.7 .NET Framework Class Library ...................................10
1.8 .NET Building Block Services ......................................11
1.9 Visual Studio .NET ........................................................12
1.10 .Net Enterprise Server ..................................................12
1.11 .NET pada sistem operasi selain Windows ..................12
Bab II C#/ Sharp
2.1 Penjelasan .......................................................................13
2.2 Sejarah ............................................................................13
2.3 Tujuan Desain .................................................................14
2.4 Fitur-fitur Bahasa ............................................................14
2.5 Fitur Pemrograman .........................................................15
2.6 Tentang C# ......................................................................15
2.7 Kelebihan C# ..................................................................16
2.8 Kekurangan C# ...............................................................16
2.9 Penulisan Kode C# .........................................................16
2.10 Metode C# ....................................................................17
2.11 Namespace ....................................................................17
2.12 Tipe C# .........................................................................18
2.13 Variable C# ...................................................................19
2.14 Kelas C# ........................................................................20
2.15 Abstrak Kelas C# ..........................................................20
2.16 Static C# ........................................................................21
2.17 Interface C# ...................................................................21
2.18 Delegate ........................................................................24
Daftar Pustaka ......................................................................25
Daftar Isi .............................................................................ii
Bab I Microsoft .Net Framework
1.1 Penjelasan ......................................................................4
1.1.1 Penjelasan Dari Microsoft ..........................................5
1.2 .NET Framework sebagai platform ...............................7
1.3 Versi ...............................................................................7
1.4 Kelebihan .......................................................................8
1.5 Fungsi .Net Framework .................................................8
1.6 Common Language Runtime (CLR) ..............................9
1.6.1 Fasilitas yang disediakan Common Language Runtime .9
1.7 .NET Framework Class Library ...................................10
1.8 .NET Building Block Services ......................................11
1.9 Visual Studio .NET ........................................................12
1.10 .Net Enterprise Server ..................................................12
1.11 .NET pada sistem operasi selain Windows ..................12
Bab II C#/ Sharp
2.1 Penjelasan .......................................................................13
2.2 Sejarah ............................................................................13
2.3 Tujuan Desain .................................................................14
2.4 Fitur-fitur Bahasa ............................................................14
2.5 Fitur Pemrograman .........................................................15
2.6 Tentang C# ......................................................................15
2.7 Kelebihan C# ..................................................................16
2.8 Kekurangan C# ...............................................................16
2.9 Penulisan Kode C# .........................................................16
2.10 Metode C# ....................................................................17
2.11 Namespace ....................................................................17
2.12 Tipe C# .........................................................................18
2.13 Variable C# ...................................................................19
2.14 Kelas C# ........................................................................20
2.15 Abstrak Kelas C# ..........................................................20
2.16 Static C# ........................................................................21
2.17 Interface C# ...................................................................21
2.18 Delegate ........................................................................24
Daftar Pustaka ......................................................................25
BAB 1
Microsoft .NET Framework
1.1 Penjelasan
Microsoft .NET Framework (dibaca Microsoft Dot Net Framework) atau lebih
dikenal dengan singkatan dot net (tidak berhubungan dengan domain .net)
merupakan sebuah perangkat lunak kerangka kerja yang berjalan utamanya pada
sistem operasi Microsoft Windows, saat ini .NET Framework umumnya telah
terintegrasi dalam distribusi standar Windows (mulai dari Windows Server 2003
dan versi-versi Windows yang lebih baru). Kerangka kerja ini menyediakan
sejumlah besar pustaka pemrograman komputer dan mendukung beberapa bahasa
pemrograman serta interoperabilitas yang baik sehingga memungkinkan
bahasa-bahasa tersebut berfungsi satu dengan lain dalam pengembangan sistem.
Berbeda halnya dengan tipikal aplikasi konvensional umumnya, program yang
ditulis dengan memanfaatkan .NET Framework berjalan pada lingkungan perangkat
lunak melalui Common Language Runtime, dan bukan perangkat keras secara
langsung. Hal ini memungkinkan aplikasi yang dibuat di atas .NET secara
teoritis dapat berjalan pada perangkat keras apapun yang didukung oleh .NET
Framework. Perangkat lunak ini adalah kunci penawaran utama dari Microsoft, dan
dimaksudkan untuk digunakan oleh sebagian besar aplikasi-aplikasi baru yang
dibuat untuk platform Windows.
.NET
Framework memiliki 2 komponen utama: CLR dan .NET Framework Class Library
Program - program yang ditulis untuk .NET Framework dijalankan pada
suatu lingkungan software yang mengatur persyaratan-persyaratan runtime
program. Runtime environment ini, yang juga merupakan suatu bagian dari .NET
Framework, dikenal sebagai Common Language Runtime (CLR). CLR menyediakan
penampilan dari application virtual machine, sehingga para programmer tidak
perlu mengetahui kemampuan CPU tertentu yang akan menjalankan program. CLR juga
menyediakan layanan-layanan penting lainnya seperti jaminan keamanan,
pengaturan memori, garbage collection dan exception handling / penanganan
kesalahan pada saat runtime. Class library dan CLR ini merupakan komponen inti
dari .NET Framework. Kerangka kerja itu pun dibuat sedemikian rupa agar para
programmer dapat mengembangkan program komputer dengan jauh lebih mudah, dan
juga untuk mengurangi kerawanan aplikasi dan juga komputer dari beberapa
ancaman keamanan.
Solusi-solusi program pembentuk class library dari .NET Framework
mengcover area yang luas dari kebutuhan program pada bidang user interface,
pengaksesan data, koneksi basis data, kriptografi, pembuatan aplikasi berbasis
web, algoritma numerik, dan komunikasi jaringan. Fungsi-fungsi yang ada dalam
class library dapat digabungkan oleh programmer dengan kodenya sendiri untuk
membuat suatu program aplikasi baru.
Pada berbagai literatur dan referensi di Internet, .NET
Framework seringkali disingkat menjadi .NET saja.
Secara singkat, .Net adalah teknologi yang dikembangkan oleh perusahaan
perangkat lunak Microsoft untuk memfasilitasi system operasi, hingga ke
peralatan-peralatan lain seperti handphone dan sebagainya. Dengan demikian,
jika Anda bermaksud untuk membuat program yang dapat dijalankan melalui internet,
jaringan computer, handphone dan lain-lain, maka sangatlah tepat jika Anda
membuatnya melalui teknologi .Net ini.
Teknologi
.Net dapat juga digunakan bagi yang ingin membuat program untuk komputer
pribadi yang dijalankan secara individual. Dibandingkan dengan perangkat lunak
pembuat program yang sudah ada sebelumnya seperti Ms. Visual Studio 6.0 (Ms.
Merupakan singkatan yang umum digunakan perusahaan Microsoft). Perangkat lunak
pembuat program berbasis .Net mempunyai lebih banyak fasilitas dan perintah-perintah
yang akan mempermudah dan mempercepat dalam pembuatan program aplikasi.
1.1.1 Penjelasan Dari
Microsoft
.Net
Framework ini. Microsoft .NET adalah software yang menghubungkan informasi,
orang, system dan device! Perangkat yang menjangkau client, server dan tool
pengembang.
Microsoft
.NET disusun oleh:
Dot
NET Framework, digunakan untuk membangun dan menjalankan semua macam softwere
termasuk aplikasi berbasis Web, aplikasi smart client, dan layanan web XML
(Extensible Markup Language). Menyediakan
komponen untuk berbagai data melalui Network menggunakan komponen
platform protocol independent seperti XML, SOAP, dan HTTP.
Tool –
tool pengembang seperti Microsoft
VisualStudio .NET yang penyediaan IDE (Integrated Development Enveronment! lingkungan
pengembangan terintegrasi) untuk memaksimalkan produktivitas pengembangan
menggunakan .NET Framework.
Serangkaian
server termasuk Microsoft Windows Servwr 2003, Microsoft SQL Server dan
Micosoft BizTalk Server yang terintegrasi, untuk menjalankan, mengoprasikan dan
mengelola services Web dan aplikasi berbasis Web.
Softwere
client seperti Windows XP, windows CE dan Windows Office XP yang membantu
pengembangan untuk menyebarkan dan mengelola aplikasinya.
.NET Platform merupakan satu set kumpulan teknologi yang memungkinkan
teknologi Internet ditransformasikan ke dalam platform distributed computing
dengan skalabilitas dan kompatibilitas tinggi. Secara teknikal, .NET Platform
menyediakan konsep pemrograman dengan library dan modul-modul baru yang konsisten,
terlepas dari jenis bahasa pemrograman yang digunakan.
.NET
Platform menyediakan hal-hal berikut bagi para developer :
1) Language independent, dengan programming
model yang konsisten di semua tier aplikasi yang dibangun.
2) Interoperability dan kompatibilitas antar
aplikasi.
3) Kemudahan migrasi dari teknologi yang ada
saat ini.
4) Dukungan penuh terhadap berbagai teknologi
standar yang digunakan dalam platform internet, antara lain HTTP, XML, SOAP dan
HTML.
Teknologi inti
.Net secara umum terdiri dari 4 area pokok :
.Net Framework
.NET Framework adalah teknologi inti yang menyediakan berbagai library
untuk digunakan oleh aplikasi di atasnya. Komponen inti .NET Framework adalah
Common Language Runtime (CLR) yang menyediakan run time environment untuk
aplikasi yang dibangun menggunakan Visual Studio .NET, terlepas dari jenis
bahasa pemrogramannya.
Dengan adanya CLR tersebut, programmer dapat menikmati consistent object
model dalam mengakses berbagai komponen library. Dengan demikian penggunaan
bahasa pemrograman dalam dunia .NET adalah lebih ke masalah selera atau taste,
dan bukan pada kelebihan maupun kekurangan masing-masing bahasa. Mengapa ?
Karena semua bahasa pemrograman yang mensupport .NET mengakses library yang
sama di dalam .NET Framework, dengan object model yang konsisten, dengan run
time file yang sama. Bahasa adalah sekedar skin atau theme, bukan senjata
sakti.Dot NET Framework adalah linkungan untuk membangun, deploying
menyebarkan, dan menjalankan services
Web dan aplikasi lainnya.
Dot
NET Framework disusun oleh dua komponen utama, yaitu Common Language Runtime
(runtime bahasa umum) dan .NET Framework Class Library (pustaka class .NET
Framework.
Definisi
di atas saya ambil dari penjelasan Microsoft dalam FAQ (Frequently Asked
Questions) mengenai .NET Framework.
Secara sederhana .NET Framework adlah platform tunggal dimana semua orang dapat
platform tunggal dimana semua orang dapat mengembangkan aplikasi menggunakan
suatu system yang mirip dengan JVM (Java Virtual Machine). Hanya berbeda dengan
java, tidak ada penghalang dengan bahasa .NET sehingga aplikasi dapat
dikembangkan menggunakan bahasa: VB, C++, C#, J# dan 20 bahasa-bahasa
pemrograman lainnya yang kompatibel dengan .NET Framework.
1.2 .Net Framework sebagai
platform
.NET
seringkali juga dapat diartikan sebagai platform, yang merupakan suatu
lingkungan terpadu untuk pengembangan dan eksekusi untuk berbagai macam bahasa
pemrograman dan kumpulan library untuk bekerja sama membuat dan menjalankan
aplikasi berbasis Windows yang lebih mudah untuk dibuat, diatur,
didistribusikan, dan diintegrasikan dengan sistem jaringan lain.
Dalam
perkembangannya, .NET seringkali dikaitkan pula dengan versi Visual Studio yang
sesuai dengan dukungan versi yang bersangkutan untuk pengembangan aplikasi.
Berikut ini versi .NET dan versi Visual Studio yang terkait.
1.3
Versi
Microsoft
memulai pengembangan .NET Framework di akhir 1990 dengan nama awal Next
Generation Windows Services (NGWS). Pada akhir 2000 versi beta .NET 1.0 dirilis
Versi 3.0 dari .NET Framework
disertakan di Windows Server 2008 dan Windows Vista. Version 3.5 disertakan di
Windows 7, dan bisa juga diinstall di Windows XP maupunWindows Server 2003.
Pada 12 April 2010 .NET Framework 4 dirilis bersamaan dengan applikasi Visual
Studio 2010.
.NET Framework terdiri dari dua
versi yaitu mobile dan embedded. Versi mini dari framework .NET Compact
Framework, tersedia untuk platform smartphone khususnya Windows CE dan Windows
Mobile. .NET Micro Framework lebih ditargetkan untuk device yang membutuhkan
kinerja tinggi.
.NET 2.0, 3.0 dan 3.5 memiliki CLR yang sama. Dengan
demikian, struktur IL juga sama. Adapun fasilitas penambahan kata kunci
pemrograman seperti pada LINQ yang sebenarnya lebih mengarah sebagai fitur
bahasa pemrograman (programming language feature) sehingga bukan
merupakan fitur CLR.
Dan Versi terbaru Microsoft .Net
Framework Pada Tanggal 22 Juli 2015
Rilis Versi 4.6 Untuk Windows for
Windows Vista SP2, Windows 7 SP1, Windows 8, Windows 8.1, Windows Server 2008
SP2 Windows Server 2008 R2 SP1, Windows Server 2012 and Windows Server 2012 R2
.NET Framework 4
mencakup fitur-fitur baru dan beberapa
perbaikan:
1.
Perbaikan
dalam CLR dan BCL
2.
Perbaikan
dalam ADO.NET
3.
Perangkat
tambahan untuk ASP.NET
4.
Perbaikan
pada Windows Presentation Foundation
5. Perbaikan ke Windows Workflow Foundation
dan Windows Communication Foundation
1.4 Kelebihan
Perangkat
lunak pembuat program berbasis .Net diciptakan dengan dasar pemrograman
berorientasi objek sehingga program aplikasi akan menjadi lebih mudah dimuat,
dipelihara, dan dikembangkan. Beberapa kelebihan lain yang dapat Anda peroleh
melalui teknologi .Net ini adalah:
1. Kemudahan
untuk menggabung beberapa program yang dibuat dengan berbagai bahasa
pemrograman berteknologi .Net ini.
2. Kemudahan
untuk berpindah antar bahasa pemrograman.
3. Meningkatkan
keandalan program dalam menangani error.
4. Penanganan
masalah memori secara otomatis dan sebagainya.
5.
1.5 Fungsi .Net
Framework
Secara teori beberapa fungsi dari
.Net framework adalah :
Ø Menyediakan
lingkungan pemrograman berorientasi objek, apakah kode objek disimpan dan
dijalankan secara lokal, dijalankan secara lokal tetapi disebarkan melalui
internet atau dijalankan secara remote (dijalankan dari suatu tempat).
Ø Menyediakan
lingkungan untuk menjalankan suatu kode yang meminimalkan konflik saat
softwaredeployment disebarkan dan versioning /tentang versi.
Ø Menyediakan
lingkungan untuk menjalakan suatu kode yang menjamin keamanan saat kode
dijalankan, termasuk kode yang dibuat oleh pihak yang tidak diketahui atau
pihak ketiga yang setengah dipercaya.
Ø Menyediakan
lingkungan untuk menjalankan suatu kode yang dapat mengeliminasi masalah
performa dari lingkungan scripted dan interpreted.
Ø Membuat
pengembang memiliki pengalaman yang konsisten dalam berbagai tipe aplikasi
berbasis Windows dan aplikasi berbasis Web.
Ø
Untuk membangun komunikasi standar industri yang
memastikan kode berbasis Framework .NET dapat diintegrasikan dengan kode lain.
Definisi lainnya, .NET Framework
bisa juga diartikan sebagai serangkaian teknologi yang :
Ø Mempersatukan
aplikasi Web yang sekarang masi terisolasi.
Ø Membuat
informasi tersedia di setiap saat dan di setiap tempat.
Ø Menyederhanakan
pengembangan dan penyebaran aplikasi.
Ø
1.6 Common Language
Runtime (CLR)
CLR adalah fondasi dari .NET
Framework. Anda dapat menganggap CLR (sering disebut runtime saja) sebagai agen
yang menangani kode pada saat dijalankan, menyediakan layanan inti seperti
manajemen memori, manajemen thread dan remorting, juga memastikan pendefinisian
tipe data secara ketat dan bentuk lain untuk memastikan keakuratan kode program
sehingga dapat tercipta keamanan dan ketangguhan suatu program.
Konsep manajemen kode adalah
prinsip dasar dari runtime. Program yang dijalankan oleh CLR disebut managed
code, sedangkan program yang tidak memiliki sasaran runtime (CLR) disebut
unmanaged code.
Perlu anda ketahui bahwa
VisualBasic .NET menghasilkan managed code yang dapat dijalankan apabila pada
system computer terdatap CLR. Artinya anda tidak dapat menjalankan aplikasi yang
dihasilkan Visual Basic .NET dapat menginstal CLR terlebih dahulu. Konsep CLR
ini menyerupai konsep java Virtual Machine untuk menjalankan software java.
Class library, komponen lai dari
.NET Framework adalah koleksi tipe data yang lengkap, berorientasi objek yang
dapat digunakan untuk membangun aplikasi program konsol sampai aplikasi
graphical user interface (GUI) ke aplikasi berbasis inovasi yang disediakan
oleh ASP.NET seperti Web Forms dan XML Web Services.
Dot NET Framework dapat dihosted
oleh komponen unmanaged yang memanggil common language runtime ke prosesnya dan
menjalankan managed code sehingga menciptakan lingkungan software yang
menggunakan fasilitas managed dan unmanaged. Framework .NET tidak hanya
menyediakan beberapa runtime host tetapi juga mendukung pengembangan dari
runtime host pihak ketiga.
Sebagai contoh, ASP.NET bertindak sebagai host dari runtime
yang menyediakan lingkungan, skalabel dan berada di server untuk managed code.
1.6.1 Fasilitas yang disediakan
Common Language Runtime
Common
language runtime menangani dan mengatur memori, eksekusi kode, verifikasi
keamanan kode, kompilasi dan layanan system lain. Fasilitas ini adalah
intrinsic dari managed dari managed code yang berjalan pada common language
runtime.
Dengan
mengutamakan keamanan, managed component diberikan tingkatan trust/kepercayaan
berdasarkan sejumlah factor yang memperhitungkan asalnya (seperti Internet,
jaringan perusahaan atau computer lokal). Hal ini berarti managed component
dapat dibatasi apabila akan melakukan operasi akses file, akses registry, atau
fungsi sensitive lain, bahkan jika digunakan oleh aplikasi aktif yang sama.
Runtime
memaksakan keamanan akses kode. Sebagai contoh, used dapat mempercayai sisipan
program di suatu halaman web yang mamainkan animasi pada layar atau
menghasilkan suara, tetapi tidak dapat mengakses data pribadi, system file atau
jaringan. Fasilitas security dari runtime membuat sah suatu software yang
menyebar lewat internet yang canggih dan lengkap.
Runtime juga
mendorong penulisan kode program yang lengkap dengan mengimplementasikan strict
type dan infrastruktur code verification yang disebut common type system (CTS),
CTS memastikan semua managed code adalah self describing. Compiler bahasa
program dari Microsoft dan pihak ketiga menghasilkan managed code yang sesuai
dengan CTS. Hal ini berarti managed code dapat menggunakan managed type dan
instance lain, sembari memaksakan ketepatan dan keamanan tipe data secara
ketat.
Sebagai
tambahan, lingkungan managed dari runtime menghilangkan isu umum dari software.
Sebagai contoh, runtime secara otomatis dapat menangani layout objek dan
mengatur referensi ke objek, melepaskannya jika tidak digunakan lagi. Manajemen
memori otomatis ini menyelesaikan dua masalah umum dari aplikasi, yaitu memory leaks
dan invalid memory references.
Runtime juga
meningkatkan produktifitas developer, sebagai conoh, programmer dapat
menuliskan aplikasi dengan bahan pemrograman pilihan mereka, sembari mengambil
keunggulan dari runtime, class library dan komponen yang ditulis oleh bahasa
pemrograman lain oleh developer lain. Vendor yang menyediakan compiler yang
memilih runtme sebagai targetnya juga dapat melakukannya. Compiler bahasa yang
menargetkan .NET Framework membuat fasilitas dari .NET Framework tersedia bagi
kode yang eksis pada bahasa tersebut, yang sangat mempermudah proses migrasi
dari aplikasi yang sudah ada.
Walaupun
runtime didesain untuk software di masa depan, ini juga mendukung software saat
ini dan sebelumnya. Interaksi antara managed dan unmanaged code memberikan
fasilitas bagi developer untuk melanjutkan COM yang diperlukan dan DLL.
Runtime
didesain untuk meningkatkan performance. Meskipun common language runtime
menyediakan banyak layanan standar, managed code tidak pernah
diinterpresentasikan. Fasilitas yang disebut just-in-time (JIT) mengkompilasi
semua managed code untuk berjalan pada bahasa mesin/native dari system dimana
program dijalankan. Sementara itu, memori manager dan menghilangkan kemungkinan
memori terfragmentasi dan meningkatkan referensi lokal dari memori untuk
meningkatkan kecepatan.
Terakhir,
runtime dapat di-hosted oleh aplikasi server side yang tangguh seperti
Microsoft SQL server dan internet information services (IIS). Infrasruktur ini
memberikan fasilitas bagi managed code untuk menyediakan logic bisnis, sambil
menikmati performa superior dari server enterprise yang mendukung runtime
hosting.
1.7 .Net Framework
Class Library
Dot NET Framework class library
adalah suatu koleksi dari tipe data yang dapat digunakan ulang yang terintegrasi
dengan common language runtime. Class library berorientasi objek, menyediakan
tipe data dimana managed code dapat menurunkan fungsionalitasnya. Hal ini tidak
hanya membuat tipe data dari .NET Framework mudah digunakan tetapi juga
mengurangi waktu belajar dari fasilitas .NET Framework. Sebagai tambahan,
komponen pihak ketiga dapat terintegrasi dengan class dari .NET Framework.
Sebagai contoh, koleksi class
.NET Framework mengimplementasikan set interface yang dapat digunakan untuk
membuat koleksi class anda sendiri. Koleksi class anda akan terpadu dengan
class-class .NET Framework.
Sebagaimana anda harapkan dari
class library berorientasi objek, tipe-tipe data .NET Framework memberikan
fasilitas bagi anda untuk menyelesaikan sejumlah tugas pemrograman umum,
termasuk manajemen string, koleksi data, konektifitas database dan akses file.
Sebagai tambahan dari tugas-tugas umum tersebut, class library mengikutkan tipe
data yang mendukung variasi scenario development. Sebagai contoh, anda dapat
menggunakan .NET Framework untuk membangun type aplikasi dan layanan berikut:
·
Aplikasi konsol
·
Alikasi scripting atau hosted
·
Aplikasi windows GUI (Windows Forms)
·
Aplikasi ASP.NET
·
XML Web Services
·
Windows services
Dari uraian panjang lebar
mengenai .NET Framework diharapkan anda mengerti bahwa Visual Basic .NET
merupakan bagian dari teknologi tersebut. Selain Visual Basic .NET kita dapat
gunakan bahasa pemrograman lain untuk menghasilkan aplikasi yang berjalan di
atas .NET Framework. Bahkan saat penulisan buku ini, penulis mendapatkan
informasi bahwa .NET Framework mendukung 15 bahasa pemrograman. Selain Visual
Basic .NET terdapat C#, C++, J#, Jscript, VBScript bahkan Perl, Cobol, dan
Pascal dapat digunakanuntuk menghasilkan aplikasi managed code.
Dot NET Framework saat ini juga
dikembangkan untuk mobile dan embedded devices yang disebut Compact .NET
Framework. Efek pengembangan ini adalah dengan Visual Basic .NET atau
pemrograman yang mendukung framework .NET biasa juga dapat menghasilkan
aplikasi untuk mobile/smart device seperti Pocket PC. Jadi dengan menguasai
Visual Basic .NET atau salah satu pemrograman .NET kita dapat menghasilkan
berbagai tipe aplikasi maupun target aplikasi (server, desktop atau smart
device seperti PDA).
1.8 .Net Building
Block Services
Building block
merupakan sekumpulan services yang bersifat programmable, yang dapat diakses
secara offline maupun online. Service tersebut merupakan modul-modul yang
terdapat di suatu komputer, server dalam jaringan, maupun di suatu server di
internet.
Service ini
merupakan suatu idealisasi di masa depan, dimana sebuah aplikasi bersifat
terdistribusi dengan modul-modul yang tersimpan di berbagai tempat, tetapi
dapat diintegrasikan membentuk suatu aplikasi. Konsep ini merupakan arah
pengembangan subscription based software, yang saat ini mulai banyak berkembang
dan dikenal sebagai Application Service Provider.
Service
tersebut dapat diakses oleh berbagai platform, asalkan platform tersebut
mensupport protokol SOAP, yang merupakan protokol standar dalam mengakses web
service. Peranan XML sebagai media definisi data menjadi sangat penting dalam
hal ini, dan XML juga menjadi pusat perubahan besar dalam platform .NET. Dalam
pelajaran selanjutnya, anda akan melihat bahwa semua data dalam .NET selalu
direpresentasikan dalam bentuk XML.
1.9 Visual Studio
.Net
Visual Studio
.NET menyediakan tools bagi para developer untuk membangun aplikasi yang
berjalan di .Net Framework. VS.Net membawa perubahan besar dalam gaya
pemrograman, karena setiap programmer dituntut untuk memahami .NET object model
dan Object Oriented Programming dengan baik, jika tidak ingin menghasilkan
aplikasi dengan performa rendah.
VS.Net juga
semakin mempertipis jarak antara Windows Programmer dengan Web Programmer.
Dunia scripting yang akrab bagi programmer web akan sulit ditemukan dalam .NET,
karena pemrograman web sudah bersifat full object oriented, dengan fasilitas
event driven programming sebagaimana layaknya windows programming. Pemrograman
web menjadi lebih mudah dan menyenangkan bagi para programmer windows,
sedangkan anda para veteran scripting language sudah saatnya untuk beralih ke
ASP.NET, yang dapat diprogram menggunakan VB, C#, C++ maupun Phyton dan COBOL
sekalipun.
Microsoft
masih menyediakan Jscript.NET bagi anda para pecandu JavaScript dan JScript,
sedangkan versi .Net dari VBScript belum diketahui apakah akan disediakan atau
tidak. Para veteran VB.Script disarankan untuk mempelajari VB, sehingga dapat
menggunakan VB.Net untuk membangun aplikasi web. Bahasa pemrograman yang
terdapat di VS.NET adalah VB.NET, C#, C++ .NET, J#, dan Jscript .NET. Dalam
masa mendatang akan terus ditambah berbagai bahasa pemrograman lain.
1.10 .Net Enterprise
Server
Bagian ini merupakan sekumpulan
server based technology yang digunakan untuk mendukung teknologi .NET, yang
mencakup sistem operasi, database, messaging, maupun manajemen e-commerce.
Teknologi yang disediakan antara lain adalah Windows 2000 Server, SQL Server,
Exchange, ISA Server dan BiZTalk Server.
1.11 .Net pada
sistem operasi selain Windows
Implementasi .NET 2.0 saat
ini juga memiliki Mono, perangkat lunak varian yang dapat berjalan di Linux dan
UNIX. Mono dikembangkan oleh Ximian, yang selanjutnya diakuisisi oleh Novell.
Mono merupakan platform sumber terbuka, berarti semua orang dapat
berpartisipasi di dalam pengembangan Mono.
BAB
2
C
Sharp
2.1 Penjelasan
C# (dibaca: C
sharp) merupakan sebuah bahasa pemrograman yang berorientasi objek yang
dikembangkan oleh Microsoft sebagai bagian dari inisiatif kerangka .NET
Framework. Bahasa pemrograman ini dibuat berbasiskan bahasa C++ yang telah
dipengaruhi oleh aspek-aspek ataupun fitur bahasa yang terdapat pada
bahasa-bahasa pemrograman lainnya seperti Java, Delphi, Visual Basic, dan
lain-lain) dengan beberapa penyederhanaan. Menurut standar ECMA-334 C# Language
Specification, nama C# terdiri atas sebuah huruf Latin C (U+0043) yang diikuti
oleh tanda pagar yang menandakan angka # (U+0023). Tanda pagar # yang digunakan
memang bukan tanda kres dalam seni musik (U+266F), dan tanda pagar # (U+0023)
tersebut digunakan karena karakter kres dalam seni musik tidak terdapat di
dalam keyboard standar.
Microsoft C#
(disebut C sharp) adalah sebuah bahasa pemrograman yang didesain untuk
membangun jangkauan aplikasi enterprise yang berjalan di atas framework .NET.
Sebuah evolusi Microsoft C dan Microsoft C++, C# sederhana, modern, aman dan
Object Oriented.
C# dikenal
sebagai visual C# dalam Visual Studio .Net. Dukungan untuk Visual C# termasuk
proyek template, desainer, halaman poperti, kode, model objek dan fitur lain
dari lingkungan pengembangan. Library untuk pemrograman visual c# adalah .NET
Framework.
2.2 Sejarah
Pada akhir
dekade 1990-an, Microsoft membuat program Microsoft Visual J++ sebagai sebuah
langkah percobaan untuk menggunakan Java di dalam sistem operasi Windows untuk
meningkatkan antarmuka dari Microsoft Component Object Model (COM). Akan
tetapi, akibat masalah dengan pemegang hak cipta bahasa pemrograman Java, Sun
Microsystems, Microsoft pun menghentikan pengembangan J++, dan beralih untuk
membuat pengganti J++, kompilernya dan mesin virtualnya sendiri dengan
menggunakan sebuah bahasa pemrograman yang bersifat general-purpose. Untuk
menangani proyek ini, Microsoft merekrut Anders Helsberg, yang merupakan mantan
karyawan Borland yang membuat bahasa Turbo Pascal, dan Borland Delphi, yang
juga mendesain Windows Foundation Classes (WFC) yang digunakan di dalam J++.
Sebagai hasil dari usaha tersebut, C# pun pertama kali diperkenalkan pada bulan
Juli 2000 sebagai sebuah bahasa pemrograman modern berorientasi objek yang menjadi
sebuah bahasa pemrograman utama di dalam pengembangan di dalam platform
Microsoft .NET Framework.
Pengalaman
Helsberg sebelumnya dalam pendesain bahasa pemrograman seperti Visual J++,
Delphi, Turbo Pascal) dengan mudah dilihat dalam sintaksis bahasa C#, begitu
pula halnya pada inti Common Language Runtime (CLR). Dari kutipan atas
interview dan makalah-makalah teknisnya ia menyebutkan kelemahan-kelemahan yang
terdapat pada bahasa pemrograman yang umum digunakan saat ini, misalnya C++,
Java, Delphi, ataupun Smalltalk. Kelemahan-kelemahan yang dikemukakannya itu
yang menjadi basis CLR sebagai bentukan baru yang menutupi kelemahan-kelemahan
tersebut, dan pada akhirnya memengaruhi desain pada bahasa C# itu sendiri. Ada
kritik yang menyatakan C# sebagai bahasa yang berbagi akar dari bahasa-bahasa
pemrograman lain. [1] Fitur-fitur yang diambilnya dari bahasa C++ dan Java
adalah desain berorientasi objek, seperti garbage collection, reflection, akar
kelas (root class), dan juga penyederhanaan terhadap pewarisan jamak (multiple
inheritance). Fitur-fitur tersebut di dalam C# kini telah diaplikasikan
terhadap iterasi, properti, kejadian (event), metadata, dan konversi antara
tipe-tipe sederhana dan juga objek.
C# didisain
untuk memenuhi kebutuhan akan sintaksis C++ yang lebih ringkas dan Rapid
Application Development yang 'tanpa batas' (dibandingkan dengan RAD yang
'terbatas' seperti yang terdapat pada Delphi dan Visual Basic).
Agar mampu
mempromosikan penggunaan besar-besaran dari bahasa C#, Microsoft, dengan dukungan
dari Intel Corporation dan Hewlett-Packard, mencoba mengajukan standardisasi
terhadap bahasa C#. Akhirnya, pada bulan Desember 2001, standar pertama pun
diterima oleh European Computer Manufacturers Association atau Ecma
International (ECMA), dengan nomor standar ECMA-334. Pada Desember 2002,
standar kedua pun diadopsi oleh ECMA, dan tiga bulan kemudian diterima oleh
International Organization for Standardization (ISO), dengan nomor standar
ISO/IEC 23270:2006
2.3 Tujuan Desain
Standar European Computer Manufacturer
Association (ECMA) mendaftarkan beberapa tujuan desain dari bahasa pemrograman
C#, sebagai berikut:
Ø Bahasa
pemrograman C# dibuat sebagai bahasa pemrograman yang bersifat bahasa
pemrograman general-purpose (untuk tujuan jamak), berorientasi objek, modern,
dan sederhana.
Ø Bahasa
pemrograman C# ditujukan untuk digunakan dalam mengembangkan komponen perangkat
lunak yang mampu mengambil keuntungan dari lingkungan terdistribusi.
Ø Portabilitas
programmer sangatlah penting, khususnya bagi programmer yang telah lama
menggunakan bahasa pemrograman C dan C++.
Ø Dukungan
untuk internasionalisasi (multi-language) juga sangat penting.
Ø C#
ditujukan agar cocok digunakan untuk menulis program aplikasi baik dalam sistem
klien-server (hosted system) maupun sistem embedded (embedded system), mulai
dari perangkat lunak yang sangat besar yang menggunakan sistem operasi yang
canggih hingga kepada perangkat lunak yang sangat kecil yang memiliki
fungsi-fungsi terdedikasi.
Ø Meskipun
aplikasi C# ditujukan agar bersifat 'ekonomis' dalam hal kebutuhan pemrosesan
dan memori komputer, bahasa C# tidak ditujukan untuk bersaing secara langsung
dengan kinerja dan ukuran perangkat lunak yang dibuat dengan menggunakan bahasa
pemrograman C dan bahasa rakitan.
Ø Bahasa
C# harus mencakup pengecekan jenis (type checking) yang kuat, pengecekan larik
(array), pendeteksian terhadap percobaan terhadap penggunaan Variabel-variabel
yang belum diinisialisasikan, portabilitas kode sumber, dan pengumpulan sampah
(garbage collection) secara otomatis.
2.4 Fitur-fitur
bahasa
C# kadang-kadang dapat disebutkan
sebagai bahasa pemrograman yang paling mencerminkan dasar dari CLR dimana semua
program-program .NET berjalan, dan bahasa ini sangat bergantung pada kerangka
tersebut sebab ia secara spesifik didisain untuk mengambil manfaat dari
fitur-fitur yang tersedia pada CLR.
Alasan berikut membuat C # banyak
digunakan bahasa profesional:
·
Modern.
·
Memiliki bahasa pemrograman yang mudah
dimengerti.
·
Memiliki sistem Object Oriented.
·
Komponen berorientasi.
·
Mudah untuk di pelajari.
·
Bahasa pemrogramannya terstruktur.
·
Menghasilkan program yang efisien.
·
Bahasa ini dapat di compiled (dijalankan) pada
berbagai platform komputer.
·
Bagian dari NET. Framework.
·
Memiliki dukungan untuk internasionalisasi
(multi-language)
2.5 Fitur Pemrograman
Meskipun
struktur script dalam C # mengikuti bahasa tingkat tinggi. Bahasa pemograman C,
C#, C + + dan bahasa pemrograman object-oriented lainnya, memilikikemiripan
yang kuat dengan Java. Bahasa – bahasa ini juga memiliki berbagai fitur pemrograman
yang kuat yang membuatnya menawan untuk banyak programmer di seluruh dunia.
2.6 Tentang C#
1. Sederhana (Simple)
C# bersifat sederhana, karena
bahasa ini didasarkan kepada bahasa C dan C++. Jika anda familiar dengan C dan
C++ atau bahkan Java, anda akan menemukan aspek-aspek yang begitu familiar,
seperti statements, expression, operators, dan beberapa fungsi yang diadopsi
langsung dari C dan C++, tetapi dengan berbagai perbaikan yang membuat
bahasanya menjadi lebih sederhana.
2. Object Oriented Language
C# memenuhi syarat-syarat sebagai
sebuah bahasa pemrograman yang bersifat Object Oriented, yaitu encapsulation,
inheritance dan polymorphism.
3. Powerfull dan Fleksibel
C# bisa digunakan untuk membuat
berbagai macam aplikasi, seperti aplikasi pengolah kata, grapik, spreadsheets,
atau bahkan membuat kompiler untuk sebuah bahasa permrograman.
4. Efisien
C# tidak memiliki terlalu banyak
keyword, sehingga dapat mengurangi kerumitan.
5. Modular
Kode C# ditulis dengan pembagian
masing Class-Class (classes) yang terdiri dari beberapa routines yang disebut
sebagai member methods. Class-Class dan metode-metode ini dapat digunakan
kembali oleh program atau aplikasi lain. Hanya dengan memberikan informasi yang
dibutuhkan oleh Class dan metode yang dimaksud, maka kita akan dapat membuat
suata kode yang dapat digunakan oleh satu atau beberapa aplikasi dan program
(reusable code)
Setelah kita membaca dan
mengetahui apa itu bahasa C# dan mengapa di baca c sharp , sekarang kita harus
mengetahui apa saja kelebihan dan kekurangan bahasa C#:
2.7 Kelebihan C#
Ø Flexible:
C# program dapat di eksekusi di mesin computer sendiri atau di transmiskan
melalu web dan di eksekusi di computer lainnya
Ø Powerful:
C# memiliki sekumpulan perintah yang sama dengan C++ yang kaya akan fitur yang lengkap
tetapi dengan gaya bahasa yang lebih diperhalus sehingga memudahkan penggunanya
Ø Easier
to use: C# memodifikasi perintah yang sepenuhnya sama dengan C++ dan
memberitahu dimana letak kesalahan kita bila ada kesalahan dalam aplikasi , hal
ini dapat mengurangi waktu kita dalam mencari error
Ø Visually
oriented: The .NET library code yang digunakan oleh C#
Ø menyediakan
bantuan yang dibutuhkan untuk membuat tampilan yang complicated dengan frames,
dropdown , tabbed windows, group button , scroll bar , background image , dan
lainnya
Ø Secure:
Semua bahasa pemprograman yg digunakan untuk kebutuhan internet mesti memiliki
security yg benar-benar aman untuk menghindari aksi kejahatan dari pihak lain
seperti hacker , C# memiliki segudang fitur untuk menanganinya
Ø Memory
management lebih mudah karena adanya garbage collector, yg membebaskan memory
scr otomatis shg dapat mencegah memory leak
Ø Type
safe, konversi implisit dari tipe data hanya mensupport turunan dan operasi
dari tipe data yg melebar (misal dari int ke long, kalo int ke short tidak
bisa) dan ini dideteksi pas compile.
Ø Banyak
fungsi yang tersedia di Base Class Library .NET Framework
Ø .NET
Framework berkembang cepat dan semakin banyak fitur yg membuat produktivitas
kita bertambah, misal:linq.
Ø Untuk
pengembangan aplikasi bisnis/umum atau enterprise, penggunaan C# akan lebih
produktif daripada bila menggunakan C++. Bahasa C# masih merupakan turunan dari
bahasa C, tetapi seolah2 dibuat lebih mudah dan produktif seperti Visaul Basic
dengan tetap mempertahankan fleksibilitas dan “power” dari bahasa C.
2.8 Kekurangan C#
Ø Banyaknya
operator serta fleksibilitas penulisan program kadang-kadang membingungkan
pemakai.
Ø Bagi
pemula pada umumnya akan kesulitan menggunakan pointer.
2.9 Penulisan Kode
C#
Langkah-langkah penulisan kode
C#:
Kode program diawali dengan
mendeklarasikan nama Class atau namespace.
Aplikasi dibuka dengan tanda “{“
dan pada akhir kode ditutup dengan tanda “}”.
Aplikasi C# dibangun oleh satu
atau beberapa fungsi yang diletakan di dalam sebuah Class dengan ketentuan
sebagai berikut .
·
Nama suatu fungsi pada C# harus diawali dengan
huruf, atau garis bawah “_” yang kemudian bisa diikuti oleh huruf, angka atau
garis bawah.
·
Pada bagian akhir nama fungsi digunakan tanda
kurung buka dan kurung tutup “()”.
·
Penamaan fungsi tidak boleh mengandung spasi.
Awal dan akhir suatu fungsi di mulai dengan tanda “{“ dan diakhiri dengan tanda
“}”.
·
Penulisan komentar ( tulisan yang tidak di
eksekusi) dapat dibuat sebagai berikut
·
Komentar satu baris dengan menggunakan tanda
“//”
·
Komenter yang lebih dari satu baris dengan di
awali tanda “/*” dan diakhiri oleh “*/”
Contoh program yang paling
sederhana untuk file Hallo.cs
class HelloWorld
{
// Bagian utama program C# à ini
adalah contoh komentar 1 baris
public static void Main()
{
System.Console.WriteLine(“Hello,
World”);
}
/* ini cantoh komentar
lebih dari satu baris */
}
2.10 Metode C#
Sebuah kelas
memiliki sifat dan perilaku. Perilaku didefinisikan dengan metode anggota.
Sebuah metode adalah fungsi yang dimiliki oleh sebuah kelas. Bahkan
kadang-kadang metode anggota disebut fungsi anggota. Metode anggota menentukan
kelas anda bisa mel atau bagaikukan apa dan bagaimana berperilaku.
Biasanya,
metode diberikan nama action, seperti WriteLine () atau AddNumbers (). Dalam
kasus yang ditunjukkan di sini, bagaimanapun, metode kelas memiliki nama
khusus, Main (), yang tidak menggambarkan tindakan tetapi tidak menunjuk ke
Common Language Runtime (CLR) adalah metode utama, atau yang pertama di kelas
Anda. CLR akan memanggil Main() ketika program Anda mulai. Setiap program C#
harus memiliki metode Main().
2.11 Namespace
Console adalah
satu dari sejumlah besar type yang berguna yang merupakan bagian dari .NET
Frameworl Class Library (FCL). Setiap kelas mempunyai nama. Dengan demikian FCL
memiliki ribuan nama seperti ArrayList, Hashtable, FileDalog, DataException,
EventArgs dan puluhan ribu lainnya. Ini merupakan suatu masalah karena tidak
ada developer yang menghafal semua nama yang digunakan oleh .NET Framework.
Cepat atau lambat Anda akan membuat objek dan memberikan nama yang telah
digunakan. Masing-masing kelas di C# harus memiliki nama yang unik. Solusi
untuk masalah ini adalah menciptakan sebuah namespace. Namespace membatasi
lingkup nama itu sehingga bermakna hanya dalam namespace yang didefinisikan.
2.12 Tipe C#
C# membagi jenis menjadi 2 set
yaitu: intrisic types dan user-defined types.
C# membagi jenis setnya menjadi 2
kategori: yaitu value types dan reference type. Perbedaannya yaitu di cara
penyimpanannya di memori. Value type menyimpan nilai di memori di stack-nya.
Alamat reverence type ditaruh di stack, tetapi objek yang sebenarnya disimpan
di heap.
Setiap jenis memiliki ukuran yang
spesifik dan tidah berubah. Berbeda dari C++ , C# integer selalu 4 byte karena
itu memetakan ke int32 di .NET CLS.
Daftar Value Tipe
Tabel Karaker
2.13 Variable
Variabel diberikan nama, diberi
nilai dan diinisialisasikan dan dideklarasikan. Anda dapat menetapkan nilai
baru ke variabel setiap saat.
Contohnya:
class Values
{
static void Main( )
{
int myInt;
myInt = 7;
System.Console.WriteLine(“Assigned, myInt: {0}”, myInt);
myInt = 5;
System.Console.WriteLine(“Reassigned, myInt: {0}”, myInt);
}
}
Kita bisa membuat variabel menjadi konstan dengan cara
menambahkan const. Contoh:
class Values
{
static void Main( )
{
const int FreezingPoint = 32; // degrees Farenheit
const int BoilingPoint = 212;
System.Console.WriteLine(“Freezing point of water: {0}”,
FreezingPoint );
System.Console.WriteLine(“Boiling point of water: {0}”,
BoilingPoint );
//BoilingPoint = 21;
}
}
Coding seperti berikut:
Manusia _dani = new Pria();
Mempunyai dua pekerjaan yaitu membuat pointer _dani dan
membuat objek Pria().
2.14 Kelas
Kelas
merupakan suatu blueprint atau cetakan untuk menciptakan suatu instant
dari object. class juga merupakan grup
suatu object dengan kemiripan attributes/properties, behaviour dan relasi ke
object lain. Kelas dibutuhkan agar coder tidak perlu mengetik coding yang sama
untuk kesekian kalinya.
2.15 Abstrak Kelas
Abstract class digunakan untuk mendeklarasikan
karakteristik umum dari subclass. Abstract class tidak bisa diimplementasi sama
halnya dengan kelas interface. abstract class hanya bisa digunakan sebagai
super class, tapi juga bisa diturunkan dari class abstract lainnya. Untuk
mendeklarasikan sebuah abstract class digunakan keyword abstract, [abstract]
class [class_name].
Sebuah abstract class pada
dasarnya tidak jauh beda dengan class lainnya, yakni juga berisi method yang
menggambarkan karakteristik dari kelas abstract tersebut, bedanya yakni sebuah
abstract class bisa berisi method tanpa diimplementasikan artinya sebuah method
tanpa body, methid seperti ini disebut method abstract. untuk pendeklarasiannya
digunakan keyword abstract: [abstract] modifier class [class_name].
Berikut
ini aturan nya :
Ø Jika sebuah kelas memiliki method
abstrak maka kelas itu harus menjadi kelas abstrak.
Ø Sebuah kelas abstrak dapat saja
memiliki method yang tidak abstrak.
Ø Jika sebuah kelas abstrak
diturunkan menjadi kelas konkret, maka semua method abstrak dari kelas abstrak
haruslah ditulis ulang / dibuat ulang di kelas konkretnya dan diberi detail
dari methodnya (override).
Ø Jika method abstrak di turunkan
dan kelas turunannya adalah kelas abstrak, maka tidak perlu menulis ulang
method yang abstrak.
2.16 Static
Static digunakan untuk membuat
coding menjadi lebih mudah. Jadi selevel sama kelas, tidak perlu buat objek
lagi. Static ini diperlukan pada waktu membuat fungsi. Agar tidak perlu lagi
membuat objek. Jadi objek yang static atau anggota kelas dapat diakses langsung
dari kelas, sementara anggota non-static hanya dapat diakses dari objek yang
dibuat sendiri.
Variabel
statis digunakan untuk nilai-nilai yang tidak dapat disimpan oleh variabel non
statis. Contoh: seharusnya Anda ingin menyimpan hitungan berapa banyak dari
sebuah kelas ada? Bagaimana Anda menyimpannya dalam satu contoh?
Metode
menggunakan prinsip yang sama. Mereka harus digunakan untuk prosedur yang tidak
praktis untuk dilakukan dalam sebuah instance dari kelas. Saya cenderung
menggunakan mereka untuk prosedur yang luas (bukan istilah teknis), yang
berarti mereka yang tidak mengharuskan saya untuk inisialisasi sebuah obyek.
Misalnya, menambahkan dua parameter.
Namun, jika
Anda ingin menambahkan dua sifat suatu objek, metode ini dapat tidak statis,
karena ketika Anda sadari, metode statis tidak dapat mengakses metode instan
atau variabel dalam kelas. Tentu saja itu masuk akal karena metode statis tidak
akan tahu mana instance dari kelas yang mendapatkan ini kecuali diberitahu,
karena itu bukan bagian dari sebuah contoh sendiri.
2.17 Interface
Sebuah
‘interface’ sangat mirip dengan ‘Class’ tetapi interface tidak memiliki
‘implementation’. Implementasi adalah kode atau fungsi yang terdapat diantara
curly braces ( {} ). Jadi interface tidak memiliki curly braces {}. Pada
interface, hanya terdapat deklarasi dari Event, Indexers, Method, dan
Properties. Interface ini diturunkan dari Class dan Struct sehingga yang ada di
Interface hanya deklarasi saja.
Interface
hanya mengandung deklarasi, tapi dia mempunyai kegunaan. Interface sangat
bermanfaat dalam plug and play arsitektur. Bila kita menggunakan interface,
kita tidak memerlukan pemrograman extra dalam pembuatan sebuah aplikasi. Jadi
interface ini berfungsi untuk membuat sebuah method yang harus diimplementasikan
di kelas mana pun. Jadi walaupun dia bukan turunannya tapi dapat memiliki
method yang sama sesuai keinginan.
Mari kita lihat kode Interface
berikut ini:
Perhatikan sebuah interface
dengan nama ‘IMyInterface’. Secara umum, biasanya penamaan untuk Interface
menggunakan huruf ‘I’ besar dibelakang nama. Interface yang baru kita buat ini
hanya memiliki single method yaitu ‘MethodToIMplement();’. Seperti yang di
atas, tidak ada implementation pada interface (penggunaan kode dalam curly
braces {} ), melainkan hanya menampilkan method dari class turunan yang akan
diimplementasikan.
Implementasi dari interface pada
kode berikut ini:
Contoh menggunakan Interface
using System;
// declare the interface
interface IStorable
{
// no access modifiers, methods are public
// no implementation
void Read( );
void Write(object obj);
int Status { get; set; }
}
// create a class which implements the IStorable interface
public class Document : IStorable
{
public Document(string s)
{
Console.WriteLine(“Creating document with: {0}”, s);
}
// implement the Read method
public void Read( )
{
Console.WriteLine(
“Implementing the Read Method for IStorable”);
}
// implement the Write method
public void Write(object o)
{
Console.WriteLine(
“Implementing the Write Method for IStorable”);
}
// implement the property
public int Status
{
get
{
return status;
}
set
{
status = value;
}
}
// store the value for the property
private int status = 0;
}
// Take our interface out for a spin
public class Tester
{
static void Main( )
{
// access the methods in the Document object
Document doc = new Document(“Test Document”);
doc.Status = -1;
doc.Read( );
Console.WriteLine(“Document Status: {0}”, doc.Status);
}
}
Output:
Creating document with: Test Document
Implementing the Read Method for IStorable
Document Status: -1
2.18 Delegate
Delegates
adalah pointer terhadap fungsi. Dengan menggunakan delegates maka program dapat
secara dinamis memanggil method pada saat runtime. Tujuan dari delegates yang
sebenarnya adalah menyediakan infrastruktur untuk mensupport penggunaan Event.
Delegates merupakan reference type object yang mempunyai signature dan return
type dari method. Delegate instance digunakan untuk merefer ke method. Semua
method yang di refer oleh instance delegate harus mempunyai signatur yang
sesuai dengan delegate nya. Cara penulisan delegate pada C# adalah:
[modifiers]
delegate <return type> <delegate name>([parameter list]);
Jadi
delegate itu bias dipanggil, tapi yang dipanggil itu adalah program yang
diassigned ke delegate itu sendiri.
Daftar
Pustaka
Buku
Membuat Aplikasi Windows Dengan Visual Basic .Net (Hal 1-6 pukul 20.00, 8
September 2015)
Buku
Upgrading Microsoft Visualbasic 6 To Microsoft Visualbasic .Net (Hal 25-26
pukul 18.00, 8 September 2015)
Comments