Minggu, 29 Mei 2011

Cloud Computing

Cloud Computing atau Komputasi Awan adalah gabungan pemanfaatan teknologi komputer (‘komputasi’) dan pengembangan berbasis Internet (‘awan’). Awan (cloud) adalah istilah lain dari internet, sebagaimana awan yang sering digambarkan di diagram jaringan komputer. Sebagaimana awan dalam diagram jaringan komputer tersebut, awan (cloud) dalam Cloud Computing juga merupakan abstraksi dari infrastruktur kompleks yang disembunyikannya. Ia adalah suatu moda komputasi di mana kapabilitas terkait teknologi informasi disajikan sebagai suatu layanan , sehingga pengguna dapat mengaksesnya lewat Internet (“di dalam awan”) tanpa pengetahuan tentangnya, ahli dengannya, atau memiliki kendali terhadap infrastruktur teknologi yang membantunya.

Awan komputasi dipecah menjadi tiga segmen:. “Aplikasi”,”platform”, dan “infrastruktur” Setiap segmen melayani tujuan yang berbeda dan menawarkan produk yang berbeda untuk bisnis dan individu di seluruh dunia. Pada bulan Juni 2009, sebuah studi yang dilakukan oleh VersionOne menemukan bahwa 41% dari senior profesional TI benar-benar tidak tahu apa komputasi awan dan dua-pertiga dari profesional keuangan senior bingung dengan konsep ini,menyoroti sifat teknologi masa kini . Pada September 2009, sebuah Kelompok studi Aberdeen menemukan bahwa perusahaan disiplin mencapai rata-rata pengurangan 18% dalam anggaran TI mereka dari komputasi awan dan pengurangan 16% daya biaya data center.

Salah satu kelebihan Cloud Computing adalah sangat cepat di deploy, sehingga cepat berarti instant untuk implementasi.

* Nantinya biaya start-up teknologi ini mungkin akan sangat murah atau tidak ada dan juga tidak ada investasi kapital.
* Biaya dari service dan pemakaian akan berdasarkan komitmen yang tidak fix.
* Service ini dapat dengan mudah di upgrade atau downgrade dengan cepat tampa adanya Penalty.
* Service ini akan menggunakan metode multi-tenant (Banyak customer dalam 1 platform).
* Kemampuan untuk meng customize service akan menjadi terbatas.


Tetapi, Clod Computing juga memiliki resiko, diantaranya,

* Service level – Cloud provider mungkin tidak akan konsisten dengan performance dari application atau transaksi. Hal ini mengharuskan anda untuk memahami service level yang anda dapatkan mengenai transaction response time, data protection dan kecepatan data recovery.
* Privacy – Karena orang lain / perusahaan lain juga melakukan hosting kemungkinan data anda akan keluar atau di baca oleh orang lain dapat terjadi tanpa sepengetahuan anda atau approve dari anda.
* Data ownership – kepemilikan data yang diberikan akan menjadi dapat menjadi milik bersama di dunia maya.

Development Software

Software Development adalah layanan yang di dedikasikan untuk membantu dalam menciptakan suatu aplikasi yang dapat memaksimalkan usaha permakainya.Software Development adalah jasa pembuatan program aplikasi berdasarkan keinginan anda. penerapan program tersebut dapat disesuaikan atas kebutuhan otomatisasi perusahaan, apakah itu berupa sistem penagihan, laporan keuangan atau sistem pemasaran yang terintegrasi dengan seluruh cabang perusahaan.




