• Tidak ada hasil yang ditemukan

Bahasa Pemrograman C++ Builder

N/A
N/A
Protected

Academic year: 2021

Membagikan "Bahasa Pemrograman C++ Builder"

Copied!
45
0
0

Teks penuh

(1)

TUGAS MIKROPROSESSOR

Judul : Bahasa Pemrograman C++ Builder

Nama Kelompok : Achmad Zulkifli 0611 3031 0145

Juang Haikal Pasha 0611 3031 0157

Kelas : 3 LA

(2)

BAB I

PENDAHULUAN

Pemrograman visual menerapkan konsep event-driven yaitu suatu program yang pengeksekusiannya didasarkan atas kejadian (event) tertentu. Kejadian-kejadian itu sendiri, mempunyai kode program sendiri yang disimpan dalam sebuah fungsi.

Pada dasarnya, konsep pemrograman visual ini sama dengan pemrograman procedural, yaitu pemrograman yang memiliki input, proses dan output. Namun, ada satu penambahan yang berbeda, yaitu konsep pemilihan untuk mengeksekusi proses programnya. Konsep inilah yang digunakan untuk menjalankan eventnya.

C++ Builder, merupakan bahasa pemrograman yang berkemampuan luas dan sangat canggih yang didukung oleh object-object yang sangat kuat, canggih dan lengkap. Hal itu dimaksudkan agar pengguna dapat lebih mudah dalam merancang, membuat dan menyelesaikan aplikasi yang diinginkan.

I.1 Pengertian Pemrograman Berorientasi Objek (Object Oriented Programming)

Object Oriented Programming (OOP) adalah suatu metode dalam pembuatan program, dengan tujuan untuk menyelesaikan kompleksnya berbagai masalah program yang terus meningkat. Ada dua bagian penting dalam Object Oriented Programming yaitu properties dan event. Properties memiliki nama dan nilai, sementara event hanya memiliki nama dan biasanya berhubungan dengan method, behavior, function dan action.

Dalam melakukan pemecahan masalah Object Oriented Programming tidak memandang bagaimana cara memecahkan suatu masalah secara terstruktur, melainakn bagaimana suatu masalah itu dapat diselesaikan dengan menentukan objek-objek apa saja yang dapat memecahkan masalah tersebut.

I.2 Konsep Dasar Pemrograman Berorientasi Objek

Konsep dasar Object Oriented Programming lebih menekankan pada konsep-konsep berikut ini:

I.2.1 Kelas

Merupakan kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Misalnya kelas rumah yang menunjuk pada

(3)

berbagai macam objek yang lebih umum dari rumah itu sendiri (gambaran secara umum).

I.2.2 Objek

Merupakan dasar dari sebuah modul dan struktur dalam sebuah program komputer yang berorientasi objek. Misalnya dari kelas rumah tadi yang dapat kita definisikan secara lebih spesifik dan mendetail, sesuai dengan ciri fisik yang nyata dari objek tersebut.

I.2.3 Abstraksi

Merupakan kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya atau kemampuan untuk mefokus pada inti. Setiap objek dalam sistem melayani sebagai model dari pelaku abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem.

I.2.4 Enkapsulasi

Merupakan sebuah metode yang memastikan pengguna tidak dapat mengubah sebuah objek secara leluasa, hanya metode dalam objek tersebut yang diizinkan untuk mengakses keadaannya. Dalam kata lain mengontrol hak akses pengguna dalam melakukan perubahan pada suatu objek. Karena antara objek yang satu dengan yang lainnya itu saling berinteraksi.

(4)

BAB II

BAHASA PEMROGRAMAN C++ BUILDER

Sebelum membahas mengenai komponen- komponen standar dalam pemrograman Visual dengan C++ builder. Sekilas mengenai lingkungan C++ builder. C++ Builder merupakan suatu bahasa pemrograman visual dan berorientasi obyek. Tidak hanya C++ Builder, di pasaran juga terdapat Visual Basic (VB), Visual C++, Delphi, FoxPro, dan lain-lain. Struktur dan sintak bahasa pemrograman C++ Builder mirip dengan bahasa C/C+ +. Bagi Anda yang pernah mengenal C/C++ mudah-mudahan lebih cepat menguasai C++ Builder. Sesuai namanya WINDOWS, maka ciri khas aplikasi under WINDOWS adalah adanya window-window atau jendela.

Borland C++ Builder 6 memiliki fasilitas-fasilitas yang penuh dalam mendukung pengembang software sistem informasi, selain mampu untuk aplikasi-aplikasi yang 6 sederhana, ia juga mampu untuk pengembangan softaware yang berorientasikan database standalone (tunggal) maupun client-server (database jaringan).

Sampai saat ini, pembuatan aplikasi visual dengan menggunakan bahasa C++ masih merupakan sebuah mimpi buruk bagi para programmer, karena di dalamnya banyak menuntut pembuatan file-file library yang sangat rumit. Namun sekarang Borland C++ Builder 6 telah mengembangkan aplikasi visual secara mudah dan cepat dimengerti.

C++ diciptakan oleh Bjarne Stroustrup di laboratorium Bell pada awal tahun 1980-an, sebagai pengembangan dari bahasa C. Saat ini, C++ merupakan salah satu bahasa yang paling populer untuk pengembangan software berbasis OOP. Kompiler untuk C++ telah banyak beredar di pasaran. Software developer yang paling diminati adalah Borland Inc. dan Microsoft Corp. Produk dari Borland untuk kompiler C++ adalah Turbo C++, Borland C++, Borland C++ Builder. Sedangkan dari Microsoft adalah Ms. Visual C++. Walaupun banyak kompiler yang tersedia, namun pada intinya bahasa pemrograman yang dipakai adalah C++. Sebelum mulai melakukan kode program, sebaiknya diingat bahwa C++ bersifat “case sensitive”, yang artinya huruf besar dan huruf kecil dibedakan.

