Pages

Minggu, 16 Juni 2013

Tipe data Boolean

Pengertian tipe data Boolean
Tipe data Boolean:merupakan tipe data logika,yang berisi dua kemungkinan nilai:TRUE(benar) atau FALSE(salah).
Turbo Pascal for Windows memiliki tiga macam jenis ini yaitu:Boolean,WordBool,dan LongBool.Tipe Boolean memakai memori paling kecil,sedangkan WordBool dan LongBool di pakai untuk menulis program yang sesuai dengan lingkungan Windows.

Boolean sangat penting dalam mengevaluasi suatu kondisi, dan sering digunakan untuk menentukan alur program.
Dalam bahasa pemrograman yang memiliki built-in tipe data Boolean, seperti Pascal dan Java, operator perbandingan seperti '>' dan '≠' biasanya ditetapkan untuk mengembalikan nilai Boolean. Juga, perintah bersyarat dan berulang dapat didefinisikan untuk menguji ekspresi Boolean bernilai.

Bahasa tanpa tipe data Boolean eksplisit, seperti C dan Lisp, masih dapat mewakili nilai-nilai kebenaran dengan beberapa jenis data lainnya. Lisp menggunakan daftar kosong untuk false, dan nilai lain untuk benar. C menggunakan tipe integer, di mana ekspresi relasi seperti ungkapan i> j dan logis dihubungkan oleh & & dan | | didefinisikan memiliki nilai 1 jika benar dan 0 jika salah, sedangkan bagian uji jika, sementara, untuk, dll, mengobati setiap nilai bukan nol sebagai benar [1] [2] Memang,. sebuah variabel Boolean dapat dianggap (dan dilaksanakan) sebagai variabel numerik dengan (sedikit) satu digit biner, yang dapat menyimpan hanya dua nilai.

Kebanyakan bahasa pemrograman, bahkan mereka yang tidak memiliki tipe Boolean eksplisit, memiliki dukungan untuk operasi aljabar Boolean seperti bersama (DAN, &, *), disjungsi (OR, |, +), kesetaraan (EQV, =, ==) , eksklusif atau / non-kesetaraan (XOR, NEQV, ^, =!), dan tidak (TIDAK, ~,!).

Dalam beberapa bahasa, tipe data Boolean didefinisikan untuk menyertakan lebih dari dua nilai kebenaran. Sebagai contoh ISO SQL 1999 standar yang ditetapkan nilai Boolean sebagai bisa benar, palsu, atau tidak diketahui (SQL null). Meskipun konvensi ini menentang hukum dikecualikan tengah, sering berguna dalam pemrograman.

Dalam model lambda kalkulus komputasi, nilai Boolean dapat diwakili sebagai boolean Gereja.

SEJARAH   BOOLEAN
Salah satu bahasa yang paling awal untuk memberikan tipe data Boolean yang eksplisit adalah ALGOL 60 (1960) dengan operator nilai benar dan palsu dan logis dinotasikan dengan simbol '\ wedge' (dan), '\ vee' (atau), '\ supset' ( berarti), '\ equiv' (kesetaraan), dan '\ neg' (tidak). Karena keterbatasan perangkat input waktu, namun, kompiler paling banyak digunakan representasi alternatif untuk yang terakhir, seperti DAN atau 'DAN'. Pendekatan ("Boolean adalah terpisah built-in tipe data primitif") diadopsi oleh bahasa banyak kemudian, seperti ALGOL 68 (1970) [3], Jawa, dan C #.

Versi pertama dari FORTRAN (1957) dan penggantinya FORTRAN II (1958) tidak memiliki nilai logis atau operasi, bahkan pernyataan kondisional JIKA mengambil sebuah ekspresi aritmatika dan bercabang ke salah satu dari tiga lokasi sesuai dengan tandanya. FORTRAN IV (1962), namun, mengikuti ALGOL 60 misalnya dengan menyediakan tipe data Boolean (LOGIS), literal kebenaran (TRUE.. Dan. FALSE.), Bernilai Boolean operator perbandingan numerik (. EQ., GT.., dll), dan operator logika (TIDAK.., DAN..,. ATAU.). Dalam laporan FORMAT, karakter kontrol tertentu ('L') diberikan untuk parsing atau format nilai logis. [4]

Bahasa Lisp (1958) tidak pernah memiliki built-in tipe data Boolean. Sebaliknya, bersyarat konstruksi seperti COND berasumsi bahwa nilai logis "palsu" yang diwakili oleh daftar kosong (), yang didefinisikan untuk menjadi sama dengan atom khusus nihil atau NIL; sedangkan setiap s ekspresi-lain ditafsirkan sebagai "benar" . Untuk kenyamanan, sebagian dialek modern Lisp predefine t atom memiliki nilai t, sehingga kita dapat menggunakan t sebagai notasi mnemonik untuk "benar". Pendekatan ("nilai apapun dapat digunakan sebagai nilai Boolean") dipertahankan dalam dialek Lisp sebagian besar (Common Lisp, Scheme, Emacs Lisp), dan model serupa diadopsi oleh bahasa scripting banyak, bahkan yang memiliki tipe Boolean yang berbeda atau nilai-nilai Boolean; walaupun nilai-nilai yang diinterpretasikan sebagai "palsu" dan yang "benar" bervariasi dari bahasa ke bahasa. Dalam Skema, misalnya, "false" nilai adalah berbeda atom dari daftar kosong, sehingga yang terakhir ini ditafsirkan sebagai "benar". Pada Python, nilai numerik dari nol (integer atau pecahan), nilai null (Tidak ada), dan kontainer kosong (string yaitu, daftar, set, dll) dianggap salah Boolean; semua nilai-nilai lain dianggap Boolean benar secara default. Di Ruby, di sisi lain, hanya objek null dan benda palsu khusus adalah "false", segala sesuatu yang lain (termasuk integer 0 dan array kosong) adalah "benar". Dalam JavaScript, string "kosong", null, undefined, NaN, +0, -0, dan false [5] kadang-kadang disebut "falsy", dan mereka melengkapi, "truthy", untuk membedakan antara tipe-diperiksa secara ketat dan memaksa boolean. [6] Bahasa seperti PHP juga menggunakan pendekatan ini.

