PDF Compressor Pro Pemrograman Terstruktur
Oleh : Sudirman S.Kom
PEMROGRAMAN TERSTRUKTUR PERTEMUAN VIII OPERASI DALAM ALGORITMA/PROGRAM 1. Operasi Aritmatik 2. Operasi Perbandingan/ Relasional 3. Operasi logika. 1. Operasi aritmatik Operator Aritmatika dalam bahasa C++ : +
(Tambah/ Penjumlahan)
-
(Kurang/ Pengurangan)
*
(Kali/ Perkalian)
/
(Bagi)
%
( sisa hasil bagi) Simbol + * / % ++
Tabel Operator Aritmatika Fungsi Penambahan Pengurangan Perkalian Pembagian Modulo (sisa bagi) Increment (Penambah) Decrement (Pengurang)
Contoh X = y + 6; Y = x – 5; Y = y * 3; Z = x / y; A = 10 % 3; X++; atau ++X; Z ; atau Z;
Contoh Operator % : 1. Menentukan bilangan ganjil atau genap yang dibaca. /* Program menentukan bilangan ganjil atau genap */ #include
void main() { int bil; cout <<”Masukkan bilangan :”; cin>>bil; if ( bil % 2 == 0) cout <<"Bil. genap"<<endl<<endl; else cout <<"Bil. ganjil"<<endl<<endl; }
PDF Compressor Pro Pemrograman Terstruktur
Oleh : Sudirman S.Kom
Contoh Operator ++: 1. Dari potongan program berikut ini :
2. Dari potongan program berikut ini :
bil=10;
bil=10;
cout <
cout <
cout <<++bil<<endl;
cout <
cout <
cout <
Hasil eksekusi program ini adalah :
Hasil eksekusi program ini adalah :
10
10
11
10
11
11
Contoh Operator : 1. Dari potongan program berikut ini :
2. Dari potongan program berikut ini :
bil=10;
bil=10;
cout <
cout <
cout <<- -bil<<endl;
cout <
cout <
cout <
Hasil eksekusi program ini adalah :
Hasil eksekusi program ini adalah :
10
10
9
10
9
9
PDF Compressor Pro Pemrograman Terstruktur
Oleh : Sudirman S.Kom
Combined Operator Setiap ekspresi yang terbentuk : = <Exp> ; dapat diganti = <Exp> ; Contoh : Ekspresi A=a+b; A=a–b; A=a*b; A=a/b; A=a%b; A=a&b; A=a|b; A=a^b;
Dapat diganti dengan A+=b; A–=b; A*=b; A/=b; A%=b; A&=b; A|=b; A^=b;
2. Operasi Perbandingan / Relasional
Operasai Relasional Operasi terhadap bilangan bulat
Operasi = < >
Tabel Operator Relasi Simbol Fungsi == Sama dengan != Tidak sama dengan < Lebih kecil dari > Lebih besar dari <= Lebih kecil atau sama dengan >= Lebih besar atau sama dengan ?: Conditional assignment
Keterangan : Conditional assignment ?: memiki bentuk :
True Nama_variable = ekspresi logika atau relasi ? ekspresi-1 : ekspresi-2;
False
PDF Compressor Pro Pemrograman Terstruktur
Oleh : Sudirman S.Kom
Contoh : 1. if (gol==’A’) gaji_pokok=150000; 2. if (status != ’T’) tunjangan_tetap = 0.15 * gaji_pokok; 3. if (nilai >= 60) status=’L’; /* Lulus */ else status=’G’; /* Gagal */ statement diatas dapat diganti dengan : status = nilai >= 60 ? ‘L’ : ‘G’; 3. Operasai Logika AND, OR, NOT Tabel kebenaran logika A Not A True
False
False
True
Operasi logika hanya mempunyai dua nilai, yaitu True atau False Simbol && || ! A True True False False
Tabel Operator logika Fungsi Contoh AND (a= = b) && (b
A&&B True False False False
A||B True True True False
Contoh : Pembeli akan mendapat diskon 1,5 %, apabila barang yang dibeli berjumlah > 50 atau harga barang berjumlah > Rp. 100.000,-” If ( jml_brg > 50 || jml_hrg > 100000) diskon = 0.015 * jml_hrg;
PDF Compressor Pro Pemrograman Terstruktur
Oleh : Sudirman S.Kom
EKSPRESI Ekspresi Operand dan Operator
Hasil Evaluasi dari sebuah Ekpresi nilai yang sesuai dengan type operand yang dipakai . MACAM – MACAM EKPRESI 1. Ekspresi aritmatika 2. Ekspresi Numerik Contoh : a. (A/2.5)+C*B
Operator Aritmatik.
Operandnya berupa Numerik.
Operandnya adalah A, B, dan C , dan Operatornya adalah /,+,*
b. (J*K)-10*(O+K) Operandnya adalah O, I, J, K, dan Operatornya adalah +,*,3. Ekspresi Relasional
Operator Relasional.
Hasil Evaluasi Ekspresi nilai, nilai bertype Bolean ( True and False ).
Contoh : a. Ada = True
Not Ada (Hasil : False )
c. 7 < 5 (Hasil : False)
b. Ada = true
Ada and True (Hasil : True ) d. Ada = true X=9 Y = 19 Ada Or (X =Y ) (Hasil True )
e. Dari ekspresi logika dibawah ini akan menghasilkan nilai FALSE, kecuali : a. (5<4) and (3>2) c. not (5>=5) e. Tidak ada yang benar b. (5<4) or (3<2) d. (5>5) or (3<2) f. Jika x=1, y=5 dan z=10, berikut ini adalah ekspresi relasi yang bernilai TRUE, kecuali : a. x+5<10 c. z-2>3 e. x+y>7 b. y>x+3 d. y>z-7 g. Dari soal f : ( x + 5 < 10 ) && (z – 2 > 3)
Hasilnya : True atau False ?
PDF Compressor Pro Pemrograman Terstruktur
Oleh : Sudirman S.Kom
h. Dari soal f : ( y > x + 3 ) || ( x + y > 7 ) Hasilnya : True atau False ? PERIORITAS OPERATOR ARITMATIKA (dari tinggi ke rendah) PERIORITAS
OPERATOR
1
()
2
++ – –
Penambah dan pengurang
3
* / %
Kali, bagi dan sisa
4
+ –
5
= += -=
*= /= %= 6
!
7
<> <= >=
KETERANGAN Tanda kurung
Tambah dan kurang Operator pemberi nilai aritmatika Operator logika tidak/bukan Operator relasi
!= == 8
&& ||
Operator logika AND dan OR
Contoh : Bila diketahui a=100, b=10 dan c=2, tentukan hasil ekspresi aritmatika berikut ini : a. d = a / 2 * b;
d. z = a/(2*b);
b. x = a * b / 5 * c;
e. p = a + b / 2 * b;
c. y = a * ( b / 5 ) * c;
f. q = a + c / 10 + b;
Soal : Anda diminta untuk menghitung jumlah pegawai yang berstatus “Part time” yang berjenis kelamin “Laki”, serta jumlah pegawai yang berstatus “Part time” yang berjenis kelamin “Wanita”. Input adalah NIP, Status dan jenis_kelamin. Bacalah input dengan cara proses pengulangan. Seleksi sesuai aturan diatas, kemudian jumlahkan pegawai yang berstatus “Part time” yang berjenis kelamin “Laki” atau jumlahkan pegawai yang berstatus “Part time” yang berjenis kelamin “Wanita”. Jika NIP yang Anda masukkan = 999, maka proses berulang atau proses input data selesai.
PDF Compressor Pro Pemrograman Terstruktur
Oleh : Sudirman S.Kom
Penyelesaian Soal : #include void main() { int nip,jml_part_lk=0,jml_part_wn=0; char status, jk;
;
while (1) /* while(1) akan selalu bernilai TRUE karena 1=TRUE */ { cout<<"NIP : "; cin>>nip; if (nip==999) break; cout<<"Status (P/T) : "; cin>>status; cout<<"Jenis kelamin (L/W) : "; cin>>jk; if (status=='P' && jk=='L') jml_part_lk++; else jml_part_wn++; }
}
cout<<endl;
cout <<"Jumlah pegawai Part-time Laki-laki : "<<jml_part_lk<<endl; cout <<"Jumlah pegawai Part-time Wanita : "<<jml_part_wn<<endl;
PDF Compressor Pro Pemrograman Terstruktur
Oleh : Sudirman S.Kom
SOAL : PT. MEDCO melakukan seleksi penerimaan pegawai, peserta akan DITERIMA apabila Nilai Test lebih dari 70 dan yang berumur dibawah 25 tahun. Sejumlah peserta akan diseleksi berdasarkan persyaratan diatas. Anda diminta untuk mencetak Keterangan yang berisi DITERIMA atau GAGAL, dan pada bagian akhir proses pengulangan di cetak jumlah yang diterima dan yang ditolak. Input : NoTest, Nilai dan Umur Output : Keterangan Proses : Gunakan proses pengulangan while untuk membaca sejumlah nilai Peserta.