Main Logo
  • Home
  • About
  • Kursus
    • Paket Kursus
    • Roadmap Profesi
    • Data & AI
      • Data Analyst
      • Data Scientist
      • AI Engineer
      • Data Engineer
      • Business Intelligence (BI) Specialist
    • Infrastruktur & Keamanan
      • Network Engineer
      • System Engineer
      • DevOps Engineer
      • Security Engineer
      • Cloud Engineer
    • Programming & Web Development
      • Web & App Developer
      • Web Developer
      • WordPress Developer
      • Mobile Developer
    • Spesialisasi
      • Blockchain Engineer
      • IOT Engineer
      • Digital Marketing Specialist
  • Elearning
  • Blog
  • Portfolio
Daftar
Main Logo
  • Home
  • About
  • Kursus
    • Paket Kursus
    • Roadmap Profesi
    • Data & AI
      • Data Analyst
      • Data Scientist
      • AI Engineer
      • Data Engineer
      • Business Intelligence (BI) Specialist
    • Infrastruktur & Keamanan
      • Network Engineer
      • System Engineer
      • DevOps Engineer
      • Security Engineer
      • Cloud Engineer
    • Programming & Web Development
      • Web & App Developer
      • Web Developer
      • WordPress Developer
      • Mobile Developer
    • Spesialisasi
      • Blockchain Engineer
      • IOT Engineer
      • Digital Marketing Specialist
  • Elearning
  • Blog
  • Portfolio

Cara Menjawab Business Question dengan Kombinasi SQL dan Python

  • August 19, 2026
  • oleh Sandya Gifta Ulimaz Sofiamagaski

Kenapa ada data analyst yang hasil kerjanya selalu ditindaklanjuti, sementara yang lain hanya menghasilkan laporan yang berakhir di folder arsip tanpa pernah dibaca?

Jawabannya bukan soal siapa yang lebih jago coding atau siapa yang tahu lebih banyak library. Jawabannya ada di satu kemampuan yang sering diremehkan: kemampuan menghubungkan pertanyaan bisnis dengan data yang tersedia, lalu menyajikan hasilnya dalam bahasa yang dimengerti pengambil keputusan.

Di sinilah kombinasi SQL dan Python masuk sebagai senjata utama. SQL untuk mengambil data yang tepat dari database, Python untuk mengolah dan menyajikannya menjadi insight yang bermakna. Di artikel ini kita akan belajar cara kerjanya langsung dari praktik nyata, bukan sekadar teori.


Mengapa Harus Kombinasi SQL dan Python?

Banyak pemula yang bingung: SQL atau Python, harus pilih yang mana?

Jawabannya, keduanya. Dan bukan karena itu terdengar keren, tapi karena masing-masing punya keunggulan yang berbeda dan saling melengkapi.

SQL adalah bahasa yang dirancang khusus untuk berinteraksi dengan database. Dengan SQL, kamu bisa mengakses, memfilter, menggabungkan, dan meringkas data dari tabel yang berisi jutaan baris dalam hitungan detik. SQL sangat efisien untuk pekerjaan ini karena memang itulah yang dirancang untuknya. Perintah seperti SELECT, WHERE, GROUP BY, dan JOIN adalah alat yang memungkinkan data analyst menarik informasi penting dari database tanpa harus mengunduh semua datanya terlebih dahulu.

Python di sisi lain adalah bahasa pemrograman general yang jauh lebih fleksibel. Dengan library seperti Pandas, kamu bisa melakukan transformasi data yang kompleks. Dengan Matplotlib dan Seaborn, kamu bisa membuat visualisasi yang informatif dan menarik. Dengan Scikit-learn, kamu bahkan bisa masuk ke ranah machine learning. Python mengambil alih di tempat SQL mulai kehabisan kemampuan.

Jadi alur kerjanya jelas: gunakan SQL untuk mengambil dan menyaring data dari database, lalu gunakan Python untuk analisis dan visualisasi yang lebih mendalam. Dua tools ini bersama-sama adalah kombinasi yang dipakai oleh data analyst profesional di hampir semua industri.

Menariknya, menguasai dua tools ini sekaligus juga membuat profilmu sebagai kandidat jauh lebih kuat di mata rekruter. Banyak lowongan data analyst mencantumkan keduanya sebagai persyaratan utama, dan kemampuan mengintegrasikan keduanya dalam satu alur kerja yang mulus adalah nilai tambah yang tidak semua kandidat miliki.


