Anda di halaman 1dari 18

9Aa

-l
)

TipeData
dan Operato

J1 M enerap k a np e n q g u n a a nt i p e d a ta ,va r r a b e l,ko n sta n ta o


, p e r a to r ,dan ekspresi
3. M enerap k a no p e r a s ra n t m a tikad a n lo g ika
41 M enrbua tk o d e p r o g r a n rd e n g a n tip e d a ta ,va r r a b e l,ko n sta n ta o
, p eratordan ekspresi
4. M embua t k o d e p r o g r a m d e ng a n o p e r a sia r itm a tikad a n lo g ika

M eialuike g i a t a nd i s k u s rs,t s w ad a p a tm e n e r a p ka np e n g g u n a a ntip e data,vafl al )elkonstanta,


, operator,
darrek s o r e s i
St s iv adap a t n r e ' n u l ikso d e p r o q r a mp e n r a n fa a ta tip
n e d a ta ,va r ia b e l,konstanta,operator,dan ekspresi
Sis wada p a t m e n g u ; ic < - r bcala nm e n g e va lu a siko d e p r o g r a n rtip e d ata,vari abelkonstanta,
, operator,
dan ek s p r e syr a r r qs e s u a d
i e n g a n a tu r a nd a n sin ta ksb a h a sap e n tr ograrnanC ++
M elaluik e g i a t a nd i s k u s id a n p e m b e n a n m a sa la hsiswad a p a t m e nerapkanoperasiari tmati kadan
logik a
5is wada l r a t m e n u l i s k o d e pr o g r a m p e n e r a p a no p e r a silo g ika d a n operasiantmati kayang sesuai
dengan a t u r a n d a n s i n t , r k sba h a sap e n r r o g r a m a nC+ r
() S is wada p a t r n e n g u j ic o b a d a n m e n g e va lu a siko d e Jr r o q r a mo p e r asikrqi kacl anoperasiari tmati ka
y anq leb i h e f e k t i f
MelalLrike q r a t a np r es e n t a ssi iswad a p a t r r e n q o m u n ika sika nh a silp emhLratan
kode programdenqan
barkc lanp e r s u a s i f
Ketikamenataalatsekolah,pastikitaakanmenaruhalattersebutsesuaidenganporsidari
alattersebut.Kitaselalumenentukanpenempatanyang pasuntukalattersebutuntuk
membuatnuansayangnyamandancantikketikadipandang. Haltersebutjuga relevan
ketikakitamengembangkan suatuprogram, tentukitadihadapkandenganbanyakhal.
Selainberhubungan denganalurprogram,kitajugadihadapkandengansuatumekanisme
penyimpanan datadanoperasiyang dilakukanpadadatayangkitasimpantersebut.

l:l*"'
*' 3il';:::':"9,::[
PadaBabini kitaakanmempelajaraisuatu
tipedatamaupunoperatoryang
terdapat
padabahasapemrograman C++.

PenerapanData,Variabel,dan Konstanta
U
1. ldentifier
ldentifier(pengenal)adalahsuatu nama dengan maknatertentu dan mudah
dipahamidalammengembangkan programyang berfungsiuntuk menyatakan
variabel,konstanta,tipe data,dan fungsi.ldentifierini digunakanprogramuntuk
merujukke suatulokasimemoritertentuagarnilai padalokasitersebutdapat
diakses.Beberapa aturanyangdigunakanuntukpenulisan identifierdalambahasa
C danC++ samadenganaturanyangdipakaidalambahasapascal. Aturan-atura
tersebutsebagaiberikut.
a. Tidakbolehdimulaidengankarakternon-huruf, harusdiawalidenganhuruf
ataudapatmenggunakan garisbawah.
b. Panjangmaksimal32 karakter.
c. Tidakbolehmenggunaantandaspasi(biasanya progrommer menggantispasi
denganunderscore).
d. Tidakbolehmenggunakan karakter-karakterseperti: - !@#Von &* O +'-=
{} []:" ;'<>?,./ lkecualitanda Sdan garisbawahL).
e. Tidakbolehmenggunakan words(katakunci)yangadadalamC++.
reserved
f. Bersifatcasesensitif (hurufbesardan kecildibedakan).
Contohreserved word yang terdapatdalambahasaC dan C++ ditunjukkanoleh
Gambar3.2berikutini.

PemrosramanDasar
(
asm else new this
auto enum operator throw
bool explicit , private true
break export protected try
case extern public typedef
catch false register typeid
char float Reinterpret_cast typename
class for returm union
const freind short Unsigned
const cast goto signed using
continue if sizeof virtual
default inline static void
delete int Static cast volatile
do long struct Wchart
double mutabe switch while
dynamic_cast namespace template
Gambar2 Keywordidentti€rbahasa-C
dan C++

Contoh penulisanidentifiermemang harussesuaidengan kaidahaturan


penulisannya,
penulisanyang benar dari identifierbesertaalasannyaseperti
ditunjukkan
olehTabel3.1.
Tabef3.1 Penulisanidentifier

Benar Salahdan Alasanya


semeste12 2semester (tidak bolehdiawaliangka)
nama_barangnama-barang (tanda (-) tidakdiperbolehkan
)
n ilai #nilai(simbol# tidakdiperbolehkan )
_tanggal
dolarS

2. Tipe Data
Datayangdapatdikelolaolehprogramdapatbermacam-macam, sepertibilangan
bufat (lnteger),bilangandengan desimal(flootingpoint),huruf (choracfer),dan
sebagainya. Ketikaprogramrnermenentukantipe datamakaprogrammer tersebut
tentusudahmemahami bahwatipedatatersebutakanmenggunakan suatualokasi
memorytertentu,artinyar[h_{ainginmenyimpankarakterbilangan,bulat, akan
menggunakantipe datafntegel bukanfloatingpoint. Hal tersebutkarenasetiap
tipe data memilikispesifi\asdkurandanjangkauannilaitertentu dalammemory
komputer,sehinggasangatpentingbagikita untukmenentukan tipe datayang
sesuaisaatmembuatsuatuprogram.Proses penyimpanan datakememorykomputer
memerf ukanduahal,yaitu1)identifier pengenal
sebagai (label)lokasimemoriyang

\
TipeDatadanOperator
S?>
t I
digunakan,dan2)tipedata,yaitubesaran yangmenentukan ukuranmemoriyang
Tabel3.2menunjukkan
dialokasikan. ragamjenistipe datadalamBahasaC++.
Tabel3.2 Ragam jenis tipe data dalam C++
No Tlpe Data Ukuran JangkauanNilai
1 bool 1 bytes Truedanfalse
2 unsignedshortint 2 bytes 0 s.d65.535
3 shortinteger 2 bytes 32.768s.d32.768
4 unsignedlongint 4 bytes Oto 4,294,967,295
5 longint 4 bytes -2,147,483,648
s.d2,147,483,647
6 int (16bit) 2 bWes -32,768s.d32,767
7 int (32bit) 4 bytes - 2,'l47,483,&8to 2,"1
47,483,647
8 unsignedint (16bit)' 2 bytes 0 s.d65.535
9 unsignedlongint (32biO 4 bytes Os.d4,294,967,295
10 char 1 bytes 256character
values
t1 float 4 bytes 1.2e-38s.d3.4e38
't2 double 8 bytes 2.2e-308s.d1.8e308
3. Variabel
Deklarasivariabeladalahprosespenyiapan/pengenalan variabelyang digunakan
untukmenyimpan datadenganformattertentu. Penulisannamavariabel sebaiknya
memberikannamapengenalvariabelsesuaidenganisi dari variabeltersebut.
Misalnya walaupunnamavariabel "c21i Bk" untukmenyimpannamasiswaadalah
valid (diperbolehkan),namunakanlebihmudahdimengertijikaidentifieryang
dipilihadalah"nama". Setelahvariabeldideklarasikan,variabelakandiinisialisas
(proses pemberian nilaikepadasuatuvariabel).
Inisialisasivariabel
dapatdilakukan
denganduacara,yaitu:
a. Inisialisasi
langsung,adalah pemberian denganpenulisan
nilaivariabel langsung
melelaluikodeprogram.Inidilakukan denganoperator(= ).
b. Inisialisasi
melaluimasukan darikeyboard menggunakan instruksistream
input
(cin, getline, scanf, dsb.).
dapatjugaprosesdeklarasi
Jikadikehendaki variabelsekaligusprosesinisialisas
dengansuatunilaidalamsatupernyataan.
Contohdeklarasidan inisialisasivariab
ditunjukkanolehGambar3.3.
Deklarasi
variabel: Inisialisasi
variabel:
intjumlah; jumlah= 10;
floatharga_satuan; harga_satuan =23.456;
charsaya,kamu; Sala ='B';
boolkondisi; kamu='2';
doublejarak; kondisi= true;
deklarasi
sekaligus
inisialisasi jarak=125000;
int angka= 5;
stringnama= "Febrianto"
Gambar3.3Deklarasi
dan inisialisasi
variabel
Sumber:FebriantoAloodri

PemrogramanDasat
. 5g
T
Keterangan:
a. inr jumlah; merupakandeklarasi variabeljumlah bertipeinteger,artinya
programakanmemesan suatumemoridi alamattertentuyangakandiisioleh
data integer.
b. jumJ-ah= 10r mempunyai maknavariabel "jumlah"diisi denganbilangan
integer10.
c. harga_satuan : 23 .456; variabel"harga_satuan" diisibilanganpecahan.
d. saya : 'B' ; variabel"saya" diisidengankarakter'B'.
e. kamu: '2 ' ; variabel"kamu"diisidengankarakter'2'.
4. Konstanta
Konstantamerupakanidentifieryangnilainyatidakdapatdiubah(bersifatkonstan
atautetap).Untukdapatmembuatkonstantadiperlukaninisialisasi ketikakonstanta
dibuat(deklarasi konstanta)
dansetelahitu nilainya
tidakdapatdiubah.Bahasa C++
mempunyaidua macamkonstanta, yaitukonstanta literaldan konstanta simbolik.
Konstanta literalmerupakansuatunilaiyangditulispadakodeprogramdenganisi
tertentu(dapatberupabilanganinteger,float,danlain-lain). Sebagaicontohpada
kodeprogramberikut.
i nt usiaku : 42 ,'
Nilai42 tidakdapatmenerimanilailaindan nilaitersebutbersifattetap.
Perhatikan adalahvariabel(bukankonstanta).
dalamhal ini identifier"usiaku" Nilai
"42"tersebut dinamakan sebagaikonstanta literal.
Konstanta simbolikadalahkonstantayangdirepresentasikan dengansuatu
nama,samasepertivariabeltetapiberbedadenganvariabelsetelahsuatukonstanta
diinisialisasi
dengansuatunilaimakanilainya tidakdapatdiubah.Adaduacarauntuk
mendeklarasikan konstantasimbolik,yaitu
a. menggunakanpreprocessor directive#define.Contoh mendeklarasikan dan
menginisialisasi
konstanta:
#define febar 45,'
ldentifierkapasitas
tidakmempunyai tipedatatertentu(int,chardsb.).
Preprosessor akanmelakukansubstitusiberupateks,setiapadaaksesterhadap
katalebar,akandigantikandenganteks45,karenapreprosesor bekerjasebelum
kompiler,kompilertidak mengenalkonstantalebar,yangdikenalhanyalah
bilangan 45.
b. memakaikatakunciconst. Contohdeklarasikan dan inisialisasi
konstanta:
const in t pa nja ng : 22;
const flo at ph i : 3. 74L592;
Contohdi atasmerupakan deklarasi
konstantasimbolikbernama"panjang" bertipe
nilai22.Setelahbarisini simbol(identifier)
int dan diinisialisasidengan bernama
"panjang"tidakdapatdiubah-ubahnilainya.Keuntungan pembuatankonstanta
dengancaraini lebihmudahdalammaintenancedan mencegahadanyakesalahan.
Operator Assigment
Operatoradalahsimbolyang digunakanuntuk melakukansuatuoperasipada
pemrograman. Operatormempunyaibeberapakategori,yaituoperatoraritmatika
(operatorkhususuntukoperasibilanganpenjumlahan/pengurangan/perkali
pembagian), pengerjaan,hubungan,dan logika.Operatorpengerjaan atauyang
disebutassignmentoperator,
digunakanuntukmenempatkan nilaidarisuatuekpresi

Tipe Data dan Operator

I
ke suatupengenal.Operatoryangumumdipakaipadapemrograman C++adalah
operatorpengerjaan"=".Selainoperatorpengerjaan C++menyediakan
"='i bahasa
beberapa operatorpengerjaan yanglainsepertiTabel
3.3dan3.4di bawahini.
Tabef3.3 Ragampengerjaan(AssigmentOperatorl dalam bahasaC++

akan b+c ke a

Tabel3.4 Contoh pemakaianoperator assignmentdan aritmetika

a: 10 +3 =1 3

a :a* ( b/ 21 a :1 0* (10/2):50
a :a/ ( j- 8) a : 10 / (f0-8) :

Daricontohdi atasterlihatbahwaoperatorpengerjaan mempunyai jenjang


yang lebih rendahdibandingoperatoraritmatika, sehinggaoperatoraritmatika
dikerjakanterlebihdahulu.C++mengijinkan operatorpengerjaan ditulislebihdari
satukalipadasebuahstatement, misalnya:
x=y=a*b;
Catatan:Perhatian!Walaupundengan memakaipreprocessor directive#define
tampakmudah,,namun sebaiknya cara ini tidak digunakan, karena sudahusang
padastandarC++.
Dalamhal ini yangdikerjakan yaitua dikalikanb terlebihdahulukemudian
nyadiberikankepadavariabely dan hasilekspresi
hasif y = a* b diberikankepada
variabelx. sehinggamisalnyaa bernilai8 dan b bernilai7 makabaikvariabelx
maupuny keduanya bernilai15.
6. Operator Unary
Operatorunary adalahoperatoryang hanyamenggunakansebuahoperandsaja,
operatorunaryyangdipakaipadakebanyakan bahasapemrograman adalahoperator
unaryminusC).Operator unaryditulissebelumoperand, operatorunary"-"berbeda
denganoperatoraritmatika ":' yangmembutuhkan dua operand.Dalambahasa
C++ disediakan bermacam-macam operatorunary.Tabel 3.5Menunjukkan jenis
operatorunarypadabahasaC++.
Tabel3.5Ragamjenis operator Unary pada bahasaC++

Unaryminus
dengannilaipenambahan 1
Penurunan nilai
Unarynot
unarykomplemen
Operator satu(bitwiseNOT)

Dasar
Pemrograman
S r
Operatorunaryterdiridarioperatorunaryminus,unary++ danunary-
a. OperatorUnaryMinus
Operatorini dipakaiuntuk memberinilaiminussuatunilainumerik(bukan
pengurangan). Misalnyaungkapan: (A + - B * C)akandiartikan(A + [-B)* C).
Operatorunary"r' di depanoperand.
b. OperatorUnary++ dan-
Operatorunary"++"dan"-r'merupakan operatorkhususyangadadi bahasa
C++.Operator"++"menambahkan nilai1 kepengenal yangmenggunakannya,
sedangkan operator"--"akanmengurangi dengannilainumerik1.Operator
unarytersebutjika dituliskan
sebelum operand disebutpreincremenf
sedangkan
jika ditulissetelahoperanddisebutpostincrement. Perhatikanperbedaannya
padaTabel3.6di bawahini.
Tabel 3.6 Contoh operasi postincrementdan preincrement
Postlncrement Prelncrement
x : 5; x : 5;
. : v++. a : + fx;

Hasil: Hasil:
x=6dana=5; x=6dana=6;

7. Ekspresi
suatuperyataan
Ekspresiadalah yangmenghasilkan suatunilai,dapatberasal
darisebuahvariabelmaupunkumpulanvariabel-variabel yangdioperasikan
dengansuatuoperator. Hasilakhirdarisuatuekspresi
adalahsuatunilaiyang
mempunyai besarandantipedatatertentu.Pernyataan
berikutiniyangdisebut
15,'12dan"panjang
ekspresiadalah * lebar"yang
menghasilkannilai15,12dan
180.Perhatikan
Contohberikut:
^--l - 1 tr.
yorrJqrrg--^ fJf

Lebar : 12 ;
f uas : pa nja ng * f ebar ;
Keterangan:
a. Padabarispertamadan keduadi atasdigunakanhanyasebuahoperator"='i
arahprosespembacaan darikananke kiri,sehingga yangdilakukan:
1) Ekspresi:15,diberikankepadavariabel"panjang"(dibacadari kananke
kiri).
2l Ekspresi:12,diberikankepadavariabel"lebar"(dibacadarikananke kiri).
b. Padabarisketigaterdapat2 operator, yaituoperatot"="dan"*".Sesuai aturan
dasarmatematika,bahwaperkalian/pembagian dikerjakandahuludalamproses
operasibilangan(tanpatandakurung).Proses padabariske 3 yangdilakukan
adalah:
1) Ekspresi:paniang* lebar,berartipanjangdikalikanlebar(dibacadarikirike
kanan),menghasilkan nilaiinteger180.
2l Berikutnyaoperator"=" mengoperasikan hasilekspresi yaitunilai
tersebut,
integer180diberikankepadavariabel luas (dibacadarikananke kiri).

Tipe Datadan Operator 6l


|(f OperasiAritmatikadan Logika

t. OperatorRelasi
OperatorRelasi/Operatorhubungan(relationaloperator) merupakanoperatoryang
digunakan untuk menunjukkan hubungan antaradua buahoperand.Hasildari
operatorini adalahbooleonyang terdiri dariTrue 1)atauFalse(bernilai0).
(bernilai
Ragamoperatorrelasidalam bahasa C++ ditunjukkan olehTabel3.7sedangkan
Tabel3.8menunjukkan contoh implementasi operatorrelasi.
Tabel3.7 Ragamoperator hubungan dalam bahasaC++
Operator Jenjang Keterangan
6 Lebihkecildari
<= 6 Lebihkecilatausamadengan
6 Lebihbesardari
>= 6 Lebihbesaratausamadengan
7 Samadengan
!= 7 Tidaksamadengan

Tabel3.8 Contohpenerapanoperator relasi


Ekspresi Hasil Nilai
a==5 Benar/ True 1
a= = b Salah/ False 0
b<7 Salah/ False 0
d 1=7 Benar/ True 1
(a+b)!= 35 Benar/ True 1
c !=A Benar/ True 1
C< = ' z ' Benar/ True 1
2. OperatorAritmatika
Operatoraritmatikaadalahoperatoruntukmemanipulasi suatubilanganseperti
pembagian,
perkalian, penjumlahan,
pengurangan, dansisapembagian(modulus).
Tabel3.9 berikutini merupakanragam jenis operasimenggunakan operator
aritmatika.
Tabel3.9 Operatoraritmatika dan contoh operasinya
Hargajml
No Operasi Operator Komentar Harga jml setelahnya
sebelumnya
1 Perkalian * j ml = j ml * 2 ; 4 8
2 Pembagian jml= jml / 2; 4 2
3 Penjumlahan I j ml = j m l + 2 ; 4 o
4 Pengurangan j ml = j ml - 2 ; 4 2
5 Modulus o/o jml = jml o/o3; 4 1

PemrogramanDasar
(,
I
Operator Bitwise
Operatorbitwisemerupakanoperatoryang digunakanuntuk memanipulasi data
bit. Operatorini hanyadapatdijalankanpadaoperandbertipedata karakterdan
integer.Tabel3.10Merupakanragamoperatorbitwisedan contohnya
Tabel3.1OOperatorManipulasiBit
Operator Operasi Contoh
Geserbit ke kiri (Shiftteft) 1<<2=4
Geserbit ke kanan(ShiftRight) 16>>2= 4
& Dan(AND) 1 &0=0
Atau(OR) 110=1
XOR 1 1=0
^
NOT -1=0

Fungsidarioperator"&1'l'ldan "-" di atassamadenganoperator"&&'l"ll':dan "!"


padaoperatorlogika,perbedaanya adalahjika operator-operator
bitwiseini bekerja
bit demi bit, sedangkanoperatorlogikabekerjauntuksetiapnilai(suatukesatuan
utuh).Tabel3.11Menunjukan prosesperpindahan bit denganmenggeser 1 bit ke
ktri (shiftleft).
Tabel3.11ProgramMenggeser1 Bit ke Kiri

3 ualng Dmslla :
t-
5 .rlnt n a i n () i
6 i lnt angka;
1i
g I <<"!tes!XaA suaqu angle = "; >>angka;
9 | <<"\n[i.le: eeial Se.beiq$ di g.ese" r blt te Nii: = "<<angka;
19 I lngke = angka << l,'
li I <<"\n\nNrlai teteleb di caier I bit ke. ki.r}. = "<<angka<<
t:i
13 i r.ttm 0;
ll L)

Gambar3.4Sourcecodeprcgrcm
Sumber:FebriantoAlqodri

| ' "E:\Ulvl\Sisi Buku\2020\Data


Lain\Penulis dukung\app\Bab
AProgramData\bin\Debug\P
Hasukan suatu angka = 9

Nilai awal sebelum di geser 1 bit ke kiri = 9

Nilai se tela h d i g es er 1 bit k e k ir i = 18

3.5Outputprogram
Gambar
Febrianto
Sumber: Alqodri

\
TipeDatadanOperato,+., 61)
1," /
a, variabelnilai bertipe datainteger'
r"r" t or*"ielaskan deklarasidan inisialisasi
b.
"
Bariske 8 terdapatperintahcin)>angka; bertujuanuntuk menyimpandatamasukan
penggunake angka.
variabel
data bit nya
Bariske 9 bertujuanuntuk menampilkanangkayang belum dimanlpulasi
(angkaawal).
(menggeserbit ke kiri) dan
Bariske 10 bertujuanuntuk melakukanoperasi shift left
angka, proses yang dilakukan ditunjukkan oleh Gambar3'6
,"m"sutannya ke variabel
berikut.
*v)
$..---t
tnlrra tztQ
.l. ltl.ltl.l.lt
rrrerrn
$
s rrttrg_ r, It$

