Anda di halaman 1dari 23

 

PELATIHAN ​MYSQL 
Query Database SIMPUS B 

oleh Richad Avianto


Daftar Isi
Daftar Isi 1

Pengertian Dasar 2
Apa Itu MySQL? 2
Database 2
Open Source 2
Client-server Model 2
SQL 3
Bagaimana Cara Kerja MySQL? 4
Apa Kelebihan MySQL Sehingga Banyak Digunakan? 5
Fleksibilitas dan kemudahan penggunaan 5
Performa terbaik 5
Memiliki standar industri 5
Aman 6

Mengenal Query 7
Menjalankan Perintah (query) MySQL 7
Cara Mengubah Tampilan output MySQL 9
Aturan Penulisan huruf BESAR dan kecil dalam MySQL 9
Perhatikan penggunaan tanda 11
Query Antar Tabel SQL 11
1. Inner Join 12
2. Left Join 13
3. Right Join 13

Mengakses Database SIMPUS Bontang 14


Yang perlu dipersiapkan 15
Koneksi ke DB MySQL Simpus Bontang 15
Mengenal Database SIMPUS Bontang 16
Memulai Query 18
Menampilkan Data Gangguan Pernafasan 18
Menampilkan Data Usia Produktif 19
Menampilkan Riwayat Kunjungan 20
Menampilkan Kunjungan Sesuai Rentang Tanggal 21

Kontak pengembang: 22

1
Pengertian Dasar

Apa Itu MySQL?


MySQL adalah sistem manajemen database relasional open source (RDBMS) dengan
client-server model. Sedangkan RDBMS merupakan software untuk membuat dan mengelola
database berdasarkan pada model relasional.

Sebelum dibahas lebih lanjut, ada baiknya bagi kita untuk mengetahui sejarah singkat MySQL.
MySQL dibaca MY-ES-KYOO-EL [maɪˌɛsˌkjuːˈɛl]. Beberapa orang bahkan membaca MySQL
seperti sedang menyebutkan “my sequel”. MySQL AB, sebuah perusahaan asal Swedia, menjadi
yang pertama dalam mengembangkan MySQL di tahun 1994. Hak kepemilikan MySQL kemudian
diambil secara menyeluruh oleh perusahaan teknologi Amerika Serikat, Sun Microsystems, ketika
mereka membeli MySQL AB pada tahun 2008. Di tahun 2010, Oracle yang adalah salah satu
perusahaan teknologi terbesar di Amerika Serikat mengakuisisi Sun Microsystems. Semenjak
itulah, MySQL sepenuhnya dimiliki oleh Oracle.

Database
Dalam bahasa yang sederhana, database adalah sekumpulan data yang terstruktur. Anggap saja
Anda sedang berpose selfie: yang dilakukan pastilah menekan tombol kamera depan, lalu
mengabadikan potret diri. Foto selfie yang diambil adalah data, sedangkan galeri foto merupakan
database. Database adalah tempat untuk menyimpan dan mengelola data. Kata “relasional” berarti
data yang disimpan di dataset dikelola sebagai tabel. Setiap tabel saling terkait. Jika software tidak
mendukung model data relasional, maka yang dipanggil hanyalah DBMS.

Open Source
Jika suatu software atau tool dikatakan open source, maka itu berarti Anda bebas menginstall,
menggunakan, bahkan memodifikasikannya. Anda pun dapat mempelajari dan
mengkustomisasikan source code-nya agar software bisa diatur dan diubah sesuai keinginan dan
kebutuhan Anda. Hanya saja, aktivitas yang Anda lakukan tak hanya tergantung pada situasi dan
kondisi, tapi juga ditentukan oleh GPL (GNU Public License). Lisensi berbayar tersedia bagi Anda
yang menginginkan fleksibilitas terhadap kepemilikan dan bantuan tingkat lanjut (premium).

Client-server Model
Komputer yang memasang dan menjalankan software RDBMS disebut sebagai client. Agar bisa
mengakses data, komputer harus terhubung dengan server RDBMS terlebih dulu. Keadaan seperti
inilah yang disebut client-server.

