Minggu, 28 Februari 2010

Pelayanan Internet Lounge E

nternet Lounge ada di kampus E dan kampus D. pelayanan di kampus D sangat disiplin dan nyaman. tetapi pelayanan IL di kmpus E sangat mengecewakan.Jam buka Internet Lounge pada siang hari pukul 13.00WIB. tetapi ini buka pukul 13.30 WIB. Saya dan teman teman telah menunggu Internet Lounge buka sejak pukul 13.00 WIB. sebagai mahasiswa gunadarma tentukan kami berhak menggunakan IL tesebut. ketika kami menanyakan ke pada petugas IL kami mendapat jawaban yang tidak memuaskan. jika tentang masalh jaringan internet yang rusak kami bisa memaklumi. tapi petugas menjawab "CAPE".
semoga ini sebagai saran dan masukan agar IL lebih disiplin dan mementingkan kebutuhan mahasiswa. bukan malah mementingkan kebutuhan pribadi.
kami mohon maaf bila ada yang tdk berkenan. tapi saya hanya mennyampaikan kenyataan.

Sabtu, 27 Februari 2010

OPERASI DASAR STACK

OPERASI PADA STACK

1. CREATE (STACK)
2. ISEMPTY (STACK)
3. PUSH (ELEMEN, STACK)
4. POP (STACK)

CREATE(S)
Operator ini berfungsi untuk membuat sebuah stack kosong (menjadi hampa) dan didefinisikan bahwa
NOEL (CREATE (S)) = 0 dan
TOP (CREATE(S)) = null / tidak terdefinisi




 ISEMPTY(S)
Operator ini berfungsi untuk menentukan apakah suatu stack adalah stack kosong (hampa) atau tidak . Operasinya akan bernilai boolean dengan definisi sebagai berikut :
ISEMPTY(S) = true, jika S adalah stack kosong atau NOEL(S) = 0
False, jika S bukan stack kosong atau NOEL(S)  0
Catatan : ISEMPTY(CREATE(S)) = true

 PUSH(E,S)
• Operator ini berfungsi untuk menambahkan satu elemen ke dalam stack . Notasi yang digunakan adalah PUSH(E,S)
Artinya : menambahkan elemen E ke dalam stack S
• Elemen yang baru masuk ini akan menempati posisi TOP jadi TOP(PUSH(E,S)) = E
• Akibat dari operasi ini jumlah elemen dalam stack akan bertambah, artinya NOEL (S) menjadi lebih besar atau stack menjadi tidak kosong (ISEMPTY(PUSH(E,S)) = false )

 POP(S)
• Operator ini berfungsi untuk mengeluarkan satu elemen dari dalam stack, notasinya POP(S)
• Elemen yang keluar dari dalam stack adalah elemen yang berada pada posisi TOP.
• Akibat dari operasi ini jumlah elemen stack akan berkurang atau NOEL(S) berkurang 1 dan elemen pada posisi TOP akan berubah.
• Operator ini tidak dapat digunakan pada stack kosong, artinya POP(CREATE(S)) = error condition dan
POP(PUSH(E,S)) = S

Catatan : TOP(PUSH(E,S)) = E

Queue
Adalah suatu bentuk khusus dari linear list dengan operasi penyisipan (insertion) hanya pada salah satu sisi ( Rear/ belakang) dan operasi penghapusan (deletion) hanya diperbolehkan pada sisi lainnya (Front/ depan) dari list.

Antrean Q = [ Q1, Q2, Q3,……….., QT]
Front(Q) = bagian depan dari antrean Q
Rear(Q) = bagian belakang dari antrean Q
Noel(Q) = Jumlah elemen di dalam antrean ( berharga integer)
Jadi : Front(Q) = QT
Rear(Q) = Q1
Noel(Q) = T

Antrean beroperasi secara FIFO ( First In First Out) yang pertama masuk, yang pertama keluar.

 Operasi dasar pada Antrean :
1. CREATE(Q)
Operator untuk membentuk suatu antrean hampa
Q = [,…….,]
NOEL(CREATE(Q)) = 0
FRONT(CREATE(Q)) = tidak didefinisikan
REAR(CREATE(Q)) = tidak didefinisikan

