Query & Integrasi Data


🎯 1. Pengantar Query & Integrasi Data

https://images.openai.com/static-rsc-4/NNub8Q1TGruJwfcXxH4_44ipKhTBKB78m77fbeXVBQ41dLgq7VXYQljaoyz6qD5_yuy_clUlawperM_YVg3H_XoPRFvPOi7v-W9KoxqJ5iBHGrguotZNbzkIAs-0lnprnznI-usxJVXpjTXQKDrTYtLRMZBT46ApadHCnxPJ2Qx7XUhnbhnzefrlwDEP1lRe?purpose=fullsize
https://images.openai.com/static-rsc-4/bLfuDuNjFC7VN0ThbUPcH7VILWNMJDKcYsDFkujARaonwtmKCYaTtMb07hfftuYbBK3f-Xg4gjNxf4MTZ5a1y6rDXLfDb56S9mrGkxQOfjMA-pH9GGSy4qj6X3K0Fp-RjM112IBoKaxuQ98fJc0GXZFqcurcwbmZs_0LYFVgxevB4KyoQhk6_5JBiU8PDzaQ?purpose=fullsize
https://images.openai.com/static-rsc-4/iXRms4JrDDeRHwZU_NI-2wJYQLUsW-XRdOeaWP88E5qcdP5PSzJ4iwoNGxitYHnNE1aByDrLe-h9RipkQlI3zkzycNI_pxeU0XYn2HW7HsQNyWQTSZylFHOIESjkI0f6Q60o1qYrcIiecRvMMUA7fDcbHn4841wf1BQ4KdtdRLLEyhr5cI4IiPC2LklC_PU7?purpose=fullsize

7

πŸ“– Deskripsi

  • Query adalah perintah untuk mengambil, menambah, mengubah, atau menghapus data dari database.
  • Integrasi data adalah proses menghubungkan hasil query dengan aplikasi (GUI) agar data bisa ditampilkan dan digunakan.

🧠 Narasi

Jika database adalah β€œgudang data”, maka query adalah β€œcara mengambil barang dari gudang”, dan integrasi adalah β€œmenampilkan barang tersebut ke pengguna”.


🧩 2. Konsep Dasar Query (SQL)

πŸ“Š Perintah Dasar SQL

PerintahFungsi
SELECTMengambil data
INSERTMenambah data
UPDATEMengubah data
DELETEMenghapus data

🧠 Narasi

SQL adalah bahasa standar untuk berkomunikasi dengan database. Hampir semua database menggunakan SQL.


πŸ” 3. Query SELECT (Mengambil Data)

https://images.openai.com/static-rsc-4/jFa-2nzpCC0bCWeNrobUfELs5nncMkZJlcnwyeNvUDTXpeghCGI3uepburTNpfGaNj57_iy7E2GE5M6CtaN0lL9j1bdN2tMwQmAiBLoGbkC_OfaXhVXyULiHdd8QYLcOMYZqXI8C5iA1deeZ4BZcZ5K87JpYnIJme5470vKbDf0ieKyoF3Dfpsrx0Vf-kIaY?purpose=fullsize
https://images.openai.com/static-rsc-4/ke8ICKwGkGpZ1C2aHPkUVgFsOjWPEktX2X7pMS0hNgDVfRVQtpBQe_yjKdmXg7BTHW86u7WPs2sYZ0C5gH1Ma919mfZG1psEAzIEb3npaMbqAqYGq88Clf3hbvYS8sfMV0HOziF4H0cV8N-xECDIwfIC50TWk7boz_JjC-BGvXRhfpVehylVlTrp70Fd1mgw?purpose=fullsize
https://images.openai.com/static-rsc-4/mQ2p2XDSL-UAka9BWHeAnWwXW92nCMFdQGv-AQS3vbVZSdR-CC8LAN0gmo3juPSra8QMRg9-e9DK_BmTnWguSH3Ybd_3bWLmSlcqiarjYK2N-glAkUuCGk-8f8zRKzlHHpgOBUYT_sesFq45qTODZfLyG0dqeyEJamklU1FvTY3zGd3ddqEeD8l-nT0AYtnE?purpose=fullsize

7

πŸ’» Contoh Query

SELECT * FROM mahasiswa;

πŸ“Œ Variasi Query

SELECT nama FROM mahasiswa;
SELECT * FROM mahasiswa WHERE nim = '101';

🧠 Narasi

SELECT digunakan untuk membaca data. Dengan kondisi (WHERE), kita bisa mengambil data tertentu saja.


βž• 4. Query INSERT (Menambah Data)

πŸ’» Contoh

INSERT INTO mahasiswa (nama, nim) VALUES ('Andi', '101');

🧠 Narasi

