Featured Post

Newest

Tugas Praktikum Basis Data 2 - Pertemuan 5

Dalam artikel ini saya akan menyelesaikan tugas praktikum mata kuliah Basis Data 2 yang diberikan oleh bapak Nurcholis Ali...

Tugas Praktikum Basis Data 2 - Pertemuan 5

Tugas Praktikum Basis Data 2 - Pertemuan 5

Dalam artikel ini saya akan menyelesaikan tugas praktikum mata kuliah Basis Data 2 yang diberikan oleh bapak Nurcholis Ali Sya’bana, M.Kom pada pertemuan ke 5. Sebelumnya saya telah mempublikasi artikel tentang Latihan Praktikum Basis Data 2 - Pertemuan 5 sebagai referensi untuk menyelesaikan tugas praktikum ini.

Tugas praktikum kali ini saya menggunakan basis data yang sebelumnya saya pakai untuk latihan praktikum, didalam basis data tersebut saya menambahkan 2 tabel yang akan diolah yaitu tabel 1 dan tabel 2. Berikut adalah data tabel yang akan diolah:

Tabel 1

kode_buku
jenis_buku
nama_buku
harga
stok
NVL479 Novel Penjelajah Senja
50000
20
NVL123 Novel Dilan
60000
10
TKS567 Teks Metode Numerik
90000
7
KMK876 Komik Avatar
40000
5
KMK889 Komik Doraemon
45000
1
TKS009 Teks Java Mobile
95000
3
KMS112 Kamus Kamus Jerman
99000
40

Tabel 2

kode_mk
nama_mk
sks
semester
FTI961 Algoritma
3
3
TIK267 Kalkulus 3
2
4
TOP777 Basis Data 2
3
6
FTI776 Struktur Data
3
2
MUK091 ANSI
2
6
LKT229 AIKA 1
1
1
UKT222 Jarkom
2
2
 
Berikut ini adalah beberapa soal yang harus diselesaikan:
  1. Berdasarkan tabel 1, dapatkan data buku dengan harga termurah, kelompokkan berdasarkan jenis bukunya!
  2. Berdasarkan tabel 1, dapatkan total stok buku berdasarkan jenis bukunya. Dapatkan hanya jenis buku yang stoknya kurang dari 10!
  3. Berdasarkan tabel 2, Dapatkan jumlah matakuliah tanpa duplikasi field nama_mk!
  4. Bedasarkan tabel 2, dapatkan jumlah total sks pada matakuliah dengan kode_mk selain FTI! 
  5. Berdasarkan tabel 1, dapatkan rata-rata penghasilan kotor yang didapat dari penjualan buku dengan stok diatas 10!
  6. Berdasarkan tabel 1, dapatkan harga buku terbesar yang bukan komik dengan harga dibawah 2000 dan stok diatas 16!
  7. Berdasarkan tabel 2, dapatkan jumlah matakuliah yang mengandung kata “Sistem” hanya jika jumlahnya lebih dari 3! (jika jumlah kurang dari 3 maka akan menghasilkan “empty set”)


