Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
LOGIKA ALGORITMA Pertemuan 6
2
Sequence Algoritma yang merupakan runtunan (sequence) satu atau lebih instruksi, yaitu berarti: Tiap instruksi dikerjakan satu persatu. Tiap instruksi dilaksanakan (tanpa perulangan). Urutan dilaksanakan sesuai urutan. Akhir dari instruksi terakhir merupakan akhir algoritma.
3
Sequence Perhatikan diagram di bawah, Berdasarkan diagram tersebut, algoritmanya terdiri dari 3 instruksi yang dimulai dari instruksi A, kemudian dilanjukan instruksi B dan setelah instruksi B dilanjutkan instruksi C A B C Instruksi A Instruksi B Instruksi C
4
Sequence Pengaruh Urutan Instruksi
Urutan instruksi dalam algoritma sangat penting. Urutan instruksi yang berbeda akan menghasilkan keluaran yang berbeda. Perhatikan contoh:
5
Contoh Algoritma_Sequence_1
{Contoh algoritma yang menghasilkan keluaran berbeda jika urutan berbeda} DEKLARASI A, B : Integer DESKRIPSI A 10 A 2 * A B A write (B) {nilai B yang dicetak ke piranti keluaran = 20} Algoritma_Sequence_2 {Contoh algoritma yang menghasilkan keluaran berbeda jika urutan berbeda} DEKLARASI A, B : Integer DESKRIPSI A 10 B A A 2 * A write (B) {nilai B yang dicetak ke piranti keluaran = 10}
6
Contoh Contoh kasus: misalkan nilai A=8 dan nilai B=5. Lakukan pertukaran nilai A dengan nilai B sehingga nilai A=5 (nilai B) dan nilai B=8 (nilai A) Lakukan pembacaan dari piranti input untuk nilai A, lakukan pembacaan dari piranti input untuk nilai B, tampilkan nilai A dan nilai B ke piranti keluaran. Lakukan pertukaran antara nilai A dan nilai B, tampilkan nilai A dan nilai B ke piranti keluaran. Algoritma_Luas_Segitiga {Contoh algoritma menghitung luas segitiga} DEKLARASI a : Integer {Alas Segitiga} t : Integer {Tinggi Segitiga} L : Integer {Luas Segitiga} DESKRIPSI read (a) read (t) L a * t /2 write (L)
7
Contoh Contoh kasus: misalkan nilai A=8 dan nilai B=5. Lakukan pertukaran nilai A dengan nilai B sehingga nilai A=5 (nilai B) dan nilai B=8 (nilai A) Lakukan pembacaan dari piranti input untuk nilai A, lakukan pembacaan dari piranti input untuk nilai B, tampilkan nilai A dan nilai B ke piranti keluaran. Lakukan pertukaran antara nilai A dan nilai B, tampilkan nilai A dan nilai B ke piranti keluaran. Menghitung komisi yang diterima salesman berdasarkan jumlah penjualan yang dicapainya. Salesman mendapat komisi 10% dari hasil penjualannya. Masukan algoritma adalah nama salesman dan jumlah penjualannya, tampilkan ke piranti keluaran nama salesman dan besar komisi yang diperolehnya.
8
SELECTION (PEMILIHAN ) IF
IF (Simple selection without false branch) Contoh: Pseudocode Bahasa C++ if <kondisi> then instruksi endif if (kondisi) { instruksi } Pseudocode Bahasa C++ if x > 100 then x x + 1 endif if (x>100) { x = x + 1; } if ketemu=true then if a <= 10 then read(b) endif if (ketemu==true) { if (a<=10) { scanf(“%d”,&b); }
9
SELECTION (PEMILIHAN ) IF … ELSE
IF … ELSE (Simple selection) Contoh: Bahasa C++ Pseudocode if (kondisi) { instruksi_1 } else { instruksi_2 if <kondisi> then instruksi_1 else instruksi_2 endif Pseudocode Bahasa C++ if nilai >= 60 then write (“Lulus”) else write (“Tidak Lulus”) endif if (nilai>=60) { printf(“Lulus”); } else { printf(“Tidak Lulus”);
10
SELECTION (PEMILIHAN ) Nested IF
Nested IF (Nested selection) Linear nested IF statement Non linear nested IF statement if <kondisi_1> then Instruksi_1 else if <kondisi_2> then Instruksi_2 if <kondisi_3> then Instruksi_3 Instruksi_4 endif if <kondisi_1> then if <kondisi_2> then if <kondisi_3> then Instruksi_1 else Instruksi_2 endif Instruksi_3 Instruksi_4
11
SELECTION (PEMILIHAN ) CASE
Pseudocode Bahasa C++ case (nama_variable_yang_diuji) <kondisi_1> : instruksi_1 <kondisi_2> : instruksi_2 <kondisi_3> : instruksi_3 . <kondisi_N> : instruksi_N Otherwise instruksi_x endcase switch (nama_variable_yang_diuji) { case nilai_1 : instruksi_1; break; case nilai_2 : instruksi_2; case nilai_3 : instruksi_3; . . default : instruksi_4; }
12
SELECTION (PEMILIHAN ) CASE
Pseudocode Algoritma_Keterangan_grade_nilai { Menampilkan keterangan untuk grade nilai } DEKLARASI chrNilai : char DESKRIPSI write (‘Nilai huruf yang didapat ? ‘) read (chrNilai) case (chrNilai) chrNilai==‘A’ : write (“Sangat Baik”) chrNilai==‘B’ : write (“Baik”) chrNilai==‘C’ : write (“Cukup”) chrNilai==‘D’ : write (“Kurang”) chrNilai==‘E’ or chrNilai==’F’ : write (“Gagal”) otherwise write(“isi dengan huruf antara (A – F) !”) endcase Contoh: Bahasa C++ #include<stdio.h> void main() { char chrNilai; printf(“Nilai huruf yang didapat ? “); scanff(“%s”, &chrNilai); switch (chrNilai){ case ‘A’ : printf(“Sangat Baik”); break; case ‘B’ : printf(“Baik”); break; case ‘C’ : printf(“Cukup”); break; case ‘D’ : printf(“Kurang”); break; case ‘E’ : printf(“Gagal”); break; case ‘F’ : printf(“Gagal”); break; default : printf(“isi dengan huruf antara (A – F) !”); break; }
13
Repetition (PERULANGAN) while - do
Pseudocode Bahasa C++ while - do Contoh: while <kondisi> do instruksi_1 instruksi_2 . endwhile while (<kondisi>) { instruksi_1 instruksi_2 . } Pseudocode Bahasa C++ Algoritma_Cetak_Hello_Sebanyak_10_Kali { Menampilkan tulisan Hello sebanyak 10 kali } DEKLARASI i : integer {sebagai pencacah perulangan} DESKRIPSI i 1 while i<=10 do write (‘Halo’) i++; endwhile #include<stdio.h> void main() { int i; i = 1; while (i<=10) { printf (“Halo”); i++; }
14
Repetition (PERULANGAN) repeat - until
Pseudocode Bahasa C++ repeat - until Contoh: repeat instruksi_1 instruksi_2 . Until <kondisi> do { instruksi_1 instruksi_2 . } while (<kondisi>) Pseudocode Bahasa C++ Algoritma_Cetak_Hello_Sebanyak_10_Kali { Menampilkan tulisan Hello sebanyak 10 kali } DEKLARASI i : integer {sebagai pencacah perulangan} DESKRIPSI i 1 Repeat write (‘Halo’) i++ until i<=10 #include<stdio.h> void main() { int i; i = 1; do { printf (“Halo”); i++ } while (i<=10) }
15
Repetition (PERULANGAN) for
Pseudocode Bahasa C++ for Contoh: for namavar awal to akhir do instruksi_1 instruksi_2 . endfor for (namavar=awal; namavar<=akhir;namavar++) { instruksi_1 instruksi_2 . } Pseudocode Bahasa C++ Algoritma_Cetak_Hello_Sebanyak_10_Kali { Menampilkan tulisan Hello sebanyak 10 kali } DEKLARASI DESKRIPSI for k 1 to 10 do write (k, ‘Halo’) endfor #include<stdio.h> void main() { for (int k=1; k<=10; k++) { printf (“%d Halo”, k); }
16
Thanks
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.