Friday, July 23, 2021

RESET GRACE PERIODE PADA TERMINAL SERVER WINDOWS SERVER 2008 R2

Tulisan ini menyambung tulisan pada beberapa tahun yang lalu tentang memperpanjang masa pinjam RDS Licensing (Terminal Server License). Kabar buruk nya, pada windows 2008 R2 update terbaru, mengubah grace periode pada Registry 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod 

TIDAK LAGI DAPAT DILAKUKAN

Oleh karena itu, kali ini perlu dilakukan cara yang lain agar tetap bisa meminjam masa aktif pemakaian Remote Desktop pada windows server 2008 R2, windows server 2012 dan windows server 2016.

Oke langsung saja kita mengajukan proposal kepada Microsoft untuk dengan rendah hati memperpanjang masa pinjam yang semula 120 hari, menjadi 10 tahun atau lebih. 

Kita mulai saja, Caranya Begini.

1. Download aplikasi PSExec Utility di sini 
2. Extract file hasil download ke folder C:\PSTools
3. Buka Command Prompt, masuk ke direktori C:\PSTools, kemudian ketikkan perintah :

c:\pstools\Psexec –s –i PowerShell













"Agree" saja, Proses selanjutnya akan muncul jendela powershell seperti di bawah ini :

 

4. Kemudian ketikkan perintah di bawah ini di dalam jendela powershell

Get-Item -Path Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal' 'Server\RCM\GracePeriod

Perhatikan tanda petik ' ' pada perintah tersebut, jangan sampai terlupa, perintah ini tujuannya untuk menampilkan nilai dari registry yg dimaksud.

Tujuannya adalah untuk menghapus value dari property tersebut diatas. Maka lanjutkan dengan perintah untuk menghapusnya.

5. Untuk menghapus property nya, jalankan perintah ini

Remove-ItemProperty -Path Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal' 'Server\RCM\GracePeriod -Name L$RTMTIMEBOMB_*

Pastikan bahwa property GracePeriod telah terhapus, untuk memastikan, kembali ketikkan perintah untuk menampilkan nilainya 

 

 


Setelah terhapus, restart Server. Eits, tunggu dulu.. nilai Grace Periode akan kembali terbentuk 120 hari.

Maka, jika hendak meminjam selama 10 tahun, sebelum restart ganti dulu tanggal sistem menjadi 5-10 tahun yang akan datang, baru kemudian restart. Tapi sebelumnya, pastikan dahulu bahwa tanggal sistem telah berubah. Windows server domain controller, memiliki mekanisme berbeda dalam penggantian tanggal sistem. So, pastikan sebelum restart, tanggal sistem benar-benar telah berubah. 

 7. Setelah server di restart, lanjutkan Login, dan tunggu beberapa detik untuk memastikan bahwa registry telah terbentuk. Untuk memastikannya bahwa grace periode telah terbentuk, jalankan kembali 

Get-Item -Path Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal' 'Server\RCM\GracePeriod

Jika nilai property belum muncul, maka coba jalankan remote desktop dari client untuk terhubung ke server (posisi tanggal masih belum kembali ke tanggal asli). Setelah nilai propertynya terisi, ganti tanggal sistem sesuai tanggal saat ini

8. Restart kembali sistem untuk melihat hasilnya, jika tidak ada masalah, maka sistem akan menampilkan notifikasi seperti 

9. Proses selesai, berhasil menambahkan masa pinjam menjadi 3.406 hari, dari nilai default hanya 120 hari.

Tuesday, October 20, 2015

TERMINAL SERVER DI WINDOWS SERVER 2008 R2

Remote Desktop, menjadi andalan beberapa administrator server untuk bekerja dari jarak jauh. setelah berhasil mengaktifkan RDS (Remote Desktop Service) ada masalah yang sering "mengganggu" kantong, License.. He, urusan satu ini, Microsoft memang jagonya bisnis.

Secara default, Remote Desktop Licensing sudah aktif dan bisa digunakan secara penuh tanpa ada fitur yang dikurangi, hanya jika jumlah user remote desktop hanya 1 User, dan itupun hanya berumur 120 Hari. Setelah lebih dari 120 Hari, akan muncul peringatan remote desktop tidak bisa lagi digunakan, kecuali membeli license dari microsoft.







Dari beberapa sumber, ada 1 cara agar error tersebut hilang, bukan menjadi legal, hanya meminta dengan sangat kepada microsoft untuk memperpanjang masa "pinjam" yang semula hanya 120 hari, menjadi 10 tahun.. (Maaf, saya tidak bilang menjadi legal, atau meng-crack, hanya bermaksud memperpanjang masa trial)

Oke, langsung saja begini caranya.

1. Buka register editor, sebagai administrator (Ketik : "regedit")

2. Masuk ke alamat register ini
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod

3. Anda harus menghapus nilai REG_BINARY yang tertera disitu, tapi kemungkinan akan ada sedikit masalah jika anda langsung menghapus tanpa previlege.
4. Jika anda tidak punya kewenangan, maka lakukan perubahan ownership pada folder GracePeriode dengan cara, klik kanan - properties, pada jendela Permissions For Grace Periode, arahkan pointer pada user Administrator, Kemudian klik tombol Advance

5. Klik pada tab Owner, kemudian check pada Replace Owner on subcontainers and Object
6. Klik OK, Kemudian kembali ke Jendela Registry Editor, Hapus REG_BINARY pada GracePeriode
7. Restart System Anda, Ingat, action ini hanya akan memperpanjang masa trial menjadi 120 hari kedepan.
8. Jika anda menginginkan lebih lama, Maka sebelum restart rubah dulu tanggal system menjadi 10 tahun kedepan, Kemudian Restart, dan kembalikan tanggal system sesuai tanggal sekarang.
9. Anda sekarang akan menikmati RDS Terminal Server License trial selama 10 Tahun kedepan.