Penyelesaian:
  1. Berdasarkan tabel 1, dapatkan data buku dengan harga termurah, kelompokkan berdasarkan jenis bukunya!
    Untuk menyelesaikan soal ini, gunakan syntax berikut:
    SELECT jenis_buku, nama_buku, MIN(harga) AS harga
    FROM `tabel_1`
    GROUP BY jenis_buku;

    Berikut hasilnya:


  2. Berdasarkan tabel 1, dapatkan total stok buku berdasarkan jenis bukunya. Dapatkan hanya jenis buku yang stoknya kurang dari 10!
    Untuk menyelesaikan soal ini, gunakan syntax berikut:
    SELECT jenis_buku, SUM(stok) AS stok
    FROM `tabel_1`
    GROUP BY jenis_buku
    HAVING stok < 10;

    Berikut hasilnya:


  3. Berdasarkan tabel 2, Dapatkan jumlah matakuliah tanpa duplikasi field nama_mk!
    Untuk menyelesaikan soal ini, gunakan syntax berikut:
    SELECT DISTINCT COUNT(nama_mk) AS jumlah_mk
    FROM `tabel_2`;

    Berikut hasilnya:


  4. Bedasarkan tabel 2, dapatkan jumlah total sks pada matakuliah dengan kode_mk selain FTI!
    Untuk menyelesaikan soal ini, gunakan syntax berikut:
    SELECT SUM(sks) AS total_sks
    FROM `tabel_2`
    WHERE kode_mk NOT LIKE 'FTI%';

    Berikut hasilnya:


  5. Berdasarkan tabel 1, dapatkan rata-rata penghasilan kotor yang didapat dari penjualan buku dengan stok diatas 10!
    Untuk menyelesaikan soal ini, gunakan syntax berikut:
    SELECT AVG(harga) AS penghasilan_kotor
    FROM `tabel_1`
    WHERE stok > 10;

    Berikut hasilnya:


  6. Berdasarkan tabel 1, dapatkan harga buku terbesar yang bukan komik dengan harga dibawah 2000 dan stok diatas 16!
    Untuk menyelesaikan soal ini, gunakan syntax berikut:
    SELECT MAX(harga) AS harga_tertinggi
    FROM `tabel_1`
    WHERE stok > 16 
    AND jenis_buku NOT LIKE 'Komik' 
    AND harga < 2000;

    Berikut hasilnya:


  7. Berdasarkan tabel 2, dapatkan jumlah matakuliah yang mengandung kata “Sistem” hanya jika jumlahnya lebih dari 3! (jika jumlah kurang dari 3 maka akan menghasilkan “empty set”)
    Untuk menyelesaikan soal ini, gunakan syntax berikut:
    SELECT IF(COUNT(nama_mk) > 3, COUNT(nama_mk), "empty set") AS total
    FROM `tabel_2`
    WHERE nama_mk NOT LIKE 'Sistem%';

    Berikut hasilnya:


Penutup
Demikian tugas praktikum basis data 2 pertemuan ke 5 ini, semoga artikel ini bermanfaat bagi para pembaca. Sekian dan terima kasih.
Latihan Praktikum Basis Data 2 - Pertemuan 5

Latihan Praktikum Basis Data 2 - Pertemuan 5

Artikel kali ini saya akan membagikan hasil dari latihan Basis Data 2 yang diberikan oleh Bapak Nurcholis Ali Sya'bana, M.Kom pada pertemuan ke 5. Latihan kali ini tentang bagaimana data-data diolah dan menghasilkan output yang kita inginkan. Tujuan dari latihan ini untuk memberikan beberapa contoh yang nantinya akan dipakai untuk mengerjakan Tugas Praktikum Pertemuan 5.

Untuk menyelesaikan latihan ini, saya diharuskan membuat basis data (database) baru dengan nama saya sendiri yang didalam basis data tersebut memiliki beberapa tabel sesuai dengan perintah berikut 
Dalam latihan ini, buatlah database “latihan_namaanda” kemudian buatlah tabel matakuliah dengan record seperti dibawah ini

kode_mk
nama_mk
sks
semester
PTI447 Praktikum Basis Data
1
3
TIK342 Praktikum Basis Data
1
3
PTI333 Basis Data Terdistribusi
3
5
TIK123 Jaringan Komputer
2
5
TIK333 Sistem Operasi
3
5
PTI123 Grafika Komputer
3
5
PTI777 Sistem Informasi
2
3