2. ISEMPTY(Q)
Operator yang menentukan apakah antrean Q hampa atau tidak.
Operand dari operator ISEMPTY adalah antrean.
Hasilnya bertipe data Boolean
ISEMPTY(Q) =TRUE jika Q adalah antrean hampa (NOEL(Q) = 0)
FALSE jika Q bukan antrean kosong (NOEL(Q)  0)

3. INSERT(E,Q)
Operator yang menyisipkan elemen E ke dalam antrean Q
Catt : Elemen Q ditempatkan pada bagian belakang antrean dan antrean menjadi lebih panjang
Q = [ A, B, C, D]
REAR(INSERT(E,Q)) = E
FRONT(Q) = A
NOEL(Q) = 5
ISEMPTY(INSERT(E,Q)) = FALSE

4. REMOVE(Q)
Operator yang menghapus elemen bagian depan dari antrean Q dan antrean menjadi lebih pendek
Jika NOEL(Q) = 0 maka
REMOVE(Q) = ERROR ( UNDERFLOW)

 Penyajian dari antrean :
1. One way list
2. Array
 Menunjukkan bagaimana suatu antrean dalam array Queue dengan N elemen
1. Antrean mula-mula terdiri dari elemen AAA, BBB, CCC, DDD


1 2 3 4 5 6 7 8 9
FRONT(Q) = AAA : 1
REAR(Q) = DDD : 4


2. REMOVE(Q)


1 2 3 4 5 6 7 8 9

FRONT(Q) = BBB : 2
REAR(Q) = DDD : 4

3. INSERT(EEE,Q)
1 2 3 4 5 6 7 8 9
FRONT(Q) = BBB : 2
REAR(Q) = EEE : 5
KESIMPULAN :
Untuk setiap kali penghapusan nilai FRONT bertambah
Untuk setiap kali penambahan nilai REAR akan bertambah

 Antrean yang disimpan dalam array dengan 5 lokasi memori sebagai array Sirkular.

1. Pada Awal Hampa
FRONT = 0 REAR = 0 1 2 3 4 5

2. A dan B dimasukkan
FRONT : 1
REAR : 2 1 2 3 4 5


3. C, D , dan E dimasukkan
FRONT :1
REAR : 5
1 2 3 4 5
4. A, B, dan C dihapus
FRONT : 4
REAR :5
1 2 3 4 5
5. F dimasukkan
FRONT : 4
REAR : 1

1 2 3 4 5
6. D dihapus
FRONT : 5
REAR :1
1 2 3 4 5
7. G dan H dimasukkan
FRONT : 5
REAR : 3
1 2 3 4 5

8. E dihapus
FRONT :1
REAR : 3
1 2 3 4 5
 ALGORITMA QINSERT
QINSERT(QUEUE, N, FRONT, DATA)
1. {Apakah antrean penuh}
Jika FRONT = 1 dan REAR = N atau Jika FRONT = REAR+1, maka Write : OVERFLOW, return.
2. Jika FRONT = NULL maka FRONT := 1, REAR := 1
Dalam hal ini
Jika FRONT = N maka REAR := 1
Dalam hal lain
REAR := REAR + 1
3. QUEUE(REAR) := DATA ( masukkan elemen baru)
4. Return

 ALGORITMA QDELETE
QDELETE(QUEUE, N, FRONT, REAR, DATA)
1. {Apakah antrean kosong}
Jika FRONT = NULL, maka Write : UNDERFLOW, return.
2. DATA := QUEUE(FRONT)
3. (FRONT mendapat nilai baru)
Jika FRONT =REAR maka FRONT := NULL
REAR := NULL
Dalam hal ini
Jika FRONT := N maka FRONT := 1
Dalam hal lain
FRONT := FRONT + 1
4. Return



LINK LIST

PENDAHULUAN
 Dalam suatu linier list kita dapat melakukan operasi penyisipan atau penghapusan atas elemen-elemennya pada sembarang posisi.
 Misalkan ada 1500 item yang merupakan elemen dari suatu linier list. Jika elemen ke-56 akan kita keluarkan, maka elemen ke-1 s/d elemen ke-55 tidak akan berubah posisinya pada linier list tersebut. Tetapi elemen ke–57akan menjadi elemen ke-56, elemen ke-58 akan menjadi elemen ke-57 dst. Selanjutnya, jika kita sisipkan satu elemen pada posisi setelah elemen ke-41, maka elemen ke-42 s/d elemen ke-1500 akan berubah posisinya.

 Untuk menyatakan keadaan diatas diperlukan suatu konsep yang berbeda dengan konsep sekuensial sebelumnya.
