• Tidak ada hasil yang ditemukan

MODUL PEMBINAAN KARIER

N/A
N/A
Protected

Academic year: 2021

Membagikan "MODUL PEMBINAAN KARIER"

Copied!
158
0
0

Teks penuh

(1)

MODUL

PEMBINAAN KARIER

Mata Pelajaran

Reakayasa Perangkat Lunak

Sekolah Menengah Kejuruan (SMK)

Kelompok Kompetensi B

Penulis : Joko Pitono

Direktorat Jenderal Guru dan Tenaga Kependidikan

Kementrian Pendidikan dan Kebudayaan

(2)
(3)

i Penulis:

1. Joko Pitono

Email : [email protected]

Penelaah:

1. Siera Maulida Asrin, S.T [081562783394], Email: [email protected] 2. Abdul Haliq, S.Pd., M.Pd. [085341259862] Email : [email protected] 3. Hasrul Bakri, S.Pd, M.T. [081355723687] Email : [email protected] Ilustrator :

1. Siera Maulida Asrin, S.T [081562783394], Email: [email protected]

2. Faizal Reza Nurzeha, A.Md [085242177945] Email : [email protected]

Layouter :

1. Janwar Fajrin, S.T [085299970328] Email : [email protected]

Copyright ©2017

Lembaga Pengembangan dan Pemberdayaan Pendidikan Tenaga Kependidikan Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi.

Hak Cipta Dilindungi Undang-Undang

Dilarang mengkopi sebagian atau keseluruhan isi buku ini untuk kepentingan komersial tanpa izin tertulis dari Kementrian Pendidikan Kebudayaan.

(4)
(5)

iii

KATA SAMBUTAN

Peran guru profesional dalam proses pembelajaran sangat penting sebagai kunci keberhasilan belajar siswa. Guru profesional adalah guru yang kopeten membangun proses pembelajaran yang baik sehingga dapat menghasilkan pendidikan yang berkualitas. Hal ini tersebut menjadikan guru sebagai komponen yang menjadi fokus perhatian pemerintah pusat maupun pemerintah daerah dalam peningkatan mutu pendidikan terutama menyangkut kopetensi guru.

Pengembangan profesionalitas guru melalui program Pembinaan karier (GP) merupakan upaya peningkatan kompetensi untuk semua guru. Sejalan dengan hal tersebut, pemetaan kopetensi guru telah dilakukan melalui uji kompetensi guru (UKG) untuk kompetensi pedagogik dan profesional pada akhir tahun 2015. Hasil UKG menunjukan peta kekuatan dan kelemahan kompetensi guru dalam penguasaan pengetahuan. Peta kompetensi guru tersebut dikelompokan menjadi 10 (sepuluh) kelopok kompetensi. Tindak lanjut pelaksanaan UKG diwujudkan dalam bentuk pelatihan guru pasca UKG melalui program Pembinaan karier. Tujuannya untuk meningkatkan kompetensi guru sebagai agen perubahaan dan sumber belajar utama bagi peserta didik. Program Pembinaan karier dilaksanakan melalui pola tatap muka, daring (online) dan campuran (blended) tatap muka dengan online.

Pusat Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependidikan (PPPPTK), Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependidikan Kelautan Perikanan Teknologi Informasi dan Komunikasi (LP3TK KPTK) dan Lembaga Pengembangan dan Pemberayaan Kepala Sekolah (LP2KS) merupakan Unit Pelaksana Teknis di lingkungan Direktorat Jendral Guru dan Tenaga Kependidikan yang bertanggung jawab dalam mengembangkan perangkat dan melaksanakan peningkaan kompetensi guru sesuai dengan bidangnya. Adapun perangkat pembelajaran yang dikembangkan tersebut adalah modul untuk program Pembinaan karier tatap muka dan pembinaan karier online untuk semua mata pelajaran dan kelompok

(6)

iv

kompetensi. Dengan modul ini diharapkan Pembinaan Karier memberikan sumbangan yang sangat besar dalam peningkatan kualitas kompetensi guru. Mari kita sukseskan Program Pembinaan Karier ini untuk mewujudkan Guru Mulia Karena Karya.

Jakarta, Februari 2017 Direktur Jendral

Guru dan Tenaga Kependidikan

Sumarna Surapranata, Ph.D NIP. 195908011985031002

(7)

v

KATA PENGANTAR

Profesi guru dan tenaga kependidikan harus dihargai dan dikembangkan sebagai profesi yang bermartabat sebagaimana diamanatkan Undang-Undang Nomor 14 Tahun 2005 tentang Guru dan Dosen. Hal ini dikarenakan guru dan tenaga kependidikan merupakan tenaga profesional yang mempunyai fungsi, peran, dan kedudukan yang sangat penting dalam mencapai visi pendidikan 2025 yaitu “Menciptakan Insan Indonesia Cerdas dan Kompetitif”. Untuk itu guru dan tenaga kependidikan yang profesional wajib melakukan pengembangan keprofesian berkelanjutan.

Buku pedoman Pedoman Penyusunan Modul Diklat Pengembangan Keprofesian Berkelanjutan Bagi Guru dan Tenaga Kependidikan untuk institusi penyelenggara program pengembangan keprofesian berkelanjutan merupakan petunjuk bagi penyelenggara pelatihan di dalam melaksakan pengembangan modul yang merupakan salah satu sumber belajar bagi guru dan tenaga kependidikan. Buku ini disajikan untuk memberikan informasi tentang penyusunan modul sebagai salah satu bentuk bahan dalam kegiatan pengembangan keprofesian berkelanjutan bagi guru dan tenaga kependidikan.

Pada kesempatan ini disampaikan ucapan terima kasih dan penghargaan kepada berbagai pihak yang telah memberikan kontribusi secara maksimal dalam mewujudkan buku ini, mudah-mudahan buku ini dapat menjadi acuan dan sumber inspirasi bagi guru dan semua pihak yang terlibat dalam pelaksanaan penyusunan modul untuk pengembangan keprofesian berkelanjutan. Kritik dan saran yang membangun sangat diharapkan untuk menyempurnakan buku ini di masa mendatang. Makassar, Februari 2017 Kepala LPPPTK KPTK Gowa Sulawesi Selatan, Dr. H. Rusdi, M.Pd, NIP 19650430 199103 1 004

(8)
(9)

vii

DAFTAR ISI

Sampul ... i

KATA SAMBUTAN ... iii

KATA PENGANTAR ... v

DAFTAR ISI ... vii

DAFTAR TABEL ... xv PENDAHULUAN ... 1 A. Latar Belakang ... 1 B. Tujuan ... 2 C. Peta Kompetensi ... 2 D. Ruang Lingkup ... 3

E. Saran Cara Penggunaan Modul ... 4

Kegiatan Pembelajaran 1 ... 7

A. Pengantar ... Error! Bookmark not defined. B. Tujuan ... 7

C. Indikator Pencapaian Kompetensi ... 7

D. Uraian Materi ... 7

E. Aktivitas Pembelajaran ... 17

F. Latihan / Kasus / Tugas ... 18

G. Rangkuman ... 19

H. Umpan Balik dan Tindak Lanjut ... 20

I. Kunci Jawaban ... 21

Kegiatan Pembelajaran 2 : ... 25

A. Tujuan ... 25

B. Indikator Pencapaian Kompetensi ... 25

C. Uraian Materi ... 25

D. Aktivitas Pembelajaran ... 39

E. Latihan / Kasus / Tugas ... 40

F. Rangkuman ... 41

G. Umpan Balik dan Tindak Lanjut ... 42

(10)

viii

Kegiatan Pembelajaran 3 : ... 46

A. Tujuan ... 46

B. Indikator Pencapaian Kompetensi ... 46

C. Uraian Materi ... 46

D. Aktivitas Pembelajaran ... 69

E. Latihan / Kasus / Tugas ... 69

F. Rangkuman ... 71

G. Umpan Balik dan Tindak Lanjut ... 71

H. Kunci Jawaban ... 72

Kegiatan Pembelajaran 4 : ... 76

A. Tujuan ... 76

B. Indikator Pencapaian Kompetensi ... 76

C. Uraian Materi ... 76

D. Aktivitas Pembelajaran ... 88

E. Latihan / Kasus / Tugas ... 89

F. Rangkuman ... 90

G. Umpan Balik dan Tindak Lanjut ... 91

H. Kunci Jawaban ... 92

Kegiatan Pembelajaran 5: ... 96

A. Tujuan ... 96

B. Indikator Pencapaian Kompetensi ... 96

C. Uraian Materi ... 96

D. Aktivitas Pembelajaran ... 103

E. Lathan / Kasus / Tugas ... 104

F. Rangkuman ... 105

G. Umpan Balik dan Tindak Lanjut ... 105

H. Kunci Jawaban ... 106

Kegiatan Pembelajaran 6: ... 110

A. Tujuan ... 110

B. Indikator Pencapaian Kompetensi ... 110

C. Uraian Materi ... 110

D. Aktivitas Pembelajaran ... 115

E. Latihan / Kasus / Tugas ... 116

(11)

ix

G. Umpan Balik dan Tindak Lanjut ... 118

H. Kunci Jawaban ... 118

Kegiatan Pembelajaran 7: ... 122

A. Tujuan ... 122

B. Indikator Pencapaian Kompetensi ... 122

C. Uraian Materi ... 122

D. Aktivitas Pembelajaran ... 124

E. Latihan / Kasus / Tugas ... 125

F. Rangkuman ... 126