Semoga Membantu, Salam..

Friday, October 16, 2015

Menampilkan Bulan dalam Tanggal

Saya akan berbagi tips kecil untuk menampilkan tanggal dalam format 21 Februari 2014 dalam visual Foxpro. Mungkin ada cara yang lebih singkat, tapi saya lebih senang membuat dengan cara saya sendiri.

Oke mari kita mulai.

Type data date (tanggal) tertulis 21/02/14 jika kita menganut sistem british (SET DATE BRIT) dan menghilangkan century (SET CENT OFF). seringkali orang lebih senang melihat nota kwitansi bertuliskan tanggal 21 Februari 2014 dalam format dan berbahasa indonesia, bukan 21 February 2014.

Ini adalah prosedur yang saya maksud,

LPARAMETERS dTgl 
nDate   = DAY(dTgl)
nMonth  = MONTH(dTgl)
nYear = YEAR(dTgl)
charbln = "JANUARI   FEBRUARI  MARET     APRIL     MEI       JUNI      JULI      AGUSTUS   SEPTEMBER OKTOBER   NOPEMBER  DESEMBER"
cNamaBulan = ALLTRIM(SUBSTR(charbln,(nMonth*10)-9,10))
IF !EMPTY(dTgl)
cTgl = ALLTRIM(STR(nDate))+' '+ALLTRIM(cNamaBulan)+' '+ALLTRIM(STR(nYear))
RETURN cTgl
ELSE 
RETURN {}
ENDIF

Simpan prosedur dengan nama getnmbulan, untuk mendeteksi kebenaran prosedurnya, panggil prosedur dari command window dengan perintah

?getnmbulan(DATE())

Karena saat saya tulis ini adalah tanggal 20/03/2014 maka hasilnya adalah,

20 MARET 2014

Gimana, Suka ?... Eits.. tunggu dulu, ada hal yang SANGAT PENTING yang harus diperhatikan dalam prosedur singkat tersebut.

PERHATIKAN:
charbln = "JANUARI   FEBRUARI  MARET     APRIL     MEI       JUNI      JULI      AGUSTUS   SEPTEMBER OKTOBER   NOPEMBER  DESEMBER"

Deretan nama bulan diatas, tidak sembarangan ditulis, tapi setiap nama bulan menempati 10 space (kotak yang disediakan), jika nama bulan kurang dari 10 karakter, untuk menuliskan bulan berikutnya harus dimulai pada kolom digit ke 11, hal ini dikarenakan untuk membaca bulan rangkaian karakter penyusun bulan digunakan formula di bawah ini,

cNamaBulan = ALLTRIM(SUBSTR(charbln,(nMonth*10)-9,10))

pasti semua ingat fungsi SUBSTRING kan ?.. variable nMonth adalah nomor bulan yang dimaksud dikalikan 10, karena digit yang disediakan untuk tiap bulan adalah 10 digit, dikurangi 9, adalah awal digit harus dibaca oleh fungsi SUBSTRING, sejauh 10 digit berikutnya.  Mudah kan ?

Mungkin sebagian yang lain menggunakan array untuk membuat prosedur yang sama, tapi kalau saya lebih suka ini, karena simple. Silahkan berkreasi..

Saturday, January 22, 2011

android weather

Animated Weather for Android - Weather forecast application. The exquisitely realistic video effects of cloudiness, rain and snow provide the vivid sensation of current or future weather conditions for more than 50000 locations over the world.

http://www.weather-android.com/

Video:
http://www.youtube.com/watch?v=KY9qkmzbBy4

Friday, December 03, 2010

Membuat Grid berformat Ledger

Dalam pemrograman Visual Foxpro ataupun pemrograman lain, Visual adalah salah satu aspek penting dalam interaksi manusia dengan computer, salah satunya bagaimana kita menghadirkan visualisasi yang membuat user merasa nyaman dengan tampilan dalam aplikasi yang mereka hadapi setiap hari.


 
Untuk membuat grid menampilkan baris baris data dalam format seperti pada gambar ke 2, caranya cukup mudah. Gunakan property setall pada grid. Objek yang akan kita format adalah grid dengan nama grdsiswa, maka code yang harus kita tambahkan dalam prosedur init pada objek grid adalah seperti dibawah ini.

Thisform.grid1.SetAll("dynamicbackcolor","IIF(MOD(RECNO(),3)=0,14737632,16777215)", "Column")

Bentuk umum sintak setall adalah :

Container.SetAll(cProperty, Value [, cClass])

cProperty, adalah properties yang akan kita tentukan nilainya
cClass, adalah baseclass dari properties yang akan kita format.
Value, adalah Nilai yang akan kita masukkan Kita dapat bermain-main pada nilai Value. pada contoh diatas value kita beri nilai "IIF(MOD(RECNO(),3)=0,14737632,16777215)" artinya jika modulo 3 dari nomer record = 0, maka properties "dynamicbackcolor" akan diberi nilai 14737632, Selain itu akan diberi nilai 16777215. Nilai ini adalah integer dari nilai warna, jangan bingung! untuk mendapatkan nilai ini gunakan sintak getcolor().

Selanjutnya, semoga bermanfaat dan silahkan bereksperimen.

Thursday, October 07, 2010

Logrotate Linux

