SD 1 : Alogaritma
Pengertian Algoritma
Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. Masalah dapat berupa apa saja, dengan catatan untuk setiap masalah, ada syarat kondisi awal yang harus dipenuhi sebelum menjalankan algoritma.
Contoh 5.10. Algoritma menghitung luas segitiga.
1. Start
2. Baca data alas dan tinggi.
3. Luas adalah alas kali tinggi kali 0.5
4. Tampilkan Luas
5. Stop
BAB I
STRUKTUR ALGORITMA PEMROGRAMAN
PENGERTIAN ALGORITMA
Algoritma adalah urutan
langkah-langkah logis penyelesaian masalah yang disusun secara sistematis.
Logis dalam hal ini dapat menghasilkan nilai benar atau salah. Masalah dapat
berupa apa saja, dengan catatan untuk setiap masalah, ada syarat kondisi awal
yang harus dipenuhi sebelum menjalankan algoritma. Konsep algoritma sering kali
disetarakan dengan sebuah resep.
Sebuah resep biasanya memiliki daftar bahan atau bumbu yang akan
digunakan, urutan pengerjaan dan bagaimana hasil dari urutan pengerjaan
tersebut. Apabila bahan yang digunakan tidak tertera (tidak tersedia) maka
resep tersebut tidak akan dapat dikerjakan. Demikian juga jika urutan
pengerjaannya tidak beraturan, maka hasil yang diharapkan tidak akan dapat
diperoleh.
Algoritma yang berbeda dapat diterapkan pada suatu masalah dengan
syarat yang sama. Tingkat kerumitan dari suatu algoritma merupakan ukuran
seberapa banyak komputasi yang dibutuhkan algoritma tersebut untuk
menyelesaikan masalah. Umumnya, algoritma yang dapat menyelesaikan suatu
permasalahan dalam waktu yang singkat memiliki tingkat kerumitan yang rendah,
sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan suatu
masalah membutuhkan tingkat kerumitan yang tinggi.
Perhatikan
algoritma sederhana berikut.
Contoh
1.1. Algoritma membuat teh manis.
1. Start
2. Sediakan gelas
3. Tuangkan air panas
4. Berilah gula
5. Diaduk sampai rata
6. Masukkan teh celup
sampai larut
7. Siap disajikan
Contoh 1.2. Algoritma
menghitung luas segitiga.
1. Start
2. Baca data alas dan
tinggi
3. Luas adalah alas kali
tinggi kali 0.5
4. Tampilkan Luas
5. Stop
Contoh 1.3. Algoritma
menghitung luas persegi panjang.
1. Start
2. Baca data panjang dan
lebar
3. Luas adalah panjang kali
lebar
4. Tampilkan Luas
5. Stop
Contoh 1.4. Algoritma
menghitung volume balok.
1. Start
2. Baca data panjang, lebar
dan tinggi.
3. Volume adalah panjang
kali lebar kali tinggi
4. Tampilkan Volume
5. Stop
Dalam
menyusun suatu program, langkah pertama yang harus dilakukan adalah membuat
Algoritma. Tahapan dalam menyelesaikan suatu masalah adalah Masalah – Algoritma
– Flowchart – Program – Eksekusi – Hasil. Dalam menerapkan algoritma, dapat
dipergunakan berbagai macam software bahasa pemrograman diantaranya Pascal,
Delphi, Visual Basic, HTML dan lain-lain.
Algoritma di atas adalah algoritma yang sangat sederhana, hanya
ada lima langkah. Pada algoritma ini tidak dijumpai perulangan ataupun
pemilihan. Semua langkah dilakukan hanya satu kali. Tapi tidak ada pembatasan
pada nilai data untuk alas dan tinggi. Bagaimana jika nilai data alas atau
tinggi adalah bilangan 0 atau bilangan negatif ? Tentunya hasil yang keluar
menjadi tidak sesuai dengan yang diharapkan.
Dalam kasus seperti ini kita perlu mevalidasi input nilai nya.
Apabila input nilai alas dan tinggi kurang dari 0 maka program tidak akan
dijalankan. Sehingga algoritma di atas dapat dirubah menjadi seperti contoh
berikut.
Contoh 1.5. hasil
perbaikan algoritma perhitungan luas segitiga.
1. Start
2. Baca data alas dan
tinggi.
3. Periksa data alas dan
tinggi, jika nilai data alas dan tinggi lebih besar dari nol maka lanjutkan ke
langkah ke 4 jika tidak maka stop (langkah
6)
4. Luas adalah alas kali
tinggi kali 0.5
5. Tampilkan Luas
6. Stop
Dari penjelasan di atas
dapat diambil kesimpulan pokok tentang algoritma.
Pertama, algoritma harus benar.
Kedua algoritma harus berhenti, dan
setelah berhenti, algoritma memberikan hasil yang benar.
Contoh
Soal :
1.
Diketahui bahwa kantong P kosong. Kantong Q berisi 10 buah
kelereng dan kantong R berisi 15 kelereng. Apabila yang terbawa hanya sebuah
kantong dan di katakan BUKAN kantong P yang terbawa, Maka jumlah kelereng yang
terbawa adalah.....
A. 10
B. 15
C. 10 atau 15
D. 10 dan 15
E. Kosong
2.
Diketahui algoritma : Jika siswa memperoleh nilai <80 maka
remidial dan >=80 maka tuntas. jika siswa tadi memperoleh nilai = 78
maka....
A. Remidial
B. Tuntas
C. 80
D. Tidak ada keterangan
E. 100
3.
Diketahui algoritma : gelas A diberi air berwarna merah, gelas B
diberi air berwarna hijau, gelas C kosong. Kemudian gelas C dituangkan air dari
gelas A, air di gelas B dituangkan ke gelas A. Dan air di gelas B dituangkan
dari gelas C. Maka....
A. Gelas A berwarna hijau,
gelas B berwarna merah
B. Gelas A berwarna merah,
gelas B berwarna hijau
C. Gelas A berwarna merah,
gelas B berwarna merah
D. Gelas A berwarna hijau,
gelas B berwarna hijau
E. Gelas A kosong, gelas B
berwarna merah
4.
Diberikan algoritma : Apabila input warna merah maka jadi hijau.
Apabila inputwarna hijau maka jadi putih, selain input warna merah dan hijau
maka jadi ungu. Jika kondisi input warna adalah hitam, maka warna jadi.....
A. Merah
B. Ungu
C. Hijau
D. Putih
E. Abu-abu
BAB II
CARA PENULISAN ALGORITMA
Ada tiga cara penulisan
algoritma, yaitu :
❖ STRUCTURED ENGLISH (SE)
Dasar dari SE adalah Bahasa Inggris, namun kita dapat memodifikasi
dengan Bahasa Indonesia sehingga kita boleh menyebutnya sebagai Structured
Indonesian (SI).
Algoritma seperti pada contoh sebelumnya merupakan algoritma yang
ditulis menggunakan SI. Karena dasarnya adalah bahasa yang dipakai sehari-hari,
maka SE atau SI lebih tepat untuk menggambarkan suatu algoritma yang akan
dikomunikasikan kepada pemakai perangkat lunak.
❖ PSEUDOCODE
Pseudocode menyerupai bahasa pemrograman, mirip dengan SE. Karena
kemiripan ini kadang-kadang SE dan Pseudocode dianggap sama. Pseudo berarti
imitasi atau tiruan atau menyerupai, sedangkan code menunjuk pada kode program.
Sehingga pseudocode adalah kode yang mirip dengan instruksi kode program
sebenarnya. Program
Komputer adalah sekumpulan instruksi atau perintah untuk dapat dilaksankan oleh
komputer. Pseudocode didasarkan pada bahasa pemrograman
yang sesungguhnya seperti BASIC, FORTRAN atau PASCAL. Pseudocode yang berbasis
bahasa PASCAL merupakan pseudocode yang sering digunakan. Kadang-kadang orang
menyebut pseudocode sebagai PASCAL-LIKE algoritma.
Contoh 2.1. Pseudocode
Luas Segitiga.
1. Start
2. READ alas, tinggi
3. Luas = 0.5 * alas *
tinggi
4. PRINT Luas
5. Stop
Contoh 2.2. Pseudocode
Luas Persegi Panjang.
1. Start
2. READ panjang, lebar
3. Luas = panjang * lebar
4. PRINT Luas
5. Stop
Pada contoh sudah sangat mirip dengan bahasa BASIC. Pernyataan
seperti READ dan PRINT merupakan keyword yang ada pada bahasa pemrograman BASIC
yang berarti “baca data” dan “tampilkan” sehingga dapat digunakan sebagai
proses penterjemahan dari algoritma ke kode program.
❖ FLOWCHART
Flowchart atau bagan alir adalah skema/bagan (chart) yang
menunjukkan aliran (flow) di dalam suatu program secara logika. Flowchart
merupakan alat yang digunakan untuk menggambarkan algoritma dalam bentuk
notasi-notasi tertentu.
Berikut ini merupakan
pedoman dalam membuat suatu flowchart :
➢ Bagan alir sebaiknya
digambar dari atas ke bawah dan mulai dari bagian kiri dari suatu halaman.
➢ Kegiatan di dalam
flowchart harus ditunjukkan dengan jelas.
➢ Harus ditunjukkan dari
mana kegiatan akan dimulai dan dimana akan berakhirnya.
➢ Masing-masing kegiatan
di dalam diagram alir sebaiknya digunakan suatu kata yang mewakili suatu
pekerjaan.
➢ Masing-masing kegiatan
dalam flowchart harus disusun secara berurutan.
.

Contoh Flowchart :
* Flowchart menghitung Luas Persegi Panjang :
* Flowchart menghitung Luas Segitiga
* Flowchart menghitung Luas Persegi Panjang :
* Flowchart menghitung Luas Segitiga
materi dibawa ini
Komentar
Posting Komentar