V. Hutabalian

Visual Basic Interface

Minggu, 15 Mei 2011

Perhitungan Scoring Sheet Menggunakan Excel


Wahhhh.... sudah begitu lama Blog ini tidak di-update..., Beberapa hari yang lalu saya dimintai tolong oleh seorang teman untuk membuat perhitungan scoring sheet sebuah kompetisi menggunakan Excel,... Jadi yang perlu ditampilkan siapa saja pemenangnya dan nilai yang didapatkan. Saya sempat bingung.... karena saya belum terbiasa menggunakan fitur perumusan yang telah disediakan Excel... yang ada di kepala saya pada saat itu... Bagaimana menampilkan Nama dan Angka sesuai peringkat tertinggi yang diingikan secara otomatis terurut tampa diurut secara manual, apalagi kalau pesertanya sampai ratusan, bisa-bisa pusing kepala kalau dikerjain secara manual dengan membandingkan nilai satu persatu untuk menentukan siapa nilai tertinggi misalkan Juara 1 - 3.... Akhirnya bertanya dah!!!!, sama mbah Google buka beberapa trick dari satu blog ke blog yang lain.... yang ada hanya mencari nilai tertinggi dan blog yang lain hanya untuk menampilkan suatu index tertentu berdasarkan dari angka tertentu, akhirnya dari persamaan-persamaan tersebut saya gabungkan untuk memenuhi maksud dan tujuan saya.



Kali ini saya akan men-sharekan Trick Excel untuk mengurut angka tertinggi sekaligus beserta index-nya dari beberapa data angka, untuk hasil tampilannya perhatikan gambar di atas.

Data tersebut merupakan data sample misalkan saja itu merupakan suatu data penilaian dari sebuah kompetisi dengan 10 peserta, dari 10 peserta tersebut saya akan merunut siapa menjadi Juara 1 - 3 dan Harapan 1 - 3 berdasarkan urutan nilai tertinggi.

Contoh, perumusannya untuk Juara 1:
=INDEX(B3:C12;MATCH(LARGE(C3:C12;{1});$C$3:$C$12;0);1)&" JUARA 1 DENGAN NILAI "&LARGE(C3:C12;{1})


Untuk urutan Juara berikutnya Anda hanya menukar angka 1 berwarna MERAH sesuai dengan urutan peringkat yang Anda inginkan.

Dalam penulisan Rumus diatas perhatikan range data Anda. Semoga bermanfaat, Selamat mencoba Guys! Nantikan Tips Aplikasi Cantik Lainnya by Verynandus Hutabalian.

[+/-] Selengkapnya...

Kamis, 14 Oktober 2010

Deret Bilangan Fibonacci VB 2008



Saya berkunjung ke salah satu Blog yang menampilkan Tutorial Interface VB 2008. Linknya silakan kunjungi Weblognya ==>> Klik Disini . Saya ingin mempelajari Deret Bilangan Fibonacci, Teori Dasarnya dapat Di baca pada Blog tersebut.


Script yang ditampilkan mengalami sedikit perubahan sesuai dengan yang saya inginkan, secara garis besarnya Script berasal dari Blog tersebut ==>> Klik Disini . Penambahan beberapa sintaks script akan saya tampilkan dengan script dari Blog yang saya pelajari tersebut ==>> Klik Disini . Hanya ada sedikit perbedaan pada tampilan dan visual datanya.

Toolbox yang saya gunakan, tidak jauh berbeda dengan yang dipergunakan pada Blog Tutorial Visual Basic 2008 tersebut. Component ToolBox Plat Form VB 2008 Express Edition, perhatikan Tabel di bawah ini.

ToolBox
Properties
1 UserFormName: Form1
Text: Deret Fibonacci V. Hutabalian's Blog
1 ListBoxName: ListBox1
2 ButtonName:Button1
Text: Proses Deret
Name: Button2
Text: Exit
1 LabelName:Label1
Text: Panjang Deret Bilangan
1 NumericUpDownName:NumericUpDown1


Desain dari Toolbox yang saya pergunakan di atas, perhatikan gambar di bawah ini.



Script Deret Fibonacci dari Blog tersebut sebagai berikut.

'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'
'Deret Bilangan Fibonacci'
'======================================================================='
' Source ==>> Klik Disini '
'+++++++++++++++++++++++========================++++++++++++++++++++++++'
Dim w, y, z As Integer
y = 0
z = 1
ListBox1.Items.Clear()
ListBox1.Items.Add(y)
ListBox1.Items.Add(z)
For x As Integer = _
1 To NumericUpDown1.Value
w = y + z
y = z
z = w
If w > NumericUpDown1.Value _
Then Exit For
ListBox1.Items.Add(w)
Next


Perubahan dan penambahan beberapa baris sintaks Script sesuai dengan yang saya inginkan.


'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'
'Deret Fibonacci V. Hutabalian's Blog'
'======================================================================='
'Tampilan Visual by: Verynandus Hutabalian'
' Publish to V. Hutabalian's Blog 14 Oktober 2010 '
'+++++++++++++++++++++++========================++++++++++++++++++++++++'
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim w, y, z, z0 As Integer
y = 0
z0 = 1
z = 1
ListBox1.Items.Clear()
ListBox1.Items.Add(z)
For x As Integer = 2 To NumericUpDown1.Value
w = y + z
w = z
If x > 2 Then
w = z0 + z
z0 = z
z = w
End If
ListBox1.Items.Add(w)
Next
NumericUpDown1.Value = Me.ListBox1.Items.Count
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
End
End Sub

End Class


Setelah Script di atas selesai saya ketik, maka untuk menampilkan hasilnya saya menekan tombol F5. kemudian saya mensetting Panjang Deret yang akan ditampilkan pada ListBox, lalu tekan tombol Proses Deret. Tampilan hasilnya perhatikan Gambar di bawah ini.



Pada dasarnya sistim deret untuk kedua script di atas sama saja, hanya ada sedikit perbedaan. Untuk lebih jelasnya, tidak ada salahnya untuk mencoba kedua script di atas. Jika ada pengembangan yang lebih baik lagi dari rekan-rekan, saya akan dengan senang hati menampung Kritik dan Saran.

