Top Banner
MODUL I PENGENALAN BAHASA PEMROGRAMAN C++ Bahasa pemrograman C++ merupakan bahasa pemgrograman yang diciptakan oleh Bjarne Stroustrup pada tahun 1983.Bahasa ini merupakan perkembangan dari bahasa C yang dimana bahasa pemrograman ini sangat kompetibel dengan berbagai jenis mesin dan platform (seperti DOS, UNIX, VMX, WINDOWS dan sebagainya) karena pembuatan bahasa pemrograman ini mengacu pada standar ANSI (American National Standards Institute). Keistimewaan bahasa pemrograman C++ yang paling berarti adalah dapat mendukung pemrograman berorientasikan objek. Struktur Program C++ Bentuk Struktur penulisan program C++ secara sederhana adalah sebagai berikut. 1
64

MODUL BP I

Jan 04, 2016

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: MODUL BP I

MODUL I

PENGENALAN BAHASA PEMROGRAMAN C++

Bahasa pemrograman C++ merupakan bahasa pemgrograman yang diciptakan oleh

Bjarne Stroustrup pada tahun 1983.Bahasa ini merupakan perkembangan dari bahasa C

yang dimana bahasa pemrograman ini sangat kompetibel dengan berbagai jenis mesin dan

platform (seperti DOS, UNIX, VMX, WINDOWS dan sebagainya) karena pembuatan bahasa

pemrograman ini mengacu pada standar ANSI (American National Standards Institute).

Keistimewaan bahasa pemrograman C++ yang paling berarti adalah dapat

mendukung pemrograman berorientasikan objek.

Struktur Program C++

Bentuk Struktur penulisan program C++ secara sederhana adalah sebagai berikut.

1

Page 2: MODUL BP I

Keterangan:

1. Bagian ini disebut Header. Header ini digunakan untuk memanggil nama file bawaan

bahasa pemrograman C++ atau file yang kita ciptakan sendiri agar fungsi yang

termuat didalam file tersebut dapat digunakan pada saat membuat program. Untuk

memanggil file header tersebut harus diawali dengan #includekemudian nama file

header bawaan ditulis di dalam tanda “<>” (seperti <iostream.h> ,<conio.h> ,

<stdio.h>). Jika merupakan file ciptaan sendiri ditulis menggunakan tanda “ “ (petik

ganda) seperti “fungsi1.h” , “fungsitambahan.h” dan sebagainya.

Contoh penulisan lengkapnya adalah sebagai berikut.

#include <iostream.h>

#include <stdio.h>

#include “conio.h”

Masing – masing header memiliki isi fungsi nya masing – masing.Seperti :

iostream.h digunakan untuk melakukan fungsi input output pada program C+

+ dimana pada contoh program diatas kita memakai fungsi cout dan cin

stdio.h digunakan untuk melakukan operasi input output seperti

menggunakan operasi printf, scanf, gets(),puts() dan sebagainya.

conio.h digunakan untuk memanggil fungsi yang dapat membaca masukan

dari keyboard seperti getch() (fungsi ini digunakan pada program diatas),

getche() dan sebagainya.

2. Bagian ini merupakan pendeklarasian konstanta. Jadi apabila ingin mendefenisikan

sebuah konstanta harus dimulai dengan #define kemudian diikuti nama konstanta

(seperti: jumlah) dan diakhiri dengan isi nilai untuk konstanta tersebut (seperti :10).

Jadi pada contoh diatas ditulis : #define jumlah 10

Contoh lain: #define kata AKU

#define kalimat selamat_malam

#define pecahan 12.5

3. Bagian ini merupakan pendeklarasian variabel global. Maksudnya variabel yang

dideklarasikan pada bagian ini dapat digunakan oleh seluruh fungsi baik fungsi utama

2

Page 3: MODUL BP I

(main program) maupun fungsi – fungsi tambahan yang dibuat pada program

tersebut seperti fungsi bagian nomor 4.

4. Bagian ini merupakan suatu fungsi. Fungsi merupakan suatu bagian dari program

atau subprogram yang digunakan untuk mempermudah dalam penulisan sintaks

program atau pengelompokan instruksi program yang sangat panjang. Selain itu

pembuatan suatu fungsi digunakan apabila ada beberapa instruksi program yang

sama ingin digunakan berkali – kali. Pembahas mengenai fungsi ini akan dibahas

pada Bab selanjutnya.

5. Bagian ini merupakan fungsi utama (main program). Fungsi utama ini memiliki peran

sebagai awal dan akhir dari sebuah program C++. Jadi sebuah program C++ minimal

harus memuat fungsi utama ini.

Tipe Data

Ada beberapa jenis tipe data pada pemrograman C++ ini, yaitu sebagai berikut :

No. Tipe Data ukuran Range Penjelasan

1. char 1 byte -128 s.d 127 Untuk jenis karakter atau string

2. int 2 byte -32768 s.d 32767 Untuk jenis bilangan bulat

3. float 4 byte -3.4E-38 s.d 3.4E+38 Untuk jenis bilangan pecahan

4. double8 byte -1.7E-308 s.d 1.7E+308 Untuk jenis bilangan pecahan

dengan kapasitas yang lebih besar

5 bool True or false

6. string - - String

Penulisan Identifier

Identifier merupakan suatu nama yang digunakan sebagai pengenal dari suatu

variabel, fungsi, konstanta, struct, objek dan sebagainya. Penulisan identifier yang sah harus

mengikuti aturan berikut:

1. Gabungan dari huruf – huruf. Contoh: nama, saya, aku, satu dan sebagainya.

2. Gabungan dari huruf dan angka dimana harus diawali dengan huruf terlebih dahalu.

Contoh : N01, N4ma, Say4 s4t0 dan sebagainya.

3. Dimulai dengan tanda underscore. Contoh : _aku, _kamu, _dia

3

Page 4: MODUL BP I

4. Apabila lebih dari satu kata digunakan tanda underscore. Contoh : saya_makan,

aku_cinta_dia, fungsi_satu, konstanta_1 dan sebagainya.

Catatan :

Penulisan sintaks program C++ merupakan case sensitive, maksudnya penulisan huruf kecil

dan huruf besar sangat berpengaruh terhadap sintaks program karena apabila ada kata yang

sama tetapi berbeda cara penulisannya dianggap berbeda. Contoh : Saya dengan saya, kamu

dengan kAmu, hallo dengan HALLO dan sebagainya. Hal ini sangat berpengaruh terhadap

nama variabel, fungsi, konstanta dan sebagainya.

Komentar

Komentar pada program berguna untuk menjelaskan atau memberi informasi tentang satu

atau lebih instruksi / pernyataan dalam program. Komentar ini tidak akan dieksekusi pada

program sehingga tidak memberi pengaruh terhadap hasil atau output program nantinya.

Tanda untuk penulisan komentar dimulai dengan tanda “//” jika ingin menulis satu baris

komentar atau diawali “/*” dan diakhiri “*/” untuk menulis lebih dari 1 baris komentar. Cara

penulisan komentar adalah sebagai berikut :

4

/* ----------------------------------------------- Menulis komentar lebih satu baris------------------------------------------------*/#include <conio.h> //header#include <iostream.h> //header

int a,b,hasil; //variabel

int main() //fungsi utama{ cout<<"Hanya Mengetes Komentar"<<endl; //pernyataan untuk mencetak ke layargetch(); //pernyataan untuk menahan output program pada layar}

Page 5: MODUL BP I

MODUL IIOPERASI INPUT DAN OUTPUT

OPERASI KELUARAN (OUTPUT)Ada beberapa operasi masukan pada C++, antara lain :

1. Printf ()Fungsi Printf() merupakan fungsi keluaran yang paling umum digunakan untuk menampilkan informasi ke layar. Bentuk Umum :

Dalam Bahasa pemograman C++, kita mengenal beberapa inisialisasi berdasarkan tipe datanya.

Tipe Data Penentu Format untuk Printf()Integer %dFloating Point Bentuk Desimal Bentuk Berpangkat Bentuk Desimal dan Berpangkat

%f%e%g

Double Precision %lfCharacter %cString %sUnsigned Integer %uLong Integer %ldLong Unsigned Integer %luUnsigned Hexadesimal Integer %xUnsigned Octal Integer %o

Perhatikan contoh dibawah ini :

5

Printf (“tipe data – Pernyataan - tipe data” , argumen 1, argumen 2, …);

#include<stdio.h>#include<conio.h>int main(){int a = 8 ;char b ='H';printf("%c Merupakan Abjad Yang ke- %d", b, a);getch();}

Page 6: MODUL BP I

