Modul Pelatihan Bahasa C++ PAKSIMA 1. Sejarah dan Perkembangan C++ C adalah bahasa pemrograman yang bisa dikatakan berada antara bahasa tingkat rendah ( bahasa yang berorientasi kepada mesin) dan bahasa tingkat tinggi (bahasa yang berorientasi pada manusia). seperti diketahui, bahasa tingkat tinggi mempunyai kompatibilitas yang tinggi antar platform. Karena itu, amatlah mudah untuk membuat program pada berbagai jenis mesin. Berbeda halnya kalau menggunakan bahasa tingkat rendah, sebab setiap perintahnya sangat bergantung sekali pada jenis mesin. Pencipta C adalah Brian W. Kernighan dan Dennis M. Ritchie sekitar tahun 1972. C adalah bahasa pemrograman terstruktur, yang membagi program dalam bentuk sebuah blok. Tujuannya adalah untuk memudahkan pembuatan dan pengembangan program. program yang ditulis menggunakan C mudah sekali untuk dipindahkan dari satu jenis mesin kemesin lainnya. hal ini berkat adanya standarisasi bahasa C yaitu berupa standar ANSI (American National Standards Institute) yang dijadikan acuan oleh para pembuat kompiler C. C++ diciptakan satu dekade setelah bahasa c. bahasa ini diciptakan oleh Bjarne Stoustrup, Laboratorium Bell, AT&T, pada tahun 1983. bahasa ini bersifat kompatibel dengan bahasa pendahulunya , C. Pada mulanya C++ disebut "a better C". Nama C++ sendiri diberikan oleh Rick Mascitti pada musim panas 1983. Adapun tanda ++ berasal dari nama operator pernaikan pada bahasa c. C diambil sebagai landasan c++ lantaran sifat sportabilitas C, yang memungkinkannya diterapkan pada berbagai mesin., dari PC hingga mainframe, serta pada berbagai sistem operasi (DOS, Unix , VMS, dan sebagainya). keisitimewaan yang sangat berarti pada C++ adalah karena bahasa ini mendukung pemrograman yang berorientasi objek (PBO atau object oriented programing). Namun, sekali lagi c++ hanyalah bahasa yang bersifat hibrid, bukan bahasa murni yang berorientasi objek. Oleh karena itu, pemrograman c pada tahap awal dapat berpindah kejalur ke c++ sethap demi setahap. pustaka-pustaka yang dibangun dengan c tetap dapat dipakai pada c++, dibaurkan dengan program yang berbasis objek. Tujuan utama pembuatan c++ adalah untuk meningkatkan produktivitas pemrograman dalam membuat aplikasi. Saat itu, kebanyakan pakar setuju bahwa PBO dan C++ dapat mengurangi kempleksitas program, terutama pada program yang besar yang terdiri atas 10.000 baris atau lebih. Perry 1993 menyitir ungkapan para pelopor industri c++ yang pada intinya menyatakan c++ dapat meningkatkan produktivitas pemrograman lebih dua kali dibandingkan bahasa prosedural seperti c, pascal dan BASIC. Sumber: http://itekno89.blogspot.co.id/2015/11/sejarah-dan-perkembangan-c.html 2. Pengenalan c++ A. IDE IDE (Integrated Development Environment) adalah program komputer yang memiliki beberapa fasilitas yang diperlukan dalam pembangunan perangkat lunak. Tujuan dari IDE adalah untuk menyediakan semua utilitas yang diperlukan dalam membangun perangkat lunak. Sebuah IDE, atau secara bebas dapat diterjemahkan sebagai Lingkungan Pengembangan Terpadu, setidaknya memiliki fasilitas: Editor, yaitu fasilitas untuk menuliskan kode
Modul Pelatihan C++ - PAKSIMA KMTM UGM. ©rijalf7 - 2017
1
sumber dari perangkat lunak. Compiler, yaitu fasilitas untuk mengecek sintaks dari kode sumber kemudian mengubah dalam bentuk binari yang sesuai dengan bahasa mesin. Linker, yaitu fasilitas untuk menyatukan data binari yang beberapa kode sumber yang dihasilkan compiler sehingga data-data binari tersebut menjadi satu kesatuan dan menjadi suatu program komputer yang siap dieksekusi. Debuger, yaitu fasilitas untuk mengetes jalannya program, untuk mencari bug/kesalahan yang terdapat dalam program. Berbagai IDE yang terkenal adalah Microsoft Visual C++, Dev-C++, Eclipse IDE for C/C++ Developers, GNU C++ Compiler (GCC/G++), Code Block, dan lain-lain. B. Compiler Compiler merupakan perangkat lunak yang digunakan untuk merubah source code suatu bahasa pemrogramam menjadi native code/bahasa mesin agar dapat dieksekusi oleh komputer. Compiler berbeda dengan interpreter, dimana compiler harus meng-compile suatu source code menjadi file executable (*.exe, *.com, dan lain-lain), sementara interpreter akan langsung meng-interpret soure code untuk dieksekusi. Sehingga interpreter akan langsung mengeksekusi perintah-perintah yang ada di source code, tanpa harus menubah source code menjadi bentuk executable. C. Simple Program /*Program Hello World Ini merupakan contoh program untuk menampilkan pesan text dalam c++ */ #include //menggungakan library iostream using namespace std; //standarisasi c++ int main() { cout<<"Helo World"<<endl; return 0; }
•
Comment (//xxxxx, /*xxxx*/) Comment merupakan tulisan yang bukan merupakan program didalam source code. Ditulis dengan tanda /* xxxxxxx */ untuk multiline dan //xxxx untuk satu baris. Tujuan ditulisnya comment untuk mempermudah membaca program.
•
#include Baris ini ditujukan untuk melampirkan file header berupa iostream dimana didalam file tersebut terdapat fungsi-fungsi untuk mempermudah pemrograman.
•
using namespace std; memberitahukan pada compiler bahwa program yang tulis menggunakan namespace pada std (standar C++ Library). Dimana didalam std fungsi/class/object/konstanta standar seperti cout untuk menampilkan text dan dan menjalankan operasi operasi dasar lainnya.
Modul Pelatihan C++ - PAKSIMA KMTM UGM. ©rijalf7 - 2017
2
•
int main() Merupakan Fungsi main() dimana berisi kumpulan program yang dimulai dengan tanda “{“ dan diakhiri dengan “}”. Merupakan satu-satunya fungsi yang akan dieksekusi oleh program. Sehingga untuk dapat menjalankan fungsi-fungsi lain. maka fungsi lain tersebut harus dipanggil di dalam fungsi main().
•
cout<<"Helo World"<<endl; Cout merupakan perintah untuk mencetak tulisan, yang tercetak pada program ini adalah Hello World dan satu baris new line. Latihan: Cetak Nama, kota asal dan tanggal lahir Anda pada layar.
3. Variabel, Konstanta dan Tipe Data Dalam pemrograman semua disusun secara struktur, didalamnya terdapat variabel layaknya pada matematika, variabel merupakan peubah dimana nilainya dapat berubah ubah, sebagai contoh “X+Y = 10” “Mesin + kursi =10”. Nilai dari variabel Mesin, kursi, X, Y bisa berapapun. Variabel tidak selalu angka namun dapat berupa character atau huruf. Untuk itu didalam pemrograman terdapat tipe tipe data.
Modul Pelatihan C++ - PAKSIMA KMTM UGM. ©rijalf7 - 2017
3
•
Boolean Variabel dengan tipe data ini hanya berisi dua kemungkinan yaitu 1 dan 0 (True dan false).
•
Character Variabel dengan tipe data ini berisi character yaitu seperti huruf dan angka. Variabel ini tidak bisa dilakukan operasi matematika.
•
Integral Variabel dengan tipe data ini merupakan bilangan bulat, sebagai contoh variabel dengan tipe int merupakan bilangan bulat diantara -2147483648 hingga 2147483648.
Modul Pelatihan C++ - PAKSIMA KMTM UGM. ©rijalf7 - 2017
4
•
Floating Merupakan bilangan decimal (bisa terdapat koma)
Untuk membuat variabel yang harus dilakukan adalah mendeklarasikan tipe data diikuti dengan nama variabel tersebut. Ada beberapa aturan dalam penamaan variabel yaitu: • • •
Harus berawal dengan huruf atau underscore (“_”) Hanya boleh huruf (A-Z), angka (0-9) dan underscore (“_”). Karakter selain itu tidak diperbolehkan. Bisa digabung dipisahkan dengan koma jika tipe datanya sama; int a; int b; int c=100; int d=10; char z; int a, b, c=100, d=10;
Modul Pelatihan C++ - PAKSIMA KMTM UGM. ©rijalf7 - 2017
5
char z;
#include using namespace std; int sayaganteng; //deklarsi variabel dengan tipe data int int sayaganteng2 = 90; //deklarsi variabel dengan inisiasi nilai awal 90 int main() { sayaganteng = 100; //memberi nilai kepada variabel cout<<"Nilai ganteng satu adalah "<<sayaganteng<<" dan nilai ganteng dua adalah"<<sayaganteng2<<endl; }
Konstanta merupakan variabel yang nilainya tidak dapat diubah. Biasanya digunakan untuk data yang nilainya sudah pasti dan juga dideklarasikan di awal program. •
Penulisan dengan const. (diawali const lalu tipe data kemudian sama dengan nilainya) Const float phi = 3.14; Const float gravity = 9.81;
•
Penulisan dengan #define (tanpa sama dengan, ditulis di awal program) #define phi 3.14; #define gravity 9.81;
4. Operasi matematika dalam pemrograman Dalam pemrograman terdapat Operator-operator dibagi menjadi beberapa jenis yaitu operator assignment, operator aritmatika, operator gabungan, operator kenaikan dan penurunan, operator relasi dan kesetaraan dan lain-lain. •
Assignment Operator (“=”). Digunakan untuk memberikan nilai pada variabel contoh (Mesin = 100;) memberikan nilai pada variabel mesin dengan nilai 100.
•
Aritmatika. Operator + * / %
•
Nama Penjumlahan Pengurangan Perkalian Division Modulo
Kegunaan Melakukan Penjumlahan Melakukan Pengurangan Melakukan Perkalian Melakukan Pembagian Mencari Sisa Hasil Bagi
Gabungan
Modul Pelatihan C++ - PAKSIMA KMTM UGM. ©rijalf7 - 2017
6
Operator Keterangan += Penjumlahan -= Pengurangan *= Perkalian /= Pembagian %= Modulo (Sisa Hasil Bagi) Misal z += 10; sama dengan z = z + 10; atau nilai z dijumlahkan dengan 10 kemudian hasilnya disimpan kedalam varibel z. •
Increment dan Decrement Increment (++) merupakan penjumlahan variabel dengan angka 1. Sedangkan Decrement (--) sebalikanya. Cara penulisannya ditulis diakhir variabel tanpa pemisah(spasi). Penggunaan ini biasa dilakukan pada program yang melakukan pengulangan. Operator Setara Z++ Z=Z+1 Z-Z=Z-1
•
Relasi Operator ini menghasilkan tipe data boolean yang hanya mempunyai dua kemungkinan yaitu 1 (true) dan 0 (false) dengan membandingkan dua pernyataan. Operator == != >= <= >
•
Nama Sama dengan Tidak sama dengan Lebih besar dari sama dengan Lebih kecil dari sama dengan Lebih besar dari
Syarat Kebenaran Nilai ruas kiri sama dengan ruas kanan Nilai ruas kiri tidak sama dengan ruasn kanan Nilai ruas kiri lebih besar atau sama dengan ruas kanan Nilai ruas kiri lebih kecil atau sama dengan ruas kanan Nilai ruas kiri lebih besar dari ruas kanan
Operator Logika (dan, atau, negasi) Operator ini bekerja dalam tipe data boolean. Yaitu benar dan salah. And (&&) Benar jika keduanya benar a true true false false
b true false true false
a && b true false false false
Or (||) Benar jika salah satu benar a true true false false
b true false true false
a || b true true true false
Not/ Negasi/ Inverse (!) a !a Modul Pelatihan C++ - PAKSIMA KMTM UGM. ©rijalf7 - 2017
7
True false
False true
Contoh:
Kasus !( 1 || 0 ) !( 1 || 1 && 0 ) !( ( 1 || 0 ) && 0 )
Hasil 0 0 1
5. Dasar-dasar Input dan Output C++. Untuk mencetak tulisan pada layar digunakan perintah “cout” sedangkan untuk meminta input digunakan perintah “cin”. Dengan ditambah penulisan << atau >>. A. Cout<<””; #include using namespace std; int main() { cout<<"Saya cinta PAKSIMA"<<endl; cout<<"Saya cinta TEKNIK MESIN"<<endl; return 0; }
Kegunaan dari “endl” adalah menambah new line. Dan kegunaan “<<” untuk memisahkan tipe tipe yang akan dicetak misal antara variabel, direct value (angka, kalimat (“XXX”)) dan fungsi endl. Coba Run program diatas dan hilangkan tulisan “endl”. Contoh mencetak nilai dari variabel. #include using namespace std; int dragon28; //deklarsi variabel int main() { dragon28 = 999999; //memberi nilai kepada variabel cout<<"nilai variabel dragon28 adalah "<
• Escape Sequence Pada contoh diatas untuk mencetak new line (enter) diperlukan “endl”, menampilkan text dengan diawali tanda petik dua (“) lalu bagaimana jika kita ingin mencetak petik? Yaitu menggunakan escape sequace (“ \” “) dengan menambahkan garis miring.
Escape sequence adalah karakter karakter khusus yang tidak terlihat. Berikut adalah contoh escape sequence.
Modul Pelatihan C++ - PAKSIMA KMTM UGM. ©rijalf7 - 2017
8
Coba jalankan program dibawah ini: #include using namespace std; int main() { cout << "\nkalimat ini\t a terdapat\n\t\t banyak \"sekali\" escape sequence!\n"; return 0; }
Jadi ada cara untuk membuat new line selain menggunakan endl yaitu menggunakan escape sequence dengan menambahkan (“\n”) di dalam kalimat yang akan dicetak.
B. Cin>>namavariabel; Cin merupakan perintah yang meminta input, dibutuhkan suatu variabel untuk menyimpan hasil inputan dari perintah ini. Cara penulisannya dengan tanda >> dilajutkan nama variabel. #include using namespace std; int dragon28; //deklarsi variabel int main() { cout<<"masukan nilai variabel dragon28 : "; cin>>dragon28;
Modul Pelatihan C++ - PAKSIMA KMTM UGM. ©rijalf7 - 2017
9
cout<<"nilai variabel dragon28 adalah "<
Perintah cin juga bisa dilakuan untuk dua atau lebih variabel sekaligus. Untuk mengisi inputannya bisa dilakukan satu-satu atau dipisahkan menggunakan spasi. Coba program berikut untuk lebih jelasnya: #include using namespace std; int panjang, lebar, tinggi; //deklarsi variabel int main() { cout<<"program menghitung volume kubus"<<endl; cout<<"Masukan p , l ,t :"<<endl; cin>>panjang>>lebar>>tinggi; cout<<"Volume kubus adalah "<<panjang*lebar*tinggi; }
Latihan: • beri input sebuah angka integer. Kemudian cetak dilayar “angka yang Anda masukkan adalah X” dengan X adalah nilai yang di input • Buat program untuk menghitung Luas segitiga. • Buat program untuk menghitung luas alas tabung, volume tabung dan luas permukaan tabung. Gunakan phi=3.14 dengan menggunakan konstanta. 6. String pada C++. Sebelum membahas string, kita harus mengenal tipe data char. Perhatikan bahwa tipe data char hanya bisa menampung satu karakter. #include using namespace std; int main() { char kata1; cout<<"Masukkan Kata : "; cin>>kata1; cout<<endl<
Untuk dapat menampung lebih banyak karakter diperlukan char dalam bentuk array (array akan dibahas pada bab selanjutnya). Seperti contoh dibawah ini. Dimana 10 merupakan kapasitas tampungan karakter. #include using namespace std; int main() { char kata1[10]; cout<<"Masukkan Kata : "; cin>>kata1; cout<<endl<
Modul Pelatihan C++ - PAKSIMA KMTM UGM. ©rijalf7 - 2017
10
Dalam bahasa C++, terdapat tipe data string dimana tipe ini merupakan kumpulan karakter-karakter(data char) yang panjangnya tidak tertentu tergantung kapasias mesin. Karakter pada string bisa berupa huruf, angka, karakter khusus maupun unicode. Kelebihan String pada C++ yaitu karena sudah ada operasi pengolahan string. Penulisan text pada string diawali dan diakhiri dengan petik dua (“), berbeda dengan char yang diawali dan diakhiri dengan petik satu (‘). Untuk memakai tipe data string diperlukan sebuah library dengan menginclude kan file header #include<string>. #include #include<string> using namespace std; int main() { string kata1; cout<<"Masukkan Kata : "; cin>>kata1; cout<<endl<
Coba program jalankan program diatas, perhatikan bahwa cin akan gagal ketika kata yang Anda inputkan mengandung karakter tertentu seperti spasi, karakter setelah spasi tidak ikut terinput. Untuk mengatasinya kita menggunakan fungsi getline seperti contoh dibawah ini: #include #include<string> using namespace std; int main() { string kata1; cout<<"Masukkan Kata : "; getline(cin,kata1); cout<<endl<
Latihan: • Buat program menanyakan biodata(nama, tanggal lahir, kota asal). Kemudian tampilkan biodata tersebut.
Modul Pelatihan C++ - PAKSIMA KMTM UGM. ©rijalf7 - 2017
11
TUGAS (dikumpulkan via email paling lambat 2 hari sebelum pelatihan selanjutnya agar bisa dikoreksi, pengumpulan setelah h-2 tidak dikoreksi. ) 1. Sebutkan mana saja penamaan variabel yang salah dan jelaskan kesalahannya. A. X B. 9gag C. _varialbel_90 D. Bukanvariabel__2 E. Es krim_nusant*ra 2. Mengapa ada pembagian tipe-tipe data menjadi integer, float, char? 3. Sebutkan nilai dari variabel Z pada setiap barisnya pada program berikut: Int Z; Z=10; Z++; Z+=10; Z=Z++; 4. Ada sebuah data mengenai jumlah kendaraan yang diparkir di lingkungan DTMI pada siang hari. Tipe data apa yang sebaiknya dipakai? Apakah tipe data float dapat dipakai untuk kasus ini? Jelaskan! 5. Buat program untuk menghitung rongga volume balok yang tidak terisi oleh silinder, alas balok merupakan persegi. Dengan Tinggi, panjang dan Diameter sesuai permintaan yang di input. Tampilkan nama Anda pada layar dalam program tersebut.
Modul Pelatihan C++ - PAKSIMA KMTM UGM. ©rijalf7 - 2017
12