STRUKTUR DATA
BAHASA C++
1
DAFTAR ISI
DAFTAR TABEL
DAFTAR GAMBAR
BAB I
PENDAHULUAN
Kita ketahui bersama bahwa pada awal berkembangnya komputer, tahun 70an, telah
kebanyakan bahasa – bahasa ini digunakan untuk antarmuka hardware. Intinya digunakan
supaya hardware tersebut bisa didetect dengan baik oleh system operasi komputer.
Bahasa – bahasa seperti ini jaman sekarang dikenal dengan bahasa asembly. Banyak yang
menyebutnya dengan bahasa low level. Bahasa - bahasa prosedural tersebut diantaranya
adalah bahasa C, Basic, Pascal, Fortran, dan lain lain. Sekarang bahasa C berkembang
menjadi C++, Visual C++, Visual C#. Sedangkan bahasa Basic sendiri juga berkembang
menjadi Visual Basic. Sementara pascal berkembang menjadi Delphi dan lain – lain .
Bahasa pemrograman komputer terdiri atas dua bagian, yaitu bahasa pemrograman tingkat
tinggi (high level language) dan bahasa pemrograman tingkat rendah (low level language).
Makin tinggi suatu bahasa pemrograman komputer, maka bahasa pemrograman komputer
komputer yang lain, yaitu bersifat case sensitive (membedakan antara huruf kecil dan
huruf kapital), dimana hampir semua perintah dalam bahasa pemrograman C++
bahasa C (dikembangkan oleh Dennis Ritchie dari bahasa B), saat itu dia dari Bell
berorientasi pada object (OOP – Object Oriented Programming) yang kemudian disebut
algorithms. Data merupakan bahan yang akan diolah, sedangkan algorithms adalah
aplikasi compiler apa saja yang sudah tersedia di internet. Mudah bukan??
dan sekarang banyak sekali vendor yang menyediakan software komplit (lengkap) untuk
anda baik berbayar maupun gratis. Software komplit ini dinamakan dengan IDE
pemrograman, C++ dapat digunakan untuk menulis program. Program adalah kumpulan
instruksi yang ditujukan untuk komputer. Melalui program, komputer dapat di atur untuk
melaksanakan tugas tertentu sesuai yang ditentukan oleh pemrogram (orang yang
membuat program).
Sebagai contoh, Anda mungkin terbiasa menggunakan pengolah kata seperti Word. Nah,
Word adalah contoh aplikasi yang dibuat dengan menggunakan Bahasa pemrograman.
Bahasa C++ diciptakan oleh Bjarne Stroustroup pada tahun 1982, sebagai bahasa yang
berorentasi objek, C++ memudahkan dalam pembuatan aplikasi yang berskala besar.
1.7 Apa hal dasar yang disiapkan untuk memulai Pemrograman C++?
Siapkan perangkat lunak untuk mempraktikkan pembuatan program C++. Dengan
menggunakan CodeBlocks sebagai Software yang tergolong Open Source. Anda bisa
10. Simpan dengan menekan tombol Ctrl + S atau melalui File dan kemudian
pilih Save File.
11. Untuk mengkopilasi dan menjalankan program, klik pada menu Build dan
kemudian pilihlah Build and Run.
15
12. Beberapa saat kemudian akan muncul tampilan hasil sebagai berikut. Klik
pada untuk menutup hasil tersebut atau tekan sembarang tombol pada
keyboard.
1.10 Jelaskan apa yang terjadi ketika BUILD and RUN dilaksanakan?
Kode yang baru saja anda praktikkan dinamakan kode sumber. Pada saat anda memilih
(berekstensi.exe) (proses Build) dan kemudian hasil .exe tersebut dijalankan (proses
Run).
16
Kode Sumber
coba.cpp
Kompiler C++
Kode mesin
coba.cpp Pustaka C++
Linker
Program
executable
coba.exe
Gambar 1-3 Proses Build
Kompiler C++ adalah bagian dari CodeBlock (ataupun dari software pengembangan C++
yang lain seperti dari Microsoft ada Visual C++ atau dari Borland ada Turbo C++ ).
Compiler C++ berfungsi menerjemahkan (mengkompilasi) kode sumber menjadi
kode objek (kode mesin).
Linker berfungsi untuk menggabungkan kode objek dengan kode-kode yang sudah
disediakan oleh CodeBlocks (kode mesin dan Pustaka C++) dan hasilnya berupa kode
executable (.exe).
Kode
Menyatakan bahwa program yang anda buat melibatkan pustaka yang berhubungan
dalam pengarah preprosesor. Preprosesor adalah instruksi yang ditujukan kepada compiler
C++. Penyertaan preprosesor tersebut diperlukan, karena terdapat penggunaan cout dalam
fungsi main.
Kode
Bagian main adalah bagian utama program C++. Ketika file .exe (hasil Build) dijalankan,
(return value).
Pada program coba.cpp diatas, fungsi mempunyai nilai balik yang bertipe int.
Tipe int menyatakan bilangan bulat yang berasal dari kata integer).
18
Bagian yang berawalan dan berakhiran merupakan kode fungsi main() atau
biasa dinamakan tubuh fungsi. Nah didalam tubuh fungsi tersebut biasa terdapat
sejumlah pernyataan.
Pernyatan adalah sebuah intruksi atau perintah utuh yang bisa dieksekusi oleh
Bahasa manusia. Pernyataan diakhiri dengan tanda semicolon atau titik koma.
nilai balik.
adalah contoh nila yang ditampilkan ke layar. Nilai tersebut ditulis dalam tanda
String berarti deretan karakter. Sebuah karaktrer bisa berupa huruf, spasi, atau
Tanda adalah tanda yang spesifik dalam cout. Tanda tersebut menyatakan
Kode (berasal dari “end line”), yang berarti akhir baris. Secara khusus
dikeluarkan ke layar pasti akan berbeda baris dengan nilai sebelumnya yang telah
Kesalahan ini sudah biasa. Kesalahan justru membuat kita lebih berpengalaman dalam
membuat program. Kalau mengalami kesalahan, perbaiki kesalahan yang terletak paling
atas. Memperbaiki satu kesalahan paling atas seringkali membuat banyak kesalahan yang
kesalahan sewaktu eksekusi. Kesalahan sintaks disebabkan oleh kesalahan pada kode
sumber yang tidak sesuai dengan atuan yang telah di tetapkan dalam bahasa C ++ atau
terdapat kode yang tidak dikenal, contohnya kesalahan akan terjadi bial tidak diakhiri
dengan titik koma. Kesalahan Logika adalah kesalahan yang diakibatkan karena kesalahan
logika pemrograman.
Hasil program adalah 50.Padahal keliling yang sebenarnya adalah 60. Kesalahan yang
terjadi adalah akibat kesalahan rumus keliling. Pernyataan yang benar untuk rumus
keliling adalah:
Keliling = 2 * (panjang + lebar);
Bila anda mencoba melakukan Build and Run, akan muncul tampilan seperti berikut:
21
BAB II
VARIABEL, TIPE DATA DAN KONSTANTA
2.1 Variabel
Variabel adalah sebuah identifier (pengenal) yang nilainya dapat diubah sesuai dengan
kebutuhan program. Jika dibutuhkan sebuah variabel yang dapat dikenali oleh semua
lingkungan dalam program maka harus digunakan variabel Global. Pada C++ selalu
terdapat fungsi utama, variabel global biasanya dideklarasikan di luar fungsi utama
tersebut. Selain variabel global, pada pemrograman C++ juga terdapat variabel Lokal.
Berbeda dengan variabel global, variabel lokal hanya dikenali oleh suatu fungsi
saja, artinya variabel lokal tidak dikenal oleh lingkungan luar di dalam program
yang dibuat. Variabel lokal harus berada dalam lingkup fungsi tertentu.
#include <iostream>
Using namespace std;
Int A;
Int main()
{
A=100;
Cout << “Nilai Variabel A = “ << A << endl;
Int B;
A=100;
Cout << “Nilai Variabel B = “ << B << endl;
Return 0;
}
Variabel adalah elemen dalam bahasa pemrograman yang berguna untuk menyimpan nilai
dan nilainya bisa diubah sewaktu-waktu
I
23
Untuk memperoleh nilai dari suatu variable digunakan pernyataan penugasan (assignment
Variabel = ekspresi;
int n; = Variabel n bertipe int (untuk menyimpan bilangan bulat) dan tidak harus
char ch; = Variabel ch bertipe char (dipakai untuk menyimpan sebuah karakter)
double jarak; = Variabel jarak bertipe double (dipakai untuk menyimpan sebuah
Nama dari suatu variabel dapat ditentukan sendiri oleh pemrogram dengan aturan sebagai
berikut:
1. Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa
huruf. Bahasa C ++ bersifat case-sensitive artinya huruf besar dan kecil dianggap
(underscore). Yang termasuk symbol khusus yang tidak diperbolehkan antara lain:
$, ?, %, #, !, &, *, (, ), -, +, = dsb.
Contoh penamaan variabel yang benar: NIM, a, x, nama_mhs, f3098, f4, nilai, budi,
Dalam C++ terdapat beberapa tipe data dasar yang telah didefinisikan dan digolongkan
dalam tipe bilangan bulat (integer), bilangan real (floating point), tipe logika (boolean),
Tipe data bilangan bulat digunakan untuk data-data yang tidak mengandung angka di
belakang koma. Tipe data yang termasuk ke dalam kategori bilangan bulat adalah:
0 sampai 4.294.967.295
Tipe data bilangan real merefresentasikan data-data bilangan yang mengandung angka di
belakang koma. Tipe data yang termasuk ke dalam kategori bilangan real adalah :
25
Tipe Logika merepresentasikan data-data yang hanya mengandung dua nilai yaitu benar
untuk nilai 1 dan salah untuk nilai 0. Istilah ini juga dikenal dengan nama lain yaitu benar
(true) dan salah (false). Tipe logika dinyatakan dalam tipe bool.
Tipe data Karakter/String merepresentasikan data-data berupa karakter. Tipe data karakter
dinyatakan dengan tipe char, sedangkan untuk string yang merupakan kumpulan dari
karakter dinyatakan sebagai pointer dari tipe char dan dituliskan dengan char*. Untuk
membedakan tipe karakter dan string adalah tanda pengapitnya. Tipe data string diapit
oleh tanda petik ganda (“ ”) dan tipe data karakter diapit oleh tanda petik tunggal („ ‟).
Tipe data karakter yang sesuai dengan standard C++ ANSI/ISO adalah:
int main()
27
Int main()
{
Char karakter = „*‟;
2.3 Konstanta
Konstanta adalah jenis identifier yang bersifat konstan atau tetap, artinya nilai konstanta
adalah tidak dapat di ubah. Konstanta berguna untuk menentukan nilai yang merupakan
tetapan, misalnya nilai phi (π), satuan dari kecepatan cahaya dan sebagainya.
Identifier adalah suatu pengenal atau pengidentifikasi yang didekralasikan agar kompiler
dapat mengenalinya. Identifier dapat berupa variabel, konstanta, fungsi, dan kelas.
Dalam menentukan atau membuat identifier pada program, ada beberapa hal yang harus
diperrhatikan yaitu:
C++ bersifat case sensitive sehingga huruf kapital dan huruf kecil berbeda.
dan lain-lain).
Identifier tidak boleh menggunakan kata kunci yang terdapat pada C++, seperti
BAB III
EKSPRESI, OPERATOR DAN OPERAND
3.1 Ekspresi
Ekspresi atau ungkapan adalah suatu rangkaian operator, variabel, fungsi atau konstanta
yang ditujukan untuk menghasilkan sebuah nilai dengan tipe tertentu. Dalam program
3+ 4
3 dan 4 adalah sebagai operand dan + adalah sebagai operator.
Operator adalah simbol atau karakter khusus (misalnya + atau *) yang digunakan dalam
suatu ekspresi untuk menghasilkan suatu nilai. Operator dapat dikelompokkan menjadi
beberapa bagian, yaitu:
Operator Aritmatika
Operator Penjumlahan dan Pengurangan
Operator Penugasan
Operator Perbandingan
Operator Logika
Operator Bit
Menurut jumlah operand yang dilibatkan, operator diklsifikasikan menjadi beberapa
bagian yaitu :
Operator unary : Operator yang melibatkan satu operand
Operator binary : Operator yang melibatkan dua operand
Operator ternary : Operator yang melibatkan tiga operand
31
Operator Aritmatika
Operator aritmatika digunakan untuk melakukan operasi aritmatika seperti penjumlahan,
pengurangan, perkaliaan, pembagian dan sebagainya. Semua operator aritmatika berlaku
untuk bilangan bulat (integer) maupun bilangan real (float).
Operator Logika
Operator logika digunakan untuk menghasilkan nilai benar (true) dan salah (false). Nilai
ini dikenal dengan dengn istilah boolean. Dalan C++ biasanya nilai benar
direpresentasikan sebagai nilai 1 dan salah direpresentasikan sebagai nilai 0.
Jenis-jenis operator logika
Operator AND (&&) hanya akan menghasilan nilai 1 (benar) jika semua operand bernilai
1 (benar)
Operator OR ( | | ) menghasilkan nilai salah (0) jika semua operan bernilai 0 (salah)
Operator NOT (!) merupakan kebalikan dari nilai yang terkandung didalamnya.
Tabel 3-2 Operator Logika
Operator Jenis Operasi Contoh Aplikasi
&& AND (dan) 1 && 1 = 1
|| OR (atau) 1||1=1
! NOT (negasi) !0 = 1
Operator Unary
Operator Unary adalah operator yang hanya membutuhkan satu operand saja. Contoh:
tanda negative (-).
Tabel 3-3 operator unary
Operator Jenis Operasi Contoh Aplikasi
+ Membuat nilai positif +8
- Membuat nilai negative -5
++ Penambahan (increment) C++
__ Pengurangan (Decrement) C--
34
Operator Ternary
Operator ternary adalah operator yang digunakan dalam operasi yang melibatkan tiga
operand. Adapun operan yang digunakaan utnuk menyatakan adalah operator "?" Konsep
yang mendasari operasi ini adalah suatu percabangan (pemilihan) yang berdasarkan pada
kondisi tertentu.
Increment
Increment adalah suatu penambahan nilai yang terjadi pada sebuah variabel. Operator
yang digunakan untuk melakukan increment adalah operator (++). Operator ini berfungsi
Ada dua jenis increment pada C++ yaitu pre-increment dan post-increment. Pre-increment
Decrement
Decrement merupakan kebalikan dari increment, yaitu mengurangi nilai dari suatu
Ada dua jenis decrement pada C++, yaitu pre-decrement dan post-decrement. Pre-
decrement melakukan pengurangan nilai sebelum variabel itu diproses, sedangkan post-
Operator Bitwise
Opertor bitwise berguna untuk melakukan operasi yng berhubungan dengan manipulasi
bit, operator bitwise hanya dapat dilakukan dengan operand char dan int saja.
3.3 Ekspresi x ++
Tabel 3-5 Operator ++ berarti memasukan nilai sebesar satu.
Operator Contoh Penggunaan Identik dengan
+= a += 2 a = a +2
-= a -= 2 a = a -2
*= a *= 2 a = a *2
/= a /= 2 a = a /2
%= a %= 2 a = a %2
Contoh:
� = ��� A = 3.14*r*r
|�| abs(a)
Contoh :
37
38
BAB IV
INPUT / OUTPUT
BAB V
PENCABANGAN DENGAN IF DAN SWITCH
if(kondisi)
{
//blok pernyataan yang dijalankan
//jika kondisi bernilai benar
}
else
{
//blok pernyataan yang dijalankan
//jika kondisi bernilai benar
}
if (syarat/kondisi)
if(syarat/kondisi)
perintah1;
else
perintah2;
else
if(syarat/kondisi)
perintah3;
else
perintah4;
Sebagai contoh untuk if bersarang dalam menentukan nilai ujian dengan menggunakan
kriteria penilain A, B, C, D dan E.
Kriteria penentuan skor berdasarkan nilai numerik pada tabel dibawah ini:
Tabel 5-1 Tabel skor nilai
Nilai Indeks
Nilai ≥ 85 A
75≤ Nilai <85 B
55≤ Nilai <75 C
40≤ Nilai <55 D
Nilai < 40 E
43
Contoh switch 1:
45
Contoh switch 2
Contoh switch 3
46
BAB VI
PENGULANGAN
Pengulangan adalah suatu tindakan untuk melakukan hal yang sama berulang kali. Untuk
mendukung penulisan kode untuk proses pengulangan pada C++ dapat dilakukan dengan
menggunakan pernyataan-pernyataan berikut:
while
do……while
for
while(kondisi)
{
// blok pernyataan
}
Dalam hal ini blok pernyataan akan dijalankan secara terus menerus selama kondisi
bernilai benar (true). Jika pada keadaan awal, kondisi bernilai salah maka blok pernyataan
tidak dapat dijalankan sama sekali.
do
{
// Blok pernyataan yang dijalankan yang akan diulang
}
while (kondisi)
for(variable = nilai_awal;kondisi;variable++)
{
// Pernyataan yang akan diulang
}
Jika melakukan pengulangan yang sifatnya menaik (increment) maka nilai awal variable
harus lebih kecil dari nilai akhir yang akan dituliskan dalam kondisi. Sebaliknya jika
dilakukan pengulangan menurun (decrement) maka nilai awal harus lebih besar dari nilai
akhir.
Berikut ini contoh pemrograman yang menunjukkan proses pengulangan dengan
menggunakan for.
48
Bila dilihat dari bentuknya, setiap pengulangan pertama akan menyelesaikan pengulangan
kedua. Pada saat pengulangan kedua maka program akan menyelesaikan pengulangan
ketiga.
Contoh program berikut aplikasi penggunaan for bersarang:
49
50
BAB VII
ARRAY
Array atau sering disebut larik berguna untuk menyimpan sejumlah nilai atau data yang
memiliki tipe data yang sama. Setiap data tersebut menempati lokasi atau alamat memori
yang berbeda-beda. Tiap nilai atau data dalam array disebut dengan elemen array.
Tiap elemen array diidentifikasi dengan menggunakan indeks, sehingga untuk mengakses
nilai tersebut harus melalui indeks yang terdapat didalamnya. Indeks pada elemen array
selalu dimulai dengan 0.
Untuk mendeklarasikan array dalam bahasa pemrograman C++ dapat dilakukan dengan
menggunakan tanda [ ] (bracket). Bentuk umum pendeklarasian array adalah sebagai
berikut:
tipe_data nama_array[jumlah_elemen_array];
contoh:
int ArrayLarik[10];
pada contoh sintaks diatas akan mendeklarasikan sebuah aplikasi array dengan nama array
ArrayLarik dan menggunakan tipe data integer yang mempunyai jumlah elemn array
sebanyak 10 elemen.
Mengisi dan menampilkan Elemen Array
Untuk mengisi nilai kedalam elemen array dapat dilakukan dengan memasukan nilai pada
setiap elemen, misalnya:
A[0] = 1
A[1] = 3
A[2] = 7
.......
Cara lain untuk mengisikan nilai pada elemen array adalah dengan cara menggunakan
pengulangan (looping). Sebagai contoh jika kita ingin melakukan pengisian 10 elemen
array, maka dapat menuliskan sintaks pengulangan for sebagai berikut:
Untuk menampilkan array dapat juga dengan konsep yang sama seperti pengisian pada
elemen array.
Salah satu masalah yang sering muncul pada saat menggunakan array adalah melakukan
pencarian nilai yang terdapat pada elemen array. Misalnya jika ingin mencari dan
menampilkan nilai yang telah dimasukkan pada elemen array, dan menampilkan elemen
array.
Contoh program dibawah ini salah satu cara untuk mencari dan menampilkan elemen
array.
53
Pada bahasa pemrograman C++, kumpulan karakter disebut dengan istilah teks (string).
Array dengan menggunakan elemen bertipe karakter biasanya menyimpan deretan
karakter.
Bentuk umum untuk mendeklarasikan array tipe karakter adalah:
char nama_array [jumlah_elemen_array];
Jika ingin mendeklarasikan variabel dengan 6 karakter, maka contoh sintaks nya adalah
char namaku [6] = { „H‟, „A‟, „S‟, „Y‟, „A‟, „\0‟};
karakter terakhir, „\0‟ disebut dengan karakter null, yaitu karakter yang digunakan sebagai
terminator dari sebuah string pada pemrograman C++.
ukuran tipe data char adalah 1 byte, sehingga ukuran memori yang dibutuhkan untuk
pendeklarasian diatas adalah 6 byte.
54
Untuk membuktikan aplikasi array karakter silahkan tulis contoh program dibawah ini:
Data atau nilai yang terdapat pada elemen-elemen array dapat diurutkan (sorting). Metode
pengurutan dapat dilakukan secara menaik (ascending) maupun menurun (descending).
Salah satu kegunaan pengurutan data dengan dengan menggunakan array adalah untuk
mempercepat dan memudahkan proses pencarian data.
Untuk lebih memahami konsep pengurutan dengan menggunakan array, kerjakan contoh
program berikut:
55
Array multidimensi ( 2 dimensi) adalah array yang terdiri dari beberapa subskrip array.
Array 2 dimensi akan mempunyai 2 subskrip array sedangkan array 3 dimensi akan
mempunyai 3 subskrip array, dan seterusnya.
Array 2 dimensi mempunyai 2 subskrip, yaitu baris dan kolom. Adapun bentuk umum
pendeklarasian array dua dimensi dalam bahasa pemrograman C++ adalah sebagai
berikut:
tipe_data
nama_array [jumlah_elemen_baris] [jumlah_elemen_kolom];
contoh program dibawah ini merupakan contoh array 2 dimensi yang diaplikasikan untuk
melakukan proses penjumlahan 2 matrik ordo 3 x 2.
56
Sama seperti array satu dimensi, pada array multidimensi dapat juga dilakukan proses
inisialisasi nilai pada elemen-elemennya.
Ada beberapa model inisialisasi nilai yang dapat dilakukan pada array, yaitu:
57
Contoh model 1:
int A [3] [3] = {1,. 2, 3, 4, 5, 6, 7, 8, 9};
Contoh model 2:
int B [3] [3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
Untuk lebih memahami inisialisasi array multidimensi, silahkan tulis contoh program
dibawah ini:
58
REFERENSI
[3] http://andryfajar27.blogspot.com.