Sabtu, 11 Oktober 2014

Latihan Pengelompokkan dan Pengurutan Data Menggunakan MY SQL

LATIHAN

Dalam Menjalankan sebuah query untuk melakukan pengelompokan data dapat menggunakan Fungsi Group by dan di ikuti oleh Fungsi Aggregat.
Group by : digunakan untuk menampilkan atau memilih sekumpulan data berdasarkan kelompok data tertentu.


  • Pengelompokan nya biasa nya di sertai oleh Aggregat Fuction
  • Dalam Implementasi nya Aggregat Function harus di ikuti oleh Group by bila terdapat Field lain yang dijadikan kriteria pengelompokan

Aggregate Function : Min(), Max(), Avg(), Sum(), Count()

Group by dan Aggregate Function

1. MIN()
Fungsi MIN digunakan untuk mencari nilai minimum dari sekumpulan data yang ada

Contoh: 
2. MAX()
Fungsi MAX digunakan untuk mencari nilai maksimum dari sekumpulan data yang ada

          Contoh:


3. AVG()
Fungsi AVG digunakan untuk mencari nilai rata-rata dari sekumpulan data yang ada


 
SELECT nim,
AVG (nilai) AS rata_rata
FROM nilai1
GROUP BY (nim)

SELECT kode_mk,
AVG (nilai) AS rata_rata
FROM nilai1
GROUP BY (kode_mk)

4. SUM()
Fungsi SUM digunakan untuk menjumlahkan nilai dari sekumpulan data yang ada
Contoh:
SELECT SUM (nilai)
AS jumlah
FROM nilai1
5. COUNT()
Fungsi COUNT digunakan untuk mencari cacah atau banyaknya data

Contoh:
SELECT nim,
COUNT (nilai) AS banyaknya_data
FROM nilai1
GROUP BY (nim)
Pengurutan Data (Order By)
ORDER BY 
Digunakan untuk mengurutkan data berdasarkan field tertentu


SELECT nim,nilai
FROM nilai1
ORDER BY nilai

SELECT nim,nilai
FROM nilai1
ORDER BY nilai DESC

Keriteria Keriteria Data
1. HAVING
Menyeleksi data berdasarkan kriteria tertentu, dimana kriteria berdasarkan berupa fungsi aggregat
Tampilkan kode customer yang mempunyai cacah pembelian = 4
Where

Kondisi Where, digunakan untuk melakukan pemilihan/seleksi data. Penggunaannya dilakukan setelah kata where, dan diikuti oleh :
1.Comparison 
  • Berfungsi untuk membandingkan dua nilai. 
  • Tipe data yang seharusnya dibandingkan harus sesuai.  
  • Hasil yang diperoleh dari operasi comparison ini berupa nilai logik.
Contoh :

Tampilkan kode barang dan kode suplier yang mempunyai jumlah pasok 2
Tampilkan kode barang dan kode suplier yang jumlah pasoknya kurang atau sama dengan 5

