Kamis, 15 April 2010

Graph dalam struktur data

April 16, 2010

Struktur Data Graph
Struktur data yang berbentuk network/jaringan, hubungan antar elemen adalah many-to-many Keterhubungan dan jarak tidak langsung antara dua kota = data keterhubungan langsung dari kota-kota lainnya yang memperantarainya. Penerapan struktur data linear atau hirarkis pada masalah graph dapat dilakukan tetapi kurang efisien. Struktur data graph secara eksplisit menyatakan keterhubungan ini sehingga pencariannya langsung (straight forward) dilakukan pada strukturnya sendiri. 1.

Struktur Data Linear = keterhubungan sekuensial antara entitas data 2.

Struktur Data Tree = keterhubungan hirarkis 3.

Struktur Data Graph = keterhubungan tak terbatas antara entitas data. Contoh graph :
Informasi topologi jaringan dan keterhubungan antar
Graph terdiri dari himpunan verteks (node) dan himpunan sisi (edge, arc). Verteks menyatakan entitas-entitas data dan sisi menyatakan keterhubungan antara verteks. Notasi matematis graph G adalah :
G = (V, E)
Sebuah sisi antara verteks x dan y ditulis {x, y}. Subgraph : graph yang merupakan suatu subset (bagian) graph yang connected Graph H = (V1, E1) disebut subgraph dari graph G jika V1 adalah himpunan bagian dari V dan E1 himpunan bagian dari E.
Jenis Graph
a. Directed Graph (Digraph)
Jika sisi-sisi graph hanya berlaku satu arah. Misalnya : {x,y} yaitu arah x ke y, bukan dari y ke x; x disebut origin dan y disebut terminus. Secara notasi sisi digraph ditulis sebagai vektor (x, y).
Contoh Digraph G = {V, E} :
V = {A, B, C, D, E, F, G, H, I,J, K, L, M} E = {(A,B),(A,C), (A,D), (A,F), (B,C), (B,H), (C,E), (C,G), (C,H), (C,I), (D,E), (D,F), (D,G), (D,K), (D,L), (E,F), (G,I), (G,K), (H,I), (I,J), (I,M), (J,K), (J,M), (L,K), (L,M)}.
b. Graph Tak Berarah (Undirected Graph atau Undigraph)
Setiap sisi {x, y} berlaku pada kedua arah: baik x ke y maupun y ke x. Secara grafis sisi pada undigraph tidak memiliki mata panah dan secara notasional menggunakan kurung kurawal.
Contoh Undigraph G = {V, E}
V = {A, B, C, D, E, F, G, H, I,J, K, L, M} E = { {A,B},{A,C}, {A,D}, {A,F}, {B,C}, {B,H}, {C,E}, {C,G}, {C,H}, {C,I}, {D,E}, {D,F}, {D,G}, {D,K}, {D,L}, {E,F}, {G,I}, {G,K}, {H,I}, {I,J}, {I,M}, {J,K}, {J,M}, {L,K}, {L,M}}. Khusus graph, undigraph bisa sebagai digraph (panah di kedua ujung edge berlawanan) Struktur data linear maupun hirarkis adalah juga graph. Node-node pada struktur linear ataupun hirarkis adalah verteks-verteks dalam
ngertian graph dengan sisi-sisinya menyusun node-node tersebut secara linear atau hirarkis. Struktur data linear adalah juga tree dengan pencabangan pada setiap node hanya satu atau tidak ada. Linear 1-way linked list (digraph), linear 2-way linked list (undigraph).

Posted in Uncategorized | Leave a Comment »

Kembangkan kecerdasan spiritual anda

Kriteria ibadah puasa Ramadan yang berkualitas adalah yang puasanya dilandasi keimananan dan kesadaran.Pengamalnya dapatlah digolongkan sebagai orang yang mempunyai kecerdasan spiritual (spiritual intellgence) yang tinggi.

