Andalan

Normalisasi database

Pengertian Normalisasi

Suatu teknik yang menstrukturkan atau mendekomposisi atau memecah data menggunakan cara tertentu untuk mencegah timbulnya anomali/penyimpangan yang terjadi akibat adanya kerangkapan data dalam relasi dan pengolahan.

Fungsi Normalisasi Basis Data

Normalisasi digunakan untuk menghindari terjadinya berbagai penyimpangan data dan tidak konsistennya data.

Tujuan Normalisasi Basis Data

Untuk menghilangkan dan mengurangi redudansi data dan memastikan data berada pada tabel yang tepat.

Proses Normalisasi

Bentuk Tidak Normal

  • Merupakan Kumpulan data yang akan direkam
  • Data dapat tidak lengkap atau terduplikasi
  • Tidak ada keharusan mengikuti format tertentu
  • data dikumpulkan apa adanya sesuai dengan kedatangannya.

Berikut contoh Tabel Unnormal data dari Nota pembelian Blumkopi:

*mohon dizoom:v
Tabel 1 NF

Suatu Tabel dikatakan 1 NF apabila dan hanya jika setiap setiap atribut hanya memiliki satu nilai tunggal.

Contoh Tabel 1NF

Tanggal PembelianNo.NotaId_pembeliNama PembeliId kasirNama KasirNama ItemId ItemQtyHarga SatuanTotal HargaTotal BayarKembalianTanggal Bayar
22 Januari 2020,17:53IT0122A000Eq-004Rangga  z-001Awan  Es Kopi Susu  p-003110.00010.000  100.000  90.000  22 Januari 2020,18:20  
22 Januari 2020,17:53IT02344B00R  q-007Junedz-006LelyEs Coklat Kelapa  q-005218.00036.00050,00014,00022 Januari 2020,18:30
23 Januari 2020,19:00  IF3557C999K  q-009Kaylaw-004MetaHot Thai Tea  w-007115.00015.000  20.0005.00023 Januari 2020,19:32  
23 Januari 2020,19:00    IF4887S556Z  t-408Litar-903UmayHot Cappucino hazelnut  s-803315.00045.000  100.000  55.000  23 Januari 2020,19:45  
24 Januari 2020,15:00JK356UI9Kt-506Rahmap-705RickyHot Cappucino               z-550212.00024.00050.00026.00024 Januari 2020,16:00
Tabel 2NF

normal kedua mempunyai syarat yaitu:

  1. Bentuk data telah memenuhi kriteria bentuk normal kesatu.
  2. Atribute bukan kunci haruslah bergantung secara fungsi pada kunci utama atau primary key.
  3. Sudah ditentukan kunci kunci field, dimana kunci field haruslah unik dan dapat mewakili atribute lain yang menjadi anggotanya.

Contoh Tabel 2NF

Tabel Nota

Id.NotaTanggal PembelianId_pembeliId ItemId KasirQtyHarga SatuanTanggal bayar
IT0122A000E22 Januari 2020,17:53q-004p-003z-001110.00022 januari 2020,18:20
IT02344B00R  22 Januari 2020,17:53q-007q-005z-006218.00022 januari 2020,18:30
IF3557C999K  23 Januari 2020,19:00  q-009w-007w-004115.00023 januari 2020,19:32
IF4887S556Z  23 Januari 2020,19:00  t-408s-803r-903315.00023 januari 2020,19:45
JK356UI9K24 Januari 2020,15:00t-506z-550p-705212.00024 januari 2020,16:00

Tabel Kasir

Id kasirNama kasir
z-001Awan
z-006Lely
w-004Meta
r-903Umay
p-705Ricky

Tabel Pembeli

Id pembeliNama pembeli
q-004Rangga
q-007Juned
q-009Kayla
t-408Lita
t-506Rahma

Tabel Item

Nama ItemHarga SatuanId Item
Es Kopi Susu  10.000p-003
Es Coklat Kelapa  18.000q-005
Hot Thai Tea  15.000w-007
Hot Cappucino hazelnut  15.000s-803
Hot Cappucino12.000z-550

Tabel Transaksi

Id PembeliTanggal PembelianId KasirId ItemQtyHarga SatuanTotal HargaTotal BayarKembalianTanggal Bayar
q-00422 Januari 2020,17:53z-001p-003110.00010.000100.00090.00022 Januari 2020,18:20  
q-00722 Januari 2020,17:53z-006q-005218.00036.00050.00014.00022 Januari 2020,18:30
q-00923 Januari 2020,19:00  W-004w-007115.00015.00020.0005.00023 Januari 2020,19:32  
t-40823 Januari 2020,19:00  r-903s-803315.00045.000100.00055.00023 Januari 2020,19:45  
t-50624 Januari 2020,15:00p-705z-550212.00024.00050.00026.00024 Januari 2020,16:00
Tabel 3NF

