Senin, 08 Oktober 2018

OBJECT ORIENTED DATABASE (OODB)



PENGERTIAN OBJECT
Objek merupakan kesatuan entitas (baik), baik yang berwujud nyata ataupun hanya satu sistem yang memodelkan dunia nyata. Setiap object diidentifikasi oleh object identifier(OID), dan juga memiliki state dan behavior. State terdiri dari nilai object properties. Properti dari sebuah object dapat berupa atribut atau relasi antar object. Sedangkan behavior dispesifikasikan oleh operasi atau method yang dapat dieksekusi oleh sebuah object melalui propertinya.

KARAKTERISTIK OBJECT
Sebuah object, mempunyai:
1. identifier : unique id
2. name : unique name dalam DB (optional)
3. lifetime : menetapkan apakah object persistent atautransient
4. structure : pembangunan object menggunakantype constructors

STRUKTUR OBJEK
State (current value) dari object bias dibangun dari object lain (other values) dengan menggunakan type constructors tertentu.
Constructors :
Basic types : atom, tuple dan set
Collection type : list, bag dan array

KONSEP OBJECT ORIENTED
Abstract Data Types
mendefinisi Kelas, menyediakan ekstensi untuk jenis atribut kompleks
Encapsulation
Melaksanaan operasi dan struktur objek tersembunyi
Inheritance
Membagi data dalam lingkup hirarki, mendukung reusabilitas kode
Polymorphism
Operator overloading

PENGERTIAN OBJECT ORIENTED DATABASE
Object-oriented database adalah salah satu jenis database dimana data direpresentasikan dalam bentuk object. Object Oriented Database merupakan sebuah sistem data base yang menggabungkan semua konsep penting dari object oriented.
Pendekatan ini sangat dipengaruhi oleh bahasa pemrograman object-oriented dan dapat dipahami sebagai usaha untuk menambah fungsionalitas DBMS pada lingkup bahasa pemrograman.


Kelebihan OODB
1.       Desain yang indah
Banyaknya waktu dan tenaga yang terbuang dalam menangani data memang menjadi masalah yang umum dalam suatu sistem basis data. Dalam OODB masalah tersebut dapat diminimisasi dengan konsep berorientasi objek yang dimilikinya sebab dengan konsep OO, proses penyimpanan dan pengambilan data akan menjadi lebih sederhana. Selain mendapatkan persistensi data, dengan OODB kita juga mendapatkan persistensi keseluruhan obyek database, bahkan termasuk implemented behaviour-nya. Kita juga dapat dengan mudah memanggil suatu method dari objek tertentu pada database di server sehingga distribusi aplikasinya lebih mudah.
2.       Penyederhanaan pembuatan aplikasi
Tanpa disadari, terkadang suatu proyek dapat melambung biayanya karena faktor teknis seperti penggunaan beberapa tool, bahasa program dan lingkungan dari aplikasi yang berbeda-beda. Belum lagi biaya pelatihan dan lain-lain. Dengan OODB kita dapat menyederhanakan pembuatan aplikasi dengan mengurangi penggunaan bahasa pemrograman dan teknologi yang digunakan. Programmer cukup menguasai konsep OO dan bahasa pemrograman OO dengan sedikit tambahan mengenai konektivitas aplikasi dengan database. Selain itu, programmer tinggal memfokuskan pada persistensi objek.
3.       Kinerja yang tangguh
Dengan RDB seorang programmer harus menghabiskan waktu dan tenaga untuk memetakan data dengan objek, menguraikan tabel-tabel ke dalam objek dan sebagainya. Terkadang hal ini mencapai sepertiga atau bahkan separuh dari program itu sendiri. Hal ini tentunya akan menyebabkan kinerja menjadi lambat karena harus memetakan objek tersebut, belum lagi bila harus melaksanakan query-query yang kompleks. Masalah tersebut tidak dijumpai dalam OODB, karena dalam OODB, program mengakses data dengan objek nya secara langsung sehingga kinerja program akan lebih tinggi. Lebih dari itu, pada beberapa produk ODBMS bahkan dimungkinkan adanya client caching. Bayangkan kecepatan yang dapat dihasilkan bila program hanya perlu mengakses cache dari database yang sudah ada di client.
Kelemahan OODB
1.       Tight coupling
Coupling berarti keterkaitan antara aplikasi dan database. Tight coupling berarti keterkaitan yang kuat antara aplikasi dan database sehingga aplikasi dan database sulit dipisahkan. Sebenarnya tight coupling dapat menyederhanakan program dan desainnya, namun hal ini juga dapat menyebabkan hilangnya batasan antara aplikasi dan database, juga akan menimbulkan masalah baru bila akan migrasi ke OODB lainnya atau kembali ke RDB.
2.       Kurangnya dukungan platform
Pada dasarnya OODB diterapkan untuk dapat berintegrasi dengan semua bahasa pemrograman berorientasi objek, namun sampai sekarang kebanyakan OODBMS hanya mendukung bahasa pemrograman C++ dan Java saja.
3.       Sulit bermigrasi
Cara penyimpanan dan pengambilan data dalam OODB sangat berbeda dengan RDB. Begitu juga dengan cara pengaksesannya. Oleh karena itu, dibutuhkan komitmen yang kuat dalam memilih DBMS yang akan digunakan, sekali bermigrasi ke OODB, akan sulit untuk kembali ke RDB.
4.       Kebutuhan ketrampilan
Karena OODB masih tergolong baru dan masih relatif jarang penggunaannya, cukup sulit menemukan orang yang memiliki pemahaman OODB bila dibandingkan dengan orang yang memiliki pemahaman RDB. Selain itu, untuk memahami OODB, diperlukan pelatihan khusus sebab terdapat banyak perbedaan pendekatan dengan RDB.
5.       Query yang kompleks
Kemampuan logika yang mendalam sangat diperlukan dalam OODB. Masing-masing OODB dapat memiliki cara pemanggilan query yang berbeda-beda. Selain menggunakan object ID-nya saja, pengaksesan suatu data dapat menggunakan range, pola, dan berbagai kriteria lain yang mungkin kelihatan tidak berhubungan.