Standar awal untuk bahasa C (1972) tidak memberikan tipe Boolean, dan, sampai hari ini, nilai Boolean biasanya diwakili oleh bilangan bulat (int) dalam program C. Perbandingan operator ('>','==', dll) didefinisikan untuk mengembalikan signed integer (int) hasil, baik nol (untuk false) atau 1 (untuk yang benar). Konvensi yang sama diasumsikan oleh operator logika ('&&','||',, '!', Dll) dan pernyataan kondisi-testing ('jika', 'sementara'). Dengan demikian nilai-nilai logika dapat disimpan dalam variabel integer, dan digunakan di mana saja bilangan bulat akan berlaku, termasuk dalam pengindeksan, aritmatika, parsing, dan format. Pendekatan ("Boolean nilai hanya bilangan bulat") dipertahankan dalam semua versi C.
Beberapa dialek yang, seperti C99 dan Objective-C, memberikan definisi standar tipe Boolean sebagai sinonim dari int dan macro untuk "palsu" dan "benar" sebagai 0, dan 1 masing-masing. Visual Basic menggunakan pendekatan yang sama. C + + memiliki Boolean terpisah tipe data ('bool'), tetapi dengan konversi otomatis dari nilai skalar dan pointer yang sangat mirip dengan C. Pendekatan ini diadopsi juga oleh bahasa banyak kemudian, terutama oleh beberapa orang scripting seperti AWK dan Perl. Satu masalah dengan pendekatan ini adalah bahwa tes jika (t ){...} == TRUE dan jika (t) tidak setara. Python memiliki situasi yang terkait, dimana tipe Boolean, bool merupakan subtipe dari integer int jenis,, dan boolean bertindak benar dan salah sebagai 0 dan 1, masing-masing, dalam konteks aritmatika.

Bahasa Pascal (1978) memperkenalkan konsep tipe enumerated programmer-didefinisikan. Built-in tipe data Boolean kemudian diberikan sebagai tipe enumerated yang telah ditetapkan dengan nilai-nilai FALSE dan TRUE. Menurut definisi, semua perbandingan, operasi logis, dan pernyataan bersyarat diterapkan untuk dan / atau menghasilkan nilai Boolean. Jika tidak, tipe Boolean memiliki semua fasilitas yang tersedia untuk tipe enumerated secara umum - seperti pemesanan dan digunakan sebagai indeks. Di sisi lain, konversi antara boolean dan bilangan bulat (atau jenis lainnya) masih diperlukan tes eksplisit atau pemanggilan fungsi, seperti pada ALGOL 60. Pendekatan ("Boolean adalah tipe enumerasi") diadopsi oleh bahasa yang paling kemudian yang telah disebutkan jenis, seperti Modula, Ada dan Haskell.

Setelah tipe enumerated (enum ''s) ditambahkan ke versi ANSI C (1989), banyak programmer C terbiasa untuk mendefinisikan jenis mereka sendiri Boolean seperti itu, karena alasan mudah dibaca. Namun, tipe enumerated yang setara dengan bilangan bulat sesuai dengan standar bahasa, sehingga identitas yang efektif antara boolean dan integer tetap berlaku bagi program C.

Boolean dlm versi terbaru dari Python, benda yang ditetapkan pengguna dapat menentukan nilai kebenaran mereka dengan memberikan metode __bool__. [7]

Pada standar 1999, SQL yang ditetapkan tipe data Boolean dengan empat nilai yang mungkin: true, false, tidak diketahui atau null. Namun, vendor dapat memilih untuk menyamakan dua nilai terakhir [8].. Karena inkonsistensi ini kebanyakan implementasi SQL (dengan pengecualian dari Postgresql) [9] menggunakan tipe data lain (seperti bit, byte, dan karakter) untuk mensimulasikan nilai Boolean.
Kesimpulan:
           
·         Tipe data Boolean mengandung nilai dua-negara seperti benar / salah, ya / tidak, atau on / off.

Nilai default dari Boolean adalah False.
Jenis Konversi

Ketika Visual Basic mengkonversi nilai numerik ke tipe data Boolean, 0 menjadi Palsu dan semua nilai lain menjadi True. Ketika Visual Basic mengkonversi nilai Boolean untuk tipe numerik, Palsu dan Sejati menjadi 0 menjadi -1.

Bila Anda mengkonversi antara nilai-nilai boolean dan tipe data numerik, perlu diingat bahwa NET Framework. metode konversi tidak selalu menghasilkan hasil yang sama seperti kata kunci konversi Visual Basic. Hal ini karena konversi Visual Basic mempertahankan perilaku yang kompatibel dengan versi sebelumnya. Untuk informasi lebih lanjut, lihat Pemecahan Masalah Tipe Data.
Programming Tips
·         Bilangan Negatif. Boolean bukan tipe numerik dan tidak dapat mewakili nilai negatif. Dalam hal apapun, Anda tidak harus menggunakan Boolean untuk menyimpan nilai numerik.
·         Tipe Karakter. Boolean tidak memiliki tipe karakter harfiah atau pengidentifikasi tipe karakter.
·         Jenis Framework. Jenis yang sesuai di NET Framework. adalah struktur System.Boolean.

Note book:
Literal Boolean
Nilai true dan false pada java merupakan literal boolean. Suatu variabel bertipe boolean hanya dapat memiliki nilai true atau false.
boolean ok = true;
Ingat bahwa boolean true atau false TIDAK menggunakan tanda petik tunggal seperti ekspresi pada karakter.


contoh tipe data Boolean:
Dim runningVB As Boolean
' Check to see if program is running on Visual Basic engine.
If scriptEngine = "VB" Then
    runningVB = True
End If
Contoh program Boolean:
Contoh:
Program display_bool;
Usees wincrt;
Begin writeln(ord(true));
Writeln(ord(false));
End.
Hasilnya:0 13.2.

Senin, 25 Maret 2013

Konsep Dasar Algoritma

Sebelum belajar algoritma pemrograman, akan lebih baik kita pahami terlebih dahulu langkah-langkah pembuatan suatu program. Terdapat beberapa langkah umum dalam pembuatan suatu program yaitu:

  1. Mendefinisikan masalah
  2. Mencari solusinya
  3. Menentukan algoritma
  4. Menulis program
  5. Menguji program
  6. Mendokumentasikan program
  7. Merawat program
