ICT


1
Mar 09

Apa itu SOAP?

SOAP adalah sebuah protokol berbasis XML yang mengizinkan aplikasi-aplikasi melakukan pertukaran informasi melalui HTTP. Secara sederhana, SOAP merupakan sebuah protokol untuk mengakses sebuah Web Service. Sebelum mempelajari SOAP, sebaiknya kita telah memiliki pemahaman dasar tentang XML dan XML namespaces.

Apa itu SOAP?

  • SOAP merupakan singkatan dari Simple Object Access Protocol.
  • SOAP adalah sebuah protokol komunikasi.
  • SOAP untuk berkomunikasi antar aplikasi.
  • SOAP adalah sebuah format untuk mengirimkan pesan.
  • SOAP berkomunikasi melalui internet.
  • SOAP bersifat platform independent.
  • SOAP bersifat language independent.
  • SOAP adalah berbasis XML.
  • SOAP bersifat sederhana dan extensible.
  • SOAP mengizinkan kita untuk melalui firewall.
  • SOAP direkomendasikan oleh W3C.

Mengapa SOAP?

Penting bagi perkembangan aplikasi untuk mengijinkan komunikasi internet antar program.

Aplikasi-aplikasi sekarang ini berkomunikasi menggunakan Remote Procedure Calls (RPC) antar objek seperti DCOM dan CORBA, tetapi HTTP tidak dirancang dengan tujuan tersebut. RPC merepresentasikan suatu masalah compatibility dan security. Firewall dan proxy servers akan memblokir traffic seperti ini.

Cara yang lebih baik untuk berkomunikasi antar aplikasi adalah melalui HTTP, karena HTTP didukung oleh seluruh Internet browsers dan servers. SOAP diciptakan untuk menerapkannya.

SOAP menyediakan sebuah cara untuk berkomunikasi antar aplikasi yang berjalan di sistem operasi yang berbeda, dengan teknologi yang berbeda, dan bahasa pemrograman yang berbeda juga.


26
Feb 09

Perbandingan Web Frameworks

Postingan kali ini diangkat dari tugas perkuliahan Web Engineering. Disini saya membandingkan framework-framework yang kerap digunakan dalam membangun suatu aplikasi web. Pemilihan framework tergantung oleh selera masing-masing, dosen saya  menganjurkan untuk mencoba semua framework tersebut. (Fyuh)

Scalability :

  • Wicket dan Seam : Cocok untuk intranet / extranet , user sedikit, UI yang lebih kompleks
  • Struts dan Spring 2 : Lebih cocok untuk untuk aplikasi yang lebih kompleks, lusinan halaman, yang perlu di-maintain secara rutin. High-trafic, internet facing, infinite scalability >> Request-based framework

Security :

  • Spring 2 dan Seam : Memiliki fitur-fitur keamanan khusus.
  • .NET framework : Code Access Security (CAS), and validation and verification
  • Wicket : Default dari code di framework ini adalah secure, semua logic di java dengan keamanan maksimum, dapat dengan mudah berintegrasi dengan security pada Java

Maintainability :

  • Spring : Membutuhkan konfigurasi yang sangat intensif – banyak  XML
  • Struts : Membutuhkan konfigurasi XML >> dapat menjadi sangat besar dan kompleks.
  • Wicket : Tidak butuh konfigurasi XML, Komponen yang ditulis di Wicket bersifat fully reusable, komponen-komponen yg reusable dapat didistribusikan dengan mudah menjadi JAR files, No special HTML and we can use WYSIWYG editor
  • Seam : Waktu setup yg lebih singkat

Reliability :

  • Struts : Dewasa (Mapan), popular but almost dead, MVC konsep yang matang
  • .NET framework : Konsisten. Kemudahan-kemudahan pada saat proses pembuatan aplikasi berimplikasi terhadap konsistensi pada aplikasi yang kita buat. Misalnya, dengan adanya Base Class Library, maka kita bisa menggunakan objek atau Class yang dibuat untuk aplikasi berbasis windows pada aplikasi berbasis web.
  • Wicket : Object oriented programming for the web
  • Seam : Terlindung dari potensial bugs dan masalah performansi terkait dengan transisi ke AJAX. Otomatis dapat men-generate CRUD (CRUD dan Validasi hanya dalam satu klik), the easiest way to get rich (banyak teknologi yang telah terintegrasi)

