Kamis, 25 Februari 2010

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 Pascal, C, basic, Java, dll
Fungsional Logo, Apl, LISP, dll
Deklaratif / logika Prolog
Object-Oriented 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.

PENGERTIAN ALGORITMA DAN NOTASINYA

Apa itu algoritma? Apa itu bahasa pemrograman, bagi yang ingin pintar pemrograman cob abaca ini :
Sebelum dapat membuat program, kita harus menguasai bahasa pemrograman terlebih dahulu, ada C++, java, dan lain-lain. Jika kita langsung menggunakan bahasa pemrograman tersebut pemecahan masalah yang akan kita buat untuk suatu program akan lebih sulit dan tidak terperinci, maka dari itu kita kita disarankan untuk memahami algoritma untuk dapat membuat pemacahan masalah lebih teratur, mulai dari yang global dan yang terperinci atau komplek.


Keuntungan menggunakan algoritma dalam pembuiatan program selain membuat logika pemecahan masalah menjadi teratur adalah dapat membuat pemecahan masalah tersebut fleksibel, kita bisa membuat program dengan berbagai bahasa pemrograman. Baik itu C++, ataupun java.

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.

Notasi logika : dalam penulisan algoritma ada notasi-notasi yang diperlukan agar algoritma tersusun lebih rapih. Diantaranya adalah :

1. Notasi I : untaian kalimat deskriptif
2. Notasi II : diagram alir (flow chart)
3. Notasi III : psudo-code

Simbol-simbol program flowchart

1. Terminal (elips)
Digunakan untuk menunjukkan awal dan akhir dari program

2. Persiapan (segi enam)
Digunakan untuk memberikan nilai awal pada suatu variabel

3. Pengolahan/Proses (persegi panjang)
Digunakan untuk pengolahan arithmatika dan pemindahan data

4. Keputusan (belah ketupat)
Digunakan untuk mewakili operasi perbandingan logika

5. Input/Output (jajar genjang)
Digunakan untuk menyatakan proses input/baca dan output/tulis

6. Garis
Digunakan untuk menyatakan urutan pelaksanaan, atau alur proses

contoh notasi :

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),

begitulah dasar2 algoritma....
nantikan selanjutnya ya!!!