G. Umpan Balik dan Tindak Lanjut ... 127

H. Kunci Jawaban ... 127 EVALUASI ... 129 KUNCI JAWABAN ... 134 PENUTUP ... 135 DAFTAR PUSTAKA... 137 GLOSARIUM ... 139

(12)
(13)

xi

DAFTAR GAMBAR

Gambar 1. 1 Gambaran Relasional Database ... 8

Gambar 1. 2 Contoh Skenario Model Data ... 9

Gambar 1. 3 Model Hubungan Entitas (Entity Relationship Model) ... 10

Gambar 1. 4 Gambar Hubungan ER Multi Tabel ... 12

Gambar 1. 5 Record pada Tabel EMPLOYEES ... 14

Gambar 1. 6 Komunikasi DBMS Menggunakan SQL ... 16

Gambar 2. 1 Contoh Pembatasan Garis dengan Kriteria Tertentu ... 26

Gambar 2. 2 Membatasi Baris Yang Dipilih ... 27

Gambar 2. 3 Query dengan Klausa Where ... 27

Gambar 2. 4 Query dengan Kasus Campuran ... 28

Gambar 2. 5 Operator yang Terdapat pada Query ... 28

Gambar 2. 6 Hasil Eksekusi Query dengan Kondisi Perbandingan ... 29

Gambar 2. 7 Hasil Eksekusi Query dengan Kondisi Between ... 30

Gambar 2. 8 Hasil Eksekusi Query dengan Kondisi IN ... 30

Gambar 2. 9 Hasil Eksekusi Query dengan Kondisi LIKE ... 31

Gambar 2. 10 Hasil Eksekusi Query dengan Kondisi LIKE ... 32

Gambar 2. 11 Hasil Eksekusi Query dengan Kondisi NULL ... 32

Gambar 2. 12 Hasil Eksekusi Query dengan Logika OR ... 34

Gambar 2. 13 Hasil Eksekusi Query dengan Logika NOT ... 35

Gambar 2. 14 Hasil Eksekusi Query ... 37

Gambar 2. 15 Hasil Eksekusi Query dengan Klausa ORDER BY ... 38

Gambar 2. 16 Contoh Query dengan ORDER BY ... 39

Gambar 3. 1 Fungsi SQL ... 47

Gambar 3. 2 Ilustrasi Fungsi SQL ... 47

Gambar 3. 3 Deklarasi Nama Fungsi ... 48

Gambar 3. 4 Jenis-Jenis Fungsi Single Row ... 49

Gambar 3. 5 Klasifikasi Fungsi Karakter ... 49

(14)

xii

Gambar 3. 7 Hasil Query Menggunakan Fungsi ManipulasiCase ... 52

Gambar 3. 8 Hasil Query Menggunakan Fungsi KarakterManipulasi ... 53

Gambar 3. 9 Hasil Query dengan Fungsi Numerik ... 54

Gambar 3. 10 Hasil Query Fungsi ROUND ... 55

Gambar 3. 11 Hasil Query Fungsi TRUNC ... 55

Gambar 3. 12 Hasil Query Fungsi MOD ... 56

Gambar 3. 13 Format Tanggal pada Oracle ... 56

Gambar 3. 14 Fungsi SYSDATE pada Query ... 57

Gambar 3. 15 Hasil Query SYSDATE dengan Manipulasi Tanggal ... 58

Gambar 3. 16 Fungsi TRUNC dalam Pemotongan Tanggal ... 59

Gambar 3. 17 Hasil Query dengan Manipulasi Tanggal ... 60

Gambar 3. 18 Hasil Query dengan fungsi ROUND dan TRUNC ... 60

Gambar 3. 19 Hasil Query dengan Konversi TO_CHAR ... 61

Gambar 3. 20 Query Menggunakan Fungsi NVL ... 63

Gambar 3. 21 Query dengan Fungsi NVL2 ... 64

Gambar 3. 22 Query Menggunakan Fungsi NULLIF ... 65

Gambar 3. 23 Hasil Eksekusi Query dengan Fungsi COALESCE ... 66

Gambar 3. 24 Query dengan Kondisi CASE ... 68

Gambar 3. 25 Query dengan Fungsi DECODE ... 68

Gambar 4. 1 Tabel yang akan dimanipulasi ... 77

Gambar 4. 2 Hasil Query NATURAL JOIN ... 78

Gambar 4. 3 Query Natural Join dengan KlausaWHERE ... 79

Gambar 4. 4 Klausa USING untuk Equijoin ... 80

Gambar 4. 5 Query Penggunaan Tabel Alias ... 80

Gambar 4. 6 Klausa ON pada Query ... 81

Gambar 4. 7 Contoh Self Join pada Query ... 82

Gambar 4. 8 Klausa ON dengan Kombinasi SELF JOIN ... 82

Gambar 4. 9 KlausaJOIN pada Query ... 83

Gambar 4. 10 Tabel EMPLOYEES dan JOB_GRADES ... 84

Gambar 4. 11 Implementasi Non-Equijoins pada Query ... 84

Gambar 4. 12 Hasil Query Left Outer Join ... 85

Gambar 4. 13 Hasil Query Right Outer Join pada ... 86

(15)

xiii

Gambar 4. 15 Hasil Query Cartesian Product ... 88

Gambar 4. 16 Hasil Query CROSS JOIN ... 88

Gambar 5. 1 Query dalam membuat Tabel ... 97

Gambar 5. 2 Sebelum Data diperbarui ... 98

Gambar 5. 3 Sesudah Data diperbarui ... 98

Gambar 5. 4 Data Sebelum diperbarui ... 99

Gambar 5. 5 Data Sesudah diperbarui ... 100

Gambar 5. 6 Data Sebelum diperbarui ... 101

Gambar 5. 7 Data Sesudah diperbarui ... 101

Gambar 5. 8 Data Sebelum dihapus ... 102

Gambar 5. 9 Data Sesudah dihapus ... 102

Gambar 6. 1 Hasil Eksekusi Query Membuat Tabel... 113

Gambar 6. 2 Struktur Awal Tabel ... 114

Gambar 6. 3 Struktur Setelah Terjadi Penambahan Kolom... 114

Gambar 7 1 Penggunaan commit ... 123

(16)
(17)

xv

DAFTAR TABEL

Tabel 1 Kebenaran Logikan AND ... 33

Tabel 2 Kebenaran Logikan OR ... 34

Tabel 3 Kebenaran Logikan NOT ... 35

Tabel 4 Aturan Protokoler ... 36

Tabel 5 Fungsi dan Kegunaannya ... 50

Tabel 6 Fungsi Numerik ... 54

Tabel 7 Operasi pada Tanggal ... 58

(18)

xvi

(19)

1

PENDAHULUAN

A. Latar Belakang

Guru dan tenaga kependidikan wajib melaksanakan kegiatan pengembangan keprofesian secara berkelanjutan agar dapat melaksanakan tugas profesionalnya. Program Pembinaan karier adalah pengembangan kompetensi Guru dan Tenaga Kependidikan yang dilaksanakan sesuai kebutuhan, bertahap, dan berkelanjutan untuk meningkatkan profesionalitasnya.

Pembinaan karier sebagai salah satu strategi pembinaan guru dan tenaga kependidikan diharapkan dapat menjamin guru dan tenaga kependidikan sehingga mampu secara terus menerus memelihara, meningkatkan, dan mengembangkan kompetensinya sesuai dengan standar yang telah ditetapkan. Pelaksanaan kegiatan Pembinaan karier akan mengurangi kesenjangan antara kompetensi yang dimiliki guru dan tenaga kependidikan dengan tuntutan profesional yang dipersyaratkan.

Program Diklat Pembinaan karier ini membutuhkan modul yang berfungsi sebagai salah satu sumber belajar. Modul Diklat Pembinaan karier Guru Rekayasa Perangkat Lunak (RPL) Kelompok Kompetensi B “Sistem Manajemen Basis Data” ini dapat digunakan oleh guru dan tenaga kependidikan dan berfungsi sebagai acuan untuk memenuhi tuntutan kompetensinya, sehingga guru dapat melaksanakan tugasnya secara professional sesuai dengan standar yang telah ditetapkan.

Modul Diklat Pembinaan karier Guru RPL Kelompok Kompetensi B “Sistem Manajemen Basis Data ” ini mempelajari tentang pembuatan struktur tabel, mengisi data ke tabel, mengubah data dan menghapus data dari tabel dengan menggunakan softwareRelational Database Management System (RDBMS), serta komunikasi Sistem Manajemen Basis Data menggunakan perintah Structure Query Language (SQL).

(20)

2

B. Tujuan

Tujuan disusunnya modul diklat Pembinaan karier Guru RPL Kelompok Kompetensi B ini adalah memberikan pengetahuan dan keterampilan kepada guru atau peserta diklat tentang pembuatan struktur tabel, mengisi data ke tabel, mengubah data dan menghapus data dari tabel dengan benar melalui aktifitas observasi dan praktikum. Setelah mempelajari modul ini diharapkan guru dapat : Merencanakan Database Management System (DBMS) yang mampu memfasilitasi pengguna untuk menyimpan, memperoleh, dan mengubah data di dalam basis data”.

Sedangkan indikator pencapaian kompetensinya adalah :

1. Membuat basis data menggunakan Data Definition Language. 2. Membuat relasi antar tabel menggunakan fitur visual DBMS 3. Memanipulasi data menggunakan Data Manipulation Language. 4. Membuat pengaturan privalages pada DBMS

(21)

