Senin, 28 Februari 2011

STACK


Dalam ilmu komputer, stack atau tumpukan merupakan sebuah koleksi objek yang menggunakan prinsip LIFO (Last In First Out), yaitu data yang terakhr kali dimasukkan akan pertama kali keluar dari stack tersebut. Stack dapat diimplementasikan sebagai representasi berkait atau kontigu (dengan tabel fix). Ciri Stack :
  • Elemen TOP (puncak) diketahui
  • penisipan dan penghapusan elemen selalu dilakukan di TOP
  • LIFO
Top “ merupakan pintu untuk keluar masuknya elemen – elemen stack. A, B, dan C merupakan suatu koleksi. Dari ilustrasi dapat digambarkan bahwa C merupakan elemen yang terakhir memasuki stack namun pertama keluar dari stack. Begitu sebaliknya dengan A. A merupakan elemen pertama yang memasuki tumpukan namun terakhir saat keluar dari tumpukan.

LIFO (Last In First Out) Elemen yang masuk pertama akan keluar erakhir dan sebaliknya.

Pemanfaatan Stack :
  • Perhitungan ekspresi aritmatika (posfix)
  • algoritma backtraking (runut balik)
  • algoritma rekursif
Operasi Stack yang biasanya :
  1. Push (input E : typeelmt, input/output data : stack): menambahkan sebuah elemen ke stack
  2. Pop (input/output data : stack, output E : typeelmt ) : menghapus sebuah elemen stack
  3. IsEmpty ()
  4. IsFull ()
  5. dan beberapas selektor yang lain

Di dalam pengembangannya, stack dapat dikelompokkan menjadi dua bagian. Dua bagian tersebut yaitu Single Stack dan Double Stack.

Single Stack
Single Stack atau Stack Tunggal adalah stack yang hanya terdiri dari satu koleksi. Bila stack ini direpresentasikan dengan array, maka pengisian dan penghapusan harus dilakukan bertahap dari indeks TOP-nya.

Di dalam proses single stack terdapat tiga macam proses utama, yaitu :
-          Inisialisasi
-          PUSH (Insert, Masuk, Simpan, Tulis)
-          POP (Delete, Keluar, Ambil, Baca, Hapus)


INISIALISASI
Proses inisialisasi merupakan proses awal yang dilakukan untuk menyimpan indeks penunjuk stack.


PUSH
Proses push adalah proses memasukkan data baru ke stack indeks selanjutnya.


POP
Proses pop adalah proses mengeluarkan  / mengambil data dari stack dengan indeks yang disimpan pada variable top.

Double Stack
Double Stack atau Stack Ganda adalah stack yang hanya terdiri dari dua single stack. Bila stack ini direpresentasikan dengan array, maka pengisian dan penghapusan harus melalui salah satu arah.

Di dalam proses double stack terdapat lima macam proses utama, yaitu :
-          Inisialisasi
-          PUSH1 (Proses Push untuk Single Stack pertama)
-          POP1 (Proses Pop untuk Single Stack pertama)
-          PUSH2 (Proses Push untuk Single Stack kedua)
-          POP2 (Proses Pop untuk Single Stack kedua)

Rabu, 23 Februari 2011

Pengertian Array dan Record

ARRAY


Array, susunan, senarai. Pada umumnya kata ini digunakan untuk bahasa Pemrograman yang menampung data-data dalam variabel yang tersusun dengan nama yang sama. Two array dimensions = susunan dua dimensi.
Array ini identik dengan susunan suatu rak yang diberi nama dan nomor. misalnya rak tersebut diberi nama Pegawai lalu data dari masing-masing pegawai tersebut ditempatkan berdasarkan nomornya. Atau array juga bisa di sebut sebuah struktur data yang terdiri atas banyak variabel dengan tipe data sama, dimana masing-masing elemen variabel mempunyai nilai indeks. Setiap elemen array mampu untuk menyimpan satu jenis data (yaitu variabel)

 ·        Array satu dimensi

Merupakan sebuah variabel yang menyimpan sekumpulan data yang memiliki tipe sama dan elemen yang akan diakses hanya melalui 1 indeks atau subskrip.

Bentuk umum pendeklarasian:

nama_array[jumlah_eleman];

* Array dua dimensi

Merupakan sebuah variabel yang menyimpan sekumpulan data yang memiliki tipe sama dan elemen yang akan diakses melalui 2 indeks atau subskrip yaitu indeks baris dan indeks kolom.

Bentuk umum pendeklarasian:

nama_array[jumlah_elemen_baris][jumah_elemen_kolom];

* Array multidimensi

Merupakan sebuah variabel yang menyimpan sekumpulan data yang memiliki tipe sama dan elemen yang akan diakses melalui banyak indeks atau subskrip. Array seperti ini biasa digunakan untuk matik, array 2 dimensi juga termasuk kedalam array multidimensi.



RECORD

 Adalah kumpulan elemen-elemen data yang digabungkan menjadi satu kesatuan, masing-nasing elemen data tersebut dikenal dengan sebutan field. Field data tersebut dapat memiliki tipe data yang sama ataupun berbeda, walaupun field-field tersebut berada dalam satu kesatuan namun masing-masing field dapat diakses secara individual.