pada tabel 3NF tidak diperkenankan adanya partial“transitive dependency”
“transitive dependency” merupakan functional dependency yang berdasarkan sifat transifitas.

pada 3NF ini,jika terdapat suatu atribut yang tidak bergantung pada primary key tapi bergantung pada field yang lain maka atribut-atribut tersebut perlu dipisah ke tabel baru.

disini saya contohnya ada pada atribut”kembalian” field tersebut bergantung pada yang bukan primary key field”Id Item,Qty,Harga Satuan,Total Harga dan total bayar”.Jadi setelah diNormalisasikan 3NF nya menjadi:

Tabel Transaksi

IdNotaId PembeliTanggal PembelianId KasirId ItemQtyHarga SatuanTotal HargaTotal BayarKembalianTanggal Bayar
IT0122A000Eq-00422 Januari 2020,17:53z-001p-003110.00010.000100.00090.00022 Januari 2020,18:20  
IT02344B00R  q-00722 Januari 2020,17:53z-006q-005218.00036.00050.00014.00022 Januari 2020,18:30
IF3557C999K  q-00923 Januari 2020,19:00  W-004w-007115.00015.00020.0005.00023 Januari 2020,19:32  
IF4887S556Zt-40823 Januari 2020,19:00  r-903s-803315.00045.000100.00055.00023 Januari 2020,19:45  
JK356UI9Kt-50624 Januari 2020,15:00p-705z-550212.00024.00050.00026.00024 Januari 2020,16:00
Id ItemQtyHarga SatuanTotal HargaTotal BayarKembalian
p-003110.00010.000100.00090.000
q-005218.00036.00050.00014.000
w-007115.00015.00020.0005.000
s-803315.00045.000100.00055.000
z-550212.00024.00050.00026.000

Sekian dari saya,Terimakasih:v

Andalan

1st lesson HTML

HTML

HTTP (Hypertext transfer protocol) adalah protokol yang digunakan untuk mentransfer data antara web server ke web browser. Protocol ini mentransfer dokumen-dokumen web yang ditulis atau berformat HTML (Hypertext Markup Language). Dikatakan markup language karena HTML berfungsi untuk ‘memperindah’ file teks biasa untuk ditampilkan pada program web browser hal ini dilakukan dengan menambahkan elemen atau sering disebut sebagai tag-tag pada file teks biasa tersebut. Pasangan dari sebuah tag ditandai dengan symbol garis miring (/).

<tag atribut = “value”>…</tag>.

HTML tidaklah case sensitive artinya pengguna huruf kecil ataupun capital tidaklah menjadi masalah.

Struktur HTML

Struktur awalan dan akhiran sintaks html

Struktur file HTML diawali dengan sebuah tag <html> dan ditutup dengan tag </html>. Di dalam tag ini terdapat dua buah bagian besar, yaitu yang diapit oleh tag <head>…</head> dan tag <body>…</body>.  Bagian yang diapit oleh tag HEAD merupakan header dari halaman HTML dan tidak ditampilkan pada browser. Bagian ini berisi tag-tag header seperti <title>…</title> yang berfungsi untuk mengeluarkan judul pada tittle bar window web browser.
dibagian <body></body>anda akan menuliskan seluruh informasi berupa teks atau jenis gambar atau audio yang akan di sampaikan ke pengguna.

Format Teks

Format List

List adalah bagian teks di dalam dokumen yang berisi daftar item dari suatu kelompok atau grup tertentu
Terdapat 2 tipe list pada HTML yaitu ordered list (daftar berurutan) dan unordered list (daftar tak berurutan).

Ordered List pada halaman web dapat menggunakan tag <ol></ol> dengan mempunyai tipe list berikut ini.

Unordered List pada halaman web dapat menggunakan tag <ul></ul> dengan mempunyai tipe list berikut ini.

Format Tabel

  • Tag <th> atau table heading yang berfungsi mendefinisikan header.
  • Tag <tr > atau table row yang berfungsi mendefinisikan baris.
  • Tag <td> atau table data yang berfungsi mendefinisikan sel.

Format Multimedia

Konten multimedia merupakan salah satu bagian penting dari sebuah halaman web. Konten multimedia yang pada umumnya terdapat pada halaman web adalah gambar, audio, dan video. Dengan adanya konten multimedia, halaman web yang dibuat akan lebih terlihat menarik karena tidak berisi full text saja.

