Skip to main content

Membuat Grafik Garis dan Batang

Grafik garis dan batang mengkombinasikan garis dan batang dalam satu gambar grafik. Grafik garis dan batang umumnya dibuat untuk mempresentasikan gambaran peristiwa dari waktu ke waktu dalam bentuk trend, bisa detik, menit, harian, mingguan, dan seterusnya.

Ada banyak contoh grafik garis dan batang, misalnya grafik penjualan dalam satuan moneter yang disajikan dalam bentuk garis dan grafik penjualan dalam satuan kuantitas yang disajikan dalam bentuk batang selama satu periode waktu tertentu. Ada juga grafik garis untuk harga saham penutupan per lembar dalam bentuk garis dengan volume saham yang ditransaksikan dalam bentuk batang, seperti yang akan kita buat berikut ini.

Grafik Statis

Sebagai tahap awal, kita coba membuat grafik statis. Grafik statis dibuat dengan tidak menggunakan paramater yang dapat diubah sesuai keinginan. Tujuan pembuatan grafik statis ini semata-mata hanya untuk pembelajaran bagi pemula, bagaimana cara membuat grafik garis dan batang.

Kita akan menggunakan data pergerakan harga saham harian untuk saham AALI (Astra Agro Lestari). Berikut ini adalah potongan gambar dari tabel Trx2007 yang berisi saham AALI dari satu periode waktu tertentu. Tabel Trx2007 itu sendiri dapat didownload dengan mengikuti petunjuk di bagian akhir dari posting ini.

Gambar 1. Tabel Trx2007

