-l
)
TipeData
dan Operato
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++
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
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
a: 10 +3 =1 3
a :a* ( b/ 21 a :1 0* (10/2):50
a :a/ ( j- 8) a : 10 / (f0-8) :
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).
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
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
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
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.
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
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.
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
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.
t
Tabel3.13Ragamjenisoperator Logikadalam C++
*'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.
++ 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)
KASUS1
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
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 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:'.:'