• Tidak ada hasil yang ditemukan

LAMPIRAN L.1. Lampiran 1 Coding Inisialisasi Program

N/A
N/A
Protected

Academic year: 2021

Membagikan "LAMPIRAN L.1. Lampiran 1 Coding Inisialisasi Program"

Copied!
60
0
0

Teks penuh

(1)

LAMPIRAN

Lampiran 1 Coding Inisialisasi Program

using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; using System.Reflection; namespace Skripsi {

static class Program {

public static MainForm FormMain = new MainForm(); public static BGForm FormBG = new BGForm(); public static HMForm FormHM = new HMForm();

public static BGHMForm FormBGHM = new BGHMForm(); public static DBForm FormDB = new DBForm();

public static DB1 FormDB1 = new DB1(); public static DB2 FormDB2 = new DB2(); public static DB3 FormDB3 = new DB3(); public static DB4 FormDB4 = new DB4();

public static DB1_Tambah FormDB1_Tambah = new DB1_Tambah(); public static DB2_Tambah FormDB2_Tambah = new DB2_Tambah(); static void Main()

{ Application.EnableVisualStyles(); FormMain.Show(); System.Windows.Forms.Application.Run(FormMain); } } }

Lampiran 2 Coding Splash Screen

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq;

(2)

using System.Text;

using System.Windows.Forms; namespace Skripsi

{

public partial class SplashScreenForm : Form { double levelOpacity = 0.0; public SplashScreenForm() { InitializeComponent(); }

private void timerAppear_Tick(object sender, EventArgs e) { levelOpacity += 0.05; if (levelOpacity >= 1.00) { levelOpacity = 1.00; this.Opacity = levelOpacity; timerAppear.Stop(); timerProgress.Start(); } this.Opacity = levelOpacity; }

private void timerProgress_Tick(object sender, EventArgs e) { progressBar.Increment(1); if (progressBar.Value == 100) { timerProgress.Stop(); timerDisappear.Start(); } }

private void timerDisappear_Tick(object sender, EventArgs e) { levelOpacity -= 0.05; if (levelOpacity < 0.01) { levelOpacity = 0.0; this.Opacity = levelOpacity; timerDisappear.Stop(); } this.Opacity = levelOpacity;

(3)

}

private void SplashScreenForm_Load(object sender, EventArgs e) {

timerAppear.Start(); }

} }