Dalam sistem operasi Linux, terdapat suatu tools yang sangat ampuh untuk management file log, tools ini bernama logrotate. Tujuan dari penggunaan logrotate adalah agar sistem secara otomatis dan periodik melakukan penghapusan file-file yang telah kita tentukan untuk tetap menjaga space hardisk kita dari log-log yang sudah tidak kita perlukan lagi.
Program yang paling banyak menyimpan log biasanya squid (proxy server) sehingga diperlukan konfigurasi untuk membuat logrotate menjalankan fungsi penghapusan terhadap file-file sisa squid secara periodik, karena squid berfungsi sebagai cache server maka perlu adanya penghapusan cache (tampungan sementara) dari halaman-halaman web yang kita akses melalui proxy.
dibawah ini adalah contoh konfigurasi untuk me-logrotate file-file temporary dari squid proxy server kita.
buat file pada # /etc/logrotate.d/squid dengan menggunakan editor kesukaan, kemudian isi dengan script dibawah ini


/var/log/squid/access.log {
    weekly
    rotate 5
    copytruncate
    compress
    notifempty
    missingok
}
/var/log/squid/cache.log {
    weekly
    rotate 5
    copytruncate
    compress
    notifempty
    missingok
}
/var/log/squid/store.log {
    weekly
    rotate 5
    copytruncate
    compress
    notifempty
    missingok
    postrotate
    /usr/sbin/squid -k rotate
    endscript
}
yang perlu anda perhatikan adalah direktory tujuan, sesuaikan dengan konfigurasi pada file squid.conf anda, mengenai squid, untuk lebih jelas, silahkan buka halaman http://ediwe.blogspot.com/2006/08/konfigurasi-proxy-server-linux.html 
Yang perlu kita ingat adalah, tanpa melakukan rotate otomatis, hardisk kita akan penuh pada suatu saat nanti, seberapapun besar kapasitas yang kita sediakan jika tidak dihapus secara periodik.
Semoga bermanfaat.

Wednesday, April 14, 2010

NAT di CentOS 5.2

Setelah beberapa waktu utak atik, baca baca, bolak balik... akhirnya direct connection dari client berhasil menunjukkan hasil.

Begini ceritanya, aku install Cent OS 5.2 untuk tujuan proxy server. sebelum mengaktifkan squid sebagai proxy, client harus bisa koneksi direct melalui komputer gateway.

Langkah-langkahnya.
1. Untuk menjadikan sebagai gateway minimal dibutuhkan 2 ethernet card, 1 untuk koneksi keluar (saya asumsikan eth0 dengan IP 192.168.1.2), 1 untuk internal (saya asumsikan eth1 192.168.2.1).
kenapa saya memilih ip 192.168.1.2 untuk eth0 ? beberapa modem adsl dipasaran menggunakan ip default 192.168.1.1 sehingga untuk memudahkan setting buat saja satu network address dengan modem adsl, untuk keperluan koneksi adsl

2. Setting eth0 dan eth1 (gunakan editor kesukaan)

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

isikan didalam file tersebut

DEVICE=eth0
IPADDR=192.168.1.2
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
NETMASK=255.255.255.0
ONBOOT=yes
TYPE=ethernet

lakukan juga untuk eth1

# vi /etc/sysconfig/network-scripts/ifcfg-eth1

isi dengan dibawah ini, cermati saja angka yang berubah warna ini.

DEVICE=eth1
IPADDR=192.168.2.1
NETWORK=192.168.2.0
BROADCAST=192.168.2.255
NETMASK=255.255.255.0
ONBOOT=yes
TYPE=ethernet

restart network

#/etc/rc.d/init.d/network restart

untuk melihat hasilnya, gunakan sintak

#ifconfig

2. Untuk Setup ADSL Connection

#adsl-setup

3. test koneksi dengan mencoba browsing lewat server, gunakan links atau lynx (modus text)

4. Aktifkan ipforward dengan cara

# echo "1" > /proc/sys/net/ipv4/ip_forward

5. restart iptables

# /etc/rd.d/init.d/iptables -restart

6. hapus semua settingan awal bawaan Cent OS (default)

# /sbin/iptables -t nat -F
# /sbin/iptables -t mangle -F
# /sbin/iptables -t filter -F

7. aktifkan routing dengan sintak, ini bertujuan untuk membungkus iplokal

# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE

8. Restart network
# /etc/rc.d/init.d/network restart

9. Chek dari client, jika windows masuk ke command prompt, ketikkan nslookup, jika ada respon dari server berarti nat sudah berhasil.

C:\Users\ediwe>nslookup
Default Server: CacheDNS-SMG.telkom.net.id
Address: 203.130.208.18

>

Selamat, Komputer di jaringan lokal (LAN) sudah bisa berhubungan dengan internet.. Gunakan squid untuk optimalisasi koneksi internet. untuk setting squid bisa dibaca bog ini juga

CMIIW

Friday, March 12, 2010

Ganti Template Blogspot

Anda mungkin penasaran, bagaimana blog ini theme nya bisa berubah.
Asal anda telaten, tidak mudah "putus kolor" pasti dijamin mudah.

Ada beberapa langkah untuk melakukan customisasi tampilan blog anda.

1. Kita harus mempunyai storage di internet, salah satu contoh melalui google doc, atau file factory dsb.
2. Download template dari situs penyedia theme blog, kebanyakan gratis. googling aja dengan kata kunci theme blog, biasanya dalam bentuk tercompress.. (zip/rar)
3. Ekstract file hasil download. pilih file-file gambar yang disertakan, upload ke storage online yang anda pilih (google/filefactory dll)..
4. Masuk ke menu controlpanel nya blogspot, upload theme yang baru kita download
5. sebelum disimpan, lakukan beberapa perubahan pada HTML, kita tidak perlu tahu bahasa HTML, cukup cari kata-kata berhubungan dengan image, replace dengan link yang kita ambil dari simpanan online kita.
6. Simpan dan lihat bedanya.

Setelah ini, akan saya tuliskan detail tentang bagaimana merubah tampilan blogspot menjadi seperti yang anda lihat saat ini.

Friday, December 04, 2009

Memperpanjang Umur Baterai Laptop 2

Setelah tulisan terdahulu tentang memperpanjang umur baterai laptop, ditulis hanya berdasarkan pengalaman dan pengamatan, saya kembali mencoba mencari referensi yang lebih valid.

1. Apakah Harus Melepas steker (AC Cord) setelah baterai terisi penuh ?, jawabannya bisa YA dan TIDAK, tergantung situasi dan kondisi.

Melepas steker saat baterai full charged, di era baterai Lithium-based, hanyalah MITOS. yang benar dan membuat umur baterai menjadi lebih pendek bukan Steker tercolok Listrik, tetapi suhu baterai itu sendiri. Proses charging otomatis akan berhenti manakala baterai full charged (100%), sehingga tidak dimungkinkan adanya istilah over charged. Jika laptop digunakan untuk pekerjaan berat yang mengakibatkan suhu komputer secara umum lebih dari 60 derajat (biasanya untuk game, atau aplikasi grafis berat), maka usia baterai menjadi lebih singkat.

Kesimpulannya :
Ketika anda menggunakan laptop untuk bekerja maksimal (kerja keras) yang menimbulkan panas ekstra diatas 60 derajat celcius, menggunakan ac power dan melepas baterai adalah pilihan terbaik. (gunakan UPS untuk menjaga pasokan listrik manakala listrik sumber mati)
Tetapi jika penggunaan laptop pada posisi standard menghasilkan panas antara 40-50 derajat, lebih aman selalu tancapkan steker ke dalam sumber listrik dengan posisi baterai terpasang, karena baterai mempunyai umur yang dihitung berdasarkan jumlah recharged.



Sunday, November 15, 2009

Memperpanjang Umut Baterai Laptop


Saat mencari sumber di internet bagaimana cara menghemat baterai laptop, rata-rata mengatakan hal yang sama, yaitu :
- Jika akan dipakai dalam jangka waktu lama lebih baik baterai dilepas, dan dicolokkan langsung ke terminal AC.
- Jika baterai telah penuh, lebih baik lepas sumber daya AC karena bisa mengakibatkan over charged
- dll..

Tapi apakah itu berdasar keterangan / manual resmi dari produsen baterainya ?. say jadi ragu.. saya telah mempraktekan apa yang saya baca di beberapa blog, tapi hasilnya rasanya baterai lebih cepat drop.. masih menurut sumber di internet, kemampuan bertahan baterai Li-ion berkisar sampai 800 kali recharged, disertai dengan penurunan kapasitas dayatampung nya.



tapi beberapa waktu ini saya mengamati di power source nya ms windows, bisa di lihat di
start - control panel - power options - power meter, terlihat status baterai

Current power source : AC Power
Total bateray power remaining : 100 %

menurut logika saya nih, kalimat diatas artinya kurang lebih, Laptop memanfaatkan AC sebagai sumber tenaganya, tidak menggunakan bateray sebagai pemacu daya dan tidak ada aktifitas charging baterai.

kalau benar artinya seperti itu, ini bisa berarti :
- Setelah bateray penuh aktifitas charging tidak dilakukan, jika demikian apakah mungkin terjadi overcharged ?
- Sumber daya menggunakan AC power, tidak menggunakan bateray. ini berarti bateray yang telah penuh tidak akan berkurang dayanya, karena tidak terpakai.
Jika benar logika saya diatas, berarti lebih baik menggunakan ac power saat memungkinkan, tanpa perlu melepas bateray, karena tidak mempercepat umur charged bateray (800x), saat listrik tiba-tiba padam tidak takut kehilangan data karena terpasang bateray yang siap digunakan saat ac mati.

Logika ini tentu saja berlaku pada UPS (uninteruptable Power system), saat ups terhubung dengan AC Power, selain menyuplai tenaga komputer, juga melakukan charging pada baterai UPS.

CMIIW, semoga tidak salah pilih langkah karena teori-teori yang beredar tanpa dasar.

Tuesday, November 10, 2009

Tips dan Trik

Apa yang akan anda lakukan, jika anda mendapati seorang pimpinan di tempat anda bekerja "menantang" anda, karena anda melihat pimpinan tersebut ketahuan melihat "sesuatu" di internet yang tidak sepantasnya ?

Anda takut ?.. kalo saya lihat-lihat (takut juga), kalo masih butuh kerja di tempat itu, jangan layani tantangannya, meski anda benar. Karena anda pasti akan dipecat, meski anda punya 8 saksi mata. Tapi kalau anda tidak butuh lagi kerja di tempat itu, layani saja tantangannya, yang benar pasti menang. kalo gak menang yo Nasib :)

It's Amazing


Lama juga tidak corat-coret.. coretan yang bisa bikin terkekeh, ato sebagian bilang "cape deeh"..
Tidak banyak waktuku untuk berkunjung kesini, hari-hariku cukup sibuk. 4x dalam seminggu aku memberikan pelatihan programming & mysql gratis kepada teman-teman kuliahku, responnya cukup bagus, entah karena gratis, atau karena ketertarikan. yang jelas aku mulai suka dengan kehidupan ku yang baru, teman-teman baru, pola pikir baru, sekolah lagi, belajar lagi, tugas-tugas lagi..ah.. hidup ini penuh warna.
Pelatihan ini berawal dari ide teman-teman, bagaimana kita memanfaatkan waktu yang cukup singkat ini dengan "memperkaya" khazanah keilmuan kita, terbersitlah sebuah pelatihan yang diambil dari sumber daya yang ada, materinya mulai dari sistem komputer, networking, database sampai web programming. Proposal kami ajukan ke pihak fakultas, wah.. respon pimpinan ternyata bagus, ok pelatihan lanjut.. dalam proposal itu kami meminta bantuan ruangan dan fasilitas belajar mengajar. masalah Honor melatih, biar Allah yang kasih, harapanku semoga menjadi Ilmu yang bermanfaat, yang balasannya tiada putusnya nanti saat aku mati. Yang pasti hidup ini ... Amazing..