Selamat mencoba Guys! Nantikan Tips Aplikasi Cantik Lainnya by Verynandus Hutabalian.

[+/-] Selengkapnya...

Jumat, 08 Oktober 2010

Perjalanan Lintas Timur di Pulau Sumatera


Sumatera merupakan salah satu lahan penghasil buah kelapa sawit terbesar di Indonesia. Banyak investor yang membenamkan uangnya ke tanah untuk pengembangan komoditi pertanian ini. Para investor tersebut tidak hanya dari para pengusaha anak negeri tapi juga pengusaha yang berasal dari negeri seberang misalkan saja Singapura dan Malaysia yang pernah saya dengar dari beberapa orang setempat yang berdomisili di lintasan daerah tersebut dan mereka memiliki sedikit lahan (petani rakyat). Beberapa Pabrik Pengolahan Kelapa Sawit telah berdiri di sepanjang Jalan Lintas Timur yang membelah pulau Sumatera.


Melintasi jalanan lintas timur sangatlah membosankan, sudut pandang pergerakan bola mataku hampir seluruhnya memproyeksikan hamparan lahan kelapa sawit. Komoditi pertanian ini sangat menjanjikan karena seluruh negara di dunia ini memanfaatkan produk akhir dari pengolahannya (sepertinya sudah menjadi kebutuhan primer). Apalagi nantinya komoditi ini akan menjadi bahan dasar untuk mewujudkan trend bahan bakar biodisel yang ramah lingkungan dan nantinya dapat mengatasi devisitnya bahan bakar minyak bumi.



Komoditi yang memang menjanjikan, namun harga jualnya tidak menjanjikan (harga tidak stabil) dan harga pupuknya selalu stabil meningkat tiap bulannya...(??????). Apalagi petani rakyat yang memiliki lahan terbatas, mereka hanya bisa mengatakan “Ngeri-Ngeri Sedap”. Semboyan ini mungkin akan menjadi semboyan bagi seluruh petani di Indonesia karena hasil pertanian mereka bisa saja tidak memiliki harga jual dan hanya sesekali merasakan harga yang tidak terlalu pantas untuk di jual. Tidak ada salahnya diucapkan kembali “Ngeri-Ngeri sedap.....”. "Mungkin suatu saat Ngeri-Ngerinya haruslah dihilangkan, karena hari sudah Terang Benderang".

[+/-] Selengkapnya...

Minggu, 26 September 2010

Create Drawline Function VB6 Component in VB 2008 Ex-Edition


Beberapa Minggu yang lalu saya Meng-Upgrade Component VB 2008 Express Edition yang ter-install di CPU saya dengan menambahkan Componnent VB6. Ternyata penggunaan perintah scriptnya sangat berbeda ketika kita menggunakan componnent tersebut pada Plat Form VB 2008 Express Edition, demikian juga pada Plat Form VB 6.0. Saya biasanya menggunakan VB 6.0 dan VB 2008 Express Edition. Saya akan membandingkan penggunaan Componnent VB6 pada Plat Form VB 2008 Express Edition dengan component VB 2008 Itu Sendiri, Component object ToolBox yang digunakan sama. Saya akan menampilkan penggunakan fungsi Drawline pada PictureBox.

Perhatikan Tabel ToolBox yang saya gunakan di bawah ini:
Component ToolBox VB6 pada Plat Form VB 2008 Express Edition.
ToolBox
Properties
1 UserFormName: Form1
Text: Graphic VB6 Component Vs VB 2008
1 PictureBoxName: PictureBox1
1 ButtonName:Button1
Text: View Graphic


Component ToolBox VB 2008 Express Edition.
ToolBox
Properties
1 UserFormName: Form1
Text: V. Hutabalian's Blog VB6 Vs VB 2008
1 PictureBoxName: PictureBox1
1 ButtonName:Button1
Text: View Graphic


Desain Form ToolBox yang digunakan sama untuk kedua-duanya.
Desain componnent VB6 pada Plat Form VB 2008 Express Edition:


Desain componnent VB 2008 Express Edition:



Setelah mendesain Toolbox dan mengatur semua propertisnya, maka ketikkan Source program di bawah ini:

Script untuk menggunakan componnent ToolBox VB6 pada Plat Form VB 2008 Express Edition:


'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'
'Create Drawline Function VB6 componnent in VB 2008 Express Edition'
'======================================================================='
' Berbagi ilmu Sensasi Kepuasan Tersendiri '
' Visual Programming by: Verynandus Hutabalian'
' Publish to V. Hutabalian's Blog 26 September 2010 '
'+++++++++++++++++++++++========================++++++++++++++++++++++++'
Option Strict Off
Public Class Form1

Private Sub InitializeComponent()
Me.VB6PictureBox1 = New CodeArchitects.VB6Library.VB6PictureBox
Me.VB6CommandButton1 = New CodeArchitects.VB6Library.VB6CommandButton
Me.SuspendLayout()
'
'VB6PictureBox1
'
Me.VB6PictureBox1.AutoSize = True
Me.VB6PictureBox1.BackColor = System.Drawing.Color.Black
Me.VB6PictureBox1.Location = New System.Drawing.Point(58, 34)
Me.VB6PictureBox1.Name = "VB6PictureBox1"
Me.VB6PictureBox1.ScaleHeight = 1066.667!
Me.VB6PictureBox1.ScaleMode = CodeArchitects.VB6Library.VBRUN.ScaleModeConstants.vbUser
Me.VB6PictureBox1.ScaleWidth = 1354.667!
Me.VB6PictureBox1.Size = New System.Drawing.Size(254, 200)
Me.VB6PictureBox1.TabIndex = 0
'
'VB6CommandButton1
'
Me.VB6CommandButton1.Location = New System.Drawing.Point(135, 244)
Me.VB6CommandButton1.Name = "VB6CommandButton1"
Me.VB6CommandButton1.Size = New System.Drawing.Size(100, 47)
Me.VB6CommandButton1.TabIndex = 1
Me.VB6CommandButton1.Text = "View Graphic" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10)
Me.VB6CommandButton1.UseVisualStyleBackColor = True
'
'Form1
'
Me.ClientSize = New System.Drawing.Size(376, 303)
Me.Controls.Add(Me.VB6CommandButton1)
Me.Controls.Add(Me.VB6PictureBox1)
Me.Name = "Form1"
Me.Text = "Graphic VB6 Component Vs VB 2008 "
Me.ResumeLayout(False)
Me.PerformLayout()

