You are on page 1of 38

MODUL ALGORITMA DAN PEMROGRAMAN

By: Laboratorium Pemrograman dan RPL

Institut Teknologi Nasional Malang

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 VI .......................................................................................................................... 29 FUNGSI DAN PROSEDUR ......................................................................................... 29 6.1 Fungsi ...................................................................................................... 29

Laboratorium Pemrograman dan RPL

BAB VII ......................................................................................................................... 35 ARRAY ...................................................................................................................... 35 7.1 Array ........................................................................................................ 35

Laboratorium Pemrograman dan RPL

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:

Laboratorium Pemrograman dan RPL

#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

Laboratorium Pemrograman dan RPL

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!"; }

Tanda << merupakan sebuah operator yang disebut operator penyisipan/peletakan.

Laboratorium Pemrograman dan RPL

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.

Laboratorium Pemrograman dan RPL

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.

Laboratorium Pemrograman dan RPL

2. Menggunakan #define Contoh:


#define pi 3.14

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

Ukuran Memory (byte)

Jangkuan Nilai

Jumlah digit Presisi

Char Int Long

1 2 4

-128 hingga +127 -32768 hingga +32767 -2.147.438.648 hingga 2.147.438.647

Float Double

4 8

3,4E-38 hingga 3,4E38 1,7E-308 hinnga 1,7E308

6-7 15-16

Laboratorium Pemrograman dan RPL

Long Double

10

3.4E-4932 hingga 1.1E4932

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

Laboratorium Pemrograman dan RPL

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.

Laboratorium Pemrograman dan RPL

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

Laboratorium Pemrograman dan RPL

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.

Laboratorium Pemrograman dan RPL

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

Laboratorium Pemrograman dan RPL

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(); }

= = = =

"<<(m+n)<<endl; "<<(m-n)<<endl; "<<m*n<<endl; "<<m/n<<endl;

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

Laboratorium Pemrograman dan RPL

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(); }

Laboratorium Pemrograman dan RPL

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

Laboratorium Pemrograman dan RPL

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.

Laboratorium Pemrograman dan RPL

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:

Laboratorium Pemrograman dan RPL

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).

Laboratorium Pemrograman dan RPL

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:

Laboratorium Pemrograman dan RPL

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; }

Laboratorium Pemrograman dan RPL

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.

Laboratorium Pemrograman dan RPL

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.

Laboratorium Pemrograman dan RPL

23

Contoh untuk switch dapat dilihat dibawah ini:


#include <iostream.h> #include <conio.h> void main() { int nilai; cout<<"Masukkan nilai test: "; cin>>nilai; switch (nilai/10) { case 10: case 9: case 8: cout<<"A"<<endl;break; case 7: cout<<"B"<<endl;break; case 6: case 5: cout<<"C"<<endl;break; case 4: case 3: cout<<"D"<<endl;break; case 2: case 1: case 0: cout<<"E"<<endl;break; default: cout<<"Salah, nilai diluar jangakauan."<<endl; } getch(); }

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

Laboratorium Pemrograman dan RPL

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

Laboratorium Pemrograman dan RPL

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; }

Laboratorium Pemrograman dan RPL

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.

Laboratorium Pemrograman dan RPL

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) **** *** ** *

Laboratorium Pemrograman dan RPL

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.

Laboratorium Pemrograman dan RPL

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 ; }

Jenis-jenis Fungsi: 1. Fungsi dengan Nilai Balik Bentuk umumnya:


tipe_nilai_balik nama_fungsi(tipe_parameterA, tipe_parameterB,...) { pernyataan_1; ... pernytaan_n; return nilai_balik; } tipe_nilai_balik nama_fungsi(tipe_parameterA, tipe_parameterB, ...)

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

Laboratorium Pemrograman dan RPL

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:

Laboratorium Pemrograman dan RPL

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

angka pertama : ";cin>>a; angka kedua : ";cin>>b;

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'; }

Laboratorium Pemrograman dan RPL

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.

Laboratorium Pemrograman dan RPL

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];

Laboratorium Pemrograman dan RPL

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.

Laboratorium Pemrograman dan RPL

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:

Laboratorium Pemrograman dan RPL

37

You might also like