Materi 9

Menggunakan Struktur Data

1.Mengidentifikasi konsep data dan struktur data

Data berasal dari bahasa latin yaitu datum, yang berarti item informasi. jika lebih dari satu datum (jamak) maka disebut dengan data. jadi dapat disimpulkan data adalah bentuk jamak dari datum. Database ( Basis Data ) Merupakan Kumpulan dari suatu data yang tersimpan dan saling berhubungan satu sama lain tersimpan dalam suatu komputer dan digunakan perangkat lunak untuk memanipulasinya.
Penerapan database dalam suatu informasi disebut dengan datebase System. Suatu data didefinisikan sebagai kumpulan data yang disatukan didalam suatu organisasi.Organisasi tersebut data dikatakan sebagai company, bank sekolah - sekolah, universitas - universitas dan lain - lain. Maksudnya database digunakan untuk menyimpan semua data yang diinginkan pada suatu lokasi tertentu.sehingga suatu data dalam organisasi tersebut dapat dieleminasi. Data perlu disimpan di dalam basis data untuk keperluan penyediaan informasi lebih lanjut.data didalam basis data supaya dirganisasikan sedemikian rupa, sehingga membentuk informasi yang lebih berkualitas.

KOMPONEN BASIS DATA 

komponen didalam basis data ada 4 yang mendominasi, :

a.Data

Ciri-ciri data didalam database :

·Data disimpan secara terintegrasi (integrated) : Database merupakan kumpulan dari berbagai macam file dari aplikasi-aplikasi yang berbeda, yang disusun dengan cara menghilangkan bagian-bagian yang rangkap (redundant)

·Data dapat dipakai secara bersama-sama (shared) : Masing-masing bagian dari database dapat diakses oleh pemakai dalam waktu yang bersamaan, untuk aplikasi yang berbeda.

b.Hardware ( Perangkat Keras )

Terdiri dari semua perangkat keras koputer sebagai pengolahan database tersebut :

·Peralatan untuk menyimpan data base , yaitu second storage (Harddisk, CD, disket, flashdisk dll)

·Peralatan out put & Input Device.

·Peralatan Komunikasi data

c. Software ( Perangkat Lunak )

Berfungsi sebagai perantara (interface) antara pemakai dengan data physik pada database. Softwar
pada sistem database dapat berupa:

·DBMS ( Database Management System ) ,Menangani akses dalam database , sehingga proses tidak terlalu memikirkan penyimpanan dan pengolahan yang terlalu detail.

·Program - program aplikasi dan prosedur - prosedur.

  d. User
     Terbagi menjadi 4 klasifikasi :
     a. Sistem Engineer
        Yaitu tenaga ahli yang bertanggung jawab atas pemasangan sistem basis data dan
        juga mengadakan peningkatan dan melaporkan kesalahan dari sistem tersebut
        kepada pihak penjual.
     b. Database Administrator (DBA), orang/tim yang bertugas mengelola system
        database secara keseluruhan.
     c. Programmer, orang/tim membuat program aplikasi yang mengakses database dengan
        menggunakan bahasa pemprograman
    d. End user, orang yang mengakases database melalui terminal dengan menggunakan
       query language atau program aplikasi yang dibuat oleh programmer.

2.Menerapkan struktur data dan akses terhadap struktur data tersebut

Memahami Istilah Database

Table : Sebuah tabel merupakan kumpulan data (nilai) yang diorganisasikan ke dalam baris (record) dan kolom (field). Masing-masing kolom memiliki nama yang spesifik dan unik.

Field : Field merupakan kolom dari sebuah table. Field memiliki ukuran type data tertentu yang menentukan bagaimana data nantinya tersimpan.

Record : Field merupakan sebuah kumpulan nilai yang saling terkait.

Key : Key merupakan suatu field yang dapat dijadikan kunci dalam operasi tabel. Dalam konsep database, key memiliki banyak jenis diantaranya Primary Key, Foreign Key, Composite Key, dll.

