Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Arithmetic Expression

Presentasi serupa


Presentasi berjudul: "Arithmetic Expression"— Transcript presentasi:

1 Arithmetic Expression
6.1 Bab 06 Assignment Statement dan Arithmetic Expression 89

2 6.1. Assignment Statement. C++ C #include <stdio.h>
6.2 Assignment statement diterjemahkan menjadi pernyataan penugasan atau perintah penugasan. Yang maksud sebenarnya adalah mengisi sebuah variabel. Perhatikan kembali program menambahkan dua buah bilangan 5 dengan 2 dan mencetak totalnya sebagai berikut : C++ C #include <stdio.h> void main() { int A, B, T; A = 5; B = 2; T = A + B; printf(“%i”, T); } #include <iostream.h> void main() { int A, B, T; A = 5; B = 2; T = A + B; cout << T; } Pada keduaprogram diatas, masing-masing ada 3 buah assignmet statement yaitu : A = 5; B = 2; dan T = A + B; Tentu saja variabel A, B, dan T sudah disiapkan sebelumnya. 89

3 { public static void main(String args[]) { int A, B, T; A = 5; B = 2;
6.3 Java public class Contoh01 { public static void main(String args[]) { int A, B, T; A = 5; B = 2; T = A + B; System.out.println( T ); } Pada program diatas, masing-masing ada 3 buah assignmet statement yaitu : A = 5; B = 2; dan T = A + B; Tentu saja variabel A, B, dan T sudah disiapkan sebelumnya. 90

4 A = 5; 6.2. Assignment Statement dalam Bahasa C/C++ dan Java. 1).
6.4 6.2. Assignment Statement dalam Bahasa C/C dan Java. Contoh Penulisan Assignment Statement dalam Bahasa C/C dan Java. 1). A = 5; Mengisi variabel A dengan nilai 5. (baca : A diisi 5 atau A sama dengan 5) Sebelum instruksi A = 5 dilaksanakan, isi variabel A katakanlah tidak diketahui A setelah instruksi A = 5 dilaksanakan, maka isi A menjadi 5. Berapapun isi A sebelumnya akan hilang dan diganti dengan 5 5 A 90

5 tipe integer int A; Keterangan A = 5; A berisi 66 A = ‘B’; A = ‘BC’;
6.5 Berikut ini contoh sebuah variabel yang disiapkan dengan tipe tertentu dan diisi dengan nilai konstanta. tipe integer int A; Keterangan A berisi 66 error A berisi 7 A berisi 120 A = 5; A = ‘B’; A = ‘BC’; A = “B”; A = “PQR”; A = 7.5; A = 12.5e02; 90

6 tipe karakter int A; Keterangan A = 5; A = ‘B’; A berisi 66 A = ‘BC’;
6.6 Keterangan A = 5; A = ‘B’; A = ‘BC’; A = “B”; A = “PQR”; A = 7.5; A = 12.5e02; A berisi 66 error A berisi 7 A berisi 120 Catatan : A berisi 66, maksudnya bit-bitnya bernilai 66, yang secara karakter isinya adalah karakter ‘B’ 90

7 float A; A = 5; A berisi 5.0 A = ‘B’; A berisi 66.0 A = ‘BC’;
tipe floating point float A; 6.7 Keterangan float A; A = 5; A = ‘B’; A = ‘BC’; A = “B”; A = “PQR”; A = 7.5; A = 12.5e02; A berisi 5.0 A berisi 66.0 A berisi error A berisi 7.5 A berisi 90

8 6.8 2). A = B; Mengisi variabel A dengan isi variabel B. Isi variabel B tidak berubah. Sebelum instruksi A = B dijalankan, misal isi A= 5, dan B = 2 Setelah instruksi A = B dijalankan, maka isi A menjadi 2, dan isi B tetap 2 5 2 2 2 A B A B isi B tidak berubah Tipe variabel A dan B bisa sama bisa juga berbeda. Transfer nilai berdasarkan bit-bit yang ada dalam variabel tersebut sebagai berikut: Contoh-1: int A; char B = ‘X’; A = B; karakter X nilai decimal = 88 B A A akan berisi nilai 88 91

9 0000 0001 0101 1000 0101 1000 A 91 6.9 Contoh-2: int A = 344; char B;
B = A A B B akan berisi nilai 88 yaitu karakter X. Contoh-3: int A; float B = 12.5; A = B; variabel A akan berisi 12 Contoh-4: float A; int B = 12.5; A = B; A akan berisi 12.0 91

10 Mengisi variabel A dengan hasil penambahan nilai B dan C.
(baca : A diisi dengan nilai B + C) 6.10 3). A = B + C; Misal nilai A, B dan C sebelum instruksi dilaksanakan. Isi A, B, dan C setelah instruksi A = B + C dijalankan. 8 2 6 5 2 6 A B C A B C Proses pelaksanaan instruksi A = B + C dalam komputer: isi B dan C tidak berubah 2 6 Nilai B dan C dibawa ke processor (CPU) dan dilakukan penambahan dalam CPU, hasilnya diisikan ke A, sehingga isi A menjadi 8. Sedangkan isi B dan C tidak berubah. B C A = 8 Processor (CPU) 92

11 6.11 4). A = A + B; Mengisi variabel A dengan hasil penambahan nilai A dan B. (baca : A diisi dengan nilai A + B) Instruksi ini lebih dipahami sebagai berikut : Menambahkan nilai A dengan nilai B 5 2 7 2 Proses pelaksanaan instruksi A = A + B dalam komputer: A B A B sebelum sesudah 5 2 Nilai A dan B dibawa ke processor (CPU) dan dilakukan penambahan dalam CPU, hasilnya diisikan kembali ke A, sehingga isi A menjadi 7. Dengan demikian, instruksi ini bertujuan menambahkan isi B ke A. A B CPU = 7 92

12 6.12 5. A = A + 1; Mengisi variabel A dengan hasil penambahan nilai A dan konstanta 1. (baca : A diisi dengan nilai A + 1 atau : tambahkan 1 ke A atau : A ditambah 1 ) 5 6 A A sesudah sebelum Proses pelaksanaan instruksi A =A + 1 dalam komputer: A 5 Nilai A dibawa ke processor (CPU). Dalam CPU dilakukan penambahan dengan 1 hasilnya = 6. Nilai 6 ini diisikan kembali ke A , sehingga isi A menjadi 6. Dengan demikian intruksi ini bertujuan menambahkan isi A dengan 1 5 + 1 = 6 93

13 Pada Bahasa C, C++ dan Java,
6.13 Assignment statement Dapat ditulis menjadi A = A + B; A = A - B; A = A * B; A = A / B; A = A + 1; A = A -1; A += B; A -= B; A *= B; A /= B; A += 1; A -= 1; Catatan : A = + 5; maksudnya mengisi A dengan (bilangan positip 5 ) bukan menambah nilai A dengan 5 Dalam lingkungan pemrograman ada istilah increment dan decrement yang maksudnya penambahan dengan 1 atau pengurangan dengan 1. Istilah ini hanya diperuntukkan pada bilangan integer. yang biasa ditulis sebagai A = A + 1; dan A = A - 1;. Untuk C/C++ dan Java, Khusus untuk increament A = A + 1; dapat ditulis menjadi A++, dan untuk decreament A = A - 1; dapat ditulis menjadi A--; Dengan demikian, dalam C/C++ dan Java, : A=A+1; A+=1; A++; bermaksud sama. 93

14 6.2.2. Arithmetic Expression dalam Assignment Statement .
6.14 Arithmetic Expression dalam Assignment Statement . Perhatikan assignment statement berikut ini : X = A + B * C; A + B * C disebut arithmetic expression, atau pernyataan aritmatika dimana A, B, dan C disebut operand, (yang dioperasikan) sedangkan + dan * disebut arithmetic operator (operator arithmatika) 94

15 Maksud dan tingkat hirarkhi
6.15 Operator Aritmatika . Dalam Bahasa C, C++ dan Java operator arithmatika yang digunakan (disusun berdasarkan tingkat hirarkhi tertinggi sampai dengan yang terendah) adalah sebagai berikut : operator Maksud dan tingkat hirarkhi * dan / dan % + dan - Kali dan Bagi dan Modulus * dan / dan Modulus tingkat hirarkhinya sama. * dan / dan Modulus tingkat hirakhinya lebih tinggi dari + dan - Tambah dan Kurang + dan - tingkat hirakhinya sama. 94