End Sub

Private Sub VB6CommandButton1_Click() Handles VB6CommandButton1.Click
Dim Xvalue() As Integer = {100, 400, 400, 100}
Dim Yvalue() As Integer = {100, 400, 100, 400}
VB6PictureBox1.Line(CodeArchitects.VB6Library.VBRUN.GraphicsOptions.None, Xvalue(0), Yvalue(0), Xvalue(1), Yvalue(1), QBColor(11))
VB6PictureBox1.Line(CodeArchitects.VB6Library.VBRUN.GraphicsOptions.None, Xvalue(2), Yvalue(2), Xvalue(3), Yvalue(3), QBColor(11))
End Sub
End Class


Script untuk menggunakan componnent ToolBox VB 2008 Express Edition:


Public Class Form1
Inherits System.Windows.Forms.Form
Dim gobj As System.Drawing.Graphics
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
gobj = PictureBox1.CreateGraphics

Dim Xvalue() As Integer = {10, 40, 40, 10}
Dim Yvalue() As Integer = {10, 40, 10, 40}
Dim pen As New Pen(Color.Blue, 2) ' creates a pen instance
gobj.DrawLine(pen, Xvalue(0), Yvalue(0), Xvalue(1), Yvalue(1))
gobj.DrawLine(pen, Xvalue(2), Yvalue(2), Xvalue(3), Yvalue(3))
End Sub
End Class


Setelah itu untuk menampilkan hasilnya tekan F5, lalu tekan tombol View Graphic.
Tampilan hasil penggunaan componnent VB6 pada Plat Form VB 2008 Express Edition:



Tampilan hasil penggunaan componnent VB 2008 Express Edition:


Untuk pengembangan aplikasi yang lebih kompleks, Anda bisa mengembangkan dengan menggali kreatifitas Anda sendiri. Semoga bermanfaat.

Selamat mencoba Guys! Nantikan Tips Aplikasi Cantik Lainnya by Verynandus Hutabalian.

[+/-] Selengkapnya...

Kamis, 26 Agustus 2010

Upgrade Component VB6Library 2 VB 2008 Express Edition


Saya tak sengaja membaca sebuah situs mengenai penggunaan component VB6 pada Plat Form VB.net, Di PC yang saya pergunakan terinstall Versi Visual Basic 2008 Express Edition. Lalu saya mencoba meng-upgrade componet Library VB6 ke Visual Basic 2008 Express Edition. Setelah hampir seharian Oprek sana-sini, akhirnya saya berhasil meng-upgrade ke Plat Form Visual Basic 2008 Express Edition yang saya pergunakan sekarang.

Langkah-langkahnya, sebagai berikut:

1. Pertama sekali saya mendownload CodeArchitects.VB6Library.dll, dapat di download secara gratis di internet (Anda bisa Browsing...).

2. Setelah saya menDownload, kemudian saya copykan file tersebut ke drive C - Microsoft Visual Studio 9,0 - Common7 - IDE, file tempat keberadaan componnent dari Visual Basic 2008 Express Edition. Lebih jelasnya perhatikan gambar di bawah ini.



3. Setelah itu, Saya membuka hasil installan Visual Basic 2008 Express Edition pada PC yang saya miliki, setelah jendela aplikasi Visual Basic 2008 Express Editon terbuka, saya menekan Tab Tools . Untuk lebih jelasnya perhatikan gambar di bawah ini.



4. Pada Tab Tools terdapat beberapa menu, yang saya klik selanjutnya adalah Choose Toolbox Items..... Perhatikan gambar pada langkah nomor 3.

5. Kemudian akan muncul jendela Choose Toolbox Items, pada Tab .Net Framework Components saya menekan Tombol Browse. Lebih jelasnya perhatikan gambar di bawah ini.



6. Setelah saya menekan Tombol Browse, saya akan di suguhkan sebuah jendela Open dan alamat file yang di suguhkan adalah keberadaan CodeArchitects.VB6Library.dll yang saya copykan tadi (perhatikan Langkah 2 dan Gambar). Perhatikan Gambar di Bawah ini.



7. Kemudian saya cari yang namanya: CodeArchitects.VB6Library.dll, Setelah itu saya tekan Tombol Open . Lebih jelasnya perhatikan gambar di bawah ini.



8. Maka secara otomatis seluruh component Library VB6 akan ter-ceklist yang mengindikasikan semua component VB6 tersebut akan di tampilkan pada ToolBox Plat Form Visual Basic 2008 Express Edition yang saya miliki. Lebih jelasnya perhatikan gambar di bawah ini.



9. Terakhir kalinya saya tekan Tombol OK . Pada jendela Visual Basic 2008 Express Edition, saya tekan Tab File kemudian saya Klik New Project. Hasil Plat_Form dan ToolBox-nya perhatikan gambar paling atas.

Untuk coding Script menggunakan component Library VB6 pada Plat Form Visual Basic 2008 Express Edition tentunya tidak akan sama ketika kita menggunakannya pada Plat Form Visual Basic 6/ pada Plat Formnya sendiri.

Nantinya Sebagai pembanding antara Coding Script Visual Basic 6 dibandingkan dengan Component Library VB6 pada Plat Form Visual Basic 2008 Express Edition akan saya tampilkan dalam contoh aplikasi yang sederhana.

Selamat mencoba Guys! Nantikan Tips Aplikasi Cantik Lainnya by Verynandus Hutabalian.

[+/-] Selengkapnya...

Selasa, 17 Agustus 2010

3D Graphics Visual Basic 2008 Express Edition


Aplikasi kali ini saya akan memvisualisasikan Graphic 3D Form Paint. Baru-baru ini, saya iseng-iseng mencari tutorial programming Graphic 3D dan menemukan contoh script programnya. Source Code Tutorialnya ===>>> Klik Disini, mengamati coding script programming-nya membuat kepala Nyut-nyutan,....

