Minggu, 06 November 2011

ALGORTIMA DAN PEMROGRAMAN

I.                   Konsep Dasar Pemrograman
Program dan pemrogram
Apakah yang disebut program? program adalah suatu kumpulan perintah yang disusun sedemikian rupa agar mempunyai urutan nalar yang tepat untuk dapat menyelesaikan suatu masalah.
Pemrograman adalah suatu perintah kekomputer untuk mengerjakan sesuatu dalam bentuk urutan dimana perintah itu menggunakan bahasa pemrograman agar bisa dimengerti oleh komputer.
Bahasa pemrograman adalah bahasa yang digunakan untuk memprogram komputer kesatuan aturan sintaksis dan semantik yang di gunakan untuk mendefinisikan program.
Fungsi bahasa pemrograman adalah media untuk menyusun serta alat komunikasi antara pemrogram dan komputer agar komputer dapat mengolah data sesuai dengan alur berpikir yang kita inginkan.
Bahasa pemrograman dapat dikelompokan menjadi :
·         bahasa tingkat rendah (low level language) , contoh : bahasa assembly (bahasa mesin)
·         bahasa tingkat menengah (Middle level language) , contoh : bahasa C
·         bahasa tingkat tinggi (high level language) , contoh : pascal dan basic
·         Object Oriented Language , contoh : Virtual dBase, Virtual FoxPro, Delphi, Visual C

Tipe pemrograman ada 7, yaitu :
1)      Pemrograman Prosedural
pemrograman prosedural adalah pemrograman yang mendukung pembuatan program sebagai kumpulan prosedur, tahap-tahap, atau metode langkah demi langkah secara eksak untuk menyelesaikan suatu masalah. biasanya pemrograman prosedural menggunakan cobol, basic, pascal, fortran dan C yang termasuk bahasa pemrograman tingkat tinggi.
2)      Pemrograman  Terstruktur
Bahasa pemrograman terstruktur adalah pemrograman yang mendukung abstraksi data, pengkodean terstruktur dan kontrol program terstruktur yang mendukung pembuatan program sebagai kumpulan prosedur. Jadi pemrograman terstruktur adalah cara pemrosesan data yang terstuktur. Terstruktur dalam: analisa, cara dan penulisan program. Biasanya pemrograman terstruktur menggunakan bahasa pascal, cobol, RPG, ADA, C.



3)      Pemrograman Modular
Pemrograman modular adalah penyelesaian masalah yang dipecah dahulu kedalam beberapa modul atau dalam kata lain persoalan yang kompleks dipecah dahulu menjadi beberapa bagian agar lebih mudah diselesaikan. Intinya pemrograman modular  yaitu memecah persoalan menjadi sub-sub persoalan yang biasa disebut subprogram.
4)      Pemrograman Fungsional
Pemrograman fungsional adalah pemrograman yang semua kodenya menggunakan atau berupa fungsi-fungsi. Atau dalam kata lain adalah bahasa pemrograman yang memperlakukan proses komputasi sebagai evaluasi fungsi-fungsi matematika. Contohnya adalah Lisp, Scheme, ML, Haskell.
5)      Pemrograman Berorientasi Obyek
Model data berorientasi objek dapat memberi kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar.  Konsep dasar dari Pemrograman Berorientasi Objek Pemrograman orientasi-objek menekankan konsep berikut:
·         Kelas
 kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebuah kelas adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Kode yang terdapat dalam sebuah kelas sebaiknya (relatif) bersifat mandiri dan independen. Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Sehingga akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.
