Konsep Dasar Object Oriented Programming (OOP)

Pemograman berorientasi objek sekarang ini merupakan teknik pemograman yang paling banyak digunakan oleh programmer, software (perangkat lunak) yang ada pada saat sekarang ini biasanya dibangun dengan dasar pemograman yang berorientasi objek.
Apa itu pemograman berorientasi objek (Object Oriented Programming), yang biasanya disingkat dengan OOP. Paradigma pemograman berorientasi objek adalah hal yang relatif mudah untuk dimengerti dan diaplikasikan, karena pada dasarnya objek merupakan sesuatu hal yang mudah dimengerti oleh manusia. Berikut ini kita lihat hal-hal yang berkaitan dengan pemograman berorientasi objek.

Objek (object)
Objek adalah suatu benda, entitas, biasanya berupa kata benda (noun), sesuatu yang dapat kita angkat maupun kita tendang atau pukul. Beberapa objek berupa benda hidup, dan beberapa tidak. Contoh objek dalam kehidupan nyata sehari-hari adalah sebuah mobil, orang, rumah, meja, seekor anjing, kucing ataupun beruang. Objek memiliki atribut (attributes), misalnya: sebuah mobil memiliki atribut manufaktur, nomor model, warna, dan harga, seekor anjing memiliki atribut umur, warna, tinggi maupun berat. Objek juga memiliki kelakuan (behavior), misalnya: sebuah mobil dapat bergerak dari satu tempat ke tempat lainnya dan seekor anjing dapat menggongong.

Kelas (class)
Sebuah kelas mengenkaspsulasi karakteristik bawaan ke dalam sebuah kelompok objek (sekumpulan objek). Beberapa programmer mengatakan “objek merupakan instance (diumpamakan) dari sebuah kelas”, oleh karena itu istilah instance bisa dikatakan merupakan persamaankata (synonym) dari objek. Kelas merupakan sebuah model, pola, atau blueprint (cetak biru) yang digunakan untuk menciptakan sebuah objek (Benyamin L.Sinaga, 2005). Ambil contoh sebuah rumah yang dibuat oleh seorang arsitek. Ada banyak sekali rumah di dunia ini, kesemuanya memiliki karakteristik yang sama. Sebuah cetak biru menggambarkan semua karakteristik yang dimiliki oleh sebuah rumah, misalnya dinding, jendela, saluran listrik, dan lain sebagainya. Dengan menggunakan cetak biru tersebut, maka dapat dibuat banyak rumah. Rumah-rumah yang dibangun dari cetak biru itu disebut dengan instance dari kelas. Instance dari kelas adalah objek yang dibentuk dengan menggunakan kelas sebagai dasar pembentukannya. Rumah-rumah tersebut yang terbentuk dari cetak biru yang ada dapat berbeda satu dengan lainnya, misalnya: lokasi, bahan yang digunakan untuk membangun rumah, bentuk dan ukuran, dan lain sebagainya. Tetepi mereka dapat dikatakan memiliki karakteristik yang sama.

Enkapsulasi (Encapsulation)
Enkapsulasi merujuk pada sebuah objek yang menyembunyikan atau mengenkapsulasi atribut-atributnya terhadap operasi yang dikenakan (analoginya objek tersimpan dan terkunci dalam sebuah kapsul, dan operasi berada di tepian luar kapsul tersebut). Atribut yang tersembunyi ini disebut dengan private. Beberapa bahasa pemograman (sebagai contoh, Smalltalk) secara otomatis membuat atribut-atributnya sebagai private dan beberapa tidak (sebagai contoh, Java) membiarkan programmernya menentukan sendiri. Sebagai contoh mengapa enkapsulasi adalah sebuah ide yang bagus adalah bayangkanlah sebuah objek selalu menjaga kesopanan antara satu objek terhadap objek lainnya. Sebagai contoh, jika Anda hendak meminjam uang dari teman kita untuk membeli makanan di sebuah warung makan, Anda pastinya tidak akan serta-merta mengambil dompet teman Anda dan langsung melihat isi uang yang ada dalam dompet tersebut, apakah dompet itu berisi uang yang cukup untuk dipinjamkan kepada kita atau tidak. Sebaliknya, Anda hanya akan menanyakan apakah dia dapat meminjamkan Anda sejumlah uang dan mereka sendiri-lah yang akan melihat ke dalam dompet mereka dan memberikan uang tersebut kepada kita.

