Professional Documents
Culture Documents
Daftar Isi Daftar Isi ........................................................................................................................ 1 BAB I .............................................................................................................................. 3 PENGENALAN C++ ..................................................................................................... 3 1.1 Include ....................................................................................................... 3
BAB II ............................................................................................................................. 6 VARIABEL DAN TIPE DATA ......................................................................................... 6 2.1 2.2 2.3 Variabel ..................................................................................................... 6 Deklarasi .................................................................................................... 7 Tipe Data ................................................................................................... 8
BAB III .......................................................................................................................... 13 OPERATOR DAN STATEMENT I/O............................................................................ 13 3.1 3.13 3.2 Operator .................................................................................................. 13 Operator Hubungan ................................................................................ 14 Statement I/O.......................................................................................... 19
BAB IV .......................................................................................................................... 20 KONDISI ................................................................................................................... 20 4.1 4.2 Pernyataan IF .......................................................................................... 20 Pernyataan Switch................................................................................... 22
BAB V ........................................................................................................................... 26 PENGULANGAN ....................................................................................................... 26 5.1 5.2 5.3 Pernyataan For ........................................................................................ 26 Pernyataan While .................................................................................... 27 Pernyataan do-while ............................................................................... 28
BAB I PENGENALAN C++ C++ adalah bahasa pemrograman komputer yang di buat oleh (Bjarne Stroustrup) merupakan perkembangan dari bahasa C dikembangkan di Bell Labs (Dennis Ritchie) pada awal tahun 1970-an, Bahasa itu diturunkan dari bahasa sebelumnya, yaitu BCL, Pada awalnya, bahasa tersebut dirancang sebagai bahasa pemrograman yang dijalankan pada sistem Unix, Pada perkembangannya, versi ANSI (American National Standart Institute) Bahasa pemrograman C menjadi versi dominan, Meskipun versi tersebut sekarang jarang dipakai dalam pengembangan sistem dan jaringan maupun untuk sistem embedded, Bjarne Stroustrup pada Bel labs pertama kali mengembangkan C++ pada awal 1980-an Setiap program C++ mempunyai bentuk umum seperti dibawah ini:
#prepocessor directive void main() { // Batang Tubuh Program Utama }
1.1
Include Adalah salah satu pengarah preprocessor directive yang tersedia pada C++. Preprocessor selalu dijalankan terlebih dahulu pada saat proses kompilasi terjadi. Bentuk umumnya:
#include <nama_file>
Script tersebut tidak diakhiri dengan tanda semicolon, karena bentuk tersebut bukanlah suatu bentuk pernyataan, tetapi merupakan preprocessor directive. Baris tersebut menginstruksikan kepada kompiler yang menyisipkan file lain dalam hal ini file yang berakhiran .h (file header) yaitu file yang berisi sebagai deklarasi, contohnya:
#include <iostream.h> Diperlukan pada program yang melibatkan objek cout. #include <conio.h> Diperlukan bila melibatkan clrscr(), yaitu perintah untuk
membersihkan layar. #include <iomanip.h> Diperlukan bila melibatkan setw() yang bermanfaat untuk mengatur lebar dari suatu tampilan data. #include <math.h> Diperlukan pada program yang menggunakan operasi sqrt() yang bermanfaat untuk operasi matematika kuadrat. 1.2 Fungsi Main() Fungsi ini menjadi awal dan akhir eksekusi program C++. Main adalah nama judul fungsi. Melihat bentuk seperti itu dapat kita ambil kesimpulan bahwa batang tubuh program utama berada didalam fungsi main(). Pembahasan lebih lanjut mengenai fungsi akan diterangkan kemudian. Yang sekarang ditekankan adalah kita menuliskan program utama kita didalam sebuah fungsi main(). 1.3 Komentar Komentar tidak pernah di-compile oleh compiler. Dalam C++ terdapat 2 jenis komentar, yaitu: /* Komentar anda */ Komentar dapat diletakkan di dalamnya dan dapat mengapit 2 atau lebih baris. //Komentar anda
Komentar dapat diletakkan setelah tanda //, namun hanya berguna untuk 1 baris saja. 1.4 Tanda Semicolon Tanda semicolon ; digunakan untuk mengakhiri sebuah pernyataan. Setiap pernyataan harus diakhiri dengan sebuah tanda semicolon. 1.5 Mengenal cout Pernyataan cout merupakan sebuah objek di dalam C++, yang digunakan untuk mengarahkan data ke dalam standar output (cetak pada layar). Contoh:
void main() { cout<<"Halo dunia!"; }
BAB II VARIABEL DAN TIPE DATA 2.1 Variabel 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 variabel bisa diubah-ubah sesuai kebutuhan. Untuk memperoleh nilai dari suatu variabel digunakan pernyataan penugasan (assignment statement), yang mempunyai sintaks sebagai berikut:
variabel = ekspresi;
Nama dari suatu variabel dapat ditentukan sendiri oleh program dengan aturan sebagai berikut: 1. Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa huruf. Bahasa C++ bersifat case-sensitive, yang artinya huruf besar dan kecil dianggap berbeda. Jadi antara nim, NIM, dan Nim dianggap berbeda. 2. Tidak boleh mengandung spasi. 3. Tidak boleh mengandung simbol-simbol khusus, kecuali garis bawah (underscore). Yang termasuk simbol 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, dll. Contoh penamaan variabel yang salah: %nilai_mahasiswa, 80mahasiswa, rata-rata, ada spasi, penting!, dll.
2.2
Deklarasi Deklarasi diperlukan bila kita akan menggunakan pengenal (identifier) dalam program. Identifier dapat berupa variabel, konstanta, dan fungsi. 2.2.1 Deklarasi Varabel Bentuk umumnya:
nama_tipe nama_variabel;
Contoh:
int x; //Deklarasi x bertipe integer char y, huruf, nim[10]; //Deklarasi variabel char float nilai; //Deklarasi variabel bertipe float double beta; //Deklarasi variabel bertipe double int array[5][4]; //Deklarasi variabel bertipe integer
Contoh:
#include <iostream.h> void main() { int n; n=66; //sama juga jika ditulis int n=66; cout<<n<<endll //n sebagai variabel cout<<"n"<<endl; //n sebagai karakter }
2.2.2 Deklarasi Konstanta Ada 2 tipe deklarasi konstanta, yaitu: 1. Menggunakan keyword const Contoh:
const float pi=3.14;
Berbeda dengan variabel, konstanta bernama tidak dapat dirubah jika telah diinisialisasi.
Keuntungan menggunakan #define apabila dibandingkan dengan const adalah kecepatan kompilasi, karena sebelum kompilasi dilaksanakan, kompiler pertama kali mencari simbol #define (oleh sebab itu mengapa # dikatakan preprocessor directive) dan mengganti semua pi dengan nilai 3.14. Contoh:
#include <iostream.h> #define pi 3.14 void main() { cout<<pi; //akan muncul 3.14 }
2.3
Tipe Data 2.3.1 Tipe Dasar Adalah tipe data yang dapat langsung dipakai. Daftarnya dapat dilihat pada tabel dibawah ini:
Tipe Dasar
Jangkuan Nilai
1 2 4
Float Double
4 8
6-7 15-16
Long Double
10
19
Perhatikan contoh dibawah ini, tipe data dapat dirubah (type cast) dengan cara dibawah ini:
float x = 3.345; int p = int(x);
Maka nilai P adalah 3 (terjadi truncating). Tipe data yang berhubungan dengan bilangan bulat adalah char, int, dan long. Sedangkan lainnya berhubungan dengan bilangan pecahan. Contoh:
#include <iostream.h> void main() { int n; cout<<n<<endl; //n sebagai variabel }
Outputnya adalah: 18125 Darimana angka diperoleh? Jika variabel diinisialisasi, namun nilai keluarannya diminta, maka kompiler dengan bijak akan menampilkan nilai acak yang nilainya tergantung dari jenis compilernya. 2.3.11 Karakter & String Literal String adalah gabungan dari karakter. Perbedaannya dengan tipe data char adalah mengenai penyimpanannya. Char menyimpan hanya beberapa karakter saja, sedangkan String dapat menyimpan banyak karakter, kata, dan kalimat sekaligus. Contoh:
string m="labrpl"; //menyimpan satu kata char n="l"; //menyimpan satu huruf
String Literal dengan fungsi strlen() memiliki fungsi sebagai penghitung panjang string. Fungsi strlen() dideklarasikan dalam file string.h. Jadi bila anda ingin menggunakan fungsi strlen(), maka preprocessor directive #include <string.h> harus dimasukkan dalam program diatas main(). Contoh:
#include <iostream.h> #include <string.h> void main() { cout<<strlen("Selamat Pagi.\n")<<endl; cout<<strlen("Selamat Pagi.")<<endl; cout<<strlen("Selamat")>>endl; cout<<strlen("S")<<endl; cout<<strlen("")<<endl; }
Outputnya: 14 13 7 1 0 Perhatikan, bahwa disetiap akhir baris pernyataan diakhiri dengan tanda titik-koma (semicolon) ;. Perhatikan juga bahwa: \n dihitung satu karakter. \n disebut newline karakter Endl juga merupakan newline karakter (sama fungsinya seperti \n). Dalam C++, selain \n terdapat juga beberapa karakter khusus yang biasa disebut escape sequence characters, yaitu: 2.3.1.2 Keyword & Identifier Dalam bahasa pemrograman, suatu program dibuat dari elemenelemen sintaks individual yang disebut token, yang memuat nama variable, konstanta, keyword, operator, dan tanda baca.
10
Karakter \0 \a \b \f \n \r \t \v \\ \ \ \? Contoh:
Keterangan Karakter ber-ASCII nol (karakter null) Karakter bell Karakter Backspace Karakter ganti halaman (fromfeed) Karakter baris baru (newline) Karakter carriage return ( ke awal baris) Karakter tab horizontal Karakter tab vertikal Karakter \ Karakter Karakter Karakter ?
#include <iostream.h> void main() { int n=66; cout<<n<<endl; //n sebagai variabel }
Output : 66 Program diatas memperlihatkan 15 token, yaitu main, (, ), {, int, n, =, 66, ;, cout, <<, endl, return, 0 dan } Token n adalah suatu variable Token 66,0 adalah suatu konstanta Token int, return dan endl adalah suatu keyword Token = dan << adalah operator Token(, ), {, ;, dan } adalah tanda baca Baris pertama berisi suatu prepocessor directive yang bukan bagian sebenarnya dari program
11
Latihan
Buatlah program dengan menggunakan define untuk menghitung volume Tabung (Rumus Volume Tabung : phi x jari-jari x jari-jari x tinggi) dan Luas Tabung (Rumus Luas tabung : 2 x phi x jari-jari x tinggi )dimana jari-jari 7 dan tinggi 24.
12
BAB III OPERATOR DAN STATEMENT I/O 3.1 Operator Operator adalah simbol yang biasa dilibatkan dalam program untuk melakukan sesuatu operasi atau manipulasi. 3.1.1 Operator Penugasan Operator Penugasan (Assignment operator) dalam bahasa C++ berupa tanda sama dengan (=). Contoh:
nilai = 80; a = x*y;
Penjelasan: Variabel nilai diisi dengan 80 dan variabel A diisi dengan hasil perkalian x dan y. 3.1.2 Operator Aritmatika Operator + * / % Penjumlahan Pengurangan Perkalian Pembagian Sisa Pembagian integer ( Modulus) Deskripsi Contoh C+S CS C*S C/S C%S
Tambahan: Operator seperti operasi negasi (~) disebut unary operator, karena membutuhkan hanya satu buahh operand. Operator % (modulus) digunakan untuk mencari sisa pembagian antara dua bilangan. Misalnya: 9%2 = 1
13
Contoh:
#include <iostream.h> #include <conio.h> void main() { int m=82,n=26; cout<<m<<" + "<<n<<" cout<<m<<" - "<<n<<" cout<<m<<" * "<<n<<" cout<<m<<" / "<<n<<" getch(); }
= = = =
Outputnya:
Karena tipe datanya adalah int, maka 82/26=3. Alasannya karena tipe data int tidak dapat menampung nilai pecahan maupun desimal. 3.13 Operator Hubungan Operator hubungan digunakan untuk membandingkan hubungan antara dua buah operand (sebuah nilai atau variabel). Operator hubungan dalam bahasa C++ yaitu sebagai berikut: Operator == Sama Keterangan dengan (Bukan O == P Contoh O sama dengan P
assigment) != > < >= Tidak sama dengan Lebih besar Lebih kecil Lebih dengan <= Lebih dengan kecil atau sama O <=P besar atau sama O != P O>P O<P O >=P O tidak sama dengan P O Lebih besar dari pada P O Lebih kecil dari pada P O lebih besar atau sama dengan P O lebih kecil atau sama dengan P
14
Contoh:
#include <iostream.h> #include <conio.h> void main() { int m=5,n=7; if(m==n) { cout<<m<<" sama dengan "<<n<<endl; } else if(m!=n) { cout<<m<<" tidak sama dengan "<<n<<endl; } else if(m>n) { cout<<" lebih besar dari "<<n<<endl; } else if(m<n) { cout<<" lebih kecil dari "<<n<<endl; } getch(); }
3.1.4 Operator Naik dan Turun (Increment dan Decrement) Operator Increment merupakan sebuah operator yang dapat menambahkan angka terus menerus dengan bantuan fungsi For, yang akan dibahas pada bagian perulangan. Sedangkan Operator Decrement merupakan sebuah operator yang dapat mengurangkan angka. Operator Increment ditandai dengan tanda ++ dan decrement dengan tanda . Contoh:
#include <iostream.h> #include <conio.h> void main() { int m=44,n=66; cout<<"m = "<<m<<", n = "<<n<<endl; ++m; --n; cout<<"m = "<<m<<", n = "<<n<<endl; m++; n--; cout<<"m = "<<m<<", n = "<<n<<endl; getch(); }
15
Output: m=44, n=66 m=45, n=65 m=46, n=64 Terlihat bahwa operator pre-increment dan post-increment memiliki akibat yang sama, yaitu manambah nilai satu pada m dan memasukkan nilai tersebut kembali ke m (m=m+1). Hal yang sama juga terjadi pada operator pre-decrement dan post-decrement yang memberikan akibat yang sama, yaitu mengurangi nilai satu dari n (n = n - 1). Tetapi bila digunakan sebagai sub-ekspresi, operator post-increment dan preincrement menunjukkan hasil yang berbeda. Contoh:
#include <iostream.h> #include <conio.h> void main() { int m=44,n; n=++m; cout<<"m = "<<m<<", n = "<<n<<endl; n=m++; cout<<"m = "<<m<<", n = "<<n<<endl; cout<<"m = "<<m++<<endl; cout<<"m = "<<m<<endl; cout<<"m = "<<++m<<endl; getch(); }
Outputnya:
Penjelasan : Dalam penugasan yang pertama, m adalah pre-increment, menaikkan nilainya menjadi 67, yang selanjutnya dimasukkan ke n. Dalam penugasan kedua, m adalah post-increment, sehingga 67 dimasukkan
16
dahulu ke n baru kemudian nilai m-nya dinaikkan, itu sebabnya mengapa nilai m = 68 dan n = 67. Dalam penugasan ketiga, m adalah post-increment, sehingga nilai m (= 68) ditampilkan dahulu ( ke layar ) baru kemudian nilai m dinaikkan menjadi 69. Dalam penugasan keempat, m adalah pre-increment, sehingga nilai m dinaikkan dahulu menjadi 70 baru kemudian ditampilkan ke layar. Supaya lebih paham, perhatikan pula contoh dibawah. Contoh:
#include <iostream.h> #include <conio.h> void main() { int m=5, n; n=++m * --m; cout<<"m="<<m<<"n="<<n<<endl; cout<<++m<<" "<<++m<<" "<<++m<<endl; getch(); }
Outputnya:
Penjelasan : Dalam penugasan untuk n, pertama kali m dinaikkan (++m) menjadi 6, kemudian m diturunkan kembali menjadi 5, karena adanya --m. Sehingga nilai m sekarang adalah 5 dan nilai m = 5 inilah yang dievaluasi pada saat penugasanperkalian dilakukan. Pada baris terakhir, ketiga sub-ekspresi dievaluasi dari kanan ke kiri.
17
3.1.5 Operator Bitwise (Logika) Operator << >> && || ^ ~ Keterangan Geser n bit ke kiri (left shift) Geser n bit ke kanan( right shift) AND OR XOR NOT Contoh C<<M C>>M C && M C || M C^M ~C
Operator Bitwise hanya bisa digunakan pada operand bertipe data int atau char. Berikut ini diberikan tabel kebenaran untuk operator logika. Contoh:
#include <iostream.h> #include <conio.h> void main() { int m=10,n=2; cout<<(m<<2)<<endl; cout<<(m>>2)<<endl; cout<<(m&n)<<endl; cout<<(m|n)<<endl; cout<<(m^n)<<endl; cout<<~m<<endl; getch(); }
Outputnya:
18
3.1.6 Operator Kondisi Operator kondisi digunakan untuk memperoleh nilai dari dua kemungkinan ungkapan1 ? ungkapan2 : ungkapan3 Bila nilai ungkapan1 benar, maka nilainya sama dengan ungkapan2, bila tidak maka nilainya sama dengan ungkapan3. Contoh:
#include <iostream.h> #include <conio.h> void main() { int m=26,n=82; int min=m<n?m:n; cout<<"Bilangan terkecil adalah "<<min<<endl; getch(); }
Penjelasan: Cara menggunakan operator kondisi adalah menentukan kondisi dengan bantuan operator hubungan. Pada contoh diatas adalah pada m<n. Kemudian tambahkan simbol ?. Kemudian aksi yang akan muncul pada m:n. Sehingga membentuk:
min=operand1<operand2?jika_benar:jikasalah;
3.2
Statement I/O Pada C++ terdapat 2 jenis I/O dasar, yaitu: a. Statemen Input adalah Statemen / fungsi yang digunakan untuk membaca data dari inputing device (keyboard/mouse), contoh : cout (character out) b. Statemen Output adalah Statemen yang digunakan untuk menuliskan data ke layar monitor, contoh : cin (character in).
19
BAB IV KONDISI Suatu Struktur dasar algoritma yang memiliki satu atau lebih kondisi tertentu dimana sebuah instruksi dilaksanakan jika sebuah kondisi/persyaratan terpenuhi. Ada beberapa bentuk struktur dasar pemilihan ini: 4.1 Pernyataan IF Sebuah pernyataan yang dapat dipakai untuk mengambil keputusan berdasarkan suatu kondisi. Bentuk pernyataan ini ada dua macam: IF saja, dan ELSE
Bentuk umumnya dari satu kasus dapat dilihat pada script berikut ini:
if (kondisi) Pernyataan;
Pernyataan dilaksanakan jika dan hanya jika kondisi yang diinginkan terpenuhi, jika tidak program tidak memberikan hasil apa-apa. Contoh:
#include <iostream.h> #include <conio.h> void main() { int usia; cout<<"Berapa usia anda: "; cin>>usia; if (usia<17) { cout<<"Anda tidak diperkenankan menonton"<<endl; } getch(); }
Penjelasan: Tampak bahwa kalau usia yang dimasukkan lebih dari atau sama dengan 17, program tidak menghasilkan apa-apa. Bentuk umumnya dari dua kasus dapat dilihat pada script dibawah ini:
20
Contoh:
#include <iostream.h> #include <conio.h> void main() { int usia; cout<<"Berapa usia anda: "; cin>>usia; if (usia<17) { cout<<"Anda tidak diperkenankan menonton"<<endl; } else { cout<<"Anda diperkenankan untuk menonton"<<endl; } getch(); }
Pernyataan1 dilaksanakan jika dan hanya jika kondisi yang diinginkan terpenuhi, jika tidak, lakukan pernyataan2. Jika Anda tidak mempergunakan pernyataan else program tidak akan error, namun jika anda mempergunakan pernyataan else tanpa didahului pernyataan if, maka program akan error. Jika pernyataan1 atau pernyataan2 hanya terdiri dari satu baris, maka tanda { } tidak diperlukan, namun jika lebih maka diperlukan. Bentuk umumnya dari banyak kasus dapat dilihat dibawah ini:
if(kondisi) { pernyataan1; pernyataan2; pernyataan3; } else { pernyataan4; pernyataan5; pernyataan6; }
21
Contoh:
#include <iostream.h> #include <conio.h> void main() { int m=166; if(m>1000) { cout<<m<<" lebih besar dari 1000\n"; } else { if(m>100) { cout<<m<<" lebih besar dari 100\n"; } else if(m>10) { cout<<m<<" lebih besar dari 10\n"; } } getch(); }
4.2
Pernyataan Switch Pernyataan swich adalah pernyataan yang digunakan untuk menjalankan salah satu pernyataan dari beberapa kemungkinan pernyataan, berdasarkan nilai dari sebuah ungkapan dan nilai penyeleksian. Pernyataan ifelse if jamak dapat dibangun dengan pernyataan switch.
22
Contoh:
switch (ekspresi) { case konstanta1: pernyataan1; break; case konstanta2: pernyataan2; break; case konstanta3: pernyataan3; break; case konstantaN: pernyataanN; break; default: pernyataanlain; }
Hal hal yang perlu diperhatikan adalah : 1. Dibelakang keyword case harus diikuti oleh sebuah konstanta, tidak boleh diikuti oleh ekspresi ataupun variable. 2. Konstanta yang digunakan bertipe int atau char 3. Jika bentuknya seperti diatas maka apabila ekspresi sesuai dengan konstanta2 maka pernyataan2, pernyataan3 sampai dengan
pernyataanlain dieksekusi. Untuk mencegah hal tersebut, gunakan keyword break;. Jika keyword break digunakan maka setelah pernyataan2 dieksekusi program langsung keluar dari pernyataan switch. Selain digunakan dalam switch, keyword break banyak digunakan untuk keluar dari pernyataan yang berulang ( looping ). 4. Pernyataan lain dieksekusi jika konstanta1 sampai konstantaN tidak ada yang memenuhi ekspresi.
23
Latihan: 1. Buatlah program untuk mencari apakah bilangan tersebut ganjil atau genap, dimana bilangan merupakan piranti masukkan 2. Buatlah program untuk menseleksi suatu bilangan dengan ketentuan sebagai berikut : 0<=nilai <30 : Nilai rendah 30<=nilai < 60 : Nilai sedang 60<=nilai<=100 : Nilai tinggi
24
3. Buatlah program dalam bentuk menu yang mampu menghitung : a. Luas dan Keliling Bujur sangkar b. Luas dan Keliling persegi panjang c. Luas dan keliling lingkaran
25
BAB V PENGULANGAN Sebuah / kelompok instruksi diulang untuk jumlah pengulangan tertentu. Baik yang terdifinisikan sebelumnya ataupun tidak. Struktur pengulangan terdiri atas dua bagian : 1. Kondisi pengulangan yaitu ekspresi boolean yang harus dipenuhi untuk melaksanakan pengulangan 2. Isi atau badan pengulangan yaitu satu atau lebih pernyataan (aksi) yang akan diulang. Perintah atau notasi dalam struktur pengulangan adalah : 1. Pernyataan for 2. Pernyataan while 3. Pernyataan do..while
5.1
Pernyataan For Pernyataan for digunakan untuk menghasilkan pengulangan(looping) beberapa kali tanpa penggunaan kondisi apapun. Pada umumnya looping yang dilakukan oleh for telah diketahui batas awal, syarat looping dan perubahannya. Pernyataan for digunakan untuk melakukan looping. Pada umumnya looping yang dilakukan oleh for telah diketahui batas awal, syarat looping dan perubahannya. Selama kondisi terpenuhi, maka pernyataan akan terus dieksekusi. Bentuk umumnya dapat dilihat pada script dibawah ini:
for (inisialisasi ; kondisi ; perubahan) { statement; }
26
Contoh:
#include <iostream.h> #include <conio.h> void main() { int i; for (i=1;i<=100;i++) { cout<<i<<" "<<endl; } getch(); }
5.2
Pernyataan While Pernyataan while merupakan salah satu pernyataan yang berguna untuk memproses suatu pernyataan atau beberapa pernyataan beberapa kali. Pernyataan while memungkinkan statemen-statemen yang ada didalamnya tidak diakukan sama sekali. Bentuk Umumnya :
while (kondisi) { pernyataan; }
Contoh:
#include <iostream.h> #include <conio.h> void main() { int i=0; while (i<10) { cout<<"C++"<<endl; i++; } getch(); }
Penjelasan: Program diatas digunakan untuk melakukan pengulangan tulisan sebanyak 10 kali.
27
5.3
Pernyataan do-while Pernyataan dowhile mirip seperti pernyataan while, hanya saja pada dowhile pernyataan yang terdapat didalamnya minimal akan sekali dieksekusi.
do { pernyataan; } while (kondisi);
Contoh:
#include <iostream.h> #include <conio.h> void main() { int i=0; do { cout<<"C++"<<endl; i++; } while (i<10); getch(); }
Latihan: 1. Buatlah program untuk mencetak deret 10 9 8 7 6 5 4 3 2 1 2. Buatlah program untuk mencetak (gunakan perulangan while dan for) **** *** ** *
28
BAB VI FUNGSI DAN PROSEDUR 6.1 Fungsi Function/fungsi adalah satu blok kode yang melakukan tugas tertentu atau satu blok instruksi yang di eksekusi ketika dipanggil dari bagian lain dalam suatu program. Keuntungan modularisasi program : 1. Menghindari penulisan teks program yang sama secara berulangkali 2. Kemudahan menulis dan menemukan kesalahan (debug) program Bentuk umum deklarasi fungsi:
Tipenilaibalik fungsi (tipepara, ) ;
Keterangan : - tipenilaibalik = Tipe nilai yang dikembalikan dengan statemen return. Tipe default nya : int. Untuk menyatakan fungsi yang tidak mengembalikan nilai balik, dideklarasikan sebagai : void - fungsi = nama fungsi tersebut - tipeparameter = Tipe parameter, bila parameter lebih dari satu (1), masing-masing dipisahkan dengan tanda koma ( , ) untuk menyatakan fungsi tanpa parameter dispesifikasikan : void. Bila tipe parameter tidak dispesifikasikan, defaultnya : void Fungsi harus dideklarasikan terlebih dahulu sebelum didefinisikan. Maksudnya adalah memberitahu compiler jumlah dan tipe parameter yang diterima dan nilai balik fungsi (bila ada) agar compiler dapat memeriksa ketepatannya. Definisi fungsi itu sendiri adalah menspesifikasikan tugas fungsi tersebut.
29
Contoh:
#include <iostream.h> #include <conio.h> int tambah (int a, int b ) { int r; r = a + b; return 0; } int main ( ) { int z ; z = tambah ( 5,3 ) ; cout << "Hasilnya = "<< z ; return 0 ; }
Dari bentuk umum tersebut, ada 3 poin penting yang perlu dijelaskan, yaitu: i. tipe_nilai_balik Menentukan tipe nilai yang diberikan oleh fungsi ketika fungsi dipanggil. Nilai balik ditentukan melalui pernyataan return. ii. nama_fungsi
30
iii.
parameter Digunakan untuk melewatkan nilai ke fungsi. Antar parameter dipisahkan oleh tanda koma (,). Jika tak ada parameter, judul fungsi berupa:
tipe_nilai_balik nama_fungsi()
Contoh:
long kuadrat(long x) { long hasil=x*x; return hasil; }
Manfaat yang bisa kita gunakan dalam fungsi dengan nilai balik adalah kita dapat melakukan cout terhadap hasil kerja dari fungsi tersebut dengan memanfaatkan nilai balik tersebut. Contohnya adalah pada program dibawah ini:
31
#include <iostream.h> #include <conio.h> int tambah(int a1, tambah int kurang(int b1, kurang main() { int a,b,t,k; clrscr(); cout<<"Masukkan cout<<"Masukkan int a2); //inisialisasi fungsi int b2); //inisialisasi fungsi
t=tambah(a,b); //memasukkan angka ke fungsi t k=kurang(a,b); //memasukkan angka ke fungsi k cout<<"Hasil tambah = "<<t<<"\n"; //akan muncul hasilnya cout<<"Hasil kurang = "<<k<<"\n"; //dari nilai yang dibalikkan getch(); } int tambah(int a1, int a2) //angka yang dimasukkan diproses { int tempT; tempT=a1+a2; return tempT; //hasil rumus akan dibalikkan ke fungsi } int kurang(int b1, int b2) { int tempk; tempk=b1-b2; return tempk; }
Jika anda menulis program tersebut, hasilnya akan sama dengan program sebelumnya. Namun yang membedakan adalah cara penulisan program. Di program ini, tiap rumus memiliki tubuh/bagian tersendiri dan terpisah. Sehingga untuk merubahnya sangat mudah, jika kita memiliki rumus penghitungan yang banyak. Perlu diingat, bahwa program C++ membaca program selalu dimulai dari main. Inisialisasi fungsi di awal diperlukan, karena sebagai Laboratorium Pemrograman dan RPL
32
pemberitahuan bahwa ada fungsi diluar dari main. Sehingga, saat eksekusi main, fungsi yang tertera di main akan dieksekusi, walaupun fungsi tersebut diluar dari main. 2. Fungsi tanpa Nilai Balik Fungsi dengan tipe void berarti tidak memiliki nilai balik. Contoh:
#include <iostream.h> #include <conio.h> void tulisSepuluhKali() { for (int x=0;x<10;x++) { cout<<"contoh penggunaan fungsi tanpa parameter"; } } int main() { clrscr(); tulisSepuluhKali(); return 0; }
Pada contoh diatas, kita memiliki sebuah fungsi void pada tulisSepuluhKali(). Disana, tidak ada statement return. Contoh lainnya supaya dapat lebih mengerti, dapat disimak pada Program A ini:
#include <iostream.h> #include <conio.h> void garis(int n); //void dengan paramater main() { clrscr(); garis(25); getch(); } void garis(int n) { int a; for (a=1; a<=n; a++) //batas ditentukan dari para cout<<'*'; cout<<'\n'; }
33
Program B:
#include <iostream.h> #include <conio.h> void garis(void); //void tanpa parameter main() { clrscr(); garis(25); getch(); } void garis(void) { int a; for (a=1; a<=25; a++) //batas dengan ketentuan cout<<'*'; cout<<'\n'; }
Kedua program tersebut akan menghasilkan hasil yang sama. Perbedaan dari kedua program tersebut adalah program A memiliki parameter pada fungsi tanpa nilai baliknya. Parameter tersebut digunakan sebagai pembantu dari looping for. Sedangkan pada Program B, program tersebut tidak memiliki parameter (void). Sehingga, untuk membantu program looping for, user harus memasukkannya ke program.
34
BAB VII ARRAY 7.1 Array Dalam beberapa istilah, array sering disebut sebagai larik. Array adalah kumpulan dari nilai-nilai data bertipe sama dalam urutan tertentu yang menggunakan sebuah nama yang sama. Nilai-nilai data di suatu array disebut dengan elemen-elemen array. Letak urutan dari elemen-elemen array ditunjukkan oleh suatu indeks. Bentuk umum dari variabel array dapat ditulis seperti dibawah ini:
nama_variabel[indeks]; //ketentuan int a[5]; //contoh
Pada contoh diatas, data yang dapat ditampung yaitu 10 data. Indeks array selalu dimulai dari angka 0. Sehingga pada kasus diatas, data yang tersimpan dimulai dari angka 0 hingga 9. 7.1.1 Array 1 Dimensi Contoh sebelumnya yang kita praktekkan sebelumnya yaitu merupakan array 1 dimensi. Cara diatas merupakan cara untuk melakukan inisialisasi. Jika ingin mengisi data, lakukan seperti dibawah ini:
int numbers[10]; int numbers[10] = {34, 27, 16}; int numbers[] = {2, -3, 45, 79, -14, 5, 9, 28, -1, 0}; char text[] = "Welcome to New Zealand."; float radix[12] = {134.362, 1913.248}; double radians[1000];
35
Contoh:
#include <iostream.h> #include <conio.h> main() { int a[5]={10,15,20,25,30}; int b[5]={10,20}; int c[5]={15,0,30}; int j; // Menampilkan nilai dari element array cout<<endl; for(j=0;j<5;j++) { cout<<"A ["<<j<<"] = "<<a[j]<<" , B ["<<j<<"] = "<<b[j]<<" , C ["<<j<<"] = "<<c[j]<<endl; } getch(); }
Outputnya:
7.1.2 Array 2 Dimensi Hampir sama dengan array 1 dimensi, yang membuat array 2 dimensi berbeda adalah daya tampung datanya. Jika di array 1 dimensi, kita perlu inisialisasi 1 angka untuk menunjukkan berapa data yang bisa dimasukkan. Di array 2 dimensi, kita bisa menginisialisasikan 2 angka. Bentuk umum dari array 2 dimensi adalah sebagai berikut:
tipedata nama_array[jmlh baris][jmlah kolom]; float bil[5][5];
Contoh diatas menunjukkan bahwa kita dapat mengisi data dari array 00, 01, 02, 03, 04, 10, 11 dan seterusnya. Sehingga, data yang diisi totalnya menjadi 5 x 5 = 25 data.
36
Contoh:
#include <iostream.h> #include <conio.h> main() { int matrix[3][3]; //inisialisasi awal int i,j; for(i=0;i<=2;i++) { for(j=0;j<=2;j++) { cout<<"Masukkan angka pada baris ke "<<i<<" kolom ke "<<j<<" : "; cin>>matrix[i][j]; } cout<<endl; } for(i=0;i<=2;i++) { for(j=0;j<=2;j++) { cout<<matrix[i][j]<<" "; } cout<<endl; } getch(); }
Outputnya:
37