Langkah pengerjaan latihan:
  1. Buat database dengan nama anda, lalu buat tabel matakuliah dan isi seperti tabel diatas. 

  2. Setelah database dan tabel sudah selesai dibuat, masuk ke menu SQL Editor pada PhpMyAdmin. Tuliskan pernyataan SQL berikut:
    SELECT nama_mk FROM `matakuliah` 
    ORDER BY nama_mk;

    Eksekusi pernyataan SQL dengan klik tombol “GO”, berikut hasilnya:


  3. Perhatikan adanya data dengan nama sama pada hasil query. Untuk mengeliminasi, tambahkan keyword DISTINCT:
    SELECT DISTINCT nama_mk FROM `matakuliah` 
    ORDER BY nama_mk;

    Eksekusi pernyataan SQL dengan klik tombol “GO”, berikut hasilnya:


  4. Tuliskan pernyataan SQL berikut untuk Mendapatkan Jumlah Data:
    SELECT COUNT(*) AS jumlah_record
    FROM `matakuliah`;

    Eksekusi pernyataan SQL dengan klik tombol “GO”, berikut hasilnya:


  5. Tuliskan pernyataan SQL berikut untuk Mendapatkan Jumlah Total:
    SELECT SUM(sks) AS total_sks
    FROM `matakuliah`;

    Eksekusi pernyataan SQL dengan klik tombol “GO”, berikut hasilnya:


  6. Tuliskan pernyataan SQL berikut untuk Mendapatkan Nilai rata-rata:
    SELECT AVG(sks) AS rata_rata
    FROM `matakuliah`;

    Eksekusi pernyataan SQL dengan klik tombol “GO”, berikut hasilnya:


  7. Tuliskan pernyataan SQL berikut untuk Mendapatkan Nilai Maximum:
    SELECT MAX(sks) AS max_sks
    FROM `matakuliah`;

    Eksekusi pernyataan SQL dengan klik tombol “GO”, berikut hasilnya:


  8. Tuliskan pernyataan SQL berikut untuk Pengelompokan Data:
    SELECT semester, COUNT(semester) AS jumlah
    FROM `matakuliah`
    GROUP BY semester;

    Eksekusi pernyataan SQL dengan klik tombol “GO”, berikut hasilnya:


  9. Tuliskan pernyataan SQL berikut untuk Menyaring Hasil Fungsi Agregat:
    SELECT semester, COUNT(semester) AS jumlah
    FROM `matakuliah`
    GROUP BY semester
    HAVING jumlah > 3;

    Eksekusi pernyataan SQL dengan klik tombol “GO”, berikut hasilnya:


Penutup
Demikian artikel tentang latihan praktikum basis data 2 pada pertemuan 5 ini, semoga artikel ini bermanfaat serta membantu untuk menyelesaikan Tugas Praktikum  Pertemuan 5. Terima kasih.
Tugas Basis Data 2 - Pertemuan 4

Tugas Basis Data 2 - Pertemuan 4

Terima kasih kepada dosen saya Bapak Nurcholis Ali Sya'bana, M.Kom. selaku pengajar mata kuliah Basis Data 2 yang telah memberikan tugas tentang Fungsi Agregat pada pertemuan ke 4. Dengan dibuatnya artikel ini bisa memenuhi tugas yang telah diberikan sehingga saya terus berkembang  dalam dunia Pemrogramman khususnya Basis Data.

Dalam tugas kali ini saya harus bisa mengaplikasikan Fungsi Agregat yang sering digunakan dalam basis data untuk memproduksi hasil berupa rangkuman tertentu sesuai dengan yang diinginkan. Perintah tugas tersebut adalah sebagai berikut:

Buat sebuah database yang terdiri dari berbagai table field beserta isi dari masing masing atributnya. Aplikasikan fungsi agregat dalam database yang sudah kalian buat tersebut.


Untuk mengerjakannya saya menggunakan basis data (database) yang sudah saya buat pada tugas pertemuan 3 dengan studi kasus penjualan, didalam setiap table sudah saya isi beberapa data agar fungsi agregat bisa kita aplikasikan. Berikut adalah beberapa fungsi agregat yang akan saya gunakan:

  • COUNT
  • AVG
  • SUM
  • MIN
  • MAX