Asosiasi (Association) dan Agregasi (Aggregation)
Setiap objek memiliki kaitan dengan objek lainnya, baik itu secara langsung maupun tidak langsung, kuat maupun lemah. Dengan mengaitkan tiap objek, kita membuat mereka semakin kuat. Kaitan antar objek mengijinkan kita untuk membantu kita menemukan informasi dan kelakuan (behavior) ekstra. Ketika kita melakukan pemodelan objek, kita dapat mengaitkan mereka ke dalam 2 prinsip: Asosiasi atau Agregasi. Terkadang memang sulit untuk mencari letak perbedaan antara asosiasi dan agregasi ini. Berikut sedikit penjelasannya :
Asosiasi merupakan kaitan yang lemah: objek dapat berupa grup atau kelompok, namun objek ini tidak secara komplit tergantung satu dengan lainnya. Sebagai contoh, bayangkanlah sebuah mobil, seorang supir, seorang penumpang dan satu penumpang lainnya. Ketika supir dan dua penumpang berada dalam mobil, mereka berasosiasi dan mereka semua menuju ke arah atau alamat yang sama, mereka menempati tempat yang sama, yakni di dalam mobil. Namun kaitan asosiasi ini sifatnya lemah, supir dapat menurunkan salah satu atau kedua penumpang pada arah atau alamat yang terpisah, jadi penumpang tersebut tidak lagi berasosiasi dengan objek lainnya. 

Agregasi berarti menempatkan objek bersama-sama untuk menjadikannya objek yang lebih besar. Barang-barang atau benda-benda manufaktur biasanya merupakan contoh dari bentuk agregasi. Sebagai contoh, sebuah microwave terbentuk dari sebuah cabinet (semacam lemari kaca), sebuah pintu, sebuah panel indikator, sejumlah tombol, sebuah alat pemanas dan lain sebagainya. Agregasi mengimplikasikan kedekatan ketergantungan. Sebagai contoh, alat pemanas akan tetap menjadi sebuah alat pemanas meskipun kita melepaskannya dari microwave, namun sebuah microwave akan menjadi tidak berguna tanpa sebuah alat pemanas, karena microwave tersebut tidak akan dapat memanaskan makanan lagi .

Normalisasi

Normalisasi adalah proses untuk memperoleh properti-properti skema relasi yang bagus menjadi bentuk normal lebih tinggi sehingga syarat-syarat dibawah ini terpenuhi:

  1. Mengoptimalisasi redudansi (pengulangan data yang tidak perlu). Redudansi tidak bisa dihilangkan sama sekali karena berguna untuk integritas referensial, tetapi redudansi bisa dioptimalisasi. Untuk jumlah data yang tidak terlalu banyak mungkin tidak terlalu berpengaruh dalam hal penggunaan harddisk. Tapi bayangkan jika ada ribuan, bahkan jutaan redudansi, mungkin akan sangat berpengaruh pada penggunaan ruang.
  2. Menghilangkan anomali. Anomali pada dasarnya adalah ketidak-konsistenan (inkonsistensi). Misalkan ada pergantian nama dari Bank Perkasa menjadi Bank Perkasa Utama sebanyak 4 record. Jika pergantian nama hanya dilakukan pada salah satu record saja, maka terjadi ketidak-konsistenan yaitu satu nomor bank berrelasi dengan 2 nama bank yang berbeda.

Dekomposisi tabel dapat mengurangi redudansi yang ada dan menghilangkan anomali.

Perancangan melalui proses normalisasi mempunyai keuntungan-keuntungan sebagai berikut :

  1. Meminimalkan ukuran penyimpanan yang diperlukan untuk penyimpanan data.
  2. Meminimalkan resiko inkonsistensi data pada basis data.
    c. Meminimalkan kemungkinan anomaly pembaruan.
    d. Memaksimalkan stabilitas struktur data.

    Bentuk Normal

    Tujuan proses normalisasi adalah mengkonversi relasi menjadi bentuk normal lebih tinggi. Terdapat beragam tingkat bentuk normal, yaitu :

    a. Bentuk normal pertama (1NF)
    b. Bentuk normal kedua (2NF)
    c. Bentuk normal ketiga (3NF)
    d. Bentuk normal Boyce-Codd (BCNF)
    e. Bentuk normal keempat (4NF)
    f. Bentuk normal kelima (5NF)