SQL : SQL atau Structured Query Language merupakan suatu bahasa (language) yang digunakan untuk mengakses database. SQL sering disebut juga sebagai query.

Hierarki Database : Dalam konsep database, urutan atau hierarki database sangatlah penting. Urutan atau hierarki database digambarkan dalam gambar sbb :


Manajemen Database dengan MySQL

Tipe-tipe Field (Kolom) MySQL

MySQL memiliki cukup banyak tipe data untuk field (kolom) tabel. Tipe field (kolom) ini menentukan besar kecilnya ukuran suatu tabel. Tipe field di MySQL setidaknya terbagi menjadi beberapa kelompok, yaitu numerik, string, date-andtime, dan kelompok himpunan (set dan enum). Masing-masing tipe field memiliki batasan lebar dan ukurannya.

Tipe Numeric

Tipe data numerik digunakan untuk menyimpan data numeric (angka). Ciri utama data numeric adalah suatu data yang memungkinkan untuk dikenai operasi aritmatika seperti pertambahan, pengurangan, perkalian dan pembagian. Berikut ini tipe field (kolom) di MySQL yang termasuk ke dalam kelompok tipe numerik:

1. TINYINT Penggunaan Jangkauan Ukuran

2. SMALLINT Penggunaan Jangkauan Ukuran

: digunakan untuk menyimpan data bilangan bulat positif dan negatif. : -128 s/d 127: 1 byte (8 bit).

: digunakan untuk menyimpan data bilangan bulat positif dan negatif. : -32.768 s/d 32.767: 2 byte (16 bit).

3. MEDIUMINT Penggunaan : digunakan untuk menyimpan data bilangan bulat positif dan negatif.

4. INT Penggunaan Jangkauan Ukuran

5. BIGINT Penggunaan Jangkauan Ukuran

6. FLOAT Penggunaan Jangkauan Ukuran

7. DOUBLE Penggunaan Jangkauan Ukuran

8. REAL

: -8.388.608 s/d 8.388.607 : 3 byte (24 bit).

: digunakan untuk menyimpan data bilangan bulat positif dan negatif. : -2.147.483.648 s/d 2.147.483.647 : 4 byte (32 bit).

: digunakan untuk menyimpan data bilangan bulat positif dan negatif. : ± 9,22 x 1018 : 8 byte (64 bit).

: digunakan untuk menyimpan data bilangan pecahan positif dan negatif presisi tunggal.

: -3.402823466E+38 s/d -1.175494351E-38, 0, dan 1.175494351E-38 s/d 3.402823466E+38.

: 4 byte (32 bit).

: digunakan untuk menyimpan data bilangan pecahan positif dan negatif presisi ganda.

: -1.79...E+308 s/d -2.22...E-308, 0, dan 2.22...E-308 s/d 1.79...E+308. : 8 byte (64 bit).

9. DECIMAL Penggunaan Jangkauan Ukuran

10. NUMERIC

: digunakan untuk menyimpan data bilangan pecahan positif dan negatif. : -1.79...E+308 s/d -2.22...E-308, 0, dan 2.22...E-308 s/d 1.79...E+308. : 8 byte (64 bit).

Merupakan sinonim dari DECIMAL.

Tipe Date dan Time

Tipe data date dan time digunakan untuk menyimpan data tanggal dan waktu. Berikut ini tipe field (kolom) di MySQL yang termasuk ke dalam kelompok tipe date dan time:

11. DATE Penggunaan Jangkauan Ukuran

: digunakan untuk menyimpan data tanggal. : 1000-01-01 s/d 9999-12-31 (YYYY-MM-DD) : 3 byte.

12. TIME Penggunaan Jangkauan Ukuran

13. DATETIME Penggunaan Jangkauan Ukuran

14. YEAR Penggunaan Jangkauan Ukuran

: digunakan untuk menyimpan data waktu. : -838:59:59 s/d +838:59:59 (HH:MM:SS): 3 byte.

: digunakan untuk menyimpan data tanggal dan waktu. : '1000-01-01 00:00:00' s/d '9999-12-31 23:59:59 : 8 byte.

