Pada kesempatan kali ini maimelajah.com akan membahas mengenai Ciri Sifat Struktur dan Penulisan Algoritma. Dimana Algoritma sendiri mempunyai arti urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. Sedangkan dalam kamus bahasa indonesia Algoritma adalah urutan logis pengambilan keputusan untuk pemecahan masalah.
Baca :
Pengantar Mata Pelajaran Logika Dan Algoritma
Ciri Penulisan Algoritma
Tidak semua urutan langkah penyelesaian masalah yang logis dapat disebut algoritma. Menurut Donald E. Knuth, algoritma mempunyai lima ciri antara lain :
- Finiteness (keterbatasan), algoritma harus berakhir setelah mengerjakan sejumlah langkah-langkah proses
- Definiteness (kepastian), setiap langkah harus didefinisikan secara tepat dan tidak berarti ganda
- Input (masukan), algoritma memiliki nol atau lebih data masukan (input)
- Output (keluaran), algoritma mempunyai nol atau lebih hasil keluaran (output)
- Effectiveness (efektivitas), algoritma harus sangkil (efektif), langkah-langkah algoritma dikerjakan dalam waktu yang wajar
Sifat Algoritma
- Tidak menggunakan simbol atau sintaks dari suatu bahasa pemrograman tertentu
- Tidak tergantung pada suatu bahasa pemrograman tertentu
- Notasi-notasinya dapat digunakan untuk seluruh bahasa manapun
- Algoritma dapat digunakan untuk merepresentasikan suatu urutan kejadian secara logis dan dapat diterapkan di semua kejadian sehari-hari
Struktur Algoritma
Suatu algoritma terdiri dari 3 struktur dasar, yaitu :
1. Runtunan (sequence)
Sebuah runtunan terdiri dari satu atau lebih instruksi. Tiap instruksi dikerjakan secara berurutan sesuai dengan urutan penulisannya, yaitu sebuah instruksi dilaksanakan setelah instruksi sebelumnya selesai dikerjakan. Urutan instruksi menentukan hasil akhir dari suatu algoritma.
Contoh 1 :
Bila urutan penulisan dirubah maka mungkin juga hasil akhirnya akan berubah.
Operasi aritmatika berikut : (4 + 3) x 7 = 49.
Akan tetapi jika urutan aksinya dirubah 4 + (3 x 7) = 25 hasilnya akan menjadi berbeda


Contoh 2 :
Algoritma penukaran dua bilangan bulat, yaitu :

Penjelasan Alur Flowchart:
- Mulai (Start): Proses dimulai
- Deklarasi Variabel: Variabel
A
,B
, danC
dideklarasikan sebagai bilangan bulat (Integer). VariabelC
bertindak sebagai variabel sementara (temporary) untuk membantu proses pertukaran. - Masukkan nilai A: User diminta untuk memasukkan sebuah bilangan yang akan disimpan dalam variabel
A
- Masukkan nilai B: User diminta untuk memasukkan sebuah bilangan yang akan disimpan dalam variabel
B
- Simpan nilai A ke C (C = A): Nilai yang ada di variabel
A
disalin (copy) ke dalam variabelC
. Langkah ini penting untuk menyimpan nilaiA
yang asli karena nilaiA
akan ditimpa nanti - Simpan nilai B ke A (A = B): Nilai yang ada di variabel
B
disalin (copy) ke dalam variabelA
. Sekarang variabelA
memiliki nilai yang sebelumnya dimilikiB
, sedangkan nilai asliA
aman tersimpan diC
- Simpan nilai C ke B (B = C): Nilai yang ada di variabel
C
(yang berisi nilai asliA
) disalin ke dalam variabelB
. Sekarang variabelB
memiliki nilai yang sebelumnya dimilikiA
- Tampilkan A dan B: Menampilkan nilai variabel
A
danB
setelah proses pertukaran selesai - Selesai (END): Proses penukaran nilai selesai
Ilustrasi Nilai (contoh: A=5, B=10):
Langkah | Variabel A | Variabel B | Variabel C (Temp) |
Input | 5 | 10 | ? |
C = A | 5 | 10 | 5 |
A = B | 10 | 10 | 5 |
B = C | 10 | 5 | 5 |
Kesimpulan: Algoritma ini berhasil menukar nilai antara variabel A
dan B
dengan menggunakan bantuan variabel ketiga C
2. Pemilihan (selection)
Pemilihan yaitu instruksi yang dikerjakan dengan kondisi tertentu, dimana kondisi adalah persyaratan yang dapat bernilai benar atau salah. Satu atau beberapa instruksi hanya dilaksanakan apabila kondisi bernilai benar, sebaliknya apabila salah maka instruksi tidak akan dilaksanakan.
Contoh 1 :
Penentuan bilangan genap atau ganjil :