Mendefinisikan masalah
Langkah yang pertama dilakukan adalah mendefinisikan permasalahan. langkah ini harus dilakukan untuk menentukan masalah yang ada serta ditentukan pula input dan output program.
Mencari solusi
Kemudian ditentukan solusi dari permasalahan yang dihadapi. Bila untuk mendapatkan solusi harus melalui langkah yang terlalu rumit dapat dilakukan pembagian masalah dalam beberapa modul-modul kecil agar mudah untuk dikerjakan. Lalu modul-modul kecil tersebut digabungkan menjadi satu untuk dapat menentukan solusi.
Menentukan algoritma
Dalam pemilihan algoritma, pemrogram atau analis harus menggunakan algoritma yang sesuai dan efisien untuk masalah yang dihadapi.
Menulis program
Penulisan program bisa dilakukan dengan menggunakan bahasa pemrograman yang dikuasai dan memiliki kompabilitas dengan perangkat keras yang akan menggunakan program tersebut.
Menguji program
Bila program sudah selesai dibuat, pengujian diperlukan untuk mengetahui apakah program yang dibuat sudah layak untuk digunakan.
Mendokumentasikan program
Penulisan dokumentasi yang biasanya dilupakan oleh pemrogram menjadi sangat penting saat akan dilakukan perubahan pada program yang dibuat. penulisan program ini dapat dilakukan dengan menulis komentar pada source code tentang kegunaannya (variabel, parameter, procedur, fungsi).
Merawat program
Program yang sudah selesai dibuat juga perlu dirawat dengan pendeteksian bug yang belum diketahui sebelumnya juga penambahan fasilitas baru yang mempermudah pengguna program.
Dari penjelasan diatas, dapat kita peroleh kesimpulan bahwa pembelajaran algoritma pemrograman adalah bagian dari langkah-langkah pembuatan program. Untuk lebih jelasnya tentang algoritma pemrograman akan diulas sebagai berikut :
Algoritma
Algoritma yaitu kumpulan langkah-langkah / steps untuk menyelesaikan masalah menggunakan komputer (program komputer) dengan syarat tertentu. Adapun syarat-syaratnya adalah sebagai berikut :
  1. Setiap langkah harus DEFINITE (pasti, tertentu), dalam algoritma terdapat instruksi-instruksi yang jelas dan tidak ambigu.
  2. Minimum mempunyai 1 output (input boleh tidak ada)
  3. Harus ada stoping criteria (bisa berhenti).
Algoritma juga mempunyai beberapa jenis yaitu :
  1. Sequence, instruksi dikerjakan berurutan (sekuensial).
  2. Selection, instruksi dikerjakan bila kreteria tertentu terpenuhi.
  3. Iteration, instruksi dikerjakan selama memenuhi kondisi tertentu.
  4. Concurrent, mengerjakan banyak instruksi secara bersama.
Contoh algoritma
Algoritma menghitung luas persegi.
  1. Masukkan sisi (S)
  2. Luas <- S * S
  3. Tulis Luas
Untuk menulis suatu penjelasan cara menyelesaikan masalah dapat pula digunakan Pseudo Code yaitu berupa pengkodean atau penandaan yang menyerupai suatu program. Pseudo Code ini sering digunakan dalam penulisan algoritma.
Contoh : Mencari bilangan terkecil dari dua bilangan yang dimasukkan.
Algoritma :
  1. Masukkan bil pertama
  2. Masukkan bil kedua
  3. Jika bil pertama < bil kedua maka kerjakan langkah 4, bila tidak maka dikerjakan langkah 5.
  4. Tampilkan bil pertama
  5. Tampilkan bil kedua
Pseudo code:
  1. Input x
  2. Input y
  3. If x < y then langkah 4 else langkah 5
  4. write x
  5. write y
Dari penjelasan diatas tampaklah perbedaan antara penulisan algoritma dalam bentuk tertentu. Dengan begitu akan lebih mudah dipahami oleh pemrogram dan orang lain yang ingin di beri pemahaman.

Mengatasi Program Has Stopped Working

Rasa amarah pasti bangkit ketika kita sedang mengerjakan tugas di program office, browsing menggunakan program browser atau main game, tiba-tiba program has stopped working, serasa ingin banting laptop tapi sayang, soalnya enggak ada lagi,, :D


Setelah saya explorer, saya menemukan penyebab dan cara untuk mengatasinya.
Penyebab yang sudah tidak asing lagi adalah software, bisa karena program corrupt, terinfeksi virus, dan karena registry error.
Cara mengatasinya bisa dengan cara DEP (Deep Execution Prevention).
Langkah-langkahnya,

- klik Start -> Computer -> klik kanan lalu Properties atau dengan tombol di keyboard ( windows + Pause Break)


- lalu pilih Advance System Settings


-  pada jendela System Properties, pilih tab advance lalu klik command button Settings
- pilih tab Data Execution Prevention lalu pilih turn on DEP for all programs and services except those I select, dan klik add, pilih program yang sering has stopped working, setelah itu, restart PC/Laptopnya.
Coba jalankan programnya, apabila program tidak has stopped working lagi, berarti cara di atas berhasil, dan jika program masih has stopped working, coba otak-atik compability modenya, sampai tidak terjadi crash lagi, terus scan PC/Laptop sobat, mungkin penyebabnya karena program terinfeksi virus, untuk pengecekan menggunakan antivirus, gunakan antivirus yang tidak menghapus file yang terinfeksi, apabila setelah di scan program masih tetap crash, coba instal ulang programnya, barangkali ada file yang hilang.

Sistem Pembangun Jaringan Internet

Jaringan internet terbentuk dengan adanya Web Server, Proxy Server, Mail Server, File Transfer Protocol (FTP) Server, dan DNS Server.

System tersebut dinamakan Sistem Integrasi. Sistem inilah yang membangun jaringan internet.

1. Web Server


Web Server merupakan sebuah layanan akses kepada user melalui protocol HTTP atau HTTPS melalui Web Browser.
Web Server yang umum digunakan adalah Apache dan Microsoft Internet Information Services (IIS)








2. Proxy Server

Proxy Server merupakan sebuah perantara yang bertindak sebagai perantara permintaan dari pengguna (client) mencari sumber daya dari server lain. Penggunalayan A terhubung ke server perantara, meminta beberapa layanan, seperti berkas, sambungan, laman, atau sumber daya lainnya, yang tersedia dari peladen yang berbeda. Server perantara menilai uji (evaluate) permintaan menurut aturan penyaringan.
Fungsi dari Proxy Server adalah :
  • Untuk menjaga mesin di balik anonim (terutama untuk keamanan).
  • meningkatkan akses ke sumber (menggunakan caching). Web proxy biasanya digunakan untuk cache halaman internet dari server web.
  • menerapkan aturan akses terhadap internet atau isinya, seperti memblok situs yang tidak diinginkan
  • Untuk melewati kontrol keamanan/ parental.
  • memindai perpindahan konten bila terdapat malware sebelumya.
  • Untuk memindai konten outbound, misalnya untuk perlindungan data dari kebocoran.
  • Untuk menghindari pembatasan regional.
 3. Mail Server

 
