Anda di halaman 1dari 48

LAPORAN MATA KULIAH

PRAKTIKUM
ALGORITMA DAN PEMROGRAMAN I

Oleh

Nama : Desty Rodiah


NIM : 09071002034

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS ILMU KOMPUTER
UNIVERSITAS SRIWIJAYA
2007/2008

1
DAFTAR ISI

I. Pendahuluan………………………………..……………………………

II. Pengenalan C++……………………..

…………………………………..5

III. Variabel type data………………...

……………………………………8

IV. Operator dan Statemen I/O………………………………..………

16

V. Pemilihan………………………………..……………….

……………..18

VI. Pengulangan…………………………..……………….

……………….27

VII. Prosedur…………………………………………..….

………………….38

VIII. Fungsi……………………………………………….

…………………….41

IX. Array………………………………….

………………………………… ..45

2
I. PENDAHULUAN

1.1. ALGORITMA

Algoritma adalah urutan aksi-aksi yang dinyatakan dengan jelas


dan tidak rancu untuk memecahkan suatu masalah dalam rentang
waktu tertentu. Setiap aksi harus dapat dikerjakan dan mempunyai
efek tertentu.
Algoritma dapat dituliskan dengan banyak cara, mulai dari
menggunakan bahasa alami yang digunakan sehari-hari, simbol grafik
bagan alir, sampai menggunakan bahasa pemograman seperti bahasa
C atau C++.

1.2. C & C++

Berbicara tentang C++ biasanya tidak lepas dari C, sebagai


bahasa pendahulunya.C adalah bahasa pemrograman yang dapat
dikatakan berada antara bahasa beraras rendah (bahasa yang
berorientasi ke bahasa mesin ) dan bahasa beraras tinggi (bahasa
yang berorientasi ke manusia).Pencipta C adalah Brian W. Kerninghan
dan Dennis M. Ritchie pada sekitar tahun 1972.Tujuannya adalah
mempermudah dalam pembuatan dan pengembangan
program.Program yang ditulis dengan menggunakan C mudah sekali
untuk dipindahkan dari satu jenis mesin ke jenis mesin lainnya.Sekitar
satu dekade setelahnya diciptakanlah C++, oleh Bjarne Stroustrup dari
Laboratorium Bell, AT&T, pada tahun 1983. C++ cukup kompatibel
dengan bahasa pendahulunya C. Pada mulanya C++ disebut “ a better
C “. Nama C++ sendiri diberikan oleh Rick Mascitti pada tahun 1983,
yang berasal dari operator increment pada bahasa C.
Keistimewaan yang sangat berari dari C++ ini adalah karena
bahasa ini mendukung pemrograman yang berorientasi objek ( OOP /
Object Oriented Programming).Tujuan utama pembuatan bahasa C++
adalah untuk meningkatakan prokdutivitas pemrograman dalam
membuat aplikasi.

3
1.3. LANGKAH-LANGKAH MENULISKAN PROGRAM DALAM
TURBO C++
Langkah-langkahnya :
1. Bukalah software Turbo C++, akan terlihat tampilan awal Turbo
C++
sebagai berikut :

2. Tulis source code program bahasa C++.


Source code C++ dapat ditulis pada text editor Turbo C++.
3. Kompile file dengan (ALT + C atau pilih submenu Compile)
Kompile file dijalankan Untuk mengubah source code menjadi
sebuah program, kita gunakan compiler. Setelah source code
tercompile, terbentuklah sebuah file objek dengan ekstension
“ .obj “. File “ .obj “ ini belum merupakan sebuah program
executable.

4. Jalankan Program dengan (CTRL+F9 atau pilih submenu Run)

4
Setelah kita kompile file yang berisi source code, maka sebagai
hasil kompilasi tersebut kita akan mendapatkan suatu file yang
bisa dijalankan (executable file). Menjalankan program yang kita
buat berarti menjalankan file hasil proses kompilasi tersebut.

5. Untuk menyimpan pilih menu Save As

II. PENGENALAN C++

Setiap program C++ mempunyai bentuk seperti di bawah, yaitu:


# prepocessor directive
void main()
{
// Batang Tubuh Program Utama
}
Penjelasan :
2.1. INCLUDE
Adalah salah satu pengarah prepocessor directive yang tersedia
pada C++. Preprocessor selalu dijalankan terlebih dahulu pada saat
proses kompilasi terjadi. Bentuk umumnya :
# include <nama_file>

tidak diakhiri dengan tanda semicolon, karena bentuk tersebut


bukanlah suatu bentuk pernyataan, tetapi merupakan prepocessor
directive. Baris tersebut menginstrusikan kepada kompiler yang
menyisipkan file lain dalam hal ini file yang berakhiran .h(file header)
yaitu file yang berisi sebagai deklarasi contohnya:
o #include<iostream.h> : Diperlukan pada program yang
melibatkan objek cout
o #include<conio.h> : Diperlukan bila melibatkan
clscr(),yang perintah unrtuk
membersihkan layar.
o #include<iomanip.h> : Diperlukan bila melibatkan setw()
yang bermanfaat untuk mengatur
lebar dari suatu tampilan data
o #include<math.h> : Diperlukan pada program yang
menngunakan operasi sqrt() yang
bermanfaat untuk operasi matematika
kuadrat.

5
2.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( ). Berarti dalam setiap pembuatan program utama, maka
dapat dipastikan seorang pemrogram menggunakan minimal sebuah
fungsi.
main adalah nama judul fungsi.Sedangkan :
{
cout << “ Hallo Dunia”<<endl;
}
(dimulai dari tabda { hingga tanda} ) disebut tubuh fungsi.Lebih
spesifik lagi,semua yang terletak didaalm tanda {} disebut blok.
Tanda () digunakan untuk mengapit argumen fungsi,yaitu nilai
yang akan dilewaatkan ke fungsi.Tanda { pada fungsi main()
menyatakan awal eksekusi program.Adapun } pada fungsi main
merupakan akhir eksekusi program.
Kata void yang mendahului main() dipakai untuk menyatakan
bahwa fungsi ini tidak memiliki nilai balik
Fungsi yanga akn dieksekusi pertama kali oleh c++

Menyaatakan bahea fungsi main tidak memiliki nilai balik

Menyatakan bahwa fungsi tidak memiliki argumen

Void main ()
Batas atas program
{

cout<<”Hallo dunia”<<endl;

}
pernyataan
Tubuh Fungsi main ()
Batas akhir program