Codd mendefinisikan bentuk normal pertama, kedua dan ketiga di makalah (Codd, 1970). Bentuk normal ketiga kemudian diperbaiki sehingga mempunyai bentuk normal yang lebih kuat yaitu BCNF (Codd, 1974). Fagin memperkenalkan bentuk normal keempat (Fagin, 1977), kemudian Fagin juga memperkenalkan bentuk normal kelima (Fagin, 1979).
Bentuk normal pertama untuk menghilangkan atribut bernilai jamak. Bentuk normal kedua untuk menghilangkan kebergantungan parsial. Bentuk normal ketiga untuk menghilangkan kebergantungan transitif. Bentuk normal Boyce-Codd untuk menghilangkan anomaly tersisa disebabkan kebergantungan fungsional. Bentuk normal keempat untuk menghilangkan kebergantungan nilai jamak. Bentuk normal kelima untuk menghilangkan anomaly tersisa.
Tiga bentuk normal pertama berkaitan dengan kebergantungan fungsional. Sementara itu bentuk keempat dan kelima berkaitan dengan redudansi yang disebabkan kebergantungan banyak nilai (multi-valued dependencies).

Bentuk Normal Pertama
Bentuk normal pertama adalah ekivalen dengan definisi model relasional. Relasi adalah bentuk normal pertama (1NF) jika semua nilai atributnya adalah sederhana (bukan komposit).

Syarat :

o    Tidak ada set atribut yang berulang atau bernilai ganda.

o    Telah ditentukannya primary key untuk tabel atau relasi.

o    Tiap atribut hanya memiliki satu pengertian.

o    Tiap atribut yang dapat memiiki banyak nilai sebenarnya menggambarkan entitas atau relasi yang terpisah.
Bentuk Normal Kedua

Syarat :

o    Bentuk data telah memenuhi kriteria bentuk normal ke satu.

o    Atribut bukan kunci(non-key attribute) haruslah memiliki ketergantungan fungsional sepenuhnya pada primary key

Relasi pada bentuk normal kedua harus tidak menyimpan fakta-fakta mengenai bagian kunci relasi. Bentuk normal kedua menghilangkan kebergantungan parsial dan masih memiliki anomali-anomali yang secara praktis tidak dapat diterima.
Bentuk Normal Ketiga

Syarat :

o    Bentuk data telah memenuhi kriteria bentuk normal ke dua.

o    Atribut bukan kunci(non-key attribute) tidak boleh memiliki ketergantungan fungsional terhadap atribut bukan kunci lainnya. Seluruh atribut bukan kunci pada suatu relasi hanya memiliki ketergantungan fungsional terhadap primary key di relasi itu saja.
Bentuk normal ketiga menghilangkan kebergantungan transitif, awalnya bentuk normal ketiga dipikir sebagai bentuk normal puncak/paling akhir. Namun kemudian dapat ditemukan bentuk normal lebih kuat yaitu bentuk normal Boyce-Codd.
Bentuk Normal Boyce-Codd (BCNF)
BCNF memiliki ketentuan yaitu masing-masing atribut utama bergantung fungsional penuh pada masing-masing kunci dimana kunci tersebut bukan bagiannya. Relasi adalah BCNF (optimal) jika setiap determinan atribut-atribut relasi adalah kunci relasi. Relasi adalah BCNF (optimal) jika kapanpun fakta-fakta disimpan mengenai beberapa atribut, maka atribut-atribut ini merupakan satu kunci relasi. BCNF dapat memiliki lebih dari satu kunci. Properti penting BCNF adalah relasi tidak memiliki informasi yang redundan.
Bentuk Normal Keempat
Relasi dalam bentuk normal keempat (4NF) jika relasi dalam BCNF dan tidak berisi kebergantungan banyak nilai. Untuk menghilangkan kebergantungan banyak nilai dari satu relasi, kita membagi relasi menjadi dua relasi baru. Masing – masing relasi berisi dua atribut yang mempunyai hubungan banyak nilai.
Bentuk Normal Kelima
Bentuk normal kelima (5NF) berurusan dengan properti yang disebut join tanpa adanya kehilangan informasi (lossless join). Bentuk normal kelima (5NF) juga disebut PJNF (projection-join normal form). Kasus-kasus ini sangat jarang muncul dan sulit untuk dideteksi secara praktis.

