Berbagi Ilmu - "Algoritma"
PENGANTAR ALGORITMA
1. PENDAHULUAN
Bab
ini memiliki kompetensi dasar untuk memahami konsep dasar algoritma,
pemrograman dan bahasa pemrograman.
Komputer atau Hardware dibuat sebagai
alat bantu untuk menyelesaikan masalah. Permasalahan apapun dapat diselesaikan
dengan komputer asalkan dengan langkah-langkah yang tepat dan jelas yang
disediakan oleh manusia.
Bagaimana cara mendeskripsikan masalah
agar dapat diselesaikan dengan komputer?
Caranya adalah:
- menjabarkan
masalah
- merinci
langkah untuk menyelesaikan masalah
- membuat
sarana interaksi manusia-komputer
Langkah untuk menyelesaikan suatu masalah
yang secara logika benar itulah yang disebut dengan Algoritma, sedangkan
algoritma yang diterjemahkan kedalam suatu bahasa pemrograman disebut dengan
program komputer. Jadi Program komputer
adalah urutan langkah kerja dalam bahasa pemrograman komputer.
Tranformasi
masalah menjadi program
komputer diperlukan:
- bentuk
urutan masalah
- bahasa
yang dipakai
- konsep
mesin computer
Bagaimana cara mengembangkan dan
menganalisa langkah-langkah penyelesaian masalah tanpa tergantung pada
karakteristik bahasa yang dipakai ataupun sifat mesin yang digunakan? Hal
inilah yang melatarbelakangi mengapa
diperlukannya sebuah Algoritma.
2.
PENYAJIAN
2.1.
Algoritma
Apakah
Algoritma itu? Asal
mula kata Algoritma adalah Algorism
yang berasal dari nama penulis buku Arab yaitu Abu Ja’far Muhammad ibnu Musa
Al-Khuwarizmi.
Keuntungan
pemakaian algoritma
adalah: logika pemecahan masalah dapat dibuat bertingkat (mulai dari global menuju
terperinci), algoritma merupakan bentuk fleksibel untuk diterapkan ke berbagai
bahasa pemrograman.
Jadi Algoritma adalah:
- penyusunaan
aspek proses logika dari suatu pemecahan masalah tanpa melihat
karakteristik bahasa pemrograman yang akan digunakan
- urutan
notasi logika yang merupakan hasil analiss dan rancangan sistematik dari
strategi pemecahan maslah, untuk menggambarkan urutan langkah kerja yang
jika dikerjakan akan membawa ke tujuannya.
- urutan
logika langkah kerja untuk meyelesaikan suatu masalah.
Contoh algoritma dalam kehidupan
sehari-hari, misalnya: memcuci pakaian, menjahit pakaian, memasak sayur, membuat
kue, jadwal harian, panduan merakit komputer, panduan akademik, dan lain-lain.
Contoh
Algoritma :
Mencuci
Pakaian ? mungkin kita beranggapan sepele dengan masalah ini tapi dapatkah kita
menjabarkan secara tepat ?, silahkan mencoba
Salah
satu kunci keberhasilan belajar Algoritma adalah dengan mencoba, mencoba dan
mencoba lagi
|
2.2.
Notasi Algoritma independen dengan
bahasa pemrograman dan mesin komputer
Beberapa notasi yang digunakan dalam
penulisan algoritma :
1.
Notasi
I : untaian kalimat deskriptif
2.
Notasi
II : diagram alir (flow chart)
3.
Notasi
III : psudo-code
Simbol-simbol program
flowchart
Contoh masalah : menghitung luas
segiempat.
Notasi
I :
Algoritma Luas_Segiempat
Menghitung
luas segiempat dengan memasukkan nilai lebar dan panjang segiempat
Deklarasi
Luas,panjang,lebar
: bilangan bulat
Deskripsi
1.
Masukkan
nilai lebar dan panjang
2.
Hitung
luas sama dengan panjang kali lebar
3.
Tampilkan
Luas
Notasi
II :
Notasi
III :
Algoritma Luas_Segiempat
Menghitung
luas segiempat dengan memasukkan nilai lebar dan panjang segiempat
Deklarasi
Luas,panjang,lebar
: integer
Deskripsi
Input(n)
Luas = panjang * lebar
Output(Luas)
2.3.
Program
Program adalah logika pemecahan masalah dalam bahasa
pemrograman tertentu untuk diproses oleh computer.
Program
yang baik mempunyai
syarat:
- benar,
yaitu bersih dari syntak error, run time error, ataupun logic error
- berlaku
umum untuk beragam data (valid)
- mudah
dibaca (dilengkapi dengn komentar dan keterangan)
- mudah
dimodifkasi dan dikembangkan
- efisiensi
dalam penggunaan ruang dan waktu (kompleksitas rendah)
Belajar
Memogram Vs Belajar Bahasa Pemograman
Belajar
strategi pemecahan masalah metodologi dan sistematika pemecahan masalah.
|
Belajar
memakai suatu bahasa pemrograman tertentu.
|
Bersifat
pemahaman persoalan, analisis dan sistesis.
|
Bersifat
ketrampilan.
|
Membentuk
seorang desaigner sekaligus programer.
|
Membentuk
seorang programer murni.
|
Tujuannya
mencegah memprogram dengan cara trial and error.
|
Tujuannya
mempunyai keterampilan menggunakan suatu bahasa pemograman.
|
Produknya
sebuah program dari hasil rancangan yang metodologis sistimatis.
|
Produknya
sebuah program yang belum dapat dipastikan bersih dari salah logika.
|
Paradigma
Pemrograman
Komputer digunakan sebagai
alat bantu penyelesaian suatu persoalan. Masalahnya, problematika itu tidak
dapat “disodorkan” begitu saja ke depan komputer, lalu komputer dapat
memberikan solusi dan jawaban.
Program harus dihasilkan
dari proses pemahaman masalah dan analisis, untuk dituangkan menjadi kode
bahasa pemrograman secara sistematis dan metodologis. Untuk menghasilkan suatu
program, seorang programmer dapat memakai berbagai pendekatan.
Beberapa
Paradigma dalam Pemrograman
a.
Prosedural
/ Terstruktur
Paradigma
ini mengkonstruksi program dari struktur data dan algoritma. Paradigma ini
berdasarkan konsep Von Newman : ada sekelompok memori yang dibedakan menjadi
memori instruksi dan memori data. Instruksi akan dieksekusi satu per satu
secara sekuensial oleh prosesor tunggal. Data diperiksa dan dimodifikasi secara
sekuensial pula. Pemrograman dalam paradigma ini tidak “alamiah” karena programmer
diharuskan berpikir dalam batasan mesin/komputer. Karena dekat dengan mesin
maka keuntungan menggunakan paradigma ini yaitu program yang dihasilkan dapat
berjalan secara efisiensi.
b.
Paradigma
Fungsional
Paradigma ini didasari oleh konsep
pemetaan dan fungsi pada matematika. Pemrogram mengasumsikan bahwa ada
fungsi-fungsi dasar yang dapat dilakukan, penyelesaian masalah didasari atas
aplikasi dari fungsi-fungsi tersebut. Semua tingkah laku program merupakan
suatu rantai transformasi dari sebuah keadaan awal menuju ke suatu rantai
keadaan akhir, yang mungkin melalui keadaan antara.
Paradigma
ini tidak lagi mempermasalahkan memorisasi dan struktur data, tidak ada
pemilahan antara data dan program, tidak ada lagi pengertian
tentang “variable”. Programmer tidak perlu lagi mengetahui bagaimana
mesin mengeksekusi dan bagaimana data disimpan.
c.
Paradigma
Deklaratif / Logika
Paradigma ini mengkonstruksi program
dari kumpulan fakta dan aturannya. Paradigma ini didasari oleh bagaimana
mambuat relasi antar individu yang dinyatakan dengan predikat.
Karena
program logika terdiri atas kumpulan fakta dan kumpulan aturan, maka tugas programmer
mengendalikan pencocokan goal yang akan dituju, melewati fakta-fakta
yang ada.
d.
Paradigma
Object-Oriented
Paradigma
ini mengkonstruksi program dari objek-objek dalam ruang lingkup masalahnya.
Sekumpulan objek yang mempunyai sifat yang sama. Dapat menjadi sebuah kelas.
Sebuah kelas mempunyai attribute (sekumpulan sifat/ciri). Paradigma ini
menawarkan konsep modularitas, penggunaan ulang, dan kemudahan modifikasi.
e.
Paradigma
Konkruen
Paradigma ini dipengaruhi oleh
arsitektur perangkat keras yang memungkinkan proses dijalankan secara parallel.
Berdasarkan paradigma tersebut maka bahasa pemrograman
dapat dikelompokkan :
Paradigma
|
Bahasa
Pemrograman
|
Prosedural / terstruktur
Fungsional
Deklaratif / logika
Object-Oriented
|
Pascal, C, basic, Java, dll
Logo, Apl, LISP, dll
Prolog
Smalltalk, Java, C++, dll
|
Sekian Berbagi Ilmu hari ini....
Tunggu kelanjutan posting tentang Algoritma...
0 comments:
Post a Comment