2.3. KOMENTAR
Komentar merupakan bagian yang penting dalam
program.Kehadirannya sangat membantu pemrogram taupun orang
lain dalm memahami program,karena berupa penjelasan mengenai
program atau bagian-bagian dari program.Komentar tidak pernah
dicompile oleh compiler. Dalam C++ terdapat 2 jenis komentar, yaitu :

Jenis 1 : /* Komentar anda diletakkan di dalam ini


Bisa mengapit lebih dari satu baris */
Jenis 2 : // Komentar anda diletakkan disini ( hanya bisa perbaris )

6
2.4. TANDA SEMICOLON
Tanda semicolon “ ; ” digunakan untuk mengakhiri sebuah
pernyataan. Setiap pernyataan harus diakhiri dengan sebuah tanda
semicolon.

2.5. MENGENAL COUT (dibaca : C out)


Pernyataan cout merupakan sebuah objek di dalam C++, yang
digunakan untuk mengarahkan data ke dalam standar output (cetak
pada layar).
Contoh :
Tampilkan pada layar : Hallo dunia
Nama saya : Desty Rodiah
Ini adalah program prtama saya
Maka cara menuliskannya pada turbo c++ :
# include <iostream.h>
void main() //fungsi pertama untuk memulai program
{
cout<<"Hallo dunia"<<endl; //isi program
cout<<"Nama saya : Desty rodiah"<<endl; //isi program
cout<<"Ini adalah program pertama saya"<<endl; //isi program
}

7
Hasil
eksekusinya

Penulisan pada
turbo C++

Pada cout di sisipkan tanda “<<” yang merupakan sebuah operator


yang disebut operator “penyisipan/ peletakan”Setelah hasil di compile
maka cout ,endl, include<iostream.h>, dan void main tidak ikut
dieksekusi,hanya pernyataan yang ada didalam cout yang dieksekusi.

VARIABEL, TIPE DATA

3.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 variable
bisa diubah-ubah sesuai kebutuhan. Untuk memperoleh nilai dari suatu
variable digunakan pernyataan penugasan (assignment statement),
yang mempunyai sintaks sebagai berikut :

variable = ekspresi ;

Nama dari suatu variable dapat ditentukan sendiri oleh pemrogram


dengan aturan sebagai berikut :

8
1. Terdiri dari gabungan huruf dan angka dengan karakter pertama
harus berupa huruf. Bahasa C ++ bersifat case-sensitive
artinya huruf besar dan kecil dianggap berbeda. Jadi antara
nama, Nama dan NaMa dianggap berbeda.
2. Tidak boleh mengandung spasi. Kalaupun diperlukan maka yang
digunakan adalah tanda underscore “_”.
3. Tidak boleh mengandung simbol-simbol khusus.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, dsb.

Contoh penamaan variable yang salah :


%nilai_mahasiswa, 80mahasiswa, rata-rata, ada spasi, penting!, dsb

3.2 DEKLARASI
Deklarasi diperlukan bila kita akan menggunakan pengenal
(identifier) dalam program. Identifier dapat berupa variable, konstanta
dan fungsi.

1. Deklarasi Variabel
Bentuk umumnya :

Nama_tipe nama_variabel ;

Misalnya :
int x; //x di sini sebagai variabel bertype integer
float luas; //luas adalah variabel bertype float
dsb.
Contoh 1:
Buatlah sebuah program menghitung volume balok dengan panjang =
2,lebar = 2,dan tinggi = 1.type data tinggi,panjang, lebar dan volume
adalah integer.
Maka penulisan pada turbo C++ :
#include <iostream.h>
void main ()
{
Int volume,panjang,lebar,tinggi; //volume, panjang, lebar, dan
tinggi sebagai variable bertype integer
panjang = 2; //nilai dari panjang sudah ditentukan yaitu 2
lebar=2; //nilai dari lebar sudah ditentukan yaitu 2

9
tinggi =1; //nilai dari tinggi sudah diketahui yaitu 1
volume =panjang*lebar*tinggi; //deklarasi rumus volume
cout<<"volume balok adalah "<<volume;
}

Hasil
eksekusinya

Penulisan pada
turbo C++

Pada contoh diatas volume,panjang,lebar dan tinggi sebagai variable


bertype integer yaitu nilai panjang ,lebar, tinggi dan volume
merupakan bilangan bulat.Nilai daari panjang,lebar dan tinggi sudah
diketahui yaiut 2,2,dan 1.Dan akan menghasilkan nilai bilangan positif
sehingga type data dari volume adalah integer.
Contoh 2 :
Buatlah program menghitung niali m ,yang rumusnya adalah :
 a −b   b 
m =  × 1 − 
 3ac   cd 
Dengan a,b,c,d sebagai masukan
Maka penulisan pada c++:
#include <iostream.h>
void main ()
{
float a,b,c,d,m; //a,b,c,d,m menggunakan type data float
cout<<"masukkan a : ";cin>>a; // nilai a sebagai masukan

10
cout<<"masukkan b : ";cin>>b; // nilai b sebagai masukan
cout<<"masukkan c : ";cin>>c; // nilai c sebagai masukan
cout<<"masukkan d : ";cin>>d; // nilai d sebagai masukan
m=((a-b)/(3*a*c))*(1-(b/(c*d))); //deklarasi rumus
cout<<"nilai m adalah"<<m<<endl;
}

Hasil
eksekusinya

Penulisan pada
turbo C++

Pada contoh diatas a,b,c,d, dan m menggunakan type data float


karena pada rumus terdapat pembagian yang memungkinkan
mandapatkan hasil bilangan desimal oleh karena itu menggunakan
type data float.Lalu a,b,c, dan d menggunakan objek baru yaitu cin
(baca C in).Objek ini bermanfaat untuk membaca data dari standard
input (keyboard).

Contoh 3 :
Buatlah sebuah program untuk menghitung rumus !
− b + 2c 2 + 4ab
x=
2c
a,b,dan c sebgai masukan
Maka penulisan pada c++ pada
Penulisan
#include <iostream.h>turbo C++

Penulisan pada
turbo C++
11
void main ()
{
float a,b,c,x; // type data berupa float
cout<<"masukkan a : ";cin>>a; // a sebagai masukan
cout<<"masukkan b : ";cin>>b; // b sebagai masukan
cout<<"masukkan c : ";cin>>c; // c sebagai masukan
x=(-b+2*c*c+4*a*b)/(2*c); // deklarasi rumus
cout<<"nilai x adalah"<<x<<endl; // mengeluarkan hasil x
}

Hasil
eksekusinya

Penulisan pada
turbo C++

Pada contoh diatas sama seperti contoh sebelumnya a,b,c,x