Digunakan saat user menambahkan data melalui form.


✏️ 5. Query UPDATE (Mengubah Data)

πŸ’» Contoh

UPDATE mahasiswa SET nama = 'Budi' WHERE id = 1;

🧠 Narasi

Digunakan saat user mengedit data.


❌ 6. Query DELETE (Menghapus Data)

πŸ’» Contoh

DELETE FROM mahasiswa WHERE id = 1;

🧠 Narasi

Digunakan untuk menghapus data yang tidak diperlukan.


πŸ”— 7. Integrasi Query dengan Aplikasi Desktop

https://images.openai.com/static-rsc-4/h9uLgLOhPfaAjWG-RTnbXAKg4NA_U5OnhfZrHzpWZoGGEhqRULmyFDiQpnowNug7uI1iewx-oA_00HeKEGpT7jlcJX-byW0lk_xopHnXGGCdYgKG77j79ooF0oHl7cMpUV3laSq9auMzeOgSzVaekDvh72IYDc1UV9XZmJj-o6XXuvrxUr0LBf81yuL5dgq8?purpose=fullsize
https://images.openai.com/static-rsc-4/9tDJNeITxwyfWlrmTgzMFmyB_2ytWgfiVNpnaZtBdKwTqPOuo7Wcz12kRKHUZDOo_WXHA7GH2Cv1LlxsvX9-Au2QgPfgPJvIBHsokxCf6D07Uv439rkHlz_4EORTaBTfM9XRtnMRBAgE_XMTYNSigp6l4nZyMjV04u4smLuMjONs4hw7j__FzqMqEXjTQl-k?purpose=fullsize
https://images.openai.com/static-rsc-4/lpGtjbE30MOMbt1ufwV_yMqZqyTjftJGUVqYBBdfgD7NkmRLC0UZbsMbwpYvsLtnAneMSCRMtmu6azCk1q41bh4_kNctjK60WKp89rcFseW2vsXYIRMSMPJO5lbYRNUyGXg3T1SFLcPmHjGh2JI8CAIF8FAI1fQn3Vqunk3k4YQJN2ovc73eoCT-PNFiEgOy?purpose=fullsize

9

πŸ“– Alur Integrasi

  1. User input di GUI
  2. Aplikasi menjalankan query
  3. Database memproses
  4. Data dikembalikan ke aplikasi
  5. Ditampilkan di GUI

🧠 Narasi

Integrasi membuat aplikasi menjadi β€œhidup” karena data bisa berubah secara real-time.


πŸ§ͺ 8. Tutorial Praktikum: Query + GUI (Python SQLite)

🎯 Studi Kasus

Menampilkan data mahasiswa dari database ke GUI


πŸ’» Kode Program

import tkinter as tk
import sqlite3

conn = sqlite3.connect("kampus.db")
cursor = conn.cursor()

def tampilkan():
listbox.delete(0, tk.END)
cursor.execute("SELECT nama, nim FROM mahasiswa")
for row in cursor.fetchall():
listbox.insert(tk.END, row[0] + " - " + row[1])

app = tk.Tk()

tk.Button(app, text="Tampilkan Data", command=tampilkan).pack()

listbox = tk.Listbox(app)
listbox.pack()

app.mainloop()

🧠 Penjelasan

  • SELECT β†’ ambil data
  • fetchall() β†’ ambil semua hasil
  • listbox β†’ tampilkan data

πŸ”„ 9. Data Binding (Menghubungkan Data ke UI)

https://images.openai.com/static-rsc-4/VbEBY16Qj4n_ad3FloV2KHD1rssVLrCFZe9Jj3Geq3kTK2ZCfBxplfxQi-2WZ73OH7TM5pZhGysJWlyWtPSJO9nWnvhyR4psSi1TbDCM4Y-wnrcPayyHxbDZrJ_x7pbrQt7MypCt2VTGlm5ynnvrsDAUfF85w7ZjRGsbK4hygAXd2w3-KP5YUhRXnxBnsvLB?purpose=fullsize
https://images.openai.com/static-rsc-4/jPa6siyiaF9cNy6jA5lgXYT4XK2hPlMFs2Wfh-Es3wf3AuSjYMDDxkIHFJbUZrMoIr25hUiNz9qIFWhczSIefNtMXm7pfVSQYAiSdMtLc2Q6FC-seXuqWuAIiq8s-Amj321YXyUfdCsjVbOaDAL-be3TLg8DCSEqVO6g6lkwRiJgEMu8zpOq5hHiU2dN8hwc?purpose=fullsize
https://images.openai.com/static-rsc-4/vTekvnbupDxYQe6kEL6KH5qV_vdrvHRGSNr0qhrFJeYJvCtsdyyuP_wBR26YqvshaQLOlPfoMwf4vkd9Xfr_uISPukplSf2I-Zlh_nbcpsF6vbCbqQ6_IKA1jB84vgkpfLEQ61w_fsjl2trp6TYKzFQ6wcguNMci5bpNmWEmfBTptDbmlnFeMDMdSrXoBK7t?purpose=fullsize