Spirirtual intellgence merupakan temuan riset terbaru dibidang kecerdasan, melengkapi temuan-temuan sebelumnya, yakni kecerdasan intelektual (intellgence quotient/IQ dan kecerdasan emosial ( emotional intellgence/EQ).

Publikasi hasil penelitian yang dilakukan oleh Daniel Goleman (seorang psikolog) menggambarkan bahwa, kecerdasan emosial yaitu kesadaran dan kemampuan untuk menangani perasaan (emosi) ternyata lebih menentukan keberhasilan dan kebahagian seseorang daripada kecerdasan intelektual.

Dalam perkembangannya, temuan jenis “Q” ketiga, yakni kecerdasan spiritual (SQ) yang sering disebut Danah Zohar dan Ian Marshall ( ahli psikologi ) sebagai puncak kecerdasan ( ultimate intellgence). Jika IQ berdasarkan nalar, rasio intelektual, sementara EQ pada emosi maka SQ disandarkan pada jiwa-hati.

Kecerdasan spiritual (SQ) hanya berada pada prototipe manusia yang bersih secara spiritual, dilandasi jiwa yang damai dan tenang (annafsul-muthmainnah)yang bisa menjalin kontak spiritual dengan Rab (Tuhan)-nya.Dengan annafsul-muthmainnah,maka sifat kikir dan tamak berubah menjadi sifat rela berkorban.
Sifat tidak jujur,maksiat dan korup berubah menjadi sifat wajar dan penuh pengabdian.

Sifat pemarah, rihati mementingkan diri sendiri berganti menjadi sifat sabar, kasih sayang, toleransi dan menjunjung tinggi nilai-nilai kemanusiaan. Sifat sombong berubah menjadi sifat berbudi luhur.

Apabila kesadaran spiritual telah mencapai taraf demikian maka nafsu suci seseorang akan mendapatkan panggilan Allah, seperti termaktub dalam Q.S. Al Fajr 8 (27,28,29,30). “Hai jiwa yang tenang, Kembalilah pada Tuhanmu dengan hati yang puas lagi diridhai-Nya. Maka masuklah kedalam jamaah hamba-hamba-Ku dan masuklah kedalam surga-Ku”

An Nafsul-Muthmainnah yang telah dapat mengalahkan nafsul-ammarah, seperti dalam Q.S Yusuf 12 (53) dan nafsul-lawwamah Q.S.Al Qiyamah 75 (2) berarti jiwa yang tenang menerima segala kabar gembira (basyiran) ataupun kabar yang menakutkan (nadziran) yang telah mencapai makrifat dapat melaksanakan perintah ibadah puasa sebagaimana sabda Nabi Muhammad SAW. Manshaama romadhoona imanan waktisaban ghufiralahu mataqaddama mindambihi.

Selasa, 13 April 2010

Data Flow Diagram


Data Flow Diagram (DFD) adalah suatu diagram yang menggunakan notasi-notasi untuk menggambarkan arus dari data sistem, yang penggunaannya sangat membantu untuk memahami sistem secara logika, tersruktur dan jelas.

DFD merupakan alat bantu dalam menggambarkan atau menjelaskan sistem yang sedang berjalan logis.
[sunting] Latar belakang

Suatu yang lazim bahwa ketika menggambarkan sebuah sistem kontekstual data flow diagram yang akan pertama kali muncul adalah interaksi antara sistem dan entitas luar. DFD didisain untuk menunjukkan sebuah sistem yang terbagi-bagi menjadi suatu bagian sub-sistem yang lebih kecil adan untuk menggarisbawahi arus data antara kedua hal yang tersebut diatas. Diagram ini lalu “dikembangkan” untuk melihat lebih rinci sehingga dapat terlihat model-model yang terdapat di dalamnya.
http://infolab.stanford.edu/~ullman/fcdb/ito/er.gif

quequ

ueue (antrian) adalah barisan elemen yang apabila elemen ditambah maka
penambahannya berada di posisi belakang (rear) dan jika dilakukan pengambilan elemen
dilakukan di elemen paling depan (front). Oleh karena itu, queue bersifat FIFO (first in
first out).

Contoh :
Depan=1
Belakang=4
5
6
7
9

Operasi-operasi dasar dari sebuah queue adalah :
1. Enqueue : proses penambahan elemen di posisi belakang
2. Dequeue : proses pengambilan elemen di posisi depan

Selain operasi dasar di atas, ada pula operasi-operasi lain yang dapat dilakukan
terhadap sebuah queue yaitu :
1. Operasi pemeriksaan queue kosong (fungsi kosong)
2. Operasi pemeriksaan queue penuh (fungsi penuh).
3. Operasi inisialisasi queue (fungsi inisialisasi)

Adapun presentasi queue dapat dilakukan dengan 2 cara yaitu :
1. Dengan menggunakan array statis
Operasi-operasi yang dapat dilakukan dalam queue yang menggunakan representasi
array statis adalah :

1.1. Pendeklarasian sebuah queue
Setiap queue memiliki elemen-elemen (field) berupa posisi depan, posisi
belakang, elemen antrian, dan maksimal elemennya.
Adapun pendeklarasian queue dalam bahasa C adalah :
#define maks 5
struct TQueue{
int depan,belakang;
int maks_queue;
int antrian[maks];
};
TQueue Q,Queue,Q2;//deklarasi variable bertipe TQueue

1.2. Inisialisasi Queue
Inisialisasi queue adalah proses pemberian nilai 0 untuk field depan dan
belakang dari queue dan juga pemberian nilai maks ke maks_queue yang
menunjukan banyaknya maksimal data dalam queue.
Karena dalam bahasa C elemen sebuah array dimulai dengan 0 maka proses
inisialisasi nilai depan dan belakang bukan 0 tetapi -1 sehingga ketika ada proses
penambahan elemen (enqueue) akan bernilai 0 sehingga elemen tersebut akan
disimpan dalam elemen antrian pada posisi 0.
Implementasi fungsi inisialisasi queue dalam bahasa C adalah
void inisialisasi(TQueue *Q)
{
Q->maks_queue=maks;
Q->depan=-1;
Q->belakang=-1;
}
Cara pemanggilannya adalah :
Inisialisasi(&Q);

Array berdimensi banyak

ARRAY BERDIMENSI DUA
Array berdimensi satu dapat disimpan pada sebuah array berdimensi dua.
Pendeklarasian array berdimensi dua adalah sebagai berikut :
int data_lulus[4][3];
Nilai 4 untuk menyatakan banyaknya baris dan 3 menyatakan banyaknya kolom. Gambar
10.1 memberikan ilustrasi untuk memudahkan pemahaman tentang array berdimensi dua.
80 540 1032
15 83 301
8 12 15
10 129 257
int data_lulus[4][3];
Gambar 10.1 Array berdimensi dua
Sama halnya pada array berdimensi satu, data array aka ditempatkan pada memori
yang berurutan. Perhatikan Gambar 10.2.
80 540 1032 15 83 301 80
Gambar 10.2 Model penyimpanan array dimensi dua pada memori
0 1 2
0
1
2
3
indeks kedua
(kolom)
indeks pertama
(baris)
Mengakses Elemen Array Berdimensi Dua
Array seperti data_lulus dapat diakses dalam bentuk data_lulus[indeks pertama, indeks
kedua] :
(1) data_lulus[0][1] = 540;
merupakan instruksi untuk memberikan nilai 540 ke array data_lulus untuk indeks
pertama = 0 dan indeks kedua bernilai 1.
(2) printf(“%d”,data_lulus[2][0]);
merupakan perintah untuk menampilkan elemen yang memiliki indeks pertama = 2 dan
indeks kedua = 0.
Perhatikan contoh potongan program di bawah ini.
/* Memberikan data ke array */
data_lulus[0][0] = 80;
data_lulus[0][1] = 540;
data_lulus[0][2] = 1032;
INT HURUF_A[8][8] = {
{ 0, 1, 1, 1, 1, 1, 0, 0 } ,
{ 0, 1, 0, 0, 0, 1, 0, 0 } ,
{ 0, 1, 0, 0, 0, 1, 0, 0 } ,
{ 1, 1, 1, 1, 1, 1, 1, 0 } ,
{ 1, 1, 0, 0, 0, 0, 1, 0 } ,
{ 1, 1, 0, 0, 0, 0, 1, 0 } ,
{ 1, 1, 0, 0, 0, 0, 1, 0 } ,
{ 0, 0, 0, 0, 0, 0, 0, 0 }
};
atau bisa juga ditulis sebagai berikut :
int huruf_A[8][8] =
{ 0, 1, 1, 1, 1, 1, 0, 0,
0, 1, 0, 0, 0, 1, 0, 0,
0, 1, 0, 0, 0, 1, 0, 0,
1, 1, 1, 1, 1, 1, 1, 0,
1, 1, 0, 0, 0, 0, 1, 0,
1, 1, 0, 0, 0, 0, 1, 0,
1, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0};
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF9_8_Q10rW_0Ys4sjHWgyLUm18kaKpG5Tiw2iv_jEbr-bHXSWLhFk6svCjYkCvq4CLssvKN2vhBZufB1ABsDfCjzlrs2R8SPjSmfo_iccJaxLbdbfK_UMBRtoHFqiLhcVrobgwJBqWUw/s400/array5.jpg

Senin, 12 April 2010

Contoh penerapan stack dalam kehidupan sehari – hari

Stack adalah salah satu struktur data yang memiliki sistem kerja Last In First Out (LIFO), yang terakhir masuk pertama keluar. Dapat di ilustrasikan seperti sebuah tumpukan buku, ketika mengambil sebuah buku di dalam tumpukan itu maka harus diambil satu persatu dari buku yang paling atas dari tumpukan buku tersebut.

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.

Fungsi dalam Stack:

* Fungsi init: fungsi yang digunakan untuk inisialisasi atau membuat stack baru yang masih kosong.
* Fungsi full: digunakan untuk mengetahui stack penuh atau tidak.
* Fungsi empty: digunakan untuk mengetahui stack kosong atau tidak.
* Fungsi clear: digunakan untuk mengosongkan stack. Stack dianggap kosong apabila puncak stack berada pada posisi -1.
* Fungsi push: digunakan untuk menambahkan data ke dalam stack. Penambahan data tidak bisa dilakukan apabila stack sudah penuh. Urutan perintahnya adalah: menambahkan nilai top dan menambahkan data pada posisi nilai top. Jika dalam Linked List menggunakan method addLast
* Fungsi pop: digunakan untuk mengeluarkan data teratas stack dengan syarat bahwa stack tidak kosong. Urutan perintahnya adalah : menghapus data pada posisi nilai top dan menurunkan nilai top. Jika dalam Linked List menggunakan method removeLast

Possibly related posts: (automatically generated)

* Ada 2 operasi dasar yang didefinisikan pada stack,
* Definisi B-Tree dalam Struktur data
* INTEGRASI SISTEM INFORMASI
* Burung Berkicau

This entry was posted on March 25, 2010 at 1:32 am and is filed under Uncategorized. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Antrian dalam Struktur data

Queue (Antrian) adalah list linier yang :
1. Elemen yang pertama kali masuk antrian akan keluar pertama kalinya
2. Dikenali elemen pertama (Front) dan elemen terakhirnya (Tail)
3. Aturan penyisipan dan penghapusan elemennya disefinisikan sebagai berikut :
a) Penyisipan selalu dilakukan setelah elemen terakhir
b) Penghapusan selalu dilakukan pada elemen pertama
4. Satu elemen dengan elemen lain dapat diakses melalui informasi Next
5. Antrian dapat dibuat dengan menggunakan: Linier Array dan Circular Array