Linked list merupakan suatu cara non-sekuensial yang digunakan untuk merepresentasikan suatu data.

DEFINISI

 Linked list (one way list) adalah suatu kumpulan elemen data (yang disebut sebagai node) dimana urutannya ditentukan oleh suatu pointer.
 Setiap elemen (node) dari suatu linked list terdiri atas dua bagian, yaitu:
 INFO berisi informasi tentang elemne data yang bersangkutan.
 NEXT (link field/next pointer field), berisi alamat dari elemen (node) selanjutnya yang dituju.

Berikut ini sebuah contoh linked list yang terdiri atas 4 node:



Info next info next info next info next
Node ke-1 node ke-2 node ke-3 node ke-4
Pada node ke-4 field NEXT–nya berisi NULL , artinya node ke-4 tsb adalah node terakhir.

 Node-node dalam linked list tidak harus selalu digambarkan paralel seperti pada gambar diatas. Linked list pada contoh diatas dapat pula digambarkan seperti berikut ini:
Info next
Info next

Info next

Info next


CATATAN :
 Ada dua hal yang menjadi kerugian dengan representasi suatu data dengan linked list ini,
yaitu:
1. Diperlukan ruang tambahan untuk menyatakan/tempat field pointer.
2. Diperlukan waktu yang lebih banyak untuk mencari suatu node dalam linked list.
 Sedangkan keuntungannya adalah :
1. Jenis data yang berbeda dapat di-link
2. Operasi REMOVE atau INSERT hanya dilakukan dengan mengubah

stack

STACK

LINEAR LIST
• Linear list adalah suatu struktur data yang merupakan himpunan terurut dari satuan data atau dari record.
• Elemen yang terdapat dalam daftar disebut simpul/node.
• Daftar disebut Linear karena elemen nampak seperti baris, bahwa setiap simpul (kecuali simpul pertama dan terakhir) selalu memiliki elemen penerus langsung (suksesor) dan elemen pendahulu langsung (predesor).
• Misalnya didefinisikan suatu linear list A yang terdiri atas T buah elemen sebagai berikut :
A=[ a1,a2,……………, aT ]

Jika T = 0 , maka A dikatakan sebagai “Null List” (list hampa).
• Suatu elemen dapat dihapus (delete) dari sembarang posisi pada linear list .
• Suatu elemen baru dapat dimasukkan (insertion) kedalam list dan dapat menempati sembarang posisi pada list tersebut.
• Jadi suatu linear list dapat berkurang atau bertambah setiap saat
Contoh : file merupakan linier list yang elemen-elemennya berupa record.

DEFINISI STACK

STACK adalah suatu bentuk khusus dari linear list di mana operasi penyisipan dan penghapusan atas elemen-elemennya hanya dapat dilakukan pada satu sisi saja yaitu posisi akhir dari list. Posisi ini disebut puncak atau disebut sebagai “TOP(S)”.
• Prinsip Stack adalah LIFO ( Last In First Out ) atau Terakhir masuk pertama keluar.
Setiap elemen tidak dapat dikeluarkan (POP keluar) sebelum semua elemen diatasnya dikeluarkan.

• Elemen teratas (puncak) dari stack dinotasikan sebagai TOP(S)
Misal diberikan stack S sebagai berikut :
S= [ S2,S2,………, ST ]  maka TOP(S) = ST
• Untuk menunjukkan jumlah elemen suatu stack digunakan notasi NOEL(S).
Dari stack diatas maka NOEL(S) = T.
NOEL(S) menghasilkan nilai integer.

Array segitiga (tringular Arra)

ARRAY SEGITIGA (TRINGULAR ARRAY)

Ada 2 macam
1. Upper Tringular
Elemen dibawah diagonal utama adalah 0
2. Lower Tringular
Elemen diatas diagonal utama adalah 0

 Suatu array dimana elemen diagonalnya juga nol disebut Strictly (upper/lower) Tringular.
 Pada array Lower Tringular dengan N baris, jumlah maksimum elemen <> 0 pada baris ke-I adalah I
N
 Total elemen <> 0 adalah  I = ( N * ( N+1)) /2
K=1
 Untuk N kecil : tidak ada masalah
 Untuk N besar :
1. Elemen yang sama dengan nol tidak usah disimpan dalam memori
2. Pendekatan terhadap masalah ini adalah dengan pelinieran array dan hanya menyimpan array yang tidak nol.

1. Misal
A array segitiga atas berorder N x N
B array bersegitiga bawah dengan order ( N-1) x ( N-1)
A dan B dapat disimpan sebagai array C berorder N x N
C (I,J) = A(I,J) untuk I <= J
C(I+1,J) = B(I,J) untuk I >= J
2. Misal
A array segitiga atas berorder N x N
B array bersegitiga bawah dengan order N x N
A dan B dapat disimpan sebagai array C berorder N x ( N + 1 )
C (I,J+1) = A(I,J) untuk I <= J
C(I,J) = B(I,J) untuk I >= J

3. Misal
A dan B keduanya merupakan array segitiga atas
Maka untuk menyimpannya secara bersama-sama dengan melakukan transpose terhadap salah satu array tersebut.
Array C berorder N x (N+1)
C (I,J+1) = A(I,J) untuk I <= J
C(J,i) = B(I,J) untuk I >= J

SPARSE ARRAY

Suatu type khusus yang lain dari array

Dikatakan Sparse atau jarang karena elemen-elemen yang tidak nolnya relatif lebih sedikit jumlahnya

Setiap elemen bukan nol pada sparse array dua dimensi dapat direpresentasikan dalam format (Row-Subscript, Column-subscript, value).

Triple ini dapat diurut berdasarkan Row-Subscript Major dan Colum-Subscript Minor dan disimpan dalam bentuk vektor.

Penyajian lain dari Sparse Array adalah dengan menggunakan daftar berkait/ Linked List.

Array Multidimensi

Array Multidimensi
• Dalam array multidimensi terdiri atas baris
(row) dan kolom (column). Index pertama
adalah baris dan yang kedua adalah
kolom
5
Syntax
• Type nama_array =ARRAY[bawah..atas,
bawah..atas] of tipe_data;
var variabel_array : nama_array; atau
• SYNTAX var variabel_array :
ARRAY[bawah..atas, bawah..atas] of tipe_data;
• Pernyataan berikut membentuk suatu array
integer dengan nama bilangan , 10 x 10 elemen
(100).
type matriks = ARRAY [1..10, 1..10] of integer;
var AKU: matriks;
Array[1..5,1..5]
A[5,1] A[5,5]
A[4,4]
A[3,3]
A[2,1] A[2,2]
A[1,1] A[2,1] A[5,1]
6
Contoh Program
Procedure ISI_MATRIK(AKU:matriks;
m,n:integer);
var
i,j: integer; {faktor pengulang}
begin
for i:=1 to m do
begin
for j:=1 to n do
begin
gotoxy(x+2i.y+2y);
read(A[i,j]);
end;
readln ;{ini memungkinkan kita menulis tiap
baris elemen}
end;
Record
• Sebuah record rekaman disusun oleh
beberapa field. Tiap field berisi data dari
tipe dasar / bentukan tertentu. Record
mempunyai kelebihan untuk menyimpan
suatu sekumpulan elemen data yang
berbeda-beda tipenya (di banding array).
Contoh , sebuah record dengan empat
buah field
7
Cara Pendefinisian
• Cara pendeklarasian dari record adalah sbb:
• Mendefinisikan tipe dari record (jumlah field, jenis
tipe data yang dipakai),
• Mendefinisikan variabel untuk dilakukan operasi.
field1 field2 field3 field4
Sintax
type
nama_record = record
identifier_1 : tipe_data_1;
:
:
identifier_n : tipe_data_n;
end;
var variabel : nama_record;
8
Contoh
type
Data_mahasiswa = record
Nama : string;
Usia : integer;
Kota : String;
Kodepos : integer;
end;
Var
x: Data_mahasiswa;
Pengaksesan Elemen Record
x.Nama
x.Usia
x.Kota
x.Kodepos
9
Contoh Program
program RECORD_INTRO;
type tanggal = record
bulan, hari, tahun : integer;
end;
var waktu : tanggal;
begin
waktu.hari :=25;
waktu.bulan:=09;
waktu.tahun:= 1983;
writeln('hari ini adalah
',waktu.hari,':',waktu.bulan,':', waktu.tahun)
end.
Pengunaan With … do
Pernyataan with untuk lebih
menyederhanakan pengaksesan field-field
pada record. Pemrograman dapat
mengakses field cukup dengan
menyebutkan nama field-nya saja.
10
• x.Nama
x.Usia
x.Kota
x.Kodepos diganti
• with x do
Begin
Nama
Usia
Kota
Kodepos
end
Contoh
program RECORD_INTRO;
type tanggal = record
bulan, hari, tahun : integer;
end;
var waktu : tanggal;
begin {program utama}
with waktu do {mulai with}
begin
hari :=25;
bulan:=09;
tahun:=1983;
writeln('hari ini adalah ',hari,':',bulan,':', tahun)
end {akhir with}
end.
11
Array dari Record
type tanggal = record
bulan, hari, tahun : integer;
end;
var birthdays : array[1..10] of tanggal;
Visulaisasi Array dari Record
12
Pemberian nilai elemen birthday
Birthdays[1].hari :=25;
Birthdays[1].bulan:=09;
Birthdays[1].tahun:=1983;
With do…
For i:=1 to x do
Begin
With birthday[i] do
Begin
Hari:=25;bulan:=09;tahun:=1983;
End;
End;
13
Record di dalam Record
type tanggal = record
bulan, hari, tahun : integer;
end;
type waktu =record
jam, menit, detik : integer;
end;
type waktu_ini =record
tanggal_ini : tanggal;
waktu_ini : waktu
end;
var saat_ini : waktu_ini;
Pemberian Nilai
saat_ini.tanggal.bulan:= 11;
saat_ini.tanggal.hari:= 2;
saat_ini.tanggal.tahun:= 1985;
saat_ini.waktu.jam:= 3;
saat_ini.waktu.menit:= 3;
saat_ini.waktu.detik:= 33;

Array berdimensi

Pendefinisian array secara umum adalah sebagai berikut: jika kita ingin membuat beberapa array dengan tipe/jenis yang sama, kita lebih baik jika mendeklarasikan dengan type selanjutnya dengan deklarasi
var.
Sintax array 1 dimensi
• Type nama_array = ARRAY[bawah..atas] of tipe_data;
var variabel_array : nama_array; atau

• var variabel_array : ARRAY[bawah..atas]of tipe_data;

Contoh Program Array 1 dimensi
program INT_ARRAY;
uses wincrt;
const N=10;
type int_array = ARRAY [1..N] of integer;
var bil : int_array;
indeks : integer;
BEGIN
writeln('masukkan sepuluh bilangan integer.');
for indeks := 1 to 10 do
begin
readln(bil[indeks]); { loop untuk memasukkan elemen
array }
end;
writeln('Isi dari array ini adalah'); { tampilkan setiap
elemen }
for indeks := 1 to 10 do
begin
writeln('bil[', indeks:2,'] adalah ',bil[indeks] );
end
END.

Array dan record

Pengertian
Suatu array adalah 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).

