Wednesday, February 24, 2010

Cloud Computing - Komputasi Awan

Cloud Computing--yang dalam bahasa Indonesia diterjemahkan menjadi "komputasi awan", beberapa tahun terakhir ini telah menjadi buzzword terpanas di dunia teknologi informasi (TI).

Seluruh nama besar seperti IBM, Microsoft, Google, dan Apple, saat ini sedang terlibat dalam peperangan untuk menjadi penguasa terbesar terhadap awan ini. Tentu saja masing-masing mengeluarkan jurusnya sendiri-sendiri.


IBM di paruh akhir tahun 2009 kemarin telah meluncurkan LotusLive, layanan kolaborasi berbasis cloud.

Microsoft, yang sekarang di perkuat oleh Ray Ozzie sebagai Chief Software Architect pengganti Bill Gates, menggadang Windows Azure, sistem operasi berbasis cloud yang akan menjadi masa depan Windows OS.

Apple mengambil sisi lain, telah menyediakan layanan Mobile Me yang memungkinkan pengguna produk Mac, untuk melakukan sinkronisasi data ke dalam cloud.

Sementara Google, satu-satunya raksasa yang lahir di era internet, sudah sejak lama memberikan layanan Google Docs yang memungkinkan pengguna membuat dokumen atau bekerja dengan spreadsheet secara online tanpa perlu software terinstal di PC atau notebook.

Bahkan Google dalam waktu dekat akan meluncurkan sistem operasi cloud-nya, Chrome OS, yang akan menjadi ancaman serius bagi para penyedia sistem operasi lain.

Namun bisa dibilang, keberhasilan Salesforce.com-lah yang membuka mata dunia bahwa cloud computing menjanjikan pundi-pundi emas yang menggiurkan.

Tapi apa sih sebenarnya yang dimaksud dengan Cloud Computing itu?

Definisi

Dengan mengetikkan kata kunci "Cloud Computing Definition" di search engine atau wikipedia, dalam sekejap ratusan definisi tentang "Cloud Computing" akan muncul. Dari mulai yang sangat teknis, sampai yang sangat simplistis.

Namun semuanya sepakat bahwa yang dimaksud dengan "Cloud Computing" secara sederhana adalah "layanan teknologi informasi yang bisa dimanfaatkan atau diakses oleh pelanggannya melalui jaringan internet".

Kata-kata "Cloud" sendiri merujuk kepada simbol awan yang di dunia TI digunakan untuk menggambarkan jaringan internet (internet cloud).

Namun tidak semua layanan yang ada di internet bisa dikategorikan sebagai Cloud Computing, ada setidaknya beberapa syarat yang harus dipenuhi :

1. Layanan bersifat "On Demand", pengguna dapat berlangganan hanya yang dia butuhkan saja, dan membayar hanya untuk yang mereka gunakan saja.

Misalkan sebuah layanan menyediakan 10 fitur, user dapat berlangganan 5 fitur saja dan hanya membayar untuk 5 fitur tersebut.

2. Layanan bersifat elastis/scalable, di mana pengguna bisa menambah atau mengurangi jenis dan kapasitas layanan yang dia inginkan kapan saja dan sistem selalu bisa mengakomodasi perubahan tersebut.

3. Layanan sepenuhnya dikelola oleh penyedia/provider, yang dibutuhkan oleh pengguna hanyalah komputer personal/notebook ditambah koneksi internet.

Dari sisi jenis layanan tersendiri, Cloud Computing, terbagi dalam 3 jenis layanan, yaitu : Software as a Service (SaaS), Platform as a Service (PaaS) dan Infrastructure as a Service (IaaS).

Sementara dari sifat jangkauan layanan, terbagi menjadi Public Cloud, Private Cloud dan Hybrid Cloud. (Untuk terminologi ini akan dijelaskan secara lebih detail dalam tulisan berikutnya).

Intinya, Cloud Computing adalah sebuah mekanisme yang memungkinkan kita "menyewa" sumber daya teknologi informasi (software, processing power, storage, dan lainnya) melalui internet dan memanfaatkan sesuai kebutuhan kita dan membayar secukupnya pula.

Dengan konsep ini, maka semakin banyak orang yang bisa memiliki akses dan memanfaatkan sumber daya tersebut, karena tidak harus melakukan investasi besar-besaran.

Apalagi dalam kondisi ekonomi seperti sekarang, setiap organisasi akan berpikir panjang untuk mengeluarkan investasi tambahan di sisi TI. Terlebih hanya untuk mendapatkan layanan-layanan yang mungkin hanya dibutuhkan sewaktu-waktu saja.

Seperti kecenderungan beberapa tahun terakhir dimana banyak perusahaan telah melakukan outsourcing terhadap pekerjaan non-core mereka. Demikian juga dengan kebutuhan layanan TI, kecenderungan untuk "menyewa" sumber daya TI melalui mekanisme Cloud Computing ini, menunjukan peningkatan signifikan dalam 3 tahun terakhir.

Makanya tidak heran, jika nama-nama besar itu sudah memulai memukul genderang perang menjadi penguasa awan. Everybody wants to be in the Cloud!

Sejarah Cloud Computing

Ide awal dari cloud computing bisa ditarik ke tahun 1960-an, saat John McCarthy, pakar komputasi MIT yang dikenal juga sebagai salah satu pionir intelejensia buatan, menyampaikan visi bahwa "suatu hari nanti komputasi akan menjadi infrastruktur publik--seperti listrik dan telpon".