2. Puts()Perintah Puts() sebenarnya sama dengan Printf(), yaitu mencetak string ke layar. Puts

berasal dari kata PUT STRING.

Untuk dapat membedakan fungsi perintah Printf() dengan Puts, lihat tabel dibawah

ini :

Printf() Puts()Harus menentukan tipe data untuk data string, yaitu % s.

Tidak perlu penentu tipe data string karena fungsi ini khusus untuk tipe data string.

Untuk mencetak pindah baris, memerlukan notasi \n.

Untuk mencetak pindah baris tidak perlu notasi \n karena sudah diberikan secara otomatis.

Perhatikan contoh dibawah ini :

3. Putchar()Perintah Putchar() digunakan utnuk menampilkan sebuah karakter ke layar.

Penampilan karakter tidak diakhiri dengan pindah baris.

Perhatikan contoh dibawah ini :

4. Cout()Fungsi Cout() merupakan sebuah objek di dalam C++ yang digunakan untuk

menampilkan suatu data ke layar. Fungsi Cout() memakai library Iostream.h .

Perhatikan contoh dibawah ini :

6

#include<stdio.h>#include<conio.h>int main(){char a[11] =”ILKOM USU”;puts("Saya kuliah di, “);puts(a);getch();}

#include<stdio.h>#include<conio.h>int main(){putchar(‘E’);putchar(‘K’);putchar(‘A’);getch();}

Page 7: MODUL BP I

OPERATOR MASUKAN (INPUT)Setelah kita membahas beberapa operasi input pada bahasa pemograman C++, maka kita juga akan melihat beberapa operasi keluaran (output), antara lain :

1. Scanf()Fungsi Scanf() digunakan untuk memasukkan berbagai jenis data. Bentuk Umum :

Perhatikan contoh dibawah ini :

2. Gets()Perintah Gets() digunakan untuk memasukkan data String.Perhatikan contoh dibawah ini :

7

Scantf (“tipe data “ , &nama-Variabel);

#include<stdio.h>#include<conio.h>#include<iostream.h>int main(){float a,b,c; a=7.5; b=8.4; c=0;cout<<”masukkan nilai A : “<<a<<endl;cout<<”masukkan nilai B : “<<b<<endl; c=a+b;cout<<”masukkan nilai C : “<<c; getch();}

#include<stdio.h>#include<conio.h>int main(){ clrscr(); int a, b, c = 0; printf("Masukkan nilai A = "); scanf("%d",&a);printf("Masukkan nilai B = "); scanf("%d",&b); c = a+b; printf("Hasil Penjumlahan = %d",c); getch();}

#include<stdio.h>#include<conio.h>int main(){ char nm1 [20]; char nm2 [20];puts ("Masukkan nama ke - 1 =" ); gets (nm1); printf("Masukkan nama ke - 2 =\n"); scanf("%s",&nm2); printf("\n"); puts ("Senang berkenalan dengan Anda..."); puts(nm1);getch();}

Page 8: MODUL BP I

3. Cin ()Fungsi Cin() merupakan sebuah objek di dalam C++ yang dipergunakan untuk memasukkan suatu data. Fungsi Cin() memakai library Iostream.h .Perhatikan Contoh Dibawah ini :

Contoh Program Modul II

/* Contoh Program ke : 1 *//* Program : Penggunaan printf() dan scanf() *//* Dicoba oleh : *//* NIM : *//* Tanggal : *//* Nama Asisten : */

#include <conio.h>#include <cstdio>using namespace std;int main(){

int a,b,c = 0;printf("Masukkan nilai A = ");scanf("%d",&a);printf("Masukkan nilai B = ");scanf("%d",&b);c=a+b; printf("Hasil Penjumlahan = %d",c);getch();

}

/* Contoh Program ke : 2 *//* Program : Penggunaan puts() dan gets() *//* Dicoba oleh : *//* NIM : *//* Tanggal : *//* Nama Asisten : */

8

#include<stdio.h>#include<conio.h>#include<iostream.h>int main(){ float a,b,c; cout<<"Masukkan Nilai A = "; cin>>a; cout<<"Masukkan Nilai B = "; cin>>b; c=a+b; cout<<"Nilai C = "<<c<<endl; getch();}

Page 9: MODUL BP I

#include <cstdio>

#include <conio.h>

using namespace std;

int main(){

char nm1[20];

char nm2[20];

printf("Masukkan nama ke -1 : ");

scanf("%s",nm1);

//gets(nm1);

puts("Masukkan nama ke -2 : ");

scanf("%s",nm2);

printf("\n\n");

puts("Senang Berkenalan Dengan Anda");

puts("nm1");

printf("Senang Berkenalan Dengan Anda %s",nm1);

puts("Senang Berkenalan Dengan Anda ...");

puts(nm1);

printf("\n\n");

puts("Senang Berkenalan Dengan Anda ..");

puts(nm2);

printf("senang Berkenalan Dengan Anda %s",nm2);

getch();

}

/* Contoh Program ke : 3 */

/* Program : Penggunaan cin() dan cout() */

/* Dicoba oleh : */

/* NIM : */

/* Tanggal : */

/* Nama Asisten : */

#include<stdio.h>

#include<conio.h>

#include<iostream.h>

//using namespace std;

int main(){

float a,b,c;

cout<<"Masukkan Nilai A = ";cin>>a;

cout<<"Masukkan Nilai B = ";cin>>b;

c=a+b;

cout<<"Nilai C = "<<c<<endl;

getch();

9

Page 10: MODUL BP I

}

/* Contoh Program ke : 4 */

/* Program : Penggunaan getch() */

/* Dicoba oleh : */

/* NIM : */

/* Tanggal : */

/* Nama Asisten : */

#include <cstdio>

#include <conio.h>

using namespace std;

int main(){

char kar;

printf("Masukkan sebuah karakter : ");

kar=getch();

printf("\n\nTadi Anda memasukkan Karakter : %c",kar);

getch();

}

/* Contoh Program ke : 5 */

/* Program : Penggunaan getche */

/* Dicoba oleh : */

/* NIM : */

/* Tanggal : */

/* Nama Asisten : */

#include <cstdio>

#include <conio.h>

using namespace std;

int main(){

char kar;

printf("Masukkan sebuah karakter bebas : ");

kar=getche();

printf("\n\nKarakter yang anda masukkan tadi adalah : %c",kar);

getch();

}

10

Page 11: MODUL BP I

TUGAS /LATIHAN

1. Buatlah program untuk menghitung nilai akhir seorang mahasiswa, dengan ketentuan

sebagai berikut:

a. Nama mahasiswa,nilai keaktifan,nilai tugas dan nilai ujian di inputkan.

b. Proses yang dilakukan untuk mendapatkan nilai murni dari masing-masing nilai

adalah :

Nilai murni keaktifan = Nilai keaktifan X 20%

Nilai murni tugas = Nilai tugas X 30%

Nilai akhir adalah nilai murni keaktifan + Nilai murni tugas + Nilai murni

ujian.

2. Buat sebuah program yang berisikan tentang implementasi salah satu rumus

matematika menggunakan bahasa C++.

11

Page 12: MODUL BP I

MODUL IIIPENGGUNAAN OPERATOR

OPERATORDalam bahasa pemograman C++, terdapat beberapa operator yang digunakan dalam aplikasi, antara lain :1. Operator Assign (=)

Operator (=), akan memberikan nilai kedalam suatu variabel.

Artinya memberikan nilai ke variabel a. Ivalue harus selalu sebuah variabel, sedangkan rvalue dapat berupa variabel,nilai,konstanta,hasil operasi atau kombinasi.

2. Operator Aritmatika (+ , - , * , / , %)Operator Aritmatika digunakan untuk melakukan perhitungan matematika.

3. Operator Pemberi nilai Aritmatika (+= , -= , *= , /= , %=)Adapun beberapa operator matematika yang digunakan antara lain :Misalnya :A+=5, sama artinya dengan menuliskan A=A+5.A-=5, sama artinya dengan menuliskan A=A-5.A*=5, sama artinya dengan menuliskan A=A*5.A/=5, sama artinya dengan menuliskan A=A/5.A%=5, sama artinya dengan menuliskan A=A%5.

4. Operator Penambah dan PenguranganOperator Penambah (++) akan manaikkan atau menambah 1 nilai variabel, sedangkan operaor Pengurangan (--) akan menurunkan atau mengurangi 1 nilai variabel.Ada dua cara penulisan pada operasi ini :- Jika operator diletakkan di depan variabel, maka proses penambahan atau

pengurangan akan dilakukan sesaat sebelum atau langsung pada saat menjumpai ekspresi ini sehingga nilai variabel tadi akan langsung berubah begitu ekspresi ini ditemukan.

