Arsip

Arsip Penulis

Stack (Tumpukan)

22 Januari 2013 1 komentar

Ada temen kantor yang masih kuliah dan galau dengan tugas kuliahnya tentang Stack (Tumpukan) karena dia akan boring kalau belajar programming….hi…makanya sambil bantu sambil refresh ilmu waktu kuliah dulu.

Stack adalah suatu tumpukan dari benda. Konsep utamanya adalah LIFO (Last In First Out), benda terakhir masuk dalam stack akan menjadi benda pertama yang dikeluarkan dari stack. Di Pascal, ada 2 cara penerapan prinsip stack yakni dengan array dan linked list.

Langsung saja tidak pakai panjang x lebar ini source hasil belajar menggunakan VB.Net…he…sory kalo masih jelek and salah…hi…

Public Class fStack

  Private Const vMax As Integer = 14
  Private stc As stStack

  Structure stStack
    Public top_push, top_pop As Integer
    Public data_push(), data_pop() As String
  End Structure

  Private Sub prPush(ByVal pStr As String)
    stc.data_push(stc.top_push) = pStr
    stc.top_push += 1
  End Sub

  Private Sub prShowStack(ByVal pConPop As Boolean)
    lbPush.Items.Clear()
    For i As Integer = stc.top_push - 1 To 0 Step -1
      lbPush.Items.Add(stc.data_push(i))
    Next
    If pConPop Then
      lbPop.Items.Clear()
      For i As Integer = stc.top_pop - 1 To 0 Step -1
        lbPop.Items.Add(stc.data_pop(i))
      Next
    End If
  End Sub

  Private Function fnPop() As String
    Dim tTmp As String = String.Empty
    If stc.top_push <> 0 Then
      stc.top_push -= 1
      tTmp = stc.data_push(stc.top_push)

      ReDim Preserve stc.data_pop(stc.top_pop)
      stc.data_pop(stc.top_pop) = tTmp
      stc.top_pop += 1
      prShowStack(True)
    Else
      MsgBox("Stack telah Kosong...!", MsgBoxStyle.Exclamation, "Perhatian")
    End If
    Return tTmp
  End Function

  Private Sub btPush_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btPush.Click
    If txInput.Text = String.Empty Then
      MsgBox("Silahkan masukkan data yang akan di Push...!", MsgBoxStyle.Exclamation, "Perhatian")
      Exit Sub
    End If
    Try
      If stc.top_push <> vMax Then
        prPush(txInput.Text)
        prShowStack(False)
      Else
        MsgBox("Stack telah Penuh...!", MsgBoxStyle.Exclamation, "Perhatian")
      End If
    Finally
      txInput.Focus()
    End Try
  End Sub

  Private Sub btPop_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btPop.Click
    Try
      fnPop()
    Finally
      txInput.Focus()
    End Try
  End Sub

  Private Sub fStack_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
    With stc
      .top_pop = 0
      .top_push = 0
      ReDim .data_push(vMax - 1)
    End With
  End Sub
End Class

O iya di form designnya saya kasih 1 label, 1 textbox, 2 listbox dan 2 button.

Hasil running programnya :

view_stack

Terima Kasih…

Implementasi Fungsi LIMIT di Database

30 Agustus 2012 4 komentar

Kali ini saya akan berbagi cara menggunakan LIMIT di berbagai database seperti MySQL, PostgreSQL dan SQL Server. Mungkin untuk yang sering membuat web sering digunakan untuk paging data cuma kalau saya lebih berfungsi untuk melakukan paging transfer data karena kalo data yang akan di transfer ada banyak maka butuh banyak memory untuk load datanya sehingga harus menggunakan cara LIMIT ini.

Ya biar tidak terlalu banyak cakap berikut ini syntax yang digunakan

Data Awal

SELECT * FROM data_produk ORDER BY id_prod

Syntax yang dipakai di database

MySQL

SELECT * FROM data_produk ORDER BY id_prod LIMIT 10,5

PostgreSQL

SELECT * FROM data_produk ORDER BY id_prod LIMIT 5 OFFSET 10

SQL Server

SELECT TOP 5 * FROM data_produk WHERE id_prod NOT IN (SELECT TOP 10 id_prod FROM data_produk) ORDER BY id_prod

Hasil yang akan dikeluarkan

yang hanya secuil tutorialnya…semoga bermanfaat…terima kasih…he… 🙂

Test FLEXI EVDO di Mojokerto