MySQL adalah salah satu pilihan software RDBMS. Terkadang RDBMS dan MySQL dianggap
sama karena popularitas MySQL. Aplikasi web terkenal, seperti Facebook, Twitter, YouTube,

2
Google, dan Yahoo! menggunakan MySQL untuk menyimpan data. Pada awalnya MySQL dibuat
untuk penggunaan terbatas saja, tapi sekarang software ini sudah kompatibel dengan berbagai
platform computing, seperti Linux, macOS, Microsoft Windows, dan Ubuntu.

SQL
MySQL dan SQL adalah dua software yang berbeda. MySQL merupakan salah satu nama brand
terpopuler dari software RDBMS yang menerapkan client-server model. Lalu, bagaimana client
dan server berkomunikasi di dalam ruang lingkup RDBMS? Jadi, baik client maupun server,
keduanya menggunakan bahasa spesifik domain – Structured Query Language (SQL). Jika Anda
pernah melihat atau membaca beberapa nama yang dikombinasikan dengan SQL, misalnya
PostgreSQL dan Microsoft SQL, maka server tersebut biasanya menggunakan syntax SQL.
Walaupun terkadang ditulis dalam bahasa pemrograman yang lain, software RDBMS selalu
menggunakan SQL sebagai bahasa utama untuk berinteraksi dengan database. MySQL sendiri
ditulis dalam C dan C++. Agar lebih mudah dipahami, kita mengambil negara-negara di Amerika
Selatan sebagai contohnya. Secara geografis, negara-negara tersebut tidaklah sama, bahkan
sejarahnya pun berbeda. Namun, masyarakat di semua negara di Amerika Selatan menggunakan
bahasa Spanyol untuk berkomunikasi.

Pada awal tahun 1970-an, seorang ahli komputer, Ted Codd, mengembangkan SQL dengan IBM
berbasis model relasional. Pada tahun 1974, SQL mulai banyak digunakan dan dengan cepat
menggantikan posisi bahasa yang sudah outdated, yakni ISAM dan VISAM. Tugas SQL adalah
untuk memberitahukan server tentang apa yang harus dilakukannya terhadap data.
Penggambaran umumnya seperti password atau kode WordPress. Anda memasukkan password
atau kode tersebut ke sistem untuk mendapatkan akses agar bisa login ke dashboard. Dalam hal
ini, SQL statement menginstruksikan server untuk menjalankan operasi tertentu:

● Data query: meminta informasi yang spesifik dari database yang sudah ada.
● Manipulasi data: menambahkan, menghapus, mengubah, menyortir, melakukan operasi
lainnya untuk memodifikasi data, value, atau visual.
● Identitas data (data identity): menentukan tipe data, misalnya mengubah data numerik
menjadi data integer. Selain itu, juga menentukan schema atau hubungan dari
masing-masing tabel yang ada di database.
● Data access control: menyediakan metode keamanan untuk melindungi data, termasuk
dalam menentukan siapa yang boleh melihat atau menggunakan informasi yang tersimpan
di database.

3
Bagaimana Cara Kerja MySQL?

Gambar di atas menjelaskan struktur dasar dari client-server. Satu atau banyak perangkat
terhubung ke server melalui network atau jaringan khusus. Setiap client dapat membuat
permintaan (request) dari antarmuka pengguna grafis atau graphical user interface (GUI) di layar,
dan server akan membuat output yang diinginkan, sepanjang server dan juga client memahami
instruksi dengan benar. Idealnya, proses utama yang terjadi di ruang lingkup MySQL sama, yaitu:

MySQL membuat database untuk menyimpan dan memanipulasi data, serta menentukan
keterkaitan antara masing-masing tabel.
Client membuat permintaan (request) dengan mengetikkan pernyataan SQL yang spesifik di
MySQL.
Aplikasi server akan merespons dengan memberikan informasi yang diminta. Informasi ini nantinya
muncul di sisi klien.
Dari sisi client, biasanya akan diberitahukan MySQL GUI mana yang harus digunakan. Semakin
ringan dan user friendly suatu GUI, maka semakin cepat dan mudah aktivitas manajemen data
yang dimilikinya. Sebagian MySQL GUI yang terkenal adalah MySQL WorkBench, SequelPro,
DBVisualizer, dan Navicat DB Admin Tool. Beberapa MySQL GUI terpopuler ada yang gratis dan
ada juga yang berbayar, ada yang dijalankan secara eksklusif di macOS dan ada juga yang
kompatibel dengan sistem operasi lainnya. Client memilih GUI berdasarkan pada kebutuhannya.
Untuk manajemen database, termasuk situs WordPress, GUI yang paling sesuai adalah
phpMyAdmin.