- Jika operator diletakkan di belakang variabel, maka proses penambahan atau pengurangan akan dilakukan setelah ekspresi ini dijumpai atau nilai variabel akan tetap pada saat ekspresi ditemukan.Contoh penulisan pada operator ini :B=3; B=3;A=++B; A=B++;

12

A=5ivalue rvalue

Page 13: MODUL BP I

//A=4, B=4 //A=3, B=4

5. Operator RelationalOperator Relasi digunakan untuk membandingkan nilai dari dua operand. Hasil perbandingan dinyatakan dalam nilai boolean. TRUE berarti benar, dan FALSE berarti salah.

Operator Keterangan== Sama dengan!= Tidak sama dengan< Lebih kecil> Lebih besar<= Lebih kecil sama dengan>= Lebih besar sama

dengan6. Operator Logika

Operator Logika digunakan untuk membandingkan dua nilai variabel yang bertipe boolean. Hasil dari penggunaan logical operator adalah boolean.

Operator Keterangan! Operasi Logika NOT|| Operasi Logika OR&& Operasi Logika AND

7. Operator Kondisional (?)Operator Kondisional merupakan operator pada bahasa pemograman C++ yang dapat memudahkan user untuk memilih pada suatu kondisi tertentu. Bentuk Umum :

Apabila kondisi benar maka yang dijalankan adalah hasil1 dan bila kondisi salah maka yang dijalnkan adalah hasil2.

Contoh Program modul III

13

Kondisi ?hasil1 : hasil2

Page 14: MODUL BP I

/* Contoh Program ke : 6 *//* Program : Penggunaan operator(I) *//* Dicoba oleh : *//* NIM : *//* Tanggal : *//* Nama Asisten : */#include <iostream>#include <conio.h>#include <cstdio>using namespace std;

int main(){int a,b,c,d; cout<<"Masukkan nilai A : ";cin>>a;cout<<"Masukkan nilai B : ";cin>>b; c=a%b; d=a*b;cout<<"\n======================="<<endl;cout<<"Hasil dari C = A%B = "<<c<<endl;cout<<"Hasil dari D = A*B = "<<d<<endl;getch(); }

/* Contoh Program ke : 7 *//* Program : Penggunaan operator(II) *//* Dicoba oleh : *//* NIM : *//* Tanggal : *//* Nama Asisten : */#include <cstdio>#include <conio.h>#include <iostream>using namespace std;int main(){int a,b; a=5+4*6/3; b=(5+4)*6/3;cout<<"Hasil dari 5+4*6/3 = "<<a<<endl;cout<<"Hasil dari (5+4)*6/3 = "<<b<<endl;getch(); }/* Contoh Program ke : 8*//* Program : Penggunaan operator ++-- didepan *//* Dicoba oleh : *//* NIM : *//* Tanggal : *//* Nama Asisten : */#include <cstdio>#include <conio.h>using namespace std;

int main(){int a=10,b=5;printf("Nilai A = %d",a);printf("\nNilai ++A = %d",++a);

14

Page 15: MODUL BP I

printf("\nNilai A = %d",a);printf("\n\nNilai B = %d",b);printf("\nNilai --B = %d",--b);printf("\nNilai B = %d",b);getch();}

/* Contoh Program ke : 9 *//* Program : Penggunaan Operator ++-- dibelakang *//* Dicoba oleh : *//* NIM : *//* Tanggal : *//* Nama Asisten : */#include <cstdio>#include <conio.h>using namespace std;int main(){int a=1,b=9;printf("Nilai A = %d",a);printf("\nNilai A++ = %d",a++);printf("\nNilai A = %d",a);printf("\n\nNilai B = %d",b);printf("\nNilai B-- = %d",b--);printf("\nNilai B = %d",b);getch(); }

/* Contoh Program ke : 10 *//* Program : Penggunaan operator relasi *//* Dicoba oleh : *//* NIM : *//* Tanggal : *//* Nama Asisten : */#include <conio.h>#include <iostream>using namespace std;int main(){float a,b,c,d,e,f,x,y;cout<<"Masukkan nilai X : ";cin>>x;cout<<"Masukkan nilai Y : ";cin>>y;

a= x==y; b= x!=y; c= x>y; d= x<y; e= x>=y; f= x<=y;

cout<<endl;cout<<"Hasil dari "<<x<<"=="<<y<<"="<<a<<endl;cout<<"Hasil dari "<<x<<"!="<<y<<"="<<b<<endl;

15

Page 16: MODUL BP I

cout<<"Hasil dari "<<x<<">"<<y<<"="<<c<<endl;cout<<"Hasil dari "<<x<<"<"<<y<<"="<<d<<endl;cout<<"Hasil dari "<<x<<">="<<y<<"="<<e<<endl;cout<<"Hasil dari "<<x<<"<="<<y<<"="<<f<<endl;getch();}

/* Contoh Program ke : 11 *//* Program : Penggunaan operator logika AND*//* Dicoba oleh : *//* NIM : *//* Tanggal : *//* Nama Asisten : */#include <conio.h>#include <iostream>using namespace std;int main(){float a,b,c,d,e,f,g;cout<<"Masukkan nilai A : ";cin>>a;cout<<"Masukkan nilai B : ";cin>>b;cout<<"Masukkan nilai C : ";cin>>c; //proses

d = a+4<10; e = b>a+5; f = c-3>=4; g = d&&e&&f;

cout<<endl;cout<<"Program ekspresi AND"<<endl;cout<<"===================="<<endl<<endl;cout<<"Hasil dari D = A+4<10 adalah "<<d<<endl;cout<<"Hasil dari E = B>a+5 adalah "<<e<<endl;cout<<"Hasil dari F = C-3>=4 adalah "<<f<<endl;cout<<"Hasil dari G = D&&E&&F adalah "<<g<<endl;getch();}

/* Contoh Program ke : 12 *//* Program : Penggunaan operator logika OR*//* Dicoba oleh : *//* NIM : *//* Tanggal : *//* Nama Asisten : */#include <conio.h>#include <iostream>using namespace std;int main(){float a,b,c,d,e,f,g;cout<<"Masukkan nilai A : ";cin>>a;cout<<"Masukkan nilai B : ";cin>>b;

16

Page 17: MODUL BP I

cout<<"Masukkan nilai C : ";cin>>c; //proses

d = a+4<10; e = b>a+5; f = c-3>=4; g = d||e||f;

cout<<endl;cout<<"Program ekspresi OR"<<endl;cout<<"==================="<<endl<<endl;cout<<"Hasil dari D = A+4<10 adalah "<<d<<endl;cout<<"Hasil dari E = B>A+5 adalah "<<e<<endl;cout<<"Hasil dari F = C-3>=4 adalah "<<f<<endl;cout<<"Hasil dari G = D||E||F adalah "<<g<<endl;getch();

}

TUGAS/LATIHAN

1. Diketahui A=3;B=6;C=2;K=5;L=4;M=3. Buatlah program untuk menentukan hasil dari ekspresi relasi dan logika dibawah ini :

a. D = (4+2>A AND B-2>3+2 OR B+1<=6+2)b. K+5>M OR (C*M<L AND 3*M-L>0)c. K+10>A AND L-2>4*C

3. Buatlah sebuah program bebas yang menggunakan beberapa jenis operator relasi.4. Buatlah sebuah program penghitungan bit menggunakan operator AND dan OR

17

Page 18: MODUL BP I

MODUL IVPENGGUNAAN OPERASI 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 ifSebuah pernyataan yang dapat dipakai untuk mengambil keputusan berdasarkan suatu kondisi. Bentuk pernyataan ini ada dua macam :

- if saja dan- else

Jika yang berada dalam tanda {} hanya sebuah pernyataan, tanda {} bisa dihilangkan.

Bentuk Umumnya Satu Kasus:

Pernyataan dilaksanakan jika dan hanya jika kondisi yang diinginkan terpenuhi, jika tidak program tidak memberikan hasil apa-apa.

Bentuk Umumnya Dua Kasus :

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 Banyak Kasus :

18

if (kondisi)pernyataan ;

if (kondisi)pernyataan1 ;

elsepernyataan2;

if (kondisi) { pernyataan1;}else { pernyataan2;}

Page 19: MODUL BP I

2. PERNYATAAN SwitchPernyataan 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.Bentuk Umumnya :

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 char3. Jika syarat 1 dan 2 terpenuhi, 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. pernyataanlain dieksekusi jika konstanta1 sampai konstantaN tidak ada yang memenuhi ekspresi.Contoh Program