e o o ol-l o oll +
r*F
o
fi-'I"tI
r;-lt!

Gambar3.5Alur manlPulaslBlt
Sumb€r:FebriantoAlqodrl
Bariske 1l yang berisiperintahcout ... <<angka bertujuanuntuk menampilkanisi
datapadavariabelangkayangtelahdimanipulasi padabaris10.

Tabel3.12 Program Logika dengan Operator BitwiseAND

fiEclude <].ott'ae{lD
2
, urtlg aDtfnca da;
"*i
g
a rrt 8ttl3.l, 1ti#.2,l'',tLL ;
?
e dt<<"Ut5Ukell Oilei enCka tre 1 = "; clp>8t*rl;
r; ci^>xtngJre!;
t *<<'Uiaitran Bilei anC3a ke 2 =
10 fucLL = rndllel s ttHd,52; . it .i- li;iJJ!jg!.d..r '
tt crt<<"\n\nutuiil qlFrisi bitwise Ailo = "<<trillL<<d<<d;
l!,
l:l
lt
It
Gambar3.7 SourcecodePtognn
Sumber:FebriantoAlqodrl
KodePrograrn
ComplleandRun
N I 'E\Utvfi,SisiLain\PcnulisBuku\2020\Datadukung\app\Bab AProgramData\bin\Dcbug\Progri
nilai angka ke 1 = 4g
sukan nilai angka ke 2 = 32