16 6.16 Disamping itu, sama dengan proses arithmatika, untuk mengelompok proses dua atau lebih operand digunakan juga operator ‘( )’ , yaitu kurung buka dan kurung tutup, yang menyatakan bahwa kelompok tersebut mempunyai satu kesatuan nilai. Contoh untuk Pembagian dan Modulus pembagian: int N = 25; N = N / 2; printf(“%i”, N) float F = 25.0; F = F / 2; printf(“%f”, F) akan tercetak : 12 akan tercetak : int N = 25; int K; K = N % 2; printf(“%i”, K) operator % biasa disebut Modulus, hanya berlaku untuk bilangan integer, sehing-ga % disebut sisa pem-bagian bilangan integer. 25 dibagi 2 = 12 sisa 1. akan tercetak : 1 Hal ini berlaku juga untuk C++ dan Java. Yang berbeda hanya cara menulis instruksi cetak. 94

17 6.17 Beberapa contoh hasil operasi dengan Modulus 15 % 2 = 1 15 % 3 = 0 15 % 4 = 3 15 % 5 = 0 15 % 15 = 0 7 % 15 = 7 5 % 15 = 5 15 % -4 = 3 -15% -4 = -3 -15% 4 = -3 5 % 7 = 5 5 % -7 = 5 -5 % 7 = -5 -5 % -7 = -5 Catatan: Selain menggunakan operator %, Modolus dapat juga menggunakan fungsi fmod(). contoh : a = 15; b = fmod(a,4); sama maksudnya dengan b = a%4; 96

18 96 6.18 6.2.2.2. Pangkat dan Akar . a. Pangkat
Tidak seperti Bahasa BASIC, Bahasa C/C++ maupun Java, tidak menyiapkan operator untuk pangkat, tapi menyiapkan fungsi untuk operasi pangkat . Untuk C dan C++, fungsi tersebut disiapkan sebagai fungsi pustaka (library function) dalam file math.h. Oleh karena itu bila ingin menggunakan fungsi tersebut maka file math.h harus diinclude. Contoh : #include<stdio.h> #include<math.h> void main() { int N = 7; int K; K = pow(N,2); printf(%i”, K); } pow(N,2) maksudnya N power 2 atau N pangkat 2. Biasanya untuk N pangkat 2 orang lebih senang menulis N*N akan tercetak : 49 96

19 #include<stdio.h> #include<math.h> void main()
6.19 #include<stdio.h> #include<math.h> void main() { float F = 5.2; printf(%f”, pow(F,2); } #include<stdio.h> #include<math.h> void main() { float F = 27; printf(%f”, pow(F,0.5); } akan tercetak : akan tercetak : b. Akar. C, C++ dan Java, menyiapkan fungsi hanya untuk akar kwadrad yaitu sqrt(); Contoh : #include<stdio.h> #include<math.h> void main() { float F = 27; printf(%f”, sqrt(F)); } Untuk akar 3, maka dibuat menjadi pangkat 1/3 akan tercetak : 96

20 6.3. Contoh Soal dan Soal-Soal Latihan Mandiri
6.20 6.3.1 Contoh Soal. 1). Diketahui nilai atau isi A = 5 , B = 2 dan T = 4. Ditanya isi A, B dan T bila dikenai instruksi berikut ini : 1a. T = A Jawab : A= 5, B = 2, T = 5 1b. T = T + A Jawab : A = 5, B = 2, T = 9 1c. T = T + A * B Jawab : A = 5, B = 2, T = 14 1d. T = pow(A,B) Jawab : A = 5, B = 2, T = 25 1e. T = A % B Jawab : A = 5, B = 2, T = 1 1f. T = B % A Jawab : A = 5, B = 2, T = 2 1g. T = A / B Jawab : A = 5, B = 2, T = 2 1h. T = B / A Jawab : A = 5, B = 2, T = 0 97

21 6.21 2). Diketahui nilai atau isi A = 5 , dan B = 2. Ditanya isi A dan B bila dikenai dua instruksi berikut ini : A = B; B = A; Jawab : A = 2, dan B juga = 2. 5 2 Ilustrasi proses : A B 1). Nilai awal A=5 dan B=2 2). Setelah dikenai instruksi : A = B Nilai B diisikan ke A sehingga nilai A menjadi = 2 2 2 A B 3). Setelah dikenai instruksi : B = A Nilai A diisikan ke B sehingga nilai B yang asalnya = 2 diisi lagi dengan 2. Nilai 2 yang lama hilang, diganti dengan nilai 2 yang baru 2 2 A B 97

22 3). Diketahui nilai atau isi A = 5, B = 2, dan T tidak diketahui. Ditanya : isi A dan B bila dikenai tiga instruksi berikut ini : T = A; A = B; B = T; Jawab : A = 2, dan B = 5 (terjadi pertukaran nilai (swap) antara A dan B) 6.22 T = A A = B B = T Ilustrasi proses instruksi : 1). Nilai awal A=5, B=2, dan T tidak diketahui; A 5 2 B T 2). Setelah dikenai instruksi : T = A Nilai A diisikan ke T sehingga nilai T menjadi = 5 A 5 2 B 5 T 3). Dilanjutkan dengan instruksi : A = B Nilai B diisikan ke A sehingga nilai A menjadi = 2 A 2 2 B 5 T 4). Dilanjutkan dengan instruksi : B = T Nilai T diisikan ke B sehingga nilai B menjadi = 5 A 2 5 B 5 T 98

23 4). 99 6.23 Tuliskan assignment statement untuk menyatakan persamaan :
4a. X = A + B/C Jawab : X = A + B / C 4b. X = (A + B) / C Jawab : X= (A + B ) / C A + B 4c. X = Jawab : X = (A + B ) / C C Salah : X = A + B / C 4d. X = Jawab : X = (A + B) / (2 * C) 2C Salah : X = (A + B) / 2 * C A2 - Ö(2B) 4e. X = Jawab : (A*A - sqrt(2*B) ) / ( 4 * A * C) 4AC 99

24 Dari persamaan kuadrat : AX + BX + C = 0
6.24 Dari persamaan kuadrat : AX + BX + C = 0 dengan rumus ABC dapat dicari nilai X1 dan X2 Isilah titik-titik dalam jawaban berikut ini untuk menyelesaikan penulisan assigment statement untuk menyatakan nilai X1 menurut rumus ABC. Jawab : X1 = ……………………………………….. 5). 99

25 Jawab : F =………………………………………..
6.25 6). Dalam variabel C ada sebuah nilai yang menyatakan suhu dalam derajat Celcius. Isilah titik-titik dalam jawaban berikut ini untuk menyelesaikan penulisan assigment statement untuk menyatakan suhu tersebut dalam derajat Fahrenheit yang akan disimpan dalam variabel F. Jawab : F =……………………………………….. 99

26 Jawab : C= ………………………………………..
6.26 7). Dalam variabel F ada sebuah nilai yang menyatakan suhu dalam derajat Fahreinheit. Isilah titik-titik dalam jawaban berikut ini untuk menyelesaikan penulisan assigment statement untuk menyatakan suhu tersebut dalam derajat Celcius yang akan disimpan dalam variabel C. Jawab : C= ……………………………………….. 99

27 6.27 8). Persoalan : Konversi dari ( Jam, Menit, Detik ) ke dalam Detik. Sesorang bekerja selama 1 Jam, 5 Menit dan 10 Detik, yang disimpan dalam variabel JAM, MENIT dan DETIK, sehingga isi variabel JAM = 1, MENIT = 5, dan DETIK = 10. Tulis sebuah instruksi (assignment statement) untuk menghitung lama dia bekerja dalam satuan detik yang disimpan dalam variabel D. Jawab : D = JAM * MENIT * 60 + DETIK sehingga variabel D akan berisi : 1* * = 3910 yang menyatakan waktu dalam detik. 1 5 10 3910 D JAM MENIT DETIK 100

28 9). 100 6.28 Persoalan : Konversi dari Detik ke Jam, Menit dan Detik.
Diketahui isi variabel DETIK = yang menyatakan waktu dalam satuan detik. Juga sudah ada variabel JAM dan MENIT yang isinya tidak diketahui atau tidak perlu diketahui (Semua variabel bertipe int) Ditanya isi variabel JAM , MENIT dan DETIK setelah dikenai instruksi-instruksi berikut ini : JAM = DETIK / 3600 DETIK = DETIK % 3600 MENIT = DETIK / 60 DETIK = DETIK % 60 Jawab : isi variabel JAM = 2, MENIT = 3, dan DETIK = 45 100

29 Jadi : 7425 detik = 2 Jam, 3 Menit dan 45 Detik
6.29 Ilustrasi Proses : 7425 DETIK JAM MENIT 2 225 45 3 1) Mula-mula isi DETIK = 7425 isi JAM dan MENIT tidak diketahui : 2) Setelah dikenai instruksi JAM = DETIK / 3600 3) Setelah dikenai instruksi DETIK = DETIK % 3600 4) Setelah dikenai instruksi MENIT =¬ DETIK / 60 5) Setelah dikenai instruksi DETIK = DETIK % 60 Jadi : 7425 detik = 2 Jam, 3 Menit dan 45 Detik 100