·         Objek
Objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek yang membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer.
·         Abstraksi
Abstraksi yaitu kemampuan untuk memfokus pada inti. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan Setiap objek abstrak dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lain tanpa mengungkapkan bagaimana kelebihan ini diterapkan.
·         Enkapsulasi
Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak karena hanya metode dalam objek tersebut yang diberi izin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut
6)      Pemrograman Visual
Visual programming atau pemrograman visual adalah pembuatan program tanpa mengetik segalanya dalam bentuk 'code'. Pemrograman secara visual dapat menghemat waktu dan tenaga karena mudah dan 'code' yang dihasilkan dari design secara visual sehingga mengurangi kemungkinan terjadinya kesalahan. Pemrograman visual dapat mengacu aktivitas pengguna untuk membuat program dalam dua dimensi atau lebih.
7)      Pemrograman Even-Dreven
Pemrograman Even-Dreven adalah pemrograman komputer yang berbasis paradigma pemrograman di mana aliran program ditentukan oleh peristiwa. Yaitu output sensor atau tindakan. Pemrograman event driven jenis tertentu dari paradigma yang berfungsi sebagai hasil dari beberapa bentuk masukan. Masukan ini dapat dari seseorang mengoperasikan antarmuka komputer manusia atau juga dapat dipengaruhi oleh pesan dan perintah yang diterima dari program lain komputer.
Kriteria Bahasa Pemrograman
Berikut ini adalah kriteria untuk penilaian suatu bahasa pemrograman:
a)      Clarity, simplicity, dan unity
Kemudahan dan kesederhanaan dalam bahasa pemrograman adalah kombinasi yang membantu programmer untuk menjadikan algoritma yang dihasilkan kompleksitas yang rendah.
b)      Orthogonality
Kriteria ini adalah bahasa pemrograman yang mudah dipelajari sehingga program akan mudah ditulis karena hanya ada sedikit expection dan case yang harus diingat. Orthogonality dapat dikombinasikan dengan beragam fitur bahasa pemrograman sehingga setiap kombinasinya akan mempunyai arti dan dapat digunakan. Dengan demikian akan mendukung statmen kondisi untuk mendapatkan nilai true atau false.
c)       Kewajaran untuk aplikasi
Setiap bahasa pemrograman harus mempunyai operasi-operasi, struktur data, struktur kontrol dan sintaks alami yang tepat untuk memecahkan suatu masalah guna merefleksikan struktur logika yang melandasi suatu algoritma.
d)      Mendukung abstraksi
Abstraksi dapat dengan mudah diimplementasikan menggunakan fitur-fitur yang ada dalam bahasa pemrograman sehingga menjadi hal yang nyata bagi programmer untuk membuat suatu solusi dari sebuah masalah.

e)      Kemudahan untuk verifikasi program
Verifikasi program adalah hal yang penting bagi sebuah program agar dapat dengan mudah dibangun dan dikembangkan. Kesederhanaan struktur semantik dan sintaks dapat mempengaruhi kesederhanaan verifikasi program.
f)       Lingkungan pemrograman
Maksudnya adalah bahasa program yang baik akan memudahkan programmer untuk menyelesaikan suatu masalah atau abstraksi yang sudah disusun. Lingkungan pemrogram disini maksudnya editor yang digunakan dokumentasi yang baik dari bahasa pemrograman, user interface yang baik ataupun toolnya dapat memudahkan cara kerja programmer.
g)      Portabilitas program
Maksudnya adalah kemudahan untuk programmer agar bisa berpindah-pindah komputer agar bisa lebih mengembangkan lagi cara kerjanya.
h)      Biaya penggunaan
Dalam mengevaluasi suatu bahasa pemrograman dibutuhkan juga sebuah biaya, berikut ini adalah biaya yang dapat diukur :
·         Biaya eksekusi program
·         Biaya translasi atau kompilasi program
·         Biaya penciptaan, testing dan penggunaan program
·         Biaya pemeliharaan program

II.                DATA
Data merupakan bahan mentah yang akan digunakan untuk diolah lagi menjadi sebuah informasi sehingga user atau pemakai dapan menggunakannya.
Tipe data merupakan bagian program yang paling penting karena tipe data mempengaruhi
setiap instruksi yang akan dilaksanakan oleh komputer. Dalam pembahasan ini tipe data dibagi menjadi 4, yaitu :
a.       Tipe data dasar
Tipe data dasar merupakan tipe data yang didefinisikan oleh bahasa pemrograman, tetapi sifatnya tidak terstruktur.
Tipe data dasar dibagi menjadi 5, yaitu :
A.      Tipe data numerik : menyimpan data berupa angka
·         Integer : type data angka-angka single tanpa koma. biasanya integer di gunakan ketika kita mendefinisikan nilai seperti waktu. Integer juga merupakan bilangan bulat positif dan negatif
·         Real : bilangan yang menggunakan nilai pecahan
·         Subrange : berupa range dari suatu kumpulan data yang mempunyai urutan
·         Fixed-point real : nomor representasi tipe data nyata untuk angka yang telah tetap dan jumlah digit diletakan setelah (dan kadang-kadang juga sebelumnya)