Front dan tail selalu bergerak maju/naik sehingga
1. Bila tail telah mencapai elemen terakhir array, antrian dianggap penuh walau sebenarnya mungkin elemen-elemen awal antrian telah dihapus (dikosongkan).
2. Bila front dan tail mencapai nilai yang sama berarti antrian dalam keadaan kosong maka front dan tail dapat diinisialisasi kembali ke kondisi semula.

Deklarasi queue menggunakan singly linked list:

Type
TData=…;
TKey= …;
PNode=^Node;
Node=record
Key:TKey;
Data:TData;
Next:PNode;
End;
Queue=record
Count:integer;
Front,tail:PNode;
End;
Opersi-operasi di QUEUE
1. InitQ(Q)menciptakan Qdengan queue kosong

Procedure InitQ(var Q:Queue);
Begin
Q.count:=0;
Q.front:=nil;
Q.tail:=nilai;
End;

2. AddQ(Q,x) menambah elemen x ke rear queue

Procedure AddQ(var Q:Queue; p:PNode);
{sama dengan insert last, yang elemen last-nya disimpan}
Begin
Q.tail^.next:=p;
Q.tail:=p;
If Q,front=nil then q.front:=Q.tail; {elemen pertama dan satu-satunya dari queue}
Q.count:=Q.count+1;
End;