PERKEMBANGAN APLIKASI BASIS DATA

1.      Computer-Aided Design (CAD)
Database CAD menyimpan data yang berhubungan dengan rancangan mekanik dan elektrik, sebagai contoh : gedung, pesawat, dan chips IC.

2.      Computer-Aided Manufacturing (CAM)
Database CAM menyimpan data yang jenisnya sama dengan sistem CAD, ditambah data yang berhubungan dengan produksi yang mempunyai ciri-ciri tersendiri (seperti mobil pada saat perakitan) dan produksi yang continue (seperti sintesa kimia).

3.      Computer-Aided Software Engineering (CASE)
Database CASE menyimpan data yang berhubungan dengan langkah-langkah dari siklus pengembangan software yaitu : planning, requirements collection analysis, design, implementation, test, maintenance and documentation.

4.      Computer-Aided Publishing (CAP)
Database CAP menyimpan dokumen yang kompleks. Sama seperti otomatisasi kantor, aplikasi CAP telah diperluas untuk menangani dokumen-dokumen multimedia yang berisikan teks, audio, gambar, video data, dan animasi.
5.      Office Automation (OA)
Database OA menyimpan data yang berhubungan dengan pengontrolan informasi computer dalam bidang bisnis, termasuk e-mail, dokumen-dokumen, invoice, dsb.
Agar menyediakan dukungan yang lebih baik untuk area ini, dibutuhkan penanganan yang lebih luas terhadap jenis data daripada nama, alamat, tanggal dan uang.
Sekarang ini sistem yang modern dapat menangani text yang berjenis bebas, foto, diagram, audio dan video. Sebagai contoh : dokumen multimedia yang mengangani teks, foto, spreadsheets dan suara.

KONSEP OBJECT ORIENTED
Beberapa konsep Object Oriented Database :

•         Kenyataan dalam dunia ini direpresentasikan sebagai object
•         Setiap object memiliki state dan behavior
•         State merupakan nilai dari properties dan atribut dari object
•         Behavior merupakan method yang dijalankan oleh state
•         Object yang memiliki kesamaan state dan behavior dikelompokkan dalam satu class yang sama
•         Setiap object hanya dapat diturunkan (instace) kedalam satu class saja
•         Class-class dikeompokkan dalam sebuah hierarki. Subclass memiliki turunan (inherits) dari superclass-nya.
•         Dimungkinkan juga terjadi overriding dimana sebuah class men-substitute domain dari propertiesnya dengan method lain dalam implementasi yang berbeda.