sekian postingan saya kali ini mengenai normalisasi…semoga bermanfaat 😀

Tugas Pemrograman Basis Data dan SQL

ini adalah tugas mata kuliah Pemrograman Basis Data dan SQL. Saya akan berbagi pada teman-teman untuk menjadi bahan pelajaran mengenai perintah-perintah dengan SQL.

sql

  1. Buat Perintah Untuk create table IsiBayar

CREATE TABLE IsiBayar(NoKwitansi char(3) NOT NULL, KodeBayar char(5) NOT NULL, JumlahBayar  int);

  1. Buat PerintahUntuk menambah data petugas dengan kode P-07 dan nama Tika

INSERT INTO Petugas(KodePetugas,NamaPetugas) values (‘P-07’, ‘Tika’);

  1. Buatperintah untuk merubah namabayar menjadi UangSkripsi yang kodenya B-010

UPDATE TabelBayar SET Namabayar=’UangSkripsi’ WHERE Kodebayar=’B-010′;

  1. Hapus Data Kwitansi untuk data yang nimnya 004

DELETE FROM Kwitansi WHERE NIM=’004′;

  1. Tampilkan nama mahasiswa yang mendapatKwitansi

SELECT a.NAMA FROM MHS a INNER JOIN Kwitansi b on a.NIM=b.NIM Group BY a.NAMA;

  1. Tampilkan data mahasiswa yang tidak pernah mendapat kwitansi

SELECT a.NAMA FROM MHS a LEFT  JOIN Kwitansi b on a.NIM=b.NIM WHERE b.NIM IS NULL ;

  1. Tampilkan namabayar yang dilakukan oleh mhs dengan nim = 004

SELECT a.NamaBayar FROM Tabelbayar a INNER JOIN IsiBayar b on a.KodeBayar=b.KodeBayar INNER JOIN Kwitansi c on c.NoKwitansi=b.NoKwitansi Where c.NIM=’004′;

  1. Buat Perintah untuk menampilkan Jumlah mahasiswa yang mendapatkan kwitansi

SELECT COUNT(NIM) as JmlMhs FROM Kwitansi Group BY NIM;

  1. Buat perintah untuk menampilkan total jumlahbayar

SELECT SUM(JumlahBayar) as JumlahBayar FROM IsiBayar;

  1. Tampilkannamapetugas yang melayaninim = 004

SELECT a.NamaPetugas FROM  Petugas a INNER JOIN Kwitansi b on a.KodePetugas=b.KodePetugas Where b.NIM=’004′;

  1. Tampilkan Jumlahpetugas yang melayani kwitansi

SELECT b.NamaPetugas,COUNT(a.KodePetugas) as JmlMelayani FROM Kwitansi a INNER JOIN Petugas b on a.KodePetugas=b.KodePetugas Group BY b.KodePetugas;

  1. Buat perintah untuk menampilkan total jumlahbayar tiap mahasiswa

SELECT  c.Nama, SUM(a.JumlahBayar) as JumlahBayar FROM IsiBayar a INNER JOIN Kwitansi b on a.NoKwitansi=b.NoKwitansi INNER JOIN MHS c on b.NIM=c.NIM Group By b.NoKwitansi,b.NIM,c.Nama;

  1. Buat perintah untuk menampilkan total jumlahbayar tiap mahasiswa yang total jumlahbayarnya di atas 500.000

SELECT  c.Nama,SUM(a.JumlahBayar) as JumlahBayar  FROM IsiBayar a INNER JOIN Kwitansi b on a.NoKwitansi=b.NoKwitansi INNER JOIN MHS c on b.NIM=c.NIM Group By a.NoKwitansi,c.Nama HAVING  (SUM(a.JumlahBayar)>500000);

  1. Tampilkan namamhs dan berapa kali mhs tsbdapat kwintansi

SELECT  a.Nama , COUNT(b.NoKwitansi) as JmlKwitansi FROM MHS a INNER JOIN Kwitansi b on a.NIM=b.NIM Group By b.NIM;

  1. Tampilkan namamhs dan berapa kali mhs tsbdapat kwintansi untuk mhs yang dapat kwitansi lebih dari 1

SELECT  a.Nama , COUNT(b.NoKwitansi) as JmlKwitansi FROM MHS a INNER JOIN Kwitansi b on a.NIM=b.NIM group by a.Nama HAVING (COUNT(b.NoKwitansi)>1);