3. RemoveQ(Q,x) menghilangkan elemen pada front dari queue Q

Procedure removeQ(var Q:Queue; var k:TKey; d:TData);
{sama dengan delete first}
Var p:PNode;
Begin
If (Q.frontNil) then
Begin
P:=Q.Front;
Q.front:=Q.front^.Next;
If Q.front=nil then Q.tail:=nil; {elemen satu2nya dihapus}
K:=p^.key;
D:=p^.data;
Q.Count:=Q.count-1;
Dispose(p);
End;
End;

4. Front(Q) mengirim elemen front dari queue

Function frontQ (Q:queue):listPtr;
Begin
FrontQ:=Q.front;
End;

5. IsEmptyQ(Q) yang mengembalikan true if Q kosong else false

Function isEmpityQ(Q:queue):Boolean;
Begin
isEmptyQ:=(S.front=nil);
end;

6. HowManyIn(Q) mengirimkan jumlah elemen di Queue

Function howManyInQ(Q:queue):integer;
Begin
howManyInQ:=Q.count;
End;

Possibly related posts: (automatically generated)

* PENGERTIAN SISTEM 1. DEFINISI SISTEM
* antrian / queue
* Antrian (QUEUE)
* CONTOH ANTRIAN

This entry was posted on March 11, 2010 at 1:41 am and is filed under Uncategorized. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Kamis, 08 April 2010