4
Apa Kelebihan MySQL Sehingga Banyak Digunakan?

Tak hanya dikenal sebagai satu-satunya (R)DBMS yang ada di pasaran, MySQL juga menjadi
salah satu database terpopuler setelah Oracle Database, berdasarkan pada penilaian yang
menggunakan parameter kritis, seperti seberapa sering muncul di hasil pencarian, profil di
LinkedIn, dan banyaknya diskusi teknis di forum online. Banyaknya perusahaan teknologi besar
yang menggunakan software ini semakin mengukuhkan posisinya. Berikut beberapa alasan
mengapa MySQL banyak digunakan:

Fleksibilitas dan kemudahan penggunaan


Anda dapat memodifikasi source code sesuai dengan keinginan tanpa perlu mengkhawatirkan
adanya batasan, termasuk opsi untuk mengupgrade paket saat ini ke versi premium berbayar.
Proses installnya relatif sederhana dan tidak membutuhkan waktu lebih dari 30 menit.

Performa terbaik
Ada banyak cluster server yang mensupport MySQL. Dengan performa dan kecepatan yang
optimal, software ini akan membantu Anda baik dalam menyimpan sejumlah data e-Commerce
berukuran besar maupun ketika melakukan kegiatan bisnis berat lainnya.

Memiliki standar industri


Banyak industri yang telah menggunakan MySQL bertahun-tahun lamanya, dan itu berarti ada
sejumlah resource yang dikelola oleh developer berpengalaman. Dengan demikian, user akan
mendapatkan software MySQL yang terus-menerus diperbarui. Software ini dapat dikembangkan
oleh siapa pun, bahkan freelance developer demi memperoleh uang saku.

5
Aman
Keamanan data menjadi salah satu prioritas utama software RDBMS. Dengan Access Privilege
System dan User Account Management yang dimilikinya, MySQL menetapkan level keamanan
tingkat tinggi. Verifikasi berbasis host dan enkripsi password juga tersedia.

6
Mengenal Query

Menjalankan Perintah (query) MySQL


Setiap perintah, atau sering juga disebut “​query​” di dalam MySQL harus diakhiri dengan
tanda titik koma “​;​” dan akan dieksekusi setelah tombol ​Enter​ ditekan. Selama query
MySQL belum diakhiri dengan “;” maka itu dianggap masih dalam satu perintah.

Ketika kita menjalankan sebuah perintah MySQL (​query)​ , query tersebut akan dikirim dari
MySQL Client​ ke ​MySQL Server​ untuk di proses, setelah proses selesai, hasilnya akan
dikirim kembali ke ​MySQL Client​.

Agar lebih mudah memahami query MySQL, kita akan langsung praktek beberapa query
sederhana. Silahkan jalankan ​MySQL Server​ dan masuk sebagai user ​root​ dari ​MySQL
Client.

Setelah masuk ke dalam ​MySQL Client​ (ditandai dengan awalan ​mysql>​ pada jendela
cmd), kita akan mencoba beberapa perintah MySQL sederhana. Ketikkan perintah berikut:
SELECT NOW();​ lalu akhiri dengan ​Enter​ pada keyboard.

Contoh ​query​ diatas adalah untuk menampilkan tanggal dan waktu saat ini dengan fungsi
NOW().​ Query tersebut akan menghasilkan hasil yang berbeda-beda tergantung saat
anda menjalankannya.

Perintah ​SELECT​ kebanyakan digunakan untuk proses pembacaan data dari ​database​,
tetapi juga dapat digunakan untuk menampilkan hasil dari fungsi tambahan, seperti fungsi
NOW()​, yang kita coba kali ini. Hasil ​query MySQL​ akan ditampilkan dalam bentuk tabel
pada ​cmd​ windows, hasil ini dikirim dari ​MySQL Server.​