semoga bermanfaat…jika ada kesalahan mohon beritahu saya…terima kasih.. 😀

Pemodelan Proses Bisnis

Sebuah Pemodelan Proses Bisnis atau Business Process Modelling (BPM) adalah diagram umum yang mewakili urutan  kegiatan. Biasanya menunjukkan peristiwa, tindakan dan hubungan atau titik-titik  koneksi, secara berurutan dari ujung ke ujung.

Urutan ini penting untuk sebagian besar aspek pemodelan proses bisnis, tetapi ada pengecualian untuk ini terutama di tingkat yang lebih tinggi dari suatu operasi organisasi. Biasanya tetapi tidak harus, Pemodelan Proses Bisnis meliputi proses Teknologi Informasi (TI) dan proses orang.

Pemodelan Proses Bisnis secara implisit berfokus pada proses, tindakan dan kegiatan.  Sumber Daya yang digambarkan dalam BPM menunjukkan bagaimana mereka akan diproses. Orang (tim, departemen, dll) yang digambarkan dalam BPM menunjukkan hal apa yang mereka lakukan, untuk  apa,  dan biasanya kapan dan untuk alasan alasan, terutama ketika berbagai kemungkinan  atau  pilihan muncul, seperti pada diagram alir.

Pemodelan Proses Bisnis merupakan lintas fungsional, biasanya menggabungkan pekerjaan dan dokumentasi lebih dari satu departemen dalam organisasi.

Dalam situasi lebih rumit, Pemodelan Proses juga termasuk aktivitas proses eksternal organisasi dan sistem yang dimasukkan ke dalam proses primer / utama.

Dalam organisasi besar Pemodelan Proses Bisnis untuk operasi cenderung dianalisis dan direpresentasikan secara lebih rinci daripada di organisasi kecil, karena skala dan kompleksitasnya lebih besar.

Pemodelan Proses Bisnis sampai batas tertentu juga ditentukan oleh  berbagai alat komputerisasi  dan atau perangkat lunak yang digunakan dalam menerapkan metode tersebut. Metode-metode dan fitur standar dalam Pemodelan Proses Bisnis terus berkembang, yang berarti bahwa kita harus tetap berpikiran terbuka dan swelalu ingin tahu bagaimana BPM dapat digunakan.

Class Diagram (Pengertian, Penjelasan dan Relasi)

Class diagram adalah sebuah class yang menggambarkan struktur dan penjelasan class, paket, dan objek serta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain. Class diagram juga menjelaskan hubungan antar class dalam sebuah sistem yang sedang dibuat dan bagaimana caranya agar mereka saling berkolaborasi untuk mencapai sebuah tujuan.

Class juga memiliki 3 area pokok (utama) yaitu : nama,atribut,dan operasi. Nama berfungsi untuk member identitas pada sebuah kelas, atribut fungsinya adalah untuk member karakteristik pada data yang dimiliki suatu objek di dalam kelas, sedangkan operasi fungsinya adalah memberikan sebuah fungsi ke sebuah objek . Dalam mendefinisikan metode yang ada di dalam kelas harus diperhatikan yang namanya Cohesion dan Coupling, Cohesion adalah ukuran keterkaitan sebuah instruksi di sebuah metode, Coupling adalah ukuran keterkaitan antar metode. Di dalam class diagram terdapat hubungan antar kelas secara konseptual, yang disebut Relasi antar Class, di UML disediakan macam-macam relasi antar Class, diantaranya: Asosiasi (Hubungan statis antar kelas), Agregasi (hubungan dari keseluruhan objek), Generalisasi (relasi beberapa subkelas ke super kelas), Dependency (keterhubungan tiap kelas.)

Atribut dan metoda dapat memiliki salah satu sifat berikut :

  • Private, tidak dapat dipanggil dari luar class yang bersangkutan
  • Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya
  • Public, dapat dipanggil oleh siapa saja

Hubungan Antar Class

  • Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class.
  • Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”).
  • Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.
  • Hubungan dinamis, yaitu rangkaian pesan (message) yang di-passing dari satu class kepada class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram yang akan dijelaskan kemudian.

