DESTY RODIAH

56
LAPORAN MATA KULIAH PRAKTIKUM ALGORITMA DAN PEMROGRAMAN I Oleh Nama : Desty Rodiah NIM : 09071002034 1

Transcript of DESTY RODIAH

Page 1: DESTY RODIAH

LAPORAN MATA KULIAHPRAKTIKUM

ALGORITMA DAN PEMROGRAMAN I

Oleh

Nama: Desty Rodiah

NIM : 09071002034

PROGRAM STUDI TEKNIK INFORMATIKAFAKULTAS ILMU KOMPUTER

UNIVERSITAS SRIWIJAYA2007/2008

1

Page 2: DESTY RODIAH

DAFTAR ISI

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

3

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

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

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

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

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

16

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

……………..18

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

……………….27

2

Page 3: DESTY RODIAH

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

………………….38

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

…………………….41

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

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

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++

3

Page 4: DESTY RODIAH

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.

1.3. LANGKAH-LANGKAH MENULISKAN PROGRAM DALAM TURBO C++ Langkah-langkahnya :

1. Bukalah software Turbo C++, akan terlihat tampilan awal Turbo C++ sebagai berikut :

4

Page 5: DESTY RODIAH

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

5

Page 6: DESTY RODIAH

II. PENGENALAN C++

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

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.

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;

}

6

# prepocessor directivevoid main(){ // Batang Tubuh Program Utama}

Page 7: DESTY RODIAH

(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

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

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)

7

Void main ()

{

cout<<”Hallo dunia”<<endl;

}

pernyataanTubuh Fungsi main ()

Fungsi yanga akn dieksekusi pertama kali oleh c++

Menyaatakan bahea fungsi main tidak memiliki nilai balik

Menyatakan bahwa fungsi tidak memiliki argumen

Batas atas program

Batas akhir program

Page 8: DESTY RODIAH

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

}

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.

8

Hasil eksekusinya

Penulisan pada turbo C++

Page 9: DESTY RODIAH

III. 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 :

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 DEKLARASIDeklarasi diperlukan bila kita akan menggunakan pengenal

(identifier) dalam program. Identifier dapat berupa variable, konstanta dan fungsi.

1. Deklarasi VariabelBentuk umumnya :

9

Page 10: DESTY RODIAH

Nama_tipe nama_variabel ;

Misalnya :int x; //x di sini sebagai variabel bertype integerfloat 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

tinggi =1; //nilai dari tinggi sudah diketahui yaitu 1

volume =panjang*lebar*tinggi; //deklarasi rumus volume

cout<<"volume balok adalah "<<volume;

}

10

Hasil eksekusinya

Page 11: DESTY RODIAH

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 :

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

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

11Penulisan pada

turbo C++

Penulisan pada turbo C++

Page 12: DESTY RODIAH

cout<<"nilai m adalah"<<m<<endl;

}

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 !

a,b,dan c sebgai masukan

Maka penulisan pada c++#include <iostream.h>

void main ()

{

float a,b,c,x; // type data berupa float

cout<<"masukkan a : ";cin>>a; // a sebagai masukan

12

Hasil eksekusinya

Penulisan pada turbo C++

Penulisan pada turbo C++

Page 13: DESTY RODIAH

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

}

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 #defineContoh : #define PI 3.14152965

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.

13

Hasil eksekusinya

Penulisan pada turbo C++

Page 14: DESTY RODIAH

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

}

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

14

Hasil eksekusinya

Penulisan pada turbo C++

Page 15: DESTY RODIAH

(,),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

DASARUKURAN MEMORI(byte)

JANGKAUAN NILAI JUMLAH DIGIT

PRESISIChar 1 -128 hingga +127 -Int 2 -32768

hingga+32767-

Long 4 -2.147438648 hingga +2.147.438.647

-

Float 4 3,4E-38 hingga 3,4E38

6-7

Double 8 1.7E-308 hingga 1.7E308

15-16

Long Double

10 3.4E-4932 hingga 1.1E4932

19

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 literalb. Keyword & identifier

a. Karakter & string literal

String adalah gabungan dari karakter

Contoh : “Hallo” Literal String “I” KarakterPanjang string

