Minggu, 13 November 2011

Data, Model Komputasi, Prinsip & Konsep Bahasa Pemrograman


Data

Data adalah sesuatu yang belum mempunyai arti bagi penerimanya dan masih memerlukan adanya suatu pengolahan. Data bias berwujud berupa keadaan, gambar, suara, huruf, angka, matematika, bahasa ataupun simbol-simbol lainnya yang bias kita gunakan sebagai bahan untuk melihat lingkungan, obyek, kejadian ataupun suatu konsep.
Ada beberapa tipe data yang harus kita ketahui antara lain :
1. Tipe data Char dan String
Ini merupakan tipe data dasar, tipe data ini didefinisikan pada deklarsi var dibagian algoritma/program.

Example :
  Var Nama : String
  Nilai : Char

Keterangan :
·         Nama merupakan sebuah variabel didefinisikan sebagai variabel bertipe string, maksudnya pada variabel tersebut digunakan untuk menerima masukan sebuah nama yang terdiri dari sekumpulan huruf, dapat berupa huruf besar, kecil, atau campuran kedua-duanya.
·         Nilai, didefinisikan sebagai variabel yang bertipe data char, maksudnya variabel tersebut hanya dapat digunakan untuk memasukkan sebuah huruf dari huruf besar, seperti A, B, C,.. atau huruf kecil, a, b, c, ….
2. Tipe data Boolean
Tipe data ini digunakan untuk pengambilan keputusan dalam operasi logika. Terdiri dari true disimbolkan ‘T’ dan False yang disimbolkan ‘F’. Ketika kita ingin mendapatklan hasil yang valid/pasti, kita menggunakan tipe data boolean untuk memperoleh keputusan dalam suatu penyelesaian yang pasti.


3. Tipe Data Integer
Merupakan tipe data bilangan bulat.
Tipe Data
Rentang nilai
Memori
Byte
0…255
1 byte
Word
0…65.555
1 byte
Integer
-32.768 s.d 32.767
2 byte
Long Integer
-2.147.483.648
4 byte
4. Tipe Data Real
Merupakan tipe data bilangan pecahan seperti real, single, double, comp, extend.

5. Tipe Data Subrange
Merupakan tipe data bilangan yang punya jangkauan nilai tertentu sesuai dengan definisi pada pemrogram.
Example:
Type Variabel=Nilai_awal…Nilai_akhir

6. Tipe Data Enumerasi
Merupakan tipe data yang memiliki elemen-elemen tertentu yang disebut satu/satu dari bernilai konstanta integer sesuai dengan urutannya. Pada tipe data ini elemen masukan diwakili oleh suatu nama variable yang ditlis di dalam kurung.
Example :
Indeks_Hari = (Nol, Minggu, Senin, Selasa, Rabu, Kamis, Jumat, Sabtu)

7. Tipe Data Array (Larik)
Tipe data ini sudah terstruktur dengan baik, walaupun masih sederhana. Tipe data ini menampung sejumlah data dengan tipe data sama (homogen) dalam sebuah variabel.


·         Cara mendefinisikan tipe data array
Berdimensi satu
Var
Nama_Variabel_Array[1...N]of tipe_data
1 Nomor Indeks
·         Berdimensi dua
Var
Nama_Variabel_Array=Array[1...N,1...M]of tipe_data
2 buah Nomor Indeks

8. Tipe Data Record
Tipe data komposit yang sudah terstruktur denagn baik. Tipe data ini digunakan untuk menampung data suatu obyek. Datanya berupa campuran dari tipe data seperti string, numerik, char, boolean, atau tipe data lainnya. Tipe data ini merupakan struktur dasar dari suatu sistem database.

9. Tipe Data Array Record
Tipe data array yang dibangun dari tipe data record.

10. Tipe Data Citra
Berisi grafik/gambar yang banyak digunakan pada aplikasi video.
Example :
Grafik perkembangan jumlah penduduk.

Sumber : http://flashnet.forumotion.com/t43-pengertian-data-dan-informasi
  http://www.nusinau.com/tipe-data/



Model Komputasi

