# Modul Praktikum: Kondisi dan Tindakan Menggunakan phpMyAdmin
## 1. Pendahuluan
Dalam pengembangan aplikasi berbasis web, database memegang peranan penting untuk menyimpan, mengelola, dan mengambil data. Salah satu alat yang paling umum digunakan untuk manajemen database adalah phpMyAdmin. Dalam modul ini, kita akan mempelajari bagaimana membuat dan mengelola database serta tabel menggunakan phpMyAdmin, termasuk mengisi data, membuat relasi antar tabel, dan menerapkan kondisi serta tindakan dalam konteks medis.
## 2. Dasar Teori
### 2.1 Database
Database adalah kumpulan data yang disimpan secara sistematis. Dalam database, data disimpan dalam bentuk tabel yang terdiri dari baris dan kolom. Setiap tabel merepresentasikan sebuah entitas dalam sistem.
### 2.2 Relasi Antar Tabel
Relasi antar tabel digunakan untuk menghubungkan data yang ada di tabel satu dengan tabel lainnya. Relasi ini biasanya diterapkan untuk memastikan konsistensi data. Ada beberapa jenis relasi dalam database, seperti:
- **One to One**: Satu baris di tabel A hanya berhubungan dengan satu baris di tabel B.
- **One to Many**: Satu baris di tabel A bisa berhubungan dengan banyak baris di tabel B.
- **Many to Many**: Banyak baris di tabel A berhubungan dengan banyak baris di tabel B.
### 2.3 Auto Increment
Auto Increment adalah fitur di mana nilai kolom secara otomatis meningkat setiap kali ada data baru yang dimasukkan. Biasanya digunakan untuk kolom ID atau primary key.
### 2.4 phpMyAdmin
phpMyAdmin adalah alat berbasis web yang digunakan untuk mengelola MySQL atau MariaDB. Dengan phpMyAdmin, pengguna dapat membuat, memodifikasi, dan menghapus database, tabel, serta mengatur relasi antar tabel.
## 3. Langkah-Langkah Praktikum
### 3.1 Membuat Database
1. Buka phpMyAdmin di browser Anda.
2. Klik menu **Databases** di bagian atas.
3. Masukkan nama database, misalnya `medis`, dan klik **Create**.
### 3.2 Membuat Tabel `patients`
1. Klik pada database `medis`.
2. Klik **Create Table** dan masukkan nama tabel `patients` dengan 5 kolom.
3. Buat struktur tabel seperti berikut:
- `id`: INT, AUTO_INCREMENT, Primary Key
- `name`: VARCHAR(100)
- `age`: INT
- `gender`: ENUM('Male', 'Female')
- `address`: TEXT
4. Klik **Save** untuk menyimpan.
#### Penjelasan:
- Kolom `id` menggunakan auto increment untuk otomatis menambahkan nilai setiap kali ada data baru.
- Kolom `gender` menggunakan tipe ENUM untuk membatasi pilihan hanya pada 'Male' dan 'Female'.
### 3.3 Membuat Tabel `doctors`
1. Di database yang sama, buat tabel `doctors` dengan struktur:
- `id`: INT, AUTO_INCREMENT, Primary Key
- `name`: VARCHAR(100)
- `specialization`: VARCHAR(100)
- `phone`: VARCHAR(15)
### 3.4 Membuat Tabel `appointments`
1. Buat tabel ketiga dengan nama `appointments` yang berfungsi mencatat janji temu pasien dengan dokter. Struktur tabel:
- `id`: INT, AUTO_INCREMENT, Primary Key
- `patient_id`: INT
- `doctor_id`: INT
- `appointment_date`: DATE
2. Tambahkan relasi antar tabel:
- Pada tabel `appointments`, tambahkan foreign key `patient_id` yang merujuk ke kolom `id` di tabel `patients`.
- Tambahkan foreign key `doctor_id` yang merujuk ke kolom `id` di tabel `doctors`.
#### Penjelasan:
- Tabel `appointments` menyimpan data tentang janji temu, di mana `patient_id` menghubungkan pasien dengan tabel `patients`, dan `doctor_id` menghubungkan dokter dengan tabel `doctors`.
### 3.5 Mengisi Data ke dalam Tabel
1. Untuk mengisi data ke tabel `patients`, pilih tabel `patients` lalu klik **Insert** dan masukkan data seperti berikut:
- `name`: John Doe
- `age`: 30
- `gender`: Male
- `address`: 123 Main St.
2. Lakukan hal yang sama untuk tabel `doctors`, contoh data:
- `name`: Dr. Smith
- `specialization`: Cardiology
- `phone`: 555-1234
3. Untuk tabel `appointments`, masukkan data dengan memilih `patient_id` dan `doctor_id` yang sesuai:
- `patient_id`: 1 (John Doe)
- `doctor_id`: 1 (Dr. Smith)
- `appointment_date`: 2024-09-30
### 3.6 Melihat Relasi dan Data
1. Klik **Structure** di tabel `appointments`, dan Anda akan melihat relasi antara `patients` dan `doctors`.
2. Pilih **Browse** di setiap tabel untuk melihat data yang sudah diisi.
## 4. Analisa
- Relasi yang dibuat memungkinkan untuk melacak janji temu antara pasien dan dokter dengan mudah. Tabel `appointments` bertindak sebagai penghubung antara pasien dan dokter, di mana setiap janji temu memiliki referensi yang jelas ke pasien dan dokter.
- Auto Increment di kolom `id` mempermudah pembuatan primary key secara otomatis, menghindari kesalahan dalam input data manual.
- Penggunaan foreign key memastikan konsistensi data, misalnya pasien atau dokter yang dihapus tidak akan menyebabkan kesalahan dalam tabel `appointments`.
## 5. Kesimpulan
Dalam praktikum ini, kita telah belajar bagaimana membuat database, tabel, mengisi data, dan membuat relasi antar tabel menggunakan phpMyAdmin. Pemahaman ini sangat penting dalam pengelolaan database yang efisien dan terstruktur, terutama di bidang medis di mana integritas dan keterkaitan data sangat dibutuhkan.