Senin, 01 Maret 2010

Deklarasi Array dalam Bahasa Pemrograman

Alokasi Memory Array

  • Array, seperti halnya variabel biasa ataupun fungsi harusi dideklarasikan terlebih dahulu.
  • Array dapat dideklarasikan secara global dengan mendeklarasikannya diluar fungsi main
  • Hati-hati jika anda mendeklarasikannya secara (didalam sebuah fungsi atau main), karena, variabel lokal akan dibentukan dalam stack ketikan fungsi tersebut dibentuk, dan akan dihapus ketika fungsi tersebut dihancurkan (ketika fungsi tersebut selesai dieksekusi).
  • Mungkin hal ini tidak bermasalah bagi variabel biasa, namun array umumnya akan menuntut jumlah memory yang sangat besar (array 'float mydata[5000]' akan membutuhkan memory sebesar 20000 bytes), sementara stack hanya memiliki kapasitas sekitar 2000 - 4000 bytes
  • Oleh karena itu untuk array yang besar harus dideklarasikan secara global, atau mempergunakan static statement (static float mydata[5000]; ) jika anda hendak mendeklarasikannya secara local.

sumber:
http://74.125.153.132/search?q=cache:H1ZYdFO-gYEJ:telecom.ee.itb.ac.id/~monang/if2031/Array_dalam_BahasaC_bahan4.ppt+deklarasi+array+pada+bahasa+pemrogaman&cd=1&hl=id&ct=clnk&gl=id

PEMETAAN KE STORAGE

PEMETAAN STORAGE

INTEGER
Bentuk mapping ke storage dari integer dapat dilakukan dengan beberapa cara, yaitu :
1. Skema Sign dan Magnitude
Cara ini merupakan bentuk konvensional yang digunakan manusia untuk menyatakan suatu bilangan dalam bentuk biner. Di sini representasi bilangan positif dan negatif hanya dibedakan dengan tanda saja. Biasanya tanda positif atau negatif ditunjukkan oleh digit terdepan dari bentuk binernya, untuk representasi dengan jumlah digit tertentu.
Contoh :
+ 7 à + 111 à representasi dengan 4 digit : 0111
- 7 à - 111 à representasi dengan 4 digit : 1111

Dengan cara ini kita akan mendapatkan kesulitan dalam menentukan tanda pada saat melakukan operasi terhadap dua bilangan yang berbeda tandanya.
2. Skema One's Complement
3. Skema Two's Complement
Kedua skema ini merupakan cara yang digunakan untuk mengatasi kesulitan yang telah disebutkan di atas. Diberikan bilangan integer non negatif X, X' dan R. Didefinisikan bahwa X' adalah komplemen dari X relatif terhadap R, jika X + X' = R. X disebut sebagai bentuk true, sedangkan X' = R - X disebut bentuk komplemen. Bentuk komplemen X' = R - X menyatakan bilangan integer negatif X. Sedangkan bentuk true X menyatakan integer positif X.

Skema Two's Complement menggunakan R = 2N.
Skema One's Complement menggunakan R = 2N - 1.
Contoh :
Misal diberikan integer = 7, akan dicari bentuk binernya dengan skema Two's Complement untuk representasi 4 digit.

X = 7 ; R = 24 ; à X + X' = R
X' = R - X
= 24 - 7
= 16 - 7
= 9 à dalam biner = 1001

KARAKTER
Saat ini banyak sekali skema yang digunakan untuk merepresentasikan karakter dalam storage. Pada umumnya skema yang paling banyak digunakan adalah :
1. Extended Binary Coded Decimal Interchange Code (EBCDIC)
2. American Standard Code for Information Interchange (ASCII)

Pada skema EBCDIC digunakan kode 8 bit untuk menyatakan sebuah karakter. Jika dihitung, kemungkinan kombinasi seluruhnya adalah : 28. Sedangkan skema ASCII menggunakan kode 7 bit untuk menyatakan suatu karakter. Skema ini mempunyai jumlah kemungkinan kombinasi yang lebih sedikit jika dibandingkan dengan skema EBCDIC. Selain dua skema tersebut di atas ada sebuah skema yang disebut dengan kode Huffman. Pada cara ini, jumlah bit yang digunakan tergantung dari frekuensi penggunaan suatu karakter.




STRING
Untuk mengetahui bentuk mapping pada storage dari suatu string, perlu diketahui beberapa hal yang menyangkut ruang untuk string yang bersangkutan, antara lain :
- letak posisi awal (start) dan posisi akhir (terminal)
- suatu pointer yang menunjukkan lokasi pada storage
Ada tiga cara yang umum digunakan untuk mapping suatu string ke dalam storage. Misal diberikan dua string, yaitu : S1 = 'ABCDEFG' dan S2 = 'BCD'

 CARA 1
Jika diberikan suatu informasi tentang :
- nama string
- starting address
- panjang string

Contoh :
Nama String Start Panjang
String1 Ptr1 7
String2 Ptr2 3

 CARA 2
