Pages

Subscribe:

Ads 468x60px

18 November 2008

CALENDAR EVENT ASP.NET 2.0

Iseng - iseng posting coz udah lama tidak merasakan posting di blog.. :). Kali ini aku mencoba membuat calender yang fully html sih, script tentu saja aku download. Untuk sourcenya aku dapatkan di sini.

Sebenarnya ada banyak contoh yang bisa memanfaatkan component kalender di .NET 2.0, tapi sebagian besar pakai C#, karena aku kurang pengalaman di C#, maka aku pakai saja yang html (Looping untuk buat tabel), beserta connect programmingnya dengan VB.NET.Data event berasal dari database, kebetulan aku pakai Oracle. Untuk koneksi sendiri saya lebih suka ODBC dari Windows XP. Dari contoh, akan tampil semua bulan yang ada pada tahun ini, disini saya customize cuma untuk bulan sekarang. Setelah selesai, kita bikin Class dengan berikut ini. Dalam class ini akan mempunyai satu fungsi untuk mendapatkan Event pada hari tersebut, hari diambil dari parameter pada halaman utama. selain itu, class ini juga digunakan untuk memformat tanggal yang digunakan.




 


Imports Microsoft.VisualBasic

Imports System.Data.Odbc

Imports System.Data



Public Class EventsDAO

' member declaration

Private connString As String

Private dbConn As OdbcConnection



Public Sub New()

'connString =
System.Web.Configuration.WebConfigurationManager.ConnectionStrings("Conn").ToString()

connString = "DSN=DSNName;UID=userDSN;PWD=Password"

dbConn = New OdbcConnection(connString)

dbConn.Open()

End Sub



Public Sub CloseConnection()

dbConn.Close()

End Sub



Public Function GetEvent(ByVal currentDate As Integer, ByVal month As Integer,
ByVal year As Integer) As DataTable

'Dim cmd As OdbcCommand

Dim selectCmd As String

'Dim oAdapter As New OdbcDataReader

Dim ds As New DataSet



'selectCmd = "Select * From Events Where @date1 >= dateFrom and @date2 <= dateTo"

selectCmd = "Select * From CORP_NEWS WHERE TO_CHAR(TANGGAL,'DD/MM/YY')='" &
Right("0" & currentDate, 2) & "/" & Right("0" & month, 2) & "/" & Right("0" &
year, 2) & "' AND STAT='1' "

'response.write(selectCmd)

Dim da As New OdbcDataAdapter(selectCmd, dbConn)



'Dim paramDate1 As New OdbcParameter("@date1", ProperDateFormat(currentDate,
month, year))

'Dim paramDate2 As New OdbcParameter("@date2", ProperDateFormat(currentDate,
month, year))



'cmd.Parameters.Add(paramDate1)

'cmd.Parameters.Add(paramDate2)



'OdbcParameter.SelectCommand = cmd

da.Fill(ds)



Return ds.Tables(0)

End Function



Private Function ProperDateFormat(ByVal d As Integer, ByVal m As Integer, ByVal
y As Integer) As String

Try

Dim months() As String = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul",
"Aug", "Sep", "Oct", "Nov", "Dec"}

Return d.ToString() + "/" + months(m - 1) + "/" + y.ToString()

Catch ex As Exception

Return ""

End Try

End Function

End Class





Untuk CSS, saya masih pakai Originalnya, seperti ini :



 


/* Begin kalender */



.subHeader

{

text-transform: capitalize;

color: #6fa1d9;

font-family: Arial, Verdana;

font-weight: normal;

font-size: 1.1em;

background-color: #f5f5f5;

vertical-align: top;

text-align: right;

/* page-break-after: auto; */

}



.calendarFrame

{

border-right: #add8e6 thin solid;

border-top: #add8e6 thin solid;

border-left: #add8e6 thin solid;

border-bottom: #add8e6 thin solid;

}



.calendarMonthYear

{

font-size: 0.8em;

color: #ffffff;

font-family: Arial;

font-weight: bold;

background-color: #335ea8;

letter-spacing: 1px;

}



