c++ finale
TRANSCRIPT
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
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
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
menjadi bahasa berorientasi obyek yang digunakan oleh sebagian besar pemrogram
professional.
4
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
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
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
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
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
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
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
-- : 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
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
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
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
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
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
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
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
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
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
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
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
{
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
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