B.      Enumerasi : urutan list dari nilai yang berbeda
C.      Boolean : dipakai untuk menyatakan data logika, yaitu True (benar) dan False (salah)
D.      Character : digunakan untuk menyatakan karakter satu huruf
E.       String : dipakai untuk menyatakan sederetan karakter yang membentuk satu kesatuan atau kalimat. Tipe data string bisa juga diisi karakter kosong atau satu karakter

b.      Tipe data terstruktur
Tipe data terstruktur merupakan tipe campuran dari semua tipe data dasar
c.       Tipe data didefinisikan oleh pemakai
Maksudnya adalah tipe data subjangkauan (subrange) dan tipe data terenumerasi (enumerated)
d.      Tipe data penunjuk
Adalah pointer. Tipe ini merupakan tipe data untuk suatu variabel, dimana isi variabel ini berupa alamat variabel lain, dalam artian variabel pointer adalah variabel yang menunjuk nilai atau alamat variabel lainnya .

III.             MODEL KOMPUTASI
Ada tiga model dasar komputasional , yaitu fungsional, logika dan imperatif.
a.       Model Fungsional  : nilai-nilai, fungsi-fungsi dan operasi aplikasi fungsi dan komposisi fungsi terdiri dari satu set. Fungsi dapat mengambil fungsi lain sebagai argumentasi dan mengembalikan fungsi sebagai hasil (higher-order function).
b.      Model logika : terdiri dari satu set nilai-nilai, arti dari hubungan dan kesimpulan yang logis. Program terdiri dari hubungan dan suatu komputasi yang merupakan urutan dari kesimpulan.
c.       Model imperatif : terdiri dari satu set nilai-nilai. Semua sudah termasuk dari keadaan dan operasi tugas. Pernyataan adalah set pasangan nilai-nama dari konstanta dan variabel. Program terdiri dari urutan tugas dan komputasi yang terdiri dari urutan pernyataan.



IV.             Definisi Sintaks, Semantik dan Pragmatis
Sintaks : Sintaks sebuah bahasa berhubungan dengan struktur bahasa. Sintaks sering disebut juga komposisi untuk mengatur tata cara penulisan huruf, angka, dan karakter lainnya.
 Sebagai contoh, untuk membentuk sebuah kalimat yang valid dalam bahasa kita memakai struktur: [subyek] + [kata kerja] + [kata benda]. Dengan memakai struktur ini, kita bisa membentuk kalimat. Dalam hubungannya dengan bahasa pemrograman, kita musti memenuhi sintaks (baca: aturan struktur bahasa) agar program dapat berjalan. Sebagai contoh, dalam bahasa BASIC, untuk mengassign sebuah variabel dengan sebuah nilai, kita memakai operand ‘=’.
Semantik : Semantik sebuah bahasa menggambarkan hubungan antara sintaks dan model komputasi yang menjelaskan arti dari program.
Sebagai contoh, Apabila kita memakai sintaks [subyek] + [kata kerja] + [kata benda], kita bisa menghasilkan kalimat-kalimat.
Apabila kita mengasilkan kalimat Saya makan roti, maka kalimat ini memenuhi aturan sintaks. Tapi, apabila saya membuat kalimat Saya makan batu, secara sintaks kalimat ini sudah benar. Namun, secara semantik, kalimat ini tidak mengandung makna yang berarti.
Pragmatis :  untuk memudahkan dan memastikan efisiensi dalam melakukan peng-coding-an.

V.                PRINSIP-PRINSIP Desain BAHASA PEMROGRAMAN
Prinsip Kelengkapan Komputasional
Suatu bahasa pemrograman harus bersifat universal. 
 Prinsip Implementasi
harus bisa menghemat waktu dan ruangnya. program harus ditulis dalam bahasa yang mencerminkan daerah suatu masalahnya.

Tidak ada komentar:

Posting Komentar