.calendarDay

{

font-size: 0.8em;

color: #ffffff;

font-family: Arial;

font-weight: bold;

background-color: #6fa1d9;

}



.hasEvent

{

font-size: 0.8em;

color: #ffffff;

font-family: Verdana, Arial;

background-position: center center;

background-image: url(event.gif);

background-repeat: no-repeat;

text-align: center;

width: 23px;

height: 25px;

cursor: pointer;

vertical-align: middle;

}



.hasNoEvent

{

font-size: 0.8em;

font-family: Verdana, Arial;

text-align: center;

width: 23px;

height: 25px;

}



/* End of Kalender */




Dan yang terakhir adalah Halaman utama untuk menampilkan Kalender, di Design, kita cukup tambahkan Label dengan id berikut .
dan untuk Behind Codenya adalah :



Imports System.Data.OleDb

Imports System.Data

Partial Class Calendar

Inherits System.Web.UI.Page



Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Me.Load

If Not IsPostBack Then

Dim rightNow As DateTime = DateTime.Now

'Response.Write(rightNow.Month.ToString)

Dim bulan As Integer = rightNow.Month

'Response.Write(x)

' Generates report for current year

lblCalendar.Text = "<table width='300px'>"

Dim horizontalRepeat As Integer = 3 ' number of months in horizontal direction

Dim month As Integer



'ori For month = 1 To 12

For month = bulan To bulan

If (month Mod horizontalRepeat = 1) Then

lblCalendar.Text += "<tr valign='top'>"

End If



lblCalendar.Text += "<td>" + generateCalendar(month, 2008) + "</td>"



If (month Mod horizontalRepeat = 0) Then

lblCalendar.Text += "</tr>"

End If

Next



lblCalendar.Text += "</table>"

End If

End Sub

Private Function generateCalendar(ByVal month As Integer, ByVal year As Integer)
As String

' generates the calendar as per the booking status

Dim wholeCalendar(5, 6) As Integer

Dim weeks As Integer = 0

Dim day As String = ""

Dim tmpDate As DateTime

Dim myDate As Integer



For myDate = 1 To 31

Try

tmpDate = New DateTime(year, month, myDate)

If (day = "Saturday") Then

weeks += 1

End If

day = tmpDate.DayOfWeek.ToString()



If (day = "Sunday") Then

'If (wholeCalendar(weeks, 0) > 0) Then weeks += 1

wholeCalendar(weeks, 0) = myDate

ElseIf (day = "Monday") Then

'If (wholeCalendar(weeks, 1) > 0) Then weeks += 1

wholeCalendar(weeks, 1) = myDate

ElseIf (day = "Tuesday") Then

'If (wholeCalendar(weeks, 2) > 0) Then weeks += 1

wholeCalendar(weeks, 2) = myDate

ElseIf (day = "Wednesday") Then

'If (wholeCalendar(weeks, 3) > 0) Then weeks += 1

wholeCalendar(weeks, 3) = myDate

ElseIf (day = "Thursday") Then

'If (wholeCalendar(weeks, 4) > 0) Then weeks += 1

wholeCalendar(weeks, 4) = myDate

ElseIf (day = "Friday") Then

'If (wholeCalendar(weeks, 5) > 0) Then weeks += 1

wholeCalendar(weeks, 5) = myDate

ElseIf (day = "Saturday") Then

'If (wholeCalendar(weeks, 6) > 0) Then weeks += 1

wholeCalendar(weeks, 6) = myDate

End If

Catch ex As Exception

Exit For

End Try

Next



' Generates the HTML calendar

Dim htmlCalendar As String = ""

Dim objEventsDAO As New EventsDAO()

Dim dt As DataTable

Dim i As Integer, j As Integer



htmlCalendar += "<table class='calendarFrame' cellspacing=0>"

htmlCalendar += "<tr class='calendarMonthYear' style='text-align: center;'><td
colspan='7'>" + getMonthName(month) + " " + year.ToString() + "</td></tr>"