Jika diberikan informasi sebagai berikut :
- nama string
- starting address
- terminal address





Misalnya diberikan tabel sbb :

Nama String Start Terminal
String1 Ptr1s Ptr1t
String2 Ptr2s Ptr2t

 CARA 3
Jika diberikan informasi :
- nama string
- starting address
- suatu tanda yang menunjukkan batas string

Misalnya :
Nama String Start
String1 Ptr1
String2 Ptr2

Jumat, 26 Februari 2010

PEMETAAN ARRAY DIMENSI SATU KE STORAGE

Seperti halnya struktur data yang lain, ada beberapa cara untuk menyajikan array di dalam memori. Skema penyajian dapat dievaluasi berdasarkan 4 karakteristik, yakni :
1. kesederhanaan dari akses elemen
2. mudah untuk ditelusuri
3. efisiensi dari utilitasi storage
4. mudah dikembangkan

Umumnya tidaklah mungkin untuk mengoptimalkan keempat faktor tersebut
sekaligus. Pandang array satu dimensi NOPEG dengan batas bawah subscript 1, dan batas
atas subscript = N. Salah satu cara untuk menyimpan array ini adalah sedemikian sehingga urutan fisik dari elemen sama dengan urutan logik dari elemen. Storage untuk elemen NOPEG(I+1) adalah berdampingan dengan storage untuk elemen NOPEG(I), untuk setiap I = 1, 2, 3,..., N-1. Untuk menghitung alamat (address) awal dari elemen NOPEG(I), diperlukan untuk mengetahui 2 hal yakni :
1. address awal dari ruang storage yang dialokasikan bagi array tersebut.
2. ukuran dari masing-masing elemen array.

Address awal dari array, kita nyatakan dengan B, disebut juga base-location. Misalkan
bahwa masing-masing elemen dari array menduduki S byte.

Maka, address awal dari elemen ke-I adalah :
B + (I-1) * S

Sekarang kita perluas persamaan di atas untuk mendapat address dari elemen ke-I dari
array yang mempunyai batas bawah subscript tidak sama dengan 1. Perhatikan array
Z(4:10), maka address awal dari Z(6) adalah :

B + (64) * S

Untuk array Z2 (-2:2) misalnya, address awal dari Z2(l) adalah :
B + (I -(-2)) * S

Maka secara umum, untuk array :
ARRAY(L:U),

elemen ARRAY(I) mempunyai address awal
B + (U-L) * S

Selasa, 23 Februari 2010

Struktur Data - TUMPUKAN (STACK)

Tumpukan (stack) adalah sekumpulan data yang organisasi atau strukturnya berupa tumpukan. Elemen-elemen baru atau biasa disebut simpul (node) dapat diletakkan maupun diambil dari sebuah tumpukan hanya dari bagian akhir (atas). Oleh sebab itu, maka tumpukan mengacu pada struktur LIFO (Last In First Out), yaitu elemen yang terakhir masuk adalah yang awal dapat dikeluarkan. Kadang juga disebut struktur FILO (First In Last Out).
Aaron M. Tenenbaum mendefinisikan stack sebagai berikut : (Tenenbaum, Aaron:1996)
“A stack is an ordered collection of items into which new items may be inserted and from which items may be deleted at one end, called the top of the stack”
Beberapa contoh ilustrasi yang dapat menggambarkan tumpukan dan cara beroperasinya adalah tumpukan sate, tumpukan Compact Disk (CD), dan lain-lain. Sate misalnya, si pembuat sate menusukan (memasukan) daging sate ke tusukan satu per satu dari ujung tusukan (ujung yang runcing) menuju/mendekati batas pangkal, jika telah dimasak, maka si pemakan sate akan mengeluarkan (memakan) sate satu persatu dari ujung (yang akhir-akhir dimasukan si pembuat, itulah yang awal-awal dimakan). Demikian juga dengan tumpukan CD, orang akan mengambil CD dari tumpukan teratas yang mana merupakan yang terakhir dimasukan di dalam tumpukan.
Struktur data tumpukan banyak digunakan di beberapa aplikasi komputer. Sebagai contoh adalah sebuah prosessor yang mengeksekusi sebuah program, ketika pemanggil fungsi (function call) tercipta, maka fungsi yang dipanggil tersebut harus mengetahui bagaimana untuk kembali ke program, oleh sebab itu alamat (address, di memori komputer) saat ini dari eksekusi program harus dimasukan (push) kedalam tumpukan. Suatu ketika fungsi tersebut selesai dilaksanakan, alamat yang disimpan/dimasukan kedalam tumpukan tadi dikeluarkan kembali dari tumpukan. Jika deretan pemanggil fungsi muncul, maka nilai pengembalian (return value) berturut-turut akan dimasukan kedalam tumpukan dengan mengikuti struktur LIFO, sehingga masing-masing fungsi dapat kembali bersesuaian fungsinya untuk memanggil program.
Tumpukan juga digunakan oleh compiler didalam memproses evaluasi ekspresi dan men-generate kode bahasa mesin. Tumpukan juga digunakan untuk mengelola/menyimpan alamat kembalian (return address) dalam sebuah rantai pemanggil method (method calls) selama eksekusi program.