SDLC (Systems Development Life Cycle, Siklus Hidup Pengembangan Sistem) atau Systems Life Cycle (Siklus Hidup Sistem), dalam rekayasa sistem dan rekayasa perangkat lunak, adalah proses pembuatan dan pengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut. Konsep ini umumnya merujuk pada sistem komputer atau informasi. SDLC juga merupakan pola yang diambil untuk mengembangkan sistem perangkat lunak, yang terdiri dari tahap-tahap: rencana(planning),analisa (analysis), desain (design), implementasi (implementation), uji coba (testing) dan pengelolaan (maintenance).Dalam rekayasa perangkat lunak, konsep SDLC mendasari berbagai jenis metodologi pengembangan perangkat lunak. Metodologi-metodologi ini membentuk suatu kerangka kerja untuk perencanaan dan pengendalian pembuatan sistem informasi, yaitu proses pengembangan perangkat lunak. Terdapat 3 jenis metode siklus hidup sistem yang paling banyak digunakan, yakni: siklus hidup sistem tradisional (traditional system life cycle), siklus hidup menggunakan protoyping (life cycle using prototyping), dan siklus hidup sistem orientasi objek



DLC berfungsi untuk menggambarkan tahapan-tahapan utama dan langkah-langkah
dari setiap tahapan yang secara garis besar terbagi dalam tiga kegiatan
utama, yaitu :
a. Analysis
b. Design
c. Implementation
Setiap kegiatan dalam SDLC dapat dijelaskan melalui tujuan (purpose) dan
hasil kegiatannya (deliverable).

ANALYSIS
Dalam tahap analisis ini, digunakan oleh analis sistem untuk :
a. Membuat keputusan apabila sistem saat ini mempunyai masalah atau sudah
tidak berfungsi secara baik dan hasil analisisnya digunakan sebagai dasar
untuk memperbaiki sistem
b. Mengetahui ruang lingkup pekerjaannya yang akan ditanganinya.
c. Memahami sistem yang sedang berjalan saat ini
d. Mengidentifikasi masalah dan mencari solusinya

Kegiatan yang dilakukan dalam tahap analisis ini adalah :

1. Problem detection
a. Tujuan : Mendeteksi sistem, apabila sistem saat ini semakin
berkurang manfaatnya (memburuk).
b. Hasil : Laporan pendahuluan tentang permasalahan yang terjadi
dalam sistem.

2. Initial investigation
a. Tujuan : Memerikan sistem saat ini dengan penekanan pada daerah-
daerah yang menimbulkan permasalahan.
b. Hasil : Penjelasan sistem saat ini.

3. Requirement analysis (determination of ideal systems)
a. Tujuan : Mendapatkan konsensus dari komunitas pemakai dari sistem
informasi yang ideal. Sebuah penggantian sistem akan
menimbulkan jarak antara sistem saat ini dengan sistem
yang ideal (yang mengacu ke komputerisasi).
b. Hasil : Penjelasan kebutuhan analisis terhadap sistem.

4. Generation of system alternatives
a. Tujuan : Menggali (explore) perbedaan dari alternatif sistem dalam
mengurangi jarak (gap) antara sistem saat ini dengan
sistem idealnya.
b. Hasil : Dokumen-dokumen tentang alternatif sistem yang akan
digunakan untuk memperbaiki sistem.

5. Selection of proper system
a. Tujuan : Membandingkan alternatif-alernatif sistem dengan
menggunakan metodologi terstruktur, memilih alternatif
sistem yang paling baik, dan menjualnya (sell) kepada
management.
b. Hasil : Hasil-hasil dari studi sistem.

DESIGN
Dalam tahap perancangan (desgin) memiliki tujuan, yaitu untuk :
a. Mendesain sistem baru yang dapat menyelesaikan masalah-masalah yang
dihadapi perusahaan yang diperoleh dari pemilihan alternatif sistem yang
terbaik.

Kegiatan yang dilakukan dalam tahap perancangan ini adalah :

6. Output design
a. Tujuan : Memerikan bentuk-bentuk laporan sistem dan dokumennya.
b. Hasil : Bentuk (forms) dari dokumentasi keluaran (output).

7. Input design
a. Tujuan : Memerikan bentuk-bentuk masukan didokumen dan dilayar ke
sistem informasi.
b. Hasil : Bentuk (forms) dari dokumentasi masukan (input).

8. File design
a. Tujuan : Memerikan bentuk-bentuk file-file yang dibutuhkan dalam
sistem informasi.
b. Hasil : Bentuk (forms) dari dokumentasi file.

