c++ finale

34
Kata Pengantar Puji syukur penyusun panjatkan kehadirat Tuhan YME, yang atas rahmat-nya maka penyusun dapat menyelesaikan penyusunan makalah tentang Pemrograman Berorientasi Objek (C++). Penulisan makalah adalah merupakan salah satu tugas dan persyaratan untuk menyelesaikan tugas mata kuliah Pemrograman Berorientasi Objek (C++). Dalam Penyusunan makalah ini penyusun merasa masih banyak kekurangan-kekurangan baik pada teknis penulisan maupun materi, mengingat akan kemampuan yang dimiliki penyusun. Untuk itu kritik dan saran dari semua pihak sangat penyusun harapkan demi penyempurnaan pembuatan makalah ini. 1

Upload: iboyupb

Post on 24-Jul-2015

177 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: C++ Finale

Kata Pengantar

Puji syukur penyusun panjatkan kehadirat Tuhan YME, yang atas rahmat-

nya maka penyusun dapat menyelesaikan penyusunan makalah tentang

Pemrograman Berorientasi Objek (C++).

Penulisan makalah adalah merupakan salah satu tugas dan persyaratan untuk

menyelesaikan tugas mata kuliah Pemrograman Berorientasi Objek (C++).

Dalam Penyusunan makalah ini penyusun merasa masih banyak

kekurangan-kekurangan baik pada teknis penulisan maupun materi, mengingat

akan kemampuan yang dimiliki penyusun. Untuk itu kritik dan saran dari semua

pihak sangat penyusun harapkan demi penyempurnaan pembuatan makalah ini.

Batam,1 Januari 2012

Penyusun

1

Page 2: C++ Finale

Daftar isi

Kata Pengantar …………..……………….…….………………………………1

Pendahuluan ……..…………………….………………………………………3

A. Struktur Program C++ …………………………….………………………. 5

B. Komentar, Identifier dan Tipe Data ……………………………….…….…. 7

C. Fungsi Siap Pakai……….………………..…………………………...…... 11

D. Percabangan / Seleksi……………………………………………………. 13

E. Perulangan……………………………………………………………...…..15

F. Statement Peloncatan dan Pointer…………………………………..……...17

G. Array……………………………………………..………………….....….. 20

Contoh Program C++……………………………………………………...…..22

Penutup………………………………………………………………..…….... 25

2

Page 3: C++ Finale

Pendahuluan

A.Sejarah C++

Tahun 1978, Brian W. Kerninghan & Dennis M. Ritchie dari AT & T

Laboratories mengembangkan bahasa B menjadi bahasa C. Bahasa B yang

diciptakan oleh Ken Thompson sebenarnya merupakan pengembangan dari bahasa

BCPL ( Basic Combined Programming Language ) yang diciptakan oleh Martin

Richard.

Sejak tahun 1980, bahasa C banyak digunakan pemrogram di Eropa yang

sebelumnya menggunakan bahasa B dan BCPL. Dalam perkembangannya, bahasa

C menjadi bahasa paling populer diantara bahasa lainnya, seperti PASCAL,

BASIC, FORTRAN.

Tahun 1989, dunia pemrograman C mengalami peristiwa penting dengan

dikeluarkannya standar bahasa C oleh American National Standards Institute

(ANSI). Bahasa C yang diciptakan Kerninghan & Ritchie kemudian dikenal

dengan nama ANSI C.

Mulai awal tahun 1980, Bjarne Stroustrup dari AT & T Bell Laboratories

mulai mengembangkan bahasa C. Pada tahun 1985, lahirlah secara resmi bahasa

baru hasil pengembangan C yang dikenal dengan nama C++. Sebenarnya bahasa

C++ mengalami dua tahap evolusi. C++ yang pertama, dirilis oleh AT&T

Laboratories, dinamakan cfront. C++ versi kuno ini hanya berupa kompiler yang

menterjemahkan C++ menjadi bahasa C.

Pada evolusi selanjutnya, Borland International Inc. mengembangkan

kompiler C++ menjadi sebuah kompiler yang mampu mengubah C++ langsung

menjadi bahasa mesin (assembly). Sejak evolusi ini, mulai tahun 1990 C++

3

Page 4: C++ Finale

menjadi bahasa berorientasi obyek yang digunakan oleh sebagian besar pemrogram

professional.

4

Page 5: C++ Finale

A. Struktur Program C++

Dikatakan pemrograman berorientasi objek karna dapat menyederhanakan

program tersebut dengan cara memecahnya kedalam sub-sub program yang

dinamakan kelas.

