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.
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 :
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.
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.
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.
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
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)
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.
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.
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.
Tipe data array yang dibangun dari tipe data record.
10. Tipe Data Citra
Berisi grafik/gambar yang banyak digunakan pada aplikasi video.
Berisi grafik/gambar yang banyak digunakan pada aplikasi video.
Example :
Grafik perkembangan jumlah penduduk.
Grafik perkembangan jumlah penduduk.
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.
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.
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.
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”.
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
sistem terdistribusi diskret. Sebagai sebuah model, Petri net
merupakan grafik 2 arah yang terdiri dari place, transition,
dan tanda panah yang menghubungkan keduanya. D
i samping itu, untuk merepresentasikan keadaan
sistem, tokendiletakkan pada place tertentu. Ketika
sebuah transition terpantik, token akan bertransisi sesuai
tanda panah.
sistem terdistribusi diskret. Sebagai sebuah model, Petri net
merupakan grafik 2 arah yang terdiri dari place, transition,
dan tanda panah yang menghubungkan keduanya. D
i samping itu, untuk merepresentasikan keadaan
sistem, tokendiletakkan 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.
tahun 1962.

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.
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.
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.
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.
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.
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.
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.
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.
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
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.
SintaksSintaks 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.
SemantikSemantik 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.
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′;
}
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
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′;
}
echo ‘Nilai a=5′;
}
PragmatikPragmatik 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.
Jangan lupa berkunjung ke website saya http://donloadmp3.com
BalasHapus