Cara Pendefinisian
• contoh type
A = array [1..6] of integer;
• Secara logika pendefinisian array di atas merupakan sekumpulan kotak , dimana tiap kotak mempunyai nilai indeks integer 1, 2, 3, ...,6

tiap elemen array ditandai dengan:
A[1], A[2], A[3], A[4], A[5], A[6]

untuk mengisi elemen array misal A[1]:=4;.
1 2 3 4 5 6

Sifat Array
Array merupakan struktur data yang statis, yaitu jumlah elemen yang ada harus ditentukan terlebih dahulu dan tak bisa di ubah saat program berjalan. Untuk menyatakan array dalam PASCAL kita harus terlebih dahulu:

Mendefinisikan jumlah elemen array
Contoh. const N=10;
type
A= array [1..N] of integer;

Jumat, 26 Februari 2010

5 kesalahan besar

Pernikahan yang indah tentunya impian banyak wanita. Banyak wanita yang menggantungkan harapan tinggi pada pernikahan tanpa melihat kenyataan. Kesalahan pun dilakukan dan kadang kala membuat rasa kecewa yang besar.

Untuk itu, ketahui kesalahan umum kaum wanita ketika mereka akan menikah. Tentunya, agar Anda tidak terjebak didalamnya dan melakukan kesalahan yang bisa berdampak negatif pada kehidupan pernikahan kelak.