Cara Berpikir Saat Menghadapi Business Question

Sebelum langsung membuka laptop dan menulis kode, ada satu kebiasaan yang membedakan analyst yang efektif dengan yang tidak: memecah pertanyaan bisnis menjadi pertanyaan data yang spesifik dan bisa dijawab.

Misalnya kamu mendapat pertanyaan bisnis seperti ini dari manajemen:

“Kelompok penumpang mana yang memiliki tingkat keselamatan tertinggi?”

Pertanyaan itu terlalu luas untuk langsung dijawab dengan satu query. Kamu perlu memecahnya menjadi pertanyaan-pertanyaan yang lebih kecil dan spesifik

💡 Pecah Business Question Menjadi Pertanyaan Data:

  • Bagaimana tingkat keselamatan berdasarkan kelas tiket?
  • Bagaimana tingkat keselamatan berdasarkan jenis kelamin?
  • Apakah ada perbedaan signifikan antara kombinasi keduanya?
  • Kelompok mana yang punya angka paling mencolok?

Dari satu pertanyaan bisnis, kamu bisa mendapat empat pertanyaan data yang masing-masing bisa dijawab dengan query atau analisis yang spesifik. Inilah cara kerja analyst di lapangan yang sesungguhnya. Kemampuan memecah pertanyaan bisnis menjadi langkah-langkah analisis yang konkret adalah skill yang justru paling sering dicari perusahaan, tapi paling jarang dilatih di bangku belajar.

Kebiasaan ini juga membantu kamu menghindari jebakan umum yang disebut analysis paralysis, yaitu kondisi di mana kamu terlalu bingung harus mulai dari mana sehingga akhirnya tidak menghasilkan apa-apa. Dengan memecah pertanyaan besar menjadi pertanyaan-pertanyaan kecil yang konkret, kamu selalu tahu langkah berikutnya yang harus diambil.


Persiapan: Install Library yang Dibutuhkan

Untuk artikel ini kita akan menggunakan SQLite, database ringan yang bisa langsung dijalankan di Python tanpa perlu install server database terpisah. Ini cara paling mudah untuk berlatih SQL dan Python secara bersamaan di lingkungan lokal.

Buka Command Prompt dan pastikan library berikut sudah terinstall:

pip install pandas matplotlib

SQLite biasanya sudah tersedia sebagai library bawaan Python, jadi kamu tidak perlu install tambahan untuk itu.

Mengapa kita pakai SQLite dan bukan database sungguhan seperti MySQL atau PostgreSQL? Karena untuk keperluan belajar, SQLite jauh lebih praktis. Tidak perlu install server, tidak perlu konfigurasi yang rumit, dan hasilnya tetap sama dari sisi cara penulisan query SQL-nya. Setelah kamu menguasai konsepnya dengan SQLite, berpindah ke database lain hanya tinggal menyesuaikan cara koneksinya saja.


Langkah 1 — Siapkan Database dan Data

Buka Jupyter Notebook dan buat notebook baru. Di sel pertama, kita akan membuat database SQLite sederhana menggunakan dataset Titanic yang sudah familiar:

import pandas as pd
import sqlite3
import matplotlib.pyplot as plt

# Baca dataset Titanic
df = pd.read_csv('C:/Users/acer/Downloads/titanic/train.csv')

# Buat koneksi ke database SQLite
conn = sqlite3.connect('titanic.db')

# Simpan DataFrame ke dalam database sebagai tabel
df.to_sql('penumpang', conn, if_exists='replace', index=False)

print("Database berhasil dibuat!")
print(f"Jumlah data: {len(df)} baris")

Jalankan dengan Shift + Enter.

Dengan kode ini, kita mensimulasikan situasi nyata di mana data sudah tersimpan di dalam database dan kita perlu mengaksesnya menggunakan SQL. Dari titik ini, semua pengambilan data akan dilakukan menggunakan query SQL, bukan langsung dari DataFrame.


Langkah 2 — Jawab Business Question dengan SQL

Sekarang kita simulasikan situasi nyata. Manajemen mengajukan pertanyaan bisnis: “Kelompok penumpang mana yang memiliki tingkat keselamatan tertinggi?”