menggunakan type float sebab didalam rumus terdapat pembagian
yang dapat menghasilkan nilai yang bernilai decimal.a,b,c sebagai
variable pengganti yang dapat menggantikan nilai yang dimasukkan
oleh user dari keyboard.Dengan menggunakan objek cin.

2. Deklarasi Konstanta

a. Menggunakan keyword const


Contoh : const float PI = 3.14152965;
Berbeda dengan variable, konstanta bernama tidak dapat diubah
jika telah diinisialisasi

b. Menggunakan #define
Contoh : #define PI 3.14152965

12
Keuntungan menggunakan #define apabila dibandingkan dengan
const adalah kecepatan kompilasi, karena sebelum kompilasi
dilaksanakan, kompiler pertama kali mencari symbol #define (oleh
sebab itu mengapa # dikatakan prepocessor directive) dan
mengganti semua Phi dengan nilai 3.14152965.

Contoh 4:
Buat program menghitung volume bola dengan phi sebagai konstanta
dan jari-jari sebagai masukan.
Maka penulisan pada C++
#include <iostream.h>
void main ()
{
const float phi=3.14; // phi menggunakan type data const float
float volume,jari_jari; //volume dan jari-jari menggunakan
typedata float
cout<<"masukkan jari_jari bola";cin>>jari_jari; // jari-jari
sebagai masukan
volume =1.33*phi*jari_jari*jari_jari*jari_jari; //deklarasi rumus
volume
cout<<"volume bola adalah"<<volume; //mengeluarkan hasil
}

13
Hasil
eksekusinya

Penulisan pada
turbo C++

Pada contoh diatas variable phi menggunakan type data float karena
nilainya sudah pasti 3,14.Namun pada penulisan bukan ditulis (3,14)
namun ditulis (3.14) karena turbo c++ tidak dapat membaca tanda
(,),Apabila tertulis tanda (,) tidak akan menyebabkan eror namun hasil
yang didapatkan salah.Untuk jari-jari dan volume menggunakan type
data float karena phi merupakan bilangan decimal maka ada
kemungkinan untuk mengasilakn bilangan decimal pula.

3.3 TIPE DATA

Tipe data dapat dikelompokkan menjadi atas dua macam :


1. Tipe Dasar.
2. Tipe Bentukkan.

1.Tipe Dasar

Adalah tipe yang dapat langsung dipakai.


TIPE UKURAN JANGKAUAN NILAI JUMLAH
DASAR MEMORI DIGIT
(byte) PRESISI
Char 1 -128 hingga +127 -
Int 2 -32768 -
hingga+32767
Long 4 -2.147438648 hingga -

14
+2.147.438.647
Float 4 3,4E-38 hingga 6-7
3,4E38
Double 8 1.7E-308 hingga 15-16
1.7E308
Long 10 3.4E-4932 hingga 19
Double 1.1E4932

Tipe data yang berhubungan dengan bilangan bulat adalah char, int ,
long. Sedangkan lainnya berhubungan dengan bilangan pecahan.
Type dasar dapat dibagi menjadi 2:
a. Karakter & string literal
b. Keyword & identifier

a. Karakter & string literal

String adalah gabungan dari karakter

Contoh : “Hallo”  Literal String


“I”  Karakter
Panjang string
Jika kita ingin menghitung panajang string, maka kita dapat
menggunakan fungsi strlen(). Fungsi strlen() dideklarasikan dalam file
string.h. Sehingga jika kita ingin menggunakan fungsi strlen(), kita
harus mengunakan preprocessor directive #include<string.h> pada
program diatas main().

Contoh 5:

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

void main()
{
cout<<strlen("Fakultas Ilmu komputer")<<endl;
cout<<strlen("Teknik informatika")<<endl;
cout<<strlen("unsri")<<endl;
}
Outputnya :
22
18
5
Dalam C++, terdapat beberapa karakter khusus yang disebut escape
sequence character, yaitu

KARAKTER KETERANGAN

15
Penulisan pada
turbo C++
\0 Karakter ber-ASCII nol(karakter null)
\a Karakter bell
\b Karakter backspace
\f Karakter ganti halaman
\n Karakter baris baru(newline)
\r Karakter carriage return(ke awal baris)
\t Karakter tab horizontal
\v Karakter tab vertikal
\\ Karakter \

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

2. Type Bentukan
Merupakan tipe yang dibentuk dari tipe dasar. Dapat juga
dikatakan tipe yang terstruktur.
a. Type struktur
Struktur terdiri dari data ang disebut field.
Bentuk umumnya:

typedef struct{ tipe


nama_field1;
tipe nama_field2;
tipe nama_field3;
……
} nama_variabel;
Contoh 6:
#include<iostream.h>

typedef struct { int tahun;


int bulan;
int tanggal;
} data_tunggal;
data_tunggal tanggal_lahir;
void main()
{
tanggal_lahir.tanggal=21;
tanggal_lahir.bulan=12;
tanggal_lahir.tahun=1989;
cout<<tanggal_lahir.tanggal<<’/’
<<tanggal_lahir.tanggal<<’/’
<<tanggal_lahir.tanggal<<endl;
}

16
IV. OPERATOR DAN STATEMENT I/O
4.1 OPERATOR
Operator adalah symbol yang biasa dilibatkan dalam program
untuk melakukan sesuatu operasi atau manipulasi.

1. OPERATOR PENUGASAN
Opeartor penugasan dalam bahasa C++ berupa tanda sama
dengan(“=”).

2. OPERATOR ARITMATIKA

OPERATOR DESKRIPSI CONTOH


+ Penjumlahan(add) m+n
- Pengurangan(Substract) m-n
* Perkalian(Multiply) m*n
/ Pembagian(Divide) m/n
% Sisa Pembagian Integer(Modulus) m%n
- Negasi(Negate) -m
Contoh 1:
#include<iostream.h>
void main()
{
int m=54, n=5;

cout<<m<<”+”<<n<<”=”<< m + n <<endl;
cout<<m<<”-”<<n<<”=”<< m - n <<endl;
cout<<m<<”*”<<n<<”=”<< m * n <<endl;
cout<<m<<”/”<<n<<”=”<< m / n <<endl;
cout<<m<<”%”<<n<<”=”<< m % n <<endl;
cout<<”-”<<m<<”=”<<-m <<endl;
}

Outputnya:
54 + 5=59
54 - 5=49
54 * 5=270
54 / 5=10
54 % 5=4
-54 = -54

3. OPERATOR HUBUNGAN(PERBANDINGAN)

OPERATOR ARTI CONTOH


== Sama X== Apakah X sama dengan Y
Dengan(bukan Y
assignment)
!= Tidak sama X!=Y Apakah X tidak sama dengan