1. Berpikir akan hidup bahagia selamanya. Sisi romantis wanita memang lebih besar dibandingkan pria. Dari kecil kita kita dijejali cerita putri dan pangeran yang berakhir menikah dan hidup bahagia selamanya. Jangan menggangap pernikahan adalah ujung dari kebahagiaan, tetapi merupakan proses pembelajaran dan saling mengenal.
Mempertahankan pernikahan merupakan kerja keras dan berpikirlah lebih realistis. Presentasenya adalah 20% kebahagiaan, 30% kepuasan dan 50% kerja keras.

2. Percaya bisa mengubah pasangannya ketika menikah. Wanita memiliki kecenderungan ingin mengubah pasangannya sesuai kualifikasinya dan sering berpikir “Dia pasti bisa berubah”. Secara tidak sadar, wanita sering mengungkapkan pada calon suaminya tentang kriteria pasangan idamannya. Hal tersebut tidak akan berhasil.

Jika Anda memaksa atau meminta pasangan Anda untuk berubah malah bisa menimbulkan masalah dalam hubungan. Cobalah menerima kekurangannya dan jika memang ada yang harus berubah itu karena kemauannya bukan karena paksaan Anda.

3. Kehilangan identitas. Jika Anda sangat bergantung pada pasangan sebaiknya segera ubah sikap Anda. Ketergantungan Anda bisa menjadi bumerang. Bahkan, nantinya bisa berkembang menjadi persoalan besar bagi kehidupan pernikahan dan membuat Anda kehilangan identitas diri. Ingatlah kalau sebuah hubungan itu saling melengkapi. Meminta pendapat pasangan memang penting tetapi tidak semua hal harus Anda gantungkan pada pasangan. Anda juga harus memiliki sikap mandiri dan tidak melulu mengandalkan pasangan.

4. Tidak membicarakan masa depan secara detail. Membicarakan masa depan secara detail harus dilakukan pada semua pasangan yang akan menikah. Mulai dari kesalahan apa yang tidak bisa ditolerir misalnya perselingkuhan, lalu jumlah anak, tempat tinggal, apakah nantinya Anda akan tetap bekerja, pembagian tanggung jawab, hal-hal tersebut harus disepakati sebelum menikah. Bicarakan juga prioritas, tujuan dan mimpi-mimpi Anda dalam membentuk rumah tangga. Usahakan, untuk memiliki target dalam 20 tahun mendatang. Hal-hal tersebut bisa menentukan apakah rumah tangga anda akan bahagia atau penuh konflik.

5. Menikah hanya karena cinta. Cinta bukanlah alasan yang cukup untuk menikah, kita dapat jatuh cinta karena beragam alasan. Dan, belum tentu pria yang kita cintai akan menjadi pasangan yang baik. Anda perlu menemukan partner untuk bisa diajak bekerjasama seumur hidup dan ketahui sejauh apa pasangan Anda bisa diajak kerjasama untuk membentuk sebuah rumah tangga.
• VIVAnews

Operasi Stack

Stack adalah Suatu susunan koleksi data dimana data dapat ditambahkan dan dihapus selalu dilakukan pada bagian akhir data, yang disebut dengan top of stack
Stack bersifat LIFO (Last In First Out)
“Benda yang terakhir masuk ke dalam stack akan menjadi yang pertama keluar dari stack"

OPerasi stack :
Push : digunakan untuk menambah item pada stack pada tumpukan paling atas
Pop : digunakan untuk mengambil item pada stack pada tumpukan paling atas
Clear : digunakan untuk mengosongkan stack
IsEmpty : fungsi yang digunakan untuk mengecek apakah stack sudah kosong
IsFull : fungsi yang digunakan untuk mengecek apakah stack sudah penuh

contoh program stack

Contoh deklarasi MAX_STACK
#define MAX_STACK 10
Contoh deklarasi STACK dengan struct dan array data
typedef struct STACK{
int top;
int data[10];
};
Deklarasi/buat variabel dari struct
STACK tumpuk;

Fungsi IsFull
Untuk memeriksa apakah stack sudah penuh?
Dengan cara memeriksa top of stack, jika sudah sama dengan MAX_STACK-1 maka full, jika belum (masih lebih kecil dari MAX_STACK-1) maka belum full

Fungsi IsEmpty
Untuk memeriksa apakah data Stack masih kosong?
Dengan cara memeriksa top of stack, jika masih -1 maka berarti data Stack masih kosong!

