SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Pengambilan Keputusan

DASAR PEMROGRAMAN
TUJUAN
Menjelaskan tentang operator kondisi (operator
relasi dan logika)
Menjelaskan penggunaan pernyataan if
Menjelaskan penggunaan pernyataan if-else
Menjelaskan penggunaan pernyataan if dalam if
Menjelaskan penggunaan pernyataan else-if
Menjelaskan penggunaan pernyataan switch

2
Pengambilan Keputusan
Pernyataan-pernyataan yang dapat digunakan
dalam pengambilan keputusan:
Pernyataan if
Pernyataan if-else
Pernyataan switch

Pernyataan-pernyataan diatas memerlukan suatu
kondisi dibentuk dengan operator relasi
dan/atau operator logika.
3
Operator Relasi
Operator
>
>=
<
<=
==
!=

Makna
Lebih dari
Lebih dari atau sama dengan
Kurang dari
Kurang dari atau sama dengan
Sama dengan
Tidak sama dengan

Operator relasi menghasilkan kondisi
BENAR atau SALAH.
4
Operator Relasi
Contoh :

5
Operator Logika
Operator
&&
||
!

Makna
dan (AND)
atau (OR)
tidak (NOT)

6
Operator Logika
Bentuk umum penggunaan operator logika
‘&&’ dan ‘||’:
operand1 operator operand2
Bentuk umum penggunaan operator logika
‘!’:
!operand
Hasil operasi ! bernilai :
Benar jika operand bernilai salah
Salah jika operand bernilai benar

7
Operator Logika
Operand1
Salah
Salah
Benar
Benar

Operand2
Salah
Benar
Salah
Benar

Hasil
||
0
1
1
1

&&
0
0
0
1

8
Prioritas Operator Logika
dan Relasi
Prioritas

Operator

Tertinggi

!
>
==
&&
||

Terendah

>=
!=

<

<=

9
Latihan
Berikut benar atau salah :
2 > 1 || 3 <= 4 && 4 < 1
2 >1 && 3 <= 4 || 4 < 1
!(2 > 1) && (3 <= 4)
(5 > 1 || 3 != 2) && ((2 > 1) || (4 == 2))

10
Pernyataan if
Sintak:
if (kondisi)
pernyataan;
Jika kondisi benar maka
pernyataan dilakukan.
pernyataan bisa satu statement
atau beberapa statement
Jika pernyataan lebih dari satu
gunakan tanda ‘{‘ dan ‘}’ untuk
mengelompokkan pernyataan2 itu.

11
Contoh penggunaan if
// Program discount - discount.c
#include <stdio.h>
main()
{
float total_pembelian, discount = 0;
printf("Total pembelian
= Rp ");
scanf("%f", &total_pembelian);
if(total_pembelian >= 100000)
discount = 0.05 * total_pembelian;
printf("Besarnya discount = Rp %6.2fn",
discount);
}

12
Pernyataan if-else
Sintak:
if (kondisi)
pernyataan1;
else
pernyataan2;
Jika kondisi benar maka
pernyataan1 dilakukan.
Jika kondisi salah maka
pernyataan2 dilakukan.

13
Contoh penggunaan if-else
// Program perbandingan 2 buah nilai
#include <stdio.h>
main()
{
int minim,nilai1,nilai2;
printf ("Masukkan 2 buah nilai n");
scanf ("%d %d",&nilai1, &nilai2);
if (nilai1 < nilai2)
minim = nilai1;
else
minim = nilai2;
printf ("Nilai minimalnya adalah :%dn",minim);
}

14
Nested-if
Di dalam pernyataan if (atau if-else) bisa terdapat pernyataan if
(atau if-else) yang lain.
Bentuk umum:
if (kondisi-1)
if (kondisi-2)
.
.
if(kondisi-n)
pernyataan;
else
pernyataan;
.
.
else
pernyataan;
else
pernyataan;

15
Contoh penggunaan if-else
// Program penentuan bil positif / negatif
#include <stdio.h>
{
int x,y;
printf ("Masukkan 2 buah nilai n");
scanf ("%d %d",&x, &y);
if (x > 0)
if (y > 0)
printf ("Nilai x dan y adalah positifn");
else
printf ("Nilai x positif dan y negatifn");
else
printf ("Nilai x negatifn");
}

16
Contoh penggunaan if-else
// Program kalkulator Sederhana - kalukalor1.c
#include <stdio.h>
main()
{
int valid_operator = 1;
char operator;
float number1, number2, result;
printf("Masukkan 2 buah bilangan dan sebuah operatorn");
printf("dengan format : number1 operator number2nn");
scanf("%f %c %f", &number1, &operator, &number2);
if(operator == '*')
result = number1 * number2;
else if(operator == '/')
result = number1 / number2;
else if(operator == '+')
result = number1 + number2;
else if(operator == '-')
result = number1 - number2;
else
valid_operator = 0;
if(valid_operator)
printf("n%g %c %g is %gn", number1, operator,
number2, result );
else
printf("Invalid operator!n");
}

17
TERNARY OPERATOR
Bentuk umum :
kondisi1 ? ungkapan1 : ungkapan2;
Jika kondisi bernilai benar,
maka nilai ungkapan kondisi berupa ungkapan1
Jika kondisi bernilai salah,
maka nilai ungkapan kondisi berupa ungkapan2
Hasil sama :
if (nilai1 > nilai2)
max = nilai1;
else max = nilai2

18
CONTOH PROGRAM
#include <stdio.h>
main()
{
float nilai1, nilai2, max;
printf("Masukkan dua buah nilai : ");
scanf("%f %f", &nilai1, &nilai2);
max = (nilai1 > nilai2) ? nilai1 : nilai2;
printf("Nilai terbesar = %gn", max);
}

19
switch
Sebagai pengganti pernyataan if bertingkat
(else-if)
switch (ekspresi)
{
case konstanta-1:
pernyataan-11;
......
break;
case konstanta-2:
.
.
case konstanta-n:
pernyataan-n1;
.......
break;
default:
.......
break;
}

20
Contoh penggunaan switch
#include <stdio.h>
main()
{
int valid_operator = 1; char operator;
float number1, number2, result;
printf("Masukkan 2 buah bilangan dan sebuah operatorn");
printf("dengan format : number1 operator number2nn");
scanf("%f %c %f", &number1, &operator, &number2);
switch(operator)
{
case '*' :
result = number1 * number2;
break;
case '/' :
result = number1 / number2;
break;
case '+' :
result = number1 + number2;
break;
case '-' :
result = number1 - number2;
break;
default :
valid_operator = 0;
}
if(valid_operator)
printf("%g %c %g is %gn", number1, operator, number2,result);
else printf("Invalid operator!n");
}

21
Tugas
1.

Buat algoritma, flowchart, dan program untuk
menghitung diskriminan dan akar-akar dari persamaan
kuadrat ax2 + bx + c = 0
D = b2 - 4ac
D adalah deskriminan
Jika D = 0 2 akar real kembar : x1 = x2 = -b / 2a
Jika D > 0 2 akar real yang berlainan, yaitu :
x1 = (-b + sqrt(D)) / 2a
x2 = (-b - sqrt(D)) / 2a
Jika D < 0 , maka terdapat 2 akar imaginer yang
berlainan, yaitu :
x1 = -b / 2a + (sqrt(-D) / 2a) i
x2 = -b / 2a - (sqrt(-D) / 2a) i
22
2. Buatkan program untuk melakukan konversi berikut
ini, dengan inputan berupa nilai antara 0 – 100.

3. Buatkan flowchart dan program untuk memasukkan
3 buah bilangan (x,y,z), dan program memberikan
keluaran nilai terbesar sampai nilai terkecilnya.
23

Más contenido relacionado

La actualidad más candente (15)

Tipe data
Tipe dataTipe data
Tipe data
 
Pertemuan ke 3
Pertemuan ke 3Pertemuan ke 3
Pertemuan ke 3
 
6. subrutin
6. subrutin6. subrutin
6. subrutin
 
Algoritma pemrograman 8
Algoritma pemrograman 8Algoritma pemrograman 8
Algoritma pemrograman 8
 
Algoritma Pemrograman - For and Nested For
Algoritma Pemrograman - For and Nested ForAlgoritma Pemrograman - For and Nested For
Algoritma Pemrograman - For and Nested For
 
Cc++
Cc++Cc++
Cc++
 
Pemrograman Web - Statement Javascript
Pemrograman Web - Statement JavascriptPemrograman Web - Statement Javascript
Pemrograman Web - Statement Javascript
 
Algoritma pemrograman 7
Algoritma pemrograman 7Algoritma pemrograman 7
Algoritma pemrograman 7
 
Pd
PdPd
Pd
 
Function
FunctionFunction
Function
 
Function
FunctionFunction
Function
 
Pertemuan II Function
Pertemuan II FunctionPertemuan II Function
Pertemuan II Function
 
Presentasi pertemuan3
Presentasi pertemuan3Presentasi pertemuan3
Presentasi pertemuan3
 
Fungsi part 3
Fungsi part 3Fungsi part 3
Fungsi part 3
 
3 adp struktur keputusan
3   adp struktur keputusan3   adp struktur keputusan
3 adp struktur keputusan
 

Similar a M05a pengambilan keputusan

Java (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented ProgrammingJava (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented Programming
Melina Krisnawati
 
10 operator dan ungkapan part 2
10   operator dan ungkapan part 210   operator dan ungkapan part 2
10 operator dan ungkapan part 2
Budi Yono
 
10 operator dan ungkapan part 2
10   operator dan ungkapan part 210   operator dan ungkapan part 2
10 operator dan ungkapan part 2
Budi Yono
 
10 operator dan ungkapan part 2
10   operator dan ungkapan part 210   operator dan ungkapan part 2
10 operator dan ungkapan part 2
kua
 
Pertemuan 07 - Pemrograman C
Pertemuan 07 - Pemrograman CPertemuan 07 - Pemrograman C
Pertemuan 07 - Pemrograman C
Nurdin Al-Azies
 
Materi algoritma dan pemrograman insan unggul new
Materi algoritma dan pemrograman insan unggul newMateri algoritma dan pemrograman insan unggul new
Materi algoritma dan pemrograman insan unggul new
asdammantap
 
3 adp struktur keputusan
3   adp struktur keputusan3   adp struktur keputusan
3 adp struktur keputusan
Faisal Amir
 
3 adp struktur keputusan
3   adp struktur keputusan3   adp struktur keputusan
3 adp struktur keputusan
Fisma Ananda
 
C programming language notes (4)
C programming language notes (4)C programming language notes (4)
C programming language notes (4)
nakomuri
 

Similar a M05a pengambilan keputusan (20)

Mod 4 pengambilan keputusan
Mod 4 pengambilan keputusanMod 4 pengambilan keputusan
Mod 4 pengambilan keputusan
 
Modul Pert 3 Matlab.pdf
Modul Pert 3 Matlab.pdfModul Pert 3 Matlab.pdf
Modul Pert 3 Matlab.pdf
 
Materi operator java
Materi operator javaMateri operator java
Materi operator java
 
Java (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented ProgrammingJava (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented Programming
 
10 operator dan ungkapan part 2
10   operator dan ungkapan part 210   operator dan ungkapan part 2
10 operator dan ungkapan part 2
 
10 operator dan ungkapan part 2
10   operator dan ungkapan part 210   operator dan ungkapan part 2
10 operator dan ungkapan part 2
 
10 operator dan ungkapan part 2
10   operator dan ungkapan part 210   operator dan ungkapan part 2
10 operator dan ungkapan part 2
 
Pertemuan 07 - Pemrograman C
Pertemuan 07 - Pemrograman CPertemuan 07 - Pemrograman C
Pertemuan 07 - Pemrograman C
 
Materi algoritma dan pemrograman insan unggul new
Materi algoritma dan pemrograman insan unggul newMateri algoritma dan pemrograman insan unggul new
Materi algoritma dan pemrograman insan unggul new
 
Rangkuman Pemograman Dasar.pptx
Rangkuman Pemograman Dasar.pptxRangkuman Pemograman Dasar.pptx
Rangkuman Pemograman Dasar.pptx
 
3 adp struktur keputusan
3   adp struktur keputusan3   adp struktur keputusan
3 adp struktur keputusan
 
3 adp struktur keputusan
3   adp struktur keputusan3   adp struktur keputusan
3 adp struktur keputusan
 
3.adp struktur keputusan
3.adp struktur keputusan3.adp struktur keputusan
3.adp struktur keputusan
 
3 adp struktur keputusan
3   adp struktur keputusan3   adp struktur keputusan
3 adp struktur keputusan
 
Percabangan.pptx
Percabangan.pptxPercabangan.pptx
Percabangan.pptx
 
3 adp operator
3   adp operator3   adp operator
3 adp operator
 
C programming language notes (4)
C programming language notes (4)C programming language notes (4)
C programming language notes (4)
 
Pertemuan 3 Operator
Pertemuan 3 OperatorPertemuan 3 Operator
Pertemuan 3 Operator
 
Pertemuan 5a.pptx
Pertemuan 5a.pptxPertemuan 5a.pptx
Pertemuan 5a.pptx
 
Perulangan for
Perulangan forPerulangan for
Perulangan for
 

Más de Billy Alhamra

Más de Billy Alhamra (12)

Struktur karakteristik dan aplikasi thyristor
Struktur karakteristik dan aplikasi thyristorStruktur karakteristik dan aplikasi thyristor
Struktur karakteristik dan aplikasi thyristor
 
Mengenal PLC
Mengenal PLCMengenal PLC
Mengenal PLC
 
M04b dasar program c
M04b dasar program cM04b dasar program c
M04b dasar program c
 
M04a sekilastentang c
M04a sekilastentang cM04a sekilastentang c
M04a sekilastentang c
 
M05c perulangan2
M05c  perulangan2M05c  perulangan2
M05c perulangan2
 
M05b perulangan
M05b  perulanganM05b  perulangan
M05b perulangan
 
M03b algoritma lanjutan
M03b algoritma lanjutanM03b algoritma lanjutan
M03b algoritma lanjutan
 
M03a algoritma
M03a algoritmaM03a algoritma
M03a algoritma
 
04 input output
04 input output04 input output
04 input output
 
02 pengantar hardware
02 pengantar hardware02 pengantar hardware
02 pengantar hardware
 
03 pengantar software
03 pengantar software03 pengantar software
03 pengantar software
 
01 sejarah komputer
01 sejarah komputer01 sejarah komputer
01 sejarah komputer
 

M05a pengambilan keputusan

  • 2. TUJUAN Menjelaskan tentang operator kondisi (operator relasi dan logika) Menjelaskan penggunaan pernyataan if Menjelaskan penggunaan pernyataan if-else Menjelaskan penggunaan pernyataan if dalam if Menjelaskan penggunaan pernyataan else-if Menjelaskan penggunaan pernyataan switch 2
  • 3. Pengambilan Keputusan Pernyataan-pernyataan yang dapat digunakan dalam pengambilan keputusan: Pernyataan if Pernyataan if-else Pernyataan switch Pernyataan-pernyataan diatas memerlukan suatu kondisi dibentuk dengan operator relasi dan/atau operator logika. 3
  • 4. Operator Relasi Operator > >= < <= == != Makna Lebih dari Lebih dari atau sama dengan Kurang dari Kurang dari atau sama dengan Sama dengan Tidak sama dengan Operator relasi menghasilkan kondisi BENAR atau SALAH. 4
  • 7. Operator Logika Bentuk umum penggunaan operator logika ‘&&’ dan ‘||’: operand1 operator operand2 Bentuk umum penggunaan operator logika ‘!’: !operand Hasil operasi ! bernilai : Benar jika operand bernilai salah Salah jika operand bernilai benar 7
  • 9. Prioritas Operator Logika dan Relasi Prioritas Operator Tertinggi ! > == && || Terendah >= != < <= 9
  • 10. Latihan Berikut benar atau salah : 2 > 1 || 3 <= 4 && 4 < 1 2 >1 && 3 <= 4 || 4 < 1 !(2 > 1) && (3 <= 4) (5 > 1 || 3 != 2) && ((2 > 1) || (4 == 2)) 10
  • 11. Pernyataan if Sintak: if (kondisi) pernyataan; Jika kondisi benar maka pernyataan dilakukan. pernyataan bisa satu statement atau beberapa statement Jika pernyataan lebih dari satu gunakan tanda ‘{‘ dan ‘}’ untuk mengelompokkan pernyataan2 itu. 11
  • 12. Contoh penggunaan if // Program discount - discount.c #include <stdio.h> main() { float total_pembelian, discount = 0; printf("Total pembelian = Rp "); scanf("%f", &total_pembelian); if(total_pembelian >= 100000) discount = 0.05 * total_pembelian; printf("Besarnya discount = Rp %6.2fn", discount); } 12
  • 13. Pernyataan if-else Sintak: if (kondisi) pernyataan1; else pernyataan2; Jika kondisi benar maka pernyataan1 dilakukan. Jika kondisi salah maka pernyataan2 dilakukan. 13
  • 14. Contoh penggunaan if-else // Program perbandingan 2 buah nilai #include <stdio.h> main() { int minim,nilai1,nilai2; printf ("Masukkan 2 buah nilai n"); scanf ("%d %d",&nilai1, &nilai2); if (nilai1 < nilai2) minim = nilai1; else minim = nilai2; printf ("Nilai minimalnya adalah :%dn",minim); } 14
  • 15. Nested-if Di dalam pernyataan if (atau if-else) bisa terdapat pernyataan if (atau if-else) yang lain. Bentuk umum: if (kondisi-1) if (kondisi-2) . . if(kondisi-n) pernyataan; else pernyataan; . . else pernyataan; else pernyataan; 15
  • 16. Contoh penggunaan if-else // Program penentuan bil positif / negatif #include <stdio.h> { int x,y; printf ("Masukkan 2 buah nilai n"); scanf ("%d %d",&x, &y); if (x > 0) if (y > 0) printf ("Nilai x dan y adalah positifn"); else printf ("Nilai x positif dan y negatifn"); else printf ("Nilai x negatifn"); } 16
  • 17. Contoh penggunaan if-else // Program kalkulator Sederhana - kalukalor1.c #include <stdio.h> main() { int valid_operator = 1; char operator; float number1, number2, result; printf("Masukkan 2 buah bilangan dan sebuah operatorn"); printf("dengan format : number1 operator number2nn"); scanf("%f %c %f", &number1, &operator, &number2); if(operator == '*') result = number1 * number2; else if(operator == '/') result = number1 / number2; else if(operator == '+') result = number1 + number2; else if(operator == '-') result = number1 - number2; else valid_operator = 0; if(valid_operator) printf("n%g %c %g is %gn", number1, operator, number2, result ); else printf("Invalid operator!n"); } 17
  • 18. TERNARY OPERATOR Bentuk umum : kondisi1 ? ungkapan1 : ungkapan2; Jika kondisi bernilai benar, maka nilai ungkapan kondisi berupa ungkapan1 Jika kondisi bernilai salah, maka nilai ungkapan kondisi berupa ungkapan2 Hasil sama : if (nilai1 > nilai2) max = nilai1; else max = nilai2 18
  • 19. CONTOH PROGRAM #include <stdio.h> main() { float nilai1, nilai2, max; printf("Masukkan dua buah nilai : "); scanf("%f %f", &nilai1, &nilai2); max = (nilai1 > nilai2) ? nilai1 : nilai2; printf("Nilai terbesar = %gn", max); } 19
  • 20. switch Sebagai pengganti pernyataan if bertingkat (else-if) switch (ekspresi) { case konstanta-1: pernyataan-11; ...... break; case konstanta-2: . . case konstanta-n: pernyataan-n1; ....... break; default: ....... break; } 20
  • 21. Contoh penggunaan switch #include <stdio.h> main() { int valid_operator = 1; char operator; float number1, number2, result; printf("Masukkan 2 buah bilangan dan sebuah operatorn"); printf("dengan format : number1 operator number2nn"); scanf("%f %c %f", &number1, &operator, &number2); switch(operator) { case '*' : result = number1 * number2; break; case '/' : result = number1 / number2; break; case '+' : result = number1 + number2; break; case '-' : result = number1 - number2; break; default : valid_operator = 0; } if(valid_operator) printf("%g %c %g is %gn", number1, operator, number2,result); else printf("Invalid operator!n"); } 21
  • 22. Tugas 1. Buat algoritma, flowchart, dan program untuk menghitung diskriminan dan akar-akar dari persamaan kuadrat ax2 + bx + c = 0 D = b2 - 4ac D adalah deskriminan Jika D = 0 2 akar real kembar : x1 = x2 = -b / 2a Jika D > 0 2 akar real yang berlainan, yaitu : x1 = (-b + sqrt(D)) / 2a x2 = (-b - sqrt(D)) / 2a Jika D < 0 , maka terdapat 2 akar imaginer yang berlainan, yaitu : x1 = -b / 2a + (sqrt(-D) / 2a) i x2 = -b / 2a - (sqrt(-D) / 2a) i 22
  • 23. 2. Buatkan program untuk melakukan konversi berikut ini, dengan inputan berupa nilai antara 0 – 100. 3. Buatkan flowchart dan program untuk memasukkan 3 buah bilangan (x,y,z), dan program memberikan keluaran nilai terbesar sampai nilai terkecilnya. 23