3 Peta Kompetensi Modul Diklat GP Guru RPL Grade 2

Kompetensi Utama

Standar kompetensi Kompetensi

Inti Guru (KIG)

Kompetensi Guru Keahlian (KGK) Indikator pencapaian Kompetensi Profesional 1. Menguasai materi, struktur, konsep dan pola pikir keilmuan yang mendukung mata pelajaran yang diampu 1.1. Merencanakan DBMS yang mampu memfasilitasi pengguna untuk menyimpan, memperoleh, dan mengubah data di dalam basis data.

1.1.1. Menganalisis struktur hirarki dan bentuk diagram antar entitas dalam basis data. 1.1.2. Membuat Entity Relationship Diagram 1.1.3. Menganalisis teknik normalisasi basis data

1.1.4. Membuat basis data menggunakan fitur visual pada DBMS 1.1.5. Membuat basis data

menggunakan Data Definition Language 1.1.6. Membuat relasi antar tabel menggunakan fitur visual pada DBMS. 1.1.7. Membuat manipulasi data menggunakan Data Manipulation Language. 1.1.8. Membuat pengaturan privilages pada DBMS

D. Ruang Lingkup

Modul ini terdiri dari tujuh (7) materi pokok. Setiap materi pokok dirancang dalam kegiatan pembelajaran. Setiap kegiatan pembelajaran terdiri dari tujuan pembelajaran, indikator essential, uraian materi, aktifitas pembelajaran, latihan/tugas/kasus, rangkuman dan umpan balik. Tujuh (7) materi pokok pada modul ini adalah : 1) Database Relasional, 2) Membatasi dan Menyortir Data; 3) Menggunakan Fungsi Single-Baris Untuk Menyesuaikan Keluaran; 4) Menampilkan Data Dari Beberapa Tabel; 5) Data

(22)

4

Manipulation Language Pada SQL; 6) Data Definition Language Pada SQL;

dan 7) Data Control Language Pada SQL;

E. Saran Cara Penggunaan Modul

Modul Sistem manajemen Basis Data ini terdiri dari sebelas topik utama. Peserta diklat dapat mempalajari sesui dengan urutan topik mulai topik 1 sampai topik 7. Ketujuh topik tersebut tidak memiliki ketergantungan secara penuh, sehingga peserta diklat dapat mempelajari tidak secara berurutan. Akan tetapi untuk masing-masing topik setiap kegiatan pembelajaran mempunyai keterkaitan secara penuh. Ini berarti untuk setiap topik materi yang dipelajari harus secara berurutan sesuai urutan kegiatan pembelajaran. Untuk setiap kegiatan pembelajaran urutan yang harus dilakukan oleh peserta diklat dalam mempelajari modul ini adalah :

1. Membaca tujuan pembelajaran sehingga memahami target atau goals dari kegiatan belajar tersebut.

2. Membaca indikator pencapaian kompetensi sehingga memahami obyek yang akan dijadikan kriteria pengukuran untuk mencapai tujuan pembelajaran.

3. Membaca uraian materi pembelajaran sehingga memiliki pengetahuan, ketrampilan dan sikap terhadap kompetensi yang akan dicapai

4. Melakukan aktifitas pembelajaran dengan urutan atau kasus permasalahan sesuai dengan contoh.

5. Mengerjakan latihan/soal atau tugas dengan mengisi lembar kerja yang telah disediakan.

6. Menjawab pertanyaan dalam umpan balik yang akan mengukur tingkat pencapaian kompetensi melalui penilaian diri.

(23)
(24)
(25)

7

Kegiatan Pembelajaran 1

Database Relasional

A. Tujuan

Setelah mengikuti kegiatan pembelajaran 1 ini, peserta diklat diharapkan dapat:

1. Memperoleh pemahaman tentang sistem manajemen database relasional

(Relational Database Management System/RDBMS) dan sistem objek

manajemen database relasional (Relational Database Management

System/ORDBMS).

2. Memperoleh pemahaman konsep dasar database relasional.

3. Mengkomunikasikan gagasan database menggunakan model data yang sesuai.

B. Indikator Pencapaian Kompetensi

Indikator pencapaian kompetensi pada kegiatan pembelajaran ini adalah: 1. Menggambarkan struktur tabel relasional

2. Membuat model menggunakan konvensi entitas

3. Berkomunikasi dengan RDBMS menggunakan pernyataan SQL

4. Mengelompokkan pernyataan-pernyataan SQL dalam kelompok DML, DDL, DCL, dan Transaction Control

C. Uraian Materi

1. Konsep Database Relasional

Dr. E.F. Codd pada tahun 1970 telah memperkenalkan model relasional sistem database yang merupakan dasar untuk Relational Database

Management System (RDBMS). Sebelum konsep database relasional

telah digunakan dua model database yaitu network dan hierarchical

Database. RDMBS memiliki kemudahan dalam penggunaannya dan

memiliki fleksibilitas dalam struktur, sehingga sangat cepat populer ditambah dengan beberapa vendor yang inovatif dalam membantu mengembangkan aplikasi-aplikasi yang powerful serta produk-produk yang menawarkan solusi. Dalam database relasional, data disimpan

(26)

8

dalam bentuk relasi atau tabel dua dimensi, dan antartabel satu dengan tabel yang lainnya terdapat hubungan atau relationship.

Komponen-komponen model ralasional meliputi : Kumpulan objek yang memiliki keterkaitan atau relasional antar penyimpan data, Set operator yang dapat melakukan relasi untuk membuat relasi yang lainnya, dan Integritas datauntuk akurasidan konsistensi. Untuk membuat struktur tabel, mengisi data ke tabel, mengubah data dan menghapus data dari tabel diperlukan software RDBMS, sedangkan perintah yang digunakan disebut Structure Query Language (SQL) sehingga setiap software RDBMS dapat digunakan untuk menjalankan perintah SQL

2. Definisi Database Relasional

Sebuah database relasional menggunakan hubungan atau tabel dua dimensi untuk menyimpan informasi. Sebagai contoh: Kita ingin menyimpan informasi tentang semua karyawan yang ada pada salah satu perusahaan. Dalam sebuah database relasional, kita membuat beberapa tabel untuk menyimpan bagian-bagian informasi yang berbeda tentang karyawan yang bekerja diperusahaan tersebut, misalnya tabel yang menyimpan informasi tentang karyawan, tabel yang menyimpan informasi tentang departemen, tabel yang menyimpan informasi tentang gaji.

Gambar 1. 1 Gambaran Relasional Database Comment [A1]:

(27)

9 3. Model Data

Model merupakan landasansebuah desain. Sebelum sebuah mobil diproduksi, terlebih dahalu para perancang membuat model mobil dan bekerja secara rinci dan detail pada model mobil tersebut.Dalam cara yang sama, perancang sistem mengembangkan model untuk mengeksplorasi ide-ide dan meningkatkan pemahaman desain database. Tujuan sebuah model adalah membantu mengkomunikasikan konsep-konsep yang ada dipikiran orang. Model dapat digunakan untuk melakukan hal berikut: menyampaikan/mengkomunikasikan, mengkategorikan, menggambarkan, menentukan, menyelidiki, mengembangkan, menganalisis, dan meniru. Model yang baik adalah model yang cocok dalam banyak kegunaan, dapat dipahami oleh pengguna akhir, dan berisi detail yang cukup untuk pengembang dalam membangun sistem database.

Gambar 1. 2 Contoh Skenario Model Data

4. Model Hubungan Entitas (Entity Relationship Model)

Dalam sistem yang efektif, data dibagi menjadi kategori diskrit atau entitas. Sebuah hubungan entitas (ER) model adalah sebuah ilustrasi dari berbagai entitas dalam bisnis dan hubungan diantara mereka. Model ER berasal dari spesifikasi bisnis atau narasi dan dibangun selama tahap

Comment [A2]:

(28)

10

analisis siklus hidup pengembangan sistem (System Development Life

Cycle).

Berikut ini adalah manfaat model ER

a. Informasi Dokumen bagi organisasi dalam format yang jelas tepat. b. Memberikan gambaran yang jelas tentang ruang lingkup kebutuhan

informasi.

c. Menyediakan peta bergambar yang mudah dipahami untuk desain database.

d. Menawarkan kerangka kerja yang efektif untuk mengintegrasikan beberapa aplikasi.

Komponen-komponen Kunci model ER adalah:

a. Entitas: Suatu hal yang penting tentang informasi yang perlu diketahui. Contohnya adalah departemen, karyawan, dan pesanan. b. Atribut: Sesuatu yang menggambarkan atau memenuhi syarat suatu

entitas. Sebagai contoh, untuk entitas karyawan, atributnya adalah: nomor karyawan, nama, jabatan, tanggal perekrutan, nomor departemen, dan sebagainya. Setiap atribut yang baik adalah diperlukan atau opsional. Pernyataan ini disebut optionality.

c. Hubungan: Hubungan atau relationship adalah sebuah asosiasi antara entitas dan derajat. Contohnya adalah karyawan dan departemen, dan pesanan dan item barang.

Gambar 1. 3 Model Hubungan Entitas (Entity Relationship Model)

(29)

11 Konvensi Model ER

Entitas

Untuk mewakili entitas dalam model, menggunakan konvensi sebagai berikut :

a. Singular, nama entitas yang unik b. Nama entitas dalam huruf besar c. Kotakdengan garis tipis.

d. Nama sinonim opsional dengan huruf besar didalam tanda kurung: ().

Atribut