sil operasi bitwise At'jD - 32

Gambar3.8Outputprogram
Sumber:FebriantoAloodri

Anallsls Kode
a. Bariske6 menjelaskan deklarasidan inisialisasi
variabelnilaibertipernteger.
b. Bariske8 terdapatperintahcin>>angkal ; bertujuanuntukmenyimpan datamasukan
penggunakevariabel angkal.
c. Bariske9terdapatperintahcin>>angka2; bertujuanuntukmenyimpandatamasukan
penggunake variabelangka2.
d. Bariske 10 bertujuanuntuk melakukanoperasibitwiseAND dimanaprosesyangterjadi
adalahmembandingkan bit-bityangsamadiantaravariabelangkal danangka2. Proses
yangdilakukanditunjukkanolehgambarberikut.

t6t tl8 6't Il 1 6 8 itll


t58

Oxhdl0 0 0 I 0 I 0 0 0

nE 6a 32 168. t 2l
D..|i.lU
0 0 I 0 0 0 0 0

lltl,*rlrl t tral$nrr.d*bltftnfet*rll|l tdth|t.hr{tr.}.r.dAlo


rlnnt$'l*rilrlU

Gambar3.9Alur prosesbitwiseAND
Sumber:FebriantoAlqodri
e. Bariske | 1 yangberisiperintahcout ... <<hasif ; bertujuanuntukmenampilkan
isi
datapadavariabelhasilyangtelahdimanipulasi padabaris10.

