
Waktu itu gw pernah mendapat tugas untuk membuat grafik pergerakan harga saham dalam sehari, dikarenakan opensource code yang gw biasa gunakan untuk membuat grafik tidak mumpuni dalam kasus ini maka diputuskan untuk membuat secara manual.
Berikut kronologisnya :
Berikut kronologisnya :
- Penentuan panjang dan lebar dari image yang akan dihasilkan(nilai panjang dimasukan dalam variabel height dan nilai lebar dalam variabel width).
Perlu diingat bahwa dalam layar monitor koodinat x=0 dan y=0 berada pada posisi kiri atas(mungkin yang nantinya perlu sedikit manipulasi untuk penentuan nilai di sumbu Y) - Pembuatan sumbu X dan Y.
Sebelumnya, untuk memberikan jeda horisontal dalam pembuatan grafik maka ditentukan besar jeda tersebut ($jeda_x)
Dalam pembuatan sumbu Y sebesar 400 piksel($width_sumbu_y = 400), maka koordinat yang dibuat akan menjadi ($jeda_x,0,$jeda_x,$width_sumbu_y) note: standard bentuk baku pembuatan garis adalah (nilai_x_awal,nilai_y_awal,nilai_x_akhir,nilai_y_akhir)
Dalam pembuatan sumbu X sebesar 400 piksel($width_sumbu_x = 400), maka koordinat yang dibuat akan menjadi ($jeda_x,$width_sumbu_y,($jeda_x+$width_sumbu_x),$width_sumbu_y). - Pencarian faktor pengali untuk setiap nilai X dan Y
Faktor pengali dipergunakan untuk merepresentasikan nilai dalam grafik, misalnya dimana posisi nilai 5 dalam grafik tersebut.
Mendapatkan faktor pengali sumbu X :
Dalam sumbu X tersebut merepresentasikan setiap detik dari waktu perdagangan saham, jadi nilai dari detik ke berapapun harus bisa di representasikan dalam grafik tersebut. Dalam hal ini jumlah detik perdagangan saham yang buka dari jam 0900 sampai 1600 adalah 25200 detik, maka formulanya akan menjadi : FPx = $width_sumbu_x / 25200
Mendapatkan faktor pengali sumbu Y :
Untuk merepresentasikan nilai pada sumbu Y diperlukan juga faktor pengali, formulanya adalah sebagai berikut : FPy = $width_sumbu_y/$rentang_nilai , misalkan pada sumbu Y ingin ditampilkan nilai dari 500 sampai 1000 maka $rentang_nilai = 1000-500; $rentang_nilai = 500. - Mendapatkan nilai X dan Y untuk setiap nilai
Misalkan didapat nilai saham 550 pada jam 1410
Mencari nilai di sumbu X
Pada intinya di sumbu X kita mencari posisi nilai waktu tersebut. Yang pertama kali kita harus menentukan berapa jumlah detik tersebut yang dihitung mulai dari jam 0000, didapat jam 1410 adalah 51000($jml_detik_dicari) dan jam 0900($jml_detik_buka) adalah 32400.
Jadi nilai di sumbu X adalah : X = $jeda_x + ( $jml_detik_dicari-$jml_detik_buka) * FPx
Mencari nilai di sumbu Y
Untuk mencari nilai di sumbu Y : ($nilai_sumbu_y_dicari - $nilai_awal_sumbu_y) * FPx, $nilai_awal_sumbu_y maksudnya adalah berapa nilai awal pada sumbu Y pada koordinat (0,0), jika pada grafik2 umum yang kita pelajari di sekolah buas
Dikarenakan ada perbedaan pada sumbu Y di layar monitor, pada umumnya sumbu Y positif arahnya keatas sedangkan pada monitor sumbu Y positif arahnya kebawah. Jadi formula untuk mencari nilai Y adalah : Y = $width_sumbu_y - (nilai_sumbu_y_dicari - $nilai_awal_sumbu_y) * FPy
Demikian sekelumit algoritma untuk pembuatan grafik secara manual...semoga saya bisa lebih memahami, dan semoga juga dapat bermanfaat bagi orang lain :-)
thanks to BOS WD & wawaw for this knowledge :-)
Tidak ada komentar:
Posting Komentar