Anda di halaman 1dari 8

BAB I PENDAHULUAN

Tujuan praktikum
o o o o Mampu membuat sebuah program C# Mampu meng-compile dan menjalankan program C# Mampu menggunakan Debugger dan Release Mampu menambahkan Exception Handling di program C#

Teori Pengantar
Secara umum bahasa C# memiliki karakteristik umum: o Tidak ada alokasi memori secara manual menggunakan pointer. o Manajemen memori otomatis menggunakan salah satu fiturnya yang dinamakan garbage collection. o Mendukung konstruksi kelas, antarmuka, struktur, dan enumerasi. o Mendukung pemrograman berbasis atribut. o Mendukung LINQ (Language Integrated Query) yang memungkinkan aplikasi yang ditulis dengan C# mampu berinteraksi dan bekerja sama dengan berbagai jenis format data. o Mendukung tipe data dan kelas generic. o Mendukung operator delegasi. Bahasa C# dirancang dalam hubungannya dengan Framework .NET. Dalam hal ini Framework .NET memiliki sejumlah pustaka kelas yang menyediakan sejumlah besar kelas yang sangat diperlukan untuk mengembangkan aplikasi, seperti fungsionalitas teks dan grafik, kelas-kelas untuk menyimpan data di basis data, tool untuk memanipulasi berkas XML, metodemetode untuk melakukan akses terhadap situs-situs Web yang diperlukan, dsb.

Bimo Adi Pradono 31045

www.digizoneku.com

BAB II PEMBAHASAN
1. Penggunaan Namespace di Bahasa C#
Di pemrograman C#, .NET Namespace dipanggil dengan perintah using. Berikut ini beberapa .NET Namespace yang digunakan dalam program ini:
.NET Namespace System Deskripsi Menyediakan berbagai kelas yang berhubungan dengan data, komputasi matematika, pembangkitan bilangan acak (random), peubah lingkungan (runtime environment), serta penanganan memori menggunakan garbage collection. Menyediakan kelas-kelas pemuat yang dapat di-custom menggunakan tipe-tipe data generic. Namespace yang diperlukan untuk pemrograman LINQ API. Berisi class yang merepresentasikan ASCII dan unicode character encodings. Abstract base classes untuk mengkonvert blok karakter dan blok bytes. Dan kelas pembantu yang memanipulasi dan mem-format objekobjek string tanpa membuat intermediate instances of String.

System.Collections.Generic System.Linq System.Text

Program C# dimulai dengan pemanggilan Namespace di atas:


using using using using System; System.Collections.Generic; System.Linq; System.Text;

namespace ConsoleApplication { class Program { static void Main(string[] args) { } } }

2. Program Sederhana Program Salam


___________ Source Code ___________
//menunjukkan bahwa method ini adalah method utama static void Main(string[] args) { //mendeklarasikan NamaKu sebagai variabel bertipe string

Bimo Adi Pradono 31045

www.digizoneku.com

string NamaKu; //print tulisan "Masukkan namamu: " Console.WriteLine("Masukkan namamu: "); //input nilai untuk variabel NamaKu dari keyboard NamaKu = Console.ReadLine(); //menampilkan tulisan Assalamualaikum + nilai variabel NamaKu Console.WriteLine("Assalamualaikum {0}", NamaKu); //membaca input dari keyboard; Console.ReadLine(); }

___________ Run Program ___________ Program yang diberi input Bimo:

3. Program Dengan Exception


___________ Source Code ___________
//menunjukkan bahwa method ini adalah method utama static void Main(string[] args) { //blok try; setiap error yang terjadi akan dibuang ke blok catch try { //menampilkan tulisan "Masukkan nilai integer pertama" Console.WriteLine("Masukkan nilai integer pertama"); //menyimpan input keyboard ke temp string temp = Console.ReadLine(); //konversi nilai temp yang sebelumnya string menjadi signed 32-bit integer, kemudian disimpan ke variabel i int i = Int32.Parse(temp); //menampilkan tulisan "Masukkan nilai integer kedua" Console.WriteLine("Masukkan nilai integer kedua"); //menyimpan input keyboard ke temp temp = Console.ReadLine();

