Anda di halaman 1dari 97

MODUL PRAKTIKUM

PEMROGRAMAN
VISUAL

PENYUSUN
TIM LABORAN

FAKULTAS SAINS DAN TEKNOLOGI


UNIVERSITAS ISLAM NEGERI SUMATERA UTARA
MEDAN
2017
MODUL PRAKTIKUM

Mata Kuliah Praktikum : Praktikum Basis Data


Kode Mata Kuliah Praktikum : 010701017
SKS :1
Program Studi : Ilmu Komputer
Semester : 3 (Ganjil)

DISAHKAN OLEH DIPERIKSA OLEH DISUSUN OLEH

DEKAN FAKULTAS KEPALA LABORATORIUM LABORAN LABORATORIUM


SAINS DAN FAKULTAS SAINS DAN
TEKNOLOGI UIN TEKNOLOGI UIN SUMATERA
SUMATERA UTARA UTARA MEDAN :
MEDAN :

Dr. H.M. Jamil, MA Rakhmat Kurniawan R, Ibnu Rusydi, M. Kom


M.Kom

2
KATA PENGANTAR

Assalamu’alaikum warahmatullahi wabarakatuh.


Alhamdulillahirabbil’alamin, Puji syukur kehadirat Allah SWT atas limpahan
rahmat dan karunianya sehingga modul praktikum pemrograman visual ini telah dapat
diselesaikan. Modul ini merupakan panduan bagi mahasiswa Program Studi Ilmu
Komputer dalam proses pembelajaran serta memberikan petunjuk praktis agar
mahasiswa mendapatkan gambaran secara jelas dalam melaksanakan praktikum
pemrograman visual.
Kami mengucapkan terima kasih kepada dosen bidang studi yang telah
memberikan arahan kepada kami sehingga modul ini dapat terselesaikan dengan baik.
Kami juga mengucapkan terima kasih sebanyak-banyaknya kepada tim penyusun
yang sudah ikut berpartisipasi meluangkan waktunya untuk membantu kami.
Kami menyadari masih terdapat kekurangan dalam modul ini untuk itu kritik
dan saran terhadap penyempurnaan modul ini sangat diharapkan. Semoga modul ini
dapat memberi manfaat bagi mahasiswa Program Studi Ilmu Komputer khususnya
dan bagi semua pihak yang membutuhkan.
Akhir kata penulis berharap agar modul ini bermanfaat meningkatkan
pemahaman mahasiswa.
Wassalamu’alaikum warahmatullahi wabarakatuh.

Medan, Januari 2017

Tim Penyusun

3
DAFTAR ISI

COVER ........................................................................................................................1
LEMBAR PENGESAHAN .........................................................................................2
KATA PENGANTAR .................................................................................................3
DAFTAR ISI ................................................................................................................4

Praktikum 1 : Konsep dasar pemrograman visual ........................................................5


Praktikum 2 : Pengantar pemrograman C# .................................................................13
Praktikum 3 : Variabel dan Tipe Data ........................................................................23
Praktikum 4 : Operator C# ..........................................................................................27
Praktikum 5 : GUI .......................................................................................................31
Praktikum 6 : Struktur Pemilihan dan Perulangan .....................................................47
Praktikum 7 : Array ...................................................................................................60
Praktikum 8 : Class, Object, Method, Event...............................................................65
Praktikum 9 : Exception Handling ..............................................................................76
Praktikum 10 : Pemrograman Database ......................................................................80

DAFTAR PUSTAKA ................................................................................................97

4
Praktikum 1
Konsep Dasar Pemrograman Visual

A. Tujuan
Mahasiswa mampu menjelaskan konsep dasar pemrograman visual

B. Teori
Pada tahun 2000, Microsoft mengumumkan bahasa pemrograman C# (diucapkan
dengan C sharp), yang diciptakan secara khusus untuk platform .NET. C# memiliki
akar dari C, C++, dan Java. Seperti Visual Basic, C# berorientasi objek dan memiliki
akses terhadap pustaka kelas .NETFramework Class Library, yaitu kumpulan yang
kaya akan komponen-komponen terpradefinisi yang memampukan Anda untuk
mengembangkan aplikasi secara cepat. Kedua bahasa, Visual Basic dan C#,
memililiki kapabilitas yang sama dengan Java dan cocok untuk aplikasi desktop,
bergerak (mobile) dan aplikasi berbasis web.

C# merupakan pemrograman beroerientasi objek. Anda akan belajar dasar-dasar


teknologi objek dan banyak teknik lain pada buku ini. C# merupakan bahasa event-
driven, yang dapat merespon event yang dipicu oleh pengguna seperti klik mouse,
ketikan pada keyboard, pewaktu, dan lainnya. Visual C# merupakan bahasa
pemrograman visual. Bahasa visual ini memberikan beberapa statemen program untuk
membangun beberapa bagian dari aplikasi Anda. Kemampuan GUI (graphical user
interface) dari Visual Studio yang memampukan Anda untuk melakukan drag and
drop objek-objek terpradefinisi seperti tombol dan kotak teks ke tempat-tempat pada
layar. Visual Studio menuliskan kode GUI untuk Anda.

Visual Studio 2012 merupakan IDE (Integrated Development Environment) dari


Microsoft untuk menciptakan, menjalankan, dan mendebug program (atau aplikasi)
yang ditulis dalam pelbagai bahasa pemrograman .NET. Bab ini akan menyajikan
penjelasan singkat atas IDE 2012 dan menunjukkan bagaimana menciptakan sebuah
program C# sederhana dengan menggeret dan menempatkan (drag and drop) blok-

5
blok pembangun terpradefinisi ke tempat tertentu (teknik ini dikenal dengan
pemrograman visual).

Ada beberapa versi Visual Studio. Buku ini didasarkan pada Visual Studio 2012.
Diasumsikan bahwa Anda telah familiar dengan Windows.

Pengenalan IDE Visual Studio 2012


Anda menggunakan karakter > untuk mengindikasikan pilihan atas sebuah item menu
dari suatu menu. Sebagai contoh, Anda menggunakan notasiFile > Open File untuk
mengindikasikan bahwa Anda seharusnya memilih item menu Open File dari
menu File.

Untuk memulai Visual Studio 2012, Anda memilih Start > All Programs > Visual
Studio 2012. Begitu Visual Studio 2012 mulai dieksekusi,Start Page akan
ditampilkan (Gambar 1). Tergantung dari versi Visual Studio yang Anda
gunakan, Start Page bisa tampak berbeda. Start Pagememuat beberapa sumberdaya
berbasis web dan beberapa link yang menghubungkan ke pelbagai sumberdaya pada
Visual Studio 2012. Untuk kembali ke Start Page, Anda bisa memilih View > Start
Page.

Gambar 1. Start Page pada Visual Studio 2012

6
Beberapa Link pada Start Page
Beberapa link pada Start Page diorganisir ke dalam beberapa bagian,
yaitu Start, Recent, GET STARTED, HOW-TO VIDEOS(STREAMING), dan
LATEST NEWS. Dengan mengklik link ini pada Start Page akan menampilkan
informasi relevan yang berkaitan dengan link tertentu.

Bagian Start memuat beberapa link seperti New Project, Open Project,
dan Connect to Team Foundation Server. Bagian Recent memuat beberapa link
untuk menghubungkan beberapa projek yang telah diciptakan.
Bagian GET STARTED difokuskan untuk penggunaan IDE dalam menciptakan
program visual.

Gambar 2. Beberapa link pada bagian GET STARTED

Menggunakan IDE dan Menciptakan Projek Baru


Langkah-langkah pembuatan aplikasi console C# pada Visual Studio adalah
1. Memulai project Console Application seperti gambar di bawah ini:

7
2. Hasil dari langkah di atas adalah:

3. Kita mengedit programnya menjadi seperti di bawah ini:

8
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Silahkan Enter untuk melanjutkan");
Console.ReadLine();
}
}
}

4. Kita melakukan build seperti tampilan berikut ini:

5. Hasil dari build adalah seperti gambar berikut ini:

6. Saat aplikasi dijalankan maka seperti gambar berikut ini:

9
Dengan demikian kita berhasil membuat C# Console Application

C. Praktikum
Menciptakan Program Sederhana dengan Pemrograman Visual
Pemrograman C# dikesempatan ini akan membahas tentang bagaimana cara
membuat hello word, mungkin hal ini yang sering kita dapatkan pada awal setiap
bahasa pemrograman yang baru. Langkah pertamanya adalah buatkan sebuah projek
dengan Projek Type : Visual C# Console Application seperti gambar di bawah ini:

Jangan lupa rubah nama programnya dengan helloworld atau dengan yang lainnya.
Kemudian Klik Tombok OK.

10
Kemudian Ketikan Kode Dibawah Ini :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace HelloWorld
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World, Ini Program Pertamaku.. :D");
Console.Read();
}
}
}
Tulisan yang dicetak tebal saja yang perlu kita tambahkan, karena yang lainnya
sudah ada ketika kita membuat projek.
Penjelasan Coding :
Console.WriteLine -> adalah perintah untuk menulis di console pada C# sedangkan
di dalamnya adalah string atau kata yang akan kita tampilkan pada layar.
Console.Read(); -> mungkin fungsinya sama getch(); pada C++, berguna untuk
menahan layar agar ketika menjalankan program tidak langsung terclose.
Untuk menjalankan Program Tekan Tombok F5
dan hasilnya adalah sebagai berikut

11
D. Tugas Praktikum
1. Jelaskan arti keyword di bawah ini !
a.using
b.namespace
c.using System
d.class
e.static void Main(string[] args)
2. Buatlah sebuah program konversi hari !

12
Praktikum 2
Pengantar pemrograman C#

A. Tujuan
Mahasiswa mampu menjelaskan struktur pemrograman C#, dan mahir menggunakan
Microsoft Visual Studio .Net

B. Teori
Pengenalan Bahasa C#
C# (dibaca “See-Sharp”) adalah bahasa pemrograman baru yang diciptakan oleh
Microsoft (dikembangkan dibawah kepemimpinan Anders Hejlsberg yang notabene
juga telah menciptakan berbagai macam bahasa pemrograman termasuk Borland
Turbo C++ dan Borland Delphi). Bahasa C# juga telah di standarisasi secara
internasional oleh ECMA.

Seperti halnya bahasa pemrograman yang lain, C# bisa digunakan untuk membangun
berbagai macam jenis aplikasi, seperti aplikasi berbasis windows (desktop) dan
aplikasi berbasis web serta aplikasi berbasis web services.

Editor C#
 Notepad
Microsoft Notepad telah banyak digunakan sebagai editor berbasis teks untuk menulis
berbagai macam bahasa pemrograman, termasuk C#. Namun dengan beberapa alasan
berikut, Notepad tidak di rekomendasikan untuk digunakan sebagai editor untuk
membuat aplikasi dengan C#:

File-file C# disimpan dengan ekstension .cs, jika kita tidak hati-hati pada saat
menyimpan file C# di Notepad, misal kita bermaksud menyimpan file dengan nama
test.cs maka tidak tertutup kemungkinan file tersebut akan menjadi test.cs.txt kecuali
kita telah mensetting terlebih dahulu box drop down list pada fungsi Save As menjadi
“All Files”.

13
Notepad tidak dapat menampilkan nomor baris, hal ini akan menyulitkan kita pada
saat kita mendebug dari kemungkinan error yang ada yang memberikan kita informasi
di baris ke berapa error tersebut terjadi.

Notepad tidak dapat melakukan automatic indenting (tab secara otomatis), sehingga
kita harus melakukannya secara manual, hal ini jelas sangat merepotkan terutama jika
kode yang kita buat telah banyak dan kompleks.

Beberapa permasalahan di atas bisa dijadikan sebagai alasan, kenapa penggunaan


Notepad tidak direkomendasikan sebagi editor C#, walaupun untuk membuat
aplikasiaplikasi sederhana dan kecil, Notepad masih bisa digunakan sebagai editor
dengan tetap memperhatikan beberapa permasalahan tersebut di atas.

 Visual Studio 6
Jika anda telah terbiasa menggunakan Visual Studio 6, maka tools tersebut bisa
digunakan untuk membuat aplikasi dengan C#, khususnya dengan menggunakan
editor Microsoft Visual C++.

Salah satu keuntungan menggunakan editor khusus buat pemrograman (seperti


Microsoft Visual C++) adalah adanya syntax highlighting, yang memudahkan kita
pada saat membaca dan menganalisa kode-kode program kita. Namun, karena Visual
Studio 6 (khususnya Visual C++) ini di buat sebelum adanya bahasa C#, maka perlu
sedikit “kreatifitas” kita untuk memodifikasi setting editor tersebut agar dapat
menampilkan syntax highlighting C#.

Trik yang bisa dilakukan adalah dengan mengedit registry key untuk Visual Studio 6
dengan menggunakan Regedit.exe atau editor registry lainnya, edit pada bagian
berikut:
HKEY_CURRENT_USER\Software\Microsoft\DevStudio\6.0\Text
Editor\Tabs/Language Settings\C/C++\FileExtensions
Pada bagian value data, akan mempunyai nilai berupa daftar ekstension yang akan
dikenali secara default oleh tools, seperti di bawah ini:

cpp;cxx;c;h;hxx;hpp;inl;tlh;tli;rc;rc2
14
tambahkan ekstension .cs (tanpa tanda titik) pada bagian value data sehingga nilainya
akan menjadi seperti berikut ini:

cpp;cxx;c;h;hxx;hpp;inl;tlh;tli;rc;rc2;cs

Sekarang, jika kita membuka file yang berekstension .cs dengan menggunakan
Microsoft Visual C++, maka tools tersebut akan mengenali file tersebut sebagai salah
satu jenis file yang di support secara default.

Selanjutnya, kita perlu untuk mendeklarasikan kata-kata kunci C# pada Visual Studio
kita, yang bisa dilakukan dengan mengedit file usertype.dat yang biasanya di simpan
satu direktori dengan file msdev.exe. Untuk melihat perubahannya, maka kita perlu
merestart Visual Studio kita terlebih dahulu.

 Visual Studio .NET


