perjalanan itachi menganciti tsunade

Upload: rizkyptraa

Post on 20-Feb-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/24/2019 perjalanan itachi menganciti tsunade

    1/52

    Modul Pemrograman C++ Lengkap

    I. PENDAHULUAN

    1.1

    C & C++

    Berbicara tentang C++ biaan!a tidak lepa dari C" ebagai ba#aa penda#ulun!a.Pencipta C adala# Brian $. %erning#an dan Denni M. &itc#ie pada ekitar ta#un '()*"dan ekitar atu dekade etela#n!a diciptakanla# C++" ole# Barne ,troutrup dariLaboratorium Bell" A--" pada ta#un '(/0. C++ cukup kompatibel dengan ba#aapenda#ulun!a C. Pada mulan!a C++ diebut 1 a better C 1. Nama C++ endiri diberikanole# &ick Macitti pada ta#un '(/0" !ang beraal dari operator increment pada ba#aaC.

    %eitime2aan !ang angat berari dari C++ ini adala# karena ba#aa ini mendukungpemrograman !ang berorientai obek 3 44P 5 4bect 4riented Programming6.

    1.2PEMROGRAMAN BERORIENTASI OBJEK

    ,ampai aat ini" program dianggap ebagai ekumpulan procedure !ang melakukanaki ter#adap data. Procedure" atau 7unction" adala# uatu et intruki k#uu !angdiekekui ecara bergantian. Data terpia# dari procedure" dan trik pemrogramann!aadala# menaga urutan pemanggilan 7ungi" dan data apa !ang diuba#. Dalam demikianterciptala# program !ang tertruktur.

    Ide dari pemrograman tertruktur adala# memeca# program !ang bear menadi kecile#ingga lebi# muda# dipa#ami. Program8program lama memaka pengguna untukmelakukan langka#8perlangka# melalui la!ar monitor. ,edangkan program modernmen!aikan emua pili#an ekaligu dan merepon aki pengguna.

    44P berua#a untuk memenu#i kebutu#an itu" men!ediakan teknik untuk mengelolakomplekita" mencatat penggunaan ulang komponen o7t2are db. Inti dari 44Padala# memperlakukan data dan procedure ebagai ebua# obek berii entita denganidentita dan ciri !ang k#uu.

    1.3C++ & OBJECT ORIENTED PROGRAMMING

    -iga karakteritik utama dari ba#aa !ang berorientai obek adala#'. Encapulation*. In#eritance

    0. Pol!morp#ime.-iga ciri diata mendukung reuabilit!" !ang merupakan ala# atu 7actor penentu

    kualita o7t2are.C++ mendukung karakteritik encapulation dengan menggunakan konep cla.

    ,etela# terbentuk" maka cla akan bertindak ebagai entita !ang tenkapulai.Dengan adan!a konep in#eritance" maka C++ mendukung ide penggunaan ulang

    uatu obect.Pol!morp#ime 3 Ban!ak Bentuk 6 merupakan uatu konep !ang men!atakan

    euatu !ang ama dapat memiliki berbagai bentuk dan perilaku !ang berbeda.

    1.4 MENYIAPKAN PROGRAM

  • 7/24/2019 perjalanan itachi menganciti tsunade

    2/52

    ,ource code C++ dapat dituli pada te9t editor apapun. Baik itu digunakan pada itemoperai $indo2 atau Uni9 3Linu9" B,D" db6.

    $alaupun demikian" lebi# diarankan apabila digunakan dengan editor k#uu C++"agar penggunaan tool !ang lain lebi# muda#.

    1.5KOMPILASI

    Untuk menguba# ource code menadi ebua# program" kita gunakan compiler.,etela# ource code tercompile" terbentukla# ebua# 7ile obek dengan ektenion 1 .ob1. :ile 1 .ob 1 ini belum merupakan ebua# program e9ecutable. Untuk membentukprogram e9ecutable linker #aru dialankan. ;ika program e9ecutable uda#diperole#" 2alaupun di komputer anda tidak terintall compiler C++ namun programmai# tetap dapat dialankan.

    ,aat ini ban!ak compiler C++ !ang berada di paaran" conto#n!aa Borland C++" -urboC++" Microo7t C++" C++ Builder" rting.#>6

    '. ,trcp!36Ber7ungi untuk men!alin uatu tring aal ke ?ariable tring tuuanBentuk umum @ trcp!3tuuan"aal6 *. trlen36Ber7ungi untuk memperole# umla# karakter dari uatu tringBentuk umum @ trlen3tring6 0. :ungi trcat36Digunakan untuk menamba# tring umber ke bagian ak#ir dari tring tuuanBentuk umum @ trcat3tuuan"umber6

    . :ungi trupr36

  • 7/24/2019 perjalanan itachi menganciti tsunade

    3/52

    Digunakan untuk menguba# etiap #uru7 dari uatu tring menadi #uru7kapitalBentuk umum @ trupr3tring6 . :ungi trl2r36Digunakan untuk menguba# etiap #uru7 dari uatu tring menadi #uru7 kecil

    Bentuk umum @ trcat3tuuan"umber6 . :ungi trcmp36Digunakan untuk membandingkan dua bua# tringHail dari 7ungi ini bertipe integer dengan nilai@ Negati7" ika tring pertama kurang dari tring kedua Nol" ika tring pertama ama dengan tring kedua Poiti7" ika tring pertama lebi# bear dari tring keduaBentuk umum @ trcmp3tring'"tring*6

    II.ELEMEN DASAR

    Untuk membuat uatu program ada baikn!a kita mengenal terlebi# da#ulu apa

    !ang diebut denganprepocessor directive.Propoceor ditandai dengan adan!aa2alan F . Preproceor elalu dialankan terlebi# da#ulu pada aat proe kompilaiteradi.

    ,etiap program C++ mempun!ai bentuk eperti di ba2a# " !aitu@

    Fprepoceor directi?emain36G 55 Batang -ubu# Program Utama

    Meli#at bentuk eperti itu dapat kita ambil keimpulan ba#2a batang tubu#program utama berada didalam 7ungi main36. Berarti dalam etiap pembuatan programutama" maka dapat dipatikan eorang pemrogram menggunakan minimal ebua#7ungi. Pemba#aan lebi# lanut mengenai 7ungi akan diterangkan kemudian. angekarang coba ditekankan adala# kita menulikan program utama kita didalam ebua#7ungi main36. ;angan lupa ba#2a C++ beri7at cae eniti?e" e#ingga" nama #allodan Hallo berbeda artin!a.

    2.1 CARA PENULISAN

    %omentar%omentar tidak perna# dicompile ole# compiler. Dalam C++ terdapat * eni komentar"!aitu@;eni ' @ 5J %omentar anda diletakkan di dalam ini

    Bia mengapit lebi# dari atu bari J5;eni * @ 55 %omentar anda diletakkan diini 3 #an!a bia perbari 6

    ,emicolon -anda emicolon 1K digunakan untuk mengak#iri ebua# pern!ataan. ,etiappern!ataan #aru diak#iri dengan ebua# tanda emicolon. Bari !ang dia2ali dengan

    tanda F" eperti Finclude iotream.#

  • 7/24/2019 perjalanan itachi menganciti tsunade

    4/52

    tidak diak#iri dengan tanda emicolon" karena bentuk terebut bukanla# uatu bentukpern!ataan" tetapi merupakan prepoceor directi?e

    2.2 MASUKAN DAN KELUARANDASARPada C++ terdapat * eni I54 daar" !aitu@a.

    cout 3c#aracter out6" tandard keluaranb.

    cin 3c#aracter in6" tandard maukanUntuk dapat menggunakan ke!2ord diata" maka #aru ditamba#kanFinclude iotream.# pada prapoceor directi?e.

    Conto# @

    Finclude iotream.# main36 G c#ar nama'O 55 Dekalarai ?ariable nama

    coutKMaukkan nama Anda @ 1 cinnama 55 Meminta uer untuk menginiialiai ?ariable nama coutKNama anda adala# 1nama return

    2.3 KARAKTER & STRING LITERAL,tring adala# gabungan dari karakterConto# @ 1 Belaar 1 Literal ,tring 1 B 1 %arakter

    Panang ,tring

    trlen36 nama 7ungi untuk meng#itung panang tring

    :ungi trlen36 dideklaraikan dalam 7ile tring.#;adi bila anda ingin menggunakan 7ungi trlen36" maka prepoceordirecti?e Fincludetring.# #aru dimaukkan dalam program diata main36.

    Conto# @Finclude iotream.#Finclude tring.#main36

    G couttrlen3>,elamat Pagi.n>6endl

  • 7/24/2019 perjalanan itachi menganciti tsunade

    5/52

    couttrlen3>,elamat Pagi.>6endl couttrlen3>,elamat>6endl couttrlen3>,>6endl couttrlen3>>6 return

    %eluarann!a@''0)'

    Per#atikan" ba#2a dietiap ak#ir bari pern!ataan diak#iri dengan tanda titik Q koma3emicolon6 1 1.Per#atikan" ba#2a R n R di#itung atu karakter. n diebut ne2line karakterEndl uga merupakan ne2line karakter 3 ama kegunaann!a eperti n 6.Dalam C++" elain n terdapat uga beberapa karakter k#uu !ang biaadebut escape sequence characters" !aitu

    Karak!r K!!ra"#a"

    %arakteeer ber8A,CII nol 3 karakter null 6a %arakter bellb %arakter backpace7 %arakter ganti #alaman 3 7orm7eed 6n %arakter bari baru 3 ne2line 6

    r %arakter carriage return 3 ke a2al bari 6t %arakter tab #oriSontal? %arakter tab ?ertika %arakter T %arakter RK %arakter 1 %arakter

    ooo %arakter !ang nilai oktaln!a adala# ooo 3 0 digit octal 69## %arakter !ang nilai #ekadeimaln!a adala# ## 3* digit

    #ekadeimal 6

    2.4 KEY$ORD & IDENTI%IER

    Dalam ba#aa pemrograman" uatu program dibuat dari elemen8elemen intakindi?idual !ang diebut token" !ang memuat nama ?ariable" kontanta" ke!2ord"operator dan tanda baca.

    Conto# @Finclude iotream.#

    main36G

  • 7/24/2019 perjalanan itachi menganciti tsunade

    6/52

    int nV coutnendl 55 n ebagai ?ariabel return

    %eluarann!a@

    Program diata memperli#atkan ' token" !aitumain" 3" 6" G" int" n" V" " " cout" " endl" return" dan -oken n adala# uatu ?ariable-oken " adala# uatu kontanta-oken int" return dan endl adala# uatu ke!2ord-oken V dan adala# operator-oken3" 6" G" " dan adala# tanda bacaBari pertama berii uatu prepoceor directi?e !ang bukan bagian ebenarn!a dariprogram

    2.5 ARIABEL' DEKLARASI &INISIALISASI

  • 7/24/2019 perjalanan itachi menganciti tsunade

    7/52

    t!pe ?ariable dengan t!pe adala# tipe data !ang didukung ole# C++" beberapa conto#n!a !aitu@

    T()! Daa Uk*ra"M!,r( -/!0

    Ja"#ka*a"N(a(

    J*a D(#(Pr!((

    c#ar ' 8'*/ #ingga+'*)

    8

    Int * 80*)/ #ingga+0*))

    8

    Long 8*.').0/./#ingga*.').0/.)

    8

    7loat 0"E80/ #ingga0"E0/

    8)

    double / '.)E80/ #ingga'.)E0/

    '8'

    Long double ' 0.E8(0*#ingga '.'E(0*

    '(

    NB @ Untuk mengeta#ui ukuran memori dari uatu tipe digunakan 7ungi iSeo73tipe6 -ipe data dapat diuba# 3 t!pe cat 6" mialkan@ 7loat 9 V 0.0 int p V int396 maka nilai p adala# 0 3 teradi truncating 6.

    Conto# Deklarai dan Iniialiai int a"b"c int p V

    Dalam conto#" kita mendeklaraikan tiga ?ariable !aitu ?ariable a"b dan c namun belumkita iniialiai.,edangkan ?ariable p kita iniialiai 3 diberikan nilai 6.Dalam C++" untuk dapat menggunakan uatu ?ariable" ?ariable terebut minimal kitadeklaraikan terlebi# da#ulu. Apa !ang teradi" ika uatu ?ariable tela# dideklaraikannamun belum kita iniialiai lalu kita mencetak nilai ?ariable terebut

    Conto# @Finclude iotream.#main36G

    int n coutnendl 55 n ebagai ?ariabel return

    %eluarann!a@'/'*

    Darimana angka '/'* diperole# ;ika ?ariable tidak diiniialiai" namun nilai keluarann!a diminta" maka compilerdengan biak akan menampilkan nilai acak !ang nilain!a tergantung dari enicompilern!a.

  • 7/24/2019 perjalanan itachi menganciti tsunade

    8/52

    2. KONSTANTA

    '.

    %ontanta 4ktal" digit !ang digunakan 8)*.

    %ontanta Hekadeimal" digit !ang digunakan 8(" A8:

    0.%ontanta Bernamaa. Menggunakan ke!2ord cont Conto# @ cont 7loat PI V 0.''*( Berbeda dengan ?ariable" kontanta bernama tidak dapat diuba# ika tela# diiniialiaib. Menggunakan Fde7ine Conto# @ Fde7ine PI 0.''*(

    %euntungan menggunakan Fde7ine apabila dibandingkan dengan cont adala#kecepatan kompilai" karena ebelum kompilai dilakanakan" kompiler pertama kalimencari !mbol Fde7ine 3 ole# ebab itu mengapa F dikatakan prepoceor directi?e 6dan mengganti emua PI dengan nilai 0.''*(.

    III. OPERATOR

    4perator adala# !mbol !ang biaa dilibatkan dalam program untuk melakukaneuatu operai atau manipulai.

    Conto# @ a V b + c J d 5 a" b" c" ddiebut operand V" +" J" 5 diebut operator

    3.1 OPERATOR ARITMATIKA

  • 7/24/2019 perjalanan itachi menganciti tsunade

    9/52

    4perator Dekripi Conto#+ Penumla#an 3 Add 6 m + n8 Pengurangan 3 ,ubtract 6 m Q nJ Perkalian 3 Multipl! 6 m J n

    5 Pembagian 3 Di?ide 6 m 5 nW ,ia Pembagian Integer 3 Modulu 6 m W n8 Negai 3 Negate 6 8m

    NB @ 4perator eperti operator negai 386 diebut unar! operator" karena membutu#kan #an!a atu bua#operand

    Conto# @Finclude iotream.#?oid main36Gint m V /*" n V *

    coutm> + >n> V >m+nendlcoutm> 8 >n> V >m8nendlcoutm> J >n> V >mJnendlcoutm> 5 >n> V >m5nendlcoutm> W >n> V >mWnendlcout>8>m> V >8mendl

    %eluarann!a @/* + * V '//* 8 * V

    /* J * V *'0*/* 5 * V 0/* W * V 8/* V 8/*%arena tipe datan!a adala# int" maka /*5*V0" upa!a dapat merepreentaikan nilai!ang ebenarn!a" gunakan tipe data 7loat.

    Cara lain penulian dengan menggunakan operator aritmatika @m V m + n m +V nm V m 8 n m 8V nm V m J n m JV n

    m V m 5 n m 5V nm V m W n m WV n

    3.2 OPERATOR NAIK DAN TURUN - INCREMENT DAN DECREMENT 0

    4perator increment ++4perator decrement88

    Conto# @Finclude iotream.#main36G int m V " n V

  • 7/24/2019 perjalanan itachi menganciti tsunade

    10/52

    coutKm V 1mK" n V 1nendl ++m 88n coutKm V 1mK" n V 1nendl m++ n88 coutKm V 1mK" n V 1nendl

    return

    %eluarann!a @m V " n V m V " n V m V " n V

    -erli#at ba#2a operator pre8increment dan pot8increment memiliki akibat !ang ama"!aitu manamba# nilai atu pada m dan memaukkan nilai terebut kembali ke m 3 m Vm+'6. Hal !ang ama uga teradi pada operator pre8decrement dan pot8decrement!ang memberikan akibat !ang ama" !aitu mengurangi nilai atu dari n 3 n V n 8 '6. -etapi bila digunakan ebagai ub8ekprei" operator pot8increment dan pre8increment menunukkan #ail !ang berbeda

    Conto# @Finclude iotream.#main36G int m V " n n V ++m cout>m V >m>" n V >nendl n V m++

    cout>m V >m>" n V >nendl cout>m V >m++endl cout>m V >mendl cout>m V >++mendl return

    %eluarann!a @m V )" n V )m V /" n V )m V /

    m V (m V )

    Penelaan @Dalam penugaan !ang pertama" m adala# pre8increment" menaikkan nilain!a menadi)" !ang elanutn!a dimaukkan ke n.Dalam penugaan kedua" m adala# pot8increment" e#ingga ) dimaukkan da#ulu ken baru kemudian nilai m8n!a dinaikkan" itu ebabn!a mengapa nilai m V / dan n V ).Dalam penugaan ketiga" m adala# pot8increment" e#ingga nilai m 3 V / 6 ditampilkanda#ulu 3 ke la!ar 6 baru kemudian nilai m dinaikkan menadi (.Dalam penugaan keempat" m adala# pre8increment" e#ingga nilai m dinaikkan da#ulu

    menadi ) baru kemudian ditampilkan ke la!ar.,upa!a lebi# pa#am" per#atikan pula conto# diba2a#.

  • 7/24/2019 perjalanan itachi menganciti tsunade

    11/52

    Conto# @Finclude iotream.#main36G

    int m V " n n V ++m J 88m cout>m V >m>" n V >nendl cout++mK 1++mK 1++mendl return

    %eluarann!a @m V " n V */ )

    Penelaan @Dalam penugaan untuk n" pertama kali m dinaikkan 3++m6 menadi " kemudian mditurunkan kembali menadi " karena adan!a 88m. ,e#ingga nilai m ekarang adala# dan nilai m V inila# !ang die?aluai pada aat penugaan perkalian dilakukan.Pada bari terak#ir" ketiga ub8ekprei die?aluai dari kanan ke kiri.

    3.3 OPERATOR BIT$ISE

    4perator Dekripi Conto# =eer n bit ke kiri 3 le7t #i7t 6 m n

    =eer n bit ke kanan 3 rig#t #i7t 6 m n Bit2ie AND m nX Bit2ie 4& m X nY Bit2ie Z4& m Y n[ Bit2ie N4- [m

    NB @ ,eluru# operator bit2ie #an!a bia dikenakan pada operand bertipe data int atau c#ar

    Berikut ini diberikan tabel kebenaran untuk operator logikaP V A operator B

    AND 4&A B P ' ' ' ' '

    A B P ' '' '' ' '

    Z4&A B P

    ' '' '

  • 7/24/2019 perjalanan itachi menganciti tsunade

    12/52

    ' '

    Conto# @Finclude iotream.#

    ?oid main36Gint m V /*" n V *coutm> *>> V >3m*6endlcoutm> *>> V >3m*6endlcoutm> >n> V >3mn6endlcoutm> X >n> V >3mXn6endlcoutm> Y >n> V >3mYn6endlcout>[>m> V >[mendl

    %eluarann!a @/* * V 0*//* * V */* * V '//* X * V (/* Y * V )*[/* V /0

    Penelaan @Nilai keluaran diata" tergantung dari eni compiler !ang digunakan. Hail diatamerupakan keluaran dari compiler -urbo C++.Pada -urbo C++ bear dari integer adala# * b!te atau ama dengan ' bit" untukmengeta#uin!a digunakan perinta# coutiSeo73int6endl 55 Untuk mengeta#ui bear dari intMaka @/*'V '''* dan*'V '''*,e#ingga @/* *'''*V 0*/'/* *''* V *'/* *'''*

    '''*

    888888888888888888888888888888888888888888

    ''*V '/'dan begitu uga untuk operai 4& dan Z4&.[/*digunakan *T complement" !aitu /*'V '''* lalu dinegaikan tiap bitn!a menadi '''''''''''''* kemudian L,B ditamba# ' menadi''''''''''''' V ' nilai ini melebi#i angkauan makimum int !ang berkiar di80*)/ ampai 0*))" e#ingga nilai !ang keluar !aitu /0.

    Cara lain penulian dengan menggunakan operator bit2ie @m V m n m V nm V m n m V n

    m V m n m V nm V m X n m XV n

  • 7/24/2019 perjalanan itachi menganciti tsunade

    13/52

    m V m Y n m YV n

    3.4 OPERATOR RELASI

    4perator relai digunakan untuk membandingkan dua bua# nilai. 4perator ini biaadigunakan dalam intruki percabangan.

    4perator DekripiVV ,ama dengan 3 bukan aignment 6\V -idak ama dengan Lebi# bear Lebi# kecilV Lebi# bear atau ama dengan

    V Lebi# kecil atau ama dengan

    Conto#@Finclude iotream.#main36G int m V " n V) i73m VV n6 coutmK ama dengan Knendl ele i73m \V n6 coutmK tidak ama dengan Knendl ele i73m n6 coutmK lebi# bear dari Knendl ele i73m n6 coutmK lebi# kecil dari Knendl

    return

    %eluarann!a @ lebi# kecil dari )

    3.5 OPERATOR LOGIKA

    4perator logika digunakan untuk meng#ubungkan dua atau lebi# ungkapan menadiebua# ungkapan berkondii.

    4perator Dekripi Conto# logic AND m nXX logic 4& m XXn\ logic N4- \m

    Conto# @Finclude iotream.#?oid main36G int m V '

    coutK3mV mV'613mV mV'6endl coutK3mV XX mV'613mV XX mV'6endl

  • 7/24/2019 perjalanan itachi menganciti tsunade

    14/52

    %eluarann!a @3mV mV'63mV XX mV'6'

    Penelaan @Hail 5 keluaran dari operator logika adala# dan '. ika keluarann!a ala# dan ' ika keluarann!a benar.

    3. OPERATOR KONDISI

    4perator kondii digunakan untuk memperole# nilai dari dua kemungkinan ungkapan1 ungkapan2@ ungkapan3Bila nilai ungkapan1benar" maka nilain!a ama dengan ungkapan2" bila tidak makanilain!a ama dengan ungkapan3

    Conto# @Finclude iotream.#main36G int m V *" n V /* int min V m n m @ n coutKBilangan terkecil adala# 1minendl return

    %eluarann!a @Bilangan terkecil adala# *

    O)!ra,r r!a(' ,#(ka a" k,"(( aka" a"/ak (#*"aka" )aa )!r"/aaa"!rk,"((

    I

  • 7/24/2019 perjalanan itachi menganciti tsunade

    15/52

    Pern!ataan ini merupakan bentuk pern!ataan !ang paling ering digunakan.Pern!ataan ini diak#iri dengan emicolon 1 1. Conto# @ ?ar V ' ?ar++

    4.2 PERNYATAAN DEKLARASI

    Untuk menggunakan uatu ?ariable minimal ?ariable terebut dideklaraikan terlabi#da#ulu Conto# @ int ?arMerupakan conto# deklarai ebua# ?ariable ?ar dengan tipe data integer 3int6.

    4.3 PERNYATAAN KOSONG

    Pern!ataan ini tidak melakanakan apapun. Conto# @ 2#ile3ada6

    4.4 PERNYATAAN MAJEMUK

    Merupakan eumla# pern!ataan !ang berada di dalam ebua# blok G Conto# @ 7or3?ar V ?ar ' ?ar++6 G nilai' V ' i73\nilai*6 nilai* V

    nilai 0 V nilai' + nilai*

    4.5 PERNYATAAN BERLABEL

    Pern!ataan #,," diperlukan untuk melakukan uatu lompatan ke uatu pern!ataanberlabel !ang ditandai dengan tanda 1 @ 1. Conto# @ goto ba2a# pern!ataan' pern!ataan*

    @ba2a# pern!ataan 0 Pada conto# diata" pada aat goto ditemukan maka program akan melompatpern!ataan berlabel ba2a# dan melakukan pern!ataan 0.

    4. PERNYATAAN KONDISI - CONDITIONAL E6PRESSION 0

    Pertan!aan %ondii dibagi menadi" 4..1 P!r"/aaa" if

    Digunakan dalam pengambilan keputuan

    Bentuk umum@i73kondii6 pern!ataan'

  • 7/24/2019 perjalanan itachi menganciti tsunade

    16/52

    ele pern!ataan* Pern!ataan' dilakanakan ika dan #an!a ika kondii !ang diinginkan terpenu#i" ikatidak" lakukan pern!ataan*. ;ika anda tidak mempergunakan pern!ataan ele program tidak akan error" namun ikaanda mempergunakan pern!ataan elsetanpa dida#ului pern!ataan if" maka program

    akan error. ;ika pern!ataan' atau pern!ataan* #an!a terdiri dari atu bari" maka tanda G tidakdiperlukan" namun ika lebi# maka diperlukan. Bentukn!a menadi @ i73kondii6 G pern!ataan' pern!ataan'a pern!ataan'b ele G pern!ataan* pern!ataan*a pern!ataan*b

    Conto# @ Finclude iotream.# ?oid main36 G int m V '

    i73m VV 6coutKNilain!a ama dengan nolnK ele G coutKNilain!a tidak ama dengan nolnK coutKNilain!a ama dengan 1mendl

    ,elain dari i7 ] ele" uga dikenal bentuk i7 ] ele i7. Adapun perbedaann!adiilutraikan ole# dua conto# diba2a# ini.

    Conto# ' @Finclude iotream.#?oid main36G int m V ' i73m '6 coutmK lebi# bear dari 'nK i73m '6 coutmK lebi# bear dari 'nK i73m '6 coutmK lebi# bear dari 'nK

    %eluarann!a @

    ' lebi# bear dari '' lebi# bear dari '

  • 7/24/2019 perjalanan itachi menganciti tsunade

    17/52

    Conto# * @Finclude iotream.#?oid main36G

    int m V ' i73m '6 coutmK lebi# bear dari 'nK ele i73m '6 coutmK lebi# bear dari 'nK ele i73m '6 coutmK lebi# bear dari 'nK

    %eluarann!a @' lebi# bear dari '

    Mengapa %arena conto# * ama aa ika dituli eperti diba2a# ini

    Finclude iotream.#?oid main36G int m V ' i73m '6 coutm> lebi# bear dari 'n> ele G i73m '6 coutm> lebi# bear dari 'n> ele i73m '6 coutm> lebi# bear dari 'n>

    Conto# diata diebut uga nested conditional4..2 P!r"/aaa" switch

    Pern!ataan ifelse ifamak dapat dibangun dengan pern!ataan switch.Bentukumumn!a adala# ebagai berikut.

    2itc#3ekspresi6G cae kontanta' @ pern!ataan' cae kontanta* @ pern!ataan*

    cae kontanta0 @ pern!ataan0 @ @ cae kontantaN @ pern!ataanN de7ault @ pern!ataanlain

    Hal Q #al !ang perlu diper#atikan adala# @'.

    Dibelakang ke!2ord cae #aru diikuti ole# ebua# kontanta" tidak bole# diikuti ole#ekprei ataupun ?ariable.

    *.

    %ontanta !ang digunakan bertipe int atau c#ar

    0. ;ika bentukn!a eperti diata maka apabila ekspresieuai dengan kontanta* makapern!ataan*" pern!ataan0 ampai dengan pern!ataanlain diekekui. Untuk mencega#

  • 7/24/2019 perjalanan itachi menganciti tsunade

    18/52

    #al terebut" gunakan ke!2ord break;. ;ika ke!2ord break digunakan maka etela#pern!ataan* diekekui program langung keluar dari pern!ataan switch. ,elaindigunakan dalam switch,ke!2ord break ban!ak digunakan untuk keluar dari pern!ataan!ang berulang 3 looping 6.

    4. pern!ataanlain diekekui ika kontanta' ampai kontantaN tidak ada !ang

    memenu#i ekspresi.

    Conto# @55 Program untuk meli#at nilai ak#ir tet55 Nilai A ika nilai diata /" B ika )V nilai /55 C ika V nilai )" D ika 0Vnilai 55 E ika nilai 0Finclude iotream.#?oid main36G int nilai coutKMaukkan nilai tet @ 1 cinnilai 2itc#3nilai5'6 G cae '@ cae (@ cae /@coutTATendlbreak cae )@coutTBTendlbreak cae @ cae @coutTCTendlbreak cae @ cae 0@coutTDTendlbreak

    cae *@ cae '@ cae @coutTETendlbreak de7ault@coutK,ala#" nilai diluar angkauan.nK

    %eluaran @Maukkan nilai tet @ 45DMaukkan nilai tet @ 45

    ,ala#" nilai diluar angkauan.Maukkan nilai tet @ nilai!test,ala#" nilai diluar angkauan.

    %et @ " dan nilai^tet adala# #ail input dari uer

    4..3 P!r"/aaa" while Digunakan untuk pengambilan keputuan dan looping.

    Bentuk @ $#ile3kondii6

    G pern"ataan

  • 7/24/2019 perjalanan itachi menganciti tsunade

    19/52

    ;ika kondii tidak terpenu#i" makapern"ataantidak akan diekekui.

    Conto#@

    Finclude conio.#Finclude iotream.#Fde7ine -IN==I Fde7ine LEBA& '55 Program menggambarkan karakter k#uu pada ebua#55 koordinat !ang ditentukan?oid main36Gc#ar matri9-IN==IOLEBA&Oint 9"!7or3!V!-IN==I!++6 7or39V9LEBA&9++6matri9!O9OV_._cout>%etik koordinat dalam bentuk 9 !3 *6.n>cout>=unakan bilangan negati7 untuk ber#enti.n>

    2#ile39V !V6G 7or3!V!-IN==I!++6 G 7or39V9LEBA&9++6 coutmatri9!O9O cout>nn>

    cout>%oordinat @ >cin9!matri9!8'O98'OV_9B4_getc#36

    Penelaan @Program ini adala# program menggambar karakter O ika dicompile di -urbo C++ ataumengambar ` ika dicompile di Borland C++. 3 ditunukkan ole# karakter T9B4T 6.%arena adan!a pern!ataan while#$%& '' "%&(, maka program

    akan langung mengekekui pern!ataan cout>%oordinat @ > cin9!

    matri9!8'O98'OV_9B4_ika uer memaukkan bilangan negati7.Pada program diata terdapat 7ungi getc#36. =unan!a adala# untuk member#entikankeluaran program ampai uer menekan tombol ke!board. Untuk menggunakann!a" 7ileconio.# #aru diinclude.

    4..4 P!r"/aaa" dowhilePern!ataan do]2#ile mirip eperti pern!ataan 2#ile" #an!a aa pada do]2#ile

    pern!ataan !ang terdapat didalamn!a minimal akan ekali diekekui.

  • 7/24/2019 perjalanan itachi menganciti tsunade

    20/52

    Bentuk @ doG

    pern"ataan; 2#ile3kondii6

    -erli#at" 2alaupun kondii tidak terpenu#i" makapern"ataan minimal akan diekekuiekali.

    Conto# @Finclude iotream.#Finclude conio.#Finclude mat#.#55 Program kon?eri bilangan deimal ke biner?oid main36Gint p"n"iVcout>Maukkan bilangan deimal @ >cinp

    double A'OdoG A++iOVpW* pVp5* 7loor3p6 2#ile 3p'6cout>Nilai binern!a @ >

    coutp7or3nVinV'n886G coutAnO

    getc#36

    Penelaan @ Coba anda maukkan bilangan negati7.

    Itula# letak keala#an program ini 3 ekaligu untuk menunukkan i7at dari dowhile6 ;ika anda memaukkan bilangan poiti7" maka program ini akan meng#ailkan nilai biner

    !ang bereuaian dengan nilai deimal !ang anda maukkan.

    4..5 P!r"/aaa" for Pern!ataan 7or digunakan untuk melakukan looping. Pada umumn!a looping !ang

    dilakukan ole# 7or tela# diketa#ui bata a2al" !arat looping dan peruba#ann!a.

    Bentuk @

    7or3 iniialiai kondii peruba#an6 G

  • 7/24/2019 perjalanan itachi menganciti tsunade

    21/52

    pern"ataan;

    ,elama kondisiterpenu#i" maka pern!ataan akan teru diekekui. Bila pern!ataan#an!a terdiri ata atu bari pern!ataan" maka tanda kurung G tidak diperlukan.

    Conto# @ 55Program mencetak angka '8' Finclude iotream.# ?oid main36 G 7or3int 9V' 9V' 9++6 cout9endl

    Bagaimana ika program diata diuba# menadi

    Finclude iotream.# ?oid main36 G 7or3int 9V' 9++6 cout9endl

    Program diata akan menampilkan bilangan !ang ban!akn!a tak ter#ingga e#inggadapat membuat komputer anda ber#enti bekera. Conto# diata uga merupakan prinipmembuat bom program 3 conto#n!a @ bom mail 6

    Pern!ataan fordapat berada di dalam pern!ataan forlainn!a !ang biaa

    diebut nested for

    Conto# @

    55 Program meng#ailkan egitiga pacalFinclude iomanip.#Finclude conio.#Finclude iotream.#

    main36G unigned int n"a"b"9"'O"p'O cout>Maukkan nilai n@ > cinn

    7or3aV"9VaVna++"9+V*6

    G coutet230Jn896 aOV' paOV' 7or3bVbVab++6 G

    i7 3b'XXbVVa6 cout>'>et236

    ele G

  • 7/24/2019 perjalanan itachi menganciti tsunade

    22/52

    bOVpbO pbOVb8'O+bO

    coutpbOet236

    coutendl

    getc#36 return

    4.7 PERNYATAAN BREAK

    Pern!ataan breakakan elalu terli#at digunakan bila menggunakanpern!ataan switch. Pern!ataan ini uga digunakan dalam loop. Bila pern!ataan inidiekekui" maka akan mengkak#iri loop dan akan meng#entikan ierai pada aatterebut.

    4.8 PERNYATAAN CONTINUE

    Pern!ataan continuedigunakan untuk pergi ke bagian a2al dari blok loop untukmemulai iterai berikutn!a.

    Conto# @ Finclude iotream.# ?oid main36 G int n 7or36 G coutKMaukkan bilangan integer @ 1 cinn i73n W * VV 6 continue ele i73n W VV 6 break coutKtLanutkan loop berikutn!a.nK

    coutKAk#iri Loop.nK

    %eluarann!a @ Maukkan bilangan integer @ ( Lanutkan loop berikutn!a Maukkan bilangan integer @ / Maukkan bilangan integer @

    Ak#iri Loop

  • 7/24/2019 perjalanan itachi menganciti tsunade

    23/52

  • 7/24/2019 perjalanan itachi menganciti tsunade

    24/52

    :ungi !ang dide7iniikan ole# pemrogram terdiri ata dua bagian" !aitu udul3 header 6 dan ii 3 bod"6. ;udul dari ebua# 7ungi terdiri dari tipe return 3 7loat 6" nama7ungi 3 kuadrat 6 dan lit parameter 3 7loat 9 6.;adi" udul untuk 7ungi kuadrat adala#

    7loat kuadrat 3 7loat 9 6

    Ii dari ebua# 7ungi adala# blok kode !ang mengikuti uduln!a. Berii kode !angmenalankan aki dari 7ungi" termauk pern!ataan return!ang memuat nilai 7ungi !angakan dikembalikan ke !ang memanggiln!a" Ii dari 7ungi kuadrat36 adala#

    G return 9J9

    Biaan!a ii dari 7ungi cukup bear. Mekipun demikian" uduln!a tetap #an!aberada dalam atu bari. Ii dari ebua# 7ungi dapat memanggil 7ungi itu endiri3disebut rekursif6 atau memanggil 7ungi lainn!a. Pern!ataan returndari ebua# 7ungi mempun!ai dua man7aat" !aitu akanmengak#iri 7ungi dan mengembalikan nilain!a ke program pemanggil. Bentuk umumpern!ataan return adala# @

    return ekspresi

    Dengan ekspresiadala# ebua# ekprei !ang nilain!a din!atakan untuk ebua#?ariable !ang tipen!a ama eperti tipe return.-erdapat uga 7ungi !ang tidakmemberikan nilai return atau tipe returnn!a?oid.

    Conto# @ Finclude iotream.#?oid a!Hello3c#arO6 55 deklarai 7ungi a!Hello36?oid main36Gc#ar nOcout>Maukkan nama anda @ > cinna!Hello3n6

    ?oid a!Hello3c#ar namaO6 55 de7inii 7uni a!Hello36

    Gcout>,elamat datang >nama

    Pengertian deklarai 7ungi berbeda dengan dengan de7inii 7ungi. ,uatu deklarai7ungi adala# udul 7ungi !ang eder#ana !ang diikuti ole# tanda emicolon 3 6.,edangkan de7inii 7ungi adala# 7ungi !ang lengkap" terdiri dari udul dan iin!a. ,uatudeklarai 7ungi diebut uga ebagai protot!pe 7ungi. ,uatu deklarai 7ungi eperti la!akn!a uatu deklarai ?ariabel" !angmemberita#uco)pileremua in7ormai !ang dibutu#kan untuk mengkompilai7ile. *o)piler tidak perlu mengeta#ui bagaimana 7ungi bekera" !ang perlu diketa#ui

    adala# nama 7ungi" umla# dan tipe parametern!a" dan tipe balikann!a 3return 6. Hal inimerupakan in7ormai !ang dimuat ecara lengkap dalam udul 7ungi.

  • 7/24/2019 perjalanan itachi menganciti tsunade

    25/52

    ;uga eperti ebua# deklarai ?ariabel" uatu deklarai 7ungi #aru muncul diataemua nama 7ungi !ang digunakann!a. Berbeda dengan de7inii 7ungi" !ang dapatdiletakkan terpia# dari deklarain!a" dan dapat muncul dimana aa diluar 7ungi main36dan biaan!a ditulikan etela# 7ungi main36 atau dalam 7ile terpia# !ang ika ingindigunakan tinggal menamba#kan prepoceor+include na)a!file- pada 7ile utama.

    ;ika de7inii 7ungi diletakkan diata 7ungi main36 maka deklari 7ungi tidakdiperlukan.

  • 7/24/2019 perjalanan itachi menganciti tsunade

    26/52

    ,ala# atu keitime2aan C++ !ang angat berman7aat dalam pemrograman adala#adan!a kemampuan untuk men!etel nilai defaultArgumen 7ungi. Argumen8argumen !ang mempun!ai nilai ba2aan nantin!a dapat tidakdiertakan di dalam pemanggilan 7ungi dan dengan endirin!a C++ akan

    menggunakan nilai ba2aan dari argumen !ang tidak diertakan.

    Conto# @Finclude iotream.#Finclude conio.#?oid a!Hello3int6

    ?oid main36G a!Hello36

    ?oid a!Hello3int nV'6G 7or3int mVmnm++6 coutKHalloo ]nK

    Penelaan @ ;ika pada program" argumen a!Hello tidak diberikan" maka program akanmenampilkan

    Halloo ]

    ,eban!ak atu kali" namun ika argumen pada 7ungi a!Hello diberikan"mialkansa"ello#4(,maka program akan menampilkan

    Halloo ] Halloo ] Halloo ] Halloo ]

    Itula# !ang diebut dengan nilai de7ault pada 7ungi.

    5.3 MELE$ATKAN ARGUMEN DENGAN RE%ERENSI

    Li#at bab mengenai arra! dan pointer.

    5.4 %UNGSI9%UNGSI BA$AAN C++

    Anda dapat menggunakan 7ungi87ungi ba2aan C++" mialkan 7ungi87ungimatematika" pengola# kata dan ban!ak lagi. ,ebenarn!a 3 mungkin tidak teraa bagi

    anda 6 main uga adala# 7ungi" adi tanpa anda adari ebenarn!a anda tela#menggunakan 7ungi.

  • 7/24/2019 perjalanan itachi menganciti tsunade

    27/52

    Untuk dapat menggunakan 7ungi87ungi terebut anda #aru meng8include 7ile dimana7ungi terebut dide7iniikan

    Mialkan @ :ungi Q 7ungi matematika" anda #aru meng8include 7ile mat#.#

    :ungi Q 7ungi pengola# tring dan karakter" anda #aru meng8include 7iletring.#

    :ungi clrcr36" getc#36" getc#e36 dalam 7ile conio.#

  • 7/24/2019 perjalanan itachi menganciti tsunade

    28/52

    C++ tidak mengecek arra!. Bila anda men!atakan int 9'O" ini artin!a ' elemen!ang dimulai dari . %arena itu elemen terak#ir arra! adala# 9(O. Bila anda ala#mere7erenikann!a dengan 9'O" anda akan mendapatkan #arga !ang tidak terpakai.Akan lebi# buruk lagi ika anda memberikan #arga ke 9'O" !ang tidak dapat diterima.

    .1.1 R!)r!!"a( Arra/ Mialkan kita memiliki ekumpulan data u/ianeorang i2a" u/ianpertama bernilai(" kemudian (")/"/. ,ekarang kita ingin men!uunn!a ebagai uatu datakumpulan u/ianeorang i2a. Dalam arra! kita men!uunn!a ebagai berikut

    uianO V ( uian'O V ( uian*O V )/ uian0O V /

    Per#atikan @

    -anda kurung O digunakan untuk menunukkan elemen arra! Per#itungan elemen arra! dimulai dari " bukan '

    Empat pern!ataan diata memberikan nilai kepada arra! u/ian. -etapi ebelum kitamemberikan nilai kepada arra!" kita #aru mendeklaraikann!a terlebi# da#ulu" !aitu @

    int u/ianO

    Per#atikan ba#2a nilai !ang berada didalam tanda kurung menuukkanumla# elemen arra!" bukan menunukkan elemen arra! !ang ke8. ;adi elemenarra!u/iandimulai dari angka ampai 0. Pemrogram uga dapat menginiialiai arra! ekaligu mendeklaraikann!a"ebagai conto# @

    int uianO V G("(")/"/

    Elemen terak#ir dari arra! diii dengan karakter RT. %arakter ini memberita#ukompiler ba#2a ak#ir dari elemen arra! tela# dicapai. $alaupun pemrogram tidak dapatmeli#at karakter ini ecara ekpliit" namun kompiler mengeta#ui dan membutu#kann!a. ,ekarang kita akan membuat da7tar beberapa nama pa#la2an di Indoneia

    c#ar pa#la2an0O'O c#ar pa#la2anO'O V 1,oekarnoK

    c#ar pa#la2an'O'O V 1DiponegoroK c#ar pa#la2an*O'O V 1,oedirmanK

    Arra! diata terli#at berbeda denga conto# arra! pertama kita. Per#atikan ba#2apada arra!pahlawan memilii dua bua# tanda kurung O O. Arra! eperti itu diebut arra!dua dimeni. -anda kurung pertama men!atakan total elemen !ang dapt dimiliki ole#arra! pa#la2an dan tanda kurung kedua men!atakan total elemen !ang dapat dimilikietiap elemen arra! pa#la2an. Dalam conto# diata" tanda kurung kedua men!atakankarakter !ang men!atakan nama pa#la2an.

    .1.2 M!"#(*"# J*a E!!" Arra/

  • 7/24/2019 perjalanan itachi menganciti tsunade

    29/52

    %arena 7ungi si0eof#(mengembalikan umla# b!te !ang euai denganargumenn!a" maka operator terebut dapat digunakan untuk menemukan umla#elemen arra!" mialn!a

    int arra! O V G*")"/*"'

    coutiSeo73arra!65iSeo73int6

    akan mengembalikan nilai " !aitu ama dengan umla# elemen !ang dimiliki arra! arra".

    .1.3 M!!:aka" Arra/ S!a#a( Ar#*!" %*"#( Arra! dapat dikirim dan dikembalikan ole# 7ungi Pada aat arra! dikirim ke dalam 7ungi" nilai aktualn!a dapat dimanipulai

    Conto# @Finclude iotream.#?oid uba#3int 9O6

    ?oid main36G int uianO V G("(")/"/ uba#3uian6 cout> Elemen kedua dari arra! uian adala# >uian'Oendl

    ?oid uba#3int 9O6G 9'O V '%eluarann!a @ Elemen kedua dari arra! uian adala# '

    .2 POINTER

    Poiter adala# ?ariable !ang berii alamat memori ?ariable lain dan e?ara tidaklangung menunuk ke ?ariable terebut. Analogin!a Q ebagai conto# Q Andi berteman dengan Budi" lalu anda inginmengeta#ui umla# keluarga Budi untuk keperluan enu penduduk. Anda tidakmengeta#ui alamat Budi" tetapi anda mengenal Andi. Untuk mencari umla# keluargaBudi" maka pertama8tama anda pergi keruma# Andi" mialn!a diruma# no /0*'.,eampai di Andi" Andi membarita#ukan kepada anda ba#2a alamat Budi ada pada

    alamat (/*'. %emudian anda pergi ke ruma# Budi la G coutKArra!1nKO V 1arra!nOendl coutKtMenggunakan pointer V 1J3arra!+n6endl coutKtDiimpan dalam 1arra!+nendl

    %eluarann!a @Arra!O V ' Menggunakan pointer V ' Diimpan dalam 9db)*/

    Arra!'O V *Menggunakan pointer V *

  • 7/24/2019 perjalanan itachi menganciti tsunade

    30/52

    Diimpan dalam 9db)*aArra!*O V 0

    Menggunakan pointer V 0 Diimpan dalam 9db)*cArra!0O V

    Menggunakan pointer V Diimpan dalam 9db)*e

    Mengapa #ail antara dua conto# diata ama namun intakn!a berbeda %arenaarra! itu ebenarn!a tela# menunuk ke alamat memori etiap elemenn!a" e#inggauntuk mengeta#ui alamat memori etiap elemen arra! cukup dengan arra" ndengan nbilangan bulat 3 integer 6.

    .2.2 P,("!r 9 Sr("# ,tring merupakan bentuk k#uu dari arra!. 4le# karena itu operai pointer8arra!tidak au# berbeda dengan operai pointer8tringConto# @Finclude iotream.#?oid main36G c#ar namaO V 1AndiK coutKNama a2al @ 1namaendl c#ar Jptr ptr V nama J3ptr+06 V R!T coutKNama menadi @ 1namaendl

    %eluarann!a @Nama a2al @ AndiNama menadi @ And!

    ;adi @ ,tring adala# arra! 3uunan6 dari karakter8karakter

    ,tring dapat diake dan dimanipulai le2at pointer

    Alamat a2al dari tring dapat diperole# dari naman!a

    .2.3 P,("!r S!a#a( Ar#*!" Sr("# ;ika pointer dikirim ebagai argument" maka nilai aktualn!a dapat dimodi7ikai.

    Conto# @Finclude iotream.#?oid uba#3c#ar J6?oid main36G c#ar Jptr"namaO V 1AndiK ptr V nama 55 ptr ebagai pointer ke ?ariable nama coutKNama a2al @ 1namaendl uba#3ptr6 coutKNama menadi @ 1namaendl

  • 7/24/2019 perjalanan itachi menganciti tsunade

    31/52

    ?oid uba#3c#ar J96G J39+06 V R!T

    %eluarann!a @Nama a2al @ AndiNama menadi @ And!

    .2.4 A(a Alia adala# nama lain dari uatu ?ariable. ;ika uatu peruba#a teradi pada?ariable alia maka akan berpengaru# kepada ?ariable ali dan begitu uga ebalikn!a.Conto# @Finclude iotream.#?oid main36G int uang V' int duit V uang coutKNilai uang &p.1uangendl coutKNilai duit &p.1duitendl uang V ( coutKUang dibelikan e krim &p.'" nilain!a menadi &p.1uangendl coutKNilai duit uga beruba# menadi &p.1duitendl

    %eluarann!a @Nilai uang &p.'Nilai duit &p.'

    Uang dibelikan e krim &p.'" nilain!a menadi &p.(Nilai duit uga beruba# menadi &p.(

    Penelaan @Peruba#an pada uang men!ebabkan peruba#an pada duitkarena duit memiliki alamatmemori !ang ama dengan uang. ;adi ika ii dari alamat memori uang atau duitberuba#" maka nilai ?ariable duit atau uang uga akan ikut beruba#.

    .2.5 Ar#*!" Bar( P!r("a ,eringkali kita menggunakan perinta# edit file.t$t pada D4," atau perinta# vifile.t$t pada Uni9. ang dimakud dengan argumen bari perinta# !aitu file.t$t.Hal

    eperti itu dapat dibuat dengan menggunakan C++ dengan men!ertakan argumenberikut pada 7ungi main36

    ?oid main3int argc" c#ar Jarg?O6 G ]

    atau

    main3int argc" c#ar Jarg?O6

    G ]

  • 7/24/2019 perjalanan itachi menganciti tsunade

    32/52

    Conto# @Finclude iotream.#?oid main36G int n

    int arra!O V G'"*"0" 7or3nVnn++6 G coutKArra!1nKO V 1arra!nOendl coutKtMenggunakan pointer V 1J3arra!+n6endl coutKtDiimpan dalam 1arra!+nendl

    %eluarann!a @Arra!O V ' Menggunakan pointer V ' Diimpan dalam 9db)*/Arra!'O V *

    Menggunakan pointer V * Diimpan dalam 9db)*aArra!*O V 0

    Menggunakan pointer V 0 Diimpan dalam 9db)*cArra!0O V

    Menggunakan pointer V Diimpan dalam 9db)*e

    Mengapa #ail antara dua conto# diata ama namun intakn!a berbeda %arenaarra! itu ebenarn!a tela# menunuk ke alamat memori etiap elemenn!a" e#inggauntuk mengeta#ui alamat memori etiap elemen arra! cukup dengan arra" ndengan nbilangan bulat 3 integer 6.

    .2.2 P,("!r 9 Sr("# ,tring merupakan bentuk k#uu dari arra!. 4le# karena itu operai pointer8arra!tidak au# berbeda dengan operai pointer8tringConto# @Finclude iotream.#?oid main36

    G c#ar namaO V 1AndiK coutKNama a2al @ 1namaendl c#ar Jptr ptr V nama J3ptr+06 V R!T coutKNama menadi @ 1namaendl

    %eluarann!a @Nama a2al @ Andi

    Nama menadi @ And!

  • 7/24/2019 perjalanan itachi menganciti tsunade

    33/52

    ;adi @ ,tring adala# arra! 3uunan6 dari karakter8karakter

    ,tring dapat diake dan dimanipulai le2at pointer

    Alamat a2al dari tring dapat diperole# dari naman!a

    .2.3 P,("!r S!a#a( Ar#*!" Sr("# ;ika pointer dikirim ebagai argument" maka nilai aktualn!a dapat dimodi7ikai.

    Conto# @Finclude iotream.#?oid uba#3c#ar J6?oid main36G c#ar Jptr"namaO V 1AndiK ptr V nama 55 ptr ebagai pointer ke ?ariable nama coutKNama a2al @ 1namaendl

    uba#3ptr6 coutKNama menadi @ 1namaendl

    ?oid uba#3c#ar J96G J39+06 V R!T

    %eluarann!a @Nama a2al @ Andi

    Nama menadi @ And!

    .2.4 A(a Alia adala# nama lain dari uatu ?ariable. ;ika uatu peruba#a teradi pada?ariable alia maka akan berpengaru# kepada ?ariable ali dan begitu uga ebalikn!a.Conto# @Finclude iotream.#?oid main36G int uang V' int duit V uang coutKNilai uang &p.1uangendl coutKNilai duit &p.1duitendl uang V ( coutKUang dibelikan e krim &p.'" nilain!a menadi &p.1uangendl coutKNilai duit uga beruba# menadi &p.1duitendl

    %eluarann!a @Nilai uang &p.'Nilai duit &p.'Uang dibelikan e krim &p.'" nilain!a menadi &p.(Nilai duit uga beruba# menadi &p.(

    Penelaan @

  • 7/24/2019 perjalanan itachi menganciti tsunade

    34/52

    Peruba#an pada uang men!ebabkan peruba#an pada duitkarena duit memiliki alamatmemori !ang ama dengan uang. ;adi ika ii dari alamat memori uang atau duitberuba#" maka nilai ?ariable duit atau uang uga akan ikut beruba#.

    .2.5 Ar#*!" Bar( P!r("a

    ,eringkali kita menggunakan perinta# edit file.t$t pada D4," atau perinta# vifile.t$t pada Uni9. ang dimakud dengan argumen bari perinta# !aitu file.t$t.Haleperti itu dapat dibuat dengan menggunakan C++ dengan men!ertakan argumenberikut pada 7ungi main36

    ?oid main3int argc" c#ar Jarg?O6 G ]

    atau

    main3int argc" c#ar Jarg?O6 G ] return

    %eterangan @ Argc @ Beii umla# parameter bari ditamba# '

    Arg? @ Berii da7tar nama argumen dan program" dengan rincian ebagai berikut @ arg?O menunuk nama program" lengkap dengan alamat pat# arg?'O menunuk argumen pertama 3 kalau ada 6

    arg?n menunuk argumen ke8n 3 kalau ada6

    Conto# @55 beri nama te.cppFincludeiotream.#?oid main3int argc" c#ar Jarg?O6G 7or3int aVaargca++6coutKarg?1aKO V 1arg?aOendl

    Penelaan @

    ,etela# dicompile dan di link akan muncul 7ile te.e9e" mialkan anda impan [email protected] command prompt" pinda# ke direktori d@ ketikkan-e argumen' argument* argument0" maka akan muncul tampilan

    arg?O V D@-E,.EZEarg?'O V argument'arg?*O V argument*arg?0O V argument0

    Diba2a# ini diberikan conto# penggunaan argumen bari perinta# !ang lain"

    upa!a anda lebi# mema#ami

  • 7/24/2019 perjalanan itachi menganciti tsunade

    35/52

    Conto# @55 Program menguba# nilai deimal ke biner55 ,impan dengan nama dec*bin.cppFinclude iotream.#Finclude conio.#

    Finclude mat#.#Finclude tdlib.#?oid main3int argc" c#ar Jarg?O6Gi73argc \V*6G cerr>Pemakaian @ dec*bin angka> e9it3'6int p V atoi3arg?'O6"n"iVdouble A'OdoG A++iOVpW* pVp5* 7loor3p6 2#ile 3p'6cout>Nilai binern!a @ >coutp7or3nVinV'n886G coutAnO

    getc#36;ika anda ketikkan dec2bin 4" maka outputn!a ilai binern"a 1

  • 7/24/2019 perjalanan itachi menganciti tsunade

    36/52

    7.1.1 M!*ka ;(! *"*k (a

  • 7/24/2019 perjalanan itachi menganciti tsunade

    37/52

    dengan o7tream.io@@nocreate Membuka 7ile !ang uda# ada. ;ika

    7ile !ang akan dibuka belum ada"maka C++ tidak akan membuat 7ilebaru.

    io@@noreplace Membuka 7ile baru. ;ika 7ile uda#ada maka operai pembukaanmenadi gagal. ;ika 7ile belum ada"maka akan dibuat 7ile baru. Hal inibertentangan dengan io@@nocreate

    io@@trunc Meng#apu 7ile !ang uda# ada danmenciptakan 7ile baru 3replace6

    io@@binar! Membuka 7ile dengan operai baca8tuli ecara binar!.

    Adapun conto# penggunaan dari modu Q modu pembukaan 7ile diata adala#ebagai berikut @

    7tream 7ile^obek 31nama^7ileK"io@@in X io@@out6

    Pern!ataan diata adala# dekalarai 7ile na)a!file dengane#inggan na)a!file dapat dibaca dan ditulii.

    7.2 PEMROSESAN %ILE

    ,etela# 7ile dibuka" maka dilakukan pemroean pada 7ile !ang tela# dibukaterebut" antara lain @

    7.2.1 M!"*( k! %(!

    Conto# @ Fincludeiotream.#Finclude7tream.#?oid main36G o7tream 7ile^obek 7ile^obek.open3>lati#an.t9t>6

    cout>Lati#an menuli ke dalam ebua# 7ilen> 7or3int iV'i''i++6 7ile^obek>Ini adala# bari ke >iendl 7ile^obek.cloe36

    Pada direktori dimana anda men8a?e 7ile terebut akan terdapat ebua# 7ilebernama lati#an.t9t

    7.2.2 Maa

  • 7/24/2019 perjalanan itachi menganciti tsunade

    38/52

    Finclude7tream.#?oid main36G cont int MAZ V / c#ar bu77erMAZ+'O

    i7tream 7ile^obek 7ile^obek.open3>lati#an.t9t>6 cout>Membaca ii 7ile lati#an.t9tn> 2#ile37ile^obek6 G 7ile^obek.getline3bu77er"MAZ6 coutbu77erendl

    Program ini membaca ii 7ile lati#an.t9t dan menampilkann!a ke la!ar.

    :ile^obek.getline3bu77er"MAZ6 digunakan untuk membaca tek dari 7ile.

    7.2.3 M!!r(ka O)!ra( %(! C++ men!ediakan eumla# 7ungi !ang berguna untuk memerika kondii8kondiipada operai 7ile" e#ingga keadian keala#an pada aat ekekui dapat dikendalikan.

    :ungi Anggota %egunaan=ood36 Untuk memerika keber#ailan dari

    uatu operai 7ile. ;ika operaiber#ail dilakukan" maka 7ungi iniakan mengembalikan nilai ' 3-&UE6

    eo736 Untuk memerika apaka# pointertela# mencapai ak#ir 7ile. ;ika !a7ungi ini akan mengembalikan nilai '3-&UE6

    7ail36 Untuk memerika uatu keala#an.:ungi ini dapat digantikan dengan7ungi good36 !ang dinegaikan.

    bad36 Untuk memerika apaka# ada operai!ang tidak aba#. ;ika ada" maka7ungi ini akan mengembalikan nilai '3-&UE6

    Conto# @5J Program ini meng#ailkan output !ang ama dengan program pada conto# ).*.* J5Fincludeiotream.#Finclude7tream.#?oid main36G cont int MAZ V / c#ar bu77erMAZ+'O i7tream 7ile^obek

    7ile^obek.open3>lati#an.t9t>6 cout>Membaca ii 7ile lati#an.t9tn>

  • 7/24/2019 perjalanan itachi menganciti tsunade

    39/52

    2#ile3\7ile^obek.eo7366 G 7ile^obek.getline3bu77er"MAZ6 coutbu77erendl

    Program pada conto# diata ama aa dengan conto# program pada ).*.*.Perbedaann!a #an!a pada

    2#ile37ile^obek6 dan2#ile3\7ile^obek.eo7366

    2#ile37ile^obek6 ika diartikan dalam ba#aa e#ari Q #ari adala# ika ii dari7ile^obek 3dalam #al ini" lati#an.t9t6 mai# ada" maka baca atu bari pada 7ile lati#an.t9tlalu pinda#kan pointer atu bari ke ba2a#. ;ika ii pada bari terebut tidak ada" maka#entikan loop. ,edangkan pada 2#ile3\7ile^obek.eo7366 dapat diartikan" ika pointer tidakterdapat di bari paling ak#ir dari 7ile^obek" maka lanutkan loop. ;ika tidak" maka#entikan loop.

    7.3 MENUTUP %ILE

    ,etela# pemroean 7ile berak#ir" maka 7ile perlu ditutup. Langka# ini dilakukandengan cara

    7ile^obek.cloe36

    Pemakaian 7ungi cloe36 i7atn!a optional. Bila anda tidak mempergunakann!a"compiler tidak akan mengeluarkan pean error.

    Diba2a# ini diberikan conto# Q conto# penggunaan operai 7ile pada uatu !temoperai.

    Conto# @

    '. Program men!alin uatu 7ile

    55 ,impan dengan nama cp.cppFinclude iotream.#Finclude conio.#Finclude tdlib.#Finclude 7tream.#Finclude tring.#Fde7ine ma9 /

    ?oid main3int argc"c#ar Jarg?O6G

  • 7/24/2019 perjalanan itachi menganciti tsunade

    40/52

    c#ar bu77erma9+'O

    i7 3argc\V06 G cerr>Pemakaian @ cp 7ile^!ang^akan^dikopi 7ile^barun>

    e9it3'6 trupr3arg?'O6 i7tream input3arg?'O" io@@binar!6 o7tream output3arg?*O" io@@binar!6 i7 3\input6 G cerr>:ile !ang akan dikopi tidak ada" perika kembali \\\n> e9it3'6

    7or36 G input.read3bu77er"ma96 output.2rite3bu77er"ma96 i73input.eo7366break input.cloe36 output.cloe36

    *. Program Membaca Ii ,uatu :ile

    55 ,impan dengan nama baca.cppFinclude iotream.#Finclude conio.#Finclude 7tream.#Finclude tdlib.#Finclude tring.#?oid main3int argc"c#ar Jarg?O6Gclrcr36cont int ma9V/

    c#ar bu77erma9+'Oc#ar nama7ileOi73argc\V*6G cerr>Penggunaan @ Baca nama^7ilen> e9it3'6trcp!3nama7ile"arg?'O6trupr3nama7ile6

    i7tream input

    input.open3nama7ile62#ile3\input6

  • 7/24/2019 perjalanan itachi menganciti tsunade

    41/52

    Gcerr>:ile Not :ound \\\n>e9it3'62#ile 3\input.eo7366

    G input.getline3bu77er"ma96coutbu77erendlinput.cloe36getc#36

  • 7/24/2019 perjalanan itachi menganciti tsunade

    42/52

    nama^truct ?ariabel^truktur

    merupakan pende7iniian ?aribel ?ariabel^truktur dengan tipe tructur nama^truct. Anggota truktur dapat diake dengan menggunakan bentuk @

    ?ariabel^truktur.anggota

    Conto# @Finclude iotream.#?oid main36G truct keluarga G c#ar uami'O c#ar itri'O int umla#^anak

    keluarga Andi V G1AndiK"KNinaK"0 keluarga Budi V G1BudiK"KAnaK" coutK;umla# anak Bapak Andi 1Andi.umla#^anakendl coutKItri Bapak Budi iala# 1Budi.itriendl%eluarann!a @;umla# anak Bapak Andi 0Itri Bapak Budi iala# Ana

    Per#atikan ba#2a pada ak#ir dari truct diberi tanda emicolon.

    8.1.1 Arra/ ar( Sr*k*r Arra! dari truktur dapat dideklaraikan eperti #aln!a pendeklaraian arra! biaa.

    Bentuk @ nama^arra!inde9O. anggota^truktur

    Conto# @Finclude iotream.#?oid main36G

    truct ma#ai2a G long nim int nilai

    ma#ai2a teknik0O teknikO.nim V '(0) teknikO.nilai V )/ teknik'O.nim V '(0)/ teknik'O.nilai V )'

    teknik*O.nim V '(*) teknik*O.nilai V )

  • 7/24/2019 perjalanan itachi menganciti tsunade

    43/52

    coutKNIM NILAI nK 7or3int nVn0n++6 G couttekniknO.nimKttKtekniknO.nilaiendl

    %eluarann!a @NIM NILAI'(0) )/'(0)/ )''(*) )

    8.1.2 P,("!r S!a#a( A"##,a Sr*k*r Anda dapat mempun!ai karakter" integer" 7loat ba#kan pointer untuk dapatdiadikan ebagai tipe data anggota truktur.Conto# @Finclude iotream.#?oid main36G truct kulia# G c#ar kulia#'0O c#ar kulia#*0O truct kulia# Jptr

    kulia# emeter0O V GG>%omputer *)>">Matematika *')>"emeter'O" G>Electronic *'>">,item %endali 00>"emeter*O" G>Analii Numerik 0'>">-elekomunikai 0)>"emeterO

    int n 7or3nV n0n++6 G cout>Ii edang menuuk ke @ >

    coutemeternO.ptr8kulia#'endl

    %eluarann!a @Ii edang menunuk ke @ Electronic *'Ii edang menunuk ke @ Analii Numerik 0'Ii edang menunuk ke @ %omputer *)

    8.1.3 Sr*k*r S!a#a( A"##,a Sr*k*r

  • 7/24/2019 perjalanan itachi menganciti tsunade

    44/52

    ,truktur uga dapat menadi anggota truktur lain. Conto# diata uga ala# atuconto# truktur ebagai anggota conto#. Untuk dapat lebi# mema#ami diba2a# inidiberikan ebua# conto# @

    Conto# @

    Finclude iotream.#?oid main36G truct anak G c#ar pria'O c#ar 2anita'O

    truct keluarga G c#ar uami'O c#ar itri'O truct anak

    truct anak Andi V G1-ediK"KLiaK truct keluarga Budi V G1BudiK"KAnaK"K&!uK"KCaeciliaK

    coutKAnak laki8laki Andi 1Andi.priaendl coutKPutri Bapak Budi 1Budi.2anitaendl

    %eluarann!a @Anak laki8laki Andi -ediPutri Bapak Budi Caecilia

    8.2 UNION

    Union men!erupai truktur" namun mempun!ai perbedaan !ang n!ata. Union biaadipakai untuk men!atakan uatu memori dengan nama lebi# dari atu. ,ebagaigambaran" ebua# union dideklaraikan ebagai berikut @

    union bila^bulat G unigned int di unigned c#ar dc*O

    Pada pendeklaraian eperti ini" di dan dc menempati memori !ang ama. Untuklebi# elan!a" per#atikan conto# berikut @

    Conto# @Finclude iotream.#

    Finclude conio.#?oid main36

  • 7/24/2019 perjalanan itachi menganciti tsunade

    45/52

    G union bil^bulat G unigned int di unigned c#ar dc*O

    bil^bulat bil bil.di V 9*0 coutetio7lag3io@@#o2bae6 cout#e9Kdi @ 1bil.diendl cout#e9KdcO @ 1bil.dcOendl cout#e9Kdc'O @ 1bil.dc'Oendl

    %eluarann!a @di @ 9*0dcO @ 9dc'O @ 9*0

    %eterangan @etio7lag3io@@#o2bae6 mengembalikan bai #itung !ang digunakan. He9

    membuat bai #itung menadi #ekadeimal.

    IZ. %ELA,

    =.1 KELAS & STRUKTUR

  • 7/24/2019 perjalanan itachi menganciti tsunade

    46/52

    %ela merupakan truktur data dari obek. Untuk menelakan tentang kela" akankita bandingkan bentuk antara truktur dan kela.

    BENTUK

    KELAS STRUKTUR

    cla nama^claG pri?ate @ anggota^datapublic @

    7ungi^anggota

    truct nama^tructG anggota^data

    -erli#at perbedaan antara kela dan truktur" !aitu @

    PE&BEDAAN%ELA, ,-&U%-U&

    -erdapat anggota data dan 7ungianggota. Anggota data biaan!aberupa ?ariabel dan 7ungi anggotabiaan!a berupa 7ungi.

    Han!a terdapat anggota data

    -erdapat kata8katakunciprivatedanpublic!angmenentukan #ak ake bagianggota8anggota di dalam kela.

    Pri?ate dapat digunakan didalam kela untuk memprotekianggota8anggota tertentu dari kela"agar tidak dapat diake dari luarkela ecara langung. Pri?atemerupakan de7ault dari kela.

    Public mengiSinkan anggota8anggota !ang berada didalamn!abeba di ake dari luar kela

    Hak ake pada truktur amaeperti #ak akepublicpada kela

    =.2 KELAS SECARA UMUM

    %onep penggabungan data dan 7ungi eperti diata diebut encapulai" !angditerapkan dalam C++ dengan tipe turunan.

    Conto# %ela @

    '. :ungi dide7iniikan di dalam kelaFinclude iotream.#

  • 7/24/2019 perjalanan itachi menganciti tsunade

    47/52

    Finclude tring.# cla penduduk G pri?ate@ int id

    c#ar nama/O public@ ?oid tampilkan3?oid6 G coutKNo. %-P @ 1idendl coutKNama @ 1namaendl ?oid et3int idn" c#ar Jn6 G id V idn trcp!3nama"n6

    ?oid main36 G penduduk a!a a!a.et3'*0"KAndiK6 a!a.tampilkan36

    *. :ungi anggota dide7iniikan diluar kela

    Finclude iotream.# Finclude tring.# cla penduduk G pri?ate@ int id c#ar nama/O public@ ?oid tampilkan36 ?oid et3int idn" c#ar Jn6

    ?oid main36

    G penduduk a!a a!a.et3'*0"KAndiK6 a!a.tampilkan36

    ?oid penduduk @@ tampilkan3?oid6 G coutKNo. %-P @ 1idendl

    coutKNama @ 1namaendl

  • 7/24/2019 perjalanan itachi menganciti tsunade

    48/52

    ?oid penduduk @@ et3int idn" c#ar Jn6 G id V idn trcp!3nama"n6

    %eluaran kedua conto# diata ama aa" !aitu @No. %-P @ '*0Nama @ Andi

    Penelaan @a"amerupakan obek dari class penduduk.Pada conto# * 7ungi dide7iniikan diluar"ole# karena itu pada pende7iniian 7ungi #aru memiliki bentuk @

    tipe^return^7ungi nama^kela @@ nama^7ungi 3parameter6

    Hal ini untuk memberita#u kompiler ba#2a 7ungi terebut merupakan anggota darikelana)a!kelas. ,imbol 3 @@ 6 merupakan operator reolui lingkup.

    =.3 KONSTRUKTOR

    %ontruktor adala# 7ungi anggota !ang mempun!ai nama !ang ama dengan namakela. %egunaann!a @

    Mengalokaikan ruang bagi ebua# obek

    Memberikan nilai a2al ter#adap anggota data uatu obek

    Membentuk tuga8tuga umum lainn!a

    Conto# @Finclude iotream.#cla umla#G public@ int umla#' int umla#* umla#36

    umla# obek'"obek*?oid main36G coutKDidalam main36 nK coutKobek'.umla#' adala# 1obek'.umla#'endl coutKobek'.umla#* adala# 1obek'.umla#*endl coutKobek*.umla#' adala# 1obek*.umla#'endl coutKobek*.umla#* adala# 1obek*.umla#*endl

    umla#@@umla#36

    G coutKDidalam umla#36 nK

  • 7/24/2019 perjalanan itachi menganciti tsunade

    49/52

    %eluarann!a @Didalam umla#36Didalam umla#36

    Didalam main36obek'.umla#' adala# obek'.umla#* adala# obek*.umla#' adala# obek*.umla#* adala#

    %eimpulan @ Nama kontruktor ama dengan nama kela

    %ontruktor tidak mempun!ai nilai balik

    %ontruktor #aru diletakkan di bagian public" coba aa anda meletakkan kontruktordalam conto# diata dibagian pri?ate.

    %ontruktor dialankan dengan endirin!a pada aat obek diciptakan 3 dalam conto#

    diata !aitu obek' dan obek*6. Ba#kan kontruktor dialankan ebelum 7ungi main36dialankan.

    =.4 DESTRUKTOR

    Detruktor adala# 7ungi anggota !ang mempun!ai nama !ang ama dengan namakela ditamba# !mbol tilde 3 [ 6 didepann!a.

    Conto# @Finclude iotream.#cla umla#G public@ int umla#' int umla#* [umla#36

    umla# obek'"obek*?oid main36G coutKDidalam main36 nK coutKobek'.umla#' adala# 1obek'.umla#'endl coutKobek'.umla#* adala# 1obek'.umla#*endl coutKobek*.umla#' adala# 1obek*.umla#'endl coutKobek*.umla#* adala# 1obek*.umla#*endl

    umla#@@[umla#36G coutKDidalam umla#36 nK

  • 7/24/2019 perjalanan itachi menganciti tsunade

    50/52

    %eluarann!a @Didalam main36obek'.umla#' adala# obek'.umla#* adala# obek*.umla#' adala#

    obek*.umla#* adala# Didalam umla#36Didalam umla#36

    %eimpulan @ Nama kontruktor ama dengan nama kela ditamba# tanda tilde 3 [ 6 di depann!a

    Detruktor tidak mempun!ai nilai balik

    Detruktor #aru diletakkan di bagian public" coba aa anda meletakkan detruktordalam conto# diata dibagian pri?ate.

    Detruktor dialankan dengan endirin!a pada aat obek akan irna 3 dalam conto#diata !aitu obek' dan obek*6.

    =.5 IN>ERITANCE - PE$ARISAN 0

    C++ memungkinakan uatu kela me2arii data ataupun 7ungi anggota kela lain.,i7at eperti ini diebut pe2arian. %ela u!ang me2arii i7at kela lain diebut kelaturunan 3 deri?ed cla 6. ,edangkan kela !ang me2arikan i7at ke kela lain laindiebut kela daar 3 bae cla 6.

    Untuk mema#ami tentang konep pe2arian" marila# kita li#at conto# berikut ini.

    Finclude iotream.#Finclude conio.#

    cla BaiG pri?ate @ int alp#a int bra?o public @ ?oid in7o^bai36 G coutKin7o^bai36 dialankan]Kendl

    cla -urunan @ public BaiG public @ ?oid in7o^turunan36 G coutKin7o^turunan36 dialankan]Kendl

    ?oid main36

  • 7/24/2019 perjalanan itachi menganciti tsunade

    51/52

    G clrcr36 -urunan anak anak.in7o^bai36 anak.in7o^turunan36

    %eluarann!a @in7o^bai36 dialankan]in7o^turunan36 dialankan]

    Pada conto# diata" terdapat kela bernama asisdan 6urunan. Dalam #al ini @ asisadala# kela daar

    6urunan adala# kela turunan%ela 6urunanme2arii i7at8i7at dari kela asis .Per#atikan pern!ataan pada main36 @

    -urunan anakAnak.in7o^bai36

    ,ekalipun in7o^bai36 dideklaraikan pada kela Bai" ia uga di2arikan pada kela-urunan. Namun bagaimana mekanime pe2ariann!a ;a2aban dari pertan!aan initerletak pada topik berikut.

    Pada pendeklaraian kela -urunan terdapat bari ebagai berikut @

    Cla -urunan @ public Bai

    Pada bari ini terdapat kata8kata kunci terebut pada kontek ini Untuk meli#atkegunaan kata8kata kunci ini" per#atikan terlebi# dulu program berikut.

    Finclude iotream.#Finclude conio.#

    cla BaiG pri?ate @ int alp#a int bra?o public @ ?oid in7o^bai36

    G coutKin7o^bai36 dialankan]Kendl

    cla -urunan @ BaiG public @ ?oid in7o^turunan36 G coutKin7o^turunan36 dialankan]Kendl

  • 7/24/2019 perjalanan itachi menganciti tsunade

    52/52

    ?oid main36G clrcr36 -urunan anak

    anak.in7o^bai36 anak.in7o^turunan36

    Perbedaan program di ata dengan program ebelumn!a terletak pada kata8kuncipublic. Pada program diata" kata kunci public pada bari !ang berii cla -urunandibuang.

    Apabila program dikompilai" keala#an akan teradi" !akni pada pern!ataan @

    anak.in7o^bai36

    %eala#an men!atakan ba#2a Bai@@in7o^bai36 tidakla# dapat diake pada main36.Lalu" apa artin!a

    Bentuk eperti @

    cla -urunan @ Bai

    ebenarn!a mempun!ai makna !ang ama dengan @

    cla -urunan @ pri?ate Bai

    Makudn!a !aitu emua anggota !ang beri7at public 3 dan uga protected 6 pada

    kela daar 3 Bai 6 di2arikan ke kela turunan 3 -urunan 6 ebagai anggota !angberi7at pri?ate.

    ,edangkan kalau pe2arian dilakukan dengan public" emua anggota !ang beri7atpublic pada kela daar di2arikan ke kela turunan eperti apa adan!a pada kelabai.