Learning Curve :

  • Spring : Sulit dipelajari, makin populer dan sedang berkembang pesat
  • Struts : Dokumentasi paling lengkap di internet, pengguna banyak, referensi banyak, sulit dipelajari dibanding framework yang lain
  • .NET framework : Mendukung lebih dari 20 bahasa pemrograman : VB.NET, C#, J#, C++, Pascal, Phyton (IronPhyton), PHP (PhLager), referensi banyak
  • Wicket : Dokumentasi tidak sebaik Struts dan Java Server Faces, namun memiliki forum yang aktif
  • Seam : Sangat Mudah, dapat menambahkan AJAX ke dalam aplikasi tanpa kewajiban untuk mempelajari JavaScript

Total cost of Ownership :

  • Struts, Spring, Wicket, .NET, Seam : Free

MVC :

  • Spring : Inversion of Control yang secara sederhana dijelaskan sebagai pengatur lalu lintas data antara Model dan View
  • Struts : Cukup merepotkan melakukan akses database dengan menggunakan generic JDBC biasa
  • Wicket : Murni terpisah antara logic dan presentation

18
Feb 09

Fenomena Perancangan Software

Gambar tersebut (lihat di bawah) mendeskripsikan fenomena-fenomena yang kerap terjadi dalam dunia perancangan suatu perangkat lunak. Fenomena ini juga dapat terjadi dalam dunia Web Engineering.

Lima kotak pertama (bagian atas) menggambarkan bagaimana perbedaan pandangan antara customer, project leader, analyst, programmer, dan bussiness consultant. Hal ini kerap terjadi karena tidak terlaksananya komunikasi yang baik di antara setiap aktor tersebut.

software_engineering

Kesalahan requirement yang diberikan oleh customer tidak dapat diterjemahkan dengan baik oleh project leader, dan bussiness consultant menerjemahkannya terlalu berlebihan dari sisi bisnis. Analyst pun merancang efektifitas dan efisiensi dari pola pikir project leader yang dari awal sudah keliru, sehingga menghasilkan rancangan yang makin keliru. Programmer sudah pasti kebingungan.

Akhirnya, kenyataan di lapangan dapat kita lihat di lima kotak berikutnya (bagian bawah). Sejak awal proyek tidak terdokumentasi dengan baik, terutama pada bagian Reguirements. Kegagalan seorang project leader dalam menentukan requirement yang dapat disepakati umum, menimbulkan kebingungan dalam membuat dokumen-dokumen berikutnya, sehingga proyek nihil dokumentasi. Programmer juga kebingungan karena requirement rentan berubah-ubah, tahap konstruksi pun menjadi terbengkalai. Padahal customer telah dikenakan biaya yang besar untuk pengerjaan proyek ini. Biaya yang besar disebabkan oleh ketidakseragaman pandangan pada gambar bagian atas. Bussiness consultant terlalu melihat produk dari sisi bisnis dan project leader tidak mampu meluruskannya, sehingga customer terkena biaya yang sangat besar. Dalam kasus seperti ini, dukungan-dukungan dari faktor lain juga sangat minim.

Sesungguhnya produk yang dibutuhkan customer adalah sangat sederhana : fungsionalitas terpenuhi. Namun karena dari awal dokumentasi dan komunikasi tidak terlaksana dengan baik, proyek pun berjalan dengan berantakan dan kerap terhenti di tengah jalan.

Oleh karena itu, dalam pengembangan suatu software ataupun web application, penentuan requirements spesification adalah suatu pekerjaan yang sangat penting. Fakta membuktikan bahwa kebanyakan kegagalan pengembangan software ataupun web application disebabkan karena adaya ketidakkonsistenan, ketidaklengkapan, maupun ketidakbenaran dari requirements specification.

Hal tersebut diharapkan bisa diatasi dengan adanya interaksi terus menerus dan berulang (iterasi) antara pengembang dan customer. Proses interaksi tersebut kemudian dimodelkan menjadi beberapa teknik dan metodologi diantaranya adalah interviewing, brainstorming, prototyping, use case, dsb.


18
Feb 09

Web Application Requirement dan Software Requirement

Pada dasarnya sama, Software Requirement dan Web Application Requirement sama pentingnya untuk setiap kasusnya masing-masing. Keduanya memiliki alur yang relatif sama, kalaupun ada perbedaan mungkin terdapat pada ruang lingkup dan artifak-artifaknya.

Keduanya pun kerap menghadapai permasalahan yang sama yaitu fenomena yang sering disebut dengan “Yes, But Syndrome” (That is what I meant, but not exactly what I meant) dan “Undiscovered Ruins Syndrome” (Now that I see it, I have another requirement to add) [02]

Dari ilustrasi diatas, muncul keinginan untuk menerapkan pendekatan engineering untuk memecahkan masalah tersebut, yang akhirnya membawa arus deras kemunculan cabang ilmu requirements engineering.

