Upload
dizzmon
View
224
Download
0
Embed Size (px)
DESCRIPTION
algo 4
1 of 26
Operator Operator PenambahanPenambahan dan Pengurangan dan PenguranganPert - 4Pert - 4
Operator Operator PenambahanPenambahan dan Pengurangan dan PenguranganPert - 4Pert - 4
Pernyataan : X = X + 1;
Y = Y – 1;
Pernytaan pertama menyatakan bahwa isi variabel X dinaikkan sebesar 1.
Bagaimana cara kerjanya ?
Mula-mula ekspresi X + 1 dievaluasi.
Selanjutnya, hasilnya diberikan ke X.
Contoh : bila semula X bernilai 5, maka ekspresi X + 1 menghasilkan 6. Selanjutnya, angka 6 diberikan ke X.
Dengan demikian , X berubah menjadi 6. Serupa dengan pernyataan pertama, pernyataan kedua akan membuat isi Y berkurang sebesar 1.
2 of 26
Operasi seperti itu, sering dilaksanakan dengan
menggunakan operator ++ atau - -
Operator ++ (penambahan) berguna untuk menaikkan isi
suatu variabel sebesar 1.
Contoh : Y = X++;
Y = ++X;
Ekspresi X++ dan ++X mempunyai makna yang berbeda.
Ekspresi X++ akan menghasilkan nilai sebesar isi X,
tetapi, selanjutnya X akan dinaikkan sebesar satu. Jika
misalnya semula X bernilai 5, pernyataan : Y = X++;
Akan menyebabkan Y bernilai 5 dan X dinaikkan sebesar 1
(menjadi 6).
Pada pernyataan : Y = ++X;Contoh Program-1
3 of 26
Bila semula X bernilai 5 maka Y akan berisi 6. Begitu juga X . Mengapa bisa demikian ? Pertama-tama, ekspresi ++X membuat X dinaikkan sebesar satu dan hasil ekspresi berupa nilai X yang terbaru (yaitu 6). Oleh karena itu Y juga bernilai 6.
4 of 26
Operator -- (penurunan) berguna untuk Operator -- (penurunan) berguna untuk menurunkan isi suatu variabel sebesar menurunkan isi suatu variabel sebesar
1. 1.
Operator -- (penurunan) berguna untuk Operator -- (penurunan) berguna untuk menurunkan isi suatu variabel sebesar menurunkan isi suatu variabel sebesar
1. 1.
Contoh : Y = X--;Y = --X;
X semula
Pernyataan
Hasil Y
Hasil X
5 y = x++; 5 6
5 Y = ++x; 6 6
5 Y = x--; 5 4
5 Y = --x; 4 4
5 of 26
Contoh Program :Contoh Program :Contoh Program :Contoh Program :#include<iostream.h>Int main(){ int x, y; x = 5; y = 8 – x++; cout << “Contoh 1 :”<<endl; cout << “ x = “ << x << “ y = “ << y << endl; x = 5; y = 8 – ++x; cout << “Contoh 2 :”<<endl; cout << “ x = “ << x << “ y = “ << y << endl;
6 of 26
x = 5; y = 8 – x--; cout << “Contoh 3 :”<<endl; cout << “ x = “ << x << “ y = “ << y << endl; x = 5;
y = 8 – --x; cout << “Contoh 4 :”<<endl; cout << “ x = “ << x << “ y = “ << y << endl; return 0;}
7 of 26
Penjelasan Hasil ekspresiPenjelasan Hasil ekspresiPenjelasan Hasil ekspresiPenjelasan Hasil ekspresiX = 5; X = 5;Y = 8 – x++; Y = 8 – ++x; 3 X berubah
X berubah menjadi 6 menjadi 6 2
X = 5; X = 5;Y = 8 – x - -; Y = 8 – - - x;
3 X berubah
menjadi 4 X berubah
menjadi 4 4
8 of 26
Struktur Kontrol Pada C++Struktur Kontrol Pada C++Struktur Kontrol Pada C++Struktur Kontrol Pada C++Struktur Pengulangan :Struktur Pengulangan :
Beberapa instruksi diulang untuk suatu jumlah pengulangan yang tertentu, jumlah pengulangan dapat diketahui sebelumnya atau ditentukan dalam perjalanan program. Konstruksi for
Sintaks :
for(exp1; exp2; exp3) statement;atau:
for(exp1; exp2; exp3){statement1;statement2; Blok statement…….
}
9 of 26
dimana:exp1 : adalah ekspresi untuk
inisialisasi,exp2 : adalah ekspresi conditional exp3 : adalah ekspresi increment atau decrement
Infinite Loop: Untuk membuat infinite loop dapat
dilakukan dengan menggunakan “for-loop”, dengan menghilangkan ketiga parameter (exp1, exp2, exp3) yang ada pada for loop. Untuk keluar dari loop dapat digunakan statement break.
10 of 26
Contoh Algoritma Loop dengan pernyataan for:
Contoh Algoritma Loop dengan pernyataan for:
Untuk bil 1 s/d 6 tampilkan (“Selamat belajar “)Akhir-untuk
Program#include<iostream.h>Int main(){ int bil; for (bil = 1, bil <=, bil++) { cout <= “Selamat belajar\n”; } return 0; }
11 of 26
Konstruksi While:Sintaks :
while (exp) statements;
atau :
while(exp){{
statement1;statement2;…..….
}
Dimana:exp adalah ekspresi boolean yang menghasilkan nilai True
(tidak nol) atau False (sama dengan nol).
12 of 26
• Statement di-eksekusi berulang-ulang selama exp tidak Nol.
• Pengetesan exp dilakukan sebelum statements dilaksanakan.
Konstruksi Do-While:
Sintaks :
do{< statements >;
} while(exp);
• Selama nilai exp true maka statement dieksekusi berulang-ulang.
• Pengetesan exp dilakukan setelah meng-eksekusi statement.
13 of 26
• Pada konstruksi while, statement atau blok statement mungkin tidak akan pernah dilaksanakan, bila nilai ekspresi boolen (exp) bernilai False, karena sebelum konstruksi pengulangan dimasuki nilai ekspresi boolean (exp) terlebih dahulu diuji.
• Pada konstruksi do-while statement atau blok statement
pasti dikerjakan paling sedikit satu kali, karena ekspresi boolean baru diuji pada akhir blok pengulangan.
Beberapa cara untuk menghentikan pengulangan, ini dapat dilakukan dengan menambah :
1. Sentinel atau Pembatas dengan kode khusus
2. Pertanyaan, Apakah pengulangan akan dilanjutkan.
14 of 26
Diagram Alir do … whileDiagram Alir do … whileDiagram Alir do … whileDiagram Alir do … while
Pernyataan sebelum do while
Pernyataan sesudah do while
Blok pernyataan
kondisi
15 of 26
Contoh program do whileContoh program do whileContoh program do whileContoh program do while
#include<iostream.h>Int main ( ){
Int pencacah =1;Do{ cout << “Visual C++”
<<endl;Pencacah++;}while (pencacah <= 5);Return 0;}
16 of 26
Contoh Loop dengan pernyataan while:
While (kondisi)
{
pernyataan_1;
………….
Pernyataan_2;
}
Bagian pernyataan_1 hingga pernyataan_2
akan dijalankan secara terus-menerus
selama kondisi bernilai BENAR
17 of 26
PeseuducodeMasukkan (m,n)r ← sisa_pembagian(m,n)Ulangi selama r ≠ 0 m ← n
n ← rr ← sisa_pembagian(m,n)
Akhir – ulangiTampilkan(n)
18 of 26
#include<iostream.h>
Void main()
{
int m,n,r;
Cout << “masukkan m : “;
Cin>>m;
Cout<<“masukkan n: “
Cin >>n;
R = m % n;
While (r != 0)
{
m = n;
n = r;
r = m % n;
}
cout << “FPB : “ << n<< “\n”;
Return 0;
}
19 of 26
Peseuducode
Masukkan(n)
Pencacah ← 1
Nilai ← 1
Ulangi selama nilai < n
tampilkan (nilai)
Nilai ← nilai + pencacah
pencacah ← pencacah + 1
Akhir-ulang
20 of 26
#include<iostream.h>Int main (){
int n, pencacah;Double bil, jum, rata-rata;Cout << “jumlah data = “;Cin>> n;Jum = 0 ;Pencacah = 1;While (pencacah <= n ){
cout < “ Bilangan “ << pencacah <, “ = “;cin >> bil;jum = jum + bil;
} rata_rata = jum / n; cout << “rata-rata = “ << rata_rata << “\n”;Return 0;}
21of 26
Latihan :Buatlah algoritma segitiga yang disusun dari simbol * dengan tinggi segitiga ditentukan melalui keyboard.Contoh :**********PeseudukodeMasukkan(tinggi) Untuk I ← 1 s/d I
tampilkan ( “ * ”) // tanpa perintah baris Akhir-untuk Tampilkan 9karakte_pindah baris)// untuk berpindah barisAkhir untuk
22 of 26
#include<iostream.h>Int main( ){
int I, j, tinggi; Cout << “Masukkan tinggi segitiga : “;
Cin >> tinggi;For (I = 1; I <= tinggi; i++){
for ( j = 1; j <= I; j++)cout << “*”;
cout << “\n”;}
return 0;}
23 of 26
Keluar dari PengulanganKeluar dari PengulanganKeluar dari PengulanganKeluar dari Pengulangan
Pernyataan yang berguna untuk keluar dari suatu pengulangan(loop), yaitu break.While ( …. ){
While ( ….){
If ( …. )Break;……….} // akhir while terdalamPernyataan_sesudah_while;……….} // akhir while terluarPernyataan_X;
24 of 26
Contoh Penggunaan BreakContoh Penggunaan BreakContoh Penggunaan BreakContoh Penggunaan Break
#include<iostream.h>Int main ( ){
Int I, j;I = 0;While (I < 3 ) {
J = 0;While ( j < 5 ) {
If ( j == 3 )Break;Cout << “ I = “ << ICout << “ j = “ << j << endl;J ++;
} // akhir while ( j < 5 )i++;
}
Return 0;
}
25 of 26
Tampak bahwa j sama dengan 3 hingga 5 tidak pernah ditampilkan mengingat adanya perintah. If 9 j == 3 )
Break;Yang membuat while ( j < 5 ) Segera diakhiri ketika j bernilai 3.
26 of 26
Hasil EksekusiHasil EksekusiHasil EksekusiHasil Eksekusi
I = 0 j = 0I = 0 j = 1I = 0 j = 2I = 1 j = 0I = 1 j = 1I = 1 j = 2I = 2 j = 0I = 2 j = 1I = 2 j = 2