Namun baru di tahun 1995 lah, Larry Ellison, pendiri Oracle , memunculkan ide "Network Computing" sebagai kampanye untuk menggugat dominasi Microsoft yang saat itu merajai desktop computing dengan Windows 95-nya.

Larry Ellison menawarkan ide bahwa sebetulnya user tidak memerlukan berbagai software, mulai dari Sistem Operasi dan berbagai software lain, dijejalkan ke dalam PC Desktop mereka.

PC Desktop bisa digantikan oleh sebuah terminal yang langsung terhubung dengan sebuah server yang menyediakan environment yang berisi berbagai kebutuhan software yang siap diakses oleh pengguna.

Ide "Network Computing" ini sempat menghangat dengan munculnya beberapa pabrikan seperti Sun Microsystem dan Novell Netware yang menawarkan Network Computing client sebagai pengganti desktop.

Penulis sendiri pada tahun '98 sempat mencoba Network Computing yang dikoneksikan ke sebuah Windows NT Server di mana NC client dapat menggunakan berbagai aplikasi yang tersedia di dalam server tersebut secara remote.

Namun akhirnya, gaung Network Computing ini lenyap dengan sendirinya, terutama disebabkan kualitas jaringan komputer yang saat itu masih belum memadai, sehingga akses NC ini menjadi sangat lambat, sehingga orang-orang akhirnya kembali memilih kenyamanan PC Desktop, seiring dengan semakin murahnya harga PC.

Tonggak selanjutnya adalah kehadiran konsep ASP (Application Service Provider) di akhir era 90-an. Seiring dengan semakin meningkatnya kualitas jaringan komputer, memungkinkan akses aplikasi menjadi lebih cepat.

Hal ini ditangkap sebagai peluang oleh sejumlah pemilik data center untuk menawarkan fasilitasnya sebagai tempat ‘hosting’ aplikasi yang dapat diakses oleh pelanggan melalui jaringan komputer.

Dengan demikian pelanggan tidak perlu investasi di perangkat data center. Hanya saja ASP ini masih bersifat "privat", di mana layanan hanya dikastemisasi khusus untuk satu pelanggan tertentu, sementara aplikasi yang di sediakan waktu itu umumnya masih bersifat client-server.

Kehadiran berbagai teknik baru dalam pengembangan perangkat lunak di awal abad 21, terutama di area pemrograman berbasis web disertai peningkatan kapasitas jaringan internet, telah menjadikan situs-situs internet bukan lagi berisi sekedar informasi statik. Tapi sudah mulai mengarah ke aplikasi bisnis yang lebih kompleks.

Dan seperti sudah sedikit disinggung sebelumnya, popularitas Cloud Computing semakin menjulang saat di awal 2000-an, Marc Benioff ex VP di Oracle, meluncurkan layanan aplikasi CRM dalam bentuk Software as a Service, Salesforce.com, yang mendapatkan sambutan gegap gempita.

Dengan misinya yang terkenal yaitu "The End of Software", Benioff bisa dikatakan berhasil mewujudkan visi bos-nya di Oracle, Larry Elisson, tentang Network Computing menjadi kenyataan satu dekade kemudian.

Selanjutnya jargon Cloud Computing bergulir seperti bola salju menyapu dunia teknologi informasi. Dimulai di tahun 2005, mulai muncul inisiatif yang didorong oleh nama-nama besar seperti Amazon.com yang meluncurkan Amazon EC2 (Elastic Compute Cloud), Google dengan Google App Engine-nya, tak ketinggalan raksasa biru IBM meluncurkan Blue Cloud Initiative dan lain sebagainya.

Semua inisiatif ini masih terus bergerak, dan bentuk Cloud Computing pun masih terus mencari bentuk terbaiknya, baik dari sisi praktis maupun dari sisi akademis. Bahkan dari sisi akademis, jurnal-jurnal yang membahas tentang ini hal ini baru bermunculan di tiga tahun belakangan.

Akhirnya seperti yang kita saksikan sekarang, seluruh nama-nama besar terlibat dalam pertarungan menguasai awan ini. Bahkan pabrikan Dell, pernah mencoba mempatenkan istilah "Cloud Computing", namun ditolak oleh otoritas paten Amerika.

Walaupun di luaran perebutan kapling awan ini begitu ingar-bingar, tidak demikian dengan di tanah air Indonesia tercinta ini. Pemain yang benar-benar mencoba masuk di area ini masih sangat sedikit, bahkan jumlahnya bisa dibilang belum sebanyak jari sebelah tangan.
Salah satu yang cukup serius bermain di area ini adalah PT Telkom, yang setidaknya saat ini sudah menawarkan dua layanan aplikasi berbasis Software as a Service. Salah satunya melalui anak usahanya, Sigma Cipta Caraka, yang menawarkan layanan aplikasi core banking bagi bank kecil-menengah.

Kemudian bekerjasama dengan IBM Indonesia dan mitra bisnisnya, PT Codephile, Telkom menawarkan layanan e-Office on Demand untuk kebutuhan kolaborasi/korespondensi di dalam suatu perusahaan atau organisasi.

Sepinya sambutan dunia teknologi informasi dalam negeri terhadap Cloud Computing ini, mungkin disebabkan beberapa faktor, di antaranya:

1. Penetrasi infrastruktur internet yang bisa dibilang masih terbatas.
2. Tingkat kematangan pengguna internet, yang masih menjadikan media internet utamanya sebagai media hiburan atau sosialisasi.
3. Tingginya investasi yang dibutuhkan menyediakan layanan cloud ini, karena harus merupakan kombinasi antara infrastruktur jaringan, hardware dan software sekaligus.

Namun demikian, sebagai negara dengan jumlah penduduk terbesar ke-5 di dunia--yang berarti juga pasar terbesar ke-5 di dunia--para pelaku teknologi informasi dalam negeri harus sesegera mungkin mempersiapkan diri dalam arti mulai mengembangkan layanan-layanan yang siap di-cloud-kan.

Sehingga saat gelombang besar Cloud Computing ini sampai di sini, tidak hanya pemain asing besar saja yang akan menangguk keuntungan. Tentu saja peran pemerintah sebagai fasilitator dan regulator sangat diperlukan di sini, karena sekali lagi: Everybody wants to be in the Cloud!


oleh Mochamad James Falahuddin, praktisi teknologi informasi


Read More..

Tuesday, June 23, 2009

..Golf, Menaklukkan Diri Sendiri..

"Filosofi dalam permainan golf adalah bagaimana pemain menaklukkan diri sendiri. Saat memukul, golfer bukan sembarang memukul. Sebelum bola jauh melayang, mereka harus punya perhitungan plus insting yang kuat agar bola tepat sasaran..seperti halnya dalam bisnis"

Perhitungan ini bisa meliputi arah angin dan energi pukulan. Energi yang akan dikeluarkan, jika tidak dikontrol, akan membuat bola terlempar jauh dari sasaran.

Intinya adalah, semua dikerjakan dengan hati disertai kesabaran tinggi. Dengan kesabaran dan ketekunan, didapat strategi serta kecermatan menganalisis masalah.

Tak aneh kalau penggemar golf adalah para pebisnis, pengusaha, atau pejabat. Karena golf memberi efek positif bagi pekerjaan mereka, terlebih pada saat membuat perencanaan dan program kerja.

Ada anggapan golf hanya milik kelompok berduit. Penilaian ini berkembang seiring dengan realitas penggemar golf yang umumnya datang dari kaum eksekutif, pejabat, atau pengusaha.

Golf memang berkembang tidak sekadar sebagai olahraga, namun juga menjadi perpaduan antara hobi, prestasi, dan prestise. Bahkan bagi sebagian orang, golf diakui menjadi bagian dari gaya hidup.

Filosofi lainnya dalam bermain golf adalah tak ada lawan yang kuat, kecuali melawan diri sendiri. Jika seorang pegolf menang, bukan berarti dia mengalahkan lawannya, tetapi dia sudah mampu mengalahkan diri sendiri yaitu nafsu dan ambisi yang berlebihan.

Di dunia golf, para pemain diminta untuk mewasiti dan menjadi polisi untuk diri-sendiri. Disebabkan area permainan sedemikian luasnya tidaklah mungkin untuk selalu memonitor setiap gerak-gerik pemain di lapangan. Hanya pada turnamen-turnamen utama setiap grup pemain didampingi wasit berjalan.

Untuk itu perlu dipupuk integritas, kejujuran, dan tentunya pengetahuan peraturan yang cukup baik agar mampu menjadi wasit untuk diri-sendiri. Karena itu golf banyak disebut sebagai a gentlemens game, sebuah permainan untuk para ksatria yang mengedepankan kehormatan, integritas, dan kejujuran.

Read More..

Monday, June 15, 2009

Tugas Akhir RPL (UAS)

Case :
PERANCANGAN SISTEM INFORMASI DATA KLIEN DAN CALON PEGAWAI PADA PERUSAHAAN OUTSOURCING


Sesuai dengan perkembangan zaman teknologi saat ini telah membuat persaingan antara perusahaan yang satu dengan perusahaan lainnya untuk mendapatkan keuntungan yang besar.
Selain untuk meraih suatu keuntungan, proses kerja dalam suatu perusahaan yang telah menggunakan teknologi informasi, juga dapat menciptakan proses kerja yang lebih efisien, akurat dan membutuhkan waktu yang lebih cepat dibandingkan dengan perusahaan yang masih menggunakan sistem manual.

Setelah melihat perusahaan Indo Outsourcing yang masih menggunakan sistem manual dalam proses kerjanya, maka dirancanglah sistem informasi yang bertujuan untuk membantu perusahaan Indo Outsourcing dalam melakukan kegiatannya yang berkaitan dengan sistem pendataan klien dan calon pegawai. Dengan adanya sistem database baru ini akan dapat menghasilkan informasi yang lebih efisien, tepat waktu dan akurat. Analisis dan perancangan sistem yang dibuat menggunakan pemodelan OMT dan sistem yang dibangun menggunakan bahasa pemrograman visual basic 6.0 yang berbasis microsoft access.

Dari hasil penelitian ini diperoleh hasil antara lain bahwa sistem database yang dirancang sangat membantu dalam penyimpanan file data klien dan calon pegawai, sehingga dengan adanya sistem ini dapat menggantikan sistem pendataan yang sebelumnya.