/* Contoh Program ke : 13 *//* Program : Penggunaan pernyataan IF *//* Dicoba oleh : *//* NIM : *//* Tanggal : *//* Nama Asisten : */#include <iostream>#include <conio.h>

19

switch (ekspresi){case konstanta1 :pernyataan1 ;break ;::case konstantaN :pernyataanN ;break ;default :pernyataanlain;}

Page 20: MODUL BP I

using namespace std;int main(){int x; cout<<"Masukkan jumlah pacar anda : ";cin>>x;if (x>=2)cout<<"\nAnda adalah seorang Playboy / Playgirl"<<endl;

getch(); }

/* Contoh Program ke : 14 *//* Program : Penggunaan IF – ELSE *//* Dicoba oleh : *//* NIM : *//* Tanggal : *//* Nama Asisten : */#include <iostream>#include <conio.h>

using namespace std;int main(){int x;cout<<"Masukkan jumlah nilai anda (0 - 100) : ";cin>>x;if (x<=60)cout<<"\nAnda tidak lulus"<<endl;elsecout<<"\nCongrats,, anda lulus"<<endl;

getch();}

/* Contoh Program ke : 15 *//* Program : Penggunaan Nested IF *//* Dicoba oleh : *//* NIM : *//* Tanggal : *//* Nama Asisten : */#include <iostream>#include <conio.h>

using namespace std;int main(){float pendapatan,jasa=0,komisi=0,total=0;cout<<"Pendapatan hari ini :Rp. ";cin>>pendapatan;

if (pendapatan>=0 && pendapatan<=200000) {jasa=10000;

20

Page 21: MODUL BP I

komisi=0.1*pendapatan; }

else {if (pendapatan<=500000) {jasa=20000;komisi=0.15*pendapatan; }else {jasa=30000;komisi=0.2*pendapatan; } /*menghitung total*/total=komisi+jasa;cout<<"Uang jasa Rp."<<jasa<<endl;cout<<"Uang KOmisi Rp."<<komisi<<endl;cout<<"=========================="<<endl;cout<<"Hasil total Rp."<<total<<endl;getch(); }}

/* Contoh Program ke : 16 *//* Program : Penggunaan Switch Case *//* Dicoba oleh : *//* NIM : *//* Tanggal : *//* Nama Asisten : */#include <iostream>#include <conio.h>using namespace std;int main(){char kode;

cout<<"Masukkan kode barang [A..C] : ";cin>>kode;switch(kode) { case'A':cout<<"\nAlat olahraga";break; case'B':cout<<"\nAlat Elektronik";break; case'C':cout<<"\nAlat Masak";break;default:cout<<"A\nnda salah memasukkan Kode !!!";

21

Page 22: MODUL BP I

break; }getch();}

TUGAS/LATIHAN

1. Buatlah program untuk mencari apakah bilangan tersebut ganjil atau genap,dimana bilangan tersebut merupakan piranti masukkan2. Buatlah program untuk menseleksi suatu bilangan dengan ketentuan sebagaiberikut :0<=nilai <30 : Nilai rendah30<=nilai < 60 : Nilai sedang60<=nilai<=100 : Nilai tinggi3. Buatlah program dalam bentuk menu yang mampu menghitung :a. Luas dan Keliling Bujur sangkarb. Luas dan Keliling persegi panjangc. Luas dan keliling lingkaran

22

Page 23: MODUL BP I

MODUL V

PERULANGAN

Perulangan merupakan suatu bentuk struktur program yang digunakan untuk

melakukan eksekusi statement yang sama untuk beberapa kali. Berikut ini adalah beberapa

bentuk perulangan tersebut.

Statement GoTo

Statement goto merupakan suatu bentuk instruksi perulangan yang diawali dengan

label. Perulangan pernyataan dibawah label akan dilakukan jika kondisi pemanggilan label

terpenuhi. Bentuk umum statement ini adalah sebagai berikut.

Contoh program.

23

Label :Pernyataan1;Pernyataan2;…Pernyataan3;

goto label;

#include <conio.h>#include <iostream.h>

int a,b,c,hasil;char pilihan;

int main(){ cout<<"Program Luas balok"<<endl; ulang: cout<<"masukkan panjang : "; cin>>a; cout<<"masukkan lebar : "; cin>>b; cout<<"masukkan tinggi : "; cin>>c;

hasil=(2*a*b)+(2*b*c)+(2*a*c); cout<<"Luas balok Adalah "<<hasil<<endl;

cout<<"Apakah Anda Ingin Mengulang Program (Y/N) ?"<<endl; pilihan=getche(); cout<<endl; //kondisi yang harus dipenuhi statement goto if(pilihan == 'Y' || pilihan == 'y') goto ulang;

getch();}

Page 24: MODUL BP I

Statement While

Statement while merupakan statement perulangan dimana pernyataan yang

terdapat dalam while akan diulang jika kondisi masih bernilai true. Statement ini akan

berhenti jika kondisi bernilai false.

Bentuk umum penulisan statemen while yaitu sebagai berikut:

(1)

(2)

(1) penulisan statement while untuk 1 pernyataan. (2) penulisan statement while untuk

lebih dari 1 pernyataan

Contoh Program

Program 1

24

#include <conio.h>#include <iostream.h>

int a,b,c,hasil;char pilihan;

int main(){ cout<<"Program Luas balok"<<endl; ulang: cout<<"masukkan panjang : "; cin>>a; cout<<"masukkan lebar : "; cin>>b; cout<<"masukkan tinggi : "; cin>>c;

hasil=(2*a*b)+(2*b*c)+(2*a*c); cout<<"Luas balok Adalah "<<hasil<<endl;

cout<<"Apakah Anda Ingin Mengulang Program (Y/N) ?"<<endl; pilihan=getche(); cout<<endl; //kondisi yang harus dipenuhi statement goto if(pilihan == 'Y' || pilihan == 'y') goto ulang;

getch();}

Inisialisasi;While(kondisi)Pernyataan;

Inisialisasi;While(kondisi){ Pernyataan1; Pernyataan2; … PernyataanN;}

#include<iostream.h>#include<conio.h>int main(){int n;cout<<"Masukkan angka untuk mulai: ";cin>>n;while (n>0) {cout<< n << ", ";--n; }cout<<"STOP!";getch();}

Page 25: MODUL BP I

Program 2

Statement Do-While

Statement ini memiliki prinsip yang sama dengan statement while dimana

perulangan dilakukan selama kondisi bernilai true dan akan berakhir jika bernilai false.

Bedanya hanya pada posisi kedudukan statement, yang dimana pernyataan berada diatas

sedangkan kondisi berada di bawah sehingga statement ini akan dilakukan sekurang –

kurangnya satu kali.

Bentuk Umum Statement ini adalah sebagai berikut :

25

#include <conio.h>#include <iostream.h>

