Beranda

Sabtu, 22 November 2014

Cara mencari pusat lingkaran dan radiusnya dari segitiga yang diketahui

Bagaimana mencari suatu lingkaran yang mengelelilingi sebuah segitiga yang telah diketahui titik-titik sudutnya. perhatikan gambar berikut :

diketahui titik-titik segitiga pada p1(x1,y1), p2(x2,y2) dan p3(x3,y3) hendak mencari titik pusat dan radius lingkaran yang melalui titik-titik segitiga tersebut. untuk dapat mencari pusat lingkara maka yang harus dilakukan adalah cari persamaan linear dari masing-masing titik segitiga ke titik pusat lingkaran kemudian dengan metode eliminasi dari persamaan-persamaan linear tersebut sehingga mendapatkan persamaan yang dapat menentukan itik pusa lingkaran, jika sudah ketemu maka dapat mencari radius lingkaran tersebut dari salah satu titik segitiga yang diketahui. Dan setelah dicari dan dituangkan ke dalam bahasa pemrograman delphi jadilah seperti script di bawah ini

function GetCircle(const x1,y1,x2,y2,x3,y3:real;out x,y,r:real):boolean;
var a,b:array[0..2] of real;
    er:boolean;
begin
  er:=(x1=x2)and(x1=x3);
  er:=(y1=y2)and(y1=y3) or er;
  if not er then begin
    if y1=y2 then begin
      b[0]:=(y3+y2)/2;b[2]:=(x2+x3)/2;
      b[1]:=-(x2-x3)/(y2-y3);
      x:=(x2+x1)/2;
      y:=b[0]+b[1]*(x-b[2]);
      r:=sqrt(sqr(x-x1)+sqr(y-y1));
    end else if y2=y3 then begin
      a[0]:=(y1+y2)/2;a[2]:=(x2+x1)/2;
      a[1]:=-(x2-x1)/(y2-y1);
      x:=(x2+x3)/2;
      y:=a[0]+a[1]*(x-a[2]);
      r:=sqrt(sqr(x-x1)+sqr(y-y1));
    end else begin
      a[1]:=-(x2-x1)/(y2-y1);
      b[1]:=-(x2-x3)/(y2-y3);
      er:=er or (a[1]=b[1]);
      if not er then begin
        a[0]:=(y1+y2)/2;a[2]:=(x2+x1)/2;
        b[0]:=(y3+y2)/2;b[2]:=(x2+x3)/2;
        x:=(a[0]-a[1]*a[2]-b[0]+b[1]*b[2])/(-a[1]+b[1]);
        y:=a[0]+a[1]*(x-a[2]);
        r:=sqrt(sqr(x-x1)+sqr(y-y1));
      end;
    end;
  end;
  result:=not er;
end;


semoga bermanfaat

Cara mengecek apakah sebuah titik di dalam segitiga atau tidak menggunakan Delphi

script berikut adalah contoh bagaimana cara mengecek sebuah titik apakah berada di dalam area lingkaran atau berada di luar lingkaran.


Posisi awal titik di antara titik-titik segitiga

secara teori untuk mengecek apakah sebuahh titik berada di tengah-tengah segitiga maka tariklah garis dari masing-masing titik segitga sampai memotong garis segitga yang berhadapan dengan titik tersebut melalui titik yang akan dicek apakah di dalam segitiga. atau tariklah garis dari titik p1 ke p sampau memotong garis p2p3, begitu pula tarik garis dari titik p2 ke p sampai memotong p1p3 dan tariklah garis dari titik p3 ke p sampai memotong garis p1p2, seperti digambarkan sebagai berikut :


di tarik garis dari sudut segitiga melalui titik yang akan dicek sampai memotong garis segitga yang berhadapan.

dari konsep di atas maka untuk memastikan titik tersebut di dalam segitiga maka logikanya adalah


  1. Jika garis p1a > p1p

  2. Jika garis p2b > p2p

  3. Jika garis p3c > p3p


jika dituangkan dalam bahasa pemrograman delphi maka

function InTriangle(const x,y,x1,y1,x2,y2,x3,y3:real):boolean;
var a,b,c:boolean;
begin
  a:=sqr((y2-y1)*(x3-x2)+(y3-y2)*(x1-x2))>=sqr((y-y1)*(x3-x2)-(y3-y2)*(x-x1));
  b:=sqr((y3-y2)*(x1-x3)+(y1-y3)*(x2-x3))>=sqr((y-y2)*(x1-x3)-(y1-y3)*(x-x2));
  c:=sqr((y1-y3)*(x2-x1)+(y2-y1)*(x3-x1))>=sqr((y-y3)*(x2-x1)-(y2-y1)*(x-x3));
  result:=a and b and c;
end;


Selasa, 23 September 2014

Pengertian Pasag Surut Air Laut

PASANG SURUT

