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

      Early 1980s @ Bell lab’s ُ

    • + +

      In 1980 was approved Provides O O programming

    • + +

      OO Features

      : 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:

    • Penjualan (Sales/ Marketing ing)
    • Akunting (Finance)
    • Personalia (HRD)

      

      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.

    • Reusability

      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:

    • Dapat menggongong
    • Berkaki empat

       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:

    • tujuan/ fungsi program
    • saat program dibuat atau dire revisi
    • keterangan-keterangan lain te tentang kegunaan sejumlah pernyataan dalam program

      

     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

    • Huruf

    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

    • Digit

      0 1 2 3 4 5 6 7 8 9

    • Simbol dan lain-lain
      • - + _ * …dsb

      Pe nge nal ( 

      Pengenal adalah suatu nama pemograman untuk menyat  variabelkonstanta bernama   tipe data

       fungsilabelobjek 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:

    • 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.
    Me nde klarasikan & Me e nde finisikan variabe l  Pendefinisian variabel: tipe data_ variabel;

      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:

    • Menjumlahkan dua buah nil
    • Memberikan nilai ke suatu v
    • Memberikan nilai ke suatu v
    • Membandingkan kesamaan

      

      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

    • Penjumla lahan
      • Penguran angan
        • Perkalian an / Pembagia ian % Sisa Pemb bagian (modulus)

       O perator Unary

      Operator Ketera

    • Tanda Mi + Tanda plu

      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

    • + -- (khusus yang berkedudukan seba bagai awalan) Ter tinggi

      • (Unary minus)
        • / %

      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;

    • O perator P Penaikan ( increment ) O perator P Penurunan ( ) --

      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;

    • r

      ) kemudian iberikan ke s.

    • ditempatkan di depan, dise dijumlahkan dengan 10 dan dib 

      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

    • = 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

      / / 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

    if

      begi 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, danLogika

      

      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:

    • benar kalau ungkapan ber ni nilai salah
    • salah kalau ungkapan ber nil nilai benar

      / / 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

    • - komplemen) -25 Bitwise NOT (k

       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;

    • Kondisi

      digunakan untuk menent ntukan pengambilan keputusan

    • Pernyataan

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

      1 . 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:

    • 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( ) ;
    Penjelasan 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