Jika kita ingin menghitung panajang string, maka kita dapat menggunakan fungsi strlen(). Fungsi strlen() dideklarasikan dalam file

15

Page 16: DESTY RODIAH

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 :22185Dalam C++, terdapat beberapa karakter khusus yang disebut escape sequence character, yaitu

KARAKTER KETERANGAN\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 & IdentifierDalam 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 strukturStruktur terdiri dari data ang disebut field.Bentuk umumnya:

16

Penulisan pada turbo C++

typedef struct{ tipe nama_field1; tipe nama_field2; tipe nama_field3; …… } nama_variabel;

Page 17: DESTY RODIAH

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;

}

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

17

Page 18: DESTY RODIAH

{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=5954 - 5=49 54 * 5=270 54 / 5=10 54 % 5=4 -54 = -54

3. OPERATOR HUBUNGAN(PERBANDINGAN)

OPERATOR ARTI CONTOH== Sama

Dengan(bukan assignment)

X==Y

Apakah X sama dengan Y

!= Tidak sama dengan

X!=Y Apakah X tidak sama dengan Y

> Lebih besar X>Y Apakah X lebih besar Y< Lebih kecil X<Y Apakah X lebih kecil Y

>= Lebih besar atau sama dengan

X>=Y

Apakah X lebih dari sama dengan Y

<= Lebih kecil atau sama dengan

X<=Y

Apakah X kurang dari sama 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

18

Page 19: DESTY RODIAH

I Bitwise OR M I N^ Bitwise XOR M ^ N~ Bitwise NOT ~M

NB : Seluruh operator bitwise hanya bisa dikenakan pada operand bertipe data int atau chaR.

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

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

OPERATOR DESKRIPSI CONTOH&& Logic AND m && nII Logic OR m II n! Logic NOT !m

19

Page 20: DESTY RODIAH

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

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

20

if (kondisi) pernyataan;

Page 21: DESTY RODIAH

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.

Bentuk Umum Dua Kasus:

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:

21

Hasil eksekusinya

Penulisan pada turbo C++

if (kondisi) pernyataan1; else pernyataan2;

if (kondisi) { Pernyataan1; Pernyataan1a; Peryataan1b; } else { Pernyataan 2; Pernyataan2a; Pernyataan2b; }

Page 22: DESTY RODIAH

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 nilaiint mtk; //type data mtkcout<<".::Program penentuan lulus spmb::.\n\n";cout<<"Masukkan nilai anda";cin>>nilai; // masukan nilai SPMBcout<<"Masukkan nilai matematika ipa anda";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

22

Page 23: DESTY RODIAH

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 :

23

Hasil eksekusinya

Penulisan pada turbo C++

if (kondisi1)pernyataan1;

else if (kondisi2)pernyataan2;

else if (kondisi3)pernyataan3;

else if (kondisiM)pernyataanM;

else /*Opsional*/pernyataanN; /*Opsional*/

Page 24: DESTY RODIAH

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 85C >55 s/d 70D >40 s/d 55E <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);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;}

24

Page 25: DESTY RODIAH

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

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

cout<<"nilai adaalh e"<<endl;}

}

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

25

Hasil eksekusinya

Penulisan pada turbo C++

Page 26: DESTY RODIAH

Bentuk Umumnya

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

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;

26

switch(ekspresi){case konstanta1; Pernyataan1; break;case konstanta2; Pernyataan2; break; : :case konstantaN; PernyataanN; break;default: Pernyatanlain;}

Page 27: DESTY RODIAH

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 switchswitch(pilih){

case 1: //konstanta 1{

cout<<"Anda Memilih Hari Senin "<<endl;//pernyataan 1break;

}case 2: //konstanta 2{

cout<<"Anda Memilih Hari Selasa"<<endl;//pernyataan 2break;

}case 3: //konstanta 3{

cout<<"Anda Memilih Hari Rabu "<<endl; //pernyataan 3break;

}case 4: //konstanta 4{

cout<<"Anda Memilih Hari Kamis "<<endl;//pernyataan 4break;

}case 5: //konstanta 5{

cout<<"Anda Memilih Hari Jum'at"<<endl;//pernyataan 5break;

}case 6: //konstanta 6{

