Kamis, 16 Februari 2023

KAMUS BASIS DATA (DATA BASE)

Nama : Ristidayanti Halanggi

Kelas : B

NIM    : 13462.21.048

 

Bahasa Basis Data (Data Base)

 

A.   Pengertian Bahasa Basis Data

Bahasa basis data juga dinamakan sebagai database language yang secara umum bahasa ini akan ditempelkan atau diembbeded ke bahasa pemrograman yang lainnya. Bahasa ini adalah bahasa yang digunakan oleh pengguna atau user ketika berinteraksi atau berkomunikasi dengan DBMS atau yang merupakan singkatan dari Database Management System. Ada banyak aplikasi database yang ada dan sudah beredar di internet, baik yang gratis maupun yang berbayar.

Beberapa aplikasi database tersebut antara lain: My SQL, MariaDB, Microsoft SQL Server, dan lain sebagainya. Kesemua aplikasi database tersebut menggunakan bahasa pemrograman yang dinamakan sebagai bahasa database. Apa saja bahasa yang digunakan? Beberapa bahasa database yang digunakan seperti SQL, QUEL, dBase, dan lain sebagainya.

Meskipun memeiliki beberapa bahasa database yang berbeda, namun ke semuanya memiliki fungsi yang sama yaitu digunakan untuk berinterkasi dengan program sehingga program tersebut dapat memberikan atau melakukan sesuai dengan yang kita perintahkan. Seperti yang sudah kami jelaskan bahwa bahasa ini akan ditempelkan pada bahasa C++, Java, Basic, Pascal, Fortran, dan lain sebagainya yang biasanya juga dinamakan sebagai bahasa inang atau host language.


B.   Kategori Bahasa Basis Data

Bahasa basis data (database language) adalah bahasa yang digunakan untuk mengakses, memanipulasi, dan mengelola basis data. Bahasa basis data dibagi menjadi 2 (dua) kategori, yaitu:

  1. Bahasa Basis Data Terstruktur (Structured Query Language/SQL)

SQL adalah bahasa basis data yang paling populer dan banyak digunakan saat ini. SQL digunakan untuk mengakses, memanipulasi, dan mengelola basis data relasional. Dengan SQL, pengguna dapat melakukan berbagai tugas seperti membuat tabel, memasukkan, menghapus, dan memperbarui data dalam tabel, serta mengambil data dari tabel. 

2. Bahasa Basis Data Non-Terstruktur (NoSQL)

Bahasa basis data non-terstruktur adalah bahasa yang digunakan untuk mengakses basis data non-relasional seperti basis data dokumen, basis data grafik, basis data kolom, dan basis data kunci-nilai. Contoh bahasa basis data non-terstruktur adalah MongoDB Query Language (MQL), Cassandra Query Language (CQL), dan Neo4j Cypher Query Language.


C.   Komponen Bahasa Basis Data

Bahasa basis data sendiri memiliki beberapa komponen yang perlu untuk diketahui, terutama bagi Anda yang baru terjun ke dunia pemgoraman database. Secara umum, terdapat 3 (tiga) komponen bahasa basis data jika ditinjau dari fungsinya, yaitu:

1.    Data Definition Language atau DDL

DDL atau Data Definition Language yang nantinya berperan dalam menspesifikasikan skema data.

DDL merupakan komponen bahasa basis data yang digunakan untuk menggambarkan atau mewakili desain database secara menyeluruh yang nantinya akan dispesifikasikan kembali. Dengan adanya DDL, kita mampu membuat program menjalankan perintah berupa membuat tabel baru, mengubah tabel, indeks tabel, maupun juga menentukan struktur serta tempat penyimpanan tabel.

Hasil yang nantinya akan diperoleh oleh DDL ini adalah kumpulan tabel yang nantinya akan disimpan ke dalam file khusus yang mana file tersebut dinamakan sebagai data dictionary atau kamus data. Kamus data sendiri adalah termasuk metadata maupun superdata yang berfungsi mendeskripsikan data sebenarnya. Misal, ketika Anda mengetik perintah Foxpro maka yang ada adalah create mata kuliah, modify structure, modify report, dan lain sebagainya.