Visual Studio .NET merupakan editor yang paling ideal untuk membuat aplikasi
yang berbasis Framework .NET, termasuk aplikasi dengan bahasa C#. Di dalam buku
ini, semua kode program akan di tulis dengan manggunakan Visual Studio .NET
2003. Dengan editor ini, maka kita akan bisa memanfaatkan kemampuan C# secara
maksimal. Editor ini tidak hanya menyediakan berbagai macam tools dan wizard
untuk membuat aplikasi C#, tapi juga termasuk fitur-fitur produktif seperti
IntelliSense dan bantuan yang dinamis.

Dengan IntelliSense, jika kita mengetikan nama sebuah namespace atau nama Class,
maka anggota dari namespace atau Class itu akan secara otomatis di munculkan
sehingga kita tidak usah mengingat anggota dari semua I atau semua Class yang kita
gunakan. IntelliSense, juga akan menampilkan semua argumen dan jenis typenya
ketika kita mengetikan nama dari sebuah metode. Visual Studio 6 juga telah memiliki
kemampuan ini, hanya saja Visual Studio 6 tidak mensupport jenis type dan Class-
Class yang termasuk di dalam lingkungan Framework .NET.

Fitur bantuan yang dinamis (dynamic help) merupakan fitur yang baru yang ada di
dalam “keluarga” editor Visual Studio. Ketika kita mengetikan sebuah code pada
editor, sebuah jendela yang terpisah akan menampilkan topik-topik bantuan dan
15
penjelasan yang berhubungan dengan kata-kata tempat di mana kita menempatkan
cursor. Misalnya, ketika kita mengetikan kata namespace, maka di jendela yang
terpisah tadi akan dimunculkan topik-topik yang berhubungan dengan kata kunci
namespace. Hal ini tentu akan sangat membantu kita pada saat pembuatan program
untuk dapat lebih memahami dan mengerti tentang kata-kata / kode yang kita tulis.

 Editor Lainnya
Selain editor-editor yang telah disebutkan di atas, masih banyak beberapa editor lain
yang bisa digunakan untuk membuat aplikasi dengan C#, seperti Visual SlickEdit
dari MicroEdge, WebMatrikx untuk aplikasi C# berbasis web, editor text seperti
UltraEdit, Macromedia Homesite, dll. Editor-editor tersebut tidak akan dibahas di
buku ini, namun intinya, kita bisa menggunakan editor-editor tersebut dengan
kelebihan dan kekurangannya masing-masing.

Hello World#
Asumsikan bahwa kita telah memilih editor untuk membuat aplikasi C#. Selanjutnya,
kita aka mencoba membuat aplikasi C# yang sederhana. Untuk pertama kali, kita
akan mencoba membuat aplikasi Hello World sederhana dengan menggunakan
Notepad. Buka notepad dan tulis kode dibawah ini, kemudian simpan dengan nama
helloworld.cs:
class HelloWorld
{
// Bagian utama program C#
public static void Main()
{
System.Console.WriteLine("Hello, World");
}
}

Pada bagian ini, kita tidak akan membahas secara rinci baris per baris dari kode
program kita di atas, di sini hanya akan diperlihatkan bagaimana struktur penulisan
aplikasi C#, melakukan kompilasi, dan kemudian menjalankannya. Pembahasan yang
lebih rinci tentang syntax pemrograman, arti masing-masing kata kunci (keywords)
akan dibahas pada bagian selanjutnya.

16
Struktur Penulisan Kode C#
 Bagian utama struktur penulisan kode C#
Program helloworld.cs di atas merupakan struktur kode program C# yang paling
sederhana.
Kode program diawali dengan mendeklarasikan nama Class atau namespace
(penjelasan yang lebih rinci tentang Class namespace, akan di bahas pada bab
selanjutnya).
class HelloWorld

Kemudian seluruh aplikasi dibuka dengan tanda “{“ dan pada akhir kode ditutup
dengan tanda “}”.
class HelloWorld
{
}

Aplikasi C# dibangun oleh satu atau beberapa fungsi yang diletakan di dalam sebuah
Class. 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 “}”. Berikut contoh penamaan fungsi yang diletakan di
dalam Class:
class HelloWorld
{
NamaFungsi()
{
}
}

Atau
class HelloWorld
{
_NamaFungsi()
{
}
}

Nama fungsi utama yang biasa digunakan pada aplikasi C# adalah Main. Setiap
fungsi memiliki sifat fungsi, seperti public dan static. Selain itu, untuk menandakan

17
apakah itu blok fungsi atau bukan, sebelum nama fungsi digunakan void, berikut
contoh lengkapnya:
class HelloWorld
{
public static void main()
{
}
}

Penjelasan tentang public, static dan void itu sendiri akan dibahas lebih rinci lagi di
bab selanjutnya.
Di dalam sebuah fungsi, berisikan sekumpulan perintah-perintah, dimana perintah
satu dengan lainnya akan dipisahkan atau diakhiri dengan tanda “;”. Pada contoh
helloworld.cs sebelumnya, perintah yang digunakan adalah untuk mengeluarkan
output berupa tulisan “Hello, World” yang akan tampil pada mode console (mode dos
prompt), seperti kode berikut ini:
class HelloWorld
{
//Bagian utama program C#
public static void main()
{
System.Console.WriteLine(“Hello, World”);
}
}

Penjelasan tentang System, Console, WriteLine dan kata-kata kunci lainnya akan
dibahas di bab selanjutnya. Pada bagian ini, Anda hanya dikenalkan pada tata cara
struktur penulisan kode program pada aplikasi C#.

 Aksesories penulisan kode C#


Komentar Ada 2 cara yang bisa digunakan untuk menulis komentar di C#.Untuk
komentar satu baris atau perbaris, bisa digunakan tanda “//”, semua yang ditulis
setelah tanda ini, dianggap sebagai komentar yang tidak akan di eksekusi.
Perpindahan baris komentar satu dengan yang lainnya dipisahkan dengan “enter”,
contohnya:
// Ini adalah baris komentar.
// Baris komentar 1
// Baris komentar 2

18
Cara lain adalah dengan diawali tanda “/*” dan diakhiri dengan tanda “*/”. Tanda ini
biasanya digunakan untuk sebuah komentar yang panjang, seperti contoh berikut :

/* Ini adalah baris komentar


Apapun yang ditulis di sini tidak akan di eksekusi

Escape Sequences
Escape Sequences adalah karakter-karakter khusus yang tidak akan ditampilkan.
Contohnya, ada karakter yang digunakan sebagai tanda akhir dari suatu baris yang
memerintahkan program untuk melanjutkan ke baris berikutnya. Cara penulisannya
diawali dengan tanda \ diikuti dengan karakter khusus (dalam contoh ini adalah “n”)
sehingga penulisannya menjadi \n.

Berikut beberapa karakter khusus pada C#:

Tabel 1 Daftar karakter khusus pada bahasa C#

C. Praktikum
Menulis Aplikasi dengan Notepad
1. Buka file baru pada aplikasi Notepad. Lalu simpanlah dengan nama HaloDunia.cs
2. Ketiklah kode berikut ini

19
Latihan 1.1
using System;
class HaloCsharp
{
// Bagian utama program C#
public static void Main( string [] args)
{
System.Console.WriteLine("Ini adalah program pertamaku dengan C#");
}
}

3. Untuk proses kompilasi, kamu perlu buka “Visual Studio 2008 Command
Prompt”. Kemudian atur path sesuai dengan tempat penyimpanan HaloDunia.cs.
Perintah yang digunakan untuk kompilasi:
csc HaaloCsharp.cs
Perintah tersebut akan mengkompilasi program HaloDunia.cs menjadi
HaloCsharp.exe.
4. Setelah dikompilasi, jalankan/eksekusi program tersebut dengan perintah :
HaloCsharp atau
HaloCsharp.exe

Menulis Aplikasi dengan Visual Studio


1. Buat aplikasi console baru, pilih File > New Project > Console Application
kemudian beri nama belajar kemudian klik tombol OK

20
2. Kemudian tuliskan source code-nya sebagai berikut
Latihan 1.2
using System;
using System.Collections.Generic;
using System.Text;
namespace belajar {
class Program {
static void Main( string [] args) {
Console .WriteLine( "Selamat belajar C#" );
}
}
}

3. Kemudian jalankan dengan menekan tombol Ctrl + F5 (untuk run tanpa maka
akan ditampilkan hasilnya sebagai berikut.

Penjelasan perbagian dari Latihan1.1 dan 1.2 di atas adalah sebagai berikut:
1. Tag // digunakan sebagai komentar, pada C# digunakan tag // (jika hanya satu
baris saja) atau diapit tag /* */ (jika komentarnya lebih dari satu baris). Kode atau
keterangan di dalam tag komentar tidak akan dieksekusi oleh compiler.
2. Keyword using digunakan untuk memberitahu compiler class yang digunakan
pada aplikasi. Salah satu keunggulan dari C# adalah tersedianya predefined class
yang dapat langsung digunakan dalam aplikasi.
3. Keyword namespace digunakan untuk mendeklarasikan ruang lingkup dari class
yang kamu buat. Class di dalam namespace dapat dipanggil dengan
mencantumkan nama namespace-nya terlebih dahulu .
4. Keyword using System; pada baris pertama mempunyai arti kamu dapat
menggunakan class-class yang ada pada namespace System.
5. Keyword class digunakan untuk mendeklarasikan class dengan nama Program.
6. Deklarasi static void Main(string[] args) adalah method utama yang dijalankan
pada class Program .

21
7. Sintaks Console.WriteLine digunakan untuk menampilkan output ke layar
console.

D. Tugas Praktikum
1. Buatlah program untuk menginputkan biodata terdiri dari nama lengkap, nama
panggilan, npm, umur, tempat lahir,telepon, dan alamat.

22
Praktikum 3
Variabel dan Tipe Data

A. Tujuan
Mahasiswa mampu menguraikan jenis tipe data dan menggunakannya untuk
merancang aplikasi console

B. Teori
Variabel
Variable adalah nama dari suatu lokasi di memori yang digunakan untuk menyimpan
data sementara. Variable diberi nama tertentu yang menunjukkan domain yang
diwakilinya. Pada pemrograman visual nama variabel komponen/kontrol yaitu pada
properti (name). Dalam memberikan nama variable ada beberapa ketentuan yang
harus diperhatikan yaitu:
a. Panjang karakter nama variable tidak dibatasi
b. Nama variable harus diawali dengan huruf, tanda garis bawah(underscore_) atau
tanda $. Selanjutnya dapat diikuti oleh karakter lain selain operator(*,,+), dengan
kata lain variable dapat diawali dengan karakter khusus kecuali operator.
c. Tidak diperbolehkan menggunakan kata kunci (keyword) yang digunakan pada
C# (contoh: if, for, while, dll)
d. Bersifat case sensitive (membedakan huruf besar dan huruf kecil)
e. Penulisan variable tidak boleh menggunakan spasi
f. Syntax Penulisan variable harus diawali dengan tipe data terlebih dahulu karena
data yang tersimpan dalam variable harus memiliki tipe tertentu sebelum
digunakan dalam aplikasi.

Tipe data
Tipe data merupakan jenis data yang digunakan pada program untuk dioperasikan.
Pada C# terdapat dua jenis tipe data, yaitu :
a. Tipe data dasar misalkan integer, float, byte, dan sebagainya.
b. Tipe data reference misalkan object dan delegates.
Referenced type didefinisikan dengan menggunakan class. C# mempunyai 13 tipe
data dasar yang ditunjukan pada table dibawah ini
23
Tipe-tipe data yang ada diatas disebut dengan simple types

C. Praktikum
Berikut adalah sebuah program yang berfungsi untuk menghitung umur dalam hari,
jam dan menit. Program ini akan meminta anda untuk memasukkan data berupa
tanggal, bulan dan tahun kelahiran anda. Kemudian akan melakukan perhitungan
untuk mendapatkan hari, jam dan menit umur anda sampai hari ini.
using System;

public class Umur


{
public static void Main()
{
int day;
int month;
int year;

Console.Out.WriteLine("Menghitung Umur ");


Console.Out.WriteLine("====================");

try
{
Console.Out.Write("Masukkan Tanggal: ");
day = Convert.ToInt32(Console.In.ReadLine());

Console.Out.Write("Masukkan Bulan : ");


month = Convert.ToInt32(Console.In.ReadLine());

Console.Out.Write("Masukkan Tahun : ");


year = Convert.ToInt32(Console.In.ReadLine());

24
DateTime birthDate = new DateTime(year, month, day);
DateTime today = DateTime.Now;

TimeSpan age = today.Subtract(birthDate);


Console.Out.WriteLine(
"Saat ini umur anda adalah: {0} hari, {1} jam, " +
"{2} minutes.", age.Days, age.Hours, age.Minutes);
}
catch (FormatException e)
{
Console.Out.WriteLine(
"Data tanggal, bulan dan tahun harus berupa angka.");
}
catch (Exception e)
{
Console.Out.WriteLine("Terjadi kesalahan: " +
e.Message);
}
}
}

Langkah pertama dalam program ini adalah mendeklarasikan variabel day, month
dan
year yang bertipe int. Kemuadian program akan menampilkan kalimat agar anda
memasukan data tanggal, bulan dan tahun kelahiran anda.

Kemudian dengan menggunakan Console.In.ReadLine() program dapat membaca


data yang anda masukkan. Data yang dibaca dengan method ReadLine() ini bertipe
string, oleh karena itu kita harus mengkonversinya menjadi tipe int dengan
menggunakan method ToInt32() yang terdapat di class System.Convert.

Setelah mendapatkan semua informasi yang dibutuhkan kita akan membuat dua buah
System.DateTime, yang pertama merupakan object yang mewakili tanggal kelahiran
anda dan yang kedua merupakan object yang mewakili waktu saat ini.

Kemudian kalkulasi akan dilakukan dengan mengurangi tanggal sekarang dengan


