PEMOGRAMAN BERORIENTASI OBJEK
1 . C+ + & PBO S. Indriani
O Se kilas Lintas ni L., M.T Histo ry o f C and C+ + BCPL 1967
: By Ken Thompson By Mar tin Richards Lang. to write O S Used to create early UNIX @ Bell B lab's 1970 NO Data Type NO Data Type
- + By Dennis Ritchie ie @ Bell lab’s OO Features
- - C : -UNIX written en in C HW Indepen endent - many versions in l late 1970’s
- + By Bjarne Stroustrap C+ + : Standard ANSI C
+ +
+ +
OO Features- Penjualan (Sales/ Marketing ing)
- Akunting (Finance)
- Personalia (HRD)
- Reusability
- Dapat menggongong
- Berkaki empat
- tujuan/ fungsi program
- saat program dibuat atau dire revisi
- keterangan-keterangan lain te tentang kegunaan sejumlah pernyataan dalam program
- Huruf
- Digit
- Simbol dan lain-lain
- - + _ * …dsb
- Variabel Variabel digunakan dalam lam program untuk menyimpan suatu nilai, d dan nilai yang ada padanya dapat diubah selama ekse ksekusi program berlangsung
- Konstanta Konstanta menyatakan n nilai yang tetap. Misalnya, 234 adalah sebuah konst stanta bilangan bulat.
- Menjumlahkan dua buah nil
- Memberikan nilai ke suatu v
- Memberikan nilai ke suatu v
- Membandingkan kesamaan
- Penjumla lahan
- Penguran angan
- Perkalian an / Pembagia ian % Sisa Pemb bagian (modulus)
- Tanda Mi + Tanda plu
+ -- (khusus yang berkedudukan seba bagai awalan) Ter tinggi
- (Unary minus)
- / %
- O perator P Penaikan ( increment ) O perator P Penurunan ( ) --
- r
- ditempatkan di depan, dise dijumlahkan dengan 10 dan dib
- = x+ = 2; Kep -= x-= 2; Kep *= x*= 2; Kep / = x/ = 2; Kep %= x%= 2; Kep < = x< = 2; Kep > = x> = 2 Kep &= x&= 2 Kep | = x| = 2; Kep ^= x^= 2 Kep
- benar kalau ungkapan ber ni nilai salah
- salah kalau ungkapan ber nil nilai benar
- komplemen) -25 Bitwise NOT (k
- Kondisi
- Pernyataan
- l ong kuadr at ( l ong l ) l ) ;
- i nt maks3( i nt a, i nt nt b, i nt c) ;
- doubl e maks( doubl e x x, doubl e y) ;
- voi d gar i s( ) ;
Early 1980s @ Bell lab’s ُ
In 1980 was approved Provides O O programming
: In 1 n 1995 by Java
Sun Micro crosystems C & C+ + Tahun 1960, ditemukan suatu pe pembuatan program yang structured programming ing terstuktur (
). Metode ini dikembangkan dari bahasa C dan Pascal.
Dengan program yang terstruktu ktur inilah untuk per tama kalinya kita mampu menulis program ya yang begitu sulit dengan lebih mudah.
C adalah bahasa pemograman ter tersruktur, yang membagi program dalam bentuk sejumlah blok. Tuj ujuannya adalah untuk memudahkan dalam pembuatan dan pengembangan program.
Program yang ditulis dengan me enggunakan bahasa C mudah sekali
untuk dipindahkan dari satu jeni nis mesin ke mesin lainnya.Hal ini berkat adanya standarsasi asi bahasa C yaitu berupa standar ANSI (American National Standa dard Institute) C & C+ + C+ + diciptakan 1 dekade se setelah C.
Bahasa ini bersifat kompatib tibel dengan bahasa pendahulunya. Keistimewaa aan yang sangat berar ti pada
C+ + adalah karena bahasa i ini mendukung pemograman
Object Oriented yang berorientasi objek (PB BO ) atau O O P ( Programming ).
Tujuan utama pembuatan C C+ + adalah untuk meningkatkan produktivitas tas pemogram dalam pembuatan aplikasi.
Ide dasar pada bahasa be berorientasi objek adalah mengkombinasikan data ata dan fungsi untuk mengakses data menjad adi kesatuan unit.
Object Unit ini dikenal dengan Unit ini dikenal dengan an nama an nama Objek Objek ( ( ). ).
Kelas (class) adalah kum umpulan dari beberapa objek yang sama.
O byek sebenar nya mencermin inkan pola kerja manusia dalam kehidupan sehari hari. Sebuah ah objek dapat diibaratkan sebagai depar temen-depar tem men didalam sebuah perusahaan bisnis.
Contoh depar temen:
Pembagian depar temen dalam m perusahaan merupakan upaya untuk memudahkan pengoper erasian perusahaan.
Adapun gambar dibawah me objek yang menganalogikan melukiskan hubungan antar an struktur di perusahaan Karakte ristik PBO
Tiga karakteristik utama obyek adalah:
Encapsulation
Encapsulation
Inheritance Polymorphism
O dari bahasa yang berorientasi
reusability
Tiga karakteristik tersebut me mendukung , yang merupakan salah satu faktor d dari kualitas perangkat lunak.
adalah suatu sifat fat yang telah dibuat dan diuji dapat didistribusikan ke pem emogram lain untuk dipakai pada program-program me ereka.
Hal ini mempunyai kesamaan Hal ini mempunyai kesamaan an dengan penulisan fungsi- an dengan penulisan fungsi-
fungsi bahasa prosedural yang ng kemudian diletakkan dalam pustaka (library)
Perbedaannya, tingkat kepem makaianan kembali pada program berorientasi objek le lebih tinggi daripada bahasa prosedural. Dikarenakan pem mogram dengan mudah dapat menurunkan sifat-sifat dari su suatu kelas dan menambahkan sifat-sifat bar u (berkat adanya ya kemampuan inheritance) Enc apsulatio n (Pe ng ngkapsulan)
Pengemasan data dan fungsi dalam wadah ber nama objek
Encap capsulation dikenal dengan sebutan (pengkapsulan).
Data tidak lagi diperlakukan an sebagai komponen kedua setelah fungsi, melainkan me setelah fungsi, melainkan me empunyai kedudukan yang empunyai kedudukan yang sama dengan fungsi Inhe ritanc e (Pewaris risan) Inheritance
(pewarisan) merup rupakan sifat dalam bahasa berorientasi objek yang mem mungkinkan sifat-sifat dari suatu kelas diturunkan ke kelas lain ain. Analogi dengan dunia nyata
Misalnya pada Anjing. Anjing sebagai kelas mempunyai sifat
antara lain: antara lain:
Pinky Pinky
Apabila adalah anjing, m maka juga memiliki sifat- sifat umum dari anjing. Tetapi api tentu saja, Pinky juga bisa mempunyai sifat yang lain, m misalnya pendiam dan galak. Po lymo rphism (Po lym mo rfisme ) Polymorphism
merupakan suatu konsep yang menyatakan sesuatu yang sama dapat memiliki berb rbagai bentuk dan perilaku yang berbeda. Istilah ini sendiri bera erasal dari bahasaYunani, yang berar ti “mempunyai banyak be bentuk”
polymorphism polymorphism
Salah satu jenis Salah satu jenis pa pada C+ + dapat dikenakan pada pa pada C+ + dapat dikenakan pada
overloading fungsi atau operator dan diken enal dengan istilah .
Sebagai contoh, Anda dapat m membuat suatu fungsi ber nama gambar.
Kalau Anda hanya meny nyertakan posisi x dan y saja maka yang digambar adalah titik. Kal alau yang disertakan adalah dua pasang x dan y makan hasilnya ya berupa garis. Adapun kalau yang diser takan adalah posisi x dan y ser ta jari-jari, yang digambar
Co nto h:
gambar(x,y); gambar(x1, y1, x2, y2); gambar(x, y, 5); gambar(x, y, 5); menggambar titik menggambar garis menggambar lingkaran menggambar lingkaran
2 . Pe nge nalan S. Indrian n Pro gram C+ + ani L, M.T
1 . Co nto h pro gram C+ + Sebuah contoh program C+ + + yang sangat sederhana:
#i ncl ude <i ost r eam. h> > voi d mai n( ) {
cout <<“ Hai , Sel ama mat menggunakan C++. ” ;
}
Program C+ + tidak pernah le lepas dari fungsi. Sebab fungsi adalah salah satu dasar penyusun blok lok pada C+ + .
Sebuah program C+ + minim mal mengandung sebuah fungsi, yaitu
fungsi main()
2 . Fungsi main() main adalah nama judul fu fungsi. Sedangkan:
{
cout <<“ Hai , Sel el amat menggunakan
C++. ” ; }}dimulai dari tanda { hingg gga tanda } disebut tubuh fungsi. Atau lebih spesifik, semua ua yang terletak didalam tanda {} disebut blok .
Tanda { pada fungsi main in() (awal tubuh fungsi) menyatakan awal eksekusi si program.
Adapun } pada fungsi main ain() merupakan akhir dari
Tanda () yang digunakan u untuk mengapit argumen fungsi,
yaitu nilai yang akan dilew watkan ke fungsi. Pada fungsi
main () seper ti pada cont ntoh, tidak ada argumen yang diberikan. O leh karena itu itu tidak ada entri didalam ().
Kata Kata void void yang mendahul yang mendahul ului ului main() main() dipakai untuk dipakai untuk menyatakan bahwa fungsi ini tidak memiliki nilai balik
return value
( )
Didalam tanda { } bisa ter erkandung sejumlah unit yang stateme ment disebut pernyataan ( ).
3 . Pe rnyataan (State me nt) Baris: cout <<“ Hai , Sel amat menggunakan C++. ” ; merupakan contoh sebuah pe pernyataan.
Umumnya pernyataan berupa pa instruksi untuk menyuruh komputer melakukan sesuatu komputer melakukan sesuatu tu. Menampilkan tulisan ke layar, tu. Menampilkan tulisan ke layar, menghitung suatu operasi ari ritmatika, membaca data dari keyboard.
Setiap pernyataan harus diakh khiri dengan tanda titik koma (;).
Kealpaan dalam memberikan an tanda ini akan menyebabkan kompiler memberikan pesan an kesalahan selama waktu kompilasi.
4 . Me nge nal c o ut
Pengenal cout merupakan o obyek didalam C+ + , disediakan untuk mengarahkan data ke standard output (nor malnya adalah layar)
cout <<“ Hai , Sel amat at menggunakan C++. \ n” ;
Tanda < < (dua buah tanda k kurang berurutan) merupakan sebuah operator “penyisipan an/ peletakan”.
O perator ini akan mengarah ahkan operand (data) yang terletak di sebelah kanannya ke obye yek yang ada di sebelah kiri.
Pada contoh diatas, konstant nta String: “ Hai , Sel amat mengg ggunakan C++. \ n” diarahkan ke cout , yang me emberikan hasil berupa tampilan string ter sebut ke layar.
5 . # inc lude < io stre am.h>
Baris:
#i ncl ude <i ost r eam. h . h>
Bukanlah suatu pernyataan tidak ada titik koma yang diperlukan.
Dalam hal ini file-file yang b berakhiran dengan .h disebut file
header, header,
yaitu file-file yang ber yaitu file-file yang ber erisi berbagai deklarasi, seper ti erisi berbagai deklarasi, seper ti fungsi, variabel dan sebagain inya.
Perlu diser takan pada progra gram yang melibatkan obyek cout.
Tanpa kehadiran baris terseb sebut akan terjadi kesalahan sewaktu program dikompila ilasi Sebab file iostream.h berisi deklarasi yang diperlu lukan oleh cout dan berbagai obyek yang berhubungan den dengan operasi masukan-keluaran
stream pada .
6 . c lsc r() untuk me nghapus layar
Perintah untuk menghapus us layar biasa dilibatkan dalam
program. Pernyataan yang ng diperlukan untuk keperluan ini berupa:
cl r scr ( ) ;
Apabila pernyataan diatas as digunakan, baris berikut:
#i ncl ude <coni o. h h> perlu diser takan pada prog ogram. Kehadirannya sangat membantu ntu pemogram ataupun orang lain dalam memahami program. Da Dalam hal ini penjelasannya bisa berupa:
Pada C+ + suatu komentar diaw iawali dengan dua tanda garis miring
(/ / ). Bagi kompiler hal ini tida dak berguna dan akan diabaikan pada saat kompilasi
Selain menggunakan / / , kome entar pada C+ + juga dapat ditulis
dalam bentuk:
/ * koment ar * / Tugas
Buatlah sintaks program C+ + un untuk menampilkan tulisan pada layar:
Diisi sesuai dengan nama “ Halo, perkenalkan nama saya … … … ” mahasiswa dan mahasiswa dan semester
“Saya kuliah di UNIKO M S Semester… ..” “ Sekian dan terima kasih”
Dikerjakan pada kertas A4 d ditulis tangan!
3 . Ele me n D S. Indriani n Dasar C+ + ni L., M.T Himpunan k karakte r Suatu pengenal berupa satu a u atau beberapa karakter
A B C D E F G H I J K L M M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o o p q r s t u v w x y z
0 1 2 3 4 5 6 7 8 9
Pe nge nal (
Pengenal adalah suatu nama pemograman untuk menyat variabel konstanta bernama tipe data
fungsi label objek ser ta hal-hal lain yang didek oleh pemogram.
(ide ntifie r) a yang biasa dipakai dalam atakan: eklarasikan atau didefinisikan Pe namaan P n Pe nge nal
Pada C+ + , huruf kecil dan an huruf kapital pada suatu pengenal tidak dianggap sa sama.
Cas ase Sensitive Sifat ini dikenal dengan .
Contoh pengenal absah dan an tidak absah.
Absah Tidak Absah nama 2 semester (tidak boleh diawali angka) NAMA Nama-barang (tanda – tidak diperkenankan) nama_barang # brg (simbol # tidak boleh digunakan) kuar tal_2 nama barang (tidak boleh mengandung spasi)
Untuk menghindari kesal alahan, pengenal tidak boleh menggunakan nama ma yang tergolong sebagai kata kunci.
Harus pula dihindari pem Harus pula dihindari pem makaian pengenal yang makaian pengenal yang
dipakai untuk nama fungs gsi, konstanta, variabel ataupun hal lain yang digu igunakan pada pustaka C+ + (contohnya seper ti cout )Kata K Kata kunci ( keyword
) adalah pen makna khusus bagi kompiler.
Kegunaan dari golongan ini tida
asm else opera auto enum privat break extern protec break extern protec case float public char for regist class friend return const goto shor t continue if signed default inline sizeof delete int static do long struct double new switch
Kunc i
engenal sistem yang mempunyai dak dapat diubah.
rator template ate this tected typedef tected typedef lic union ister unsigned rn vir tual void ed volatile of while ct tch
Tipe D Data
Tipe Sebutan dalam Ukuran Range bahasa C+ + (bits)Character unsigned char 8 0 s/ d 255 char atau signed char 8 -128 s/ d 127 Interger unsigned int atau unsigned
16 0 s/ d 65,535 int atau signed int atau signed 16 -32,768 s/ d 32,767 unsigned long 32 0 s/ d 4,294,967,295 atau unsigned long int long atau long int atau signed d long 32 -2,147,483,648 s/ d atau signed long int
2,147,483,647 Floating point Float
32
3.4 E-38 s/ d 3.4 E38 single precision Floating point double
64
1.7E-308 s/ d 1.7E308 double precision long double
80
3.4E-4932 s/ d 1.1E4932 Variabe l dan K Ko nstanta
Data pada C+ + tersusun d dari:
contoh: i nt j uml ah; f l oat har ga_p _per _uni t , t ot al _penj ual an;
Memberikan nilai ke varia riabel: variabel= nilai;
contoh: j uml ah=10; har ga_per _uni ni t =17. 5;
Karakte r-karak Karakter
\ 0 Karakter ber-ASCII nol (k \ a Karakter bel \ b Karakter backspace \ f Karakter formfeed (ganti h \ n Karakter newline (pindah \ r Karakter carr iage return ( \ t Karakter tab horisontal \ v Karakter tab vertikal \ ooo Karakter yang nilai oktalny \ xhh Karakter yang nilai heksad heksadesimal) akte r khusus
Keterangan karakter nul) halaman) baris) (ke baris awal) tanpa linefeed lnya adalah ooo (3 digit oktal) adesimalnya adalah hh (dua digit Ope rato r
1. Operator Assign (= )
2. Operator Aritmatika (+ , -, *, /
3. Operator Penurunan (--) dan
4. Operator Majemuk (+ = , -= , * 5. Operator Relasional (= = , != ,
6. Operator Logika ( !, &&, | | ) 7. Operator Kondisi (?:) , / , %) n Kenaikan (+ + ) , *= , / = , %= , < < = , > > = , &= , | = ) , > , < , > = , < = )
)
Pe ngantar
O perator merupakan simbol y program untuk melakukan ses Misalnya:
Sifat operator:
Sifat Ketera Unary O perator ini hanya melib Binary O perator ini melibatkan Ter nary O perator ini melibatkan ar Ope rato r
yang biasa dilibatkan dalam esuatu operasi atau manipulasi. nilai variabel variabel dua buah nilai
rangan Contoh libatkan sebuah operand -1 dua buah operand 1+ 2 tiga buah operand (a > b) ? a : b Ope ra rato r 1.
Operator Assign (= )
O perator (= ) akan memb berikan nilai kedalam suatu
variabel.
binary binary O perator O perator
Operator Keterangan
O perator Unary
Operator Ketera
Untuk operasi aritmat
rangan Contoh inus -2 lus + 4
atika memiliki prior itas ! Prio ritas Ope rato r Aritmatika a
O perator yang mempunyai prio ioritas tinggi akan diutamakan dalam hal pengerjaan dibandingk gkan dengan operator yang memiliki prioritas lebih rendah. .
Operator Prioritas
Terendah
Jika operator memiliki prioritas as sama (tabel diatas terletak pada baris yang sama), operator yang ng terletak di sebelah kiri dalam suatu ungkapan yang akan diutam tamakan untuk dikerjakan terlebih c o nto h prio ritas o pe r e rato r aritmatika x=2* 3%2;
operator * dan % mempunya yai prior itas yang sama, namun karena yang terletak d disebelah kiri adalah *, maka 2*3 akan dikerjakan terlebih 2*3 akan dikerjakan terlebih dahulu dahulu
Tanda kurung untuk menguba bah prior itas tanda kurung biasa digunakan an untuk mengubah urutan pengerjaan, misalnya:
x=( 2+3) * 2;
decrement
O perator penaikan digunaka kan untuk menaikkan variabel sebesar satu, sedangkan oper erator penurunan dipakai untuk menurunkan variabel sebesa sar satu. Penempatan operator terhadap variabel dapat dilak lakukan di muka atau dibelakangnya. contoh: x= x+ 1; bisa ditulis menjadi di + + x; atau x+ + ; y= y-1; bisa ditulis menjadi --y; atau y--;
Efek dari penempatan opera erator increment dibelakang
contoh:
i nt r =10; i nt s; hasilnya: r =11, s=20 s=10 + r ++;
s=10 + r ++; s=10 + r ++; identik dengan: s=1 =10+r ; r =r =r +1;
s diisi dengan penjumlahan n nilai 10 dan r, dengan demikian s
akan bernilai 20. setelah s di diisi dengan 20, nilai r baru dinaikkan (karena operator + + ditulis lis dibelakang, disebut post-increment ) yang artinya dinaikkan belak akangan setelah penjumlahan antara 10 dan r dilaksanakan) Efek dari penempatan operat
contoh:
i nt r =10; i nt s; s= 10 + ++r ;
s= 10 + ++r ; nilai r mula-mula dinaikkan terl
s= 10 + ++r ; identik dengan: r =r +1 s=10+
rator increment didepan :
hasilnya: r =11, s=21 erlebih dahulu (sebab operator sebut pre-increment
1;
) kemudian iberikan ke s.
Operator Contoh
digunakan untuk memendekkan
an penulisan operasi penugasan
Keterangan ependekan dari x= x+ 2; ependekan dari x= x-2; ependekan dari x= x*2; ependekan dari x= x/ 2; ependekan dari x= x%2; ependekan dari x= x< 2; ependekan dari x= x> 2; ependekan dari x= x&2; ependekan dari x= x| 2; ependekan dari x= x^2
/ / cont oh pr ogr am oper at #i ncl ude<i ost r eam. h> #i ncl ude<coni o. h> voi d mai n( ) { cl r scr ( ) ; i nt x = 2; cout << “ x = ” << x x+=3; cout << “ set el ah x+= x* =3; cout << “ set el ah x* =
} t or maj emuk
<< endl ; =3, x- > “ << x <<endl ; =3, x- > “ << x <<endl ; Ungkapa an Ko ndisi
Ungkapan kondisi adalah ung ngkapan yang menjadi dasar
ifbegi per nyataan berkondisi (m i (misalnya ), dimana ungkapan ini memberikan nil nilai benar dan salah. Hasil ungkapan berupa: 0 kalau ungkapan be 0 kalau ungkapan be bernilai salah. bernilai salah.
1 kalau ungkapan be bernilai benar.
Adapun elemen yang membe bentuk ungkapan ini adalah operator:
Relasi, dan Logika
O perator relasi biasa diguna dua buah nilai.
Operator K
Keterangan
= = Sama dengan (b = = Sama dengan (b != Tidak sama den > Lebih dari < Kurang dari > = Lebih dari atau < = Kurang dari ata nakan untuk membandingkan
bukan penugasan) bukan penugasan) engan au sama dengan tau sama dengan
Contoh:
x = = y hasil ungkapan ini bernilai: 1 kalau nilai x sama dengan 0 kalau nilai x tidak sama de y dengan y
/ / cont oh pr gr am oper at o #i ncl ude<i ost r eam. h> #i ncl ude<coni o. h> voi d mai n( ) { i nt ni l ai ; cl r scr ( ) ; ni l ai = 3>2; / / has cout << " ni l ai = " ni l ai = 2>3; / / has cout << " ni l ai = "
} t or r el asi
si l ungkapan: benar
" << ni l ai <<endl ;
si l ungkapan: sal ah
" << ni l ai <<endl ;
O perator Logika biasa digun unakan untuk menghubungkan
dua buah ungkapan kondisi m menjadi sebuah ungkapan kondisi.
O perator-operator ini berup upa: and and an an
&& && operator logika operator logika (dan) (dan)
or r
| | operator logika (atau)
not t
! operator logika (bukan)
O perator | | , &&, dan ! ( ungkapan1 | | ungkapa pan 2) ( ungkapan1 && ungkapa pan 2 ) ( ! ungkapan)
( ungkapan1 | | ungka apan 2)
Bentuk ungkapan menggunak akan operator AND, hasil
ungkapan1 ungkapan2
ungkapan ber nilai benar jika dan ber nilai benar
( ungkapan1 && ungka apan 2 )
Bentuk ungkapan mengunaka kan operator O R, hasil
ungkapan1 ungkapan1
ungkapan ber nilai benar hany ungkapan ber nilai benar hany nya kalau nya kalau dan dan
ungkapan2
ber nilai benar
( ! ungkapan)
Bentuk ungkapan menggunak akan operator NOT, hasilnya akan berupa:
/ / cont oh pr ogr am oper at or l o l ogi ka #i ncl ude<i ost r eam. h> #i ncl ude<coni o. h> voi d mai n( ) { i nt x = 200; cl r scr ( ) ; cout <<“ ( x>=1) &&( x<=50) - >” >” <<( ( x>=1) &&( x<=50) ) <<endl ; cout <<“ ( x>=1) | | ( x<=50) - >” >” <<( ( x>=1) | | ( x<=50) ) <<endl ;
}
O perator kondisi biasa dipakai ai untuk mendapatkan sebuah nilai dari dua buah kemungkina inan, berdasarkan suatu kondisi.
Format pemakaiannya: ungkapan1 ? ungkapan2 : : ungkapan3
Ada tiga ungkapan yang dilibat atkan. O leh karena itu operator ?:
tergolong sebagai operator tern ernary.pada bentuk seper ti diatas, has asil dari ungkapan berupa:
ungkapan2 ungkapan1
Nilai dari kalau ber nilai benar ungkapan3 ungkapan1
Nilai dari kalau ber nilai salah
/ / cont oh pr ogr am oper at o
#i ncl ude<i ost r eam. h> #i ncl ude<coni o. h> voi d mai n( ) { i nt bi l 1, bi l 2, mi ni m cl r scr ( ) ; bi l 1 = 53; bi l 2 = 6; mi ni m = bi l 1<bi l 1?bi cout <<" Bi l angan t er k
t or kondi si
i m; bi l 1: bi l 2; r keci l =" <<mi ni m<<endl ; Ope rato r Bitwise ( e (Manipulasi Bit)
Untuk keperluan memanipulas lasi data dalam bentuk bit, C+ +
menyediakan enam buah opera rator, sbb:
Operator Keter erangan Contoh < < Geser bit ke kiri iri
25< < 2 > > > > Geser bit ke kan Geser bit ke kan anan anan 25> > 2 25> > 2 & Bitwise AND
25&2 | Bitwise O R 25| 2 ^ Bitwise XO R
25^2
bitwise
Seluruh operator hanya bisa dikenakan pada operand ber tipe interger atau karakter. .
Kegunaan dari operator-opera rator ini diantaranya adalah untuk
mengakses bit secara individua ual didalam memori, misalnya pada memori gambar.
O perator bitwise mempunyai ai prior itas lebih rendah dibandingkan operator aritma atika.
Contoh: operator < < (geser k ke kiri)
nilai< < jumlah bit digeser ke kiri 0000000001011101 = 93 / / / / / / / / / / / / / / digeser er ke kiri 1 bit 0000000010111010 (bagian k kanan selalu disisipi 0)= 186
/ / cont oh pr ogr am oper at o #i ncl ude<i ost r eam. h> #i ncl ude<coni o. h> mai n( ) { unsi gned char x=93; cl r scr ( ) ; cout << “ ni l ai x semu x = x<<1; / / geser cout << “ ni l ai x ki ni
} or bi t wi se mul a= ” << x << ‘ \ n’ ;
er ke ki r i 1 bi t
ni = “ << x <<‘ \ n’ ; So al 1.
Buat program penggun unaan operator aritmatika
untuk menentukan nila ilai dari: d = b*b-4ac
dari suatu karakter mel dari suatu karakter mel elalui konversi tipe elalui konversi tipe
Jawaban
# include< iostream.h> # include< conio.h> void main() { char kar= ‘A’; clrscr(); cout< < “Nilai ASCII dari “< < < kar; < < “yaitu”< < int(kar)< < end endl;
}
S. Indriani 4 . Pe rnyata
S. Indriani ni L, M.T taan Dasar ni L, M.T Je nis Pe rn rnyataan
Pernyataan berkondisi
single repetion structure ure if
if_else double repetion st structure
multip tiple selection structure nested if, Switch nested if, Switch
Pernyataan berulang
while
do_while
for
Pe rnyataan be rko n o ndisi 1.
If 2. If_else 3. Nested_if, dan n switch _case
1 . If (Single Re pe titio n n Struc ture ) if
Pernyataan dapat dipakai u untuk mengambil keputusan berdasarkan suatu tu kondisi. salah if
if Pernyataan yang paling sed ederhana
(kondisi) berbentuk: benar i f ( kondi si ) i f ( kondi si ) pernyataan pernyataan per nyat aan;
digunakan untuk menent ntukan pengambilan keputusan
dapat berupa sebuah per nyataan ataupun per nyataan majemuk.
Pe ne rapan if
Penerapan if misalnya untuk menent entukan seseorang boleh menonton
pertunjukan bioskop atau tidak. Kon ondisi yang dipergunakan, seseorang boleh menonton jika sudah berusia 17 tahun.
Penulisan programnya sbb: #i ncl ude<i ost r eam. h> #i ncl ude<coni o. h> #i ncl ude<coni o. h> voi d mai n( ) { i nt usi a; cl r scr ( ) ; cout <<“ Ber apa usi a anda” ; ci n>>usi a; i f ( usi a<17) cout <<“ Anda t i dak di p i per kenankan menont on” <<endl ; }
2 . If-e lse (Do uble Re pe Pernyataan else
tidak pernah berd
i f ( kondi si ) per nyat aan_1 per nyat aan_1 el se per nyat aan_2 e tio n Sruc ture )
rdiri sendiri tanpa kehadiran
if .
1; kondisi salah
1; 2; Pernyataan_1 benar
Pernyataan_2 Ke mungkinan lain… Kemungkinan 1 i f ( kondi si ) per nyat aan_1; el se
Kemungk i f ( kondi per ny per ny el se per nyat aan_2; per nyat aan_3; per ny el se per ny
gkinan 2
i si ) yat aan_1; yat aan_2; Kemungkinan 3 i f ( kondi si ) per nyat aan_1; per nyat aan_2; yat aan_2; yat aan_3; per nyat aan_2; el se per nyat aan_3; per nyat aan_4; Pe ne rapan If-e ls e
Penulisan programnya sbb: #i ncl ude<i ost r eam. h> #i ncl ude<coni o. h> voi d mai n( ) { i nt usi a; cl r scr ( ) ; cout <<“ Ber apa usi a anda” ci n>>usi a; i f ( usi a<17) cout <<“ Anda t i dak d el se cout <<“ Sel amat meno
” ;
di per kenankan menont on” <<endl ; ont on” <<endl ;3 . If-e lse if, switc h-c ase (M Per nyataan if yang terl disebut nested if atau
i f ( kondi si _1 ) per nyat aan_1;
a. if-e lse if
per nyat aan_1; el se i f ( kondi si _2) per nyat aan_2; el se i f ( kondi si _3) per nyat aan_3; el se i f ( kondi si _M) per nyat aan_M; el se
(Multiple re pe tio n struc ture ) erletak didalam if sering au if bersarang
:
1; 1; 2; 3;
; / * opsi onal * / salah salah salah salah kondisi kondisi kondisi
1
2 M benar benar benar benar pernyataan1 pernyataan1 pernyataan1 pernyataan1 Co nto h pro gram #i ncl ude<i ost r eam. h> #i ncl ude<coni o. h> voi d mai n( ) { i nt usi a; cl r scr ( ) ; cout <<" Ber apa usi a Anda : “ ; ci n>>usi a; i f ( usi a<17) cout <<" Anda bel um di per b el se i f ( usi a>=17) cout <<" Anda di per bol ehka “ ; r bol ehkan unt uk mengambi l SI M" ; kan unt uk mengambi l SI M" ;
Kaidah umum pernyataan switc itch: swi t ch ( ungkapan) {
Perlu diketahui!
case ungkapan_1;
Bagian hanya default
per nyat aan_1; ;
akan dijalankan kalau ungkapan pada bagian
br eak; br eak;
tidak ada yang case
case ungkapan_2;
cocok dengan
per nyat aan_2; ; ungkapan .
switch
br eak; … def aul t :
/ * opsi onal * / per nyat aan_x; / * opsi onal * / } benar ungkapan = pernyataan_1; ungkapan1 break; salah benar benar benar benar ungkapan = pernyataan_1; ungkapan1 break; salah pernyataan_x;
/ / cont oh pr ogr am swi t ch_case #i ncl ude<i ost r eam. h> #i ncl ude<coni o. h> voi d mai n( ) { i nt x; cl r scr ( ) ; cout <<" masukkan angka: ” ; ci n>>x; swi t ch ( x) swi t ch ( x) { case 1: cout <<" x adal ah 1" ; " ; br eak; case 2: cout <<" x adal ah 2" ; " ; br eak; def aul t : cout <<" t i dak t er i ndent i f i f i kasi " ; }
Latihan
Susun program untuk men enginput 3 buah nilai integer (nilai ujian). Cetak perkata ataan “DITERIMA”, bila ketiga nilai tersebut berkat kategoti “lulus” (> = 60).
Selainnya bila ada nilai yan ang “tidak lulus”, maka cetak perkataan “TIDAK DITER RIMA”. Pe ke rjaan Rumah 1.
Susun program untuk menginp (nilai ujian mahasiswa)
Anggap nilai yang diinput ber ar tinya tidak dibawah 0 dan ti
Cetak huruf Cetak huruf A B C D E
Nilai yang anda masukkan salah
inputkan sebuah nilai interger erada dalam batas (0-100), tidak diatas 100
Bila nilai berada dalam batas: Bila nilai berada dalam batas: 80-100 70-79
60-69 40-59 0-39 > 100
Pe rnyataan be rula lang
1. while 2. do_while 3. for1 . While Pernyataan while merupakan salah satu pernyataan yang
berguna untuk memproses sua suatu pernyataan atau beberapa pernyataan beberapa kali
Bentuk pernyataan ini: whi l e ( ungkapan) { per nyat aan_1; per nyat aan_2; … per nyat aan_N;
} ungkapan pernyataan
benar benar
salah Akhir while Kapan pernyataan while digu igunakan?
pedomannya adalah jika anda da ber maksud menjalankan suatu proses secara berulang ng. Co nto h pro gram S ebuah gambaran pemakaian while C+ + sebanyak 10 kali.
#i ncl ude<i ost r eam. h> #i ncl ude<coni o. h> voi d mai n( ) {{ i nt i ; cl r scr ( ) ; i =0; whi l e ( i <10) { cout <<“ C++” <<endl ; i ++; } } ile untuk menampilkan tulisan
2 . do -while Pernyataan do_while juga berg proses.
Bentuk pernyataan:
do {{ per nyat aan_1; per nyat aan_2; … per nyat aan_N;
} whi l e( ungkapan) ; rguna untuk mengulang
pernyataan ungkapan benar salah
Akhir while Co nto h pro gram #i ncl ude<i ost r eam. h> #i ncl ude<coni o. h> voi d mai n( ) { i nt i ; cl r scr ( ) ; cl r scr ( ) ; i =0; do { cout <<" C++" <<endl ; i ++; } whi l e ( i <10) ; }
3 . fo r for
Pernyataan juga berguna untuk uk mengulang pengeksekusian terhadap satu atau sejumlah pernya yataan.
Bentuknya sebagai berikut: f or ( i ni si al i sasi ; kondi di si ; count er ) { per nyat aan; }}
Pernyataan akan diulangi jika kondi disi bernilai true Inisialisasi
: akan dieksekusi. Biasany nya merupakan variabel yang akan dipakai sebagai counter atau pencac cacah. Bagian ini hanya dieksekusi hanya sekali.
Kondisi
: akan diperiksa, jika bernila ilai true maka perulangan akan
dilanjutkan dan jika bernilai false m maka perulangan akan dilewati.
Pernyataan: akan dieksekusi. Co nto h pro gram #i ncl ude<i ost r eam. h> #i ncl ude<coni o. h> voi d mai n( )
Perhatikan cara penulisan { for(inisialisasi; kondisi;counter) i nt i ; i nt i ; cl r scr ( ) ; f or ( i =0; i <10; i ++) { cout <<" C++" <<e endl ; } } Ne ste d Lo o ps (Pe rula langan be rtumpuk)
Perulangan ber tumpuk secar ara sederhana dapat diar tikan: terdapat satu atau lebih loop p didalam sebuah loop.
Banyaknya tingkatan perulan angan, tergantung dari kebutuhan.
Biasanya, nested loops dig igunakan untuk aplikasi
matematika yang mengg ggunakan baris dan kolom loop luar biasanya digunak nakan digunakan untuk mendefinisikan baris, loop da dalam digunakan untuk mendefinisikan kolom. Co nto h pro gram #i ncl ude<i ost r eam. h> #i ncl ude<coni o. h> voi d mai n( ) { cl r scr ( ) ; f or ( i nt bar i s=1; bar i s< <=4; bar i s++) {{ f or ( i nt kol om=1; ko ol om<=5; kol om++) { cout <<kol om<<" " " ; } cout <<endl ; } }
Latihan 1.Buatlah program dengan tamp PBO PBO PBO PBO PBO PBO 2.
Buatlah program untuk mena
= = = = = = = = = = = = = = = = Pemograman berorientas = = = = = = = = = = = = = = = =
mpilan sbb: nampilkan:
= = = = = = tasi objek = = = = = = Pe ke rjaan Rumah
Buatlah program untuk membu buat tampilan sbb: 10 9 8 7 6 5 4 3 2 1 S STO P!
GUNAKAN PERINTAH WH HILE, DO_WHILE dan FOR! jawaban #i ncl ude<i ost r eam. h> #i ncl ude<coni o. h> voi d mai n( ) { i nt i ; cl r scr ( ) ; #i ncl ude<i os #i ncl ude<con voi d mai n( ) { i nt i ; cl r scr ( ) ; i =10; whi l e( i >0) { cout <<i <<" " ; i - - ; } cout <<" STOP! " ; } i =10; do { cout < i - - ; } whi l e( i >0) cout <<" STO } st r eam. h> ni o. h> #i ncl ude<i ost r eam. h> #i ncl ude<coni o. h> voi d mai n( ) { i nt i ; cl r scr ( ) ; <<i <<" " ; 0) ; TOP! " ; f or ( i =10; i >0; i - - ) { cout <<i <<" " ; } cout <<" STOP" ; }
S. Indriani 5 . Fu
S. Indriani ni L, M.T ungsi ni L, M.T Pe ngantar Fungsi
Sebuah fungsi berisi sejum mlah pernyataan yang dikemas dalam sebuah nama.
Nama ini selanjutnya dapat at dipanggil beberapa kali di
beberapa tempat dalam pro beberapa tempat dalam pro program program Tujuan pembuatan fungsi a adalah:
Memudahkan dalam meng ngembangkan program.
Menghemat ukuran progra gram.
Format penulisan:
Ti pe nama ( ar gumen1, ar g r gumen2, …) per nyat aan;
Co nto h pro gram untu tuk me mbuat
tampilan sbb:/ / cont oh pembuat an dan pemanggi l an f un #i ncl ude<i ost r eam. h> #i ncl ude<i omani p. h> #i ncl ude<coni o. h> voi d gar i s( ) ; voi d mai n( ) { cl r scr ( ) ; gar i s( ) ; / / panggi l f ungsi gar i s( ) cout <<set i osf l ags( i os: : l ef t ) ; cout <<set w( 26) <<“J U D U L B U K U” cout <<set w( 26) <<“J U D U L B U K U” gar i s( ) ; / / panggi l kembal cout <<set w( 26) <<“Mast er i ng Bor l and C cout <<set w( 26) <<“Tur bo C++ By Exampl gar i s( ) ; / / panggi l kembal i f ungsi } voi d gar i s( ) { i nt i ; f or ( i =0; i <49; i ++) { cout <<‘ - ’ ; } cout <<endl ; ngsi ( ) / / At ur r at a ki r i U” <<“ PENGARANG” <<endl ; U” <<“ PENGARANG” <<endl ; l i f ungsi gar i s( ) C++” <<“Tom Swan” <<endl ; pl e” <<“ Gr eg Per r y” <<endl ; si gar i s( )
Proto tipe Fungsi
Deklarasi fungsi dikenal d dengan sebutan prototipe
fungsi.Prototipe ini berupa:
Nama fungsi
Tipe nilai balik fungsi
Jumlah dan tipe argumen Jumlah dan tipe argumen n n dan diakhiri dengan titik-kom ma (;), sebagaimana pada pendeklarasian variabel.
Sebagai contoh:
Contoh per tama: fungsi kuadrat () mempunyai arg argumen ber tipe long dan nilai balik juga ber tipe long .
Contoh kedua:
fungsi maks3() memiliki tiga bua fungsi maks3() memiliki tiga bua uah argumen, masing-masing uah argumen, masing-masing ber tipe int dan nilai balik juga ber tipe int .
Contoh ketiga:
fungsi maks() mempunyai 2 bua uah argumen, dengan masing- masing argumen ber tipe doubl ble .
Contoh keempat: fungsi garis() tidak memiliki arg rgumen dan nilai baliknya tidak ada
Manfaat dari prototipe fungs gsi adalah untuk menjamin tipe argumen yang dilewatka tkan pada pemanggilan fungsi benar-benar sesuai.
Tanpa adanya prototipe fung ngsi, amatlah mudah bagi
pemogram untuk melakukan an kesalahan tanpa sengaja dalam melewatkan argumen en
Misalnya, melewatkan argum umen ber tipe float pada
fungsi yang semestinya mem minta tipe data int . maka
dengan adanya prototipe fun ungsi, kesalahan semacam
itu akan terdeteksi oleh kom mpiler.De finisi Fungsi Setiap fungsi yang dipanggil did idalam program har us didefinisikan. Letaknya dapat di dimana saja.
Contoh: l ong kuadr at ( l ong l ) {{ r et ur n( l * l ) ; }
Pada pendefinisian fungsi tidak terdapat tanda titik-koma. Ini
berbeda dengan prototipe fungs gsi, yang selalu diakhiri dengan titik koma.
Pernyataan return didalam fung ngsi digunakan untuk memberikan nilai balik fungsi. Co nto h pe nggunaan fungsi
/ / * cont oh pembuat an dan pemanggi l i l an f ungsi dengan ar gumen