Initialisation
Permasalahan yang dihadapi dalam perusahaan Indo Outsourcing ini pada umumnya ialah :
• Penyimpanan administrasi klien dan calon pegawai hanya menggunakan microsoft word , sehingga dalam penyimpanan dan pencarian data klien dan calon pegawai masih membutuhkan waktu yang lama.
• Sulitnya mendapatkan informasi dan laporan yang akurat dan cepat, karena hanya bisa dilihat dari file dalam microsoft word serta pencatatan yang secara manual.
• Tidak mempunyai sistem database untuk data calon pegawai dan klien.

DESIGN
Class Entity
Kandidat class entity pada sistem informasi perusahaan jasa dalam bidang tenaga kerja dapat dilihat pada tabel berikut:

Class Diagram

Use Case
Untuk mendeskripsikan use case apa saja dan actor yang terlibat diperlukan spesifikasi sistem berupa requirement actor dan use case pada tabel berikut:

Sequence Diagram Maintain Data Klien
Use Case: Maintain data klien akan dilakukan oleh Staf HRD. Dalam melakukan hal ini Staf HRD terlebih dahulu harus mengisi nama karyawan dan password pada tampilan login, setelah login valid maka Staf HRD dapat memilih menu form data klien yang terdapat pada menu utama. Staf HRD dapat memasukkan data, membatalkan data atau merubah data pada tampilan form data klien yang telah tersedia, setelah perubahan data dilakukan kemudian tekan tombol ‘simpan’, maka data klien akan tersimpan dalam database.
Object : Staf HRD
Function : Maintain data klien
Use case “Maintain Data Klien” akan digambarkan ke dalam sebuah sequence diagram seperti terlihat di dalam gambar di bawah ini

Sequence Diagram Cetak Surat Perjanjian Klien
Use Case: Cetak surat perjanjian klien akan dilakukan oleh Staf HRD. Dalam melakukan hal ini Staf HRD terlebih dahulu harus mengisi nama karyawan danpassword pada tampilan login, setelah login valid maka Staf HRD dapat memilih menu form surat perjanjian klien yang terdapat pada menu utama. Staf HRD dapat memasukkan data,membatalkan data atau merubah data pada tampilan form data surat perjanjian klien yang telah tersedia, setelah perubahan data dilakukan kemudian tekan tombol ‘simpan’, maka data klien akan tersimpan dalam database. Setelah data surat perjanjian klien tersimpan, tekan tombol ’cetak’ maka bentuk surat dapat terlihat di dalam sistem dan langsung dapat dicetak.
Object : Staf HRD
Function : Cetak Surat Perjanjian Klien
Use case “Cetak Surat Perjanjian Klien” akan digambarkan ke dalam sebuah sequence diagram seperti terlihat di dalam gambar di bawah ini

Sequence Diagram Mencari Data Calon Pegawai Lama
Use Case: Apabila Staf HRD ingin mencari data calon pegawai lama, maka terlebih dahulu harus memasukkan nama karyawan dan password untuk masuk ke dalam sistem. Setelah login valid, maka di dalam menu utama Staf HRD dapat memilih ‘form cari data calon pegawai’. Setelah masuk kedalam sistem, Staf HRD dapat memilih data yang diinginkan oleh klien. Apabila pencarian data ditemukan, maka akan tampil data yang diinginkan.
Object : Staf HRD
Fuction : Mencari data calon pegawai lama
Use case “Mencari Data Calon Pegawai Lama” akan digambarkan ke dalam sebuah sequence diagram seperti terlihat di dalam gambar di bawah ini

Sequence Diagram Maintain Data Calon Pegawai
Use Case: Maintain data calon pegawai akan dilakukan oleh Staf HRD. Dalam melakukan hal ini Staf HRD terlebih dahulu harus mengisi nama karyawan dan password pada tampilan login, setelah login valid maka Staf HRD dapat memilih menu form data calon pegawai yang terdapat pada menu utama. Staf HRD dapat memasukkan data, membatalkan data atau merubah data calon pegawai padafield yang telah tersedia pada form, setelah perubahan data dilakukan kemudian tekan tombol ‘simpan’, maka data-data calon pegawai akan tersimpan dalam database.
Object : Staf HRD
Function : Maintain data calon pegawai
Use case “Maintain data calon pegwai” akan digambarkan ke dalam sebuah sequence diagram seperti terlihat didalam gambar di bawah ini

Sequence Diagram Cetak Surat Perjanjian Calon Pegawai
Use Case: Cetak surat perjanjian calon pegawai akan dilakukan oleh Staf HRD. Dalam melakukan hal ini Staf HRD terlebih dahulu harus mengisi nama karyawan dan password pada tampilan login, setelah login valid maka Staf HRD dapat memilih menu form surat perjanjian calon pegawai yang terdapat pada menu utama. Staf HRD dapat memasukkan data, membatalkan data atau merubah data pada tampilan form surat perjanjian calon pegawai yang telah tersedia, setelah perubahan data dilakukan kemudian tekan tombol ‘simpan’, maka data calon pegawai akan tersimpan dalam database.
Setelah data surat perjanjian calon pegawai tersimpan, tekan tombol ’cetak’ maka bentuk surat dapat terlihat di dalam sistem dan langsung dapat dicetak.
Object: Staf HRD
Function: Cetak Surat Perjanjian Calon Pegawai
Use case “Cetak Surat Perjanjian Calon Pegawai” akan digambarkan ke dalam sebuah sequence diagram seperti terlihat di dalam gambar di bawah ini

