Anda di halaman 1dari 61

LAPORAN PRAKTEK 3

“ Dasar C/C++”

Disusun Oleh:
Nama : Ahmad Nawawi Syafad
Nim : 2020204020003
Kelas : TT 2A
Dosen : Hanafi, S.T., M.eng.
NIP : 196901172002121001

JURUSAN TEKNIK ELEKTRO


PROGAM STUDI TEKNOLOGI TELEKOMUNIKASI
POLITEKNIK NEGERI LHOKSEUMAWE
2021
LEMBAR PENGESAHAN

Nama Mata Kuliah : Praktek Algoritma dan Pemograman

No. Praktek : 03
Judul Praktek : Dasar C/C++
Tempat Praktek : Lab. Jaringan Komputer
Hari / Tanggal Praktek : Kamis / 30 September 2021
Nama Mahasiswa : Ahmad Nawawi Syafad
NIM : 2020204020003
Program Studi / Kelas : Teknologi Telekomunikasi / TT 2A

Mengetahui, Penyusun
Dosen Pembimbing

Hanafi, S.T., M.eng. Ahmad Nawawi Syafad


NIP. 196901172002121001 NIM.2020204020003

i
DAFTAR ISI

Lembaran Pengesahan...............................................................................................i
Daftar Isi...................................................................................................................ii
3.1 Tujuan.................................................................................................................1
3.2 Dasar Teori..........................................................................................................1
3.2.1 Pendahuluan.....................................................................................................2
3.2.2 Karakter............................................................................................................2
3.2.3 Kata Kunci dan Pengenal.................................................................................2
3.3 Langkah-langkah Praktek....................................................................................4
3.3.1 Langkah-langkah Praktek Bahasa C++............................................................4
3.3.1.a Tipe data dan Literal..........................................................................4
3.3.1.b Literal Bilangan.................................................................................4
3.3.1.c Literal Karakter.................................................................................6
3.3.1.d Literal Logika....................................................................................7
3.3.1.e Literal Strng.......................................................................................9
3.3.1.f Kontanta Bernama...........................................................................12
3.3.1.g Variabel............................................................................................15
3.3.1.h Mendeklarasi Variabel.....................................................................16
3.3.1.i Memberikan Nilai Terhadap Variabel..............................................16
3.3.1.j Komentar...........................................................................................20
3.3.1.k Gaya Penulisan Program..................................................................20
3.3.1.l Pernyataan.........................................................................................21
3.3.1.m Operator dan Ekspresi.....................................................................22
3.3.1.n Operator dan Aritmetika..................................................................24
3.3.1.o Operator Penambahan dan Pengurangan.........................................26
3.3.1.p Operator Bit......................................................................................28
3.3.1.q Operator Penugasan.........................................................................34
3.3.1.r Urutan Pengerjaan Operator.............................................................36
3.3.1.s Konversi tipe dan pengaruh tipe.......................................................39
3.3.1.t Fungsi Puskata..................................................................................42
3.3.2 Langkah-langkah Praktikum Bahasa C...........................................................43
3.3.2.a Literal Logika...................................................................................43
3.3.2.b Literal String....................................................................................46
3.3.2.c Konstanta Bernama..........................................................................48
3.3.2.d Masukkan.........................................................................................50
3.3.2.e Aritmatika.........................................................................................53
Analisa Data.............................................................................................................54
Kesimpulan..............................................................................................................55

ii
Praktek 3 Dasar C/C++
3.1 Tujuan

 Mampu membuat karakter

 Mampu memahami Kata-kunci dan pengenal

 Mampu memahami tipe data dan literal

 Mampu membuat Variabel


 Mampu membuat komentar

 Mengetahui gaya penulisan program

 Mampu membuat pernyataan


 Mampu memahami operator dan ekspresi

 Mengetahui fungsi pustaka

3.2 Dasar Teori


Bahasa C adalah evolusi dari bahasa B yang dikembangkan oleh Dennis Ritchie,
merupakan general-purpose language, yaitu bahasa pemrograman yang dapat digunakan
untuk tujuan apa saja. Bahasa C mempunyai kemampuan lebih dari
bahasa pemrograman lain. Official name bahasa C adalah ISO/IEC 9899-1990. Bahasa C
memiliki beberapa fungsi penting printf() merupakan fungsi untuk menampilkan output ke
layar komputer. Fungsi ini terdapat pada library stdio.h. Oleh sebab itu, ketika kita
diharuskan untuk menuliskan #include <stdio.h> di bagian atas program agar bisa
menggunakan fungsi ini. Scanf() adalah fungsi untuk mengambil input dari keyboard fungsi
ini memiliki format seperti fungsi printf().
Bahasa C++ Seperti namanya, Simbol “++” pada huruf C berarti increment dari C.
Sebenarnya C++ sama seperti bahasa C, tapi memiliki fitur yang lebih banyak dibandingkan
C.Karena itulah dinamakan C++ . Tidak hanya Bahasa C yang memiliki struktur namun
Bahasa C++ juga memiliki beberapa struktur, pustaka iostream library ini berisi fungsi-
fungsi untuk melakukan input dan output. Fungsi main() adalah fungsi yang akan dieksekusi
pertamakali saat program dibuka. Penulisan komentar, komentar adalah bagian kode yang
akan diabaikan oleh komputer. String dalam program C++ ditulis dengan diapit tanda ptik
ganda ("...") dan untuk karakter ditulis dengan tanda petik tunggal ('...').

1
3.2.1 Pendahuluan
Bab ini membahas berbagai hal yang menjadi dasar C/C++, meliputi pengertian
karakter,Kata kunci, pengenal, pengenal, literal, variabel, operator, dan ekspresi, serta
pengkonversian tipe, dengan tujuan memberikan bekal untuk memahami fondasi bahasa C/C+
+, Anda yang telah mengenal dasar C/C++, bisa langsung menuju ke Bab 10.
Untuk mempraktikan seluruh contoh yang diberikan pada bab ini, Anda perlu
membuat aplikasi kosol terlebih dahulu dengan nama sesuai nama depan berkas .cpp pada
contoh kode sumer yang disertakan pada bab ini. Cara membuat konsol telag dibahas pada
bab 2. Setelah itu Anda akan menyisipkan kode C++ yang juga telah dibahas pada bab 2,
dengan nama sesuai dengan nama depan berkas .cpp.