17
dengan Y
> Lebih besar X>Y Apakah X lebih besar Y
< Lebih kecil X<Y Apakah X lebih kecil Y
>= Lebih besar atau X>= Apakah X lebih dari sama
sama dengan Y dengan Y
<= Lebih kecil atau X<= Apakah X kurang dari sama
sama dengan Y dengan Y

4. OPERATOR NAIK DAN TURUN(INCREMENT DAN DECREMENT)


Operator Increment  ++
Operator Decrement --
Operator pre-increment dan post-decrement mempunyai fungsi
yang sama yaitu, untuk menambah atau mengurangi satu nilai.

5. OPERATOR BITWISE

OPERATOR DESKRIPSI CONTOH


<< Geser n bit ke kiri M << N
>> Geser n bit ke kanan M >> N
& Bitwise AND M&N
I Bitwise OR MIN
^ Bitwise XOR M^N
~ Bitwise NOT ~M
NB : Seluruh operator bitwise hanya bisa dikenakan pada operand
bertipe data int atau chaR.

6 . OPERATOR LOGIKA
Operator logika digunakan untuk menghubungkan dua atau lebih
ungkapan menjadi sebuah ungkapan berkondisi.

OPERATOR DESKRIPSI CONTOH


&& Logic AND m && n
II Logic OR m II n
! Logic NOT !m

18
V. PEMILIHAN
Suatu struktur dasar Algoritma yang memiliki satu atau lebih
kondisi tertentu dimana sebuah instruksi dilaksanakan jika sebuah
kondisi/persyaratan terpenuhi. Ada beberapa struktur dasar pemilihan:

5.1 PERNYATAAN if

Suatu pernyataan yang dapat dipakai untuk mengambil


keputusan berdasarkan suatu kondisi.Bentuk pernyataan bentuk ini
ada dua macam:
o if saja dan
o else
Pada kedua bentuk pernyataan ini,kondisi yang digunakan dapat
menggunakan kondisi ungkapan.Ungkapan ini dapat melibatkan
operator relasi ,misalnya ==,atau operator logika seperti && atau ||.

Bentuk Umumnya Satu Kasus

Pernyataan dilaksanakan jika dan hanya jika kondisi yang ingin


terpenuhi, jika tidak program tidak memberkan hasil apa-apa.
Pernyataan if yang paling sederhana berbentuk :

if (kondisi)
pernyataan;

o Kondisi digunakan untuk menentukan pengambilan keputusan


o Pernyataan dapat berupa sebuah pernyataan ataupun
pernyataan majemuk>bagian ini dijalankan hanya kalau kondisi
bernilai benar(bernilai tidak sama dengan nol).

19
Contoh 1:
Buatlah program mencetak “bilangan genap”,jika sebuah bilangan
bulat yang dibaca merupakan bilangan genap!

Maka penulisan pada C++ :


#include<iostream.h>
void main()
{ //batas awal program
int bil;
cout<<"Masukkan sebuah bilangan : ";
cin>>bil; // input bilangan

if (bil %2 ==0) // kondisi


{ // batas awal if
cout<<"Bilangan genap"<<endl;
} // batas akhir if
} // batas akhir program

Hasil
eksekusinya

Penulisan pada
turbo C++

Pada contoh diatas terdapat permasalahan yang mengkondisikan jika


sebuah bilangan yang dimasukkan oleh user mod 2 = 0 maka akan
dieksekusi bilangan genap.Namun jika bilangan yang dimasukkan bila
mod 2 != 0 maka tidak dieksekusi oleh program.

20
Bentuk Umum Dua Kasus:

if (kondisi)
pernyataan1;
else
pernyataan2;

Pernyataan 1 dilaksanakan jika dan hanya jika kondisi yang


ingin terpenuhi, jika tidak, lakukan pernyataan 1. Jika kita tidak
menggunakan pernyataan else, program tidak akan error, namun jika
kita menggunakan pernyataan else tanpa didahului dengan
pernyataan if, maka program akan error. Jika pernyataan 1 atau
pernyataan 2 hanya terdiri atas baris, makan kurung kurawal({ })
tidak diperlukan.

Bentuk Umum Banyak Kasus:

if (kondisi)
{
Pernyataan1;
Pernyataan1a;
Peryataan1b;
}
else
{
Pernyataan 2;
Pernyataan2a;
Pernyataan2b;
}
Contoh 2:
Buat program menentukan kelulusan SPMB melalui nilai SPMB dan
matematika IPA.Dengan ketentuan nilai SPMB >50 dan nilai
matematika IPA > 70 maka apabila memenuhi buat pernyataan “Lulus
di IF Unsri Layo”.Jika tidak buat pernyataan “Anda lulus di UNSRI layo
tapi tahun depan”.
Maka penulisan pada C++ :

#include <iostream.h>
void main()
{ //batas awal program
int nilai; //type data nilai
int mtk; //type data mtk
cout<<".::Program penentuan lulus spmb::.\n\n";
cout<<"Masukkan nilai anda";
cin>>nilai; // masukan nilai SPMB
cout<<"Masukkan nilai matematika ipa anda";

21
cin>>mtk; // masukan nilai matematika IPA

if ((nilai>50) && (mtk>70))


{ //batas atas if
cout<<"Anda lulus di IF UNSRI Layo"<<endl; //peryataan jika
kondisi terpenuhi
} //batas akhir if

else
{ //batas awal else
cout<<"Anda lulus di IF UNSRI Layo tapi tahun depan"<<endl;
//penyataan jika kondisi tidak terpenuhi
} // batas akhir else
} //batas akhir program

Hasil
eksekusinya

Penulisan pada
turbo C++

Pada contoh diatas terdapat kondisi jika nilai SPMB bernilai lebih besar
dari 60 dan nilai matematika IPA lebih besar dari 70 maka muncul
pernyataan Anda lulus di IF UNSRI layo.jika tidak maka pernyataan
yang keluar adalah Anda lulus di IF UNSRI layo tapi tahun
depan.Pernyataan pertama akan muncul jika kedua kondisi terpenuhi
namun jika salah satu saja kondisi tidak terpenuhi maka pernyataan
kedua yang akan muncul.Kedua kondisi ini dihubungkan oleh operator
“&&” yang menyatakan kedua kondisi harus terpenuhi (lihat operator
logika).Menggunakan tanda “{“ daan “}” untuk membatasi pemilihan.

Pernyataan if didalam if
Pernyataan if yang terletak didalam if sering disebut dengan
nested if atau if bersarang.Salh satu bentuknya :