Format Tautan

Tautan atau link pada halaman web digunakan untuk menghubungkan atau berpindah dari satu halaman dengan halaman yang lain. Tag yang digunakan untuk membuat tautan adalah <a>…</a>.

Modul Subquery

Subquery

Subquery adalah query SELECT yang ada di dalam perintah SQL lain,menyerderhanakan persoalan rumit berkaitan query data.

subquery dapat diklasifikasikan menjadi tiga jenis,yaitu Scalar,multiple-row, dan multiple-column.

  1. Scalar Subquery
    Subquery baris tunggal,hanya mengembalikan hasil stau baris data. menggunakan Operator baris tunggal (=,>,>=,<,<=,<>)
  2. Multiple-Row Subquery
    Subquery baris ganda(multiple-row)mengembalikan lebih dari satu baris data.Subquery baris menggunakan Operator Komparasi (IN,ANY/SOME, atau ALL)
  3. Multiple-Column Subquery
    Subquery kolom ganda,mengembalikan lebih dari satu baris dan satu kolom data.

— LATIHAN —

>> tabel mahasiswa

>> Tabel ambil_mk

>> Tabel matakuliah

>> Tabel dosen

>> Tabel Jurusan

Relasi/himpunan entitasnya bila digambar di diagram schema

Scalar Subquery

mendapatkan data mahasiswa yang Jenis kelaminnya sama dengan mahasiswa dengan nama “Wati”.

langkah pertama dalam operasinya adalah mendapatkan jenis kelamin mahasiswa bernama “Wati”,hasilnya ada “P” yang akan digunakan oleh query

Multiple-Row Subquery

  • Operator IN(member didalam list)
    mendapatkan data dosen yang mengajar matakuliah
  • Operator ANY/SOME
    membandingkan suatu nilai dengan setiap nilai yang dikembalikan oleh Subquery.
    misal:mendapatkan matakul yang memiliki sks lebih besar dari sembarang sks matkul di sms 3
  • Operator ALL
    membandingkan suatu nilai dengan semua nilai yang dikembalikan oleh Subquery .
    misal:mendapatkan data matkul yang memiliki sks lebih besar dari semua sks matkul di sms 3.
  • Multiple-Column Subquery
    juga menggunakan operator IN,ANY/SOME/ALL dalam bentuk kolom ganda/digabungkan dengan query.
    misal: mendapatkan data matkul yang semester dan sksnya sesuai dengan semester dan sks matkul dengan kode “PTI447”.
  • Operator EXISTS/NOT EXISTS
    digunakan untuk memeriksa apakah Subquery mengembalikan hasil atau tidak.bila mengembalikan true,atau sebaliknya
EXISTS
NOT EXISTS
  • Subquery Fungsi Agrerat
    mendapatkan data matkul yang memiliki sks sama dengan sks terkecil.

>> mendapatlkan kode dosen dan nama dosen yang tidak mengajar matkul.

  • Pendekatan Subquery
  • Pendekatan Join

>> TUGAS PARKTIKUM <<

  1. Dapatkan data mahasiswa yang alamatnya sama dengan mahasiswa dengan nim 102,tidak termasuk mahasiswa tersebut.

2. Dapatkan matakuliah yang tidak diajar oleh dosen terdaftar.

3. Dapatkan data dosen yang mengajar matakuliah dengan sks lebih kecil dari sembarang sks.

4. Dapatkan data dosen yang mengajar matakuliah dengan sks lebih kecil dari sembarang sks.

Sekian,terimakasih
-meow

basdat join

Join

  • Relationship
    Suatu huubungan antara beberapa entitas. primary key memiliki peran penting untuk mengaitkan entitas.
  • Join
    Kombinasi record dari dua atau lebih tabel didalam basis data relasional dan menghasilkan sebuah joined table.
    • Inner Join
      menemukan persimpangan(intersection)antara dua tabel.
SELECT A1, A2, …, An FROM r1 INNER JOIN r2
ON r1.join_key = r2.join_key
sintaks inner join.
SELECT A1, A2,…, An FROM r1,r2
WHERE r1.key = r2.key
bentuk implisit inner join
relasi inner Join
  • Outer Join
    left Outer join, Right outer Join, and full outer Join.

1. Left Outer Join
mengembalikan semua nilai dari tabel kiri ditambah dengan nlai dari tabel kanan yang sesuai.(bernilai NULL jika tidak ada nilai yang sesuai).