Mail Server adalah Perangkat lunak program yang mendistribusikan file atau informasi sebagai respons atas permintaan yang dikirim via email.
Mail Server dibagi menjadi 2, yaitu :
  • Web Mail
Adalah klien email yang menggunakan halaman Web sebagai media untuk mengelola email di sisi klien. Sesuai dengan sifat AplikasiWeb, pemakai Webmail tidak perlu melakukan instalasi perangkat lunak dan cukup mengisi sangat sedikit konfigurasi. Dengan kemudahan akses halaman Web dari banyak tempat, Webmail menjadi lebih disukai lagi terutama bagi mereka yang sering berganti-ganti komputer untuk akses Internet.
  • E-Mail Client
Adalah software yang digunakan untuk organisasi email, baik untuk akun email berbayar maupun yang gratis. Syaratnya, harus ada akun POP3-nya. Email Client biasa disebut juga sebagai Oulook Express.

4. FTP Server

FTP terdiri dari sebuah client dan sebuah server yang merupakan aplikasi yang memberikan akses /pertukaran transfer data antara dua komputer ( client dan server ). Transfer data ini dapat terjadi antara komputer yang berbentuk mainframe dan sebuah komputer di jaringan lokal atau transfer data dapat terjadi dari komputer kita ke server FTP melalui internet. FTP merupakan aplikasi yang sangat berguna ( powerful) karena aplikasi ini menyediakan akses kepada pengunjung atau user untuk mengakses data yang tersimpan pada server tersebut, dan dapat diakses oleh sejumlah besar komputer secara bersamaan

Proses yang terjadi pada FTP ada 2 alur, yaitu Alur yang pertama adalah proses transfer data dari komputer lokal ( komputer kita ) ke komputer server (komputer remote) yang menyediakan akses ftp, Proses ini di kenal sebagai proses UPLOAD, sedangkan proses transfer data dari komputer server ( remote ke komputer lokal ( komputer kita ) dinamakan prosess DOWNLOAD.

Bentuk dasar dari ftp adalah : ftp://host.domain
2 macam FTP berdasarkan hak akses nya :
1. FTP User
FTP user artinya ftp yang dapat di akses dan memiliki permisi hanya di batasi hanya untuk user tertentu. Karena ftp user disertakan suatu autentifikasi bila kita akan mengakses ke dalam nya.
Format dari FTP user adalah :
ftp://user@host.domain
2. FTP anonymous
FTP anonymous artinya, FTP yang disediakan secara anonymous/ tanpa nama, dengan kata lain FTP tersebut dapat di akses oleh siapapun dan biasanya tanpa password, ataupun bila di minta password,. Biasanya server meminta alamat email kita sebagai password nya untuk ferivikasi.
Contoh nya :
ftp://unila.ac.id
ftp://ftp5.freebsd.org
ftp://ftp.tucows.com

5. DNS Server

Inti dari sistem integrasi adalah DNS, sebuah web tidak akan bisa berjalan tanpa adanya DNS, karena DNS atau Sistem Penamaan Domain merupakan sebuah sistem yang menyimpan informasi tentang nama host ataupun nama domain dalam bentuk basis data (distributed database) di dalam jaringan komputer, misalkan: Internet. DNS menyediakan alamat IP untuk setiap nama host dan mendata setiap server transmisi surat (mail exchange server) yang menerima surel (email) untuk setiap domain. Menurut browser Google Chrome, DNS adalah layanan jaringan yang menerjemahkan nama situs web menjadi alamat internet. Web yang tidak memiliki DNS tidak bisa berjalan karena tidak memiliki nama domainnya.

Setting dan Install Router Microtik


 1. Langkah pertama adalah install Mikrotik RouterOS pada PC atau pasang DOM.

2. Login Pada Mikrotik Routers melalui console :
MikroTik v2.9.7
Login: admin
Password: (kosongkan)
Sampai langkah ini kita sudah bisa masuk pada mesin Mikrotik. User default adalah admin
dan tanpa password, tinggal ketik admin kemudian tekan tombol enter.

3. Untuk keamanan ganti password default
[admin@Mikrotik] > password
old password: *****
new password: *****
retype new password: *****
[admin@ Mikrotik]] >

4. Mengganti nama Mikrotik Router, pada langkah ini nama server akan diganti menjadi [admin@Mikrotik] > system identity set name=WAHYU
[admin@ WAHYU] >

5. Melihat interface pada Mikrotik Router
[admin@ WAHYU] > interface print
Flags: X - disabled, D - dynamic, R - running
# NAME TYPE RX-RATE TX-RATE MTU
0 R ether1 ether 0 0 1500
1 R ether2 ether 0 0 1500
[admin@ WAHYU] >

6. Memberikan IP address pada interface Mikrotik. Misalkan ether1 akan kita gunakan
untuk koneksi ke Internet dengan IP 192.168.0.1 dan ether2 akan kita gunakan untuk network local kita dengan IP 172.16.0.1
[admin@ WAHYU] > ip address add address=192.168.0.1
netmask=255.255.255.0 interface=ether1
[admin@ WAHYU] > ip address add address=172.16.0.1
netmask=255.255.255.0 interface=ether2

7. Melihat konfigurasi IP address yang sudah kita berikan
[admin@ WAHYU] >ip address print
Flags: X - disabled, I - invalid, D - dynamic
# ADDRESS NETWORK BROADCAST INTERFACE
0 192.168.0.1/24 192.168.0.0 192.168.0.63 ether1
1 172.16.0.1/24 172.16.0.0 172.16.0.255 ether2
[admin@ WAHYU] >

8. Memberikan default Gateway, diasumsikan gateway untuk koneksi internet adalah
192.168.0.254
[admin@ WAHYU] > /ip route add gateway=192.168.0.254

9. Melihat Tabel routing pada Mikrotik Routers
[admin@ WAHYU] > ip route print
Flags: X - disabled, A - active, D - dynamic,
C - connect, S - static, r - rip, b - bgp, o - ospf
# DST-ADDRESS PREFSRC G GATEWAY DISTANCE INTERFACE
0 ADC 172.16.0.0/24 172.16.0.1 ether2
1 ADC 192.168.0.0/26 192.168.0.1 ether1
2 A S 0.0.0.0/0 r 192.168.0.254 ether1
[admin@ WAHYU] >

10. Tes Ping ke Gateway untuk memastikan konfigurasi sudah benar
[admin@ WAHYU] > ping 192.168.0.254
192.168.0.254 64 byte ping: ttl=64 time<1 ms
192.168.0.254 64 byte ping: ttl=64 time<1 ms
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0/0.0/0 ms
[admin@ WAHYU] >

