Advertisement
afrizalwahyuadi66

hhh

Jan 14th, 2025
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 2.81 KB | None | 0 0
  1. Berikut adalah langkah-langkah untuk menjawab soal berdasarkan diagram konteks LEVEL 0:
  2.  
  3. 1. Analisis dan Rancang Database
  4.  
  5. Berdasarkan diagram, berikut tabel-tabel yang dibutuhkan:
  6.  
  7. a. Tabel Anggota
  8.  
  9. Berisi data anggota/petani.
  10.  
  11. id_anggota (Primary Key)
  12.  
  13. nama
  14.  
  15. alamat
  16.  
  17. no_telepon
  18.  
  19.  
  20. b. Tabel Lahan Pertanian
  21.  
  22. Berisi data lahan pertanian.
  23.  
  24. id_lahan (Primary Key)
  25.  
  26. id_anggota (Foreign Key ke tabel Anggota)
  27.  
  28. luas_lahan
  29.  
  30. jenis_tanaman
  31.  
  32.  
  33. c. Tabel Alat Pertanian
  34.  
  35. Berisi data alat pertanian.
  36.  
  37. id_alat (Primary Key)
  38.  
  39. nama_alat
  40.  
  41. jumlah
  42.  
  43.  
  44. d. Tabel Kelompok Tani
  45.  
  46. Berisi data kelompok tani.
  47.  
  48. id_kelompok (Primary Key)
  49.  
  50. nama_kelompok
  51.  
  52. id_bpp (Foreign Key ke tabel BPP)
  53.  
  54.  
  55. e. Tabel BPP (Balai Penyuluhan Pertanian)
  56.  
  57. Berisi data BPP.
  58.  
  59. id_bpp (Primary Key)
  60.  
  61. nama_bpp
  62.  
  63. alamat
  64.  
  65.  
  66. f. Tabel Kecamatan
  67.  
  68. Berisi data kecamatan.
  69.  
  70. id_kecamatan (Primary Key)
  71.  
  72. nama_kecamatan
  73.  
  74.  
  75. g. Tabel Kelurahan
  76.  
  77. Berisi data kelurahan.
  78.  
  79. id_kelurahan (Primary Key)
  80.  
  81. nama_kelurahan
  82.  
  83. id_kecamatan (Foreign Key ke tabel Kecamatan)
  84.  
  85.  
  86.  
  87. ---
  88.  
  89. 2. Buat Struktur Database MySQL
  90.  
  91. CREATE DATABASE sistem_kelompok_tani;
  92.  
  93. USE sistem_kelompok_tani;
  94.  
  95. -- Tabel Anggota
  96. CREATE TABLE Anggota (
  97.     id_anggota INT AUTO_INCREMENT PRIMARY KEY,
  98.     nama VARCHAR(100),
  99.     alamat TEXT,
  100.     no_telepon VARCHAR(15)
  101. );
  102.  
  103. -- Tabel Lahan Pertanian
  104. CREATE TABLE Lahan_Pertanian (
  105.     id_lahan INT AUTO_INCREMENT PRIMARY KEY,
  106.     id_anggota INT,
  107.     luas_lahan FLOAT,
  108.     jenis_tanaman VARCHAR(50),
  109.     FOREIGN KEY (id_anggota) REFERENCES Anggota(id_anggota)
  110. );
  111.  
  112. -- Tabel Alat Pertanian
  113. CREATE TABLE Alat_Pertanian (
  114.     id_alat INT AUTO_INCREMENT PRIMARY KEY,
  115.     nama_alat VARCHAR(100),
  116.     jumlah INT
  117. );
  118.  
  119. -- Tabel Kelompok Tani
  120. CREATE TABLE Kelompok_Tani (
  121.     id_kelompok INT AUTO_INCREMENT PRIMARY KEY,
  122.     nama_kelompok VARCHAR(100),
  123.     id_bpp INT,
  124.     FOREIGN KEY (id_bpp) REFERENCES BPP(id_bpp)
  125. );
  126.  
  127. -- Tabel BPP
  128. CREATE TABLE BPP (
  129.     id_bpp INT AUTO_INCREMENT PRIMARY KEY,
  130.     nama_bpp VARCHAR(100),
  131.     alamat TEXT
  132. );
  133.  
  134. -- Tabel Kecamatan
  135. CREATE TABLE Kecamatan (
  136.     id_kecamatan INT AUTO_INCREMENT PRIMARY KEY,
  137.     nama_kecamatan VARCHAR(100)
  138. );
  139.  
  140. -- Tabel Kelurahan
  141. CREATE TABLE Kelurahan (
  142.     id_kelurahan INT AUTO_INCREMENT PRIMARY KEY,
  143.     nama_kelurahan VARCHAR(100),
  144.     id_kecamatan INT,
  145.     FOREIGN KEY (id_kecamatan) REFERENCES Kecamatan(id_kecamatan)
  146. );
  147.  
  148.  
  149. ---
  150.  
  151. 3. Query Join Tabel Master dengan Tabel Pengolahan
  152.  
  153. Contoh join antara tabel Anggota, Lahan_Pertanian, dan Kelompok_Tani untuk mendapatkan informasi anggota beserta detail lahan dan kelompok taninya:
  154.  
  155. SELECT
  156.     a.nama AS nama_anggota,
  157.     a.alamat AS alamat_anggota,
  158.     lp.luas_lahan,
  159.     lp.jenis_tanaman,
  160.     kt.nama_kelompok
  161. FROM
  162.     Anggota a
  163. JOIN
  164.     Lahan_Pertanian lp ON a.id_anggota = lp.id_anggota
  165. JOIN
  166.     Kelompok_Tani kt ON lp.id_anggota = kt.id_kelompok;
  167.  
  168. Silakan sesuaikan dengan data yang dimasukkan. Jika ada pertanyaan lebih lanjut, beri tahu saya!
  169.  
  170.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement