DESTY RODIAH
Transcript of DESTY RODIAH
![Page 1: DESTY RODIAH](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/1.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/2.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/3.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/4.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/5.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/6.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/7.jpg)
(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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/8.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/9.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/10.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/11.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/12.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/13.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/14.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/15.jpg)
(,),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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/16.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/17.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/18.jpg)
{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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/19.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/20.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/21.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/22.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/23.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/24.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/25.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/26.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/27.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/28.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/29.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/30.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/31.jpg)
}
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/32.jpg)
}}
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/33.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/34.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/35.jpg)
}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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/36.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/37.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/38.jpg)
{pangkat = pangkat *a;i++;
}while (i<=n);
cout <<"\nhasil"<<pangkat;}
38
Hasil eksekusinya
Penulisan pada turbo C++
![Page 39: DESTY RODIAH](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/39.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/40.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/41.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/42.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/43.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/44.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/45.jpg)
…………..}
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/46.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/47.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081504/5571f3fe49795947648edcdb/html5/thumbnails/48.jpg)
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