Langkah pengerjaan:
  1. Pastikan xampp sudah berjalan

  2. Buka database basis_data_2, klik tab SQL lalu ketik syntax berikut untuk menghitung jumlah data (COUNT) yang ada didalam table barang:
    SELECT COUNT(*) FROM `barang`
    Hasil dari syntax tersebut adalah 10 karena jumlah data (record) yang ada didalam table barang adalah 10 data.

  3. Untuk menghitung nilai rata-rata dari kolom harga kita gunakan fungsi AVG sebagai berikut:
    SELECT AVG(harga) FROM `barang`
    Hasil dari syntax tersebut adalah 3560, hasil ini didapat dari nilai rata-rata kolom harga.

  4. Menghitung jumlah atau hasil penjumlahan data angka dari kolom harga kita gunakan fungsi SUM, berikut syntaxnya:
    SELECT SUM(harga) FROM `barang`
    Hasil dari syntax tersebut adalah 35600, hasil ini didapat dari total nilai kolom harga.

  5. Untuk mencari nilai terkecil dari suatu kolom kita bisa menggunakan fungsi MIN, berikut syntaxnya:
    SELECT MIN(harga) FROM `barang`
    Hasil dari syntax tersebut adalah 2500, hasil ini didapat dari nilai terkecil pada kolom harga.

  6. Untuk mencari nilai terbesar dari suatu kolom kita bisa menggunakan fungsi MAX, berikut syntaxnya:
    SELECT MAX(harga) FROM `barang`
    Hasil dari syntax tersebut adalah 7000, hasil ini didapat dari nilai terbesar pada kolom harga.

Penutup
Fungsi agregat sering sekali digunakan dalam basis data untuk menghitung, menjumlahkan, mencari nilai rata-rata, mencari nilai minimum dan maksimum, dengan diberikannya tugas ini untuk menambah wawasan dan melatih skill dalam mengolah data. Sekian dari saya semoga artikel ini bermanfaat bagi para pembaca. Terima kasih.

Fungsi Agregat - Basis Data 2

Fungsi Agregat - Basis Data 2

Fungsi Agregat adalah Fungsi yang mengambil suatu kumpulan nilainilai sebagai input dan mengembalikan satu nilai sebagai output.
SQL menyediakan fungsi untuk memproduksi hasil berupa rangkuman tertentu sesuai dengan yang diinginkan, yaitu:
  1. COUNT
  2. AVG
  3. SUM
  4. MIN
  5. MAX


COUNT
Untuk mendapatkan nilai banyaknya record/menghitung jumlah data dari hasil query atau menghitung jumlah baris, syntax penggunaan:
SELECT COUNT(*) FROM nama_table;
Contoh : hitung jumlah data dari table mahasiswa
SELECT COUNT(*) FROM mahasiswa;


AVG
Suatu fungsi yang digunakan dalam SQL untuk menghitung nilai rata-rata dari suatu kolom. Misalnya ada jumlah harga buku yang dimasukkan database, tetapi kita ingin mencari harga rata-rata buku tersebut maka, kita bisa menggunakan fungsi AVG ini, fungsi ini hanya dapat digunakan pada data angka, syntax penggunaan:
SELECT AVG(namafield) FROM table;
Contoh : hitung nilai rata-rata pada atribut Diskon dari table koleksi_buku
SELECT AVG(Diskon) FROM koleksi_buku;


SUM
Fungsi SUM adalah suatu fungsi yang digunakan dalam bahasa SQL untuk menghitung jumlah atau hasil penjumlahan data angka dari suatu field ataupun kolom. Misalnya kita ingin menghitung total dari banyaknya barang yang masih tersedia tanpa ada perbedaan antara jenis barang maka, kita dapat menggunakan Fungsi Sum ini. 
Karena ini merupakan penjumlahan antara data angka, maka yang Fungsi ini hanya berlakuuntuk tipe data angka. Sehingga dalam penginputan valuesnya nanti tidak perlu menggunakan tanda (‘ ‘) lagi. Syntax penggunaan:
SELECT SUM(namafield) FROM nama_table;
Contoh : hitung nilai total pada atribut harga dari table produk
SELECT SUM(harga) FROM produk;


MIN
Suatu fungsi yang digunakan dalam bahasa SQL untuk mencari nilai terkecil dari kumpulan data angka dalam suatu field. Syntax penggunaan:
SELECT MIN(namafield) FROM nama_table;
Contoh : cari nilai terkecil pada atribut stok dari table koleksi_buku
SELECT MIN(stok) FROM koleksi_buku;


MAX
Suatu fungsi yang digunakan dalam SQL untuk mencari nilai terbesar dari kumpulan data angka dalam suatu kolom atau field. Syntax penggunaan:
SELECT MAX(namafield) FROM nama_table;
Contoh : cari nilai terbesar pada atribut stok dari table koleksi_buku
SELECT MAX(stok) FROM koleksi_buku;


FUNGSI GROUP CONCAT
Klausa group by yang menyatakan adanya pengelompokan record-record hasil query.
Jika kita ingin menampilkan banyaknya recorddan total stok untuk koleksi_buku yang dikelompokkan berdasarkan nilai isbnnya, maka ekspresi yang dapat digunakan
SELECT field_1 count (*) AS jumlah, 
sum (field_2) AS Total 
FROM nama_table;
Contoh : hitung jumlah data sebagai jumlah dan hitung total stok sebagai Total_stok dari table koleksi_buku
SELECT isbn, count (*) AS jumlah, 
sum(stok) AS Total_stok 
FROM koleksi_buku;


FUNGSI AGREGAT untuk nilai NULL
Didalam query ada perlakuan khusus terhadap keberadaan nilai null.
Jika kita ingin mengetahui bahwa di tabel nilai tidak semua dataindek nilai sudah terisi data, maka ekspresi yang dapat digunakan
SELECT DISTINCT field1 FROM table WHERE field is NULL;
Contoh : tampilkan data field isbn tanpa duplikat dari table koleksi_buku ketika field diskon NULL.
SELECT DISTINCT isbn FROM koleksi_buku WHERE Diskon IS null;
Tugas Basis Data 2 - Pertemuan 3

Tugas Basis Data 2 - Pertemuan 3

Postingan ini saya buat untuk melengkapi tugas mata kuliah saya yaitu Basis Data 2 yang diberikan oleh dosen pengampu saya Bapak Nurcholis Ali Sya'bana, M.kom. Tugas kali ini didapat dari pertemuan ke 3 yang berjudul Modifikasi Database. Pertanyaan dari tugas ini sebagai berikut: 


Buatlah sebuah database dengan karakteristik minimal terdapat 5 table dan masing masing table terdiri dari berbagai macam atribut.



Studi kasus yang akan saya selesaikan dalam tugas ini adalah Penjualan. Dimana nantinya akan ada 5 table yaitu:
  • barang
  • kategori
  • toko
  • user
  • invoice

Langkah pengerjaan:
  1. Siapkan xampp
  2. Start Apache dan MySQL
  3. Buka browser lalu ketik localhost/phpmyadmin pada adress bar browser
  4. Buat database baru dengan nama basis_data_2
  5. Buat table barang 
  6. Isi table barang dengan atribut sebagai berikut
    Nama Type Length
    id_barang INT 10
    nama_barang VARCHAR 50
    harga VARCHAR 20
    note : huruf tebal adalah primary key

  7. Buat table kategori, isi atribut table kategori sebagai berikut:
    Nama Type Length
    id_kategori INT 11
    nama_kategori VARCHAR 20
    note : huruf tebal adalah primary key

  8. Buat table user, isi atribut table user sebagai berikut:
    Nama Type Length
    id_user INT 11
    nama VARCHAR 30
    alamat TEXT
    no_hp VARCHAR 13
    note : huruf tebal adalah primary key

  9. Buat table toko, isi atribut table toko sebagai berikut:
    Nama Type Length
    id_toko INT 11
    nama_toko VARCHAR 20
    alamat TEXT
    no_hp VARCHAR 13
    note : huruf tebal adalah primary key

  10. Buat table invoice, isi atribut table invoice sebagai berikut:
    Nama Type Length
    id_invoice INT 11
    tgl_order DATE
    total DOUBLE
    note : huruf tebal adalah primary key