Integration Test Plan
Mencakup rencana uji terintegrasi yang mampu menunjukkan bahwa desain memenuhi fungsi yang ditetapkan dalam persyaratan. Uji kasus harus mencakup setiap objek dan objek interaksi ditentukan dalam model objek serta setiap urutan peristiwa dalam model dinamis. Kita harus mempertimbangkan setiap objek kelas sebagai subsistem dan menerapkan fungsional (black box) test heuristics (seperti input / output dan cakupan kesalahan / kekecualian cakupan) untuk mengidentifikasi parameter dalam setiap operasi di kelas antarmuka. Selain itu, kita harus mengembangkan suatu test case untuk setiap potensi urutan peristiwa (hingga Iterasi). Perlu diketahui bahwa kedua dilihat pada rencana uji independen tidak perlu, Anda mungkin dapat untuk menutup semua objek oleh semua urutan peristiwa (ini akan tergantung pada bagaimana anda menyeluruh dinamis adalah model).
CATATAN: jika dikehendaki, ujian kasus dapat dibedakan dengan desain entitas yang kita terapkan, begitu pula daftar dari beberapa macam cross referensi harus disediakan.

BLACKBOX TESTING
Metode ujicoba blackbox memfokuskan pada keperluan fungsional dari software. Karna itu ujicoba blackbox memungkinkan pengembang software untuk membuat himpunan kondisi input yang akan melatih seluruh syarat-syarat fungsional suatu program. Ujicoba blackbox bukan merupakan alternatif dari ujicoba whitebox, tetapi merupakan pendekatan yang melengkapi untuk menemukan kesalahan lainnya, selain
menggunakan metode whitebox.
Ujicoba blackbox berusaha untuk menemukan kesalahan dalam beberapa kategori, diantaranya :
1. Fungsi-fungsi yang salah atau hilang
2. Kesalahan interface
3. Kesalahan dalam struktur data atau akses database eksternal
4. Kesalahan performa
5. kesalahan inisialisasi dan terminasi
Tidak seperti metode whitebox yang dilaksanakan diawal proses, ujicoba blackbox diaplikasikan di beberapa tahapan berikutnya. Karena ujicoba blackbox dengan sengaja mengabaikan struktur kontrol, sehingga perhatiannya difokuskan pada informasi domain. Ujicoba didesain untuk dapat menjawab pertanyaan-pertanyaan berikut :
1. Bagaimana validitas fungsionalnya diuji?
2. Jenis input seperti apa yang akan menghasilkan kasus uji yang baik ?
3. Apakah sistem secara khusus sensitif terhadap nilai input tertentu ?
4. Bagaimana batasan-batasan kelas data diisolasi?
5. Berapa rasio data dan jumlah data yang dapat ditoleransi oleh sistem?
6. Apa akibat yang akan timbul dari kombinasi spesifik data pada operasi sistem?
Dengan mengaplikasikan ujicoba blackbox, diharapkan dapat menghasilkan sekumpulan kasus uji yang memenuhi kriteria berikut :
1. kasus uji yang berkurang, jika jumlahnya lebih dari 1, maka jumlah dari ujikasus tambahan harus didesain untuk mencapai ujicoba yang cukup beralasan
2. Kasus uji yang memberitahukan sesuatu tentang keberadaan atau tidaknya suatu jenis kesalahan, daripada kesalahan yang terhubung hanya dengan suatu ujicoba yang spesifik


Read More..

Monday, April 6, 2009

UTS - Rancangan Perangkat Lunak "SMART PARKING"


Model Object
























Model Dinamis





Model Fungsional
Graph Dictionary
























Fungsi Login
User : Petugas Parkir
Tujuan : Menjelaskan proses inisialisasi dan otorisasi petugas parkir
Deskripsi Fungsi:
I. Petugas parkir mulai mengoperasikan smart parking, memasukkan user name dan password
II. Sistem Smart parking memeriksa kebenaran data yang dimasukkan dan melakukan otorisasi
Fungsi Pencatatan Kendaraan Masuk
User : Petugas Parkir Masuk
Tujuan : Menjelaskan proses pencatatan dan perekaman data kendaraan yang masuk
Deskripsi Fungsi:
I. Smart parking menampilkan informasi “petugas parkir masuk”
II. Petugas parkir memasukkan nomor polisi kendaraan yang masuk
III. Smart parking menampilkan informasi nomor polisi kendaraan yang masuk
IV. Petugas parkir mencatat jam masuk kendaraan
V. Smart Parking merekam data yang sudah dimasukkan
VI. Smart Parking mencetak karcis masuk kendaraan

Fungsi Pencatatan Kendaraan Keluar
User : Petugas Parkir Keluar
Tujuan : Menjelaskan proses pencatatan, pengecekkan data kendaraan yang akan keluar dan menghitung total biaya parkir
Deskripsi :
I. Smart parking menampilkan informasi “petugas parkir keluar”
II. Petugas parkir memasukkan nomor polisi kendaraan yang akan keluar
III. Smart parking mencocokkan data kendaraan yang akan keluar dengan karcis
IV. Smart parking mencatat jam keluar kendaraan, sesuai waktu sistem
V. Smart Parking menghitung total biaya parkir kendaraan

Read More..

Monday, March 16, 2009

OMT - Suggested Design Format

Setelah mengenal OMT, selanjutnya akan dikupas lebih detail lagi mengenai aktifitas modelling dalam OMT.
Tiga hal utama dalam diagram OMT:

