Minggu, 03 April 2011

MEMBUAT GARIS DENGAN ALGORITMA BRESENHAM

ALGORITMA GARIS BRESENHAM
  • dikembangkan oleh Bresenham
  • berdasarkan selisih antara garis yang diinginkan terhadap setengah ukuran dari pixel yang sedang digunakan.
Bresenham pada tahun 1965, melakukan perbaikan dari algoritma perhitungan koordinat piksel yang menggunakan persamaan (1), dengan cara menggantikan operasi bilangan rii perkalian dengan operasi penjumlahan, yang kemudian dikenal dengan Algoritma Bresenham. Pada algoritma bresenham, nilai y kedua dan seterusnya, dihitung dari nilai y sebelumnya, sehingga hanya titik y pertama yang perlu dilakukan operasi secara lengkap. Perbaikan algoritma ini ternyata tidak menghasilkan perbaikan yang cukup siginifikan. Perbaikan berikutnya dilakukan dengan cara menghilangkan operasi bilangan riel dengan operasi bilangan integer. Operasi bilangan integer jauh lebih cepat dibandingkan dengan operasi bilangan riel, terutama pada penambahan dan pengurangan.

untuk menentukan jumlah pixel yang membuat suatu garis menggunakan algoritma bresenhem adalah sebagai berikut :

  1. Masukan 2 endpoints, simpan endpoints kiri sebagai (x0, y0) dan kanan (x1,y1)
  2. Hitung konstanta Δx, Δy, 2Δy, 2Dx,2Δy–2Δx dan nilai awal parameter keputusan p0= 2Δy –Δx
  3. Pada setiap xk di garis, dimulai dari k=0, ujilah : Jika pk 0 maka plot (xk+1, yk+1) dan pk= pk+ 2Δy -2Δx
  4. Ulangi tahap 4 sampai mencapai x,y yang di tuju.
Contoh :
Hitunglah posisi piksel hingga membentuk sebuah garis yang menghubungkan titik (4,1) dan (14,8) !
  • Menentukan endpoints (x0,y0)= (4,1) dan (x1,y1)=(14,8)
  • Hitung kostanta :
Dx = x1-x0 Dx= 14-4=10
Dy= y1-y0 Dy= 8-1=7
2Dx= 2.10=20
2Dy= 2.7=14
2Dy-2Dx= 14-20= -6
pk=p0= 2Dy-Dx pk=p0= 14-10=4

  • jadi nilai keputusan awal= 4, karena pk=4 maka kita gunakan pk>0 maka plot (xk+1,yk+1) = (4+1,1+1) = (5,2) adalah plot yang terbentuk pada K=0. dan kita hitung nilai keputusan untuk plot selanjutnya. Dengan rumus pk= pk+ 2Δy -2Δx pk=4+(-6)=-2 adalah nilai keputusan yang ke 2. karena pk=-2 kita gunakan rumus pk<0 k="1.">>a;
cout<<"Masukan Y0 : ";cin>>b;
cout<<"Masukan X1 : ";cin>>c;
cout<<"Masukan Y1 : ";cin>>d;
glPushMatrix();
glBegin(GL_LINES);
glVertex3f(a+0.5, b+0.5, 0.0);
glVertex3f(c+0.5, d+0.5, 0.0);
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glPopMatrix();
glEnd();
glFlush();

}
void Horizontal() {

float c,d,y;
cout<<"Masukan XAwal :";cin>>c;
cout<<"Masukan XAkhir :";cin>>d;
cout<<"Masukan Ytetap :";cin>>y;
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glBegin(GL_LINES);
glVertex3f(c+0.1, y+0.1, 0.0);
glVertex3f(d+0.1, y+0.1, 0.0);
glEnd();
glFlush();
}
void Vertikal() {

float a,b,x;
cout<<"Masukan Yawal : ";cin>>a;
cout<<"Masukan Yakhir : ";cin>>b;
cout<<"Masukan Xtetap : ";cin>>x;
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glBegin(GL_LINES);
glVertex3f(x+0.5,a+0.5,0.0);
glVertex3f(x+0.5,b+0.5,0.0);
glEnd();
glFlush();
}

void Initialize() {
glClearColor(0.0, 0.0, 0.0, 0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
}

int main(int iArgc, char** cppArgv) {
menu:
int a;
cout<<"------MENU------\n";
cout<<"1.Garis Vertikal\n";
cout<<"2.Garis Horizontal\n";
cout<<"3.Garis Diagonal\n";
cout<<"4.Exit\n";
cout<<"----------------\n";
cout<<"Masukan pilihan anda:";cin>>a;
cout<<"\n"; glutInit(&iArgc, cppArgv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutInitWindowSize(500, 500); glutInitWindowPosition(600, 200); glutCreateWindow("OPenGL with C++"); Initialize(); while (a<=4){ switch(a){ case 1: glutDisplayFunc(Vertikal); glutMainLoop(); return 0; case 2: glutDisplayFunc(Horizontal); glutMainLoop(); return 0; case 3: glutDisplayFunc(Diagonal); glutMainLoop(); return 0; default: cout<<"anda salah memasukan"; goto menu; }} }

Running Program.

Membuat Garis Vertikal



Membuat Garis Horizontal



Minggu, 27 Maret 2011

BREAK EVENT POINT (MANAJEMEN SAINS)

Break event point adalah suatu keadaan dimana dalam suatu operasi perusahaan tidak mendapat untung maupun rugi/ impas (penghasilan = total biaya)

BEP amatlah penting kalau kita membuat usaha agar kita tidak mengalami kerugian, apa itu usaha jasa atau manufaktur, diantara manfaat BEP adalah

1. alat perencanaan untuk hasilkan laba

2. Memberikan informasi mengenai berbagai tingkat volume penjualan, serta hubungannya dengan kemungkinan memperoleh laba menurut tingkat penjualan yang bersangkutan.

3 Mengevaluasi laba dari perusahaan secara keseluruhan

4 Mengganti sistem laporan yang tebal dengan grafik yang mudah dibaca dan dimengerti

Setelah kita mengetahui betapa manfaatnya BEP dalam usaha yang kita rintis, kompenen yang berperan disini yaitu biaya, dimana biaya yang dimaksud adalah biaya variabel dan biaya tetap, dimana pada prakteknya untuk memisahkannya atau menentukan suatu biaya itu biaya variabel atau tetap bukanlah pekerjaan yang mudah, Biaya tetap adalah biaya yang harus dikeluarkan oleh kita untuk produksi ataupun tidak, sedangkan biaya variabel adalah biaya yang dikeluarkan untuk menghasilkan satu unit produksi jadi kalau tidak produksi maka tidak ada biaya ini

Salah satu kelemahan dari BEP yang lain adalah Bahwa hanya ada satu macam barang yang diproduksi atau dijual. Jika lebih dari satu macam maka kombinasi atau komposisi penjualannya (sales mix) akan tetap konstan. Jika dilihat di jaman sekarang ini bahwa perusahaan untuk meningkatkan daya saingnya mereka menciptakan banyak produk jadi sangat sulit dan ada satu asumsi lagi
yaitu Harga jual persatuan barang tidak akan berubah berapa pun jumlah satuan barang yang dijual atau tidak ada perubahan harga secara umum. Hal ini demikian pun sulit ditemukan dalam kenyataan dan prakteknya.
Bagaimana cara menghitungnya?

Untuk menghitung BEP kita bisa hitung dalam bentuk unit atau price tergantung untuk kebutuhan

Rumus Analisis Break Even :
BEP = Total Fixed Cost / (Harga perunit - Variabel Cost Perunit)

Keterangan :
- Fixed cost : biaya tetap yang nilainya cenderung stabil tanpa dipengaruhi unit yang diproduksi.
- Variable cost : biaya variabel yang besar nilainya tergantung pada benyak sedikit jumlah barang yng diproduksi.

Contoh :
Misalnya ada perusahaan konveksi kaos kaki murah yang harga satu buah kaos kaki adalah Rp. 10.000 dengan biaya variabel sebesar Rp. 5.000 per kaos kaki dan biaya tatap sebesar Rp. 10.000.000

BEP = 10.000.000 / (10.000 - 5.000)
BEP = 2.000

Jadi diperlukan memproduksi 2.000 kaos kaki untuk mendapatkan kondisi seimbang antara biaya dengan keuntungan alias profit nol.

Persoalan diatas juga dapat dipecahkan menggunakan applikasi.

aplikasi gratis yang dapat mengerjakan segala macam persoalan manajemen sains yaitu :

pom for windows yang dapat di download di link di bawah ini :

POM FOR WINDOWS

Cara penggunaan dari aplikasi ini akan di jelaskan dengan pengerjaan contoh kasus diatas.

1. buka pom for windows (sudah download dan di instal bukan?? )

2. pilih module atau juga bisa menggunakan perintah (ALT + M) kemudian pilih breakevent

3. setelah memilih breakevent pilih lah new kemudiaan break event analysis kemudian akan muncul form seperti dibawah ini

Ketikan judul pada title, sebagai contoh BEP1

4. setelah memasukkan judul kemudian akan muncul form seperti dibawah ini

Masukkan nilai seperti pada kasus

Kemudian tekan solve atau juga bisa menggunakan perintah (ALT + S )

Kemudian akan keluar hasil seperti dibawah ini

MAKA BREAK EVENT DARI KASUS DIATAS = 2000 UNIT

SELAMAT MENCOBA ^_^ ..