Selain hasil dalam bentuk tabel, hampir setiap perintah query, MySQL juga akan
menampilkan banyaknya baris yang dipengaruhi dan lamanya waktu eksekusi. Pada
contoh kita diatas, ditampilkan keterangan: 1 row in set (0.00 sec). Keterangan ini berarti
query kita diproses selama 0 detik (0 second), dan mempengaruhi 1 baris (1 row). o detik
disini bukan berarti query tersebut akan tampil seketika, namun karena perintah yang

7
sederhana, MySQL (mungkin) hanya membutuhkan waktu 0,001 sekian detik untuk
memproses (dibulatkan menjadi 0,00).

Sebagai contoh query lainnya, kita akan mencoba untuk menampilkan nama user yang
sedang aktif dan versi MySQL Server yang digunakan pada saat ini. Untuk menampilkan
keterangan ini, MySQL menyediakan fungsi ​USER()​ dan ​VERSION()

Dapat dilihat dari contoh ​query​ tersebut, untuk setiap fungsi dipisahkan dengan tanda
koma “,”.

Penulisan perintah (query) MySQL juga tidak harus dalam satu baris. Misalnya, kita bisa
menjalankan query berikut:

Setelah fungsi ​NOW()​ ​pertama, tekan ​Enter​ untuk pindah baris, lalu ketikkan perintah
sambungannya. Selama kita ​belum​ mengakhiri perintah tersebut dengan “​;​”, maka MySQL
menganggap baris berikutnya adalah sambungan dari baris sebelumnya. Pemisahan
perintah seperti diatas akan sangat berguna jika kita menuliskan query yang panjang,
sehingga lebih mudah dibaca. Tanda ​mysql>​ akan berubah menjadi ​->​ selama kita belum
mengakhiri query tersebut dengan tanda titik koma “​;”​ .

Jika kita telah membuat query MySQL, namun memutuskan untuk membatalkannya,
dapat dilakukan dengan kode “​\c​”. Contoh querynya:

8
Dapat anda perhatikan bahwa tanda ​->​ akan kembali menjadi ​mysql>​ yang menandakan
MySQL telah siap untuk perintah yang baru.

Selain menggunakan “;”, query MySQL juga akan mengeksekusi perintah juga diakhiri
dengan tanda “​\g​”.

Cara Mengubah Tampilan output MySQL

Untuk perintah MySQL (​query MySQL​) yang menghasilkan output yang panjangnya
melebihi layar ​cmd​, akan sulit bagi kita dalam membacanya. MySQL menyediakan cara
untuk merubah tampilan tabel menjadi baris.

Untuk merubah tampilan output MySQL menjadi baris, tambahkan tanda “​\G​” (huruf G
besar, bukan g kecil) setelah perintah ​query.​ Berikut adalah contoh penggunaannya dalam
MySQL:

Aturan Penulisan huruf BESAR dan kecil dalam MySQL

9
Konsep penggunaan huruf besar dan huruf kecil dalam MySQL akan berbeda tergantung
saat penggunaannya.

MySQL tidak membedakan penulisan huruf besar maupun kecil (​case insensitive​) dalam
penulisan fungsi dan identifier​. Sebagai contoh, ketiga query ini akan menghasilkan output
yang sama (kecuali header dari tabel):

Namun untuk penulisan​ nama database​ dan ​nama tabel, MySQL ​akan mengikuti sistem
operasi dimana ​MySQL Server​ berjalan.

Untuk Sistem Operasi ​Windows​, nama database ​mahasiswa​ dianggap sama dengan
MaHaSIsWA, namun dalam ​MySQL Server​ yang berjalan pada ​Linux​, kedua database
tersebut dianggap ​berbeda​ (​case sensitive​).

Karena hal ini, ada baiknya kita membiasakan menggunakan kesepakatan dalam
penamaan. Disarankan untuk menggunakan selalu ​huruf kecil​ dalam penulisan ​database,
tabel​ dan ​variabel​ dalam MySQL, sehingga perbedaan huruf tidak akan menjadi masalah
pada kemudian hari jika MySQL Server pindah sistem operasi.