2. Between
Pada prinsipnya between digunakan untuk membandingkan /untuk mengecek apakah suatu nilai berada dalam range atau nilai tertentu.
Contoh :
Tampilkan kode barang dan kode customer yang jumlah pasoknya antara 4 dan 15 (4 dan 15 termasuk di dalamnya
3. In
Digunakan untuk melakukan pengecekan apakah suatu nilai terdapat pada suatu himpunan tertentu. 

Contoh :
Tampilkan kode barang dan kode suplier yang jumlah pasoknya 2,8,12
4. Like / Not Like
Digunakan untuk membandingkan data dengan pola tertentu.
Contoh:
Tampilkan customer yang mempunyai kata ‘CIM’ pada alamatnya (pada alamat customer terdapat kata ‘CIM’)
Tampilkan customer yang mempunyai kata selain ‘CIM’ pada alamatnya

  • Tampilkan jumlah nilai minimum per matakuliah! 

    SELECT kode_MK,
    MIN(nilai) as minnilai
    FROM nilai3
    GROUP BY kode_MK


  • Tampilkan nilai maksimum dari semua data pada tabel NILAI!

    SELECT MAX (nilai) FROM nilai3
      
  • Tampilkan nim dan kode matakuliah yang mempunyai nilai 90! 
SELECT nim, kode_MK
FROM nilai3 
WHERE nilai =90  

  • Tampilkan nim dan kode matakuliah yang mempunyai nilai kurang dari 90! 
SELECT nim, kode_MK
FROM nilai3
WHERE nilai < 90 


  • Tampilkan data mahasiswa yang dari kota berakhiran "KARTA"!
SELECT * FROM  mahasiswa1
WHERE kota LIKE '%karta%'

 

Rabu, 01 Oktober 2014

LATIHAN MEMBUAT TABEL MENGGUNAKAN MYSQL

Berikut adalah cara membuat tabel untuk soal diatas :




CREATE TABLE mahasiswa (
nim char(10),
nama varchar(15),
alamat varchar(20),
kota varchar(15),
constraint pk_nim primary key (nim)
);

ALTER TABLE mahasiswa
ADD kodepos char(8);

ALTER TABLE mahasiswa
MODIFY kodepos varchar2(5);

ALTER TABLE mahasiswa
MODIFY alamat varchar2(30);

INSERT INTO mahasiswa (nim, nama, alamat, kota, kodepos)
VALUES (201291001,'Alfa','JL. Duri Kosambi No.10','Jakarta',12345);

INSERT INTO mahasiswa (nim, nama, alamat, kota, kodepos)
VALUES (201291002,'Betta','JL. Malioboro No.10','Yogyakarta',23456);

INSERT INTO mahasiswa
VALUES (201291003,'Charly',NULL,NULL,NULL);

INSERT INTO mahasiswa (nim, nama, alamat, kota, kodepos)
VALUES (201291004,'Delta','JL. Riau No.10','Bandung',34567);

INSERT INTO mahasiswa
VALUES (201291005,'Echo',NULL,NULL,NULL);

UPDATE mahasiswa
SET kota = 'Semarang'
WHERE nim = 201291004;

DELETE FROM mahasiswa
WHERE nim = 201291001;

select * from mahasiswa
desc mahasiswa;


 Penjelasan Program


  • CREATE TABLE digunakan untuk membuat suatu tabel dengan memberikan nilai variabel, tipedata, beserta panjangnya. Di dalam soal terdapat primary key pada nim, maka untuk membuatnya digunakan perintah constraint nama_constraint primary key nama_field_primary key). 

CREATE TABLE mahasiswa (
nim char(10),
nama varchar(15),
alamat varchar(20),
kota varchar(15),
constraint pk_nim primary key (nim)
);

  • ALTER TABLE digunakan untuk menambahkan atribut kodepos pada kolom. Jika menambahkan menggunakan ADD apabila ingin mengubah panjang nilai dari kodepos maka menggunakan MODIFY.  

ALTER TABLE mahasiswa
ADD kodepos char(8);

ALTER TABLE mahasiswa
MODIFY kodepos varchar2(5);


  •  INSERT digunakan untuk menambahkan baris baru pada tabel setelah tabel dibuat.

INSERT INTO mahasiswa (nim, nama, alamat, kota, kodepos)
VALUES (201291002,'Betta','JL. Malioboro No.10','Yogyakarta',23456);

INSERT INTO mahasiswa
VALUES (201291003,'Charly',NULL,NULL,NULL);
//tidak seperti diatas karena apabila terdapat suatu nilai yang NULL maka tidak usah memakainya cukup INSERT INTO mahasiswa saja.

  •  UPDATE digunakan apabila ingin mengganti nilai dari kolom.

UPDATE mahasiswa
SET kota = 'Semarang'
WHERE nim = 201291004;

  • DELETE  untuk menghapus data dari tabel.

DELETE FROM mahasiswa
WHERE nim = 201291001;


select * from mahasiswa           // jika ingin menampilkan tabel mahasiswa yang telah dibuat
desc mahasiswa;                       // untuk menampilkan tabel dari tipe data, dan panjang tipe data



HASIL OUTPUT dari program diatas adalah :

 ============================================================================



Berikut adalah cara membuat tabel untuk soal diatas :