Lampiran 3 Coding Main Form using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text; using System.Threading; using System.Windows.Forms; using System.IO; namespace Skripsi {

public partial class MainForm : Form {

double levelOpacity = 0.0; ToolTip tooltip = new ToolTip();

#region splash

private void SplashScreen() {

Application.Run(new SplashScreenForm()); }

private void threadSplashStart() {

Thread threadSplashScreenForm = new Thread(new ThreadStart(SplashScreen)); threadSplashScreenForm.Start(); Thread.Sleep(7500); threadSplashScreenForm.Abort(); } #endregion

(4)

private static void createdatabase() {

try {

SqlConnection myConnection = new SqlConnection("Data

Source=.\\SQLEXPRESS;Initial Catalog=master;Integrated Security=True"); string myStr = "CREATE DATABASE [dataskripsi] ON

PRIMARY(NAME = N'Retail',FILENAME = N'c:\\Program Files\\Microsoft SQL

Server\\MSSQL10.SQLEXPRESS\\MSSQL\\DATA\\dataskripsi.mdf',SIZE=204 8KB, FILEGROWTH = 1024KB)LOG ON(NAME =

N'Retail_Log',FILENAME = N'c:\\Program Files\\Microsoft SQL

Server\\MSSQL10.SQLEXPRESS\\MSSQL\\DATA\\dataskripsi.ldf', SIZE = 1024KB, FILEGROWTH = 10%)";

SqlCommand myCommand = new SqlCommand(myStr, myConnection); myConnection.Open(); myCommand.ExecuteNonQuery(); myConnection = new SqlConnection("server=.\\SQLEXPRESS;Integrated security=SSPI;database=dataskripsi"); myConnection.Open(); for (int i = 0; i < 4; i++) {

if (i == 0) {

myStr = "CREATE TABLE Perusahaan(ticker nvarchar(4) primary key not null,namaperusahaan nvarchar(50) not null)";

myCommand = new SqlCommand(myStr, myConnection); }

else if (i == 1) {

myStr = "CREATE TABLE Persen(sukubunga decimal(18,2) not null,yieldaaa decimal(18,2) not null)";

myCommand = new SqlCommand(myStr, myConnection); }

else if (i == 2) {

myStr = "CREATE TABLE Harga(ticker nvarchar(4) not null,tanggal datetime not null,harga decimal(18,2) not null, primary

key(ticker,tanggal), foreign key(ticker) references Perusahaan ON UPDATE CASCADE ON DELETE CASCADE)";

(5)

}

else if (i == 3) {

myStr = "CREATE TABLE Lapkeu(ticker nvarchar(4) not null,tahun int not null,eps decimal(18,2) not null, primary key(ticker,tahun), foreign key(ticker) references Perusahaan ON UPDATE CASCADE ON DELETE CASCADE)";

myCommand = new SqlCommand(myStr, myConnection); } myCommand.ExecuteNonQuery(); } myConnection.Close(); } catch { } } public MainForm() { threadSplashStart(); InitializeComponent(); try { createdatabase(); } catch { } timerAppear.Start(); }

private void MainForm_FormClosed(object sender, EventArgs e) {

Application.Exit(); }

private void MainForm_Load(object sender, EventArgs e) {

label1.Left = (this.Width - label1.Width) / 2; label2.Left = (this.Width - label2.Width) / 2;

(6)

tooltip.AutoPopDelay = 1000; tooltip.InitialDelay = 1000; tooltip.ReshowDelay = 100; tooltip.ShowAlways = true; }

private void timerAppear_Tick(object sender, EventArgs e) { levelOpacity += 0.05; if (levelOpacity >= 1.00) { levelOpacity = 1.00; this.Opacity = levelOpacity; timerAppear.Stop(); } this.Opacity = levelOpacity; }

private void button5_Click(object sender, EventArgs e) {/*

if (MessageBox.Show("Apakah Anda Ingin Keluar Dari Aplikasi?", "Aplikasi", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)

{

MessageBox.Show("Terima Kasih Sudah Menggunakan Aplikasi!", "Aplikasi", MessageBoxButtons.OK, MessageBoxIcon.Information);

timerDisappear.Start(); }*/

timerDisappear.Start(); }

private void timerDisappear_Tick(object sender, EventArgs e) { levelOpacity -= 0.05; if (levelOpacity < 0.01) { levelOpacity = 0.0; this.Opacity = levelOpacity; timerDisappear.Stop(); Application.Exit(); } this.Opacity = levelOpacity; }

(7)

{

tooltip.SetToolTip(button1, "Ini adalah tombol untuk mengakses simulasi Teorema Investasi Nilai yang dikemukakan oleh Benjamin Graham");

button1.Image =

((System.Drawing.Image)(Properties.Resources.bg_hover)); }

private void button2_MouseHover(object sender, EventArgs e) {

tooltip.SetToolTip(button2, "Ini adalah tombol untuk mengakses simulasi Teorema Portofolio Modern yang dikemukakan oleh Harry Markowitz");

button2.Image =

((System.Drawing.Image)(Properties.Resources.simulasi_teorema_hm_hover)); }

private void button3_MouseHover(object sender, EventArgs e) {

tooltip.SetToolTip(button3, "Ini adalah tombol untuk mengakses

kombinasi simulasi Teorema Investasi Nilai dan Teorema Portofolio Modern"); button3.Image =

((System.Drawing.Image)(Properties.Resources.kombine_hover)); }

private void button4_MouseHover(object sender, EventArgs e) {

tooltip.SetToolTip(button4, "Ini adalah tombol untuk mengakses database");

button4.Image =

((System.Drawing.Image)(Properties.Resources.database_hover)); }

private void button5_MouseHover(object sender, EventArgs e) {

tooltip.SetToolTip(button5, "Ini adalah tombol untuk keluar dari aplikasi");

}

private void button1_Click(object sender, EventArgs e) {

Program.FormMain.Hide(); Program.FormBG.Show();

}

private void button2_Click(object sender, EventArgs e) {

(8)

Program.FormHM.Show(); }

private void button3_Click(object sender, EventArgs e) {

Program.FormMain.Hide(); Program.FormBGHM.Show(); }

private void button4_Click(object sender, EventArgs e) {

Program.FormMain.Hide(); Program.FormDB.Show(); }

private void button5_MouseClick(object sender, MouseEventArgs e) {

this.button5.FlatAppearance.BorderSize = 0;

this.button5.FlatAppearance.BorderColor = Color.White; }

private void button2_MouseLeave(object sender, EventArgs e) {

button2.Image =

((System.Drawing.Image)(Properties.Resources.simulasi_teorema_hm)); }

private void button4_MouseLeave(object sender, EventArgs e) {

button4.Image =皜

((System.Drawing.Image)(Properties.Resources.database)); }

private void button3_MouseLeave(object sender, EventArgs e) {

button3.Image =

((System.Drawing.Image)(Properties.Resources.kombine)); }

private void button1_MouseLeave(object sender, EventArgs e) {

button1.Image = ((System.Drawing.Image)(Properties.Resources.bg)); }

} }

(9)

Lampiran 4 Coding BG Form using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Skripsi {

public partial class BGForm : Form {

ToolTip tooltip = new ToolTip(); public BGForm()

{

InitializeComponent(); }

int banyakperusahaan = 0;

decimal bungabank, bungaobligasi;

void jumlahperusahaan() {

SqlConnection myConnection = new SqlConnection("Data Source=.\\sqlexpress;Initial Catalog=dataskripsi;Integrated

Security=True;Pooling=False");

SqlCommand myCommand = new SqlCommand("select * from perusahaan", myConnection);

myConnection.Open();

SqlDataReader dataReader = myCommand.ExecuteReader();

while (dataReader.Read()) { banyakperusahaan++; } myConnection.Close(); }

(10)

public struct Perusahaan {

public string namaperusahaan; public int jumlaheps;

public decimal[] eps; public int[] tahun; public decimal[] NI; }

void isinamaperusahaan(Perusahaan[] x) {

SqlConnection myConnection = new SqlConnection("Data Source=.\\sqlexpress;Initial Catalog=dataskripsi;Integrated

Security=True;Pooling=False");

SqlCommand myCommand = new SqlCommand("select * from perusahaan", myConnection);

myConnection.Open();

SqlDataReader dataReader = myCommand.ExecuteReader(); int loop = 0; while (dataReader.Read()) { x[loop].namaperusahaan = dataReader["ticker"].ToString(); loop++; } } void isijumlaheps(Perusahaan[] x) {

SqlConnection myConnection = new SqlConnection("Data Source=.\\sqlexpress;Initial Catalog=dataskripsi;Integrated

Security=True;Pooling=False"); SqlCommand myCommand; SqlDataReader dataReader; int jumlahtransaksi = 0;

for (int awal = 0; awal < banyakperusahaan; awal++) {

myCommand = new SqlCommand("select * from lapkeu where ticker like '" + x[awal].namaperusahaan + "'", myConnection);

myConnection.Open();

dataReader = myCommand.ExecuteReader(); jumlahtransaksi = 0;

(11)

while (dataReader.Read()) { jumlahtransaksi++; } x[awal].jumlaheps = jumlahtransaksi; dataReader.Close(); myConnection.Close(); } } void inisialisasi(Perusahaan[] x) {

for (int awal = 0; awal < banyakperusahaan; awal++) {

x[awal].eps = new decimal[x[awal].jumlaheps]; x[awal].tahun = new int[x[awal].jumlaheps]; x[awal].NI = new decimal[x[awal].jumlaheps]; }

}

void isistruct(Perusahaan[] x) {

SqlConnection myConnection = new SqlConnection("Data Source=.\\sqlexpress;Initial Catalog=dataskripsi;Integrated Security=True;Pooling=False"); SqlCommand myCommand; SqlDataReader dataReader; int loop = 0;

for (int awal = 0; awal < banyakperusahaan; awal++) {

myCommand = new SqlCommand("select * from lapkeu where ticker like '" + x[awal].namaperusahaan + "'", myConnection);

myConnection.Open(); dataReader = myCommand.ExecuteReader(); loop = 0; while (dataReader.Read()) { x[awal].tahun[loop] = Convert.ToInt16(dataReader["tahun"].ToString()); x[awal].eps[loop] = Convert.ToDecimal(dataReader["eps"].ToString()); loop++;

(12)

} dataReader.Close(); myConnection.Close(); } } void hitungNI(Perusahaan[] x) { bungabank = 0; bungaobligasi = 0;

SqlConnection myConnection = new SqlConnection("Data Source=.\\sqlexpress;Initial Catalog=dataskripsi;Integrated

Security=True;Pooling=False"); SqlCommand myCommand; SqlDataReader dataReader;

myCommand = new SqlCommand("select * from persen", myConnection); myConnection.Open(); dataReader = myCommand.ExecuteReader(); while (dataReader.Read()) { bungabank = Convert.ToDecimal(dataReader["sukubunga"].ToString()); bungaobligasi = Convert.ToDecimal(dataReader["yieldaaa"].ToString()); } myConnection.Close(); int loop = 0;

while (loop < banyakperusahaan) {

for (int i = 0; i < x[loop].jumlaheps; i++) {

x[loop].NI[i] = (x[loop].eps[i] * (Convert.ToDecimal(8.5) + 24) * bungabank )/ bungaobligasi; x[loop].NI[i] = decimal.Round(x[loop].NI[i], 0); } loop++; } }

(13)

{

DataTable table = new DataTable(); table.Columns.Add("1", typeof(string)); table.Columns.Add("2", typeof(string)); table.Columns.Add("3", typeof(string)); table.Columns.Add("4", typeof(string)); table.Columns.Add("5", typeof(string)); table.Columns.Add("6", typeof(string)); return table; }

void tampilkan(Perusahaan[] x,DataTable table) { int loop = 0; int jumlahtransaksi = 0; int temporary = 0; decimal lastprice = 0; decimal persentage = 0; string percent = ""; int baris = 0; table.Rows.Add("Ticker", "Tahun",

"EPS", "Nilai Intrinsik", "Harga Terakhir","Selisih"); dataGridView1.Rows[baris].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;

baris++;

while (loop < banyakperusahaan) {

SqlConnection myConnection = new SqlConnection("Data Source=.\\sqlexpress;Initial Catalog=dataskripsi;Integrated Security=True;Pooling=False"); SqlCommand myCommand; SqlDataReader dataReader; jumlahtransaksi = 0; lastprice = 0; persentage = 0; percent = ""; temporary = 0; #region a

myCommand = new SqlCommand("select * from harga where ticker like '" + x[loop].namaperusahaan + "'", myConnection);

myConnection.Open();

(14)

while (dataReader.Read()) { jumlahtransaksi++; } dataReader.Close(); myConnection.Close(); #endregion #region b //part 2

myCommand = new SqlCommand("select * from harga where ticker like '" + x[loop].namaperusahaan + "'", myConnection);

myConnection.Open(); dataReader = myCommand.ExecuteReader(); while (dataReader.Read()) { if (temporary == jumlahtransaksi - 1) { lastprice = Convert.ToDecimal(dataReader["harga"].ToString()); persentage = (x[loop].NI[x[loop].jumlaheps - 1] - lastprice) / 皜 lastprice;

persentage = decimal.Round(persentage,4); persentage = persentage * 100;

percent = persentage.ToString();

percent = percent.Substring(0, percent.IndexOf(".") + 3) + " %"; } else temporary++; } dataReader.Close(); myConnection.Close(); #endregion table.Rows.Add(x[loop].namaperusahaan.ToString(), x[loop].tahun[x[loop].jumlaheps-1].ToString(), x[loop].eps[x[loop].jumlaheps - 1].ToString(), x[loop].NI[x[loop].jumlaheps - 1].ToString(), lastprice.ToString(), percent.ToString()); dataGridView1[1, baris].Style.Alignment = DataGridViewContentAlignment.MiddleCenter; dataGridView1[2, baris].Style.Alignment = DataGridViewContentAlignment.MiddleRight;

(15)

dataGridView1[3, baris].Style.Alignment = DataGridViewContentAlignment.MiddleRight; dataGridView1[4, baris].Style.Alignment = DataGridViewContentAlignment.MiddleRight; dataGridView1[5, baris].Style.Alignment = DataGridViewContentAlignment.MiddleRight; baris++; loop++; } }

private void BGForm_Load(object sender, EventArgs e) {

//label1.Left = (this.Width - label1.Width) - (button1.Left-label1.Width) - 35; tooltip.AutoPopDelay = 1000; tooltip.InitialDelay = 500; tooltip.ReshowDelay = 100; tooltip.ShowAlways = true; jumlahperusahaan();

Perusahaan[] perusahaan = new Perusahaan[banyakperusahaan]; isinamaperusahaan(perusahaan);

isijumlaheps(perusahaan); inisialisasi(perusahaan); isistruct(perusahaan); hitungNI(perusahaan);

DataTable table = GetTable(banyakperusahaan, perusahaan); dataGridView1.DataSource = table; dataGridView1.ColumnHeadersVisible = false; dataGridView1.RowHeadersVisible = false; tampilkan(perusahaan,table); }

private void button1_Click(object sender, EventArgs e) {

Program.FormBG.Hide(); Program.FormMain.Show();

}

private void button1_MouseHover(object sender, EventArgs e) {

(16)

tooltip.SetToolTip(button1, "Ini adalah tombol untuk kembali ke menu utama");

button1.Image =

((System.Drawing.Image)(Properties.Resources.kembali_hover)); }

private void button1_MouseLeave(object sender, EventArgs e) {

button1.Image =

((System.Drawing.Image)(Properties.Resources.kembali)); }

public string[] NULL { get; set; } }

}

Lampiran 5 Coding HM Form using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Skripsi {

public partial class HMForm : Form {

ToolTip tooltip = new ToolTip(); public HMForm()

{

InitializeComponent(); }

private void button1_Click(object sender, EventArgs e) {

Program.FormHM.Hide(); Program.FormMain.Show(); }

(17)

int banyakperusahaan = 0; int baris;

int kolom;

void jumlahperusahaan() {

SqlConnection myConnection = new SqlConnection("Data Source=.\\sqlexpress;Initial Catalog=dataskripsi;Integrated

Security=True;Pooling=False");

SqlCommand myCommand = new SqlCommand("select * from perusahaan", myConnection);

myConnection.Open();

SqlDataReader dataReader = myCommand.ExecuteReader(); while (dataReader.Read()) { banyakperusahaan++; } myConnection.Close(); }

public struct DataPerusahaan {

public string namaperusahaan; public int jumlahtransaksiharian; public string[] tanggaltransaksiharian; public string[] hargatransaksiharian; public string[] returntransaksiharian; public decimal expectedreturn; public decimal varians;

public decimal standarddeviation; public decimal[] kovarian;

public decimal[] korelasi; public decimal[] porsi; public string[] coleration; public string[] proporsi; public string[] covarian; }

#region fungsi

void isistringnamaperusahaan(DataPerusahaan[] x) {

(18)

SqlConnection myConnection = new SqlConnection("Data Source=.\\sqlexpress;Initial Catalog=dataskripsi;Integrated

Security=True;Pooling=False");

SqlCommand myCommand = new SqlCommand("select * from perusahaan", myConnection);

myConnection.Open();

SqlDataReader dataReader = myCommand.ExecuteReader(); int loop = 0; while (dataReader.Read()) { x[loop].namaperusahaan = dataReader["ticker"].ToString(); loop++; } } void isijumlahtransaksiharianperusahaan(DataPerusahaan[] x) {

SqlConnection myConnection = new SqlConnection("Data Source=.\\sqlexpress;Initial Catalog=dataskripsi;Integrated

Security=True;Pooling=False"); SqlCommand myCommand; SqlDataReader dataReader; int jumlahtransaksi = 0;

for (int awal = 0; awal < banyakperusahaan; awal++) {

myCommand = new SqlCommand("select * from harga where ticker like '" + x[awal].namaperusahaan + "'", myConnection);

myConnection.Open(); dataReader = myCommand.ExecuteReader(); jumlahtransaksi = 0; while (dataReader.Read()) { jumlahtransaksi++; } x[awal].jumlahtransaksiharian = jumlahtransaksi; dataReader.Close(); myConnection.Close(); } }

(19)

void

inisialisasitanggaldanhargatransaksiharianperusahaan(DataPerusahaan[] x) {

for (int awal = 0; awal < banyakperusahaan; awal++) { x[awal].tanggaltransaksiharian = new string[x[awal].jumlahtransaksiharian]; x[awal].hargatransaksiharian = new string[x[awal].jumlahtransaksiharian]; x[awal].returntransaksiharian = new string[x[awal].jumlahtransaksiharian]; } } void isitanggaltransaksiharianperusahaan(DataPerusahaan[] x) {

SqlConnection myConnection = new SqlConnection("Data Source=.\\sqlexpress;Initial Catalog=dataskripsi;Integrated Security=True;Pooling=False"); SqlCommand myCommand; SqlDataReader dataReader; int loop = 0; string temporary = ""; string modification = "";

for (int awal = 0; awal < banyakperusahaan; awal++) {

myCommand = new SqlCommand("select * from harga where ticker like '" + x[awal].namaperusahaan + "'", myConnection);

myConnection.Open(); dataReader = myCommand.ExecuteReader(); loop = 0; while (dataReader.Read()) { temporary = ""; temporary = dataReader["tanggal"].ToString(); if (temporary.Substring(0, 10).Contains(" ")) { if (temporary.Substring(0, 2).Contains("/")) { modification = "0"; }

modification = modification + temporary.Substring(0, 2); if (temporary.Substring(2, 2).Contains("/"))

{

(20)

}

modification = modification + temporary.Substring(2, 7); x[awal].tanggaltransaksiharian[loop] = modification; } else { x[awal].tanggaltransaksiharian[loop] = temporary.Substring(0, 10); } loop++; } dataReader.Close(); myConnection.Close(); } } void isihargatransaksiharianperusahaan(DataPerusahaan[] x) {

SqlConnection myConnection = new SqlConnection("Data Source=.\\sqlexpress;Initial Catalog=dataskripsi;Integrated Security=True;Pooling=False"); SqlCommand myCommand; SqlDataReader dataReader; int loop = 0; string temporary = "";

for (int awal = 0; awal < banyakperusahaan; awal++) {

myCommand = new SqlCommand("select * from harga where ticker like '" + x[awal].namaperusahaan + "'", myConnection);

myConnection.Open(); dataReader = myCommand.ExecuteReader(); loop = 0; while (dataReader.Read()) { temporary = ""; temporary = dataReader["harga"].ToString(); x[awal].hargatransaksiharian[loop] = temporary; loop++; } dataReader.Close(); myConnection.Close(); } }

(21)

void isireturntransaksiharianperusahaan(DataPerusahaan[] x) {

decimal temporary; string temporary2; int a;

for (int awal = 0; awal < banyakperusahaan; awal++) {

a = x[awal].jumlahtransaksiharian - 31;

for (int akhir = a; akhir < x[awal].jumlahtransaksiharian; akhir++) { temporary = 0; temporary2 = ""; if (akhir == 0) { x[awal].returntransaksiharian[akhir] = null; } else { temporary = (Convert.ToDecimal(x[awal].hargatransaksiharian[akhir])-Convert.ToDecimal(x[awal].hargatransaksiharian[akhir-1])) / Convert.ToDecimal(x[awal].hargatransaksiharian[akhir-1]); if (temporary == 0) { temporary2 = "0.000000";

x[awal].returntransaksiha皜ian[akhir] = temporary2; } else { if (temporary < 0) { if (temporary.ToString().Length > 8) { temporary2 = temporary.ToString().Substring(0, 9); }

else temporary2 = temporary.ToString().Substring(0, temporary.ToString().Length); x[awal].returntransaksiharian[akhir] = temporary2; } else if (temporary > 0) { if (temporary.ToString().Length > 8) { temporary2 = temporary.ToString().Substring(0, 8);

(22)

}

else temporary2 = temporary.ToString().Substring(0, temporary.ToString().Length) ; x[awal].returntransaksiharian[akhir] = temporary2; } } } } } }

static DataTable GetTable(int jumlah, DataPerusahaan[] x) {

DataTable table = new DataTable();

table.Columns.Add("Tanggal", typeof(string)); for (int i = 0; i < jumlah; i++)

{

table.Columns.Add(x[i].namaperusahaan, typeof(string)); }

return table; }

static DataTable GetTable2(int jumlah, DataPerusahaan[] x) {

DataTable table = new DataTable();

table.Columns.Add("Ticker", typeof(string)); for (int i = 0; i < jumlah; i++)

{ table.Columns.Add(x[i].namaperusahaan, typeof(string)); } return table; }

void isitable(DataTable table,DataPerusahaan[] x) {

int temporary = x[0].jumlahtransaksiharian;

for (int awal = x[0].jumlahtransaksiharian - 32 ; awal < temporary; awal++)

(23)

{ table.Rows.Add(x[0].tanggaltransaksiharian[awal], x[0].returntransaksiharian[awal], x[1].returntransaksiharian[awal], x[2].returntransaksiharian[awal], x[3].returntransaksiharian[awal], x[4].returntransaksiharian[awal], x[5].returntransaksiharian[awal], x[6].returntransaksiharian[awal], x[7].returntransaksiharian[awal], x[8].returntransaksiharian[awal]); } }

void isiexpectedreturn(DataTable table, DataPerusahaan[] x) {

int loop = 0; int loop2 = 0; int posisi = 0;

decimal[] expectedreturn = new decimal[banyakperusahaan]; while (loop < banyakperusahaan)

{ loop2 = 0; expectedreturn[loop] = 0; posisi = x[loop].jumlahtransaksiharian - 1; while (loop2 != 31) { expectedreturn[loop] += Convert.ToDecimal(x[loop].returntransaksiharian[posisi]); posisi--; loop2++; } expectedreturn[loop] /= 31; expectedreturn[loop] = Convert.ToDecimal(expectedreturn[loop].ToString().Substring(0,8)); x[loop].expectedreturn = expectedreturn[loop]; loop++; }/*

table.Rows.Add("Expected Return", expectedreturn[0].ToString(), expectedreturn[1].ToString(), expectedreturn[2].ToString()

, expectedreturn[3].ToString(), expectedreturn[4].ToString(), expectedreturn[5].ToString(), expectedreturn[6].ToString()

, expectedreturn[7].ToString(), expectedreturn[8].ToString());*/ }

vo皜d isivarian(DataTable table, DataPerusahaan[] x) {

(24)

int loop = 0; int loop2 = 0; int posisi = 0;

decimal variansi1 = 0;

decimal[] variansi2 = new decimal[banyakperusahaan]; decimal variansi3 = 0;

double standard = 0;

while (loop < banyakperusahaan) { loop2 = 0; posisi = x[loop].jumlahtransaksiharian - 1; variansi1 = 0; variansi2[loop] = 0; standard = 0; while (loop2 != 31) { variansi1 = Convert.ToDecimal(x[loop].returntransaksiharian[posisi]) - x[loop].expectedreturn;

variansi1 = variansi1 * variansi1;

variansi3 = Convert.ToDecimal(variansi1.ToString().Substring(0, 8));

variansi2[loop] = variansi2[loop] + variansi3; //MessageBox.Show(variansi1.ToString()); //MessageBox.Show(variansi2[loop].ToString()); //variansi2[loop] = Convert.ToDecimal(variansi2.ToString().Substring(0, 8)); posisi--; loop2++; variansi1 = 0; variansi3 = 0; } variansi2[loop] = variansi2[loop] / 31; variansi2[loop] = Convert.ToDecimal(variansi2[loop].ToString().Substring(0, 8)); x[loop].varians = variansi2[loop]; standard = Math.Sqrt(Convert.ToDouble(variansi2[loop])); x[loop].standarddeviation = Convert.ToDecimal(standard.ToString().Substring(0,8)); loop++; } /*

(25)

table.Rows.Add("Variansi", x[0].varians.ToString(), x[1].varians.ToString(), x[2].varians.ToString()

, x[3].varians.ToString(), x[4].varians.ToString(), x[5].varians.ToString(), x[6].varians.ToString()

, x[7].varians.ToString(), x[8].varians.ToString());

table.Rows.Add("Deviasi Standar", x[0].standarddeviation.ToString(), x[1].standarddeviation.ToString(), x[2].standarddeviation.ToString() , x[3].standarddeviation.ToString(), x[4].standarddeviation.ToString(), x[5].standarddeviation.ToString(), x[6].standarddeviation.ToString() , x[7].standarddeviation.ToString(), x[8].standarddeviation.ToString()); */ }

void isidatagridview2(DataTable table, DataPerusahaan[] x) {

int loop = 0; int temp = 0;

decimal[] persentase = new decimal[banyakperusahaan]; string ticker = "";

int[] porsi = new int[banyakperusahaan]; while (loop < banyakperusahaan)

{

temp = loop;

for (int i = 0; i < banyakperusahaan; i++) { if (i == temp) { persentase[i] = 0; } else { persentase[i] = x[i].standarddeviation/(x[i].standarddeviation+x[loop].standarddeviation); persentase[i] = decimal.Round(persentase[i],1); } if (persentase[i].ToString() == "0.1") { porsi[i] = 10; } else if (persentase[i].ToString() == "0.2") { porsi[i] = 20; }

(26)

else if (persentase[i].ToString() == "0.3") { porsi[i] = 30; } else if (persentase[i].ToString() == "0.4") { porsi[i] = 40; } else if (persentase[i].ToString() == "0.5") { porsi[皜] = 50; } else if (persentase[i].ToString() == "0.6") { porsi[i] = 60; } else if (persentase[i].ToString() == "0.7") { porsi[i] = 70; } else if (persentase[i].ToString() == "0.8") { porsi[i] = 80; } else if (persentase[i].ToString() == "0.9") { porsi[i] = 90; } } ticker = x[loop].namaperusahaan; table.Rows.Add(ticker, porsi[0].ToString() + " : " + (100 - porsi[0]).ToString(), porsi[1].ToString() + " : " + (100 - porsi[1]).ToString(), porsi[2].ToString() + " : " + (100 - porsi[2]).ToString(), porsi[3].ToString() + " : " + (100 - porsi[3]).ToString(), porsi[4].ToString() + " : " + (100 - porsi[4]).ToString(), porsi[5].ToString() + " : " + (100 - porsi[5]).ToString(), porsi[6].ToString() + " : " + (100 - porsi[6]).ToString(), porsi[7].ToString() + " : " + (100 - porsi[7]).ToString(), porsi[8].ToString() + " : " + (100 - porsi[8]).ToString() ); loop++; }

(27)

}

#endregion

void isikovariankorelasiporsi(DataTable table, DataPerusahaan[] x) {

for (int i = 0; i < banyakperusahaan; i++) {

x[i].kovarian = new decimal[banyakperusahaan]; x[i].korelasi = new decimal[banyakperusahaan]; x[i].porsi = new decimal[banyakperusahaan]; x[i].proporsi = new string[banyakperusahaan]; x[i].coleration = new string[banyakperusahaan]; x[i].covarian = new string[banyakperusahaan]; }

int loop = 0; int looping = 0;

int posisi = x[0].jumlahtransaksiharian - 1; //MessageBox.Show(posisi.ToString()); decimal tampung,tampung2 = 0;

decimal banding1, banding2, banding3 = 0; decimal weight1 = 0;

table.Rows.Add("Kovarian", x[0].namaperusahaan, x[1].namaperusahaan,

x[2].namaperusahaan,

x[3].namaperusahaan, x[4].namaperusahaan, x[5].namaperusahaan, x[6].namaperusahaan, x[7].namaperusahaan, x[8].namaperusahaan);

//tambahkan 1 baris baris++;

while (loop < banyakperusahaan) {

for (int j = 0; j < banyakperusahaan; j++) { looping = 0; posisi = x[loop].jumlahtransaksiharian - 1; tampung = 0; tampung2 = 0; while (looping != 31) {

(28)

tampung = (Convert.ToDecimal(x[loop].returntransaksiharian[posisi]) - x[loop].expectedreturn) * (Convert.ToDecimal(x[j].returntransaksiharian[posisi]) - x[j].expectedreturn); tampung2 += tampung; posisi--; looping++; } x[loop].kovarian[j] = decimal.Round((tampung2 / 31), 5); x[loop].korelasi[j] = decimal.Round((x[loop].kovarian[j]/(x[loop].standarddeviation*x[j].standarddevi ation)),1); weight1 = (Convert.ToDecimal(Math.Pow(Convert.ToDouble(x[j].standarddeviation),2)) - (x[loop].korelasi[j] * x[loop].standarddeviation * x[j].standardd皜viation)) / (Convert.ToDecimal(Math.Pow(Convert.ToDouble(x[loop].standarddeviation),2 )) + Convert.ToDecimal(Math.Pow(Convert.ToDouble(x[j].standarddeviation),2)) - (x[loop].korelasi[j] * x[loop].standarddeviation * x[j].standarddeviation)); x[loop].porsi[j] = decimal.Round(weight1, 2); if (loop > j) { x[loop].porsi[j] = 0; } if (x[loop].porsi[j] != 0) { x[loop].proporsi[j] = Convert.ToString(x[loop].porsi[j] * 100).Substring(0,2) + "% " + x[loop].namaperusahaan + " | " + Convert.ToString(100 - (x[loop].porsi[j] * 100)).Substring(0, 2) + "% "+ x[j].namaperusahaan; x[loop].coleration[j] = x[loop].korelasi[j].ToString(); x[loop].covarian[j] = x[loop].kovarian[j].ToString(); } else

(29)

{ x[loop].proporsi[j] = ""; x[loop].coleration[j] = ""; x[loop].covarian[j] = ""; } if (loop == j) { x[loop].proporsi[j] = "N/A"; //x[loop].coleration[j] = "N/A"; x[loop].coleration[j] = x[loop].korelasi[j].ToString(); x[loop].covarian[j] = x[loop].kovarian[j].ToString(); } } table.Rows.Add(x[loop].namaperusahaan, x[loop].covarian[0].ToString(), x[loop].covarian[1].ToString(), x[loop].covarian[2].ToString(), x[loop].covarian[3].ToString(), x[loop].covarian[4].ToString(), x[loop].covarian[5].ToString(), x[loop].covarian[6].ToString(), x[loop].covarian[7].ToString(), x[loop].covarian[8].ToString()); baris++; loop++; } /* loop = 0; table.Rows.Add("", "", "", "", "", "", "", "", "", "");

table.Rows.Add("Korelasi", x[0].namaperusahaan, x[1].namaperusahaan, x[2].namaperusahaan,

x[3].namaperusahaan, x[4].namaperusahaan, x[5].namaperusahaan, x[6].namaperusahaan, x[7].namaperusahaan, x[8].namaperusahaan); while(loop < banyakperusahaan) { table.Rows.Add(x[loop].namaperusahaan, x[loop].korelasi[0].ToString(), x[loop].korelasi[1].ToString(), x[loop].korelasi[2].ToString(), x[loop].korelasi[3].ToString(), x[loop].korelasi[4].ToString(), x[loop].korelasi[5].ToString(), x[loop].korelasi[6].ToString(), x[loop].korelasi[7].ToString(), x[loop].korelasi[8].ToString()); loop++; } */

(30)

loop = 0;

table.Rows.Add("", "", "", "", "", "", "", "", "", ""); baris++;

table.Rows.Add("Korelasi", x[0].namaperusahaan, x[1].namaperusahaan, x[2].namaperusahaan,

x[3].namaperusahaan, x[4].namaperusahaan, x[5].namaperusahaan, x[6].namaperusahaan, x[7].namaperusahaan, x[8].namaperusahaan); //tambahkan lagi barisnya

baris++; banding1 = 0; banding2 = 0; banding3 = 0; int xx = 0;

int[] kolom2 = new int[banyakperusahaan - 1]; while (loop < banyakperusahaan)

{

kolom = 0; banding1 = 0; banding2 = 0; xx = 0;

banding1 = Convert.ToDecimal(x[loop].cole皜ation[loop]); for (xx = loop; xx < banyakperusahaan; xx++)

{ banding2 = Convert.ToDecimal(x[loop].coleration[xx]); if (banding1 > banding2) { kolom = xx; banding1 = banding2; } } //MessageBox.Show(kolom.ToString()); if (loop != banyakperusahaan - 1) { kolom2[loop] = kolom; } table.Rows.Add(x[loop].namaperusahaan, x[loop].coleration[0].ToString(), x[loop].coleration[1].ToString(), x[loop].coleration[2].ToString(), x[loop].coleration[3].ToString(), x[loop].coleration[4].ToString(), x[loop].coleration[5].ToString(), x[loop].coleration[6].ToString(),

(31)

x[loop].coleration[7].ToString(), x[loop].coleration[8].ToString()); if (loop != banyakperusahaan - 1) { dataGridView1.Rows[baris].Cells[kolom + 1].Style.BackColor = Color.Yellow; } baris++; loop++; } /* loop = 0;

while (loop < banyakperusahaan) { table.Rows.Add(x[loop].namaperusahaan, x[loop].coleration[0].ToString(), x[loop].coleration[1].ToString(), x[loop].coleration[2].ToString(), x[loop].coleration[3].ToString(), x[loop].coleration[4].ToString(), x[loop].coleration[5].ToString(), x[loop].coleration[6].ToString(), x[loop].coleration[7].ToString(), x[loop].coleration[8].ToString()); baris++; loop++; }*/ loop = 0; table.Rows.Add("", "", "", "", "", "", "", "", "", ""); baris++;

table.Rows.Add("Porsi", x[0].namaperusahaan, x[1].namaperusahaan, x[2].namaperusahaan,

x[3].namaperusahaan, x[4].namaperusahaan, x[5].namaperusahaan, x[6].namaperusahaan, x[7].namaperusahaan, x[8].namaperusahaan); baris++;

while (loop < banyakperusahaan) { table.Rows.Add(x[loop].namaperusahaan, x[loop].proporsi[0].ToString(), x[loop].proporsi[1].ToString(), x[loop].proporsi[2].ToString(), x[loop].proporsi[3].ToString(), x[loop].proporsi[4].ToString(), x[loop].proporsi[5].ToString(), x[loop].proporsi[6].ToString(), x[loop].proporsi[7].ToString(), x[loop].proporsi[8].ToString()); if (loop != banyakperusahaan - 1)

(32)

{ dataGridView1.Rows[baris].Cells[kolom2[loop] + 1].Style.BackColor = Color.Yellow; } baris++; loop++; } }

private void HMForm_Load(object sender, EventArgs e) {

//label1.Left = (this.Width - label1.Width) - (button1.Left - label1.Width) - 35; tooltip.AutoPopDelay = 1000; tooltip.InitialDelay = 500; tooltip.ReshowDelay = 100; tooltip.ShowAlways = true; baris = 0; kolom = 0; jumlahperusahaan();

DataPerusahaan[] dataPerusahaan = new DataPerusahaan[banyakperusahaan]; isistringnamaperusahaan(dataPerusahaan); isijumlahtransaksiharianperusahaan(dataPerusahaan); inisialisasitanggaldanhargatransaksiharianperusahaan(dataPerusahaan); isitanggaltransaksiharianperusahaan(dataPerusahaan); isihargatransaksiharianperusahaan(dataPerusahaan); isireturntransaksiharianperusahaan(dataPerusahaan);

DataTable table = GetTable(banyakperusahaan,dataPerusahaan); dataGridView皜.DataSource = table;

dataGridView1.ColumnHeadersVisible = false; //isitable(table,dataPerusahaan);

isiexpectedreturn(table, dataPerusahaan); isivarian(table, dataPerusahaan);

isikovariankorelasiporsi(table,dataPerusahaan);

//DataTable table2 = GetTable2(banyakperusahaan, dataPerusahaan); //dataGridView2.DataSource = table2;

(33)

//isidatagridview2(table2, dataPerusahaan); }

private void button1_MouseHover(object sender, EventArgs e) {

tooltip.SetToolTip(button1, "Ini adalah tombol untuk kembali ke menu utama");

button1.Image =

((System.Drawing.Image)(Properties.Resources.kembali_hover));

}

private void panel1_MouseHover(object sender, EventArgs e) {

}

private void button1_MouseLeave(object sender, EventArgs e) { button1.Image = ((System.Drawing.Image)(Properties.Resources.kembali)); } } }

Lampiran 6 Coding BGHM Form using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Skripsi {

public partial class BGHMForm : Form {

ToolTip tooltip = new ToolTip(); #region bg

(34)

decimal bungabank, bungaobligasi;

void jumlahperusahaan() {

SqlConnection myConnection = new SqlConnection("Data Source=.\\sqlexpress;Initial Catalog=dataskripsi;Integrated

Security=True;Pooling=False");

SqlCommand myCommand = new SqlCommand("select * from perusahaan", myConnection);

myConnection.Open();

SqlDataReader dataReader = myCommand.ExecuteReader();

while (dataReader.Read()) { banyakperusahaan++; } myConnection.Close(); }

public struct Perusahaan {

public string namaperusahaan; public int jumlaheps;

public decimal[] eps; public int[] tahun; public decimal[] NI; }

void isinamaperusahaan(Perusahaan[] x) {

SqlConnection myConnection = new SqlConnection("Data Source=.\\sqlexpress;Initial Catalog=dataskripsi;Integrated

Security=True;Pooling=False");

SqlCommand myCommand = new SqlCommand("select * from perusahaan", myConnection);

myConnection.Open();

SqlDataReader dataReader = myCommand.ExecuteReader(); int loop = 0;

while (dataReader.Read()) {

(35)

loop++; }

}

void isijumlaheps(Perusahaan[] x) {

SqlConnection myConnection = new SqlConnection("Data Source=.\\sqlexpress;Initial Catalog=dataskripsi;Integrated

Security=True;Pooling=False"); SqlCommand myCommand; SqlDataReader dataReader; int jumlahtransaksi = 0;

for (int awal = 0; awal < banyakperusahaan; awal++) {

myCommand = new SqlCommand("select * from lapkeu where ticker like '" + x[awal].namaperusahaan + "'", myConnection);

myConnection.Open(); dataReader = myCommand.ExecuteReader(); jumlahtransaksi = 0; while (dataReader.Read()) { jumlahtransaksi++; } x[awal].jumlaheps = jumlahtransaksi; dataReader.Close(); myConnection.Close(); } } void inisialisasi(Perusahaan[] x) {

for (int awal = 0; awal < banyakperusahaan; awal++) {

x[awal].eps = new decimal[x[awal].jumlaheps]; x[awal].tahun = new int[x[awal].jumlaheps]; x[awal].NI = new decimal[x[awal].jumlaheps]; }

}

void isistruct(Perusahaan[] x) {

(36)

SqlConnection myConnection = new SqlConnection("Data Source=.\\sqlexpress;Initial Catalog=dataskripsi;Integrated Security=True;Pooling=False"); SqlCommand myCommand; SqlDataReader dataReader; int loop = 0;

for (int awal = 0; awal < banyakperusahaan; awal++) {

myCommand = new SqlCommand("select * from lapkeu where ticker like '" + x[awal].namaperusahaan + "'", myConnection);

myConnection.Open(); dataReader = myCommand.ExecuteReader(); loop = 0; while (dataReader.Read()) { x[awal].tahun[loop] = Convert.ToInt16(dataReader["tahun"].ToString()); x[awal].eps[loop] = Convert.ToDecimal(dataReader["eps"].ToString()); loop++; } dataReader.Close(); myConnection.Close(); } } void hitungNI(Perusahaan[] x) { bungabank = 0; bungaobligasi = 0;

SqlConnection myConnection = new SqlConnection("Data Source=.\\sqlexpress;Initial Catalog=dataskripsi;Integrated

Security=True;Pooling=False"); SqlCommand myCommand; SqlDataReader dataReader;

myCommand = new SqlCommand("select * from persen", myConnection);

myConnection.Open();

dataReader = myCommand.ExecuteReader(); while (dataReader.Read())

(37)

{ bungabank = Convert.ToDecimal(dataReader["sukubunga"].ToString()); bungaobligasi = Convert.ToDecimal(dataReader["yieldaaa"].ToString()); } myConnection.Close(); int loop = 0;

while (loop < banyakperusahaan) {

for (int i = 0; i < x[loop].jumlaheps; i++) {

x[loop].NI[i] = (x[loop].eps[i] * (Convert.ToDecimal(8.5) + 24) * bungabank )/ bungaobligasi; x[loop].NI[i] = decimal.Round(x[loop].NI[i], 0); } loop++; } } #endregion #region hm int baris = 0; int kolom = 0;

public struct DataPerusahaan {

public string namaperusahaan; public int jumlahtransaksiharian; public string[] tanggaltransaksiharian; public string[] hargatransaksiharian; public string[] returntransaksiharian; public decimal expectedreturn; public decimal varians;

public decimal standarddeviation; public decimal[] kovarian;

public decimal[] korelasi; public decimal[] porsi; public string[] coleration; public string[] proporsi; public string[] covarian; }

void isistringnamaperusahaan(DataPerusahaan[] x) {

(38)

SqlConnection myConnection = new SqlConnection("Data Source=.\\sqlexpress;Initial Catalog=dataskripsi;Integrated

Security=True;Pooling=False");

SqlCommand myCommand = new SqlCommand("select * from perusahaan", myConnection);

myConnection.Open();

SqlDataReader dataReader = myCommand.ExecuteReader(); int loop = 0; while (dataReader.Read()) { x[loop].namaperusahaan = dataReader["ticker"].ToString(); loop++; } } void isijumlahtransaksiharianperusahaan(DataPerusahaan[] x) {

SqlConnection myConnection = new SqlConnection("Data Source=.\\sqlexpress;Initial Catalog=dataskripsi;Integrated

Security=True;Pooling=False"); SqlCommand myCommand; SqlDataReader dataReader; int jumlahtransaksi = 0;

for (int awal = 0; awal < banyakperusahaan; awal++) {

myCommand = new SqlCommand("select * from harga where ticker like '" + x[awal].namaperusahaan + "'", myConnection);

myConnection.Open(); dataReader = myCommand.ExecuteReader(); jumlahtransaksi = 0; while (dataReader.Read()) { jumlahtransaksi++; } x[awal].jumlahtransaksiharian = jumlahtransaksi; dataReader.Close(); myConnection.Close(); } }

(39)

void

inisialisasitanggaldanhargatransaksiharianperusahaan(DataPerusahaan[] x) {

for (int awal = 0; awal < banyakperusahaan; awal++) {

x[awal].tanggaltransaksiharian = new string[x[awal].jumlahtransaksiharian];

x[awal].hargatra皜saksiharian = new string[x[awal].jumlahtransaksiharian]; x[awal].returntransaksiharian = new string[x[awal].jumlahtransaksiharian]; } } void isitanggaltransaksiharianperusahaan(DataPerusahaan[] x) {

SqlConnection myConnection = new SqlConnection("Data Source=.\\sqlexpress;Initial Catalog=dataskripsi;Integrated Security=True;Pooling=False"); SqlCommand myCommand; SqlDataReader dataReader; int loop = 0; string temporary = ""; string modification = "";

for (int awal = 0; awal < banyakperusahaan; awal++) {

myCommand = new SqlCommand("select * from harga where ticker like '" + x[awal].namaperusahaan + "'", myConnection);

myConnection.Open(); dataReader = myCommand.ExecuteReader(); loop = 0; while (dataReader.Read()) { temporary = ""; temporary = dataReader["tanggal"].ToString(); if (temporary.Substring(0, 10).Contains(" ")) { if (temporary.Substring(0, 2).Contains("/")) { modification = "0"; }

modification = modification + temporary.Substring(0, 2); if (temporary.Substring(2, 2).Contains("/"))

(40)

modification = modification + "0"; }

modification = modification + temporary.Substring(2, 7); x[awal].tanggaltransaksiharian[loop] = modification; } else { x[awal].tanggaltransaksiharian[loop] = temporary.Substring(0, 10); } loop++; } dataReader.Close(); myConnection.Close(); } } void isihargatransaksiharianperusahaan(DataPerusahaan[] x) {

SqlConnection myConnection = new SqlConnection("Data Source=.\\sqlexpress;Initial Catalog=dataskripsi;Integrated Security=True;Pooling=False"); SqlCommand myCommand; SqlDataReader dataReader; int loop = 0; string temporary = "";

for (int awal = 0; awal < banyakperusahaan; awal++) {

myCommand = new SqlCommand("select * from harga where ticker like '" + x[awal].namaperusahaan + "'", myConnection);

myConnection.Open(); dataReader = myCommand.ExecuteReader(); loop = 0; while (dataReader.Read()) { temporary = ""; temporary = dataReader["harga"].ToString(); x[awal].hargatransaksiharian[loop] = temporary; loop++; } dataReader.Close(); myConnection.Close(); }

(41)

} void isireturntransaksiharianperusahaan(DataPerusahaan[] x) { decimal temporary; string temporary2; int a;

for (int awal = 0; awal < banyakperusahaan; awal++) {

a = x[awal].jumlahtransaksiharian - 31;

for (int akhir = a; akhir < x[awal].jumlahtransaksiharian; akhir++) { temporary = 0; temporary2 = ""; if (akhir == 0) { x[awal].returntransaksiharian[akhir] = null; } else { temporary = (Convert.ToDecimal(x[awal].hargatransaksiharian[akhir]) - Convert.ToDecimal(x[awal].hargatransaksiharian[akhir - 1])) / Convert.ToDecimal(x[awal皜.hargatransaksiharian[akhir - 1]); if (temporary == 0) { temporary2 = "0.000000"; x[awal].returntransaksiharian[akhir] = temporary2; } else { if (temporary < 0) { if (temporary.ToString().Length > 8) { temporary2 = temporary.ToString().Substring(0, 9); }

else temporary2 = temporary.ToString().Substring(0, temporary.ToString().Length); x[awal].returntransaksiharian[akhir] = temporary2; } else if (temporary > 0) { if (temporary.ToString().Length > 8) {

(42)

temporary2 = temporary.ToString().Substring(0, 8); }

else temporary2 = temporary.ToString().Substring(0, temporary.ToString().Length); x[awal].returntransaksiharian[akhir] = temporary2; } } } } } } void isiexpectedreturn(DataPerusahaan[] x) { int loop = 0; int loop2 = 0; int posisi = 0;

decimal[] expectedreturn = new decimal[banyakperusahaan]; while (loop < banyakperusahaan)

{ loop2 = 0; expectedreturn[loop] = 0; posisi = x[loop].jumlahtransaksiharian - 1; while (loop2 != 31) { expectedreturn[loop] += Convert.ToDecimal(x[loop].returntransaksiharian[posisi]); posisi--; loop2++; } expectedreturn[loop] /= 31; expectedreturn[loop] = Convert.ToDecimal(expectedreturn[loop].ToString().Substring(0, 8)); x[loop].expectedreturn = expectedreturn[loop]; loop++; }/*

table.Rows.Add("Expected Return", expectedreturn[0].ToString(), expectedreturn[1].ToString(), expectedreturn[2].ToString() , expectedreturn[3].ToString(), expectedreturn[4].ToString(), expectedreturn[5].ToString(), expectedreturn[6].ToString() , expectedreturn[7].ToString(), expectedreturn[8].ToString());*/ } void isivarian(DataPerusahaan[] x) {

(43)

decimal[] varian = new decimal[banyakperusahaan]; int loop = 0;

int loop2 = 0; int posisi = 0;

decimal variansi1 = 0;

decimal[] variansi2 = new decimal[banyakperusahaan]; decimal variansi3 = 0;

double standard = 0;

while (loop < banyakperusahaan) { loop2 = 0; posisi = x[loop].jumlahtransaksiharian - 1; variansi1 = 0; variansi2[loop] = 0; standard = 0; while (loop2 != 31) { variansi1 = Convert.ToDecimal(x[loop].returntransaksiharian[posisi]) - x[loop].expectedreturn;

variansi1 = variansi1 * variansi1;

variansi3 = Convert.ToDecimal(variansi1.ToString().Substring(0, 8));

variansi2[loop] = variansi2[loop] + variansi3; //MessageBox.Show(variansi1.ToString()); //MessageBox.Show(variansi2[loop].ToString()); //variansi2[loop] = Convert.ToDecimal(variansi2.ToString().Substring(0, 8)); posisi--; loop2++; 皜 variansi1 = 0; variansi3 = 0; } variansi2[loop] = variansi2[loop] / 31; variansi2[loop] = Convert.ToDecimal(variansi2[loop].ToString().Substring(0, 8)); x[loop].varians = variansi2[loop]; standard = Math.Sqrt(Convert.ToDouble(variansi2[loop])); x[loop].standarddeviation = Convert.ToDecimal(standard.ToString().Substring(0, 8)); loop++;

(44)

} /* table.Rows.Add("Variansi", x[0].varians.ToString(), x[1].varians.ToString(), x[2].varians.ToString() , x[3].varians.ToString(), x[4].varians.ToString(), x[5].varians.ToString(), x[6].varians.ToString() , x[7].varians.ToString(), x[8].varians.ToString());

table.Rows.Add("Deviasi Standar", x[0].standarddeviation.ToString(), x[1].standarddeviation.ToString(), x[2].standarddeviation.ToString() , x[3].standarddeviation.ToString(), x[4].standarddeviation.ToString(), x[5].standarddeviation.ToString(), x[6].standarddeviation.ToString() , x[7].standarddeviation.ToString(), x[8].standarddeviation.ToString()); */ } void isikovariankorelasiporsi(DataPerusahaan[] x) {

for (int i = 0; i < banyakperusahaan; i++) {

x[i].kovarian = new decimal[banyakperusahaan]; x[i].korelasi = new decimal[banyakperusahaan]; x[i].porsi = new decimal[banyakperusahaan]; x[i].proporsi = new string[banyakperusahaan]; x[i].coleration = new string[banyakperusahaan]; x[i].covarian = new string[banyakperusahaan]; }

int loop = 0; int looping = 0;

int posisi = x[0].jumlahtransaksiharian - 1; //MessageBox.Show(posisi.ToString()); decimal tampung, tampung2 = 0;

decimal banding1, banding2, banding3 = 0; decimal weight1 = 0;

/*

table.Rows.Add("Kovarian", x[0].namaperusahaan, x[1].namaperusahaan,

x[2].namaperusahaan,

x[3].namaperusahaan, x[4].namaperusahaan, x[5].namaperusahaan, x[6].namaperusahaan, x[7].namaperusahaan, x[8].namaperusahaan);

(45)

*/

//tambahkan 1 baris baris++;

while (loop < banyakperusahaan) {

for (int j = 0; j < banyakperusahaan; j++) { looping = 0; posisi = x[loop].jumlahtransaksiharian - 1; tampung = 0; tampung2 = 0; while (looping != 31) { tampung = (Convert.ToDecimal(x[loop].returntransaksiharian[posisi]) - x[loop].expectedreturn) * (Convert.ToDecimal(x[j].returntransaksiharian[posisi]) - x[j].expectedreturn); tampung2 += tampung; posisi--; looping++; } x[loop].kovarian[j] = decimal.Round((tampung2 / 31), 5); x[loop].korelasi[j] = decimal.Round((x[loop].kovarian[j] / (x[loop].standarddeviation * x[j].standarddeviation)), 1); weight1 = (Convert.ToDecimal(Math.Pow(Convert.ToDouble(x[j].standarddeviation), 2)) - (x[loop].korelasi[j] * x[loop].standarddeviation * x[j].standarddeviation)) / (Convert.ToDecimal(Math.Pow(Convert.ToDouble(x[loop].standarddeviation), 2)) + Convert.ToDecimal(Math.Pow(Convert.ToDouble(x[j].standarddeviation), 2)) - (x[loop].korelasi[j] * x[loop].standarddeviation * 皜 x[j].standarddeviation)); x[loop].porsi[j] = decimal.Round(weight1, 2); if (loop > j) { x[loop].porsi[j] = 0;

(46)

} if (x[loop].porsi[j] != 0) { x[loop].proporsi[j] = Convert.ToString(x[loop].porsi[j] * 100).Substring(0, 2) + "% " + x[loop].namaperusahaan + " | " + Convert.ToString(100 - (x[loop].porsi[j] * 100)).Substring(0, 2) + "% " + x[j].namaperusahaan; x[loop].coleration[j] = x[loop].korelasi[j].ToString(); x[loop].covarian[j] = x[loop].kovarian[j].ToString(); } else { x[loop].proporsi[j] = ""; x[loop].coleration[j] = ""; x[loop].covarian[j] = ""; } if (loop == j) { x[loop].proporsi[j] = "N/A"; //x[loop].coleration[j] = "N/A"; x[loop].coleration[j] = x[loop].korelasi[j].ToString(); x[loop].covarian[j] = x[loop].kovarian[j].ToString(); } } /* table.Rows.Add(x[loop].namaperusahaan, x[loop].covarian[0].ToString(), x[loop].covarian[1].ToString(), x[loop].covarian[2].ToString(), x[loop].covarian[3].ToString(), x[loop].covarian[4].ToString(), x[loop].covarian[5].ToString(), x[loop].covarian[6].ToString(), x[loop].covarian[7].ToString(), x[loop].covarian[8].ToString()); */ baris++; loop++; } /* loop = 0; table.Rows.Add("", "", "", "", "", "", "", "", "", "");

table.Rows.Add("Korelasi", x[0].namaperusahaan, x[1].namaperusahaan, x[2].namaperusahaan,

(47)

x[6].namaperusahaan, x[7].namaperusahaan, x[8].namaperusahaan); while(loop < banyakperusahaan) { table.Rows.Add(x[loop].namaperusahaan, x[loop].korelasi[0].ToString(), x[loop].korelasi[1].ToString(), x[loop].korelasi[2].ToString(), x[loop].korelasi[3].ToString(), x[loop].korelasi[4].ToString(), x[loop].korelasi[5].ToString(), x[loop].korelasi[6].ToString(), x[loop].korelasi[7].ToString(), x[loop].korelasi[8].ToString()); loop++; } */ loop = 0; //table.Rows.Add("", "", "", "", "", "", "", "", "", ""); baris++; /*

table.Rows.Add("Korelasi", x[0].namaperusahaan, x[1].namaperusahaan, x[2].namaperusahaan,

x[3].namaperusahaan, x[4].namaperusahaan, x[5].namaperusahaan, x[6].namaperusahaan, x[7].namaperusahaan, x[8].namaperusahaan); */

//tambahkan lagi barisnya baris++;

banding1 = 0; banding2 = 0; banding3 = 0; int xx = 0;

int[] kolom2 = new int[banyakperusahaan - 1]; while (loop < banyakperusahaan)

{ kolom = 0; banding1 = 0; banding2 = 0; xx = 0; banding1 = Convert.ToDecimal(x[loop].coleration[loop]); for (xx = loop; xx < banyakperusahaan; xx++)

{

banding2 = Convert.ToDecimal(x[loop].coleration[xx]); if (banding1 > banding2)

(48)

kolom = xx; 皜 banding1 = banding2; } } //MessageBox.Show(kolom.ToString()); if (loop != banyakperusahaan - 1) { kolom2[loop] = kolom; } /* table.Rows.Add(x[loop].namaperusahaan, x[loop].coleration[0].ToString(), x[loop].coleration[1].ToString(), x[loop].coleration[2].ToString(), x[loop].coleration[3].ToString(), x[loop].coleration[4].ToString(), x[loop].coleration[5].ToString(), x[loop].coleration[6].ToString(), x[loop].coleration[7].ToString(), x[loop].coleration[8].ToString()); if (loop != banyakperusahaan - 1) { dataGridView1.Rows[baris].Cells[kolom + 1].Style.BackColor = Color.Yellow; } */ baris++; loop++; } /* loop = 0;

while (loop < banyakperusahaan) { table.Rows.Add(x[loop].namaperusahaan, x[loop].coleration[0].ToString(), x[loop].coleration[1].ToString(), x[loop].coleration[2].ToString(), x[loop].coleration[3].ToString(), x[loop].coleration[4].ToString(), x[loop].coleration[5].ToString(), x[loop].coleration[6].ToString(), x[loop].coleration[7].ToString(), x[loop].coleration[8].ToString()); baris++; loop++; }*/ loop = 0; //table.Rows.Add("", "", "", "", "", "", "", "", "", ""); baris++; /*

(49)

table.Rows.Add("Porsi", x[0].namaperusahaan, x[1].namaperusahaan, x[2].namaperusahaan,

x[3].namaperusahaan, x[4].namaperusahaan, x[5].namaperusahaan, x[6].namaperusahaan, x[7].namaperusahaan, x[8].namaperusahaan); baris++;

*/

while (loop < banyakperusahaan) {/* table.Rows.Add(x[loop].namaperusahaan, x[loop].proporsi[0].ToString(), x[loop].proporsi[1].ToString(), x[loop].proporsi[2].ToString(), x[loop].proporsi[3].ToString(), x[loop].proporsi[4].ToString(), x[loop].proporsi[5].ToString(), x[loop].proporsi[6].ToString(), x[loop].proporsi[7].ToString(), x[loop].proporsi[8].ToString()); if (loop != banyakperusahaan - 1) { dataGridView1.Rows[baris].Cells[kolom2[loop] + 1].Style.BackColor = Color.Yellow; }*/ baris++; loop++; } } #endregion #region kombinasi decimal[] persentage; string[] percent; void cari3terbaik(Perusahaan[] x) { int loop = 0; int jumlahtransaksi = 0; int temporary = 0; decimal lastprice = 0;

persentage = new decimal[banyakperusahaan]; percent = new string[banyakperusahaan];

while (loop < banyakperusahaan) {

(50)

SqlConnection myConnection = new SqlConnection("Data Source=.\\sqlexpress;Initial Catalog=dataskripsi;Integrated Security=True;Pooling=False"); SqlCommand myCommand; SqlDataReader dataReader; jumlahtransaksi = 0; lastprice = 0; temporary = 0; #region a

myCommand = new SqlCommand("select * from harga where ticker like '" + x[loop].namaperusahaan + "'", myConnection);

myConnection.Open(); dataReader = myCommand.ExecuteReader(); while (dataReader.Read()) { jumlahtransaksi+皜; } dataReader.Close(); myConnection.Close(); #endregion #region b //part 2

myCommand = new SqlCommand("select * from harga where ticker like '" + x[loop].namaperusahaan + "'", myConnection);

myConnection.Open(); dataReader = myCommand.ExecuteReader(); while (dataReader.Read()) { if (temporary == jumlahtransaksi - 1) { lastprice = Convert.ToDecimal(dataReader["harga"].ToString()); persentage[loop] = (x[loop].NI[x[loop].jumlaheps - 1] - lastprice) / lastprice; persentage[loop] = decimal.Round(persentage[loop], 4); persentage[loop] = persentage[loop] * 100; percent[loop] = persentage[loop].ToString(); percent[loop] = percent[loop].Substring(0, percent[loop].IndexOf(".") + 3) + " %"; }

(51)

else temporary++; } dataReader.Close(); myConnection.Close(); #endregion loop++; } } #endregion

private void BGHMForm_Load(object sender, EventArgs e) { tooltip.AutoPopDelay = 1000; tooltip.InitialDelay = 500; tooltip.ReshowDelay = 100; tooltip.ShowAlways = true; jumlahperusahaan(); //bg

Perusahaan[] perusahaan = new Perusahaan[banyakperusahaan]; isinamaperusahaan(perusahaan); isijumlaheps(perusahaan); inisialisasi(perusahaan); isistruct(perusahaan); hitungNI(perusahaan); //hm

DataPerusahaan[] dataPerusahaan = new DataPerusahaan[banyakperusahaan]; isistringnamaperusahaan(dataPerusahaan); isijumlahtransaksiharianperusahaan(dataPerusahaan); inisialisasitanggaldanhargatransaksiharianperusahaan(dataPerusahaan); isitanggaltransaksiharianperusahaan(dataPerusahaan); isihargatransaksiharianperusahaan(dataPerusahaan); isireturntransaksiharianperusahaan(dataPerusahaan); //advanced isiexpectedreturn(dataPerusahaan); isivarian(dataPerusahaan); isikovariankorelasiporsi(dataPerusahaan); //cari 3 terbaik dari BG

(52)

cari3terbaik(perusahaan); //isi richtext

decimal[] tampung = new decimal[4]; int[] posisi = new int[4];

for (int i = 0; i < banyakperusahaan; i++) { if (i == 0) { tampung[0] = Convert.ToDecimal(percent[i].Substring(0, percent[i].IndexOf(" "))); tampung[1] = Convert.ToDecimal(percent[i+1].Substring(0, percent[i].IndexOf(" "))); tampung[2] = Convert.ToDecimal(percent[i+2].Substring(0, percent[i].IndexOf(" "))); posisi[0] = i; posisi[1] = i + 1; posisi[2] = i + 2; if (tampung[2] > tampung[1]) { tampung[3] = tampung[1]; posisi[3] = posisi[1]; tampung[1] = tampung[2]; posisi[1] = posisi[2]; tampung[2] = tampung[3]; posisi[2] = posisi[3]; } if (tampung[1] > tampung[0]) { tampung[3] = tampung[1]; posisi[3] = posisi[1]; tampung[1] = tampung[0]; posisi[1] = posisi[0]; tampung[0] = tampun皜[3]; posisi[0] = posisi[3]; } if (tampung[2] > tampung[1]) {

Referensi

Dokumen terkait

Desa adat memiliki susunan dan tata cara penyelenggaraan pemerintahan dan pembangunan yang spesifik(otonom). Desa adat ditandai dengan adanya sekelompok orang yang berada pada

(ii) Pendaftar Pusat Operasi e-Lelong hendaklah dalam tempoh empat belas (14) hari daripada tarikh penerimaan perakuan bertulis penerimaan baki harga belian

Jadi yang dapat mempengaruhi religiusitas seseorang tidak hanya dapat dilihat dari faktor eksternalnya saja, tetapi juga dapat dilihat dari faktor internal, seperti

Dana Desa yang Bersumber dari Anggaran Pendapatan dan Belanja Negara (Lembaran Negara Republik Indonesia Tahun 2014 Nomor 168, Tambahan Lembaran Negara Republik

Dirancang untuk pengoperasian yang efisien, 3508B menawarkan efisiensi bahan bakar yang sangat baik, emisi yang rendah, kebisingan engine yang dikurangi serta biaya pengoperasian

Puji dan syukur saya panjatkan kepada Tuhan Yang Maha Esa, karena berkat dan kasih karunia-Nya sehingga penulis dapat menyelesaikan tugas akhir ini yang berjudul

terdahulu yang dapat berbeda dengan penelitian yang akan dilakukan, tetapi dapat dibandingkan • Berisi teori-teori yang terkait (ada hubungan). dengan penelitian yang akan

Untuk kapal dengan L ( + D ) lebih besar dari 150 selain galar balok utama harus ditambah galar balok samping dan galar balok bawah. Ukuran dan penyusunan galar itu dapat