23 Juli 2012 2 komentar

Ya karena SmartFren paket setanq yg LokalPlus habis kena trantibx smartfren jadi sudah kgk bisa EVDO cuma bisa dapat CDMA 1X yang biasax dpt speed antara 300kbps – 400kbps turun cuma dapat 15kbps, buka browser aj lama banget, untungnya paketx mau habis kurang 1 minggu lagi cm kasihan ada temen ane yg baru bli cm 2 bulan sdh kna trantib…eee akhirx dpt sedikit angin segar dri tmen2 blogger kalo FLEXI EVDO sudah ada di Mojokerto dengan rasa penasaran beli kartu FLEXI ddeket kantor harga cuma Rp.5000 dcoba drumah sinyal sudah keluar dengan signal bar 80% utk EVDOx dcoba connect kluar tulisan ‘Connecting Device’ trus akhirx kgk bisa pakai modem EC306-2 trus coba ganti CE-100 tetep kgk bisa stelah dpikir2 apa karena beda area y…trus bsokx coba cari2 yg area mojokerto dapet cm bukan yg mobile broadband Rp.8000 dicoba sudah bisa pakai CE-100 bisa konek cm sayang hanya yg CDMA 1X trus browsng rupax yg bisa FLEXI EVDO cuma yg di perdanax bertuliskan ‘Mobile Broadband’, coba cari2 keliling counter Mojokerto kagak dapat2, ehm ad temen kaskus yg kasih tahu suruh beli d center point FLEXI Rp.70.000, eee rupax deket rumah…he…

Setelah dapet kartunya langsung coba di EC306-2 dengan hasil sama sinyal EVDO dapet cuma kgk bisa connect dan coba ganti modem dengan rasa was2 d CE-100 alhamdulillah bisa langsung geber buat download programx speedx lumayan dapet skitar 100kbps – 175kbps. Ehm rasa penasaran muncul kenapa cuma dapat speed sgitu bukanx promox 3,1MBps, coba browsing rupax utk paket bundling perdana promo FLEXI BROADBAND 2 bulan itu cm dapat 1,2MBps…ehm kalo tahu begitu q cm beli perdanax aj cm kgk tahu ada tidaknya krn lg promo… 🙂

Ini hasil speed test yang q coba…


Baca selengkapnya…

Install pgAgent (PostgreSQL Job Scheduler)


Cara melakukan install pgAgent di Windows atau Linux :
1. Persiapkan syntax pgAgent.
Syntax pgAgent yang terbaru bisa dicek di pgAgent. Jika sudah didownload buka extractnya dan buka file pgagent.sql di notepad atau lainnya dan copy isinya.
2. Jika sudah masuk ke pgAdmin Query dan paste code sql diatas dan jalankan querynya.

3. Setelah dieksekusi akan terlihat job icon di pgAdmin.

Karena job scheduler di pgAdmin masih belum berjalan cara yang digunakan

Untuk Windows :

1. Registrasi service di windows. Masukkan syntax berikut di command prompt.

C:\Program Files\PostgreSQL\8.2\bin\pgAgent INSTALL pgAgent -u postgres -p secret hostaddr=127.0.0.1 dbname=newdb user=postgres password=secret

ket : tulisan kalimat INSTALL berupa huruf besar semua.

2. Jika sudah menambahkan service di windows maka masuk ke service windows (Start -> Control Panel -> Administrative Tools -> Services). Cari yang bertuliskan PostgreSQL Scheduling Agent -> pgAgent dan klik kanan pilih Start.

Untuk Linux :

— Tunggu dulu ya 🙂 — karena pgAgent masih tidak jalan di Linux sementara pakai crontab dulu…

Selamat Mencoba dan Terima Kasih…

Install FastReport di Delphi

23 Mei 2012 4 komentar

Langkah untuk melakukan instal FastReport di Delphi :
1. Pertama, kita siapkan dulu FastReport nya.

2. Kita klik dulu file Recompile.exe.


3. Select the compiler, pilih delphi yang Anda gunakan(dalam hal ini saya menggunakan delphi XE).

4. Select the FastReport version, Silahkan pilih bisa Professional atau Enterprise.

5. What you want to do, Pilih RadioButton yang Recompile all packages.

6. Terbentuk folder LIBD15 (karena saya menggunakan delphi XE), kalau delphi 7 bernama folder LIBD7.