2.    Data Manipulation Language atau DML

DML atau Data Manipulation Language yang bertugas memanipulasi data.

Bahasa basis data yang satu ini merupakan bahasa yang digunakan untuk memanipulasi maupun mengambil data yang terdapat di dalam database. Manipulasi data tersebut nantinya bisa berupa seperti di bawah ini:

a.  Penyisipan atau penambahan data yang ada di dalam file maupun tabel yang terdapat dalam suatu database.

b.     Penghapusan file yang ada di dalam data maupun file di dalam basis data.

c.     Pengubahan data yang terdapat dalam table atau file basis data.

d.   Penelusuran data yang terdapat dalam table maupun file yang ada di dalam suatu database.


Fungsi dari DML ini adalah untuk memudahkan pengguna di dalam mengakses data seperti yang direpresentasikan model data. Setidaknya terdapat dua jenis yang termasuk DML yaitu prosedural dan juga non prosedural.

3.    Data Control Language atau DCL

DCl atau Data Control Language yang memiliki tugas sebagai pengontrol data.

Seperti namanya, DCL merupakan bahasa basis data yang digunakan untuk mengontrol atau mengendalikan database. Jadi bagian ini memiliki peran penting untuk menyesuaikan kebutuhan pengguna dengan data yang akan diterimanya.

D.   Contoh Bahasa Basis Data

1.    Beberapa contoh yang termasuk ke dalam DDL antara lain sebagai berikut:

a.    Create: digunakan untuk membentuk database, index, maupun juga tabel.

b.    Drop: perintah yang digunakan untuk mengubah struktur yang ada pada tabel.

c.    Alter: digunakan untuk menghabis database atau basis data.



2.    Beberapa contoh yang tergolong ke dalam Data Manipulation Language yaitu:

a.    Select: bagian yang digunakan untuk mengambil data.

b.    Delete: digunakan untuk menghapus data.

c.    Insert: digunakan untuk memasukkan data.

d.    Update: digunakan untuk memperbarui maupun mengubah data.




E.   Pengguna Basis Data

Sekedar informasi tambahan bahwa di dalam basis data itu sendiri terdapat beberapa user atau pengguna, antara lain:

1.    Database Manager

Suatu modul program yang di dalamnya menyediakan tampilan atau interface berupa penyimpanan data low level yang ada di dalam basis data dengan aplikasi program maupun query yang dipakai oleh sistem. Adapun tugas dari adanya database manager ini adalah untuk integrisa, backup dan juga recovery, keamanan, dan juga digunakan untuk kebutuhan interaksi dengan manager file.

2.    Database Administrator

Seseorang yang memiliki kekuasaan atau wewenang dan berperan sebagai pengontrol terhadap basis data. Seluruh sistem yang ada, baik program maupun data akan dikendalikan oleh database administrator. Lalu apa fungsinya? Salah satu fungsinya adalah untuk mendefinisikan struktur penyimpanan dan juga mode akses. Selain itu, database administrator juga dapat difungsikan untuk memodifikasi pola dan juga organisasi fisik.

3.    Database User

Setidaknya terdapat 4 (empat) jenis dari database user yang memiliki keperluan yang tidak sama. Yang pertama user mahir, programmer aplikasi, end user atau user umum, dan juga user khusus.


Terima Kasih:)

 

Label: ,

Jumat, 21 Oktober 2022

CONTOH ALGORITMA SORTING

Pengertian Algoritma Bubble Sort 

Algoritma Bubble Sort adalah teknik pengurutan data yang menukar dua data yang berdekatan jika urutan datanya salah. Untuk Algoritma ini dapat mengurutkan data dari besar ke kecil (ascending) dan dari kecil ke besar (descending). Algoritma ini tidak cocok untuk kumpulan data yang besar karena kompleksitas algoritma ini adalah 0 () dimana n adalah jumlah elemen.

