ALGORITMA
Algoritma
bisa diartikan sebagai jantung informatika yaitu sekumpulan langkah-langkah
logis untuk menyelesaikan suatu masalah untuk menghasilkan solusi.
Pemrograman
dan Bahasa Pemrograman
Pemrograman
merupakan sekumpulan intruksi yang dimasukan ke komputer supaya komputer dapat
bekerja sesuai dengan yang diperintahkan. Sementara bahasa pemrograman yaitu
bahasa yang digunakan sebagai perantara antara user dengan komputer atau juga
bisa diartikan sebagai bahasa manusia yang juga dapat dimengerti oleh komputer.
FLOWCHART
Pengertian
flowchart disini yaitu suatu gambar yang menunjukkan hubunagn antar proses juga
intruksi, dimana dengan flowchart ini apabila ada penambahan proses bisa
dilakukan dengan lebih mudah.
Adapun
simbol-simbol dalam flowchart yaitu sebagai berikut :
- Connecting line
- Terminator symbol
- Connector symbol
- Processing symbol
- Symbol manual operation
- Symbol input-output
- Symbol manual input
- Symbol preparation
- Symbol predefine proses
- Symbol display
- Symbol disk and on-line storage
Selain flowchart,
juga ada yang disebut sebagai wadah yang didalamnya terdapat kumpulan-kumpulan
data dimana data tersebut dapat dirubah,diisi ataupun dikosongkan atau dapat
disebut juga sebagai variabel. Disini, variabel terbagi 2, yaitu
variabel global dan variabel lokal.
Variabel
global yaitu variabel yang bisa digunakan didalam ataupun luar sebuah prosedur.
sedangkan variabel lokal yaitu variabel yang hanya bisa digunakan dalam
lokasi prosedur.
Tipe data
Tipe data
bisa diartikan sebagai jenis data yang bisa diolah komputer dalam suatu
program. Tipe data ini digunakan untuk menentukan jenis nilai yang bisa
ditampung suatu variabel. Contohnya tipe data pada bahasa C#, yaitu
seperti int (integer) untuk bilangan bulat; decimal untuk bilangan desimal;
double untuk menyimpan bilangan pecahan; char untuk menyimpan satu karakter;
string untuk huruf; boolean untuk menyimpan nilai benar atau salah; dan lain
sebagainya.
Operator
Operator
yaitu suatu simbol yang mewakili proses atau aksi untuk memproses variabel atau
angka. Ada beberapa macam operator, diantaranya operator aritmatika, operator
relasi/hubungan, dan operator logika.
Kemudian ada
yang disebut dengan perulangan dan percabangan. Dimana perulangan itu
sendiri yaitu merupakan sebuah interaksi yang sifatnya berulang-ulang dari
suatu kondisi dalam algoritma. Sementara percabangan yaitu secara ringkasnya
merupakan suatu pemilihan, dimana pemilihan tersebut berdasarkan kondisi
tertentu. Percabangan juga terbagi dua, yaitu percabangan dengan
menggunakan If (If tunggal, If dengan else, If bersarang) dan dengan
switch case (pengambilan keputusan yang menggunakan banyak alternatif).
1. 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. 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 :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
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.
Sekilas algoritma di atas benar, namun apabila dicermati maka algoritma ini
mengandung kesalahan yang mendasar, yaitu 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 menambahkan langkah untuk memastikan nilai alas dan tinggi
memenuhi syarat, misalnya dengan melakukan pengecekan pada input yang masuk.
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 ;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
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.
2. Cara Penulisan Algoritma
Ada tiga
cara penulisan algoritma, yaitu :
a.
Structured English (SE)
SE merupakan
alat yang cukup baik untuk menggambarkan suatu algoritma. 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 5.10 dan 5.11 merupakan algoritma yang ditulis menggunakan SI.
Karena dasarnya adalah bahasa sehari-hari, maka SE atau SI lebih tepat untuk
menggambarkan suatu algoritma yang akan dikomunikasikan kepada pemakai
perangkat lunak.
b.
Pseudocode
Pseudocode
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.
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
Apabila Contoh 5.10 ditulis dalam pseudocode berbasis bahasa BASIC akan tampak
seperti pada contoh 5.12.
Contoh
5.12. Pseudocode.
1. Start
2. READ alas, tinggi
3. Luas = 0.5 * alas * tinggi
4. PRINT Luas
5. Stop
Pada Contoh 5.12 tampak bahwa algoritma sudah sangat
mirip dengan bahasa BASIC. Pernyataan
seperti READ dan PRINT merupakan keyword yang ada pada bahasa BASIC yang
masing-masing menggantikan kata “baca data” dan “tampilkan”. Dengan menggunakan
pseudocode seperti di atas maka proses penterjemahan dari algoritma ke kode
program menjadi lebih mudah.
c. Flowchart
Flowchart
atau bagan alir adalah skema/bagan (chart) yang menunjukkan aliran (flow) di
dalam suatu program secara logika.
Flowchart merupakan alat yang banyak digunakan untuk menggambarkan
algoritma dalam bentu notasi-notasi tertentu.
Secara lebih detil bagian ini akan dibahas pada bagian berikutnya.
Komentar
Posting Komentar