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





          materi dibawa ini

          Komentar

          Postingan populer dari blog ini

          Kemampuan Hantar Arus (KHA) Kabel Listrik

          Contoh Simbol dan Gambar Teknik Listrik

          10 Jenis Kabel Listrik Beserta Kegunaannya