7. Buka Aplikasi Delphinya, pilih Tools -> Options -> Environment Options -> Delphi Options -> Library, pada Library path tekan tombol “…” tambahkan alamat folder LIBD15 (Delphi XE) atau LIbD7 (Delphi 7)-nya tekan Add -> OK -> OK.

8. Klik Component -> Install Packages -> Add, pilih semua *.bpl yang ada di LibD15 (Delphi XE) atau LibD7 (Delphi 7). Dibagian Design Packages lihat apakah component FastReport dan FastScript sudah dicentang. Kalau sudah tekan OK.

9. Kalau sudah lihat dibagian Tool Pallete ketika buat project ada Panel baru FastReport.

Yah cukup sekian caranya…

Selamat Mencoba…

Terima Kasih…

Test Internet SmartFren Rev. B di Mojokerto

23 Februari 2012 7 komentar

Setelah beli modem SmartFren Rev. B Huawei EC306-2 di kaskus, biasa cari yang second aja kan lebih murah…he…Setelah barang sudah didapat akhirnya ingin juga mencoba speed yang didapat di Mojokerto, dengan rasa penasaran apalagi sudah lihat coverage area daerah Mojokerto sudah tercoverage sama Rev. B. Pasang Kartu, Isi pulsa dan daftar paket yang volume based 12 GB Rp. 150.000 yang speednya up to DL 14,7 Mbps UL 5,4 Mbps. Cek di dashboard Huawei EC306-2 sudah keluar tulisan Rev. B…

Langsung coba connect akhirnya bisa juga connect pakai Rev. B lalu ingin coba speed yang didapat dengan menggunakan SpeedTest.Net dan PingTest.Net.
SpeedTest.Net


Baca selengkapnya…

Setting Memory Windows XP Mode

22 Februari 2012 Tinggalkan komentar

Coba2 instal aplikasi di Windows XP mode enak juga sampai banyak aplikasi yang diinstal disana baru dech terasa komputer lemot banget, setelah dicek rupanya settingan memory Windows XP Mode cuma 512 MB saja. Akhirnya ingin menaikkan memory jadi 1 giga dan coba browsing dapat cara yang cukup mudah dengan buka Windows XP Mode –> Tools –> Settings –> Memory cuma dengan catatan jika ingin menggantinya Windows XP Mode harus dalam keadaan Shut Down, nah cara untuk ShutDown tinggal klik tulisan Ctrl + Alt + Del lalu pilih ShutDown.

Nah masalahnya setelah saya lakukan cara diatas Windows XP Mode langsung menutup semuanya jadi gimana cara settingnya dan ketika Windows Xp Mode jalan setting memory tidak bisa diganti…lalu ada yang kasih cara tambahan dengan melakukan setting lagi di bagian Tools –> Settings –> Close –> pilih Prompt for Action, cuma cara ini masih tetap saja tidak bisa. Baca selengkapnya…

Encrypt dan Decrypt Data SQL Server

22 Februari 2012 4 komentar

Kadangkala kita memerlukan enkripsi data untuk proses penyembunyian password di dalam database, fungsi ini diperlukan karena bisa jadi kita tidak menginginkan seseorang membaca dari tabel kita dan menyalahgunakan password tersebut.

Ada banyak sekali metode encrypt data, tapi inti dari metode-metode tersebut dikatakan bagus jika :

  • Hasilnya sulit ditebak, bisa jadi dengan password yang sama dan keyword yang sama dalam waktu yang berbeda akan menghasilkan nilai yang berbeda, maka metode ini sulit sekali untuk dibongkar.
  • Proses encrypt / decrypt cepat, seringkali suatu encrypt yang sulit dibongkar memerlukan waktu saat melakukan encrypt, proses ini sebenarnya tidak terlalu berpengaruh jika pengakses tersebut tidak begitu banyak tapi menggangu jika pengakses banyak.

Untuk melakukan encrypt / decrypt dalam perintah Transact SQL, SQL Server telah menyediakan beberapa fungsi internal yang dapat kita gunakan, fungsi itu relatif cepat, mudah digunakan dan yang terpenting sulit dibongkar karena selalu menghasilkan nilai yang berubah disesuaikan dengan key yang dimasukkan.

Syntax untuk melakukan proses Encrypt dan Decrypt di database SQL Server. Baca selengkapnya…

Send Email di SQL Server Express

28 Desember 2011 2 komentar