cout<<"Anda Memilih Hari Sabtu "<<endl;//pernyataan 6break;

}case 7: //konstanta 7{

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

}}

}

27

Page 28: DESTY RODIAH

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.

VI. PENGULANGAN

28

Hasil eksekusinya

Penulisan pada turbo C++

Page 29: DESTY RODIAH

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 for2. Pernyataan while3. 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 :

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{

cout <<" "<<i;}

}

29

for (inisialisasi ; kondisi ; perubahan){Statement;}

Page 30: DESTY RODIAH

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 awalcout <<"Program Menampilkan Bilangan 1-10"<<endl;

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

cout <<" "<<i;j = j + i; // penjumlahan

}cout <<"\n\n.Jumlahnya ="<<j<<endl;

30

Hasil eksekusinya

Penulisan pada turbo C++

Page 31: DESTY RODIAH

}

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{

cout <<" "<<i<<endl;}

31

Hasil eksekusinya

Penulisan pada turbo C++

Page 32: DESTY RODIAH

}}

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}cout<<"Faktorialnnya :"<<faktor <<endl;

}

32

Hasil eksekusinya

Penulisan pada turbo C++

Page 33: DESTY RODIAH

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;for (i=1;i<=n;i++){

33

Hasil eksekusinya

Penulisan pada turbo C++

Page 34: DESTY RODIAH

pangkat = pangkat *a;}

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

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++){

cout <<"*";

34

Hasil eksekusinya

Penulisan pada turbo C++

Page 35: DESTY RODIAH

}cout <<endl;

}}

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

35

while (kondisi){

pernyataan ;}

Hasil eksekusinya

Penulisan pada turbo C++

Page 36: DESTY RODIAH

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 satuwhile (i<=n){

pangkat = pangkat *a;i++; //menaikkan pencacah sama dengan satu

}

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

36

Page 37: DESTY RODIAH

6.3 PERNYATAAN do…whilePernyataan do…while mirip seperti pernyataan while, hanya

saja pada do…while pernyataan yang terdapat didalamnya minimal akan sekali dieksekusi.Bentuk Umumnya :

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

37

Hasil eksekusinya

Penulisan pada turbo C++

do{

pernyatan ;} while(kondisi);

Page 38: DESTY RODIAH

{pangkat = pangkat *a;i++;

}while (i<=n);

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

38

Hasil eksekusinya

Penulisan pada turbo C++

Page 39: DESTY RODIAH

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 garisvoid main(){ //program utama

garis (); //memanggil prosedur gariscout<<"Nama saya Desty Rodiah"<<endl;garis ();cout<<"saya adalah mahsiswa teknik informatika"<<endl;garis();

}

void garis() //prodesur garis{

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

39

Hasil eksekusinya

Penulisan pada turbo C++

Page 40: DESTY RODIAH

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 prosedurhitungluas(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;

}

40

Page 41: DESTY RODIAH

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

}

41

Hasil eksekusinya

Penulisan pada turbo C++

Page 42: DESTY RODIAH

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.

42

Penulisan pada turbo C++

Hasil eksekusinya

Page 43: DESTY RODIAH

VIII. FUNGSI8.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 FUNGSISebuah fungsi tidak dapat dipanggil kecuali sudah dideklaraikan,

deklarasi fungsi dikenal dengan sebutan prototipe fungsi. Prototipe fungsi berupa :

1. Nama Fungsi2. Tipe nilai fungsi3. 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)

43

Page 44: DESTY RODIAH

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

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

PARAMETERParameter 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 pendefinisanfungsi :

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

44

Page 45: DESTY RODIAH

…………..}

Cara Melewatkan ParameterCara 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 fungsio .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(){

int n;

45

Page 46: DESTY RODIAH

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;

}

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.

46

Penulisan pada turbo C++

Hasil eksekusinya

Page 47: DESTY RODIAH

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 :

Bentuk Umum Larik Dua Dimensi :

Perhatikan :o Tanda kurung [ ] digunakan untuk menunjukkan elemen lariko 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;

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

int ujian[4];

47

tipe_larik nama_larik [ukuran]

tipe_larik nama_larik [ukuran1][ukuran2]

Page 48: DESTY RODIAH

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

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

48