Dickynd’s Weblog

Just another WordPress.com weblog

Metode Moving Averages dengan C++

Posted by dickynd pada November 30, 2008

Moving average ya kalo diindonesiakan sich kurang lebih artinya adalah rata-rata bergerak, “sorry kalo salah ya coz kurang bisa bahasa inggris sich…hehehe..” merupakan metode standar dan paling sederhana yang kita gunakan, maklum metode ini hanya merupakan pengembangan dari metode rata-rata yang kita telah pelajari tempo doloe…….
Moving average mempunyai beberapa bentuk diantaranya simple moving average, weighted moving average, dan exponential moving average. Tapi dari 3 bentuk yang disebutkan semuanya merupakan metode moving average hanya saja cara untuk merata-ratakannya berbeda. Dan pada kesempatan kali ini saya akan coba membahas tentang simple moving avarege “coz agak gampang sich”
Kegunaan dari metode Simple Moving Average :

  1. Menentukan trend yang akan terjadi
  2. Menentukan titik support dan resistence
  3. Memuluskan indicator yang terlalu bergerigi

Kayaknya udah cukup teorinya nich, langsung masuk ke intinya aja ya….!

Misalnya “kita mempunyai 8 buah data sebuah trend sebuah jenis motor dimana datanya adalah 32, 45, 43, 23, 57, 56, 44, 31 dengan periode simple moving average 3, maka hitunglah simple moving average periode ke 3 ?

tablema

Dari hasil pengerjaan table penyelesaian diatas maka, algoritma dari penyelesaian diatas adalah :

Algoritma

  1. Menentukan berapa banyak data yang akan dihitung simple moving average. Misalnya 8 data
  2. Menginput data-data yang akan dihitung sesuai dengan jumlahnya
  3. Menentukan skala prioritas simple moving averages yang akan dihitung. Misalnya skala prioritas ke-3.
  4. Melakukan perhitungan simple moving average. Misalnya jika skala prioritas tiga maka akan dilakukan penjumlahan data mulai pada data ke-3, kemudian jumlah data yang akan dijumlahkan 3 data dimulai dari data ke 1 ”a+b+c -> b+c+d”, dan rata-ratanya akan dibagi dengan 3.

Deksripsi

  1. Menginisialisasi variabel-variabel yang akan digunakan.
  2. Menginput banyaknya data yang akan digunakan, selain itu banyaknya data juga berfungsi sebagai control/kondisi perulangan. Baca artikel tutorial statement perulangan. → variabel p sebagai variabel untuk menentukan banyak data yang akan digunakan.
  3. Menginput data dengan menggunakan perulangan for agar sesuai dengan banyak data yang dinginkan. → variabel q sebagai variabel yang digunakan untuk perulangan, variabel x[q] sebagai variabel yang menyimpan data sesuai dengan indeks q.
  4. Menentukan skala prioritas yang akan digunakan. → variabel y sebagai variabel skala perioritas simpan nilai y, selain itu y juga berfungsi untuk mengecek apakah penjumlahan data akan dimulai pada data ke berapa, dan variabel s menyimpan nilai y yang berfungsi untuk menjadi standar pembagi.
  5. Melakukan proses perhitungan dengan menggunakan for bersarang, dimana perulangan pertama untuk mengontrol perhitungan berdasarkan jumlah data, sedangkan for yang kedua untuk menjumlah data, tetapi sebelum itu dicek apakah nilai dari q sudah berada pada data ke-3 ”karena prioritas skala 3”, dan apabila bernilai benar maka melakukan perulangan. → variabel q sebagai variabel yang digunakan untuk perulangan dan variabel p sebagai kontrol perulangan. If(q>=y) berfungsi untuk mengecek apakah nilai dari q sudah sama dengan y, disini asumsinya bahwa apabila nilai dari data indeks ke q sudah sama dengan nilai prioritas maka lakukan proses perulangan di dalam perulangan yang diatasnya dan untuk melakukan perhitungan pada data ke 4 maka nilai dari y dinaikkan sehingga untuk masuk dalam proses perulangan nilai y yang akan diseleksi menjadi naik . Untuk proses perhitungan dilakukan dalam perulangan yang berada dalam perulangan, untuk itu disini menggunakan 2 variabel bantu yaitu z dan n untuk mengontrol perulangan dengan perpindahan data yang akan dijumlah berdasarkan nilai dari variabel y dan variabel y sendiri berubah berdasarkan perpindahan data indeks q sedangkan variabel z dinaikkan agar perpindahan nilai dari data berubah dari yang awalnya indeks 1 kemudian akan dimulai indeks 2. contoh ”21 + 23 + 24” indeks 1 dan indeks 2 ”23 + 24 + 26”.
  6. Menjumlah Total dari dari data. → variabel n sebagai variabel yang digunakan untuk perulangan, variabel x[n] sebagai variabel yang menyimpan data sesuai dengan indeks n, menggunakan variabel bantu jum yang akan menjumlah tiap-tiap data dengan rumus jum= jum + x[n] yang berlangsung dalam perulangan.
  7. Menghitung simple moving average. → variabel s sebagai variabel menyimpan nilai y sehingga digunakan untuk membagi jum dengan rumus jum/s setelah proses perhitungan selesai maka akan perhitungan akan belangsung pada indeks q berikutnya namun sebelummnya nilai dari z dan y dinaikkan 1 “rumus z++ y++”, dan merubah/mengset nilai variabel jum kembali 0.

Source Code

listma

Output Program

outputma

Catatan :

“Untuk output diatas diset secara manual sehingga output akan berubah apabila nilai nya berubah, sebenarnya ada beberapa cara untuk mengset input dan output secara otomatis dengan cara manipulasi input dan output comming soon

3 Tanggapan to “Metode Moving Averages dengan C++”

  1. dickynd said

    #Syamsu Rizal

    Mas Paket pesanannya udah jadi, mudah-mudahan ga salah….hehe

    Kalo ada cara atau algoritma “Coz tujuannya sama tapi menggunakan jalan berbeda artinya setiap orang mempunyai cara dan pemikiran berbeda” yang lebih mudah atau masukan kritik dan saran masukkan komentar ya….

  2. wah thankyu banyak mas Dickynd. ana butuh ini for melengkapi TA tentang trend🙂

  3. Budy said

    Mas, Aku butuh Program untuk SImple moving average dan korelasi juga ditampilkan dalam bentuk grafik. Saya juga minta harga untuk pembuatan Program ini. Program ini saya gunakan untuk studi.

    Kalau berminat bisa hubungi email saya.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

 
%d blogger menyukai ini: