Download - Algoritma Dasar Sesion -4
![Page 1: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/1.jpg)
Algoritma &
Pemrograman #4
by antonius rachmat c, s.kom, m.csby antonius rachmat c, s.kom, m.cs
![Page 2: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/2.jpg)
Pembahasan Soal
![Page 3: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/3.jpg)
Tambahan
� Jenis Operator
� Unary Operator -> membutuhkan satu operand
� Operator Increment dan Decrement
� -- dan ++
� Prefiks = ++a, Postfiks = a++
Binary Operator -> membutuhkan dua operand � Binary Operator -> membutuhkan dua operand
� x + y
� b / d
� t – z
� y % n
� “Ternary” Operator (3 operand)� Akan dibahas dibelakang
![Page 4: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/4.jpg)
Percabangan
![Page 5: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/5.jpg)
Struktur Kendali
� Adalah statement yang memungkinkan pemilihan atas perintah yang akan dijalankan sesuai dengan kondisitertentu.
� Ada tiga macam perintah percabangan dalam C:dalam C:� if (<kondisi>) { <statement;> ... }� if (<kondisi>) {
<statement true; ... > } else { <statement false; ... >
}� switch (<kondisi>) { case <pil> :
<statement;> <break;> ... }
![Page 6: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/6.jpg)
Review jenis operator relasional
� Ada beberapa operator relasional :
� > : lebih besar
� >= : lebih besar atau sama dengan
� < : lebih kecil
� <= : lebih kecil atau sama dengan
� == : sama dengan
� != : tidak sama dengan
![Page 7: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/7.jpg)
� Operator Logical AND
A B A && B
TRUE TRUE TRUETRUE TRUE TRUE
TRUE FALSE FALSE
FALSE TRUE FALSE
FALSE FALSE FALSE
![Page 8: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/8.jpg)
� Operator Logical OR
A B A || B
TRUE TRUE TRUETRUE TRUE TRUE
TRUE FALSE TRUE
FALSE TRUE TRUE
FALSE FALSE FALSE
![Page 9: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/9.jpg)
� Operator Logical NOT
A !A
TRUE FALSETRUE FALSE
FALSE TRUE
![Page 10: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/10.jpg)
Struktur KendaliStruktur Kendali
� Percabangan (branch) di dalam pemrograman digunakan oleh komputer untuk menentukan langkah kerja
� Percabangan menggunakan operator kondisional yang akan menghasilkan kondisional yang akan menghasilkan nilai benar/true/1 atau salah/false/0.
� Jika nilai yang dihasilkan benar, maka akan perintah akan dilaksanakan, sedangkan jika salah, maka instruksi tidak akan dilaksanakan.
![Page 11: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/11.jpg)
Contoh
� Contoh perbandingan :
� 5 > 3 � bernilai benar (TRUE)
� 6 < 2 � bernilai salah (FALSE)
� 45 != 34 � bernilai benar (TRUE)
� (5 + 4) <= (3x3) � bernilai benar (TRUE)
� 6/7 >= 12/17 � bernilai benar (TRUE)
� 1 == 2 � bernilai salah (FALSE)
� 1 � bernilai benar (TRUE)
� 0 � bernilai salah (FALSE)
![Page 12: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/12.jpg)
� Contoh :
![Page 13: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/13.jpg)
Kasus : Terutama buat Cowok
� Ada 2 wanita, A dan B. A itu kurang cantik tapi baik dan pintar, sedangkan B itu cantik dan baik tapi kurang pintar. Pilih A atau B ? ☺
![Page 14: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/14.jpg)
IF sederhanaIF sederhana
� Sintaks: IF (<kondisi>) <statement_jika_benar>;
� Flowchart:
![Page 15: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/15.jpg)
Contoh if sederhana
![Page 16: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/16.jpg)
IF … ELSE …IF … ELSE …
� Sintaks:
IF (<kondisi>) <statement_jika_benar>;
ELSE <statement_jika_salah>;
� Flowchart:
![Page 17: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/17.jpg)
Contoh if else
![Page 18: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/18.jpg)
Bentuk IF lain (Ternary Operator)
� Sintaks :
<kondisi>?<statement jika benar>:<statement jika salah>;
� Contoh Program:
� Hasil : 0
![Page 19: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/19.jpg)
IF ELSE (2)
![Page 20: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/20.jpg)
Curly bracket untuk pengelompokkan
![Page 21: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/21.jpg)
Flowchart IF ELSE banyak
![Page 22: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/22.jpg)
� Pada bahasa C, kondisi yang bernilai tidak sama dengan 0 (nol) berarti bernilai TRUE, jika nilainya 0 maka bernilai FALSE.
� Contoh:
� if (4+5) � bernilai TRUE
![Page 23: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/23.jpg)
kesimpulan
� IF dieksekusi jika bernilai 1
� Jika a bernilai positif atau negatif maka:
� if(a) berarti 1, dieksekusi
� Jika a bernilai nol, maka:� Jika a bernilai nol, maka:
� if(a) berarti 0, tidak dieksekusi
� Jika a bernilai 0, maka:
� if(a == 0) berarti 1, dieksekusi
� if(!a) berarti 1, dieksekusi
![Page 24: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/24.jpg)
Kesalahan dalam IF
Semua menghasilkan TRUE
� Kondisi pada statement if bukan merupakan nilai integer
� Menggunakan = bukan ==
� Menggunakan elseif bukan else if -> error!
![Page 25: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/25.jpg)
Soal-soal
� Buatlah program untuk memeriksa bilangan genap atau ganjil
� Buatlah program untuk memeriksa bilangan terbesar dari 2 bilangan
� Buatlah program untuk memvalidasi umur (1-100 tahun)!100 tahun)!
� Buatlah program untuk memeriksa bilangan negatif atau positif!
� Buatlah program untuk memeriksa apakah pemasukkan lebih besar / kecil dari pengeluaran?
� Buatlah program untuk mengetahui bentuk suatu zat (beku atau tidak!)
![Page 26: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/26.jpg)
� Buatlah program untuk mengecek apakah suatu segitiga sama sisi atau bukan!
� Buatlah program untuk mengetahui kuadrandari inputan koordinat x dan y!
� Buatlah program untuk mencari bilangan terbesar dari 3 bilangan yang diinputkan dengan Buatlah program untuk mencari bilangan terbesar dari 3 bilangan yang diinputkan dengan menggunakan IF!
� Buatlah program untuk memeriksa apakah suatu bilangan habis dibagi 5 dan habis dibagi 3 sekaliguts atau tidak?
� Buat program untuk memvalidasi agar pembagian tidak dgn nol!
![Page 27: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/27.jpg)
Percabangan Kompleks
� Percabangan dimana kondisi pemilihan tidak hanya satu tetapi bisa terdiri dari banyak alternatif serta perintah-perintah yang dikerjakannya juga bisa lebih dari satu.satu.
![Page 28: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/28.jpg)
NESTED IF (IF BERSARANG)
![Page 29: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/29.jpg)
Nested IF (2)
![Page 30: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/30.jpg)
Nested IF (3)
![Page 31: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/31.jpg)
Nested IF (4)
![Page 32: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/32.jpg)
Nested IF (5)
![Page 33: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/33.jpg)
Nested IF (6)
![Page 34: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/34.jpg)
IF Bertingkat dengan ELSE
if (kondisi1){instruksi1;
}else if(kondisi2){
instruksi2;}}else if(kondisi3){
instruksi3;}else if(kondisi4){
instruksi4;}
![Page 35: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/35.jpg)
Bedakan dengan tanpa ELSE:
if (kondisi1){instruksi1;
}if(kondisi2){
instruksi2;}}if(kondisi3){
instruksi3;}if(kondisi4){
instruksi4;}
![Page 36: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/36.jpg)
Percabangan dengan Switch
� Perintah ini digunakan sebagai alternatif pengganti dari sintaks if … else secara sederhana dimana alternatif pilihan bisa lebih dari satu.
� Namun switch tidak bisa digunakan untuk pilihan yang mengandung suatu kondisi tertentu.
� Dengan perintah ini program percabangan akan semakin mudah dibuat dan dipelajari
![Page 37: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/37.jpg)
Switch
![Page 38: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/38.jpg)
Flowchart Switch
![Page 39: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/39.jpg)
Karakteristik Switch
� Perintah switch akan menyeleksi kondisi yang diberikan dan kemudian membandingkan hasilnya dengan konstanta-konstanta yang berada di case.
� Pembandingan akan dimulai dari konstanta ke-1 sampai konstanta terakhir. sampai konstanta terakhir.
� Jika hasil dari pembandingan kondisi sama dengan nilai konstanta tertentu, misalnya konstanta ke-1, maka pernyataan ke-1 akan dijalankan sampai ditemukan perintah break.
� Pernyataan break akan membawa proses keluardari perintah switch.
� Jika hasil dari kondisi tidak ada yang sama dengan konstanta-konstanta yang diberikan, maka pernyataan pada default akan dijalankan
![Page 40: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/40.jpg)
Program dengan Switch
![Page 41: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/41.jpg)
Latihan
� Buatlah program untuk mengetahui bilangan “tengah” dari 3 bilangan:
� Input: 23, 12, 9
� Maka output: 12
![Page 42: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/42.jpg)
Latihan
� Buatlah program yang menerima inputan 3 buah panjang sisi segitiga, kemudian:
� Jika segitiga tersebut sama sisi katakan SEGITIGA SAMA SISI
Jika segitiga tersebut sama kaki katakan � Jika segitiga tersebut sama kaki katakan SEGITIGA SAMA KAKI
� Jika bukan keduanya katakan SEGITIGA SEMBARANG
![Page 43: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/43.jpg)
Latihan
� Buatlah program diskon:
� Inputan adalah jumlah total pembelian dan jumlah barang.
� Jika total pembelian >= 500000 dan jumlah barang > 5 maka bonusnya Setrikabarang > 5 maka bonusnya Setrika
� Jika total pembelian >= 100000 dan jumlah barang > 3 maka bonusnya Payung
� Jika total pembelian >=50000 atau jumlah barang > 2 maka bonusnya ballpoint
� Selainnya itu tidak mendapat bonus.
![Page 44: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/44.jpg)
Latihan
� Mencari bilangan terkecil dari 4 bilangan yang diinputkan!
� Mencari bilangan terbesar dari 4 bilangan yang diinputkan!bilangan yang diinputkan!
� Mengatahui apakah suatu bilangan 0, positif, atau negatif!
![Page 45: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/45.jpg)
Latihan
� Buatlah konversi nilai huruf dari nilai yang diinputkan user!
� A 80-100
� B 65-79
� C 50-64
� D 35-49
� E 0-34
![Page 46: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/46.jpg)
Latihan
� Buat program untuk menghitung luas segitiga, luas lingkaran, dan luas persegi panjang dengan menggunakan sistem menu.
� Misal:� Misal:� Luas Segitiga
� Luas Lingkaran
� Luas Persegi Panjang
� Pilihan anda: _
![Page 47: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/47.jpg)
Soal-soal
� Membuat konversi dari bilangan yang diinputkan sebagai berikut:
� Misal 101 : bilangan ratusan
� Misal 1200 : bilangan ribuan
� Misal 11 : bilangan puluhan, dan seterusnya!
![Page 48: Algoritma Dasar Sesion -4](https://reader033.vdocuments.pub/reader033/viewer/2022050722/548a02a8b47959d30c8b5b39/html5/thumbnails/48.jpg)
NEXT
� Perulangan Sederhana