Ada tiga model dasar komputasional-- fungsional, logika, dan imperatif. Sebagai tambahan terhadap satuan nilai-nilai dan operasi yang berhubungan, masing-masing model komputasional mempunyai satu set operasi yang digunakan untuk menggambarkan komputasi.
a. Model Fungsional : terdiri dari satu set nilai-nilai, fungsi-fungsi dan operasi aplikasi fungsi dan komposisi fungsi. Fungsi dapat mengambil fungsi lain sebagai argumentasi dan mengembalikan fungsi sebagai hasil (higher-order function). Suatu program adalah koleksi definisi fungsi-fungsi dan suatu komputasi adalah aplikasi fungsi.
b. Model Logika : terdiri dari satu set nilai-nilai, definisi hubungan dan kesimpulan logis. Program terdiri dari definisi hubungan dan suatu komputasi adalah suatu bukti(suatu urutan kesimpulan).
c. Model Imperatif : terdiri dari satu set nilai-nilai yang mencakup suatu keadaan dan operasi tugas untuk memodifikasi pernyataan. Pernyataan adalah set pasangan nilai-nama dari konstanta dan variabel. Program terdiri dari urutan tugas dan suatu komputasi terdiri dari urutan pernyataan.

Pembagian Model komputasi ada 3 yaitu :
1. Mesin Mealy
Dalam teori komputasi sebagai konsep dasar sebuah komputer, mesin Mealy adalah otomasi fasa berhingga (finite state automaton atau finite state tranducer) yang menghasilkan keluaran berdasarkan fasa saat itu dan bagian masukan/input. Dalam hal ini, diagram fasa (state diagram) dari mesin Mealy memiliki sinyal masukan dan sinyal keluaran untuk tiap transisi. Prinsip ini berbeda dengan mesin Moore yang hanya menghasilkan keluaran/output pada tiap fasa.
Nama Mealy diambil dari “G. H. Mealy” seorang perintis mesin-fasa (state-machine) yang menulis karangan “A Method for Synthesizing Sequential Circuits” pada tahun 1955.



2. Mesin Moore
Dalam teori komputasi sebagai prinsip dasar komputer, mesin Moore adalah otomasi fasa berhingga (finite state automaton) di mana keluarannya ditentukan hanya oleh fasa saat itu (dan tidak terpengaruh oleh bagian masukan/input). Diagram fasa (state diagram) dari mesin Moore memiliki sinyal keluaran untuk masing-masing fasa. Hal ini berbeda dengan mesin Mealy yang mempunyai keluaran untuk tiap transisi.
Nama Moore diambil dari “Edward F. Moore” seorang ilmuwan komputer dan perintis mesin-fasa (state-machine) yang menulis karangan “Gedanken-experiments on Sequential Machines”.


 

3. Petri Net
Petri net adalah salah satu model untuk merepresentasikan system terdistribusi diskret. Sebagai sebuah model, Petri net merupakan grafik 2 arah yang terdiri dari placetransition, dan tanda panah yang menghubungkan keduanya. Di samping itu, untuk merepresentasikan keadaan sistem, token diletakkan pada place tertentu.Ketika sebuah transition terpantik, token akan bertransisi sesuai tanda panah. Petri net pertama kali diajukkan oleh Carl Adam Petri pada tahun 1962.


 
Sumber : http://fadhlimencobabangkit.wordpress.com/2010/02/28/model-komputasi/
                http://riko_z.staff.gunadarma.ac.id/Downloads/files/15427/Bab




Prinsip-prinsip Desain Bahasa Pemrograman

a. Clarity, Simplicity dan Unity
Bahasa pemrograman harus dapat menolong programer untuk membuat suatu desain program jauh sebelum programmer melakukan coding. Kemudahan, kesederhanaan dan kesatuan merupakan suatu kombinasi yang membantu programmer mengembangkan suatu algoritma sehingga algoritma yang dihasilkan mempunyai kompleksitas yang rendah.
b. Orthogonality
Orthogonality menunjuk kepada suatu atribut yang dapat dikombinasikan dengan beragam fitur bahasa pemrograman sehingga setiap kombinasinya mempunyai arti dan dapat  digunakan.
c. Kewajaran untuk Aplikasi
Bahasa pemrograman membutuhkan syntax yang tepat/cocok yang digunakan pada struktur program untuk merefleksikan struktur logika yang melandasi suatu algoritma.
d. Mendukung Abstraksi
Abstraksi merupakan suatu hal yang substansial bagi programmer untuk membuat suatu solusi dari masalah yang dihadapi. Kemudian abstraksi tersebut dapat dengan mudah diimplementasikan menggunakan fitur-fitur yang ada dalam bahasa pemrograman.
e. Kemudahan untuk Verifikasi Program
Verifikasi program merupakan hal penting bagi sebuah program karena dengan verifikasi yang mudah maka suatu program akan dengan mudah dibangun dan dikembangkan.
f. Lingkungan Pemrograman
Bahasa pemrograman yang mempunyai lingkungan pemrograman yang baik dan lengkap akan memudahkan programmer  untuk mengimplementasikan abstraksi yang sudah disusunnya.