Penjelasan Alur Flowchart:
- Mulai (Start): Proses dimulai
- Masukkan bilangan bulat: User diminta untuk memasukkan sebuah bilangan bulat yang akan diperiksa. Bilangan ini disimpan dalam sebuah variabel (misalnya,
bilangan
) - Hitung sisa bagi (modulus): Bilangan yang dimasukkan user dibagi dengan 2, dan sisa hasil baginya (bukan hasil bagi) disimpan dalam sebuah variabel (misalnya,
sisa
). Operasi ini dalam pemrograman sering disebut sebagai modulus (bilangan mod 2
) - Pengecekan kondisi (Sisa == 0?): Ini adalah decision point atau struktur pemilihan
- Jika YA (artinya sisa bagi adalah 0), maka alur program berlanjut ke langkah “Tampilkan ‘Genap’“.
- Jika TIDAK (artinya sisa bagi adalah 1), maka alur program berlanjut ke langkah “Tampilkan ‘Ganjil’“
- Tampilkan ‘Genap’: Mencetak kata “Genap” ke layar. Ini adalah output untuk bilangan genap.
- Tampilkan ‘Ganjil’: Mencetak kata “Ganjil” ke layar. Ini adalah output untuk bilangan ganjil.
- Selesai (END): Proses penentuan selesai. Kedua jalur genap dan ganjil akan bertemu lagi di titik akhir.
3. Pengulangan (repetition)
Salah satu kelebihan komputer adalah kemampuannya untuk mengerjakan pekerjaan yang sama berulang kali tanpa mengenal lelah. Kita tidak harus menulis perintah yang sama, tetapi cukup mengulang menulis intruksi yang tersedia.
Pengulangan merupakan kegiatan mengerjakan sebuah atau sejumlah aksi yang sama sebanyak jumlah yang ditentukan atau sesuai dengan kondisi yang diinginkan. Beberapa statemen pengulangan pada bahasa pemrograman yaitu for…, while ()…, do…while(), repeat… until, for….downto..do, for…to….do, dan lain sebagainya
Contoh 1 :
Menampilkan huruf tertentu sebanyak n kali ke layar :

Penjelasan Alur Flowchart:
- Mulai (Start): Proses dimulai
- Deklarasi Variabel: Variabel
huruf
(untuk menyimpan karakter),n
(untuk menyimpan jumlah pengulangan), dancounter
(sebagai penghitungan) dideklarasikan - Masukkan karakter huruf: User diminta untuk memasukkan sebuah karakter (misalnya, ‘A’, ‘X’, ‘!’) yang akan ditampilkan berulang kali. Karakter ini disimpan dalam variabel
huruf
- Masukkan nilai n: User diminta untuk memasukkan sebuah bilangan bulat yang menyatakan berapa kali pengulangan dilakukan. Bilangan ini disimpan dalam variabel
n
- Set counter = 0: Variabel
counter
yang akan digunakan untuk melacak berapa kali perulangan telah dilakukan diinisialisasi dengan nilai 0 - Tampilkan huruf ke layar: Nilai yang tersimpan dalam variabel
huruf
ditampilkan ke layar. Ini adalah aksi utama dari perulangan - Increment counter (counter = counter + 1): Nilai variabel
counter
dinaikkan sebanyak 1. Jika sebelumnyacounter
bernilai 0, sekarang menjadi 1, dan seterusnya - Pengecekan kondisi (Counter < n?): Ini adalah decision point yang menentukan apakah perulangan akan dilakukan lagi
- Jika YA (artinya jumlah perulangan yang dilakukan (counter) masih kurang dari n), maka alur program kembali ke langkah “Tampilkan huruf ke layar”
- Jika TIDAK (artinya
counter
tidak lagi kurang darin
, atau dengan kata laincounter
sudah sama dengann
), maka perulangan berhenti dan program berlanjut ke akhir
Kesimpulan: Flowchart ini menggambarkan logika perulangan (loop) yang sederhana. Proses menampilkan huruf dan menambah counter akan terus berulang selama kondisi counter < n
terpenuhi. Begitu kondisi ini tidak terpenuhi lagi (counter
sudah sama dengan n
), perulangan berhenti dan program selesai.
This actually answered my problem, thanks!
Hi there, I found your blog by means of Google whilst looking for a similar subject, your web site came up, it looks good. I have bookmarked it in my google bookmarks.
Reading your article helped me a lot and I agree with you. But I still have some doubts, can you clarify for me? I’ll keep an eye out for your answers.
Kelapa balian