Kita mulai dari pertanyaan data yang paling dasar dan bertahap ke yang lebih kompleks.

Query 1: Tingkat keselamatan per kelas tiket

query1 = """
SELECT 
    Pclass as Kelas,
    COUNT(*) as Total_Penumpang,
    SUM(Survived) as Jumlah_Selamat,
    ROUND(AVG(Survived) * 100, 1) as Persen_Selamat
FROM penumpang
GROUP BY Pclass
ORDER BY Pclass
"""

hasil1 = pd.read_sql_query(query1, conn)
print("=== Tingkat Keselamatan per Kelas Tiket ===")
print(hasil1)

Perhatikan bagaimana query ini bekerja. Kita menggunakan GROUP BY untuk mengelompokkan data berdasarkan kelas tiket, lalu menghitung jumlah total penumpang, jumlah yang selamat, dan persentasenya. Semua itu dilakukan langsung di level database, jauh lebih efisien dibanding mengunduh semua data lalu menghitungnya di Python.

Query 2: Tingkat keselamatan per jenis kelamin

query2 = """
SELECT 
    Sex as Jenis_Kelamin,
    COUNT(*) as Total_Penumpang,
    SUM(Survived) as Jumlah_Selamat,
    ROUND(AVG(Survived) * 100, 1) as Persen_Selamat
FROM penumpang
GROUP BY Sex
ORDER BY Persen_Selamat DESC
"""

hasil2 = pd.read_sql_query(query2, conn)
print("=== Tingkat Keselamatan per Jenis Kelamin ===")
print(hasil2)

Query 3: Kombinasi kelas tiket dan jenis kelamin

query3 = """
SELECT 
    Pclass as Kelas,
    Sex as Jenis_Kelamin,
    COUNT(*) as Total,
    ROUND(AVG(Survived) * 100, 1) as Persen_Selamat
FROM penumpang
GROUP BY Pclass, Sex
ORDER BY Pclass, Persen_Selamat DESC
"""

hasil3 = pd.read_sql_query(query3, conn)
print("=== Kombinasi Kelas dan Jenis Kelamin ===")
print(hasil3)

Query ketiga ini adalah yang paling menarik karena menggabungkan dua dimensi sekaligus. Dari sini kamu bisa melihat bahwa tidak cukup hanya melihat satu faktor, kombinasi antara kelas dan jenis kelamin menghasilkan gambaran yang jauh lebih lengkap dan kaya informasi. Inilah salah satu kekuatan SQL, kemampuan menggabungkan beberapa dimensi analisis dalam satu query yang ringkas dan efisien. Di dunia kerja nyata, pertanyaan bisnis yang kompleks hampir selalu membutuhkan pendekatan multi-dimensi seperti ini.


Langkah 3 — Olah dan Visualisasikan dengan Python

Data dari SQL sudah kita ambil. Sekarang giliran Python mengambil alih untuk membuat visualisasi yang lebih mudah dipahami oleh semua orang, termasuk yang tidak terbiasa membaca tabel angka.

fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(14, 6))

# Grafik 1: Per kelas tiket
warna_kelas = ['#2ecc71', '#3498db', '#e74c3c']
bars1 = ax1.bar(['Kelas 1', 'Kelas 2', 'Kelas 3'], 
                hasil1['Persen_Selamat'], 
                color=warna_kelas)

for bar in bars1:
    height = bar.get_height()
    ax1.text(bar.get_x() + bar.get_width()/2, height + 0.5,
             f'{height}%', ha='center', fontweight='bold')

ax1.set_title('Tingkat Keselamatan\nper Kelas Tiket', fontsize=13)
ax1.set_ylabel('Persentase Selamat (%)')
ax1.set_ylim(0, 80)

# Grafik 2: Per jenis kelamin
warna_gender = ['#E91E8C', '#2196F3']
bars2 = ax2.bar(['Perempuan', 'Laki-laki'], 
                hasil2['Persen_Selamat'],
                color=warna_gender)

for bar in bars2:
    height = bar.get_height()
    ax2.text(bar.get_x() + bar.get_width()/2, height + 0.5,
             f'{height}%', ha='center', fontweight='bold')