Untuk mewakili atribut dalam model, menggunakan konvensi sebagai berikut :

a. Nama singular dalam huruf kecil.

b. Asterisk (*) tanda untuk atribut wajib (yaitu, nilai-nilai yang harus diketahui).

c. Karakter "o" tanda untuk atribut opsional (yaitu, nilai-nilai yang mungkin dikenal).

Hubungan

Simbol Deskripsi

Garis putus-putus Elemenopsionalyang menunjukkan"mungkin" Garis penuh Elemenwajibmenunjukkan"harus"

Crow‟s foot Menunjukkan"satu atau lebih" Single line Menunjukkan"satu dan hanya satu"

6. Hubungan Multi Tabel

Setiap tabel berisi data yang menggambarkan secara tepat satu entitas. Sebagai contoh, tabel EMPLOYEES berisi informasi tentang karyawan. Kategori data yang tercantum di bagian atas setiap tabel, dan kasus-kasus individu tercantum di bawah tabel. Dengan menggunakan formattabel, dapat dengan mudah memvisualisasikan, memahami, dan menggunakan informasi. Karena data tentang entitas yang berbeda disimpan dalam tabel yang berbeda, sehingga perlu untuk menggabungkan dua atau lebih tabel dalam menyelesaikan

(30)

12

permasalahan tertentu. Sebagai contoh, untuk mengetahui lokasi departemen mana seorang karyawan bekerja. Dalam skenario ini, memerlukan informasi dari tabel EMPLOYEES (yang berisi data tentang karyawan) dan tabel DEPARTMENTS (yang berisi informasi tentang departemen). Dengan RDBMS, seseorang dapat menghubungkan data yang berada dalam satu tabel dengan data yang berada di tabel lain menggunakan foreign key. Foreign key adalah kolom (atau set kolom) yang mengacu pada Primary key dalam tabel yang sama atau tabel lain. Data dalam dua tabel yang terpisah dapat diorganisasi menjadi informasi baru yang dapat dikelola secara terpisah.

Gambar 1. 4 Gambar Hubungan ER Multi Tabel

7. Terminologi Database Relasional

Sebuah database relasional dapat berisi satu atau banyak tabel. Sebuah table merupakan struktur penyimpanan dasar dari sebuah RDBMS. Sebuah table memiliki semuadata yang diperlukan tentang sesuatu di dunia nyata, seperti karyawan, faktur, atau pelanggan.

Tabel

Didalam sistem relasional database data dinyatakan dengan menggunakan tabel (relations). Sebuah tabel mempunyai struktur seperti di bawah ini,

(31)

13 kolom 1 kolom 2 ……….. kolom n

……… ………

Sebuah tabel harus diberi nama secara unik sebagai identitasnya dan terdiri dari beberapa baris sebagai penyimpanan informasi, dan masing-masing baris berisi satu record. Sebuah tabel dapat mempunyai sebuah kolom atau lebih. Sebuah kolom memiliki sebuah nama dan tipe data yang diberlakukan dan merupakan deskripsi atribut pada record. Struktur tabel yang disebut juga relation schema, ditentukan oleh atribut-atributnya. Tipe informasi yang tersimpan di dalam tabel ditentukan oleh tipe data yang terdapat pada atribut-atributnya pada saat tabel dibuat. Sebuah tabel dapat mempunyai lebih dari 254 kolom yang mempunyai tipe data yang sama atau tipe data yang berbeda sesuai dengan penempatan values (domain). Kemungkinan-kemungkinan domain yang dipergunakan adalah alphanumeric data (strings), numbers, dan date

formats. ORACLE menawarkan tipe-tipe data dasar seperti di bawah ini:

a. Char (n): Fixed-lenght character data (strings), mendefinisikan string sepanjang n karakter. Nilai maksimum untuk n adalah 255 byte (... di ORACLE 9i). Bila n tidak dituliskan, maka panjang karakter yang berlaku adalah 1.

contoh: char(40).

b. Varchar2 (n) : Variable-lenght character strings, mendefiniskan string yang panjangnya berubah-ubah sesuai dengan kebutuhan dan dibatasi sebanyak karakter n. Nilai n maksimum adalah 2000 (... di ORACLE 9i). Hanya banyaknya byte yang digunakan saja yang tersimpan pada memori.

contoh: varchar2(80).

c. Number (o,d) : Numeric data type , mendefinisikan angka integerdan riel, o = jumlah digit, d = jumlah digit yang berada dibelakang koma. Nilai maksimum: o = 38, d = -84 sampai +127.

contoh: number (8), number (5,2).

(32)

14

Number (5,2) nilainya tidak dapat lebih dari 999.99 , jika melebihi nilai maksimum tersebut maka akan menjadi kesalahan. Tipe data yang berasal dari number adalah int[eger], dec[imal], smallint dan real.

d. Date: Date data type untuk menempatkan atau mendefinisikan

tanggal, bulan, tahun, hari, jam, menit dan detik. Format keadaan awal ( default ) untuk date adalah : DD-MMM-YY.

Contoh : ‟10-FEB-94’,’29-NOV-98’.

e. long: mendefinisikan tipe data binary, panjangnya karakter maksimum adalah 2GB. Setiap tabel hanya diperbolrhkan satu kolom saja yang mempunyai tipe long.

Catatan:

Di dalam ORACLE–SQL tidak ada tipe data boolean, tetapi dengan data yang sama dapat menggunakan char(1) atau number(1).

Selama tidak terdapat ketentuan/hambatan lain yang membatasi kemungkina values pada atribut, dapat digunakan special value yaitu null (untuk sesuatu yang tidak diketahui). Nilai ini tidak sama dengan angka 0, dan juga tidak sama dengan angka kosong.

(33)

15 Gambar 1.5 menunjukkan isi tabel atau relasi EMPLOYEES. Huruf-huruf menunjukkan hal-hal sebagai berikut:

a. Baris tunggal (atau tuple) mewakili semua data yang dibutuhkan untuk karyawan tertentu. Setiap baris dalam sebuah tabel harus diidentifikasi oleh primary key, yang memungkinkan tidak ada duplikasi baris. Urutan baris tidak signifikan; menentukan urutan baris saat data diambil.

b. Sebuah kolom ataua tribut yang berisi nomor karyawan. Jumlah karyawan mengidentifikasi karyawan yang unik dalam tabel

EMPLOYEES. Dalam contoh ini, kolom nomor karyawan yang

ditunjuk sebagai primary key. Sebuah primary key harus mengandung nilai, dan nilai harus unik.

c. Sebuah kolom yang bukan key value. Sebuah kolom merupakan atau merepresentasikan salah satu jenis data dalam tabel; dalam contoh ini, data adalah gaji semua karyawan. Urutan kolom tidak signifikan ketika menyimpan data; menentukan urutan kolom saat data diambil. d. Sebuah kolom yang berisi nomor departemen, yang juga merupakan

foreign key. Foreign key adalah kolom yang mendefinisikan

bagaimana tabel berhubungan satu sama lain. Foreign key mengacu pada primary key atau kunci unik di tabel yang sama atau di tabel lain. Dalam contoh, DEPARTMENT_ID secara unik mengidentifikasi sebuah departemen dalam tabel DEPARTMENTS.

e. Sebuah field dapat ditemukan di persimpangan dari baris dan kolom. Hanya ada satu nilai di dalamnya.

f. Sebuah field mungkin tidak memiliki nilai di dalamnya. Ini disebut nilai null. Dalam tabel EMPLOYEES,hanya karyawan yang memiliki peran perwakilan penjualan memiliki nilai di COMMISSION_PCT (komisi).

8. Properti Database Relasional

Dalam sebuah relasional database, pengguna tidak menentukan rute akses ke tabel, dan tidak perlu tahu bagaimana data diatur secara fisik. Untuk mengakses database, cukup dengan mengeksekusi perintah-perintah atau pernyataan SQL, yang merupakan American National

(34)

16

Standards Institute (ANSI) bahasa standar untuk operasi relasional

database. SQL berisi satu set operator-operator yang cukup besar untuk membagi dan mempertautkan hubungan. Database dapat dimodifikasi dengan menggunakan pernyataan SQL.

9. Berkomunikasi dengan RDBMS menggunakan SQL Structured Query Language

Menggunakan SQL, pengguna dapat berkomunikasi dengan server data base. SQL memiliki beberapa keuntungan: efisien, mudah untuk dipelajari dan digunakan, dan memiliki fungsi-fungsi yang sangat lengkap (menentukan, mengambil, dan memanipulasi data dalam tabel).

Gambar 1. 6 Komunikasi DBMS Menggunakan SQL

Pernyataan-pernyataanSQL

SELECT INSERT UPDATE DELETE MERGE

Data Manipulation Language (DML)

CREATE ALTER DROP RENAME TRUNCATE COMMENT GRANT REVOKE

Data Definition Language (DDL)

(35)

17 Pernyataan Deskripsi SELECT INSERT UPDATE DELETE MERGE

Mengambil datadari database, mengisi baris baru, merubah baris yang ada, dan menghapus baris yang tidak diinginkan dari tabel dalam database secara berturut-turut, dikenal sebagai

data manipulation language (DML).

CREATE ALTER DROP RENAME TRUNCATE COMMENT

Membuat, merubah, dan menghapus struktur data dari tabel, dikenal sebagai data definition

language (DDL).

GRANT REVOKE

Memberika natau menghilangkan hak akses ke data base maupun struktur didalamnya.

COMMIT ROLLBACK SAVEPOINT

