Dari semua jenis grafik yang ada, bar chart adalah yang paling sering muncul di laporan, presentasi, dan dashboard perusahaan. Bukan tanpa alasan. Grafik batang ini punya satu kelebihan yang tidak dimiliki jenis grafik lain: siapa pun yang melihatnya langsung mengerti, tanpa perlu penjelasan tambahan.
Di artikel ini kita akan belajar membuat bar chart menggunakan Python, langsung dari data nyata, dan membuatnya cukup rapi untuk ditampilkan di lingkungan profesional.
Mengapa Bar Chart?
Sebelum masuk ke kode, penting untuk tahu kapan bar chart adalah pilihan yang tepat.
Gunakan bar chart ketika kamu ingin membandingkan nilai antar kategori. Misalnya::
- Berapa penumpang yang selamat di setiap kelas tiket?
- Produk mana yang paling banyak terjual per wilayah?
- Departemen mana yang punya jumlah karyawan terbanyak?
Kalau pertanyaannya mengandung kata “berapa” dan “per kategori”, bar chart hampir selalu jadi jawabannya.
Persiapan
Pastikan library yang dibutuhkan sudah terinstall. Buka Command Prompt dan ketik:
pip install matplotlib pandasLalu buka Jupyter Notebook dan buat notebook baru.
Langkah 1 — Import Library dan Baca Data
Ketik kode berikut di sel pertama:
python
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('C:/Users/acer/Downloads/titanic/train.csv')
df.head()Jalankan dengan Shift + Enter.
Langkah 2 — Bar Chart Pertama
Mulai dari yang paling sederhana dulu. Kita akan melihat berapa jumlah penumpang yang selamat berdasarkan kelas tiket.
python
survival_by_class = df.groupby('Pclass')['Survived'].sum()
plt.bar(['Kelas 1', 'Kelas 2', 'Kelas 3'], survival_by_class.values)
plt.title('Jumlah Penumpang Selamat per Kelas Tiket')
plt.xlabel('Kelas Tiket')
plt.ylabel('Jumlah yang Selamat')
plt.show()Hanya dengan beberapa baris kode, kamu sudah bisa membaca informasi yang sebelumnya tersembunyi di dalam tabel angka.
Langkah 3 — Beri Warna agar Lebih Mudah Dibaca
Grafik satu warna sudah cukup informatif, tapi memberi warna berbeda pada tiap batang membuat perbedaan antar kategori lebih mudah ditangkap secara visual.
python
warna = ['#2ecc71', '#3498db', '#e74c3c']
survival_by_class = df.groupby('Pclass')['Survived'].sum()
plt.bar(['Kelas 1', 'Kelas 2', 'Kelas 3'],
survival_by_class.values,
color=warna)
plt.title('Jumlah Penumpang Selamat per Kelas Tiket')
plt.xlabel('Kelas Tiket')
plt.ylabel('Jumlah yang Selamat')
plt.show()Langkah 4 — Tambahkan Angka di Atas Batang
Ini detail kecil yang sering diabaikan, padahal dampaknya besar. Dengan menampilkan angka langsung di atas batang, pembaca tidak perlu menebak-nebak nilainya dari tinggi grafik.
python
warna = ['#2ecc71', '#3498db', '#e74c3c']
survival_by_class = df.groupby('Pclass')['Survived'].sum()
bars = plt.bar(['Kelas 1', 'Kelas 2', 'Kelas 3'],
survival_by_class.values,
color=warna)
for bar in bars:
height = bar.get_height()
plt.text(bar.get_x() + bar.get_width() / 2, height + 1,
str(int(height)), ha='center', fontweight='bold')
plt.title('Jumlah Penumpang Selamat per Kelas Tiket')
plt.xlabel('Kelas Tiket')
plt.ylabel('Jumlah yang Selamat')
plt.show()Langkah 5 — Versi Horizontal
Kalau nama kategorinya panjang atau jumlahnya banyak, tampilan horizontal lebih nyaman dibaca. Cukup ganti plt.bar() menjadi plt.barh().
python
survival_by_class = df.groupby('Pclass')['Survived'].sum()
plt.barh(['Kelas 1', 'Kelas 2', 'Kelas 3'],
survival_by_class.values,
color=['#2ecc71', '#3498db', '#e74c3c'])
plt.title('Jumlah Penumpang Selamat per Kelas Tiket')
plt.xlabel('Jumlah yang Selamat')
plt.ylabel('Kelas Tiket')
plt.show()Langkah 6 — Simpan sebagai File Gambar
Kalau grafik sudah siap dan ingin disimpan untuk laporan atau presentasi, tambahkan plt.savefig() sebelum plt.show():
python
survival_by_class = df.groupby('Pclass')['Survived'].sum()
bars = plt.bar(['Kelas 1', 'Kelas 2', 'Kelas 3'],
survival_by_class.values,
color=['#2ecc71', '#3498db', '#e74c3c'])
for bar in bars:
height = bar.get_height()
plt.text(bar.get_x() + bar.get_width() / 2, height + 1,
str(int(height)), ha='center', fontweight='bold')
plt.title('Jumlah Penumpang Selamat per Kelas Tiket')
plt.xlabel('Kelas Tiket')
plt.ylabel('Jumlah yang Selamat')
plt.savefig('bar_chart_titanic.png', dpi=150, bbox_inches='tight')
plt.show()File PNG akan tersimpan otomatis di folder yang sama dengan notebook.
Rangkuman Fungsi yang Dipakai:
- plt.bar() → Bar chart vertikal
- plt.barh() → Bar chart horizontal
- plt.title() → Judul grafik
- plt.xlabel() / plt.ylabel() → Label sumbu X dan Y
- plt.text() → Menambahkan angka di atas batang
- plt.savefig() → Menyimpan grafik sebagai file gambar
Kesimpulan
Bar chart adalah salah satu alat visualisasi paling efektif untuk menyampaikan perbandingan data secara cepat dan jelas. Dengan Python dan Matplotlib, membuat grafik yang siap ditampilkan di laporan profesional tidak butuh waktu lama, cukup beberapa baris kode dan sedikit sentuhan pada tampilan visualnya.
Semakin sering kamu berlatih membuat grafik dari data yang berbeda-beda, semakin tajam pula intuisimu dalam memilih visualisasi yang paling tepat untuk setiap situasi.






