Unit_1_Eka
-
Upload
eka-vakri-riski -
Category
Documents
-
view
6 -
download
1
description
Transcript of Unit_1_Eka
Pendahuluan
1. Tujuan
a. Membuat sebuah program C#
b. Meng-compile dan menjalankan sebuah program C#
c. Menggunakan Visual Studio Debugger
d. Menambah exeception handling ke Program C#
2. Dasar Teori
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.
Secara hirarki Program C# terdiri dari
Microsoft Visual Studio merupakan sebuah perangkat lunak
lengkap (suite) yang dapat digunakan untuk melakukan pengembangan
aplikasi, baik itu aplikasi bisnis, aplikasi personal, ataupun komponen
aplikasinya, dalam bentuk aplikasi console, aplikasi Windows, ataupun
aplikasi Web. Visual Studio mencakup kompiler, SDK, Integrated
Development Environment (IDE), dan dokumentasi (umumnya berupa
MSDN Library). Kompiler yang dimasukkan ke dalam paket Visual Studio
antara lain Visual C++, Visual C#, Visual Basic, Visual Basic.NET, Visual
InterDev, Visual J++, Visual J#, Visual FoxPro, dan Visual SourceSafe.
Microsoft Visual Studio dapat digunakan untuk mengembangkan aplikasi
dalam native code (dalam bentuk bahasa mesin yang berjalan di atas
Windows) ataupun managed code (dalam bentuk Microsoft Intermediate
Language di atas .NET Framework). Selain itu, Visual Studio juga dapat
digunakan untuk mengembangkan aplikasi Silverlight, aplikasi Windows
Mobile (yang berjalan di atas .NET Compact Framework).
Debugging adalah sebuah metode yang dilakukan oleh para
pemrogram dan pengembang perangkat lunak untuk mencari dan
mengurangi bug, atau kerusakan di dalam sebuah program komputer atau
perangkat keras sehingga perangkat tersebut bekerja sesuai dengan
harapan. Debugging cenderung lebih rumit ketika beberapa subsistem
lainnya terikat dengan ketat dengannya, mengingat sebuah perubahan di
satu sisi, mungkin dapat menyebabkan munculnya bug lain di dalam
subsistem lainnya.
Exception Handling. Exception adalah event yang terjadi ketika
program menemui kesalahan pada saat instruksi program dijalankan.
Exception terdiri dari beberapa kelompok yaitu:
Exception yang merupakan subclass RunTimeException.
Exception yang bukan subclass RunTimeException (Kesalahan
Program atau deain program).
Ada beberapa cara yang digunakan untuk Exception Handling,
yaitu: Try – Catch, Multiple Catch, Try – Catch – Finally. Tapi
yang dibahas di Mudul ini adalah Tipe Try-Catch
Pembahasan
1. Latihan 1: Membuat program C# sederhana
Pada Latihan ini praktikan akan membuat sebuah program sederhana
dengan menggunakan bahasa C# di Microsoft Visual Studio dengan
memilih Console Application. Syntax-nya akan dilisting seperti berikut.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
Merupakan Library-library yang dimasukkan dalam program. Dalam
Visual Studio. Library diatas sudah secara default muncul tanpa
diketikkan.
namespace Sambutan
Mendefinisikan namespace yang bernama “Sambutan”. Pada Microsoft
Visual Studio, namanya menyesuaikan dengan nama File yang kita create
saar memilih console Application sebelumnya. Fungsi namespace adalah
untuk megelompokkan/menyimpan class.
class Program
{
static void Main(string[] args)
{
1 string NamaKu;
2 Console.WriteLine("Masukkan namamu:");
3 NamaKu = Console.ReadLine();
4 Console.WriteLine("Assalamu'alaikum {0}", NamaKu);
5 Console.ReadLine();
}
}
1 Mendeklariskan variabel NamaKu bertipe string
2 Command untuk menuliskan output text “Masukkann namamu:” ke
CLI
3 Membaca Inputan dari user melalui keyboard dan memasukkannya
ke varibel NamaKu
4 Menuliskan output yang berisikan text “Assalamu’alaikum” +
“(inputan user)” yang diambil dari variabel NamaKu
5 Membaca inputan keyboard, tapi dalam hal ini digunakan agar
program tidak menutup secara otomatis
Listing program tersebut adalah untuk mendefiniskan Class bernama
‘Program’ yang berisikan fungsi Main dengan tipe void dan access
modifier static. Syntax yang berada di fungsi mainlah yang akan di-
compile untuk mendapatkan keluaran seperti berikut:
2. Latihan 2: Melakukan Proses Compile dan Menjalankan Program C#
dari Command Line.
Pada latihan ini akan dieksekusi program sebelumnya dengan cara yang
berbeda yaitu dengan menggunakan command line. Caranya adalah
dengan menjalankan Visual Studio .NET Command Prompt, lalu masuk
ke folder penyimpanan file source codedengan command cd + path,
setelah itu mengetikkan perintah csc/out:Greet.exe Program..cs. Setelah itu
muncul file yang execetuble bernama Greet.exe. Kita cukup menjalankan
file tersebut, dan program akan dieksekusi
3. Latihan 3: Menggunakan Debugger
Pada latihan ini akan dilakukan proses debugging dengan tools ada
Visual Studio Debugger untuk memeriksa nilai dari variabel dari program
sebelumnya. Caranya adalah dengan memberi breakpoint berupa tanda
merah bulat pada sisi margin. Pada source code ini akan diberi breakpoint
pada baris NamaKu = Console.ReadLine(); Fungsi breakpoint ini adalah
saat program dieksekusi maka program akan berhenti berjalan pada tanda
break point, atau dalam kasus ini kita tidak akan bisa memberi inputan,
Kita dapat mengamati isi variabel NamaKu dengan Watch , terlihat isi
variabel dari NamaKu adalah Null (karena user belum memasukkan
inputan apapun). Setelah dilakukan step over, mengeksekusi baris yang
diberi break point, proses penginputan bisa berjalan, dan variabel NamaKu
akan berisi variabel sesuai inputan, dalam hal ini “eka” dengan tipe data
string.
4. Latihan 4: Menambahkan Exception Handling ke Program C#
Pada latihan ini akan dibuat program baru yang fungsinya adalah mencari
hasil pembagian 2 angka integer. Berikut Listing programnya
namespace Pembagian
{
class Program
{
static void Main(string[] args)
{
1 Console.WriteLine("Masukkan nilai integer pertama");
2 string temp = Console.ReadLine();
3 int i = Int32.Parse(temp);
4 Console.WriteLine("Masukkan nilai integer kedua");
temp = Console.ReadLine();
int j = Int32.Parse(temp);
5 int k = i / j;
6 Console.WriteLine("Hasil pembagian {0} oleh {1} adalah
{2}", i, j, k);
Console.ReadLine();
}
}
1 Menampilkan output text ke CLI
2 Membaca input dari user dan memasukkannya ke variabel temp bertipe
string
3 Memparsing atau mengubah nilai dari variabel temp dari bertipe
string menjadi integer lalu memasukkannya variabel i bertipe
integer
4 Inputan ke dua, perintahnya sama dengan 1-3, tetapi memasukkannya
ke variabel j bertipe integer
5 Fungsi pembagian variabel i dibagi j dan hasilnya dimasukkan ke
variabel k
6 Fungsi menuliskan ouput pesan ke CLI berupa pesan, dimana {0}
adalah nilai 0+1=i, dan seterusnya untuk j,k
Setelah itu akan dilakukan pengujian prgram. Saat dilakukan pembagian 2
bilangan (selain 0) program akan berjalan dengan baik.
Tetapi saat dilakukan pembagian sebuah bilangan yang dibagi dengan 0,
maka program akan berhenti berjalan, dan akan muncul kotak dialog Just
In Time Debugging.
Oleh karena itu perlu ditambahakan exception handling, agar program
tidak berhenti berjalan. Pada kasus ini hanya perlu menambahkan sintaks
try-catch, jadi listing programnya akan menjadi seperti berikut (nomor 1
dan 2).
class Program
{
static void Main(string[] args)
{
1 try
{
Console.WriteLine("Masukkan nilai integer pertama");
string temp = Console.ReadLine();
int i = Int32.Parse(temp);
Console.WriteLine("Masukkan nilai integer kedua");
temp = Console.ReadLine();
int j = Int32.Parse(temp);
int k = i / j;
Console.WriteLine("Hasil pembagian {0} oleh {1}
adalah {2}", i, j, k);
Console.ReadLine();
}
2 catch (Exception e)
{
3 Console.WriteLine("Eksepsi: {0}", e);
}
Console.ReadLine();
}
}
Jadi saat dilakukan pembagian dengan angka 0, jendela program tidak
akan tertutup/program berheti berjalan, tetapi akan muncul pesan Eksepsi
sesuai dengan pesan dalam fungsi catch dinomor 3,
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?
Fungsi static void main adalah memberikan nilai kembalian sebuah void (tak ada
nilai kembalian).. Static sendiri berarti method tersebut harus bersifat berdiri
sendiri dan tidak bisa diubah-ubah selama eksekusi program. Dan maini adalah
fungsi utama program ketika di jalankan yang ditandai dengan {….}. Jika tidak
menggunakan void, maka pada statement program harus memberikan nilai
kembalian berupa integer, string atau tipe lain.
2. Apakah perbedaan debug dan release pada suatu program dijalankan?
Pada debug dimungkinkan untuk “mendiagnosa” suatu program, apabila ada
logika yang salah dimungkinkan untuk diperbaiki, hal ini karena metode
optimasinya tidak dimasukkan, berbeda dengan pada mode release, aplikasi siap
dirilis, tidak dimungkinkan untuk memperbaiki program saat program berjalan,
karena metode optimasi tidak digunakan
3. Apakah makna finally dalam suatu program, apakah finnaly mutlak ada
dalam sebuah statement try catch, bila tidak kapan sebaiknya finnaly
digunakan?
Finally merupakan salah satu rangkaian blok dari exception handling. Finally
akan selalu dieksekusi walaupun terdapat eksepsi maupun tidak. Finally tidak
mutlak ada di dalam statement try catch. Finally hanya digunakan apabila ingin
mengeksekusi blok pernyataan yang harus / pasti akan selalu dieksekusi saat
menggunakan try catch.
4. Apa arti step in, step over, dan watch pada mekanisme debugging suatu
program C#?
Step In:Mengeksekusi kode 1 stetement/ waktu. Perintah ini akan mengeksekusi
baris terbaru dimana debugger itu baru saja aktif, dan akan berpindah ke baris
selanjutnya. Jika baris yang ditandai tersebut adalah sebah function call maka
debugger akan berubah ke funtion. Step Over: Perintah ini hampir sama dengan
Step in, perbedaan dalam penggunannya adalah ketika sebuah statement
mempunyai panggilan ke sebuah procedure. Jika baris terbaru adalah function
call fungsi tersebut akan dievaluasi tapi tidak akan berubah ke function code.
Watch: melihat isi dan nilai sebuah variable, dan untuk mengevaluasinya apakah
nilai tersebut telah benar berisi sesuai logicnya
5. Apa perbedaan antara Write dan WriteLine, dan apa fungsi Parse pada
latihan 4?
Write : menulis teks pada sebuah baris
WriteLine : menulis teks pada baris yang baru.
Parse : mengubah suatu tipe data menjadi tipe data yang lainnya.
Kesimpulan
Ada berbagai cara untuk mengeksekusi program dalam C#, yaitu
menggunakan menu/ IDE dalam visual studio, atau dengan menggunakan
Visual Studio . NET Command Prompt
Debugger berguna untuk mencari bug dan mengevaluasi program yang
telah dibuat. Terdapat berbagai fungsi seperti Step (In,Over,Out), Watch
dalam debugger
Try berfungsi untuk menguji error dan melemparkanya jika error terjadi.
Catch digunakan untuk menagkap error yang dilemparkan block try.
Throw berfungsi untuk menentukan exception atas pilihan menu error
yang ditentukan oleh programmer. Finally untuk mengeksekusi blok
pernyataan yang selalu dieksekusi baik terdapat exception atau tidak.
Daftar Pustaka
https://pccontrol.wordpress.com/dasar-c/
https://revoluthion.wordpress.com/2009/10/07/debugging-pengertian/
http://tanahtinta.blogspot.co.id/2013/04/exception-handling.html
https://msdn.microsoft.com
http://stackoverflow.com/questions/547791/why-use-finally-in-c