Komponen Sistem Informasi

Sistem informasi merupakan sebuah susunan yang terdiri dari beberapa komponen seperti orang, aktivitas, data, perangkat keras, perangkat lunak, dan jaringan yang terintegrasi yang berfungsi untuk mendukung dan meningkatkan operasi sehari-hari sebuah bisnis, juga menyediakan kebutuhan informasi untuk pemecahan masalah dan pengambilan keputusan oleh manajer.

1. Orang (People)

Semua pihak yang bertanggung jawab dalam hal penyokong atau sponsor sistem informasi (system owner), pengguna sistem (system users), perancang sistem (system designer) dan pengembang sistem informasi (sistem development).

2. Aktivitas

Sekumpulan aturan atau tahapan-tahapan untuk membuat, memakai, memproses dan mengolah sistem informasi ataupun hasil keluaran dari sistem informasi tersebut.

3. Data

Secara konseptual, data adalah deskripsi tentang benda, kejadian, aktivitas, dan transaksi yang tidak mempunyai makna dan tidak berpengaruh langsung secara langsung kepada pemakainya atau disebut juga sebagai sekumpulan fakta mentah dalam isolasi.

4. Perangkat Keras (hardware)

Mencakup piranti-piranti fisik seperti komputer, printer, monitor, harddisk, DLL.

5. Perangkat Lunak (sotfware)

Sekumpulan instruksi-instruksi atau perintah-perintah yang memungkinkan perangkat keras bisa digunakan untuk memproses data, atau sering disebut sebagai program.

6. Jaringan (network)

Sistem penghubung yang memungkinkan suatu sumber dipakai secara bersama-sama, baik pada waktu dan tempat bersamaan ataupun berbeda

stack