tanggal kelahiran anda untuk mendapatkan umur anda. Untuk melakukan kalkulasi ini
digunakan object dari class System.TimeSpan.

Pada langkah terakhir hasil kalkulasi akan ditampilkan dengan menggunakan object
bertipe Console.Out.WriteLine().

Contoh hasil dari eksekusi program diatas adalah sebagai berikut:

25
Menghitung Umur
====================
Masukkan Tanggal: 30
Masukkan Bulan : 12
Masukkan Tahun : 1976
Saat ini umur anda adalah: 10150 hari, 20 jam, 14 minutes.

D. Tugas Praktikum
1. Buatlah program konversi waktu dari detik ke jam, menit, detik!
2. Buatlah program konversi suhu dari Celcius (C) ke Fahrenheit (F), Reamur (R),
dan Kelvin (K). Suhu Celsius di masukkan melalui keyboard saat program
dieksekusi !
F = C * 9/5 +32
K=C+273,15
R= 4/5*C

26
Praktikum 4
Operator C#

A. Tujuan
Mahasiswa mampu menguraikan klasifikasi operator di dalam C# dan
menggunakannya dalam studi kasus program

B. Teori
Operator digunakan untuk mengombinasikan suatu data dengan data lain. Biasanya
operator digunakan pada data yang tipenya dapat dikalkulasi seperti data yang bersifat
integral atau floating point. Pengkalkulasian data melalui operator ada berbagai
macam cara tergantung tipe dari data tersebut. Berikut ini adalah jenis-jenis operator:
Operator Aritmatika
Operator aritmatika digunakan untuk perhitungan matematis seperti dalam
penambahan, pengurangan, perkalian, dan pembagian
Simbol Keterangan
+ Operator penjumlahan
- Operator pengurangan
* Operator perkalian
/ Operator pembagian
% Operator sisa bagi (modulus)

Operator Relasi
Operator relasi digunakan untuk membandingkan dua buah niai, dan operator relasi
akan memberikan nilai benar atau salah (true,false).
Simbol Keterangan
< Kurang dari
<= Kurang dari sama dengan
> Lebih dari
>= Lebih dari sama dengan
== Sama dengan

Operator Logika
Operator logika digunakan untuk menggabungkan dua buah ungkapan kondisi
menjadi sebuah ungkapan kondisi. Oleh karena itu biasanya operator logika
digunakan bersamaan dengan percabangan (IF).

27
Simbol Keterangan
& AND
| OR
^ XOR (Exclusive OR)
&& Short-circuit AND
|| Short-circuit OR
! Not

C. Praktikum
Praktikum 1
Buatlah sebuah project C# baru dengan nama belajar_operator
Buatlah sebuah kode file dengan nama main_operator.cs dengan isi script sebagai
berikut :
/* Belajar pemrograman c# */

using System;

class main_operator
{
static void Main()
{
int x;
double y;

x = 10 / 3;
y = 10.0 / 3.0;

Console.WriteLine("Hasil bertipe integer : " + x);


Console.WriteLine("Hasil bertipe double : " + y);
Console.ReadKey();
}
}

Jalankan program anda dengan cara klik Debug > Start Debuging atau
tekan F5 pada keyboard.

Keluaran bertipe integer nilai desimalnya tidak muncul atau terpotong, sedangkan
double muncul.

Praktikum 2
Buatlah sebuah project C# baru dengan nama belajar_relasional
Buatlah sebuah kode file dengan nama main_relasional.cs dengan isi script sebagai
berikut:

28
/* Belajar pemrograman c# dengan */

using System;

class main_relasional
{
static void Main()
{
int i, j;
bool x;

i = 4;
j = 9;

Console.WriteLine("i="+i);
Console.WriteLine("j="+j);
x = i == j;
Console.WriteLine("i == j menghasilkan "+ x);
x = i != j;
Console.WriteLine("i != j menghasilkan " + x);
x = i > j;
Console.WriteLine("i > j menghasilkan " + x);
x = i < j;
Console.WriteLine("i < j menghasilkan " + x);
x = i >= j;
Console.WriteLine("i >= j menghasilkan " + x);
x = i <= j;
Console.WriteLine("i <= j menghasilkan " + x);
Console.ReadKey();
}
}

Jalankan program anda dengan cara klik Debug > Start Debuging atau tekan F5 pada
keyboard.

i == j menghasilkan false karena 4 tidak sama dengan 9


i != j menghasilkan true karena 4 sama dengan 9

29
i > j menghasilkan false karena 4 tidak lebih besar dari 9
i < j menghasilkan true karena 4 lebih kecil dari 9
i >= j menghasilkan false karena 4 tidak lebih besar atau sama dengan 9
i <= j menghasilkan true karena 4 lebih kecil atau sama dengan 9

D. Tugas Praktikum
Buatlah program kalkulator sederhana yang dapat melakukan operasi penambahan,
pengurangan, perkalian, pembagian, pemangkatan dan modulus

30
Praktikum 5
GUI

A. Tujuan
Mahasiswa mahir dalam menggunakan tools dan komponen Windows Form di
Toolbox

B. Teori
Menggunakan IDE dan Menciptakan Projek Baru
Untuk memulai pemrograman dalam Visual C#, Anda harus menciptakan sebuah
projek baru atau membuka projek yang sudah ada. Projek merupakan sekelompok
file yang berelasi dan citra (jika ada) yang membangun sebuah program. Selanjutnya,
Anda memilih File > New Project > Visual C# dan akan tampil dialog New
Project seperti yang ditampilkan pada Gambar 3.

Gambar 3. Dialog New Project


Visual Studio menyediakan beberapa template (Gambar 3). Template merupakan
jenis projek yang dapat diciptakan pengguna dalam bahasa pemrograman visual
(pada kasus ini, Visual C#), yaitu Windows Forms Application, Console

31
Applications, WPF Application, dan lainnya. Pada bab ini, akan dibangun
sebuah Windows Forms Application. Aplikasi semacam itu dieksekusi pada sistem
operasi Windows (seperti Windows 7) dan secara umum memiliki GUI.

Gambar 4. Tampilan Design pada IDE


Secara default, Visual Studio menugaskan nama WindowsFormsApplication1
kepada projek Windows Forms Application yang baru. Anda memilih Windows
Forms Application, kemudian klik OK untuk menampilkan IDE pada Design
view (Gambar 4), yang memuat beberapa fitur dalam memampukan Anda untuk
menciptakan program.

Kotak persegi pada area Design diberi judul Form1 yang merepresentasikan jendela
aplikasi utama yang akan Anda ciptakan. Visual C# dapat memiliki
banyak Form (jendela). Namun, kebanyakan aplikasi yang Anda ciptakan pada buku
ini hanya akan menggunakan satu Form. Anda akan belajar bagaimana
memanipulasi Form dengan menambahkan GUI controls. Pada contoh ini, Anda
akan menambahkan sebuah Label dan sebuahPictureBox. Sebuah Label umumnya
memuat teks deskriptif (misalnya, “Selamat Datang ke Visual C#!”), dan
sebuah PictureBox menampilkan citra, seperti logo tertentu. Visual C# banyak
memiliki kendali terpradefinisi dan komponen lainnya yang dapat Anda pakai untuk
membangun program Anda.

Pada bab ini, Anda akan bekerja dengan kendali-kendali yang sudah ada dari pustaka
kelas .NET. Setelah Anda menempatkan beberapa kendali pada Form, Anda akan
mampu memodifikasi propertinya. Sebagai contoh, Gambar 5 menunjukkan di mana
32
judul Form dapat dimodifikasi dan Gambar 6 menampilkan sebuah dialog dimana di
dalamnya properti font dapat dimodifikasi.

Gambar 5. Kendali Textbox untuk memodifikasi sebuah properti pada IDE Visual Studio

Gambar 6. Dialog untuk memodifikasi properti font

Secara kolektif, Form dan kendali (controls) merupakan elemen-elemen pembangun


GUI. Pengguna memasukkan data ke dalam program dengan mengetikkan pada
papanketik, dengan mengklik tombol mouse, dan beberapa cara lain. Program
menggunakan GUI untuk menampilkan instruksi-instruksi dan informasi lain untuk
pengguna. Sebagai contoh, dialog New Project pada Gambar 3 menyajikan sebuah

33
GUI dimana pengguna dapat mengklik tombol mouse untuk memilih tipe template,
kemudian memasukkan nama projek dari papanketik

Menu Bar dan ToolBar


Perintah-perintah untuk mengelola IDE dan untuk mengembangkan dan
mengeksekusi program dimuat di dalam menu, yang ditempatkan pada menu bar
pada IDE (Gambar 7). Serangkaian menu ditampilkan sesuai dengan apa yang sedang
Anda kerjakan pada IDE.

Gambar 7. Menu bar pada Visual Studio

Anda bisa melakukan pengaturan pada toolbar. Anda memilih View >
Toolbars (Gambar 1.8). Setiap toolbar yang Anda pilih akan ditampilkan dengan
semua toolbar lain di sisi atas jendela Visual Studio. Untuk mengeksekusi perintah
lewat sebuah toolbar, Anda tinggal mengklik ikon terkait.

Gambar 8. Menambahkan toolbar Build pada IDE

Toolbox
Toolbox (View > Toolbox) memuat ikon-ikon yang merepresentasikan kendali-
kendali yang digunakan untuk memanipulasi Form (Gambar 9). Dengan
pemrograman visual, Anda dapat melakukan “drag and drop” pada Form dan IDE
akan menuliskan kode yang menciptakan kendali untuk Anda. Hal ini lebih cepat dan
lebih sederhana daripada harus menuliskan kode itu sendiri. Sama seperti Anda yang

34
tidak perlu mengetahui bagaimana menciptakan mesin ketika mengendarai sebuah
mobil, Anda juga tidak perlu mengetahui bagaimana membangun kendali pada IDE.

Gambar 9. Jendela Toolbox yang menampilkan kendali-kendali untuk grup Common Controls

Grup-grup Toolbox memuat kendali-kendali terpradefinisi yang dikelompokkan


dalam beberapa kategori, seperti All Windows Forms, Common
Controls, Containers, Menus & Toolbars, Data, Components, Printing, Dialogs,
Reporting, WPF Interoperability, Visual Basic Power Packs, dan General.

Jendela Properties
Untuk menampilkan jendela Properties, Anda bisa memilih View > Other
Windows > Properties Window. Jendela Properties menampilkan beberapa properti
untuk Form yang sekarang sedang dikerjakan (Gambar 10). Jendela ini menetapkan
informasi seputar Form atau kendali, seperti ukuran, warna, dan posisinya.
Setiap Form atau kendali memiliki sederet properti sendiri.

35
Gambar 1.10 menampilkan jendela Properties untuk Form1. Kolom kiri memuat
nama-nama dari properti Form dan kolom kanan menampilkan nilai terkini dari tiap
properti. Anda dapat mengurutkan properti secara alfabetik (dengan mengklik
ikon Alphabetical) atau secara kategorik (dengan mengklik ikon Categorized).
Semua properti dapat diurutkan secara alfabetik dari A sampai Z atau Z sampai A,
dan pengurutan secara kategorik atas grup-grup properti dilakukan sesuai dengan
kegunaannya (yaitu, Accessibility, Appearance, Behavior, Design, dan lainnya).
Bergantung dari ukuran jendela Properties, beberapa properti akan tersembunyi dari
pandangan pada layar. Pengguna dapat menggesernya dengan menggeser kotak
penggeser (scrollbox) ke atas atau ke bawah di dalam batang penggeser (scrollbar),
atau dengan mengklik tanda panah di sisi atas dan bawah dari batang penggeser.

Jendela Properties sangat krusial dalam pemrograman visual. Jendela ini


memampukan Anda untuk memodifikasi properti tiap kendali secara visual, tanpa
harus menuliskan kodenya. Anda dapat melihat properti mana yang tersedia untuk
dimodifikasi dan, pada banyak kasus, dapat belajar tentang rentang nilai yang dapat
diterima oleh properti tertentu. Jendela Properties menampilkan penjelasan singkat
dari properti yang terseleksi untuk membantu Anda memahami tujuannya. Sebuah
properti dapat ditetapkan dengan cepat menggunakan jendela ini dan tidak
memerlukan kode untuk dituliskan.

36
Gambar 10. Jendela Properties
C. Praktikum
Menciptakan Program Sederhana dengan Pemrograman Visual
Pemrograman visual berguna untuk membangun program-program yang memerlukan
interaksi dengan pengguna. Untuk menciptakan, menyimpan, menjalankan, dan
menghentikan program pertama ini, lakukan beberapa langkah berikut:
1. Tutup projek yang dibuka. Jika sebuah projek telah terbuka, Anda bisa
menutupnya dengan menyeleksi File > Close Solution.
2. Ciptakan projek baru. Untuk menciptakan sebuah aplikasi Windows Forms baru
untuk program, Anda bisa memilih File > New Project untuk menampilkan
dialog New Project (Gambar 11). Pilih Windows Forms Application. Berikan
nama projek ProgramSederhana (misalnya) dan klik OK.
3. Simpan projek. Anda harus menetapkan direktori di mana projek akan disimpan.
Untuk menetapkan direktori pada Visual Studio, Anda bisa memilih File > Save
All.
4. Tetapkan teks pada batang judul Form. Teks pada batang judul Form ditentukan
oleh properti Text (Gambar 12). Jika jendela Properties tidak terbuka, klik
ikon properties pada toolbar atau pilih View > Other Windows > Properties

37
Window. Pada kotak teks di sisi kanan properti Text, ketikkan Program
Sederhana dan tekan kunci ENTER. Batang judul Form akan terperbarui secara
otomatis. Lihat Gambar 13.

Gambar 11. Dialog New Project

Gambar 12. Pengaturan properti Text pada jendela Properties

38
Gambar 13. Pembaruan teks pada batang judul

5. Ubah ukuran Form. Anda bisa mengklik dan menggeret salah satu pengatur
ukuran pada Form (kotak putih kecil yang muncul di sekelilingForm, seperti
yang ditunjukkan pada Gambar 14). Dengan menggunakan mouse, Anda bisa
memilih pengatur ukuran kanan-bawah dan menggeretnya ke bawah dan ke
kanan sehingga membuat Form menjadi lebih besar.

Gambar 14. Mengatur ukuran Form


6. Ubah warna latar Form. Properti BackColor dipakai untuk menetapkan warna
latar belakang dari Form. Dengan mengklik BackColor pada
jendela Properties akan menyebabkan tombol panah-bawah muncul di samping
nilai properti (Gambar 15). Ketika diklik, tombol tersebut akan menampilkan
beberapa pilihan. Pada kasus ini, tombol tersebut akan menampilkan tab
untuk Custom, Web, dan System. Anda mengklik tab Custom untuk
menampilkan palette (matriks warna). Anda kemudian dapat memilih salah satu
dari warna yang tersedia, sehingga warna latar dari Form akan terperbarui. Lihat
Gambar 16.

39
Gambar 15 Mengubah properti BackColor pada Form

Gambar 16 Form dengan nilai properti BackColor yang baru

7. Tambahkan kendali Label pada Form. Jika Toolbox tidak terbuka, Anda bisa
memilih View > Toolbox untuk menampilkan sederet kendali yang akan Anda
gunakan untuk menciptakan program. Untuk tipe program yang akan diciptakan
di sini, Anda akan menggunakan kendali-kendali yang ditempatkan pada grup All
Windows Forms atau pada grup Common Controls. Selanjutnya, klik ganda
(dua kali) pada kendaliLabel pada Toolbox. Tindakan ini akan menyebabkan
sebuah Label muncul di pojok kiri-atas pada Form. Lihat Gambar 17. Anda juga
dapat menggeret kendali dari Toolbox ke dalam Form. Hal itu dapat
mempermudah Anda memposisikannya di manapun yang Anda
inginkan.Label menampilkan teks label1 secara default. Warna latar Label sama
dengan warna latar Form. Ketika sebuah kendali ditambahkan padaForm,
properti BackColor dari kendali tersebut ditetapkan sama dengan

40
properti BackColor dari Form. Anda dapat mengubahnya dengan mengatur
properti BackColor dari kendali tersebut.

Gambar 17 Menambahkan sebuah Label pada Form


8. Mengatur tampilan Label. Ketika Anda mengklik Label, propertinya akan
muncul pada jendela Properties. Properti Text dari Labelmenentukan teks yang
akan ditampilkan. Masing-masing Form dan Label memiliki properti
Text masing-masing. Anda bisa menetapkan properti Text dari Label menjadi
Selamat Datang ke Pemrograman C#!. Label akan menata secara otomatis agar
teks yang diketikkan dapat ditampilkan pada satu baris. Secara default,
properti AutoSize bernilai false, sehingga Anda dapat mengatur-ulang
ukuran Label secara mandiri. Lihat Gambar 18.

Gambar 18 GUI setelah Form dan Label diatur sendiri


9. Atur ukuran font pada Label. Untuk mengubah jenis font dan tampilan teks
pada Label, Anda bisa memilih nilai dari properti Font, yang menyebabkan
sebuah tombol ellipsis muncul di samping nilai properti (Gambar 19).

41
Gambar 19 Jendela Properties yang menampilkan properti Font dari Label

Ketika tombol ellipsis tersebut diklik, sebuah dialog Font akan tampil (Gambar
20). Anda dapat memilih nama font, gaya font (Light,Regular, Oblique, Bold,
dan Bold Oblique) dan ukuran font pada dialog ini. Teks Sample menunjukkan
pengaturan font yang diseleksi. Anda bisa memilih Segoe UI, yang merupakan font
yang direkomendasikan Microsoft untuk antarmuka pengguna. Jika teks
pada Label tidak cukup untuk satu baris, maka akan dirangkum pada baris berikutnya.

Gambar 20 Dialog Font

10. Tambahkan sebuah PictureBox pada Form. Kendali PictureBox dipakai untuk
menampilkan citra. Proses yang terlibat pada langkah ini sama dengan pada
Langkah 7. Anda perlu menggeretnya ke Form. Lihat Gambar 21. Anda
menempatkan PictureBox tersebut di bawah Label.

42
Gambar 21 Menyisipkan dan menyejajarkan sebuah PictureBox

11. Sisipkan citra. Anda bisa mengklik PictureBox untuk menampilkan properti-
propertinya pada jendela Properties (Gambar 1.22).

Gambar 22 Properti Image dari PictureBox


Klik tombol ellipsis yang ada di samping nilai properti untuk menampilkan
dialog Select Resource (Gambar 23), yang dipakai untuk mengimpor file, seperti
citra, untuk digunakan pada program. Selanjutnya, klik OK.

Gambar 23 Dialog Select Resource untuk memilih sebuah citra untuk PictureBox

Anda menggunakan crypto22.jpg. Citra ditampilkan pada dialog Select


Resource (Gambar 24). Klik OK untuk menggunakan citra tersebut.

43
Gambar 24 Dialog Select Resource yang menampilkan citra yang akan digunakan

Untuk menskalakan citra sesuai dengan ukuran PictureBox, Anda bisa mengubah
properti SizeMode menjadi StretchImage (Gambar 25). Anda bisa mengatur-ulang
ukuran PicturBox, membuatnya lebih besar (Gambar 26).

Gambar 25 Menskalakan citra agar sesuai dengan ukuran PictureBox

Gambar 26 PictureBox menampilkan citra

12. Jalankan projek. Anda bisa memilih Debug > Start Debugging untuk
menjalankan projek, seperti diperlihatkan pada Gambar 27. Hasil program yang
dijalankan ditampilkan pada Gambar 28.

44
Gambar 27 Menjalankan projek

Gambar 28 Hasil program yang telah dijalankan

D. Tugas Praktikum
Membuat sebuah Form di lengkapi dengan tombol button serta event pesan dalam
tombol button tersebut
Tampilan Program :

 jika klik yes

45
 jika klik no

 jika klik cancel


Jika klik icon x biru maka langsung keluar .

46
Praktikum 6
Struktur Pemilihan dan Perulangan

A. Tujuan
Mahasiswa mampu menguasai pengunaan struktur pemilihan dan perulangan untuk
membangun aplikasi GUI

B. Teori
1. Struktur Pemilihan

If else pada C#
Terdapat beberapa cara untuk menggunakan kondisi if else. Salah satunya adalah if
else satu baris yang telah ditunjukkan pada bagian tipe data. Secara umum, struktur if
else adalah sebagai berikut:

if (kondisi1) {
//Perintah ketika kondisi 1 terpenuhi
} else if (kondisi2) {
//Perintah ketika kondisi 2 terpenuhi
} else if (kondisi3) {
//Perintah ketika kondisi 3 terpenuhi
} else {
//Ketika semua kondisi lain tak terpenuhi, lakukan ini
}
Kondisi-kondisi di atas adalah variabel atau pernyataan boolean. Dan blok else if dan
else bersifat opsional.

Perintah switch pada C#

Perintah switch adalah salah satu struktur kode yang pernah saya gunakan. Hampir
selalu, struktur if dapat menggantikan struktur switch. Bentuk perintah switch pada
C# adalah:

switch (variabelUji) {
case [literal 1]:
//Blok kode 1
break;
case [literal 2]:
//Blok kode 2
break;
case [literal 3]:
//Blok kode 3
break;

47
default:
//Jika yang lain tidak terpenuhi
break;
}

2. Struktur Perulangan

Perulangan while pada C#


Syntax perulangan while pada C# adalah:

while (kondisi) {
[perintah]
}
Ketika suatu program sampai pada suatu perulangan while, pernyataan di dalam
perulangan tersebut akan dijalankan terus menerus selama cond bernilai benar. Ketika
menggunakan perulangan while, pada umumnya perlu memperhatikan tiga hal:
permulaan, kondisi dan iterasi. Sehingga strukturnya menjadi:

[permulaan]
while (kondisi) {
[perintah]
[iterasi]
}

Perulangan do while pada C#


Perulangan do while hanya berbeda sedikit dari perulangan while. Perulangan do
while akan dijalankan paling tidak satu kali karena kondisi perulangan ini terletak
pada akhir perulangan. Syntax perulangan do while adalah sebagai berikut:

do {
[perintah]
} while (kondisi);
Satu satunya perbedaan antara perulangan do while dan perulangan while adalah
ketika kondisi awal bernilai salah, yang mana akan mengakibatkan perulangan while
dilewatkan sedangkan perulangan do while dijalankan hanya satu kali.

Perulangan for pada C#

Syntax perulangan for jauh lebih sederhana dibandingkan dengan perulangan while.
Syntax perulangan for adalah:

for ( [pendahuluan] ; [kondisi]; [iterasi] ) {


[perintah]
}

48
Blok kode { } bisa juga digantikan dengan satu perintah tunggal sehingga menjadi
syntax perulangan for satu baris:

for ( [pendahuluan] ; [kondisi]; [iterasi] ) [perintah tunggal]

Bagian pendahuluan akan dijalankan pertama kali ketika perintah for dijumpai.
Setelah pendahuluan dan setiap kali perulangan kembali ke awal, kondisi akan diuji.
Perintah di dalam blok perulangan for akan dijalankan jika kondisi bernilai benar, dan
perulangan akan berakhir ketika kondisi bernilai salah. Iterasi adalah kode yang akan
dijalankan setiap kali perulangan berhasil berputar satu kali.

C. Praktikum
Praktikum 1: if sederhana pada C#
Sebagai contoh, buat suatu aplikasi windows forms dan desain Form menyerupai
gambar di bawah:

Kontrol interaktif pada desain di atas diberi nama: txtUsername, txtPassword,


txtKonfirmasi, txtUmur, btnSimpan dan btnBatal. Properties Text pada Form, Label
dan Button dapat dilihat pada desain di atas. Khusus untuk txtPassword dan
txtKonfirmasi, ubah properties PasswordChar menjadi "#", sehingga input user akan
disembunyikan oleh tanda sharp/hash. Kemudian dobel klik pada btnSimpan untuk
membuat fungsi event btnSimpan_Click dan ketikkan kode berikut:

private void btnSimpan_Click(object sender, EventArgs e) {


//Cek field-field yang kosong
if (txtUsername.Text.Trim() == string.Empty) {
MessageBox.Show("Harap isi username");
}
}

49
Pada contoh di atas, kita mengecek apakah username koosong. Jika username kosong,
kita meminta user untuk menginput username. Terdapat beberapa hal baru pada kode
di atas:

 Double slash (garis miring ganda) menyatakan bahwa semua teks di sebelah
kanan double slash adalah komentar dan tidak akan dikompilasi.
 Setiap string memiliki method .Trim() yang membuang semua spasi di awal
dan akhir string.
 string.Empty adalah sinonim dari "" yang merupakan string kosong.

Coba jalankan program dan klik btnSimpan untuk melihat hasilnya.

Praktikum 2: if else pada C#


Berikutnya, coba tambahkan blok else if dan else ke dalam kode. Perhatikan bahwa
Saya juga membuat sebuah variabel bernama user untuk menyederhanakan kode:

private void btnSimpan_Click(object sender, EventArgs e) {


//Cek field-field yang kosong
string user = txtUsername.Text;
if (user.Trim() == string.Empty) {
MessageBox.Show("Harap isi username");
} else if (user.Length < 5 || user.Length > 25) {
MessageBox.Show("Panjang username harus di antara 5 dan 25 karakter");
} else if (user.ToLower() == "fandi") {
MessageBox.Show("Username sudah terpakai");
} else {
/* Kode untuk menyimpan data pendaftaran
* Akan dijelaskan pada saat belajar database
* Untuk saat ini kita akan membohongi user
* Dengan mengatakan "Pendaftaran berhasil"
*/
MessageBox.Show("Pendaftaran berhasil");
}
}
Terdapat beberapa hal baru lagi di atas:

 Setiap string memiliki property .Length yang memberikan jumlah karakter di


dalam suatu string.
 Setiap string memiliki property .ToLower() yang mengkonversi semua huruf
di dalam strim menjadi huruf kecil.
 Semua yang di dalam /* dan */ pada C# adalah komentar multibaris dan tidak
akan dikompilasi.

50
Coba kompilasi dan jalankan program (tekan F5) dan ketikkan beberapa teks ke
dalam username dan klik Simpan. Cobalah nama-nama berikut:

 agus, program akan menampilkan: Panjang username harus di antara 5 dan 25


karakter.
 fandi, program akan menampilkan: Username sudah terpakai
 kennedy, program akan menampilkan: Pendaftaran berhasil

Kesalahan umum pada if else

Salah satu kesalahan umum pemrograman adalah salah meletakkan kode. Sebagai
contoh, seorang programmer pemula dapat dengan mudah terjebak membuat kode
seperti berikut:

private void btnSimpan_Click(object sender, EventArgs e) {


//Cek field-field yang kosong
string user = txtUsername.Text;
if (user.Trim() == string.Empty) {
MessageBox.Show("Harap isi username");
} else if (user.Length < 5 || user.Length > 25) {
MessageBox.Show("Panjang username harus di antara 5 dan 25 karakter");
} else if (user.ToLower() == "fandi") {
MessageBox.Show("Username sudah terpakai");
}
MessageBox.Show("Pendaftaran berhasil");
}
Perhatikan bahwa kode untuk menyimpan data ("Pendaftaran berhasil") berada di luar
blok if, yang berarti bahwa username apapun akan selalu disimpan, tidak peduli ada
peringatan atau tidak. Hanya pernyataan di dalam blok if yang dieksekusi dengan
kondisi. Di luar blok if, pernyataan akan selalu dieksekusi.

Praktikum 3 : If else bersarang pada C#

Setelah berhasil menjalankan kode di atas, coba tambahkan validasi password ke


dalam blok kode else seperti ditunjukkan di bawah. Perhatikan bahwa telah
ditambahkan variabel pass dan konfirmasi dan juga MessageBox "Pendaftaran
berhasil" telah dipindahkan ke dalam blok else milik validasi password:

private void btnSimpan_Click(object sender, EventArgs e) {


//Cek field-field yang kosong
string user = txtUsername.Text;
string pass = txtPassword.Text;
string konfirmasi = txtKonfirmasi.Text;
if (user.Trim() == string.Empty) {
MessageBox.Show("Harap isi username");
} else if (user.Length < 5 || user.Length > 25) {

51
MessageBox.Show("Panjang username harus di antara 5 dan 25 karakter");
} else if (user.ToLower() == "fandi") {
MessageBox.Show("Username sudah terpakai");
} else {
if (pass.Trim() == "") {
MessageBox.Show("Harap isi password");
} else if (pass.Length < 6) {
MessageBox.Show("Password paling tidak harus 6 karakter");
} else if (pass != konfirmasi) {
MessageBox.Show("Konfirmasi password tidak sesuai");
} else {
/* Kode untuk menyimpan data pendaftaran
* Akan dijelaskan pada saat belajar database
* Untuk saat ini kita akan membohongi user
* Dengan mengatakan "Pendaftaran berhasil"
*/
MessageBox.Show("Pendaftaran berhasil");
}
}
}
Coba jalankan kode dan klik tombol simpan dengan berbagai kondisi. Password if di
dalam blok else ditujukan untuk demonstrasi if bersarang. Meskipun hal ini dapat
dilakukan, akan lebih baik untuk menghindari if bersarang karena if bersarang dapat
dengan mudah membingungkan kita.

Praktikum 4 : Alternatif if bersarang

Now select all the codes inside the btnSave_Click function and press CTRL + K, C to
comment all those codes and type in some new codes (to uncomment, select and press
CTRL + K. U):

private void btnSimpan_Click(object sender, EventArgs e) {


////Cek field-field yang kosong
//string user = txtUsername.Text;
//string pass = txtPassword.Text;
//string konfirmasi = txtKonfirmasi.Text;
//if (user.Trim() == string.Empty) {
// MessageBox.Show("Harap isi username");
//} else if (user.Length < 5 || user.Length > 25) {
// MessageBox.Show("Panjang username harus di antara 5 dan 25 karakter");
//} else if (user.ToLower() == "fandi") {
// MessageBox.Show("Username sudah terpakai");
//} else {
// if (pass.Trim() == "") {
// MessageBox.Show("Harap isi password");
// } else if (pass.Length < 6) {
// MessageBox.Show("Password paling tidak harus 6 karakter");
// } else if (pass != konfirmasi) {
// MessageBox.Show("Konfirmasi password tidak sesuai");
// } else {
// /* Kode untuk menyimpan data pendaftaran
// * Akan dijelaskan pada saat belajar database
// * Untuk saat ini kita akan membohongi user
// * Dengan mengatakan "Pendaftaran berhasil"
// */

52
// MessageBox.Show("Pendaftaran berhasil");
// }
//}

//Cek field-field yang kosong


string user = txtUsername.Text;
string pass = txtPassword.Text;
string konfirmasi = txtKonfirmasi.Text;

//Validasi username
if (user.Trim() == "") { MessageBox.Show("Harap isi username"); return; }
if (user.Length < 5 || user.Length > 25) { MessageBox.Show("Panjang username harus
if (user.ToLower() == "fandi") { MessageBox.Show("Username sudah terpakai"); return

//Validasi password
if (pass.Trim() == "") { MessageBox.Show("Harap isi password"); return; }
if (pass.Length < 6) { MessageBox.Show("Password paling tidak harus 6 karakter"); r
if (pass != konfirmasi) { MessageBox.Show("Konfirmasi password tidak sesuai"); retu

//Validasi umur
int umur;
bool umurBenar = Int32.TryParse(txtUmur.Text, out umur);
if (!umurBenar) { MessageBox.Show("Harap input umur yang benar"); return; }

//Registrasi
string tipeRegistrasi;
if (umur < 18) tipeRegistrasi = "Anak anak"; else tipeRegistrasi = "Dewasa";
MessageBox.Show("Pendaftaran " + tipeRegistrasi + " berhasil");
}
Saya memperkenalkan perintah return pada kode di atas. Perintah return akan
mengakhiri eksekusi suatu fungsi, sehingga semua baris setelah perintah return tidak
akan dijalankan. Menurut pendapat saya, kode di atas jauh lebih rapi dibandingkan
kode if bersarang

Perhatikan juga bahwa pada bagian registrasi, terdapat perintah if satu baris. Pada
perintah if else sederhana, lebih baik menggunakan bentuk ini agar dapat lebih mudah
membaca dan memahami kode kita sendiri. Jika kita menggunakan if berbentuk blok-
blok seperti sebelumnya, kodenya akan tampak seperti:

if (umur < 18) {


tipeRegistrasi = "Anak anak";
} else {
tipeRegistrasi = "Dewasa";
}
If berbentuk blok memakan 5 baris kode, sedangkan if satu baris hanya menggunakan
satu baris.

Praktikum 5 : Program “Pemilihan Gambar”

desain Form menyerupai gambar di bawah:

53
No. Nama Objek Nama Properties Nilai
1. Form (Name) frPilih
Text Pemilihan Gambar
2 PictureBox (1) (Name) pbPemain
SizeMode StretchImage
Size 315, 234
3. PictureBox (2) (Name) pbIbra
SizeMode StretchImage
Size 40, 40
4. PictureBox (3) (Name) pbInza
SizeMode StretchImage
Size 40, 40
5. PictureBox (4) (Name) pbRonal
SizeMode StretchImage
Size 40, 40
6. ComboBox (Name) cbPemain
Items Z. Ibrahimovic
F. Inzaghi
C. Ronaldo

ketikkan kode berikut:

using System; using System.Collections.Generic;


using System.ComponentModel; using System.Data;
using System.Drawing; using System.Linq;
using System.Text; using System.Windows.Forms;

namespace ComboBox
{
public partial class FrPilih : Form
{
public Form1()
{ InitializeComponent(); }

private void comboBox1_SelectedIndexChanged(object sender, EventArgs


e)

54
{
switch (cbPemain.Text)
{
case "Z. Ibrahimovic" :
pbPemain.Image = pbIbra.Image;
break;
case "F. Inzaghi" :
pbPemain.Image = pbInza.Image;
break;
case "C. Ronaldo" :
pbPemain.Image = pbRonal.Image;
break;
default :
pbPemain.Image = null;
break;
}
}
}
}

Praktikum 6 : Perulangan FOR

Buat project baru dengan nama Prak6.


Desain Tampilan form seperti gambar berikut ini :

Tambahkan kontrol ke form seperti pada gambar diatas dan atur propertinya seperti tabel
berikut:
Object Properties Nilai
Form1 Name Form1
Text Perulangan FOR
Label1 Text Tgl/Bln/Thn
ComboBox1 Name CmbTgl
ComboBox2 Name CmbBln
ComboBox3 Name CmbThn

Klik ganda pada Form1, kemudian ketikkan kode program berikut ini :

Dim tgl, bln, thn AsInteger

For tgl = 1 To 31
cmbTgl.Items.Add(tgl)
Next tgl

For bln = 1 To 12
cmbBln.Items.Add(bln)

55
Next bln

For thn = 1900 To 9999


CmbThn.Items.Add(thn)
Nextthn

Jalankan aplikasi dengan menekan tombol F5 (di keyboard), atau melalui ikon Start
Debugging di toolbar, atau melalui menu Debug > Start Debuging.
Simpan aplikasi Anda.

Praktikum 7 : Perulangan WHILE

1. Tambahkan Form baru, dengan namaForm3.


2. Desain Tampilan form seperti gambar berikut ini :

3. Tambahkan kontrol ke form seperti pada gambar diatas dan atur propertinya
seperti tabel berikut:

Object Properties Nilai


Form1 Name Form1
Text Perulangan WHILE
Label1 Text Batas
Label2 Text Tampilkan
TextBox1 Name TxtBatas
ListBox1 Name ListBox1
Button1 Name Button1
Text Proses

4. Klik ganda pada Proses, kemudian ketikkan kode program berikut ini :
Dim angka AsInteger

56
ListBox1.Items.Clear()
angka = 1
While angka <= Val(TxtBatas.Text)
ListBox1.Items.Add(angka)
angka = angka + 1
EndWhile

5. Jalankan aplikasi dengan menekan tombol F5 (di keyboard), atau melalui ikon
Start Debugging di toolbar, atau melalui menu Debug > Start Debuging.
6. Simpan aplikasi Anda.

Praktikum 8 : Perulangan DO WHILE…LOOP

1. Tambahkan Form baru, dengan namaForm4.


2. Desain Tampilan form seperti gambar berikut ini :

3. Tambahkan kontrol ke form seperti pada gambar diatas dan atur propertinya
seperti tabel berikut:

Object Properties Nilai


Form1 Name Form1
Text Perulangan DO WHILE … LOOP
Label1 Text Angka
TextBox1 Name TxtAngka
Button1 Name Button1
Text Proses

4. Klik ganda pada Proses, kemudian ketikkan kode program berikut ini :
Dim X%
X = TxtAngka.Text
Do
X = X Mod 2
If X = 0 Then
MsgBox("Bilangan Genap")
ExitDo
ElseIf X = 1 Then
MsgBox("Bilangan Ganjil")
ExitDo
EndIf

57
LoopWhileNot X

5. Jalankan aplikasi dengan menekan tombol F5 (di keyboard), atau melalui ikon
Start Debugging di toolbar, atau melalui menu Debug > Start Debuging.
6. Simpan aplikasi Anda.

Praktikum 9 : Perulangan FOR EACH…NEXT

1. Tambahkan Form baru, dengan namaForm5.


2. Desain Tampilan form seperti gambar berikut ini :

3. Tambahkan kontrol ke form seperti pada gambar diatas dan atur propertinya
seperti tabel berikut:

Object Properties Nilai


Form5 Name Form5
Text Perulangan FOR EACH … IN…NEXT
Button1 Name Button1
Text Button1
Button2 Name Button2
Text Button2
Button3 Name Proses
Text Button3

4. Klik ganda pada Proses, kemudian ketikkan kode program berikut ini :

ForEach ctrl In Controls


ctrl.Text = "Tombol"
Next

5. Jalankan aplikasi dengan menekan tombol F5 (di keyboard), atau melalui ikon
Start Debugging di toolbar, atau melalui menu Debug > Start Debuging.
6. Simpan aplikasi Anda.

58
D. Tugas Praktikum
1. Buatlah program untuk mempermudah pembayaran di suatu bioskop

Output :
a. Buatlah Tampilan Menu
b. Baru pilih horror atau romantic
Horor : 2
Romantic : 3
c. Hitung total harga Total Harga Rp. 8500,

2. Buat project baru dan Desain Tampilan form seperti gambar berikut ini :

Buatlah deret angka berdasarkan nilai awal pada textbox pertama dan nilai
akhir pada textbox kedua dan menampilkan hasil pada listview output

59
Praktikum 7
Array

A. Tujuan
Mahasiswa mampu menjelaskan konsep dasar array

B. Teori
Array adalah sekumpulan data yang memiliki tipe yang sama, sejumlah tetap, serta
disusun secara terstruktur dan disimpan dalam satu variabel yang sama, dan diurutkan
dengan index.

Array Satu Dimensi


Suatu array yang nilai dan ukurannya yang sudah ditentukan terlebih dahulu, dan
memiliki satu dimensi.
Bentuk Umum :

Dim Array[indeks] As Tipe_Data


Contoh :
Dim Arr(2) AsString
Arr(0) = TxtNim.Text
Arr(1) = TxtNama.Text
Arr(2) = TxtProdi.Text

Array Multi Dimensi


Suatu array yang fungsinya hampir sama dengan array satu dimensi hanya saja pada
array multi dimensi ini mewakili nilai table yang terdiri dari informasi yang diatur
dalam baris dan kolom. Untuk mendefenisikan elemen table tertentu, kita harus
menentukan dua indeks, pertama mengidentifikasi elemen baris dan yang
mengidentifikasi elemen kolom.Array multidimensi memiliki lebih dari dua dimensi.

Bentuk Umum :
Dim Array[indeks,Indeks] As Tipe_Data
Dim Array[indeks,indeks,indeks] As Tipe_Data

Contoh :
Dim Arr(3, 1) AsString
Arr(0, 0) = "NIM"
Arr(0, 1) = "NAMA"
Arr(1, 0) = "JENIS KELAMIN"
Arr(1, 1) = "PRODI"
Arr(2, 0) = "Laki-laki"
Arr(2, 1) = "Perempuan"
Arr(3, 0) = "Manajemen Informatika"
Arr(3, 1) = "Teknik Informatika"

60
C. PRAKTIKUM

Array Satu Dimensi

1. Buat project baru, dengan namaPrak9.


2. Desain Tampilan form seperti gambar berikut ini :

3. Tambahkan kontrol ke form seperti pada gambar diatas dan atur propertinya
seperti tabel berikut:

Object Properties Nilai


Form1 Name Form1
Text Array Satu Dimensi
Label1 Text NIM
Label2 Text Nama
Label3 Text Prodi
TexBox1 Name TxtNIM
TexBox2 Name TxtNama
TexBox3 Name TxtProdi
ListView1 Name ListView1
Button1 Name BtnTambah
Text Tambah

4. Klik ganda pada Form Load, kemudian ketikkan kode program berikut ini :

ListView1.GridLines = True
ListView1.View = View.Details
ListView1.Columns.Add("NIM")
ListView1.Columns.Add("NAMA", 115)
ListView1.Columns.Add("PRODI", 110)
TxtNim.Text = 1
TxtNama.Focus()

5. Klik ganda pada BtnTambah, kemudian ketikkan kode program berikut ini :

61
Dim Arr(2) AsString
Arr(0) = TxtNim.Text
Arr(1) = TxtNama.Text
Arr(2) = TxtProdi.Text

Dim listitem As ListViewItem


listitem = New ListViewItem
listitem = ListView1.Items.Add(Arr(0))
listitem.SubItems.Add(Arr(1))
listitem.SubItems.Add(Arr(2))

TxtNim.Text = TxtNim.Text + 1
TxtNama.Text = ""
TxtProdi.Text = ""
TxtNama.Focus()

6. Jalankan aplikasi dengan menekan tombol F5 (di keyboard), atau melalui icon
Start Debugging di toolbar, atau melalui menu Debug > Start Debuging.
7. Simpan aplikasi Anda.

Array Multi Dimensi

1. Tambahkan Form baru, dengan namaForm2.


2. Desain Tampilan form seperti gambar berikut ini :

3. Tambahkan kontrol ke form seperti pada gambar diatas dan atur propertinya
seperti tabel berikut:

Object Properties Nilai


Form1 Name Form1
Text Array Multi Dimensi
Label1 Text NIM
Label2 Text Nama
Label3 Text Kelamin
Label4 Text Prodi
TexBox1 Name TxtNIM
TexBox2 Name TxtNama
Combo1 Name CmbKelamin

62
Combo2 Name CmbProdi
ListView1 Name ListView1
Button1 Name BtnProses
Text Proses

4. Klik ganda pada Form Load, kemudian ketikkan kode program berikut ini :

Dim Arr(3, 1) AsString


Arr(0, 0) = "NIM"
Arr(0, 1) = "NAMA"
Arr(1, 0) = "JENIS KELAMIN"
Arr(1, 1) = "PRODI"
Arr(2, 0) = "Laki-laki"
Arr(2, 1) = "Perempuan"
Arr(3, 0) = "Manajemen Informatika"
Arr(3, 1) = "Teknik Informatika"

ListView1.GridLines = True
ListView1.View = View.Details

For Baris = 0 To 1
For Kolom = 0 To 1
ListView1.Columns.Add(Arr(Baris, Kolom), 100)
Next Kolom
Next Baris

For Baris = 2 To 2
For Kolom = 0 To 1
CmbKelamin.Items.Add(Arr(Baris, Kolom))
Next Kolom
Next Baris

For Baris = 3 To 3
For Kolom = 0 To 1
CmbProdi.Items.Add(Arr(Baris, Kolom))
Next Kolom
Next Baris

5. Klik ganda pada BtnProses, kemudian ketikkan kode program berikut ini :

Dim Arr(3) AsString


Arr(0) = TxtNIM.Text
Arr(1) = TxtNAMA.Text
Arr(2) = CmbKelamin.Text
Arr(3) = CmbProdi.Text

Dim listitem As ListViewItem


listitem = New ListViewItem
listitem = ListView1.Items.Add(Arr(0))
listitem.SubItems.Add(Arr(1))
listitem.SubItems.Add(Arr(2))
listitem.SubItems.Add(Arr(3))
TxtNIM.Text = TxtNIM.Text + 1
TxtNAMA.Text = ""
CmbKelamin.Text = ""
CmbProdi.Text = ""
TxtNAMA.Focus()

63
6. Jalankan aplikasi dengan menekan tombol F5 (di keyboard), atau melalui ikon
Start Debugging di toolbar, atau melalui menu Debug > Start Debuging.
Simpan aplikasi Anda

D. TUGAS PRAKTIKUM

1. Desain Tampilan form seperti gambar berikut ini :

Tambahkan kontrol ke form seperti pada gambar diatas dan atur propertinya seperti tabel
berikut:

coba masukkan kode barang sampai satuan, dan klik simpan maka di listview akan
tampil data yang telah terinput

64
Praktikum 8
Class, Object, Method, Event

A. Tujuan
Mahasiswa mampu menguasai pemahaman dan praktis class, object, method, event

B. Teori

Class dan objek pada C#


Bagian ini adalah permulaan dari Object Oriented Programming (OOP).
Ada banyak konsep mengenai OOP seperti Abstraction, Encapsulation,
Inheritance dan Polymorphism. Di bawah ini adalah penjelasan
mengenai Abstraction dan Encapsulation. Meskipun memahami konsep
ini dapat berguna, apabila Anda sedang buru-buru, lewati saja
penjelasan tersebut sampai ke bagian class pada C#.

Abstraction
Abstraction atau dalam bahasa Indonesia Abstraksi, bukanlah
mengenai kode program. Abstraksi hanyalah suatu proses dimana
seorang programmer melihat contoh-contoh di kehidupan nyata dan
menterjemahkan konsep-konsep yang didapat ke dalam suatu
program. Sebagai contoh, seorang programmer game mula-mula akan
melihat suatu mobil memiliki kecepatan, jumlah bensin dan jenis
bannya. Sedangkan programmer retailer otomotif mungkin akan lebih
peduli dengan harga, warna dan mereknya. Tentu saja mereka dapat
memasukkan semua hal tersebut dan hal lainnya ke dalam program.
Akan tetapi hal ini sangat bergantung dengan apa yang dilihat oleh
programmer.

65
Encapsulation
Pernahkah Anda melihat kapsul? Benda mengkilat yang kita makan
ketika kita sakit. Sesungguhnya, bagian mengkilatnya hanya bagian
luarnya. Di dalamnya terdapat banyak jenis obat dan vitamin yang
membuat kita lebih sehat. Ada dua hal yang terkait dengan fakta ini:

 Kita tidak tahu apa yang ada di dalam kapsul. Kita hanya tahu
manfaat dan cara kerja kapsul tersebut (ditelan).
 Memakan satu kapsul berarti memakan semua obat dan vitamin
di dalamnya sekaligus.

Dengan cara yang sama, suatu class mengkapsulkan semua hal di


dalamnya:

 Pengguna class tidak perlu tahu bagian dalam dari class, mereka
cukup tahu kegunaan class tersebut.
 Membuat suatu objek class tertentu berarti objek tersebut
memiliki semua properties, method, enum dan event di dalam
class tersebut.

Class pada C#
Kita mendefinisikan class di dalam namespace pada C#. Untuk
mendefinisikan suatu class sederhana, kita tuliskan dalam namespace:

1 [access modifier] class [nama class] {


2 //Member-member pada class
3 }
Access modifiers pada C# akan dijelaskan terakhir pada bagian ini.
Untuk sekarang, cukup gunakan public untuk semua class. Sebagai
contoh, kita dapat membuat class Mobil sebagai berikut:

66
1
2
3 namespace Belajar1 {
4 class Program {
static void Main(string[] args) {
5
6 }
7 }
8
9 public class Mobil {
10 public double kecepatan;
11 public double bensin;
public double posisi;
12 public string nama;
13
14 public void percepat() {
15 this.kecepatan += 10;
16 this.bensin -= 5;
}
17 public void maju() {
18 this.posisi += this.kecepatan;
19 this.bensin -= 2;
20 }
21 public void isiBensin(double bensin) {
this.bensin += bensin;
22 }
23 }
24 }
25
26
Perhatikan bahwa class Mobil berada di dalam namespace Belajar1
setingkat dengan class Program (dalam hal level kurung kurawalnya).
Di sini kita telah melakukan proses abstraksi. Pada class Mobil di atas,
kecepatan, bensin, posisi dan nama adalah fields, sedangkan percepat,
maju dan isiBensin adalah method. Field, Property dan Mehtod akan
dijelaskan lain kali.

Objek pada C#
Suatu class digunakan untuk membuat objek. Untuk membuat objek,
kita meng-instantiate suatu class dengan salah satu dari cara berikut:
[nama class] [nama objek] = new [nama class]();
[nama class] [nama objek] = new [nama class]() { field1=nilai1,
field2=nilai2, ... };
[nama class] [nama objek] = new [nama class](param1, param2, ...);

Ketika kita membuat suatu objek dari suatu class, kita mendapatkan
semua member dari class tersebut. Kita dapat mengkases member
class tersebut dengan mengetikkan titik dan nama member yang
bersangkutan. Sebagai contoh, kita tuliskan dalam class Program:

1 class Program {
static void Main(string[] args) {
2 Mobil SuatuMobil = new Mobil();
3 Mobil MobilSaya = new Mobil() { nama = "Ferrari", kecepatan = 0, bensin = 30

67
4 MobilSaya.Percepat();
5 Console.WriteLine(SuatuMobil.nama);
Console.WriteLine(SuatuMobil.bensin);
6
7 Console.WriteLine(MobilSaya.nama);
8 Console.WriteLine(MobilSaya.bensin);
9 Console.ReadKey();
10 }
}
11
12
13
Program di atas akan menampilkan:
[baris kosong]
0
Ferrari
30000

Baris pertama kosong dan baris kedua bernilai 0 karena nilai default
string dan int. Perlu diingat bahwa tidak baik untuk menggunakan
variabel (field nama dan bensin) tanpa menginisialisasinya, akan tetapi
program di atas hanyalah contoh. Inilah yang saya suka dari objek.
Kita cukup menuliskan new Mobil() satu kali, dan di dalam objek
tersebut kita sudah mendapatkan semua yang kita definisikan di dalam
class Mobil.

Constructor pada C#
Hampir selalu, kita perlu memberi nilai pada field atau property suatu
objek sebelum kita dapat menggunakannya. Untuk itu, kita gunakan
method constructor. Suatu constructor didefinisikan dengan cara:
public [nama class] (param1, param2, ...) {
//Hal-hal yang dilakukan ketika suatu objek diinstantiate (dibuat)
}

Sebagai contoh, tambahkan kode berikut ke dalam class Mobil:

1 public Mobil(string nama, double kecepatan, double bensin) {


2 this.nama = nama;
3 this.kecepatan = kecepatan;
4 this.bensin = bensin;
5 this.posisi = 0;
}
6
Constructor di atas menerima tiga parameter. Parameter yang
diberikan digunakan untuk menginisialisasi field-field di dalam objek.
Perhatikan bahwa variabel this.nama dengan variabel nama di atas adalah
dua variabel yang berbeda. Keyword "this" pada C# mewakili objek
yang sedang aktif pada class. Ketika tidak ada parameter "nama",
variabel "nama" akan mewakili field "nama" pada class. Akan sama
saja apabila kita menulis "this.name" atau "name". Akan tetapi apabila
parameter ada "nama", "nama" akan mewakili parameter tersebut,
dan untuk mewakili field nama, kita hanya dapat menggunakan

68
"this.nama". Untuk menggunakan constructor untuk membuat objek,
kita menggunakan kode seperti berikut:

1 Mobil MobilAnda = new Mobil("Lamborghini", 300, 50000);


Perhatikan bahwa karena constructor baru kita, perintah-perintah new
Mobil() sebelumnya menjadi error karena kita telah mendeklarasikan
constructor kita. Kita dapat membuat constructor lain di dalam class
Mobil untuk menghindari error tersebut:

1 public Mobil() {
2 this.nama = "";
3 this.kecepatan = 0;
4 this.bensin = 0;
5 this.posisi = 0;
}
6
Menurut pendapat saya, membuat constructor kosong seperti ini
berbahaya karena membuat kita dapat lupa mengisi field di dalam
objek kita.

Destructor pada C#
Meskipun constructor sangatlah penting, Saya tidak pernah benar-
benar menggunakan kebalikannya: Destructor di dalam suatu
program. Tujuan utama dari destructor biasanya untuk membebaskan
memoi. Akan tetapi dikarenakan C# sudah memiliki "garbage
collector" untuk membebaskan memori yang tidak digunakan lagi,
destructor sangat jarang digunakan. Untuk membuat suatu destructor,
cukup membuat suatu method dengan nama yang sama dengan nama
class diawali dengan tanda tilde (~). Sebagai contoh:

1 ~Mobil() {
2 Console.WriteLine("Mobil " + nama + " telah dihancurkan");
3 }

Access modifier pada C#


Access modifier menentukan apakah suatu class, method, field,
property, event atau hal-hal lainnya dapat diakses di luar class
induknya.

 public membuat member yang bersangkutan dapat diakses dari


mana saja.
 private membuat member yang bersangkutan hanya dapat
diakses dari dalam class itu sendiri.
 protected membuat member yang bersangkutan hanya dapat
diakses dari class itu sendiri atau class lain yang merupakan
turunan (inherits) dari class yang bersangkutan.

69
 internal membuat member yang bersangkutan hanya dapat
diakses dari assembly yang sama, atau dengan kata lain,
aplikasi yang sama.
 protected internal menggabungkan protected dan internal, yang
berarti member yang bersangkutan hanya dapat diakses dari
class itu sendiri atau dari class lain dari dalam assembly yang
sama yang merupakan turunan dari class yang bersangkutan.

Perlu diketahui bahwa class puncak yang langsung berada di bawah


suatu namespace hanya dapat dideklarasi public atau internal. Mereka
tidak dapat dideklarasi private, protected atau protected internal.
Hanya class di dalam class lain yang dapat dideklarasi seperti itu. Perlu
diketahui juga bahwa kata kunci static dan virtual bukanlah suatu
access modifier.

Method pada C#
Method adalah sekumpulan pernyataan yang akan dijalankan ketika
dipanggil. Untuk mendefiniskan suatu method pada C#:
[Access modifier] [tipe data] [nama method] (parameter1, parameter2, ...) {
//Kumpulan perintah
}

Dari struktur di atas:

 Access modifier, untuk saat ini, gunakan saja access modifier


public.
 Tipe data, bisa berupa void atau tipe data C# lainnya, termasuk
enum atau class custom. Merupakan tipe data yang dihasilkan
method.
 Nama method, berupa suatu identifier yang valid.
 Parameter, sekumpulan variabel pada method untuk
berkomunikasi dengan program di luar method. Method juga
bisa tidak memiliki parameter.
 Kumpulan perintah, perintah perintah yang akan dijalankan
ketika method dipanggili.

Suatu method harus ditempatkan di dalam suatu class, Method adalah


salah satu bentuk dari member suatu class. Suatu method dipanggiil /
dijalankan dengan menuliskan namanya.

Method void
Suatu method void adalah suatu method yang hanya menjalankan
sekumpulan perintah dan tidak menghasilkan suatu nilai (Tetapi masih
dapat menampilkan sesuatu ke layar). Sebagai contoh:

1 namespace Belajar2 {
class Program {
2 static void Main(string[] args) {
3 ContohMethod met = new ContohMethod();

70
4 met.Pemisah(); //Akan menampilkan pemisah
5 }
}
6
7 public class ContohMethod {
8 public void Pemisah() {
9 Console.WriteLine("----------------------");
10 Console.WriteLine("----------------------");
}
11 }
12 }
13
14
15

Perintah return pada C#


Pada method void, suatu perintah return akan mengakhiri suatu
method seperti yang telah dijelaskan sebelumnya di bagian kondisi
pada C#. Bagi method dengan tipe data selain void, perintah return
harus menyertakan suatu nilai dengan tipe data yang sama dengan
tipe data method yang bersangkutan. Pada class ContohMethod,
tambahkan method berikut:

1
2 public void TampilBilanganRandom() {
Random r = new Random();
3 int angka = r.Next(1, 50);
4 if (angka > 25) {
5 Console.WriteLine("Terlalu panjang");
6 return;
7 }
for (int i = 1; i <= angka; i++) Console.Write(i + " ");
8 Console.WriteLine();
9 }
10
Jangan lupa panggil method tersebut pada method Main pada class
Program.

1 static void Main(string[] args) {


2 ContohMethod met = new ContohMethod();
3
4 met.TampilBilanganRandom();
5 met.Pemisah();
6
7 Console.ReadKey();
}
8
Method tersebut akan menampilkan sederet angka jika angka random
lebih kecil dari 25. Selain itu, ia hanya akan menampilkan "Terlalu
panjang". Tanpa perintah return, kode di atas masih akan terus
menampilkan angka angka setelah menampilkan "Terlalu panjang".
Tetapi dengan perintah return, aliran program akan keluar dari method
dan sisa kode pada method tersebut akan diabaikan.

71
Jika tipe data method bukan void, perintah return harus menyertakan
suatu nilai yang akan menjadi nilai method tersebut. Sebagai contoh,
tambahkan method berikut ke dalam class ContohMethod:

1
public int GaussianRandom() {
2 Random r = new Random();
3 int angka1 = r.Next(0, 10);
4 int angka2 = r.Next(0, 10);
5 int angka3 = r.Next(0, 10);
return angka1 + angka2 + angka3;
6 }
7
Untuk mencoba method tersebut, tambahkan pemanggilan
method GaussianRandom pada method Main, sehingga kodenya
menjadi:

1
static void Main(string[] args) {
2 ContohMethod met = new ContohMethod();
3
4 met.TampilBilanganRandom();
5 met.Pemisah();
6 Console.WriteLine(met.GaussianRandom());
7 met.Pemisah();
8
Console.ReadKey();
9 }
10
Topik mengenai random Gaussian berada di luar pembahasan kita.
Anggap saja sebagai bentuk lain dari random. Suatu method dengan
nilai return sebaiknya digunakan seperti suatu variabel seperti
ditunjukkan pada kode di atas.

Parameter method pada C#


Suatu method dapat mejadi lebih interaktif dengan parameter. Sebagai
contoh:

1 public int Max(int a, int b) {


2 if (a > b) return a; else return b;
3 }
Contoh perintah yang menggunakan method di atas sebagai berikut:

1 Console.WriteLine("Antara 2 dan 10, " + met.Max(2, 10) + " lebih besar");

Parameter optional pada C#


Parameter optional / pilihan, berarti nilai untuk parameter yang
bersangkutan dapat disertakan atau tidak disertakan. Kita dapat
mengubah method Max di atas agar dapat membandingkan dua atau
tiga nilai sekaligus:

72
1 public int Max(int a, int b, int c = Int32.MinValue) {
2 int max1 = (a > b) ? a : b;
3 return (c > max1) ? c : max1;
4 }
Sekarang, kita masih dapat menggunakan method tersebut dengan
hanya dua parameter, tetapikita juga dapat menggunakan method
tersebut dengan tiga parameter:

1 Console.WriteLine("Antara 2 dan 10, " + met.Max(2, 10) + " lebih besar");


2 Console.WriteLine("5, 8, dan 7, yang terbesar adalah: " + met.Max(5, 8, 7));
Untuk mendeklarasikan parameter opsional, kita cukup memberi nilai
default kepada parameter yang bersangkutan. Pada contoh di atas,
variabel c diberi nilai terkecil pada int, sehingga tidak akan
mempengaruhi hasil perbandingan ketika hanya dua parameter yang
diberikan. Perlu diketahui bahwa parameter-parameter opsional harus
diletakkan sebagai parameter-parameter terakhir.

Method overloading pada C#


Jika Anda mencoba memasukkan double sebagai parameter untuk
method Max di atas, akan timbul error. Kita dapat membuat method
lain dengan nama yang sama yang menerima parameter yang
berbeda. Sebagai contoh:

1 public double Max(double a, double b, double c = double.MinValue) {


2 double max1 = (a > b) ? a : b;
3 return (c > max1) ? c : max1;
4 }
Dengan begitu, method Max kita sudah mendukung tipe data double.

Parameter referensi pada C#


Suatu parameter sederhana yang dimasukkan ke dalam suatu method
nilainya akan tetap meskipun diubah di dalam method. Sebagai
contoh:

1 public void tukar(int a, int b) {


2 int sementara = a;
3 a = b;
4 b = sementara;
}
5
Jika kita gunakan method di atas:

1 int a = 1000;
2 int b = 50;
3 met.tukar(a, b);
4 Console.WriteLine(a); //masih 1000

73
Program masih akan menampilkan 1000. Akan tetapi apabila kita
menyatakan parameternya sebagai referensi:

1 public void tukar(ref int a, ref int b) {


2 int sementara = a;
3 a = b;
4 b = sementara;
}
5
Dan menggunakan methodnya juga dengan kata kunci ref:

1 int a = 1000;
2 int b = 50;
3 met.tukar(ref a, ref b);
4 Console.WriteLine(a); //Menampilkan 50
Program akan menampilkan 50 yang semulanya merupakan nilai
variabel b. Perlu diketahui juga bahwa variable yang dideklarasikan di
dalam suatu method akan hilang begitu alur program keluar dari
method.

Parameter out pada C#


Parameter Out menyediakan cara lain untuk menugaskan nilai ke
suatu variabel menggunakan method. Sebagai contoh:

1 public bool Kelipatan3(int a, out int terdekat) {


2 int mod = a % 3;
3 terdekat = (mod == 2) ? a + 1 : a - mod;
4 if (mod == 0) return true; else return false;
}
5
Method di atas sesungguhnya menghasilkan dua output. Pertama
adalah menentukan apakah angka yang bersangkutan merupakan
kelipatan 3 atau bukan. Kedua, method tersebut juga menghasilkan
faktor kelipatan 3 yang paling dekat dengan angka tersebut. Untuk
menggunakan method tersebut:

1 int angka = 7;
2 int terdekat;
3 bool BerupaFaktor = met.Kelipatan3(angka, out terdekat);
4 if (BerupaFaktor) Console.WriteLine(angka + " adalah kelipatan 3");
else Console.WriteLine(angka + " bukan kelipatan 3. Kelipatan terdekat: " + terde
5

Method rekursif pada C#


Suatu method dapat dipanggil dari method lain pada class yang sama
yang bukan method static (method static akan dijelaskan segera).
Sebagai contoh:

1 public void PemisahBesar() {

74
2 for (int i = 1; i <= 5; i++) Pemisah();
3 }
Method yang memanggil dirinya sendiri di dalam dirinya disebut
method rekursif. Sebagai contoh:

1 public int faktorial(int n) {


2 if (n <= 1) return 1;
3 return faktorial(n - 1) * n;
4 }
Silahkan coba panggil method di atas dengan
perintah Console.WriteLine("Factorial of 5: " + met.factorial(5));.
Program akan menampilkan 120 ke layar. Nilai 120 berasal dari:
faktorial(5)
faktorial(4) * 5
faktorial(3) * 4 * 5
faktorial(2) * 3 * 4 * 5
faktorial(1) * 2 * 3 * 4 * 5
1 * 2 * 3 * 4 * 5
120

Method static pada C#


Method static adalah method yang dapat diakses tanpa meng-
instantiate (membuat objek) suatu class. Method static dapat dipanggil
langsung dari class. Karena ia dapat dipanggil tanpa meng-instantiate
classnya, kata kunci "this" tidak dapat digunakan di dalam method
static. Class static juga tidak dapat memanggil method yang lain yang
berada pada class yang sama tanpa meng-instantiate class tersebut,
terkecuali method yang dipanggil juga suatu method static.
Kita sebetulnya dapat membuat method-method lain selain method
Main pada class Program kita. Tetapi kita tidak akan bisa memanggil
method tersebut dalam method main apabila method tersebut bukan
method static. Method static seperti method Main hanya dapat
memanggil method static lain di dalamnya. Sebagai contoh, buat
method berikut pada class Program:

1 public static void Ulang(char karakter, int jumlah) {


2 for (int i = 1; i <= jumlah; i++) Console.Write(karakter);
3 Console.WriteLine();
4 }
Dan panggil method tersebut pada method Main:

1 Ulang('*', 30);
Program akan menampilkan karakter bintang 30 kali. Apabila kita
mendeklarasikan method di atas pada class ContohMethod, kita
memanggil method tersebut dengan cara:

1 ContohMethod.Ulang('*', 30);

75
Praktikum 9
Exception Handling

A. Tujuan
Mahasiswa mampu menguasai pemahaman dan praktis Exception Handling

B. Teori
EXCEPTION HANDLING
Perintah penanganan kesalahan atau yang lebih dikenal dengan sebutan Exception
Handling Perintah ini digunakan untuk menangani kesalahan dalam menjalankan
aplikasi, dengan adanya perintah ini setiap kesahan akan diatasi secara otamatis sesuai
dengan perintah penanganan kesalahan yang telah dibuat, sehingga tidak terjadi
kemacetan aplikasi yang sedang berjalan.

Struktur Exception Handling


Struktur Exception Handling atau penanganan kesalahan pada visual basic 2008
antara lain :

Try … Catch … Finally … End Try


Merupakan perintah penanganan kesalahan yang berfungsi untuk menangani
kesalahan dalam menjalankan aplikasi. Bentuk penulisan :

Try
[ Perintah ]
Catch
[Tampilkan kesalahan]
Finally
[ Kode program setelah perintah Try dan Catch ]
End Try

Contoh :
Try
Dim X%
X = TxtAngka.Text
Catch ex As Exception
MsgBox(ex.ToString)
MsgBox(“Input angka saja”)
Finally
TxtAngka.Text=””
TxtAngka.Focus()
End Try

Throw
Throw merupaka perintah penanganan kesalahan yang berfungsi untuk menangani
kesalahan apabila perintah try…catch … Finally … End. Try tidak dapat menangani
suatu kesalahan dari jawaban aplikasi.

76
Contoh penulisan :

Try
[ Perintah ]
Catch ex As Exception
[Tampilkan kesalahan]
Throw ex
// mengembalikan ke kode pemanggil
Finally
[ Kode program setelah perintah Try dan Catch ]
Perintah ini bersifat optional bias dibuat bias tidak
End Try

Contoh :
Try
Dim X%
X = TxtAngka.Text
Catch ex As Exception
MsgBox(ex.ToString)
MsgBox(“Input angka saja”)
Throw ex
Finally
TxtAngka.Text=””
TxtAngka.Focus()
End Try

On Error Resume Next


Merupakan perintah penanganan kesalahan apabila terjadi kesalahan terhadap suatu
baris tertentu maka baris tersebut akan di abaikan.
Contoh :
On Error Resume Next
Dim A As Integer
X = TextBox1.Text
TextBox1.Text=”String”
MsgBox(ex.ToString)
MsgBox(“Abaikan Kesalahan”)

On Error Goto
Merupakan perintah penanganan kesalahan apabila terjadi kesalahan terhadap suatu
baris tertentu maka perintah akan melompat ke baris yang dituju akan dijalankan.
Contoh :
On Error Goto Pesan
Dim A As Integer
X = TextBox1.Text
TextBox1.Text=”String”
Exit Sub
Pesan :
MsgBox(“Abaikan Kesalahan”)

77
C. PRAKTIKUM

Latihan 1

1. Buat project baru, dengan namaPrak12.


2. Desain Tampilan form seperti gambar berikut ini :

3. Tambahkan kontrol ke form seperti pada gambar diatas dan atur propertinya
seperti tabel berikut:

Object Properties Nilai


Form1 Name Form1
Text Aplikasi Buka Gambar
OpenFileDialog1 Text ofdBuka
PictureBox1 Name PcbGambar
Button1 Name BtnBuka
Text Buka
Button2 Name BtnExit
Text Exit

4. Klik ganda pada Tombol Buka, kemudian ketik kode program berikut ini :
If OfdBuka.ShowDialog() = Windows.Forms.DialogResult.OK Then
Try
PcbGambar.Image = Image.FromFile(OfdBuka.FileName)
Me.Text = "Membuka File " + OfdBuka.FileName
Catch ex As Exception
MessageBox.Show("File Gagal dibuka", "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
EndTry
EndIf

5. Klik ganda pada tombol BtnExit, Kemudian ketikkan kode program berikut ini :

Dim Tutup AsString


Tutup = MessageBox.Show("Yakin tutup form ini ?", "Konfirmasi",
MessageBoxButtons.YesNo,MessageBoxIcon.Question)
If Tutup = MsgBoxResult.Yes Then
End
Else

78
ExitSub
EndIf

6. Jalankan aplikasi dengan menekan tombol F5 (di keyboard), atau melalui icon
Start Debugging di toolbar, atau melalui menu Debug > Start Debuging.
7. Simpan aplikasi Anda.

Latihan 2

1. TambahkanForm baru, dengan namaForm2.


2. Desain Tampilan form seperti gambar berikut ini :

3. Tambahkan kontrol ke form seperti pada gambar diatas dan atur propertinya
seperti tabel berikut:

Object Properties Nilai


Form1 Name Form1
Text Penanganan Kesalahan
TexBox1 Name TxtAngka
Button1 Name BtnProses
Text Proses

4. Double klik pada tombol BtnProses, kemudian ketik kode Program berikut ini :

Try
Dim X AsInteger
X = TxtAngka.Text
Do
X = X Mod 2
If X = 0 Then
MessageBox.Show("Bilangan Genap", "Informasi")
ExitDo
ElseIf X = 1 Then
MessageBox.Show("Bilangan Ganjil", "Informasi")
ExitDo
EndIf
LoopWhileNot X

Catch ex As Exception
MsgBox("Salah menginput data / input angka")
Finally
TxtAngka.Text=””
TxtAngka.Focus()
EndTry

5. Jalankan aplikasi dengan menekan tombol F5 (di keyboard), atau melalui icon
Start Debugging di toolbar, atau melalui menu Debug > Start Debuging.
Simpan aplikasi Anda
79
Praktikum 10
Pemrograman Database

A. Tujuan
Mahasiswa mampu menunjukkan langkah konfigurasi dan koneksi database MySql
untuk membangun aplikasi database menggunakan Microsoft Visual C#

B. Teori

Database pada C#
Berurusan dengan database pada C#, pada dasarnya kita memerlukan
paling tidak 4 dari class-class berikut:

 Connection untuk menghubungkan dengan database.


 Command untuk menjalankan query pada database.
 DataReader untuk mengenumerasi (membaca satu persatu)
hasil query dari database (sebagai DataRow).
 DataAdapter untuk mempermudah berbagai macam operasi
database, misalnya membaca data dari database ke aplikasi.
 DataTable untuk menyimpan data dari database dalam bentuk
tabel.
 DataSet untuk mengelola sekumpulan DataTable.

4 class pertama dari class-class di atas tidak benar-benar ada. Class-


class tersebut merupakan class yang spesifik terhadap database
tertentu. Sebetulnya class-class tersebut di atas merupakan class-class
turunan dari class induk masing-masing fungsi. Sebagai contoh, ketika
Saya menyebutkan class Connection di atas, tergantung dari jenis
databasenya, yang saya maksud adalah: OleDbConnection,
SqlConnection, MySqlConnection, OdbcConnection atau
NpgsqlConnection, yang merupakan class-class turunan dari class
DbConnection. Penggunaan class-class tersebut sangat mirip.
Perbedaan antara mereka, tentunya ada pada syntax SQL masing-
masin DBMS (DataBase Management System).

Download yang diperlukan untuk menggunakan MySQL pada


C#
Sejauh ini, Saya paling banyak menggunakan MySQL. Jadi untuk topik
database, kita akan menggunakan class-class: MySqlConnection,
MySqlCommand, MySqlDataReader, dan MySqlDataAdapter. Untuk itu,
pertama-tama kita memerlukan RDBMS (Relational DBMS) MySQL.
Anda bisa mendapatkan MySQL dari salah satu website di bawah ini:

80
 MySQL: Jika Anda hanya ingin menginstall MySQL
saja. http://dev.mysql.com/downloads/mysql/
 MariaDb: fork dari MySQL yang diprakarsai oleh pengagas
MySQL. https://mariadb.org/
 XAMPP: salah satu dari paket aplikasi WAMP (Windows Apache
MySQL PHP). Dianjurkan apabila Anda juga ingin mencoba
pemrograman
PHP. http://www.apachefriends.org/en/xampp.html
 Appserv: paket aplikasi WAMP lainnya. Bagus, tetapi tidak
dianjurkan karena sepertinya tidak diupdate
lagi. http://www.appservnetwork.com/

Dari pilihan di atas, lebih dianjurkan menggunakan MariaDB atau


XAMPP. Selain MySQL, kita juga memerlukan MySQL .NET Connector,
yang hanya tersedia
di: http://dev.mysql.com/downloads/connector/net/6.6.html#downloa
ds. Jika Anda menggunakan Visual Studio 2012 atau 2013, download
versi terbaru (6.7.4 atau di atasnya). Akan tetapi jika Anda masih
menggunakan Visual Studio 2010 seperti Saya, download versi 6.5.4
atau sub versinya. Versi-versi tersebut sesunguhnya tidak jauh
berbeda, saran tadi hanya agar dapat menggunakan Data Source
Configuration Wizard, apabila Anda ingin mencobanya sewaktu waktu.
Akan tetapi kita masih bisa terhubung ke MySQL tanpa wizard tesebut.
Perlu diketahui juga bahwa wizard tersebut tidak tersedia pada Visual
Studio 2010 Express.

Menambahkan reference ke MySQL pada C#


Dari menu bar, klik Project > Add Reference..., atau klik kanan pada
References pada Solution Explorer dan klik Add Reference... pada
context menu. Suatu window Add Reference akan tampil. Pada tab
.NET, cari MySql.Data dan klik OK.

81
Dengan ini, kita siap untuk berkerja dengan database pada C#. Perlu
diketahui juga apabila menggunakan database selain MySQL, bahwa
OleDb, SqlClient dan Odbc sudah tersedia pada namespace
System.Data, dan oleh karena itu, tidak perlu menambahkan reference
untuk menggunakan namespace tersebut.
C. Praktikum
Software yang dibutuhkan :
· Microsoft Visual Studio 2008 Express Edition
· MySQL 5
· MySQL Connector
Diinstal dulu pada laptop/PC.

Langkah-Langkah Teknis :
1. Buka Microsoft visual studio 2008, create new project. Pilih windows form
application, kemudian namakan projectnya sesuai dengan nama project yang anda
inginkan. Misalnya MenuUtama

82
2. Setelah selesai klik ok. Apabila sudah di klik ok, tampilan berikutnya seperti
dibawah ini.

83
Pada tampilan pojok kanan anda, ada bagian Solution Explorer.
3. Langkah berikutnya adalah kita membuat koneksi antara Visual C# dengan
MySQL. Dengan menambahkan reference MySQL ke Visual C#. Caranya pada
bagian Solution Explorer di pojok kanan anda klik kanan pada -> references project
anda, kemudian anda pilih -> add references -> pilih browse kemudian tambahkan
references mysql.data.dll.

84
4. Setelah berhasil menambahkan references mysql.data.dll ke Visual C#. Artinya
kita sudah dapat menampilkan data dari database MySQL menggunakan form Visual
C#.

Langkah-Langkah Menampilkan Data dengan DataGrid View berbasis MDI Form :


1. Pada menu toolbox pada pojok kiri, pilih All windows form. Pilih menustrip
klik tahan dan drag ke dalam form project anda.

2. Apabila berhasil, akan tampil seperti gambar dibawah ini. Menustrip disini
sebagai menu utama pada project yang anda buat. Menustrip tersebut dapat anda edit
sesuai dengan kebutuhan anda.

85
3. Setelah berhasil membuat menustrip. Berikutnya kita membuat form
menampilkan data yang ada menjadi form MDI. Caranya pada properties di pojok kiri
anda, pilihan IsMdiContainer diberikan nilai True.

86
4. Jika berhasil makan form menampilkan data yang anda buat akan tampak
seperti dibawah ini.

5. Setelah itu, kita membuat form yang baru untuk menampilkan data. Form yang
baru yang akan ditampilkan melalui menustrip yang sebelumnya sudah kita buat.
Yang pertama harus dilakukan adalah membuat sebuah form yang baru. Caranya pada
bagian Solution Explorer, klik kanan pada project anda -> pilih -> Add -> Windows
Form.

6. Muncul tampilan untuk rename nama form baru yang akan dibuat. Misalnya
namanya DataPelanggan, artinya form baru yang kita buat bernama form
DataPelanggan.

87
7. Jika berhasil maka pada tampilan form, anda akan diarahkan ke form baru yang
dibuat.

88
8. Tinggal sejenak Form Menu yang tadi kita buat. Berikutnya kita akan
menampilkan data pelaanggan yang ada dari dalam database MySQL ke form
DataPelanggan. Untuk menampilkan data dari MySQL ke Form data pelanggan,
terlebih dahulu kita membuat kelas untuk koneksi antara Visual C# dengan database
MySQL. Caranya dengan membuat sebuah kelas baru. Caranya sama dengan
membuat Form baru pada Solution Explorer, kemudian klik kanan pada nama project
anda pilih -> Add -> Class, kemudian muncul tampilan untuk rename nama kelas
yang baru anda buat.

9. Setelah selesai dibuat, pada Solution Explorer project anda akan terlihat
Koneksi.cs. Buka fila Koneksi.cs tersebut dengan cara klik 2x (dobel klik) pada file
tersebut.

89
10. Lengkapi source code nya dengan menambahkan sorce code dibawah ini :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MySql.Data.MySqlClient;

namespace IGO_SKRIPSI
{
class Koneksi
{
public static MySqlConnection getKoneksi()
{
String MyConString = "SERVER=localhost;"+
"DATABASE=komplain_puri;" +
"UID=root;" +
"PASSWORD=admin;";
return new MySqlConnection(MyConString);
}
}
}

PENTING! Pastikan nama database dan password pada MySql anda tulis dengan
benar. Harap diperhatikan pada :
- DATABASE : Ganti dan Tuliskan nama database yang anda buat.
- UID : root
- PASSWORD : Ganti dan Tuliskan sesuai dengan password MySQL anda.

11. Setelah selesai, kita kembali pada form DataPelanggan yang tadi kita buat. Pada
form DataPelanggan kita tambahkan datagridview. Caranya pada Toolbox -> All
Windows Form Pilih -> DataGridView klik dan tahan kemudian di drag kedalam
form DataPelanggan, sama seperti menambahkan menustrip.

90
12. Berikutnya kita mencoba menampilkan data pelanggan yang kita buat pada
database pada Form DataPelanggan. Caranya pada form DataPelanggan, klik kanan
dan pilih view code.

91
13. Maka, anda akan berhadapan dengan sorce code pada form DataPelanggan.
Tidak perlu panik dan bingung. Ikuti saja langkah-langkah pada tutorial ini.

14. Lengkapi source dengan menambahkan source dibawah ini :

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;

namespace ViewDataSBD
{
public partial class DataPelanggan : Form
{
public DataPelanggan()
{
InitializeComponent();
}

private void DataPelanggan_Load(object sender,EventArgs e)


{
MySqlConnection conn = Koneksi.getKoneksi();
MySqlCommand command = conn.CreateCommand();

92
command.CommandText = "SELECT * FROM tb_costumer";

conn.Open();
DataSet ds = new DataSet();
MySqlDataAdapter da = newMySqlDataAdapter(command);
da.Fill(ds, "data");
dataGridView1.DataSource = ds;
dataGridView1.DataMember = "data";
conn.Close();
}
}
}

15. Kemudian untuk menguji data pada database sudah bisa ditampilkan, dengan
cara menekan tombol F5 (Run Program). Akan tetapi form yang akan ditampilkan
duluan adalah form MenuUtama karena secara default visual C# akan menampilkan
form yang pertama kali dibuat pada saat running. Untuk mengujinya pada Solution
Explorer -> Program.cs anda rubah source codenye pada Application.Run(new
DataPelanggan), sesuai dengan nama form yang akan ditampilkan, pada contoh ini
adalah form kedua yang kita buat atau form DataPelanggan:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;

namespace ViewDataSBD
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new DataPelanggan());
}
}
}

16. Apabila langkah-langkah diatas sudah dilakukan dengan benar makan hasil dari
form data pelanggan pada aplikasi yang anda buat akan tampil seperti dibawah ini.

93
17. Berikutnya, kita akan menampilkan form DataPelanggan yang kita buat ini agar
ditampilkan pada form MenuUtama yang berbasis MDI Form. Pertama-tama kita
kembali dulu pada form MenuUtama. Pada menustrip View Data -> klik 2x(dobel
klik) Data Pelanggan, sehingga anda akan diarahkan pada source code menustrip data
pelanggan, seperti pada gambar dibawah ini :

18. Lengkapi source dengan menambahkan source dibawah ini :

94
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ViewDataSBD
{
public partial class MenuUtama : Form
{
public MenuUtama()
{
InitializeComponent();
}

private voiddataPelangganToolStripMenuItem_Click(object sender,EventArgs e)


{
Form datapelanggan = new DataPelanggan();
datapelanggan.MdiParent = this;
datapelanggan.Show();
}
}
}

19. Kemudian, coba jalankan form MenuUtama pada aplikasi, jangan lupa merubah
DataPelanggan menjadi MenuUtama pada langkah 15. Sehingga form yang pertama
kali di run adalah form MenuUtama. Apabila berhasil dan langkah-langkah yang anda
lakukan sudah benar akan tampak seperti gambar dibawah ini :

95
20. Lakukan langkah yang sama untuk menampilkan data-data lainnya dari database.
Pada contoh tutorial ini data yang ditampilkan adalah data pelanggan. Silahkan
menambahkan form yang lain misalnya seperti form DataTransaksi, DataBarang dan
lain sebagainya. Silahkan mengulangi langkah 5-19 untuk membuat form lain untuk
menampilkan data yang lain dengan cara yang sama.

D. Tugas Praktikum
Buatlah program perpustakaan berbasis database dengan menggunakan visual C# dan
mysql

96
DAFTAR PUSTAKA

Farrel, Joyce, 2011, Microsoft Visual C# 2010: An Introduction to Object-Oriented


Programming 4th Edition, Course Technology, Boston-USA

GNU Free Documentation License, 2002, C Sharp Programming, Free Software


Foundation, Inc., Free-USA.

K. Watson, C. Nagel, J.H. Pedersen, J. D. Reid, M. Skinner, 2010, Beginning Visual


C# 2010, Wiley Publishing, Inc., Canada

Sharp, Jhon, 2015, Step by Step Microsoft Visual C# 2013, Octal Publishing Inc.,
USA

P. Deitel, H. Deitel, 2014, Visual C# 2012 How To Program 5th Edition, Deitel and
Associates, Inc., USA

Doyle, Barbara, 2011, C# Programming: From Problem Analysis to Program Design,


Third Edition, Course Technology, Boston-USA

Petter Halvorse, Hans, 2016, Introduction to Visual Studio and C#, University
College of Southeast Norway, Norwegia

97

Anda mungkin juga menyukai