Fungsi Push
Untuk memasukkan elemen ke data Stack. Data yang diinputkan selalu menjadi elemen teratas Stack (yang ditunjuk oleh ToS)
Jika data belum penuh,
Tambah satu (increment) nilai top of stack lebih dahulu setiap kali ada penambahan ke dalam array data Stack.
Isikan data baru ke stack berdasarkan indeks top of stack yang telah di-increment sebelumnya.
Jika tidak, outputkan “Penuh

Kamis, 25 Februari 2010

sepak terjang anak remaja zaman sekarang

Kadang kala kita sering mengelus dada ketika adegan hmm pastinya memang sudah terjadi yang tidak direkayasa lagi. pose adegan yang sangat mecengangkan, ketika saya berjalan di salah satu mall baru memang tempatnya masih agak sepi. saat saya melangkah menuju lift dengan santai saya menekan tombol lift. dan dalam ruangan lift yang sempit itu terdapat 2 pasang anak sma. tepatnya saat itu masih pagi sekitar jam 10 an atau jam 12 . sudah jelas itu mereka tidak langsung pulang ke rumah malah bermain bersama pacar. beberapa detik kemudian aku terperangah.... aku terkejut salah satu pasangan itu berciuman bibir di depan umum , orang disekeliling menjadi jengah .

bagaimana ini penerus bangsa?
bukannya lihai mencari peluang untuk berprestasi dalam pendidikan . malah mencari peluang maksiat di dalam segala keadaan.
tak heran jika saat ini indonesia semakin krisis ekonomi dan pendidikan juga akan menyusul.

Selasa, 23 Februari 2010

Data fisik dari struktur data

Data fisik yang independen/ Physical Data Independence

Kemampuan mengubah struktur file database secara fisik tanpa mengganggu pengguna dan proses
yang berlaku disebut physical data independence. Seberapa besar perubahan yang dapat dilakukan
tanpa berpengaruh pada lapisan logika disebut derajat physical data independence.


Data logis yang independen/ Logical Data Independence

kemampuan untuk membuat perubahan pada lapisan logika tanpa mengganggu penggunan dan pross
yang sedang berlaku disebut logical data independence. Perubahan pada lapisan logika juga berlaku
pada lapisan fisik. Misalnya penambahan data di lapisan logika, berarti menambah data pada lapisan
fisik. Perubahan format data pada lapisan logika akan berdampak pada lapisan fisik juga. Perubahan
yang dimaksud termasuk penghapusan data.

Deklarasi Data

Deklarasi Data
- Jenis data konstanta dan variabel harus didefinisikan dalam program sehingga :
- operasi yang tepat dapat dijalankan pada nilai data dan
- Jumlah ruang penyimpanan yang tepat bisa ditentukan


Statement untuk mendefinisikan jenis data disebut
declarative statement
- Beberapa bahasa pemrograman memiliki sintaks pendeklarasian yang berbeda
- Beberapa contoh program (pendeklarasian data) yang akan diberikan ditulis dalam pseudo-code PDE - Struktur Data 8

Contoh

Constants
pi = 3.141592654
Variables
i, qty : integer
harga_satuan, harga_jual : real
status : boolean
nama : character(10)

Minggu, 21 Februari 2010

Struktur Data

Struktur Data

1. Definisi Data

Data adalah deskripsi dari sesuatu dan kejadian yang kita hadapi (data is the description of things and events that we face)

2. Type data

Type data terbagi menjadi 3 :
1. Type data sederhana (Simple - Data Type)
Adalah tipe data yang sudah ada dan dijadikan standar dalam bahasa pemrograman tertentu. Isi dari tipe data sederhana ini adalah data-data tunggal. Standart data typenya adalah :
a. Integer
b. Real
c. Char
d. String
e. Boolean

Dan user defined data type :
1. enumerated or scalar type
2. subrange type


2. Type data terstruktur (Structured - Data Type)
Type data terstruktur ada 4 yaitu:
1. array (larik)
Larik adalah tipe data yang berisi beberapa data yang ditampung dalam satu variabel yang memiliki tipe data yang sama

2. record (rekaman)
Tipe data rekaman di gunakan untuk menampung data yang terdiri dari beberapa tipe yang berbeda. Record dapat diakses (diisi) dan dibaca per elemen record dengan menyebut nama elemennya.


3. file
4. set (himpunan)




3. Type data penunjuk (Pointer - Data Type)

Pointer secara harfiah dapat diartikan sebagai penunjuk. Tipe data pointer ini merupakan tipe data yang berisikan alamat memori dimana data disimpan.