Bimo Adi Pradono 31045

www.digizoneku.com

//konversi nilai temp yang sebelumnya string menjadi signed 32-bit integer, kemudian disimpan ke variabel j int j = Int32.Parse(temp); //mendeklarasikan nilai k sebagai integer dengan nilai sebesar i/j int k = i / j; //menampilkan tulisan Hasil pembagian {nilai i} oleh {nilai j} adalah {nilai k} Console.WriteLine("Hasil pembagian {0} oleh {1} adalah {2}", i, j, k); //membaca input dari keyboard agar program tidak keluar secara otomatis Console.ReadLine(); } //menangkap error yang mungkin keluar dari blok try catch (Exception e) { //menampilkan tulisan Eksepsi: {tipe error} Console.WriteLine("Eksepsi: {0}", e); } //membaca input dari keyboard agar program tidak keluar secara otomatis Console.ReadLine(); }

___________ Run Program ___________ Program yang diberi input normal:

Run program untuk menguji exception handling:

Bimo Adi Pradono 31045

www.digizoneku.com

BAB III JAWABAN PERTANYAAN


1. Apakah fungsi static void main dalam sebuah program?

Dapatkah sebuah program tidak memiliki static void main? Bila ada, program apa yang tidak menggunakannya?
Jawab: o Metode main() (dalam program tertulis static void Main(string[] args)), adalah kelas yang akan dieksekusi di dalam program atau bisa dikatakan sebagai fungsi utama dari program. Tertulis sebagai static supaya bisa dieksekusi oleh CLR tanpa perlu membuat objek Program terlebih dahulu. Void menunjukkan bahwa metode Main() tidak menghasilkan nilai balik. Sedangkan string[] args digunakan ketika program melewatkan parameter tertentu pada metode Main(). o Memang suatu program harus memiliki method yang wujudnya static void main pada modul utamanya karena method utama inilah yang akan dijalankan. Tapi ada cara di mana program dapat berjalan tanpa static void main, yaitu dengan menggunakan blok static. Blok static akan dieksekusi langsung ketika class di-load, bahkan lebih utama dibandingkan static void main() method.

2. Apakah perbedaan debug dan release pada saat suatu program dijalankan?
Jawab: o Debug itu secara konstan hanya mendefinisikan konfigurasi untuk debugging. Release digunakan untuk mengaktifkan konfigurasi pengoptimalan kode program. o Ukuran file dari versi release lebih kecil dari yang satunya. Namun, versi release rentan memiliki bug (disebut juga release-only bug) yang tidak didapati pada versi debug. Untuk urusan publishing, versi debug ditujukan untuk debugging sementara versi satunya merupakan final build bagi pengguna akhir.

3. Apakah makna finally dalam suatu program? Apakah finally mutlak ada dalam sebuah statement try catch? Bila tidak, kapan sebaiknya finally digunakan?
Jawab: o Finally digunakan untuk membersihkan resources yang dialokasikan di blok try serta menjalankan kode apapun yang harus dieksekusi meskipun ada exception. Catch digunakan untuk meng-handle exceptions yang ada di dalam statement blok, finally digunakan untuk memberi garansi statement blok yang kode programnya dieksekusi. o Blok ini tidak mutlak berada dalam struktur try catch karena sifatnya yang opsional. finally cocok dipakai jika blok try memiliki kemungkinan variasi error yang cukup
Bimo Adi Pradono 31045 www.digizoneku.com

banyak. Jika setiap kemungkinan tidak ter-cover seluruhnya oleh setiap blok catch di bawahnnya, blok finally akan sangat membantu.

4. Apa arti step in, step over, dan watch pada mekanisme debugging suatu program C#?
Jawab: Dalam debugging, tiap baris dapat dinikmati perlahan-lahan untuk mencari bug yang kemungkinan ada. Untuk menikmati tiap line of code, ada dua mode: o step in akan menjalankan eksekusi kode ke baris berikutnya. Bila baris yang dituju mengalihkan eksekusi dengan memanggil method baru, eksekusi akan berjalan ke method yang dipanggil dan dijalankan hingga method itu selesai diproses hingga baris terakhir (dari method itu). Proses debugging kemudian kembali berjalan di baris baru tepat di bawah baris yang memanggil method tadi. o step over sama dengan step in, bedanya step over menangani code yang mengalihkan eksekusi dengan memanggil method lain. Dengan kata lain akan melompat langsung menuju baris berikutnya. step over tidak menunjukkan proses eksekusi method sampingan tersebut. o watch berfungsi untuk menilik nilai dari variabel-variabel yang kita masukkan dalam daftar watch. Tiap langkah eksekusi dalam debugging mungkin akan mempengaruhi nilai variabel tertentu sehingga cukup penting untuk mengetahui nilai variabel yang kita inginkan di tiap langkah eksekusi.

5. Apa perbedaaan antara Write dan WriteLine? Apa makna fungsi Parse pada latihan 4?
Jawab: a. Data yang ditulis dengan Write akan diprint sesuai dengan input. Sedangkan WriteLine digunakan untuk menyisipkan baris karakter baru setelah menulis karakter terakhir di output ke dalam file. o Contoh Write():
Console.Write("Halo,"); Console.Write("apa"); Console.Write("kabar");

jika dieksekusi, mengeluarkan output:


Halo,apakabar

o Contoh WriteLine():
Console.WriteLine("Halo,"); Console.WriteLine("apa"); Console.WriteLine("kabar");

akan menghasilkan output:


Halo,

Bimo Adi Pradono 31045

www.digizoneku.com

apa kabar

b. Fungsi Parse adalah menganalisis suatu set data untuk menarik kesimpulan apakah data tersebut penting atau tidak.
... string temp = Console.ReadLine(); int i = Int32.Parse(temp); ...

Fungsi Parse di atas adalah sebagai konverter karakter string menjadi tipe data signed integer 32-bit.

Bimo Adi Pradono 31045

www.digizoneku.com

BAB IV KESIMPULAN
Karakteristik pemrograman dengan C#: o Setiap program, kelas, dan metode/fungsi dalam bahasa pemrograman C# selalu dibatasi menggunakan tanda kurung kurawal buka ({) dan tutup (}). o Keyword namespace merupakan koleksi kelas yang berhubungan dalam program bahasa C#. Bahasa C# mengemas kelas-kelas yang saling berhubungan (misal kelas untuk akses basis data) dalam suatu namespace. Dalam 1 namespace tidak diizinkan memiliki nama kelas yang sama, tapi nama kelas boleh sama dalam namespace yang berbeda. o Keyword system digunakan untuk mengakses fungsionalitas sistem komputer, lebih tepatnya untuk mengakses kelas Console. o Keyword class digunakan untuk mendefinisikan kelas-kelas yang ada dalam program. Kelas-kelas dalam suatu program selalu memiliki data/atribut dan atau metode/fungsi di dalamnya. o Metode main() (dalam program tertulis static void Main(string[] args)), adalah kelas yang akan dieksekusi di dalam program atau bisa dikatakan sebagai fungsi utama dari program. o Console.Write berfungsi menampilkan teks yang tertulis di dalam tanda ( ) ke layar console ketika program di-run. Kesimpulan-kesimpulan lainnya: 1. Pada saat debugging, program akan berhenti tiap ada breakpoint. 2. Dalam mekanisme debugging terdapat step in, step over, dan watch. 3. Pada debugging, fasilitas watch akan menunjukkan nilai dari suatu variabel untuk tiap langkah eksekusi. 4. Eksekusi program juga dapat dilakukan lewat Command Prompt. Cukup masuk ke direktori tempat kita menyimpan program dan masukkan perintah
csc /out:nama.exe NamaClass.cs

5. Write() menulis sesuai dengan input, WriteLine() memberi ganti baris pada karakter akhir. 6. Exception handling berfungsi untuk menangani anomali yang tidak tertangani dalam program yang ditulis.

Bimo Adi Pradono 31045

www.digizoneku.com

Anda mungkin juga menyukai