11. Setup DNS pada Mikrotik Routers
[admin@ WAHYU] > ip dns set primary-dns=192.168.0.10 allow-remoterequests=no
[admin@ WAHYU] > ip dns set secondary-dns=192.168.0.11 allow-remoterequests=no

12. Melihat konfigurasi DNS
[admin@ WAHYU] > ip dns print
primary-dns: 192.168.0.10
secondary-dns: 192.168.0.11
allow-remote-requests: no
cache-size: 2048KiB
cache-max-ttl: 1w
cache-used: 16KiB
[admin@ WAHYU] >

13. Tes untuk akses domain, misalnya dengan ping nama domain
[admin@ WAHYU] > ping yahoo.com
216.109.112.135 64 byte ping: ttl=48 time=250 ms
10 packets transmitted, 10 packets received, 0% packet loss
round-trip min/avg/max = 571/571.0/571 ms
[admin@ WAHYU] >
Jika sudah berhasil reply berarti seting DNS sudah benar.

14. Setup Masquerading, Jika Mikrotik akan kita pergunakan sebagai gateway server maka agar client computer pada network dapat terkoneksi ke internet perlu kita masquerading.
[admin@ WAHYU]> ip firewall nat add action=masquerade outinterface=
ether1 chain:srcnat
[admin@ WAHYU] >

15. Melihat konfigurasi Masquerading
[admin@ WAHYU]ip firewall nat print
Flags: X - disabled, I - invalid, D - dynamic
0 chain=srcnat out-interface=ether1 action=masquerade
[admin@ WAHYU] >
Setelah langkah ini bisa dilakukan pemeriksaan untuk koneksi dari jaringan local. Dan jika berhasil berarti kita sudah berhasil melakukan instalasi Mikrotik Router sebagai Gateway server. Setelah terkoneksi dengan jaringan Mikrotik dapat dimanage menggunakan inBox
yang bisa di download dari Mikrotik.com atau dari server mikrotik kita.
Misal Ip address server
mikrotik kita 192.168.0.1, via browser buka http://192.168.0.1 dan download WinBox dari situ.
Jika kita menginginkan client mendapatkan IP address secara otomatis maka perlu kita

setup dhcp server pada Mikrotik. Berikut langkah-langkahnya :

1.Buat IP address pool
/ip pool add name=dhcp-pool ranges=172.16.0.10-172.16.0.20

2. Tambahkan DHCP Network dan gatewaynya yang akan didistribusikan ke client Pada contoh ini networknya adalah 172.16.0.0/24 dan gatewaynya 172.16.0.1
/ip dhcp-server network add address=172.16.0.0/24 gateway=172.16.0.1

3. Tambahkan DHCP Server ( pada contoh ini dhcp diterapkan pada interface ether2 )
/ip dhcp-server add interface=ether2 address-pool=dhcp-pool

4. Lihat status DHCP server
[admin@ WAHYU]> ip dhcp-server print
Flags: X - disabled, I - invalid
# NAME INTERFACE RELAY ADDRESS-POOL LEASE-TIME ADD-ARP
0 X dhcp1 ether2
Tanda X menyatakan bahwa DHCP server belum enable maka perlu dienablekan terlebih dahulu pada langkah 5.

5. Jangan Lupa dibuat enable dulu dhcp servernya
/ip dhcp-server enable 0
kemudian cek kembali dhcp-server seperti langkah 4, jika tanda X sudah tidak ada berarti sudah aktif.

6. Tes Dari client
c:\>ping www.kuswanto.6te.net

untuk bandwith controller, bisa dengan sistem simple queue ataupun bisa dengan mangle
[admin@ WAHYU] queue simple> add name=Komputer01
interface=ether2 target-address=172.16.0.1/24 max-limit=65536/131072
[admin@ WAHYU] queue simple> add name=Komputer02
interface=ether2 target-address=172.16.0.2/24 max-limit=65536/131072
dan seterusnya

Konfigurasi PC Router dan Proxy Server Dengan Ubuntu 10.10

PC Router adalah Sistem Operasi yang memiliki fasilitas untuk membagi dan mensharing IP Address, jadi jika suatu perangkat jaringan (pc) yang terhubung ke komputer tersebut akan dapat menikmati IP Address atau koneksi internet yang disebarkan oleh Sistem Operasi tersebut, contoh sistem operasi yang dapat digunakan adalah semua sistem operasi berbasis client server, semisal Windows NT, Windows NT 4.0, Windows 2000 server, Windows 2003 Server, Linux, dan lain-lain, dan proxy server adalah server yang bertugas menyimpan sementara (cache) file html server lain, kegunaannya adalah untuk mempercepat akses internet. Untuk lebih lanjutnya sobat dapat membaca postingan saya sebelumnya.


Langkah awalnya untuk membangun PC Router dan Proxy server adalah sebagai berikut:

Bahan-bahan/Ingredients:

  1.  Siapkan Switch, dan Modem
  2. PC yang akan dijadikan PC Router
  3. CD Ubuntu 10.xx (karena jika menggunakan versi yang di bawah 10, LAN Card tidak akan langsung terdetect)
  4. 2 Buah LAN Card
  5. Koneksi ke Internet (Yang saya gunakan adalah ISP Speedy)
  6. Squid
  7. Kabel LAN

Cara membuatnya:

  1. Instal Ubuntunya
  2. Jika sudah selesai, buka Application -> Accessories -> Terminal
  3. Login sebagai root, dengan cara mengetikan $sudo su dan masukan password
  4. Terlebih dahulu sobat harus melihat konfigurasi ethernet defaultnya, dengan mengetikan #ifconfig, jika eth0 dan eth1-nya terdeteksi, maka kita lanjut ke tahap selanjutnya
  5. Selanjutnya konfigurasi ethernetnya, dengan mengetikan #nano /etc/network/interfaces, lalu masukan script di bawah ini
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp (jika menggunakan internet dengan IP Static, maka setinglah sebagai static)
auto eth1 (untuk jaringan lokal)
iface eth1 inet static
address 192.168.44.1 (misalkan)
netmask 255.255.255.0
network 192.168.44.0
lalu tekan ctrl+o untuk simpan, dan ctrl+x untuk keluar
  6.  Restart jaringan tersebut, #/etc/init.d/networking restart
  7.  Ketikan perintah, #nano /etc/sysctl.conf, lalu cari baris berikut dengan ctrl+w, net.ipv4.ip_forward=1, hilangkan tanda # disampingya.
  8.  Lalu ketikan perintah berikut, dan masukan ke rc.local, #iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  9. Masukan perintah yang di step 8, ke rc.local, #nano /etc/rc.local, atas exit 0
