Institut Teknologi Nasional Malang
MODUL ALGORITMA DAN PEMROGRAMAN By: Laboratorium Pemrograman dan RPL
Laboratorium Pemrograman dan RPL 1
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 Variabel ..................................................................................................... 6
2.2 Deklarasi .................................................................................................... 7
2.3 Tipe Data ................................................................................................... 8
BAB III .......................................................................................................................... 13
OPERATOR DAN STATEMENT I/O ............................................................................ 13
3.1 Operator .................................................................................................. 13
3.13 Operator Hubungan ................................................................................ 14
3.2 Statement I/O .......................................................................................... 19
BAB IV .......................................................................................................................... 20
KONDISI ................................................................................................................... 20
4.1 Pernyataan IF .......................................................................................... 20
4.2 Pernyataan Switch................................................................................... 22
BAB V ........................................................................................................................... 26
PENGULANGAN ....................................................................................................... 26
5.1 Pernyataan For ........................................................................................ 26
5.2 Pernyataan While .................................................................................... 27
5.3 Pernyataan do-while ............................................................................... 28
BAB VI .......................................................................................................................... 29
FUNGSI DAN PROSEDUR ......................................................................................... 29
6.1 Fungsi ...................................................................................................... 29
Laboratorium Pemrograman dan RPL 2
BAB VII ......................................................................................................................... 35
ARRAY ...................................................................................................................... 35
7.1 Array ........................................................................................................ 35
Laboratorium Pemrograman dan RPL 3
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:
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:
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:
#prepocessor directive
void main()
{
// Batang Tubuh Program Utama
}
#include <nama_file>
Laboratorium Pemrograman dan RPL 4
#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 5
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:
Tanda “<<” merupakan sebuah operator yang disebut operator
“penyisipan/peletakan”.
void main()
{
cout<<"Halo dunia!";
}
Laboratorium Pemrograman dan RPL 6
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:
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.
variabel = ekspresi;
Laboratorium Pemrograman dan RPL 7
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:
Contoh:
Contoh:
2.2.2 Deklarasi Konstanta
Ada 2 tipe deklarasi konstanta, yaitu:
1. Menggunakan keyword const
Contoh:
Berbeda dengan variabel, konstanta bernama tidak dapat dirubah jika
telah diinisialisasi.
nama_tipe nama_variabel;
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
#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
}
const float pi=3.14;
Laboratorium Pemrograman dan RPL 8
2. Menggunakan #define
Contoh:
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:
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 1 -128 hingga +127 -
Int 2 -32768 hingga +32767 -
Long 4 -2.147.438.648 hingga
2.147.438.647
-
Float 4 3,4E-38 hingga 3,4E38 6-7
Double 8 1,7E-308 hinnga 1,7E308 15-16
#define pi 3.14
#include <iostream.h>
#define pi 3.14
void main()
{
cout<<pi; //akan muncul 3.14
}
Laboratorium Pemrograman dan RPL 9
Long
Double
10 3.4E-4932 hingga 1.1E4932 19
Perhatikan contoh dibawah ini, tipe data dapat dirubah (type cast)
dengan cara dibawah ini:
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:
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:
float x = 3.345;
int p = int(x);
#include <iostream.h>
void main()
{
int n;
cout<<n<<endl; //n sebagai variabel
}
string m="labrpl"; //menyimpan satu kata
char n="l"; //menyimpan satu huruf
Laboratorium Pemrograman dan RPL 10
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:
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 elemen-
elemen sintaks individual yang disebut token, yang memuat nama
variable, konstanta, keyword, operator, dan tanda baca.
#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;
}
Laboratorium Pemrograman dan RPL 11
Contoh:
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
Karakter Keterangan
\0 Karakter ber-ASCII nol (karakter null)
\a Karakter bell
\b Karakter Backspace
\f Karakter ganti halaman (fromfeed)
\n Karakter baris baru (newline)
\r Karakter carriage return ( ke awal baris)
\t Karakter tab horizontal
\v Karakter tab vertikal
\\ Karakter \
\’ Karakter ‘
\” Karakter “
\? Karakter ?
#include <iostream.h>
void main()
{
int n=66;
cout<<n<<endl; //n sebagai variabel
}
Laboratorium Pemrograman dan RPL 12
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 13
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:
Penjelasan:
Variabel “nilai” diisi dengan 80 dan variabel “A” diisi dengan hasil
perkalian x dan y.
3.1.2 Operator Aritmatika
Operator Deskripsi Contoh
+ Penjumlahan C + S
- Pengurangan C – S
* Perkalian C * S
/ Pembagian C / S
% Sisa Pembagian integer ( Modulus) 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
nilai = 80;
a = x*y;
Laboratorium Pemrograman dan RPL 14
Contoh:
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 Keterangan Contoh
== Sama dengan (Bukan
assigment)
O == P O sama dengan P
!= Tidak sama dengan O != P O tidak sama dengan P
> Lebih besar O > P O Lebih besar dari pada P
< Lebih kecil O < P O Lebih kecil dari pada P
>= Lebih besar atau sama
dengan
O >=P O lebih besar atau sama
dengan P
<= Lebih kecil atau sama
dengan
O <=P O lebih kecil atau sama
dengan P
#include <iostream.h>
#include <conio.h>
void main()
{
int m=82,n=26;
cout<<m<<" + "<<n<<" = "<<(m+n)<<endl;
cout<<m<<" - "<<n<<" = "<<(m-n)<<endl;
cout<<m<<" * "<<n<<" = "<<m*n<<endl;
cout<<m<<" / "<<n<<" = "<<m/n<<endl;
getch();
}
Laboratorium Pemrograman dan RPL 15
Contoh:
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=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();
}
#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 16
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:
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
#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();
}
Laboratorium Pemrograman dan RPL 17
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:
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.
#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();
}
Laboratorium Pemrograman dan RPL 18
3.1.5 Operator Bitwise (Logika)
Operator Keterangan Contoh
<< Geser n bit ke kiri (left shift) C<<M
>> Geser n bit ke kanan( right shift) C>>M
&& AND C && M
|| OR C || M
^ XOR C ^ M
~ NOT ~C
Operator Bitwise hanya bisa digunakan pada operand bertipe data int
atau char. Berikut ini diberikan tabel kebenaran untuk operator logika.
Contoh:
Outputnya:
#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();
}
Laboratorium Pemrograman dan RPL 19
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:
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:
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).
#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();
}
min=operand1<operand2?jika_benar:jikasalah;
Laboratorium Pemrograman dan RPL 20
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:
Pernyataan dilaksanakan jika dan hanya jika kondisi yang diinginkan terpenuhi,
jika tidak program tidak memberikan hasil apa-apa.
Contoh:
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:
if (kondisi)
Pernyataan;
#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();
}
Laboratorium Pemrograman dan RPL 21
Contoh:
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:
#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();
}
if(kondisi)
{
pernyataan1;
pernyataan2;
pernyataan3;
}
else
{
pernyataan4;
pernyataan5;
pernyataan6;
}
Laboratorium Pemrograman dan RPL 22
Contoh:
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
if…else if jamak dapat dibangun dengan pernyataan switch.
#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();
}
Laboratorium Pemrograman dan RPL 23
Contoh:
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.
switch (ekspresi)
{
case konstanta1:
pernyataan1;
break;
case konstanta2:
pernyataan2;
break;
case konstanta3:
pernyataan3;
break;
case konstantaN:
pernyataanN;
break;
default:
pernyataanlain;
}
Laboratorium Pemrograman dan RPL 24
Contoh untuk switch dapat dilihat dibawah ini:
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
#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();
}
Laboratorium Pemrograman dan RPL 25
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 26
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 27
Contoh:
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 :
Contoh:
Penjelasan:
Program diatas digunakan untuk melakukan pengulangan tulisan sebanyak 10
kali.
#include <iostream.h>
#include <conio.h>
void main()
{
int i;
for (i=1;i<=100;i++)
{
cout<<i<<" "<<endl;
}
getch();
}
while (kondisi)
{
pernyataan;
}
#include <iostream.h>
#include <conio.h>
void main()
{
int i=0;
while (i<10)
{
cout<<"C++"<<endl;
i++;
}
getch();
}
Laboratorium Pemrograman dan RPL 28
5.3 Pernyataan do-while
Pernyataan do…while mirip seperti pernyataan while, hanya saja pada
do…while pernyataan yang terdapat didalamnya minimal akan sekali
dieksekusi.
Contoh:
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)
* * * *
* * *
* *
*
do
{
pernyataan;
}
while (kondisi);
#include <iostream.h>
#include <conio.h>
void main()
{
int i=0;
do
{
cout<<"C++"<<endl;
i++;
}
while (i<10);
getch();
}
Laboratorium Pemrograman dan RPL 29
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:
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.
Tipenilaibalik fungsi (tipepara, … ) ;
Laboratorium Pemrograman dan RPL 30
Contoh:
Jenis-jenis Fungsi:
1. Fungsi dengan Nilai Balik
Bentuk umumnya:
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
#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 ;
}
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, ...)
Laboratorium Pemrograman dan RPL 31
iii. parameter
Digunakan untuk melewatkan nilai ke fungsi. Antar parameter
dipisahkan oleh tanda koma (,). Jika tak ada parameter, judul
fungsi berupa:
Contoh:
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:
tipe_nilai_balik nama_fungsi()
long kuadrat(long x)
{
long hasil=x*x;
return hasil;
}
Laboratorium Pemrograman dan RPL 32
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
#include <iostream.h>
#include <conio.h>
int tambah(int a1, int a2); //inisialisasi fungsi
tambah
int kurang(int b1, int b2); //inisialisasi fungsi
kurang
main()
{
int a,b,t,k;
clrscr();
cout<<"Masukkan angka pertama : ";cin>>a;
cout<<"Masukkan 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;
}
Laboratorium Pemrograman dan RPL 33
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:
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 tulisSepuluhKali()
{
for (int x=0;x<10;x++)
{
cout<<"contoh penggunaan fungsi tanpa
parameter";
}
}
int main()
{
clrscr();
tulisSepuluhKali();
return 0;
}
#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 34
Program B:
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.
#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';
}
Laboratorium Pemrograman dan RPL 35
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:
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:
nama_variabel[indeks]; //ketentuan
int a[5]; //contoh
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 36
Contoh:
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:
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.
#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();
}
tipedata nama_array[jmlh baris][jmlah kolom];
float bil[5][5];
Laboratorium Pemrograman dan RPL 37
Contoh:
Outputnya:
#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();
}
Top Related