htmlCalendar += "<tr class='calendarDay' style='text-align: center;'>
<td>Sun</td> <td>Mon</td> <td>Tue</td> <td>Wed</td> <td>Thu</td> <td>Fri</td>
<td>Sat</td> </tr>"



For i = 0 To 5

htmlCalendar += "<tr>"



For j = 0 To 6

If wholeCalendar(i, j) > 0 Then

dt = objEventsDAO.GetEvent(wholeCalendar(i, j), month, year)

If (dt.Rows.Count > 0) Then

Dim toolTip As String = ""

'Dim toolTip As String = dt.Rows(0)("Judul").ToString() & dt.Rows.Count.ToString

'while dt.Rows.re

Dim baris As Integer = dt.Rows.Count

Dim satu As Integer = 1

While satu <= baris

toolTip = toolTip & " " & satu & ". " & dt.Rows(satu - 1)("Judul").ToString()

satu = satu + 1

End While

htmlCalendar += "<td class='hasEvent' title=""" + toolTip + """><a href=xxx.aspx?tgl="
& wholeCalendar(i, j) & "&bulan=" & month & "&tahun=" & year & ">" +
wholeCalendar(i, j).ToString() + "</a></td>"

Else

htmlCalendar += "<td class='hasNoEvent'>" + wholeCalendar(i, j).ToString() +
"</td>"

End If

Else

htmlCalendar += "<td class='hasNoEvent'>&nbsp;</td>"

End If

Next



htmlCalendar += "</tr>"

Next

htmlCalendar += "</table>"



' Close database connection

objEventsDAO.CloseConnection()



' returns the generated HTML calendar

Return htmlCalendar



End Function



Private Function getMonthName(ByVal month As Integer) As String

Dim months() As String = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul",
"Aug", "Sep", "Oct", "Nov", "Dec"}



Return months(month - 1)

End Function

End Class





Gimana, cukup mudah sebenarnya, silahkan mencoba.. :)



Up | Down | Top | Bottom

26 September 2008

TROUBLE EM DI WIN 2003 SERVER

Ceritanya saya habis install Oracle 10g Release 2 di computer server. Mumpung ada server baru, saya buat experiment dulu saja..he…3x :-D . Awalnya proses install berjalan dengan lancar. Mulai dari setting SID,db, package dll. Setelah setting semuanya, database jalan dengan user dan tablspace default.

Tahap selanjutnya, saya mau buat tablespace dan user untuk tablespace tersebut. Lebih mudah, karena ini database 10g, maka saya pakai Enterprise Manager. Enterprise manager sendiri di Windows sudah langsung jalan, tidak seperti di linux. Namun saat aku browsing path buat menentukan tablespace, harus memasukkan username dan password host tersebut, sudah aku masukin dengan benar, namunmuncul error “get RemoteOperationException:ERROR: WRONG PASSWORD FOR USER”.
Setelah googling ternyata mudah sekali mengatasinya.
1.pilih control panel/administrative tools
a. klik on "local security policy"
b. klik on "local policies"
c. klik on "user rights assignments"
d. double klik on "log on as a batch job"
e. klik di "add" dan tambahkan user "normal username" atau "privileged username" yang akan digunakan di EM Manager..

2. Klik Preferences di EM.
a. klik Preferred Credentials (pada kiri)
b. dibawah "Target Type: Host" klik di "set credentials"
c. masukkan username yang telah didaftarkan ke field "normal username" dan "normal password"

3. Test koneksi
a. pada Set Credentials window, klik "Test"

Mudah kan, denger-denger di XP juga perlu didaftarkan usernya.

Terima kasih


22 August 2008

WATERBOOM SEMARANG "NUSANTARA"

Sabtu sebelum perayaan HUT RI ke-63 (16 Agustus 2008) saya gak ada kerjaan di rumah. Rencana mau mudik, namun tidak mungkin karena minggu tepat HUT RI ada acara di kantor. Meskipun acara puncak sudah diadakan hari jum’at, hari minggu hukumnya tetap wajib. Daripada nganggur di rumah tanpa tujuan, akhirnya aku putuskan untuk jalan-jalan saja.h3….3x. :D .

Rencana tujuan emang yang nyante2, udara jelas harus sejuk and bisa buat refreshing. Tersirat di pikiran mungkin jenis obyek wisata “AIR”. Coba googling dengan keyword “waterboom Semarang”, eh ternyata tidak ketemu. Jadi ingat dulu waktu ke jawa sekatul , aku lewat sebuah tempat pemancingan yang “katanya” ada waterboom’nya. Ya udah, aku putuskan untuk tujuannya adalah tempat tersebut.
Tempat ini dinamakan “Waterboom nusantara”, dari namanya kayaknya sih umum banget.. :). Di sini ada kolam pemancingan, kolam renang serta arena luncur ke kolam (entah ini bisa disebut waterboom atau bukan). Lokasi tempat ini ada di daerah Cangkiran, daerah sebelum Boja Semarang. Untuk ukuran udara, tempat ini tergolong sejuk karena berada di ketinggian yang lumayan. Selain itu tempat ini masih asri dengan dikelilingi sawah. Untuk biaya masuk “Free”. Sedang untuk tariff masuk kolam renang(“non minggu”) adalah rp. 7.500, 00 . lumayan murah broo…!!! Karena hari sabtu, tempat ini tidak terlalu ramai. Puas deh renang dengan main seluncur (kayak anak kecil aja..:). Sayang di temapt ini belum ada tempat outbond, namun setelah saya cermati, tempat ini belum 100% jadi, masih ada proyek pembangunan yang menurut perkiraan saya adalah tempat outbond. Tertarik?? Silahkan aja kunjungi tempat tersebut.. !!

15 July 2008

Add Module MySQL di IIS

Bila anda memakai server IIS dengan dual technology (tambah dengan PHP), maka anda perlu melakukan beberapa langkah untuk setting MySQL. Untuk running PHP di IIS, tentu sudah banyak artikel yang menjelaskannya. Berikut pengalaman saya setting dengan PHP 5.2.6 installer.
Setelah download PHP for Windows di sini, silahkan install dan lakukan regristrasi ISAPI PHP di IIS. Ternyata default file .dll buat database MySQL waktu installer tidak ada. Maka anda harus mengkopi file tersebut ke sebuah folder. File tersebut adalah php_mysql.dll.

Bila anda menginstall di C:\PHP untuk lebih mudahnya copy ke C:\PHP\ext\. setelah itu jangan lupa setting extension_dir = C:\PHP\ext\ di php.ini yang terloading PHP. Jangan lupa buang tanda “;” pada extension tersebut. Example “extension=php_mysql.dll”. Langkah berikutnya tinggal menambahkan library MySQL (libmysql.dll). Untuk lebih mudahnya biar kita tidak melakukan penambahan environtment, copy file tersebut ke C:\Windows\System32\.
Setelah semua proses, restart komputer dan module MySQL sudah ada pada php anda. Mungkin sepele bagi yang sudah banyak bermain di PHP mySQL. He…3x

06 May 2008

JAWA SEKATUL

Libur kemaren (1 mei 2008), yang tanggal 2 Mei (Harpitnas) tidak jadi libur. Dulu sih rencanaya mau mudik ke Rumah, tapi gagal deh semuanya. Karena anak-anak rumah pada punya acara sendiri, aku juga ngadain acara sendiri donk..he..3x. Iseng-iseng sekalian ngilangin kepenatan kantor dan kampus, rabu malem aku searching-searching wisata di sekitar semarang yang belum aku kunjungi. Yang pertama adalah daerah kopeng(ambarawa) dan sekitarnya, kata temen-temen di daerah sini ada kereta makan or apalah. Kayaknya sih menarik, tapi berhubung musim hujan, aku nggak berani. Terus ada juga di daerah Ungaran, tempat outbond dan kolam renang, tapi teman-teman jarang yang tahu, jadi kurang info deh.

Akhirnya aku putusin ke Kampoeng Djawa Sekatul, dulu ini tempat mau dijadikan acara outbond kantor. Sekilas dari internet bagus banget nih tempat. Lokasinya ada di daerah dekat Boja, letak spesifiknya aku lupa. Aku start bersama "doi" dari semarang ke arah Kendal, lalu belok ke arah ngaliyan, terus Boja. Ntar sebelum nyampe Boja ada tanda ke arah sini, tinggal ikuti aja pasti nyampe. Perjalanan dari kota Semarang nggak nyampe 2 Jam, itupun dengan kondisi jalan yang lumayan rusak.. Pada dasarnya tempat ini merupakan tempat wisata di lereng gunung, ada tempat outbond dan juga pemancingan. Di sini mengadalkan suasana “kampung” atau “desa” sebagai daya tariknya. Di tempat ini terdapat banyak rumah mini (cuma ruang tamu) yang bernuansa jaman dulu, tempat ini buat tempat makan dan cocok sekali buat acara keluarga.

Selain itu ada juga tempat outbond, namun saya sedikit kecewa karena cuma sedikit permainanya, lagian juga perlengkapanya yang kurang terawat dan termakan usia. Aku putuskan untuk tidak maen karena alas an ini, lagian perutku juga mules pas sampe sini.. he..3x. tempat yang favorit adalah kolam pancing, di pinggir kolam ada beberapa tempat untuk makan, aku sih cuma nunggu makan tanpa mancing, abis ntar malah bingung mau diapakan ikannya, maklum di rumah nggak ada perlengkapan masak.

Waktu pulang, aku putuskan untuk nyari jalan yang beda. Ternyata Kampung Djawa Sekatul ini bisa dijangkau dari arah Ungaran-Boja. Aku coba aja lewat sini, dan ternyata lebih dekat via Gunung Pati-Unes karena rumah ada di Sampangan. Asyik juga pokok tempat ini, tapi kalau untuk vote, mungkin masih di bawah 8.

25 April 2008

REKOR MURI

Minggu kemaren (20 April 2008) saya ikutan acara kampus teman satu rumah. kampusnya adalah Unisbank-Semarang. Acaranya adalah jalan sehat memperingati HUT 40 Tahun. Awalnya sih gak tertarik untuk join, namun setelah dibujuk ama teman-teman, akhirnya ngikut juga. Lagian minggu pagi sekarang aku jarang jogging.

Untuk tiketnya aku nitip temanku yang notabene adalah mahasiswa Unisbank. Harusnya tiap daftar dapet kaos, tapi karena aku cuma nitip, kaos baru diambil pas hari Minggu. Tiket cuma Rp 5.000,00 , dapet kaos (maap, menurut saya jelek), soft Drink (hanya aqua)dan satu kupon undian dengan hadiah utama Sepeda Motor dari Honda. Acara ini ternyata mendapat banyak sponsor, ada Honda, Indosat, Mie sedap dan Lembaga Pendidikan apa gitu.. :).
Acara dimulai jam 6.30 pagi (terlambat 30 Menit) dari Kampus Unisbank. Pada start, ada atraksi barongsai yang cukup memikat audiance. Rute adalah jl. Pandanaran, Jl. Kyai saleh, Taman KB dan berakhir di Tri Lomba Juang. Saat di Tri Lomba juang, ada hiburan Band Music, dance dan beberapa acara dari sponsor. Ternyata yang banyak dapet doorPrize orang tua, padahal acaranya kan pelajar. sampai-sampai mencatatkan rekor MURI. By the way, ternyata museum MURI itu ada di Srondol Semarang to... wakakkka Menurut aku, MURI terlalu mudah dalam membuat rekor.

15 April 2008

BHINNEKA VS CLS

hari Minggu kemaren (13 April 2008) aku iseng-iseng nonton Babak Play Off IBL 2008 antara Bhinneka Solo Melawan CLS Knight Surabaya. Pertandingan ini kebetulan diadakan di Semarang, bukan di Solo dengan alasan agar tempatnya netral. Tempatnya di GOR Sahabat Semarang. Dasar aku, udah 3 tahun di Semarang tapi nggak tahu mana tuh GOR Sahabat.Akhirnya sabtu setelah lihat Game pertama di TVOne, aku langsung survey lokasi. Arahanya sih daerah Tlogosari. Di situ uda banyak umbul-umbul Mild dan XL yang menjadi sponsor Utama.
Sebenarnya sih aku pegang CLS, meski pemainnya muda-muda dan pada Game pertama sudah kalah. Maklum, dari Surabaya Rek..:). CLS butuh kemenangan untuk bisa memaksakan Game 3 bila ingin lolos. namun Bhinneka ternyata lebih berpengalaman. Dan akhirnya Game itu dimenangkan oleh bhinneka dengan 101-82. Gila, lumayan banyak juga poinya untuk ukuran IBL. Pemain terbaik sendiri diperoleh Febri Utomo yang merupakan pemain muda. Pemain ini lincah banget, bahkan waktu All Star dulu dia hampir menjadi MVP.

Untuk tahun ini aku pegang Satria Muda. dulu sebanarnya pilih ASPAC, tapi ternyata pemainnya udah pada tua. Mending Satria Muda yang pemainnya memang masih Muda.

07 April 2008

FCK EDITOR DI ASP.NET

Jadi ceritanya lagi buat portal untuk posting berita. Awalnya aku pakai input text dan dengan penyisipan script html
untuk ganti baris. Terus user Tanya, gimana kalo italic, bold or underline? Setelah dapet referensi teman, akhirnya aku nyoba2 FCKEditor.

FCKEditor adalah HTML Text Editor, yang digunakan pada web seperti editornya MSWord. Jauh lebih baik ketimbang kita sisipkan HTML Script. Adapun FCKEditor ini support untuk banyak Language.Dari yang basic seperti Javascript, ASP, PHP, phyton dan juga bisa di ASP.NET. untuk lebih detail bisa dilihat di sini.

Aku pakai yang untuk ASP.NET. Ada dua yang harus diDownload. Pertama FCK Editornya ( berisi script dan file2 pendukung buat tools). Untuk yang support html ( ASP, PHP ) kita cukup download ini. Bisa di Download di sini. Untuk yang .NET kita harus download lagi .dll buat FCK ini.

Setelah aku ikuti step by step, ternyata masih ada masalah. Setelah googling dapet issue harus di setting Basepath tiap component, bisa dilihat di sini. Namun belum bisa, ternyata bisa solved dengan sini. Harus dibuang beberapa mark sebelum style di file fckstyles.xml. dan OK..!!
Ternyata FCKEditor ini very easy, very rich…

Selamat mencoba…



17 March 2008

LOST MY DATA..!!!


Awal minggu sebelum liburan sial banget nih… masak file webku hilang semua. Ceritanya aku mau nyoba FCKEditor di ASP.NET. Untuk yang ASP klasik udah jalan. Lha aku buat WEBSITE baru di LocalDrive D:/portal/ setelah agak lama ternyata masih gagal. Analisaku bahasa VB.NET gak pengarauh buat ASP.NET yang memakai C# seperti contoh, karena namespace sudah ada di Reference .dll. Karena masih penasaran, aku mencoba pakai yang C# dengan website baru.
Karena ingin tetap dengan Folder portal maka folder portal di D:/portal/ aku hapus dan diganti dengan bahasa C#. namun sialnya aku pakai drive E:/portal/ yang merupakan drive server webku. Bukan yang di drive D yang kuhapus, tapi E. sekilas sadar akan kesalahanku, tapi proses penghapusan file yang belum genap 3MB lebih cepat dari responku. Wah bisa hancur nih project yang kubuat hamper sebulan.
Pertama-tama tak cari di Recycle Bin Kompiku, sapa tahu ada karena tadi Cuma delete, bukan Shift+Delete. Nothing…!! Lalu aku cari di computer server, nothing juga.. wah, mulai keruh nih suasana. Akhirnya portal aku redirect dulu ke yang lama ( ASP classic ). Alahmdullilah lancar. Habis itu nyoba cari Recovery Software. Dapat sih, tapi Cuma 64 kb. Aku coba recovery di computer server, dan Alhamdulillah semua halaman aspx dan aspx.vb bisa balik. Kulanjutkan dengan .JPG, .gif. sialnya .css dan .master ( buat masterpage ) tidak bisa. Untuk yang masterPage.master.vb ada. Akhirnya dengan berat hati aku bikin design main Masterpage untuk portal, sehari Cuma dapat 75%. Namun lumayan cepat karena dulu sudah pernah bikin. Target besok sudah selesai. Dan semoga liburan nanti bisa enjoy.. .
Dari sini ada beberapa pelajaran yang bisa diperoleh :
1. teliti, ini sangat penting bagi programmer, untuk saja bukan database ORACLEku..
2. Sabar, kurang teliti mungkin disebabkan aku kurang sabar karena belum bisa setting FCK di ASP.NET. next harus bisa.
Yah semoga next ngga ada lagi kesalahn kecil yang fatal.. Amiin.. chayoo..!!!




21 February 2008

3.61, NOT BAD...!!



3,61 lumayan baik sih, secara aku kan tidak hanya focus pada kuliah. Apalagi waktu ujian kemaren kerjaan kantor juga menumpuk. Untung saja tidak ada tugas ke luar kota.. he…3x. walau target sudah terlaksana(dulu 3,25 terus naek 3,5) tapi aku agak nyesel untuk mata kuliah mikroprosessor. Padahal menurutku sih bisa dapat A, koq Cuma dapat B. anyway, allhamdulillah untuk hasil yang telah tercapai.
Sekarang ceritanya aku udah semester 4, insya allah 2 tahun lagi lulus.. Amiin..!! semoga....!!!

17 January 2008

PENGACAKAN DENGAN VB.NET

Karena kemaren ada sedikit waktu, plus pengin mendalami teknologi .NET, aku iseng buat program pengacakan angka, ini bisa juga untuk program-program pengundian. Data aku pilih pakai File .txt karena relative kecil daripada dari database atau excel. Awalnya aku kira pengacakan pakai metode looping, namun sudah nyari kemana-mana, ternyata tidak ada syarat yang bisa menghentikan looping tersebut by event button(rencana start dan stop pakai button)
Lansung aja kita bikin project di VB.NET, kebetulan pakai yang express 2005 cukup powerfull, kecuali kalau memang mau bikin yang big size. Untuk membaca file .txt aku tampung data-data tersebut dengan array. Caranya kita definikan dulu variable global buat array :
Dim Ar(15000000) As String (kebetulan data yang diacak string)


Untuk membaca data kita imports dulu Imports System.IO, terus di form_load kita isi dengan :

Using sr As StreamReader = New StreamReader("Data.txt")
Dim line As String
' Read and display the lines from the file until the end
' of the file is reached.
Do
line = sr.ReadLine()
Ar(n) = line
n = n + 1
Loop Until line Is Nothing
sr.Close()
End Using

Otomatis semua data telah tersimpan di Array Ar.
Untuk interval pengacakan kita butuh component Timer(disini Timer1) didefault false, dalam event Timer1_Tick kita isi dengan :

Dim x As Integer
Dim nilai As String
x = CInt(Int((n * Rnd()) + 12))
nilai = Ar(x)
TextBox1.Text = nilai
Me.Refresh()

Script di atas pertama nyari random integer(x) dari jumlah data array, terus nilai dari array tersebut ditampilkan dalam TextBox1. Disini kecepatan interval timer sangat berpengaruh.

Selanjutnya kita bikin controller buat pengundiannya,
Untuk start pengundian tinggal pakai Timer.Enabled = true dan stop pakai Timer1.Enabled = false.
Jadi deh program pengundiannya, rencana mau tak tambahin setting background(di sesuaikan dengan event pengundiannya) dan juga datanya.