3.2.2 Karakter
Elemen terkecil pada pemograman C/C++ adalah karakter. Yang dimaksud karakter
bisa saja berupa :
 Huruf (A sampai dengan Z, a sampai z),
 Angka (0 sampai dengan 9),
 Simbol (misalnya * dan !),
 Kode Kontrol,
 Komentar (missal /* nama)

3.2.3 Kata Kunci dan Pengenal

C/C++ memiliki sejumlah kata yang bermakna khusus. Kata kata seperti ini
digolongkan sebagai kata kunci atau kata-tercadang. Kata kuncitidak dapat digunakan sebaga
pengenal. Beberapa contoh kata-kunci yaitu:

 Auto
 Char
 F
 Static
 While
Pengenal (identifier) adalah nama yang diciptakan oleh pemrogram dan digunakan di dalam
kode C/C++ untuk memberi nama kelas atau variable.

2
Aturan pemberian nama pengenal pada C/C++ adalah sebagai berikut :

 Karakter pertama berupa huruf atau tanda garis bawah (…..).


 Karakter kedua dan seterusnya dapat berupa sebarang huruf, tanda garis
bawah, atau angka.
 Huruf capital dan huruf kecil diperlakukan berbeda. Istilah yang umum
digunakan untuk menyatakan sifat ini yaitu case sensitive.

Contoh :
Pengenal yang Valid Keterangan

X Berbeda dengan x

nama Awalan_diperkenankan
Nama yang panjang sekali juga boleh Nama boleh panjang
kok
Kuartal_1 Bisa mengandung _ dan angka

Pengenal yang Tidak Valid Keterangan

2 minggu Tidak boleh diawali angka


Barang# Tidak boleh mengandung simbol-
simbol khusus seperti # dan *
Dua minggu Tidak boleh mengandung spasi
auto Tidak diperkenankan karena
termasuk kata-kunci.

3
3.3 Langkah-langkah Praktikum
3.3.1 Langkah-langkah Praktikum Bahasa C++
3.3.1.a Tipe Data dan Literal
C/C++ memiliki beberapa tipe data, sebagaimana diperlihatkan pada tabel berikut:

Tabel 3.1 Tipe data pada C++


Tipe Data Ukuran dalam Byte Jangkauan Nilai

Clear 1 -128 s/d 127


Unsigned char 1 0 s/d 255
Short 2 -2.147.483.648 s/d
-2.147.483.647
Unsigned long 2 0 s/d 4.294.967.295
Int 4 Sama dengan long
Unsigned int 4 Sama dengan unsigned
long
Float 4 1.2 E-38 s/d 3.4E381
Double 8 2.2E-308 s/d 1.8E308
bool 1 Digunakan untuk
menyatakan nilai
true
(benar) atau false
(salah)

Tipe char digunakan untuk menyatakan karakter,tipe bool digunakan untuk menyatakan
nilai logika, sedangkan yang lan digunakan untuk bilangan.
Literal atau juga disebut konstanta adalah suatu nilai yang dituliskan pada kode sumber
C++, Misalnya, Anda menuliskan 4 untuk menyatakan nlai bulat 4 dan “Selamat belajar
Visual C++” untuk menyatakan suatu deretan karakter (string).

3.3.1.b Literal Bilangan


Secara garis besar, literal bilangan dibedakan menjadi literal bilangan bulat dan
literal bilangan real. Contoh literal bilangan bulat yaitu :
66
-127
856

4
Adapun contoh literal bilangan real yaitu :
-123.6
0.7
1.2E23

Perhatikan bahwa tanda pecahan pada bilangan real dinyatakan dengan titik. Bilangan
1.2E23
Berarti 1,2 x 1023 . Kadangkala notasi E ditulis dengan e. jadi 1.2E23 dan 1.2e23 adalah
identic.
Tanda + atau – dapat diletakkan sesudah tanda E atau e. misalnya :
 1.2E + 23(Berarti: 1,2 x 1023)
 1.2E-23 (Berarti: 1,2 x 10-23)
Secara khusus terdapat notasi yang menyatakan literal long. Huruf L atau huruf I bisa
diletakkan pada sebuah lteral bilengan untuk menyatakan literal bertipe long.
Contoh :
1231
Menyatakan literal long berupa 123.

Selain itu juga terdapat notasi yang menytakan literal float. Huruf F atau huruf f bisaa
diletakkan pada sebuah literal bilangan bulat untuk menyatakan literal bertipe float.
Contoh :
123F
Menyatakan literal float berupa 123.

Suatu bilangan bulat bisa dinyatakan dalam bentuk octal (bilanga berbasis s) atau
heksadesimal 9bilangan berbasis 16 ). Jika suatu literal bilangan bulat diawali dengan 0(nol)
maka akan diperlakukan sebagai bilangan oktal. Sedangkan kalua dawali dengan 0x (nol dan
huruf X- kecil maupun capital) akan dianggap berbasis 16.

Catatan :
Pada system oktal, angka yang digunakan berupa 0,1,2,3,4,5,6 dan 7. Adapun pada
system heksadesimal, selain angka 0 sampai dengan 9 terdapat huruf 1 sampai dengan f dan
A sampai dengan F.
Contoh:
5
Literal Keterangan

017 17 oktal
0x17 17 heksadesimal
17 17 desimal (basis 10)
0xA A heksadesimal (=10 desimal )
Identik dengan 0XA

3.3.1.c Literal karakter

literal karakter digunakan untuk menyatakan sebuah karakter. Karakter ditulis dalam
tanda petik tunggal.
Contoh :
Literal Keterangan

‘a’ Karakter huruf a


‘#’ Karakter simbol #
‘8’ Karakter angka 8
Pada C++ terdapat istilah kode escape. Kode escape adalah kode karakter yanag
penulisannya diawal dengan simbol \. Tabel 3.2 memperlihatkan sejumlah karakter yang
penulisannya diawali dengan simbol \.

Tabel 3.2 Karakter escape

Kode Keterangan

\0 Karakter ber-ASCII nol (disebut karakter


nul)
\a Karakter audio (bel)
\b Backspace
\f Formfeed
\n Newline
\r Carriage return
\t Tab
\v Tab vertical
\’ Petik tunggal
\” Petik ganda
\? Karakter ?
\ddd Oktal (dd=0 s/d 377)
\xdd Heksadesimal(dd = 0 s/d FF atau ff)

6
Contoh :
Literal Keterangan

‘\n’ Karakter newline


‘\x0a’ Karakter formfeed
‘\12’ Karakter formfeed

3.3.1.d Literal Logika

Literal Boolean adalah literal yang hanya dapat berupa kata-kata true atau false.

 True berarti benar, atau


 False berarti salah.
Contoh berkut menunjukkan kode C++ yang memperlihatkan penggunaan berbagai literal.
Kode Sumber : Literal.cpp

Akhir Kode Sumber


Hasil eksekusi kode C/C++ diatas ditunjukkan pada gambar berikut :

Gambar 3.3 Hasil eksekusi literal .exe


7
Algoritmik Pseudocode
Program Literal

{Literal bolean adalah literal yang hanya dapat berupa kata-kunci true atau false}
Deklarasi: -

Algoritma :

Write (‘123’)

Write (‘123.5’)

Write (‘123.5P’)

Write(‘123.5L’)

Write (‘true’)

Write (‘false’)

Write (‘0x0’)

Write (‘071’)

8
Algoritmik Flowchart

Start

Output ‘123’
Output ‘123.5’
Output ‘123.5P’
Output ‘123.5L’
Output ‘true’
Output ‘false’

End

Perhatikan bahwa literal true ditampilkan oleh cout menjadi 1 dan lteral false
menjadi 0, sedangkan notasi F atau L. tidak tertampil karena maknanya adalah tipe bilangan.
Notasi 0Xa ditampilkan menjadi 10 karena memang 0xAditampilkan menjadi 10 larena
memang 0Xadalam system heksadesimal identic dengan 10 dalam system decimal
(system berbasis 10).Adapun 071 oktal atau identic dengan 56 desimal.

3.3.1 e Literal String

String berarti deretan atau kombinas sejumlah karakter. Literal string berupa

deretan karakter yang ditulis dalam tanda petik ganda (“). Contoh :
“Vesena Setyawati”

“Jl. Karta Mulya 6F”


“4x4=16”

“← Distribusi string kosong

9
Suatu string tidak selamanya mengandung banyak karakter. suatu string juga bisa
tidak memiliki karakter satupun , sebagaimana ditunjukkan pada contoh diatas. String
seperti ini disebut string kosong. Penulisannya berupa tanda petik tersebut ganda dan
kemudian langsung diikuti dengan petik ganda (tak ada spasi diantara kedua tanda petik
ganda tersebut).

Literal string dapat pula mengandung karakter seperti yang new line, tab dan
sebagainya. Bahkan bisa pula ketik ganda. Contoh :

Literal String Keterangan

“abc\ndef” Antara abc dan def terdapat newline


“abc\tdef” Antara abc dan def terdapat tab
“String\Hallo\”” Menyatakan string “Hallo”

Kode C/C++ berikut memperlihatkan contoh berbagai literal string.

Kode Sumber : String.cpp

10
Akhir Kode Sumber

Hasil eksekusi kode C/C++ diatas ditunjukkan pada gambar berikut :

Gambar 3.2 Hasil eksekusi String.exe

Algoritmik pseudocode
Program String :

{string berarti deretan atau kombinasi sejumlah karakter.Literal string berupa


sederetan karakter yang ditulis dalam tanda petik ganda}

Deklarasi :

- Algoritma:
Write (‘Hai Katamu’)
Write (‘Hai Juga Kataku’)
Write (‘123 456 789’)

11
Algoritma Flowchat

Start

Output
Write ’Hai Katamu’
Write ‘Hai juga kataku’
Write ‘123 456 789’

End

3.3.1.f Konstanta Bernama

C/C++ memungkinkan pendefinisian kostanta bernama melalui kata-kunci const.

contoh : Const double PI = 3.14;

Menyatakan bahwa PI adalah literal bertipe double dengan nilai 3.14. kata-kunci const
menyatakan bahwa PI tak dapat diubah setelah didefinisikan.

Catatan :

Konstanta bernama biasa ditulis dengan menggunakan huruf capital. Contoh berikut
menujukkan penggunaan konstanta PI.

12
Kode Sumber: KonsPI.cpp

Akhir kode sumber

Pada contoh diatas,

2* PI * radius

Merupakan ekspresi untuk menghitung 2 kali radius

Hasil eksekusi kode C/C++ di depan ditunjukkan pada gambar berikut :

Gambar 3.3 Hasil eksekusi KonsPI.exe

13
Algoritmik Pseudocode
Program Konstanta Bernama
{ menghitung keliling lingkaran}

Deklarasi : Phi
= real Radius =
real

Algoritma ;
Read (phi,radius)
Keliling←2 *Phi * Radius
Write(‘keliling’)

Algoritmik Flowchart

Start

Input
Phi radius

Keliling Lingkaran = 2 * Phi * radius

Output
Write ’Keliling’

End

14
3.3.1.g Variabel
Variabel menyatakan suatu lokasi di dalam memori computer yang digunakan
untuk menyimpan suatu nilai dan nilai yang ada di dalamnya bisa diubah. Variabel dapat
dibayangkan sebagai suatu kotak. Kotak dapat diisi pada suatu saat dapat diubah.
Nilai
Semula

Bisa Berubah

10 33

Setelah diganti menjadi33


Gambar 3.4 Gambaran Variabel

15
3.3.1 h Mendeklarasikan Variabel
Variabel yang digunakan dalam C/C++ perlu dideklarasikan. Di dalam
pendeklarasian, nama variable dan tipe yang dikandung disebutkan. Bentuk
pendeklarasian variable :
tipe namaVar[,namaVar]
Tanda [] dalam [,namaVar] berarti bahwa yang di dalam tanda tersebut bersifat
opsional.

Contoh :

Variabel Keterangan

Int jumlahbarang; Variabel jumlahBarang bertipe int


Float bilpecahan; Variabel bilpecahan bertipe float
Char huruf; Variabel huruf bertipe char
bool kredit; Variabel kredt bertipe logika

Pendeklarasian dua buah variable bisa dilakuka seperti berikut : Int


bilt, bilj :

Pada contoh ini, baik bill maupun bilj bertipe int.


Catatan :
Nama variable biasa ditulis dengan awalan huruf kecil.

3.3.1 i Memberikan Nilai terhadap Variabel.


Setelah variabel dideklarasikan, variabel dapat diberi nilai. Caranya adalah dengan
menggunakan operator =, kaidahnya :

Variabel = nilai;

Nilai yang diberikan dapat berupa suatu literal, variabel, atau bahkan suatu ekspresi (yang
melibatkan operasi).contoh :

16
Penugasan Keterangan

Jumlah Barang =10; Jumlahbarang diisi dengan bilangan bulat


10
BilReal =2.5f; bilReal diisi dengan baingan 2.5 yang
bertipe float
Huruf ‘A’; Huruf disi dengan karakter A

Pemberian nilai juga dapat dilakukan saat variabel dideklarasikan kaidahnya :


Tipe Variabel =nilaiAwal;
Contoh :
double radius = 30;
artinya, variabel radius adalah double dan diberi nilai sama dengan 30. C/C++
memperkenalkan penugasan sejumlah variabel dengan sebuah nilai. Sebagai contoh :

x = y = z = 0;

pada contoh seperti ini ,x,y, dan z dapat dilakukan melalui keyboard. Dalam hal ini
C/C++
menyedakan objek bernama cin. Penggunaannya adalah sebagai berikut :

cin >> variabel;


tanda >> dinamakan operator “pengambilan dari”.

Contoh berikut memberikan gambaran pemakaian cin untuk membaca data bilangan
bulat dan real dari keyboard.

17
Kode Sumber : Masukkan.cpp

Akhir kode sumber

pada kode diatas,

cin >> radius

merupakan pernyataan untuk meminta pemakai memasukkan data dari keyboard dan data
tersebut kemudian disimpan ke variabel radius.

Contoh hasil eksekusi kode C/C++ di depan ditunjukkan pada gambar berikut

Gambar 3.5 Hasil eksekusi Masukan.exe

18
Algoritmik Pseudocode
Program Masukan
{menghitung masukan jari-jari lingkaran dan keliling lingkaran}

Deklarasi :
Phi = real
Radius = real

Algoritma ;
Read (phi,radius) Keliling←2
*Phi * Radius
Write(‘keliling’)
Write (‘masukan jari-jari lingkaran’)

Algortmik Flowchart

Start

Input
Phi*radius

Keliling Lingkaran = 2* Phi* Radius

Output
Write (‘masukkan jari-jari
lingkaran’)
Write (‘keliling’)

End

19
3.3.1 j Komentar
Komentar biasa dipakai dalam kode C/C++ dengan tujuan unuk memberikan penjelasan
atau informasi kepada pembaca kode. Komentar dapat berupa nama pembuat kode,
tanggal pembuatan kode, fungsi perintah tertentu, ataupun penjelasan untuk bagian
tertentu dalam kode sumber.
Komentar dapat dibuat dengan menggunakan pasangan tanda /* dan */. Semua tulisan
yang berada dalam pasangan tana tersebut akan diperlakukan sebagai komentar.
Contoh :

/* sebuah komentar

Bisa mencakup beberapa baris

Seperti ini */

Suatu komentar juga dapat dibuat dengan menggunakan awalan //. Semua tulisan
yang berada sesudah tanda uini sampai akhir bars diperlakukan sebagai komentar. Contoh :

//Ini sebuah komentar

Catatan :

Komentar terkadang dipakai untuk mematikan bagia [rogram tertentu agar tidak
dianggap sebagai perintah. Hal seperti ini sering dilakukan sewaktu suatu kode diuji

3.3.1 k Gaya Penulisan Program

C/C++ merupakan Bahasa yang memperkenalkan pemograman menulsa kode


C/C++ dengan gaya apapun. Umumnya kode ditulis dengan bentuk seperti berikut
Bentuk 1

20
Ada kalanya kode diatas ditulis dengan bentuk seperti berikut :
Bentuk 2 :

Penambahan spasi sering dilakukan dengan tujuan agar kode mudah dibaca. Namun
hal seperti ini bukanlah merupakan keharusan.
Kode seperti di depan bisa ditulis menjadi seperti berikut :

Masalahnya, penulisan seperti di atas terkesan “amburadul”, penulisan seperti itu


sulit dipahami oleh yang membaca kode (termasuk barangkali oleh pemograman yang
membuatnya pada suatu saat nanti). Itulah sebabnya disarankan untuk memilih gaya
penulisan bentuk pertama atau bentuk kedua. Hal ini yang perlu diperhatikan, Anda perlu
menggunakan gaya penulisan program secara konsisten, supaya mudah dibaca oleh orang
lain dan Anda sendiri sebagai pembuatnya.

3.3.1. l pernyataan
Pernyataan adalah satu instruksi lengkap yang berdiri sendiri dan ditunjukkan untuk
melaksanakan suatu tugas tertentu. Beberapa contoh pertanyaan yang telah Anda
praktikkan adalah :
Const double PI = 3.14;
Cin >> radius;
return 0;

Yang perlu diingat, sebuah pernyataan selalu diakhiri dengan tanda titik. Koma(;).

21
3.3.1.m Operator dan Ekspresi
Ekspresi (atau ungkapan) adalah suatu bentuk yang menghasilkan suatu
nilai. Dalam bentuk yang sederhana, ekspresi berupa sebuah literal atau variabel. Dalam
bentuk yang lebih kompleks, suatu ekspresi melibatkan operator dan operand. Sebagai
contoh :

7+3

Merupakan suatu bentuk ekspresi yang menghasilkan nilai 10. Dalam hal in 7 dan
3 bertindak sebagai operand dan + berperan sebagai operator.

Operand

EKSPRESI

3+4*5

operator

Gambar 3.6 Ekspresi, operamal, dan


operator

22
Salah satu pemakaian Ekspresi adalah pada pernyataan yang menggunakan cout. Sebagai
contoh :
cout << 3 + 4 * 5;
akan menampilkan hasil eksprresi 3 + 4 * 5 ke layar.

Operator adalah simbol atau karakter khusus (misalnya + dan * ) yang digunakan dalam
suatu ekspresi untuk menghasilkan suatu nilai. Beberapa kelompok operator :

 Operator aritmetika.
 Operator penambahan dan pengurangan.
 Operator penugasan,
 Operator pembandingan.
 Operator logika, dan.
 Operator bit.

Beberapa kelompok operator akan dibahas pada bab ini, sedang yang lain dibahas pada
Bab 4.

Menurut jumlah operand yang dilibatkan, operator diklasifikan menjadi


 Operator unary, yaitu operator yang hanya melibatkan satu operand,
 Operator binary, yaitu operator yang hanya melibatkan dua buah operand, dan
 Operator tertiary, yaitu operator yang hanya melibatkan tiga buah operand.

Operator unary

-bilangan ← Satu operand

Operator binary

1 + 2 ← Dua operand

Operator tertiary

A ? b : c ← Tiga operand
23
Gambar 3.7 Klasifikasi operator menurut jumlah operand
3.3.1 n Operator Aritmetika

Berbagai operator yang digunakan untuk melakukan perhitungan aritmetika dapat


dilihat pada Tabel 3.3 semua operator berlaku untuk bilangan bulat maupun bilangan bulat
maupun bilangan titk-mengambang.
Operator Keterangan

+ Penjumlahan Tanda plus


= Pengurangan Tanda minus
* Perkalian
/ pembagian
% Sisa pembagian

Semua operator aritmetika di atas melibatkan dua buah operator, kecuali operator +
yang berkedudukan sebagai tanda plus dan operator – yang berkedudukan sebagai tanda
minus . operator + dan – sebagai tanda positif atau tanda negative hanya melibatkan operator.

Operator *,/, dan % mempunyai prioritas yang sama, tetapi lebh tinggi daripada +
atau – yang berkedudukan sebagai operator binary. Sebagai contoh, jika terdapat ekspresi
seperti berikut :
3 + 4 * 5
Maka 4 * 5 akan dikerjakan terlebih dahulu. Dengan demikian hasil eksekusi 3 + 4 * 5
adalah 23 (bukan 35).
Operator /digunakan untuk melaksanakan pembagian. Contoh :
3/2.0
Menghasilkan 1,5 tetapi
3/2
Menghasilkan 1. Dengan kata lain, hasil ekspresi yang melibatkan operator/ sangat
bergantung pada tipe kedua operasi.. jika kedua operand berupa bilangan bulat ‘hasilnya
bertipe bulat. Namun kalua ada operand yang bertipe bilangan real, hasilnya akan real.

Operator % dikenal sebagai operator “sisa pembagian”. Sebagai contoh, 13 %5


akan Menghasilkan 3.
Contoh berbagai operasi aritmatika diperlihatkan pada kode berikut :

24
Kode Sumber :Aritmetika.cpp

Akhir kode sumber


Hasil eksekusi kode C/C++ di depan ditunjukkan pada gambar berikut :

Gambar 3.8 Hasil eksekusi Aritmetika.exe


Perhatikan bahwa ekspresi 13/5 menghasilkan nilai yang berbeda dengan 13/5.0.

25
3.3.1 o Operator Penambahan dan Pengurangan

seringkali djumpa pernyataan seperti berikut :

x = x + 1;

y = y - 1;

Pernyataan pertama menyatakan bahwa variabel x dinaikkan sebesar 1. Bagaimana


cara kerjanya ? mula-mula ekspresi x + 1 dievaluasi. Selanjutnya , hasilnya diberikan ke x.
sebagai contoh, bila semula x bernilai 5, maka ekspresi x + 1menghasilkan 6. Selanjutnya,
angka 6 diberikan ke x. dengan demikian x berubah menjadi 6. Serupa dengan pernyataan
kedua akan membuat isi yang berkurang sebesar 1.

Operasi seperti itu seringkali dilaksanakan dengan menggunakan operator ++ atau “”,

Opeator ++ (penambahan) berguna untuk menaikkan isi suatu varabe sebesar 1.


Contoh :
y = x++;
y = ++x;
Ekspresi x++ dan ++x mempunyai makna yang berbeda. Ekspresi x++ akan
menghasiilkan nilai sebesar isi x , tetapi selanjutnya x akan dinaikkan sebesar satu. Jika
msalnya semula x bernilai 5, pernyataan :

y = x++;

akan menyebabkan y bernilai 5 dan x dinaikkan sebesar 1(menjadi 6).

Pada pernyataan :

y = ++x;

Bila semula x bernilai 5 maka y akan beirisi 6. Begitu juga x mengapa bisa demikian ?
pertama-tama, ekspresi ++x membuat x dinaikkan sebesar satu dan hasil ekspresi berupa
bilai x yang terbarh (yaitu 6). Oleh karena itu, y juga bernilai 6.

26
Operator – (penurunan) berguna untuk menurunkan isi suatu variabel sebsar 1.
Contoh :

y = x--;

y = --x;

serupa dengan operator ++, anda bisa menebak sendiri hasil dari kedua pernyataan
diatas.
X semula Pernyataan Hasil y Hasil x

5 y = x++; 5 6
5 y =++x; 6 6
5 y=x--; 5 4
5 y= --x; 4 4

catatan :
operator ++ dan – dapat dikenakan pada blangan bulat maupun bilangan real.
Contoh kode sumber yang menggambarkan pemakaian efek operator ++ dan --;

Kode Sumber : OpPlusPlus.cpp

27
Akhir Kode Sumber
Hasil eksekusi kode C/C++ didepan ditunjukkan pada gambar berikut:

Gambar 3.9 Hasil eksekusi OpPlusPlus.exe


Penjelasan hasil untuk masing-masing ekspresi yang melibatkan operator ++ dan – dapat
dilihat pada gambar berikut :

3.3.1 p Operator Bit


C/C++ mendukung 6 buah operator yang beroperasi pada level bit (0 dan 1). Yaitu :
 & (dan untuk biner)

 | (atau untuk binner)

 ^ (atau untuk eksklusif)

 - (“buka” untuk biner)

 << (geser kiri)

 >>(geser kanan)
28
Catatan:
Jangan ragu dengan operator & dan && serta | dan ||.operator && dan || adalah
operator logika yang menghasilkan nilai benar atau salah, sedangkan & dan | bekerja atas
dasar bit.

Operator &
Operator & berguna untuk melakukan operasi “dari” pada tataran bit. Tabel 3.4
memperlihatkan sifat operasi &.
Tabel 3.4 Sifat operasi dengan operator &.
Bit 1 Bit 2 Hasil

0 0 0
0 1 0
1 0 0
1 1 1

Tampak bahwa bit hasil berupa 1 hanya kalua kedua bit yang dikenal operator &
bernilai 1.

Contoh :

9 & 10 memberikan hasil 8

29 & 7 memberikan hasil 5


Penjelasan contoh di depan dapat dilihat pada gambar berikut :

29
Operator |
Operator | berguna untuk melakukan operasi “atau” pada tataran biner. Tabel 3.5
memperlihatkan sifat operasi biner antar bit.

Tabel 3.5 Sifat operasi dengan operator


Bit Bit Bit

0 0 0
0 1 1
1 0 1
1 1 1

Tamak bahwa bit hasil berupa 0 hanya kalua kedua bit yang dikenal operator bernilai 0.
Contoh :
9 | 10 memberikan hasil 11
29|7 memberikan hasil 31

Penjelasan contoh di depan dapat dilihat pada gambar berikut :

Operator ^

Operator ^ berguna untuk melakukan operasi “atau ekseklusif” pada tataran biner.
Tabel 3.6 memperlihatkan sifat operasi bner antarbit.

Tabel 3.6 Sifat operasi dengan operator


Bit 1 Bit 2 Hasil
0 0 0
0 1 1
1 0 1
1 1 0

30
Tampak bahwa bit hasil berupa 1 hanya kalua salah satu bit yang dikenai operator ^
bernilai 1.
Contoh :
9 ^ 10 memberikan hasil 3
29 ^ 7 memberikan hasil 26
Penjelasan contoh di depan agar dapat dilihat pada gambar berikut:

Operator ⁓

Operator ini memberikan hasil dengan masing –masing bit berupa kebalikan dari bit
operand.

Contoh :

⁓185 memberikan hasil -186

Penjelasannya dapat dilihat pada gambar berikut :

31
Operator <<

Operator << (geser kiri) berfungsi untuk mengeser bit-bit ke kiri. Jumlah
penggeseran ditentukkan oleh operand yang terletak disebelah kanan operator ini .

Contoh :

29 << 1 memberikan hasil 58.

29 << 2 memberikan hasil 116

Pada dasarnya pergeseran sebuah bit dengan operator << identic dengan pengalian
dengan bilangan 2. Secara umum

x << n

identik dengan

x + 2n

Contoh penggunaan berbagai operator bit :

32
Kode Sumber : OpBit.cpp

Akhir Kode Sumber


Hasil eksekusi kode C/C++ di depan ditunjukkan pada gambar berikut :

Gambar 3.17 Hasil eksekusi Operat

33
3.3.1 q Operator Penugasan

Operator penugasan berguna untuk memberikan nilai ke suatu variabel. Tabel 3.7 dan
Tabel 3.8 memperlihatkan sejumlah operator yang tergolong dalam kategori operator
penugasan.

Tabel 3.7 Beberapa operator penugasan


Operator Keterangan

= Pemberian nilai
+= Penambahan bilangan
,= Pengurangan bilangan
*= Pengalian bilangan
/= Pembagian bilangan
%= Pemerolehan sisa bagi

Tabel 3.8 Operator penugasan yang berkaitan dengan operasi bit.


Operator Keterangan
&= a &= x identic dengan a = a & x
^= a ^= x identic dengan a = a ^ x
|= a |= x identic dengan a = a | x
<<= a <<= x identic dengan a = a << x
>>= a >> = x iidentik dengan a >> x

Operator = digunakan untuk memberikan nilai ke suatu variabel. Contoh :

a = 5;

b = 5 + b;

pada contoh pertama. a diisi dengan 5, sedangkan pada contoh kedua variabel h diisi
dengan penjumlahan 5 dan isi variabel a.

operator += berguna untuk menaikkan nilai terhadap suatu variabel. Contoh :

a += 2

berarti nilai variabel a diturunkan sebesar 2. Kalau misalnya semula a berisi 5 maka a
akan bernilai 3.
Operator /= berguna untuk membagi isi suatu variabel dengan suatu bilangan.
Contoh :

a /= 2

34
berarti nilai variabel a akan diisi dengan sisa pembagian a dengan masalnya semula a bersi
5 maka a akan bernilai 1.
Contoh berikut menunjukan beberapa operator penugasan.

Kode Sumber : Penugasan.cpp

Akhir Kode Sumber


Hasil eksekusi kode C/C++ didepan ditunjukkan pada gambar berikut :

Gambar 3.18 Hasil eksekusi Penugasan.exe

35
3.3.1 r Urutan Pengerjaan Operator
Sebagaimana diketahui, masing-masing operator dalam suatu ekspresi memiliki
prioritas pengerjaan yang berbeda-beda. Itulah sebabnya jika terdapat suatu ekspresi yang
melibatkab sejumlah operator, pengerjaanya dtentukan oleh prioritas masing-masing.
Misalnya :
1+2*3

Akan dievaluasi sebagai berikut :

Bila dalam suatu ekspresi terdapat operator dengan prioritas yang sama, umunya
pengerjaan dilakukan dari kiri(misalnya operator + dan -), tetapi ada juga yang
pengevaluasiannya dilakukan dari kanan (msalnya – dan +=). Contoh pengevaluasian dari
kanan diperlihatkan seperti berikut ini.
a = b = 5;

pada contoh di atas urutan pengerjaan pada gambar berikut :

Gambar 3.20 Pengevaluasian ekspresi dilakukan dari kanan

36
Tabel 3.9 memperlihatkan prioritas operator-operator pada C/C++ dimulai dari yang
tertinggi menuju ke yang terendah. Operator yang terletak pada baris yang sama menyatakan
bahwa prioritasnya sama. Tabel ini dapat anda gunakan sebagai acuan kalua anda
menggunakan sejumlah operator dalam sebuah ekspresi.

Tabel 3.9 Daftar operator dan prioritas


Simbol Nama Prioritas Urutan pengerjaan

|| Resolusi lingkup Tertinggi Kiri ke kanan


++ Penaikkan di Kiri ke kanan
-- belakang
() [] Penurunan di belakang
. Pemanggilan fungsi
Elemen array Pointer
ke anggota struktur
atau kelas Anggota
struktur
,union, atau kelas

++ Penaikkan di depan Kanan ke kiri


-- Penurunan di
! belakang Logika bukan
⁓ Operator komplemen
*- Perkalian
bit Kiri ke kanan
/+ Pembagian
Tanda minus Tanda
%& Sisa
plus pembagian
Alamat
* (modulus)
Indirection
+New Penjumlahan
Pengalokasian memori Kiri ke kanan
-Delete Pengurangan
Dealokasi memori
Sizeof
<< Ukuranbittipe
Geser ke data
kiri Type Kiri ke kanan
(tipe)
>> castingbit ke kanan
Geser
<Tipe () type casting
Kurang dari Kiri ke kanan
> Lebih dari
<= Kurang dari atau sama
>= dengan
.* Dereferensi
Lebih C/C++
dari atau sama Kiri ke kanan
.>* Dereferensi C/C++
dengan
()
== Kurung
Sama untuk
dengan Kiri ke kanan
!= ungkapan
Tidak sama dengan
& Operator bit “dan” Kiri ke kanan
^ Operator bit “xor” Kiri ke kanan
| Operator bit “atau” Kiri ke kanan
&& Logika “dan” Kiri ke kanan Adakal
anya || Logika “atau” Kiri ke kanan Anda
perlu ^^ Operator kondisi Kiri ke kanan
mengat = Penugasan Kanan ke kiri ur
sendiri *=,/=, Operator majemuk urutan
pengerj %=,+=, aan
37
=,<<=,
>>=,
,&=,^=,
=
, Operator koma Terendah Kiri ke kanan
dalam suatu ekspresi yang tdak tergantung pada prioritas operator. Hal seperti ini
dapat dilakukan dengan menggunakan tanda kurun.
Contoh :
(1 + 2) * 3

Memberikan hasil 9. Pada contoh ini, tanda kurung menyebabkan 1 + 2 dikerjakan terlebih
dahulu. Baru setelah itu mengerjakan pengalian hasil 1 + 2 dengan 3.
Contoh lain :

5* (5 + (6-2) +1)
Memberikan hasil 50

38
3.3.1 s Konversi Tipe dan Pengaruh Tipe (Type –Casting)

Operasi perhitungan pada C/C++ dilakukan dengan menggunakan tipe data yang
sama. Jika dalam suatu ekspresi terdapat operand dengan tipe yang berbeda, C/C++ akan
mengkonversikan salah satu tipe sehingga kedua tipe menjadi sama.

Aturan yang digunakan oleh C/C++ dalam mengkonversi tipe data adalah sebagai
berikut :

1. Jika salah satu operand bertipe long double, maka yang lain dikonversikan ke
2. long double.
3. Jika salah satu operand bertipe double, maka yang lain dikonversikan ke double.
4. Jika salah satu operand bertipe float, maka yang lain dikonversikan ke float.
5. Jika salah satu operand bertipe char, signed char ,unsigned char , atau unsigned short
maka yang lain dikonversikan ke int.
6. Tpe enumerasi akan dikonversikan ke int, unsigned int, long , atau unsigned long
dengan mengakomodasikan jangkauan tipe enumerasi.
7. Jika salah satu operand bertipe unsigned long, maka yang lalu dikonversikan ke
8. unsigned long.
9. Jika salah satu operand bertipe long dan yang lain bertipe unsigned iint maka
kedua operand dikonversikan ke unsigned long.
10. Jika salah satu operand bertipe long, maka yang lain dikonversikan ke long.

Gambar 3.22 mengilustrasikan pengkonversian tpe dalam sebuah ekspresi. Pada contoh
tersebut , variabel jumlah bertipe int, variabel harga perUnit bertipe float, dan variabel
harga total bertipe double. Pada saat menemukan ekspresi.
Harga perUnt * jumlah C/C++ akan mengkonversi jumlah yang bertipe int ke float
mengingat ada operand (yaitu harga perUnit)yang bertipe float. Selanjutnya, hasil ekspresi
tersebut dikonversikan ke double mengingat di sebelah kanan operator = bertipe double.

39
Kadangkala diperlukan langkah untuk mengubah suatu tipe data menjadi tipe data
lain. Proses untuk mengubah sutau tipe ke tipe yang lain dikenal dengan istilah type casting
atau pengarah tipe. Bentuk pengarah tpe, adalah sebagai berikut :

(tipe_data)data

Contoh berikut memperlihatkan pengkonversian data

Kode Sumber : Konversi.cpp

40
Akhir Kode Sumber

Gambar 3.23 Hasil eksekusi Konversi.exe

Pengkonversian data juga dapat dilakukan melalui bentuk :


tipe_data(data)
atau menggunakan bentuk :

Static_cast<tipe_data>(data)

Contoh berikut menunjukkan pemakaian statie_cast untuk menggantikan (int)


pada contoh Konversi.cpp di depan.

Kode Sumber :StaticCast.cpp

41
Akhir Kode Sumber

Hasil eksekusi kode C/C++ di depan ditunjukkan pada gambar berikut :

Gambar 3.24 Hasil eksekusi StaticCast.exe

3.3.1 t Fungsi Pustaka


C/C++ (dan tentu saja Visual C/C++) memiliki sejumlah fungsi pestaka yang
disediakan untuk menangani berbagai hal. Dalam banyak hal, pustaka-pustaka yang
tersedia tidak berbentuk kode sumber, melainkan dalm bentuk yang telah dikompilasi. Pada
saat proses lingking, kode-kode dari fungsi pustaka ini akan dikaitkan dengan kode- kode
yang ditulis oleh pemrogram.

Untuk menggunakan fungsi tertentu, pemograman perlu menyertakan baris:


#include<nama_berkas_judul>

Sebagai contoh, pada kode C/C++ yang telah Anda praktikkan terdapat baris
#include <iostream.h>

Mengingat kode tersebut melibatkan cout, yang dideklarasikan pada berkas iostream.h.

Contoh lain, jika Anda melibatkan fungsi strepy() yang digunakan untuk menyalin suatu
string (deretan karakter), Anda perlu menyertakan baris:

#include <string.h>

42
3.3.2 LANGKAH-LANGKAH PRAKTIKUM BAHASA C

3.3.2.a Literal Logika


Kode Sumber : Literal.C

Akhir Kode Sumber


Hasil eksekusi

Gambar 3.25 Hasil eksekusi Literal logika.exe

43
Algoritmik Pseudocode

Program Literal

{Literal bolean adalah literal yang hanya dapat berupa kata-kunci true atau false}
Deklarasi: -

Algoritma :

Write (‘123’)

Write (‘123.5’)

Write (‘123.5P’)

Write(‘123.5L’)

Write (‘true’)

Write (‘false’)

Write (‘0x0’)

Write (‘071’)

44
Algoritmik Flowchart
Start

Write("123\n");

Write("123.5\n");

Write("123.5F\n");

Write("123.5L\n");

Write("1\n");

Write("0\n");

Write("10\n");

Write("56\n");

End

45
3.3.2.b Literal String

Kode Sumber : String.c

Gambar 3.26 Hasil Eksekusi

hasil dari Literal string.exe

46
Algoritmik pseudocode
Program String :

{string berarti deretan atau kombinasi sejumlah karakter.Literal string berupa


sederetan karakter yang ditulis dalam tanda petik ganda}

Deklarasi :

Algoritma:

Write (‘Hai Katamu’)

Write (‘Hai Juga Kataku’)

Write (‘123 456 789’)

Algoritma Flowchart

Start

Write ("Hai katamu\n");

Write ("Hai juga kataku\n");

Write ("%d\n" ,123456789);

Start

47
3.3.2.c Konstanta Bernama

Kode Sumber : KonsPI.c

Akhir Kode Sumber


Hasil eksekusi

Gambar 3.27 Hasil eksekusi dari KonsPI.exe

Algoritmik Pseudocode
Program Konstanta Bernama
{ menghitung keliling lingkaran}

Deklarasi :
Phi = real
Radius = real

Algoritma ;
Read (phi,radius)
Keliling←2 *Phi *
Radius
Write(‘keliling’)

48
Algoritmik Flowchart

Start

Input

Phi,Radius

Keliling Lingkaran = 2 *Phi*Radius

Output

Write ‘keliling’

End

49
3.3.2.d Masukkan

Kode Sumber :Masukkan .C

Akhir Kode Sumber

Hasil Kode Sumber

Gambar 3.28 Hasil eksekusi dari Masukan.exe

50
Algoritmik Pseudocode

Program Masukan

{menghitung masukan jari-jari lingkaran dan keliling lingkaran}

Deklarasi :

Phi = real

Radius = real

Algoritma ;

Read (phi,radius)

Keliling←2 *Phi * Radius

Write(‘keliling’)

Write (‘masukan jari-jari lingkaran’)

51
Algoritmik Flowchart

Start

Input

Phi * Radius

Keliling lingkaran = 2* Phi * Radius

Write ("Masukkan jari-jari lingkaran:");

Write ("keliling lingkaran adalah % 2f\n", k);

End

52
3.3.2.e Aritmetika

Kode Sumber: Aritmatika. C

Akhir sumber kode


Hasil Eksekusi

Gambar 3.29 Hasil ekseskusi dari Aritmetika.exe

53
3.3.3 Analisa Data

Dari hasil praktek yang sudah dilakukan dapat di analisa bahwa pada literal logika
bahasa c/c++Bahasa ini memakai fungsi #include <iostream.h> untuk pustaka lalu int
main(){ untuk stukturnya sehingga kita dapat langsung memasukkan kode cout <<123
<< endl, bahasa C/C++ dan C memiliki ciri khas masing-masing dan perbedaan masing-
masing. Namun kedua hasil eksekusi dari Literal logika sama meskipun memiliki perbedaan.

Simbol yang terdapat pada kode sumber baik itu Bahasa C/C++ memiliki arti dan sangat
berpengaruh untuk hasil eksekusi dari suatu program maka dari itu ada diperlukanya
pemhaman dan ketelitian yang mendalam. Jika tidak maka akan dapat terjadi kesalahan
dalam pemakaian setiap simbol.

1.Literal hanya dapat berupa kata-kunci true atau false

2. String berarti deretan atau kombinasi sejumlah karakter.

3. KonsPI C++ memungkinkan pendefinisian konstanta bernama melalui kata-kunci const.

4.Masukkan emberian nilai juga dapat dilakukan melalui keyboard. Dalam hal ini C++
menyediakan objek bernama cin.

5.Aritmatika Semua operator aritmetika di atas melibatkan dua buah operator,kecuali operator
+ yang berkedudukan sebagai tanda plus dan operator – yang berkedudukan sebagai tanda
minus.

54
3.3.4 Kesimpulan
 Kode pada literal logika memiliki bahasa pemograman yang berbeda

 Kode sumber untuk literal logika memiliki hasil yang sama

 Pada operator aritmatika memiliki keistimewaan pada bahasa c dikarenakan dapat


langsung berupa pada hasilnya

 Kita diharuskan paham simbol pemograman agar tidak terdapat kesalahan atau error
pada program yang dibuat

55
Daftar Pustaka

“Kadir,A,Panduan Pemograman Visual C/C++,Penerbit ANDI,2004”

56

Anda mungkin juga menyukai