Friday, October 16, 2009

Sistem Informasi Perpustakaan

Salah satu hasil karyaku diakui sebagai produk pendidikan program pasca sarjana universitas diponegoro semarang, dan di display pada acara Dies Natalies Universitas Diponegoro Semarang yang ke 52, berlangsung mulai tanggal 14 - 17 Nopember 2009 bertempat di Auditorium Undip Jl. Imam Barjo Semarang.

Boleh jadi ini adalah sebuah langkah awal untuk memulai hal yang baru. Sebenarnya produk ini telah beberapa waktu yang lalu selesai dan menjadi salah satu produk yang dipasarkan oleh teman-temanku, namun setelah berdiskusi dengan ketua program studi pasca sarjana msi undip, Prof. Drs. Mustafid, M.Eng. Ph.D maka Aplikasi ini masuk sebagai produk pendidikan MSI Undip, dengan itu maka produk ini siap dipasarkan di bawah bendera Magister Sistem Informasi Universitas Diponegoro.

Ada kebanggaan dan harapan yang datang bersamaan.
Aplikasi ini dapat dilihat dan di download pada http://sipku.wordpress.com

Tuesday, March 24, 2009

Searching Simple Rasa Google

Searching simple rasa Google



Pertama kenal Internet orang pasti ketemu dengan paman Google, sahabat para netter. Kali ini saya mencoba membuat prosedur dalam visual foxpro untuk pencarian data sedikit mirip dengan google. Sedikit saja, karena saya tahu google hebat dalam proses searching.

Diawali permintaan client dari aplikasi Perpustakaan yang saya buat, bahwa dalam proses pencarian data, mereka menginginkan mencari data berdasar kata dalam sebuah kalimat.

Ok ini bisa dilakukan dengan memecah sebuah kalimat menjadi kata-kata kunci.
Algoritma singkatnya seperti ini, hitung jumlah total huruf dalam kalimat kunci, digunakan sebagai looping. baca kalimat kunci dengan cara ambil karakter per karakter dari kiri, setelah ketemu dengan spasi, simpan rangkaian karakter tadi dalam sebuah kata kunci (bisa dalam array) lanjutkan proses scanning huruf demi huruf sampai dengan jumlah karakter kalimat habis. Selanjutnya baca hasil scanning kata tadi dan buat akumulator untuk memproses sintak filter berdasarkan kata kata tersimpan.

Berikut Fungsi getfilter selengkapnya.


FUNCTION GetFilter
LPARAMETERS CFILTERKU, CFIELDKU
CCURSORKU = 'CUR'+SYS(3)
CREATE CURSOR &CCURSORKU (KATA C(100))
NJMLCHAR = LEN(ALLTRIM(CFILTERKU))
IF NJMLCHAR=0
CKALIMATSINTAK = "''$"+CFIELDKU
RETURN CKALIMATSINTAK
ENDIF
I = 1
CHURUF = 'a'
CKATA = ''
DO WHILE I
DO WHILE CHURUF#' '
CHURUF = SUBSTR(CFILTERKU, I, 1)
CKATA = CKATA+CHURUF
I = I+1
ENDDO
APPEND BLANK
REPLACE KATA WITH UPPER(CKATA)
CKATA = ''
CHURUF = 'a'
ENDDO
SELECT &CCURSORKU
GOTO TOP
CKALIMATSINTAK = "'"+ALLTRIM(KATA)+"'$UPPER("+CFIELDKU+")"
IF RECCOUNT()>1
SKIP
DO WHILE .NOT. EOF()
CSINTAK = " OR '"+ALLTRIM(KATA)+"'$UPPER("+CFIELDKU+")"
CKALIMATSINTAK = CKALIMATSINTAK+CSINTAK
SKIP
ENDDO
ENDIF
USE IN &CCURSORKU
RETURN CKALIMATSINTAK
ENDFUNC


Penjelasan singkat, Fungsi ini memiliki 2 parameter, parameter pertama adalah kalimat kunci, parameter kedua adalah field dari data yang akan di filter (dilakukan pencarian atau select), nilai yang didapat dari fungsi ini adalah serangkaian sintak filter, gabungkan nilai tersebut dengan sintak filter.

Contoh pemanggilan fungsi ini adalah :


CFILTER = "Where "+GETFILTER(CSEEK, 'buku')
SELECT KODE,BUKU FROM BUKU &CFILTER INTO CURSOR HASIL

maksud dari potongan program diatas adalah, menampilkan kode dan nama buku berdasarkan kata kunci cseek, masukkan variable cseek sebagai inputan kata kunci pencarian contoh cSeek='Aneka Resep Masakan' maka program akan menampilkan semua data dengan field buku mengandung kata 'Aneka', 'Resep', 'Masakan'

Semoga bermanfaat, Berminat lebih lanjut dengan program Perpustakaan ? Kontak saya melalui email : edi.widodo@gmail.com

Tuesday, March 03, 2009

Readyboost

Readyboost



Menggunakan flashdisk sebagai pendongkrak performance OS Windows ?.. Kenapa tidak.
Fitur Readyboost sangat menarik, ini hanya dijumpai pada Ms. Windows Vista dan Windows 7.

Harga memory DDR2 1 GB saat tulisan ini dibuat berkisar Rp. 200.000, jika dibandingkan dengan harga flashdisk yang hanya Rp.60.000 untuk ukuran 2GB, tentu saja flashdisk masih jauh lebih murah.