A.      Abstraksi dan Enkapsulasi
•         Abstraksi
adalah proses identifikasi aspek-aspek yang perlu  dari entitas dan mengabaikan property yang tidak penting.
•         Enkapsulasi (information hiding)
adalah memisahkan aspek-aspek eksternal sebuah objek dari rincian internalnya (internal details), yang tidak terlihat dari dunia luar. Dengan cara ini, internal detail sebuah objek dapat dirubah tanpa mempengaruhi aplikasi yang menggunakan objek tersebut, begitu juga dengan external detail. Dengan kata lain, encapsulation menyediakan data independence.
Contoh : Objek Roti, objek ini mempunyai method Pembuatan Roti. Jika kita ingin memakan roti, tentu kita tidak perlu tahu bagaimana cara membuatnya. Dengan demikian pembuatan Roti menjadi sesuatu yang menjadi dasar bagi konsep information hiding.

B.      Objek dan Atribut

•         Objek
adalah sebuah entitas yang dapat diidentifikasikan secara unik, berisikan atribut-atribut yang menerangkan keadaan atau kondisi (state) objek dunia nyata (real world object) dan aksi-aksi yang berhubungan dengan sebuah objek dunia nyata. Definisi objek serupa dengan definisi entitas. Perbedaannya : objek menunjukkan keadaan (state) dan tingkah laku (behaviour), sedangkan entitas menunjukkan models state.

•         Atribut
adalah nama-nama property dari sebuah kelas yang menjelaskan batasan nilainya dari property yang dimiliki oleh sebuah kelas tersebut. Atribut dari sebuah kelas mempresentasikan property-property yang dimiliki oleh kelas tersebut. Atribut mempunyai tipe yang menjelaskan tipe instanisasinya. Hanya sebuah instanisasi dari kelas (objek) yang dapat mengubah nilai dari atributnya.
Keadaan (state) dari sebuah objek dijelaskan dengan nilai dari atribut-atribut yang dimilikinya (selain keberadaan hubungan dengan objek lainnya). Dalam sebuah kelas atribut hanya dinyatakan keberadaan dan batasan nilainya saja, sedangkan dalam sebuah objek atributnya sudah dinyatakan nilai dan menjelaskan kedudukan / keadaan dari objek tersebut.
C.      Identitas Objek (Object Identity)
Pada saat objek dibuat, object identifier (OID) langsung ditentukan. OID tersebut unik dan berbeda. OID membedakan objek yang satu dengan objek lainnya di dalam sistem. Sekali objek dibuat, OID tersebut tidak dapat digunakan kembali untuk objek-objek lainnya, walaupun objek tersebut telah dihapus.

D.     Metode dan Pesan

•         Metode (Methods)
Dalam teknologi objek, function biasanya disebut methods. Methods mendefinisikan tingkah laku dari sebuah objek. Methods dapat digunakan untuk merubah kondisi objek dengan memodifikasi nilai atribut-atributnya, atau meng-query nilai atribut yang diseleksi.

•         Pesan (Message)
Message mempunyai arti komunikasi antara objek. Sebuah message merupakan permintaan sederhana dari suatu objek (pengirim) ke objek lain (penerima) dan menanyakan objek tsb untuk mengeksekusi salah satu method-nya. Pengirim dan penerima bisa pada objek yang sama. Notasi ‘dot’ biasanya digunakan untuk mengakses sebuah method.

E.      CLASS

Class merupakan pendefinisian himpunan objek yang sejenis. Objek yang mempunyai atribut yang sama dan meresponse message yang sama dapat dikelompokkan bersama membentuk sebuah class. Atribut dan method yang berhubungan cukup sekali saja didefinisikan untuk class, daripada didefinisikan terpisah untuk setiap objek.
Contoh :
seluruh objek cabang dideskripsikan oleh sebuah class cabang (branch). Objek-objek pada sebuah class disebut instance dari class. Setiap instance mempunyai nilainya sendiri untuk setiap atribut, tetapi nama atribut dan method-nya sama seperti instance lainnya dari sebuah class.

F.       SUBCLASS, SUPERCLASS, dan INHERITANCE
Inheritance mengizinkan satu class objek didefinisikan sebagai kasus spesial (special case) dari sebuah class pada umumnya. Special case ini dikenal dengan subclass, dan kasus umum lainnya dikenal sebagai superclass. Proses pembentukan superclass sama seperti generalization, sedangkan subclass seperti specialization. Konsep dari superclass, subclass, dan inheritance sama seperti EER, kecuali dalam paradigm object-oriented, inheritance meliputi state dan behaviour.