ax2.set_title('Tingkat Keselamatan\nper Jenis Kelamin', fontsize=13)
ax2.set_ylabel('Persentase Selamat (%)')
ax2.set_ylim(0, 100)

plt.suptitle('Analisis Keselamatan Penumpang Titanic', fontsize=15, fontweight='bold')
plt.tight_layout()
plt.savefig('analisis_keselamatan.png', dpi=150, bbox_inches='tight')
plt.show()

Dengan dua baris kode plt.subplots(1, 2), kita bisa menampilkan dua grafik secara berdampingan dalam satu gambar. Ini jauh lebih efisien dan lebih mudah dibandingkan untuk presentasi dibanding dua grafik yang terpisah. Ketika kamu menyajikan laporan kepada manajemen, efisiensi visual seperti ini sangat membantu karena pembaca bisa langsung membandingkan dua temuan sekaligus tanpa harus scroll atau berpindah halaman.


Langkah 4 — Tulis Jawaban Business Question

Setelah data terkumpul dan visualisasi selesai, langkah terakhir dan paling penting adalah menjawab pertanyaan bisnis tadi dalam bahasa yang jelas, singkat, dan mudah dipahami oleh pengambil keputusan yang mungkin tidak punya latar belakang teknis sama sekali.

Di sel Markdown baru di Jupyter, ubah tipe sel ke Markdown lalu ketik:

## Jawaban Business Question

**Pertanyaan:** Kelompok penumpang mana yang memiliki tingkat keselamatan tertinggi?

**Temuan Utama:**
- Penumpang perempuan memiliki tingkat keselamatan 74%, jauh lebih tinggi 
  dibanding laki-laki yang hanya 19%
- Penumpang kelas 1 memiliki tingkat keselamatan 63%, dibanding kelas 3 yang hanya 24%
- Kombinasi tertinggi: perempuan kelas 1 dengan tingkat keselamatan di atas 96%

**Kesimpulan:**
Jenis kelamin dan kelas tiket adalah dua faktor utama yang menentukan 
peluang keselamatan penumpang Titanic. Penumpang perempuan di kelas 1 
memiliki peluang selamat hampir empat kali lipat dibanding laki-laki di kelas 3.

**Rekomendasi:**
Standar keselamatan transportasi modern perlu memastikan akses evakuasi 
yang setara tanpa memandang kelas atau status penumpang.

Kesalahan yang Harus Dihindari

Ada beberapa kebiasaan yang sering membuat hasil analisis kurang efektif, dan ini perlu dihindari sejak awal.

⚠️ Kesalahan yang Harus Dihindari:

  • Langsung nulis kode tanpa memahami pertanyaannya. Banyak orang yang begitu dapat dataset langsung buka Jupyter dan mulai nulis kode tanpa benar-benar memahami apa yang ingin dijawab. Hasilnya, analisis yang panjang tapi tidak menjawab pertanyaan yang sebenarnya.
  • Menjawab pertanyaan dengan angka saja tanpa konteks. Angka 63% tidak bermakna apa-apa tanpa konteks. Selalu beri konteks pada setiap angka yang kamu sajikan.
  • Mengabaikan pertanyaan lanjutan. Analyst yang baik tidak berhenti di satu jawaban, tapi terus menggali lebih dalam sampai benar-benar memahami cerita di balik angka-angka tersebut.

Rangkuman Alur Kerja

Dari praktik di atas, inilah alur kerja yang bisa kamu terapkan setiap kali menghadapi pertanyaan bisnis di dunia kerja nyata:

  • Terima pertanyaan bisnis → Pahami konteksnya, jangan langsung buka laptop
  • Pecah menjadi pertanyaan data → Spesifik, terukur, dan bisa dijawab dengan data
  • Tulis query SQL → Ambil data yang relevan dari database secara efisien
  • Olah dengan Python → Buat visualisasi dan analisis yang lebih mendalam
  • Tulis jawaban → Sampaikan temuan dalam bahasa bisnis yang jelas dan actionable

Kesimpulan

Kemampuan menjawab business question adalah inti dari pekerjaan seorang data analyst. Bukan sekadar bisa menulis query atau menjalankan kode, tapi mampu menghubungkan pertanyaan bisnis dengan data yang tersedia dan menyajikan hasilnya dengan cara yang mendorong keputusan nyata.