Model Entity-Relationship (ER)

 Model Entity-Relationship adalah model data konseptual tingkat tinggi untuk perancangan basis data. Model data konseptual adalah himpunan konsep yang mendeskripsikan struktur basis data, transaksi pengambilan dan pembaruan basis data.
Model ER adalah data konseptual tak tergantung DBMS dan platform perangkat keras tertentu. Model ER dikemukakan oleh Chen [1976]. Sejak itu, telah memperoleh banyak perhatian dan perluasan.
Model ER adalah persepsi terhadap dunia nyata sebagai terdiri objek-objek dasar yang disebut entitas dan keterhubungan (relationship) antar entitas-entitas itu.
Konsep paling dasar di model ER adalah entitas, relationship dan atribut.

Komponen-komponen utama model ER adalah:

  1. Entitas (entity), Entitas memodelkan objek-objek yang berada diperusahaan/lingkungan.
    b. Relationship. Relationship memodelkan koneksi/hubungan di antara entitas-entitas.
    c. Atribut-atribut (properi-properti), memodelkan properti-properti dari entitas dan relationship.
    d. Konstrain-konstrain (batasan-batasan) integritas, konstrain-konstrain ketentuan validitas.

 

Entitas (Entity) dan Himpunan Entitas (Entitas Sets)
Entitas merupakan individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu yang lain. Sebuah kursi yang kita duduki, seseorang yang menjadi pegawai di sebuah perusahaan dan sebuah mobil yang melintas di depan kita adalah entitas.
Sekelompok entitas yang sejenis dan berada dalam lingkup yang sama membentuk sebuah himpunan entitas (entity sets). Sederhananya, entitas menunjuk pada individu suatu objek, sedang himpunan entitas menunjuk pada rumpun (family) dari individu tersebut.
Seorang pasien, misalnya akan dimasukkan dalam himpunan entitas pasien. Sedang seorang dokter akan ditempatkan dalam himpunan entitas dokter.
Dalam berbagai pembahasan/literature, penyebutan himpunan entitas (yang kurang praktis) ini seringkali digantikan dengan sebutan entitas saja.
Karena itu sering ditemui, penggunaan istilah entitas (entity) di sebuah literature sebenarnya menunjuk pada himpunan entitas.

Kunci Entitas
Sebagaimana model relasional, adalah penting dan berguna untuk memasukkan kunci yang diasosiasikan dengan himpunan entitas. Kunci pada himpunan entitas S, adalah himpunan atribut A. Sehingga tidak ada dua entitas di S yang mempunyai nilai sama untuk tiap atribut di A dan tidak ada subset di A yang dapat menjadi kunci di S, dengan demikian kunci mempunyai property minimal.

Atribut (Atributes/Properties)
Setiap entitas pasti memiliki atribut yang mendeskripsikan karakteristik (property) dari entitas tersebut.
Penentuan / pemilihan atribut-atribut yang relevan bagi sebuah entitas merupakan hal penting lainnya dalam pembentukan model ER. Contoh : nim, nama, alamat, kode.

Relasi (Relationship) dan Himpunan Relasi (Relationship Sets)
Relasi menunjukkan adanya hubungan di antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda.
Misalnya, entitas seorang mahasiwa dengan

nim = ‘980001’ dan

nama_mhs = ‘Ali Akbar’ (yang ada di himpunan entitas Mahasiswa)
mempunyai relasi dengan entitas sebuah mata kuliah dengan
kode_kul=’IF-110’ dan

nama_kul=’Struktur Data’.
Relasi diantara kedua entitas tadi mengandung arti bahwa mahasiswa tersebut sedang mengambil/mempelajari mata kuliah tersebut di sebuah perguruan tinggi yang ditinjau.
Kumpulan semua relasi diantara entitas-entitas yang terdapat pada himpunan entitas-himpuan entitas tersebut membentuk himpunan relasi (relationship sets).

Sebagaimana istilah himpunan entitas yang banyak sekali disingkat menjadi entitas, istilah himpunan relasi jarang sekali digunakan dan lebih sering disingkat dengan istilah relasi saja.
Kardinalitas/derajat Relasi
Kardinalitas Relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain. Kardinalitas relasi merujuk kepada hubungan maksimum yang terjadi dari himpunan entitas yang satu ke himpunan entitas yang lain dan begitu juga sebaliknya.
Kardinalitas di antara dua himpunan entitas (misalnya A dan B) dapat berupa :

  1. Satu ke satu (One to One),