Mengelola perubahan yang dibuat oleh pernyataan DML. Perubahan data bisa dikelompokkan bersama ke dalam transaksilogis.

D. Aktivitas Pembelajaran

Aktivitas pada kegiatan pembelajaran 1, mencakup topik-topik berikut: a. Pengenalan konsep DBMS dan model hubungan entitasnya b. Pengenalan metode komunikasi DBMS menggunakan SQL

c. Pengenalan klasifikasi perintah SQL untuk berkomunikasi dengan DBMS Modul ini disusun agar dapat dijadikan sebagai panduan pembelajaran peserta pelatihan untuk menambah wawasan dan pemahaman tentang kompetensi yang ingin dicapai dalam kegiatan pembelajaran 1. Pada prinsipnya peserta pelatihan harus mengikuti kegiatan belajar tatap muka

COMMIT ROLLBACK SAVEPOINT

(36)

18

dan aktif dalam setiap kegiatan pembelajaran yang dilakukan. Adapun aktivitas dalam kegiatan pembelajaran 1 tertuang ke dalam tabel berikut ini:

No Aktivitas Pembelajaran Keterlaksanaan 1 Apersepsi tentang pengenalan

database relasional

Ya Tidak

2 Penyampaian materi Ya Tidak 3 Membaca uraian materi

pembelajaran

Ya Tidak

4 Memahami uraian materi pembelajaran

Ya Tidak

5 Melaksanakan kegiatan-kegiatan pada kegiatan pembelajaran 1

Ya Tidak

6 Bertanya tentang materi pembelajaran 1

Ya Tidak

7 Berdiskusi dengan teman tentang materi pembelajaran

Ya Tidak 8 Mengembangkan materi pembelajaran Ya Tidak 9 Mengerjakan latihan/tugas yang diberikan Ya Tidak

E. Latihan / Kasus / Tugas

1. ER (hubungan entitas) Model merepresentasikan suatu ilustrasi dari berbagai entitas dalam hal

a. Hubungan di antara mereka b. Komponen entitas

c. Hubungan antar DBMS d. Hubungan matriks keduanya

2. Penggunaan tanda kurung “()” pada ER Model merepresentasikan suatu ilustrasi entitas yang menunjukkan….

(37)

19 a. Akronim suatu database

b. Akronis suatu tabel c. Sinomin suatu database d. Sinonim suatu tabel

3. Tipe data boolean pada Oracle tidak didukung, sebagai gantinya Oracle menyediakan model representasi tipe boolean dengan cara…..

a. Menggunakan tipe data varhcar(n) b. Menggunakan tipe data number(1) c. Menggunakan tipe data int(1) d. Menggunakan tipe data long int(1)

4. Perintah SQL COMMENT termasuk kategori perintah SQL dengan tipe

a. Data Definition Language (DDL)

b. Data Manipulation Language (DML)

c. Transaction Control

d. Data Control Language (DCL)

5. Query berikut yang tidak mampu mengelola perubahan hasil operasi DML adalah a. COMMIT b. ROLLBACK c. SAVEPOINT d. SELECT

F. Rangkuman

Pada kegiatan pembelajaran 1, telah dipelajari tentang konsep dasar database relasional dan model data yang digunakan untuk menyampaikan atau mengkomunikasikan, mengkategorikan, menggambarkan, menentukan, memenyelidiki, mengembangkan, menganalisis, dan meniru. Model yang baik adalah model yangcocok dalam banyak kegunaan,dapat dipahamioleh pengguna akhir, dan berisidetail yang cukupuntuk pengembangdalam membangun sistem database. Poin penting yang telah dipelajari pada kegiatan pembelajaran 1 ini adalah pengelompokan pernyataan SQL kedalam kelompok DML, DDL, DCL, dan Transaction Control. Database didasarkan pada objek relasional sistem manajemen database. Database relasional terdiri dari relasional,dikelola oleh operasi relasional, dan diaturoleh

(38)

20

integrity constraints. Dengan server Oracle, pengguna dapat menyimpan dan

mengelola informasi dengan menggunakan bahasa SQL.

G. Umpan Balik dan Tindak Lanjut

1. Apakah Anda sudah mampu memahami sistem manajemen database relasional (RDBMS) dan sistem objek manajemen database relasional (ORDBMS), serta berapa prosen tingkat pencapaian kompetensinya? 2. Apakah Anda sudah mampu memahami konsep dasar database

relasional dan berapa prosen tingkat pencapaian kompetensinya? 3. Apakah Anda sudah mampu menyajikan gagasan database (sesuai

gagasan sendiri) menggunakan model data yang sesuai dan berapa prosen tingkat pencapaian kompetensinya?

Untuk mengukur pencapaian kompetensi Anda, silakan mengisi tabel berikut ini:

IPK Hasil yang didapat Rencana Tindak lanjut Menggambarkan

struktur tabel relasional Membuat model menggunakan konvensi entitas Berkomunikasi dengan RDBMS menggunakan pernyataan SQL Mengelompokkan pernyataan-pernyataan SQL dalam kelompok DML, DDL, DCL, dan Transaction Control

(39)

21

H. Kunci Jawaban

1. a 2. d 3. b 4. a 5. d

(40)
(41)
(42)
(43)

25

Kegiatan Pembelajaran 2 :

Membatasi dan Menyortir Data

A. Tujuan

Setelah mengikuti kegiatan pembelajaran 2 ini diharapkan peserta diklat dapat:

1. Mengambil data dari database, dengan melakukan pembatasan baris data serta menentukan urutan baris yang akan ditampilkan.

2. Menggunakan kondisi komparasi untuk menampilkan data

B. Indikator Pencapaian Kompetensi

Indikator pencapaian kompetensi pada kegiatan pembelajaran ini adalah: 1. Membatasi baris yang dipilih menggunakan klausa WHERE

2. Menggunakan kondisi BETWEEN, IN, LIKE, dan NULL untuk menampilkan informasi pada keluaran.

3. Menggunakan operator logika AND, OR, dan NOT untuk menampilkan informasi pada keluaran.

C. Uraian Materi

1. Membatasi Baris Menggunakan Selection

Dalam contoh pada Gambar 2.1, anggaplah bahwa pengguna ingin menampilkan semua karyawan di departemen 90. Baris dengan nilai 90 pada kolom DEPARTMENT_ID adalah satu-satunya yang dikembalikan atau ditampakkan. Metode pembatasan ini adalah dasar darik lausa WHERE di dalam SQL.

(44)

26

Gambar 2. 1 Contoh Pembatasan Garis dengan Kriteria Tertentu

Membatasi Baris Yang Dipilih

Pengguna dapat membatasi baris yang dikembalikan dari query dengan menggunakan klausa WHERE. Sebuah klausa WHERE memuat suatu kondisi yang harus dipenuhi, dan langsung mengikuti klausa FROM. Jika kondisi benar, maka baris yang memenuhi kondisi yang dipersyaratkan akan dikembalikan.

Dalamsintak:

WHERE membatasi query kebaris yang memenuhi kondisi condition terdiri dari nama kolom, ekspresi, konstanta, dan

operator perbandingan.

Klausa WHERE dapat membandingkan nilai-nilai dalam kolom, nilai literal, ekspresi aritmatika, atau fungsi yang terdiri dari tiga unsur:

 Nama Kolom

 Kondisi Perbandingan

(45)

27 Gambar 2. 2 Membatasi Baris Yang Dipilih

Menggunakan Klausa WHERE

Dalam contoh, pernyataan SELECT mengambil employee ID, name, job ID,dan departmen ID dari semua karyawan yang berada didepartemen 90.

Gambar 2. 3 Query dengan Klausa Where

Character String dan Date

Semua karakter dan tanggal diklausa WHERE harus diapit oleh tanda kutip tunggal (''), sedangkan konstanta tidak boleh diapit oleh tanda kutip tunggal.

Semua pencarian karakter adalah case-sensitive. Pada contoh berikut, tidak adabaris yang dikembalikan karena tabel EMPLOYEES menyimpan semua nama belakang dalam kasus campuran:

SELECT last_name, job_id, department_id FROM employees

(46)

28

Gambar 2. 4 Query dengan Kasus Campuran

2. Membandingkan Berdasar Pada Kondisi Kondisi Perbandingan

Kondisi perbandingan digunakan untuk membandingkan satu ekspresi dengan nilai lain atau ekspresi lain.

Format penggunaan klausa WHERE adalah sebagai berikut: ... WHERE expr Operator value

Contoh

... WHEREhire_date = '01 -Jan-95' ... WHERE salary>= 6000

... WHERE last_name = 'Smith'

Alias tidak dapat digunakan dalam klausa WHERE.

Catatan: Simbol != dan ^ = dapat diartika „tidak sama dengan kondisi‟.

(47)

29 Menggunakan Kondisi Perbandingan

Dalam contoh, pernyataan SELECT mengambil nama belakang dan gaji daritabel EMPLOYEE untuk setiap karyawan yang gajinya kurang dari atau sama dengan $ 3.000. Perhatikan bahwa ada nilai eksplisit dipasok ke klausa WHERE. Nilai eksplisit 3000 dibandingkan dengan nilai gaji di kolom SALARY dari tabel EMPLOYEE.

Gambar 2. 6 Hasil Eksekusi Query dengan Kondisi Perbandingan

Menggunakan Kondisi Between

Operator BETWEEN akan menguji apakah suatu nilai berada dalam suatu range tertentu yang dapat diartikan “lebih besar atau sama dengan nilai terkecil dan lebih kecil atau sama dengan nilai terbesar“.

