Kali ini kita akan memahami penggunaan struktur algoritma berupa :
- Sequence (urutan)
- Selection (Pemilihan)
- Iteration (Pengulangan)
- SEQUENCE
Sequence adalah kumpulan instruksi yang tiap tiap instruksi dilaksanakan secara berurutan sesuai dengan urutan penulisannya , sebuah instruksi baru bisa dilaksanakan setelah instruksi sebelumnya selesai dilaksanakan.
Contoh :
Algoritma hitung_keliling_bujur_sangkar
{menghitung keliling bujur sangkar}
Deklarasi:
k, s : integer {integer merupakan salah satu tipe data bilangan bulat}
Deskripsi:
Input(s) {menerima s yaitu sisi bujur sangkar}
k (simbol panah kekiri) 4 * s {rumus menghitung keliling bujur sangkar}
output (k) {mencetak k sebagai keliling bujur sangkar}
Contoh lain :
Algoritma luas_persegi_panjang
{menghitung luas persegi panjang}
Deklarasi:
p,l,luas : integer
Deskripsi:
Input(p) {menerima p yaitu nilai panjang persegi panjang}
Input(l) {menerima l yaitu nilai lebar persegi panjang}
luas (simbol panah kekiri) p * l {rumus menghitung luas persegi panjang}
output(luas) {mencetak luas persegi panjang}
latihan:
- Tulislah algoritma yang mendapatkan masukan jam dan menit untuk dinyatakan dalam menit?
Jawab :
Algoritma Nyatakan_waktu_dalam_menit
{menyatakan waktu dalam menit}
Deklarasi:
J, m, tm : integer
Deskripsi :
Input(J) {menerima masukan J yaitu Jam}
Input(m) {menerima masukan m yaitu menit}
tm (simbol panah kekiri) ((J*60)+m) {menkonversi jam kedalam menit & menambahka n jumlah menit}
output(tm) {mencetak total menit yang telah di konversi}
- Tulislah algoritma yang menit untuk dinyatakan dalam jam dan menit?
Jawab :
Algoritma nyatakan_waktu_dalam_jam_dan_menit
{menyatakan waktu dalam jam dan menit}
Deklarasi:
a, h, m : integer
Deskripsi:
Input(a) {menerima masukkan m yaitu jumlah menit}
m (simbol panah kekiri) a mod 60 {mencari sisa menit dalam jam, mod adalah perintah untuk mencari hasil sisa bagi dari sebuah bilangan dalam bentuk bilangan bulat}
h (simbol panah kekiri) (a-m)/60 {mencari banyaknya jam yang ada}
output(h,m) {mencetak jam dan menit yang telah dicari}
- SELECTION
Selection adalah instruksi yang mengandung pemilihan apakah suatu kondisi memeuhi kondisi yang disyaratkan atau tidak. Sebuah selection biasanya memiliki:
- Kondisi persyaratan pemilihan
- Instruksi jika kondisi dipenuhi
- Instruksi jika kondisi tidak dipenuhi(optional)
Terdapat dua jenis selection yaitu :
- Selection dengan banyak kasus
- Selection dengan satu/dua kasus
Selection dengan banyak kasus :
Sintaks yang digunakan :
Depend on (sesuatu)
:
:
:
:
Contoh :
Algoritma tulis_bilangan
{menyatakan suatu bilangan}
Deklarasi :
B : integer
Deskripsi :
Input(B) {menerima bilangan b}
Depend on (B)
B = 1 : output(‘satu’)
B = 2 : output(‘dua’)
B = 3 : output(‘tiga’)
Latihan :
- Tulislah algoritma yang menerima nilai mahasiswa, lalu tentukan apakah nilai tersebut A, B, C, D atau E
Ketentuan : A(>=80), (68<=B<80), 56<C<68),(45<D<56),E<45
JAWAB :
Algoritma nilai_mahasiswa
{menentukan nilai mahasiswa}
Deklarasi :
X : integer
Deskripsi
Input(X) {menerima bilangan X}
Depend on (X)
X >= 80 : output(‘A’)
68 <= X <80 : output (‘B’)
56 <= X
45 <= X <56 : output(‘D’)
X <45 : output (‘E’)
Selection dengan satu/dua kasus
Sintaks yang digunakan:
If (kondisi) then {kondisi benar terpenuhi}
Aksi 1
Else {not kondisi}
Aksi 2
Contoh
Algoritma bilangan_negative_positif
{menyatakan suatu bilangan negatif positif}
Deklarasi :
B : integer
Deskripsi :
Input (B) {menerima bilangan B}
If B <0 then
Output (‘bilangan negatif’)
Else
Output (‘bilangan positif’)
Latihan
- Tulislah algoritma yang menerima bilangan dan tentukan bilangan tersebut bilangan genap atau ganjil!
Jawab :
Algoritma bilangan_ganjil_genap
{menentukan bilangan ganjil atau genap}
Deklarasi :
X : integer
Deskripsi :
Input (X) {menerima bilangan X}
If X mod 2 = 0 then,
Output (‘bilangan genap’)
Else
Output (‘bilangan ganjil’)
End if
- Tulislah algoritma yang menerima masukan menit, kemudian konversikan menit tersebut kedalam jam. Jika jam yang dihasilkan lebih dari 5 jam maka cetak bahwa ‘jam lebih dari 5’!
Jawab :
Algoritma konversi_menit_ke_jam
{mengkonversikan menit ke dalam jam}
Deklarasi :
H, M : integer
Deskripsi :
Input (M) {menerima masukan menit}
H (simbol panah kekiri) M/60 {mengkonversi menit ke jam}
If H > 5 then,
Output (‘Jam lebih dari 5’)
Else
Output (‘H (jam)’)
End if
- ITERATION
Iteration adalah jenis instruksi yang melakukan pengulagan terhadap instruksi yang dijalankan. Sebuah iteration terdiri dari bagian, yaitu :
- Kondisi yang menyebabkan perulangan harus berhenti. Kondisi ini dinyatakan dalam ekspresi logika true atau
- Aksi yang diulang, tindakan terus menerus diulang selama kondisi memenuhi
Beberapa macam iteration yaitu :
- Berdasarkan pencacah
Perulangan berdasarkan pencacah digunaka untuk melakukan pengulangan yang diketahui batas awal dan batas akhir dari pengulangan tersebut. Terdapat dua jenis pengulangan yang digunakan yaitu :
For to do (ascending)
For down to (desecending)
- For to do
Sintaks yang digunakan untuk melakukan pengulangan tersebut adalah :
For (inisialisasi_batas_awal) to (batas_akhir) do
Next var
{nilai akan dinaikan sebesar 1}
Contoh :
Menerima masukan nilai bilangan tertentu dan menampilkan deret berdasarkan bilangan yang dimasukkan, misal:
Jika dimasukkan n=1, maka akan ditampilkan deret : 1
Jika dimasukkan n=2, maka akan ditampilkan deret : 1, 2
Contoh algoritma :
Algoritma tulis_deret
{menampilkan deret menggunakan for to do}
Deklarasai :
N, i : integer
Deskripsi :
Input(N) {menerima masukan N yaitu bilangan}
For i = 1 to N do
Output (i, ‘,’) {menampilkan nilai i}
Next i
- For downto do
Sintaks yang digunakan untuk melakukan pengulangan tersebut adalah:
For (inisialisasi_batas_akhir) downto (batas_awal) do
{nilai akan diturunkan sebesar 1}
Next var
Contoh
Menerima masukan nilai bilanga tertentu dan menampilkan deret berdasarkan bilangan yang dimasukkan, misal :
Jika dimasukkan n = 1, maka akan ditampilkan deret : 1
Jika dimasukkan n = 2, maka akan ditampilkan deret : 2,1
Contoh algoritma :
Algoritma tulis_deret2
{menampilkan deret menggunakan for downto do}
Deklarasi :
N, i : integer
Deskripsi :
Input (N) {menerima masukan N yaitu bilangan}
For i = n downto 1 do
Output (i,’,’) {menampilkan nilai i}
Next i
Latihan
- Menerima masukan nilai bilangan tertentu dan menampilkan deret berdasarkan bilangan yang dimasukkan, misal :
Jika dimasukkan n = 1, maka akan ditampilkan deret : 1
Jika dimasukkan n = 2, maka akan ditampilkan deret : 1, 3
Jika dimasukkan n = 1, maka akan ditampilkan deret : 1, 3, 4
Jika dimasukkan n = N, maka akan ditampilkan deret : 1, 1+2, 1+3, ... ,1+N
Tulislah algoritma untuk persoalan tersebut :
Algoritma tulis_deret_plus1
{menampilkan deret untuk selain angka 1 ditambah 1}
Deklarasi :
n, i, m : integer
Deskripsi :
Input (n)
For i = 1 downto n do
If i = 1 then
Output (i,’,’)
Else
m (simbol panah kekiri) i + 1
output (m,’,’)
End If
Next i
- Berdasarkan kondisi berhenti
Pengulangan dilakukan terus hingga kondisi berhenti. Aksi/tindakan minimal dilakukan sekali. Repeat behenti jika kondisi yang diinginkan sudah terpenuhi. Sintaks yang digunakan:
Repeat
Until kondisi berhenti {kondisi berhenti bernilai true}
Contoh
Menerima masukan nilai bilangan tertentu dan menampilkan deret berdasarkan bilangan yang dimasukkan, misal :
Jika dimasukkan n =1, maka akan ditampilkan deret : 1
Jika dimasukkan n =2, maka akan ditampilkan deret : 1, 2
Contoh algoritma :
Algoritma tulis_deret3
{menampilkan deret menggunakan repeat until}
Deklarasi :
N, i : integer
Deskripsi:
Input (N) {menerima N yaitu bilangan}
i (simbol panah kekiri) 1
repeat
output(i,’,’) {menampilkan nilai i}
i (simbol panah kekiri) i + 1
until (i>n)
latihan:
- Menerima masukan nilai bilangan tertentu dan menampilkan deret berdasarkan bilangan yang dimasukkan, misal :
Jika dimasukkan n = 1, maka akan ditampilkan deret : 1
Jika dimasukkan n = 2, maka akan ditampilkan deret : 1,3
Jika dimasukkan n = 3, maka akan ditampilkan deret : 1, 3, 4
Jika dimasukkan n = N, maka akan ditampilkan deret : 1, 1+2, 1+3,...,1+N
Tulislah algoritma untuk persoalan tersebut :
Algoritma tulis_deret_plus1
{menampilkan deret menggunakan repeat until}
Deklarasi :
I, m, n : integer
Deskripsi :
Input (n) {menerima n yaitu bilangan}
I (simbol panah kekiri) 1
Repeat
If I = 1 then
Output(I,’,’)
Else
m (simbol panah kekiri) I + 1
output(m,’,’)
End If
I (simbol panah kekiri) I + 1
Until (I>n)
- Berdasarkan kondisi pengulangan
Pengulangan akan dilakukan jika kondisi pengulangan terpenuhi. Sintaks dasar yang digunakan :
While (kondisi_pengulangan) do
{kondisi berhenti berlawanan dari kondisi pengulangan}
Contoh :
Menerima masukan nilai bilangan tertentu dan menampilkan deret berdasarkan bilangan yang dimasukkan, misal :
Jika dimasukkan n =1, maka akan ditampilkan deret : 1
Jika dimasukkan n =2, maka akan ditampilkan deret : 1, 2
Contoh algoritma :
Algoritma tulis_deret4
{menampilkan deret menggunakan while do}
Deklarasi :
N, i : integer
Deskripsi :
Input(N) { menerima n yaitu bilangan}
i (simbol panah kekiri) 1
while (i <= n) do
output(i,’,’) {menampilkan nilai i}
i (simbol panah kekiri) i + 1
latihan :
- Menerima masukan nilai bilangan tertentu dan menampilkan deret berdasarkan bilangan yang dimasukkan, misal :
Jika dimasukkan n = 1, maka akan ditampilkan deret : 1
Jika dimasukkan n = 2, maka akan ditampilkan deret : 1,3
Jika dimasukkan n = 3, maka akan ditampilkan deret : 1, 3, 4
Jika dimasukkan n = N, maka akan ditampilkan deret : 1, 1+2, 1+3,...,1+N
Tulislah algoritma untuk persoalan tersebut :
Algoritma tulis_deret
{menampilkan deret menggunakan while do}
Deklarasi :
N, i, m : integer
Deskripsi :
Input (N) {menerima N yaitu bilangan}
i (simbol panah kekiri) 1
while (i <= N) do
if i = 1 then
output (i,’,’)
else
m (simbol panah kekiri) i + 1
output (m,’,’)
i (simbol panah kekiri) i + 1
rekan rekan dapat mendownload materinya di bawah ini
download materi struktur algoritma
Semoga artikel/materi pembelajaran ini bermanfaat untuk rekan rekan
jika bermanfaat silahkan di share
Terima Kasih
SALAMPERUBAHAN
#berbagiitumenyenangkan