MODUL PRAKTIKUM
PEMROGRAMAN VISUAL
PENYUSUN TIM LABORAN
FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SUMATERA UTARA MEDAN 2017
MODUL PRAKTIKUM
Mata Kuliah Praktikum Kode Mata Kuliah Praktikum SKS Program Studi Semester
: Praktikum Basis Data : 010701017 :1 : Ilmu Komputer : 3 (Ganjil)
DISAHKAN OLEH
DIPERIKSA OLEH
DISUSUN OLEH
DEKAN FAKULTAS SAINS DAN TEKNOLOGI UIN SUMATERA UTARA MEDAN :
KEPALA LABORATORIUM
LABORAN LABORATORIUM FAKULTAS SAINS DAN TEKNOLOGI UIN SUMATERA UTARA MEDAN :
Dr. H.M. Jamil, MA
Rakhmat Kurniawan R, M.Kom
Ibnu Rusydi, 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 eventdriven, 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 ClassClass 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 kendalikendali
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
mempermudah
kendali Anda
dari Toolbox ke dalam Form.
memposisikannya
di
manapun
Hal
itu dapat
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 propertipropertinya 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 } else if (kondisi2) { //Perintah ketika kondisi 2 } else if (kondisi3) { //Perintah ketika kondisi 3 } else { //Ketika semua kondisi lain }
terpenuhi terpenuhi terpenuhi 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 blokblok 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 1. Form 2
PictureBox (1)
3.
PictureBox (2)
4.
PictureBox (3)
5.
PictureBox (4)
6.
ComboBox
Nama Properties (Name) Text (Name) SizeMode Size (Name) SizeMode Size (Name) SizeMode Size (Name) SizeMode Size (Name) Items
Nilai frPilih Pemilihan Gambar pbPemain StretchImage 315, 234 pbIbra StretchImage 40, 40 pbInza StretchImage 40, 40 pbRonal StretchImage 40, 40 cbPemain Z. Ibrahimovic F. Inzaghi C. Ronaldo
ketikkan kode berikut: using using using using
System; using System.Collections.Generic; System.ComponentModel; using System.Data; System.Drawing; using System.Linq; 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 Form1 Label1 ComboBox1 ComboBox2 ComboBox3
Properties Name Text Text Name Name Name
Nilai Form1 Perulangan FOR Tgl/Bln/Thn CmbTgl CmbBln 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 Form1 Label1 Label2 TextBox1 ListBox1 Button1
Properties Name Text Text Text Name Name Name Text
Nilai Form1 Perulangan WHILE Batas Tampilkan TxtBatas ListBox1 Button1 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 Form1 Label1 TextBox1 Button1
Properties Name Text Text Name Name Text
Nilai Form1 Perulangan DO WHILE … LOOP Angka TxtAngka Button1 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 Form5 Button1 Button2 Button3
Properties Name Text Name Text Name Text Name Text
Nilai Form5 Perulangan FOR EACH … IN…NEXT Button1 Button1 Button2 Button2 Proses 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 Form1 Label1 Label2 Label3 TexBox1 TexBox2 TexBox3 ListView1 Button1
Properties Name Text Text Text Text Name Name Name Name Name Text
Nilai Form1 Array Satu Dimensi NIM Nama Prodi TxtNIM TxtNama TxtProdi ListView1 BtnTambah 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 Form1 Label1 Label2 Label3 Label4 TexBox1 TexBox2 Combo1
Properties Name Text Text Text Text Text Name Name Name
Nilai Form1 Array Multi Dimensi NIM Nama Kelamin Prodi TxtNIM TxtNama CmbKelamin
62
Combo2 ListView1 Button1
Name Name Name Text
CmbProdi ListView1 BtnProses 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] { //Member-member pada class 2 } 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 namespace Belajar1 { 3 class Program { 4 static void Main(string[] args) { 5 6 } 7 } 8 9 public class Mobil { public double kecepatan; 10 public double bensin; 11 public double posisi; 12 public string nama; 13 14 public void percepat() { this.kecepatan += 10; 15 this.bensin -= 5; 16 } 17 public void maju() { 18 this.posisi += this.kecepatan; 19 this.bensin -= 2; } 20 public void isiBensin(double bensin) { 21 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 [nama class] [nama field2=nilai2, ... [nama class] [nama
objek] = new [nama class](); objek] = new [nama class]() { field1=nilai1, }; 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 2 3
class Program { static void Main(string[] args) { Mobil SuatuMobil = new Mobil(); Mobil MobilSaya = new Mobil() { nama = "Ferrari", kecepatan = 0, bensin = 30
67
MobilSaya.Percepat(); 4 Console.WriteLine(SuatuMobil.nama); 5 Console.WriteLine(SuatuMobil.bensin); 6 7 Console.WriteLine(MobilSaya.nama); 8 Console.WriteLine(MobilSaya.bensin); Console.ReadKey(); 9 } 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; this.bensin = bensin; 4 this.posisi = 0; 5 } 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: Mobil MobilAnda = new Mobil("Lamborghini", 300, 50000); 1 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; this.bensin = 0; 4 this.posisi = 0; 5 } 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 benarbenar 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 2 3
~Mobil() { Console.WriteLine("Mobil " + nama + " telah dihancurkan"); }
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 2 3
namespace Belajar2 { class Program { static void Main(string[] args) { ContohMethod met = new ContohMethod();
70
4 5 6 7 8 9 10 11 12 13 14 15
met.Pemisah(); //Akan menampilkan pemisah } } public class ContohMethod { public void Pemisah() { Console.WriteLine("----------------------"); Console.WriteLine("----------------------"); } } }
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 public void TampilBilanganRandom() { 2 Random r = new Random(); 3 int angka = r.Next(1, 50); 4 if (angka > 25) { 5 Console.WriteLine("Terlalu panjang"); return; 6 } 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(); met.Pemisah(); 5 6 Console.ReadKey(); 7 } 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); int angka2 = r.Next(0, 10); 4 int angka3 = r.Next(0, 10); 5 return angka1 + angka2 + angka3; 6 } 7 Untuk mencoba method tersebut, method GaussianRandom pada method menjadi:
tambahkan pemanggilan Main, sehingga kodenya
1 static void Main(string[] args) { 2 ContohMethod met = new ContohMethod(); 3 4 met.TampilBilanganRandom(); 5 met.Pemisah(); Console.WriteLine(met.GaussianRandom()); 6 met.Pemisah(); 7 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) { if (a > b) return a; else return b; 2 } 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; return (c > max1) ? c : max1; 3 } 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"); Console.WriteLine("5, 8, dan 7, yang terbesar adalah: " + met.Max(5, 8, 7)); 2 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; return (c > max1) ? c : max1; 3 } 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; a = b; 3 b = sementara; 4 } 5 Jika kita gunakan method di atas: 1 2 3 4
int a = 1000; int b = 50; met.tukar(a, b); 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; a = b; 3 b = sementara; 4 } 5 Dan menggunakan methodnya juga dengan kata kunci ref: 1 int a = 1000; 2 int b = 50; met.tukar(ref a, ref b); 3 Console.WriteLine(a); //Menampilkan 50 4 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; terdekat = (mod == 2) ? a + 1 : a - mod; 3 if (mod == 0) return true; else return false; 4 } 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 2 3 4 5
int angka = 7; int terdekat; bool BerupaFaktor = met.Kelipatan3(angka, out terdekat); if (BerupaFaktor) Console.WriteLine(angka + " adalah kelipatan 3"); else Console.WriteLine(angka + " bukan kelipatan 3. Kelipatan terdekat: " + terde
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
for (int i = 1; i <= 5; i++) Pemisah(); 2 } 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; return faktorial(n - 1) * n; 3 } 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 menginstantiate (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); Console.WriteLine(); 3 } 4 Dan panggil method tersebut pada method Main: Ulang('*', 30); 1 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 Form1 OpenFileDialog1 PictureBox1 Button1 Button2
Properties Name Text Text Name Name Text Name Text
Nilai Form1 Aplikasi Buka Gambar ofdBuka PcbGambar BtnBuka Buka BtnExit 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 Form1 TexBox1 Button1
Properties Name Text Name Name Text
Nilai Form1 Penanganan Kesalahan TxtAngka BtnProses 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. Classclass 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 masingmasin 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. /// [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