Kok bisa yahhhh programmer neh coding script kayak beginiannnn......dan Saya sangat berharap menemukan suatu celah atau inspirasi untuk dikembangkan menjadi graphic 3D yang lebih aplikative (harapannya sehh........). Graphic 3D yang ditampilkan berupa Cube 3D.

Sekarang saya coba menampilkan hasil visual dari Script VB.net dari Source Code ===>> Disini Klik Neh.... Tutorialnya. Hasil visualnya perhatikan gambar di atas.

ToolBox yang saya pergunakan, perhatikan tabel di bawah ini:

ToolBox
Properties
1 UserFormName: UserForm1
Text: Programming Graphics 3D V. Hutabalian's Blog

Desain Form dari tabel ToolBox di atas, perhatikan gambar di bawah ini.



Setelah selesai mempersiapkan desain Form, dengan mensetting properties Form sesuai dengan yang saya inginkan. Kemudian klik kanan pada Form, pilih View Code saya mengetikkan Source Program di bawah ini.

Script Visual Basic 2008 Express Edition:

'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'
'3D Programming Graphics Visual Basic Express Edition'
'======================================================================='
' Source code Tutorial===>>> Klik Disini'
' Berbagi ilmu Sensasi Kepuasan Tersendiri '
' Visual By: Verynandus Hutabalian'
' Publish to V. Hutabalian's Blog 18 Agustus 2010 '
'+++++++++++++++++++++++========================++++++++++++++++++++++++'

Imports System
Imports System.Drawing
Imports System.Drawing.Drawing2D
Public Enum RotateHorizontal
Left = -1
Center = 0
Right = 1
End Enum

Public Enum RotateVertical
Up = -1
Center = 0
Down = 1
End Enum

Public Enum CubeSides
Left
Right
Top
Bottom
Front
Back
End Enum

Public Structure Cube
Private FLocation As Point
Private FHeight As Integer
Private FWidth As Integer
Private FDepth As Integer
Private FCenter As Point
Private FPath As GraphicsPath
Private FRotateX As RotateHorizontal
Private FRotateY As RotateVertical

Public Property Location() As Point
Get
Return FLocation
End Get
Set(ByVal Value As Point)
FLocation = Value
Changed()
End Set
End Property

Public Property Height() As Integer
Get
Return FHeight
End Get
Set(ByVal Value As Integer)
FHeight = Value
Changed()
End Set
End Property

Public Property Width() As Integer
Get
Return FWidth
End Get
Set(ByVal Value As Integer)
FWidth = Value
Changed()
End Set
End Property

Public Property Depth() As Integer
Get
Return FDepth
End Get
Set(ByVal Value As Integer)
FDepth = Value
Changed()
End Set
End Property

Public Property Center() As Point
Get
Return FCenter
End Get
Set(ByVal Value As Point)
FCenter = Value
Changed()
End Set
End Property

Public ReadOnly Property Path() As GraphicsPath
Get
Return FPath
End Get
End Property

Public Property RotateX() As RotateHorizontal
Get
Return FRotateX
End Get
Set(ByVal Value As RotateHorizontal)
FRotateX = Value
Changed()
End Set
End Property

Public Property RotateY() As RotateVertical
Get
Return FRotateY
End Get
Set(ByVal Value As RotateVertical)
FRotateY = Value
Changed()
End Set
End Property

Public ReadOnly Property X() As Integer
Get
Return FLocation.X
End Get
End Property

Public ReadOnly Property Y() As Integer
Get
Return FLocation.Y
End Get
End Property

'Return the rectangle that bounds the entire polygon
'representing the cube
Public ReadOnly Property BoundsRect() As Rectangle
Get
If (FPath Is Nothing) Then
Return New Rectangle(0, 0, 0, 0)
Else
Dim r As RectangleF = Path.GetBounds()
' Implicit conversion from single to integer,
' really only available in VB
Return New Rectangle(r.X, r.Y, r.Width, r.Height)
End If
End Get
End Property



Public ReadOnly Property Item(ByVal index As CubeSides) As Point()
Get
Select Case index
Case CubeSides.Back
Return Back
Case CubeSides.Front
Return Front
Case CubeSides.Left
Return Left
Case CubeSides.Right
Return Right
Case CubeSides.Top
Return Top
Case CubeSides.Bottom
Return Bottom
Case Else
Return Front
End Select
End Get
End Property

Public ReadOnly Property Top() As Point()
Get
Return GetTop(Location, Height, Width, Depth, _
RotateX, RotateY)
End Get
End Property

Public ReadOnly Property Bottom() As Point()
Get
Return GetBottom(Location, Height, Width, Depth, _
RotateX, RotateY)
End Get
End Property

Public ReadOnly Property Left() As Point()
Get
Return GetLeft(Location, Height, Width, Depth, _
RotateX, RotateY)
End Get
End Property

Public ReadOnly Property Right() As Point()
Get
Return GetRight(Location, Height, Width, Depth, _
RotateX, RotateY)
End Get
End Property

Public ReadOnly Property Front() As Point()
Get
Return GetFront(Location, Height, Width, Depth, _
RotateX, RotateY)
End Get
End Property

Public ReadOnly Property Back() As Point()
Get
Return GetBack(Location, Height, Width, Depth, _
RotateX, RotateY)
End Get
End Property

Public Sub New(ByVal x As Integer, ByVal Y As Integer, _
ByVal height As Integer, ByVal width As Integer, _
ByVal depth As Integer, ByVal rotateX As RotateHorizontal, _
ByVal rotateY As RotateVertical)

FPath = New GraphicsPath
FLocation = New Point(x, Y)
FHeight = height
FWidth = width
FDepth = depth
FRotateX = rotateX
FRotateY = rotateY
FCenter = New Point(Location.X + (width + depth / 2 * _
rotateX) / 2, _
Location.Y + (height + depth / 2 * rotateY) / 2)

ConstructPath()

End Sub

Public Sub New(ByVal x As Integer, ByVal Y As Integer, _
ByVal height As Integer, ByVal width As Integer, _
ByVal depth As Integer)

