- Assignment
- Sequence
- Selection
- Repetition
Assignment
memberikan nilai pada indetifier atau variabel. Variabel adalah tampungan suatu nilai data, contoh variabel panjang menampung nilai panjang sebuah persegi.
Panjang ← 15 artinya variabel Panjang diberi nilai 15
Didalam Assignment terdapat 3 macam perlakuan terhadap nilai data, yaitu:
- Updating value: memperbarui isi variabel, contoh: Panjang ← Panjang + 1
Isi Variabel panjang diperbarui dengan menambahkan angka 1 pada nilai sebelumnya. - Copying value: meng-copy isi suatu variabel ke variabel lain, contoh: Lebar ← Panjang
Variabel Lebar diisi value yang sama dengan variabel Panjang. - Swap value: menukar isi 2 variabel, disini kita perlu menggunakan variabel penampung lainnya.
Jika kita akan menukar nilai variabel Lebar dan Panjang maka:
Tampung ← Lebar //nilai variabel Lebar di-copy ke variabel Tampung
Lebar ← Panjang //nilai variabel Panjang di-copy ke variabel Lebar
Panjang ← Tampung //nilai variabel Tampung di-copy ke variabel Panjang
Sequence
sejumlah langkah (baris perintah) yang dilakukan satu demi satu secara urut. Dalam design algoritma sequence tidak ada kondisi yang diuji atau langkah yang diulang. Contoh: program menghitung luas segitiga:
Pseudocode:DECLARE Alas, Tinggi: INTEGER
DECLARE Luas : REAL
INPUT Alas, Tinggi
Luas ← Alas / 2 * Tinggi
OUTPUT Luas
Selection
adanya kondisi tertentu yang diuji. Contoh dalam menentukan jenis suatu bilangan:
DECLARE Bilangan : INTEGER
INPUT Bilangan
IF Bilangan MOD 2 = = 0
THEN
OUTPUT "Bilangan Genap"
ELSE
THEN
OUTPUT "Bilangan Ganjil"
ENDIF
Pada contoh diatas, yang merupakan kondisi untuk diuji adalah Bilangan MOD 2 = = 0. MOD adalah fungsi yang menghitung sisa pembagian. Bilangan MOD 2 berarti sisa pembagian bilangan : 2.
Contoh: jika Bilangan = 5, maka Bilangan MOD 2 = 5 MOD 2
sisa bagi (5:2) = 1 jadi jika bilangan yang dimasukkan adalah 5 maka OUTPUT nya adalah "Bilangan Ganjil" karena Bilangan MOD 2 ≠ 0
Repetition
sejumlah langkah (berupa baris-baris perintah) yang dilakukan secara berulang. Misalnya menghitung jumlah huruf dalam sebuah teks.
Pseudocode:
DECLARE Teks : STRING
DECLARE Indeks, JumlahHuruf : INTEGER
JumlahHuruf ← 0
OUTPUT "Masukkan teks campuran: "
INPUT Teks
FOR Indeks ← 1 TO LENGTH(Teks)
IF UCASE(Teks[Indeks]) >= "A" AND UCASE(Teks[Indeks]) <= "Z"
JumlahHuruf ← JumlahHuruf + 1
ENDIF
ENDFOR
OUTPUT "Jumlah huruf : ",JumlahHuruf
Penjelasan Pseudocode diatas:
- Nilai awal JumlahHuruf = 0
- Tampilkan kalimat "Masukkan teks campuran:"
- Masukkan isi/ value variabel Teks
- Untuk nilai Indeks = 1 hingga Indeks = Panjang(Teks) ulang :
- Jika huruf ke-Indeks pada Teks yang dijadikan huruf besar diantara "A" hingga "Z"
- maka nilai variabel JumlahHuruf ditambah 1
- Tampilkan "Jumlah huruf: ", JumlahHuruf.
Penjelasan Flowchart diatas:
- Mulai
- JumlahHuruf diberi nilai awal 0
- Tampilkan kalimat "Masukkan teks campuran:"
- Masukkan isi/ value variabel Teks.
- Nilai Indeks diisi 1
- Apakah nilai Indeks <= Panjang(Teks)?
- Jika Ya,
- Apakah huruf ke-Indeks pada Teks yang dijadikan huruf besar diantara "A" hingga "Z"
- Jika Ya, maka nilai variabel JumlahHuruf ditambah 1
- Nilai variabel Indeks ditambah 1
- Kembali ke langkah-6
- Jika Tidak, lanjutkan ke lankah ke-7
- Tampilkan "Jumlah huruf: ", JumlahHuruf.
Ada 2 tipe perulangan, yaitu:
- Pre-Condition (kondisi perulangan di depan), menggunakan: WHILE
- Post-Condition (kondisi perulangan di akhir), menggunakan: REPEAT
Latihan Soal:
Buatlah rancangan program dalam bentuk pseudocode dan flowchart untuk memeriksa apakah keyword yang dimasukkan sudah benar sesuai kriteria sebagai berikut:
- Panjang keyword = 15 karakter
- Sebanyak 5 karakter pertama harus terdiri dari angka "0" hingga "9"
- Sebanyak 10 karakter lainnya harus terdiri dari huruf.
Jika keyword yang dimasukkan tidak sesuai kriteria maka akan ditampilkan pesan: "Keyword tidak sesuai"
bu, untuk yang repetition tidak paham bu
ReplyDeletebu, caranya seleksi cuma 5 huruf/angka dari depan sama cuma 10 huruf/angka dari belakang untuk dicek apakah itu huruf atau angka gimana ya bu?
ReplyDeleteCoba dicheck pembahasannya
ReplyDelete