Ada beberapa bentuk inheritance :

Single inheritance
Subclass merupakan turunan dari satu superclass.
Contoh : subclass Manager dan Sales_Staff merupakan turunan property dari superclass Staff.

Multiple inheritance
Subclass Sales_Manager merupakan turunan dari superclass Manager dan Sales_Staff.


Repeated inheritance
Kasus spesial dari multiple inheritance, dimana sebuah superclass merupakan turunan dari sebuah superclass biasa. Melanjutkan contoh multiple inheritance, class Manager dan Sales_staff bisa saja merupakan turunan dari superclass biasa yaitu superclass Staff. Dalam kasus ini, mekanisme inheritance harus meyakinkan bahwa class Sales_manager tidak diturunkan sebanyak dua kali dari superclass Staff.


Selective inheritance
Mengizinkan subclass menurunkan sejumlah property dari superclass. Keistimewaan ini secara fungsional sama seperti mekanisme view, dengan membatasi akses ke beberapa detail tapi tidak seluruhnya.

Selasa, 25 September 2018

Cara Menginstal Xampp






  1. Download aplikasi xampp terbaru. Download
  2. Double klik pada installer yang sudah di download tadi. Lalu pilih bahasa yang ingin anda gunakan klik OK.cara install xampp
  3. Apabila ada pesan error seperti pada gambar berikut, abaikan saja cukup klik OK. cara install xampplalu klik YEScara install xampp
  4.  Berikutnya akan muncul jendela yang isinya meminta Anda menutup semua aplikasi yang sedang berjalan. Jika semua aplikasi sudah ditutup, maka klik tombol Next.cara install xampp
  5. Selanjutnya Anda akan diminta untuk memilih aplikasi yang mau diinstal. Centang saja semua pilihan dan klik tombol Next.cara install xampp
  6. Kemudian Anda akan diminta untuk menentukan lokasi folder penyimpanan file-file dan folder XAMPP. Secara default akan diarahkan ke lokasi c:\xampp. Namun jika Anda ingin menyimpannya di folder lain bisa klik browse dan tentukan secara manual folder yang ingin digunakan. Jika sudah selesai, lanjutkan dan klik tombol Install.cara install xampp
  7. Tunggu beberapa menit hingga proses intalasi selesai. Jika sudah muncul jendela seperti di bawah ini, klik tombol Finish untuk menyelesaikannya. cara install xampp
  8. Berikutnya, akan muncul jendela dialog seperti gambar di bawah ini yang menanyakan Anda apakah mau langsung menjalankan aplikasi XAMPP atau tidak. Jika ya, maka klik YES. 
Dan berikut adalah XAMPP yang sudah kita install.
cara install xampp
Sampai pada tahap ini kita telah berhasil melakukan installasi xampp pada sistem operasi windows.

Rabu, 09 Mei 2018

NORMALISASI DATABASE 1NF, 2NF, 3NF

NORMALISASI DATABASE

Pengertian normalisasi:

Normalisasi adalah Teknik atau pendekatan yang digunakan dalam membangun disain database relasional melalui himpunan data dengan tingkat ketergantungan fungsional dan keterkaitan yang tinggi sehingga menghasilkan struktur tabel yang normal.

Tujuan normalisasi:
  1.  Minimalisasi redundansi (pengulangan data)
  2.  Memudahkan identifikasi entitas
  3.  Mencegah terjadinya anomali


Beberapa bentuk normal:

1NF, 2NF, 3NF


  • 1NF Suatu relasi dikatakan bentuk normal pertama, jika dan hanya jika setiapatribut bernilai tunggal untuk setiap baris. Tiap field hanya satu pengertian, bukanmerupakan kumpulan kata yang mempunyai arti mendua, hanya satu arti saja dan juga bukanlah pecahan kata – kata sehingga artinya lain. Tidak ada set atribut yangberulang-ulang atau atribut bernilai ganda.


  • 2NF Memenuhi bentuk 1 NF (normal pertama), Atribut bukan kunci haruslah bergantung secara fungsi pada kunci utama /primary key


  • 3NF Memenuhi bentuk 2 NF (normal kedua),  Atribut bukan kunci tidak memiliki dependensi transitif terhadap kunci utama / primarykey.
Berikut Ini Adalah Contoh Dari Normalisasi 1NF, 2NF, 3NF

1.Tabel Pekerjaan

