Monday, September 27, 2010
Materi kuliah Pemrograman Terstruktur 2010
- materi pertemuan ke 1 download disini
software compiler download disini
- materi pertemuan ke 2 download disini
Saturday, September 18, 2010
MENGAPA WEB ?
Salah satu istilah internet yang cukup populer setelah tahun 2004 adalah apa yang disebut dengan Web 2.0. Dunia blog dengan perkembangannya, termasuk aplikasi-aplikasi CMS adalah salah satu buah yang dihasilkan dari konsep Web 2.0. Walaupun istilah ini sudah cukup lama dikenal di dunia internet, tapi saya yakin belum semua pengguna internet atau bahkan blogger dan pengembang aplikasi sekalipun yang mengetahui betul apa yang dimaksud dengan Web 2.0 ini.
Menurut O’Reilly, terdapat sejumlah perbedaan mendasar antara Web 1.0 dan Web 2.0. Sebagai ilustrasi awal untuk melihat perbedaan tersebut, maka berikut ini adalah perbedaan aplikasi yang umumnya dijalankan pada konsep Web 1.0 dan Web 2.0
Web 1.0 Web 2.0
DoubleClick –> Google AdSense
Ofoto –> Flickr
Akamai –> BitTorrent
mp3.com –> Napster
Britannica Online –> Wikipedia
personal websites –> blogging
evite –> upcoming.org and EVDB
domain name speculation –> search engine optimization
page views –> cost per click
screen scraping –> web services
publishing –> participation
content management systems –> wikis
directories (taxonomy) –> tagging (“folksonomy”)
stickiness –> syndication
Karakteristik utama dari Web 2.0 menurut O’Reilly, adalah sebagai berikut :
· The Web as Platform. Aplikasi Web 2.0 menggunakan Web (atau Internet) sebagai platformnya. Dengan karakteristik ini maka apapun pekerjaan dapat dijalankan dengan cukup membuka web browser. Web adalah sebagai tempat utama bekerja di manapun kita berada. Berbagai pekerjaan yang sebelumnya berbasis pada dekstop seperti mengetik dokumen, melakukan perhitungan keuangan, atau merancang presentasi kini semuanya dapat dilakukan melalui aplikasi-aplikasi yang telah disediakan dan dapat dijalankan secara langsung melalui internet. Dengan karakteristik ini maka aplikasi-aplikasi Web 2.0 ini tidak lagi dibatasi oleh sistem operasi seperti pada Windows. Atau bahkan tidak diperlukan lagi proses install aplikasi.
· Harnessing Collective Intelligence. Kunci utamanya adalah adanya partisipasi dari pengguna dalam berkolaborasi pengetahuan. Dalam hal ini aplikasi Web 2.0 memiliki sifat yang unik, yaitu memanfaatkan kepandaian dari banyak orang secara kolektif. Maka muncullah basis pengetahuan yang sangat besar hasil gabungan dari pengetahuan banyak orang. Contoh yang jelas adalah Wikipedia. Wikipedia adalah ensiklopedi online yang memperbolehkan semua orang untuk membuat dan mengedit artikel. Hasilnya adalah ensiklopedi online besar yang sangat lengkap artikelnya, bahkan lebih lengkap daripada ensiklopedi komersial seperti Encarta ! Contoh lainnya lagi adalah del.icio.us di mana semua orang saling berbagi link-link menarik yang mereka temukan. Akibatnya kita bisa menemukan “permata-permata” di Web gabungan hasil browsing dari ribuan orang. Blogosphere juga merupakan contoh kepandaian kolektif karena setiap orang bisa menulis blog-nya sendiri-sendiri lalu saling link satu sama lain untuk membentuk jaringan pengetahuan, mirip seperti sel-sel otak yang saling terkait satu sama lain di dalam otak kita.
· Data is the Next Intel Inside. Slogan “Intel Inside” telah melambungkan nama prosesor Intel di kalangan pengguna komputer. Trademark tersebut telah menjadi suatu garansi kepercayaan dari pengguna akan kemampuan komputer yang akan ataupun sudah dibelinya. Maksud yang sama juga diusung oleh karakteristik ketiga ini, dimana penyuplai data akan memberikan trademark yang akan digunakan oleh pemilik website untuk memberikan garansi kepercayaan kepada pengunjungnya. Sebagai contoh adalah “Nevteq Onboard” untuk data peta pada sistem navigasi GPS dan “Powered by Google” untuk dukungan Google Maps pada peta dunia berbasis web. Dengan demikian maka kekuatan aplikasi Web 2.0 terletak pada data. Aplikasi-aplikasi Internet yang berhasil selalu didukung oleh basis data yang kuat dan unik. Contohnya adalah Google, yang kekuatannya terletak pada pengumpulan dan manajemen data halaman-halaman Web di Internet. Contoh lainnya lagi adalah Amazon yang memiliki data buku yang bukan hanya lengkap, tapi juga sangat kaya dengan hal-hal seperti review, rating pengguna, link ke buku-buku lain, dan sebagainya. Ini berarti perusahaan yang unggul adalah perusahaan yang menguasai data.
· End of the Software Release Cycle. Web 2.0 diyakini sebagai akhir dari siklus peluncuran produk software, mengilustrasikan setiap produsen software tidak lagi meluncurkan produknya dalam bentuk fisik. Karena web menjadi platform, pengguna cukup datang ke website untuk menjalankan aplikasi yang ingin mereka gunakan. Hasil dari pengembangan fitur di dalam software dapat langsung dirasakan oleh pengguna. Software tidak lagi dijual sebagai produk namun berupa layanan (service). Produsen yang memberikan pelayanan yang cepat dan bagus, akan menjadi pilihan pengguna. Dengan demikian aplikasi Web 2.0 memiliki sifat yang berbeda dengan aplikasi pada platform “lama” seperti Windows. Suatu aplikasi Windows biasanya dirilis setiap dua atau tiga tahun sekali, misalnya saja Microsoft Office yang memiliki versi 97, 2000, XP, dan 2003. Di lain pihak, aplikasi Web 2.0 selalu di-update terus-menerus karena sifatnya yang bukan lagi produk melainkan layanan.
· Lightweight Programming Models. Aplikasi Web 2.0 menggunakan teknik-teknik pemrograman yang “ringan” seperti AJAX dan RSS. Ini memudahkan orang lain untuk memakai ulang layanan suatu aplikasi Web 2.0 guna membentuk layanan baru. Ketersediaan RSS akan menciptakan kemudahan untuk di-remix oleh website lain dengan menggunakan tampilannya masing- masing dan dukungan pemrograman yang sederhana. Contohnya adalah Google Maps yang dengan mudah dapat digunakan orang lain untuk membentuk layanan baru. Sebagai hasilnya muncul layanan-layanan seperti HousingMaps yang menggabungkan layanan Google Maps dengan Craigslist. Layanan seperti ini, yang menggabungkan layanan dari aplikasi-aplikasi lainnya, dikenal dengan istilah mashup.
· Software Above the Level of a Single Device. Aplikasi Web 2.0 bisa berjalan secara terintegrasi melalui berbagai device. Software tidak lagi terbatas pada perangkat tertentu. Hal ini mempertegas posisi web sebagai platform dimana setiap perangkat dapat mengaksesnya. Komputer tidak lagi menjadi satu-satunya perangkat yang dapat menjalankan berbagai aplikasi di internet. Setiap aplikasi harus didesain untuk dapat digunakan pada komputer pribadi, perangkat genggam seperti ponsel dan PDA, ataupun server internet. Contohnya adalah iTunes dari Apple yang berjalan secara terintegrasi mulai dari server Internet (dalam bentuk toko musik online), ke komputer pengguna (dalam bentuk program iTunes), sampai ke mobile device (dalam bentuk iPod).
· Rich User Experiences. Adanya kemajuan inovasi pada antar-muka (interface) di sisi pengguna. Dukungan AJAX yang menggabungkan HTML, CSS, Javascript, dan XML pada Yahoo!Mail Beta dan Gmail membuat pengguna merasakan nilai lebih dari sekedar situs penyedia e-mail. Dengan demikian aplikasi Web 2.0 memiliki user interface yang kaya meskipun berjalan di dalam browser. Teknologi seperti AJAX memungkinkan aplikasi Internet memiliki waktu respons yang cepat dan user interface yang intuitif mirip seperti aplikasi Windows yang di-install di komputer kita. Contohnya adalah Gmail, aplikasi email dari Google yang memiliki user interface revolusioner. Contoh lainnya lagi adalah Google Maps yang meskipun berjalan dalam browser namun bisa memberikan respons yang cepat saat pengguna menjelajahi peta. Sementara itu kombinasi media komunikasi seperti Instant Messenger (IM) dan Voice over IP (VoIP) akan semakin memperkuat karakter Web 2.0 di dalam situs tersebut.
PENDAHULUAN
Sekarang, aplikasi web-based sedang mengalami perkembangan yang sangat pesat, menggantikan aplikasi desktop-based. Ini dikarenakan kepraktisannya dimana pengguna tidak perlu melakukan instalasi aplikasi di desktop masing-masing – cukup buka browser dan menuju server tempat aplikasi tersebut dipasang.
Java sendiri memiliki cabang yang menangani masalah aplikasi web-based ini yang dinamakan Java Enterprise Edition. Cabang ini sebenarnya ruang lingkupnya sangat luas, yaitu ruang Enterprise yang khusus menangani aplikasi-aplikasi berskala besar dan membutuhkan reliabilitas yang tinggi. Web-based application, karena merupakan aplikasi yang multitier, tentu saja termasuk dalam cabang ini.
Apa saja kunci dari aplikasi enterprise? Paling tidak ada beberapa kunci, yaitu:
- Reliabilitas. Ketahanan aplikasi untuk tetap tangguh melayani permintaan dalam waktu yang panjang.
- Skalabilitas. Jumlah penggunaan aplikasi yang berkembang dengan cepat dan banyak. Skalabilitas juga bisa diartikan server-server penyusun aplikasi bisa berkembang dalam jumlah yang banyak.
- Multitier. Satu aplikasi enterprise memerlukan lebih dari satu tier (bagian) yang menyusunnya. Misalnya, client, application server, database server, dan middle tier sebagai penghubung client dan application server.
- Networked. Kata kunci ini muncul tidak terelakkan dengan adanya tiga kunci di atas.
Java telah memfasilitasi pembuatan aplikasi seperti ini dengan menyediakan sebuah sistem dan bingkai kerja (framework) yang khusus didesain untuk aplikasi enterprise sehingga memudahkan developer. Fitur-fitur apa saja yang disediakan oleh Java? Banyak sekali, di antaranya adalah yang saya sebutkan di bawah ini:
Mekanisme komunikasi antara client dan server.
Protokol komunikasi yang paling umum digunakan adalah HTTP. Java memiliki struktur mekanisme yang paling dasar untuk menangani protokol HTTP, yaitu Java Servlet.
- Kit dan berbagai komponen untuk penyajian antar muka pengguna, atau user interface.
HTML hanya menyediakan komponen user interface yang sangat dasar. Berdasarkan komponen tersebut, Java Enterprise menyediakan komponen-komponen tambahan yang memudahkan penyajian isi, misalnya seperti validasi otomatis, komponen kalender, komponen auto-complete, dan sebagainya. Java Server Pages, adalah kunci dari nomor 2 ini.
- Persistent Connection dan Object Relational Mapping.
Aplikasi enterprise nyaris tidak bisa dipisahkan dari koneksi ke database. Karena Java adalah bahasa yang sangat berorientasi objek, maka Java menyediakan mekanisme khusus untuk menangani database relasional secara object-oriented. Data-data pada database disimpan dalam objek-objek yang telah didefinisikan, sehingga sangat memudahkan kita untuk melakukan operasi database (Create, Update, Delete, Select) dengan langsung mengakses objek tersebut. Standar Java Enterprise yang mengurusi masalah ini adalah EJB (Enterprise Java Bean).
Java Enterprise Edition sebenarnya hanyalah spesifikasi-spesifikasi yang ditulis dalam standar JSR. Oleh karena itu dalam implementasinya ada beberapa model bingkai kerja Java Enterprise yang didukung oleh vendor-vendor tertentu. Apa saja implementasi standar JSR yang didukung resmi oleh vendor-vendor besar seperti Sun dan Oracle? Ada Java Server Faces, Java Server Pages, dan Enterprise Java Bean (EJB).Selain vendor-vendor resmi, beberapa komunitas juga mengembangkan standar mereka sendiri untuk membangun aplikasi enterprise. Berbasis Java, ada bingkai kerja semacam Struts 2, Spring, dan semacamnya. Aplikasi-aplikasi ini meskipun tidak mengimplementasikan JSR, telah cukup untuk membuat aplikasi enterprise. Ini yang akan saya bahas nanti.
Aplikasi yang akan saya bangun nanti adalah sebuah aplikasi kosong yang memiliki fungsional enterprise. Framework yang saya gunakan adalah:
- Struts 2, framework yang mengatur hubungan antara client dan server. Struts 2 memiliki roh dari Webwork 2.
- Spring, framework untuk mengatur MVC (Model View Controller).
- Hibernate, framework untuk Object Relational Mapping. Semacam Entity EJB jika di standar Java Enterprise.
Revolusi Solusi Deployment untuk Aplikasi yang dibangun dengan PowerBuilder Kategori : Fokus
Menampilkan applikasi anda yang dibangun dengan PowerBuilder ke Web hanya dalam beberapa hari atau minggu tanpa menginvestasi sejumlah besar uang dan waktu karena perubahan arsitektur dan usaha pengembangannya. Solusi Appeon mentransformasikan aplikasi client server, yang dibangun dengan PowerBuilder dan sangat intensif terhadap penggunaan data, kepada apllikasi n-tier berbasis browser, applikasi production yang dideploy ke Web dan tetap mempertahankan functionality secara penuh dan user interface aslinya.
Kecepatan data entry pada alikasi yang didploy ke appeon, menyediakan kemampuan reporting dan pencetakan yang state-of-the-art langsung dari web, membentuk Adobe Acrobat PDF dan MS Excel File dari banyak DataWindow, dan secara otomatis membolehkan kemampuan revolusioner untuk membuka banyak window sheet dalam satu waktu tanpa mengharuskan browser untuk di refresh. Keunggulan dari IDE 4GL PowerBuilder mempaengaruhi pengalaman anda dalam mengembangkan kode dan dengan Appeon anda bisa mendapatkan pengalaman baru dalam pengembangan aplikasi web interaktif.
Dengan semua graphical user interface PowerBuilder dan Appeon yang revolusioner, banyak usaha pengembangan yang baru yang akan distandarkan dengan paradigma ini untuk pengembangan di masa depan, yang mana juga membolehkan satu source code dasar di deploy baik ke client/server maupun sebagai aplikasi web.
Pindah ke Web
Memperluas Pengguna
Penjelajah ada di mana-mana — technology dengan deployment nol dan pada akhirnya adalah perawatan yang rendah. Aplikasi powerbuilder menghadirkan investasi teknologi yang disempurnakan. Solusi baru untuk PowerBuilder ini menyatukan aplikasi-aplikasi yang ada, sarana deployment yang ringan untuk application server maupun browser, tanpa applet tanpa plug-in tanpa ActiveX, atau Java Virtual Machine sebab Appeon adalah solusi thin-client yang sebenarnya.
Konversi manual Aplikasi PowerBuilder ke Aplikasi Web adalah masa lalu.
Sebelum Appeon, usaha untuk memindahkan aplikasi PowerBuilder ke Web dilakukan secara manual. Developer/Pengembang perlu untuk menguasai teknologi untuk memulai project ini, dan end user seringkali tidak suka dengan user interface yang baru.
Merubah seluruh aplikasi PowerBuilder ke aplikasi web n-tier secara automatic.
Untuk mengefektifkan code pwerbuilder menjadi aplikasi kelas dunia. Functionality dari aplikasi PowerBuilder anda diteruskan untuk memnuhi kebutuhan bisnis anda. Konektifitas back-end anda tetap stabil dan senantiasa tersambung.
Aplikasi client/server dirombak menjadi pemimpin, n-tier, aplikasi yang dideploy ke web secara mudah dan cepat! Aplikasi masih mempertahankan 100% functionality user interface.
Keuntungan
Memperluas pengembangan Aplikasi PowerBuilder
Memperlihatkan kepada internal user(intranet), partner (extranet), dan customer (internet) interface yang sama dan memuaskan. Meningkatkan fleksibilitas dan produktifitas dalam tim kerja anda; membberikan pekerja telecommuting (kelompok yang saling berjauhan) dan pekerja lapangan akses yang sama seperti pada internal user. Anda tidak lagi harus memaintain versi parallel client/server dan web, sekarang anda hanya butuh satu source library yang bisa di deploy ke kedua versi tersebut.
Permasalahan Deployment Menguap
Anda mendapatkan keuntungan dari perbaikan kesalahan dan pengembanga lanjutan dengan web deployment. Dalam perjalanannya, aplikasi client/server bisa menjadi korban dari keberhasilannya, kumpulan fitur untuk memuaskan user base yang berkembang. Perkembangan ini dapat mendorong umpan balik dimana perubahan fitur pada software client akan dilepas kepada user base. Sebagai user base yang berkembang, seringkali update client-site menjadi suatu problem tersendiri. Dengan Appeon, software client tidak pernah didownload; semua modifikasi dilakukan di sis server.
Menghemat Biaya
Mencapai Web deployment untuk applikasi anda dan melanjutkan penambahan functionality tanpa harus menginterupsi atau berganti tool programming staf anda. Programmer PowerBuilder musiman yang tahu bisnis rule anda masih bisa tetap pada pekerjaannya karena dia bagus dalam menuliskan kode PowerBuilder. Tanpa skill pemrograman HTML, JavaScript, Java, atau C# yang diperlukan. Tenaga ahli anda tetap produktif dalam rangka revitalisasi aplikasi. Soluni baru ini mampu membuang kebutuhan dedicated line atau frame relay yang mahal untuk menservice client. Anda dapat menghemat investasi teknologi anda untuk keperluan back-end server-side programming dan front-end interface client. Biaya perawatan dan kastemer service dapat diturunkan secara dramatis sebab tidak lagi diperlukan instalasi software di client, menghilangkan sesuatu yang secara histories merupakan masalah utama yang menyebabkan kegagalan di sisini user!
Pengembangan Web Yang Kaya
Dalam penyebaran (deploying) aplikasi yang telah ada ke Web, Anda sekarang mempunyai satu alat baru yang powerful untuk membuat aplikasi production yang pernah tercatat dalam sejarah. Kekayaan akan control, presentasi data, manipulasi data dan validasi melekat pada kode denganparadigma pengembangan web yang baru ini, yang mana lebih cepat dan tidak memusingkan sebagaimana pada ASP maupun JSP.
Automatisasi
Tentang APPEON
Appeon adalah ekstensi Web-Enabling (menjadikan web?) dari IDE (Integrated Development Environtment, Lingkungan Pengembangan yang Terintegrasi) Sybase PowerBuilder. Appeon mengatur koneksi database dan keamanan (security), menyediakan skalabilitas dan ketersediaan yang tinggi kepada aplikasi anda. Dengan Appeon programmer anda masih bisa menggunakan seluruh kemampuan PowerBuilder dan fitur-fiturnya. Prose konversi dilakukan secara otomatis dan dapat dikonfigurasi.
Appeon Developer
Appeon Developer mengembangkan IDE PowerBuilder, yang akan membaca dan menganalisa aplikasi powerbuilder, membentuk file-file web, menampilkan aplikasi web ke browser dan men-deploy aplikasi web ke Appeon Server.
Appeon Server
Appeon Server mengimplementasikan gaya tampilan graphical user interface PowerBuilder ke dalam Web Browser dan menyediakan dukungan Datawindow secara lengkap. Appeon Server menyediakan runtime service untuk aplikasi yang telah dideploy, sperti load balancing, konektifitas database, pengaturan transaksi, dukungan pencetakan, file-file Adobe Acrobat PDF dan MS Excel dari banyak datawindo. Appeon Server menyediakan sat set lengkap fungsi-fungsi javaScript yang sesuai dengan statement-statement PowerScript di sisi klien dan meminimalkan kebutuhan refresh halaman. Malalui pemetaan lanjut (Advanced mapping), Appeon mendukung konsep model pemrograman lanjut (Advanced programming model concept) semacam window inheritance pada powerbuilder, pengurutan struktur event dan embedded SQL.
Appeon Enterprise Manager
Appeon Enterprise Manager (AEM) adalah kelengkapan berbasis web untuk mengaatur aplikasi web yang telah di transform dan mengatur Appeon melalui internet. Appeon Enterprise Manager menyertakan peralatan untuk konfigurasi system, perawatan system, optimasi kinerja dan monitoring system.
Menyebar (Deploy) Aplikasi Klien-server ke Web dalam tiga tahap
1. Analisis
Appeon membaca seluruh aplikasi PowerBuilder, menandai hal-hal yang tidak
cocok dengan Web
2. Modifikasi
Jika diperlukan akan menulis ulang atau membuang fitur PB atau kode
menggunakan pemrograman PB standar
3. Deploy
Mengaktifkan Aplication Deployment Wizard untuk membentuk HTML,XML, dan
JavaScript Memilih profile deployment untuk pengembangan, Test/QA, atau
Production Server (juga cluster server dengan mudah didukung jika
diperlukan) Deploy Applikasi PowerBuilder Web hanya dengan menekan
tombol “push”
ROI
Appeon memberikan cara penyebaran (deployment) paling cepat tanpa harus menambah biaya atau membuat aplikasi baru. Dengan Appeon bisa menggunakan tool/alat yang sama (dengan Windows based) untuk membuat aplikasi web yang baru dengan cepat dan murah. Menambah dimensi baru untuk aplikasi yang sangat penting dan telah stabil di perusahaan/enterprise anda. Memindahkan aplikasi client/server yang kaya menjadi aplikasi web n-tier yang kuat, memperpanjang masa berlaku dan memperluas jangkauan.
Jika perusahaan anda di masa depan merencanakan membangung aplikasi web atau portal web, Sybase dan Appeon memberikan perlengkapan yang anda butuhkan untuk memperkuat asset dan penguasaan teknologi anda secepatnya tanpa adanya training tambahan. Appeon membawa kode anda kepada kelebihan masa
dikutip dari : http://jonni182.wordpress.com/2008/07/26/pengantar-web/
Wednesday, September 15, 2010
SQL script to update another table
Update mpn SET EQTY_MPN = aa.quantity from (select part,quantity from vwimport ) AS aa where mpn.PN_MPN = aa.part
bila ingin quantity kolom asal dijumlah dengan quantity data updatedmaka akan menjadi sbb:
Update mpn SET EQTY_MPN = (EQTY_MPN+aa.quantity) from (select part,quantity from vwimport ) AS aa where mpn.PN_MPN = aa.part
Saturday, August 21, 2010
sql query from command line
please write below script and save as coba.bat
then set as autorun use scheduler task from windows
mysql -u root -p4321 -D fos -e "update jns_cuti set lama_jcuti = 1 where date_jcuti = CURDATE()"
remote IP at access log apache seen as 0.0.0.0
happen at Apache ver 2.2 on windows 2000 proffesional sp4.
According to Apache documentation, AcceptEx() is a Microsoft WinSock v2 API that provides some performance improvements over the use of the BSD style accept() API in certain circumstances. Some popular Windows products, typically virus scanning or virtual private network packages, have bugs that interfere with the proper operation of AcceptEx().
The resolution to the above problem is to disable the use of AcceptEx by using Win32DisableAcceptEx directive. Win32DisableAcceptEx only available in Apache version 2.0.49 and later version though.
Win32DisableAcceptEx directive should be place in httpd.conf configuration file. If you are using distribution from apachefriend’s xampp, the directive should be placed at httpd.conf file too, and not the httpd-mpm configuration file. The directive can be placed together with the line of #EnableMMAP off and #EnableSendfile off in httpd.conf.
If you still facing issue after enable the Win32DisableAcceptEx directive, try to uncomment (disable) the EnableMMAP and EnableSendfile directive. The line should looks like this:
EnableMMAP off
EnableSendfile off
Win32DisableAcceptEx
Note: I found that enable Win32DisableAcceptEx directive cause Apache running on Windows XP to crash frequently. So it’s possibe to try to just turn off (uncomment) EnableMMAP and EnableSendfile without Win32DisableAcceptEx for stability issue, although it doesn’t guarantee reliability of Apache web server.
Saturday, June 05, 2010
name X axis at graph / chart in vb6
Point pentingnya adalah bagian label X axis, disesuaikan dengan column name di tabel.
dan tidak memakai component adodc
berikut scriptnya.
untuk membuat sumbu X: syarat utamanya adalah,
kolom yang akan menjadi sumbu X, datanya harus bukan bilangan
-------------------------
Public cn As ADODB.Connection
Public rs As ADODB.Recordset
Private Sub Form_Load()
Set cn = New ADODB.Connection
cn.Provider = "microsoft.jet.oledb.4.0"
cn.CursorLocation = adUseClient
cn.Open App.Path & "\db1.mdb"
Set rs = New ADODB.Recordset
'Untuk memanggil tabel
rs.Open "select * from grafik", cn, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = rs
MSChart1.chartType = VtChChartType2dBar
Set MSChart1.DataSource = rs
End Sub
--------------------------------
macam query di SQLServer
biar mudah dicari bila diperlukan.
::: current date time
update pre_tbl set PRE_DATE = GETDATE() where PRE_CRDNO = 'CRD-123460' ;
insert into PRE_TBL values ('CRD-123461','V03A00049900',50,GETDATE());
SELECT * FROM tabel where tabel_date = CURDATE( );
::: group berdasarkan nama bulan, in dan out
select hari as bulan,
sum (case when a.remark = 'I' then jumlah else 0 end)Incoming,
sum (case when a.remark = 'O' then jumlah else 0 end)Outgoing
from (SELECT remark, DATENAME(month,tanggal) hari, sum(qty) jumlah from vwunion group by remark, DATENAME(month,tanggal))a
group by hari
:::: menentukan sisa quantity memakai HAVING
select DocNo,
sum (case when a.remark = 'I' then jumlah else 0 end)INCOMING ,
sum (case when a.remark = 'O' then jumlah else 0 end)OUTGOING,
(sum (case when a.remark = 'I' then jumlah else 0 end) - sum (case when a.remark = 'O' then jumlah else 0 end))SISA
from (select remark, docno, sum(qty)jumlah from vwunion group by docno,remark)a
group by DocNo
having (sum (case when a.remark = 'I' then jumlah else 0 end) - sum (case when a.remark = 'O' then jumlah else 0 end)) > '0.00'
::: untuk group berdasar row code and set to 0 if NULL
select hari as bulan,
sum (case when a.remark = 'I' then jumlah else 0 end)Incoming,
sum (case when a.remark = 'O' then jumlah else 0 end)Outgoing
from (SELECT remark, month(tanggal) hari, sum(qty) jumlah from vwunion group by remark, month(tanggal))a
group by hari
::: untuk group date berdasarkan bulan.
SELECT remark, month(tanggal) hari, sum(qty) jumlah from vwunion group by remark, month(tanggal)
:: updated tabel#1 dengan referensi tabel#2
update MITM_TBL SET MITM_STS = '1' from IN_TBL,mitm_tbl where IN_ITM = MITM_ITM and IN_DOCNO = 'IN-444444'
Sunday, May 16, 2010
random in SQL server database
select * from namatabel order by newid()
Query generates a random number between 1 and 10.
UPDATE @TT
SET DayAlloted = ABS(CHECKSUM(NEWID())) % 100 + 24
generate top 10 random field
SELECT TOP 10 RAND() AS [RandomNumber], [CustomerID], [CompanyName], [ContactName]
FROM [dbo].[Customers]
move data listview from listview1 to listview2 or opposite
data di pilih satu satu atau all data dan di pindah kekanan / kiri
----------------------
Private Sub cmdkanan_Click()
Dim k, t
If ListView1.ListItems.Count = 0 Then
MsgBox "Daftar dosen sudah habis !", vbCritical + vbOKOnly, "PERINGATAN"
Else
t = ListView1.SelectedItem.Text
k = ListView1.SelectedItem.Index
ListView1.ListItems.Remove (k)
ListView1.Refresh
Set List2 = ListView2.ListItems.Add(, , t)
Cmdkiri.Enabled = True
Cmdkirisemua.Enabled = True
If ListView1.ListItems.Count = 0 Then
cmdkanan.Enabled = False
Cmdkanansemua.Enabled = False
End If
End If
Call cmdlanjut_Click
End Sub
---------------------------------------
Private Sub Cmdkanansemua_Click()
Dim i, t
If ListView1.ListItems.Count = 0 Then
MsgBox "Daftar dosen sudah habis !", vbCritical + vbOKOnly, "PERINGATAN"
Else
For i = 1 To ListView1.ListItems.Count
t = ListView1.ListItems.Item(i)
Set List2 = ListView2.ListItems.Add(, , t)
Next i
ListView1.ListItems.Clear
cmdkanan.Enabled = False
Cmdkanansemua.Enabled = False
Cmdkiri.Enabled = True
Cmdkirisemua.Enabled = True
End If
Call cmdlanjut_Click
End Sub
------------------------------------
Private Sub Cmdkiri_Click()
Dim k, t
If ListView2.ListItems.Count = 0 Then
MsgBox "Daftar dosen sudah habis !", vbCritical + vbOKOnly, "PERINGATAN"
Else
t = ListView2.SelectedItem.Text
k = ListView2.SelectedItem.Index
ListView2.ListItems.Remove (k)
ListView2.Refresh
Set List1 = ListView1.ListItems.Add(, , t)
cmdkanan.Enabled = True
Cmdkanansemua.Enabled = True
If ListView2.ListItems.Count = 0 Then
Cmdkiri.Enabled = False
Cmdkirisemua.Enabled = False
End If
End If
Call cmdlanjut_Click
End Sub
---------------------------------
Private Sub Cmdkirisemua_Click()
Dim i, t
If ListView2.ListItems.Count = 0 Then
MsgBox "Daftar dosen sudah habis !", vbCritical + vbOKOnly, "PERINGATAN"
Else
For i = 1 To ListView2.ListItems.Count
t = ListView2.ListItems.Item(i)
Set List1 = ListView1.ListItems.Add(, , t)
Next i
ListView2.ListItems.Clear
cmdkanan.Enabled = True
Cmdkanansemua.Enabled = True
Cmdkiri.Enabled = False
Cmdkirisemua.Enabled = False
End If
Call cmdlanjut_Click
End Sub
Thursday, May 13, 2010
penggunaan KeyAscii di VB6
Private Sub passwd_KeyPress(KeyAscii As Integer)
' detect when user presses "Enter" key and if so validate password
If KeyAscii = 13 Then
' this is the call on the routine that does the password checking
Call passwd_Validate(False)
End If
End Sub
LISTVIEW di VB6
perbedaaan listview dengan datagrid al sbb (diambil dari berbagai sumber):
listview itu component yg ada dlm package Microsoft Windows Common Control (v5/v6). kalo DataGrid itu komponen ndiri (klo nda salah MS DataGrid Control). bedanya jauh...
listview : cuman bisa nge-view (namanya juga listVIEW)
datagrid : bisa berhubungan langsung dengan datasource, jadi memungkinkan untuk manipulasi data (SELECT/INSERT/UPDATE/DELETE) secara langsung via datagrid
listview :cukup indah (apalagi MSCommCtrl bawaan vb2005 : bisa modeview tiles/thumbnail kya di explorer). oia, windows explorer itu jg makae listview control, cuman dia bukan turunan class MSCommCtrl, tapi syslistview)
datagrid: tampilan biasa... kadang lebih terkesan kya halaman view table-nya MS Access. tapi cukup powerful kalo nda pengen coding banyak-banyak
listview : bisa nambah icon, bisa dikasih background
datagrid : ndak bisa
listview : agak lambat kalo data udah sampai ribuan. refresh listview bisa bikin flicker.
datagrid : nda masalah sampai data ribuan. kalo jutaan, ogut belon pernah benchmark.
listview : kerumitan pertama ada pada saat design-time yang terlihat di form cuman kotak putih mirip picturebox, nda ada visualisasi penampakan tabel yang mau dibikin. nyetting-nyetting headernya agak rumit (tapi di VB 2005, untuk kasus ini sudah dipermudah...)
datagrid : pas design-time, cukup referensikan datasource ke ADODC, trus di datagridnya tinggal klik-kanan dan retreive fields... dan ... jadilah!
listview : data yang ampil di slistview bisa di olah tanpa memakai sql script.
datagrid : karakteristiknya datagrid ini adalah recordset yang tersambung terus... jadi kalo datasourcenya di-disconnect-in, datagridnya bakal kosong lagi.
Listview menampilkan data dengan melakukan looping di tiap gridnya,
DataGrid tidak. Listview tidak dapat diedit di tiap gridnya, cuman bisa menampilkan data doank, sedangkan data grid bisa.....
keduanya dipakai sesuai keperluan.Komponen sejenis adalah truedbgrid product dari ComponentOne (berbayar).
Wednesday, April 28, 2010
remote connection
pake berikut:
remote database koneksi: LogmeIn Hamaci
remote pc desktop: team viewer
Saturday, April 24, 2010
VB6: Cannot load control DBGrid3,license not found
"Cannot load control DBGrid3,license not found".
Padahal di menu lainnya dalam satu applikasi tidak dan dicoba di PC lain juga tidak.
berikut solusinya:
masukkan CD installer VB6 then search file "DBGRID.REG". Biasanya di folder: E:\COMMON\TOOLS\VB\. Kemudian double click that file
Saturday, April 10, 2010
trigger di SQL Server
Trigger merupakan store procedure yang dijalankan secara automatis saat user melakukan modifikasi data pada tabel. Modifikasi data yang dilakukan pada tabel yaitu berupa perintah INSERT, UPDATE, dan DELETE.
INSERT , UPDATE dan DELETE bisa digabung jadi satu trigger yang dinamakan Multiple Trigger.
formatnya sbb:
CREATE TRIGGER nama_trigger
ON nama_tabel
FOR INSERT, UPDATE, DELETE
AS
isi statement-statement Anda disini.
GO
Friday, April 09, 2010
store procedure di SQL Server
... view tidak bisa dipasang parameter ....
... Stored Procedure lebih flexible karena ada parameter didalamnya ...
view yang diberi parameter.. kita biasa menyebutnya function .. (yg mereturn table... )
CREATE PROC au_info @lastname varchar(40), @firstname varchar(20)
AS
SELECT au_lname, au_fname, title, pub_name
FROM authors INNER JOIN titleauthor ON authors.au_id = titleauthor.au_id
JOIN titles ON titleauthor.title_id = titles.title_id
JOIN publishers ON titles.pub_id = publishers.pub_id
WHERE au_fname = @firstname
AND au_lname = @lastname
GO
untuk menjalankan store procedure diatas,
memakai script berikut di SQL Analyzer di database pubs:
EXECUTE au_info Ringer, Anne
GO
penggunaan View di SQL Server
definisi (query) suatu tabel. Untuk mudahnya, view adalah (seperti) "virtual tabel".
mengapa perlu memakai view, berikut beberapa alasannya:
- untuk membagi beban resource yang terpakai saat aplikasi di jalankan. Karena view dijalan/dieksekusi di sisi server. Maka resource di PC clients akan lebih hemat.
- untuk mempermudah dalam menampilkan data. Kadang struktur database yang kita buat
agak mempersulit kita dalam proses query untuk ditampilkan di report. Contoh report untuk crosstab/pivot tabel (pivot baru ada di SQL Server 2008).
- untuk mempermudah maintain aplikasi, apabila ada proses query yang sama dan berulang
maka akan lebih simple dalam proses pembuatan aplikasi.
- untuk mengimplementasikan security. User tidak bisa melihat colom colom tabel sebenarnya.
- kekurangannya: View tidak bisa menerima parameter sebagaimana Stored Procedured (SP).
View sangat membantu kita untuk merefleksikan field-field yang tidak ada di satu table tetapi ada di table lain, untuk itu kita bisa gunakan view ini dengan cara membuat relasi (join) antar tabletable tersebut. Tetapi yang perlu diperhatikan dalam pembuatan view ini adalah tentunya
keterkaitan antara table-table yang dipakai dalam view ini, semakin banyak relasi tentuanya akan semakin berat si SQL dalam melakukan suatu proses query dalam view tersebut, karena SQL akan melakukan proses loading semua data yang ada dalam table ke dalam view, baru kemudian SQL akan memfilternya, kalau kita lakukan query berdasarkan kriteria tertentu pada view tersebut.
contoh;
misal ingin membuat repot bentuk crosstab/ pivot tabel dengan crystall report 7 dan database SQL server2000. Pivot ada di SQL server 2008.
bila di SQL query analyzer, script berikut akan menjadi pivot:
SELECT OrderID,CustomerID,
(CASE ShipVia WHEN '1' THEN Freight ELSE 0 END) AS Q1,
(CASE ShipVia WHEN '2' THEN Freight ELSE 0 END) AS Q2,
(CASE ShipVia WHEN '3' THEN Freight ELSE 0 END) AS Q3
FROM orders
tapi bila ditampilkan ke crystal report 7 akan susah (kecuali versi 10 keatas) didesain.
sehingga memerlukan view untuk membuat virtual tabel yang nantinya mudah di design memakai crystal report 7.
berikut membuat viewnya:
create view order_view as
SELECT OrderID,CustomerID,
(CASE ShipVia WHEN '1' THEN Freight ELSE 0 END) AS Q1,
(CASE ShipVia WHEN '2' THEN Freight ELSE 0 END) AS Q2,
(CASE ShipVia WHEN '3' THEN Freight ELSE 0 END) AS Q3
FROM orders
Monday, March 29, 2010
shrink database Ms SQL Server
below steps script for reduce NORTHWIND database from 80GB become to 40GB:
(1) . backup the Log
BACKUP LOG NORTHWIND WITH NO_LOG
(2). cek logical name log
sp_helpdb NORTHWIND
(3). shrink the logical log become to 1024kb
DBCC SHRINKFILE (NORTHWIND_Log,1)
Limit function at SQL Server
select * from berita limit $posisi,$batas
and below for Ms SQL Server:
select top $batas * from wgrn_tbl where WGRN_ITMCD like '%$nama%' and WGRN_GRLNO not in ( select top $posisi WGRN_GRLNO from wgrn_tbl where WGRN_ITMCD like '%$nama%' order by WGRN_ITMCD,WGRN_RCVDT desc) order by WGRN_ITMCD,WGRN_RCVDT desc
Limit function used for e.g: at paging data for website
Saturday, March 06, 2010
penggunaan select between date di VB
Perhatikan penggunaan Format(DTPicker1.Value, "mm/dd/yyyy") , karena sering kali di SQL analizer jalan tapi di VB form jalan tapi salah data yg ditampilkannya
Private Sub Command5_Click()
Call BukaDatabase
Adodc3.ConnectionString = STRKoneksi
Adodc3.RecordSource = "SELECT * FROM transaksi where Tanggal between '" & Format(DTPicker1.Value, "mm/dd/yyyy") & "' and '" & Format(DTPicker2.Value, "mm/dd/yyyy") & "'"
Adodc3.Refresh
Set DataGrid1.DataSource = Adodc3
End Sub
selection formula Dtpicker at VB - CrystalReport
MsSQL server and Crstal report, have diffrent format data.
so please use this one:
Private Sub Command1_Click()
CrystalReport1.Connect = "ODBC;driver=SQLSERVER;" & "UID=sa;pwd=password;server=server_name;DATABASE=database_name"
CrystalReport1.ReportFileName = App.Path & "\REPORT\report111.rpt"
Qry = "{Transaksi.Tanggal} >= " & Format(DTPicker1, "\Date(yyyy,mm,dd)") & " " _
& "And {Transaksi.Tanggal} <= " & Format(DTPicker2, "\Date(yyyy,mm,dd)")
CrystalReport1.SelectionFormula = Qry
CrystalReport1.RetrieveDataFiles
CrystalReport1.WindowState = crptMaximized
CrystalReport1.Action = 1
End Sub
Loading...