7

πŸ“– Deskripsi

Data binding adalah teknik menghubungkan data dari database ke komponen GUI.


🧠 Narasi

Tanpa binding, data harus ditulis manual ke UI. Dengan binding:

  • Lebih otomatis
  • Lebih cepat
  • Lebih rapi

πŸ” 10. Query Lanjutan

πŸ“Œ Contoh

SELECT * FROM mahasiswa ORDER BY nama ASC;
SELECT * FROM mahasiswa LIMIT 5;
SELECT * FROM mahasiswa WHERE nama LIKE '%an%';

🧠 Narasi

Query lanjutan membantu:

  • Sorting data
  • Membatasi data
  • Mencari data

⚠️ 11. Keamanan Query (SQL Injection)

❌ Contoh Salah

query = "SELECT * FROM mahasiswa WHERE nama = '" + nama + "'"

βœ… Solusi

cursor.execute("SELECT * FROM mahasiswa WHERE nama=?", (nama,))

🧠 Narasi

SQL Injection bisa membahayakan database. Gunakan parameterized query.


⚠️ 12. Kesalahan Umum

❌ Tabel Kesalahan

KesalahanDampak
Query salahError
Tidak fetch dataTidak tampil
Tidak refresh UIData tidak update
Tidak validasi inputData salah

🧠 Narasi

Kesalahan kecil bisa membuat aplikasi tidak menampilkan data.


🎯 13. Best Practice

βœ… Tips

  • Gunakan query yang efisien
  • Gunakan parameter query
  • Pisahkan query dari UI
  • Gunakan fungsi khusus database
  • Gunakan indexing (lanjutan)

πŸ—οΈ 14. Studi Kasus Nyata

https://images.openai.com/static-rsc-4/uewsyVCU6GCBa9_G0w8MQ-2xhMnzjgD43eA-JdQznJVwQ8eagzkWtAkHpkl-LwWAJkkCVfzd01X02c1d_pXWkQ2UkJvz9YYqj5I0Oao4DhCOSustsuvN0mgc6Ud5mnAxIu54S16lJMADf1qAIvscduECCD1idjMOvuRCEMwTb79Ey1GZlnQLfBDcPezAPDS-?purpose=fullsize
https://images.openai.com/static-rsc-4/cFFzAg0i-Q2HZG-8InKOm4EPlC3idE-PhtVNQumxonKfo3HsUbvmLbF8Mgi1O_55uMaJjNf5Ac8Z2ueKO-HHTOIzZXeA5vUzMjN3TTp1YE1r-TCma3uZ2jsqSz-ghTvqQfWT0LY2SuXM7rY5rivjA1QA6Om1fEo0tACOdWMHFPFqcaow4n-UtPlGFWAm3Vqf?purpose=fullsize
https://images.openai.com/static-rsc-4/3NtBqz2ziJoyp9pNs2kkLtm3pp5_4bzxtwM93XM9GWqCugZs5DcIL0a3b65MO6LfdNb2N7YpCCICOOMUTqEM6AVmKZ47RwbQZ98hBD-HZz98qAzqQ4mmXAlwiNSTU20y3Id7C67rlHKoJTjmGYWYKltztgl7iSwQj0SKismSXNK6nEci9H3PbjKmmx-88ZJJ?purpose=fullsize

7

πŸ“Œ Contoh

  • Dashboard laporan
  • Sistem pencarian data
  • Aplikasi kasir

🧠 Narasi

Query digunakan untuk:

  • Laporan
  • Analisis data
  • Pencarian cepat

πŸŽ“ 15. Rangkuman

πŸ“Œ Inti Materi

  • Query = perintah database
  • Integrasi = hubungkan database ke GUI
  • Gunakan SELECT, INSERT, UPDATE, DELETE
  • Gunakan parameter query untuk keamanan
  • Data ditampilkan ke UI

πŸ“ 16. Latihan & Tugas

✏️ Latihan

  1. Apa itu query?
  2. Sebutkan 4 perintah SQL!
  3. Apa itu data binding?

πŸ’» Tugas Praktikum

Buat aplikasi:

  • Tampilkan data dari database
  • Tambah data
  • Edit data
  • Hapus data

πŸš€ Penutup

Materi ini adalah jantung dari aplikasi:

  • Semua sistem menggunakan query
  • Integrasi membuat aplikasi dinamis
  • Fondasi untuk sistem profesional