Pengguna dapat menampilkan baris berdasarkan rentang nilai jangkauan menggunakan kondisi between. Jangkauan yang pengguna tentukan berisib atas bawah dan batas atas. Pernyataan SELECT dalam Gambar 2.7 mengembalikan baris dari tabel EMPLOYEEuntukkaryawanyang gajinyaantara $2.500 dan $3.500.Nilai-nilai yang ditentukan dengan kondisi between secara inklusif. Pengguna harus menentukan pertama kali adalah batas bawah. Pengguna juga dapat menggunakan kondisi between pada nilai karakter:

(48)

30

Gambar 2. 7 Hasil Eksekusi Query dengan Kondisi Between

Menggunakan Kondisi IN

Untuk menguji nilai-nilai dalam satu kelompok keanggotaan tertentu, pengguna dapat menggunakan operator IN. Kondisi IN juga dikenal sebagai kondisi keanggotaan. Kondisi IN dapat digunakan dengan semua jenis data. Contoh berikut mengembalikan baris dari tabel EMPLOYEES untuk setiap karyawan yang nama belakangnya termasuk dalam daftar nama pada klausa WHERE:

SELECT employee_id, manager_id, department_id FROM employees

WHERE last_name IN ('Hartstein', 'Vargas');

Gambar 2. 8 Hasil Eksekusi Query dengan Kondisi IN

Jika memuat karakter atau tanggal, makaharus diapit oleh tanda kutip tunggal ('').

Menggunakan Kondisi LIKE

Pengguna mungkin tidak selalu tahu persis nilai yang akan dicari. Pengguna dapat memilih baris yang cocok dengan pola karakter dengan menggunakan operator LIKE. Operasi pencocokan pola karakter disebut sebagai pencarian wildcard. Operator ini digunakan untuk

(49)

31 membandingkan karakter atau string atau CLOB dengan pola yang sudah ditetapkan dan akan menghasilkan nilai boolean true jika pola yang dibandingkan cocok dan akan menghasilakn nilai boolean false jika pola tidak cocok dengan nilai yang dibandingkan. Pola yang dianggap cocok pada operator like dapat termasuk penggunaan dua karakter spesial yang biasa disebut wildcards yaitu underscore (_) yang secara eksak hanya satu karakter yang cocok dan percent ( % ) zero atau lebih karakter yang cocok. Pernyataan SELECT dalam Gambar 2.9 mengembalikan nama depan karyawan dari tabel EMPLOYEES untuk setiap karyawan yang nama depannya dimulai dengan huruf S.

Gambar 2. 9 Hasil Eksekusi Query dengan Kondisi LIKE

Perhatikan huruf besar S. Nama yang diawali dengan huruf kecil s tidak dikembalikan. Kondisi seperti ini dapat digunakan sebagai jalan pintas untuk beberapa perbandingan BETWEEN.

Contoh berikut menampilkan last name dan menye wahire date semua karyawan yang tanggal perekrutannya antara Januari 1995 dan Desember 1995 :

SELECT last_name, hire_date FROM employees

(50)

32

Gambar 2. 10 Hasil Eksekusi Query dengan Kondisi LIKE

Menggunakan Kondisi NULL

Kondisi NULL termasuk kondisi IS NULL dan kondisi IS NOT NULL. Kondisi IS NULL untuk menguji null. Sebuah nilai null berarti nilai tidak tersedia,belum ditetapkan, tidak diketahui, atau tidak berlaku. Oleh karena itu, pengguna tidak dapat menguji dengan = null karena tidak bisa sama atau tidak sama dengan nilai apapun.

Contoh pada Gambar 2.10 mengambil last name dan manager ID untuk semua karyawan yang tidak memiliki manager ID.

Berikut ini adalah contoh lain: Untuk menampilkan last name, job ID, dan komisi untuk semua karyawan yang tidak berhak menerima komisi, menggunakan pernyataan SQL berikut:

SELECT last_name, job_id, commission_pct FROM employees

WHERE commission_pct IS NULL;

Gambar 2. 11 Hasil Eksekusi Query dengan Kondisi NULL

3. Membandingkan Secara Logika

Sebuah kondisi logis menggabungkan hasil dari dua kondisi komponen untuk menghasilkan hasil tunggal berdasarkan kondisi mereka, atau

(51)

33 membalikkan hasil dari suatu kondisi tunggal. Sebuah baris akan dikembalikan hanya jika hasil keseluruhan kondisi adalah benar. Tiga operator logika yang tersedia di SQL:

 AND  OR  NOT

Menggunakan Operator AND

Dalam contoh ini, kedua kondisi harus benar, oleh karena ituhanya karyawan yang memiliki job ID yang memuat string 'MAN' danberpenghasilan sebesar $10.000 atau lebih yang akan dipilih. Semua pencarian karakter adalah case-sensitive. Tidak ada baris yang dikembalikan jika 'MAN' bukan huruf besar. String karakter harus diapit oleh tanda kutip.

Tabel Kebenaran Logika AND

Tabel berikut menunjukkan hasil gabungan dua ekspresi dengan logika AND:

Tabel 1 Kebenaran Logikan AND

AND TRUE FALSE NULL

TRUE TRUE FALSE NULL

FALSE FALSE FALSE FALSE

NULL NULL FALSE NULL

(52)

34

Menggunakan Operator OR

Dalam contoh, hanya salah satu kondisi benar maka akan dipilih, oleh karena itu, setiap karyawanyang memiliki job ID yang memuat string 'MAN' atau berpenghasilan sebesar $10.000 atau lebih akan dipilih.

Tabel Kebenaran Logika OR

Tabel berikut menunjukkan hasil gabungan dua ekspresi dengan logika OR :

Tabel 2 Kebenaran Logikan OR

OR TRUE FALSE NULL

TRUE TRUE TRUE TRUE

FALSE TRUE FALSE NULL

NULL TRUE NULL NULL

Gambar 2. 12 Hasil Eksekusi Query dengan Logika OR

Menggunakan Operator NOT

Contoh pada Gambar 2.13 menampilkan last name dan job ID dari semua karyawan yang job ID-nya tidak IT_PROG, ST_CLERK, atau SA_REP.

(53)

35 Tabel Kebenaran Logika NOT

Tabel berikut menunjukkan hasil dari penerapan operator NOT untuk kondisi:

Tabel 3 Kebenaran Logikan NOT

NOT TRUE FALSE NULL

FALSE TRUE NULL

Operator NOT juga dapat digunakan dengan operator SQL lainnya, seperti BETWEEN, LIKE, danNULL.

... WHERE job_id NOT IN ('AC_ACCOUNT', 'AD_VP') ... WHERE salary NOT BETWEEN 10000 AND 15000 ... WHERE last_name NOT LIKE '%A%'

... WHERE commission_pct IS NOT NULL

Gambar 2. 13 Hasil Eksekusi Query dengan Logika NOT

Aturan Protokoler

Aturan protokoler menentukan urutan eksekusi dari operator yang digunakan. Tabel daftar urutan prioritas yang dieksekusi secara default. Pengguna dapat mengganti urutan default dengan menggunakan tanda kurung di sekitar ekspresi yang ingindi dahulukan atau diprioritaskan dalam eksekusi.

(54)

36

Tabel 4 Aturan Protokoler

Operator Arti

1 Operator Aritmetika 2 Operator Concatenation 3 Comparison condition

4 IS [NOT] NULL, LIKE, [NOT] IN

5 NOT BETWEEN

6 Not equal to 7 Not logical condition 8 AND logical condition 9 OR logical condition

a. ContohPrioritas Eksekusi Operator AND Dalam contoh ini, ada dua kondisi:

 Kondisi pertama adalah bahwa job ID adalah AD_PRES dan salary lebih besar dari $15.000.

 Kondisi kedua adalah bahwajob ID adalah SA_REP. Oleh karena itu, pernyataan SELECT berbunyi sebagai berikut: "Pilih baris jika seorang karyawan adalah presiden dan berpenghasilan lebih dari $15.000, atau jika karyawan adalah perwakilan penjualan".

b. Contoh Menggunakan Kurung Dalam contoh ini, ada dua kondisi:

1) Kondisi pertama adalah bahwa ID kerja adalah AD_PRES atau SA_REP.

2) Kondisi kedua adalah bahwa gaji lebih besar dari$ 15.000. Oleh karena itu, pernyataan SELECT berbunyi sebagai berikut: "Pilih baris jika seorang karyawan presiden atau perwakilan penjualan, dan jika karyawan berpenghasilan lebih dari $15.000"

(55)

37 Gambar 2. 14 Hasil Eksekusi Query

Menggunakan Klausa ORDER BY

Urutan baris yang dikembalikan dalam hasil query tidak terdefinisi. Klausa ORDER BY dapat digunakan untuk mengurutkan baris. Jika pengguna menggunakan klausa ORDER BY, klausa ini harus menjadi kalimat terakhir dari pernyataan SQL. Pengguna dapat menentukan ekspresi, alias, atau posisi kolom sebagai kondisi pilihan urutan. Sintak:

SELECT expr

FROM table

[WHERE condition(s)]

[ORDER BY {column, expr, numeric_position} [ASC|DESC]];

di mana :

ORDER BY menentukan urutan di mana baris yang didapat ditampilkan

ASC memerintahkan baris dalam urutan menaik (ini adalah urutan default)

DESC memerintahkan baris dalam urutan menurun

