C++ adalah sebuah bahasa pemrograman yang memiliki banyak dialek, seperti bahasa orang yang banyak memiliki dialek. Dalam C++, dialek bukan disebabkan oleh karena si pembicara berasal dari Jepang atau Indonesia, melainkan karena bahasa ini memiliki beberapa kompiler yang berbeda. Ada empat kompiler umum yaitu : C++ Borland, C++ Microsoft Visual, C/386 Watcom, dan DJGPP. Anda dapat mendownload DJGPP atau mungkin saja anda telah memiliki kompiler lain.
Setiap kompiler ini agak berbeda. Setiap kompiler akan dapat menjalankan fungsi fungsi standar C++ ANSI/ISO, tetapi masing masing kompiler juga akan dapat menjalankan fungsi fungsi nonstandard (fungsi fungsi ini, agak mirip dengan ucapan yang tidak standar yang diucapkan orang diberbagai pelosok negeri. Sebagai contoh, di New Orleans kata median disebut neutral ground). Kadang kadang pemakaian fungsi nonstandard akan menimbulkan masalah pada saat anda hendak mengkompilasi kode sumber data (source code) (yaitu program berbahasa C++ yang ditulis oleh seorang programer) mempergunakan kompiler yang berbeda. Tutorial ini tidak terlepas dari masalah seperti itu.
Bila anda belum mempunyai sebuah kompiler, disarankan agar anda segera memiliki sebuah kompiler. Sebuah kompiler sederhana sudah cukup untuk dipergunakan oleh anda dalam mengikuti tutorial ini.
Bahasa pemrograman C++ adalah bahasa yang amat berbeda. Untuk kompiler C++ berbasis DOS, akan memerlukan beberapa kata kunci (keywords); keyword sendiri tidak cukup untuk difungsikan sebagai input dan output. Walau hampir semua fungsi dalam file library tampaknya bias diakses oleh header filenya. Coba kita lihat program sesungguhnya :