30 101 6.30 Persoalan : Konversi dari Detik ke Jam, Menit dan Detik.
10). Persoalan : Konversi dari Detik ke Jam, Menit dan Detik. Diketahui isi variabel DETIK = yang menyatakan waktu dalam satuan detik. Juga sudah ada variabel JAM dan MENIT yang isinya tidak diketahui atau memang awalnya tidak perlu diketahui Ditanya isi variabel JAM , MENIT dan DETIK setelah dikenai instruksi-instruksi berikut ini : JAM = DETIK / 3600 DETIK = DETIK - JAM * 3600 MENIT = DETIK / 60 DETIK = DETIK - MENIT * 60 Jawab : isi variabel JAM = 2, MENIT = 3, dan DETIK = 45 Catatan : Cara ini biasa digunakan bila fungsi mod tidak tersedia dalam suatu bahasa pemrograman atau memang tidak ingin menggunakan fungsi Mod. 101

31 6.31 Ilustrasi Proses : 1) Mula-mula isi DETIK = 7425 isi JAM dan MENIT tidak diketahui : 2) Setelah dikenai instruksi JAM = DETIK / 3600 3) Setlah dikenai instruksi DETIK = DETIK -JAM*3600 ( = *3600) ( = ) ( = 225 ) 4) Setelah dikenai instruksi MENIT = DETIK / 60 5) Setelah dikenai instruksi DETIK = DETIK - MENIT * 60 ( = * 60) ( = ) ( = 45 ) 7425 DETIK JAM MENIT 7425 2 DETIK JAM MENIT 225 2 DETIK JAM MENIT 225 2 3 DETIK JAM MENIT 45 2 3 DETIK JAM MENIT 101

32 6.4 Soal-Soal Latihan Mandiri Tambahan.
Apa yang tercetak bila instruksi-instruksi dalam Bahasa C berikut ini dijalankan : 1. printf(“Jakarta“); printf(“Bandung”); 2. printf(“Jakarta\nBandung“); 3. printf(“Jakarta\n“); printf(“Bandung”); 4. printf(“Jakarta\n“); printf(“\n\nBandung”); 5. printf(“Jakarta\bBandung“);

33 6.4 Soal-Soal Latihan Mandiri Tambahan.
Apa yang tercetak bila instruksi-instruksi dalam Bahasa C berikut ini dijalankan : 6. printf(“Jakarta\b“); printf(“Bandung”); 7. printf(“Jakarta\rBali“); 8. printf(“Jakarta\r“); printf(“Bali”); 9. printf(“ ”); printf(“\n%10s”, “Jakarta“); printf(“%s”, “Bandung”); 10. printf(“ ”); printf(“\n%-10s”, “Jakarta“); printf(“%10s”, “Bandung”);

34 11. int I=65; printf(“%c”, ‘I’ ); 16. int A=25; printf(“%i”, ‘A’ ); 17. char C = ‘A’; printf(“%c”, C ); 12. int I=65; printf(“%c”, I ); 13. int I=65; printf(“%i”, I ); 18. char C = ‘A’; printf(“%i”, C ); 19. char C = ‘A’; printf(“%c”, ‘C’ ); 14. int A=25; printf(“%i”, 25 ); 20. char C = ‘A’; printf(“%c”, ‘C’ ); 15. int A=25; printf(“%i”, A );

35 21. int A=25; printf(“%i”, A/2*2 ); 22. int A=25; printf(“%i”, A%2*2); int A=25; printf(“%i”, ++A ); 23. int A=25; printf(“%i”, A+=A%2); 24. 25. int A=25; printf(“%i”, A++ ); printf(“%i”, ++A);

36 26. int A=25; int B; B=++A; printf(“%i”, B ); 29. int A=25; int B; B=A++; printf(“%i”, ++B ); 27. int A=25; int B; B=++A; printf(“%i”, ++B ); 30. int A=25; int B; B=A++; printf(“%i”, B++ ); 28. int A=25; int B; B=A++; printf(“%i”, B );

37 31. int A=25; printf(“%i”, A+5 ); printf(“%i”, A ); int A=25; printf(“%i”, A=+5 ); printf(“%i”, A ); 32. int N = 15; printf(“%d”, N-2>10); 33. int N = 15; printf(“%d”, N-2<10); 34. int N = 15; printf(“%d”, N-2 !=15); 35. 36. int A = 15, B=12; printf(“%d”, A<B? (A) : (B) )


Download ppt "Arithmetic Expression"

Presentasi serupa


Iklan oleh Google