Sebuah fungsi pada C++ pada umumnya berisi sejumlah pernyataan C++ yang dikemas dalam sebuah nama, dan nama ini dapat dipanggil beberapa kali dalam suatu kode C++.

(5)

dapat dipakai berulang-ulang bahkan oleh programmer lain yang tidak mengerti cara kerjanya tapi tahu cara pakainya saja, jadi detil detil yang rumit, yang merupakan bagian operasi dari program, dapat disembunyikan (prinsip ini dikenal dengan information hiding). Dengan dipecah menjadi beberapa fungsi maka pembuatan program menjadi lebih mudah karena kesalahan-kesalahan yang terjadi terlokalisir dalam masing-masing fungsi. Juga organisasi program menjadi lebih baik karena tugas dari fungsi utama main() menjadi sangat sederhana yaitu melakukan pemanggilan dari fungsi-fungsi ini mengikuti urutan yang dikehendaki. Masing-masing fungsi melakukan tugasnya, setelah selesai lalu kembali ke main(). Pemecahan program menjadi fungsi-fungsi ini dikenal sebagai modular programming atau pemrograman tersetruktur.

Fungsi-fungsi dalam C++ pada umumnya mempunyai sifat-sifat sebagai berikut: Masing-masing fungsi mempunyai nama, aturan penamaan fungsi sama seperti penamaan variabel. Nama fungsi ini diikuti sepasang tanda kurung yang oleh C++ dipakai untuk membedakan fungsi dengan variabel. Dalam tanda kurung ini dapat berisi argumen-argumen fungsi tersebut. Jika fungsi ini tidak memerlukan argumen maka dalam tanda kurung ini tidak berisi apa-apa. Jika fungsi memerlukan argumen maka argumen-argumennya dapat berupa variabel-variabel dari berbagai tipe, antara argumen yang satu dengan argumen yang lain dipisahkan dengan koma.

Badan dari masing-masing fungsi, mulai segera setelah tanda kurung tutup dari nama fungsi, harus dimulai dengan tanda kurung { dan diakhiri dengan tanda kurung }. Badan dari fungsi ini berisi deklarasi variabel-variabel dan penyataan-pernyataan.

Fungsi secara umum akan dibagi menjadi dua yaitu fungsi yang tidak memiliki keluaran formal (void function) dan fungsi yang memiliki keluaran formal. Void function ini pengertiannya sama dengan prosedur di bahasa pemrograman pascal dan clipper.

C++ memperbolehkan pemanggilan fungsi oleh kode program yang ditulis sebelum fungsi yang dipanggil di buat. Untuk pemanggilan fungsi seperti ini maka fungsi tersebut harus memiliki prototipe. Prototipe diletakan di bagian awal program sehingga walaupun fungsi tersebut belum ditulis tetapi namanya sudah dikenal terlebih dahulu.

Sebelum digunakan (dipanggil), suatu fungsi harus dideklarasikan terlebih dahulu. Pendeklarasiannya yaitu :

Tipe_fungsi nama_fungsi(parameter_fungsi) {

(6)

statement }

2.1 HAL-HAL YANG PERLU DIPERHATIKAN DALAM PENGGUNAAN FUNGSI :

1. Kalau tipe fungsi tidak disebutkan, maka akan dianggap sebagai fungsi dengan nilai keluaran bertipe integer.

2. Untuk fungsi yang memiliki keluaran bertipe bukan integer, maka diperlukan pendefinisian penentu tipe fungsi.

3. Untuk fungsi yang tidak mempunyai nilai keluaran maka dimasukkan ke dalam tipe void

4. Pernyataan yang diberikan untuk memberikan nilai akhir fungsi berupa pernyataan return.

5. Suatu fungsi dapat menghasilkan nilai balik bagi fungsi pemanggilnya.

Contoh fungsi tanpa keluaran untuk mengkuadratkan bilangan-bilangan bulat adalah sebagai berikut:

void hitung_pangkat3(int n) {

int pangkat3= 0; kuadrat = n * n;

cout << "pangkat 3 dari " << n << " adalah "<< pangkat3<< "\n"; return;

}

Dalam C++, argumen-argumen dari fungsi dapat mempunyai harga default. Jika pada saat fungsi yang mempunyai default argumen ini dipanggil namun argumennya dihilangkan maka kompiler otomatis akan memakai nilai default dari argumen yang dihilangkan tersebut. Jika pada saat dipanggil argumennya diisi maka isi ini yang dipakai. Default argumen ini

membuat program menjadi lebih fleksibel, argumen-argumen yang nilai defaultnya tidak perlu diubah tidak perlu diisi namun ada aturan yang perlu diperhatikan.

Bila kita menghilangkan argumen yang pertama maka argumen-argumen selanjutnya juga harus dihilangkan. Kita dapat menghilangkan argumen yang kedua dan mengisi argumen yang pertama. Aturan ini tidak terikat padajumlah argumen. Secara umum aturannya adalah kalau kita

(7)

2.2 STRUKTUR BAHASA C++

Struktur penulisan bahasa C dapat dilihat dari contoh berikut : // komentar …

#include #include void main () {

cout << "Program Pertama"; cout << "Selamat Belajar C++"; getch();

}

Program di atas, misalnya dapat disimpan dengan nama latih1.cpp. Cara untuk menyimpan dan mengkompile program berbeda-beda, tergantung kompiler yang dipakai. Ketika di-run, maka di layar akan muncul sebuah tulisan

“Selamat Belajar C++”. // Komentar