setiap entitas pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas begitu juga sebaliknya setiap entitas pada himpunan entitas B berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas A.

  1. Satu ke Banyak (one to many),

setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B,
tetapi tidak sebaliknya, dimana setiap entitas pada himpunan entitas B berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas A.

 

  1. Banyak ke Satu (Many to One),

setiap entitas pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas B, tetapi tidak sebaliknya, dimana setiap entitas pada himpunan entitas A berhubungan dengan paling banyak satu entitas pada himpunan entitas B.

  1. Banyak ke Banyak (Many to Many)

setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B,
demikian juga sebaliknya, di mana setiap entitas pada himpunan entitas B dapat berhubungan dengan banyak entitas pada himpunan entitas A.

JOOMLA

Joomla….apa itu joomla..???

Joomla adalah Sistem manajemen konten CMS yang bersifat bebas dan terbuka (opensource) ditulis menggunakan PHP dan basisdata MySQL untuk keperluan di internet maupun intranet. Joomla pertama kali dirilis dengan versi 1.0.0. Fitur-fitur Joomla diantaranya adalah sistem caching untuk peningkatan performansi, RSS, blogs, poling, dll. Joomla menggunakan lisensi GPL.

Joomla sangat praktis digunakan, karena membuat pekerjaan mengatur content menjadi sangat mudah, module dan lain2 yang telah disediakan. Tapi kita tidak terlalu bisa mengembangkan content management sendiri.

Ada juga yang bilang joomla sangat berat karena terlalu banyak fitur dan modul.Intinya joomla dan mamboo sangat mudah dan praktis, rada berat, support dan tutorialnya banyak. Joomla sangat bagus untuk situs-situs perusahaan atau lembaga.

Joomla juga mempunyai kelebihan-kelebihan secara umum yaitu:

  1. Fleksibel

Dengan joomla, Kami dapat membantu anda membangun website yang sederhana sebagai platform web awal anda, kemudian mengembangkannya lagi pada saat anda membutuhkannya. Fleksibilitas ini sangat berguna jika anda ingin mengembangkan website anda di masa yang akan datang.

  1. User Friendly

Kami menawarkan solusi, oleh karena itu sangat penting bagi kami untuk memastikan bahwa segala fungsi yang kami bangun di website dapat digunakan dengan mudah oleh klien. Joomla menawarkan interface yang user friendly dan intuitif, bahkan untuk pengguna yang tidak mempunyai pengetahuan web dan html dapat dengan mudah mengupdate konten dan menggunakan semua feature joomla.

  1. Open source dan dapat didistribusikan secara bebas

Prinsip open source adalah setiap orang dapat menggunakan, mengkopi, merubah dan menambah, serta mendistribusikan secara bebas. Bagi anda yang menganut prinsip open source seperti kami, anda akan mengerti bahwa open source sangatlah penting bukan hanya karena gratis, tapi lebih karena mendorong usernya dan masyarakat secara general untuk berkarya dan menambah nilai pada hasil karya itu sendiri.

  1. Powerful

Joomla dapat diaplikasikan untuk semua jenis website, mulai dari corporate website sampai dengan web e-commerse, serta community builder. Dengan joomla, website anda dapat menjadi lebih powerful dan kaya akan fungsi interaktif seperti forum, rating system, search yang lebih optimal, blog, chat, poling, newsletter, wiki, dll. Jika itu belum cukup masih banyak modul tambahan lain yang ditambahkan ke website dengan mudah.

  1. Terus berkembang

Saat ini bisa dikatakan bahwa joomla adalah web cms opensource yang paling banyak digunakan dan didukung oleh komunitas web developer yang terus menerus menciptakan karyanya di bawah bendera opensource. Begitu banyak aplikasi, modul, dan inovasi baru yang terus berkembang yang dapat anda manfaatkan untuk website.

MACAM-MACAM PERINTAH DATA BASE

Kali ini saya mau berbagi pelajaran tentang basis data yang saya dapat. Materi ini saya dapat dari mata kuliah Perancangan Basis Data.

  1. Bahasa Definisi Data (Data Definition Language/ DDL)

DDL adalah perintah-perintah yang biasa digunakan oleh administrator basis data (DBA) utnuk mendefinisikan skema ke DBMS. Skema adalah deskripsi lengkap tentang struktur medan, rekaman, dan hubungan data pada basis data
Index merupakan suatu mekanisme yang lazim digunakan pada basis data, yang memungkinkan pengambilan data dapat dilakukan dengan cepat.