FPath = New GraphicsPath
FLocation = New Point(x, Y)
FHeight = height
FWidth = width
FDepth = depth
FRotateX = RotateHorizontal.Right
FRotateY = RotateVertical.Up
FCenter = New Point(Location.X + (width + depth / 2 * _
RotateX) / 2, _
Location.Y + (height + depth / 2 * RotateY) / 2)

ConstructPath()

End Sub

Public Sub New(ByVal point As Point, _
ByVal height As Integer, ByVal width As Integer, _
ByVal depth As Integer)

FPath = New GraphicsPath
FLocation = point
FHeight = height
FWidth = width
FDepth = depth
FRotateX = RotateHorizontal.Right
FRotateY = RotateVertical.Up
FCenter = New Point(Location.X + (width + depth / 2 * _
RotateX) / 2, _
Location.Y + (height + depth / 2 * RotateY) / 2)

ConstructPath()

End Sub


Private Sub Changed()
ConstructPath()
End Sub

Private Sub ConstructPath()
FPath = New GraphicsPath
Path.AddLines(GetBack(Location, Height, Width, Depth, _
RotateX, RotateY))
Path.AddLines(GetFront(Location, Height, Width, Depth, _
RotateX, RotateY))
Path.AddLines(GetTop(Location, Height, Width, Depth, _
RotateX, RotateY))
Path.AddLines(GetBottom(Location, Height, Width, Depth, _
RotateX, RotateY))
Path.AddLines(GetLeft(Location, Height, Width, Depth, _
RotateX, RotateY))
Path.AddLines(GetRight(Location, Height, Width, Depth, _
RotateX, RotateY))
End Sub

Private Function GetXFromCenter(ByVal newCenter As Point) _
As Integer
Return newCenter.X - (FWidth + FDepth / 2 * FRotateX) / 2
End Function

Private Function GetYFromCenter(ByVal newCenter As Point) _
As Integer
Return newCenter.Y - (FHeight + FDepth / 2 * FRotateY) / 2
End Function

Public Sub FilleRectangle(ByVal boundingRect As Rectangle)
Dim x As Integer
If (FRotateX = RotateHorizontal.Right) Then
x = 0
Else
x = Math.Abs(Depth / 2 * FRotateX)
End If

Dim y As Integer
If (FRotateY = RotateVertical.Down) Then
y = 0
Else
y = Math.Abs(Depth / 2 * RotateY)
End If

FLocation = New Point(x, y)
FWidth = boundingRect.Width - Depth / 2 - 1
FHeight = boundingRect.Height - Depth / 2 - 1
ConstructPath()
End Sub

Public Function GetCube() As GraphicsPath
Return FPath
End Function

Public Function GetSides(ByVal theseSides As CubeSides()) _
As GraphicsPath
Dim newPath As GraphicsPath = New GraphicsPath
Dim I As Integer
For I = 0 To theseSides.Length - 1
newPath.AddLines(Item(theseSides(I)))
Next I

Return newPath
End Function

Public Shared Function GetXOffset(ByVal depth As Integer, _
ByVal rotateX As RotateHorizontal) As Integer

Return depth / 2 * rotateX
End Function

Public Shared Function GetYOffset(ByVal depth As Integer, _
ByVal rotateY As RotateVertical) As Integer

Return depth / 2 * rotateY
End Function

Public Shared Function GetTop(ByVal point As Point, _
ByVal height As Integer, _
ByVal width As Integer, _
ByVal depth As Integer, _
ByVal rotateX As RotateHorizontal, _
ByVal rotateY As RotateVertical) _
As Point()

Return New Point() { _
New Point(point.X, point.Y), _
New Point(point.X + GetXOffset(depth, rotateX), point.Y + _
GetYOffset(depth, rotateY)), _
New Point(point.X + width + GetXOffset(depth, rotateX), _
point.Y + GetYOffset(depth, rotateY)), _
New Point(point.X + width, point.Y), _
New Point(point.X, point.Y)}
End Function

Public Shared Function GetLeft(ByVal point As Point, _
ByVal height As Integer, _
ByVal width As Integer, ByVal depth As Integer, _
ByVal rotateX As RotateHorizontal, _
ByVal rotateY As RotateVertical)

Return New Point() {New Point(point.X, point.Y), _
New Point(point.X + GetXOffset(depth, rotateX), _
point.Y + GetYOffset(depth, rotateY)), _
New Point(point.X + GetXOffset(depth, rotateX), _
point.Y + GetYOffset(depth, rotateY) + height), _
New Point(point.X, point.Y + height), _
New Point(point.X, point.Y)}
End Function

Public Shared Function GetRight(ByVal point As Point, _
ByVal height As Integer, _
ByVal width As Integer, ByVal depth As Integer, _
ByVal rotateX As RotateHorizontal, ByVal rotateY _
As RotateVertical)

Return New Point() {New Point(point.X + width, point.Y), _
New Point(point.X + width + GetXOffset(depth, rotateX), _
point.Y + GetYOffset(depth, rotateY)), _
New Point(point.X + width + GetXOffset(depth, rotateX), _
point.Y + GetYOffset(depth, rotateY) + height), _
New Point(point.X + width, point.Y + height), _
New Point(point.X + width, point.Y)}
End Function

Public Shared Function GetBottom(ByVal point As Point, _
ByVal height As Integer, _
ByVal width As Integer, ByVal depth As Integer, _
ByVal rotateX As RotateHorizontal, _
ByVal rotateY As RotateVertical) As Point()


Return New Point() {New Point(point.X, point.Y + height), _
New Point(point.X + GetXOffset(depth, rotateX), _
point.Y + GetYOffset(depth, rotateY) + height), _
New Point(point.X + width + GetXOffset(depth, rotateX), _
point.Y + GetYOffset(depth, rotateY) + height), _
New Point(point.X + width, point.Y + height), _
New Point(point.X, point.Y + height)}
End Function

Public Shared Function GetFront(ByVal point As Point, _
ByVal height As Integer, _
ByVal width As Integer, ByVal depth As Integer, _
ByVal rotateX As RotateHorizontal, ByVal rotateY _
As RotateVertical) As Point()