10. Langkah selanjutnya adalah dengan menginstal squidnya, tetapi sebelumnya, update dulu, #apt-get update, setelah update, baru instal squidnya, #apt-get install squid squid-common
11. Lalu konfigurasi squidnya, #nano /etc/squid/squid.conf
12. Membuat transparent Proxy, (Transparent proxy adalah konfigurasi proxy dimana client yang terhubung ke proxy tidak harus menyeting browser satu2 sob,  jadi tinggal redirect saja maka computer itu sudah bisa memanfaatkan server proxy sebagai cache, ini berguna bagi area hotspot atau warnet yang tidak perlu repot untuk mengkonfigurasikan tiap browser di client.), cari (ctrl+w) http_port 3128, kemudian rubah menjadi : http_port 3128 transparent
13. cari acl connect, dan tambahkan dibawahnya script di bawah ini:
   acl situs dstdomain "/etc/squid/badsites"
   no_cache deny situs
   http_access deny situs
   acl jaringan src 192.168.44.0/24
   http_access allow jaringan
14. cari TAG: visible_hostname, hapus tanda #, dan ganti menjadi, visible_hostname (nama host)
15. cari juga cache_mgr webmaster, hapus tanda #, dan ganti menjadi cache_mgr (nama atau email)
16. Selelah itu, cari http_access deny all, tambahkan tanda # di sampingya
17. Selanjutnya buat daftar situs yang akan di blok, #nano /etc/squid/badsites
   www.facebook.com
   www.youtube.com
   facebook.com
   youtube.com
18. Cek konfigurasi squidnya, #squid -z
19. Edit rc.local agar firewallnya berjalan otomatis, #nano /etc/rc.local, dan tambahkan script dibawah ini, di atas exit 0
 iptables -t nat -A PREROUTING -s 192.168.44.0/24 - tcp --dport 80 -j REDIRECT --to-ports 3128
20. Test konfigurasinya, jika situs facebook dan youtube access denied, berarti konfigurasinya berhasil.

Kamis, 07 Maret 2013

Dasar-Dasar Basis Data

Pengertian Data dan Informasi
Data adalah fakta mengenai objek, orang dan lain-lain yang dinyatakan dengan nilai (angka, deretan karakter, atau simbol). Sedangkan informasi adalah data yang telah diorganisasikan ke dalam bentuk yang sesuai dengan kebutuhan seseorang

Pengertian Basis Data
Basis Data adalah Himpunan kelompok data (arsip) yang saling berhubungan dalam satu kesatuan tanpa pengulangan (redudansi) yang disimpan dalam media penyimpanan elektronis.
Prinsip utama basis data adalah pengaturan data/arsip. Tujuan utamanya adalah kemudahan dan kecepatan dalam pengambilan kembali data/arsip.

Sejarah Basis Data
Sistem pemrosesan manual (berbasis kertas) merupakan bentuk pemrosesan yang menggunakan dasar berupa setumpuk record yang disimpan pada rak-rak berkas. Jika suatu berkas diperlukan, berkas tersebut harus dicari pada rak-rak tersebut.
Pada awal penerapan sistem komputer, sekelompok record disimpan pada sejumlah berkas secara terpisah. Sistem yang menggunakan pendekatan seperti ini biasa disebut dengan sistem pemrosesan berkas.
Sistem pemrosesan basis data mempunyai tujuan untuk menggantikan kelemahan dari sistem pemrosesan berkas, dalam hal:
  1. Kemubaziran data atau duplikasi data, yang diakibatkan oleh karena setiap program aplikasi menggunakan data tersendiri.
  2. Ketidakkonsistenan data, yang diakibatkan oleh adanya perubahan terhadap data yang sama, tetapi tidak semuanya diubah.
  3. Kekurangluwesan sistem pemrosesan berkas terletak pada hal pengembangan atau perubahan.
Sistem pemrosesan basis data dikenal dengan sebutan DBMS (database management system).
DBMS (Database Management System)
DBMS adalah software yang menangani semua akses ke basis data. Secara konsep apa yang terjadi adalah sebagai berikut:
  1. User melakukan pengaksesan basis data untuk informasi yang diperlukannya menggunakan suatu bahasa manipulasi data, biasanya disebut SQL.
  2. DBMS menerima request dari user & menganalisa request tersebut
  3. DBMS memeriksa skema eksternal user, pemetaan eksternal/konseptual, skema konseptual, pemetaan konseptual/internal, & struktur penyimpanan.
  4. DBMS mengeksekusi operasi-operasi yang diperlukan untuk memnuhi permintaan user.
Bahasa yang Disediakan oleh DBMS/Sistem Basis Data
Sebuah sistem basis data menyediakan dua tipe bahasa yaitu : tipe untuk menspesifikasikan skema basis data, disebut DDL (Data Definition Language), dan tipe untuk mengekspresikan query atau update basis data, disebut DML (Data Manipulation Language).
Data Definition Language
Skema basis data dispesifikasikan oleh sekumpulan definisi dengan sebuah bahasa khusus yang disebut data definition language (DDL). Hasil kompilasi DDL berupa tabel-tabel yang disimpan dalam sebuah file, disebut kamus data atau data directory. Kamus data adalah sebuah file yang berisi metadata. File ini yang dikonsultasi sebelum data yang sebenarnya dibaca atau dimodifikasi oleh sistem basis data.
Data Manipulation Language
DML dalah bahasa untuk memanipulasi data yaitu:
  • Pengambilan informasi yang disimpan dalam basis data
  • Penyisipan informasi baru ke basis data
  • Penghapusan informasi dari basis data
  • Modifikasi informasi yang disimpan dalam basis data
Query adalah statement yang ditulis untuk mengambil informasi. Bagian dari DML yang menangani pengambilan informasi ini disebut bahasa query.
Database Administrator (DBA)
Administrator basis data (DBA) adalah orang yang bertanggungjawab terhadap strategi yang berhubungan dengan pengolahan data pada suatu perusahaan. Selain hal tersebut, DBA adalah orang yang bertanggung jawab terhadap implementasi strategi tersebut secara teknis.
Berikut dijelaskan beberapa fungsi DBA secara detail:
  1. mendefinisikan skema konseptual, yaitu memutuskan informasi apa saja yang akan dihasilkan oleh sutu basis data.
  2. mendefinisikan skema internal Selain menentukan skema konseptual dari basis data, DBA juga bertanggung jawab terhadap desain penyimpanan data secara fisik.
  3. mensosialisasikan hasil rancangan baik konseptual & internal ke user. Dalam hal ini tugas DBA adalah menyakinkan user bahwa data yang mereka perlukan semua telah tersedia & membantu user untuk mengimplementasikan rancangan tersebut dalam DDL.
  4. mendefinisikan aturan-aturan keamanan & integritas data
  5. mendefinisikan prosedur-prosedur back-up & recovery
  6. memonitor performansi sistem & menangani perubahan-perubahan yang ada.