Jadi, Algoritma bubble sort adalah proses pengurutan yang secara bertahap memindahkan data ke lokasi yang benar. Oleh karena itu, algoritma ini disebut “bubble” atau dalam bahasa Indonesia disebut gelembung. Fungsi dari algoritma ini adalah untuk mengurutkan data dari yang terkecil sampai yang terbesar (ascending) atau sebaliknya (descending).

Konsep Algoritma Bubble Sort

  1. Algoritma dimulai dari elemen tertua.
  2. Bandingkan 2 elemen pertama dari daftar. Jika elemen pertama lebih besar dari yang kedua atau sebaliknya (dalam urutan menaik atau menurun), swap dilakukan.
  3. Langkah 2 dan 3 diulang untuk elemen kedua dan ketiga, dan seterusnya sampai akhir elemen. 
  4. Jika tidak ada lagi pertukaran elemen, daftar elemen diurutkan. 
  5. Setiap pasangan data: x[j] dengan x[j 1], untuk setiap j = 1, …, n-1 harus memenuhi urutan, yaitu urutkan:

Ascending: x[j] < x[j+1]

Descending: x[j] > x[j+1]

Proses Algoritma Bubble Sort

Algoritma bubble sort memiliki dua jenis proses, yaitu Ascending (pengurutan data dari terkecil ke terbesar) dan Decreasing proses ascending (pengurutan data dari terbesar ke terkecil). Apa perbedaan antara proses bottom-up dan top-down? Lihat pembahasan di bawah ini:

1. Proses Ascending

Kami akan memberikan contoh agar Anda memahami proses ascending dalam algoritma bubble sort. Berikut adalah rangkaian angka yang kita lakukan misalnya: [5, 12, 3, 19, 1, 47].

Ini adalah langkah bubble sort dengan metode ascending:


2. Proses Descending

Kami akan memberikan contoh yang mirip dengan satu di atas agar Anda memahami proses descending dalam algoritma bubble sort, yang merupakan urutan angka: [5, 12, 3, 19, 1, 47] Ini adalah langkah pengurutan bubble sort dengan metode descending:

Kompleksitas Algoritma Bubble Sort

Kompleksitas algoritma Bubble sort dapat dilihat dari beberapa jenis kasus, yaitu kasus terburuk, kasus rata-rata lapangan dan kasus terbaik.

1. Kondisi Best Case

Dalam hal ini, data yang diurutkan dicadangkan. Sehingga perbandingan hanya dilakukan (n-1) kali, dengan satu kali iterasi. Perbandingan hanya dilakukan untuk mengecek urutan data. Contohnya dapat dilihat pada susunan data “1 2 3 4” di bawah ini:

Di atas proses dapat dilihat bahwa tidak ada pertukaran lokasi data. Oleh karena itu, iterasi berikutnya tidak dijalankan. Perbandingan faktor dilakukan sebanyak tiga kali. Proses perbandingan pada kondisi ini hanya dilakukan (n-1) kali. Persamaan Big-O yang diperoleh dari proses ini adalah O(n).

2. Kondisi Worst-Case

Dalam hal ini, data terkecil berada di bagian bawah tabel. Contohnya dapat dilihat pada pengurutan data “4 3 2 1” di bawah ini:

lebih kecil bergerak ke awal langkah. Dengan kata lain, untuk memindahkan data yang lebih kecil dari urutan keempat ke urutan pertama membutuhkan tiga iterasi, ditambah satu untuk memverifikasi data. Sehingga banyaknya proses pada kondisi terburuk dapat dirumuskan sebagai berikut:

“Jumlah proses = n2+n” (3)

Pada persamaan (3) di atas, n adalah banyaknya elemen yang akan diurutkan. Oleh karena itu, notasi Big-O yang diperoleh adalah O(n2).