Return New Point() {point, New Point(point.X + width, point.Y), _
New Point(point.X + width, point.Y + height), _
New Point(point.X, point.Y + height), point}

End Function

Public Shared Function GetBack(ByVal point As Point, _
ByVal height As Integer, _
ByVal width As Integer, ByVal depth As Integer, _
ByVal rotateX As RotateHorizontal, _
ByVal rotateY As RotateVertical) As Point()

Dim topLeft As Point = New Point(point.X + _
GetXOffset(depth, rotateX), _
point.Y + GetYOffset(depth, rotateY))

Dim topRight As Point = New Point(point.X + width + _
GetXOffset(depth, rotateX), point.Y + _
GetYOffset(depth, rotateY))

Dim bottomRight As Point = New Point(point.X + width + _
GetXOffset(depth, rotateX), point.Y + height + _
GetYOffset(depth, rotateY))

Dim bottomLeft As Point = New Point(point.X + _
GetXOffset(depth, rotateX), point.Y + height + _
GetYOffset(depth, rotateY))

Return New Point() {topLeft, topRight, bottomRight, _
bottomLeft, topLeft}

End Function

End Structure
Public Class Form1
Inherits System.Windows.Forms.Form

Private cube As Cube = New Cube(100, 100, 100, 200, 50)

Private Sub Form1_Paint(ByVal sender As Object, _
ByVal e As System.Windows.Forms.PaintEventArgs) _
Handles MyBase.Paint
e.Graphics.DrawPath(Pens.Red, cube.GetCube())
End Sub
End Class


Setelah Anda mengetikkan listing source program diatas tekan F5, maka hasil tampilan visualnya seperti gambar di bawah ini.



Saya sangat berharap bisa mempelajari dan mengembangkan script programming Tutorial Graphics 3D di atas dalam bentuk yang aplikative... Untuk sekarang masih di Plototin Doang......Bagi rekan-rekan yang lebih berpengalaman di tunggu saran-sarannya dan kreativitasnya... Semoga dapat Berguna.

Selamat mencoba Guys! Nantikan Tips Aplikasi Cantik Lainnya by Verynandus Hutabalian.

[+/-] Selengkapnya...

Selasa, 10 Agustus 2010

Plot Graphic Sin, Cos, Tan Vs PictureBox


Aplikasi kali ini saya akan menampilkan Graphic Sinus, Cosinus dan Tangen pada PictureBox. Nilai Amplitudo & Frekuesi Graphic dapat di atur dan Graphic tersebut dapat ditampilkan satu persatu atau sekaligus. Hasil tampilannya perhatikan Gambar di atas.

ToolBox yang saya pergunakan, perhatikan tabel di bawah ini.

ToolBox
Properties
1 UserFormName: UserForm1
Text: Graph Sin, Cos, Tan V. Hutabalian's Blog
1 PictureBoxName: PictureBox1
2 LabelName:Label1 & 2
Text Label1: Amplitudo
Text Label2: Frekuensi
3 RadioButtonName1:Sinus
Name2:Cosinus
Name3:Tangent
Text Sinus: Sinus Graph
Text Cosinus: Cosinus Graph
Text Tangent: Tangen Graph
2 ButtonName:Button1& 2
2 ComboBoxName:ComboBox1& 2


Desain Form table Toolbox di atas perhatikan gambar di bawah ini:



Setelah selesai mendesain Form dengan mengatur semua object propertis Toolbox. Ketikkan source program di bawah ini dengan mengarahkan kursor pada design Form, Klik kanan lalu pilih View Code.

Script Graph Sin, Cos, Tan with VB 2008 Express Edition:

'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'
'Graph Sin, Cos, Tan V. Hutabalian's Blog'
'======================================================================='
' '
' Berbagi ilmu Sensasi Kepuasan Tersendiri '
' Programing By: Verynandus Hutabalian'
' Publish to V. Hutabalian's Blog 11 Agustus 2010 '
' Copyright © ==>>> Verynandus Hutabalian '
'+++++++++++++++++++++++========================++++++++++++++++++++++++'

Public Class Form1
Dim dat As Integer
Public x As Double
Public y As Double

Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim ix As Integer = PictureBox1.Width
Dim iy As Integer = PictureBox1.Height
Dim Values(ix) As Double

Dim OldPoint = New Point(0, PictureBox1.Height \ 2)

If Sinus.Checked = True Then
For Me.x = 0 To Values.GetUpperBound(0)
y = iy \ 2 + ComboBox1.Text * 15 * Math.Sin(2 * 3.14159 * ComboBox2.Text * x / 3.5)
Dim NewPoint = New Point(x, y)
PictureBox1.CreateGraphics.DrawLine(Pens.Yellow, OldPoint, NewPoint)
OldPoint = NewPoint
Next x

Else

If Cosinus.Checked Then
For Me.x = 0 To Values.GetUpperBound(0)
y = iy \ 2 + ComboBox1.Text * 15 * Math.Cos(2 * 3.14159 * ComboBox2.Text * x / 3.5)
Dim NewPoint = New Point(x, y)
PictureBox1.CreateGraphics.DrawLine(Pens.Yellow, OldPoint, NewPoint)
OldPoint = NewPoint
Next x

Else

If Tangent.Checked Then

For Me.x = 0 To Values.GetUpperBound(0)
y = iy \ 2 + ComboBox1.Text * 15 * Math.Tan(2 * 3.14159 * ComboBox2.Text * x / 3.5)
Dim NewPoint = New Point(x, y)
PictureBox1.CreateGraphics.DrawLine(Pens.Yellow, OldPoint, NewPoint)
OldPoint = NewPoint
Next

End If
End If
End If
End Sub

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load


ComboBox1.Text = 1
ComboBox2.Text = 0.1
Dim dat1 As Double

For i As Integer = 1 To 10 Step 1
dat = i

ComboBox1.Items.Add(dat)

ComboBox1.Refresh()
Next
For k As Double = 0.1 To 1 Step 0.1
dat1 = k
ComboBox2.Items.Add(dat1)
ComboBox2.Refresh()

Next

