Di dalam Pengantar Algoritma 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 disebut dengan program komputer. 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 dipaka ataupun sifat mesin yang
digunakan? Hal inilah yang melatarbelakangi
mengapa diperlukannya sebuah Algoritma.
Penyajian Algoritma
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: menjahit pakaian, membuat kue, jadwal harian,
panduan merakit komputer, dan lain-lain.
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 : pseudo-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)
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.
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” memprogram yang baik (lihat syarat program yang baik).
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
|
Ada lagi kelompok bahasa
pemrograman yang menyembunyikan kode pemrograman saat merancang sarana
interaksi manusia-komputer. Kelompok ini juga menyediakan sarana object-oriented.
Kelompok bahasa ini disebut event-programming.
0 komentar:
Posting Komentar
Tinggalkan Komentar di sini!