Pasang surut permukaan air laut adalah proses terjadinya pergerakan naik dan turunnya permukaan air laut secara harmonik dan periodik. Para peneliti sepakat bahwa gerakan pasang surut disebabkan oleh gaya tarik antara gravitasi bumi dan gaya bulan dan matahari. Pengaruh benda angkasa lainnya dapat diabaikan karena jaraknya lebih jauh atau ukurannya lebih kecil. Faktor yang sangat berpengaruh dalam proses pasang surut adalah gravitasi bulan dan gravitasi matahari, akan tetapi di setiap daerah perairan memiliki kedalaman yang bervariasi maka pasang surut terjadi perubahan tinggi gelombang sehingga terjadilah pasang surut yang berasal dari resonansi atau berubah karena perairan dangkal sehingga disebut komponen pasang surut shalow water. Faktor non astronomi yang mempengaruhi pasut terutama di perairan semi tertutup seperti teluk adalah bentuk garis pantai dan topografi dasar perairan.


Pasang surut merupakan gelombang sehingga memiliki istilah-istilah yang sama dengan gelombang seperti Puncak gelombang disebut pasang tinggi dan lembah gelombang disebut pasang rendah. Perbedaan vertikal antara pasang tinggi dan pasang rendah disebut rentang pasang surut (tidal range). Periode pasang surut adalah waktu antara puncak atau lembah gelombang ke puncak atau lembah gelombang berikutnya. Harga periode pasang surut bervariasi antara 12 jam 25 menit hingga 24 jam 50 menit. Pasang purnama (spring tide) terjadi ketika bumi, bulan dan matahari berada dalam suatu garis lurus. Pada saat itu akan dihasilkan pasang tinggi yang sangat tinggi dan pasang rendah yang sangat rendah. Pasang surut purnama ini terjadi pada saat bulan baru dan bulan purnama.

Pasang perbani (neap tide) terjadi ketika bumi, bulan dan matahari membentuk sudut tegak lurus. Pada saat itu akan dihasilkan pasang tinggi yang rendah dan pasang rendah yang tinggi. Pasang surut perbani ini terjadi pasa saat bulan 1/4 dan 3/4.

Karena sifatnya yang periodik maka pasang surut dapat diramal dengan menggunakan metode admiralti yang telah dikemukakan oleh angkatan laut inggris pada beberapa abad yang lalu, sesuai perkembangan ilmu pengetahuan dan perkembangan teknologi maka peramalan pasang surut menggunakan metode least square yakni pendekatan matematis yang meminimalkan error pada proses perhitungan.

Selasa, 29 April 2014

Model Kubus Atraktif Menggunakan Delphi

Pemodelan Kubus Atraktif menggunakan bahasa pemrograman Delphi dibangun berdasarkan model matematika geometri. Penggunaan matematika geometri akan lebih mudah jika menggunakan vektor dan matrix. Kata Atraktif disini hanya menggambarkan bahwa kubus dapat dirotasikan menggunakan mouse.

Pemodelan menggunakan vektor dan matrix, yang harus diperhatikan adalah pendeklarasian type vektor dan matrik seperti berikut :
type TVektor=array[0..2] of real;
     Tmatriks=array[0..2,0..2] of real;

Fungsi-fungsi yang dibutuhkan adalah perkalian matrix terhadap vektor, tentunya harus menggunakan ordo yang sama.
function perkalianmatriksvektor(matriks:TMatriks;vektor:TVektor):tvektor;
var i,j:integer;
begin
  for i:=0 to high(matriks) do
  begin
    result[i]:=0;
    for j:=0 to high(vektor) do
    result[i]:=result[i]+matriks[i,j]*vektor[j];
  end;
end;

Senin, 21 April 2014

Aproksimasi Lagrange Untuk Interpolasi

Interpolasi Linear seperti yang telah dibahasa pada post Konsep Dasar Interpolasi hanya memerlukan 2 titik yang terdekat. Gradien antara titik (x0,y0) dan (x1,y1) adalah m = (y1 - y0)/(x1 - x0) di dalam persamaan y = y0 + m(x - x0) adalah

dan dapat diubah persamaan di atas ke dalam bentuk polinom

Rabu, 16 April 2014

Konsep Dasar Interpolasi

Interpolasi adalah cara memperkirakan suatu nilai yang tidak termasuk dalam fungsi dengan menggunakan nilai fungsi yang sudah diketahui dari titik terdekat. Contoh jika diketahui tiga buah titik A(3,5), B(6,7) dan C(5,8). Berapakah nilai pada x=4, x=4,5 dan x=7? Maka untuk memecahkan permasalah ini dibutuhkan suatu metode interpolasi.

Kamis, 10 April 2014

Tiga Jenis Array pada Delphi

Konsep dasar dari bentuk array adalah matriks dari suatu tipe. Jenis array dibedakan berdasarkan cara penggunaan array tersebut menjadi tiga jenis:
  1. Array statik
    Jenis Array ini memiliki ukuran yang tetap dan tidak bisa diubah. Sebagai contoh:
    var vektor:array[0..100] of char;
    var matriks:array[0..100,0..100] of char;

Selasa, 08 April 2014

Beginilah Operasi Boolean pada Delphi

Boolean adalah tipe yang memiliki nilai true atau false dan bukan nilai angka. Boolean dapat digunakan untuk menguji kebenaran. Operasi yang sering digunakan biasanya AND, OR, XOR, dan  NOT. Berikut ini adalah tabel kebenarannya.