Sistemisasi proses negosiasi pengembang dan customer dalam requirements engineering dibagi dalam 3 proses besar yaitu: elicitation, specification, validation and verification. Formula ini kemudian juga dikenal dengan nama The Three Dimensions of Requirements Engineering [01]. Proses requirements engineering ini dilakukan secara iterasi dengan mengakomodasi adanya feedback dari customer.

Baik pengembangan software ataupun web application menerapkan cabang ilmu ini, oleh karena itu dapat dikatakan Software Requirement dan Web Application Requirement menggunakan alur proses yang sama, namun artifak dan ruang lingkupnya berbeda. Yaitu perbedaan siginifikannya adalah penggunaan browser pada web application.


29
Jan 09

Wordpress dan Jazz?

Saya benar-benar tak menyangka. Ternyata dua hal yang saya gemari (blogging dan musik jazz) memiliki keterikatan. Hahaha.

Tahukah Anda bahwa pencetus Wordpress, Matt Mullenweg, memiliki ketertarikan pada musik jazz? Ya benar, dia juga gemar bermain saxophone bersama rekan-rekannya yang juga menyukai musik yang kaya improvisasi ini. Lalu apa istimewanya?? Sebagai bentuk apresiasi dan penghormatannya terhadap musik jazz, Matt menggunakan nama-nama icon jazz favoritnya pada setiap kode rilis Wordpress versi terbaru. Sungguh luar biasa.

Wordpress yang saat artikel ini diturunkan masuk dalam versi 2.7 memiliki kode “Coltrane”. Sejumlah musisi yang pernah dijadikan kode rilis Wordpress antara lain, Miles Davis, Art Blakey,  Charles Mingus, Billy Strayhorn,  Duke Ellington,  Ella Fitzgerald,  Stan Getz,  Dexter Gordon,  Michael Brecker,  McCoy Tyner dan yang terakhir John Coltrane.

Saya sendiri menggunakan engine Wordpress pada blog saya yang sedang Anda saksikan ini. Terima kasih telah berkunjung. :)

wordpress-logo-shine1


12
Jan 09

Membuat Banner Facebook (Badge) di Blog/Websites Anda

Jika Anda telah memiliki account di facebook, Anda dapat membuat sebuah Facebook Banner (badge) seperti contoh di bawah ini sehingga pengunjung dapat langsung meng-klik banner tersebut dan menambahkan Anda sebagai teman. Banner tersebut dapat dibuat di halaman edit badge pada Facebook.com.

Harry Wardana's Facebook profile

Setelah selesai tahap editing dari badge Anda, klik save. Lalu copy kode html yang diberikan, dan paste di blog/websites Anda.


6
Dec 08

Foto Prolab’ers

Saat bulan Ramadhan lalu, keluarga besar Programming Laboratory (ProLab) Institut Teknologi Telkom mengadakan buka bersama yang diselenggarakan di restoran D’Cost (sekitar daerah Sukajadi, Bandung). Kenapa di D’Cost? Mungkin karena jargonnya ya.. : Rasa Bintang Lima, Harga Kaki Lima! Hahaha. Sebenarnya bukan itu, memang sudah hasil keputusan rapat sebelumnya.

Sepulang dari D’Cost, terjadi peristiwa “Foto Bareng Dadakan” di JONAS, ini dia hasilnya :

Prolab


4
Dec 08

Joomla 1.5

Berhubung saya sudah mulai hosting, gk ada salahnya mencoba beberapa metode pembangunan site. Salah satunya adalah dengan menggunakan Joomla 1.5. Joomla! adalah salah satu Open Source Content Management System paling powerful yang pernah ada. Digunakan di seluruh dunia dari situs yang paling sederhana sampai kepada aplikasi korporasi yang kompleks. Kelebihan Joomla! itu sendiri ada pada kemudahan instalasi dan pengelolaannya.

Saya sendiri masih bingung (lebih tepatnya : belum mengerti sama sekali) dalam menggunakan Joomla!. Joomla! 1.5 telah saya instal pada salah satu subdomain milik saya. Namun manajemen artikel, menu, dan lainnya masih belum saya pahami. Sekilas tampak mirip dengan manajemen blog pada CMS Wordpress.

Sebenarnya sudah ada yang mau memberi tutorial (si Fuat), tapi belum sempat juga karena padatnya aktivitas. Sebenarnya nampak basi ya bagi mahasiswa semester 5 baru belajar membangun website menggunakan Joomla, tapi ya tidak apa-apalah. Tidak ada kata terlambat. Hahaha!