g. Portabilitas Program
Salah satu kriteria penting untuk proyek pemrograman adalah kemudahan program yang sudah jadi untuk dipindah-pindahkan dari komputer yang digunakan untuk membuat dan mengembangkan ke komputer lain yang akan menggunakannya.
h. Biaya Penggunaan
Biaya merupakan elemen penting dalam mengevaluasi suatu bahasa pemrograman.
Ada beberapa biaya yang dapat diukur yaitu :
1. Biaya Eksekusi Program
2. Biaya Translasi/kompilasi Program
3. Biaya Penciptaan, Testing dan Penggunaan Program
4. Biaya Pemeliharaan Program

Sumber: 
http://bercintasekuatenaga.wordpress.com/2011/03/14/bahasa-pemrograman/


Konsep Bahasa Pemrograman

Ada 3 hal yang berhubungan dengan konsep bahasa pemrogramanan: sintaks, semantiks dan pragmatis. Dalam mengajarkan 3 konsep ini saya menggunakan analogi bahasa yang biasa kita pakai sehari-hari.
Sintaks
Sintaks sebuah bahasa berhubungan dengan struktur bahasa. 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, sebagai contoh: Saya makan nasi.
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 ‘=’, tetapi kalau dalam Pascal, kita pakai ‘:=’. Contoh dalam BASIC: a=1, tapi dalam bahasa Pascal, a:=1.

Semantik
Semantik sebuah bahasa menggambarkan hubungan antara sintaks dan model komputasi. Sederhananya, semantik menjelaskan arti dari program.
Analoginya sebagai berikut. Apabila kita memakai sintaks [subyek] + [kata kerja] + [kata benda], kita bisa menghasilkan kalimat-kalimat.
Apabila kita mengasilkan kalimat Saya makan nasi, 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.
Dalam hubungannya dengan bahasa pemrograman, kadang ada kalanya seorang programmer tidak bisa mengaitkan sintaks dengan model komputasi. Kesalahan logika bisa dengan mudah terjadi.
Sebagi contoh ada bahasa pemrograman sebagai berikut:
if(a=5) {
echo ‘Nilai a=5′;
}
Apabila program ini dijalankan, apa yang terjadi? Bergantung bahasa apa yang digunakan. Apabila bahasa yang dipakai adalah bahasa C, maka output yang keluar selalu Nilai a=5, walaupun nilai variabel a sebelumnya selain 5. Kenapa itu bisa terjadi? Itu karena operator ‘=’ dalam bahasa C berarti mengassign sebuah variabel yang ada di sebelah kiri dengan nilai yang ada di sebelah kanan. Dalam bahasa C, secara sintaks operasi ini sudah benar.
Tapi, apabila yang dimaksud adalah programmer ingin mengevaluasi nilai variabel a, maka seharusnya memakai operator logika ‘==’. Jadi, program yang sebenarnya menjadi
if(a==5){
echo ‘Nilai a=5′;
}

Pragmatik
Pragmatik berhubungan dengan kemudahan implementasi dan efisiensi. Dalam analoginya dengan bahasa, kita bisa saja memberitahukan ke seseorang “Jangan merokok” apabila ada peraturan yang melarang seseorang merokok di dalam sebuah ruangan. Kalimat singkat seperti itu sebenarnya sudah cukup efisien. Tapi, dalam kesempatan lain kita bisa saja memakai kalimat “Mohon Anda jangan merokok di sini karena menurut peraturan pemerintah daerah nomor XXX tahun XXX dinyatakan bahwa merokok di tempat umum akan mengakibatkan pelanggaran peraturan, selain itu dari sisi kesehatan… blah blah blah”.
Dalam hubungannya dengan bahasa pemrograman, seorang programmer harus bisa memastikan efisiensi dalam melakukan peng-coding-an. Dalam bahasa C, programmer diberikan kekuasaan untuk mengalokasikan memori. Sebagai akibatnya, apabila programmer lalai dalam mengontorl variabel-variabel yang dihasilkan dari hasil assignment pointer, maka akan terjadi kebocoran memori. Ini diakibatkan apabila seorang programmer mengcreate sebuah variabel pointer, dan kemudian menghapusnya, informasi tersebut masih ada dalam memori, hanya saja sudah tidak bisa diakses lagi.

Sumber : 
http://wartawarga.gunadarma.ac.id/2009/10/konsep-bahasa-pemrograman-sintaks-semantik-dan-pragmatik/


1 komentar:

  1. kita juga punya nih jurnal mengenai komputasi, silahkan dikunjungi dan dibaca , berikut linknya
    http://repository.gunadarma.ac.id/bitstream/123456789/1277/1/50407705.pdf
    semoga bermanfaat yaa :)

    Balas

    BalasHapus