Jika klausa ORDER BY tidak digunakan, urutan tidak terdefinisi, dan server Oracle mungkin tidak mengambil baris dalam urutan yang sama untuk permintaan yang sama (permintaan pertama belum tentu mengambil urutan baris yang sama dengan urutan baris pada permintaan kedua). Gunakan klausa ORDER BY untuk menampilkan baris dalam urutan tertentu.

(56)

38

Gambar 2. 15 Hasil Eksekusi Query dengan Klausa ORDER BY

4. Penyortiran

Default Pengurutan Data

Urutan data standar adalah menaik:

a. Nilai-nilai numerik ditampilkan pertama dengan nilai terendah (misalnya, 1-999).

b. Tanggal ditampilkan pertama dengan nilaiawal (misalnya, 01-JAN-92 sebelum 01-JAN-95).

c. Nilai karakter yang ditampilkan dalam urutan abjad (misalnya, Apertama dan terakhir Z).

d. Nilai Null ditampilkan terakhir untuk urutan menaik dan pertama untuk urutan menurun.

e. Pengguna dapat mengurutkan dengan kolom yang tidak dalam daftar SELECT.

Contoh

a. Untuk membalik urutan baris yang ditampilkan, gunakan kata kunci DESC setelah nama kolom dalam klausa ORDER BY. Gambar 2.16 (1) hasil pengurutan karyawan yang terbaru dipekerjakan.

b. Pengguna dapat menggunakan kolom alias di klausa ORDER BY. Gambar Gambar 2.16(2) mengurutkan data dengan gaji tahunan. c. Pengguna dapat mengurutkan hasil query dengan lebih dari satu

kolom. Batas pengurutan adalah jumlah kolom yang diberikan dalam tabel. Dalam klausa ORDER BY, menentukan kolom dan memisahkan

(57)

39 nama kolom menggunakan koma. Jika pengguna ingin membalik urutan kolom, gunakankata kunci DESC setelah nama kolom.

Gambar 2. 16 Contoh Query dengan ORDER BY

D. Aktivitas Pembelajaran

Aktivitas pada kegiatan pembelajaran 2, mencakup topik-topik berikut: 1. Pemilihan data dan mengubah urutan baris yang ditampilkan. 2. Membatasi baris dengan menggunakan klausa WHERE. 3. Penyortiran baris dengan menggunakan klausa ORDER BY.

4. Menggunakan variabel substitusi untuk menambah fleksibilitas pernyataan SQL SELECT.

No Aktivitas Pembelajaran Keterlaksanaan 1 Apersepsi tentang Pengenalan

perintah untuk membatasi dan menyortir data

Ya Tidak

2 Penyampaian materi Ya Tidak 3 Membaca uraian materi

pembelajaran

Ya Tidak

4 Memahami uraian materi pembelajaran

Ya Tidak

5 Melaksanakan kegiatan-kegiatan pada kegiatan pembelajaran 1

(58)

40

6 Bertanya tentang materi pembelajaran 1

Ya Tidak

7 Berdiskusi dengan teman tentang materi pembelajaran

Ya Tidak 8 Mengembangkan materi pembelajaran Ya Tidak 9 Mengerjakan latihan/tugas yang diberikan Ya Tidak

E. Latihan / Kasus / Tugas

1. Anda ingin menuliskan query untuk menampilkan data pegawai dengan memilih data tertentu berdasarkan kriteria. Pada klausa apa kriteria tersebut didefinisikan?

a. WHERE b. FROM c. ORDER BY d. SELECT

2. Anda ingin menulis perintah query untuk menampilkan data yang diurutkan berdasarkan kolom tertentu. Mana pernyataan yang tidak benar tentang klausa ORDER BY di bawah ini?

a. Ascending dan Descending bisa ditulis dengan ASC dan DESC pada klausa ORDER BY

b. Hanya satu kolom yang bisa didefinisikan sebagai dasar pengurutan di klausa ORDER BY

c. Beberapa kolom bisa digunakan sebagai dasar pengurutan data di klausa ORDER BY

d. Kolom di klausa ORDER BY bisa diganti dengan nomor urut kolom di klausa SELECT

3. Anda ingin menampilkan pegawai yang ada di bagian 30 dan namanya diawali dengan karakter „B‟. Perintah yang benar adalah:

a. SELECT nama_pegawai, gaji, kode_bag FROM pegawai WHERE kode_bag=30 AND nama_pegawai=‟B%‟

(59)

41 b. SELECT nama_pegawai, gaji, kode_bag FROM pegawai WHERE

kode_bag=30 OR nama_pegawa LIKE („B_)

c. SELECT nama_pegawai, gaji, kode_bag FROM pegawai WHERE kode_bag=30 AND nama_pegawai LIKE ‟B%‟

d. SELECT nama_pegawai, gaji, kode_bag FROM pegawai WHERE kode_bag=30 OR nama_pegawai LIKE ‟B%‟

4. Di bawah ini terdapat perintah-perintah untuk menampilkan data dari tabel pegawai. Manakah perintah yang gagal dieksekusi?

a. SELECT * FROM pegawai;

b. SELECT id_pegawai FROM pegawai WHERE nama_pegawai = „WIRA AULIA‟;

c. SELECT id_pegawai, nama_pegawai WHERE id_pegawai = 1004; d. SELECT * FROM ORDER BY gaji;

5. Anda mengurutkan data pegawai berdasarkan gaji secara descending, dalam kolom gaji terdapat pegawai yang belum memiliki gaji atau gajinya NULL. Pada bagian mana pegawai yang gajinya NULL tesebut akan ditampilkan?

a. Bagian tengah hasil query

b. Pegawai yang gajinya NULL tidak dimunculkan c. Pada bagian bawah hasil query

d. Pada bagian atas hasi query

F. Rangkuman

Pada kegiatan pembelajaran 2, telah dipelajari penggunaan klausa WHERE untuk membatasi baris yang akan ditampilkan pada keluaran. Penggunakan kondisi perbandinngan seperti BETWEEN, IN, LIKE, dan NULL serta penggunaan operator logika AND, OR, dan NOT disamping penggunaan ORDER BY untuk mengurutkan baris pada keluaran.

(60)

42

G. Umpan Balik dan Tindak Lanjut

1. Apakah anda sudah mampu mengambil data dari database, dengan melakukan pembatasan baris data serta menentukan urutan baris yang akan ditampilkan, dan berapa prosen tingkat kompetensinya?

2. Apakah anda sudah mampu menggunakan kondisi komparasi untuk menampilkan data dan berapa persen tingkat kompetensinya?

Setelah menyelesaiakan lembar kerja dan menjawab latihan, isilah tabel berikut ini:

Tabel 3.2. Umpan Balik dan Rencana Tindak Lanjut

IPK Hasil Yang Diperoleh

Rencana Tindak Lanjut Membatasi baris yang

dipilih menggunakan klausa WHERE

Menggunakan kondisi BETWEEN, IN, LIKE, dan NULL untuk menampilkan informasi pada keluaran

Menggunakan operator logika AND, OR, dan NOT untuk menampilkan informasi pada keluaran.

H. Kunci Jawaban

1. a 2. b 3. c 4. c 5. d

(61)
(62)
(63)
(64)

46

Kegiatan Pembelajaran 3 :

Menggunakan Fungsi

Single

-Baris Untuk

Menyesuaikan Keluaran

A. Tujuan

Setelah mengikuti kegiatan pembelajaran 3 ini, peserta diklat dapat:

Mengeksplorasi fungsi single-baris yang berfokus fungsi karakter, numerik, dan tanggal, serta fungsi-fungsi yang mengkonversi data dari tipe data tertentu ke tipe data yang lain (misalnya, konversi dari data karakter ke data numerik).

B. Indikator Pencapaian Kompetensi

Indikator pencapaian kompetensi pada kegatan pembelajaran ini adalah: 1. Menjelaskan berbagai jenis fungsi yang tersedia dalam SQL.

2. Menggunakan fungsi karakter, numerik, dan tanggal pada pernyataan SELECT.

3. Menjelaskan penggunaan fungsi konversi

C. Uraian Materi

1. Fungsi-Fungsi SQL

Fungsi merupakan ciri yang sangat menonjol dari SQL. Fungsi-fungsi tersebut dapat digunakan untuk melakukan hal-hal sebagai berikut:

a. Melakukan perhitungan data b. Memodifikasi item data individu

c. Memanipulasi keluaran untuk kelompok baris d. Format tanggal dan nomor untuk tampilan e. Mengkonversi tipe data kolom

Fungsi SQL kadang-kadang mengambil argumen dan selalu mengembalikan nilai.

(65)

47 Gambar 3. 1 Fungsi SQL

Ada dua jenis fungsi:  Fungsi Single-baris  Fungsi Multiple-baris Fungsi Single-Baris

Fungsi-fungsi ini beroperasi pada baris tunggal saja dan hasil pengembaliannya adalah satu hasil per baris.

Fungsi Multiple-Baris

Fungsi-fungsi ini dapat memanipulasi kelompok baris untuk memberikan satu hasil per kelompok baris.

Gambar 3. 2 Ilustrasi Fungsi SQL

(66)

48

menerima satu atau lebih argumen dan oleh query dikembalikan satu nilai untuk setiap baris.

Argumen dapat berupa salah satu dari berikut ini :  Nilai atau konstanta yang disiapkan oleh pengguna  Nilai Variabel

 Nama Kolom  Ekspresi