3. Kondisi Average-Case
Dalam kondisi kasus rata-rata, jumlah iterasi ditentukan dari data mana yang memiliki pergeseran kiri paling banyak. Ini dapat direpresentasikan dengan mengurutkan array, misalnya string angka (1 8 6 2). Dari (1 8 6 2) dapat dilihat bahwa penjumlahan akan mengalami transisi sebagai bilangan prima 2, ganda.
iterasi, ditambah satu iterasi untuk memeriksa data. Dengan kata lain, jumlah proses perbandingan dapat dihitung sebagai berikut.

“Jumlah proses = x2+x” (4)

Pada persamaan (4) di atas, x adalah selisih maksimum. Dalam hal ini, x tidak pernah lebih besar dari n.


Algoritma Bubble Sort untuk Pengurutan.

Pengurutan merupakan proses dasar yang ada dalam algoritma dan stuktur data. Terdapat banyak algoritma pengurutan yang sering digunakan, namun pada tulisan kali ini akan dibahas mengenai dasar algoritma Bubble Sort. Algortima ini merupakan algortima pengurutan sederhana dan biasanya dipelajari sebagai pokok bahasan seputar pengurutan.

Algoritma Bubble Sort ini merupakan proses pengurutan yang secara berangsur-angsur berpindah ke posisi yang tepat karena itulah dinamakan Bubble yang artinya gelembung. Algoritma ini akan mengurutkan data dari yang terbesar ke yang terkecil (ascending) atau sebaliknya (descending).

Secara sederhana, bisa didefenisikan algoritma Bubble Sort adalah pengurutan dengan cara pertukaran data dengan data disebelahnya secara terus menerus sampai dalam satu iterasi tertentu tidak ada lagi perubahan.

Untuk belajar algoritma Bubble Sort ini kita hanya perlu memahami cara yang digunakan untuk mengurutkan data, sederhananya algoritma ini menggunakan perbandingan dalam operasi antar elemennya. Di bawah ini merupakan gambaran dari algoritma Bubble Sort dengan array “3 1 4 2 8”.

Proses pertama
(3 1 4 2 8) menjadi (1 3 4 2 8)
(1 3 4 2 8) menjadi (1 3 4 2 8)
(1 3 4 2 8) menjadi (1 3 2 4 8)
(1 3 2 4 8) menjadi (1 3 2 4 8)

Proses kedua
(1 3 2 4 8) menjadi (1 3 2 4 8)
(1 3 2 4 8) menjadi (1 2 3 4 8)
(1 2 3 4 8) menjadi (1 2 3 4 8)
(1 2 3 4 8) menjadi (1 2 3 4 8)

Proses ketiga
(1 2 3 4 8) menjadi (1 2 3 4 8)
(1 2 3 4 8) menjadi (1 2 3 4 8)
(1 2 3 4 8) menjadi (1 2 3 4 8)
(1 2 3 4 8) menjadi (1 2 3 4 8)

Jika kita perhatikan proses diatas, para proses kedua data sudah terurut dengan benar. Tetapi algoritma Bubble Sort tetap berjalan hingga proses kedua berakhir. Proses ketiga masih terus berjalan karena pada algoritma Bubble Sort maksud terurut itu adalah tidak ada satupun penukaran pada suatu proses. Proses ketiga ini dilakukan untuk verifikasi data.

Algoritma Bubble Sort ini mempunyai kelebihan dan kekurangan, untuk kelebihannya metode ini merupakan metode paling sederhana untuk mengurutkan data. Selain sederhana, algoritma Bubble Sort mudah dipahami. Sementara itu, kekurangannya terletak pada efisiensi.

Bubble Sort ini merupakan metode pengurutan yang tidak efisien karena ketika mengurutkan data yang sangat besar akan sangat lambat prosesnya. Selain itu, jumlah pengulangan akan tetap sama jumlahnya meskipun data sudah cukup terurut.