Kelas — kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk

suatu tujuan tertentu

a.preprocesor

Kode program dimasukkan ke bagian

preprosesor, yaitu yang diawali

dengan tanda # (pound) dan

menghasilkan file yang akan

dilewatkan kedalam kompiler, contoh

yang kita gunakan #include

b.Link editor

Bagian ini dikerjakan jika kode

program yang kita buat menggunakan

fungsi-fungsi luar yang disimpan

dalam suatu library lain. Link editor

akan mengkombinasikan kode objek

dan library yang ada untuk

menjalankan file exe

Sebagai contoh didalam kode

program kita akan menggunakan cout

dan cin, keduanya terdapat dalam file

header iostream.h, maka kita akan

melakukan pendaftaran dalam

program melalui sintaks berikut :

#include <iostream.h>

Analogi :

5

Page 6: C++ Finale

kerangka program c++

program yang ditulis dalam bahasa c++ selalu memiliki sebuah fungsi utama

dengan nama main() dengan tujuan sebagai permulaan/awal ketika program

dijalankan.

Sedangkan kata int didepan main() menyatakan bahwa program memberikan

nilai balik bertipe int. tipe int adalah tipe yg menyatakan bilangan bulat.

Fungsi dari cout : perintah untuk menampilkan teks untuk informasi. berupa

informasi biasa atau informasi penginputan data/nilai.

fungsi dari cin: perintah untuk menginput nilai dan menyimpannya ke variabel

yang sudah dideklarasikan sebelumnya.

fungsi \n dan <<endl : berfungsi untuk memberikan jarak perbaris diantara

keterangan yang kita buat didalam cout.

6

Page 7: C++ Finale

B.Komentar, Identifier dan Tipe Data

Pada dunia pemrograman kita tidak terlepas dari penggunaan tipe data dan

pengenal atau pengidentifikasi (identifier).

1Komentar

Int x; //mendeklarasikan variabel berupa bilangan x

Int x /* mendeklarasikan variabel berupa bilangan x */

2.Identifier

Identifier/variabel adalah suatu pengenal atau pengidentifikasi yang kita

deklarasikan agar kompiler dapat mengenalinya.

Dalam menentukan indentifier kita harus memperhatikan hal-hal berikut:

Case sensitive : Penggunaan huruf kecil dan huruf besar dibedakan

Indentifier tidak boleh angka atau diawali dengan karakter yang berupa angka

Identifier tidak boleh menggunakan karakter simbol

Identifier tidak boleh menggunakan kata kunci(key word).

Konstanta :

Jenis identifier yhang bersifat konstan atau tetap artinya nilai dari program tidak

dapat diubah.

Dalam c++ kita harus menggunakan preprosesor dengan kata kunci #define

selain cara diatas kita dapat mendefinisikan sebuah konstanta dengan

menggunakan kata kunci const.

Bentuk umum :

tipe data nama_konstanta = nilai_tetapan;

7

Page 8: C++ Finale

variabel biasa :

Variabel global : pendeklarasian nama variabel diluar fungsi utama.

Variabel lokal:pendeklarasian variabel didalam fungsi utama.

Inisialisasi variabell :

Ada kalanya dalam penulisan program kita melakukan inisialisasi nilai

/pengisian nilai terhadap sebuah variabel yang dideklarasikan. Artinya jika kita

tidak melakukan pengisian nilai terhadap variabel, maka variabel masih berisi nilai

default.

Variabel biasa dan variabel statis :

Variabel biasa: diterapkan dalam fungsi dan variabelnya hanya akan dikenal

didalam fungsi sajadikenali didalam fungsi saja dan nilai yang dihasilkan

setelah nilai fungsi selalu sama.

Variabel statis : diterapkan didalam suatu fungsi sehingga nama variabelnya

hanya akan dikenali didalam fungsi saja, namun perlu diperhatikan bahwa nilai

akan selalu disimpan dan setiap pemanggialan fungsi yang sama pasti akan

memberikan hasil yang berbeda.

3.Tipe data

Tipe data berfungsi untuk mengartikan jenis dari sebuah nilai yang terdapat dalam

sebuah program.

Tipe data dasar

Tipe bilangan bulat (int, unsigned int, signed int, short int, unsigned short

int,long int)

8

Page 9: C++ Finale

Tipe bilangan rill/koma/pecahan (float,double,long double)

Tipe logika (1 dan 0 )

Tipe karakter/string.

tipe ini mengartikan data-data yang berupa karakter dinyatakan char.

sedangkan untuk string dinyatakan char*

Jenis operator logika :

operator Jenis