Selanjutnya, menggunakan tabel Trx2007, kita membuat query yang disimpan dengan nama qry1. SQL Viewnya adalah sebagai berikut:
SELECT Trx2007.STK_DATE, Trx2007.STK_VOLM, Trx2007.STK_CLOS
FROM Trx2007
WHERE (((Trx2007.STK_DATE)<#2/17/2006#) AND ((Trx2007.STK_CODE)="AALI"))
ORDER BY Trx2007.STK_DATE;
Gambar 2. Chart Control
Langkah pertama adalah membuat sebuah form dengan menggunakan Blank Form. Jika masih berada di Layout View, ubah tampilan form ke Design View. Sisipkan Chart Control dengan mengklik tab Design, grup Controls, dan pilih Chart (lihat Gambar 2). Access akan memandu wizard grafik dengan membuka kotak dialog Chart Wizard dengan spesifikasi sebagai berikut:
  1. Pada kotak View, pilih Queries
  2. Pada list box "Which table would you like to use to create your chart?", pilih qry1.
  3. Tekan Next
  4. Pindahkan seluruh field yang ada list box di Available Fields ke list box Field for Chart.
  5. Tekan Next
  6. Pada pertanyaan "What type of chart would you like?" pilih Column Chart. Kita akan mengubahnya nanti.
  7. Tekan Next
  8. Pada pertanyaan "How do you want to lay out the data in your chart?" abaikan dan langsung tekan Next untuk melanjutkan.
  9. Pada pertanyaan "What title would you like for your chart?" Isikan apa saja terserah. Lalu, pada pertanyaan "Do you want the chart to display a legend?" pilih No, don't display a legend.
  10. Tekan Finish untuk mengakhiri wizard.
Tampilan kasar grafik tampak seperti Gambar 3 di bawah ini. Jangan lupa untuk menyimpan form dengan nama Form2 seperti pada gambar itu. Untuk kontrol grafik yang baru saja dibuat, simpanlah kontrol grafik itu dengan nama Graph1. Kedua nama ini, Form2 dan Graph1 akan digunakan saat membuat grafik dinamis nanti.
Gambar 3. Grafik hasil wizard yang masih kasar
Klik pada bagian grafik dan tampilkan properti grafik seperti gambar di bawah. Ubah properti Row Sourcenya menjadi qry1 seperti tersedia di daftar.
Gambar 4. Mengubah properti Row Source
Klik ganda pada grafik untuk membuka Microsoft Graph Editor
Gambar 5. Microsoft Graph Editor
Klik pada bagian Plot Area, lalu tekan mouse kanan untuk menampilkan menu shortcut dan pilih Chart Type .... seperti Gambar 6 di bawah ini.
Gambar 6. Mengubah tipe grafik ke Line-Column on 2 Axes
Pada jendela Chart Types, klik tab Custom Types dan pilih Line - Column on 2 Axes. Klik OK untuk mengakhiri.

Bila tampilan grafik belum berubah menjadi Line - Column on 2 Axes, maka buka form dalam format Form View, lalu ubah lagi ke Design View dan klik ganda pada grafik untuk membuka kembali Microsoft Graph Editor. Tampilan setelah berubah menjadi Line - Column on 2 Axes ada sebagai berikut:
Gambar 7. Tanpilan kasar grafik garis dan batang
Dengan tampilan seperti di atas, kita dapat memperbaiki design grafik supaya terlihat nyaman di mata. Sumbu vertikal sebelah kiri adalah volume lembar saham yang diperdagangkan, sumbu vertikal sebelah kanan adalah harga per lembar saham dalam rupiah, sedangkan sumbu horizontal adalah tanggal transaksi. Berikut ini, beberapa hal yang berkaitan dengan format design grafik:

Klik ganda mouse kiri pada sumbu vertikal sebelah kiri untuk menampilkan kotak dialog Format Axis lalu atur sbb:
  1. Pada tab Pattern, Major tick mark type pilih Outside
  2. Pada tab Scale, Display units, pilih Thousands
  3. Pada tab Font, atur Size=10, Font style=Regular, matikan/hapus Auto scale di pojok kiri bawah
  4. Pada tab Number, atur Category=Number, Decimal Places=0, beri tanda centang pada Use 1000 separator (,)
  5. Klik OK untuk mengakhiri.
Di sebelah kiri dari sumbu vertikal sebelah kiri akan muncul sebuah kotak label dengan nama Value Axis Display Units Label, nilainya Thousands. Klik di area ini lalu ubahlah nilanya menjadi Volume (Dalam Ribuan). Setelah itu klik ganda mouse kiri pada kotak ini untuk menampilkan kotak dialog Display Unit Labels lalu pada tab Font, atur Size=10, Font style=Regular, matikan/hapus Auto scale di pojok kiri bawah

Klik ganda mouse kiri pada sumbu vertikal sebelah kanan untuk menampilkan kotak dialog Format Axis lalu atur sbb:
  1. Pada tab Pattern, Major tick mark type pilih Outside
  2. Pada tab Font, atur Size=10, Font style=Regular, matikan/hapus Auto scale di pojok kiri bawah
  3. Pada tab Number, atur Category=Number, Decimal Places=0, beri tanda centang pada Use 1000 separator (,)
  4. Klik OK untuk mengakhiri.
Klik ganda mouse kiri pada sumbu horizontal di bawah untuk menampilkan kotak dialog Format Axis lalu atur sbb:
  1. Pada tab Pattern, Major tick mark type pilih Outside
  2. Pada tab Font, atur Size=10, Font style=Regular, matikan/hapus Auto scale di pojok kiri bawah
  3. Pada tab Number, atur Category=Date, Type=pilih yang formatnya dd-mmm-yy, misalnya 14-Mar-01
  4. Pada tab Alignment, atur Degrees=45
  5. Klik OK untuk mengakhiri.
Pindahkan Legend ke bagian bawah grafik, dengan cara mengklik ganda mouse kiri di kotak Legend untuk membuka kotak dialog Format Legend, lalu atur pada tab Patern, Border=None, Area=None. Pada tabe Font, atur Size=10, Font style=Regular, matikan/hapus Auto scale di pojok kiri bawah. Pada tab Placement, pilih Bottom.

Masih dalam Microsoft Graph Editor, tampilan garfik setelah di format ulang adalah sebagai berikut:
Gambar 8. Tampilan grafik setelah diformat
Selanjutnya, kita masuk ke format Plot Area. Klik mouse kanan pada bagian dalam Plot Area untuk menampilkan kotak dialog Format Plot Area, atur Area=None.

Klik ganda pada bagian grafik batang untuk membuka kotak dialog Format Data Series, dan lakukan hal berikut ini:
  1. Pada tab Patterns, atur Border=None
  2. Pada tab Options, atur Gap Width=10
  3. Tekan OK untuk mengakhiri.
Gambar 9. Memformat grafik batang
Klik ganda pada bagian grafik garis untuk membuka kotak dialog Format Data Series, dan lakukan hal berikut ini:
  1. Pada tab Patterns, atur Size=2 pts
  2. Tekan OK untuk mengakhiri.
Tampilan grafik setelah format data series adalah sebagai berikut:
Gambar 10. Tampilan grafik setelah memformat grafik garis dan batang
Selanjutnya, kita menuliskan kode vba sederhana berikut ini pada event Form On Open:
Private Sub Form_Open(Cancel As Integer)
Dim cht As Graph.Chart
Dim chtSeries As Graph.Series
Dim chtLabel As Graph.DataLabel
Dim strSql As String
Dim strSql1 As String
Dim dblMax, dblMin As Double
Dim byAxisTitleSize As Byte

Set cht = Me.Graph0.Object
cht.Activate

cht.HasTitle = True
cht.ChartTitle.Top = cht.Top
cht.ChartTitle.Left = cht.Left
cht.ChartTitle.Font.Size = 16
cht.ChartTitle.Text = "Grafik Harga dan Volume Saham" & " AALI"
If cht.Axes(xlValue, xlSecondary).HasTitle = False Then
cht.Axes(xlValue, xlSecondary).HasTitle = True
cht.Axes(xlValue, xlSecondary).AxisTitle.Font.FontStyle = cht.Axes(xlValue, xlPrimary).DisplayUnitLabel.Font.FontStyle
cht.Axes(xlValue, xlSecondary).AxisTitle.Font.Size = cht.Axes(xlValue, xlPrimary).DisplayUnitLabel.Font.Size
cht.Axes(xlValue, xlSecondary).AxisTitle.Orientation = 90
cht.Axes(xlValue, xlSecondary).AxisTitle.Caption = "Harga per Lembar (Rp)"
cht.PlotArea.Width = cht.ChartArea.Width - 50
End If
End Sub
Form view dari form Form2 saat dibuka akan seperti ini:
Gambar 11. Tampilan akhir grafik statis

Grafik Dinamis

Untuk grafik dinamis, kita menggunakan beberapa kriteria yang dibuat dalam sebuah form. Kita menggunakan form Form2 yang telah dibuat. Bukalah form Form2 dalam format Design View. Lalu, tampilkan bagian Header. Bila belum tahu cara menampilkan Form Header, sorot bagian kosong dari form Form2, lalu klik mouse kanan untuk menampilkan menu shortcut dan pilih Form Header/Footer.

Pada bagian Header ini, sisipkan kontrol berupa:

Combo box dengan properti:
  1. Name=kodeSaham
  2. Row Source=SELECT STK_CODE FROM Trx2007 GROUP BY STK_CODE ORDER BY STK_CODE;
Text box dengan properti:
  1. Name=drTanggal
  2. Validation Rule=>=DMin("STK_DATE","Trx2007")
  3. Validation Text=Tidak sesuai dengan tanggal terkecil dalam daftar
Text box dengan properti:
  1. Name=sdTanggal
  2. Validation Rule=>=[drTanggal]
  3. Validation Text=Minimum sama dengan Dari Tanggal
Tombol perintah, dengan properti:
  1. Name=cmdTampilkan
  2. Caption=Tampilkan
Berikut ini adalah potongan gambar dari Design View bagian Header form Form2.

Gambar 12. Tampilan header pada form Form2


Setelah itu buka query qry1 dalam format SQL View dan kopi SQL berikut ini ke dalamnya dan simpan:
SELECT Trx2007.STK_DATE, Trx2007.STK_VOLM, Trx2007.STK_CLOS
FROM Trx2007
WHERE (((Trx2007.STK_DATE) Between [Forms]![Form2]![drTanggal] And [Forms]![Form2]![sdTanggal]) AND ((Trx2007.STK_CODE)=[Forms]![Form2]![kodeSaham]))
ORDER BY Trx2007.STK_DATE;
Selanjutnya, hapus semua kode VBA yang ada di modul form Form_Form2, dan kopi kode VBA berikut ini ke dalam form Form_Form2:
Option Compare Database
Private Sub cmdTampilkan_Click()
  Dim cht As Graph.Chart
  Dim chtSeries As Graph.Series
  Dim chtLabel As Graph.DataLabel
  Dim strSql As String
  Dim strSql1 As String
  Dim dblMax, dblMin As Double
  Dim byAxisTitleSize As Byte
  
  
  Set cht = Me.Graph0.Object
  cht.Activate
  dblMin = CDbl(DMin("[stk_clos]", "qry1"))
  dblMax = CDbl(DMax("[stk_clos]", "qry1"))
  cht.HasTitle = True
  cht.ChartTitle.Top = cht.Top
  cht.ChartTitle.Left = cht.Left
  cht.ChartTitle.Font.Size = 16
  cht.ChartTitle.Text = "Grafik Harga dan Volume Saham " & Me.kodeSaham
  If cht.Axes(xlValue, xlSecondary).HasTitle = False Then
    cht.Axes(xlValue, xlSecondary).HasTitle = True
    cht.Axes(xlValue, xlSecondary).AxisTitle.Font.FontStyle = cht.Axes(xlValue, xlPrimary).DisplayUnitLabel.Font.FontStyle
    cht.Axes(xlValue, xlSecondary).AxisTitle.Font.Size = cht.Axes(xlValue, xlPrimary).DisplayUnitLabel.Font.Size
    cht.Axes(xlValue, xlSecondary).AxisTitle.Orientation = 90
    cht.Axes(xlValue, xlSecondary).AxisTitle.Caption = "Harga per Lembar (Rp)"
    cht.PlotArea.Width = cht.ChartArea.Width - 50
  End If
  cht.Axes(xlValue, xlSecondary).MinimumScale = dblMin - cht.Axes(xlValue, xlSecondary).MinorUnit
  cht.Axes(xlValue, xlSecondary).MaximumScale = dblMax + cht.Axes(xlValue, xlSecondary).MinorUnit
End Sub
Form Form2 siap digunakan. Bila dibuka dengan format Form View, tampilannya seperti di bawah ini:
Gambar 13. Tampilan grafik dinamis
Pada grafik dinamis ini, kita bisa mengubah kode saham dan periode pergerakan harga saham seperti pada gambar di atas.

Bagi yang ingin mendownload contoh file database untuk membuat grafik garis dan batang, ikuti petunjuk berikut:
  1. Ikuti blog Access Terapan di Facebook dengan mem-follow atau me-like FB page di https://www.facebook.com/AccessTerapan atau follow Google Blog Follower. Bagi yang tidak memfollow, permintaan (request) akan diabaikan.
  2. Setelah itu, kirim email ke admin a.n. yanto.e.subroto@gmail.com untuk memperoleh akses ke Google Drive Access Terapan.
  3. Setelah akses diperoleh, silakan download file zip berikut ini: GrafikGarisDanBatang.zip, yang berisi dua file Access bernama GrafikGarisDanBatangStatis.accdb dan GrafikGarisDanBatangDinamis.accdb.
  4. Selamat mencoba.

Comments

Posting Terpopuler

Normalisasi, Denormalisasi, dan Anomali Database

Membuat Fungsi Untuk Menghitung Pajak Penghasilan PPh 21 di MS Access

Format Untuk Field Dengan Tipe Data Number dan Currency di MS Access