PictureBox1.BackColor = Color.Black
End Sub

Private Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
PictureBox1.Refresh()
End Sub

Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
Dim L_Skala As Double = PictureBox1.Width
Dim T_Skala As Double = PictureBox1.Height

Dim V_Grid As Double = 40
Dim V_Grid1 As Double = L_Skala / V_Grid

Dim H_Grid As Double = 8
Dim H_Grid1 As Double = L_Skala / H_Grid


Dim Label_T = 50
Dim Lbl_Grid As Double = L_Skala / Label_T

Dim Label_T1 = 40
Dim Lbl_Grid1 As Double = L_Skala / Label_T


Dim TickSP As New Point(PictureBox1.Width - 5, PictureBox1.Height - 175)
Dim TickEP As New Point(PictureBox1.Width - 5, PictureBox1.Height - 65)
Dim TickSP1 As New Point(PictureBox1.Width - 5, PictureBox1.Height - 17)
Dim TickEP1 As New Point(PictureBox1.Width - 5, PictureBox1.Height - 65)

Dim TextStartX As Integer = CInt(PictureBox1.Width - L_Skala + 357)
Dim TextBrsh As Brush = New SolidBrush(Color.GreenYellow)
Dim TextStartX1 As Integer = CInt(PictureBox1.Width - L_Skala - 5)

For k As Single = 1 To 10 Step 1
e.Graphics.DrawString(CStr(k), New Font("Verdana", 8, FontStyle.Regular), Brushes.Red, 340, TickSP.Y)
TickSP.Y -= Lbl_Grid
TickEP.Y -= Lbl_Grid
Next
For j As Single = -10 To -1 Step 1
e.Graphics.DrawString(CStr(j), New Font("Verdana", 8, FontStyle.Regular), Brushes.Red, 335, TickSP1.Y)
TickSP1.Y -= Lbl_Grid1
TickEP1.Y -= Lbl_Grid1
Next

For i As Integer = 1 To 20 Step 1
e.Graphics.DrawString(CStr(i), New Font("Verdana", 8, FontStyle.Regular), TextBrsh, TextStartX, CInt(PictureBox1.Height - 155))
TextStartX += V_Grid1
Next

For i As Integer = -20 To -1 Step 1
e.Graphics.DrawString(CStr(i), New Font("Verdana", 8, FontStyle.Regular), TextBrsh, TextStartX1, CInt(PictureBox1.Height - 155))
TextStartX1 += V_Grid1
Next

e.Graphics.DrawString("V. Hutabalian's Blog Graphic Sin, Cos, Tan", New Font("Verdana", 10, FontStyle.Regular), Brushes.Silver, 5, 5)

End Sub

End Class

Setelah Anda mengetikkan listing source program diatas tekan F5, maka hasil tampilan visualnya seperti gambar di bawah ini.



Kemudian pilih Graph mana yang ingin ditampilkan dengan menentukan Amplitudo dan Frekuensi.

Graph Sinus:



Graph Cosinus:



Graph Tangen:



Graph Sinus, Cosinus, Tangen:



Pengembangan lebih lanjut, Butuh kreatifitas Anda untuk mengoprek dan mengotak-atik sampai menemukan yang Anda inginkan.

Selamat mencoba Guys! Nantikan Tips Aplikasi Cantik Lainnya by Verynandus Hutabalian.

[+/-] Selengkapnya...

Senin, 09 Agustus 2010

Convert Word 2 PDF With PDF Online


Layanan Online merupakan layanan yang praktis, pakai atau gunakan ketika diperlukan. Apalagi hanya untuk mengconvert suatu File dalam format yang berbeda, saya tidak perlu mendownload software aplikasinya dan menginstallnya ke komputer. Software yang diberikan kadangkala Free Trial/limited, yang setelah batas waktu pemakaian yang diberikan tidak bisa digunakan kembali dan akhirnya jadi sampah tak berarti, kadangkala harus di update secara berkala dan yang paling mengesalkan hasil/output PDF-nya bertuliskan nama lisensi produk converternya (Huhhhhhhhhhhhhhhhhhh). Mungkin hal ini merupakan suatu hal yang tidak asing bagi sebagian pengunjung Blog saya tapi ada kemungkinan ini merupakan hal yang baru bagi sebagian pengunjung lainnya.

Saya menggunakan layanan online Word2PDF Converter Situsnya ===>>> Klik Disini Bro/Sis.

Perhatikan langkah-langkahnya sebagai berikut:

Pertama sekali, tentunya buka layanan onlinenya ===>>> Situsnya .



Kedua, Perhatikan gambar tampilan situsnya. Terdapat beberapa menu: Doc2PDF, PDF2Word, PDF2HTML, Web2PDF. Misalkan sebagai contoh saya meng-convert file document word saya ke format PDF, kemudian Tekan Tombol "Convert Documents to PDF" . Perhatikan gambar di bawah ini.



Ketiga, Tekan tombol Browse. Kemudian saya mencari keberadaan file yang akan saya convert ke format PDF di komputer saya. Setelah itu saya mengisikan alamat email saya, agar hasil convertnya dikirimkan langsung ke alamat email yang saya berikan tersebut. Perhatikan gambar dibawah ini.


Gambar ini setelah File di upload dan alamat email saya yang telah diisikan.


Keempat, pada laman yang sama terdapat tombol Conver to PDF. Klik Tombol tersebut. Perhatikan gambar di bawah ini.



Kelima, Maka hasil PDFnya akan dikirim ke alamat email yang saya berikan. Perhatikan gambar di bawah ini.



Keenam, untuk mendownloadnya Saya harus membuka email saya. Perhatikan gambar di bawah ini, Inbox email saya yang telah di kirimkan hasilnya.



Ketujuh, Buka dengan mengklik pesan yang dikirimkan. Perhatikan gambar di bawah ini setelah pesan di buka.



Saya menarik Scroll di kiri email saya karena pesan yang di kirimkan terlalu panjang. Saya meng-cut gambarnya menjadi beberapa bagian, Hasil convert PDFnya ada di bagian paling bawah dan saya menekan download untuk menyimpan file tersebut ke komputer saya.