CREATE TABLE matakuliah (
kode_mk char(6),
nama_mk varchar(30),
semester char(1),
sks number(2),
constraint pk_kode primary key (kode_mk)
);

INSERT INTO matakuliah(kode_mk, nama_mk, semester, sks)
VALUES('MKI001','SQL',4,2);

INSERT INTO matakuliah(kode_mk, nama_mk, semester, sks)
VALUES('MKI002','SISTEM BASIS DATA',5,2);

INSERT INTO matakuliah(kode_mk, nama_mk, semester, sks)
VALUES('MKI003','BAHASA PEMROGRAMAN',6,3);

INSERT INTO matakuliah(kode_mk, nama_mk, semester, sks)
VALUES('MKI004','PERANCANGAN BASIS DATA',4,2);


select * from matakuliah
desc matakuliah
 

 Penjelasan Program


  • CREATE TABLE digunakan untuk membuat suatu tabel dengan memberikan nilai variabel, tipedata, beserta panjangnya. Di dalam soal terdapat primary key pada nim, maka untuk membuatnya digunakan perintah constraint nama_constraint primary key nama_field_primary key). 


CREATE TABLE matakuliah (
kode_mk char(6),
nama_mk varchar(30),
semester char(1),
sks number(2),
constraint pk_kode primary key (kode_mk)
);


  •  INSERT digunakan untuk menambahkan baris baru pada tabel setelah tabel dibuat.

INSERT INTO matakuliah(kode_mk, nama_mk, semester, sks)
VALUES('MKI001','SQL',4,2);

INSERT INTO matakuliah(kode_mk, nama_mk, semester, sks)
VALUES('MKI002','SISTEM BASIS DATA',5,2);

select * from matakuliah           // jika ingin menampilkan tabel mahasiswa yang telah dibuat
desc matakuliah;                       // untuk menampilkan tabel dari tipe data, dan panjang tipe data



HASIL OUTPUT dari program diatas adalah :




============================================================================

 

 

create table nilai1 (
nim char(10),
kode_mk char(6),
nilai number(2),
constraint fk_nim_mk foreign key (nim)
references mahasiswa(nim),
constraint fk_nilai_mk foreign key (kode_mk)
references matakuliah(kode_mk)
);

INSERT INTO nilai1(nim,kode_mk,nilai)
VALUES (201291001,'MKI001',60);
INSERT INTO nilai1(nim,kode_mk,nilai)
VALUES (201291002,'MKI002',80);
INSERT INTO nilai1(nim,kode_mk,nilai)
VALUES (201291003,'MKI003',65);
INSERT INTO nilai1(nim,kode_mk,nilai)
VALUES (201291004,'MKI004',80);
INSERT INTO nilai1(nim,kode_mk,nilai)
VALUES (201491005,'MKI001',75);
INSERT INTO nilai1(nim,kode_mk,nilai)
VALUES (201291001,'MKI002',50);
INSERT INTO nilai1(nim,kode_mk,nilai)
VALUES (201291002,'MKI003',45);
INSERT INTO nilai1(nim,kode_mk,nilai)
VALUES (201291003,'MKI004',90);
INSERT INTO nilai1(nim,kode_mk,nilai)
VALUES (201291004,'MKI001',70);
 

 

============================================================================

 

 

  • SELECT nim, nama, alamat, kota, kodepos 
    FROM mahasiswa;

  • SELECT mahasiswa.nim, mahasiswa.nama, matakuliah.nama_mk 
    FROM mahasiswa, matakuliah, nilai1
    WHERE nilai1.nim=mahasiswa.nim and nilai>65 and nilai1.kode_MK=matakuliah.kode_mk;
  • UPDATE nilai1 
    SET nilai1.nilai=100
    WHERE nilai1.kode_MK ='MKI001' and nilai1.nim=201291001 and nilai1.nilai=60;
  • UPDATE matakuliah 
    SET nama_mk = ‘ALGORITMA PEMROGRAMAN’
    WHERE nama_mk = ‘BAHASA PEMROGRAMAN’;
  • DELETE FROM mahasiswa.nim, nilai1.nim 
    WHERE nim = '201291005';  

desc nilai1;