Algoritma Program
Pengantar Algoritma dan
Pemrograman
Konsep Dasar
Algoritma merupakan fondasi yang harus dikuasai oleh setiap mahasiswa yang
ingin menyelesaiakan sebuah permasalahan logika secara terstruktur, efektif dan
efisien yaitu yang ingin menyusun program computer untuk menyelesaikan suatu
persoalan.
Defisini Algoritma
Ada beberapa definisi algoritma
diantaranya adalah :
1. Algoritma adalah penyusunan langkah-langkah
penyelesaian masalah dalam bentuk
kalimat dengan jumlah kata terbatas tetapi tersusun secara logis dan matematis.
kalimat dengan jumlah kata terbatas tetapi tersusun secara logis dan matematis.
2. Algoritma adalah suatu prosedur yang jelas untuk
menyelesaikan suatu persoalan dengan menggunakan langkah-langkah tertentu dan
terbatas jumlahnya.
3. Algoritma adalah susunan langkah yang pasti, yang bila
diikuti maka akan mentransformasi data input menjadi output yang berupa
informasi.
Sejarah Algoritma
Sejarah mencatat bahwa algoritma berasal dari sebuah kata al-khawarizmi
yang berasal dari seorang muslim yang bernama lengkap Abu Ja’far Muhammad Ibnu
Musa Al-Kwarizmi, beliau merupakan ahli matematika dan astronomi dari Persia,
dan juga merupakan penulis buku “Aljabar wal Muqobala”. Beliau dianggap sebagai
pencetus pertama algoritma karena di dalam buku tersebut Abu Ja’far menjelaskan
langkah-langkah dalam menyelesaikan berbagai persoalan arirmatika (aljabar).
Ciri-ciri Algoritma
Menurut Donald E. Knuth penulis
buku algoritma abad XX, menyatakan bahwa ada beberapa ciri algoritma, yaitu :
1. Algoritma mempunyai awal dan akhir, suatu algoritma
harus berhenti setelah mengerjakan serangkaian tugas. Dengan kata lain, suatu
algoritma memiliki langkah yang terbatas.
2. Setiap langkah harus didefinisikan dengan tepat,
sehingga tidak memiliki arti ganda, tidak membingungkan (not ambiguous)
3. Memiliki masukan (input) atau kondisi awal
4. Memiliki keluaran (output) atau kondisi akhir
5. Algoritma harus efektif, bila diikuti benar-benar maka
akan menyelesaikan masalah.
Sifat Algoritma
Sesuai dengan ciri-ciri dari algoritma
pada penjelasan di atas, maka dapat disimpulkan bahwa sifat suatu algoritma
adalah :
1. Input : Suatu algoritma mempunyai input atau kondisi awal sebelum
dilaksanakan, bias berupa nilai-nilai peubah yang diambil dari himpunan khusus.
2. Output : Suatu algoritma akan menghasilkan output setelah dilaksanakan. Suatu
algoritma akan mengubah sebuah kondisi awal menjadi kondisi akhir, dimana nilai
output diperoleh dari nilai input yang telah diproses melalui algoritma.
3. Definiteness : Langkah-langkah yang dituliskan dalam algoritma terdefini dengan
jelas sehingga mudah dilaksanakan oleh pengguna algoritma.
4. Finiteness : Suatu algoritma harus memiliki kondisi akhir atau output setelah
sejumlah langkah yang terbatas jumlahnya dilakukan terhadap setiap kondisi awal
atau input yang diberikan.
5. Effevtiveness : Setiap langkah dalam algortima dilaksanakan dalam suatu selang waktu
tertentu sehingga pada akhirnya didapatkan solusi sesuai dengan yang
diharapkan.
6. Generality : Langkah-langkah algoritma berlaku untuk setiap himpunan input yang
sesuai dengan persoalan yang diberikan, tidak hanya untuk himpunan tertentu.
Struktur Algoritma
Agar algoritma yang ditulis lebih teratur,
maka struktur algoritma sebaiknya dibagi ke dalam beberapa bagian.
Diantaranya :
1. Bagian kepala (header) : memuat nama algoritma serta
informasi atau keterangan tentang algoritma yang ditulis
2. Bagian Deklarasi ( definisi variable ) : memuat
definisi nama variable, nama tetapan, nama prosedur, nama fungsi, tipe data
yang akan digunakan dalam algoritma.
3. Bagian Deskripsi (rincian langkah ) : memuat
langkah-langkah penyelesaian masalah, termasuk beberapa perintah seperti baca
data, tampilkan, ulangi, yang mengubah data input menjadi output.
Contoh berikut ini adalah struktur algoritma. Algoritma
ini akan menghitung luas sebuah luas lingkaran dengan input jejari lingkaran
tersebut. Luas lingkaran adalah phi*jari*jari.
Algoritma Luas_lingkaran
{Menghitung sebuah luas lingkaran apabila
jari-jari tersebut diberikan}
Deklarasi
{Definisi nama tetapan}
Const phi = 3.14;
{Definisi nama peubah/variabel}
Real jari-jari, Luas;
Deskripsi
Read(jari-jari);
Luas = phi * jari-jari * jari_jari;
Write(Luas);
Defisini Pemrograman
Pemrograman adalah aktifitas yang
berhubungan dengan pembuatan program dengan mengikuti kaidah bahasa pemrograman
tertentu. Dalam konteks pemrograman terdapat sejumlah bahasa pemrograman seperti
Pascal, C, C#, dan BASIC.
Adapun secara garis besar bahasa
pemrograman dikelompokkan menjadi :
1. Bahasa pemrograman tingkat tinggi ( high-level
language )
Adalah bahasa pemrograman yang
berorientasi kepada bahasa manusia. Program yang dibuat dengan menggunakan
bahasa pemrograman yang mudah dipahami oleh manusia, biasanya menggunakan
bahasa inggris, misalnya IF, FOR, While, dll.
Contoh bahasa pemrograman tingkat tinggi
adalah : C, C#, BASIC, PHP, VB, VB.NET, JAVA, dll.
2. Bahasa pemrograman tingkat rendah ( low-level language
)
Adalah bahasa pemrograman yang berorientasi kepada mesin. Bahasa ini hanya
menggunakan kode biner ( hanya mengenal bilangan 0 dan 1 ) atau suatu kode
sederhana untuk menggantikan kode-kode tertentu dalam system biner.
Contoh : kode ASCII yang merepresentasikan karakter ke dalam bilangan
biner.
Langkah-langkah
penyelesaian masalah dengan Pemrograman
Sebelum dapat menyelesaikan masalah dengan
program, terdapat langkah-langkah yang perlu dilakukan terlebih dahulu :
1. Menganalisis masalah
Yaitu tindakan untuk mengidentifikasi
informasi yang menjadi keluaran pemecahan masalah dan data-data yang menjadi
masukan.
Dengan kerangka pemecahan masalah = Masukan ->
Algoritma -> Keluaran
2. Membuat algoritma
Yaitu menuangkan ide dari
pengidentifikasian masalah ke dalam bentuk algoritma baik dengan menggunakan
Flowchart atau PseudoCode
3. Menuangkan algortima ke dalam bentuk program.
Yaitu proses membuat kode dengan
menggunakan sebuah bahasa pemrograman untuk mendapatkan hasil sesuai
dengan permasalahan
4. Mengeksekusi dan menguji program (implementasi).
Yaitu proses pengujian terhadap suatu
program yang digunakan, apakah nantinya berhasil sesuai yang diharapkan atau
masih terjadi kesalahan-kesalahan.
Contoh-Contoh Algortima
Contoh 1 :
Ada tiga bejana yaitu bejana A, B. Bejana
A berisi tinta berwarna merah, bejana B berisi tinta berwarna hijau.
Pertanyaannya adalah : bagaimana caranya
agar bejana A dapat terisi dengan tinta berwarna hijau dari bejana B, dan
bejana B terisi dengan tinta berwarna merah dari bejana A ?
Dari pertanyaan di atas dapat kita
definisikan bahwa untuk memindahkan isi dari bejana A ke bejana B maka
dibutuhkan satu lagi bejana kosong, misalnya adalah bejana C.
Maka langkah-langkahnya penyelesaiannya
adalah :
1. Isi bejana C (asalnya kosong) dari bejana A (Tinta
Merah)
2. Isi bejana A (yang sudah kosong) dari bejana B (Tinta
Hijau)
3. Isi bejana B (yang sudah kosong) dari bejana C (Tinta
Merah)
4. Jadi bejana A berisi tinta Hijau, bejana B berisi
tinta Merah dan bejana C tetep kosong.
CIRI-CIRI ALGORITMA
1. Algoritma harus berhenti setelah mengerjakan sejumlah
langkah
2. Setiap langkah harus indefikasi tidak boleh lebih pada
2 (ambigu)
3. Algoritma mempunyai nol atau output
4. Algoritma mempunyai nol atau lebih sebagai output
5. Algoritma harus efektif dan efesien
SECARA GARIS BESAR KOMPUTER MEMPUNYAI 4 KOMPENEN UTAMA YAITU;
1. Piranti input memasukan program ke dalam komputer
2. Piranti output keluaran berupa hasil
3. Unit proses
4. Unit penyimpanan
Perbedaan interpreter dan compiler
a. Menerjemahkan intruksi perintruksi
b. Source program tidak harus ditulis dengan lengkap
c. Bila terjadi kesalahan intruksi dapat langsung
diperbaiki secara interaktif
d. Tidak menghasilkan objek program
e. Pemprosesan program lebih lambat, karena intruksi yang
dikerjakan harus diinterpretasi ulang
f. Source kode program terus digunakan
COMPILE
COMPILE
- Menerjemahkan secara keseluruhan
- Source program harus ditulis lengkap
- Bila terjadi kesalahan kompilasi secara program harus di benarkan dalam proses kompilasi diulang kembali
- Menghasilkan objek program
- Pemproses program lebih cepat, karena program sudah dalam bahasa mesin
- Source program digunakan satu hati pada source komplikasi program
CONTOH SOAL
ALGORITMA
-Pada suatu hari ada seorang gembala
yang bernama Charless, ia melewati hutan dan menyebrangi jembatan bersama,
kucing, rumput, dan sapi. Tapi ia melihat tulisan yang ada di depan jembatan
“jembatan ini hanya ckup untk dua orang saja” jadi ia tak bisa plang
kerumahnya.
-Bagaimana smuanya bisa selamat sampai
rumah penggembala walapun jembatan hanya mampu menampung dua orang saja?
2. Susunlah algoritma untuk meliput dua buah bilangan (msialnya A dan B)
Kemudian menghitung dan mencetak total kedua buah
bilangan tersebut



Komentar
Posting Komentar