Model Objek
Objek model menjelaskan struktur dari objek dalam sistem - identitas mereka, hubungan mereka ke objek lainnya, mereka atribut, dan operasi. Objek utama model menggambarkan bagaimana melihat dunia nyata di mana sistem berinteraksi dan dibagi dekomposisi keseluruhan dari sistem. Objek model menyediakan kerangka kerja yang lain yang menjadi model ditempatkan.

Objek model yang diwakili dengan objek grafis kelas diagram berisi objek kelas dan hubungan mereka. Setiap domain aplikasi-konsep dari dunia nyata yang penting untuk aplikasi harus model sebagai obyek kelas. Kelas-kelas tersebut diatur ke dalam struktur hirarki berbagi umum dan perilaku dan lainnya yang terkait dengan kelas. Kelas menentukan atribut dibawa oleh setiap objek dan operasi yang dilakukan pada masing-masing objek.


























Gambar Object Diagram


Model dinamis
Model dinamis menggambarkan aspek-aspek yang bersangkutan dengan sistem operasi sequencing dan waktu - peristiwa yang menyebabkan perubahan state, urutan peristiwa, menyatakan bahwa konteks untuk menentukan aktivitas, dan aktivitas organisasi dan negara. Model dinamis menangkap kontrol informasi tanpa mempertimbangkan untuk apa operasi bertindak atas atau bagaimana mereka diimplementasikan.
Model dinamis meliputi acara jejak diagram menjelaskan skenario. Eksternal event adalah rangsangan dari satu objek ke lainnya, yang terjadi pada satu titik waktu tertentu. Event adalah satu cara pengiriman informasi dari satu objek ke lainnya. Skenario adalah urutan peristiwa yang terjadi selama satu tertentu pelaksanaan sistem. Setiap dasar pelaksanaan sistem harus direpresentasikan sebagai sebuah skenario (terkait dengan skenario dalam mockup HCI).
State diagram harus mematuhi notasi dari OMT dan memanfaatkan kemampuan OMT, seperti transition guards, tindakan dan kegiatan, nesting (state dan event generalisasi), dan concurrency.


Model fungsional
Fungsional menjelaskan model-model komputasi dan yang menentukan aspek dari sistem yang bersangkutan dengan transformasi nilai - fungsi, pemetaan, kendala, dan fucntional dependensi. Fungsional menangkap apa model sistem ini, tanpa mempertimbangkan bagaimana atau jika sudah selesai.
Model fungsional diwakili oleh grafis dengan beberapa data flow diagram, yang menunjukkan aliran nilai masukan dari luar, melalui operasi dan menyimpan data internal, eksternal output. Data flow diagram menampilkan dependensi antara nilai-nilai dan penghitungan nilai output dari input nilai dan fungsi. Fungsi-fungsi sebagai tindakan dalam model yang dinamis dan akan ditampilkan sebagai operasi pada objek dalam objek model.
Data flow diagram harus mematuhi OMT dari notasi dan memanfaatkan kemampuan OMT, seperti nesting, kontrol aliran, dan kendala.


_______________________________________________________


Spesifikasi Kelas Objek










Integration Test Plan
Mencakup rencana uji yang terintegrasi mampu menunjukkan bahwa desain memenuhi fungsi yang ditetapkan dalam persyaratan. Uji kasus harus mencakup setiap objek dan objek interaksi ditentukan dalam model objek serta setiap urutan peristiwa dalam model dinamis. Kita harus mempertimbangkan setiap objek kelas sebagai subsistem dan menerapkan fungsional (black box) test heuristics (seperti input / output dan cakupan kesalahan / kekecualian cakupan) untuk mengidentifikasi parameter dalam setiap operasi di kelas antarmuka. Selain itu, kita harus mengembangkan suatu test case untuk setiap potensi urutan peristiwa (hingga Iterasi). Perlu diketahui bahwa kedua dilihat pada rencana uji independen tidak perlu, Anda mungkin dapat untuk menutup semua objek oleh semua urutan peristiwa (ini akan tergantung pada bagaimana anda menyeluruh dinamis adalah model).

CATATAN: jika dikehendaki, ujian kasus dapat dibedakan dengan desain entitas yang kita terapkan, begitu pula daftar dari beberapa macam cross referensi harus disediakan.

BLACKBOX TESTING
Metode ujicoba blackbox memfokuskan pada keperluan fungsional dari software. Karna itu ujicoba blackbox memungkinkan pengembang software untuk membuat himpunan kondisi input yang akan melatih seluruh syarat-syarat fungsional suatu program. Ujicoba blackbox bukan merupakan alternatif dari ujicoba whitebox, tetapi merupakan pendekatan yang melengkapi untuk menemukan kesalahan lainnya, selain
menggunakan metode whitebox.
Ujicoba blackbox berusaha untuk menemukan kesalahan dalam beberapa kategori, diantaranya :
1. Fungsi-fungsi yang salah atau hilang
2. Kesalahan interface
3. Kesalahan dalam struktur data atau akses database eksternal
4. Kesalahan performa
5. kesalahan inisialisasi dan terminasi
Tidak seperti metode whitebox yang dilaksanakan diawal proses, ujicoba blackbox diaplikasikan di beberapa tahapan berikutnya. Karena ujicoba blackbox dengan sengaja mengabaikan struktur kontrol, sehingga perhatiannya difokuskan pada informasi domain. Ujicoba didesain untuk dapat menjawab pertanyaan-pertanyaan berikut :
1. Bagaimana validitas fungsionalnya diuji?
2. Jenis input seperti apa yang akan menghasilkan kasus uji yang baik ?
3. Apakah sistem secara khusus sensitif terhadap nilai input tertentu ?
4. Bagaimana batasan-batasan kelas data diisolasi?
5. Berapa rasio data dan jumlah data yang dapat ditoleransi oleh sistem?
6. Apa akibat yang akan timbul dari kombinasi spesifik data pada operasi sistem?

