BAHAN KULIAH
PEMROGRAMAN TERSTRUKTUR BAHASA C++ MENGGUNAKAN CODE::BLOCKS (EDISI REVISI SATU)
Oleh : HALDI BUDIMAN dan NUR ALAMSYAH
UNIVERSITAS ISLAM KALIMANTAN BANJARMASIN 2014
1
DAFTAR ISI
DAFTAR ISI ............................................................................................................1 DAFTAR TABEL ....................................................................................................3 DAFTAR GAMBAR ...............................................................................................4 1. BAB I PENDAHULUAN ..................................................................................5 1.1 Latar Belakang .............................................................................................5 1.2 Apa itu C++? ................................................................................................5 1.3 Bagaimana filosofi Bahasa C .......................................................................6 1.4 Apa saja yang diperlukan untuk belajar C++? .............................................6 1.5 Penggunaan Softrware Compilier C ++ .......................................................6 1.6 Pengenalan C++ ...........................................................................................7 1.7 Apa hal dasar yang disiapkan untuk memulai Pemrograman C++? ............7 1.8 Installasi Code::Blocks .................................................................................7 1.9 Instalasi C++ sudah berhasil . Apa yang harus dilakukan? ........................10 1.10Jelaskan apa yang terjadi ketika BUILD and RUN dilaksanakan? ............15 1.11Penjelasan mengenai kode standar C++? ...................................................16 1.12Menghindari Kesalahan dalam Penulisan Program ...................................18 1.12.1 Kesalahan Logika .........................................................................19 1.12.2 Kesalahan Sintaks ........................................................................19 2. BAB II VARIABEL, TIPE DATA DAN KONSTANTA .............................21 2.1 Variabel ......................................................................................................21 2.2 Tipe Data Dasar ..........................................................................................23 2.2.1 Typecasting (Konversi Tipe Data) ...............................................26 2.2.2 Tipe data Boolean ........................................................................26 2.2.3 Tipe data char ...............................................................................26 2.3 Konstanta ....................................................................................................27 3. BAB III EKSPRESI, OPERATOR DAN OPERAND .....................................29 3.1 Ekspresi ......................................................................................................29 3.2 Operator dan operand .................................................................................29 3.3 Ekspresi x ++..............................................................................................35 3.4 Notasi Matematika dalam Ekspresi C++ ....................................................35 4. BAB IV INPUT / OUTPUT .............................................................................37 4.1 Memasukan Data dari keybord ketika Program dijalankan .......................37 5. BAB V PENCABANGAN DENGAN IF DAN SWITCH ..............................39 5.1 Pencabangan dengan IF. .............................................................................39 5.1.1 Percabangan IF Satu Kondisi (if.....) ............................................39
2 5.1.2 Percabangan IF Dua Kondisi (if...else) ........................................40 5.1.3 Pencabangan IF Bersarang ...........................................................40 5.2 Pernyataan dengan SWITCH (switch….case) ...........................................42 6. BAB VI PENGULANGAN ...........................................................................45 6.1 Pengulangan while .....................................................................................45 6.2 Pengulangan do…. while ...........................................................................45 6.3 Pengulangan for..........................................................................................46 6.4 Pengulangan for Bersarang ........................................................................47 7. BAB VII ARRAY ..........................................................................................49 7.1 Element Array ............................................................................................49 7.2 Inisialisasi Array ........................................................................................50 7.3 Pencarian Nilai Array .................................................................................51 7.4 Array Karakter ............................................................................................52 7.5 Mengurutkan Array ....................................................................................53 7.6 Array 2 Dimensi ........................................................................................54 7.7 Inisialisasi Array 2 Dimensi ......................................................................55 REFERENSI ..........................................................................................................57
3 DAFTAR TABEL
Tabel 3-1 Operator Aritmatika ......................................................................................... 30 Tabel 3-2 Operator Logika ............................................................................................... 31 Tabel 3-3 operator unary .................................................................................................. 32 Tabel 3-4 Operator Bitwise .............................................................................................. 34 Tabel 3-5 Operator ++ berarti memasukan nilai sebesar satu. ......................................... 35 Tabel 3-6 Beberapa penulisan notasi matematika ............................................................ 35 Tabel 5-1 Tabel skor nilai ................................................................................................ 41
4 DAFTAR GAMBAR
Gambar 1-1 Filosofi Bahasa C
6
Gambar 1-2 Compiler CodeBlocks
6
Gambar 1-3 Proses Build
16
Gambar 1-4 kode kesalahan logika
19
Gambar 1-5 kode kesalahan pada sintaks
19
Gambar 2-1 Tipe Data
25
5 1. BAB I PENDAHULUAN
1.1
Latar Belakang
Kita ketahui bersama bahwa pada awal berkembangnya komputer, tahun 70an, telah ditemukan bahasa pemrograman yang prosedural (belum berbasis object/oop). Nah, 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). Penggolongan ini didasarkan pada kemudahan untuk mempelajari bahasa pemrograman komputer tersebut dan kecepatan eksekusinya. Makin tinggi suatu bahasa pemrograman komputer, maka bahasa pemrograman komputer tersebut akan makin mudah dipelajari. Bahasa pemrograman C++ memiliki keunikan tersendiri dari bahasa pemrograman komputer yang lain, yaitu bersifat case sensitive (membedakan antara huruf kecil dan huruf kapital), dimana hampir semua perintah dalam bahasa pemrograman C++ menggunakan huruf kecil. 1.2
Apa itu C++?
Sebelum C++ dikembangkan, sudah ada bahasa sejenis yang digunakan programmer yaitu bahasa C (dikembangkan oleh Dennis Ritchie dari bahasa B), saat itu dia dari Bell Laboratories sedang mengembangkan system operasi Unix. C ini merupakan bahasa prosedural, kemudian dikembangkan hingga menjadi sebuah bahasa pemrograman C yang berorientasi pada object (OOP – Object Oriented Programming) yang kemudian disebut dengan C++ (dikembangkan oleh Bejarne Stroustrup tahun 1979).
6 1.3
Bagaimana filosofi Bahasa C
Secara umum, pemrograman dengan bahasa C menggunakan 2 konsep, yaitu data dan algorithms. Data merupakan bahan yang akan diolah, sedangkan algorithms adalah metode pengolahan. Bisa dibilang algorithms ini adalah fungsi/cara/metode/langkah dan lain lain untuk mengolah data tersebut. Lihat gambar 1:
Gambar 1-1 Filosofi Bahasa C
1.4
Apa saja yang diperlukan untuk belajar C++?
Anda bisa saja pakai aplikasi teks editor apa saja. Kemudian anda dapat mendownload 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 (Integrated Development Environment).
1.5
Penggunaan Softrware Compilier C ++
Dalam mata kuliah pemrograman terstruktur ini menggunakan Tool Code::Bocks.
Gambar 1-2 Compiler CodeBlocks
7
1.6
Pengenalan C++
C++ adalah nama sebuah bahasa pemrograman yang sangat terkenal. Sebagai bahasa 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 menggunakannya secara gratis. Bisa di unduh di www.codeblock.org.
1.8
Installasi Code::Blocks
Instalasi CodeBlocks dapat dilakukan dengan mudah. Ikuti petunjuk berikut: 1. Klik pada codeblocks-13.12mingw-setup .Beberapa saat kemudian akan muncul tampilan seperti berikut:
8 2. Klik pada tombol
akan muncul tampilan seperti berikut:
3. Klik pada tombol
. Tampilan yang muncul seperti berikut:
4. Klik pada tombol
akan muncul tampilan sebagai berikut:
9
5. Klik pada tombol
. langkah ini akan memunculkan jendela yang
menyatakan instalasi CodeBlocks sedang dilakukan. Tampilannya seperti berikut:
6. Klik tombol
7. Klik tombol
saat muncul tampilan berikut:
akan muncul tampilan seperti berikut:
10
8. Klik pada tombol
1.9
untuk mengakhiri instalasi CodeBlocks.
Instalasi C++ sudah berhasil . Apa yang harus dilakukan?
Anda bisa memulai untuk belajar pemrograman. Pertama-tama, lakukan langkah-langkah seperti berikut: 1. Klik pada Start milik Windows. 2. Klik pada All Programs 3. Klik pada CodeBlocks 4. Klik pada CodeBlocks anda akan mendapat tampilan sebagai berikut:
11
5. Klik pada Settings 6. Klik pada Compiler …… akan muncul kotak dialog seperti berikut :
7. Klik pada tab
dan klik pada
untuk memastikan
bahwa C:\Program Files (x86)\CodeBlocks\MinGW terpilih sebagai lokasi Kompiler.
12
8. Klik tombol oke
Langkah nomor 5 hingga 8 hanya dilakukan sekali saja. Selanjutnya untuk keperluan latihan dalam pemrograman, siapkan folder bernama progcpp. Difolder itulah nantinya program-program C++ yang anda buat diletakan.
Selanjutnya, buatlah program C/C++ dengan cara sebagai berikut: 1.
Klik pada menu File:
2. Klik pada New. 3. Klik pada File…. Akan muncul tampilan seperti berikut:
4. Klik pada C/C++ source dan kemudian klik pada tombol tampilan yang muncul seperti berikut:
.
13
5. Klik pada C++ untuk membuat program C++. 6. Klik pada tombol
tampilan yang muncul seperti berikut:
7. Ketikan atau letakan misal D:\progcpp\coba.cpp pada kotak judul dibawah judul Filename with full path
14
8. Klik tombol
tampilan yang muncul sebagai berikut:
9. Tuliskan program seperti berikut:
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 Build and Run, kode sumber tersebut diterjemahkan ke bentuk executable (berekstensi.exe) (proses Build) dan kemudian hasil .exe tersebut dijalankan (proses Run).
16 Proses Build sesungguhnya cukup kompleks. Mekanismenya seperti berikut:
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).
1.11 Penjelasan mengenai kode standar C++? Kode sumber diatas (coba.cpp) adalah contoh sebuah program C++. Umumnya, sebuah program C++ diawali dengan:
17
Kode
Menyatakan bahwa program yang anda buat melibatkan pustaka yang berhubungan dengan file
iostream.h.perlu diperhatikan ektensi .h justru tidak boleh disebutkan
dalam pengarah preprosesor. Preprosesor adalah instruksi yang ditujukan kepada compiler C++. Penyertaan preprosesor tersebut diperlukan, karena terdapat penggunaan cout dalam fungsi main. Kode
Diperlukan agar cout tidak perlu ditulis menjadi
Bagian main adalah bagian utama program C++. Ketika file .exe (hasil Build) dijalankan, kode yang ada didalamnya akan diproses.
Pada program C++, kedudukan main adalah sebagai fungsi.
Fungsi adalah kumpulan kode yang diperlukan sebagai kesatuan yang menjalankan tugas tertentu. Sebuah fungsi umumnya mempunyai nilai balik (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 computer. Sebuah pernyataan dapat dianalogikan dengan sebuah kalimat dalam Bahasa manusia. Pernyataan diakhiri dengan tanda semicolon atau titik koma.
Pada
contoh diatas, terdapat tiga pernyataan. Dua pernyataan pertama
melibatkan cout, yang berguna untuk menampilkan suatu nilai. Pernyataan terakhir (return) digunakan untuk mengkahiri eksekusi fungsi dan memberikan nilai balik.
Pada pernyataan yang melibatkan cout
adalah contoh nila yang ditampilkan ke layar. Nilai tersebut ditulis dalam tanda petik ganda,dinamakan string.
String berarti deretan karakter. Sebuah karaktrer bisa berupa huruf, spasi, atau symbol seperti tanda plus dan titik.
Tanda
adalah tanda yang spesifik dalam cout. Tanda tersebut menyatakan
bahwa nilai disebelah kanannya akan dikirim kelayar.
Kode
(berasal dari “end line”), yang berarti akhir baris. Secara khusus
berfungsi untuk memindahkan kursor ke baris berikutnya sehingga nilai yang dikeluarkan ke layar pasti akan berbeda baris dengan nilai sebelumnya yang telah ditampilkan kelayar. Efeknya adalah pindah baris.
1.12 Menghindari Kesalahan dalam Penulisan Program Setiap pemrogram pasti telah berkali-kali mengalami kesalahan dalam penulisan. 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 lain ikut terselesaikan.
19 Kesalahan dalam pembuatan program yaitu kesalahan sintaks, kesalahan logika, 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. 1.12.1 Kesalahan Logika Kesalahan logika adalah kesalahan yang diakibatkan karena logika pemerograman. Lihatlah contoh program berikut:
Gambar 1-4 kode kesalahan logika
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); 1.12.2 Kesalahan Sintaks Kesalahan yang disebabkan oleh kaidah bahasa pemrograman akan ditunjukkan dengan contoh berikut :
Gambar 1-5 kode kesalahan pada sintaks
20 Bila anda mencoba melakukan Build and Run, akan muncul tampilan seperti berikut:
21 2. 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.
Variabel adalah elemen dalam bahasa pemrograman yang berguna untuk menyimpan nilai dan nilainya bisa diubah sewaktu-waktu
Perhatikan contoh dibawah ini:
22 Contoh hasil eksekusi program
Untuk memperoleh nilai dari suatu variable digunakan pernyataan penugasan (assignment statement), yang mempunyai sintaks sebagai berikut:
Variabel = ekspresi;
int n; = Variabel n bertipe int (untuk menyimpan bilangan bulat) dan tidak harus n tergantung pengenal apa yang nantinya kita tulis.
char ch; = Variabel ch bertipe char (dipakai untuk menyimpan sebuah karakter) tidak harus ch tergantung pengenal apa yang nantinya kita tulis.
long int jum_penduduk; = Variabel jum_penduduk bertipe long int (dipakai untuk menyimpan bilangan bulat dengan nilai mencapai sekitar 2 milyar)
double jarak; = Variabel jarak bertipe double (dipakai untuk menyimpan sebuah bilangan real dengan kepresisian tinggi)
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 berbeda. Jadi antara nim, NIM dan Nim dianggap berbeda. 2. Tidak boleh mengandung spasi.
23 3. Tidak boleh mengandung symbol-simbol khusus, kecuali garis bawah (underscore). Yang termasuk symbol khusus yang tidak diperbolehkan antara lain: $, ?, %, #, !, &, *, (, ), -, +, = dsb. 4. Panjangnya bebas, tetapi hanya 32 karakter pertama yang terpakai.
Contoh penamaan variabel yang benar: NIM, a, x, nama_mhs, f3098, f4, nilai, budi,
Contoh penamaan variable yang salah: %nilai_mahasiswa, 80mahasiswa, rata-rata, ada spasi, penting! Dsb.
2.2
Tipe Data Dasar
Dalam C++ terdapat beberapa tipe data dasar yang telah didefinisikan dan digolongkan dalam tipe bilangan bulat (integer), bilangan real (floating point), tipe logika (boolean), dan tipe karakter/teks (character/string). 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: Tipe Data int
Ukuran (bit) 16 atau 32
Rentang Nilai -32.768 sampai 32.767 atau -2.147.483.648 sampai 2.147.483.647
unsigned int
16 atau 32
0 sampai 65.535 atau 0 sampai 4.294.967.295
signed int
16 atau 32
-32.768 sampai 32.767 atau -2.147.483.648 sampai 2.147.483.647
short int
16
-32.768 sampai 32.767
unsigned int
16
0 sampai 65.535
signed short int
16
-32.768 sampai 32.767
long int
32
-2.147.483.648 sampai 2.147.483.647
signed long int
32
-2.147.483.648 sampai 2.147.483.647
unsigned long int
32
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 :
24
Tipe Data
Ukuran (bit)
Rentang Nilai
Presisi
float
32
1.2E-38 sampai 3.4E+38
6 digit
double
64
2.3E-308 sampai 1.7E+308
15 digit
long double
80
3.4E-4932 sampai 1.1E+4932
19 digit
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: Tipe Data char
Ukuran (bit) 8
Rentang Nilai -128 sampai 127
unsigned char
8
0 sampai 255
signed char
8
-128 sampai 127
Bilangan Bulat (integer); bilangan tanpa pecahan
Bilangan Real (Float); bilangan yang mengandung pecahan
Boolean; terkait dengan keadaan benar (true) atau salah (false) atau untuk menangani data yang nilainya hanya ada dua keadaan.
Karakter (String); berkaitan dengan huruf, digit atau sebuah symbol.
25
Gambar 2-1 Tipe Data
26 2.2.1
Typecasting (Konversi Tipe Data)
Typecasting adalah untuk mengubah tipe data secara eksplisit dalam suatu ekspresi. Contoh :
2.2.2
Tipe data Boolean
Tipe data bool (yang menyatakan Booelan) bisa digunakan untuk mengambil keputusankeputusan. Nilai true atau false. True bernilai 1 dan false bernilai 0.
2.2.3
Tipe data char
Tipe data char hanya ditujukan untuk menyimpan sebuah karakter. Seperti huruf A, B, digit seperti 0 dan 9 atau symbol seperti * dan 8.
27
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.
Identifier tidak boleh diawal dengan angka.
Identifier tidak boleh menggunakan karakter-karakter simbol seperti #, @, ?, !, $, dan lain-lain).
Identifier tidak boleh menggunakan kata kunci yang terdapat pada C++, seperti break, return dan lain-lain.
Nama identifier sebaiknya disesuaikan dengan kebutuhannya.
28
29 3. 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 misalnya untuk menghitung luas lingkaran berdasarkan jari-jarinya.
Luas = 0.5 * 3.14 *10*10 Pada contoh diatas ada beberapa ekspresi. Luas = 0.5 * 3.14 *10*10 sebuah ekspresi 0.5 * 3.14 *10*10 sebuah ekspresi 3.14 *10*10 sebuah ekspresi 10*10 sebuah ekspresi 3.2
Operator dan operand
Perhatikan ekspresi ini:
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
30 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).
Tabel 3-1 Operator Aritmatika
31 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 Assigment (Penugasan) Operator Assignment adalah operator yang berfungsi untuk memasukkan nilai di dalam suatu variabel atau konstanta. Operator dilambangkan dengan tanda sama dengan (=). Berikut ini contoh-contohnya: a = 1; a = 2 + b; a = 2 + (b = 1);
32
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--
33 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 untuk menambah nilai dari variabel menjadi satu (1). Ada dua jenis increment pada C++ yaitu pre-increment dan post-increment. Pre-increment kan melakukan penambahan sebelum variabel itu diproses, sedangkan post-increment melakukan pemanbahan sesudah variabel itu diproses.
34 Decrement Decrement merupakan kebalikan dari increment, yaitu mengurangi nilai dari suatu variabel. Operator untuk meakuka decrement adalah operator (--). Ada dua jenis decrement pada C++, yaitu pre-decrement dan post-decrement. Predecrement melakukan pengurangan nilai sebelum variabel itu diproses, sedangkan postdecrement melakukan pengurangan sesudah variabel itu diproses.
Operator Bitwise Opertor bitwise berguna untuk melakukan operasi yng berhubungan dengan manipulasi bit, operator bitwise hanya dapat dilakukan dengan operand char dan int saja. Tabel 3-4 Operator Bitwise
Operator
Jenis Operasi
Contoh Aplikasi
&
AND (dan)
1&0=0
|
OR (atau)
1||0=1
^
Exclusive OR (XOR)
1^1=0
~
NOT (negasi)
~1=0
>>
Shift Right (Geser kanan)
5 << 1 = 10
<<
Shift Left (Geser Kiri)
10 >> 1 = 5
35 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:
3.4
Notasi Matematika dalam Ekspresi C++ Tabel 3-6 Beberapa penulisan notasi matematika
Notasi Matematika
Ekspresi C++
√𝟏𝟒𝟎
sqrt(140)
𝟑
√𝟖𝟕
pow(87,10/3)
𝑨 = 𝝅𝒓𝟐
A = 3.14*r*r
|𝒂|
abs(a)
−𝒃±√𝒃𝟐 −𝟒𝒂𝒄
(-b + sprt(b*b-4*a*c))/(2*a)
𝟐𝒂
Tinggi = jarak x tangent α
tinggi = jarak * tan(alpha)
a cos(sin2b)
a* cos (sin (2*b))
2 x v2 x sin α x cos α
2 * v*v sin(alpha)* cos(alpha)
5 x 10log a
5 * log10(a)
𝟏 𝟏+𝒆−𝒛 𝒃 𝟐 𝒄 𝟑𝒂+𝟕 − 𝟑 𝒃
𝟏−
Contoh :
1/ (1 + exp(-z)) (1-b/2)/ (c/3 – (3* a + 7) / b)
36
37 4. BAB IV INPUT / OUTPUT
4.1
Memasukan Data dari keybord ketika Program dijalankan
C++ Menyediakan objek bernama cin berguna untuk membaca data dari keyboard. contoh :
38
39 5. BAB V PENCABANGAN DENGAN IF DAN SWITCH 5.1
Pencabangan dengan IF.
Dalam sebuah program seringkali dibutuhkan suatu kondisi yang memerlukan pencabangan dan pengulangan. Pencabangan program adalah suatu pemilihan pernyataan (statement) yang akan dieksekusi, dimana pemilihan tersebut berdasarkan pada kondisi tertentu. Pada pemrograman C++ umumnya terdapat 2 jenis struktur yang digunakan untuk proses pencabangan yaitu “if” dan “switch”. Pencabangan dengan menggunakan pernyataan if merupakan suatu pernyataan yang berguna untuk mengambil keputusan terhadap dua kemungkinan. 5.1.1
Percabangan IF Satu Kondisi (if.....)
Struktur percabangan yang paling sederhana hanya melibatkan satu ekpresi yang diperiksa, pernyataan if pada dasarnya memilki dua bentuk yaitu tidak mengandung else dan mengandung else. Bentuk sederhana dari pernyataan IF berupa: if(kondisi) { //blok pernyataan yang dijalankan //jika kondisi bernilai benar (true) } Contoh :
40 5.1.2
Percabangan IF Dua Kondisi (if...else)
Pada percabangan if dua kondisi harus berisi pernyataan khusus yang berguna apabila kondisi yang didefinisikan tidak terpenuhi atau bernilai salah Bentuk umum pernyataan IF dan ELSE.
if(kondisi) { //blok pernyataan yang dijalankan //jika kondisi bernilai benar } else { //blok pernyataan yang dijalankan //jika kondisi bernilai benar }
Contoh if yang melibatkan dua pernyataan ditunjukkan sebagai berikut:
5.1.3
Pencabangan IF Bersarang
Yakni pernyataan dimana nilai suatu if berada dalam nilai if yang lain. Istilah simplenya adalah if didalam if. Pernyataan seperti ini disebut if bersarang.
Bentuk umum pernyataan if Bersarang:
41
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
42
5.2
Pernyataan dengan SWITCH (switch….case)
Selain menggunakan struktur if, C++ juga menawarkan penggunaan pencabangan atau pemilihan dengan menggunakan switch. Perintah Switch memungkinkan untuk melakukan sejumlah tindakan berbeda terhadap sejumlah kemungkinan nilai. Bentuk umum percabangan dalam bentuk switch adalah sebagai berikut : switch (ekpresi) { case nilai_pertama: pernyataan_pertama; break; case nilai_kedua: pernyataan_kedua; break; case nilai_keempat: pernyataan_ketiga; break; ………….. Default: pernyataan_n; }
43 Contoh switch 1:
44 Contoh switch 2
Contoh switch 3
45 6.
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:
6.1
while
do……while
for
Pengulangan while
Pernyataan untuk menangani proses pengulangan dengan menggunakan pernyataan while dibentuk dengan format:
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.
Berikut contoh program while:
6.2
Pengulangan do…. while
Berbeda dengan pernyataan while yang melakukan pengecekan kondisi di awal blok pengulangan, pada do….while kondisi ditempatkan pada bagian akhir. Hal ini akan menyebabkan dilakukan proses pengulangan minimal satu kali walaupun kondisi yang didefinisikan tidak terpenuhi. Bentuk pernyataan do…while adalah:
46 do { // Blok pernyataan yang dijalankan yang akan diulang } while (kondisi)
Pernyataan dua kondisi
6.3
Pengulangan for
Pernyataan for berfungsi untuk menangani masalah pengulangan yang telah diketahui banyaknya. Bentuk umum untuk pengulangan dengan menggunakan for adalah:
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.
47
6.4
Pengulangan for Bersarang
Konsep proses pengulangan for bersarang yaitu sebuah pengulangan yang terdapat pengulangan yang lainnya. Bentuk umum for bersarang dapat dirumuskan seperti berikut:
for(variable nilai awal; kondisi1; variable++) { for(variable nilai kedua; kondisi2; variable++) { for(variable nilai ketiga; kondisi3; variable++) pernyataan yang akan diulang …………………….. } }
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:
48
49 7. 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. 7.1
Element 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:
For(int C=0; C < 10; C++) { Cout << “B << C << “] =”;
50 Cin >> B [C]; }
Untuk menampilkan array dapat juga dengan konsep yang sama seperti pengisian pada elemen array.
7.2
Inisialisasi Array
Inisialisasi elemen-elemen pada array dapat langsung dideklarasikan. Pengisian elemen array secara langsung berguna bila pada elemen array yang bersangkutan tidak diisi dengan nilai baru. Bentuk umum inisialisasi adalah sebagai berikut:
type_data nama_array [jumlah_array_N] = {nilai1, nilai2,..., nilaiN}
Untuk lebih memahami inisialisasi elemen-elemen array, silahkan tuliskan contoh program dibawah ini.
51
7.3
Pencarian Nilai 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.
52
7.4
Array Karakter
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++.
Untuk
mempermudah
penulisan
dan
menghindari
kesalahan
penulisan
serta
memperingkas, maka karakter-karakter diatas dituliskan menjadi: char namaku [6] =”Hasya”
ukuran tipe data char adalah 1 byte, sehingga ukuran memori yang dibutuhkan untuk pendeklarasian diatas adalah 6 byte.
53 Untuk membuktikan aplikasi array karakter silahkan tulis contoh program dibawah ini:
7.5
Mengurutkan Array
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:
54
7.6
Array 2 Dimensi
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 multidimensi sering digunakan untuk melakukan proses perhitungan dengan menggunakan matriks.
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.
55
7.7
Inisialisasi Array 2 Dimensi
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:
56 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:
57 REFERENSI [1]
A. Kadir, Buku Pintar C++ untuk Pemula. 2012.
[2]
A. Pranata, “Pemerograman Borland C++.” Andi Offset, Yogyakartga.
[3]
http://andryfajar27.blogspot.com.
[4]
O. Reading, “www://cplusplus.com.” .