Arsitektur system basis data
Arsitektur sistem basis data memberikan kerangka kerja bagi pembangunan basis data.
LEVEL ARSITEKTUR BASIS DATA
Menurut ANSI/SPARC, arsitektur basis data terbagi atas tiga level yaitu :
  1. Internal/Physical Level: berhubungan dengan bagaimana data disimpan secara fisik (physical storage). Internal level adalah level terendah untuk merepresentasikan basis data. Record disimpan dalam media penyimpanan dalam format byte. Didefinisikan sebagai sebuah skema internal.
  2. External /View Level: berhubungan dengan bagaimana data direpresentasikan dari sisi setiap user. View level adalah level user, yang dimaksud dengan user adalah programmer, end user atau Database Administrator (DBA). (programmer : bahasa yang digunakan adalah bahasa pemrograman seperti C, COBOL, atau PL/I), (end user : bahasa yang digunakan adalah bahasa query atau menggunakan fasilitas yang tersedia pada program aplikasi pada level eksternal ini, user dibatasi pada kemampuan perangkat keras dan perangkat lunak yang digunakan aplikasi basis data yang didefinisikan sebagai sebuah skema eksternal.)
  3. Conceptual/Logical Level: Yang menghubungkan antara internal & external level. Conceptual level adalah sebuah representasi seluruh muatan informasi yang dikandung oleh basis data.
PEMETAAN
Conceptual/Internal Mapping yaitu pemetaan yang mendefinisikan hubungan antara level konseptual dan level internal. Pemetaan ini menjelaskan bagaimana record & field pada level konseptual direpresentasikan pada level internal.
External/Conceptual Mapping yaitu pemetaan yang mendefinisikan hubungan antara level eksternal dan level konseptual.
MODEL-MODEL DATA
Model data adalah sekumpulan tool konseptual untuk mendeskripsikan data, relasi-relasi antar data, semantik data & konsistensi konstrain.
Object-based logical models
Object base logical model terbagi atas beberapa model, yaitu:
  1. Entity-relationship model
  2. Object-oriented model
  3. Semantic data model
  4. Functional data model
Dua dari model di atas yaitu:
  1. Entity-relationship Model E-R model didasarkan atas persepsi terhadap dunia nyata yang terdiri dari sekumpulan objek, disebut entity dan hubungan antar objek tersebut, disebut relationship. Entity adalah objek di dunia yang bersifat unik. Setiap entity mempunyai atribut yang membedakannya dengan entity lainnya.
  2. Object-Oriented Model Model berorientasi objek berbasiskan kumpulan objek, dimana setiap objek berisi:

  • Nilai yang disimpan dalam variabel instant, dimana variabel tersebut “melekat” dengan objek itu sendiri.
  • Metode : operasi yang berlaku pada objek yang bersangkutan.
  • Objek-objek yang memiliki tipe nilai & metode yang sama dikelompokkan dalam satu kelas. Kelas disini mirip dengan tipe data abstrak pada bahasa pemrograman.
  • Sending a message : sebuah objek dapat mengakses data sebuah objek yang lain hanya dengan memanggil metode dari objek tersebut.
Record-based logical models
Terdapat beberapa model dalam kelompok ini :
  1. Model Relasional ( Relational Model), Model relasional menggunakan kumpulan tabel-tabel untuk merepresentasikan data & relasi antar data tersebut.
  2. Model Jaringan (Network Model ), Data dalam model jaringan direpresentasikan dengan sekumpulan record, dan relasi antara data direpresentasikan oleh record & link.
  3. Model Hirarki (Hirarchical Model), Mirip dengan model jaringan. Data direpresentasikan dalam record dan link. Perbedaannya adalah, pada model hirarki record-record diorganisasikan sebagai tree (pohon) daripada graf. Model relasional berbeda dengan model jaringan & hirarki, dalam hal penggunaan pointer atau link.

Selasa, 05 Maret 2013

Pengantar Basis Data


Basis data menyediakan fasilitas atau memudahkan dalam memproduksi informasi yang digunakan oleh pemakai untuk mendukung pengambilan keputusan. Hal inilah yang menjadikan alasan dari penggunaan tehnologi basis data pada saat sekarang (dunia bisnis).  Berikut ini contoh penggunaan Aplikasi database dalam dunia bisnis :
  • Bank : Pengelolaan data nasabah, akunting, semua transaksi perbankan
  • Bandara: Pengelolaan data reservasi, penjadualan
  •  Universitas:  Pengelolaan pendaftaran, alumni
  •  Penjualan: Pengelolaan data customer, produk, penjualan
  •  Pabrik:  Pengelolaan data produksi, persediaan barang, pemesanan, agen
  •  Kepegawaian:  Pengelolaan data karyawan, gaji, pajak
  • Telekomunikasi : Pengelolaan data tagihan, jumlah pulsa
untuk informasi lebih lengkap silahkan Klik disini  untuk Download
 
 

Tingkatan Dalam Arsitektur Komputer


Ada sejumlah tingkatan dalam konstruksi dan organisasi sistem komputer. Perbedaan paling sederhana diantara tingkatan tersebut adalah perbedaan antara hardware dan software.
Tingkatan Dasar Arsitektur Komputer
Pada tingkatan ini Hardware sebagai tingkatan komputer yang paling bawah dan paling dasar, dimana pada hardware ini “layer” software ditambahkan. Software tersebut berada di atas hardware, menggunakannya dan mengontrolnya. Hardarwe ini mendukung software dengan memberikan atau menyediakan operasi yang diperlukan software.
Multilayerd Machine
Tingkatan dasar arsitektur komputer kemudian dikembangkan dengan memandang sistem komputer keseluruhan sebagai “multilayered machine” yang terdiri dari beberapa layer software di atas beberapa layer hardware.

  1. CPU (Central processing Unit), yang mengendalikan semua unit sistem komputer yang lain dan mengubah input menjadi output.
  • Primary storage (penyimpanan primer), berisi data yang sedang diolah dan program
  • Control unit (unit pengendalian), membuat semua unit bekerja sama sebagai suatu sistem
  • Aritmatika and logical Unit, tempat berlangsungnya operasi perhitungan matematika dan logika
  1. Unit Input, memasukkan data ke dalam primary storage
  2. Secondary storage (penyimpanan sekunder), menyediakan tempat untuk menyimpan program dan data saat tidak digunakan
  3. Unit Output, mencatat hasil pengolahan

