The Way Of Life: June 2022
Google

Sunday, June 19, 2022

John F Kennedy Airport

John F Kennedy Aiport

Suatu saat saya akan menulis mengenai bandara ini. Kenapa hari ini tanggal 19/06/2022 saya membuat artikel mengenai bandara ini, nanti di artikel / tulisan saya yang lain akan menjawabnya.

Anda bisa melihat bandara ini secara 4k di video di bawah ini




Terima kasih


gambar diambil dari sini


Labels:

Sunday, June 12, 2022

Cara Membuat Query Dengan SQL Server Untuk Visualisasi Data


Kali ini saya akan berbagi tips untuk membuat query / SQL dengan SQL Server agar data yang kita ambil bisa untuk digunakan dalam membuat Visualisasi Data dengan Google Data Studio.

Contoh yang saya gunakan adalah menggunakan database dari program yang dibuat oleh pihak lain bukan database dari program yang kita buat sendiri, meskipun tips ini juga bisa digunakan untuk database yang kita buat sendiri. Dan tentunya akan lebih mudah karena kita akan sangat paham dengan desain database yang kita buat.

Langkah Pertama yaitu  Tentukan data apa saja yang diperlukan.

Contoh : Kita akan membuat visualisasi data untuk grafik nilai pelajaran tiap siswa per kelas dalam 1 tahun ajaran ( Semester 1 dan Semester 2 ) tahun 2021 s/d 2022. Kemudian data apa saja yang perlu kita tampilkan, misal kita memerlukan data nama siswa, nilai, kelas, dan kapan ( tanggal ) nilai tersebut diberikan.

 Langkah kedua yaitu Mapping Data.

Pada sebagian besar program atau aplikasi yang menggunakan database akan menggunakan Relational Database, yang akan menggunakan field primary key untuk menghubungkan data dari tabel satu dengan tabel lainnya. Contoh : pada database program untuk system informasi sekolah kita mempunyai table Siswa yang mempunyai field primary key : kodesiswa, dan kodesiswa akan menjadi foreign key pada table lainnya dan biasanya berulang. Seperti gambar di bawah ini:

 

Primary Key dan Foreign Key

Temukan dan Catat tabel dan field yang diperlukan.

Tips untuk mencari field (primary key) dengan cepat pada database SQL Server anda bisa menggunakan Query / SQL di bawah ini:

 SELECT Table_Name, Column_Name

FROM INFORMATION_SCHEMA.COLUMNS

WHERE TABLE_CATALOG = ‘NamaDatabase’

AND COLUMN_NAME LIKE '%NamaField%'

 Jika tabel dalam database menggunakan schema maka anda perlu membuat Query lagi dengan mencari tabel yang sudah anda temukan pada langkah pertama. Seperti dibawah ini:

 SELECT SCHEMA_NAME(T.SCHEMA_ID) AS SCHEMA_NAME,

       T.NAME AS TABLE_NAME,

       T.CREATE_DATE,

       T.MODIFY_DATE

FROM SYS.TABLES T

WHERE T.NAME LIKE  '%NamaTabel%'

ORDER BY TABLE_NAME;

Setelah selesai menemukan daftar tabel dan field yang anda perlukan adalah:

Langkah ketiga : Membuat Query / SQL

Sebelum anda membuat query / SQL anda perlu mengetahui bagaimana sebuah perintah SQL / Query dijalankan, agar anda dapat membuat query dengan benar dan menghasilkan data yang tepat. 

Berikut ini adalah urutan Proses Query  :

  1. Mengambil Data (FROM, JOIN)
  2. Filter Data (WHERE)
  3. Grouping Data(GROUP BY)
  4. Group Filter (HAVING)
  5. Memilih data yang akan ditampilkan (SELECT)
  6. Mengurutkan Data & Memilah/Membagi data (ORDER BY & LIMIT )

Dari urutan di atas, maka sebuah query akan mengambil data terlebih dahulu dengan mengeksekusi perintah FROM dan JOIN ( jika ada), kemudian mem-filter data yang diambil dengan perintah WHERE dan seterusnya. Artinya memilih tabel kemudian field yang benar adalah hal penting dan utama dalam membuat query, karena jika salah tabel kemudian salah memilih field yang tentu saja pasti salah, maka data yang dihasilkan hanya merupakan data sampah.

Untuk perintah JOIN, anda juga harus paham dengan berbagai tipe JOIN(INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN), karena akan menghasilkan hasil yang berbeda. Anda bisa mempelajarinya di sini dahulu. Karena jika anda tidak paham, ketika ada kesalahan hasil data, anda akan sulit memperbaiki perintah SQL-nya. Anda bisa membayangkan, proses mengambil data ini seperti menambang "emas" dari tumpukan data.

Pada program atau datatabase  yang dibuat oleh pihak lain, meskipun anda diberi akses untuk menjalankan query / SQL biasanya anda tidak diberi akses untuk membuat view atau tabel temporary. Tetapi jika database ini adalah buatan anda sendiri tentu tidak menjadi masalah untuk membuat query yang lebih kompleks. Oleh karena itu yang akan saya bagikan disini adalah membuat query dengan teknik yang sederhana yaitu dengan perintah SELECT, INNER JOIN, WHERE, GROUP BY, CASE. Selain lebih mudah dipahami oleh diri kita sendiri, juga mudah dipahami oleh teman yang lain.

Misal pada Langkah kedua kita sudah mendapatkan tabel dan field yang kita perlukan, misal Tabel : SISWA ( field : KodeSiswa, NamaSiswa ), PELAJARAN( KodePelajaran, NamaPelajaran), TRANSAKSINILAISISWA ( KodeSiswa, , KodePelajaran, Nilai, Tanggal). Gunakan INNER JOIN atau perintah JOIN yang lain untuk menghubungkan antara primary key dan foreign key antar tabel. Untuk ini anda harus paham bagaimana dan dimana aplikasi menyimpan data di tabel dan menggunakan field apa saja. Misal ada field untuk menyimpan status siswa tersebut aktif atau tidak , ini tentu saja harus anda tambahkan dalam query setelah perintah WHERE: misal StatusSiwsa = 1 ( True ).

SELECT NamaSiswa, NamaPelajaran,Nilai, Tanggal

FROM Siswa AA

INNER JOIN TransaksiNilaiSiswa BB on BB.KodeSiswa = AA.KodeSiswa

INNER JOIN Pelajaran CC ON CC.KodePelajaran = BB.KodePelajaran

WHERE BB.Tanggal BETWEEN ‘2021-mm-dd’ AND ‘2022-mm-dd’

Hasil Query di atas akan menghasilkan data seperti di bawah ini , yang bisa digunakan untuk Visualisasi Data pada Goole Data Studio

 

Hasil Query

Salah satu masalah yang sering muncul pada query / SQL menggunakan INNER JOIN adalah munculnya data double. Tentu saja anda harus memahami cara kerja query dan paham koneksi antar data. Solusinya biasanya anda harus mengurangi pengkoneksian data dengan INNER JOIN yang berulang menggunakan primary key atau foreign key yang sama pada tabel yang  berbeda, karena akan memunculkan data yang sama lebih dari satu.
Dan dari sini anda akan mengetahui apakah desain database tersebut dibuat menggunakan teknik normalisasi data atau tidak, karena jika tidak akan timbul banyak redudansi data sehingga andapun akan kesulitan dalam membuat query untuk menghasilkan data yang valid.

Langkah keempat: Cek apakah data hasil dari query sudah valid, untuk langkah ini anda bisa mengecek dengan metode sampling ataupun random cek. Apalagi untuk database yang dibuat oleh pihak lain, anda harus yakin dahulu data yang dihasilkan sudah valid, sehingga anda tidak menarik data sampah dari query yang anda buat. Karena data yang salah akan menghasilkan analisa dan keputusan yang salah.

Pada prakteknya tentu anda harus menggunakan sedikit improvisasi, tetapi menggunakan metode yang sama. Jadi anda harus menguasai inti dari metode ini, sehingga bisa diaplikasikan di berbagai kasus yang berbeda. Di bawah ini saya mencontohkan dengan data yang real sehingga bisa menjadi gambaran yang lebih jelas.

 

Contoh Implementasi


Semoga Bermanfaat.


Software :

Google Data Studio

Microsoft SQL Server 2019

SQL Server Management Studio 18


Labels: , , ,