Ciri-ciri fungsi single-baris meliputi:

 Bertindak pada setiap baris yang dikembalikan dalam query  Satu hasil per baris

 Mungkin mengembalikan nilai data dari tipe yang berbeda daripada yang direferensikan

 Mungkin mengharapkan satu atau lebih argumen

 Dapat digunakan dalam SELECT, WHERE, dan ORDER BY Dalam sintak:

function_name adalah nama fungsi

arg1, arg2 adalah argumen yang akan digunakan oleh

fungsi. Hal ini dapat diwakili oleh nama kolom atau ekspresi.

Gambar 3. 3 Deklarasi Nama Fungsi

Character functions: Menerima masukkan berupa karakter dan pengembaliannya dapat berupa nilai karakter dan nilai numberNumber functions: Menerima masukkan numerik dan

mengembalikan nilai-nilai numerik

Date functions: Beroperasi pada nilai-nilai dari tipe data DATE (Semua fungsi tanggal mengembalikan nilai tipe data DATE kecuali fungsi MONTHS_BETWEEN, yang mengembalikan nilai number.)  Conversion functions: Konversi nilai dari satu tipe data tipe yang

lain

General functions: - NVL

(67)

49 - NVL2 - NULLIF - COALESCE - CASE - DECODE

Gambar 3. 4 Jenis-Jenis Fungsi Single Row

Fungsi Karakter

Gambar 3. 5 Klasifikasi Fungsi Karakter

Fungsi karakter single-baris menerima data karakter sebagai masuk-kan dan dapat mengembalikan karakter dan nilai numerik.

Fungsi karakter dibagi menjadi berikut:  Fungsi Kasus-manipulasi

(68)

50

Tabel 5 Fungsi dan Kegunaannya

Fungsi Kegunaan

LOWER (columm / expression) Mengkonversi nilai-nilai karakter alpha menjadi huruf kecil

UPPER (columm / expression) Mengkonversi nilai-nilai karakter alpha menjadi huruf besar

INITCAP (columm / expression) Mengkonversi nilai karakter alpha ke huruf besar untuk huruf pertama dari setiap kata; huruf-huruf lainnya dalam huruf-huruf kecil CONCAT(columm1 / expression1,

columm2 / expression2)

Merangkai nilai karakter pertama dengan nilai karakter kedua; setara dengan operator (||) SUBSTR (columm / expression,

[m,n]

Pengembalian karakter dari nilai karakter mulai dari posisi karakter m, n (Jika m adalah negatif, hitungan dimulai dari akhir nilai karakter. Jika n dihilangkan, semua karakter dari awal hingga akhir string dikembalikan.)

LENGTH (columm / expression) Mengembalikan jumlah karakter dalam ekspresi

INST (columm / expression,

’string’, [,m], [n])

Mengembalikan posisi numerik dari karakter string yang telah ditentukan. Nilai m dan n secara default adalah 1, yang berarti memulai pencarian pada awal pencarian dan melaporkan kejadian pertama.

LPAD ( columm / expression, n, ‘string’ )

RPAD ( columm / expression, n, ‘string’ )

Pads nilai karakter pada garis tepi sebelah kanan untuk lebar total posisi n karakter

Pads nilai karakter pada garis tepi sebelah kiri untuk lebar total posisi n karakter

TRIM (leading / trailing / both, trim_character FROM

trim_source)

Memungkinkan pengguna untuk memangkas leading atau trailing karakter (atau keduanya) dari string karakter.

Jika trim_character atau trim_source adalah karakter literal, pengguna harus mengapit dalam tanda kutip tunggal. REPLACE (text, search_string,

replacement_string)

Mencari ekspresi teks untuk string karakter dan jika ditemukan, menggantinya

(69)

51

Fungsi Kegunaan

dengan pengganti string yang ditentukan

Fungsi ManipulasiCase

LOWER, UPPER, dan INITCAP adalah tiga fungsi untuk mengkonver-si atau memanipulasi case.

LOWER Mengkonversi karakter string campuran huruf besar ke huruf kecil

UPPER Mengkonversi karakter string campuran huruf kecil kehuruf besar

INITCAP Menguba hhuruf pertama dari setiap kata ke huruf besardan huruf yang tersisa menjadi atau tetap huruf kecil

SELECT 'The job id for

'||UPPER(last_name)||' is '

||LOWER(job_id) AS "EMPLOYEE DETAILS"

FROM employees;

Gambar 3. 6 Hasil Konversi dengan Fungsi String

Menggunakan Fungsi Manipulasi Case

Gambar 3.7 menampilkan jumlah karyawan, nama, dan nomor departemen pada perusahaan Higgins. Klausa WHERE pada pernyataan SQL pertama menentukan nama karyawan higgins. Karena semua data dalam tabel EMPLOYEES disimpan dalam case yang tepat, nama higgins tidak dapat ditemukan kecocokannya dalam tabel, dan tidak ada baris yang dipilih.Klausa WHERE pada pernyataan SQL kedua menentukan bahwa nama karyawan dalam tabel EMPLOYEES dibandingkan dengan higgins, mengubah kolom LAST_NAME menjadi huruf kecil untuk tujuan perbandingan. Karena kedua nama sekarang berhuruf kecil, kecocokan

(70)

52

ditemukan dan satu baris yang dipilih. Klausa WHERE dapat ditulis dengan cara berikut untuk menghasilkan hasil yang sama:

...WHERE last_name = 'Higgins'

Nama dalam keluaran muncul seperti yang disimpan pada database. Untuk menampilkan nama dengan hanya huruf pertama dalam huruf besar, gunakan fungsi UPPER dalam pernyataan SELECT.

SELECT employee_id, UPPER(last_name), department_id

FROM employees

WHERE INITCAP(last_name) = 'Higgins';

Gambar 3. 7 Hasil Query Menggunakan Fungsi ManipulasiCase

Fungsi Manipulasi Karakter

CONCAT, SUBSTR, LENGTH, INSTR, LPAD, RPAD, dan TRIM merupakan fungsi karakter manipulasi.

 CONCAT :Menggabung nilai bersama-sama (dibatasi untuk menggunakan dua parameter dengan CONCAT)

 SUBSTR : Ekstrak string berdasar pada panjang yang ditentukan  LENGTH : Menunjukkan panjang string sebagai nilai numerik  INSTR : Menemukan posisi numerik dari karakter tertentu  LPAD : Pad nilai karakter pada garis tepi sebelah kanan  RPAD : Pad nilai karakter pada garis tepi sebelah kiri

 TRIM : Memangkas atau menyisakan karakter (atau ke-duanya) dari string karakter (Jikatrim_character atau trim_source adalah karakter literal, pengguna harus mengapit dalam tanda kutip tunggal.

(71)

53 Menggunakan Fungsi Karakter Manipulasi

Gambar 3.8 menampilkan nama depan dan nama belakang karyawan bergabung bersama-sama, panjang nama belakang, dan posisi numerik dari huruf nama belakang karyawan untuk seluruh karyawan yang memiliki REP yang ada dalam job ID dimulai pada posisi keempat dari job ID.

Contoh

Memodifikasi pernyataan SQL dalam Gambar 3.8 untuk menampilkan data karyawan yang namanya diakhiri dengan huruf n.

SELECT employee_id, CONCAT (first_name, last_name) NAME,LENGTH (last_name), INSTR(last_name, 'a') "Contains 'a'?"

FROM employees

WHERE SUBSTR(last_name, -1, 1) = 'n';

Gambar 3. 8 Hasil Query Menggunakan Fungsi KarakterManipulasi

Fungsi Numerik

Fungsi numerik menerima masukkan numerik dan mengembalikan nilai-nilai numerik. Bagian ini menjelaskan beberapa fungsi numerik.

Gambar

Gambar 1. 2 Contoh Skenario Model Data
Gambar 1. 4 Gambar Hubungan ER Multi Tabel
Gambar 1. 5 Record pada Tabel EMPLOYEES
Gambar 2. 1 Contoh Pembatasan Garis dengan Kriteria Tertentu
+7

Referensi

Dokumen terkait

Analisa statik yang telah dilakukan terhadap frame mesin dengan cara memberikan beban terpusat pada bagian-bagian komponen yang berperan dalam sistem kerja mesin maka

Akibat pendidikan yang masih kurang ini, mereka menjadi tidak mempunyai kemampuan untuk ikut berkompetisi di dalam memperebutkan posisi pekerjaan yang ditawarkan oleh hotel

Penelitian ini merupakan penelitian deskriptif yang dilaksanakan di Kabupaten Lombok Timur, khususnya di Kecamatan Sembalun sebagai daerah sampel dan menggunakan

Memenuhi Berdasarkan hasil hasi verifikasi terhadap dokumen Bill of Lading dari kegiatan penjualan ekspor Produk Jadi oleh PT Jansen Indonesia selama 12 (dua belas) bulan

Puji syukur kehadirat Allah SWT, atas segala nikmat dan hidayah-Nya laporan penelitian tindakan kelas berjudul “Peningkatan Hasil Belajar Materi Operasi

Puji syukur kehadirat Allah SWT, atas nikmat dan hidayah-Nya laporan penelitian tindakan kelas berjudul “Penerapan Metode Eksperimen untuk Meningkatkan Hasil

Dari ukuran tersebut, aktivitas belajar bersama/berkelompok memang tidak dapat terpenuhi ketika hanya menggunakan satu meja, kecenderungan ketika belajar

Analisis kekangan pada kolom dilakukan untuk mendapatkan gambaran kekuatan pada kolom bulat dan kolom persegi yang ditunjukkan dalam bentuk diagram interaksi,