22
if (kondisi1)
pernyataan1;
else if (kondisi2)
pernyataan2;
else if (kondisi3)
pernyataan3;
else if (kondisiM)
pernyataanM;
else /*Opsional*/
pernyataanN; /*Opsional*/

Bentuk pernyataan if seperti ini bermanfaat untuk menyeleksi


sejumlah kemungkinan tindakan.Penyeleksian dilakukan secara
bertingkat.Begitu ada kondisi yang bernilai benar,pernyataan yang
bersesuaian denga kondisi tersebut akan dijalankan.Sekiranya tidak
ada kondisi yang memenuhi,maka pernyataanN yang akan dijalankan.

Contoh 3:
Buat program untuk menentukan nilai dalam huruf dengan ketentukan
mencari nilai akhir
Nilai akhir = (15% *laporan)+(15%*kuis)+(30%*mid)+(40%*uas)
Ketentuannya : A  >85 s/d 100
B  >70 s/d 85
C  >55 s/d 70
D  >40 s/d 55
E  <40

Maka penulisan pada C++ :


#include <iostream.h>
void main()
{
int laporan,kuis,mid,uas;
float NA;

cout<<"masukan nilai laporan:";


cin>>laporan;
cout<<"masukan nilai kuis:";
cin>>kuis;
cout<<"masukan nilai mid:";
cin>>mid;
cout<<"masukan nilai uas:";
cin>>uas;

NA= (0.15*laporan) + (0.15*kuis) + (0.3*mid) + (0.4*uas);

23
cout<<"nilai akhir anda adalah"<<NA<<endl;

if ((NA>85) && (NA<=100)) //kondisi pertama


{
cout<<"nilai adalah A"<<endl;
}

else if ((NA>70) && (NA<=85)) //kondisi kedua


{
cout<<"nilai adalah B"<<endl;
}

else if ((NA>55) && (NA<=70)) //kondisi ketiga


{
cout<<"nilai adalah c"<<endl;
}

else if ((NA>40) && (NA<=55)) //kondisi keempat


{
cout<<"nilai adalah d"<<endl;
}
else //kondisi terakhir
{
cout<<"nilai adaalh e"<<endl;
}
}

Hasil
eksekusinya

Penulisan pada
turbo C++

Pada contoh diatas teerdapat lima kondisi untuk menentukan nilai dari
hasil nilai SPMB + nilai matematika ipa.Kedua kondisi tersebut harus
terpenuhi untuk mendapatkan sebuah nilai.Cara pencarian nilai,yaitu

24
dieksekusi dari awal.Jika kondisi awal tidak terpenuhi maka kondisi
kedua,jika tidak terpenuhi juga ,maka dilihat kondisi ketiga.Sampai
pada kondisi keempat.Jika kondisi keempat tidak terpenuhi maka
kondisi terakhir yang akan dieksekusi.

5.2 PERNYATAAN SWITCH

Pernyataan switch adalah pernyataan yang digunkan untuk


menjalankan salah satu pernyataan dari beberapa kemungkinan
pernyataan, berdasarkan nilai dari sebuah ungkapan dan nilai
penyeleksian.Secra singkatnya pernyataan ini merupakan pernyataan
pilihan berganda.
Bentuk Umumnya
switch(ekspresi)
{
case konstanta1;
Pernyataan1;
break;
case konstanta2;
Pernyataan2;
break;
:
:
case konstantaN;
PernyataanN;
break;
default:
Pernyatanlain;
}

Hal-hal yang perlu diperhatikan adalah:


1. Dibelakang keyword case harus diikuti oleh sebuah konstanta,
tidak boleh dikuti oleh ekspresi atau variable.
2. Konstanta yang digunakan bertipe int atau char
3. jika bentuknya seperti diatas maka apabila ekspresi sesuai
dengan konsatanta 2 maka pernyataan2, pernyatan 3 samapi
dengan pernyataan lain dieksekusi. Untuk mencegah hal
tersebut, digunkan keyword break;jika keyword break digunakan
setelah pernyataan2 dieksekusi program langsung keluar dari
pernyataan switch.Selain itu digunakan dalam switch,keyword
break digunakan untuk keluar dari pernyataan yang berulang
(looping).
4. Pernyataanlain dieksekusi jika konstanta 1 sampai konstantaN
tidak ada yang memenuhi ekspresi.

25
Contoh 4:
Buatlah program untuk menentukan hari dengan menggunakan case

Maka penulissan dalam C++ :


#include <iostream.h>
void main()
{
int pilih ;
cout <<"Menu hari "<<endl;
cout <<"========="<<endl;
cout <<"1.Senin"<<endl;
cout <<"2.Selasa"<<endl;
cout <<"3.Rabu"<<endl;
cout <<"4.Kamis"<<endl;
cout <<"5.Jum'at"<<endl;
cout <<"6.Sabtu"<<endl;
cout <<"7.Minggu"<<endl;

cout<<"masukkan pilihan anda :";


cin >>pilih ;
//seleksi dengan switch
switch(pilih)
{
case 1: //konstanta 1
{
cout<<"Anda Memilih Hari Senin "<<endl;//pernyataan 1
break;
}
case 2: //konstanta 2
{
cout<<"Anda Memilih Hari Selasa"<<endl;//pernyataan 2
break;
}
case 3: //konstanta 3
{
cout<<"Anda Memilih Hari Rabu "<<endl; //pernyataan 3
break;
}
case 4: //konstanta 4
{
cout<<"Anda Memilih Hari Kamis "<<endl;//pernyataan 4
break;
}
case 5: //konstanta 5
{
cout<<"Anda Memilih Hari Jum'at"<<endl;//pernyataan 5
break;
}
case 6: //konstanta 6
{
cout<<"Anda Memilih Hari Sabtu "<<endl;//pernyataan 6
break;
}
case 7: //konstanta 7
{

26
cout<<"Anda Memilih Hari Minggu"<<endl;//pernyataan 7
break;
}
}
}

Hasil
eksekusinya

Penulisan pada
turbo C++

Pada contoh diatas terdapat program untuk memilih hari.Cara


menentukan pilihan sama dengan if.Konstanta akan diperiksa satu per
satu jika memenuhi maka akan dieksekusi.Namun jika tidak
pernyataan yang terakhir yang akan dieksekusi. Lalu bagian default
dehilangkan.Tentu saja kode hari yang dimasukkan luar jangkauan 1-
7 ,program tidak memberikan komentar apa-apa.Kehadiran break pada
setipa case sangat penting.Sebab break akan menyebabkan keluar
dari switch.

27
VI. PENGULANGAN

Sebuah /kelompok instruksi diulang untuk jumlah pengulangan


tertentu.Baik yang terdefinisi sebelumnya ataupun tidak.
Struktur pengulangan tersiri atas dua bagian :
1. Kondisi pengulangan yaitu ekspresi Boolean yang harus dipenuhi
untuk melaksanaakan 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

6.1 PERNYAATAN 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 :

for (inisialisasi ; kondisi ; perubahan)


{
Statement;
}

Contoh 1:
Buatlah program menampilkan deret bilangan 1 -10 !
Maka penuliasan pada C++:
# include <iostream.h>

void main ()
{
int i;

cout <<"Program Menampilkan Bilangan 1-10"<<endl;

for (i=1; i <=10; i++) // deret bilangan dari 1 -10


{

28
cout <<" "<<i;
}
}

Hasil
eksekusinya

Penulisan pada
turbo C++

Pada contoh diatas menapilkan angka 1 dan angka terakhir 10 dengan


kenaikan sebanyak 1 yang menyatakan kenaikan adalah i++ yang
berarti i=i+1.Maka dengan demikian nilai awal adalah 1 jika ditambah
dengan 1 maka akan menghasilkan 2.lalu 2 ditambah dengan 1
menghasilkan 3.Dan sterusnya.Sampai pada nilai 10.Ketika nilai 10
ditambah dengan 1 hasilnya 11.Tapi 11 tidak dieksekusi oleh program
karena tidak memenuhi kondisi.

Contoh 2:

Buatlah program menghitung jumlah 1 -10 dengan menggunakan for

Maka penulisan pada C++:


# include <iostream.h>
void main ()
{
int i,j;

j = 0; // inisialisasi awal
cout <<"Program Menampilkan Bilangan 1-10"<<endl;

for (i=1; i <=10; i++) // deret bilangan


{
cout <<" "<<i;

29
j = j + i; // penjumlahan
}
cout <<"\n\n.Jumlahnya ="<<j<<endl;
}

Hasil
eksekusinya

Penulisan pada
turbo C++

Pada program diatas,mula-mula diisi dengan 0 kemudian ditambah


dengan perubahan angka dengan penambahan 1 sampai 10.Keadaan
pertama dibuat 0 agar tidak mengubah angka.Cara penjumlahan
adalah nilai 0 ditambah dengan nilai awal yaitu 1 kemudian disimpan
oleh komputer.Lalu 1 mengalami kenaikan yaitu 2.Lalu 2 ditambah
dengan hasil sebelumnya yaitu 1,maka menghasilkan 3.Dan
seterusnya tapi nilai penambahan tidak ditampilkan.Hanya niali akhir
yang ditampilkan.

Contoh 3:

Buatlah program menampilkan nilai yang habis dibagi dengan 3.Antara


1 -10.
Maka penulisan pada C++:
# include <iostream.h>
void main ()
{
int i;

cout <<"Program Menampilkan Bilangan 1-10"<<endl;

for (i=1; i <=10; i++) // pengulangan deret 1-10


{
if (i % 3==0) //kondisi

30
{
cout <<" "<<i<<endl;
}
}
}

Hasil
eksekusinya

Penulisan pada
turbo C++

Pada contoh diatas merupakan penggabungan antara pengulangan


dan pemilihan.Penggunaan pengulangan yaitu mengulang nilai dari 1-
10.Ketika sudah mendapatkan nilai 1-10 maka terjdi seleksi niali mana
yang merupakan bilangan yang habis dibagi 3 dengan menggunakan
kondisi mod 3 = 0.Nilai yang habis dibagi 3 akan di tampilkan.tapi nilai
yang lain tidak ditampilkan.

Contoh 4:
Buatlah program menghitung factorial dengan batas akhir factorial
sebagai masukan

Maka penulissan pada C++:


#include<iostream.h>
void main()
{
int i,bil,faktor;
cout<<"Masukkan bilangan :";
cin>>bil;
faktor = 1;
for( i = 1 ; i <=bil;i++) //pengulangan
{
faktor = faktor * i; //perkalian faktorial
}

31
cout<<"Faktorialnnya :"<<faktor <<endl;
}

Hasil
eksekusinya

Penulisan pada
turbo C++

Pada contoh diatas menghitung factorial.Nilai akhir yang menjadi


masukan dijadikan sebagai pengulangan dar 1 sampai nilai
masukan.Jia yang menjadi masukan adalah 3 maka nilai awal adalah 1
kemudian nilai pertama adalah 1 maka menghasilkan nilai 1 dan
kemudian nilai kedua yaitu 2 dikalikan dengan nilaiperkalian
sebelumnnya yaitu 1 maka nilainya adalah 2.Begiu seterusnya sampai
bilangan terakhir adalah 3.Maka hasilnya adalah 6.

Contoh 5:
Buatlah program menghitung pengkat dengan bilangan dan
pemangkatnya sebagai masukan.

Maka penulisan pada C++:

#include <iostream.h>
void main()
{
int i,a,n,pangkat;

cout <<"Masukkan sebuah bilangan :";


cin>>a;
cout <<" MAsukkan pangkat :";
cin>> n;

pangkat =1;
i=1;

32
for (i=1;i<=n;i++)
{
pangkat = pangkat *a;
}

cout <<"\nhasil"<<pangkat;
}

Hasil
eksekusinya

Penulisan pada
turbo C++

Pada contoh diatas terdapat pengulangan untuk menghitung


pangkat.Yang menjadi pengulangan nya adalah pemangkatnnya.BIla
dimasukkan pangkatnnya adalah 3 dan bilangannya adalah 2.Maka
program akan mengulang pemangkatnnya smpai 3 kali dan kemudian
bilangan akan dikalikan dengan nilai sebelumnya sampai 3 kali.Nilai
awal dari pangkat dibuat 1 agar tidak mengubah angka.Karena jika
suatu bilangan dikali dengan 1 maka hasilnya adalah bilangan itu
sendiri.

Contoh 6:
Buatlah program membuat bintang dengan bentuk persegi

Maka penulisan pada C++:


#include <iostream.h>
void main()
{
int i,j;
for (i=1;i<=4;i++)
{
for (j = 1 ; j<=4 ; j++)

33
{
cout <<"*";
}
cout <<endl;
}
}

Hasil
eksekusinya

Penulisan pada
turbo C++

Pada contoh ini adalah contoh for bersarang.Baris untuk membuat


bintang di buat variable i dan binting sebagai j.Ketika baris pertama
dibentuk,maka bintang pun akan dibuat dari 1 ketika 1bintang dibuat
maka akan diteruskan membuat bintang kedua dan seterusnya sampai
bintang kekempat.Setelah bintang kekempat dikeluarkan maka
pengulangan untuk bintang akan berhenti deng keluar ke program
untuk baris dan membuat baris kedua

