Home about IT Motivation Course Sales Project About Me

Monday, September 27, 2010

Materi kuliah Pemrograman Terstruktur 2010

Berikut materi materi kuliah Pemrograman Tersruktur untuk periode 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.

  1. 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.

  1. 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:

  1. Struts 2, framework yang mengatur hubungan antara client dan server. Struts 2 memiliki roh dari Webwork 2.
  2. Spring, framework untuk mengatur MVC (Model View Controller).
  3. 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

berikut contoh script SQL Server untuk update suatu column dari tabel lain: dengan kondisi jumlah row dari data source lebih sedikit dari jumlah row dari tabel yang akan di update:

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