Hasil


Penutup
Pelajaran yang didapat dari tugas ini adalah tentang cara membuat database dan mendifinisikan table didalam database atau bisa juga disebut DDL (Data Definition Language). Demikian postingan blog saya yang masih banyak kekurangan baik dari kata dan penjelasan yang mungkin sulit dipahami. Sekian.
Modifikasi Database - Basis Data 2

Modifikasi Database - Basis Data 2

Modifikasi Database adalah kegiatan yang bertujuan untuk mengubah data-data yang ada pada suatu tabel didalam database. Terdapat 3 jenis modifikasi, yaitu:
  • INSERT 
  • DELETE 
  • UPDATE

INSERT
Digunakan untuk memasukkan data baru ke dalam suatu tabel.Contoh berikut adalah query untuk memasukkan suatu data ke dalam satu table

INSERT INTO <realtion> VALUES (<list of="" value="">);

Contoh : tambahkan kedalam table kelas (nim , nama) 01234567 Arif
INSERT INTO kelas VALUES (‘01234567’,’Arif’);
Atau
INSERT INTO kelas (nim, nama) VALUES (‘01234567’,’Arif’);


DELETE
Digunakan untuk menghapus data dari suatu table dapat dilakukan berdasarkan atribut tertentu

DELETE FROM <tabel> WHERE <kondisi>;

Contoh : hapus dari table kelas (nim , nama) 01234567 Arif
DELETE FROM kelas WHERE nim = ‘01234567’ AND nama =‘Arif’;
Untuk menghapus semua baris gunakan:
DELETE FROM kelas;


UPDATE
Digunakan untuk merubah data dari suatu tabel. Misal sebelum perubahan data dilakukan, dibuat atribut alamat untuk tabel kelas

ALTER table kelas ADD alamat varchar (20);

Bisa juga merubah nilai dari beberapa data dengan memanfaatkan klausa WHERE. Syntax penggunaan seperti berikut.
UPDATE <table> SET <daftar atribut> WHERE <kondisi pada baris>;
Contoh : ubah nama menjadi Rahmat yang memiliki nim  01234567
UPDATE kelas SET nama = ‘Rahmat’ WHERE nim = ‘01234567’;


NULL Values
Suatu atribut dari tabel dapat di set agar dapat berisi nilai NULL atau tidak. yang dapat bernilai NULL biasanya atribut yang bukan Primary Key
Misal atribut nama tidak seharusnya memiliki nilai NULL, maka dapat diubah dengan menggunakan query:

ALTER table kelas CHANGE nama nama varchar (10) not null;


Mendeklarasikan sebuah table
Bentuk sederhana untuk membuat sebuah table
CREATE TABLE <nama> (<daftar atribut>);
Untuk mengha[pus sebuah table
DROP TABLE <nama>;


Element Deklarasi Table
Elemen dasar merupakan sebuah atribut dan typenya, type paling umum adalah:
  • INT or INTEGER
  • REAL or FLOAT
  • CHAR (n)
  • VARCHAR (n)


Mendeklarasikan Kunci
Sebuah atribut atau daftar atribut dapat didekarasikan kunci yang disebut primary key atau unique. Contoh:
CREATE TABLE kelas (Nim int UNIQUE, Nama char (20));
Dalam sebuah atribut juga dimungkinkan memiliki lebih dari satu kunci
CREATE TABLE kelas (
Nim int,
Nama char (20),
Alamat varchar (100),
PRIMARY KEY (Nim, Nama));