6.2 PERNYATAAN while


Pernyataan while merupakan salah satu pernyataan yang
berguna untuk memproses suatu pernyataan atau beberapa
pernyataan bebarapa kali.Pernyataan while memungkinkan statemen
– ststemen yang ada didalamnya tidak dilakukan sama sekali.
Bentuk umumnya :

while (kondisi)
{
pernyataan ;
}

34
Bagian pernyataan yang mengikuti while akan dieksekusi selama
ungkapan pada while bernilai benar (tidak sama dengan nol).Perlu
diketahui,pengujian terhadap ungkapan pada while dilakukan
sebelum bagian pernyataan.Oleh karena itu ada kemungkinan bagian
pernyataan pada while tidak dijalankan sama sekali,yaitu kalau kondisi
pertama bernilai salah.

Contoh 7:
Buatlah program untuk menghitung pemangkatan dengan bilangan
dan pemangkat sebagai masukan.dengan menggunakan while

Maka penulisan dalam C++ :


#include <iostream.h>
void main()
{
int i,a,n,pangkat;

cout <<"Masukkan sebuah bilangan :";


cin>>a;
cout <<" Masukkan pangkat :";
cin>> n;

pangkat =1;
i=1; //mula-mula diisi sama dengan satu
while (i<=n)
{
pangkat = pangkat *a;
i++; //menaikkan pencacah sama dengan satu
}

cout <<"\nhasil"<<pangkat;
}

35
Hasil
eksekusinya

Penulisan pada
turbo C++

6.3 PERNYATAAN do…while


Pernyataan do…while mirip seperti pernyataan while, hanya
saja pada do…while pernyataan yang terdapat didalamnya minimal
akan sekali dieksekusi.
Bentuk Umumnya :

do
{
pernyatan ;
} while(kondisi);

Contoh 8:
Buatlah program mneghitung pangkat dengan menngunakan do while

#include <iostream.h>
void main()
{
int i,a,n,pangkat;

cout <<"Masukkan sebuah bilangan :";


cin>>a;
cout <<"MAsukkan pangkat :";
cin>> n;

pangkat =1;
i=1;
do

36
{
pangkat = pangkat *a;
i++;
}
while (i<=n);

cout <<"\nhasil"<<pangkat;
}

Hasil
eksekusinya

Penulisan pada
turbo C++

37
VII. PROSEDUR

Prosedur adalah modul program yang menjalankan tugas atau


aktifitas yang spesifik dan menghasilkan suatu efek netto. Diketahui
dengan membandingkan keadaan awal dengan keadaan akhir pada
pelaksanaan sebuah prosedur.
Struktur prosedur sama dengan struktur algoritma yang sudah
kita kenal, yaitu ada bagian judul atau header. Yang terdiri dari nama
prosedur, deklarasi, dan badan prosedur.

Contoh 1:
Buatlah prosedur sederhana memanggil garis

Maka penulisan pada C++:


#include<iostream.h>

void garis(); //prototype prosedur garis


void main()
{ //program utama
garis (); //memanggil prosedur garis
cout<<"Nama saya Desty Rodiah"<<endl;
garis ();
cout<<"saya adalah mahsiswa teknik informatika"<<endl;
garis();
}

void garis() //prodesur garis


{
cout<<"---------------"<<endl;
}

Hasil
eksekusinya

Penulisan pada
turbo C++

38
Pada contoh diatas memengggil prosedur garis yang prosedur garisnya
di buat dibagian bawah sekali.Ketika diperlukan maka prosedur garis
dapat dipanggil.

Contoh 2:
Buatlah program menghitung luas lingkaran dengan menggunakan
prosedur dan ada prosedur input dan prosedur output.

Maka penulisan pada C++:


#include<iostream.h>

void inputdata(int &jari);


void hitungluas(int jari);

void main()
{
int r;

cout <<"Program Menghitung Luas Lingkaran"<<endl;


inputdata(r); //memenggil prosedur
hitungluas(r); //memenggil prosedur
}

void hitungluas(int jari) //prodesur hitung

{
float luas;
const float phi =3.14;

luas = phi *jari*jari;


cout<<"Luas = "<<luas<<endl;
}

void inputdata(int &jari) //prosedur masukan


{
cout <<"Masukkan jari-jari:";
cin>>jari;
}

39
Penulisan pada
turbo C++

Hasil
eksekusinya

Pada contoh diatas terdapat dua buah prosedur dimana pertama


prosedur masukan yang menjadi masukan adalah jari-jari.Dan
prosedur kedua adalah prosedur hitung yaitu tempat menghitung laus
dari lingkaran.

Contoh 3:
#include<iostream.h>

void faktorial (int n, int &fak);


void main()
{
int fak,n;

cout<<"Masukkan bilangan faktorial:";


cin>>n;

faktorial (n,fak);

cout<<"Faktorialnya"<<fak<<endl;
}

void faktorial(int n, int &fak)


{
int i;
fak = 1;

for( i=1;i<=n;i++)
{
fak = fak *i ;
}
}

40
Penulisan pada
turbo C++

Hasil
eksekusinya

Pada contoh diatas merupakan prosedur untuk menghitung factorial


dengan nilai n sebagai masukan dan fak sebagai keluaran.nilai n yang
dimasukkan di eksekusi ke n yang ada didalam prosedur kemudian
setelah dieksekusi di dalam prosedur factorial hasilnya dikeluarkan
kembali ke melalui fak.

41
VIII. FUNGSI
8.1. FUNGSI

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.

PROTITE FUNGSI
Sebuah 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 argumen
Dan diakhiri dengan titik koma, sebagaimana pada pendeklarasian
variabel.
Sebagai contoh:
1. long kuadrat (long l) ;
Pada contoh pertama, fungsi kuadrat ( ) mempunyai argument
bertipe long dan nilai 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)

42
Pada contoh ketiga, fungsi maks( ) mempunyai dua buah
argumen, dengan masing-masing argumen bertipe double.

VARIABEL LOKAL DAN VARIABEL EKSTERNAL


Variabel 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 variable 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.

PARAMETER
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 :

o Parameter Formal : parameter yang diberi nilai. Parameter


formal merupakan parameter yang terdapat dalam daftar
parameter fungsi.
o 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 :

double hasil(int A, int B) // parameter formal


{
return (A * B);
}

Sedangkan parameter aktual terdapat pada pemanggilan fungsi :


void main()
{ ……………
…………..
z = hasil(x,y); // parameter aktual

43
…………..
}