DDL Digunakan untuk menspesifikasikan struktur/skema basis data yang menggambarkan/mewakili desain basis data secara keseluruhan.

Hasil kompilasi perintah DDL adalah kamus data (File yang berisi metadata (data yang mendeskripsikan data sesungguhnya).

Struktur penyimpan dan metode akses yang digunakan oleh sistem basis data disebut dengan data storage and definition language.

  1. Bahasa Manipulasi Data (Data Manipulation laguage/ DML)

DML adalah perintah-perintah yang digunakan untuk mengubah, manipulasi dan mengambil data pada basis data. Tindakan seperti menghapus, mengubah, dan mengambil data menjadi bagian dari DML.

DML pada dasarnya dibagi menjadi dua :

Prosedural, yang menuntut pengguna menentukan data apa saja yang diperlukan dan bagaimana cara mendapatkannya.

Nonprosedural, yang menuntut pengguna menentukan data apa saja yang diperlukan, tetapi tidak perlu menyebutkan cara mendapatkannya.

  1. DQL ( Data Query Language)

Query sesungguhnya berarti pertanyaan atau permintaan. Istilah ini tetap dipertahankan dalam bentuk asli, karena telah populer di kalangan pengguna DBMS di Indonesia

Perbedaan Server side dan Client Side Programming

Perbedaan utama server-side programming dan client server programming adalah tempat mengeksekusi skripnya. Pada client server programming, skrip dieksekusi di browser sedangkan server side programming dieksekusi di client (web browser)

Client Side

Karakteristik client side programming :

  1. Kode program dapat dilihat oleh user
  2. Dapat langsung diterjemahkan oleh browser
  3. Model eksekusinya simple dan skrip dapat dijadikan satu dengan HTML

Berikut cara kerja Client Side:

Pengunjung web memilih salah satu link dari web dan browser langsung membaca perintah tersebut untuk memanggil alamat web yang dituju. Setelah itu browser akan mengalihkan ke halaman yang dituju oleh pengunjung web.

Contoh aplikasi Client Side :

Css
Jquery
Javascript,dll
Kelebihan dan kekurangan dari client side programming adalah :

Kelebihan Client Side programming

Tidak perlu server khusus untuk menjalankannya
Eksekusi script lebih cepat
Tidak membebani kinerja web server.
Kekurangan Client Side programming

Harus di support oleh browser dari pihak client
Script dapat ditiru
Dari segi keamanan kurang dapat diandalkan

SERVER SIDE

Karakteristik server side programming :

  1. Ada client yang meminta request
  2. Eksekusi program dilakukan di server
  3. Mengirimkan hasil ke client

Cara kerja Server side :

Jika kita melakukan interaksi dengan halaman web maka browser akan mengirimkan perintah ke server, kemudian server akan merespon dan melaukan perintah yang diberi kemudian server akan mengirimkan kembali data/ perintah dari browser, dan browser akan menampilkan data/ perintah tersebut.

Aplikasi yang sering digunakan oleh server side programming

Search engines
Database access
Chat & bulletin board service
Dalam pembuatan web teknologi server side dibutuhkan server seperti xampp, wam, iis dan lain sebagainya. Contoh teknologi server side :

PHP: sifatnya open source dan banyak digunakan luas
Active Server Pages (ASP) dan ASP.Net, teknologi yang dikembangkan oleh Microsoft
ColdFusion, dikembangkan oleh Macromedia
Java Server Pages dan Servlet dikembangkan oleh Sun Microsystem
Common Gateway Interface (CGI), yang dibuat dengan bahasa pemrograman C++ atau Perl
Server Side Include (SSI), seperti misalnya Frontpage Server Extension
Kelebihan dan kekurangan dari Server side programming adalah :

Kelebihan Server-Side-programming

Data lebih aman
Susah untuk ditiru karena script di jalankan di server
Dari segi keamanan lebih menjamin dibandingkan dengan Client-Side-programming
Kekurangan Server-Side-programming

Memerlukan Server khusus untuk menjalankannya
Menambah beban kerja server
Agak lambat jika dibandingkan dengan Client-Side-programming karena script di terjemahkan di server kemudian tampilan di load di client