: digunakan untuk menyimpan data tahun dari tanggal. : 1900 s/d 2155 : 1 byte.

Tipe String (Text)

Tipe data string digunakan untuk menyimpan data string (text). Ciri utama data string adalah suatu data yang memungkinkan untuk dikenai operasi aritmatika seperti pertambahan, pengurangan, perkalian dan pembagian. Berikut ini tipe field (kolom) di MySQL yang termasuk ke dalam kelompok tipe string:

15. CHAR Penggunaan Jangkauan

16. VARCHAR Penggunaan Jangkauan

17. TINYTEXT Penggunaan Jangkauan

18. TEXT Penggunaan Jangkauan

: digunakan untuk menyimpan data string ukuran tetap. : 0 s/d 255 karakter

: digunakan untuk menyimpan data string ukuran dinamis. : 0 s/d 255 karakter (versi 4.1), 0 s/d 65.535 (versi 5.0.3)

: digunakan untuk menyimpan data text.: 0 s/d 255 karakter (versi 4.1), 0 s/d 65.535 (versi 5.0.3)

: digunakan untuk menyimpan data text. : 0 s/d 65.535 (216 - 1) karakter

19. MEDIUMTEXT

Penggunaan Jangkauan

20. LONGTEXT Penggunaan Jangkauan

: digunakan untuk menyimpan data text. : 0 s/d 224 - 1 karakter

: digunakan untuk menyimpan data text. : 0 s/d 232 - 1 karakter

Tipe BLOB (Biner)

Tipe data blob digunakan untuk menyimpan data biner. Tipe ini biasanya digunakan untuk menyimpan kode-kode biner dari suatu file atau object. BLOB merupakan singkatan dari Binary Large Object. Berikut ini tipe field (kolom) di MySQL yang termasuk ke dalam kelompok tipe blob:

21. BIT (sejak versi 5.0.3)

Penggunaan Jangkauan

22. TINYBLOB Penggunaan Jangkauan

23. BLOB Penggunaan Jangkauan 24. MEDIUMBLOB Penggunaan : digunakan untuk menyimpan data biner. Jangkauan : 224 - 1 byte

25. LONGBLOB Penggunaan : digunakan untuk menyimpan data biner. Jangkauan : 232 - 1 byte

Tipe Data yang Lain

Selain tipe data di atas, MySQL juga menyediakan tipe data yang lain. Tipe data di MySQL mungkin akan terus bertambah seiring dengan perkembangan versi MySQL. Berikut ini beberapa tipe data tambahan MySQL:

26. ENUM Penggunaan Jangkauan

27. SET Penggunaan Jangkauan

: enumerasi (kumpulan data). : sampai dengan 65535 string.

: combination (himpunan data). : sampai dengan 255 string anggotas.

Merancang Database yang Baik

Seperti telah disebutkan sebelumnya, bahwa rancangan database menentukan suatu aplikasi efektif atau tidak, efisien atau tidak, baik atau tidak. Pembahasan mengenai bagaimana merancang database yang baik tentunya sangat panjang. Kita dapat mencari referensi terkait dengan perancangan database.

Beberapa Aturan Merancang Database yang Baik.

1.Tabel dalam database tidak boleh mengandung record (data) ganda, atau dengan kata lain tidak boleh ada redudancy data. Jika terdapat data yang sama, maka perlu dilihat kembali rancangan tabelnya.

2.Setiap tabel dalam database, harus memiliki field (kolom) yang unik. Field ini disebut sebagai Primary Key.

3.Tabel harus sudah normal.

4.Besar atau ukuran database hendaknya dibuat seminimal mungkin. Hal ini ditentukan oleh pemilihan tipe data yang tepat.

5.Merancang database hendaknya memperhatikan apakah rancangan dapat menampung data (record) sesuai yang dibutuhkan oleh aplikasi.

Merancang Database

Merancang database merupakan hal yang pertama kali harus dilakukan sebelum membuat suatu aplikasi berbasis database. Rancangan database yang baik akan menentukan seberapa baik sebuah aplikasi dibangun.