Anda bisa menggunakan fasilitas converter lainya tidak hanya Word2PDF tapi dapat juga dengan format converter yang berbeda pada layanan yang diberikan oleh situs tersebut, Selamat mencoba.

[+/-] Selengkapnya...

Dunia Science Terkini

  1. Untaian Genom Dalam 3D
  2. Robot Pelompat
  3. Burung Pertama Bukan Burung
  4. Cincin Terbesar Planet Saturnus
  5. Miliarder Kanada Kembali Dari Luar Angkas
  6. Asteroid Terbesar Kedua di Bimasakti
  7. 32 Planet Terbaru
  8. Planet Terbaru Mengandung Molekul Organik
  9. Tuak Sebagai Energi Alternatif
10. Cumi-Cumi Raksasa Teluk Meksiko
11. Fosil Gajah Purba Teridentifikasi
12. "Ardi" Nenek Moyang Pertama Manusia
13. Konserfasi Gading Gajah Purba Sembarangan
14. Jejak Dinosaurus Terbesar
15. Apakah Manusia Berevolusi
16. Fondasi Kuno 1300 Tahun Lalu Ditemukan
17. Fosil Telur Dinosaurus India
18. Pecahan Keramik Abad XII
19. Penemuan Terbaru Putra Indonesia
20. Udang Tanpa Mata
21. Menguak Misteri Si Raja Laut
22. Goa Terbesar Di Dunia
23. Nobel Fisika Diraih 3 Ilmuan AS
24. Tiga Peneliti Ribosom Raih Nobel
25. Kemungkinan Asteroid Menabrak Bumi
26. 24 Pulau Indonesia Hilang
27. 50 Perusahaan Kategori Hitam
28. Anak SMP Pencipta Antivirus
29. Apakah Manusia Berevolusi
30. Ida, Potongan Jejak Evolusi Primata
31. Nasa Sukses Uju Coba Protipe Ares I-X
32. Monster Laut Inggris Lebih Garang dari T-Rex
33. Ledakan Bone Adalah Asteroid Jatuh
34. Ledakan Meteor Di Bone Lampui Bom Atom
35. Dinosaurus Lapis Baja Ditemukan
36. Retakan Besar di Afrika Bakal Menjadi Samudera Baru
37. Batu Megalitikum Usia Ribuan Tahun
38. Jejak Kaki Dinosaurus Di Selandia Baru
39. Kudus Lacak Tengkorak Homo Erectus
40. Fosil Spesies Baru Dinosaurus Jurassic
41. Di Indonesia Peningkatan Kasus AIDS 8 Kali Lipat
42. 270 Ribu Penduduk Tertular HIV/AIDS
43. Awas, Operasi Permak Miss V tak Aman
44. Manfaat Rokok Hanyalah Sugesti dan Mitos
45. Teknik Pembenaman Karbon Dikaji
46. 2012, Matahari dan Bosscha
47. Bunga Bangkai Raksasa Mekar di Mekarsari
48. Fosil Kepala Gajah Purba Seberat 1 Kuintal
49. Menelusuri Jejak Lava Gunung Pra-Sunda
50. Legenda "Pengisap Darah" Chupacabra
51. Adanya Harapan Kanker Bisa Diobati
52. Sedot Lemak Menggunakan Gelombang Radio
53. NASA Persiapkan Atlantis untuk Misi ke ISS
54. 25 Galon Air Muncrat dari Permukaan Bulan
55. Peluncuran Pesawat Ulang Alik Atlantis
56. Sebuah Sumur Kerajaan Mataram Kuno
57. Seekor Anak Ikan Purba Terekam Kamera
58. Buaya Purba Bergigi Babi Hutan, Tikus & Moncong Lebar
59. Kemungkinan Penyakit Menjangkit di Bulan Desember
60. Kafan Yesus, Tubuh Dalam Kafan Melayang
61. Misteri Berkas Tulisan Kain Kafan Yesus
62. Jemari dan Gigi dari Jenazah Galileo Galilei
63. Ribuan Makhluk Aneh Di Dasar Samudera
64. Akademisi Memperingati 150 Tahun Karya Darwin
65. Peningkatan Tertinggi Gas Rumah Kaca 2008
66. Pemanasan Global Lebih Buruk Dari Perkiraan
67. Ternyata, Kulit Bisa Mendengar
68. Makin Berlemak, Makin Sulit Berhenti Makan
69. Atlantis Menunju Bumi
70. Otak Besar, Tidak Berarti Lebih Pintar
71. 10 Ramalan Kiamat Terbukti Meleset
72. Mesin Big Bang Selidiki Misteri Alam Semesta
73. Ternyata Alien Sudah Membaur Di Bumi
74. Sejarah di Balik Legenda Vampir
75. Pesawat Ulang Alik Atlatis Mendarat Mulus
76. Perjalanan Panjang HIV/AIDS
77. Wah... Setiap Hari Ada 7.400 Kasus Baru HIV!
78. Tim Vertebrata Lanjutkan Penelitian Gajah Purba
79. Wah... Setiap Hari Ada 7.400 Kasus Baru HIV!
80. Kesepian Menular Seperti Virus
81. Militer Inggris Tutup Kuping soal UFO
82. Objek Misterius Dekat Bintang Mirip Matahari
83. Virgin Galactic Kenalkan SpaceShipTwo
84. Tetap Internetan Saat Penerbangan
85. Jepang Luncurkan Satelit Pengintai Kelima
86. Robot Kerang Bisa Ledakkan Tambang di Bawah Air
87. Mahasiswa Matematika Juarai Kompetisi "Hacker"
88. UFO di Sayap Pesawat Lion Air
89. Lima Benda Purbakala Ditemukan di Desa Tanjungsari
90. Afrika Asal Usul Suku Bangsa Asia
91. Kembaranku Robot
92. Pertikaian Microsoft Vs Uni Eropa Berakhir
93. Kopi Tunda Alzheimer Parah
94. Gen Penyebab Alzheimer Berhasil Ditemukan
95. Ada Kaitan Alzheimer dengan Hormon Nafsu Makan
96. Ditemukan Planet Serupa Bumi yang Memiliki Air