Komputer saya AMD 3000+ dengan memory Fisik 1GB DDR dan Harddisk 80GB SataII, terinstall OS Ms Windows 7, semula sebelum mencoba menggunakan fitur readyboost terasa berat, meskipun tetap lebih ringan bila dibandingkan dengan jalan windows vista.

Caranya cukup mudah, tinggal siapkan flashdisk kosong sebesar 2GB (bisa kurang bisa lebih) colokkan ke port usb, tunggu sampai terbaca oleh system, klik kanan flashdisk tersebut, kemudian pilih properties, dan pilih settingan dedicated this device to readyboost, restart komputer, dan rasakan peningkatan performance secara total.

btw, tentu saja penambahan memory fisik lebih dianjurkan, dan akan lebih powerfull, tapi untuk masa sulit, tidak ada rotan maka akarpun boleh jadi.

CMIIW

Sunday, February 22, 2009

Algoritma Bilangan Prima

Bilangan Prima



Ingat bilangan prima waktu kita belajar matematika dasar ?.. ternyata menarik juga bilangan ini untuk dibuat coding dalam foxpro.

Awalnya kemenakan yang kuliah di IT Telkom Bandung kirim sms, "Om algoritma pencarian bilangan prima gimana ya ?".. wah sempet bingung juga, bilangan prima syaratnya gimana ya ?
dia bilang, "Bilangan Prima adalah Bilangan yang hanya mempunyai dua faktor, yaitu 1 dan bilangan itu sendiri"

Utak atik akhirnya ketemu cara penentuan apakah bilangan ybs bilangan prima atau bukan.

Begini Potongan programnya, prima.prg


LPARAMETERS nBil
I = 1
nCount = 0
DO WHILE NOT i > nBil
IF MOD(nBil,i) = 0
nCount = nCount + 1
ENDIF
i = i + 1
ENDDO
IF nCount > 2 OR nBil = 1
MESSAGEBOX('Bilangan '+ALLTRIM(STR(nBil))+' Bukan Bilangan Prima',64)
ELSE
MESSAGEBOX('Bilangan '+ALLTRIM(STR(nBil))+' Bilangan Prima',64)
ENDIF


untuk menggunakannya tinggal

do prima.prg with n, n adalah nilai yang akan dicek

Komentar dan Masukkan welcome, selamat Mencoba..


Wednesday, February 18, 2009

Speedy oh Speedy

Speedy oh speedy...



Hari ini aku bayar tagihan speedy ke Plasa Telkom terdekat, masalah bulan lalu terulang kembali.
Aku langganan speedy office unlimited paket akhir tahun. Mulai aktif berlangganan 29 November 2008. Berdasarkan info promo aku dapat potongan 50% selama 3 bulan pertama, tapi sejak pembayaran pada bulan pertama sudah mulai nampak bermasalah.

Tagihan pertama pada bulan januari 2009 tercatat 800.000 + PPn tentu saja. Wah.. kaget dong, komplain ditempat ternyata tidak bisa, terpaksa harus datang ke Plasa Pusat Jl. Pahlawan Semarang. Sesampai disana masih harus menjelaskan kapan berlangganan dan paket apa yang saya ikuti, tidak Otomatis.

Bulan ini, kejadian serupa terjadi lagi, dan lagi lagi komplain hanya dilayani di Plasa Pusat, Oh.. Capeek deeh..

Sampai di Plasa memang tanggapan CSR nya baik, kemudian setelah bla bla bla... beres tagihan sesuai Promo diskon 50%, saya penasaran, kemudian bertanya "Untuk tagihan bulan besok masih seperti ini apa tidak mas ?" kebetulan CSR nya laki-laki, Jawabnya "Kita tunggu saja bulan besok pak"... He.. Geli.. benar benar geli, alasannya "Ini masalah pada billingnya".

Sebagai pekerja swasta, dan berprofesi sebagai programmer, tentu saja kesalahan seperti ini tidak bisa di terima, bahkan mungkin gak cuma saya yang mengalami hal seperti ini, dan tidak juga cuma terjadi bulan ini saja.. mungkin sudah bertahun tahun hal ini selalu dan selalu terjadi, sebagai customer akhirnya harus memaklumi, tapi sebagai Company segede Telkom apa ini tidak menampar muka sendiri ?.. Gila.. Billing error berbulan bulan lamanya tidak ada solusi.

Sebagai programmer komputer, saya sedikit heran, masa sih programmer Telkom masalah seperti ini tidak bisa menyelesaikan ?.. Pertaruhan nama besar PT. Telkom.

Uh... Indonesiaku..

Wednesday, January 21, 2009

Obama Jadi Presiden, Indonesian Girang bukan Kepalang



Pesta pemilihan presiden amerika serikat memunculkan nama barrack obama sebagai presiden kulit hitam pertama kali, hal itu mendapat sambutan sangat luar biasa dari beberapa kelompok di dunia, tidak luput pula warga indonesia yang notabene pernah menjadi tempat tinggal obama selama 2 tahun.

Tapi apakah kita tahu siapa obama sebenarnya, hingga sebagian dari kita merasa beruntung dan turut bahagia ketika Obama terpilih sebagai presiden amerika serikat, yang berjanji membawa perubahan didunia..?

Rame-rame indonesian berharap obama memberikan angin positif bagi indonesia, rame-rame muncul di televisi merasa "dekat" dengan sosok obama, apa untungnya bagi kita ??