Cara Melewatkan Parameter


Cara melewatkan suatu parameter dalam Bahasa C++ ada dua cara
yaitu :
1. . Pemanggilan Secara Nilai (Call by Value)
o Call by value akan menyalin nilai dari parameter aktual ke
parameter formal.
o Yang dikirimkan ke fungsi adalah nilai dari datanya, bukan
alamat memori letak dari datanya.
o Fungsi yang menerima kiriman nilai akan menyimpannya
di alamat terpisah dari nilai aslinya yang digunakan oleh
bagian program yang memanggil fungsi.
o Perubahan nilai di fungsi (parameter formal) tidak akan
merubah nilai asli dibagian program yang memanggilnya
o .Pengiriman parameter secara nilai adalah pengiriman
searah, yaitu dari bagian program yang memanggil fungsi ke
fungsi yang dipanggil.
o Pengiriman suatu nilai dapat dilakukan untuk suatu
ungkapan, tidak hanya untuk sebuah variabel, elemen array
atau konstanta saja.

2. Pemanggilan Secara Referensi (Call by Reference)


o Pemanggilan secara Referensi merupakan
upaya untuk melewatkan alamat dari suatu variabel ke
dalam fungsi
o .Yang dikirimkan ke fungsi adalah alamat letak
dari nilai datanya, bukan nilai datanya.
o Fungsi yang menerima kiriman alamat ini maka
menggunakan alamat yang sama untuk mendapatkan nilai
datanya
o .Perubahan nilai di fungsi akan merubah nilai
asli di bagian program yang memanggil fungsi
o .Pengiriman parameter secara referensi adalah
pengiriman dua arah, yaitu dari fungsi pemanggil ke fungsi
yang dipanggil dan juga sebaliknya.
o Pengiriman secara acuan tidak dapat
bdilakukan untuk suatu ungkapan.

Contoh :
#include <iostream.h>

int faktorial(int N);

void main()

44
{
int n;
cout<<"Masukkan bilangan";cin>>n;

cout<<"Faktorialnya "<<faktorial(n);
}

int faktorial(int N)
{
int i, fak;
fak=1;
for(i=1;i<=N;i++)
{
fak=fak*i;
}
return fak;
}

Penulisan pada
turbo C++

Hasil
eksekusinya

Pada contoh diatas menghitung faktorial dengan menggunakan fungsi.


DYang menjadi cirri-ciri dari fungsi ini adalah adanya return.Fungsi
menggunakan type data sebagai prorotype nya.Dalam hal ini adalah
int factorial,ynag mengambil n sebagai masukan.Setelah n di ambil
maka akan dieksekusi didalam fungsi.Setelah dieksekusi maka
dikembalikan lagi ke factorial yang menyatakan keluaran.dan
kemudian dikeluarkan sebagai output.

45
IX. LARIK (ARRAY)
9.1 LARIK

Larik merupakan sekumpulan data yang mempunyai nama dan


tipe yang sama.Larik sering disebut juga variabel berindeks. Nilai suatu
data dalam larik ditentukan oleh nama dan indeks. Larik banyak
digunakan pada operasi yang melibatkan indeks seperti pada statistik
dan matriks.
Tipe data larik dapat berupa larik satu demensi, dua demensi,
tiga demensi atau banyak dimensi.

Bentuk Umum Larik Satu Dimensi :

tipe_larik nama_larik [ukuran]

Bentuk Umum Larik Dua Dimensi :

tipe_larik nama_larik [ukuran1][ukuran2]

Perhatikan :
o Tanda kurung [ ] digunakan untuk menunjukkan elemen larik
o Perhitungan elemen larik dimulai dari 0, bukan 1

C++ tidak mengecek larik. Bila anda menyatakan int x[10], ini
artinya 10 elemen yang dimulai dari 0. Karena itu elemen terakhir larik
adalah x[9]. Bila anda salah mereferensikannya dengan x[10], anda
akan mendapatkan harga yang tidak terpakai. Akan lebih buruk lagi
jika anda memberikan harga ke x[10], yang tidak dapat diterima.

9.2 REPRESENTASI LARIK

Misalkan kita memiliki sekumpulan data ujian seorang siswa,


ujian pertama bernilai 90, kemudian 95,78,85. Sekarang kita ingin
menyusunnya sebagai suatu data kumpulan ujian seorang siswa.
Dalam array kita menyusunnya sebagai berikut
ujian[0] = 90;
ujian[1] = 95;
ujian[2] = 78;
ujian[3] = 85;

46
Empat pernyataan diatas memberikan nilai kepada array ujian.
Tetapi sebelum kita memberikan nilai kepada array, kita harus
mendeklarasikannya terlebih dahulu, yaitu :
int ujian[4];
Perhatikan bahwa nilai 4 yang berada didalam tanda kurung
menujukkan jumlahelemen larik, bukan menunjukkan elemen larik
yang ke-4. Jadi elemen larik ujian dimulai dari angka 0 sampai 3.
Pemrogram juga dapat menginisialisasi larik sekaligus
mendeklarasikannya, sebagai contoh :

int ujian[4] = {90,95,78,85};

Elemen terakhir dari larik diisi dengan karakter ‘\0’. Karakter ini
memberitahu kompiler bahwa akhir dari elemen larik telah dicapai.
Walaupun pemrogram tidak dapat melihat karakter ini secara eksplisit,
namun kompiler mengetahui dan membutuhkannya.
Sekarang kita akan membuat daftar beberapa nama pahlawan di
Indonesia
char pahlawan[3][15] ;
char pahlawan[0][15] = “Soekarno”;
char pahlawan[1][15] = “Diponegoro”;
char pahlawan[2][15] = “Soedirman”;

Larik diatas terlihat berbeda denga contoh larik pertama kita.


Perhatikan bahwa pada larik pahlawan memilih dua buah tanda kurung
[ ][ ]. Larik seperti itu disebut larik dua dimensi. Tanda kurung pertama
menyatakan total elemen yang dapt dimiliki oleh larik pahlawan dan
tanda kurung kedua menyatakan total elemen yang dapat dimiliki
setiap elemen larik pahlawan. Dalam contoh diatas, tanda kurung
kedua menyatakan karakter yang menyatakan nama pahlawan.

IX.3 MENGHITUNG JUMLAH ELEMEN ARRAY


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

IX.4 MELEWATKAN ARRAY SEBAGAI ARGUMEN FUNGSI

Larik dapat dikirim dan dikembalikan oleh fungsi. Pada saat larik
dikirim ke dalam fungsi, nilai aktualnya dapat dimanipulasi

47
48

Anda mungkin juga menyukai