PERALATAN OUTPUT

Peralatan Output Adalah perangkat keras komputer yang berfungsi untuk menampilkan keluaran sebagai hasil pengolahan data. Keluaran dapat berupa hard-copy (ke kertas), soft-copy (ke monitor), ataupun berupa suara.
Output yang dihasilkan dari pemroses dapat digolongkan menjadi empat bentuk, yaitu tulisan (huruf, angka, simbol khusus), image (dalam bentuk grafik atau gambar), suara, dan bentuk lain yang dapat dibaca oleh mesin (machine-readable form). Tiga golongan pertama adalah output yang dapat digunakan langsung oleh manusia, sedangkan golongan terakhir biasanya digunakan sebagai input untuk proses selanjutnya dari komputer.
Peralatan output dapat berupa:
  • Hard-copy device, yaitu alat yang digunakan untuk mencetak tulisan dan image pada media keras seperti kertas atau film.
  • Soft-copy device, yaitu alat yang digunakan untuk menampilkan tulisan dan image pada media lunak yang berupa sinyal elektronik.
  • Drive device atau driver, yaitu alat yang digunakan untuk merekam simbol dalam bentuk yang hanya dapat dibaca oleh mesin pada media seperti magnetic disk atau magnetic tape. Alat ini berfungsi ganda, sebagai alat output dan juga sebagai alat input.

Pemrosesan file dan Sistem Data Base


1. Perbedaan system pemrosesan file dengan system basis data.
Pemrosesan File : menggunakan prinsip setiap aplikasi memiliki data tersendiri.
Kelemahan
1.      Timbulnya data rangkap (redundancy data) dan Ketidakkonsistensi data
(Inconsistency data)
2.       Kesukaran dalam Mengakses Data.
3.      Data terisolir (Isolation Data).
4.       Masalah Pengamanan ( Security Problem ).
5.      Apabila terjadi perubahan atau kesalahan pada program aplikasi maka pemakai tidak dapat mengakses data.
Sistem Basis Data : menggunakan prinsip data disediakan dan dikelola secara terpusat.
Keuntungan sistm basis data
1.      Terkontrolnya kerangkapan data.
2.      Terpeliharanya keselarasan (kekonsistenan) data.
3.      Data dapat dipakai secara bersama (shared).
4.      Keamanan data terjamin.
5.      Terpeliharanya integritas data.
2. Definisi Enterprise,Tuple dan Derajat (Degree):
Enterprise adalah suatu bentuk organisasi seperti bank, universitas, rumah sakit, pabrik dan sebagainya.
Tuple adalah kumpulan elemen-elemen yang saling berkaitan menginformasikan tentang suatu entitas secara lengkap.
Derajat (Degree) adalah jumlah atribut yang dimiliki oleh sebuah table atau relasi.
3. Model data berbasis record:
• Model data relasional (relational)
• Model data hierarkhi (hierarchical)
• Model data jaringan (network)
4. Dua bahasa dalam DBMS :
• DDL (Data Definision Language)
DDL merupakan satu paket bahasa DBMS yang berguna untuk melakukan spesifikasi terhadap skema basis data. Hasil kompilasi dari DDL adalah satu set tabel yang disimpan dalam file khusus yang disebut Data Directory/Dictionery. Sederhananya, DDL adalah bahasa dalam DBMS yang digunakan untuk membuat atau mendefinisikan obyek-obyek di dalam database. DDL merupakan sub bahasa SQL yang digunakan untuk membangun kerangka dari sebuah database
• DML ( Data Manipulation Language )
DML merupakan satu paket DBMS yang memperbolehkan pemakai untuk mengakses atau memanipulasi data sebagaimana yang telah diorganisasikan sebelumnya dalam model data yang tepat.

A. ATRIBUT
Atribut merupakan kolom pada sebuah relasi. Setiap entitas pasti memiliki aribut yang mendeskripsikan karakter dari entitas tersebut. Penentuan atau pemilihan atribut-atribut yang relevan bagi sebuah entitas merupakan hal penting dalam pembentukan model data. Ringkasnya,  atribut merupakan keseluruhan table tersebut.
B.TUPLE
Tuple merupakan baris pada sebuah relasi atau kumpulan elemen-elemen yang saling berkaitan menginformasikan tentang suatu entitas secara lengkap. Satu record mewakili satu data atau informasi tentang seseorang. tuple adalah sub-judul dari sebuah table. pada table diatas yang disebut tuple adalah
·Kode_Matkul
·Nama_Matkul
·SKS
·Semester
·Waktu
·Tempat
·Nama_Dosen
C. DOMAIN
Kumpulan nilai yang valid untuk satu atau lebih atribut . Bisa dikatakan domain adalah penjelasan atau isi dari sub-judul pada sebuah table. Pada table contoh domain adalah ; IF-110 s/d MA-115
D. DERAJAT
Jumlah atribut dalam sebuah relasi. Atau panjangnya atribut. Pada table diatas, yang dimaksud derajat adalah 7 baris dan 5 kolom. Mulai dari Kode_Matkul s/d Ir. Taufik Ismail
E. CARDINALILY
Jumlah tupel dalam sebuah relasi atau jumlah keseluruhan baris dari sub-judul pada sebuah table.  Pada tabel diatas, cardinalily adalah 7 baris, mulai dari sub – judul Kode_Matkul hingga Nama_Dosen.
F. SUPER KEY 
Satu atribut / kumpulan atribut yang secara unik mengidentifikasi sebuah tuple di dalam relasi super key adalah sekumpulan tabel-tabel yang memiliki kaitan dengan sub-judul, contoh : jika diatas adalah jadwal uts maka akan menjadi super key jika ada tambahan tabel yang berjudul nama-nama dosen.
G. PRIMARY KEY
Merupakan satu atribut atau satu set minimal atribut yang tidak hanya mengidentifikasikan secara unik suatu kejadian spesifik, tapi juga dapat mewakili setiap kejadian dari suatu entitas. Candidate key yang dipilih untuk mengidentifikasikan tuple secara unik dalam relasi. Setiap kunci candidate key punya peluang menjadi primary key, tetapi sebaiknya dipilih satu saja yang dapat mewakili secara menyeluruh terhadap entitas yang ada. (gampangnya primary  key pada tabel diatas adalah IF-110 s.d MA-115.