IMPLEMENTATION
Dalam tahap implementasi memiliki beberapa tujuan, yaitu untuk :
a. Melakukan kegiatan spesifikasi rancangan logikal ke dalam kegiatan yang
sebenarnya dari sistem informasi yang akan dibangunnya atau dikembangkannya.
b. Mengimplementasikan sistem yang baru.
c. Menjamin bahwa sistem yang baru dapat berjalan secara optimal.

Kegiatan yang dilakukan dalam tahap implementasi ini adalah :

9. Programming & testing
a. Tujuan : Mengkonversikan perancangan logikal ke dalam kegiatan
operasi coding dengan menggunakan bahasa pemograman
tertentu, dan mengetest semua program serta memastikan
semua fungsi / modul program dapat berjalan secara benar.
b. Hasil : Coding program dan spesifikasi program.

10.Training
a. Tujuan : Memimpin (conduct) pelatihan dalam menggunakan sistem,
persiapan lokasi latihan dan tugas-tugas lain yang
berhubungan denganp pelatihan (buku-buku panduan sistem).
b. Hasil : Rencana pelatihan sistem, modul-modul katihan dan
sebagainya.

11. System changeover
a. Tujuan : Merubah pemakaian sistem lama ke sistem bari dari sistem
informasi yang berhasil dibangun.Perubahan sistem merupakan tanggungjawab team designer ke pemakai siste (user organization).
b. Hasil : Rencana (jadwal dan metode) perubahan sistem (contract).




Perbandingan tentang kelebihan dan kekurangan setiap model pada Software Development Life Cycle (SDLC) ini dijelaskan berikut ini

1. Waterfall
Kelebihan :
- Merupakan model pengembangan paling handal dan paling lama digunakan.
- Cocok untuk system software berskala besar.
- Cocok untuk system software yang bersifat generic.
- Pengerjaan project system akan terjadwal dengan baik dan mudah dikontrol.
Kekurangan :
- Persyaratan system harus digambarkan dengan jelas.
- Rincian proses harus benar-benar jelas dan tidak boleh berubah-ubah.
- Sulit untuk mengadaptasi jika terjadi perubahan spesifikasi pada suatu tahapan pengembangan
2. Iterasi
Kelebihan :
- Dapat mengakomodasi jika terjadi perubahan pada tahapan pengembangan yang telah dilaksanakan.
- Dapat disesuaikan agar system bisa dipakai selama hidup software computer.
- Cocok untuk pengembangan sistem dan perangkat lunak skala besar.
- Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tahapan karena system terus bekerja selama proses.
Kekurangan :
- Hanya berlaku untuk Short-Lifetime system.
- Tahapan proses tidak terlihat sedang berada ditahapan mana suatu pekerjaan.
- Memerlukan alat ukur kemajuan secara regular.
- Perubahan yang sering terjadi dapat merubah struktur system.
- Memerlukan tenaga ahli dengan kemampuan tinggi.
3. Rapid Application Development / RAD
Kelebihan :
- RAD mengikuti tahapan pengembangan sistem sepeti umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada (reusable object).
- Setiap fungsi dapat dimodulkan dalam waktu tertentu dan dapat dibicarakan oleh tim RAD yang terpisah dan kemudian diintegrasikan sehingga waktunya lebih efesien.
Kekurangan :
- Tidak cocok untuk proyek skala besar.
- Proyek bisa gagal karena waktu yang disepakati tidak dipenuhi.
- Sistem yang tidak bisa dimodularisasi tidak cocok untuk model ini.
- Resiko teknis yang tinggi juga kurang cocok untuk model ini.
4. Model prototyping
Kelebihan :
- Prototype melibatkan user dalam analisa dan desain.
- Punya kemampuan menangkap requirement secara konkret daripada secara abstrak.
- Untuk digunakan secara standalone.
- Digunakan untuk memperluas SDLC.
- Mempersingkat waktu pengembangan Sistem Informasi
Kekurangan :
- Proses analisis dan perancangan terlalu singkat.
- Mengesampingkan alternatif pemecahan masalah.
- Bisanya kurang fleksible dalam mengahdapi perubahan.
- Protitype yang dihasilkan tidak selamanya mudah dirubah
- Protype terlalu cepat selesai