Berikut ini contoh sederhana sebuah rancangan database dalam pada Sistem Akademik Rancangan database disajikan dalam bentuk class diagram.

Merancang Database yang Baik

Seperti telah disebutkan sebelumnya, bahwa rancangan database menentukan suatu aplikasi efektif atau tidak, efisien atau tidak, baik atau tidak. Pembahasan mengenai bagaimana merancang database yang baik tentunya sangat panjang. Kita dapat mencari referensi terkait dengan perancangan database.

Beberapa Aturan Merancang Database yang Baik.

6.Tabel dalam database tidak boleh mengandung record (data) ganda, atau dengan kata lain tidak boleh ada redudancy data. Jika terdapat data yang sama, maka perlu dilihat kembali rancangan tabelnya.

7.Setiap tabel dalam database, harus memiliki field (kolom) yang unik. Field ini disebut sebagai Primary Key.

8.Tabel harus sudah normal.

9.Besar atau ukuran database hendaknya dibuat seminimal mungkin. Hal ini ditentukan oleh pemilihan tipe data yang tepat.

10.Merancang database hendaknya memperhatikan apakah rancangan dapat menampung data (record) sesuai yang dibutuhkan oleh aplikasi.

Merancang Database

Merancang database merupakan hal yang pertama kali harus dilakukan sebelum membuat suatu aplikasi berbasis database. Rancangan database yang baik akan menentukan seberapa baik sebuah aplikasi dibangun.

Berikut ini contoh sederhana sebuah rancangan database dalam pada Sistem Akademik Rancangan database disajikan dalam bentuk class diagram.

 

Langkah-langkah membuat database di MySQL adalah sebagai berikut:

1.Aktifkan terlebih dahulu Control Panel XAMPP,

2.Setelah mengaktifkan control panel XAMPP langkah selanjutnya adalah Buka browser (Internet Explorer, Mozilla Firefox, Chrome, etc)

3.Ketik localhost,

4.Pilih phpMyAdmin

5.Langkah selanjutnya adalah membuat database,

6.pilih Tab Databases,

7.Isikan nama database pada kotak TextFields Create database dengan Akademik, lalu klik tombol Create.

8.Langkah selanjutnya, membuat Table dengan nama tabel admin

9.Langkah selanjutnya mengisi Fields yang dibutuhkan.

10.Lakukan langkah 6-8 hal yang sama untuk membuat tabel mahasiswa, Number of columns 4, Primary Key nim

11.Lakukan langkah 6-8 hal yang sama untuk membuat tabel dosen, Number of columns 4, Primary Key nidn

12.Setelah membuat Tabel dan Fields, langkah selanjutnya adalah mengisi masing-masing tabel dengan sebanyak 3 buah data record.

Mengenal JDBC

JDBC adalah sebuah nama dari sebuah produk yang ada dalam Java, atau yang dikenal sebagian orang sebagai Java Database Connectivity , seperti dokumentasi yang dikeluarkan oleh Sun Microsystem sendiri dalam situs resminya. Sebenarnya lengkapnya adalah JDBC API yaitu Application Programming Interface, yang menyediakan akses data secara universal dan independent. Bekerja dengan JDBC secara umum adalah sebagai berikut:

11.Me-load JDBC Driver ke dalam JVM.

12.Membuat koneksi ke database yang direpresentasikan sebagai objek java.sql.Connection

13.Membuat objek java.sql.Statement yang akan digunakan untuk mengirimkan perintah SQL ke database.