Data Yang Belum Di Normalisasi
NIP
Nama
Jabatan
Keahlian
Lama
001
Andre
Analisis
Acces
6 Tahun



Oracle
3 Tahun
002
Dheka
Analisis
My SQL
2 Tahun



Oracle
4 Tahun
003
Permana
Programer
C
4 Tahun



VB
5 Tahun

Normalisasi 1NF
NIP
Nama
Jabatan
Keahlian
Lama
001
Andre
Analisis
Acces
6 Tahun
001
Andre
Analisis
Oracle
3 Tahun
002
Dheka
Analisis
My SQL
2 Tahun
002
Dheka
Analisis
Oracle
4 Tahun
003
Permana
Programer
C
4 Tahun
003
Permana
Programer
VB
5 Tahun

Normalisasi 2NF
NIP
Nama
Jabatan
001
Andre
Analisis
002
Dheka
Analisis
003
Permana
Programer

NIP
Keahlian
Lama
001
Acces
6 Tahun

Oracle
3 Tahun
002
My SQL
2 Tahun

Oracle
4 Tahun
003
C
4 Tahun

VB
5 Tahun
Normalisasi 3NF
NIP
Nama
Jabatan
001
Andre
Analisis
001
Andre
Analisis
002
Dheka
Analisis
002
Dheka
Analisis
003
Permana
Programer
003
Permana
Programer


Jabatan
Lama
Analisis
6 Tahun
Analisis
3 Tahun
Analisis
2 Tahun
Analisis
4 Tahun
Programer
4 Tahun
Programer
5 Tahun



NIP
Jabatan
Keahlian
001
Analisis
Acces
001
Analisis
Oracle
002
Analisis
My SQL
002
Analisis
Oracle
003
Programer
C
003
Programer
VB




2.Tabel Sales

Data Yang Belum Di Normalisasi
Id_Seles
Nama_Seles
No_Hp
S001
Aty
08571111111,08123456789
S002
Asri
08345678910,08123456777
S003
Dewi
08567891011

Normalisasi 1NF
Id_Seles
Nama_Seles
No_Hp
S001
Aty
08571111111
S001
Aty
08123456789
S002
Asri
08345678910
S003
Asri
08123456777
S003
Dewi
08567891011

Normalisasi 2NF
Id_Seles
Nama_Seles
S001
Aty
S002
Asri
S003
Dewi

Id_Seles
No_Hp
S001
08571111111
S001
08123456789
S002
08345678910,08123456777
S002
08123456777
S003
08567891011

Normalisasi 3NF
Id_Seles
Nama_Seles
S001
Aty
S002
Asri
S003
Dewi

Nama_Seles
No_Hp
Aty
08571111111
Aty
08123456789
Asri
08345678910
Asri
08123456777
Dewi
08567891011

Id_Seles
Nama_Seles
No_Hp
S001
Aty
08571111111
S001
Aty
08123456789
S002
Asri
08345678910
S003
Asri
08123456777
S003
Dewi
08567891011



3.Tabel Mahasiswa

Data Yang Belum Di Normalisasi
NIM
Nama
Kode_MK
16416255201121
Andre Dheka
0011,0022
16416255101146
Fanny
0011,0022
16416255201098
Eka Widia
0055,0033

Normalisasi 1NF
NIM
Nama
Kode_MK
16416255201121
Andre Dheka
0011
16416255201121
Andre Dheka
0022
16416255101146
Fanny
0011
16416255201121
Fanny
0022
16416255201098
Eka Widia
0055
16416255201121
Eka Widia
0033

Normalisasi 2NF
NIM
Nama
16416255201121
Andre Dheka
16416255101146
Fanny
16416255201098
Eka Widia

NIM
Kode_MK
16416255201121
0011
16416255201121
0022
16416255101146
0011
16416255201121
0022
16416255201098
0055
16416255201121
0033

Normalisasi 3NF
NIM
Nama
16416255201121
Andre Dheka
16416255101146
Fanny
16416255201098
Eka Widia

Nama
Kode_MK
Andre Dheka
0011
Andre Dheka
0022
Fanny
0011
Fanny
0022
Eka Widia
0055
Eka Widia
0033

NIM
Nama
Kode_MK
16416255201121
Andre Dheka
0011
16416255201121
Andre Dheka
0022
16416255101146
Fanny
0011
16416255201121
Fanny
0022
16416255201098
Eka Widia
0055
16416255201121
Eka Widia
0033