Di dalam tutorial duniailkom, dan juga dalam beberapa buku MySQL, perintah-perintah
dan fungsi baku MySQL akan menggunakan ​HURUF BESAR​ sedangkan untuk nama
database, tabel, dan kolom​ akan menggunakan​ huruf kecil​. Hal ini hanya semata-mata
10
agar perintah SQL mudah dibaca dan dibedakan dengan nama database atau tabel. Kita
bisa saja menggunakan huruf kecil untuk seluruh fungsi-fungsi dalam MySQL.

Perhatikan penggunaan tanda

Dalam beberapa kasus, sebuah query bisa saja menggunakan tanda baca selain angka
dan huruf seperti : “​,​” (koma), “​\​” (forward slash/garis miring depan),”​’​” (tanda petik), dan “ “
(spasi). Misalnya untuk 123 dan ‘123’, 12e + 14 dan 12e+14 akan memiliki arti berbeda
dalam MySQL. Jika anda menemui error, mungkin penggunaan “​tanda”​ ini adalah
masalahnya. Lebih jauh dalam penggunaan tanda ini akan kita pelajari dalam
tutorial-tutorial MySQL selanjutnya.

Query Antar Tabel SQL

Didalam SQL sering kita dengar istilah Join, Join merupakan suatu perintah yang bisa kita
gunakan untuk menampilkan data dari tabel dan menghubungkan satu dengan tabel
lainnya yang saling berhubungan. Ada beberapa fungsi yang bisa kita manfaatkan untuk

11
menghubungkan beberapa buah tabel, yakni Inner Join, Left Join, dan Right Join. Artikel
kali ini akan membahas Perbedaan Inner Join, Left Join, Right Join, dsb.

Baiklah, berikut ini akan saya praktekan satu persatu fungsi join pada SQL. Sebelumnya
saya telah membuat 2 buah tabel yakni tabel motor dan tabel brand seperti berikut.

Perbedaan Inner Join, Left Join, Right Join, dsb

1. Inner Join

Yang pertama saya akan memanfaatkan fungsi Inner Join untuk menampilkan data dari
kedua tabel diatas.

SELECT​ * ​FROM​ rsh_motor


INNER​ ​JOIN​ rsh_brand
ON​ rsh_motor.id_brand = rsh_brand.id

Inner Join merupakan perintah untuk menampilkan semua data yang mempunyai nilai
sama, kita bisa lihat pada perintah ON rsh_motor.id_brand = rsh_brand.id yang artinya
data yang ditampilkan adalah data yang sama dan berhubungan antara id_brand yang
ada pada tabel rsh_motor dengan id pada tabel rsh_brand . Berikut adalah hasil dari Inner
Join tabel.

12
2. Left Join

Selanjutnya adalah Left Join, Left Join merupakan cara menghubungkan tabel dan
menampilkan semua data (kiri) pada tabel yang tidak berhubungan, sedangkan data yang
kosong akan bernilai NULL.

Berikut adalah perintah SQL Left Join.

SELECT​ * ​FROM​ rsh_motor


LEFT​ ​JOIN​ rsh_brand
ON​ rsh_motor.id_brand = rsh_brand.id

Maka hasil dari Left Join tabel akan seperti berikut ini.

3. Right Join

Yang terakhir dari pembahasan ini adalah fungsi Right Join, fungsi ini hampir sama
dengan fungsi Left Join ataupun kebalikannya, dimana Right Join akan menghubungkan
tabel dan menampilkan semua data (kanan) pada tabel yang tidak berhubungan, dan data
yang kosong akan bernilai NULL.

Berikut adalah perintah SQL Right join.

SELECT​ * ​FROM​ rsh_motor


RIGHT​ ​JOIN​ rsh_brand

13
ON​ rsh_motor.id_brand = rsh_brand.id
Maka hasil dari Right Join tabel akan seperti berikut ini.

Mengenai Perbedaan Inner Join, Left Join, Right Join, dsb, intinya dari semua fungsi
diatas bisa dipakai dan hampir sama fungsinya hanya saja tinggal disesuaikan dengan
kebutuhan.

