1 LSP Telematika Cover2 Daftar Isi Daftar Isi... 2 Kata Pengantar... 5 C Bab I Pengenalan C Konsep Kompilasi dan Eksekusi Progam Kerangka Program C Ko...
Daftar Isi Daftar Isi............................................................................................. 2 Kata Pengantar .................................................................................... 5 C++ ................................................................................................... 6 Bab I Pengenalan C++ ........................................................................ 7 1.1 Konsep Kompilasi dan Eksekusi Progam ......................................... 8 1.2 Kerangka Program C++ ............................................................... 8 1.3 Komentar /(Comment) .............................................................. 10 1.4 Fungsi Input dan Output ............................................................ 12 Soal Latihan ................................................................................... 14 Soal Praktek ................................................................................... 15 BAB II Dasar Pemrograman C++ ........................................................ 16 2.1 Identifier ................................................................................. 16 2.2 Konstanta ................................................................................ 17 2.3 Variabel................................................................................... 20 2.4 Tipe Data................................................................................. 25 2.5 Keyword pada C++ ................................................................... 30 2.6 Pointer dan Reference ............................................................... 30 Soal Latihan ................................................................................... 40 Soal Praktek ................................................................................... 40 BAB III Pemrograman Lanjut............................................................. 41 3.1 Operator.................................................................................. 41 3.2 Array ...................................................................................... 47 3.3 Struktur Percabangan................................................................ 56 3.4 Struktur Pengulangan................................................................ 61 3.5 Pemrograman Jaringan .............................................................. 66 Soal Latihan ................................................................................... 70 Soal Praktek ................................................................................... 70 BAB IV Pemrograman Berorientasi Objek ............................................. 71 4.1 Konsep Dasar OOP .................................................................... 71 4.2 Kelas dan Objek ....................................................................... 73 4.3 Pewarisan Sifat Objek................................................................ 76 4.4 Polimorfisme (Polymorphism) ..................................................... 82 4.5 Fungsi ...................................................................................... 83 Soal Latihan ................................................................................... 90 Soal Praktek ................................................................................... 90 Borland Delphi ................................................................................... 91 BAB I Borland Delphi Programming ..................................................... 92 1.1 Menjalankan Borland Delphi ....................................................... 93 1.2 Pemrograman dalam Lingkungan Visual ....................................... 98 Soal Latihan ..................................................................................101 BAB II Pemrograman Borland Delphi ..................................................103 2.1 Komentar Pada Kode ................................................................103 2.2 Identifier ................................................................................103 2.3 Kata Kunci (Reserved Word) dan Directive...................................103 2.4 Compiler Directive ...................................................................104 2.5 Unit .......................................................................................105 2.6 Initialization dan Finalization .....................................................107 2.7 Konstanta ...............................................................................109 2.8 Variabel..................................................................................110
LSP Telematika
2.9 Tipe Data..............................................................................111 2.10 Struktur Percabangan dan Pengulangan ....................................115 2.11 Array....................................................................................118 2.12 Pemrograman Berorientasi Objek .............................................119 Soal Latihan ..................................................................................122 Soal Praktek ..................................................................................122 BAB III FORM...................................................................................123 3.1 Property .................................................................................123 3.2 Bekerja dengan Banyak Form ....................................................126 3.3 Komponen Dalam Delphi...........................................................128 Soal Latihan ..................................................................................130 Soal Praktek ..................................................................................131 BAB IV Aplikasi Basis Data di Delphi ...................................................132 4.1 Tipe Database .........................................................................132 4.2 Aplikasi MyBase .......................................................................136 4.3 Manipulasi Data .......................................................................140 4.4 dbExpress...............................................................................144 Soal Latihan ..................................................................................146 Soal Praktek ..................................................................................147 Visual Basic .NET...............................................................................148 BAB I Pengenalan VB .NET ................................................................149 1.1 Apa itu VB .NET .......................................................................150 1.2 Fitur Baru dalam VB .NET.........................................................150 1.3 .NET Framework ......................................................................154 1.4 Lingkungan Pemrograman VB .NET............................................159 Soal Latihan ..................................................................................174 BAB II Forms dan Kontrol .................................................................176 2.1 Mengenal Kontrol.....................................................................176 2.2 Form Windows.........................................................................180 2.3 Aplikasi MDI (Multiple Document Interface) .................................185 2.4 Kotak Pesan dan Kotak Input.....................................................189 Soal Latihan ..................................................................................193 Soal Praktek ..................................................................................193 BAB III Pemrograman VB .NET ..........................................................194 3.1 Variabel..................................................................................194 3.2 Tipe Data dan Structure............................................................198 3.3 Operator.................................................................................200 3.4 Penanganan Kesalahan (Error Handling)......................................204 3.5 Alur Percabangan (Selection).....................................................206 3.6 Struktur Pengulangan (Iteration) ...............................................209 3.7 Debugging ..............................................................................213 3.8 COM dan ActiveX .....................................................................218 Soal Latihan ..................................................................................219 Soal Praktek ..................................................................................220 BAB IV Pemrograman Lanjut .............................................................221 4.1 Array .....................................................................................221 4.2 Prosedur dan Subrutin ..............................................................223 4.3 Fungsi ....................................................................................225 4.3 Pemrograman Berorientasi Objek ...............................................230 4.4 ADO .NET ...............................................................................252 Soal Latihan ..................................................................................258 Soal Praktek ..................................................................................258
LSP Telematika
Visual Basic ......................................................................................259 BAB I VISUAL BASIC .........................................................................260 1.1 Menjalankan Visual Basic ..........................................................261 1.2 Konsep...................................................................................265 Soal Latihan ..................................................................................267 BAB II Form dan Kontrol...................................................................269 2.1 Dasar-dasar Penggunaan Kontrol (Program “Hello World”) .............269 2.2 Menu dan Kotak Dialog .............................................................271 2.3 Menggunakan Objek Common Dialog ..........................................275 Soal Latihan ..................................................................................280 Soal Praktek ..................................................................................280 BAB III Pemrograman Visual Basic .....................................................282 3.1 Variabel..................................................................................282 3.2 Fungsi ....................................................................................291 3.3 Bekerja dengan Tipe Data Tertentu ............................................291 3.4 Operator.................................................................................294 3.5 Struktur Keputusan ..................................................................299 3.6 Struktur Perulangan .................................................................308 Soal Latihan ..................................................................................312 Soal Praktek ..................................................................................313 BAB IV Pemrograman Lanjut .............................................................314 4.1 Modul.....................................................................................314 4.2 Menulis Prosedur Function.........................................................318 4.3 Bekerja dengan Koleksi ............................................................324 4.4 Array .....................................................................................326 Soal Latihan ..................................................................................336 Soal Praktek ..................................................................................337 Jawaban Soal....................................................................................338 Daftar Pustaka ..................................................................................350
LSP Telematika
Kata Pengantar Jenis bahasa pemrograman yang berkembang dewasa ini salah satunya adalah bahasa pemrograman desktop. Beberapa bahasa yang termasuk jenis ini adalah C++, delphi, Visual Basic .NET dan Visual Basic. Buku ini akan membahas mengenai seluk beluk bahasa-bahasa tersebut, selain itu buku ini juga dilengkapi dengan tujuan serta tik akan diperoleh pembaca. Daftar tik yang dipenuhi oleh materi yang ada di buku ini adalah : TIK.PR02.002.01 Membuat algoritma pemrograman lanjut. TIK.PR02.003.01 Membuat struktur data. TIK.PR02.004.01 Menggunakan spesifikasi program. TIK.PR02.005.01 Menulis program dasar. TIK.PR02.006.01 Menulis program lanjut. TIK.PR02.008.01 Mengoperasikan pemrograman terstruktur. TIK.PR02.009.01 Mengoperasikan bahasa pemrograman berorientasi obyek. TIK.PR08.002.01 Membuat program aplikasi berbasis Delphi TIK.PR08.003.01 Membuat program aplikasi berbasis VB dan VB.NET TIK.PR08.001.01 Membuat program aplikasi berbasis C++ Sedangkan gambaran umum dari materi yang dibahas dalam buku ini ditunjukkan pada gambar di bawah ini :
Harapan penulis, kiranya buku ini akan berguna untuk memperdalam pengetahuan pembaca mengenai bahasa C++, Delphi, Visual Basic serta Visual Basic .NET. Penulis
LSP Telematika
C++
LSP Telematika
Bab I
Pengenalan C++
Tujuan Instruksional Umum : 1. Siswa dapat menyebutkan berbagai tipe data C++ 2. Siswa dapat menjelaskan fungsi dalam C++ 3. Siswa dapat menjelaskan konsep OOP Tujuan Instruksional Khusus : 1. Siswa dapat membuat program C++ 2. Siswa dapat membuat program C++ dengan operator 3. Siswa membuat program dengan fungsi Materi yang ada di bab ini memenuhi : TIK.PR02.002.01 Membuat algoritma pemrograman. TIK.PR02.003.01 Membuat struktur data. TIK.PR02.004.01 Menggunakan spesifikasi program. TIK.PR02.005.01 Menulis program dasar. TIK.PR02.006.01 Menulis program lanjut. TIK.PR02.008.01 Mengoperasikan bahasa pemrograman terstruktur. TIK.PR02.009.01 Mengoperasikan bahasa pemrograman berorientasi obyek. TIK.PR08.001.01 Membuat program aplikasi berbasis C++ Berikut ini adalah gambaran umum dari materi yang ada di bab ini :
LSP Telematika
Bahasa C++ didasarkan pada bahasa pemrograman C sehingga kita dapat melakukan kompilasi program-program yang ditulis dalam bahasa C dengan menggunakan Compiler C++. Keistimewaan dari bahasa C++ adalah karena bahasa ini mendukung pemrograman berarah objek atau yang lebih sering dikenal dengan istilah Object Oriented Programming (OOP). Sejak dikembangkan, bahasa C++ banyak digunakan untuk mengembangkan program-program aplikasi di bidang telekomunikasi, finansial atau bisnis dan sistem operasi.
1.1 Konsep Kompilasi dan Eksekusi Progam Berikut ini gambar yang mengilustrasikan proses kompilasi dan eksekusi program di dalam C/C++. kode program (source code) preprocessor compiler Kode assembly assembler library
Kode objek Link editor File EXE
1.2 Kerangka Program C++ Setiap program yang ditulis dalam bahasa C/C++ pasti akan memiliki sebuah fungsi utama dengan nama main(). Selanjutnya jika kita ingin mendefinisikan fungsi-fungsi lain maka kita akan melakukannya di luar fungsi utama
8
tersebut. Dalam C++, kode yang dibaca adalah kode-kode yang terdapat pada fungsi utama. Jika ternyata terdapat pemanggilan fungsi lain, maka progam akan mencari nama fungsi tersebut untuk dieksekusi. Setelah mengeksekusi fungsi tersebut, maka program akan kembali ke dalam fungsi utama, begitu seterusnya. Sebagai bahan perbandingan, dibawah ini akan diberikan kerangka umum yang ditulis dalam bahasa C++. Sintaks untuk fungsi utama dapat dilihat pada kode program berikut ini: int main(){ Statement_yang_akan_dilakukan; ... return 0; } Adapun kerangka lengkap dari program yang ditulis dalam C++ adalah seperti terlihat dibawah ini #include //Prototype fungsi tipe_data nama_fungsi1(parameter1, parameter2, tipe_data nama_fungsi2(parameter1, parameter2, ... //Fungsi utama int main(){ Statement_yang_akan_dilakukan; ... return 0; } tipe_data nama_fungsi1(parameter1, parameter2, Statement_yang_akan_dilakukan; ... } tipe_data nama_fungsi2(parameter1, parameter2, Statement_yang_akan_dilakukan; ... }
...) ...)
...){
...){
Perlu untuk diperhatikan bahwa file header yang digunakan dalam bahasa C++ untuk proses input/output(I/O) standar adalah iostream.h, sedangkan di dalam bahasa C file header yang digunakan untuk keperluan yang sama adalah stdio.h.
9
Berikut ini program sederhana yang ditulis dalam bahasa C++ (Cin_Cout.cpp) #include int main(){ int x; //menampilkan teks untuk informasi cout<< “Masukkan sebuah bilangan bulat:”; //membaca nilai dari keyboard dan //menyimpannya ke dalam variabel x cin>>x; //menampilkan nilai yang telah dimasukkan cout<< “Bilangan yang telah Anda masukkan adalah ” <<x; return 0; } Hasil yang akan diberikan dari program di atas adalah sebagai berikut: Masukkan sebuah bilangan bulat: 10 Bilangan yang telah Anda masukkan adalah 10
File header (file dengan ekstensi .h) adalah file yang berisi fungsi-fungsi dan telah dikompilasi sebelumnya. Apabila kita akan menggunakan suatu file header
tertentu,
maka
kita
akan
mendaftarkannya
melalui
directive
#include. Sebagai contoh, di kode program, kita akan menggunakan fungsi getch. Fungsi tersebut terdapat dalam file header conio.h, maka kita akan melakukan pendaftaran dalam program kita melalui sintaks berikut: #include Setiap kita menggunakan fungsi tertentu maka kita harus mendaftarkan file header-nya.
1.3 Komentar /(Comment) Dalam proses pengembangan sebuah program, tentunya kita disibukkan dengan penulisan sintaks-sintaks yang begitu banyak dan tampak rumit sehingga akan sulit untuk dipahami oleh orang lain. Untuk menangani masalah ini, sebagai programmer sebaiknya kita menambahkan komentar
10
untuk menjelaskan algortima dan keterangan-keterangan yang diperlukan dalam
program.
Hal
ini
akan
membantu
dalam
proses
pemeliharaan
(maintenance) dari program yang telah kita buat. Secara definisi, komentar adlaah bagian dari sintaks program yang tidak ikut dibaca pada saat proses kompilasi. Dengan kata lain, komentar tidak akan mempengaruhi jalannya program. Dalam bahasa C++, komentar dibagi menjadi dua jenis yaitu komentar yang hanya terdiri dari satu baris dan komentar yang terdiri dari beberapa baris. Berikut ini penjelasannya. Menggunakan tanda // Tanda ini digunakan untuk menuliskan komentar yang banyaknya hanya satu baris. Gaya penulisan komentar seperti ini hanya terdapat pada C++, sedangkan pada bahasa C tidak akan dikenali. Jika kita menggunakan tanda ini untuk menuliskan komentar yang lebih dari satu baris, maka teks di belakang tanda // tetap menjadi komentar tapi teks yang terdapat pada baris selanjutnya akan tetap dibaca oleh compiler sehingga akan menyebabkan terjadinya kesalahan (error) pada saar proses kompilasi program. Berikut ini adalah contoh penggunaannya. //Ini adalah komentar untuk satu baris Namun perhatikan, bagaimana jika komentar di atas dituliskan seperti berikut: //Ini adalah komentar untuk satu baris Penulisan di atas akan menyebabkan kesalahan, karena teks “untuk satu baris” tidak akan dianggap sebagai komentar melainkan akan dianggap sebagai tiga buah identifier yang tidak dikenal. Menggunakan tanda /*...*/ Berbeda dengan tanda //, tanda ini dapat digunakan untuk menuliskan komentar yang banyaknya satu baris atau lebih. Komentar dimulai dari tanda /* sampai ditemukan tanda */. Contoh penggunaannya dapat dilihat di bawah ini: /* Ini adalah komentar yang banyaknya satu baris*/ /* Ini adalah komentar panjang yang banyaknya
11
lebih dari satu baris*/ Dengan menggunakan tanda ini kita juga dapat menggunakan komentar yang berupa sisipan. Misalnya pada penulisan sintaks di bawah ini: int /* file ini digunakan untuk proses I/O pada C++*/ x;
1.4 Fungsi Input dan Output Cin dan Cout Cin merupakan suatu stream yang akan merespon proses input yang dilakukan. Stream ini hanya tersedia jika kita memasukkan file header iostream.h di dalam program yang kita buat. Adapun operator yang digunakan adalah operator >>. Dalam C++, untuk melakukan output ke peralatan standar, yaitu layar (screen) adalah dengan cara menggunakan stream cout. Adapun operator yang digunakan adalah operator <<. Operator ini juga telah di overload sehingga dapat digunakan untuk berbagai macam tipe data. Sebagai contoh, berikut ini contoh program yang menunjukkan penggunaan stream cin dan cout. Cin_Cout2.cpp #include int main(){ int x,y,z; cout<<”Masukkan nilai x: ”; cin>>x; cout<<”Masukkan nilai y: ”; cin>>y; cout<<”Masukkan nilai z: ”; cin>>z; cout<<”Nilai cout<<”Nilai cout<<”Nilai return 0; Input dan Output
x : ”<<x<<endl; y : ”<
}
12
Dalam bahasa C++, kita membuka file dengan menghubungkannya dengan sebuah
stream.
Setelah
mendeklarasikan
variabel
stream,
langkah
selanjutnya adalah menghubungkannya ke file dengan cara memanggil fungsi open. Untuk membaca dan menuliskan teks ke file sama mudahnya dengan melakukan input dan output terhadap I/O console dengan
menggunakan
stream yang kita deklarasikan sendiri dan telah terhubung dengan sebuah file. Berikut ini adalah contoh kode untuk membuat sebuah file : ReadFile.cpp #include #include int main() { // Mendeklarasikan strem untuk proses output ofstream output; output.open(“coba.txt”); // Melakukan pencegahan terhadap terjadinya error if(!output) { cout<<”File tidak dapat dibuka”; return 1; } // Menuliskan teks ke dalam file tersebut output<<”Menulis ke sebuah file”; // Menutup file output.close(); return 0; } Untuk melakukan proses penulisan dan pembacaan data, kita menggunakan fungsi put dan get. Fungsi put untuk menuliskan data sedangkan fungsi get untuk membaca data. Untuk data biner, terdapat cara lain untuk proses penulisan dan pembacaan yaitu dengan fungsi write dan read.
Berikut ini
adalah contoh kode untuk penggunaan fungsi put dan get : ReadWrite.cpp #include #include int main() { ofstream output; ifstream input;
13
output.open("h:/test.txt"); if(!output ) { cout<<"File tidak dapat dibuka"; return 1; } int C = 65; while(char(C) <= 'Z') { output.put(char(C)); C++; } output.close(); input.open("h:/test.txt"); if(!input) { cout<<"File tidak dapat dibuka"; return 1; } char B; while(input) { input.get(B); if(input) cout<
Soal Latihan 1. Sebuah fungsi yang akan ada di setiap program C++ dinamakan fungsi : a. compile() b. count() c. directive() d. main() 2. Untuk menuliskan komentar yang panjangnya hanya satu baris dengan simbol: a. //
14
b. /* .... */ c. << d. 3. fungsi Cin dan Cout dapat digunakan jika file .... diikutsertakan dalam program: a. conio.h b. iostream.h c. stdio.h d. stdlib.h
Soal Praktek
4. Buatlah sebuah program C++ yang menerima input berupa umur user dan menampilkan kembali input dari user. 5. Buatlah sebuah file yang berisi nama-nama buah kemudian buat program C++ untuk menampilkan isi file tersebut.
15
BAB II
Dasar Pemrograman C++
2.1 Identifier Identifier adalah suatu pengidentifikasian yang berfungsi untuk menampung sebuah nilai yang digunakan dalam program. Identifikasi ini dilakukan untuk mempermudah
proses
penanganan
data
atau
nilai,
misalnya
untuk
memasukkan dan menampilkan nilai. Sebagai gambaran, di bawah ini adalah sebuah contoh program yang menggunakan dua buah identifier di dalamnya.
#include int main() { char Teks[20]; int x; cout<<”Masukkan sebuah kata cin>>Teks;
:”;
cout<<”Masukkan sebuah angka :”; cin>>x; //bisa ditulis dengan cout<<x<<’\n’; cout<<x; return 0; }
Pada program di atas kita mempunyai dua buah identifier, yaitu Teks dan x. Pada saat program dijalankan, identifier tersebut akan digunakan untuk menyimpan nilai yang dimasukkan dari keyboard. Dalam C++, proses penyimpanan nilai seperti ini dinyatakan dengan statemen cin. Berbeda dengan statemen cout yang menggunakan operator <<, pada statement cin operator yang digunakan adalah operator >>. Dalam menentukan atau membuat identifier dalam program, kita harus memperhatikan hal-hal berikut: 1. Karena bahasa C++ bersifat case sensitive, maka C++ juga akan membedakan variabel yang ditulis dengan huruf kapital dan huruf kecil. Misalnya variabel A tentunya akan berbeda dengan variabel a.
16
2. Identifier tidak boleh berupa angka atau diawali dengan karakter berupa angka Contoh:
long 1000; //SALAH karena identifier berupa angka long 2x; // SALAH karena identifier diawali oleh karakter berupa angka long x2; //BENAR karena identifier tidak diawali oleh angka
3. Identifier tidak boleh mengandung spasi Contoh:
int Bilangan Bulat; //SALAH karena identifier mengandung spasi int Bilangan_Bulat; //BENAR int BilanganBulat; //BENAR int _BilanganBulat; //BENAR
4. Identifier tidak boleh menggunakan karakter-karakter simbol (#, @, ?, !, $, dll) Contoh:
long!satu; // SALAH long dua@; //SALAH long ti#ga; // SALAH
5. Identifier tidak boleh menggunakan kata kunci (keyword) yang terdapat pada C++. Contoh:
long break; // SALAH karena menggunakan keyword break long return; // SALAH karena menggunakan keyword return
6. Nama identifier sebaiknya disesuaikan dengan kebutuhannya, artinya jangan sampai orang lain bingung hanya karena salah dalam penamaan identifier. Sebisa mungkin, hindarilah penggunaan nama identifier yang sama dengan identifier yang digunakan oleh C++. Berdasarkan jenisnya, identifier sendiri dibagi ke dalam dua bagian yaitu konstanta dan variabel. Adapun penjelasan lebih detilnya dapat Anda dapat lihat pada sub bab berikut ini.
2.2 Konstanta Konstanta adalah jenis identifier yang bersifat konstan atau tetap, artinya nilai dari konstanta di dalam program tidak dapat diubah. Konstanta berguna
17
untuk menentukan nilai yang merupakan tetapan,
misalnya nilai phi,
kecepatan cahaya dan lainnya. Dengan mendefinisikan konstanta yang bersifat global, maka kita dapat menggunakannya di setiap bagian program. Dengan C++, terdapat dua buah cara untuk membuat sebuah konstanta, yaitu
dengan
menggunakan
preprocessor
directive
#define
dan
menggunakan keyword const. 1. Menggunakan Preprocessor Directive #define Kita dapat menggunakan makro untuk mendefinisikan sebuah konstanta, yaitu
dengan
mengetahui
menggunakan
lebih
jauh
preprocessor
tentang
manfaat
directive
#define.
penggunaan
Untuk
konstanta,
perhatikan program di bawah ini. #include int main(){ int A[5]; for (int C=0; C<5;C++){ A[C] = C * 10; } for (int c=0;c<5;c++){ cout<
#include