float nilai,jumlah,banyakData;float rata2;int main(){ cout<<"Program Perulangan While 2"<<endl; cout<<"Menghitung Rata - Rata Nilai"<<endl; cout<<"Akhiri Program Dengan Memasukkan nilai negatif"<<endl; //inisialisasi jumlah=0; banyakData=0; cout<<"Masukkan Nilai : "; cin>>nilai;

while (nilai >= 0) { banyakData++; jumlah=jumlah+nilai; cout<<"Masukkan Nilai : "; cin>>nilai; } cout<<"Banyak Data : "<<banyakData<<endl; cout<<"Jumlah Nilai : "<<jumlah<<endl;

if(banyakData != 0)//kondisi untuk memeriksa apakah ada data yang dimasukkan atau tidak { rata2=jumlah/banyakData; cout<<"Rata - rata Nilai : " <<rata2<<endl; } else { cout<<"Tidak Ada Data Yang Dimasukkan"<<endl; } getch();}

Page 26: MODUL BP I

Contoh Program :

TUGAS/LATIHAN

1. Buatlah sebuah program untuk menghitung jumlah bilangan genap dari range 1

sampai 20..

2. Buatlah program menu jika ditekan K maka melakukan proses hitung a=b*c, tekan B

maka melakukan proses hitung a=b/c. proses tersebut akan terus berlangsung

selama kita memilih pilihan tersebut. Proses program akan berakhir jika tombol X

ditekan dan keluar bacaan ‘Program berakhir’.

Statement For

Statement for merupakan suatu perulangan yang memiliki prinsip yang sama dengan

statement while dan do-while yaitu perulangan pernyataan akan dilakukan selama kondisi

bernilai true dan berhenti jika false. Bedanya adalah hanya cara penulisan statement ini,

yaitu:

26

Inisialisasi;do{ Pernyataan1; Pernyataan2; … PernyataanN; }while(kondisi);

#include<iostream.h>#include<conio.h>int main(){unsigned long n; //untuk tipedata positifaja.do{cout<<"masukkan angka (tekan0 untuk mengakhiri):";cin>>n;cout<<"anda memasukkan angka: "<<n<<"\n";}while(n!=0);return 0;getch();}

for(ungkapan1;ungkapan2; ungkapan3) {

Pernyataan1;Pernyataan2;…pernyataanN;

}

Page 27: MODUL BP I

Keterangan:

Ungkapan1 merupakan suatu inisialisasi untuk statement for sebelum melakukan

perulangan.

Ungkapan2 merupakan suatu kondisi yang harus dipenuhi untuk melakukan

perulangan dimana jika bernilai true akan terus berulang dan false akan berhenti.

Ungkapan3 merupakan suatu operasi penambahan atau pengurangan yang

dilakukan agar mencapai kondisi berhenti untuk statement for tersebut.

Contoh Program :

Program 1

Untuk lebih mendalam akan diberikan contoh berikutnya :

Program 2:

27

#include <conio.h>#include <iostream.h>

int indeks;

int main(){ cout<<"Program Perulangan Untuk Mencetak Indeks"<<endl;

for(indeks=0;indeks<8;indeks++) //statement for { cout<<indeks<<endl; }

getch(); }

#include <conio.h>#include <iostream.h>

int a,b;int pangkat,hasil;

int main(){ cout<<"Program Perulangan Untuk Operasi Pangkat (a pangkat b)"<<endl; cout<<"masukkan bilangan pokok : "; cin>>a; cout<<"masukkan nilai pangkat : "; cin>>b;

hasil=1; for(pangkat=0;pangkat<b;pangkat++)//statement for { hasil=hasil*a; }

cout<<"hasil dari "<<a<<" pangkat "<<b<<" adalah "<<hasil<<endl; getch(); }

Page 28: MODUL BP I

Program 3 (contoh for bersarang) :

Contoh Program Penggunaan beberapa jenis perulangan :

28

#include <iostream.h>#include <conio.h>

int main(){ int ukuran;

do { cout<<"Masukkan ukuran persegi: "; cin>>ukuran; }while(ukuran<1||ukuran>20);cout<<endl;for(int i=1; i<= ukuran; i++){for(int j=1; j<=ukuran; j++){if(i==1||j==1||i==ukuran||j==ukuran){cout<<"*";}else{cout<<" ";}} cout<<endl;} getch(); return 0;}

#include <conio.h>#include <iostream.h>

int bil; //variabel untuke menyatakan bilanganint n; //variabel untuk menyatakan banyak bilanganint jumlah; //variabel untuk menentukan byk bilangan ganjilchar pil;

int main(){ cout<<"Program Menghitung Banyak Bilangan Ganjil dari 1-N"<<endl; ulang: cout<<"masukkan banyak bilangan : "; cin>>n; //inisialisasi jumlah=0;

for(bil=1;bil<=n;bil++) { if(bil % 2 == 1) {

Page 29: MODUL BP I

TUGAS/LATIHAN

1. Buatlah sebuah program untuk menghitung : A = ( Bn+ Cm) k

2. Buatlah sebuah program untuk membuat tampilan seperti berikut:

1 1 1 1 1 2 2 2 2 3 3 3 4 4 5

3. Buatlah sebuah program untuk menghitung rumus kombinasi, yaitu :C rn= n!r! (n−r )!

29

jumlah=jumlah+1; cout<<bil<<" "; } } cout<<endl; cout<<"Banyaknya Bilangan Ganjil dari 1-"<<n<<" adalah "<<jumlah<<" buah"<<endl; cout<<"Apakah Anda Ingin Melanjutkan Program (Y/T) ?"<<endl; pil=getche(); cout<<endl; if(pil=='Y' || pil=='y'){goto ulang;} getch();}

Page 30: MODUL BP I

FUNGSI MAIN ()

FUNGSI a () FUNGSI b () FUNGSI c ()

FUNGSI c1 () FUNGSI C2 () FUNGSI c3 ()

Modul VIFUNGSI

Fungsi adalah sekumpulan perintah operasi program yang dapat menerima argumen input dan dapat memberikan hasil output yang dapat berupa nilai ataupun sebuah hasil operasi. Hasil akhir fungsi akan berupa sebuah nilai balik (return) Nama fungsi yang didefinisikan sendiri oleh pemrogram tidak boleh sama dengan nama build-in function pada compiler C++.

Fungsi digunakan agar pemrogram dapat menghindari penulisan bagian program (kode) berulang-ulang, dapat menyusun kode program agar terlihat lebih rapi dan kemudahan dalam debugging program.Parameter adalah nama-nama peubah yang dideklarsikan pada bagian header fungsi.Pemrogram dapat membuat fungsi yang didefinisikan sendiri olehnya.

Bentuk umumnya :

PROTOTIPE FUNGSISebuah fungsi tidak dapat dipanggil kecuali sudah dideklaraikan, deklarasi fungsi

dikenal dengan sebutan prototipe fungsi. Prototipe fungsi berupa : 1. Nama Fungsi 2. Tipe nilai fungsi 3. Jumlah dan tipe argumenDan diakhiri dengan titik koma, sebagaimana pada pendeklarasian variabel. Sebagaicontoh:1. long kuadrat (long l) ;Pada contoh pertama, fungsi kuadrat ( ) mempunyai argumen bertipe long dan nilai

30

Deklarasi parameter{Isi fungsi}

Page 31: MODUL BP I

balik bertipe long.

2. void garis ( );Pada contoh kedua, fungsi garis ( ) tidakmemiliki argumen dan nilai baliknya tidak ada (void).3. double maks (double x, double y)Pada contoh ketiga, fungsi maks( ) mempunyai dua buah argumen, dengan masing-masing argumen bertipe double.

Perhatikan contoh di bawah ini :#include <iostream.h>#include <conio.h>double hasil (int A, int B);

int main (){int x,y;double z;cout<<"Masukkan nilai x = "; cin>>x;cout<<"Masukkan nilai y = "; cin>>y; z=hasil(x,y);cout<<x<<"x"<<y<<"="<<z;getch();}double hasil (int A, int B){ return (A*B);}// statement ini digunakan untuk mengembalikan nilai

Bentuk umum pernyataan return adalah :

Dengan ekspresi adalah sebuah ekspresi yang nilainya dinyatakan untuk sebuah variable yang tipenya sama seperti tipe return. Terdapat juga fungsi yang tidak memberikan nilai balik atau tipe return-nya void.

Perhatikan contoh dibawah ini :#include<conio.h>#include<stdio.h>#include<iostream.h>void garis(){

printf("\n---------------------\n");}//program utamaint main(){

31

return ekspresi;

Page 32: MODUL BP I

garis();//memanggil fungsi gariscout<<"USU MEDAN"<<endl;garis();getch();

}

VARIABEL LOKAL DAN VARIABEL EKSTERNALVariabel lokal adalah variabel yang didefinisikan dalam suatu fungsi tertentu,

sehingga hanya dikenal dalam fungsi tersebut. Dalam hal ini artinya suatu fungsi tidak akan mengenal variabel lokal dan fungsi lain. Suatu fungsi hanya akan mengenal variabel yang didefinisikan dalam fungsi yang bersangkutan.

Variabel eksternal adalah variabel yang bersifat global yang dapat dikenali oleh seluruh fungsi yang terdapat dalam program tersebut. Seluruh fungsi akan mengenal variabel yang bersifat eksternal ini. Variabel eksternal dideklarasikan diluar fungsi dan sejajar dengan prototipe fungsi serta pengarah kompiler.

Perhatikan contoh dibawab ini :#include <iostream.h>#include <conio.h>

int data=100; // variabel eksternal atau globalvoid fungsi_satu(); // prototype fungsivoid fungsi_dua();int main (){int data=200; //variabel lokal main fungsi_satu (); fungsi_dua (); cout<<"nilai data lokal main = "<<data<<endl;getch();} void fungsi_satu(){int data=300; //variabel lokal fungsi_satucout<<"nilai data lokal fungsi_satu = "<<data<<endl;}void fungsi_dua(){cout<<"nilai data lokal fungsi_dua = "<<data<<endl;

}

PARAMETER(ARGUMEN)Parameter adalah sarana komunikasi antar fungsi. Pengertian antar fungsi adalah

antara fungsi dengan fungsi lain termasuk antara fungsi dengan fungsi utama. Dalam pemograman yang melibatkan fungsi, diusahakan agar fumgsi bersifat independen artinya tidak tergantung pada fungsi lain. Setiap fungsi hanya mengerjakan satu tugas tertentu. Antar fungsi saling berkomunikasi menggunakan parameter.