a. Definisi Stack
STACK ( tumpukan ) merupakan struktur data yang seolah – oleh terlihat seperti data yang terusun secara tumpuk dimana ada data yang terletak diatas data yang lainnya .
b. Stack dengan Array
Stack menggunakan array pengambil / penghapusan dielemen dalam stack yang dilaukan dengan memulainya dari elemen teratas
c. Double Stack dengan Array
Merupakan metode khusus yang dikembangkan untuk menghemat pemakaian memori dalam pembuatan dua stack dengan array . intinya adalah penggunaan hanya sebuah array untuk menampung dua buah stack.
d. Stack dengan Single Linked List
Menggunakan Single Lingked List dalam pembuatan stack mempunyai keunggulan dibandingkan dengan array yaitu dapat digunakan alokasi memori yang dinamis sehingga menhindari pemborosan memori.(http://sad1n1Rom. .blogspot.com/)

Metode untuk menyimpan pohon biner


Pohon biner dapat dikonstruksi dari bahasa pemrograman primitif dalam berbagai cara. Dalam bahasa yang menggunakan records dan referensi, pohon biner secara khas dikonstruksi dengan mengambil sebuah struktur simpul pohon yang memuat beberapa data dan referensi ke anak kiri dan anak kanan. Kadang-kadang itu juga memuat sebuah referensi ke ayahnya yang khas. Jika sebuah simpul mempunyai kurang dari dua anak, beberapa penunjuk anak dapat diatur kedalam nilai nol khusus, atau ke sebuah simpul sentinel.

Pohon biner dapat juga disimpan sebagai struktur data implisit dalam array, dan jika pohon tersebut merupakan sebuah pohon biner lengkap, metode ini tidak boros tempat. Dalam penyusunan yang rapat ini, jika sebuah simpul memiliki indeks i, anaknya dapat ditemukan pada indeks ke-2i+1 dan 2i+2, meskipun ayahnya (jika ada) ditemukan pada indeks lantai((i-1)/2) (asumsikan akarnya memiliki indeks kosong). Metode ini menguntungkan dari banyak penyimpanan yang rapat dan memiliki referensi lokal yang lebih baik, tersitimewa selama sebuah preorder traversal. Bagaimanapun juga, ini terlalu mahal untuk perkembangannya dan boros tempat sebanding dengan 2h - n untuk sebuah pohon dengan tinggi h dengan nsimpul.
Sebuah pohon biner lengkap kecil disimpan dalam array

Dalam bahasa dengan tagged union seperti ML, sebuah simpul pohon seringkali sebuah tagged union dari dua jenis simpul, dimana yang satu merupakan data dari 3-tupel, anak kiri, dan anak kanan, dan yang lain dimana sebuah daun, yang tidak memuat data dan fungsi seperti nilai nol dalam bahasa dengan penunjuk (pointers)

Senin, 05 April 2010

Apakah Itu Fungsi Dan Pengertian Query ?

Jika anda telah membuat tabel-tabel dan telah memasukkan banyak data dalam tabel tersebut, suatu ketika Anda menginginkan untuk mengetahui/mencari data tertentu. Hal ini dapat anda lakukan dengan membuka tabel, menelusuri data satu per satu, lalu membuat tabel baru untuk menyimpannya.

Akan tetapi cara seperti ini sangat tidak efisien. Untuk kebutuhan tersebut, akan jauh lebih mudah jika anda menggunakan queryuntuk memenuhi permintaan data kita Pada dasarnya, query adalah merupakan bahasa untuk melakukan manipulasi terhadap database, yang telah distandarkan dan lebih dikenal dengan nama Structured Query Language (SQL). Query dibedakan menjadi 2, yaitu :

1. Untuk membuat/mendefinisikan obyek-obyek database seperti membuat tabel, relasi dan sebagainya. Biasanya disebut dengan Data Definition Language (DDL)

2. Untuk memanipulasi data, yang biasanya dikenal dengan Data Manipulation Language (DML). Manipulasi data bisa berupa:

a. Menambah, mengubah atau menghapus data.

b. Pengambilan informasi yang diperlukan dari database, yang mana datanya diambil dari tabel maupun dari query sebelumnya

SQL

Bentuk umum SQL:
SELECT [ALL|DISTINCT]
nama_kolom_kolom_tabel
[INTO nama_tabel]
[FROM nama_nama_tabel]
[WHERE predikat]
[GROUP BY ekspresi]
[ORDER BY nama+kolom_tabel]

struktur data

Telah diketahui bahwa secara fisik data dalam bentuk kumpulan bit dan direkam dengan basis track didalam media penyimpan eksternal. Dalam prakteknya, untuk kemudahan dalam mengakses data, data disusun dalam suatu struktur logis yang menjelaskan bahwa:

* 1. Kumpulan tabel menyusun basis data,
* 2. Tabel tersusun atas sejumlah record,
* 3. Sebuah record mengandung sejumlah field, dan
* 4. Sebuah field disimpan dalam bentuk kumpulan bit.

Pengertian masing-masing istilah diatas adalah seperti berikut:

a. Field (medan) menyatakan data terkecil yang memiliki makna. Istilah lain untuk field yaitu elemen data, kolom item, dan atribut. Contoh field yaitu nama seseorang, jumlah barang yang dibeli, dan tanggal lahir seseorang.

b. Record (rekaman) menyatakan kumpulan dari sejumlah elemen data yang saling terkait. Sebagai contoh, nama, alamat, tanggal lahir, dan jenis kelamin dari seseorang menyusun sebuah record. Istilah lain yang juga menyatakan record yaitu tupel dan baris.

c. Tabel menghimpun sejumlah record. Sebagai contoh, data pribadi dari semua pegawai disimpan dalam sebuah tabel.

d. Basis data (database) adalah suatu pengorganisasian sekumpulan data yang saling terkait sehingga memudahkan aktivitas untuk memperoleh informasi. Sebagai contoh, basis data akademis mengandung tabel-tabel yang berhubungan dengan data mahasiswa, data jurusan, data mata kuliah, data pengambilan mata kuliah pada suatu semester, dan nilai yang diperoleh mahasiswa.