Marilah kita tetap menginjak tanah, tetap pada keyakinan negara kita sendiri. Biarlah obama terpilih dan berjanji membawa angin perubahan, semoga kita sadar bahwa tidak sekali ini saja kita diberikan janji-janji manis, bukan hanya obama, tapi para pemimpin kita manakala berkampanye senantiasa mengucap janji manis, tapi janji tinggal janji, setelah itu masa bodoh.

Mari Indonesian... kita bangun negara kita dengan cara kita, dengan keringat kita, dengan keyakinan kita, jangan berharap pada orang lain, jangan mengiba pada sosok lain. Mulai dari diri kita sendiri, mulai dari hal-hal kecil dan mulailah dari sekarang.

Amerika tetaplah Amerika, semua orang tahu siapa amerika sebenarnya. Maka presiden amerika tetaplah presiden amerika. Jangan sampai kita ikut-ikutan euforia yang tidak jelas latar belakang dan kontribusi bagi kita sebagai bangsa.

Merdeka...!!!!

Wednesday, October 15, 2008

DHCP Server di Linux

f

Membuat DHCP cukup simple di linux Mandriva (Mandrake family)
keuntungan menggunakan DHCP tentu saja pada kepraktisan dan kemudahan administrasi jaringan.
bayangkan bilamana anda harus mengontrol jaringan yang lumayan besar, taruh saja misalnya ada 100 unit komputer di lingkungan kerja anda, dan anda harus setiap saat melakukan konfigurasi jaringan di tiap tiap komputer, he dijamin pegel pegel.

DHCP server solusinya, biarkan server yang melakukan konfigurasi jaringan, jika ada perubahan tinggal rubah settingan server, pasti yang lain ikut.

download paket rpm DHCP server dari cd installernya kalo punya. kalo tidak cari di rpmsource ingat sesuaikan dengan distro anda, rpm file memang mudah tapi agak repot kalo tidak punya cdnya. karena biasanya mempunyai ketergantungan (dependencies) dengan paket2 lain.

jangan takut, baca dan lakukan saja apa yang diminta kalo ada paket yang kurang.

# rpm -ivh dhcp-server-3.0.4-2mdv2007.0.i586.rpm

proses OK.
buka file konfigurasi dhcpd.conf biasanya ada samplenya tinggal lakukan perubahan sesuaikan dengan kondisi jaringan anda.

contoh :

ddns-update-style interim;
ignore client-updates;
ddns-updates on;
subnet 192.168.2.0 netmask 255.255.255.0 {
option routers 192.168.2.1;
option subnet-mask 255.255.255.0;
option domain-name "goldenproxy.org";
option ip-forwarding off;
option broadcast-address 192.168.2.255;
option domain-name-servers 202.134.1.10 , 202.134.0.155;
option nis-domain "goldenproxy.org";

range dynamic-bootp 192.168.2.20 192.168.2.50;
default-lease-time 28800;
max-lease-time 43200;

# we want the nameserver to appear at a fixed address
host ns {
next-server edp-dept2.goldenproxy.org;
hardware ethernet 00:02:44:35:4F:60;
fixed-address 192.168.2.50;
}
}

PENJELASAN berdasarkan baris
1 : dinamic dns update style ada 3 opsi off, interim, ad-hoc
2 : abaikan update dari client
3 : ddns update on
4 : subnet dan netmask dari lingkungan jaringan anda
5 : gateway bila dhcp ini ada pada pc router (gateway adalah eth yang menghubungkan dengan jaringan luar contoh internet)
6 : jelas
7 : domain name yang anda gunakan, biasanya hostname mesin dhcp server
8 : ipforward set ke off, jadi biarkan dhcp yang mengerjakan ipforward
9 : jelas
10 : dns provider internet bila ada (diatas adalah dns speedy telkom)
11 : jelas
12 : daftar range IP yang disewakan dhcp
13 : lamanya waktu ip disewa 8 jam 28800 sec (asumsi jam kerja), setelah itu boleh disewa oranglain
14 : maksimal waktu ip disewa per komputer, setelah itu akan direlease (renew)
15 : host ns, jika anda menginginkan komputer tertentu mendapatkan ip tetap daftarkan saja disini, cantumkan mac address dan ip yang diinginkan.

kalo sudah tinggal diaktifkan saja dhcpnya,

# /etc/rc.d/init.d/dhcdp start

coba setting computer client, arahkan dns server ke ip komputer yang diinstall dhcp tadi.

jrengg.... udah deh, semoga bermanfaat.

CMIIW







Monday, May 05, 2008

Download Management

Sekali lagi mari kita utak utik squid. Karena menurut saya ini adalah jalan pintas untuk belajar linux. Seringkali orang bingung, setelah berhasil install Linux, trus mau diapain ? Jawaban yang paling gampang dan langsung bisa diaplikasikan adalah, fungsikan sebagai proxy server.

Kali ini bahasan kita sampai pada download management. setelah sebelumnya berhasil install squid yang anda bisa baca disini
http://ediwe.blogspot.com/2006/08/konfigurasi-proxy-server-linux.html dan berhasil install lightsquid http://ediwe.blogspot.com/2008/04/install-lightsquid.html ataupun SquidGuard yang anda bisa baca disini http://ediwe.blogspot.com/2008/04/squidguard.html.

Mari Mulai dengan Download Management.

Download Management menurut terjemahan bebas versi saya adalah mengatur bandwidth untuk download pada jaringan dibawah proxy. Sayangnya, jika anda menginstall squid dari source anda harus menyertakan option -enable-delay-pools, tapi kalo install dari paket RPM biasanya sudah include (CMIIW)

Komponen bandwidth management adalah :

delay pools : disini didefinisikan jumlah pools yang akan diterapkan

delay_class : spesifikasi dari delay pools. delay class ini dibagi dalam 3 class berbeda,

class 1 untuk mendefinisikan maksimal bandwidth dalam satu LAN tidak mendetail

