190 likes | 482 Views
Algoritma dan Struktur Data. Struktur Pemilihan IF 3 kasus atau lebih. ALGORITMA 3 KASUS IF < Kondisi1> THEN <Aksi1> ELSE IF < Kondisi2> THEN <Aksi2> ELSE <Aksi3> END IF END IF. FLOWCHART. Kondisi1. Salah. Benar. Salah. Kondisi 2. Aksi 1. Benar. Aksi 2. Aksi 3.
E N D
Struktur Pemilihan IF 3 kasus atau lebih ALGORITMA 3 KASUS IF<Kondisi1>THEN <Aksi1> ELSE IF<Kondisi2>THEN <Aksi2> ELSE <Aksi3> END IF END IF FLOWCHART Kondisi1 Salah Benar Salah Kondisi 2 Aksi 1 Benar Aksi 2 Aksi 3
Struktur Pemilihan IF 3 kasus atau lebih ALGORITMA 4 KASUS IF <Kondisi1>THEN <Aksi1> ELSE IF<Kondisi2>THEN <Aksi2> ELSE IF <Kondisi3>THEN <Aksi3> ELSE <Aksi4> END IF END IF END IF FLOWCHART Kondisi1 Salah Benar Kondisi 2 Salah Aksi 1 Benar Kondisi 3 Aksi 2 Salah Benar Aksi 3 Aksi 4
Contoh IF dengan 3 Kasus Tulislahpseudocode yang membacasebuahbilanganbulat, lalumenentukanapakahbilangantersebutpositif, negatifataunol !!! Misalkanbilanganbulatadalahbil. AnalisisKasus : Kasus 1 : Jikabil > 0, makabiladalahbilanganpositif Kasus 2 : Jikabil < 0, makabiladalahbilangannegatif Kasus 3 : Jikabil = 0, makabiladalahbilangannol
Contoh IF dengan 3 Kasus Algoritma Tukar1 {Digunakanuntukmembacasebuahbilanganbulatkemudianmenentukanapakahbilangantersebutbilanganpositifataunegatifataunol} DEKLARASI bil : integer DESKRIPSI read(bil) ifbil>0 then write (‘BILANGAN POSITIF’) else if bil < 0 then write (‘BILANGAN NEGATIF’) else write(‘NOL’) end if end if
Contoh Kasus IF di dalam IF Contoh problem : Buatlahpseudocodedan flowchart untukmenampilkanPositifGenap / PositifGanjil/ NegatifGenap / NegatifGanjil Misalkanbiladalahbilanganbulatdan h = bilmod 2 AnalisisKasus : Kasus1 : JikaBil > 0 (BilanganPositif) Kasus 1.1: jika h = 0 makapositifgenap Kasus 1.2: selain h=0 , makapositifganjil Kasus 2 : SelainBil >0 (Bilangannegatif) Kasus 2.1: jika h = 0 makanegatifgenap Kasus 2.2: selain h=0 , makanegatifganjil
Contoh Kasus IF di dalam IF AlgoritmaBilangan_PositifNegatif_GenapGanjil {untukmenentukansebuahbilanganapakahtermasukpositifPositifGenap / PositifGanjil / NegatifGenap / NegatifGanjil Deklarasi bil,h: integer DESKRIPSI read(bil) h bilmod 2 ifbil > 0 then if h=0 then write(‘POSITIF GENAP’) else write(‘POSITIF GANJIL’) end if else if h=0 then write(‘NEGATIF GENAP’) else write(‘NEGATIF GANJIL’) end if end if
Struktur pemilihan SWITCH …. CASE PSEUDOCODE CASE <ungkapan> Ungkapan =Nilai 1: <Aksi1> Ungkapan =Nilai 2 : <Aksi 2> ……………. Otherwise : aksi_default END CASE FLOWCHART (SamaDengan IF) Ungkapan = Nilai 1 Salah Benar Salah Ungkapan =Nilai 2 Aksi 1 BAHASA C++ switch (ungkapan) { caseNilai1: aksi1; break; caseNilai2: aksi2; break; ………. default : aksi_default; break; } Benar Aksi 2 Aksi _Default
Contoh Struktur pemilihan SWITCH … CASE FLOWCHART PSEUDOCODE read(angka) CASE (angka) angka =1: write(‘SATU’) angka = 2 :write(‘’DUA) Otherwise : write(‘SALAH’) END CASE START read angka Angka=1 Salah Benar Salah Angka=2 write “SATU” BAHASA C ++ intangka; cin>>angka; switch (angka) { case1 : cout<<“SATU”; break; case2 : cout<<“DUA”; break; default : cout<<“SALAH ….. ! ! !” break; } Benar write “DUA” Write “SALAH” END
OPERATOR LOGIKA dan IF • AND , OR Digunakanuntukmenggabungkanduakondisi • AND , OR , NOT (Dan , Atau, Tidak) Ilustrasi IFAndijuaraKelasANDAndiRangkingSatuTHEN Ayah akanmembelikannyaHandphone END IF • Kondisi 1 : Andijuarakelas , Kondisi 2 : AndiRangkingSatu • Operator ANDmengharuskankeduakondisibernilaiBENAR bernilaiuntukmelaksanakanaksi
Operator Logika AND (c++) • Ilustrasi Penggunaan operator logika AND melibatkan 2 kondisi. • Kesimpulan : Operasi dari Operator AND akan bernilai benar hanya jika kedua kondisi (1 dan 2) bernilai benar
Operator Logika OR (C++) • Ilustrasi Penggunaan operator logika OR melibatkan 2 kondisi. • Kesimpulan : Operasi dari Operator OR akan bernilai benar jika salah satu kondisi (1 atau 2) bernilai benar.
Operator Logika NOT c++ • Ilustrasi Penggunaan operator logika NOT melibatkan 1 kondisi.
Contoh Soal Operator Logika AND Buatlah flowchart danpseudocodeuntukmenentukan grade kelulusanujiansaringanmasukmahasiswadenganketentuannilai >80 dikategorikan Grade A, nilailebihbesardari 60 danlebihkecildari 80 dikategorikan Grade B, dannilai <60 dikategorikan Grade C !!! Analisis Problem : MisalkanNilaiadalahnilaiujiansaringanmasukmahasiswa Kasus 1 : Nilai >80 , maka Grade A Kasus 2 : 60 < nilai < 80 , maka Grade B Kasus 3 : Nilai <60 , maka Grade C
Contoh Soal Operator Logika AND AlgoritmaGrade_USM {untukmenentukan grade ujiansaringanmasukmahasiswaberdasarkan input nilai } DEKLARASI nilai : integer DESKRIPSI read(nilai) ifnilai>80 then write(‘GRADE A’) else ifnilai >60 andnilai<80 then write (‘GRADE B’) else write(‘GRADE C’) end if end if
Latihan Buatlah flowchart danpseudocodeuntukmenentukandiskondanpembayarandarisebuahtoko. Input daripirantimasukanyaitujumlahdanharga. Jika total bayarbrutolebihbesarsamadengan 200000 makadiskonsebesar 10 %. Selainitudiskon 5 %. Output yang diharapkandiskon, dan total bayarbersih. AlgoritmaDiskon {untukmenentukandiskondanpembayarandengan input yaitujumlahdanharga. Jikapembayaran >= 200000 makadiskonsebesar 10 %. Selainitudiskon 5 %. Output Total diskon, dan total bayarbersih} DEKLARASI jumlah : integer harga,Pdiskon,Tdiskon,Tbruto,Tbersih : real DESKRIPSI read(jumlah,harga) Tbruto=jumlah*harga ifTbruto >200000 then Pdiskon=0.10 else Pdiskon=0.05 end if Tdiskon=Tbruto * Pdiskon Tbersih =Tbruto – Tdiskon write(Tbersih,Tdiskon) AlgoritmaDiskon {untukmenentukandiskondanpembayarandengan input yaitujumlahdanharga. Jikapembayaran >= 200000 makadiskonsebesar 10 %. Selainitudiskon 5 %. Output Total diskon, dan total bayarbersih} DEKLARASI jumlah : integer harga,Pdiskon,Tdiskon,Tbruto,Tbersih : real DESKRIPSI read(jumlah,harga) Tbruto=jumlah*harga ifTbruto >200000 then Pdiskon=0.10 else Pdiskon=0.05 end if Tdiskon=Tbruto * Pdiskon Tbersih =Tbruto – Tdiskon write(Tbersih,Tdiskon)
Thank You! Special thanks for this slide • Gasim,Josie,Yoannita, and 2 my friends n familly