Web Semantik

Istilah web semantik itu sendiri diperkenalkan oleh Tim Berners-Lee, penemu World Wide Web. Sekarang, prinsip web semantik disebut-sebut akan muncul pada Web 3.0, generasi ketiga dari World Wide Web. Bahkan Web 3.0 itu sendiri sering disamakan dengan web semantik. Web semantik menggunakan XML, XMLS (XML Schema), RDF, RDFS(Resources Description Framework Schema) dan OWL.



Tim Berners-Lee berkata:


"people keep asking what Web 3.0 is. I think maybe when you've got an overlay of scalable vector graphics - everything rippling and folding and looking misty - on Web 2.0 and access to a semantic Web integrated across a huge space of data, you'll have access to an unbelievable data resource"

Web Semantik terdiri dari seperangkat prinsip-prinsip desain, kelompok kerja kolaboratif, dan berbagai teknologi. Beberapa elemen dari Web Semantik yang dinyatakan sebagai calon masa depan dan unsur-unsur lain dari Web Semantik disajikan dalam spesifikasi formal dimaksudkan untuk memberikan deskripsi formal konsep, istilah, dan hubungan dalam satu domain tertentu.

Web Semantik merujuk kepada kemampuan aplikasi komputer untuk lebih memahami bahasa manusia, bukan hanya bahasa yang baku dari para penggunanya tetapi juga bahasa yang lebih kompleks, seperti dalam bahasa percakapan sehingga memudahkan penggunanya untuk berkomunikasi dengan mesin. Web Semantik dapat mengolah bahasa dan mengenali homonim, sinonim, atau atribut yang berbeda pada suatu database.

Semantic Web telah mengantar evolusi WWW ke tingkat pemanfaatan yang lebih baik. Ada dua visi
dalam pengembangan web ke depan, yaitu membuat web semakin baik sebagai media kolaborasi, dan
kedua web semakin dapat dipahami oleh mesin. Dengan memberikan anotasi data akan membuat
informasi yang lebih dapat dipahami oleh mesin. Untuk mengembangkan semantic web (Berners-Lee,
1999) beberapa hal dibutuhkan seperti :
● Mengembangkan bahasa dan terminologi, dimana bahasa yang digunakan untuk
mengkespresikan sesuatu yang dapat membuat mesin lebih bisa memahami dengan metainformasi
untuk dokumen.
● Mengembangkan tool dan arsitektur baru yang menggunakan bahasa dan terminologi tersebut
untuk mengakses, merubah dan integrasi informasi.
● Mengembankan aplikasi yang memberikan sebuah tingkat pelayanan baru kepada pemakai
dengan semantic web.
Bahasa pada semantik web mencakup dua aspek (Fensel, et al, 2002), pertama sintaks formal dan
semantik formal untuk meng-anotasi data untuk membuat mesin dapat memahami informasi. Kedua,
memberikan vokabulari referensi yang dapat sebagai sarana untuk berbagi informasi dan pengetahuan.
Secara ringkas piramid dari bahasa untuk semantic web dapat dilihat di gambar 2.
Awal pendekatan untuk pengintegrasian semantik adalah sebagian besar didasarkan pada penggunaan
dari thesauri untuk menterjemahkan antar kosa kata (vocabularies) yang spesifik. Pendekatan ini akan
tergantung pada domain dari thesauri, seperti masalah yang dinyatakan pada pengintegrasian ontologi
secara global. Suatu aspek yang rumit dari penciptaan Web semantik adalah untuk memungkinkan
para pemakai yang bukanlah ahli secara logika untuk menciptakan mesin yang mampu membaca isi
yang lebih detil yang mendekati ke pemecahan dari semantik yang tidak sejenis untuk
pengintegrasian/interoperabili