class 2 pada class ini terdapat 2 parameters, yang pertama untuk mendefinisikan jumlah bandwidth maksimal yang didapat ACL, yang kedua badwidth yang dipakai keseluruhan untuk semua ACL

class 3 ada 3 parameter disini, 1 & 2 sama dengan class 2 namun ada tambahan parameter yang ke 3 yaitu untuk menentukan badwidth maksimal yang didapat apabilai dalam ACL tersebut mendownload file2 tertentu yang sudah didefinisikan.

contoh :
delay_class 1 2 # pool 1 memakai clas tipe 2
delay_class 2 3 # pool 2 memakai clas tipe 3

delay_access Memberi batasan siapa saja yang boleh mempergunakan delay pools ini.Penting untuk diingat sebaiknya setelah menetukan batasan jangan lupa di akhiri dengan deny all.

delay_access 1 allow manajer
delay_access 1 deny all
delay_access 2 allow sales
delay_access 2 deny all

delay_parameters : Ini adalah bagian terpenting dari delay pools. delay parameter mempunyai format yang disesuaikan dengan tipe/class yang dipakai.Tapi disetiap tipe yang dipakai ada 1 format baku yaitu restore/max. restore menunjukkan maksimum kecepatan data yang dapat dilewatkan bila harga max sudah terlampaui, dalam satuan bytes/second. Max menunjukkan besar-nya file atau bucket yang dapat dilewatkan tanpa melalui proses delay dalam satuan bytes. Yang perlu diperhatikan dari satuan diatas adalah harga restore dimana kita sering menerima/menyewa/membeli bandwidth dari provider dalam satuan bits/second bukan bytes/second. Sedangkan satuan kecepatan pada saat mendonlot file adalah bytes/sec. Sedangkan satuan dari harga max sudah sesuai dengan kebiasaan sehari-hari, dimana kita memberi besaran bytes pada file-file.1 byte = 8 bit.

Contoh parameter ini adalah :

-1/-1 : berarti unlimited atau tidak dibatasi pada nilai restore/max
1000/64000 : harga restore sama dengan 8000 bits/sec atau 8 kbits/sec.

Yang artinya user akan mendapat donlot brustable selama file yang akan dibuka lebih kecil dari 64 kbytes, jadi kecepatan bisa diatas 8 kbit/sec.
Bila ternyata file yang dibuka melebihi 64 bytes, maka proses limitasi akan segera dimulai dengan membatasi kecepatan maksimal 8 kbits/s.

class 1
delay_parameters <#pool individual>

Contoh :
delay_parameters 1 1000/64000

Berarti semua network akan mendapat bandwidth yang sama di pool no 1.
Sebesar 1 kbytes/sec (8 kbits/sec), dengan burstable file 64 kb.

class 2
delay_parameters <#pool agregate individual>

Contoh :
delay_parameters 1 32000/32000 1000/64000

Berarti squid akan memakai bandwidth maksimum (32000*8) 256kbits dari semua bandwidth. Bila terdapat lebih dari 1 network class C, maka total yang dihabiskan tetap 256 kbit/sec dan tiap user akan mendapat bandwidth maksimum 1 kbytes/sec (8 kbits/sec), dengan burstable file 64 kb.

class 3
delay_parameters <#pool agregate network individual>

contoh :
delay_parameters 1 32000/32000 8000/8000 1000/64000

Berarti squid akan memakai bandwidth maksimum (32000*8) 256kbits dari semua bandwidth. Bila terdapat lebih dari 1 network class C, maka setiap network akan dipaksa maksimum sebesar (8000*8) 64 kbits/sec dan tiap user pada satu network akan mendapat bandwidth maksimum 1 kbytes/sec (8 kbits/sec), dengan burstable file 64 kb.

Contoh
dalam 1 network dengan penggunaan bandwidth total tidak dibatasi terdapat beberapa komputer dengan klasifikasi sebagai berikut :

admin, server dengan bandwidth unlimited
staff dengan bandwidth 1,5 kbytes/sec, bila file yang diakses melebihi 64Kbte
umum dengan bandwidth 1 kbytes/sec, bila file yang diakses melebihi 32 Kbyte

acl all src 0.0.0.0/0.0.0.0
acl admin src 192.168.1.250/255.255.255.255
acl server src 192.168.1.251/255.255.255.255
acl kantor src 192.168.1.0/255.255.255.0
acl staff src 192.168.1.1 192.168.1.111 192.168.1.2 192.168.1.4 192.168.1.71

delay_pools 3
delay_class 1 1
delay_parameters 1 -1/-1
delay_access 1 allow admin
delay_access 1 allow server
delay_access 1 deny all

delay_class 2 1
delay_parameters 2 1500/64000
delay_access 2 allow staf
delay_access 2 deny all
delay_class 3 1
delay_parameters 3 1000/32000
delay_access 3 allow umum
delay_access 3 deny all

Delay pools juga dapat digunakan untuk membatasi donlot file untuk extensi tertentu. Gunakan ACL url_regex untuk mengatasi hal ini. Contoh dibawah digunakan untuk membatasi donlot file multimedia hingga 1 kByte/sec.

acl multimedia url_regex -i \.mp3$ \.rm$ \.mpg$ \.mpeg$ \.avi$ \.dat$
delay_pools 1
delay_class 1 1
delay_parameters 1 1000/16000
delay_access 1 allow multimedia
delay_access 1 deny ALL

Beberapa bagian tulisan ini saya sadur dari link ini
http://malang.linux.or.id/?p=5 yang menurut saya lebih gampang difahami, he.. silahkan dibaca.

Udah, gitu aja...
Masih bingung ?.. coba praktekan aja deh.. He.. Semoga bermanfaat.