SELECT A1,A2,…,An
FROM r1
LEFT OUTER JOIN r2
ON r1.join_key = r2.join_key
sintaks left outer Join
diagram left outer Join

2. Right Outer Join
sama dengan left join,namun dari kanan ke kiri.

sintaks right outer join sebagai berikut;

SELECT A1,A2,…,An
FROM r1
RIGHT OUTER JOIN r2
ON r1.join_key = r2.join_key
Diagram Right outer Join

3. Full Outer Join
kombinasi dari left dan right Join.

Sintaksnya sebagai berikut;

SELECT A1,A2,…,An
FROM r1
FULL OUTER JOIN r2
ON r1.join_key = r2.join_key
full outer Join

3. Union
mengkombinasikan dua buah atau lebih resultset dari beberapa table dengan statemen SELECT sehingga menjadi satu buah resulset.Statemen UNION akan menghapus semua record duplikat dari resultset.Apabila ingin record duplikat tetap di tampilkan maka pada resultset tuliskan secara explisit UNION ALL.
ketentuan:
a. Jumlah kolom/field dari setiap statemen SELECT harus sama.
b.Tipe data kolom/field dari setiap statemen SELECT harus kompatibel.

Union
Union all
SELECT A1,A2,…,An
FROM r1 UNION
SELECT A1,A2,…,An
FROM r2;
SELECT A1,A2,…,An
FROM r1 UNION ALL
SELECT A1,A2,…An
FROM r2;

Kegiatan Pembelajaran 1

inner join
implisit inner Join
mengambil nama karyawan dan nama departemen yang ditempatinya saja.
fitur “derived table” atau alias agar SQL lebih efisien.

Kegiatan Pembelajaran 2

terjadi null karena antara id_dep dan nama_dep tidak ada yang sesuai dengan relasi tabel id_dep di karyawan.
menggunakan WHERE. mendapatkan data karyawan yang tidak memiliki departemen.
timbul NULL karena nama dan id_dep di tabel kayawan(kanan) tidak sesuai dengan nama dan id_dep ditabel departemen(kiri)
menggunakan UNION

CROSS JOIN
inner Join kondisinya selalu dievaluasi TRUE.
implisitnya;
SELECT * FROM karyawan, departemen;

CROSS JOIN

Kegiatan Pembelajaran 3