Contoh : nama, alamat, NPM, tanggal lahir, kota, dll.

 Record memiliki beberapa karakteristik
  • Record memiliki ukuran maksimum yang didefinisikan, walaupun begitu tidak semua data harus terisi.
  • Record memiliki format tertentu, dan format tersebut harus sama untuk file yang sama. Jika semua record mempunyai ukuran yang sama maka di sebut fixed-length record, namun jika ukuran record bisa berubah disebut variable-length record.
Files merupakan kumpulan dari record yang saling berhubungan. Jika dianalogikan seperti file cabinet, jika seseorang ingin menyimpan data kedalam cabinet secara terorganisir sehingga ketika ia membutuhkan informasi, dapat didapatkan atau  diperbaruhi secara mudah.

Ada beberapa karakteristik file yang penting untuk mengerti , yaitu
  • File dapat diciptakan atau dihapus oleh user.
  • File mempunyai nama file yang unik.
Pathname = device + user + directory + filename
  • Performa akses data tergantung algoritma pengaksesan file serta posisi datanya


Sumber :
 [1] aldhilacihuys.blogspot.com
 [2] Groshram, Daniel. (1985). “File System, design dan implemetation”.
 [3] indrakharisma.blog.unair.ac.id

Rabu, 16 Februari 2011

Tipe Data dan Struktur Tipe Data


TIPE DATA

Tipe data adalah jenis data yang mampu ditangani oleh suatu bahasa pemrograman pada komputer.

Tiap-tiap bahasa pemrograman memiliki tipe data yang memungkinkan:
* Deklarasi terhadap variabel tipe data tersebut
* Menyediakan kumpulan operasi yang mungkin terhadap variabel bertipe data tersebut
* Jenis obyek data yang mungkin
* Contoh tipe data di C? Java? Pascal? .NET?



STRUKTUR DATA

Struktur data adalah suatu koleksi atau kelompok data yang dapat dikarakterisasikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pengertian struktur data adalah elemen data (mulai dari byte) yang ditentukan tipe datanya, diorganisasi (dibentuk, disusun, atau dikelompokkan) dan akan diproses sesuai dengan tipe datanya. Pada definisinya, data dapat dikategorikan menjadi :

Tipe data sederhana atau data sederhana, yang terdiri dari :
- Data sederhana tunggal, misalnya integer, real, Boolean, serta character.
- Data sederhana majemuk, misalnya string.
 Tipe data ini dapat diorganisasikan menjadi berbagai struktur data dengan berbagai cara   tertentu.

Struktur data, meliputi :
- Struktur data sederhana, misalnya array dan record.
- Struktur data majemuk, terdiri atas :
- Linear, misalnya stack, queue, dan linear linked list.
- Nonlinear, misalnya pohon binary (binary tree), pohon cari biner (binary search tree), pohon cari m-way (m-way search tree), general tree, serta graph.


Kedua kategori diatas terutama diperuntukkan untuk data pada storage utama. Data yang diperuntukan untuk storage tambahan, memiliki struktur data yang dikenal dengan organisasi file. Tipe organisasi file diantaranya adalah sebagai berikut :

Sequential
- Record disimpan dalam file secara beruntun berdasarkan waktu tiba dari pekerjaan yang diwakilinya, sehingga membentuk first-in-first-out (FIFO), struktur data seperti ini disebut antrean atau queue.
-Record yang masuk pertama akan memiliki indeks atau alamat yang lebih kecil daripada record yang masuk kemudian.

Indexed Sequential
- Record disimpan secara berurutan.
- Record yang masuk terlebih dahulu disimpan pada tempat yang lebih kecil.
- Untuk melakukan pencarian pada organisasi ini perlu menggunakan pencarian terlebih dahulu.
- Dengan organisasi file ini lebih fleksibel karena ukuran file disesuaikan dengan banyaknya data yang ada pada setiap file.


Dua buah struktur data sederhana adalah array atau larik dan record. Array merupakan struktur data yang terurut dan homogen, terdiri dari data item yang membentuk satu kesatuan yang tipe datanya sama. Sedangkan record merupakan struktur data yang terdiri atas serangkaian data item dengan tipe data yang berbeda.

Pemakaian struktur data yang tepat di dalam proses pemrograman, akan mengasilkan algoritma yang lebih jelas dan tepat, sehingga menjadikan program secara keseluruhan lebih sederhana.

Suatu struktur data dicirikan dengan :

1.Jenis atau satuan data pembentuknya

2.Hubungan antara satuan tersebut.

Strukutur data terdiri dari satuan data sederhana yang cocok untuk program yang dipakainya. Hubungan antara satuan data tersebut membentuk salah satu ciri dari struktur yang bersangkutan. Jika sebuah struktur data sudah tersedia maka struktur data itu langsung dapat digunakan. Jika satuan data sederhana dapat membentuk sebuah struktur yang lebih efisien dalam penggunaan memori, maka struktur data tersebut dapat disatukan. Struktur tersebut tidak dapat langsung ditujukan kepada sebuah address, maka dari itu harus melalui proses pemrograman. Jika menggunakan penyajian secara sequential, maka komponen struktur data ditempatkan ke dalam relokasi memori secara berurutan.

Di dalam struktur data kita berhubungan dengan 2 aktivitas:

* Mendeskripsikan kumpulan obyek data yang sah sesuai dengan tipe data yang ada.
* Menunjukkan mekanisme kerja operasi-operasinya.
 Contoh: integer (-32768 s/d 32767) dan jenis operasi yang diperbolehkan adalah +,     --, *, /, mod, ceil, floor, <, >, != dsb.
* Struktur data = obyek data  + [operasi manipulasi data]