Senin, 07 April 2014

Tipe Data Standar dalam Pemrograman Delphi

Tipe standar yang dibuat oleh delphi adalah tipe dasar yang bisa kita kembangkan lagi menjadi tipe-tipe yang lebih rumit. Contoh tipe integer dalam function berikut ini:
function kali(a,b:integer):integer;
var hasil:integer;
begin
  hasil:=a*b;
  result:=hasil;
end;

Jumat, 04 April 2014

Menyimpan dan Memampatkan Data Angka ke dalam File Menggunakan BilanganBerbasis 256

Bilangan berbasis biasa yang kita kenal adalah bilangan berbasis 10 atau disebut desimal yaitu angka yang berjumlah 10 dari angka 0 sampai 9, ada juga bilangan berbasis 2 yaitu bilangan yang terdiri dari 0 dan 1, dan ada juga bilangan yang menggunakan basis 16 atau disebut heksadesimal yaitu bilangan yang tersusun oleh 16 simbol yang terdiri dari angka 0 sampai 9 dan a - f.

Contoh cara untuk mentransformasi dari bilangan berbasis 10 ke bilangan berbasis 2 adalah sebagai berikut, misalnya angka 6 berbasis 10 akan dirubah menjadi bilangan berbasis 2, yaitu dengan cara :
6 : 2 = 3 sisa 0
3 : 2 = 1 sisa 1
1 : 2 = 0 sisa 1

Kamis, 03 April 2014

Cleanup dan Optimize MySQL di Wordpress

Wordpress merupakan CMS Web yang sangat powerfull, wordpress melakukan autosave atau autodraft saat kita membuat artikel. Misal ketika membuat artikel dan belum sempat diposting atau disimpan dan tiba-tiba komputer mati maka artikel yang sudah di ketik akan tetap tersimpan, sehingga bisa dilanjutkan kembali pada waktu yang lain. Selain itu setiap kali menyimpan posting baru atau mengubah posting, WordPress membuat salinan posting tersebut di dalam MySQL. Bayangkan Jika mengubah suatu posting 10 kali maka database akan menyimpan 9 salinan, dan berarti akan menyimpan sejumlah besar byte dalam MySQL. 

Rabu, 02 April 2014

Cara Convert file PDF ke gambar JPG menggunakan pdf2jpg.net

Cara merubah file PDF menjadi file jpg secara online sangat mudah dan gratis. Ikuti langkah-langkahnya sebagai berikut :
  • Siapkan file PDF

  • Buka browser misal google chrome atau firefox atau lainnya

  • Buka website http://pdf2jpg.net
    pdf2jpg.net
    pdf2jpg.net

Kamis, 27 Maret 2014

Trik JQuery Pada Slide Image

JQuery memang merupakan komponen Javascript yang sangat bagus, seperti pada trik kali ini adalah bagaimana membuat slide dua gambar secara bersamaan. Konsepnya: gambar pertama menghilang dan gambar kedua muncul secara bersamaan.

Dengan menggunakan function fadein dan fadeout serta dikombinasikan antara z-index dalam CSS maka menghasilkan slide yang dilakukan seolah-olah bersamaan. script lengkapnya adalah sebagai berikut :
<!doctype html>
<html lang="en">
<head>

Rabu, 26 Maret 2014

Mudahnya Membuat Template Wordpress

Membuat template wordpress bagaikan bermain puzzle untuk bisa menghasilkan website yang baik dan bagus.Template ini harus berjalan untuk semua halaman sehingga template bersifat flexible. Pada umumnya website disusun oleh dua pondasi pokok yaitu HTML dan CSS. Kalau diibaratkan pada bangunan toko, HTML adalah struktur bangunan seperti atap, dinding, lanta dan lain-lain yang menghasilkan kekokohan bangunan, sedangkan CSS adalah gaya riasan seperti cat berwarna-warni, lukisan di dinding, lampu hias dan lain-lain yang bersifat menghiasai bangunan toko tersebut, tentu saja dengan tujuan meningkatkan daya tarik pengunjung sebanyak-banyaknya.

Kamis, 13 Maret 2014

Tutorial Pengenalan Pengembangan Plugin Wordpress

Tutorial sekarang adalah dasar-dasar pengembangan plugin wordpress. Plugin ini dikembangkan dengan tujuan memiliki fungsi yang berguna bagi website berbasis wordpress. Syarat utama dari pengembangan plugin wordpress anda harus mengerti dan akrab dengan bahasa pemrograman PHP. Plugin WordPress dibuat dari satu atau lebih fungsi yang ditulis dalam bahasa PHP sehingga menambahkan fitur atau layanan kepada weblog WordPress dan dapat diintegrasikan secara sempurna dengan weblog.

Untuk pengembangan plugin WordPress anda bisa membuat fungsi baru atau merubah fungsi pada plugin yang pernah dibuat. Hal pertama yang harus dilakukan adalah mencari Plugin WordPress apakah seseorang telah membuat sebuah Plugin WordPress yang sesuai dengan kebutuhan Anda. Jika sudah ada, maka anda bisa memodifikasinya jika kurang sesuai harapan anda.