Anda di halaman 1dari 8

Bimo Adi Pradono www.digizoneku.

com
31045
BAB I
PENDAHULUAN

Tujuan praktikum
o Mampu membuat sebuah program C#
o Mampu meng-compile dan menjalankan program C#
o Mampu menggunakan Debugger dan Release
o 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, metode-
metode untuk melakukan akses terhadap situs-situs Web yang diperlukan, dsb.



Bimo Adi Pradono www.digizoneku.com
31045
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 Deskripsi
System Menyediakan berbagai kelas yang berhubungan dengan
data, komputasi matematika, pembangkitan bilangan acak
(random), peubah lingkungan (runtime environment),
serta penanganan memori menggunakan garbage
collection.
System.Collections.Generic Menyediakan kelas-kelas pemuat yang dapat di-custom
menggunakan tipe-tipe data generic.
System.Linq
Namespace yang diperlukan untuk pemrograman LINQ
API.
System.Text 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 objek-
objek string tanpa membuat intermediate instances of
String.

Program C# dimulai dengan pemanggilan Namespace di atas:
using System;
using System.Collections.Generic;
using System.Linq;
using 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 www.digizoneku.com
31045
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 www.digizoneku.com
31045
//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 www.digizoneku.com
31045
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 www.digizoneku.com
31045
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 www.digizoneku.com
31045
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 www.digizoneku.com
31045
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.

Anda mungkin juga menyukai