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:
- Pada kotak View, pilih Queries
- Pada list box "Which table would you like to use to create your chart?", pilih qry1.
- Tekan Next
- Pindahkan seluruh field yang ada list box di Available Fields ke list box Field for Chart.
- Tekan Next
- Pada pertanyaan "What type of chart would you like?" pilih Column Chart. Kita akan mengubahnya nanti.
- Tekan Next
- Pada pertanyaan "How do you want to lay out the data in your chart?" abaikan dan langsung tekan Next untuk melanjutkan.
- 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.
- 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:
- Pada tab Pattern, Major tick mark type pilih Outside
- Pada tab Scale, Display units, pilih Thousands
- Pada tab Font, atur Size=10, Font style=Regular, matikan/hapus Auto scale di pojok kiri bawah
- Pada tab Number, atur Category=Number, Decimal Places=0, beri tanda centang pada Use 1000 separator (,)
- 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:
- Pada tab Pattern, Major tick mark type pilih Outside
- Pada tab Font, atur Size=10, Font style=Regular, matikan/hapus Auto scale di pojok kiri bawah
- Pada tab Number, atur Category=Number, Decimal Places=0, beri tanda centang pada Use 1000 separator (,)
- Klik OK untuk mengakhiri.
Klik ganda mouse kiri pada sumbu horizontal di bawah untuk menampilkan kotak dialog Format Axis lalu atur sbb:
- Pada tab Pattern, Major tick mark type pilih Outside
- Pada tab Font, atur Size=10, Font style=Regular, matikan/hapus Auto scale di pojok kiri bawah
- Pada tab Number, atur Category=Date, Type=pilih yang formatnya dd-mmm-yy, misalnya 14-Mar-01
- Pada tab Alignment, atur Degrees=45
- 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:
- Pada tab Patterns, atur Border=None
- Pada tab Options, atur Gap Width=10
- 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:
- Pada tab Patterns, atur Size=2 pts
- 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:
- Name=kodeSaham
- Row Source=SELECT STK_CODE FROM Trx2007 GROUP BY STK_CODE ORDER BY STK_CODE;
Text box dengan properti:
- Name=drTanggal
- Validation Rule=>=DMin("STK_DATE","Trx2007")
- Validation Text=Tidak sesuai dengan tanggal terkecil dalam daftar
Text box dengan properti:
- Name=sdTanggal
- Validation Rule=>=[drTanggal]
- Validation Text=Minimum sama dengan Dari Tanggal
Tombol perintah, dengan properti:
- Name=cmdTampilkan
- 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.
Comments
Post a Comment