Dengan mengaplikasikan ujicoba blackbox, diharapkan dapat menghasilkan sekumpulan kasus uji yang memenuhi kriteria berikut :
1. kasus uji yang berkurang, jika jumlahnya lebih dari 1, maka jumlah dari ujikasus tambahan harus didesain untuk mencapai ujicoba yang cukup beralasan

2. Kasus uji yang memberitahukan sesuatu tentang keberadaan atau tidaknya suatu jenis kesalahan, daripada kesalahan yang terhubung hanya dengan suatu ujicoba yang spesifik

http://www.ics.uci.edu/~djr/ics125/OMT.html
http://www.ics.uci.edu/~djr/classes/ics125/project.html

Read More..

Thursday, March 12, 2009

Object Modelling Technique

PENGEMBANGAN SISTEM PERANGKAT LUNAK

Metode pengembangan sistem informasi (information systems development methods, ISDM) dibuat untuk menjamin bahwa SI yang dikembangkan dapat diselesaikan tepat waktu, sesuai dengan anggaran, dan sesuai dengan spesifikasi yang ditetapkan. Namun demikian, studi terhadap 32 perusahaan yang bergerak di berbagai sektor menemukan adopsi ISDM di Indonesia masih rendah. Sebagian besar perusahaan mengembangkan metode sendiri dalam pengembangan SI yang sebagian di antaranya didasarkan pada ISDM yang sudah ada.

Para praktisi umumnya sepakat bahwa adopsi ISDM memberikan lebih banyak manfaat dibandingkan usaha yang harus dilakukan untuk mempelajarinya.
Secara garis besar ISDM dibagi ke dalam tiga kelompok utama, yaitu :
(1) Metode terstruktur structured methods)
(2) Metode Rapid Application Development (RAD)
(3) Metode berorientasi obyek (object-oriented methods)

Object Oriented Technology
Pengantar Object Oriented Technology
Metode berorientasi-obyek merupakan metode yang relatif baru dan sekarang menjadi cukup populer di kalangan pengembang sistem informasi (e.g. Iivari dan Maansaari, 1998). Metode ini berfokus pada obyek yang konsisten mulai tahap analisis, perancangan, dan implementasi sistem informasi.
Salah satu varian metode ini yang paling komtemporer adalah Unified Modelling Language (UML) yang diperkenalkan oleh (Rumbaugh, Jacobson, dan Booch, 1999).
Object Oriented Technology merupakan cara pengembangan perangkat lunak berdasarkan abstraksi objek-objek yang ada di dunia nyata. Dasar pembuatan adalah Objek, yang merupakan kombinasi antara struktur data dan perilaku dalam satu entitas.
Filosofi Object Oriented sangat luar biasa sepanjang siklus pengenbangan perangkat lunak (perencanaan, analisis, perancangan dan implementasi) sehingga dapat diterapkan pada perancangan sistem secara umum: menyangkut perangkat lunak, perangkat keras dan sistem secara keseluruhan.

Dalam pengembangan sistem berorientasi objek ini , konsep-konsep dan sifat-sifat object oriented digunakan. Kosep-konsep tersebut adalah:
1. Kelas
Kelas adalah konsep OO yang mengencapsulasi/membungkus data dan abstraksi prosedural yang diperlukan untuk menggambarkan isi dan tingkah laku berbagai entitas.
Kelas juga merupakan deskripsi tergeneralisir (misl template, pola, cetak biru) yang menggambarkan kumpulan objek yang sama.
2. Objek
Objek digambarkan sebagai benda, orang, tempat dan sebagainya yang ada di dunia nyata yang penting bagi suatu aplikasi. Objek mempunyai atribut dan metoda .
3. Atribut
Atribut menggambarkan data yang dapat memberikan informasi kelas atau objek dimana atribut tersebut berada.
4. Metoda/Servis/Operator
Metoda adalah prosedur atau fungsi yang tergabumh dalam objek bersama dengan atribut. Metode ini digunakan untuk pengaksesan terhadap data yang terdapat dalam objek tersebut.
5. Message
Message adalah alat komunikasi antar objek. Hubungan antar objek ditentukan oleh problem domain dan tanggung jawab sistem.
6. Event
Event adalah suatu kejadian pada waktu yang terbatas yang menggambarkan rangsangan (stimulus) dari luar sistem.
7. State
State adalah abstraksi dari nilai atribut dan link dalam sebuah objek. State merupakan tanggapan dari objek terhadap event-event masukan.
8.Skenario
Skenario adalah urutan event yang terjadi sepanjang eksekusi sistem.

Karakteristik-karakteristik yang terdapat dalam metode pengembangan sistem berorientasi objek adalah:
 Encapsulation
Encapsulation merupakan dasar untuk membatasi ruang lingkup program terhadap data yang diproses. Data dan prosedur dikemas dalam suatu objek sehingga prosedur lain dari luar tidak dapat mengaksesnya. Data akan terlindungi dari prosedur atau objek lain.
 Inheritance