Marilah kita lihat elemen dari program diatas. Tanda #include adalah sebuah prosesor pengarah yang mengatakan kepada kompiler untukmeletakan kode dari header file iostream.h kedalam program. Dengan menyertakan header file, anda dapat mengakses banyak fungsi fungsi berbeda. Dalam contoh diatas, fungsi cout memerlukan file iostream.h. Pada baris berikutnya yang penting adalah int main(). Baris ini mengatakan kepada kompiler bahwa ada sebuah fungsi bernama main, yang mana fungsi itu mengembalikan sebuah integer, sehingga diberi tanda int. Tanda kurung ({ dan }) menandakan awal dan akhir fungsi dalam program diatas dan menghentikan kode lainnya. Jika anda memakai bahasa Pascal, anda akan mempergunakan perintah BEGIN dan END. Baris berikutnya dari program diatas agak aneh. Jika anda menulis sebuah program mempergunakan bahasa lain, anda akan mengetahui bahwa perintah print akan menampilkan text di layar monitor. Dalam bahasa C++ tidaklah demikian, pemakaian fungsi cout dipakai untuk menampilkan text di layar monitor anda. Itu juga memakai tanda atau symbol <;<; , yang diketahui sebagai operator pemasukan ( insertion operators). Tanda tersebut mengatakan kepada kompiler agar segera menghasilkan output sesuai dengan input anda. Tanda semicolon ditambahkan kedalam bagian akhir dari semua fungsi yang dipanggil dalam bahasa C++; tanda seterusnya memperlihatkan variable yang anda deklarasikan. Pada baris itu juga ada kode yang memerintahkan fungsi main kembali ke 0. Pada saat satu kali kembali diproses, itu dilakukan melalui system operasi. Sebagai catatan, pendeklarasian fungsi main yang tidak diinginkan memiliki proses kembali, dapa ditambahkan - void main() - dan biasanya itu berfungsi dengan baik; namun cara ini merupakan cara yang kurang baik. Tanda kurung terakhir berperan sebagai penutup agar fungsi dihentikan. Anda bias mencobamengoperasikan fungsi ini didalam sebuah kompiler. Anda dapat melakukan cut dan paste kode diatas kedalam sebuah file, dan menyimpannya sebagai file.cpp, dan kemudian anda buka file itu dari dalam kompiler anda. Jika anda memakai baris perintah kompiler seperti yang ada dalam Borland C++ 5.5, sebaiknya anda membaca dahulu instruksi kompiler tentang bagaimana cara melakukan kompilasi (how to compile). Comment atau komentar sering dipakai dalam penulisan program. Ketika anda mengatakan kepada kompiler bahwa sebuah bagian dari program anda adalah tex komentar, kompiler tidak akan memasukan itu sebagai perintah pemrograman. Untuk membua sebuah komentar dipergunakan tanda //, yang mengaakan kepada kompiler bahwa baris berikut adalah komentar, atau memakai tanda /* dan kemudian diakhiri tanda */ untuk menandai bahwa segala yang ada antara kedua tanda ini adalah komentar. Beberapa kompiler akan mengubah warna area komentar, tetapi beberapa kompiler lain tidak. Berhati hatilah dalam menulis program anda agar kode program anda tidak dianggap sebagai komentar oleh kompiler karena dapat mempengaruhi output program yang anda buat. Selanjutnya anda harus dapa menuliskan program sederhana untuk menampilkan informasi yang anda ketikan kedalamnya. Selain itu, program juga bisa dibuat untuk menerima input. Fungsi yang dipakai adalah cin, dan diikuti dengan tanda >>.Tentu saja sebelum anda mencoba menerima input, anda harus memiliki tempat penyimpan input. Dalam pemrograman, input dan data disimpan dalam variable. Ada beberapa jenis variable. Pada saat anda ingin mengatakan kepada kompiler sebuah variable yang anda deklarasikan, anda harus menyertakan tipe data dan nama dari variable itu. Beberapa cara dasar adalah dengan menuliskan include char, int, dan float.
Sebuah variabel char menyimpan sebuah karakter tunggal; variabel int akan menyimpan integer (bukan bilangan desimal), dan variables float akan menyimpan bilangan desimal. Setiap variable - char, int, dan float - merupakan sebuah kata kunci (keyword) yang and pergunakan pada saat anda mendeklarasikan sebuah variabel. Untuk mendeklarasikan sebuah variable anda memakai syntax type . Ini diijinkan untuk mendeklarasikan variable multiple dari jenis variable yang sama pada baris yang sama; masing masing variabelnya dipisahkan dengan tanda koma. Deklarasi sebuah variable atau sekelompok variabel dapat diikuti tanda semicolon (Catatan, tanda ini sama dengan yang diterapkan pada prosedur dimana anda akan memanggil sebuah fungsi).
Jika anda tidak memakai sebuah variable yang dideklarasikan sebelumnya. program anda tidak akan dapat dioperasikan (atau di run), dan anda akan menerima pesan error yang memberitahu anda bahwa anda telah melakukan kesalahan.Berikut adalah beberapa contoh deklarasi variable:
int x;
Walaupun anda boleh memiliki banyak variable dengan jenis yang sama, anda tidak dapat memiliki variable dengan nama yang sama. Begitu pula anda tidak dapat memiliki variable dan fungsi dengan nama yang sama.
Dibandingkan dengan bahasa pemrograman lain, C++ mempunyai beberapa kelebihan. Beberapa kelebihan bahasa C++ antara lain adalah :
1. Bahasa C++ tersedia hampir di semua jenis komputer.
2. Kode bahasa C++ dengan portabilitas dan fleksibilitas yang tinggi untuk semua jenis komputer.
3. Bahasa C++ hanya menyediakan sedikit kata-kata kunci (hanya terdapat 48 kata kunci).
4. Proses eksekusi program bahasa C++ lebih cepat. Dengan demikian, aplikasi yang dibuat dengan bahasa C++ akan menjadi aplikasi yang efisien dan kompetitif.
5. Dukungan pustaka fungsi dan kelas yang banyak sehingga memungkinkan pembuatan aplikasi makro.
6. C++ adalah bahasa yang terstruktur, dengan demikian akan lebih mendukung OOP.
7. Bahasa C++ termasuk bahasa tingkat menengah dan lebih dekat dengan bahasa mesin.
8. Kode program bersifat reuseable, sehingga dapat digunakan kembali pada project lain dengan hanya menggunakan library dan file header.
9. C++ dapat membuat aplikasi graphic processor berkualitas tinggi.
Tahun 1978, Brian W. Kerninghan & Dennis M. Ritchie dari AT & T Laboratories mengembangkan bahasa B menjadi bahasa C. Bahasa B yang diciptakan oleh Ken Thompson sebenarnya merupakan pengembangan dari bahasa BCPL ( Basic Combined Programming Language ) yang diciptakan oleh Martin Richard.
Sejak tahun 1980, bahasa C banyak digunakan pemrogram di Eropa yang sebelumnya menggunakan bahasa B dan BCPL. Dalam perkembangannya, bahasa C menjadi bahasa paling populer diantara bahasa lainnya, seperti PASCAL, BASIC, FORTRAN.
Tahun 1989, dunia pemrograman C mengalami peristiwa penting dengan dikeluarkannya standar bahasa C oleh American National Standards Institute (ANSI). Bahasa C yang diciptakan Kerninghan & Ritchie kemudian dikenal dengan nama ANSI C.
Mulai awal tahun 1980, Bjarne Stroustrup dari AT & T Bell Laboratories mulai mengembangkan bahasa C. Pada tahun 1985, lahirlah secara resmi bahasa baru hasil pengembangan C yang dikenal dengan nama C++. Symbol ++ merupakan operator C untuk operasi penaikan, muncul untuk menunjukkan bahwa bahasa baru ini merupakan versi yang lebih canggih dari C.
Sebenarnya bahasa C++ mengalami dua tahap evolusi. C++ yang pertama, dirilis oleh AT&T Laboratories, dinamakan cfront. C++ versi kuno ini hanya berupa kompiler yang menterjemahkan C++ menjadi bahasa C.
Borland International merilis compiler Borland C++ dan Turbo C++.Kedua compiler ini sama-sama dapat digunakan untuk mengkompilasi kode C++. Bedanya, Borland C++ selain dapat digunakan dibawah lingkungan DOS, juga dapat digunakan untuk pemrograman Windows.
Pada evolusi selanjutnya, Borland International Inc. mengembangkan kompiler C++ menjadi sebuah kompiler yang mampu mengubah C++ langsung menjadi bahasa mesin (assembly). Sejak evolusi ini, mulai tahun 1990 C++ menjadi bahasa berorientasi obyek yang digunakan oleh sebagian besar pemrogram professional.
Selain Borland International, terdapat beberapa perusahaan lain yang juga merilis
compiler C++, seperti Topspeed C++ dan Zortech C++.
b.Konsep Dasar Pemrograman C++
Bahasa C++ dikembangkan dari bahasa C oleh Bjarne Stroustrup pada awal 1980-an. Bahasa C++ memiliki sifat-sifat seperti inheritance dan overloading. Bahasa C++ menggunakan konsep pemrograman berorientasi objek (Object Oriented Programming).
Bahasa pemrograman C++ termasuk bahasa tingkat tinggi sama seperti bahasa Pascal (high level programming language) artinya bahasa yang dapat dimengerti oleh manusia tetapi tidak dapat dimengerti oleh mesin atau komputer. Sebaliknya bahasa tingkat rendah adalah bahasa yang dapat dimengerti oleh mesin tetapi tidak dapat dimengerti oleh manusia.
Bahasa tingkat tinggi ditulis oleh manusia dengan nama file yang ekstensi .CPP atau .C untuk bahasa C++ dan ekstensi .PAS untuk bahasa Pascal. Sedangkan bahasa tingkat rendah memiliki ekstensi .EXE yang diperoleh dengan mengkompilasi file CPP atau .PAS.
Agar bahasa tingkat tinggi dapat dimengerti oleh mesin, maka diperlukan penterjemah yang disebut Compiler. Compiler akan mengubah bahasa tingkat tinggi menjadi bahasa mesin. Karena itu, setiap bahasa pemrogram memiliki compiler. Dengan demikian, maka program yang dibuat manusia dapat bekerja dengan baik pada sebuah komputer.
Struktur Dasar Bahasa C++
{
Instruksi-instruksi /* Berisi perintah program */
1. # include : Fungsinya untuk mengaktifkan library atau pustaka bahasa c++ yang berisi daftar perintah-perintah bahasa C++ yang akan digunakan dalam program. Misalnya pustaka dengan nama conio.h harus diaktifkan jika kita menggunakan perintah clrscr() yang berfungsi menghapus layar. Jika tidak conio.h disebutkan pada #include, maka perintah clrscr() tidak dapat dikenali sebagai perintah yang benar.
2. Void main() : adalah nama fungsi utama dalam bahasa C++,. Setiap program dapat berisi beberapa fungsi tetapi fungsi dengan nama main() selalu ada. Fungsi main() didahui oleh kata kunci void artinya fungsi main() tidak mengembalikan sebuah nilai balik..
3. Tanda { Menandakan awal program dan tanda } Menandakan akhir program.
4. Instruksi : Berisi perintah-perintah yang akan dilakukan program.
c.Prinsip Kerja Program C++ :
#include . Baris tersebut bukanlah sebuah pernyataan, karena itu tidak diakhiri dengan tanda titik koma. Baris tersebut menginstruksikan kepada kompiler untuk menyisipkan file lain saat program dikompilasi. File-file pustaka berakhiran .h disebut file header, Misalnya file iostream.h perlu disertakan pada program yang menggunakan obyek cout. Karena file iostream.h berisi deklarasi yang diperlukan oleh cout dan berbagai obyek yang berhubungan dengan masukan dan keluaran pada stream.
· Penulisan perintah bersifat case sensitip, artinya huruf besar dan kecil dibedakan.
· Perintah-perintah dalam bahasa C++ tidak boleh ditulis dalam huruf besar, misalnya perintah yang salah : Main(), MAIN(), Printf, dll.
· Program C++ , minimal mengandung 1 fungsi utama yang bernama main(). Eksekusi program akan diawali dengan mengeksekusi fungsi main().
· Setiap fungsi terdiri atas satu atau beberapa pernyataan, untuk menyelesaiakan tugas khusus.
· Bagian pernyataan fungsi atau tubuh fungsi diawali dengan tanda kurung kurawal buka ({) dan diakhiri tanda kurung kurawal tutup (}).
· Semua karakter di dalam simbol /* dan */ atau setelah simbol garis miring ganda // akan diabaikan oleh compiler. Simbol tersebut digunakan untuk menuliskan komentar atau penjelasan baris program.
1. Pustaka stdio digunakan untuk mengaktifkan perintah printf dalam pustaka stdio.h. Jika tidak diaktifkan, maka akan terjadi kesalahan atau error pada perintah printf.
2. printf(“Teks”) : digunakan untuk mencetak teks di layar komputer
3. Simbol \n : perintah untuk memindahkan kursor ke baris berikutnya.
4. Komentar/ Keterangan : /* Komentar */
5. clrscr() : untuk membersihkan layar sebelum menampilkan teks.
6. getch() : perintah untuk menghentikan tampilan output program. Jika tidak digunakan, maka output program tidak akan tampak di layar karena langsung keluar dari program.
2.DEFENISI VARIABEL, LIBRARY, OPERATOR DAN MANIPULATOR
Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu nilai tertentu di dalam proses program. Berbeda dengan konstanta yang nilainya selalu tetap, nilai dari suatu variable bisa diubah-ubah sesuai kebutuhan. Untuk memperoleh nilai dari suatu variable digunakan pernyataan penugasan (assignment statement), yang mempunyai sintaks sebagai berikut :
Nama dari suatu variable dapat ditentukan sendiri oleh pemrogram dengan aturan sebagai berikut :
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.
Tidak boleh mengandung spasi.
Tidak boleh mengandung symbol-simbol khusus, kecuali garis bawah (underscore). Yang termasuk symbol khusus yang tidak diperbolehkan antara lain : $, ?, %, #, !, &, *, (, ), -, +, = dsb.
Panjangnya bebas, tetapi hanya 32 karakter pertama yang terpakai.
Contoh penamaan variabel yang benar : NIM, a, x, nama_mhs, f3098, f4, nilai, budi, dsb.
Contoh penamaan variable yang salah : %nilai_mahasiswa, 80mahasiswa, rata-rata, ada spasi, penting!, dsb
Deklarasi diperlukan bila kita akan menggunakan pengenal (identifier) dalam program. Identifier dapat berupa variable, konstanta dan fungsi.
Nama_tipe nama_variabel ;
int x; // Deklarasi x bertipe integer
char y, huruf, nim[10]; // Deklarasi variable bertipe char
float nilai; // Deklarasi variable bertipe float
double beta; // Deklarasi variable bertipe double
int array[5][4]; // Deklarasi array bertipe integer
Menggunakan keyword const
Contoh : const float PI = 3.14152965;
Berbeda dengan variable, konstanta bernama tidak dapat diubah jika telah diinisialisasi
Contoh : #define PI 3.14152965
Keuntungan menggunakan #define apabila dibandingkan dengan const adalah kecepatan kompilasi, karena sebelum kompilasi dilaksanakan, kompiler pertama kali mencari symbol #define (oleh sebab itu mengapa # dikatakan prepocessor directive) dan mengganti semua Phi dengan nilai 3.14152965.
b.library
Bahasa C++ adalah pengembangan dari bahasa C, salah satu bahasa pemprograman. Bahasa C++ pertama kali dikembangkan oleh Bjarne Stroustrup dari AT&T Bell Laboratories di tahun 1980-an. Lalu pada tahun 1983 hingga 1984 bahasa C++ dikembangkan lagi dengan menambahkan beberapa fitur yaitu virtual functions, function overloading, referensi dengan simbol &, konstan keyword, dan satu baris komentar dengan 2 tanda forward slashes (//).
Pada awalnya bahasa C++ bernama bahasa C with class sebelum akhirnya berubah nama pada tahun 1983. Disebut bahasa C with class karena C++ muncul sebagai bahasa C yang dilengkapi dengan fitur kelas. Dalam implementasinya untuk memecahkan masalah C++ akan membagi suatu obyek menjadi beberapa kelas dan menjelaskan setiap kelas yang sebelumnya merupakan anak kelas dari kelas tersebut. Di setiap kelas ini akan digambarkan mengenai keadaan obyeknya, anggota dan kemampuan setiap obyek di dalamnya. Nah, setelah setiap kelas dibuat, masalah akan diselesaikan satu per satu lewat kelas.
library di C++ biasanya di tandai dengan header dengan simbol # di depan nya
contoh #inlcude
Baris yang ditandai dengan simbol # disebut Preprocessor directive. Bertugas untuk mengarahkan prepocessor yang akan digunakan untuk membaca file header atau bisa dikatakan sebagai pengatur proses kompilasi. Ada beberapa Library dalam bahasa C++ yang sering digunakan, diantaranya seperti berikut :
yang merupakan singkatan dari "standard input / output header", adalah header yang berisi definisi makro, konstanta, dan deklarasi fungsi dan jenis yang digunakan untuk berbagai standard input dan output operasi
adalah header file yang digunakan untuk membuat teks antarmuka pengguna
adalah file header yang mendefinisikan makro menegaskan C preprocessor
adalah file header yang mendefinisikan fungsi untuk aritmatika kompleks
adalah header untuk deklarasi yang berfungsi mengklasifikasi karakter
adalah file header yang berfungsi melaporkan kondisi kesalahan melalui kode kesalahan.
adalah file header yang mengandung berbagai fungsi dan macro untuk memanipulasi lingkungan floating-point
adalah header yang berfungsi memperluas ke berbagai limit dan parameter dari jenis floating-point standar
file header berfungsi mendefinisikan beberapa macro untuk digunakan dengan fungsi printf dan scanf, serta fungsi untuk bekerja dengan jenis intmax_t.
adalah header yang mendefinisikan beberapa macro yang memungkinkan programmer untuk menggunakan C bitwise bahasa dan operator logika, yang, tanpa file header, tidak bisa cepat atau mudah diketik pada beberapa keyboard non-QWERTY internasional dan.
adalah file header dari perpustakaan standar bahasa pemrograman C yang mencakup definisi karakteristik dari jenis variabel umum
adalah pemrograman bahasa C file header, digunakan untuk tujuan lokalisasi
berisi prototype fungsi untuk pustaka matematika
berisi prototype fungsi untuk pemrosesan string
conio.h adalah file header pada pemrogramman C yang telah lama digunakan pada compiler berbasis MS-DOS untuk membuat antarmuka pengguna C. Conio.h tidak dijelaskan secara gamblang pada buku bahasa pemrogramman C dan bukan pula bagian dari librari standar C, ISOC juga tidak dibutuhkan oleh POSIX.
Header ini mendeklarasikan beberapa fungsi librari yang dimasukkan untuk melakukan "input dan output konsol" dari sebuah program. Kebanyakan kompiler bahasa C yang menargetkan UNIX dan Linux tidak memiliki header ini dan tidak menyediakan fungsi perpustakaan. Beberapa sistem embedded yang menggunakan perpustakaan conio-kompatibel.
Operator adalah operator sendiri berarti simbol khusus yang akan memberitahu kepada compiler untuk melakukan operasi aritmatika dan logika tertentu dalam c++ ada beberapa jenis operator terdiri dari
5.Operator Assignment(penugasan)
1. operator aritmatika
operator artimatika adalah operator yang
berfungsi untuk perhitungan matematika seperti pembagian,perkalian, penambahan,
pengurangan berikut adalah tabel dari operator aritmatika
Operator
|
Deskripsi
|
Contoh Penggunaan(A=10,B=20)
|
+
|
Menambahkan dua operan
|
A+B = 30
|
-
|
untuk operasi aritmatika pengurangan
|
B-A=10
|
*
|
untuk operasi aritmatika perkalian
|
A*B=30
|
/
|
untuk operasi aritmatika pembagian
|
B/A=0
|
%
|
Modulus Operator dan sisa setelah pembagian integer
|
B%A=0 (sisa bagi pembagian antara 20 / 10 = 0)
|
operator relasional merupakan sebuah operator yang bernilai true dan false. Untuk mengevaluasi antara 2 ekspresi, dapat digunakan operator Relasional. Hasil dari operator ini adalah nilai bool yaitu hanya berupa true atau false, atau dapat juga dalam nilai int, 0 untuk mereprensentasikan "false" dan 1 untuk merepresentasikan "true".
Operator
|
Deskripsi
|
Contoh Penggunaan(A=15,B=12)
|
==
|
digunakan untuk memeriksa apakah kedua nilai atau tidak. jika sama maka kedua kondisi benar
|
(A==B) false atau (0)
|
!=
|
digunakan untuk memerika apakah kedua sama atau tidak. jika tidak sama maka kedua kondisi benar
|
(A!=B) true atau (1)
|
>
|
Memeriksa apakah nilai operan kiri lebih besar dari nilai operan kanan, jika ya maka kondisi menjadi benar.
|
(A>B) true atau(1)
|
<
|
Memeriksa apakah nilai operan kiri kurang dari nilai operan kanan, jika ya maka kondisi menjadi benar.
|
(A
|
Memeriksa apakah nilai operan kiri lebih besar dari atau sama dengan nilai operan kanan, jika ya maka kondisi menjadi benar.
Memeriksa apakah nilai operan kiri kurang dari atau sama dengan nilai operan kanan, jika ya maka kondisi menjadi benar.
operator logika Operator ! equivalen dengan operasi boolean NOT, hanya mempunyai 1 operand, berguna untuk membalikkan nilai dari operand yang bersangkutan dan operator Logika && dan || digunakan untuk mengevaluasi 2 ekspresi dan menghasilkan 1 nilai akhir. mempunyai arti yang sama dengan operator logika Boolean AND dan OR.
Operator
|
Deskripsi
|
Contoh Penggunaan(A=0,B=0)
|
&&
|
melambangkan AND operator jika kedua angka berisi 1 dan 1 maka hasilnya true(benar)
|
(A&&B) false atau (0)
|
||
|
Melambangkan OR operator Jika salah satu dari dua operan adalah l, maka kondisi menjadi benar(true)
|
(A||B) true atau (1)
|
!
|
Melambangkan NOT operator, Jka kondisi benar, maka Logical operator NOT akan bernilai false(salah)
|
!(A&&B) true atau(1)
|
Operator Bitwise memodifikasi variabel menurut bit yang merepresentasikan nilai yang disimpan, atau dengan kata lain dalam representasi binary.
Operator
|
Deskripsi
|
&
|
Logika AND
|
|
|
LOGIKA OR
|
^
|
XOR
|
~
|
NOT
|
<<
|
SIFT LEFT(SHL)
|
>>
|
SIFT RIGHT(SHR)
|
5. Assigment operator(operator penugasan)
operator assigment(operator penugasan) di tandai dengan tanda("=")
Operator
|
Deskripsi
|
=
|
operator penugasan seerhana, untuk menetapkan nilai ari sisi operan kanan ke operan kiri
|
+=
|
tambahkan AND operator penugasan,menambahkan operan yang benar untuk operan kiri dan menetapkan hasil untuk operan kiri
|
-=
|
kurangi AND operator penugasan, itu mengurangi operan kanan dari operan kri dan menetapkan hasil untuk operan kiri
|
*=
|
kalikan AND operator penugasan, mengalihkan operan kanan dengan operan kiri dan menetapkan hasil untuk operan kiri
|
/=
|
Bagikan AND operator penugasan, membagi operan kiri dengan operan kanan dan menetapkan hasil untuk operan kiri
|
%=
|
Modulus AND operator penugasan, sisa bagi dengan menggunakan dua operan dan menetapkan hasil untuk operan kiri
|
<<=
|
shift kiri AND operator penugasan
|
>>=
|
shift kanan AND operator penugasan
|
&=
|
Bitwise AND operator penugasan
|
^=
|
bitwise XOR dan operator penugasan
|
|=
|
bitwise inclusive OR dan operator penugasan
|
operator Precedence operator yang didahulukan menentukan pengelompokan istilah dalam ekspresi. misal ada perintah perkalian dan penjumlahan maka akan didahulukan yang perkalian
Kategori
|
Operator
|
Associativity
|
Postfix
|
() [] -> . ++ - -
|
kiri ke kanan
|
Unary
|
+ - ! ~ ++ - - (type)* & sizeof
|
kanan ke kiri
|
Multiplicative
|
* / %
|
kiri ke kanan
|
Additive
|
+ -
|
kiri ke kanan
|
Shift
|
<< >>
|
kiri ke kanan
|
Relational
|
< <= > >=
|
kiri ke kanan
|
Equality
|
== !=
|
kiri ke kanan
|
Bitwise AND
|
&
|
kiri ke kanan
|
Bitwise XOR
|
^
|
kiri ke kanan
|
Bitwise OR
|
|
|
kiri ke kanan
|
Logical AND
|
&&
|
kiri ke kanan
|
Logical OR
|
||
|
kiri ke kanan
|
Conditional(kondisi)
|
?:
|
kanan ke kiri
|
Assignment(penugasan)
|
= += -= *= /= %=>>= <<= &= ^= |=
|
kanan ke kiri
|
Comma(koma)
|
,
|
kiri ke kanan
|
Operator
|
Description
|
Sizeof
|
size of operator digunakan untuk mengetahui ukuran dari memori
|
Condition ? X : Y
|
operator kondisi Jika Kondisi ini benar? maka kembali nilai X: jika nilai Y
|
,
|
Nilai seluruh ekspresi koma adalah nilai ekspresi terakhir dari daftar dipisahkan koma
|
. (dot) and -> (arrow)
|
digunakan untuk individual members of classes, structures, and unions.
|
Cast
|
digunakan untuk mengkonversi type data
|
&
|
pointer & digunakan untuk mengembalikan alamat dari variabel
|
*
|
opinter * digunakan untuk mengetahui alamat memor
|
Manipulator adalah fungsi pembantu yang memungkinkan untuk mengontrol input / output stream. Manipulator pada umumnya digunakan untuk mengatur tampilan layar. Contohnya untuk mengatur supaya suatu nilai ditampilkan dengan lebar 8 karakter dan diatur rata kiri terhadap lebar tersebut.
Dalam C++, terdapat beberapa manipulator yang merupakan fitur baru, yang baru ditambahkan. hal ini karena compiler C++ klasik (belum distandarisasi) tidak mendukung adanya manipulator. Adapun manipulator yang dimaksud disini adalah seperti yang terlihat pada tabel dibawah ini:
Manipulator
|
Kegunaan
|
Operasi
|
Boolalpha
|
Mengaktifkan flag
|
Input / Output
|
Dec
|
Mengaktifkan flag dec
|
Input / Output
|
Endl
|
Menampilkan baris baru dan membuat stream
|
Output
|
Ends
|
Menampilkan null
|
Output
|
Fixed
|
Mengaktifkan flag fixed
|
Output
|
Flush
|
Membuang stream
|
Output
|
Hex
|
Mengaktifkan flag hex
|
Input / Output
|
Internal
|
Mengaktifkan flag internal
|
Output
|
Left
|
Mengaktifkan flag left
|
Output
|
Noboolalpha
|
Mematikan flag boolalpha
|
Input / Output
|
Noshowbase
|
Mematikan flag showbase
|
Output
|
Noshowpoint
|
Mematikan flag showpoint
|
Output
|
Noshowpos
|
Mematikan flag showpos
|
Output
|
Noskipws
|
Mematikan flag skipws
|
Input
|
Nounitbuf
|
Mematikan flag unitbuf
|
Output
|
Nouppercase
|
Mematikan flag uppercase
|
Output
|
Oct
|
Mematikan flag oct
|
Input / Output
|
resetiosflags (fmtflags f)
|
Mematikan flag yang dituliskan (f)
|
Input / Output
|
Right
|
Mengaktifkan flag right
|
Output
|
Scientific
|
Mengaktifkan flag scientific
|
Output
|
setbase (int base)
|
Mengaktifkan basis base
|
Input / Output
|
setfill (int ch)
|
Mengisi karakter dengan ch
|
Output
|
setiodflags (fmtflags f)
|
Mengaktifkan flag yang dituliskan (f)
|
Input / Output
|
setprecision (int p)
|
Menentukan presisi digit
|
Output
|
setw (int w)
|
Menentukan lebar kolom
|
Output
|
Showbase
|
Mengaktifkan flag show base
|
Output
|
Showpoint
|
Mengaktifkan flag show point
|
Output
|
Showpos
|
Mengaktifkan flag showpos
|
Output
|
Skipws
|
Mengaktifkan flag skipws
|
Input
|
Unitbuf
|
Mengaktifkan flag unitbuf
|
Output
|
Uppercase
|
Mengaktifkan flag uppercase
|
Output
|
Ws
|
Mengabaikan karakter white-space
|
Input
|
Untuk menggunakan manipulator yang tercantum diatas sobat harus menyertakan file header dan . Pada kesempatan kali ini kita hanya akan membahas 10 fungsi manipulator yang disediakan oleh Dev-C++, antara lain: endl, ends, setw( ), dec( ), oct( ), hex( ), setbase( ), setfill( ), setprecision( ) dan setiosflags( ).
Tipe data adalah klasifikasi variabel untuk menentukan bentuk keadaan data yang akandisimpan dalam memori dan jenis operasi apa yang dapat dilakukan oleh variabel tersebut. variabel memiliki 3 jenis tipe data yaitu Variabel Numerik, Variabel Text dan Boolean.
Variabel Numerik : Memungkinkan kita untuk menyimpan data dalam bentuk bilangan. Variabel numerik dapat dibagi menjadi beberapa bagian yaitu : Bilangan Bulat (Integer int
), Bilangan Desimal Berpresisi Tunggal (Floating Point float
). Bilangan Desimal Berpresisi Ganda (Double Precision double
).
Variabel Text : memungkinkan kita untuk menyimpan data dalam bentuk Karakter. Bahasa Pemrograman C++ menyediakan beberapa tipe data dasar seperti char
(Character atau Karakter Tunggal) dan string
(Kumpulan Karakter).
Boolean : pada bahasa pemrograman C++ ditulis dengan penulisan bool
merupakan jenis memori yang dapat mewakili satu nilai dari dua pilihan yaitu 1
(True) atau 0
(False).
Tipe data yang umum digunakan :
Dari tipe data di atas bisa kita modifikasi menggunakan Modifiers Type untuk memberikan fungsi lebih kepada Variabel
Di bawah ini adalah tabel keterangan detail mengenai masing-masing Tipe Data termasuk Tipe Data yang menggunakan Tipe Modifikasi. keterangan cara penulisan dan mengenai seberapa besar memori yang akan digunakan untuk penyimpanan.Ketika kita sedang membuat variabel, kita sebenarnya sedang memesan memori untuk penyimpanan kepada komputer sebesar tipe data yang digunakan karena setiap tipe data memiliki besar memori yang berbeda.
Daftar Lengkap Tipe data C++
Function sizeof()
biasanya digunakan untuk mengetahui besar memori dari tipe data, variabel, obyek dan semua deklarasi yang dapat memakan memori pada komputer.Tetapi Untuk ukuran memori mungkin bisa bebeda-beda pada setiap komputer yang anda gunakan. Untuk melihat pasti ukuran memori setiap tipe data pada komputer anda, anda bisa menggunakan function sizeof()
untuk memeriksa besar memori yang dipakai.
a.
Fungsi dan Cara penggunaan macam-macam dasar Tipe Data
Boolean adalah salah satu tipe data yang dapat
memiliki nilai dari dua pilihan yaitu True 1 atau False 0 . Tipe data ini biasanya digunakan untuk
memberikan dan memastikan kebenaran dari sebuah operasi atau kondisi program.
1
bool daftar_variabel = inisialisasi;
1
bool pilihan=0; //contoh mendirikan variable Boolean dengan inisialisasi 0 =
false
Char adalah salah satu tipe data sembarang huruf, angka, dan simbol. Yang memungkinkan kita untuk memesan memori yang dapat menyimpan nilai dalam bentuk karakter tunggal seperti ‘a’, ‘$’ dan lain-lain.
1
char nama_variabel = inisialisasi ;
Integer adalah salah satu tipe data numerik yang memungkinakn kita untuk menyimpan data dalam bentuk bilangan bulat.
1
int daftar variable = inisialisasi;
Float
adalah salah satu tipe data Numerik yang memungkinkan untuk menyimpan nilai dalam memori bersifat bilangan pecahan atau real, maupun eksponensial.
1 float daftar_variabel=inisialisasi;
Contoh penulisan
1 float p=3,14;
Merupakan tipe data Text yang memungkinkan kita menyimpan nilai dengan bentuk text, kumpulan dari karakter.
1 string daftar_variabel
= inisialisasi;
1 string kalimat =
“selamat belajar di firinfoc.blogspot.com”;
void
adalah salah satu tipe data yang berarti “tidak ada” atau “tidak mempunyai tipe data”. Void masih di dalam katagori tipe data tetapi kita tidak bisa menggunakanya pada variabel biasa.void
biasanya digunakan pada function yang tidak mempunyai return value void myFunction()
, pada function parameter yang tidak mempunyai parameter void myfunction(void)
dan pada pointer void *myPointer;
4. Format Penulisan Variabel dan Konstanta
a.Format penulisan variabel
Bagaimana cara penulisan variabel dalam program pascal yang benar?
var namaVariabel
: tipedata
;
Untuk membuat variabel kita harus men-deklarasikan-nya sebelum main program dan sebuah variabel di dalam pascal harus ditulis sesuai dengan aturan berikut:
Karakter pertama harus berupa huruf
Karakter kedua dan seterusnya dapat berupa angka atau underscore ( _ )
Tidak boleh menggunakan spasi
Catatan: Hal ini berlaku untuk bahasa pemrograman lain.
Berikut contoh nama variabel yang benar:
Contoh penulisan variabel dalam bahasa pascal:
Sebagai catatan: anda dapat mendeklarasikan beberapa variabel sekaligus dengan menambahkan koma (,) selama tipe data variabel tersebut sama.
PENTING: Konsep ini berlaku untuk semua bahasa pemrograman.
Jika kita terjemahkan kedalam tulisan kode diatas berarti kita memberikan nilai ‘Damas’ kedalam variabel nama
dan 17 kedalam variabel umur
.
b. Format penulisan Konstanta
Di dalam pascal, sebuah konstanta hanya dapat diisi dengan tipe data dasar, yakni char, integer, real, boolean, serta tipe data string dan set. Penulisan nama konstanta juga mengkuti aturan penulisan identifier, yakni:
§ Karakter pertama harus berupa huruf.
§ Karakter kedua dan seterusnya bisa berupa huruf, angka, atau karakter underscore “_”.
§ Penulisan konstanta tidak boleh menggunakan karakter selain angka, huruf dan underscore. Kita tidak bisa menggunakan spasi, dan tanda-tanda khusus seperti *, +, -, &, %, $, #, atau @.
§ Maksimal panjang konstanta tergantung kepada compiler yang digunakan. Beberapa mendukung 32 karakter hingga 63 karakter.
§ Konstanta tidak bisa diubah nilainya sepanjang kode program.
Berbeda dengan variabel, konstanta harus diisi nilai pada saat deklarasi. Berikut format dasar penulisan konstanta:
Const
nama_kosntanta=nilai_konstanta;
Berikut contoh penulisannya di dalam kode program pascal:
Perhatikan bahwa pascal menggunakan tanda sama dengan ‘ = ’ untuk memberikan nilai kepada konstanta saat dideklarasikan (proses inisialisasi).
Setiap bahasa pemrograman tidak akan bisa digunakan secara fleksibel jika tidak memiliki perintah input. Perintah input adalah sebuah perintah dalam bahasa program yang mampu meneruskan nilai dari operator untuk diproses oleh komputer. Perintah input memerlukan perangkat keras input, biasanya adalah keyboard. Dalam Turbo C++, terdapat tiga perintah input yaitu scanf(), getche(), getch() dan gets().
Bentuk umum dari fungsi scanf() adalah sebagai berikut :
scan (“penentu format”,&namavariabel);
Penggunaan scanf() biasanya dikombinasikan dengan perintah printf(). Perintah printf() disini berfungsi sekedar menampilkan keterangan tentang apa yang harus diinputkan, sehingga operator bisa langsung mengerti harus memasukkan data apa. Untuk penentu format pada scanf(), dapat dilihat pada tabel berikut :
Tabel 3.3 Tabel Penentu Format scanf()
Selain itu, penggunaan scanf() juga harus menyertakan tanda ‘&’ pada awal nama variabel. Tanda ‘&’ disini befungsi sebagai operator alamat (address operator).
Jika terdapat beberapa proses input (memasukkan data) sekaligus, maka sebaiknya ditambahkan fungsi fflush(stdin); setelah fungsi scanf(). Fungsi fflush(stdin) berfungsi menghapus buffer di dalam alat I/O.
Scanf() juga bisa digunakan untuk menginputkan beberapa data sekaligus dalam satu baris asalkan jumlah dan tipe penentu format sesuai dengan variabel yang akan diinputkan. Data yang akan dimasukkan dapat dipisahkan dengan spasi, tab atau tanda pemisah lain seperti koma (,), garis hubung(-), atau titik dua(:). Pemisah data dalam input yang digunakan harus sama dengan pemisah data dalam scanf().
Fungsi input getche() memiliki sifat yang sedikit berbeda dari scanf(). Perbedaan tersebut antara lain :
1. Bila dalam scanf() jumlah karakter data yang diinputkan boleh bebas, maka dalam getche() hanya sebuah karakter yang bisa diterima.
2. Bila scanf() membutuhkan tombol RETURN/ENTER untuk mengakhiri input, maka dalam getche() tidak membutuhkannya. Input dianggap selesai begitu kita memasukkan satu karakter dan secara otomatis akan melanjutkan ke baris perintah berikutnya.
getche() merupakan singkatan dari get character and echo yang artinya ‘menerima sebuah karakter kemudian tampilkan’. Input yang diterima getche() akan disimpan ke dalam variabel karakter yang sebelumnya harus sudah dideklarasikan.
Satu-satunya perbedaan antara getche() dan getch() adalah getche()akan menampilkan karakter yang kita ketikkan, sedangkan getch() tidak akan menampilkan, melainkan hanya menyimpannya dalam memori saja, jadi apa yang kita ketikkan tidak akan muncul dilayar sebelum kita memberikan perintah untuk mencetak nilai tersebut.
Fungsi getch() dan getche() digunakan untuk membaca data karakter.
Karakter yang dimasukkan tidak perlu diakhiri dengan penekanan tombol enter.
Tidak memberikan efek pergantian baris secara otomatis
Jika menggunakan fungsi getch() karakter yang dimasukkan tidak akan ditampilkan pada layar sehingga sering digunakan untuk meminta inputan berupa password.
Sedangkan pada getche() karakter yang dimasukkan akan ditampilkan pada layar
Fungsi gets() digunakan untuk memasukkan data bertipe karakter dan tidak dapat digunakan untuk memasukkan data numerik.
Harus diakhiri dengan penekanan tombol enter
.Cursor secara otomatis akan pindah baris
Tidak memerlukan penentu format
Menangani standard input pada C++ dengan menambahkan overloaded operator extraction (>>) pada cin stream. Harus diikuti bengan variable yang akan menyimpan data. Contoh :
Contoh diatas mendeklarasikan variabel age dengan tipe int dan menunggu input dari cin (keyborad) untuk disimpan di variabel umur.
cin akan memproses input dari keyboard sekali saja dan tombol ENTER harus ditekan.
cin juga dapat digunakan untuk lebih dari satu input :
Dalam hal ini data yang di input harus 2, satu untuk variabel a dan lainnya untuk variabel b yang penulisannya dipisahkan dengan : spasi, tabular atau newline.
Perintah Output adalah perintah yang digunakan untuk mengeluarkan hasil proses komputer sehingga bisa dibaca oleh si pemakai (user). Adapun media yang digunakan untuk menampilkan hasil output tadi bisa berupa monitor atau dicetak ke kertas melalui printer. Salah satu fungsi untuk menampilkan output dalam Turbo C++ adalah :
Fungsi printf() digunakan untuk mencetak data baik berupa teks, numerik, konstanta maupun variabel.
Bisa dilihat dari contoh diatas, bahwa perintah printf() bisa diikuti dengan tanda %s, %f, %d dan lain-lain. Tanda % tersebut disebut dengan penentu format (format specifier) Fungsi printf() digunakan untuk menampilkan semua jenis data (numeric dan karakter)
Perintah lain untuk menampilkan output adalah dengan puts() dan putchar().
Fungsi puts() digunakan untuk menampilkan data string dan secara otomatis akan diakhir dengan perpindahan baris.
Fungsi putchar() digunakan untuk menampilkan sebuah karakter.berikut adalah contoh penggunaan putchar() dan puts()
Penggunaan cout stream dhubungkan dengan operator overloaded << (Sepasang tanda “less than”). Contoh :
cout << “Nama Saya Afandi”; // Tampilkan Output Nama Saya Afandi
cout << 1000; // Tampilkan angka 1000 pada layar
cout << x; // Tampilkan variabel x on pada layar
Operator << dikenal sebagai insertion operator, dimana berfungsi untuk menginput data yang mengikutinya. Jika berupa string, maka harus diapit dengan kutip ganda (“), sehingga membedakannya dari variable. Contoh
cout << “Hello”; // Tampilkan Hello pada layar
cout << Hello; // Tampilkan variabel Hello pada layar
Operator insertion (<<) dapat digunakan lebih dari 1 kali dalam kalimat yang sama, Contoh :
cout << “Hallo, ” << “nama ” << “Saya Afandi”;
Contoh diatas akan menampilkan Hallo nama Saya Afandi sentence pada layar monitor. Manfaat dari pengulangan penggunaan operator insertion (<<) adalah untuk menampilkan kombinasi dari satu variabel dan konstanta atau lebih, contoh :
cout << “Hello I am ” << age << ” years old and my zipcode is ” << zipcode;
Misalkan variable age = 24 dan variable zipcode = 90064 maka output yang dihasilkan :
Hello, I am 24 years old and my zipcode is 90064
cout << “Baris pertama \n “;
cout << “Baris kedua.\nBaris ketiga.”;
Selain dengan karakter new-line, dapat juga menggunakan manipulator endl, contoh :
cout << “Baris pertama” << endl;
cout << “Baris kedua” << endl;
6.Jenis Manipulator C++, Lengkap Contoh Program
endl adalah sebuah fungsi manipulator yang berguna untuk memasukkan karakter NewLine atau mengatur pindah baris, dengan kata lain fungsi manipulator ini serupa dengan "\n". Fungsi endlsangat dibutuhkan untuk piranti keluaran berupa file di disk. Untuk menggunakan manipulatorini, sobat harus menyertakan file header
Untuk lebih jelasnya, fungsi manipulator endl dapat dilihat pada program dibawah ini:
ends adalah sebuah fungsi manipulator yang berguna untuk menambah karakter null (nilai ASCII NOL) kederetan suatu karakter. Fungsi seperti ini seringkali diperlukan, misalnya untuk mengirim sejumlah karakter ke file di disk atau modem dan mengakhirinya dengan karakter NULL. Untuk menggunakan manipulator ini, sobat harus menyertakan file header
Contoh :
Pernyataan di atas mengirimkan 2 buah karakter (M dan D) serta sebuah karakter null. Pada layar, ends akan menimbulkan sebuah karakter kosong.
Untuk lebih jelasnya, fungsi manipulator ends dapat dilihat pada program dibawah ini:
setw( ) adalah sebuah fungsi manipulator yang berguna untuk mengatur lebar dari suatu tampilan data. Seandainya sobat akan menggunakan manipulator ini, sobat harus menyertakan file header . Bentuk umum penulisan setw() adalah sebgai berikut:
n = adalah nilai lebar tampilan data, yang bernilai integer.
Untuk lebih jelasnya, fungsi manipulator setw() dapat dilihat pada program dibawah ini:
d. dec( ), oct( ) dan hex( )
dec, oct dan hex adalah sebuah fungsi manipulator yang berguna untuk memunculkan data dalam bentuk hexadesimal (bilangan berbasis 16), oktal (bilangan berbasis 8) dan desimal (bilangan berbasis 10). Seandainya sobat akan menggunakan manipulator ini, sobat harus menyertakan file header .
Untuk lebih jelasnya, fungsi manipulator dec(), oct() dan hex() dapat dilihat pada contoh program dibawah ini:
setbase( ) adalah sebuah fungsi manipulator yang berguna untuk konversi bilangan desimal, oktal dan hexadesimal. Seandainya sobat akan menggunakan manipulator setbase(), sobat harus menyertakan file header . Bentuk penulisannya setbase() adalah sebgai berikut:
Untuk lebih jelasnya, fungsi manipulator setbase( ) dapat dilihat pada contoh program dibawah ini:
setfill( ) adalah sebuah fungsi manipulator yang berguna untuk menampilkan suatu karakter yang diletakkan didepan nilai yang diatur oleh fungsi setfill(). Untuk menggunakan manipulator setfill(), sobat harus menyertakan file header . Bentuk penulisannya setfill() adalah sebgai berikut:
setfill(charakter);
Untuk lebih jelasnya, fungsi manipulator setfill( ) dapat dilihat pada contoh program dibawah ini:
setprecision( ) adalah sebuah fungsi manipulator yang berguna untuk mengatur jumlah digit desimal yang ingin ditampilkan. biasanya setprecision() digunakan jika sobat bekerja dengan menggunakan bilangan pecahan, dengan setprecision() sobat dapat mengatur jumah digit pecahan yang ingin ditampilkan, Untuk menggunakan manipulator setprecision(), sobat harus menyertakan file header
Untuk lebih jelasnya, fungsi manipulator setprecision( ) dapat dilihat pada contoh program dibawah ini:
setiosflags( ) adalah sebuah fungsi manipulator yang dipakai untuk mengatur berbagai format keluaran data, Untuk menggunakan manipulator setiosflags(), sobat harus menyertakan file header . Terdapat berbagai format keluaran (outout) untuk fungsi setiosflags(), diantaranya adalah sebagai berikut:
Tebel Tanda format untuk menampilkan setiosflags() dan resetiosflags()
Tanda Format
|
Keterangan
|
ios::right
|
Menyetel rata kanan pada lebar field yang diatur melalui setw()
|
ios::left
|
Menyetel rata kiri pada lebar field yang diatur melalui setw()
|
ios::fixed
|
Memformat keluaran dalam bentuk notasi decimal
|
ios::scientific
|
Memformat keluaran pada notasi eksponensial
|
ios::oct
|
Memformat keluaran pada basis 8 (oktal)
|
ios::hex
|
Memformat keluaran pada basis 16 (heksadesimal)
|
ios::dec
|
Memformat keluaran pada basis 10 (desimal)
|
ios::uppercase
|
Memformat huruf dalam notasi heksadesimal pada bentuk huruf capital
|
ios::showpoint
|
Menampilkan titik desimal dalam bilangan pecahan yang tidak mempunyai bagian pecahan
|
ios::showbase
|
Menampilkan awalan 0x bagi bilangan heksadesimal atau 0 (nol) bagi bilangan octal
|
ios::showpos
|
Untuk menampilkan tanda + pada bilangan positif
|
Untuk lebih jelasnya, fungsi manipulator setiosflags( ) yang menggunakan tanda format ios::left dan ios::right dapat dilihat pada contoh program dibawah ini:
7.PERCABANGAN IF ELSE DA SWICTH
Salah satu strukur kontrol dalam bahasa pemrograman c++ yang akan kita bahas adalah konsep percabangan. Idenya, kita akan belajar membuat program pengambil keputusan.
Sebelum itu, mari kita lihat pengertian dari percabangan terlebih dahulu:
Percabangan merupakan pemilihan statemen yang akan dieksekusi dimana pilihan tersebut didasarkan atas kondisi tertentu untuk mengarahkan jalannya program.
Dalam kehidupan sehari-hari terkadang kita dihadapkan pada kondisi dimana kita harus memilih suatu tindakan. Sebagai contoh ketika anda ingin menonton film di bioskop.
- Jika anda memiliki tiket, maka anda boleh masuk untuk menonton film.
Nah, disana ada sebuah kondisi yang harus terpenuhi yaitu memiliki tiket
.
Artinya jika anda tidak memiliki tiket (kondisi = FALSE) maka anda tidak diperbolehkan untuk menonton film di bioskop. Kurang lebih itulah contoh nyata konsep percabangan.
Intinya selama kondisi terpenuhi maka program akan dijalankan.
Begitu juga dalam membuat program, kita akan sedikit banyak berurusan dengan pilihan. Disini kita akan mengenal dua fungsi percabangan yaitu if else
dan switch case
.
a. If Else
Berikut ini merupakan contoh program C++ sederhana menggunakan fungsi if else
:
Mari kita bahas satu persatu:
Apabila variabel X
bernilai 1 maka program akan mencetak “Anda pesan nasi goreng”, jika tidak (selain angka 1) maka program akan mencetak “anda memesan nasi kucing”.
Mari kita lihat struktur dari fungsi If-else
pada C++.
Secara sederhana, fungsi if dapat ditulis seperti berikut:
//kode yang dijalankan jika bernilai benar
//kode yang dijalankan jika salah
}Jadi cara kerjanya seperti ini: Jika kondisi bernilai benar (TRUE) maka statement1
akan dijakanlan, sedangkan jika bernilah salah (FALSE) maka statemen2
yang dieksekusi.
b.Switch Case
Switch adalah konsep percabangan yang digunakan untuk menyelesaikan sebuah masalah dengan sejumlah kemungkinan dengan kondisi konstan.
Namun pada dasarnya memiliki fungsi yang sama dengan percabangan if else
.
Lalu apa yang membedakan kedua sintaks tersebut dan kapan anda menggunakan fungsi switch atau sebaliknya? Mari kita lihat strukur peercabangan switch case.
Secara sederhana peryataan switch
dapat ditulis sebagai berikut:
Mari kita pelajari bagaimana cara kerja program switch.
Peryataan switch
mengevaluasi kondisi dan memeriksa apakah sama dengan constant1
. Jika ya, maka statements-1
akan dieksekusi hingga kode break;
Jika tidak maka switch
akan memeriksa terhadap constant2
dan seterusnya hingga kondisi terpenuhi dan mengeksekusi program sesuai konsisi tersebut.
Namun, jika nilai kondisi tidak sesuai dengan konstanta yang telah ditentukan sebalumnya, maka program akan mengeksekusi peryataan default
.
Catatan: Saat menemukan pernyataan break
, maka program akan beralih ke akhir keseluruhan pernyataan switch
(tanda “}” ) tanpa mengeksekusi baris dibawahnya.
Sedangkan keyword default akan bekerja jika semua kondisi tidak terpenuhi.
Berikut contoh sederhana program percabangan pada C++ menggunakan switch case:
Disini saya menggunakan dua variabel, pertama variabel pilihan
dengan tipe data integer yang akan kita gunakan sebagai kondisi pada peryataan switch
.
Yang kedua variabel text
dengan tipe data string yang akan kita gunakan untuk menyimpan tulisan sesuai pilihan kita sebelumnya.
Masuk ke pokok pembahasan kita kali ini, disini saya akan mengevalusi kondisi (pilihan) dengan konstanta 1-3 menggunakan fungsi switch case.
Namun apabila kondisi tidak terpenuhi maka fungsi default akan dieksekusi yaitu menuju ke indetifier ulangi: dan kita akan memasukan pilihan lagi.
Sebagai contoh: apabila anda memasukan angka 2, maka tulisan yang akan muncul adalah “Anda memilih pemrograman C++”.
Namun jika angka yang anda masukan bukan 1, 2, dan 3 maka program akan menuju identifier ulangi: karena kondisi default diberi fungsi goto ulangi.
Studi Kasus - Sekarang anda sudah mengetahui apa itu switch case dan bagaimana stuktur penulisannya, anda juga telah mengetahui apa fungsi break dan default.
Sebagai studi kasus, disini saya akan memberikan contoh program “NPM (Nomor Pokok Mahasiswa) Generator” menggunakan peryataan switch dalam bahasa c++.
Dalam program diatas saya sengaja tidak menggunakan fungsi default
sehingga bisa saja anda memasukan angka diluar nilai yang tersedia.
Tugas anda adalah memperbaiki program tersebut, sebagai petunjuk silahkan gunakan peryataan switch
didalam switch (nested switch case).
8. Perulangan
Perulangan adalah suatu proses eksekusi statemen-statemen dalam sebuah program secara terus-menerus sampai terdapat kondisi untuk menghentikannya. Operasi perulangan / looping selalu dijumpai didalam berbagai bahasa pemrograman, hal tersebut karena struktur perulangan akan sangat membantu dalam efisiensi program.
Dalam C++ terdapat 3 macam struktur perulangan, yaitu : Struktur For, Struktur While dan Struktur Do While. Pada kesempatan kali ini kita akan membahas mengenai 3 macam struktur perulangan tersebut lengkap dengan contoh program beserta penjelasannya, dimana contoh program kami buat menggunakan IDE Dev-C++.
Sebelum kita membahas 3 macam perulangan, pertama-tama kita pelajari terlebih dahulu konsep perulangan secara mendasar dengan memperhatikan program dibawah ini:
Maksud dari program diatas adalah untuk menampilkan teks "Belajar C++ Bareng Firinfoc.blogsopt.com" sebanyak sepuluh kali. Apabila ditinjau dari hasilnya, program diatas memang benar tetapi secara algoritma hal tersebut jelas salah karena tidak efisien, terutama dari segi besarnya ukuran program yang dibuat. Mungkin untuk 10 kali perulangan kita belum melihat bahwa program tersebut tidak efisien, namun bagaimana jika kita ingin menampilkan teks diatas sebanyak 1000 kali? Jika kita menggunakan cara diatas, tentu waktu dan tenaga kita akan terbuang sia-sia. Maka dari itu, dalam menghadapi kasus-kasus seperti ini, kita harus menggunakan struktur perulangan.
Namun untuk melakukan perulangan statemen kita harus mengenal dengan baik aturan-aturan yang terdapat di dalam setiap jenis perulangan sehingga kita dapat terhindar dari kesalahan-kesalahan yang tidak diinginkan, berikut penjelasan dari 3 macam struktur perulangan yang terdapat dalam bahasa C++
a. Macam Struktur Perulangan C++, Lengkap Contoh Program
1. Struktur Perulangan For
Struktur perulangan / pengulangan jenis for biasanya digunakan untuk melakukan perulangan yang telah diketahui banyaknya. Biasanya jenis perulangan for dianggap sebagai jenis perulangan yang paling mudah dipahami.
Untuk melakukan perulangan dengan menggunakan struktur perulangan for, kita harus memiliki sebuah variabel sebagai indeksnya. Namun perlu sekali untuk diperhatikan bahwa tipe data dari variabel yang akan digunakan sebagai indeks haruslah tipe data yang mempunyai urutan yang teratur, misalnya tipe data int (0,1,2, ... ) atau char ('a' , 'b' , 'c' , ... ).
Adapun bentuk umum dari struktur perulangan for adalah seperti yang tampak dibawah ini:
// Untuk perulangan yang sifatnya menaik (increment)
// Pastikan nialai awal < kondisi saat berjalan
for(variabel = niali_awal ; kondisi_saat_berjalan ; variable++)
Statemen_yang_akan_diulang;
// Untuk perulangan yang sifatnya menurun (decrement)
// Pastikan nialai awal > kondisi saat berjalan
for(variabel = nilai_awal ; kondisi_saat_berjalan ; variable--)
Statemen_yang_akan_diulang;
Sebagai catatan bahwa jika kita melakukan perulangan yang sifatnya menaik (increment) maka nilai awal dari variabel yang kita definisikan haruslah lebih kecil dari nilai akhir yang dituliskan dalam kondisi (kondisi saat berjalan). Sebaliknya jika kita akan melakukan perulangan yang sifatnya menurun (decrement) maka nilai awal harus lebih besar dari nilai akhir.
2. Struktur Perulangan While
Struktur perulangan while adalah perulangan yang melakukan pemeriksaan kondisi di awal blok perulangan. Kita tahu bahwa perulangan hanya akan dilakukan jika kondisi yang didefinisikan terpenuhi (jika kondisi bernilai benar). Hal ini berarti jika kondisi yang didefinisikan tidak terpenuhi (bernilai salah) maka statemen-statemen yang terdapat dalam blok perulangan pun tidak akan pernah dieksekusi oleh program.
Perlu diperhatikan juga bahwa untuk melakukan perulangan dengan menggunakan struktur while, kita harus behati-hati dalam menentukan inisialisasi nilai awal dan memanipulasi nilai tersebut supaya perulangan dapat berhenti sesuai dengan yang diinginkan. Bagi programmer pemula, hal ini biasanya sering terlupakan sehingga perulangan akan dilakukan secara terus-menerus karena kondisi yang didefinisikan selalu bernilai benar. Berikut ini contoh program yang akan melakukan perulangan secara terus menerus karena tidak adanya statemen untuk menghentikan perulangan.
3. Struktur Perulangan Do-While
Berbeda dengan struktur while yang melakukan pemeriksaan kondisi di awal blok perulangan, pada struktur do-while kondisi justru ditempatkan di bagian akhir. Hal ini tentu menyebabkan struktur perulangan do-while minimal akan melakukan satu kali proses eksekusi statemen yang akan diulang walaupan kondisi yang didefinisikan tidak terpenuhi (bernilai salah).
Dalam menggunakan struktur perulangan do-while kita harus lebih teliti dan berhati-hati saat mendefinisikan kondisi yang terdapat di dalamnya. Untuk mendapatkan materi yang lebih lengkap mengenai Struktur Perulangan For, While dan Do-While.
Itulah Teori Dasar Pemograman C++ yang admin tulis berdasar berbagai sumber dan pengalaman pribadi
TERIMAKSIH SUDAH MEMBACA :)