operasi

contoh

&& And (dan) 1 && 1=

1

|| Or (atau) 1 || 0 = 1

! Not

(negasi)

!0 = 1;

Tipe data bentukan :

Tipe data yang dibuat sendiri sesuai kebutuhan dalam program yang kita buat.

Contoh tipe data bentukan : struktur dan enumerasi

Struktur : tipe data yang mampu menyimpan lebih dari satu variabel dengan

bertipe sama atau berbeda.

9

Page 10: C++ Finale

Enumerasi : tipe data yang nilainya terbatas pada nilai yang telah

didefinisikan saja. Tipe enumerasi digunakan untuk membentuk tipe data

yang nilainya bersifat pasti. Misalnya jenisi kelamin

10

Page 11: C++ Finale

C.Fungsi Siap Pakai

Didalam C++ terdapat beberapa fungsi yang siap pakai yang berguna untuk

menyelesaikan masalah-masalah yang berkaitan dengan string. Untuk

menggunakan fungsi-fungsi tersebut kita harus mendaftarkan file header string.h

Berikut jenis-jenis fungsi yang siap pakai :

Fungsi strcpy : berguna untuk melakukan penyalinan (copy ) string dari var

S1 ke var S2.

Fungsi strncpy : Fungsi ini berguna untuk menyalin string sebanyak n

karakter dari variabel s2 ke variabel s1.

Fungsi strlen : Berfungsi untuk mengembalikan panjang string dari s

Fungsi strchr : Fungsi ini mencari lokasi dari suatu string . Jika karakter

ditemukan, maka fungsi ini akan mengembalikan pointer dari string yang

dimulai dari karakter tersebut, tetapi jika tidak maka fungsi akan

mengembalikan nilai 0.

Fungsi strlwr : Fungsi ini akan mengubah string yang tersimpan divariabel

s menjadi huruf kecil.

Jenis-jenis operator

1. Operator assignment :

Operator yang berfungsi untuk memasukkan (assign) nilai kedalam suatu variabel

ataupun konstanta. Operator ini dilambangkan dengan sama dengan / =

2. Operator unary :

+ : membuat nilai positif

- : membuat nilai negatif

++ : increment

11

Page 12: C++ Finale

-- : decrement

3.Operator Increment :

Suatu penambahan nilai yang terjadi pada sebuah variebel.

Pre-increment : melakukan penambahan nilai sebelum suatu variabel itu

diproses.

Post-increment : kebalikan pre-increment, melakukan proses terlebih dahulu

sebelum dilakukan penambahan nilai.

4.Operator Decrement

Merupakan kebalikan dari proses increment yaitu menurunkan (mengurangi ) nilai

dari suatu variabel, sama juga seperti pada increment dibagi kedalam dua jenis

yaitu : pre-decrement dan post-decrement.

5.Operator binary

Adalah operator yang digunakan dalam operasi yang melibatkan dua operand.

Dalam c++ operator binary ini dikelompokkan kedalam 4 jenis , operator

aritmatika, operator logika, operator logika , operator relasional, dan operator

bitwise.

12

Page 13: C++ Finale

D.PERCABANGAN / SELEKSI

Suatu permasalahan yang pasti ditemukan dalam pembuatan program adalah

suatu percabangan/seleksi. Percabangan yang dimaksud pemilihan statement

yang akan dieksekusi dimana seleksi tersebut didasarkan pada kondisi tertentu.

Di dalam C++ terdapat dua buah jenis struktur yang digunakan dalam percabangan

:

If

switch

Struktur if satu kondisi

If (kondisi)

{

Statemen1;

Statemen2;

}

Switch

Selain menggunakan struktur if, C++ juga menawarkan untukdapat

melakukan pemilihan dengan menggunakan keyword switch. Bentuk umum dari

bentuk percabangan yang menggunakan keyword switch ini adalah sebagai

berikut:

13

Page 14: C++ Finale

Switch (kondisi)