Kombinasi SQL dan Python memberikan kekuatan penuh untuk melakukan itu. SQL untuk mengakses dan menyaring data dengan efisien, Python untuk menganalisis dan memvisualisasikannya. Dan yang tidak kalah penting: kemampuan memecah pertanyaan bisnis yang luas menjadi langkah-langkah analisis yang konkret adalah skill yang akan membuat pekerjaanmu selalu relevan dan bernilai di mata perusahaan.

Mulai latih kebiasaan ini dari sekarang. Setiap kali kamu menghadapi dataset, tanya dulu: pertanyaan bisnis apa yang ingin dijawab? Dari situ, segalanya akan menjadi lebih terarah dan hasil kerjamu akan jauh lebih berdampak.

Satu hal yang perlu diingat: skill ini tidak datang dalam semalam. Semakin sering kamu berlatih memecah pertanyaan bisnis dan menjawabnya dengan data nyata, semakin tajam intuisimu dalam memilih query yang tepat, visualisasi yang paling efektif, dan bahasa yang paling mudah dipahami audiensmu. Dan itulah yang pada akhirnya membedakan seorang data analyst yang sekadar bisa mengolah data dengan yang benar-benar memberikan nilai strategis bagi perusahaan tempatnya bekerja.

Penulis : Sandya Gifta Ulimaz Sofiamagaski

Tags: analisis dataBusiness Questiondata analystjupyter notebookmatplotlibpandaspythonsqlSQLitevisualisasi data
Previous Post
Next Post

Post comment

Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • Cara Membersihkan Data Log Jaringan Menggunakan Python
  • Business Question: Cara Menyusun Pertanyaan Data yang Tajam
  • Ostateczna recenzja: Dlaczego warto wybrać kasyno online Vox i zakłady?
  • Pinco: A Unique Twist on Traditional Azerbaijani Dishes
  • Pinco: A Unique Twist on Traditional Azerbaijani Dishes

Arsip

  • August 2026
  • July 2026
  • June 2026
  • April 2026
  • March 2026
  • February 2026
  • January 2026
  • September 2025
  • August 2025
  • July 2025
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
  • February 2018
  • January 2018
  • December 2017
  • November 2017
  • October 2017
  • September 2017
  • August 2017
  • July 2017
  • June 2017
  • May 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
  • October 2016
  • September 2016
  • August 2016
  • July 2016
  • June 2016
  • May 2016
  • April 2016
  • March 2016
  • February 2016
  • January 2016
  • December 2015
  • November 2015
  • October 2015
  • September 2015
  • August 2015
  • July 2015
  • June 2015
  • May 2015
  • April 2015
  • March 2015
  • February 2015
  • January 2015
  • December 2014
  • November 2014
  • October 2014
  • September 2014
  • August 2014
  • July 2014
  • June 2014
  • May 2014
  • April 2014
  • March 2014
  • February 2014
  • January 2014
  • December 2013
  • November 2013
  • October 2013
  • September 2013
  • August 2013
  • July 2013
  • June 2013
  • May 2013
  • April 2013
  • March 2013
  • February 2013
  • January 2013
  • December 2012
  • November 2012
  • October 2012
  • September 2012
  • August 2012
  • July 2012
  • June 2012
  • May 2012
  • April 2012
  • December 2011
  • November 2011

Tags

apache web server dns server kursus android kursus database kursus dns dan web server kursus dns server kursus ethical hacking kursus hacking kursus jaringan kursus jaringan linux Kursus Komputer kursus komputer di solo kursus komputer di solo / surakarta kursus komputer di surakarta kursus linux Kursus Linux Forensics kursus linux networking kursus linux security kursus linux server kursus mikrotik kursus networking kursus network security kursus php Kursus PHP dan MySQL kursus php mysql kursus proxy kursus security kursus ubuntu kursus ubuntu server kursus web kursus web security kursus web server kursus wordpress kursus wordpress theme linux MySQL pelatihan komputer di solo PHP python security training komputer training komputer di solo tutorial php ubuntu wordpress

© Edusoft Center - Kursus Komputer di Solo | 2010 - 2026 | Privacy Policy | Site Map | Portfolio Magang | Butuh tim kami langsung yang mengerjakan? Lihat layanan implementasi →

All Right Reserved

WhatsApp us