Saya juga sudah melihat-lihat di forum, salah satunya adalah disini. Di forum ini banyak terdapat tips dan trik menggunakan Joomla!.


18
Nov 08

Spesifikasi Tugas Besar Praktikum Internet

Website UKM Budaya
asisten : HARRY WARDANA / 081221074580

Deskripsi :
Merupakan salah satu media dari UKM  bertajuk Budaya & Daerah untuk pengenalan, pendaftaran anggota baru, dan menampilkan dokumentasi kegiatan

Spesifikasi :

  • Menggunakan HTML + CSS
  • Format nama website : [Website UKM] {Nama UKM Pilihan}, contoh : [Website UKM] SWS atau [Website UKM] UKM Djawa
  • Terdiri dari MINIMAL 5 halaman yang saling berhubungan (linked)
  • Terdiri dari 5 menu utama, yaitu : Home, Register, About, Gallery, dan Contact
  • Memiliki header berupa image
  • Memiliki sidebar (kiri / kanan / both) yang isinya : Form Login, Logo UKM, jargon UKM
  • Pada sidebar terdapat MINIMAL 5 buah link yaitu :
    o    link ke website IT TELKOM
    o    link ke blog-nya salah seorang Asisten Lab
    o    link ke blog-nya Koordinator Asisten Praktikum Internet
    o    link ke blog-nya salah seorang Asisten Praktikum Internet
    o    link ke blog-nya harry (http://harrywardana.net)
  • Pada halaman REGISTER, buat sebuah Form Pendaftaran Anggota Baru yang berisi inputan sebanyak 10 field. Gunakan jenis dialog yang tepat (text area, radio button, option, etc! Nama field bebas
  • Format halaman lain BEBAS

Batasan:

  • FUNGSIONALITAS SISTEM TIDAK PERLU DIIMPLEMENTASIKAN (cukup tampilan saja)
  • CONTENT menggunakan Bahasa Indonesia! (kecuali jargon UKM)

Keterangan :
UKM harus REAL, contoh : SWS, UKKSU, USBM, UKMS, UKM Bali, UKM Djawa, UKB, KEMASS, dan lainnya. Perkumpulan daerah / kebudayaan juga boleh digunakan sebagai judul, contoh : IKASEMA, PERMATA LAMPUNG, dan lainnya. Pengerjaan Tugas Besar boleh menggunakan Macromedia Dreamweaver.
Spesifikasi Tugas Besar juga dapat dilihat di http://harrywardana.net
SEMANGAT !


16
Nov 08

Wahai kawan-kawan Praktikan Internet 2008!

Memasuki Modul ke 6, yaitu Modul Wordpress, Asisten Praktikum Internet (termasuk saya) diberi tugas oleh Asisten Lab untuk menyampaikan kepada praktikan bahwa sebentar lagi akan ada Tugas Besar. Kami (para asisten Praktikum Internet) disuruh mengumpulkan judul dan spesifikasi Tugas Besar sebelum tanggal 20 November 2008. Insya Allah, kalian dapat melihat Pengumuman Pembagian Kelompok dan Pemilihan Tugas Besar kalian di mading ProLab sebelum tanggal 23 November 2008.

Ada 2 tipe tugas besar :

  • HTML + CSS
  • Wordpress Offline

Saya mengajukan tipe yang pertama dengan judul tubes : “Website UKM Kebudayaan” (tapi spesifikasinya belum bikin). Ya.. kira-kira seperti website organisasi pada umumnya lah. Sebagai gambaran, biasanya di dalam hompepage suatu organisasi itu ada fasilitas : Log In, Registrasi Anggota Baru, Profil UKM, Contact, Home, Gallery. Ya pokoknya seperti itulah. Tapi fungisonalitas dari sistem tersebut tidak perlu diimplementasikan ke TuBes ya, cukup interfacenya saja. Buat yang kebagian saya sebagai Asisten Pembimbing nya, selamat membuat TuBes ya! PERCAYALAH, kalian bisa! Saya akan membantu semaksimal mungkin.

Oia, kalian diberi waktu untuk asistensi dengan Asisten Pembimbing selama 2 minggu. Yang jelas, Tugas Besar harus sudah dikumpulkan pada tanggal 11 Desember 2008. Kemudian kalian akan diberi waktu 2 minggu untuk memilih jadwal presentasi TuBes dalam kurun waktu tersebut. Dalam presentasi, kalian akan berhadapan dengan Asisten Penguji. Eng ing eng… asisten penguji adalah asisten yang akan membantai kalian dengan pertanyaan dan testing aplikasi dari TuBes kalian. WASPADALAH ! WASPADALAH !