sumber
http://imamshofi.wordpress.com/2009/03/11/struktur-data-tumpukan-stack/

Jumat, 19 Februari 2010

PEMETAAN KE STORAGE

MAPPING KE STORAGE

n INTEGER

Bentuk mapping ke storage dari integer dapat dilakukan dengan beberapa cara, yaitu : 1. Skema Sign dan Magnitude 2. Skema One's Complement 3. Skema Two's Complement
m SKEMA SIGN AND MAGNITUDE
Cara ini merupakan bentuk konvensional yang digunakan manusia untuk menyatakan suatu bilangan dalam bentuk biner. Di sini representasi bilangan positif dan negatif hanya dibedakan dengan tanda saja. Biasanya tanda positif atau negatif ditunjukkan oleh digit terdepan dari bentuk binernya, untuk representasi dengan jumlah digit tertentu.

SKEMA TWO'S COMPLEMENT DAN ONE'S COMPLEMENT
Kedua skema ini merupakan cara yang digunakan untuk mengatasi kesulitan yang telah disebutkan di atas. Diberikan bilangan integer non negatif X, X' dan R. Didefinisikan bahwa X' adalah komplemen dari X relatif terhadap R, jika
X + X' = R
. X disebut sebagai bentuk true, sedangkan
X' = R - X
disebut bentuk komplemen. Bentuk komplemen X' = R - X menyatakan bilangan integer negatif X. Sedangkan bentuk true X menyatakan integer positif X.

SUMBER:
http://www.docstoc.com/docs/20490332/catatan-struktur-data-1

Kamis, 18 Februari 2010

DEKLARASI DATA

Deklarasi

Dalam setiap penulisan bahasa pemograman deklarasi sangat digunakan apabila dalam penulisan program dibutuhkan indentifier atau tanda pengenal. Indentifier pada umumnya di buat oleh progremmmer yang digunakan untuk mewakili nilai dari suatu object.
Indentifier yang dikenal dalam Delphi adalah label, konstanta, tipe, fungsi, procedure maupun variabel.

1. Deklarasi Konstanta

Deklarasi konstanta adalah tanda pengenal dalam Delphi yang mempunyai nilai yang sudah tetap. Definisi konstanta diawali dengan kata baku Const diikuti dengan kumpulan indentifier yang diberi sebuah nilai.

2. Deklarasi Variabel

Deklarasi variabel adalah tanda pengenal dalam Delphi yang mempunyai nilai yang mana nilai tersebut akan terus berubah selama proses berjalan. Definisi variabel diawali dengan kata baku Var diikuti dengan kumpulan identifier yang diikuti dengan tipe data yang dibutuhkan.


SUMBER
http://elearning.upnjatim.ac.id/courses/FKK1002/work/48cd30982d343tipe_data_operator.htm

Rabu, 17 Februari 2010

Tipe Data

Tipe Data Sederhana:
Pascal sudah memiliki dan memnyediakan beberapa tipe data sederhana yang sudah siap kita pakai. Tipe-tipe data yang sudah disediakan Pascal adalah:
* Integer
* Boolean
* Real
* Karakter
* String

1. Integer adalah tipe data nilainya merupakan bilangan bulat dan teerbagi atas beberapa macam.



2. Boolean digunakan untuk merepresentasikan logika. Bolean hanya dapat bernilai True(1) dan False(0). Di bawah ini adalah beberapa tipe data Boolean:
Type Range Ukuran
Boolean

3. Real biasanya digunakan untuk merepresentasikan nilai pecahan.

4. Karakter
Tipe data karakter hanya dapat menampung satu karakter saja dan mengalokasikan satu byte memori. Bentuk umum dari tipe data karakter adalah:

Var
: char;

Berikut ini contoh dari penggunaan tipe data karakter:

Var
Kalimat : string;
Nama : string(20);
String : string(30);


String
String adalah tipe data gabungan(array) dari karakter sebanyal 256 karakter. Bentuk umum dari string adalah:

Var: string;

Berikut ini adalah contohnya:

Var
Nama : string(20);
Alamat : string(30);


Itulah beberapa tipe data sederhana yang sudah disediakan oleh Pascal dalam bahasa pemrograman Pascal. Namun ada juga tipe data lain yang elemennya kita sebutkan satu persatu. Tipe data ini adalah tipe data Enumerasi. Bentuk umum dari tipe data enumerasi adalah:

type : (elemen1, elemen2, elemen3….elemenN);

contohnya:

type
binatang = (anjing, kucing, ayam, babai);



sumber :

http://www.nusinau.com/dasar-dasar-mempelajari-struktur-data/