Assalam, Selamat datang dan terimkasih sudah mampir di web saya ini. Untuk
pertama kali nya saya akan posting materi pembalajaran tentang algoritma
pemrograman.
Komputer atau
Hardware dibuat sebagai alat bantu untuk menyelesaikan
|
Pertama-tama sebelum saya membahas tentang algoritma pemrograman
saya akan memberikan materi pengantar algoritma.
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:
|
1. menjabarkan masalah
|
2. merinci langkah untuk menyelesaikan masalah
|
3. membuat sarana interaksi manusia-komputer
|
Langkah untuk
menyelesaikan suatu masalah disebut dengan program
|
komputer.
|
Program komputer
|
adalah urutan
langkah kerja dalam bahasa
|
pemrograman
komputer.
|
Tranformasi
masalah
|
menjadi program
komputer diperlukan:
|
1. bentuk urutan masalah
|
2. bahasa yang dipakai
|
3. konsep mesin computer
|
Bagaimana cara
mengembangkan dan menganalisa langkah-langkah
|
penyelesaian
masalah tanpa tergantung pada karakteristik bahasa yang dipaka
|
ataupun sifat
mesin yang digunakan? Hal inilah yang melatarbelakangi
|
mengapa
diperlukannya sebuah Algoritma.
|
Asal mula kata Algoritma adalah Algorism
|
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:
|
1. penyusunaan
aspek proses logika dari suatu pemecahan masalah tanpa
|
melihat karakteristik bahasa pemrograman yang akan
digunakan
|
2. 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.
|
3. urutan
logika langkah kerja untuk meyelesaikan suatu masalah.
|
Contoh algoritma dalam kehidupan sehari-hari,
misalnya: menjahit pakaian,
|
membuat kue, jadwal harian, panduan merakit komputer,
dan lain-lain.
|
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
|
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 :
|
mulai
|
Input
|
panjang, lebar
|
Luas = panjang * lebar
|
Output
|
Luas
|
selesai
|
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)
|
Program, Apa itu program?
Program adalah
logika pemecahan masalah dalam bahasa
|
pemrograman tertentu untuk diproses oleh computer.
|
Program yang baik
|
mempunyai syarat:
|
1. benar, yaitu
bersih dari syntak error, run time error, ataupun logic error
|
2. berlaku umum
untuk beragam data (valid)
|
3. mudah dibaca
(dilengkapi dengn komentar dan keterangan)
|
4. mudah
dimodifkasi dan dikembangkan
|
5. efisiensi
dalam penggunaan ruang dan waktu (kompleksitas rendah)
|
|
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.
|
Ada “jarak” antara pesoalan dengan komputer. Jadi, strategi
pemecahan
|
masalahnya harus lebih dahulu ditanamkan ke dalam
komputer dalam bentuk
|
program. Ilmu memprogram berkembang sehingga
memprogram dengan cara
|
trial and error
|
harus diganti dengan “seni” memprogra m yang baik
(lihat syarat
|
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
|
Pascal, C, basic, Java, dll
|
Fungsional
|
Logo, Apl, LISP, dll
|
Deklaratif / logika
|
Prolog
|
Object-Oriented
|
Smalltalk, Java, C++
|
Sekian dulu untuk materi tentang algroitma pemrograman kali ini.
terimakasih sudah berkunjung
Wassalam
|
0 comments:
Post a Comment