Kemarin habis meeting dikantor dan ada tugas baru dimana ada data yang harus dikirim lewat email. Sedangkan datanya harus dikirimkan berkala jika terjadi masalah dicabang. Akhirnya browsing2 dan ketemu di website MS SQL Tips.  Cara untuk melakukan kirim email melalui SQL Server Express dengan data hasil proses Stored Procedure.

Nah tanpa banyak cerita seperti ini caranya membuatnya…
1. Buat File SendEmail.vb dengan isi syntax seperti dibawah ini.

Imports System.Net
Imports System.Net.Mail

Public Class SQLCLREmail
  <Microsoft.SqlServer.Server.SqlProcedure()> _
  Public Shared Sub SendEmail(ByVal recipients As String, ByVal CC as String, ByVal BCC as String, ByVal subject As String, ByVal from As String, _
    ByVal body As String, ByVal strAttachments as String, ByVal strSMTPServer as String, ByVal strSMTPServerPort as String, _
    ByVal strSMTPServerUser as String, ByVal strSMTPServerPwd as String)

    Using MailMsg As New MailMessage()
      MailMsg.From = New MailAddress(from)
      MailMsg.Subject = subject
      MailMsg.Body = body
      MailMsg.IsBodyHtml = True

      If Not recipients.Equals(String.Empty) Then
        Dim strRecip As String
        Dim strTo() As String = recipients.Split(";")

        For Each strRecip In strTo
          MailMsg.To.Add(New MailAddress(strRecip))
        Next
      End If

      If Not CC.Equals(String.Empty) Then
        Dim strCCRecip As String
        Dim strCCTo() As String = CC.Split(";")

        For Each strCCRecip In strCCTo
          MailMsg.CC.Add(New MailAddress(strCCRecip))
        Next
      End If

      If Not BCC.Equals(String.Empty) Then
        Dim strBCCRecip As String
        Dim strBCCTo() As String = BCC.Split(";")

        For Each strBCCRecip In strBCCTo
          MailMsg.BCC.Add(New MailAddress(strBCCRecip))
        Next
      End If

      If Not strAttachments.Equals(String.Empty) Then
        Dim strFile As String
        Dim strAttach() As String = strAttachments.Split(";")

        For Each strFile In strAttach
          MailMsg.Attachments.Add(New Net.Mail.Attachment(strFile.Trim()))
        Next
      End If

      If Not strSMTPServer.Equals(String.Empty) Then
        Dim smtp As New System.Net.Mail.SmtpClient
        With smtp
          If Not strSMTPServerUser.Equals(String.Empty) Then
            .UseDefaultCredentials = False
            .Credentials = New System.Net.NetworkCredential(strSMTPServerUser, strSMTPServerPwd)
          End If
          .Host = strSMTPServer
          .Port = strSMTPServerPort
          .Send(MailMsg)
        End With
      Else
        Dim smtp As New System.Net.Mail.SmtpClient
        With smtp
          .Host = "localhost"
          .Port = 25
          .Send(MailMsg)
        End With
      End If
    End Using
  End Sub
End Class

Baca selengkapnya…

Tips n Trik internet SMART

24 Desember 2011 6 komentar

Ga usah pake perkenalan2 yah… get right down to business aja…
yg jelas, kmrn2 di trit banyak yg request untuk dibikinin trit khususnya…

Okay, bbrp hal yg harus ditekankan dulu… Ane seumur2 baru nyoba dua modem Smart. ZTE dan Haier CE100…dengan Haier CE100 ane udah nyoba banyak macam penguat signal, dari CD Kosong, Bazooka, Wajanbolic, n Yagi. Saat ini bertahan dengan wajanbolic, karena dinilai paling stabil dan mudah terkonsentrasi ke 1 sektor BTS saja.

  • Persiapan Software alat perang.

Donlot dulu QXDM dan QPST, silahkan googling sendiri atau klik linknya langsung.

  • Setting QPST dan QXDM.

Install QPST, kemudian install QXDM. Jangan lupa jamunya QXDMnya habis di-install.
Disconnect koneksi internet dan close semua program / access manager modem supaya tidak berebut port dengan QPST dan QXDM.
Buka Device Manager > Ports cari port diagnostic modem ada di COM berapa, kalo dicatat nomor COMnya.

Buka QPST > Add New Port pilih port yang tadi udah dicatat, kalo udah klik OK.

Buka QXDM > Options > Communications, pilih COM modem anda. Baca selengkapnya…