Você está na página 1de 45

TUGAS MIKROPROSESSOR

Judul Nama Kelompok

: :

Bahasa Pemrograman C++ Builder Achmad Zulkifli 0611 3031 0145 0611 3031 0157

Juang Haikal Pasha Kelas : 3 LA

POLITEKNIK NEGERI SRIWIJAYA

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

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.

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++. Dalam suatu program sering kali lebih mudah kalau dipecah menjadi beberapa fungsi yang masing-masing fungsi melakukan satu/tugas tertentu saja. Fungsi yang telah dibuat 4

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) { statement

statement } 2.1 HAL-HAL YANG PERLU DIPERHATIKAN DALAM PENGGUNAAN FUNGSI : 1. 2. 3. 4. 5. Kalau tipe fungsi tidak disebutkan, maka akan dianggap sebagai fungsi dengan Untuk fungsi yang memiliki keluaran bertipe bukan integer, maka diperlukan Untuk fungsi yang tidak mempunyai nilai keluaran maka dimasukkan ke Pernyataan yang diberikan untuk memberikan nilai akhir fungsi berupa Suatu fungsi dapat menghasilkan nilai balik bagi fungsi pemanggilnya. nilai keluaran bertipe integer. pendefinisian penentu tipe fungsi. dalam tipe void pernyataan return.

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 menghilangkan suatu argumen maka kita harus menghilangkan semua argumen dikanannya.

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

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 Sedangkan C++ sendiri menambahkan dua buah tipe data lagi, yakni: bool dan wchar_t.

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 () {

// 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(;).

10

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;

11

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(); }

12

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;

13

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.

14

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 komponenkomponen 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 15

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 komponenkomponen yang digunakan dalam C++ builder. Bagian ini merupakan induk dari komponen- komponen yang juga merupakan tempat mengatur logika berpikir secara visual.Berikut adalah tampilannya :

16

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 :

17

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

BAB IV

18

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 :

19

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.

20

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.

5.1 Image 21

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.

22

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 a. Properties 23

2. Label1

Caption : Form1 Height : 315 Name : Form1 Width : 420 Oncreate

b. Event

a. Properties 3. Label2 b. Properties 4. Label3 a. Properties 5. Label4 a. Properties 6. Edit1 a. Properties 7. Edit2 a. Properties 8. Edit3 a. Properties Name : Edit3 24 Name : Edit2 Text : Edit2 Name : Edit1 Text : Edit1 Caption : Kalkulator Sederhana Name : Label4 Caption : Hasil Name : Label3 Caption : Masukkan 2 Name : Label2 Caption : Masukkan 1 Name : Label1

Text : Edit3

9. Button1 a. Properties Caption : + Name : Button1 Onclick

b. Event

10. Button2 a. Properties Caption : Name : Button2 Onclick

b. Event

11. Button3 a. Properties Caption : x Name : Button3 Onclick

b. Event

12. Button4 a. Properties Caption : : Name : Button4 Onclick

b. Event

13. Button5 a. Properties Caption : Refresh Name : Button5

b. Event 25

Onclick

14. Button6 a. Properties Caption : Exit Name : Button6 Onclick

b. Event

Tampilan program pada saat di running:

Pada saat di refresh:

saat data diisi dan ditambahkan (sebagai contoh):

26

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.

27

BAB VI 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; x = 1000; px = &x; y = *px; cout << px; cout << endl; cout << y; } // mendeklarasikan variabel pointer px bertipe integer // memberikan nilai x sama dengan 1000 // dengan statement ini variabel pointer sekarang menunjuk ke alamat variabel x // mengakses variabel yang ditunjuk oleh pointer // menampilkan isi dari variabel pointer px berupa alamat // ganti baris baru // menampilkan isi dari variabel yang di tunjuk

Hasil dari program diatas adalah : FFDD 1000

28

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++) { cout << *(pnilai + i) << endl; // tampilkan isi array melalui variabel 29

} 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 : nilai = malloc(sizeof(int) * 3); // untuk mengalokasikan dengan C 30

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); delete [] nilai; // mendealokasikan dengan bahasa C // 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; 31

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 cout << "NPM Anda : "; cin >> pmhs[i].nama; : "; 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 << " << endl << endl; cout << "===========================================" << endl; cout << " No. Nama 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; } cout << "===========================================" << endl; 32 NPM Alamat Nilai" << endl; cout << "===========================================" << endl; Output Data Mahasiswa"

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; a = 1000; b = &a; c = &b; cout << *b; cout << endl; cout << **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. 33 // mendeklarasikan variabel pointer // memberikan nilai a sama dengan 1000 // dengan statement ini variabel pointer sekarang menunjuk ke alamat variabel a // dengan statement ini variabel pointer sekarang menunjuk ke alamat variabel a // menampilkan isi dari variabel pointer b berupa alamat // ganti baris baru // menampilkan isi dari variabel pointer c

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) { .......... } Contoh program :

34

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 :

35

Outputnya : Kondisi I terpenuhi

Kondisi I tidak terpenuhi maka menjalankan aksi yang ke II

36

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 apaapa.

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. Bentuk umum switch....case....default....

37

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. Struktur pengulangan terdiri atas dua bagian :

38

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. 2. 3. for while 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 :

Outputnya :

39

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) { .......... } Contoh programnya :

40

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 { 41

.......... } 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.

42

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 berulangulang dan pemanggilan data yang ditumpuk.

Contoh program :

43

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

44

45

Você também pode gostar