Terdapat dua macam bentuk parameter dalam hubungannya dengan penggunan fungsi dalam program yaitu :

32

Page 33: MODUL BP I

- Parameter Formal : parameter yang diberi nilai. Parameter formal merupakan parameter yang terdapat dalam daftar parameter fungsi.- Parameter Aktual : parameter yang memberi nilai. Parameter fungsi dan digunakan untuk memberi nilai pada parameter formal.

Dalam contoh program perkalian di atas parameter formal terdapat pada pendefinisan fungsi :doublehasil(int A, int B) // parameter formal{return(A * B);}Sedangkan parameter aktual terdapat pada pemanggilan fungsi :void main(){ …………z = hasil(x,y); // parameter aktual…………..}

TUGAS/LATIHAN

1. Buatlah fungsi untuk menghitung luas segitiga?2. Buatlah program rekursi untuk mencari Nilai n faktorial3. Buatlah program dengan cara rekursi untuk menampilkan perkalian 3 buah bilangan tersebut nilainya diinputkan.

33

Page 34: MODUL BP I

Indeks2 mewakili jumlah baris

Indeks2 mewakili jumlah baris

Data [2][3]

MODULVIIARRAY (LARIK)

7.1. LARIKArray(larik) adalah suatu urutan lokasi yang berdampingan(contiguous) yang dapat diakses dengan satu nama tunggal diikuti subskrip integer yang disebut index dari array.Jika a adalah nama array, maka elemen-elemennya diakses menggunakan a[0],a[1],a[2] dan seterusnya. Pada C++ indeks dimulai dari 0.Tipe data larik dapat berupa larik satu demensi, dua demensi, tiga demensi atau banyak dimensi.

Bentuk Umum Larik Satu Dimensi :

Indeks dimulai dari 0 (bukan 1), pengkasesan larik satu dimensi dituliskan :nama_larik [indeks];

Contoh deklarasikan : int data[10];Dapat diilustrasikan sebagai berikut :

Data :

Bentuk Umum Larik Dua Dimensi :

Dalam Larik dua dimensi terdapat dua indeks yang mewakili baris dan kolom.Indeks satu mewakili baris dan indeks kedua mewakili kolom. Pengaksesan larik dua dimensi dituliskan :nama_larik [indkes1] [indeks2];

Contoh deklarasi : int data [3][4];Artinya terdapat variabel yang bernama data yang dideklarasikan dengan larik dua dimensi, dengan jumlah maksimal baris=3 dan kolom=4, sehingga dapat diilustrasikan sebagai berikut:

Data :

34

tipe_larik nama_larik [ukuran]

tipe_larik nama_larik [ukuran1][ukuran2]

0 1 2 .. 9<-- Indeks

1 2 3 4

12

3

Page 35: MODUL BP I

7.2 INISIALISASI LARIKInisialisasi larik adalah proses memberikan nilai kepada array pada saat

mendeklarasikan array. Ada 3 cara insialisasi array di C++: Bersamaan dengan deklarasi variable.

Contoh: String nama[]={“Bejo”,”Benjol”,”Bodoh”}

Inisialisasi dengan mengakses elemen satu per satu.Contoh:

String Nama[3];Nama[0]=”Bejo”;Nama[1]=”Benjol”;Nama[2]=”Bodoh”;

Inisialisasi dengan perulangan agar lebih praktis.Contoh:

int tanggal[31];int b=0;for(int i=0;i<31;i++){

b++;tanggal[i]=b;

}

Misalkan kita memiliki sekumpulan data ujian seorang siswa, ujian pertama bernilai 90, kemudian 95,78,85,dan 100. Sekarang kita ingin menyusunnya sebagai suatu data kumpulan ujian seorang siswa. Dalam array kita menyusunnya sebagai berikut :Nilai[0] = 90;Nilai[1] = 95;Nilai[2] = 78;Nilai[3] = 85;Nilai[4] =100;

Empat pernyataan diatas memberikan nilai kepada array Nilai. Tetapi sebelum kita memberikan nilai kepada array, kita harus mendeklarasikannya terlebih dahulu, yaitu :

int Nilai[5];

Bila kita implementasikan ke dalam C++ menjadi:

35

#include<iostream>#include<conio.h>

using namespace std;int main(){ int Nilai[5]; int i; cout<<"Masukkan data: "<<endl; for(i=0;i<5;i++){ cout<<"Nilai ke-"<<i+1<<" : "; cin>>Nilai[i]; } cout<<"Keseluruhan Nilai: "<<endl; system("cls"); for(i=0;i<5;i++){ cout<<"Nilai ke-"<<i+1<<":"<<Nilai[i]<<endl; } getch();}

Page 36: MODUL BP I

7.4 MENGHITUNG JUMLAH ELEMEN ARRAYKarena fungsi sizeof()mengembalikan jumlah byte yang sesuai dengan argumennya, maka operator tersebut dapat digunakan untuk menemukan jumlah elemen array, misalnya

int array[] = {26,7,82,166};cout<<sizeof(array)/sizeof(int);

akan mengembalikan nilai 4, yaitu sama dengan jumlah elemen yang dimiliki larik.

7.5MELEWATKAN ARRAY SEBAGAI ARGUMEN FUNGSISuatu parameter array dapat dideklarasikan seperti contoh berikut:

void sort(double a[], int n)

Fungsi dipanggil dengan melewatkan nama arraynya sebagai argument, seperti berikut.Sort(a,100);

7.6 OPERASI MATRIXArray multidimensi biasanya dimanfaatkan dalam perhitungan matriks. Operasi matriks meliputi operasi pengurangan, penjumlahan, perkalian dan pembagian.Matriks memungkinkan melaksanakan beberapa perhitungan dalam satu operasi sekaligus. Di dalam praktek hanya akan dibahas operasi penjumlahan dan perkalian matriks, praktikan dapat mengembangkannya menjadi pengurangan dan pembagian Matriks.

7.6.1 Penjumlahan MatriksPenjumlahan matriks dapat dilakukan jika memenuhi syarat: kedua variable matriks mempunyai dimensi yang sama.Contoh: Matriks A2 x3 + Matriks B2x 3= MatriksC2x 3

[ A11 A12 A13A21 A22 A23]+[B11 B12 B13

B21 B22 B23 ]=[C11 C12 C13C21 C22 C23]

Contoh program:

36

#include<iostream>#include<conio.h>

using namespace std;