14
Mengakses Database SIMPUS Bontang

Yang perlu dipersiapkan


● Instal aplikasi HeidiSQL
Aplikasi MySQL Client yang powerfull dan mudah digunakan serta bisa mengakses
database mysql secara remote.
Aplikasi bisa di download pada link berikut: ​https://www.heidisql.com/download.php
● Koneksi jaringan
Baik internet atau ​intranet​ yang terhubung ke server simpus masing-masing PKM
● Secangkir kopi ​☕

Koneksi ke DB MySQL Simpus Bontang


Secara default atau bawaan dari SIMPUS Bontang, isi dari username dan password untuk koneksi
MySQL adalah sebagai berikut. Sst, ini rahasia! jangan sampai orang yang tidak berwenang tahu
tentang ini.

Isi konfigurasinya dengan konfigurasi berikut (isian ini hanya contoh):


● Host : 192.168.155.50
● Username : simpus
● Password : supmis

15
Jika sudah berhasil terhubung pilih database yang akan anda query.

Mengenal Database SIMPUS Bontang


Beberapa tabel yang ada di database simpus diantaranya adalah:

16
Beberapa tabel penting yang perlu anda ketahui pada Database SIMPUS Bontang

Tabel Keterangan

keluarga berisi data pasien yang terdaftar

kunjungan berisi data kunjungan pasien

`nama penyakit` berisi data ICDX

poli berisi data pelayanan tiap poli

tindakan berisi data tindakan yang dilakukan pada poli

`tindakan gigi` berisi data tindakan yang dilakukan pada poli gigi

tpoli berisi data master poli yang tersedia untuk PKM tersebut

tperiksafisik berisi data pemeriksaan fisik tiap pasien

tlab berisi data pemeriksaan lab tiap pasien

pendaftaran berisi data pendaftaran pasien

17
Memulai Query

caranya : pilih tab Query pada HeidiSQL

Menampilkan Data Gangguan Pernafasan


Tabel yang dibutuhkan:
● poli
● keluarga
● kunjungan
● rc_kelurahan
Kolom:
● nama
● umur
● alamat
a. RT
b. Kelurahan
● diagnosa
● jenis kelamin
● tgl kunjungan
Kriteria:
● perbulan
● icdx = J06.9, J03.9

Query:
select
kj.id,
kg.mr,
kj.tanggal,
kg.nama,
kg.rt,
kg.sex,
po.icdx,

18
ix.nama ​as​ diagnosa
from​ kunjungan kj
left​ ​join​ keluarga kg ​on​ kj.idmr = kg.id
left​ ​join​ poli po ​on​ kj.id = po.idtanggal
left​ ​join​ rc_icdx ix ​on​ po.icdx = ix.icdx
where​ (kj.tanggal ​between​ ​'2017-11-01'​ ​and​ ​'2018-11-01'​)
and​ po.icdx ​in​(​'J06.9'​, ​'J03.9'​);

Menampilkan Data Usia Produktif


Tabel yang dibutuhkan:
● pendaftaran
● keluarga
● kunjungan
● rc_kelurahan
● rc_kab
● rc_provinsi
Kolom:
● nama
● nik
● umur (15thn-59thn)
● alamat
○ RT
○ Kelurahan
○ provinsi
○ kota
● jenis kelamin
● tgl kunjungan
Kriteria:
● perbulan
● kunjungan = 'B' tahun itu