4. Operator Logika
Operatorlogika (logicaloperator)merupakanoperatoryang digunakanuntuk
menggabungkan logikahasildari operator-operator
hubungan.Operatorlogika
berfungsisebagaipenggabungdua buahnilailogika.Nilailogikanya
adalahnilai
benar(true)atausalah(false).Tabel3.13Merupakanragamjenisoperatorlogika
dalambahasaC++.Tabel3.14Menunjukkan contohpenggunaan operatorlogika.

Tipe Data dan Operator

t
Tabel3.13Ragamjenisoperator Logikadalam C++

Tabel 3.14 Contoh penggunaan operator logika

Contoh:Misalnya A bernilai5,BbernilaiT,danC bernilai"a"makaungkapandibawah


ini mempunyaihasilakhir"benar"(True).
A.BllB==7&&C>'z'
Hasilakhir "benar"(True)dari ekspresilogikatersebutdidapatdari langkah-
langkahsebagaiberikut.
a. Jenjangoperatorhubunganlebihtinggidibandingkan denganoperatorlogika,
jadi operatorhubungandikerjakan terlebihdahulu.
b. Operator'logika"&&"memilikijenjang lebihtinggidarioperator"ll'i
sehingga
operator"&&"dikerjakanterlebihdahulu.
c. Bagianyangpalingakhirdikerjakan adalahoperator"ll', sehinggahasilakhir
logikabernilailogika"benar"atauTrue.
Tabel3.15ProgramLogika dengan OperatorAND

2 urlng nnrDlsr ctd;


3 l8t ltino {
I
5 cou t< < r Lt iLr ; < < I rr I << cDdl,.
6 csu t< < i1t ' 60r i< < l e r0 q< cadl,'
7 cou t< < "0[ t 0r t < < 0 e r0 qq cadl;
I cou t< < ' 0t t Lr t < < 0ee1 qq aDdI;
9 rrtun 0;
10
Gambar3.10Sourcecodeprogram
Sumber:FebriantoAlqodri

*'n ramanDasar
(
r
KodcPlogram
ComplleandRun
I ",r"E:\UM\Sisi
Lain\Penulis
Bukuu020\Data
c
& & 1 =1
&& B =o
&& 0 =s
&8 1=B
Gambar3.11 Outputilogram
Sumber:FebriantoAlqodri

Anallsls l(ode
Bariske 5 akanmenampilkan hasillogikaAND 1 dengan1, artinyatruedengantrue.
Berdasarkan Tabel3.14,hasillogikaANDtruedengantrueadalahtrug sehinggaprogram
akanmenampilkanhasil1 (yangmewakilipernyataan true).
Bariske 6 akan menampilkanhasillogikaAND 1 dengan0, artinyatrue denganfalse.
BerdasarkanTabel 3.i4, hasillogikaANDtruedenganfolseadalahfolse,sehinggaprogram
akanmenampilkanhasil0 (yangmewakilipernyataan false).
Bariske 7 akan menampilkanhasillogikaAND 0 dengan0, artinyafalsedenganfalse.
BerdasarkanTabel 3.14,hasillogikaANDfolsedenganfolseadalahfolse,sehinggaprogram
akanmenampilkanhasil0 (yangmewakilipernyataan folse).
Bariske 8 hasilnyasamadenganbariske 6, karenadalamoperatorANDini hasilnyasama
saja,baiknilaiditaruhdi depanmaupunbelakang operator(hasil1 &&0 samadengan0
&&1)
Penggunaan logikajuga dapatdikombinasikan dengantanda kurung,yang
menyebutkan sebagaiprioritaseksekusidalamkompilasi progralh.Halini samapersis
ketikakitamenggunakan rumusmatematika, hanyasajakaliinidiimplementasika
dalambahasapemrograman C++.Contohnya jikaterdapatekspresi sepertidibawah
ini:
!((1&& 1) && (0 ll 1) )
Llntukmenentukan nilaidariekspresitersebut harusditentukan (1 && 1) )
tandakurungpertama, hasilnya adalah1 (kitasebutdengannilaike- 1 ) . Kemudian
tentukannilai( 0 ll 1)) tanOakurungkedua, hasilnya adalah1 ( kitasebutdengan
nilaike - 2 ). Langkahselanjutnya adalahmelakukan operasiANDantaranilaike
-l dannilaike- 2, yaitu( 1 && 1 ) makamenghasilkan nilai1.Langkah terakhir,
nilai
1 akankitanegasikan, yaitudenganmenggunakan operatorNOTseperti!1 maka
akanmenghasilkan prosestersebutditunjukanolehGambar
nilaiakhir0. llustrasi
3.12.

Tipe Data dan Operator 67 "


t
! ( ( 1 & & 1 ) & & ( 0 i l r I)

++ lr t

un thrlulltrn

s
0
bar3'12|rust:;;,i:;il
Gam o'',"'nu'
li;ioT
5. FungsiMatematika
BahasaC++ menyediakan beberapafungsikhususyangdapatdigunakanuntuk
melakukanperhitunganmatematika. tersebutmemerlukan
Fungsi-fungsi file
Tabel3.16Merupakan
headermarh. h untukmenjalankannya. fungsimatematika
dalambahasaC++besertakegunaannya.Tabel perbedaan
3.17merupal<;n notasi
matematika
dengannotasimatematika dalamprogramC++.
Tabel3.16FungsimatematikadalamC++

Fungsi Kegunaan
abs(x) menghitungnilaiMutlakdarix; x bilanganbulat
sqrt(x) mdf!hitung akarpangkat2 darix
exp(x) darix, ex
eksponen
log(x) menghitunglogaritmabasise darix,
fabs(x) menghitungnilaimutlakdarix; x bilanganreal
ceil(x) membulatkanx ke bilanganbulatterkecilyanglebihbesardarix
floo(x) membulatkan yanglebihkecildarix
x ke bilanganbulatterbesar
pow(x,y) menghitungx pangkat y.
fmod(x,y) menghitungbilanganpecahansisapembagian
xly
sin(x) sinusdarix;x dalamradian
menghitung
cos(x) menghitungcosinusdarix; x dalamradian
tan(x) menghitungtangendarix; x dalamradian
atof mengonversi nilaisuatustring menjadinilaifloat/desimal
dengansyarat
nilaistringberupabilangan bulatataudesimal(komadipisahkandengan
karaktertiti k "j').FormatpenuIisan: atof(string);
atoi mengonversi nilaisuatustringmenjadinilaiintegerdengansyaratnilai
stringberupabilanganbulat.Formatpenulisan: atoi(string);
div menghitunghasilpembagian(qout) dan sisapembagian(rem). Format
penulisan:
div(bilX,bilY);

PemrogramanDasar
(
r
mengambilnilai maksimal/terbesar
dari dua buah bilangan.Format
penulisan:
max(bill, bil2);
mengambilnilai miinimum/terkecil
dari dua buah bilangan.Format
penulisan:
min(bil1,bil2);
Tabel3.17 Notasimatematikadalam bahasaC++

t'+llx+5 I t l+ 3 tt+ 5
rryt(4)
+ b2l rry t(a ta + b tb )

pauar4)
$Q+2
pt(tzl+t:O)

Lembar Kerja Siswa (Lab. STEM)

KASUS1

Pernahmemperhatikan jumlahpemakaian/penggunaan dayapadarekeninglistrikrumah Anda?


Bagaimana angkatersebutdapatterbentukdan darimanaasalnya?Jawabannya mudahsaja,
yaitudariperangkatelektronikyangdipakaidi dalamrumah.Sepertilampu,televisi,lemariet
mesincuci,kipasangin,dll.GambarberikutadalahpenampilKWHyangterpasangpadameteran
listrikdirumahkita.

i,T,ll:ilJ:',[Hilf'"
"fr"i;3j
BuatlahprogramdenganC++untuk menghitungbesarnyaKWHmeterdenganperangkat
elektroniksepertitelevisidengankebutuhandayasebagaiberlkut:
POWER= 100 - 240V- 50/60H2,135W.

Mengumpulkaninformasiatausumberbacaanyangterkaitdengan
l. caramenghitungdayalistrikpadaperangkatelektronilc
2. operatoraritmatika,dan
3. perintahstandaroutput.

,\
ripe Datadan operator *)
I /
KiloWatt Hourpadameteranadalahpemakaiandaya(Watt)sebanyak1 Kilo(1.000Watt)dalam
rentangwaktu 1 jam (Hour)atau60 menit Caramenghitungjumlah dayayang terpakaisesuai
spesifikasitersebutsebagaiberikut.
a. Pemakaian per menit:(135Watt/1.000)x (jumlahmeniV60).
b. Pemakaian perjam: (135Watt/1.000)x 1jam.
c. Pemakaian per hari:(135Watt/1.000) x jumlahjam.
d. Pemakaian per bulan:pemakaianper harix 30 hari.
Pemakaiantelevisiselama8 jam 30 menit dalamsehari.
Menampilkannilai lQ\rHmeter per hari dan per bulan.
Komputer/laptop
Perangkatlunak IDECodeBlok
c. Applkatton

# inc l u d e ( ios t r eam )

u s ing n a m es pac e s t d;
i nt ma i n o
{
, sr-':
i n t d ay allV : 13 5 ;
fl o a t k wh : l- 000 ;
fl o a t per Har i;

re tu rn 0;
)

1. Rancangulangkodeprogramyangtelahdibuatjika adayangperludisempurnakan.
2. uji kembalikodeprogramuntukmenghasilkantampilanprogramyangpalingbaik.
denganformatyangtersediadan presentasikan.
d. Communication
flowchdrtdankode programuntuk menampilkanKWHmeter.
Presentasikan

1ffifiti$a-ft9**.jir.4{ii{n"{t:riLr*r'illir,*1,!*r,.'i*i1r;'rd;id${i,;:;.'lifliirt[,#gi:i,s],**$d';*l!1d1.'.'rsfi.tl
a. Ref,ection- Permasalahan
BuatlahprogramdenganC++untukmenghitung jarakjatuhpeluruyangditembakkan darisuatu
lokasi.Mungkinandasudahpernahmendengarhalsejenisinidalampelajaran peluruyang
Fisika.
ditembakkan padasuduttertentumempunyai gerakparabola.Jadikitaaian mendapatkrn j.r.[
darititik lemparke titikjatuh sepertiyangditunjukkandalamgambarberikut,

Xmrr
Gambar3.14llustrasi
jarak
Sumber:FebriantoAloodri

Mengumpulkan informasi
atausumberbacaanyangterkaitdengan,
1. persamaan dalamgerakparabola,
2. pungsimatematikadalambahasapemrograman C++,dan
3. perintahstandarinput danoutput.
c. Discovery
Caramenyelesaikanmasalah tersebutyaitudenganmencarijarak
jatuhpeluruyangditembakkan
padasuatulokasidengan sudutpenembakan (o)dankecepatan
(Vo).Makakitamendiskusikannya
disini.Untukmencarijarak,kitamembutuhkanbeberapavariabeldiantaranya sudut,kecepatan,
rad,danjarak.Selainitu kitajuga membutuhkanPHIdan GRAVITASI. Denjan mempelajariini,
kitajuga akanmengetahuifungsimatematikabaru,yaitucosQ,sin$,dan powQ.
Masukkansudutpenembakan (derajat).
Masukkankecepatan tembak(m/second).
jatuhpadajarak.... meter
Peluru
1. Komputer/laptop
2. Perangkat
lunakIDECodeBloks
3. Perangkat
lunakmicrosoftvisio
d. Application
1. Rancanglahalgoritmaprognm di atasdenganFlowchart

\
Ti peD atadanoperator
t)
t /
#inc l u d e ( ios t r eam )
#inc l u d e < m at h. h>
using n a m es pac e s t d;
int ma i n o
t
fl o a t s udut , k ec e p a ta n ,ra d , j a ra k ;
co n st f loat P HI = 3 .1 4 ;
co n st f loat G RA V IT AS I = 9 .8 ;
q e u !((" M ds uk k an S u d u t P e n a m b a k a n (d e raj at) = ";

co u t((" M as uk k an Ke c e p a ta n T e m b a k (m/second) = "i

..:::
co ut ( ( " J adi, Pe l u ru J a tu h pada J a rak " ((j arak(("
me te r"(( endl;
re tu rn 0;
t

1. Rancangulangkodeprogramyangtelahdibuatjika adayangperludisempurnakan.
2. tampilanprogram
Uji kembalikode programdenganfungsisetw$untuk menghasilkan
yangpalingbaik.
3. Buatlaporanpercobaandenganformat yangtersediadan

Presentasikan programuntukmenghitungjarakjatuhpeluruyangditembakkan
flowchartdankode
dari suatulokasidenganpendekatangerakparabola.

Operasiaritmatikadanlogikamerupakanoperasidalamprogramyangberhubungan
denganpengolahan suatuangkasekaligus berkaitandenganhubunganantaranilai
1 yangdibandingkandengannilaiyang lainnya.Dalamprosesoperasiaritmatika
dan fogika,terdapat istilahidentifier,tipe data,variabel,konstanta,operator,dan
ekspresi.Hal tersebutdigunakansebagaidasarpenggunaanoperasiaritmatika
dan logikadalamprogram.Operasiyang dapatdilakukandalamoperasiaritmatika
dan logikamemerlukanoperator(penghubung).Terdapat banyakoperatordalam
operasiaritmatikadan logika,yaituoperatoraritmatika,relasi,bitwise,logika, dan
fungsimatematika.

(r'*T:'.:'

Anda mungkin juga menyukai