int main(){ int matriksa[2][3]={{2,1,2},{3,4,3}}; int matriksb[2][3]={{1,2,1},{2,1,3}}; int jumlah[2][3]; for(int i=0;i<2;i++){ for(int j=0;j<3;j++){ jumlah[i][j]=matriksa[i][j]+matriksb[i][j]; } }

Page 37: MODUL BP I

7.6.2 Perkalian Matriks

Untuk dapat melakukan perkalian matriks syarat yang harus dipenuhi adalah: jumlah

kolom matriks A sama dengan jumlah baris matriks B.

Contoh:

Matriks A2 x3 x Matriks B3x 2 = Matriks C2x 2

[ A11 A12 A13A21 A22 A23] x [B11 B12

B21 B22B31 B32

]=[C11 C12C21 C22 ]

Contoh Program:

37

//cetak hasil jumlah for(int i=0;i<2;i++){ for(int j=0;j<3;j++){ cout<<jumlah[i][j]<<"\t"; } cout<<endl<<endl; } getch();}

#include<iostream>#include<conio.h>

using namespace std;int main(){ system("cls"); int mata[2][2]={{2,4},{1,2}}; int matb[2][2]={{1,2},{4,5}}; int i,j,k,a,b;

int matkali[2][2]; for(i=0;i<2;i++){

for(j=0;j<2;j++){ matkali[i][j]=0;

for(k=0;k<2;k++)matkali[i][j]+=(mata[i][k]*matb[k]

[j]);}

}

for(i=0;i<2;i++){ for(j=0;j<2;j++){ cout<<matkali[i][j]<<"\t"; } cout<<endl; } getch();}

Page 38: MODUL BP I

TUGAS/LATIHAN:

1. Buatlah program untuk menghitung indeks dari matriks di bawah ini:

Data[]={13,05,19,91,22,02,19,91}.

2. Buatlah program perkalian dua buah matriks yang dinamis. Contoh: jika user

memasukkan ordo matriks A=2 x 3 dan ordo matriks B=3 x 1 maka hasil kalinya

menjadi matriks dengan ordo C=2 x 1. Jika Matriks A=4 x 2 dan B=2x4 maka C=4 x 4.

(semua kondisi harus dicoba sampai tidak ada error).

38

Page 39: MODUL BP I

MODUL VIII

POINTER

Pointer merupakan suatu jenis perintah yang disediakan oleh bahasa pemrograman untuk

melakukan operasi terhadap suatu alamat memori seperti penunjukkan alamat,

pengaksesan alamat, dan sebagainya.

Konsep dasar dari suatu pointer hanya memberitahukan alamat memori dari suatu data

tersebut.Tanda yang digunakan untuk menunjukkan alamat memori tersebut adalah ‘&’ dan

tanda yang digunakan untuk menampilkan data yang terdapat pada alamat memori

tersebut adalah ‘*’. Format penulisannya yaitu: tanda_pointer+nama_variabel. Contoh: &a,

&aku, *var1, *var2 dan sebagainya.

Penggunaan pointer ini biasanya digunakan untuk membuat struktur data yang dinamis

seperti linked list, stack, queue, tree dan sebagainya serta untuk keperluan lainnya yang

berhubungan dengan pointer tersebut.

Untuk lebih memahami pointer, dapat melakukan latihan-latihan berikut.

Latihan1.(pendeklarasian pointer pada variable)

Latihan2(pendeklarasian pointer pada variable)

39

#include<iostream>#include<conio.h>

using namespace std;int main(){

int ilham,amir,*raka;ilham=75;amir=ilham;raka=&ilham;cout<<”Nilai Ilham = “<<ilham<<endl;cout<<”Nilai Amir = “<<amir<<endl;cout<<”Nilai Raka = “<<raka<<endl;getch();

}

#include<conio.h>#include<iostream>

using namespace std;

int main(){int ilham, *raka,rafli;ilham=75;

Page 40: MODUL BP I

Latihan3(penggunaan pointer pada pointer)

Latihan4(penggunaan pointer pada array)

40

raka=&ilham;rafli=*raka;cout<<”Nilai Ilham = “<<ilham<<endl;cout<<”Nilai Raka = “<<raka<<endl;cout<<”Nilai Rafli = “<<rafli<<endl;getch();

}

#include<iostream>#include<conio.h>

using namespace std;

int main(){int ilham;int *raka;int **amir;ilham=75;cout<<”Nilai Ilham= “<<ilham<<endl;raka=&ilham;amir=&raka;cout<<”Nilai raka hasil mengakses ilham= “<<*raka<<endl;cout<<”Nilai amir hasil mengakses ilham= “<<**amir<<endl;getch();

}

#include<iostream>#include<conio.h>

using namespace std; int main(){

int i;int nilai[5];int *ptrnilai;ptrnilai=nilai;for(i=0;i<5;i++){

cout<<”Masukkan nilai= “;cin>>nilai[i];

}cout<<endl;cout<<”Hasil pengaksesan elemen array lewat pointer”<<endl;for(i=0;i<5;i++){

cout<<”Elemen ke-<<i+1<<” Nilai: “<<nilai[i]<<” Menempati alamat memori “<<&ptrnilai[i];

cout<<endl;}getch();

}

Page 41: MODUL BP I

Latihan5(penggunaan pointer pada string)

TUGAS/LATIHAN

1. Buatlah sebuah program untuk mempertukarkan 3 buah nilai data, yaitu A=3; B=2;

dan C=5; dengan menggunakan pointer tersebut.

2. Buatlah sebuah program mencari dan menampilkan bilangan yang habis dibagi 3 dari

1 sampai 20 serta tampilkan juga alamat memori dari bilangan yang ditampilkan

tersebut.

41

#include<iostream>#include<conio.h>

using namespace std;

int main(){char band_metal[]=”sepulture”;char *band_punk=”rancid”;cout<<”Nama band Metal= “<<band_metal<<endl;cout<<”Nama band Punk = “<<band_punk<<endl;band_punk+=3;cout<<”Nama Band Metal= “<<band_metal<<endl;cout<<”Nama Band Punk = “<<band_punk<<endl;getch();

}

Page 42: MODUL BP I

MODUL IXSTRUCT & CLASS

1. STRUKTUR

Struktur merupakan suatu cara untuk mengelompokkan beberapa jenis data dengan

tipe data yang sama atau berlainan ke dalam struktur tersebut. Struktur memiliki fungsi

yang sama seperti record. Kegunaan pengelompokkan data tersebut untuk mempermudah

mengenal atau mengetahui objek pada beberapa jenis data tersebut. Misalkan, ada

beberapa jenis data, yaitu : nama, nim, tanggal, bulan, dan tahun yang memiliki tipe data

yang berbeda. untuk jenis data: nama dan nim merupakan data yang diambil dari objek

mahasiswa sedangkan untuk jenis data: tanggal,bulan dan tahun data yang diambil dari

objek misalnya tanggal lahir. Dari pengelompokkan tersebut, kita dapat mudah mengenal

objek tersebut. Bentuk umum penulisan struktur dalam C++ adalah sebagai berikut:

Contoh Program:

Program 1:

42

struct nama_struct {

tipe_data nama_variabel1;tipe_data nama_variabel2;…tipe_data nama_variabelN;

}

#include<iostream>#include<conio.h>

using namespace std;struct mahasiswa{ char nama[30]; char nim[10];};

int main(){ mahasiswa mhs;//pemanggilan atau penggunaan struct cout<<"Program menginputkan data mahasiswa"<<endl; cout<<"Masukkan nama mahasiswa:";cin.getline(mhs.nama, sizeof(mhs.nama)); cout<<"Masukkan NIM :";cin>>mhs.nim; cout<<"Nama yang diinputkan adalah "<<mhs.nama<<endl; cout<<"NIM yang diinputkan adalah "<<mhs.nim<<endl; getch();}

Page 43: MODUL BP I

Program 2 (penggunaan struktur di dalam struktur) :

43

#include<iostream>#include<conio.h>

using namespace std;

struct penanggalan{ int tanggal; int bulan; int tahun;};

struct mahasiswa{ char nama[30]; char nim[10]; penanggalan tanggal_lahir;};

int main(){ mahasiswa mhs; cout<<"Program menginputkan Data Mahasiswa"<<endl; cout<<"-----------------------------------"<<endl; cout<<"INPUT PROGRAM"<<endl; cout<<"-----------------------------------"<<endl; cout<<"Masukkan nama Mahasiswa : ";cin.getline(mhs.nama, sizeof(mhs.nama)); cout<<"Masukkan NIM Mahasiswa : ";cin>>mhs.nim; cout<<"Masukkan tanggal lahir"<<endl; cout<<"Tanggal: ";cin>>mhs.tanggal_lahir.tanggal; cout<<"Bulan : ";cin>>mhs.tanggal_lahir.bulan; cout<<"Tahun : ";cin>>mhs.tanggal_lahir.tahun; cout<<endl;

cout<<"OUTPUT PROGRAM"<<endl; cout<<"==================================="<<endl; cout<<"Nama yang diinputkan : "<<mhs.nama<<endl; cout<<"NIM yang diinputkan : "<<mhs.nim<<endl; cout<<"Tanggal lahir yang diinputkan :"<<mhs.tanggal_lahir.tanggal<<"-"<<mhs.tanggal_lahir.bulan<<"-"<<mhs.tanggal_lahir.tahun<<endl; getch();}

Page 44: MODUL BP I

Program 3 (penggunaan struktur di dalam fungsi) :

Penggunaan struktur di dalam fungsi sama halnya dengan penggunaan variabel pada fungsi,

seperti penggunan dalam argument atau parameter fungsi. Contoh programnya, yaitu :

Program 4 (penggunaan struktur pada array):

44

#include<iostream>#include<conio.h>

using namespace std;

struct koordinat{ int x; int y;};

int tampilkan_posisi(koordinat posisi);

int main(){ koordinat posisi; cout<<"Program menampilkan koodinat cartesius"<<endl; cout<<"--------------------------------------"<<endl; posisi.x=4; posisi.y=3; tampilkan_posisi(posisi); getch();}

int tampilkan_posisi(koordinat posisi){ cout<<"Posisi pada sumbu X: "<<posisi.x<<endl; cout<<"Posisi pada sumbu Y: "<<posisi.y<<endl;}

#include<iostream>#include<conio.h>

using namespace std;

int n,i;struct mahasiswa{ char nama[30]; char nim[10];};

int main(){ mahasiswa mhs[10]; cout<<"Program menginputkan Data mahasiswa"<<endl; cout<<"Masukkan banyak data: ";cin>>n; cin.ignore(); for(i=1;i<=n;i++) { cout<<"DATA ke-"<<i<<endl; cout<<"Masukkan Nama Mahasiswa : ";cin>>mhs[i].nama;

Page 45: MODUL BP I

TUGAS/LATIHAN

1) Buatlah sebuah program dengan menggunakan struktur untuk memasukkan data

(lebih dari satu data) pegawai perusahaan yang terdiri dari NIP, Nama, Tanggal

lahir, Agama dan Golongan kemudian mencetak (menampilkan) ke layar hasil input

tersebut.

2) Buatlah program pengganjian pegawai tersebut (pada soal no.1)jika gaji tiap

golongan adalah sebagai berikut : GOL 5A = Rp 6.000.000,00. , GOL 4A= Rp

5.000.000,00. Dan GOL 3A = Rp 3.000.000,00.

3) Buatlah sebuah program dengan menggunakan struktur menginput barang masuk

(kode barang, nama barang, jumlah barang dan tanggal masuk) dan barang keluar

(kode barang, nama barang, jumlah keluar dan tanggal keluar) serta tampilkan ke

layar hasil input tersebut.

2. CLASS

Kelas merupakan struktur data dari suatu objek, dan merupakan elemen dasar

pemrograman berorientasi objek. Untuk menjelaskan tentang kelas, marilah kita lihat

perbandingan dengan struktur, mengingat:

Struktur bermanfaat untuk mengelompokkan sejumlah data dengan tipe yang

berlainan.

Struktur mempunyai persamaan dengan kelas.

Perhatikan contoh di bawah ini:

45

#include<iostream>#include<conio.h>

using namespace std;

int n,i;struct mahasiswa{ char nama[30]; char nim[10];};

int main(){ mahasiswa mhs[10]; cout<<"Program menginputkan Data mahasiswa"<<endl; cout<<"Masukkan banyak data: ";cin>>n; cin.ignore(); for(i=1;i<=n;i++) { cout<<"DATA ke-"<<i<<endl; cout<<"Masukkan Nama Mahasiswa : ";cin>>mhs[i].nama;

cout<<"Masukkan NIM Mahasiswa : ";cin>>mhs[i].nim; } for(i=1;i<=n;i++) { cout<<"DATA ke-"<<i<<endl; cout<<"Nama yang diinputkan : "<<mhs[i].nama<<endl; cout<<"NIM yang diinput : "<<mhs[i].nim<<endl; } getch();}

Page 46: MODUL BP I

Selain itu kita dapat memproteksi data dari program kita dengan izin akses pada tiap data

dengan menggunakan:

1. Public

Menyatakan bahwa yang ada dibawahnya bersifat public atau dapat diakses dari luar

kelas.

2. Private

Menyatakan bahwa yang ada dibawahnya bersifat atau dapat diakses dari dalam

kelas, agar tidak dapat diakses dari luar kelas secara langsung.Hal ini digunakan

untuk memproteksi anggota-anggota elemen pada kelas.

Latihan1:

46

struct buku{char judul[35];char pengarang[25];int jumlah;

};

class buku{char judul[35];char pengarang[25];int jumlah;

};

#include<iostream.h>#include<conio.h>#include<string.h>#include<iomanip.h>

class motor{public:

char merk[50];char jenis[50];double harga;int stok;

};

motor sport;

int main(){strcpy(sport.merk,”Honda CB1100SFx11”);strcpy(sport.jenis,”HONDA”);sport.harga=6780000;sport.stok=150;cout<<”Merk Motor sport= “<<sport.merk<<endl;cout<<”Jenis motor = “<<sport.jenis<<endl;cout<<”setiosflags(ios::fixed);cout<<”Harga motor= “;cout<<setprecision(0)<<sport.harga<<endl;cout<<”Stock motor = “<<sport.stok<<endl;getch();

}

Page 47: MODUL BP I

Latihan2:

TUGAS/LATIHAN

1. Buatlah program dengan menggunakan kelas untuk menghitung gaji pegawai suatu

perusahaan dengan ketentuan sebagai berikut.

a. Honor per-hari yang diterima pegawai sebesar Rp 25.000

b. Jam kerja selama 8 jam setiap harinya.

c. Jika bekerja lebih dari 8 jam, maka kelebihan jam dikalikan dengan honor

lembur per-jam sebesar Rp 1.500.

47

#include<iostream.h>#include<conio.h>#include<string.h>#include<iomanip.h>

class motor{private:char merk[50];char jenis[50];double harga;int stok;public;int daftar(char *merk, char *jenis, double harga, int stok){strcpy(merk,merk);strcpy(jenis,jenis);harga=harga;stok=stok;}int jalankan(){

cout<<”Merk Motor Sport= “<<sport.merk<<endl;cout<<”Jenis motor = “<<sport.jenis<<endl;cout<<setiosflags(ios::fixed);cout<<”Harga Motor = “;cout<<”setprecision(0)<<sport.harga<<endl;cout<<”Stok Motor = “<<sport.stok<<endl;

}};

int main(){motor sport;sport.daftar(“Honda ver 750f”,”HONDA”,17800,15);sport.jalankan();getch();

}

Page 48: MODUL BP I

MODUL X

HEADER

Header merupakan suatu file yang berisikan data, operasi, fungsi dan sebagainya

yang berasal dari bawaan aplikasi bahasa pemrograman atau file yang diciptakan sendiri.

Ektensi file header yaitu *.h. Pemanggilan file header ini digunakan untuk menggunakan

data, operasi atau fungsi yang terdapat pada file tersebut. Pemanggilan file header

dilakukan pada awal membuat program. Cara pemanggilan file header ini adalah sebagai

berikut :

#include < namafile >→ pemanggilan file ini dilakukan apabila file header

merupakan file bawaan yang terdapat pada folder

include dari aplikasi bahasa pemrograman.

Contoh: #include<iostream.h>, #include<stdio.h>, #include<conio.h> dan sebagainya

#include “ namafile “→ pemanggilan file ini dilakukan apabila file header

merupakan ciptaan atau buatan kita sendiri.

Contoh :#include “fileheader1.h”, #include “fungsi1.h” dan sebagainya.

Contoh program:

Program 1:

*pertama – tama, membuat file header berikut dan simpan dengan nama sintaks.h

48

#define mulai {#define akhir }#define utama() main()#define cetak cout#define masukkan cin#define jika if#define ulangi for#define tahan() getch()

Page 49: MODUL BP I

*selanjutnya, membuat program dengan menggunakan file header di atas

Program 2 (membuat file header yang berisikan fungsi) :

*pertama – tama, membuat file header berikut dan simpan dengan namafpangkat.h

*selanjutnya, membuat program dengan menggunakan file header di atas

49

#include <conio.h> //pemanggilan file header bawaan#include <iostream.h>#include "sintaks.h" //pemanggilan file header yang dibuat

int a,b;

int utama()mulai cetak<<"masukkan sebuah bilangan : "; masukkan>>a; jika(a % 2 == 0) mulai cetak<<"bilangan genap"; akhir else mulai cetak<<"bilangan ganjil"; akhir tahan();akhir

#include<stdio.h>

int pangkat(int bil,int pangkat){ int hasil,i; hasil=1; for(i=0;i<pangkat;i++) { hasil = hasil * bil; } cout<<hasil<<endl;}

#include <conio.h> //pemanggilan file header bawaan#include <iostream.h>#include "fpangkat.h" //pemanggilan file header yang dibuat

int a,b;

int main(){ cout<<"Masukkan bilangan : "; cin>>a; cout<<"Masukkan pangkat : "; cin>>b; pangkat(a,b); getch();}

Page 50: MODUL BP I

Program 3 (membuat file header dengan menggunakan file header lainnya) :

*pertama – tama, membuat file header berikut dan simpan dengan nama fpangkat.h

*selanjutnya, membuat program seperti program 2 dengan menggunakan file header di

atas

TUGAS/LATIHAN

1) Buatlah sebuah file header untuk membuat sintaks program sesuai bahasa daerah

anda beserta program untuk menggunakan file header tersebut.

2) Buatlah sebuah file header yang berisikan sebuah fungsi untuk menghitung jumlah

deret : 1+2+3+…+N beserta program untuk menggunakan file header tersebut.

3) Buatlah sebuah file header yang berisikan sebuah fungsi untuk menghitung factorial

n! beserta program untuk memanggil file header tersebut.

50

#include<stdio.h>#include "sintaks.h" //pemanggilan file header buatan lainnya pada file header ini

int pangkat(int bil,int pangkat)mulai int hasil,i; hasil=1; ulangi(i=0;i<pangkat;i++) mulai hasil = hasil * bil; akhir cetak<<hasil<<endl;akhir