perbedaan fungsi UNION dan UNION ALL dalam tabel diatas adalah jika memakai Union maka data yang dimunculkan tidak ada yang ganda/double.jika memakai union all(menggabungkan semua maka semua data digabungkan,maka terjadi penggandaan data/double data.

Kegiatan Pembelajaran 4

STUDY KASUS

TABEL GURU

TABEL GURU

TABEL MATAPELAJARAN

TABEL KELAS

  1. Tampilkan Nomor dan matapelajaran yang pesertanya lebih dari 40 orang.

2. Tampilkan nip dan nama guru yang mengajar mata kuliah ‘Basis Data

3. Tampilkan Total jumlah total siswa yang Diajar oleh ‘Steve Budi menggunakan JOIN.

Tugas Modul Fungsi Agrerat

Fungsi Agregat

Fungsi agregat (aggregate) adalah fungsi yang menerima koleksi nilai dan mengembalikan nilai tunggal sebagai hasilnya. Standar ISO mendefinisikan lima jenis fungsi agregat.

tabel 1 matkul
tabel 2 matakuliah

Mengeliminasi Duplikasi Data

jika Select saja berarti datanya masih ada yang ganda disatu tabel,contohnya Praktikum Basis Data ada 2.

jika memakai select distinct,maka data akan menjadi praktis,tidak ada penggandaan data.(data yang sama hanya ada 1)

Mendapatkan Jumlah Data

jumlah data yang ada dalam tabel matakuliah

Mendapatkan Jumlah Total

jumlah Total sks dalam tabel matakuliah
Jumlah Total semester dalam tabel matakuliah

Mendapatkan Nilai Rata-rata

nilai rata-rata sks dari data tabel matakuliah

Mendapatkan Nilai Minimal

nilai minimal sks dari tabel matakuliah

Mendapatkan Nilai Maximal

nilai maximal sks tabel matakuliah

Pengelompokkan Data

mengelompokkan data menjadi semester dan jumlah semester.

Menyaring Pengelompokkan

  1. Berdasarkan Tabel 1,tampilkan kodeBarang,NamaBarang, dan Harga barang termurah!

2. Berdasarkan Tabel 1,tampilkan data buku yang memiliki stok kurang dari 10!

3. Berdasarkan Tabel 2,dapatkan jumlah matakuliah yang mengandung kata”Basis Data”!

4. Berdasarkan Tabel 2,dapatkan jumlah total sks pada matakuliah dengan kode_mk selain PTI!

SOAL LANJUTAN

  1. Berdasarkan Tabel 1,dapatkan nilai rata-rata penghasilan yang didapat dari penjualan barang dengan stok diatas 50!

2. Berdasarkan Tabel 1,dapatkan harga Barang yang bukan buku dengan harga diatas 2000 dan stok dibawah 30!

3. Berdasarkan Tabel 2,dapatkan jumlah matakuliah yang mengandung kata”Sistem”!

Sekian,terimakasih:V

Tugas Basdat ERD

Tugas Latihan

1 ibu mengasuh beberapa anak(lebih dari 1) -> One to many
beberapa anak diasuh oleh 1 ibu.

1 suami memiliki 1 istri -> one to one . begitupula sebaliknya.
1 istri dimiliki 1 suami.

beberapa mahasiswa(lebih dari 1) mengikuti beberapa mata kuliah(lebih dari satu) -> many to many.
begitupula sebaliknya beberapa matkul diikuti oleh beberapa mahasiswa.

Tugas Study Kasus

identifyr Tokoswlayan memiliki Entitas Barang,Member,Karyawan,Supplier.
entitas Barang memiliki Relasi Pembelian dengan member dengan kardinalitas one to many. 1 member melakukan pembelian beberapa barang.beberapa barang dibeli oleh seorang member.

Entitas Supplier memiliki Relasi Penjualan dengan Barang dengan kardinalitas many to many.Beberapa supplier(lebih dari 1) melakukan Penjualan Barang,begitupun sebaliknya.

Perkenalkan Diri Anda (Contoh Pos)

Ini adalah contoh pos yang aslinya dipublikasikan sebagai bagian dari Blogging University. Ikuti salah satu dari sepuluh program kami, dan mulai buat blog dengan tepat.

Anda akan memublikasikan pos hari ini. Jangan khawatir dengan tampilan blog Anda. Jangan khawatir jika Anda belum memberinya nama, atau merasa bingung. Cukup klik tombol “Pos Baru”, dan beri tahu kami apa yang ingin Anda lakukan di sini.

Mengapa harus melakukannya?

  • Karena ini memberikan konteks kepada pembaca baru. Apa fokus Anda? Mengapa mereka harus membaca blog Anda?
  • Karena ini akan membantu Anda fokus pada gagasan Anda sendiri mengenai blog ini dan yang ingin Anda lakukan di dalamnya.

Posnya bisa singkat atau panjang, pengantar personal mengenai kehidupan Anda atau pernyataan misi blog, sebuah manifesto untuk masa depan, atau garis besar sederhana tentang hal yang ingin Anda publikasikan.

Berikut ini beberapa pertanyaan untuk membantu Anda memulai:

  • Mengapa Anda memilih untuk menulis blog secara publik daripada menulis jurnal pribadi?
  • Topik apa yang ingin Anda tulis?
  • Siapa yang ingin Anda jangkau melalui blog Anda?
  • Jika Anda berhasil menulis blog dengan lancar sepanjang tahun depan, apa yang ingin Anda raih?

Tidak ada yang mengikat Anda. Salah satu hal yang menakjubkan tentang blog adalah perubahannya yang terus menerus seiring kita belajar, tumbuh, dan berinteraksi satu sama lain. Namun Anda sebaiknya mengetahui tempat dan alasan memulai, dan mengartikulasikan target Anda mungkin dapat memberikan beberapa ide lain untuk pos Anda.

Tidak tahu cara memulai? Tuliskan saja hal pertama yang muncul di kepala. Anne Lamott, pengarang buku tentang menulis yang kita suka, berkata bahwa Anda harus merelakan diri untuk menulis “konsep pertama yang jelek”. Tidak usah malu. Apa yang dikatakan Anne sangat bagus — mulai menulis saja dulu, dan sunting nanti jika tulisan sudah selesai.

Saat sudah siap memublikasikan, berikan tiga sampai lima tag pada pos yang menjelaskan fokus blog Anda, apakah itu tentang menulis, fotografi, fiksi, pengasuhan anak, makanan, mobil, film, olahraga, apa saja. Tag ini akan memudahkan orang lain yang tertarik dengan topik Anda menemukan Anda di Pembaca. Pastikan salah satu tagnya “zerotohero” agar blogger baru lainnya dapat menemukan Anda juga.

Rancang situs seperti ini dengan WordPress.com
Mulai