---
# System prepended metadata

title: PERTEMUAN 08 - DATA MANIPULATION LANGUAGE (Bagian-4)

---

# PERTEMUAN 08

## DATA MANIPULATION LANGUAGE (Bagian-4)

### Live Preview 

- [Click Me](https://hackmd.io/@novaardiansyah/HkaVpLLfT)

## TUGAS PRAKTIKUM

### Soal A.

**a)** Buatlah struktur database *penjualan* dengan *suplier* sebagai tabel. Ketik perintah dibawah ini

```sql!
  create database penjualan;
  
  use penjualan;
  
  create table suplier(id_suplier varchar(15), nama_suplier char(20), alamat varchar(30), no_tlp char(15), primary key(id_suplier));
  
  desc suplier;
```

### Soal B.

**b)** Dari point *a)* diatas, tambahkan data sebagai berikut : 
Menambahkan data pada table penjualan dengan insert into.
Ketik perintah dibawah ini : 

```sql!
  INSERT INTO suplier VALUES ('11234', 'Elex Media', 'PalMerah', '0215455454');
  
  INSERT INTO suplier VALUES ('11236', 'BIP', 'Cakung', '0215455234');
  
  INSERT INTO suplier VALUES ('11235', 'AgroMedia', 'Ciganjur', '0215455776');

  INSERT INTO suplier VALUES ('11232', 'Erlangga', 'Ciracas', '0215454242');

  INSERT INTO suplier VALUES ('11231', 'Mizan', 'Cilandak', '0215455899');

  INSERT INTO suplier VALUES ('11230', 'KompasMedia', 'PalMerah', '0215455433');
```

### Soal C.

**c)** Dari point *a)* dan *b)* di atas, cari dan tampilkan data. Memampilkan data dengan perintah between untuk menampilkan data suplier yang mempunya id_suplier 11231 dan 11235
Ketik perintah di bawah ini:

```sql!
  select * from suplier where id_suplier between 11231 and 11234;
```

### Soal D.

**d)** Masih di dalam Database *penjualan*, buat table dengan nama *buku*, kemudian isi table tersebut dengan data seperti di bawah ini :

```sql!
  create table buku (isbn varchar(15), judul varchar(50), pengarang varchar(50), penerbit varchar(50), harga int, primary key(isbn));
  
  insert into buku values ('2001145', 'IPS Terpadu', 'Tim Guru', 'Erlangga', 54000);
  
  insert into buku values ('2005666', 'Cerdas Berbahasa', 'Srikanti', 'KompasMedia', 60000);
  
  insert into buku values ('2007575', 'Teknik Industri', 'Suryanto', 'Penerbit Andi', 50000);
  
  insert into buku values ('2000543', 'Good English', 'Michael R', 'ElexMedia', 45000);
  
  insert into buku values ('2054449', 'Kimia Dasar', 'Michael Purba', 'Erlangga', 60000);
```

### Soal E.

**e)** Dari point *d)* di atas, cari dan tampilkan data yang mempunyai kisaran harga
50.000 sampai 60.000, sehingga seperti gambar di bawah ini.

```sql!
  select * from buku where harga between 50000 and 60000
```

### Soal F.

**f)** Dari point *d)* di atas, cari dan tampilkan data menggunakan LIKE denganmenampilkan nama penerbit yang berawalan dengan huruf E, sehingga seperti gambar di bawah ini.

```sql!
  select * from buku where penerbit like 'E%';
```

### Soal G.

**g)** dari point *d)* diatas, cari dan tampilkan data menggunakan *NOT LIKE* dengan tidak menampilkan *nama penerbit* yang berawal dengan huruf *E*, sehingga seperti gambar dibawah ini.

```sql!
  select * from buku where penerbit not like 'E%';
```

### Soal H.

**h)** dari point *d)* diatas, cari dan tampilkan data menggunakan *IN* dan *NOT IN* untuk menampikan *pengarang* *Srikanti, Suryanto, Tim Guru*

```sql!
  SELECT * FROM buku WHERE pengarang IN ('Srikanti', 'Suryanto', 'Tim Guru');
  
  SELECT * FROM buku
WHERE pengarang NOT IN ('Srikanti', 'Suryanto', 'Tim Guru');
```

### Soal I.

**i)** dari point *d)* diatas, cari dan tampilkan data nama suplier saja dengan perintah *Group By* dan *Having*.

```sql!
  SELECT judul FROM buku GROUP BY judul HAVING COUNT(*) > 1;

```

### Soal J.

**j)** dari point *d)* diatas, cari dan tampilkan data *ISBN* dengan *Order By Asc* dan *Desc* 

```sql!
  select * from buku order by isbn asc;
  
  select * from buku order by isbn desc;
```

## TUGAS PENDAHULUAN

### Soal

1. Tuliskan dan jelaskan Deklarasi sintaks perintah *Between* pada MySQL?
2. Apa fungsi perintah *Having* dalam menampilkan data?
3. Sebutkan dan jelaskan pengurutan data dalam *Order By*?
4. Apa perbedaan dari *Like* dan *Not Like*?

### Jawaban

1. **Perintah `BETWEEN` pada MySQL**: Perintah `BETWEEN` digunakan untuk memfilter data yang berada dalam rentang nilai tertentu. Contohnya: `SELECT * FROM tabel WHERE kolom BETWEEN nilai1 AND nilai2;` akan mengambil data di mana nilai kolom berada di antara `nilai1` dan `nilai2`.

2. **Fungsi perintah `HAVING`**: Perintah `HAVING` digunakan setelah `GROUP BY` untuk memfilter hasil agregasi. Ini memungkinkan Anda untuk menentukan kondisi untuk grup hasil agregasi, seperti jumlah atau rata-rata. Data yang memenuhi kondisi `HAVING` akan ditampilkan.

3. **Pengurutan dalam `ORDER BY`**: Perintah `ORDER BY` digunakan untuk mengurutkan hasil query. Anda dapat mengurutkan data berdasarkan satu atau beberapa kolom, dan Anda dapat mengatur urutan pengurutan (ascending/ascending) menggunakan `ASC` dan `DESC`.

4. **Perbedaan antara `LIKE` dan `NOT LIKE`**: `LIKE` digunakan untuk mencocokkan data yang cocok dengan pola teks tertentu, sedangkan `NOT LIKE` digunakan untuk mencocokkan data yang tidak cocok dengan pola teks tertentu. `LIKE` akan mengembalikan data yang sesuai dengan pola, sedangkan `NOT LIKE` akan mengembalikan data yang tidak sesuai dengan pola.

## TUGAS AKHIR

### Kesimpulan

Dalam pengelolaan basis data, perintah-perintah seperti *BETWEEN*, *LIKE*, *IN*, dan *ORDER BY* digunakan untuk mengakses dan mengatur data dalam tabel dengan lebih efektif.

Perintah *BETWEEN* digunakan untuk memfilter data di antara dua nilai yang ditentukan. Misalnya, jika ingin menampilkan semua transaksi yang terjadi antara tanggal tertentu, dapat menggunakan perintah `WHERE tanggal BETWEEN '2023-01-01' AND '2023-12-31'.`

Perintah *LIKE* digunakan untuk mencocokkan pola teks dalam kolom data. Misalnya, dapat menggunakan `WHERE nama LIKE 'John%'` untuk menampilkan semua entri yang dimulai dengan `John.`

Dengan menggunakan perintah-perintah ini, kita dapat mengakses, menyaring, dan mengurutkan data dalam basis data sesuai dengan kebutuhan.