Inheritance (pewarisan) adalah teknik yang menyatakan bahwa anak dari objek akan mewarisi data/atribut dan metode dari induknya langsung. Suatu kelas dapat ditentukan secara umum, kemudian ditentukan secara spesifik menjadi subkelas. Setiap subkelas mempunyai hubungan atau mewarisi semua sifat yang dimiliki kelas induknya dan ditambah dengan sifat unik yang dimilikinya.
 Polymorphism
Polymorphism menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan perilaku berbeda. Polimorfisme juga menyatakan bahwa operasi yang sama mungkin mempunyai perbedaan kelas.

2. Jenis aplikasi yang dikembangkan saat ini berbeda dengan masa lalu
Aplikasi yang dikembangkan pada saat ini sangat beragam dengan platform yang erbeda-beda, sehingga menimbulkan tuntutan kebutuhan metodologi pengembangan yang dapat mengakomodasi ke semua jenis aplikasi tersebut.
Tahun 1980 Grady Booch --> konsep “Object-Oriented Design”
Tahun 1988 Shlaer dan Mellor --> buku “Object Oriented System Analysis”
Tahun 1991 --> buku “Object Oriented Design”
Tahun 1992 --> diterbitkan jilid 2 buku “Object Oriented System Analysis”. Metodologi shlaer dan Mellor ini diakui sebagai metodologi OO yang pertama

Pada Object Oriented Technology ada beberapa metode yang digunakan dalam pengembangan sistem. Salah satu yang terkenal adalah OMT (Object Modelling Technique) yang diciptakan oleh Rambough
Aktivitas-aktivitas yang dilakukan dalam OMT ini adalah:
o Model Objek
o Model Dinamis
o Model Fungsional
Dalam pengembangan sistem berbasis objek diperlukan tahapan proses analisis yang akan dilanjutkan dengan tahapan desain / perancangan sistem.

Untuk translasi model dari proses analisis ke proses desain dapat digambarkan berikut

Langkah-langkah Proses OOA dalam metode OMT
1. Menentukan domain masalah
2. Membangun model objek
- Identifikasi kelas yang relevan untuk masalah tersebut
- Penentuan atribut dan asosiasi
- Penentuan link objek
- Pengorganisasian kelas objek dengan menggunakan pewarisan
3. Pengembangan Model Dinamis
- Penyiapan skenario
- Penentuan event dan kembangkan penelusuran event untuk masing-masing skenario
- Pembuatan diagram aliran event
- Kajian tingkah laku untuk konsistensi dan kelengkapannya.
4. Pembuatan Model Fungsioanal untuk sistem tersebut
- Identifikasi input dan output
- Penggunaan aliran data untuk merepresentasikan transformasi aliran
- Pengembangan masing-masing fungsi

Langkah-langkah Proses OOD dalam metode OMT
1. Desain Sistem
- Partissi model analisis ke dalam subsistem
- Identifikasi konkurensi yang ditentukan oleh masalah
- Alokasikan subsistem ke prosesor dan tugas.
- Penentuan strategi untuk manajemen data
- Identifikasikan sumber daya globl dan mekanisme kontrol untuk mengakses
- Pengkajian trade-offs
2. Desain Objek
- Pemilihan operasi model analisis
- Penentuan algoritma untuk masing-masing operasi
- Pemilihan struktur data untuk setiap algoritma
- Penentuan kelas internal
- Pengkajian organisasi kelas untuk mengoptimalkan akses ke data
- Perancangan atribut kelas
3. Implementasi mekasnisme kontrol
4. Penyesuaian struktur kelas untuk memperkuat pewarisan
5. Perancangan pemesanan untuk mengimplementasikan hubungan objek asosiasi
6. Pengemasan kelas-kelas dan asosiasi ke dalam modul

Perkembangan OOD dalam metode OMT
 Konsep awal programming (Basic) dengan kekuatan GOTO statement
 Bahasa pemrograman terstruktur (procedural Language), menghilangkan kelemahan GOTO yang menjadikan konsep programming menjadi tidak terstruktur
Contoh: Pascal, Basic, FORTRAN, COBOL, C++, dll
Object Oriented Programming, yang mengarah ke konsep object
- Diperkenalkan pertama kali oleh bahasa SIMULA 67
- Masih berbasiskan Text, dimana program harus dibuat dengan mengetik
serangkaian perintah
- Bahasa Pemrograman lain : Smalltalk  magik, Clipper 5.2, Java, Prolog, dll

 Visual Object Oriented Programming
- memakai konsep GUI (Graphical User Interface)
- Diperkenalkan pertama kali pada tahun 1991 oleh Microsoft dengan
mengeluarkan Visual Basic
- Bahasa pemrograman lain :
Visual C++ (Dikembangkan dari bahasa C )
Visual foxpro 3.0 (Dikembangkan dari bahasa Foxpro )
Power Builder
CORBA (Common Object Request Broker Architecture)
Visual basic (Dikembangkan dari bahasa BASIC )
Borland delphi ( Dikembangkan dari bahasa PASCAL )
CA Clipper 5.3 ( Dikembangkan dari bahasa clipper )
dot NET, dll

Industri pengguna
Contoh :
- GE Network Solutions

Perangkat Lunak yang dihasilkan
Contoh :
- Smallworld GIS
* Application Development using OOP
Magik Programming --> GNU Emacs
* Data Modelling (CASE TOOLS)


Read More..