{

Case nilai_konstan1: stamen1;break;

Case nilai_konstan2: stamen2;break;

Case nilai_konstanN:stamenN;break;

Default:(Stamen_alternatif)

Tipe data diatas harus bilangan bulat atau karakter, selain tipe tersebut tidak di

ijinkan. Sedangkan statemen default berguna untuk mengeksekusi statemen

alternatif yaitu jika nilai yang dimasukkan tidak sesuai dengan nilai yang diinput.

Statement break berfungsi untuk sebagai statement untuk memberhentikan

program dan peloncatan statemen peloncatan, akan kita bahas lebih detail di

dalam bab perulangan.

14

Page 15: C++ Finale

E.Perulangan

Pengulangan adalah suatu proses yang melakukan statemen-statemen dalam

sebuah program secara terus-menerus sampai terdapat kondisi untuk

menghentikannya.

Struktur pengulangan akan sangat membantu dalam efisiensi program.

Jenis-jenis perulangan :

Struktur for

Struktur while

Struktur do- while

1.Struktur for

Struktur pengulangan for digunakan untuk melakukan pengulangan yang telah

diketahui banyaknya perulangan.

Perlu untuk diperhatikan bahwa tipe data yang mempunyai urutan yang teratur

misalnya tipe data int atau char.

2.Struktur while

Struktur pengulangan jenis ini adalah pengulangan yang melakukan pengecekan

kondisi awal blok struktur. Pada struktur while perulangan akan dilakukan jika

kondisi yang didefinisikan didalamnya terpenuhi (bernilai benar), jika kondisi

yang didefinisikan tidak terpenuhi (bernilai salah) maka statemen-statemen yang

terdapat dalam blok pengulangan tidak pernah dieksekusi program atau program

akan berhenti untuk mengeksekusi perulangan.

3.Struktur do-while

15

Page 16: C++ Finale

Berbeda dengan struktur while yang melakukan pengecekan kondisi di awal blok

perulangan, pada struktur do-while kondisi justru ditempatkan dibagian akhir, hal

ini menyebabkan struktur perulangan minimal akan melakukan satu kali proses

perulangan walaupun kondisi tidak terpenuhi (bernilai salah).

16

Page 17: C++ Finale

F.Statement Peloncatan dan Pointer

Jika kita menggunakan struktur pengulangan, sering kali kita dituntut untuk

melakukan peloncatan peloncatan statement. Kata peloncatan disini artinya kita

memaksa agar pengeksekusian statemen berjalan sesuai urutan yang kita inginkan.

Didalam bahasa c++ ada 4 jenis fungsi untuk melakukan peloncatan :

-break

-continue

-goto

-exit()

Kata kunci break berfungsi untuk menghentikan proses pengulangan dan

program akan langsung meloncat kestatemen yang berada dibawah blok

pengulangan yang bersangkutan.

Kata kunci continue berfungsi untuk melakukan untuk melanjutkan proses

pengulangan, dengan kata lain continue akan menyebabkan program meloncata ke

statemen awal yang terdapat dalam blok program.

Kata kunci goto jika ditinjau dari bahasan mengenai struktur pengulangan

penggunaan goto ini dapat mewakili pengunaan kata kunci break dan maupun

continue, tergantung dimana kita menempatkan label, label disini berfungsi untuk

menyatakan lokasi yang akan dituju. Dan perlu diperhatikan penulisan label harus

ditandai dengan titik dua ( : ) dibelakang nama label.

17

Page 18: C++ Finale

Kata kunci exit ()

Berbeda dengan kata kunci peloncatan yang lain fungsi exit() ini berfungsi untuk

proses terminasi atau keluar dari program. Namun perlu diperhatikan bahwa

dalam menggunakan fungsi exit() kita harus memasukkan file header <cstdlib>

agar nantinya fungsi exit() bisa dibaca compiler.

Pointer

Secara definisi pointer dapat dikatakan sebagai suatu variabel yang

menyimpan alamat dimemori. Jika kita mempunyai variabel dengan tipe data

tertentu maka untuk mendapatkan alamat dari variabel tersebut kita harus

menggunakan operator &. Alamat inilah yang kemudian akan disimpan kedalam

variabel pointer.

Sedangkan untuk mendeklarasikan variabel sebagai pointer kita cukup

menambahkan tanda asterisk ( * ) didepan nama variabel.

Bentuk umum variabel yang bertipe pointer :

Tipe_data *nama_pointer;

Dapat juga diganti dengan :

Tipe _data* nama_pointer atau tipe_data * nama_pointer

Pada gambar diatas alamat 1 dari memori ditempati oleh variabel x yang bertipe

long. Adapun nilai dari variabel x tersebut adalah 10. diatas kita mempunyai

pointer P yang menunjuk kealamat x, maka untuk mendapatkan nilai x kita dapat

18

Page 19: C++ Finale

menggunakan dereference pointer, yaitu dengan *p. Dengan demikina dapat

disimpulkan

P= &x; // keduanya meyimpan alamat.

*p=x; //keduanya menyimpan nilai.

Memasukkan nilai pada pointer yang dimaksud bukan nilai yang selama ini kita

bayangkan yaitu nilai data ,akan tetapi berupa alamat.

Pointer tanpa tipe

Supaya pointer bisa dibaca oleh variabel atau lebih tepatnya menunjuk kesumua

tipe data, yaitu dengan cara mendeklarasikan pointer tersebut sebagai pointer tanpa

tipe. Penulisannya void pointer

Bentuk umum :

void *nama_pointer;

Berikut program contoh program pointer tanpa tipe (void pointer)

int main()

{

void *p;

int x;

p= &x; //memerintahkan p untuk untuk menuju ke alamat dari var x

x=10;

cout<<"nilai X : "<<x<<endl;

cout<<"nilai &X : "<<&x<<endl;

19

Page 20: C++ Finale

G.Array

Array adalah sebuah variabel yang menyimpan sekumpulan data yang

memilili tipe data sama.Setiap data tersebut menempati lokasi atau alamat memory

yang berbeda beda dan selanjutnya disebut dengan element array.

Untuk mendeklarasikan sebuah array dalam C++, kita harus menggunakan

tanda [ ] (bracket). Adapun bentuk umum dari array :

Tipe_data nama_array[jumlah_elemen];

Menampilkan nilai yang terdapat pada array

setelah memahami cara mengisikan nilai kedalam array sekarang kita akan

membahas bagaimana cara untuk mengakses atau menampilkan nilai-nilai yang

sudah kita input.

Melakukan inisialisasi array

Pada saat kita mendeklarasikan array kita dapat langsung melakukan

inisialisasi nilai terhadap elemen-elemen array didalamnya. Hal ini dimaksudkan

untuk mengisikan nilai default pada elemen array.

//mendeklarasikan array dengan langsung menginisialisasi nilainya

int a[5]={10,20,30,40,50};

//menampilkan nilai yang terdapat pada elemen array

cout<<"menampilkan nilai yg sudah dilakukan inisialisasi"<<endl;

cout<<"a[0]= "<<a[0]<<endl;

cout<<"a[1]= "<<a[1]<<endl;

20

Page 21: C++ Finale

cout<<"a[2]= "<<a[2]<<endl;

cout<<"a[3]= "<<a[3]<<endl;

cout<<"a[4]= "<<a[4]<<endl;

Melakukan pencarian pada elemen array

Salah satu permasalahan yang sering muncul pada saat kita menggunakan

array adalah tuntutan untuk melakukan pencarian elemen array.

Mengurutkan elemen array

Metode untuk mengurutkan elemen array dapat dilakukan dengan metode

gelembung (buble sort). Maksimum –minimum.

21

Page 22: C++ Finale

Contoh Program C++

1.Source code penggunaan cout

Source code :#include <iostream.h>int main(){

cout<<"Welcome to C++ !" ;

return 0;}

Hasil Output /Printout :

2.Keliling dan Luas Persegi

Source code :

# include<iostream.h>

main() {

22

Page 23: C++ Finale

int s;int Kel;int Luas;

cout<<"Silahkan masukkan sisi:";cin>>s;cout<<endl;

Kel=4*s;Luas=s*s;

Cout<<”Keliling Persegi dengan sisi "<<s<<” : “<<Kel<<endl;Cout<<"Luas Persegi dengan sisi "<<s<<” : “<<luas<<endl;

Return 0;}

Hasil Output /Printout :

3.Menghitung Luas dan Keliling Lingkaran

Source code: # include<iostream.h>

main()

23

Page 24: C++ Finale

{

int r;float kel;float luas;float phi=3.14;

cout<<"Silahkan masukkan Jari-Jarinya:";cin>>r;cout<<endl;

kel=2*phi*r;luas=phi*r*r;

Cout<<"Keliling Lingkaran dengan Jari-Jari "<<r<<”:”<<,kel<<endl;Cout<<”Luas Lingkaran dengan Jari-jari”<<r<<”:”<<luas;Return 0;}

Hasil Output /Printout :

24

Page 25: C++ Finale

Penutup

Demikian yang dapat kami paparkan mengenai materi yang menjadi pokok

bahasan dalam makalah ini, tentunya masih banyak kekurangan dan

kelemahannya, kerena terbatasnya pengetahuan dan kurangnya rujukan atau

referensi yang ada hubungannya dengan judul makalah ini.

Penyusun banyak berharap para pembaca yang budiman memberikan kritik

dan saran yang membangun kepada penyusun demi sempurnanya makalah ini

dan penyusunan makalah di kesempatan-kesempatan berikutnya. Semoga

makalah ini berguna bagi penyusun pada khususnya juga para pembaca yang

budiman pada umumnya.

25