14.Menjalankan metode yang bersesuaian dari objek java.sql.Statement , seperti executeQuery() untuk membaca atau executeUpdate () untuk menulis ke tabel. Kelas untuk Mengakses Database Java menyiapkan paket khusus untuk menyimpan kelas-kelas yang terlibat dalam operasi akses database, yaitu dalam paket java.sql. Seperti yang Anda ketahui sebelumnya bahwa perlu ada beberapa tahapan agar bisa melakukan operasi ke dalam database, antara lain pengenalan dirver, pembuatan koneksi/hubungan, statement/perintah SQL baru, kemudian operasi baca dengan excecuteQuery ataupun operasi tulis dengan executeUpdate(). Setiap tahap dan pekerjaan yang berbeda-beda tersebut dilakukan oleh kelas yang berbeda, mulai dari DriverManager, Connection, Statement, PreparedStatement, Resulset. DriverManager DriverManager adalah kelas untuk manajemen driver, seperti yang Anda ketahui bahwa untuk bisa mengakses database diperlukan sebuah driver JDBC. Untuk itu file driver tersebut harus ada, dan terpasang dalam kelas path dalam program kerjanya. Untuk memastikan sebuah driver sudah terpasang atau belum, bisa digunakan objek Class untuk mengidentifikasinya, seperti berikut.


Jika program tersebut dijalankan, akan menghasilkan pesan "jdbc.Driver : OK”, bila dalam project Anda sudah terpasang classpath untuk driver MySQL. Akan tetapi, program akan menampilkan pesan "Kelas: jdbc.Driver tidak ada” bila direktori kerja Anda tidak mengenali path dari Driver tersebut, walaupun dalam komputer Anda sudah ada filenya, ataupun dalam editor sudah terpasang dalam lingkungan library.

Dalam aplikasinya, Anda tidak mesti memberikan operasi pengecekan driver ini, karena hanya untuk melakukan trace jika terjadi kesalahan, agar diketahui penyebabnya saja.

Objek DriverManager ini bisa menghasilkan sebuah koneksi melalui metode getConnction(), dengan menyertakan URL sebagai parameternya. Adapun penulisannya menggunakan titik dua (smile, seperti contoh:

 

Berikut ini penjelasannya.

jdbc:mysql adalah nama drivernya

localhost adalah nama hostname (komputer address).

db_akademik adalah nama databasenya.

root adalah nama account user MySQL.

admin adalah password dari account MySQL tersebut. Connection Kelas Connection adalah kelas yang menyimpan sebuah koneksi atau hubungan yang telah dilakukan oleh DriverManager. Untuk selanjutnya kelas ini sendiri bisa dipakai untuk menentukan jenis operasi baca atau operasi tulis pada tabel. Seperti contoh potongan program berikut.

 

Instance conn tersebut menyimpan sebuah koneksi ke database "db_akademik”, dengan komputer localhost (komputer lokal).

Statement

Kelas ini digunakan untuk mengirimkan statement SQL ke database, tanpa penggunaan parameter. Seperti contoh berikut:

 

Instance st tersebut membuat sebuah statement baca, yaitu "Select * from user”, melalui metode executeQuery yang dimilikinya. Selain itu, Statement tersebut juga bisa melakukan operasi baca dengan metode executeUpdate() yang juga dimiliki oleh kelas ini.

PreparedStatement

Kelas ini digunakan untuk mengirimkan statement SQL ke database, yang disertai dengan penggunaan parameter, seperti contoh:


Instance pStatement tersebut membuat sebuah statement tulis, yaitu "insert into user (user_id, password, jabatan)”, dan dijalankan melalui metode executeUpdate() yang dimiliki oleh kelas ini.

Perhatikan metode setString([nomor kolom], [isi dari parameter]) nomor kolom dimulai dari 1, sehingga contoh di atas dapat disimpulkan user_id=”fery”, password=”123”, jabatan=”Kepala IT”.

ResultSet

Kelas yang menyimpan dataset (sekumpulan data) dari hasil statement query "SELECT”. Seperti contoh berikut ini.

 

Instance rs, akan menyimpan hasil query yang bisa diakses dengan cara memanggil metode getter untuk setiap jenis datanya. Misalnya getString() adalah untuk mendapat nilai string, diikuti nama fieldnya. Sedangkan untuk membaca record berikutnya bisa dilakukan dengan metode next().

Last modified: Sunday, 6 May 2018, 8:22 AM