Query1:
SELECT
kj.id,
kj.tanggal AS tgl_kunjungan,
kg.id as idkel,
kg.mr,
kg.nama,
kg.nik,
kg.rt,
kg.sex,
kg.tgl_lahir,
IF((TIMESTAMPDIFF(DAY, kg.tgl_lahir, NOW()) <= 31), TIMESTAMPDIFF(DAY,
kg.tgl_lahir, NOW()), IF(((TIMESTAMPDIFF(DAY, kg.tgl_lahir, NOW()) > 31) AND
(TIMESTAMPDIFF(MONTH, kg.tgl_lahir, NOW()) < 12)), TIMESTAMPDIFF(MONTH,

19
kg.tgl_lahir, NOW()), TIMESTAMPDIFF(YEAR, kg.tgl_lahir, NOW()))) AS umur,
IF((TIMESTAMPDIFF(DAY, kg.tgl_lahir, NOW()) <= 31), 'hr',
IF(((TIMESTAMPDIFF(DAY, kg.tgl_lahir, NOW()) > 31) AND (TIMESTAMPDIFF(MONTH,
kg.tgl_lahir, NOW()) < 12)), 'bln', 'thn')) AS kategori
FROM kunjungan kj
LEFT JOIN keluarga kg ON kj.idmr = kg.id
WHERE (kj.tanggal BETWEEN '2017-11-01' AND '2017-11-31')
and TIMESTAMPDIFF(YEAR, kg.tgl_lahir, NOW()) between 15 and 59;

Query2:
set​ @​no​=​0​;
select
kj.ID,
kj.tanggal ​as​ tgl_kunjungan,
kj.idmr,
if​((@​no​:=@​no​+​1​)=​1​,​'B'​,​'L'​) ​as​ ​status
from​ kunjungan kj
where​ kj.IDMR = ​'16099'
and​ kj.tanggal ​like​ ​'2018-%'
order​ ​by​ kj.id ​asc​;

Menampilkan Riwayat Kunjungan


Tabel yang dibutuhkan:
● pendaftaran
● keluarga
● kunjungan
Kolom:
● nama
● tgl lahir
● no rm
● nik
● alamat
○ RT
○ Kelurahan
○ provinsi
○ kota
● jenis kelamin
● tgl kunjungan
Kriteria:
● mr
Query:

20
Menampilkan Kunjungan Sesuai Rentang Tanggal
Tabel yang dibutuhkan:
● keluarga
● kunjungan
Kolom: (menyesuaikan)
Kriteria:
● tanggal awal s/d tanggal akhir
● asuransi
● sex
Query:
select
kj.id,
kj.tanggal,
kj.idmr,
kg.nama,
kg.sex,
kg.asuransi,
kg.​`No Kartu`​ ​as no_asuransi,
kg.tgl_lahir,
IF​((​TIMESTAMPDIFF​(​DAY​, kg.tgl_lahir, ​NOW​()) <= ​31​), ​TIMESTAMPDIFF​(​DAY​,
kg.tgl_lahir, ​NOW​()), ​IF​(((​TIMESTAMPDIFF​(​DAY​, kg.tgl_lahir, ​NOW​()) > ​31​) ​AND
(​TIMESTAMPDIFF​(​MONTH​, kg.tgl_lahir, ​NOW​()) < ​12​)), ​TIMESTAMPDIFF​(​MONTH​,
kg.tgl_lahir, ​NOW​()), ​TIMESTAMPDIFF​(​YEAR​, kg.tgl_lahir, ​NOW​()))) ​AS​ umur,
​IF​((​TIMESTAMPDIFF​(​DAY​, kg.tgl_lahir, ​NOW​()) <= ​31​), ​'hr'​,
IF​(((​TIMESTAMPDIFF​(​DAY​, kg.tgl_lahir, ​NOW​()) > ​31​) ​AND​ (​TIMESTAMPDIFF​(​MONTH​,
kg.tgl_lahir, ​NOW​()) < ​12​)), ​'bln'​, ​'thn'​)) ​AS​ kategori,
pd.poli,
ix.icdx,
ix.nama
from​ kunjungan kj
left​ ​join​ keluarga kg ​on​ kj.idmr = kg.id
left​ ​join​ pendaftaran pd ​on​ kj.id = pd.idtanggal
left​ ​join​ poli pl ​on​ kj.id = pl.Idtanggal
left​ ​join​ rc_icdx ix ​on​ pl.Diagnosa = ix.id
where​ kj.tanggal ​between​ ​'2018-10-01'​ ​and​ ​'2018-10-31'
and​ sex = ​'L'
and​ asuransi ​like​ ​'%BPJS%'

21
Kontak pengembang:
wa : 081238353969 an Richad Avianto
email : aviantorich@gmail.com

22

Anda mungkin juga menyukai