merupakan sebuah baris komentar. Semua baris, yang ditandai dengan dua buah tanda slash (//), akan dianggap sebagai baris komentar dan tidak akan berpengaruh pada hasil. Biasanya, baris komentar dipakai oleh programmer untuk memberikan penjelasan tentang program.

Baris komentar dalam C++, selain ditandai dengan (//) juga dapat ditandai dengan (/*….*/) ini digunakan apabila komentar tersebut lebih dari satu baris

#include

pernyataan yang diawali dengan tanda (#) merupakan pernyataan untuk menyertakan preprocessor. Pernyataan ini bukan untuk dieksekusi. #include berarti memerintahkan kompiler untuk menyertakan file header iostream.h. Dalam file header ini, terdapat beberapa fungsi standar yang dipakai dalam proses input dan output. Seperti misalnya perintah cout yang dipakai dalam program utama.

void main ()

baris ini menandai dimulainya kompiler akan mengeksekusi program. Pernyataan main sebagai penanda program utama. Adalah suatu keharusan, dimana sebuah program yang ditulis dalam bahasa C++memiliki sebuah main. main diikuti oleh sebuah tanda kurung () karena main merupakan sebuah fungsi. Dalam bahasa C++ sebuah fungsi harus diikuti dengan tanda (), yang nantinya dapat berisi

(8)

argumen. Dan sintak formalnya, sebuah fungsi dimulai dengan tanda {}, seperti dalam contoh program.

cout << "Program Pertama"; cout << "Selamat Belajar C++";

perintah ini merupakan hal yang akan dieksekusi oleh compiler dan merupakan perintah yang akan dikerjakan. cout termasuk dalam file iostream. cout merupakan perintah untuk menampilkan ke layer.

Perlu diingat, bahwa setiap pernyataan dalam C++ harus diakhiri dengan tanda semicolon (;) untuk memisahkan antara pernyataan satu dengan pernyataan lainnya.

getch();

digunakan untuk meminta inputtan dari keyboard.

return 0;

pernyataan return akan menyebabkan fungsi main() menghentikan program dan mengembalikan nilai kepada main. Dalam hal ini, yang dikembalikan adalah nilai 0.

2.3 TIPE DATA

Terdapat 5 tipe data bawaan dari bahasa C, yaitu : void, integer, float, double, dan char.

void diartikan sebagai tanpa tipe data dan tanpa pengembalian nilai

int bilangan bulat (integer)

float bilangan pecahan (floating point)

double bilangan pecahan dengan jangkauan data yang lebih luas char Karakter

(9)

bool isi bilangan Boolean (True dan False)

wchar_t wide character

2.4 VARIABEL

Berbeda dengan pendeklarasian variabel di bahasa pemrograman lain, dalam C++ sebelum mendeklarasikan variabel, hal pertama yang harus dideklarasikan adalah tipe data yang akan digunakan untuk menampung data.

Format penulisannya adalah :

Tipe_data pengenal = nilai ; Sebagai contoh :

int a; float nomor;

atau dapat juga pemberian nilai awal untuk variable dilakukan pada saat deklarasi, contoh :

int a=10; char s=’a’;

Jika hendak mendeklarasikan beberapa variabel sekaligus dengan tipe data yang sama, dapat dilakukan dengan 2 cara, yaitu :

int a; int b; int c;

atau dapat disederhanakan dengan deklarasi : int a,b,c;

Perhatikan contoh berikut: // bekerja dengan variabel #include

int main () {

(10)

// inisialisasi variabel : int a, b; int hasil; // proses : a = 5; b = 2; a = a + 1; hasil = a – b; // cetak hasilnya : cout << hasil; // menghentikan program : return 0; } 2.5 KONSTANTA

Konstanta mirip dengan variable, namun memiliki nilai tetap. Konstanta dapat berupa nilai Integer, Float, Karakter dan String. Pendeklarasian konstanta dapat dilakukan dengan 2 cara :

Menggunakan (#define)

deklarasi konstanta dengan cara ini, lebih gampang dilakukan karena akan menyertakan

#define sebagai preprocessor directive. Dan sintaknya diletakkan bersama – sama dengan pernyataan #include (di atas main()).

Format penulisannya adalah : #define pengenal nilai

Contoh penggunaan : #define phi 3.14159265 #define Newline ‘\n’ #define lebar 100

pendeklarasian dengan #define tanpa diperlukan adanya tanda = untuk memasukkan nilai ke dalam pengenal dan juga tanpa diakhiri dengan tanda semicolon(;).

(11)

Menggunakan (const)

Sedangkan dengan kata kunci const, pendeklarasian konstanta mirip dengan deklarasi variable yang ditambah kata depan const.

Contoh :

const int lebar = 100; const char tab = ‘\t’; const zip = 1212;

Untuk contoh terakhir, deklarasi variable zip yang tanpa tipe data, maka compiler akan secara otomatis memasukkannya ke dalam tipe int.

2.6 KARAKTER & STRING LITERAL

String adalah gabungan dari karakter

Contoh : “ Belajar “ à Literal String “ B “ à Karakter

Panjang String

strlen() à nama fungsi untuk menghitung panjang string

Fungsi strlen() dideklarasikan dalam file string.h. Jadi bila anda ingin menggunakan fungsi strlen(), maka prepocessor directive #include

harus dimasukkan dalam program diatas main(). #include

#include #include void main() {

cout << strlen ("Selamat Sore \n") <<endl; cout << strlen ("Selamat Sore ") <<endl; cout << strlen ("Selamat ") <<endl; cout << strlen ("Sore ") <<endl; cout << strlen ("") <<endl;

(12)

getch(); }

2.7 TIPE BENTUKAN

Merupakan tipe yang dibentuk dari tipe dasar. Seperti Tipe Struktur.

2.8 TIPE STRUKTUR

Suatu tipe data yang merupakan kumpulan dari tipe data lainnya. Struktur terdiri dari data yang disebut field. Field – field tersebut digabungkan menjadi satu tujuan untuk

kemudahan dalam operasi.

Bentuk umumnya :

tyedef struct{ tipe nama_field1; tipe nama_field2;

tipe nama_field3; . . . .

#include #include

typedef struct { int tanggal; int bulan; int tahun; } data_tunggal; data_tunggal tanggal_lahir; void main() { tanggal_lahir.tanggal = 8; tanggal_lahir.bulan = 2; tanggal_lahir.tahun=2005; cout << tanggal_lahir.tanggal << '/' << tanggal_lahir.bulan << '/' << tanggal_lahir.tahun << '/' <<endl; getch();

(13)

2.9 OPERATOR

Dalam C++, terdapat berbagai macam operator yang dapat dimanfaatkan dalam aplikasi.

Operator Assign (=)

Operator (=), akan memberikan nilai ke dalam suatu variable lvalue a = 5 rvalue

artinya memberikan nilai 5 ke dalam variable a. Sebelah kiri tanda = dalam pernyataan di atas, dikenal dengan lvalue (left value) dan di sebelah kanan tanda = dikenal dengan rvalue (right value). lvalue harus selalu berupa variable, sedangkan rvalue dapat berupa variable, nilai, konstanta, hasil operasi ataupun kombinasinya

Operator Aritmatika ( +, -, *, /, %)

Untuk operator %, sama dengan modulus, yaitu untuk mengetahui sisa hasil bagi. Misalnya a = 11 % 3, maka variable a akan terisi nilai 2 karena sisa hasil bagi 11 dan 3 adalah 2.

Operator Majemuk ( +=, -=, *=, /=, %=, <>=, &=, |= )

Dalam C++, operasi aritmatika dapat disederhanakan penulisannya dengan format penulisan operator majemuk.

Misalnya :

a += 5 sama artinya dengan menuliskan a = a+5 a *= 5 sama artinya dengan menuliskan a = a*5 a /= 5 sama artinya dengan menuliskan a = a/5 a %= 5 sama artinya dgn menuliskan a = a % 5

Operator Penaikan dan Penurunan (++ dan –)

Operator penaikan (++) akan menaikkan atau menambahkan 1 nilai variable. Sedangkan operator (–) akan menurunkan atau mengurangi 1 nilai variable.

Misalnya : a++; a+=1; a=a+1;

(14)

untuk ketiga pernyataan tersebut, memiliki arti yang sama yaitu menaikkan 1 nilai variable 1.

Karakteristik dari operator ini adalah dapat dipakai di awal (++a) atau di akhir (–a) variable. Untuk penggunaan biasa, mungkin tidak akan ditemui perbedaan hasil dari cara penulisannya. Namun untuk beberapa operasi nantinya harus diperhatikan cara peletakan operator ini, karena akan berpengaruh terhadap hasil.

Operator Relasional (==, !=, >, =, 6)) mengembalikan nilai false, karena (true && false) untuk logika NOT (!), contohnya !(5==5) akan mengembalikan nilai false, karena !(true).

Operator Kondisional ( ? )

Format penulisan operator kondisional adalah : kondisi ? hasil1 : hasil2

Jika kondisi benar maka yang dijalankan adalah hasil1 dan jika kondisi salah, maka akan dijalankan hasil2.

(15)

BAB III

MENU PADA PROGRAM VISUAL C++ BUILDER

Dalam pemrograman visual, window-window ini disebut FORM. Dalam pemrograman C++ Builder nanti akan terdapat banyak FORM. Adapun lingkungan-lingkungan C++ builder adalah sebagai berikut:

3.1 MAIN WINDOW

Seperti pada gambar dibawah ini Main Window terdapat pada posisi paling atas dari C++ Builder IDE. Dan dibagi menjadi tiga kelompok yaitu :

1.1.1 Pada Baris Pertama : Main Menu

Pada barisan menu (terdiri dari File, Edit, Search,...) berfungsi sebagai tempat mengatur dan menjalankan berbagai perintah dan fitur yang berhubungan dengan Borland C++ Builder 6, termasuk untuk perintah Compile dan Run Program.

1.1.2 Pada Baris Kedua : Komponen Pallete

Pada barisan tab component pallete (terdiri dari Standard, Additional, Data Acces,...) berfungsi saat menggunakan aplikasi visual, yaitu untuk penambahan komponen-komponen input, proses dan output yang berbentuk visual.

1.1.3 Pada Baris Ketiga dan Keempat : Tools Panel

Pada tools panel hanya berisi menu- menu yang sering digunakan saja dan ditamplikan dalam bentuk icon .Dan merupakan toolbar-toolbar yang juga berfungsi sebagai langkah cepat dalam menggunakan fitur di Borland C+ + Builder 6, seperti toolbar Run dan toolbar New

(16)

3.2 OBJECT TREEVIEW

Object treeview akan menampilkan daftar komponen (baik visual maupun non visual) yang ditempatkan dalam form, data module, maupun frame. Yang ditampilkan dalam bentuk tree (pohon), yang menunjukkan hubungan logic antara komponen parent dan child. Berikut adalah tampilannya :

Gambar Treeview

3.3 FORM DESIGNER

Form designer adalah bagian yang digunakan untuk pembuatan form yang kemudian akan ditampilkan dalam aplikasi. Form designer merupakan tempat komponen- komponen yang digunakan dalam C++ builder. Bagian ini merupakan induk dari komponen- komponen yang juga merupakan tempat mengatur logika berpikir secara visual.Berikut adalah tampilannya :

(17)

Gambar Form

3.4 OBJECT INSPECTOR

Pada bagian ini menunjukkan properti-properti dan

event-event proses yang terdapat di komponen yang digunakan untuk mengatur dan melakukan pengesetan terhadap property dan event suatu object dari C++ Builder. Berikut adalah tampilannya :

Gambar Object Inspector 3.5 SOURCE CODE

Bagian ini tempat mengisikan sintak-sintak yang akan menjalankan aplikasi yang akan dibuat, yang berupa file *.cpp. Berikut adalah tampilannya :

(18)

Gambar Source Code

3.6 HEADER UNIT

Pada bagian ini akan terbentuk secara otomatis pada saat memilih aplikasi yang berbentuk visual. Bagian ini berfungsi sebagai tempat pembuatan class-class yang akan digunakan di bagian Source Code. Berikut adalah tampilannya :

Gambar Header Unit

(19)

KOMPONEN STANDAR YANG BIASA DIGUNAKAN DALAM

PEMROGRAMAN VISUAL DENGAN C++ BUILDER

Komponen standar dan komponen yang sering digunakan terdapat dalam komponen palletes adapun komponen komponen tersebut sebagai berikut :

(20)

4.1 Button

Default Name Button1. Fungsi dasar Proses/event, untuk membuat tombol yang memiliki method Contoh tombol hitung dengan method click. Komponen sejenis BitBtn, SpeedButton.

4.2 Edit

Default Name edit1. Fungsi dasar Input/output berupa teks. Komponen sejenis MaskEdit, LabeledEdit, DBEdit.

4.3 ListBox

Default name ListBox1. Fungsi dasar Input/output berupa pilihan. Komponen sejenis DBListBox, DBLookupListBox.

(21)

4.4 ComboBox

Default name ComboBox1. Fungsi dasar Input berupa pilihan. Komponen sejenis DBComboBox, DBLookupComboBox.

4.5 Memo

Default name Memo1. Fungsi dasar Input/output dengan length yang lebih panjang. Komponen sejenis DBMemo.

4.6 Label

Default name Label1.Fungsi dasar Teks tetap, output. Komponen sejenis DBLabel.

4.7 CheckBox

Default name CheckBox1. Fungsi dasar Input dengan nilai True or False. Komponen sejenis DBCheckBox.

4.8 RadioButton.

Default name RadioButton1. Fungsi dasar Input berupa pilihan. Komponen sejenis RadioGroup, DBRadioGroup.

4.9 GroupBox

Default name GroupBox1. Fungsi dasar Group beberapa komponen. Komponen sejenis Panel.

5.0 Panel

Default name Panel1. Fungsi dasar Group beberapa komponen. Komponen sejenis GroupBox.

(22)

Default Image1. Fungsi dasar Memasukkan gambar. Komponen sejenis DBImage . Posisi tab addtional

5.2 Shape

Default Shape1. Fungsi dasar Membuat bentuk gambar bulat,lingkaran dll. Posisi tab additional.

5.3 Timer

Default Timer1. Fungsi dasar Proses perulangan menggunakan satuan interval 1 mili detik. Posisi tab system.

5.4 MainMenu

Default name MainMenu1. Fungsi dasar Membuat menu Aplikasi. Posisi tab standar.

5.5 UpDown

Default name UpDown1. Fungsi dasar Menambahkan /mengurangkan nilai dengan step tertentu. Posisi tab Win32. komponen sejenis CSpinEdit.

(23)

BAB V

OBJECT ORIENTED PROGRAMMING (OOP) DALAM

PEMROGRAMAN VISUAL

DENGAN C++ BUILDER

5.1 Konsep Pengembangan Aplikasi Visual Berbasis Object Oriented Programming

Object Oriented Programming berperan dalam mendefinisikan pemrograman yang rutin dan bersifat terstruktur, sedangkan pemrograman visual mendefinisikan secara visual bagaimana programmer atau user menjalankan program tersebut sehingga tampilan nyata yang ada pada program tersebut dapat kita ketahui. Pemrograman visual memungkinkan pengguna untuk lebih fokus pada pemecahan masalah daripada cara menangani bahasa pemrograman.

Pemrograman visual dapat menunjukkan objek-objek yang digunakan dalam mencari solusi atau pemecahan masalah secara grafis atau nyata. Objek-objek yang digunakan tersebut menggunakan konsep object oriented programming. Dengan adanya pemrograman visual kita dapat secara real melihat bagaimana sebuah program dapat dengan mudah dilihat dan dipahami melalui interface atau penghubung yang berbentuk nyata.

Misal kita ingin membuat sebuah aplikasi sederhana dengan mengunakan C++ builder. Kita tinggal menggunakan objek-objek yang telah disediakan sesuai kebutuhan kita. Objek-objek tersebut nantinya akan dapat bekerja sesuai dengan fungsinya tergantung event yang kita berikan. Objek dalam hal ini adalah form, lebel, edit, button atau objek lain yang kita tambahkan pada aplikasi yang kita buat.

5.2 Pengenalan Object Oriented Programming dalam Pemrograman Visual Menggunakan C++ Builder

Berikut adalah sebuah contoh program yang akan membantu kita untuk lebih memahami Object Oriented Programming dalam Pemrograman Visual Menggunakan C++ Builder. Dalam pembuatan aplikasi diatas, kita membutuhkan:

1. Form1

(24)

- Caption : Form1 - Height : 315 - Name : Form1 - Width : 420 b. Event - Oncreate 2. Label1 a. Properties - Caption : Masukkan 1 - Name : Label1 3. Label2 b. Properties - Caption : Masukkan 2 - Name : Label2 4. Label3 a. Properties - Caption : Hasil - Name : Label3 5. Label4 a. Properties

- Caption : Kalkulator Sederhana - Name : Label4 6. Edit1 a. Properties - Name : Edit1 - Text : Edit1 7. Edit2 a. Properties - Name : Edit2 - Text : Edit2 8. Edit3 a. Properties

(25)

- Text : Edit3 9. Button1 a. Properties - Caption : + - Name : Button1 b. Event - Onclick 10. Button2 a. Properties - Caption : -- Name : Button2 b. Event - Onclick 11. Button3 a. Properties - Caption : x - Name : Button3 b. Event - Onclick 12. Button4 a. Properties - Caption : : - Name : Button4 b. Event - Onclick 13. Button5 a. Properties - Caption : Refresh - Name : Button5

(26)

- Onclick 14. Button6 a. Properties - Caption : Exit - Name : Button6 b. Event - Onclick

Tampilan program pada saat di running:

Pada saat di refresh:

(27)

Inilah penjabaran singkat mengenai Object Oriented Programming dalam Pemrograman Visual menggunakan C++ Builder. Dengan contoh program yang sederhana diatas, dapat kita lihat bagaimana sebuah program divisualisasikan dalam bentuk objek-objek yang tersaji.

(28)

BAB VI

POINTER PADA C++ BUILDER

POINTER PADA C++ BUILDER

Pointer adalah suatu variabel yang menunjuk ke alamat memory variabel yang lainnya. Dengan menggunakan pointer banyak hal dapat dilakukan seperti melewatkan suatu variabel yang ada di dalam fungsi yang telah di bahas pada bab-bab sebelumnya.

Suatu pointer bukan berisi dengan suatu nilai data seperti halnya pada variabel biasa, variabel pointer berisi dengan suatu alamat. Untuk mendeklarasikan variabel pointer kita menggunakan tanda asterik / bintang (*) didepan variabel yang di deklarasikan pada tipe data tertentu. Tanda ini juga dapat dipakai untuk mengakses nilai dari variabel yang telah ditunjuk. Untuk mendapatkan alamat dari variabel pointer kita menggunakan tanda &. Untuk lebih mengerti uraian diatas perhatikan ilustrasi berikut ini :

#include <iostream.h> void main()

{

int *px, x, y; // mendeklarasikan variabel pointer px bertipe integer x = 1000; // memberikan nilai x sama dengan 1000

px = &x; // dengan statement ini variabel pointer sekarang menunjuk ke alamat variabel x

y = *px; // mengakses variabel yang ditunjuk oleh pointer

cout << px; // menampilkan isi dari variabel pointer px berupa alamat cout << endl; // ganti baris baru

cout << y; // menampilkan isi dari variabel yang di tunjuk }

Hasil dari program diatas adalah : FFDD

(29)

Dari ilustrasi diatas dapat kita lihat bahwa px (yang merupakan variabel pointer) berisi alamat dari variabel x. Sedangkan jika kita hendak mengakses nilai dari variabel yang ditunjuk oleh variabel pointer (nilai dari variabel x) maka kita gunakan tanda asterik di depan variabel pointer.

Seandainya pada program diatas tidak terdapat pernyataan : px = &x;

Namun terdapat pernyataan : y = *px;

maka, y tidaklah berisi nilai x, sebab px belum diatur agar menunjuk variabel x. hal seperti ini dapat menyebabkan komputer menjadi hang karena pointer belum di inisialisasikan.

Satu hal lagi yang perlu diperhatikan lagi jika kita menggunakan pointer ialah tipe variabel pointer dengan tipe data variabel yang ditunjuknya haruslah sama contohnya pada program diatas variabel pointer px bertipe sama dengan variabel yang ditunjuknya yaitu x, sama-sama bertipe integer.

6.1Pointer dan Array

Hubungan antara pointer dan array pada C++ sangatlah erat, sebab sesungguhnya array secara internal akan diterjemahkan dalam bentuk pointer. Untuk jelasnya perhatikan program berikut ini :

#include <iostream.h> void main()

{ static int nilai[3] = {10,20,30 }; // pemberian nilai ke array nilai

int *pnilai;

// mendeklarasikan variabel pointer pnilai pnilai = nilai;

// pnilai berisi alamat array for(int i=0; i<3; i++) {

(30)

} pointer }

Dari program diatas dapat dilihat bahwa pengaksesan elemen array dapat dilakukan melalui alamat memori pada variabel pointer. *(pnilai + i) sama hal nya dengan nilai[] pada array biasa. Output dari program diatas akan menghasilkan nilai 10, 20 dan 30. untuk array dua, tiga dan n dimensi pun dapat kita buat dengan menggunakan pointer. Contoh untuk array dengan dimensi dua pendeklarasiannya adalah :

*(*(pnilai + i) + j)

6.2Array dari pointer

Suatu array bisa digunakan untuk menyimpan sejumlah pointer. Sebagai contoh untuk membuat array satu dimensi yang bertipe integer kita deklarasikan :

int nilai[3] dirubah menjadi int *nilai

terdapat perbedaan diantara kedua statement diatas, pada array nilai[3] akan menyebabkan tiga buah tempat untuk nilai-nilai integer atau sebanyak 6 byte memori akan disiapkan untuk array ini (int = 2 byte dikali 3 tempat = 6 byte). Untuk array pointer, kompiler tidak secara otomatis menyiapkan tempat untuk nilai-nilainya, karena banyaknya nilai-nilai yang akan digunakan belum diketahui. Untuk mengatasi masalah ini, maka untuk menyiapkan sejumlah blok memori dapat digunakan cara alokasi dinamik (dynamic allocation). Cara alokasi dinamik ini menggunakan memori yang masih kosong di luar memori yang biasanya digunakan untuk data. Untuk menggunakan cara ini, perlu digunakan fungsi khusus didalam pointer yaitu menggunakan fungsi standar malloc() dengan prototypenya berada di header file stdlib.h. (ini hanya digunakan jika kita menggunakan bahasa C), jika kita menggunakan bahasa C++ maka fungsi standar yang digunakan ialah new. Contoh mengalokasikan suatu array dengan menggunakan fungsi-fungsi diatas adalah sebagai berikut :

(31)

nilai = new int // untuk mengalokasikan dengan C++

hasil dari pengalokasian diatas ialah suatu alamat yang menunjukkan byte pertama dari memori yang dialokasikan di heap. Jika alokasi memori ini gagal, bisa dikarenakan tidak mencukupinya memori pada heap, maka fungsi diatas akan menghasilkan nilai NULL.

Setelah kita mengalokasikan memori untuk array, ada baiknya jika kita menghapus / mende-alokasikan kembali array tersebut dari memori, sehingga ruang di memori heap dapat digunakan untuk keperluan yang lainnya. Untuk menghapus / mende-alokasikan sebuah array diperlukan sebuah fungsi standar free() dari header file

stdlib.h untuk para pengguna bahasa C, jika kita menggunakan C++ kita menggunakan fungsi standar delete. Contohnya :

free(nilai); // mendealokasikan dengan bahasa C delete [] nilai; // mendealokasikan dengan bahasa C++

selanjutnya pengalokasian diatas dapat dengan mudah kita membentuk suatu struktur data link list maupun double link list dengan menggunakan bahasa C/C++.

Berikut ini akan diberikan contoh program dengan menggunakan fungsi standar diatas (langsung dengan menggunakan C++) :

#include <iostream.h> #include <conio.h> struct mhs { char npm[9]; char nama[25]; char alamat[30]; int nilai; }; void main() { mhs *pmhs; int n;

(32)

clrscr();

cout << "PROGRAM DATA MAHASISWA" << endl; cout << "---" << endl << endl;

cout << "Masukkan Banyaknya Data : "; cin >> n; cout << endl;

pmhs = new mhs[n]; for (int i=0; i<n; i++) {

cout << "Input Data Mahasiswa Ke-" << i+1 << endl; cout << "Nama Anda : "; cin >> pmhs[i].nama; cout << "NPM Anda : "; cin >> pmhs[i].npm; cout << "Alamat Anda : "; cin >> pmhs[i].alamat; cout << "Nilai SBP Anda : "; cin >> pmhs[i].nilai; cout << endl;

}

cout << "Tekan Sembarang tombol ... !"; getch();

clrscr();

cout << " Output Data Mahasiswa" << endl << endl;

cout << "===========================================" << endl; cout << " No. Nama NPM Alamat Nilai" << endl;

cout << "===========================================" << endl; for (i=0; i<n; i++)

{

gotoxy(2, i+6); cout << i+1 << "."; gotoxy(7, i+6); cout << pmhs[i].nama; gotoxy(22, i+6); cout << pmhs[i].npm; gotoxy(33, i+6); cout << pmhs[i].alamat; gotoxy(53, i+6); cout << pmhs[i].nilai << endl; }

(33)

delete [] pmhs; getch();

}

6.3Pointer ke Pointer

Pointer ke pointer merupakan suatu pointer yang menunjuk ke alamat pointer yang lainnya. Dengan menggunakan dua buah asterik pada variabel pointer, maka variabel pointer tersebut dapat mengakses ke variabel pointer yang lainnya. Contohnya :

#include <iostream.h> void main()

{

int a, *b, **c; // mendeklarasikan variabel pointer a = 1000; // memberikan nilai a sama dengan 1000

b = &a; // dengan statement ini variabel pointer sekarang menunjuk ke alamat variabel a

c = &b; // dengan statement ini variabel pointer sekarang menunjuk ke alamat variabel a

cout << *b; // menampilkan isi dari variabel pointer b berupa alamat cout << endl; // ganti baris baru

cout << **c; // menampilkan isi dari variabel pointer c }

Hasil dari program diatas adalah : 1000

1000

Dari program diatas dapat disimpulkan bahwa dengan menggunakan pointer ke pointer, isi dari pointer yang terakhir merupaka alamat memori dari variabel pointer sesungguhnya. Pada contoh diatas, variabel b yang menunjuk ke variabel a ditunjuk kembali oleh variabel c sehingga nilai dari variabel c sebenarnya sama dengan variabel b dan variabel a.

(34)

BAB VII

MEMBUAT ARTIKEL TENTANG PEMILIHAN, PERULANGAN/ITERASI DAN REKURSIF DENGAN BAHASA PEMROGRAMAN C++ BUILDER

7.1 Pemilihan

Pemilihan merupakan suatu proses pemilihan aksi diantara beberapa alternative yang di berikan. Suatu struktur dasar algoritma yang memiliki satu atau lebih kondisi tertentu dimana sebuah instruksi dilaksanakan jika sebuah kondisi/persyaratan terpenuhi. Fungsi penyeleksian kondisi penting artinya dalam penyusunan bahasa C, terutama untuk program yang kompleks.

7.1.1 Struktur kondisi “If....”

Struktur if dibentuk dari pernyataan if dan sering digunakan untuk menyeleksi suatu kondisi tunggal. Bila proses yang diseleksi terpenuhi atau bernilai benar, maka pernyataan yang ada di dalam kotak if akan di eksekusi dan di kerjakan.

Bentuk umu dari if : if (kondisi)

{

... }

(35)

Outputnya :

Penjelasa program :

Pengguna memasukkan nilai 2, maka program menampilkan pesan. Artinya, nilai yang di masukkan tersebut memenuhi kondisi yang yang telah di tentukan. Apabila tidak memenuhi kondisinya, maka program tidak menampilkan apa-apa.

7.1.2 Struktur Kondisi “if...else...”

Dalam struktur kondisi if...else... minimal terdapat dua pernyataan. Jika kondisi yang diperiksa bernilai benar atau terpenuhi maka pernyataan pertama yang dilaksanakan dan jika kondisi yang di periksa bernilai salah maka pernyataan yang kedua yang dilaksanakan.

Bentuk umum dari if...else... : if (kondisi) { ... } else { ... } Contoh program :

(36)

Outputnya :

Kondisi I terpenuhi

(37)

Penjelasan program :

Pengguna memasukkan nilai yang kondisi pertama terpenuhi, maka program menjalan kan aksi yang pertama. Lalu penggu memasukkan nilai yang tidak memenuhi kondisi pertama, maka program menjalan kan aki yang ke dua. Berbeda dengan struktur kondisi if, jika kondisi pertama tidak terpenuhi maka program tidak menampilkan apa-apa.

7.1.3 Struktur Kondisi “switch....case....default....”

Struktur kondisi switch....case....default digunakan untuk penyeleksian kondisi dengan kemungkinan terjadi cukup banyak. Struktur ini akan melaksanakan salah satu dari beberapa penyataan ‘case’ tergantung nilai kondisi yang ada di dalam switch. Selanjutnya proses diteruskan hingga ditemukan pernyataan ‘break’. Jika tidak ada nilai pada case yang sesuai dengan nilai kondisi, maka proses akan diteruskan kepada pernyataan yang ada di bawah ‘default’.

(38)

Contoh programnya :

Outputnya :

Penjelasan program :

Ketika program dijalankan, maka program akan meminta pengguna untuk memasukkan pilihan dari beberapa menu tersebut. Lalu program mencetak pilihan yang kita pilih tersebut. Dan jika pilihan tidak tersedia, maka program akan menampilkan pesan “Menu yang di pilih tidak tersedia”.

7.2 Perulangan/Iterasi

Sebuah atau sekelompok instruksi diulang untuk jumlah pengulangan tertentu. Baik yang terdefinisikan sebelumnya ataupun dtidak.

(39)

1. Kondisi pengulangan yaitu ekspresi boolean yang harus dipenuhi untuk melaksanakanpengulangan

2. Isi atau badan pengulangan yaitu satu atau lebih pernyataan (aksi) yang akan diulang. Ada tiga cara yang umum untuk melakukan perulangan pada C++ yaitu :

1. for 2. while 3. do while

7.2.1 Perulangan “for...”

Pernyataan “for...” digunakan untuk menghasilkan pengulangan(looping) beberapa kali tanpa penggunaan kondisi apapun. Pada umumnya looping yang dilakukan oleh for telah diketahui batas awal, syarat looping dan perubahannya. Selama kondisi terpenuhi, maka pernyataan akan terus di eksekusi.

Bentuk umum “for...” :

for (inisialisasi ; kondisi ; perubahan) {

... }

Contoh programnya :

(40)

7.2.2 Perulangan “while...”

Yaitu perulangan yang melakukan pengecekan kondisi di awal blok struktur, perulangan ini hanya akan dilakukkan jika kondisi yang di definisikan di dalamnya terpenuhi (bernilai benar) dan jika kondisi yang di definisikan tidak terpenuhi (bernilai salah) maka statement-statement yang terdapat di dalam blok perulanganpun tidak akan pernah dieksekusi oleh program.

Pernyataan “while” merupakan salah satu pernyataan yang berguna untuk memproses suatu pernyataan atau beberapa kali. Pernyataan while memungkinkan statemen-statement yang ada didalamnya tidak dilakukan sama sekali.

Bentuk umum “while” : while (kondisi)

{

... }

(41)

Outputnya :

7.2.3 Perulangan “do....while....”

Pernyataan “do....while....” mirip seperti pernyataan “while...”, hanya saja pada do....while.... pernyataan yang terdapat di dalamnya minimal akan sekali dieksekusi. Struktur ini berbeda dengan struktur while yang melakukan pengecekan kondisi di awal blok perulangan, pada struktur do-while kondisi justru ditempatkan di bagian akhir. Biasanya struktur ini melakukkan perulangan terlebih dahulu dan pengujiannya dilakukan di belakang.

Bentuk umum ”do....while....” : do

(42)

...

} while (kondisi);

Contoh programnya :

Outputnya :

7.3 Rekursif

Perulangan rekursif merupakan salah satu metode didalam pemrograman yang mana dalam sebuah fungsi terdapat intruksi yang memanggil fungsi itu sendri, atau lebih sering disebut memanggil dirinya sendiri. Kelebihan perulangan rekursif sangat mudah untuk melakukan perulangan dengan batasan yang luas dalam artian melakukan perulangan dalam skala yang besar dan dapat melakukan perulangan dengan batasan fungsi.

(43)

Kekurangan perulangan rekursif :

 Tidak bisa melakukan nested loop atau looping bersarang.

 Biasanya membuat fungsi sulit untuk dipahami, hanya cocok untuk persoalan tertentu saja,

 Memerlukan stack yang lebih besar, sebab setiap kali fungsi dipanggil, variabel lokal dan parameter formal akan ditempatkan ke stack dan ada kalaya akan menyebabkan stack tak cukup lagi (Stack Overum).

 Proses agak berbelit-belit karena terdapat pemangilan fungsi yang berulang-ulang dan pemanggilan data yang ditumpuk.

(44)

DAFTAR PUSTAKA

Heriyanto, Imam dan Raharjo, Budi. Pemrograman Borland C++ Builder. Informatika Bandung. 2003.

Fachrurrozi, M dan Gustiawan, Ferry. Konsep Dan Aplikasi Pemrograman Menggunakan Borland C++ Builder 6”(Modul Visual Revisi). Fakultas Ilmu Komputer Universitas Sriwijaya. 2006.

http://id.wikipedia.org/wiki/Pemrograman_berorientasi_objek

Heryanto. Imam dan Raharjo. Budi, Pemrograman Borland C++ Builder, Informatika Bandung, 2006

(45)

Gambar

Gambar Treeview
Gambar Form
Gambar Header Unit

Referensi

Dokumen terkait

Persepsi tenaga kependidikan dan tenaga pendidik terhadap integrasi sosial dalam lingkungan kerja memiliki nilai total skor sebesar 74,14% untuk tenaga kependidikan dan

Sedangakan penelitian dari Jincheng Din mengatakan bahwa minyak jelantah sebagai bahan baku pembuatan biodiesel adalah berperan dalam memanfaatkan limbah rumah

Pada tahun 2012/2013 terdapat 87 kasus perdarahan antepartum di RSUD Abdoel Moeloek .Tujuan dari penelitian ini adalah diketahui hubungan Usia dan paritasi buh am dengan

Melaui model pembelajaran Kooperatif (Cooperative Learning) tipe Number Head Together (NHT) dan Student Team Achievment Division (STAD), siswa diharapkan dapat

Manfaat penelitian ini adalah untuk mengetahui ciri – ciri anak autis sehingga orang tua dapat mengetahui gejala anak autis sejak dini dan dapat merancang media edukasi

Oleh karena itu, untuk mencegah penyakit HDB perlu dilakukan penyediaan benih yang bebas Xoo serta pemahaman mengenai waktu tanam yang sesuai dengan perkembangan penyakit Xoo

Instrumen yang digunakan dalam penelitian aspek kognitif ini berupa tes objektif tentang materi sistem koloid yang terdiri dari 25.. butir soal dengan 5 alternatif

 Secara Nasional produksi padi Provinsi Sulawesi Tengah tahun 2015 mempunyai kontribusi sebesar 1,35 persen dari total produksi padi nasional sebesar 75,36 juta ton