UML
October 6, 2010 at 5:11 am | Posted in Uncategorized | Leave a commentPengantar Unified Modeling Language (UML)
Pendahuluan
Saat ini piranti lunak semakin luas dan besar lingkupnya, sehingga tidak bisa lagi dibuat asal-asalan. Piranti lunak saat ini seharusnya dirancang dengan memperhatikan hal-hal seperti scalability, security, dan eksekusi yang robust walaupun dalam kondisi yang sulit. Selain itu arsitekturnya harus didefinisikan dengan jelas, agar bug mudah ditemukan dan diperbaiki, bahkan oleh orang lain selain programmer aslinya. Keuntungan lain dari perencanaan arsitektur yang matang adalah dimungkinkannya penggunaan kembali modul atau komponen untuk aplikasi piranti lunak lain yang membutuhkan fungsionalitas yang sama.
Pemodelan (modeling) adalah proses merancang piranti lunak sebelum melakukan pengkodean (coding). Model piranti lunak dapat dianalogikan seperti pembuatan blueprint pada pembangunan gedung. Membuat model dari sebuah sistem yang kompleks sangatlah penting karena kita tidak dapat memahami sistem semacam itu secara menyeluruh. Semakin komplek sebuah sistem, semakin penting pula penggunaan teknik pemodelan yang baik.
Dengan menggunakan model, diharapkan pengembangan piranti lunak dapat memenuhi semua kebutuhan pengguna dengan lengkap dan tepat, termasuk faktor-faktor seperti scalability, robustness, security, dan sebagainya.
Kesuksesan suatu pemodelan piranti lunak ditentukan oleh tiga unsur, yang kemudian terkenal dengan sebuan segitiga sukses (the triangle for success). Ketiga unsur tersebut adalah metode pemodelan (notation), proses (process) dan tool yang digunakan.
Memahami notasi pemodelan tanpa mengetahui cara pemakaian yang sebenarnya (proses) akan membuat proyek gagal. Dan pemahaman terhadap metode pemodelan dan proses disempurnakan dengan penggunaan tool yang tepat.
Apa itu UML
Unified Modelling Language (UML) adalah sebuah “bahasa” yg telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem.
Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa berorientasi objek seperti C++, Java, C# atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C.
Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering).
Sejarah UML sendiri cukup panjang. Sampai era tahun 1990 seperti kita ketahui puluhan metodologi pemodelan berorientasi objek telah bermunculan di dunia. Diantaranya adalah: metodologi booch [1], metodologi coad [2], metodologi OOSE [3], metodologi OMT [4], metodologi shlaer-mellor [5], metodologi wirfs-brock [6], dsb. Masa itu terkenal dengan masa perang metodologi (method war) dalam pendesainan berorientasi objek. Masing-masing metodologi membawa notasi sendiri-sendiri, yang mengakibatkan timbul masalah baru apabila kita bekerjasama dengan group/perusahaan lain yang menggunakan metodologi yang berlainan.
Dimulai pada bulan Oktober 1994 Booch, Rumbaugh dan Jacobson, yang merupakan tiga tokoh yang boleh dikata metodologinya banyak digunakan mempelopori usaha untuk penyatuan metodologi pendesainan berorientasi objek. Pada tahun 1995 direlease draft pertama dari UML (versi 0.8). Sejak tahun 1996 pengembangan tersebut dikoordinasikan oleh Object Management Group (OMG – http://www.omg.org). Tahun 1997 UML versi 1.1 muncul, dan saat ini versi terbaru adalah versi 1.5 yang dirilis bulan Maret 2003. Booch, Rumbaugh dan Jacobson menyusun tiga buku serial tentang UML pada tahun 1999 [7] [8] [9]. Sejak saat itulah UML telah menjelma menjadi standar bahasa pemodelan untuk aplikasi berorientasi objek.
Konsepsi Dasar UML
Dari berbagai penjelasan rumit yang terdapat di dokumen dan buku-buku UML. Sebenarnya konsepsi dasar UML bisa kita rangkumkan dalam gambar dibawah.
Abstraksi konsep dasar UML yang terdiri dari structural classification, dynamic behavior, dan model management, bisa kita pahami dengan mudah apabila kita melihat gambar diatas dari Diagrams. Main concepts bisa kita pandang sebagai term yang akan muncul pada saat kita membuat diagram. Dan view adalah kategori dari diagaram tersebut.
Lalu darimana kita mulai ? Untuk menguasai UML, sebenarnya cukup dua hal yang harus kita perhatikan:
- Menguasai pembuatan diagram UML
- Menguasai langkah-langkah dalam analisa dan pengembangan dengan UML
Tulisan ini pada intinya akan mengupas kedua hal tersebut.
Seperti juga tercantum pada gambar diatas UML mendefinisikan diagram-diagram sebagai berikut:
- use case diagram
- class diagram
- statechart diagram
- activity diagram
- sequence diagram
- collaboration diagram
- component diagram
- deployment diagram
Use Case Diagram
Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya.
Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu.
Use case diagram dapat sangat membantu bila kita sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem.
Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal.
Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common.
Sebuah use case juga dapat meng-extend use case lain dengan behaviour-nya sendiri.
Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain.
Contoh use case diagram :
Class Diagram
Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi).
Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.
Class memiliki tiga area pokok :
- Nama (dan stereotype)
- Atribut
- Metoda
Atribut dan metoda dapat memiliki salah satu sifat berikut :
- Private, tidak dapat dipanggil dari luar class yang bersangkutan
- Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya
- Public, dapat dipanggil oleh siapa saja
Class dapat merupakan implementasi dari sebuah interface, yaitu class abstrak yang hanya memiliki metoda. Interface tidak dapat langsung diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class. Dengan demikian interface mendukung resolusi metoda pada saat run-time.
Sesuai dengan perkembangan class model, class dapat dikelompokkan menjadi package. Kita juga dapat membuat diagram yang terdiri atas package.
Hubungan Antar Class
- Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class.
- Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”).
- Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.
- Hubungan dinamis, yaitu rangkaian pesan (message) yang di-passing dari satu class kepada class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram yang akan dijelaskan kemudian.
Contoh class diagram :
Statechart Diagram
Statechart diagram menggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimuli yang diterima. Pada umumnya statechart diagram menggambarkan class tertentu (satu class dapat memiliki lebih dari satu statechart diagram).
Dalam UML, state digambarkan berbentuk segiempat dengan sudut membulat dan memiliki nama sesuai kondisinya saat itu. Transisi antar state umumnya memiliki kondisi guard yang merupakan syarat terjadinya transisi yang bersangkutan, dituliskan dalam kurung siku. Action yang dilakukan sebagai akibat dari event tertentu dituliskan dengan diawali garis miring.
Titik awal dan akhir digambarkan berbentuk lingkaran berwarna penuh dan berwarna setengah.
Contoh statechart diagram :
Activity Diagram
Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.
Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum.
Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas.
Sama seperti state, standar UML menggunakan segiempat dengan sudut membulat untuk menggambarkan aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan proses-proses paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal.
Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu.
Contoh activity diagram tanpa swimlane:
Sequence Diagram
Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).
Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan.
Masing-masing objek, termasuk aktor, memiliki lifeline vertikal.
Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metoda dari class.
Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali dengan diterimanya sebuah message.
Untuk objek-objek yang memiliki sifat khusus, standar UML mendefinisikan icon khusus untuk objek boundary, controller dan persistent entity.
Contoh sequence diagram :
Collaboration Diagram
Collaboration diagram juga menggambarkan interaksi antar objek seperti sequence diagram, tetapi lebih menekankan pada peran masing-masing objek dan bukan pada waktu penyampaian message.
Setiap message memiliki sequence number, di mana message dari level tertinggi memiliki nomor 1. Messages dari level yang sama memiliki prefiks yang sama.
Component Diagram
Component diagram menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan (dependency) di antaranya.
Komponen piranti lunak adalah modul berisi code, baik berisi source code maupun binary code, baik library maupun executable, baik yang muncul pada compile time, link time, maupun run time. Umumnya komponen terbentuk dari beberapa class dan/atau package, tapi dapat juga dari komponen-komponen yang lebih kecil.
Komponen dapat juga berupa interface, yaitu kumpulan layanan yang disediakan sebuah komponen untuk komponen lain.
Contoh component diagram:
Deployment Diagram
Deployment/physical diagram menggambarkan detail bagaimana komponen di-deploy dalam infrastruktur sistem, di mana komponen akan terletak (pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal
Sebuah node adalah server, workstation, atau piranti keras lain yang digunakan untuk men-deploy komponen dalam lingkungan sebenarnya. Hubungan antar node (misalnya TCP/IP) dan requirement dapat juga didefinisikan dalam diagram ini.
Contoh deployment diagram :
Langkah-Langkah Penggunaan UML
Berikut ini adalah tips pengembangan piranti lunak dengan menggunakan UML:
- Buatlah daftar business process dari level tertinggi untuk mendefinisikan aktivitas dan proses yang mungkin muncul.
- Petakan use case untuk tiap business process untuk mendefinisikan dengan tepat fungsionalitas yang harus disediakan oleh sistem. Kemudian perhalus use case diagram dan lengkapi dengan requirement, constraints dan catatan-catatan lain.
- Buatlah deployment diagram secara kasar untuk mendefinisikan arsitektur fisik sistem.
- Definisikan requirement lain (non-fungsional, security dan sebagainya) yang juga harus disediakan oleh sistem.
- Berdasarkan use case diagram, mulailah membuat activity diagram.
- Definisikan objek-objek level atas (package atau domain) dan buatlah sequence dan/atau collaboration diagram untuk tiap alir pekerjaan. Jika sebuah use case memiliki kemungkinan alir normal dan error, buatlah satu diagram untuk masing-masing alir.
- Buarlah rancangan user interface model yang menyediakan antarmuka bagi pengguna untuk menjalankan skenario use case.
- Berdasarkan model-model yang sudah ada, buatlah class diagram. Setiap package atau domain dipecah menjadi hirarki class lengkap dengan atribut dan metodanya. Akan lebih baik jika untuk setiap class dibuat unit test untuk menguji fungsionalitas class dan interaksi dengan class lain.
- Setelah class diagram dibuat, kita dapat melihat kemungkinan pengelompokan class menjadi komponen-komponen. Karena itu buatlah component diagram pada tahap ini. Juga, definisikan tes integrasi untuk setiap komponen meyakinkan ia berinteraksi dengan baik.
- Perhalus deployment diagram yang sudah dibuat. Detilkan kemampuan dan requirement piranti lunak, sistem operasi, jaringan, dan sebagainya. Petakan komponen ke dalam node.
- Mulailah membangun sistem. Ada dua pendekatan yang dapat digunakan :
- Pendekatan use case, dengan meng-assign setiap use case kepada tim pengembang tertentu untuk mengembangkan unit code yang lengkap dengan tes.
- Pendekatan komponen, yaitu meng-assign setiap komponen kepada tim pengembang tertentu.
- Lakukan uji modul dan uji integrasi serta perbaiki model berserta codenya. Model harus selalu sesuai dengan code yang aktual.
- Piranti lunak siap dirilis.
Tool Yang Mendukung UML
Saat ini banyak sekali tool pendesainan yang mendukung UML, baik itu tool komersial maupun opensource. Beberapa diantaranya adalah:
- Rational Rose (www.rational.com)
- Together (www.togethersoft.com)
- Object Domain (www.objectdomain.com)
- Jvision (www.object-insight.com)
- Objecteering (www.objecteering.com)
- MagicDraw (www.nomagic.com/magicdrawuml)
- Visual Object Modeller (www.visualobject.com)
Data seluruh tool yang mendukung UML, lengkap beserta harganya (dalam US dolar) bisa anda pelajari di situs http://www.objectsbydesign.com/tools/umltools_byCompany.html . Disamping itu, daftar tool UML berikut fungsi dan perbangingan kemampuannya juga dapat dilihat di http://www.jeckle.de/umltools.htm.
Pointer Penting UML
Sebagai referensi dalam mempelajari dan menggunakan UML, situs-situs yang merupakan pointer penting adalah:
- http://www.cetus-links.org/oo_uml.html
- http://www.omg.org
- http://www.omg.org/technology/uml/
- http://www.rational.com/uml
- http://www.uml.org/
Dan juga buku-buku yang terdapat di daftar pustaka.
Daftar Pustaka
[1] Grady Booch, Object-Oriented Analysis and Design with Application, Benjamin/Cummings, 1991.
[2] Peter Coad and Edward Yourdon, Object-Oriented Analysis, Yourdon Press, 1991.
[3] Ivar Jacobson, Magnus Christerson, Patrik Jonson, and Gunnar Overgaard, Object-Oriented Software Engineering: A Use Case Driven Approach, Addison-Wesley, 1992.
[4] James Rumbaugh, Michael Blaha, William Premerlani, Frederick Eddy, and William Lorenson, Object-Oriented Modeling and Design, Prentice Hall, 1991.
[5] Sally Shlaer and Stephen J. Mellor, Object-Oriented System Analysis: Modeling the World in Data, Yourdon Press, 1988.
[6] Rebecca Wirfs-Brock, Brian Wilkerson, and Lauren Wiener, Designing Object-Oriented Software, Prentice Hall, 1990.
[7] Grady Booch, James Rumbaugh, and Ivar Jacobson, The Unified Modeling Language User Guide, Addison-Wesley, 1999.
[8] Ivar Jacobson, Grady Booch, and James Rumbaugh, The Unified Software Development Process, Addison-Wesley, 1999.
[9] James Rumbaugh, Ivar Jacobson, and Grady Booch, The Unified Modeling Language Reference Manual, Addison-Wesley, 1999.
[10] Unified Modeling Language Specification, Object Management Group, www.omg.org, 1999.
[11] Introduction to OMG UML [http://www.omg.org/gettingstarted/what_is_uml.htm]
[12] UML Tutorial [http://www.sparxsystems.com.au/UML_Tutorial.htm]
[13] Embarcadero Tech Support [http://www.embarcadero.com/support/uml_central.asp]
[14] Practical UML A Hands-On Introduction for Developers, [http://www.togethersoft.com/services/practical_guides/umlonlinecourse/index.html]
[15] Architecture and Design: Unified Modeling Language (UML), [http://www.cetus-links.org/oo_uml.html]
Rational Unified Process
October 6, 2010 at 5:01 am | Posted in Uncategorized | Leave a commentRUP (Rational Unified Process
Rational Unified Process (RUP) merupakan suatu metode rekayasa perangkat lunak yang dikembangkan dengan mengumpulkan berbagai best practises yang terdapat dalam industri pengembangan perangkat lunak. Ciri utama metode ini adalah menggunakan use-case driven dan pendekatan iteratif untuk siklus pengembangan perankat lunak. Gambar dibawah menunjukkan secara keseluruhan arsitektur yang dimiliki RUP.
RUP menggunakan konsep object oriented, dengan aktifitas yang berfokus pada pengembangan model dengan menggunakan Unified Model Language (UML). Melalui gambar dibawah dapat dilihat bahwa RUP memiliki, yaitu:
- Dimensi pertama digambarkan secara horizontal. Dimensi ini mewakili aspek-aspek dinamis dari pengembangan perangkat lunak. Aspek ini dijabarkan dalam tahapan pengembangan atau fase. Setiap fase akan memiliki suatu major milestone yang menandakan akhir dari awal dari phase selanjutnya. Setiap phase dapat berdiri dari satu beberapa iterasi. Dimensi ini terdiri atas Inception, Elaboration, Construction, dan Transition.
- Dimensi kedua digambarkan secara vertikal. Dimensi ini mewakili aspek-aspek statis dari proses pengembangan perangkat lunak yang dikelompokkan ke dalam beberapa disiplin. Proses pengembangan perangkat lunak yang dijelaskan kedalam beberapa disiplin terdiri dari empat elemen penting, yakni who is doing, what, how dan when. Dimensi ini terdiri atas
Business Modeling, Requirement, Analysis and Design, Implementation, Test, Deployment, Configuration dan Change Manegement, Project Management, Environtment.
Gambar Arsitektur Rational Unified Process
Pada penggunaan kedua standard tersebut diatas yang berorientasi obyek (object orinted) memiliki manfaat yakni:
• Improve productivity
Standard ini dapat memanfaatkan kembali komponen-komponen yang telah tersedia/dibuat sehingga dapat meningkatkan produktifitas
• Deliver high quality system
Kualitas sistem informasi dapat ditingkatkan sebagai sistem yang dibuat pada komponenkomponen yang telah teruji (well-tested dan well-proven) sehingga dapat mempercepat delivery sistem informasi yang dibuat dengan kualitas yang tinggi.
• Lower maintenance cost
Standard ini dapat membantu untuk menyakinkan dampak perubahan yang terlokalisasi dan masalah dapat dengan mudah terdeteksi sehingga hasilnya biaya pemeliharaan dapat dioptimalkan atau lebih rendah dengan pengembangan informasi tanpa standard yang jelas.
• Facilitate reuse
Standard ini memiliki kemampuan yang mengembangkan komponen-komponen yang dapat digunakan kembali untuk pengembangan aplikasi yang lainnya.
• Manage complexity
Standard ini mudah untuk mengatur dan memonitor semua proses dari semua tahapan yang ada sehingga suatu pengembangan sistem informasi yang amat kompleks dapat dilakukan dengan aman dan sesuai dengan harapan semua manajer proyek IT/IS yakni deliver good quality software within cost and schedule time and the users accepted.
Fase RUP
- Inception/insepsi
- Elaboration/elaborasi
- Construction/konstruksi
- Transition/transisi
- Inception
– Menentukan Ruang lingkup proyek
– Membuat ‘Business Case’
– Menjawab pertanyaan “apakah yang dikerjakan dapat menciptakan ‘good business sense’ sehingga proyek dapat dilanjutkan
- Elaboration
– Menganalisa berbagai persyaratan dan resiko
– Menetapkan ‘base line’
– Merencanakan fase berikutnya yaitu construction
- Construction
– Melakukan sederetan iterasi
– Pada setiap iterasi akan melibatkan proses berikut: analisa desain, implementasi dan testing
- Transistion
– Membuat apa yang sudah dimodelkan menjadi suatu produk jadi
– Dalam fase ini dilakukan:
- Beta dan performance testing
- Membuat dokumentasi tambahan seperti; training, user guides dan sales kit
- Membuat rencana peluncuran produk ke komunitas pengguna
Peran Use Case Pada Setiap Fase
- Inception
– Menolong mengembangkan scope proyek
– Menolong menetapkan penjadwalan dan anggaran
- Elaboration
– Menolong dalam melakukan analisa resiko
– Menolong mempersiapkan fase berikutnya yaitu konstruksi
- Construction
– Melakukan sederetan iterasi
– Pada setiap iterasi akan akan melibatkan proses berikut: analisa desain, implementasi dan testing
- Transistion
– Membuat apa yang sudah dimodelkan menjadi suatu produk jadi
– Dalam fase ini dilakukan:
- Beta dan performance testing
- Membuat dokumentasi tambahan seperti; training, user guides dan sales kit
- Membuat rencana peluncuran produk ke komunitas pengguna
Penerapan Tahapan Metodologi Pengembagan Perangkat Lunak dengan Menggunakan RUP (Contoh Kasus)
Metodologi Rational Unified Process (RUP). Metode RUP merupakan metode pengembangan kegiatan yang berorientasi pada proses. Dalam metode ini, terdapat empat tahap pengembangan perangkat lunak yaitu:
- Inception
Pada tahap ini pengembang mendefinisikan batasan kegiatan, melakukan analisis kebutuhan user, dan melakukan perancangan awal perangkat lunak (perancangan arsitektural dan use case). Pada akhir fase ini, prototipe perangkat lunak versi Alpha harus sudah dirilis
- Elaboration :
Pada tahap ini dilakukan perancangan perangkat lunak mulai dari menspesifikasikan fitur perangkat lunak hingga perilisan prototipe versi Betha dari perangkat lunak.
- Construction
Pengimplementasian rancangan perangkat lunak yang telah dibuat dilakukan pada tahap ini. Pada akhir tahap ini, perangkat lunak versi akhir yang sudah disetujui administrator dirilis beserta dokumentasi perangkat lunak.
- Transition
Instalasi , deployment dan sosialisasi perangkat lunak dilakukan pada tahap ini.

Pengembangan E-Government di Indonesia
September 30, 2010 at 6:29 am | Posted in Uncategorized | Leave a commentLink file : Pengembangan E-Government di Indoensia
Kebutuhan informasi yang cepat, tepat dan akurat menjadi salah satu dasar perkembangan teknologi informasi. Dibagian pemerintahan kebutuhan teknologi informasi ini sudah menjadi salah satu kebutuhan primer, karena pada umumnya pemerintah memiliki tugas dan tanggung jawab terhadap pelayanan masyarakat. Dan salah satu tools yang bisa digunakan untuk meningkatkan peningkatan pelayanan masyarakat adalah dengan menerapkan e-government. Tetapi hingga saat ini pemaknaan implementasi e-government oleh pemerintah daerah maupun pusat masih banyak yang bersifat sendiri-sendiri, sehingga masih banyak kendala, hambatan dan tantangan yang dihadapi untuk meningkatkan pemanfaatan e-government di Indonesia, sehingga masih banyak pemerintah yang menggunakan e-government itu hanya sebagai penyedia informasi saja (web statik).
How Organization make better decision
September 24, 2010 at 8:52 am | Posted in Uncategorized | Leave a commentsumber: www.mis-asia.com
How does your organisation decide what strategies and business models to pursue, which products and services to offer, which customers to target, what prices to charge and what employees to hire? One poor decision now can lead to a poor outcome later.
The most striking finding in the How Organizations Make Better Decisions report is that organisations employed a variety of intervention types involving technology, organisational changes, and new business methods. Analytical interventions were the most commonly adopted, followed by culture and leadership. In order to implement these interventions, decision analysts had to adopt a more consulting-oriented role within their organisations.
Businesses and organisations have addressed many aspects of their structure and function, but relatively few have given systematic attention to one of their most important activities: their decisions.
Decisions, whether tactical or strategic, are critical to the success of every organisation. They encompass such questions as what strategies and business models to pursue, which products and services to offer, which customers to target, what prices to charge, and what employees to hire. Organisations that employ poor decision processes and tools will eventually encounter poor decision outcomes, and their performance will suffer.
There are many other reasons why organisations should improve key decisions. The recent financial crisis was a reminder that poor decisions have both company-specific and economy-wide consequences.
More positively, there are new insights, technologies, and methods that can guide decisions. Scientific advances in neuroscience and behavioural economics provide new insights for decision-making.
Relatively new technologies, including analytics, decision automation tools, and business intelligence systems, make it possible to make better use of information in decisions. ‘Wisdom of crowds’ approaches and technologies allow larger groups of people to participate meaningfully in decision processes. Organisations cannot afford to ignore these new options if they wish to make the best possible decisions.
This report summarises the many ways organisations have improved their decision-making processes, specifically using business analytics. Business analytics help companies identify innovative ways to increase profits, reduce risk, predict trends and make confident, fact-based decisions using real-time data. Better business decisions mean better business. And better business makes for happier customers.
Take ComSuper, an Australian Commonwealth Government Agency. When it modernised and consolidated its Information Management, it was able to view its data in context, irrespective of its source – a single source of the truth.
‘A single end-to-end solution has had additional benefits due to the savings in effort through utilising the SAS common metadata repository,’ said Kevin Hilder, Director, Information Management, ComSuper.
Before it revamped its Information Management, ComSuper created its reports in a variety of spreadsheets and databases. Hilder explained: ‘These came from all around the organisation and while meeting requirements were not managed in a consistent nor sustainable way. Even the definition of data was dealt with differently by various subject matter experts and report authors.’
Later, SAS won the tender for an end-to-end solution and Business Intelligence (BI) framework to integrate all its data and create a sustainable business intelligence reporting system, when ComSuper decided that ‘SAS won both the data integration and business intelligence tenders on their independent merits as we found that each of their proposals represented a best-fit solution for ComSuper. A single end-to-end solution has had additional benefits due to the savings in effort through utilising the SAS common metadata repository, which sits at the core of the SAS architecture,’ said Hilder.
Reaction within ComSuper has been very positive. Managers now have access to current, accurate and relevant information and have greater confidence in their reports.
These managers are now enjoying ‘the timely delivery of information. Previously, the latency of the information they were getting was a cause for concern. Now, by contrast, our delivery of reports is on time – daily, weekly, monthly – depending on the report type,’ said Hilder.
Which goes to show, analytical interventions do lead to more accurate and relevant information for better decisions.
indonesian connected new
September 24, 2010 at 8:48 am | Posted in Uncategorized | Leave a commentThe challenge for many governments today is to provide opportunities for citizens and businesses to actively participate in the global economy. This was the view put by Fairfax Business Media Asia correspondent and Computerworld Malaysia deputy editor, AvantiKumar in his welcome address at the eGovernment Seminar 2010 in Kulala Lumpur. The event was sponsored by CommScope, the Malaysia Software Testing Board (MSTB), Riverbed Technology, HP Malaysia and McAfee.
The first keynote speaker, Delesh Kumar, director of ICT practice Asia Pacific, Frost & Sullivan, expanded on this concept. He noted that in traditional governments, an increase in the value of services was not possible without consolidating the way the back end systems and processes work to bring about the front end of service delivery.
“Many countries have moved from a paper-based government to introduce the concept of the e-government,” Kumar said. “The emerging paradigm maintains that to achieve greater value in service delivery and reduce costs, integration and the redesign of government organisation and processes is a necessity. Genuine cost savings and quality improvements occur only if there is a re-engineering of the internal structures and processes of the administration.”
In fact, Kumar noted that governments should be going beyond merely implementing e-government services but instead be aiming at a concept called the ‘Connected Government’.
Holistic approach
“Connected Government is a holistic approach to how a government operates. It’s about how government agencies work with each other to solve citizens’ problems and not just about providing services to the public,” Kumar said.
Noting that this was vital in today’s highly interconnected world, Kumar said it is not about how services are delivered by governments but how citizens are using technology to approach governments.
“Look at today’s mobile broadband and Twitter generation,” he said. “This is no longer just about e-paper. Governments have to holistically look at how they communicate with citizens so that they can provide them with more personalised services.”
Citizens are not only changing the way they communicate but their level of expectations have also increased, Kumar added.
“Citizens, as consumers, are more informed today because the Internet has changed their expectations,” he explained. “Technologies like Web 2.0 and social networking have made the customer experience critical. Adding to this is that there is a huge Generation-Y segment in Asia, which is used to these expectations.”
As a result, Kumar noted that it becomes imperative to have an intelligent and responsive government, as responsiveness is no longer measured in terms of time taken to revert to requests but how effectively governments are communicating with their people.
“Governments would also need to map out how they want to provide social services with the evolution in technology consumption, as the future is heading towards services on the go with more interactive interfaces,” Kumar said.
Dr Ispran Kandasamy, vice president of sales, enterprise Asia Pacific, CommScope enterprise solutions division, noted that in the last two years, there has been a significant take-up in ICT infrastructure by the government.
“There isn’t much difference between the approach of the private and public sector as far as IT infrastructure is concerned,” he said. “At the end of the day, it’s about the quality of service governments offer to citizens and what is the metric for measuring the delivery of these services.”
Intelligent networks
Kandasamy noted one way for governments to ensure top-class quality was to employ intelligent networks (IN).
According to him, among some of the features an intelligent infrastructure solution uses are the discovery of network connectivity from end to end, real time updates of the infrastructure database, physical location and tracking for networked devices, alarms for unauthorised and unscheduled activities, and automation of change and incident management processes.
“When a network is down, everyone knows about it. But how does anybody know when the network is up and to what standard it is performing? For this, you need IN,” Kandasamy explained.
He pointed out that in the past, governments weren’t ready to spend on these kinds of networks but today they are looking at them because the cost of not doing so is too great. Today, it’s not just about return on investments but the total cost of ownership, he added.
While focusing on the quality of the network is important, obtaining faster throughput isn’t just about adding more equipment to increase the bandwidth of the network, said Peter Elsey, director, service provider alliances, Asia Pacific, Riverbed Technology.
Globalisation
“The world has been impacted by globalisation and outsourcing,” Elsey said. “The net result is that IT equipment has proliferated all over the world and it’s harder now to manage than before. Furthermore, there is pressure on IT to do more with less, do more with what you have, and do it in more places.”
Elsey said in the last 10 years, enterprises and governments have been faced with a big problem, namely that applications run slowly across the wide area network (WAN).
He added that prior to the widespread availability of WAN optimisation technology, enterprises have had no choice but to spend money on WAN bandwidth and also on much distributed IT infrastructure to address this problem. This, he said, did help to some degree but it also introduced issues relating to IT cost and data security.
Focused on innovation
After the presentation of broader economic issues facing Malaysia by the second keynote speaker, Bobby Varanasi, head of marketing and branding for Outsourcing Malaysia, Nagalingam Kathirgamer, solution architect technology of HP Malaysia enterprise business, spoke of how governments, like large enterprises, need to break the cycle of diverting their resources more towards operations rather than on innovation.
“The cost of data centre operations has absorbed up to 70 per cent of the IT budget leaving little for more strategic or innovative needs,” he said. “Governments, like enterprises, need to reduce the total amount of resources that are focused on operations and maintenance and free up resources for more strategic, innovative tasks.”
Kathirgamer noted that much of today’s traditional data centres are built around an ageing architecture, which impacts organisational structures and processes. He added that the day-to-day symptoms include a lack of standardisation that impedes automation and governance, and as a result, different systems require varied processes to build and manage infrastructure.
The value chain
The third guest keynote speaker, Michiel de Boer, director of consulting Asia, Quint Wellington Redwood, resumed the session after the break and discussed the various examples of e-government implementation worldwide.
“There are many services which e-governments provide,” de Boer said. ”Some of these comprise citizen-centric service, smart cards, permits, electronic records, e-procurement, purchasing, kiosks, e-learning, government grants, e-health and geographical information systems.”
De Boer noted that these services can only work if structure and processes are in place. Therefore, governments today must realise that the most important thing in an e-government implementation is the concept of “value chain management”.
“The value chain comprises information management, technology, content management. Underlying these components is the need to support these pillars. The chain is as strong as the weakest link; thus, all these pillars will only work when the chain is held together completely by the chain of support,” he explains.
De Boer said for example, when a government agency wants to publish some public information for its citizens to consume, there has to be thought put in as to what kind of info to publish, how to update this information, where to link a particular webpage to another. Also important, he added, is that there must be an authority which can make these changes.
“If 10 people have this authority, there will be 10 outcomes, and this is no good,” he said, adding that there must be only one authority that can make the relevant decisions.
Software testing
Amiruddin Jaafar Sidek, director, Malaysia Software Testing Board (MTSB), noted that in today’s advance world, everything works because of software and thus, it becomes imperative that software be tested.
“Imagine that there are defects in software, and that it has been detected earlier through testing. Testing therefore can save lives,” he said.
According to Amiruddin, there is great potential for software testing in Malaysia today. Gone are the days when a programmer doubles up as a software tester, he said.
“There is a demand for software quality assurance and software testing. Thus, we need quality professionals that have the skills to do this. Amiruddin noted that this is one of the main drivers for the setting up of the MTSB in 2006. Backed by the Malaysian government, the MTSB is a voluntary and non-profit organisation that represents the national industry interests and promotes the broad profession of software testing. He added that governments need to take software testing seriously as this forms the foundation for good software implementation and ensures that whatever services it gives to the public is of high quality and perform accordingly.
Alvin Tan, senior strategic account manager, McAfee, rounded up the session by noting that more than 80 per cent of the Global 5000 has no data security in place. “The perfect storm has arrived, but most companies are still not prepared,” he said. “McAfee believes in securing IT through five steps: acceptance, encryption, securing ports, classification and data loss prevention (DLP).”
Tan said that the first step is to ensure that data protection is tightly woven into the business as data can be lost anywhere. Second:deploying encryption in laptops and desktops, so that information within government agencies will be safeguarded. Next: address issues to do with removable media, such as USB ports. Fourth: identify and manage confidential data properly. “This is simple to say but hard to do, but it nevertheless has to be done. To do this, focus on your most critical data by involving the business stakeholders such as human resources or your compliance departments,” Tan said.
Lastly, governments must look at DLP holistically by discovering where the end points of its network can potentially leak data, he noted.
Kabupaten Garut Masuk 8 Besar E-Government Award
September 24, 2010 at 8:40 am | Posted in Uncategorized | Leave a comment| sumber: http://jabarnews.com | ![]() |
![]() |
| Selasa, 22 Desember 2009 09:42 | |
![]() PRO3RRI – Garut:: Meski sebagai pendatang baru, Kabupaten Garut telah mensejajarkan diri dengan kabupaten/kota se-Indonesia dalam penerapan e-government. Sebagai pendatang baru tentunya menjadi kesan tersendiri, meski dengan segala keterbatasan, akhirnya mencapai delapan besar di Indonesia dalam penerapan e-government. Meski sebagai pendatang baru, Kabupaten Garut telah mensejajarkan diri dengan kabupaten/kota se-Indonesia dalam penerapan e-government. Sebagai pendatang baru tentunya menjadi kesan tersendiri, meski dengan segala keterbatasan, akhirnya mencapai delapan besar di Indonesia dalam penerapan e-government. Mengusung tema Connected Government 2.0 : Toward Collaboration Government, Kabupaten Garut menjadi salah satu peserta dari 95 di Indonesia untuk kategori kabupaten/kota, secara keseluruhan diikuti 153 lembaga. Proses penilaiannya sendiri dilakukan berdasarkan peserta yang mendaftar dan memberikan data kepada panitia. Pendaftaran dilakukan dengan mengisi daftar pertanyaan yang berisi pertanyaan teknis dan implementasi e-government lembaga masing-masing. Proses pendaftaran dimulai 5 Mei 2009 sampai dengan 22 Juli 2009. Jurinya pun tidak tanggung-tanggung mulai dari juri infrastruktur hingga juri implementasi e-government. Menurut Kepala Bagian Informatika Setda Kabupaten Garut, Drs. Dik Dik Hendrajaya, M.Si, proses penilaian dilakukan dalam tiga tahap, yakni : penilaian website, penilaian infrastruktur dan implementasi e-government, hingga sesi tanya jawab dengan pimpinan lembaga dan pengelola teknis e-government. Kabupaten Garut memiliki keunggulan di situs www.garutkab.go.id, karena dalam penilaian ini berbobot 10 % dengan masing-masing atribut dibobot pada identitas (20%), isi situs (20%), fungsi layanan masyarakat (20%), fitur situs web (20%) dan uji respons (20%), belum termasuk penilain lain dari sisiv e-government yang mengandung proses e-government (33%), SDM (33%) serta perangkat dan aplikasi e-government (33,3) yang keseluruhan penjurian memakan waktu selama empat bulan. Hasilnya, pada tanggal 15 Desember 2009, Kabupaten Garut meraih nilai 611,0 dengan rating B dirutan 8, dibawah Pemkab Jembrana (sebagai Best of The Best), kedua Kota Surabaya, diikuti Kota Bogor, Kota Malang, Kota Yogyakarta, Kabupaten Sumenep, dan Kabupaten Lamongan. Keungulan Kabupaten Garut sendiri sebenarnya baru terakomodir dari websitenya, meski baru masuk tahap interaksi. Selama ini website garutkab.go.id baru unggul dalam publisitas, padahal untuk meraihnya memiliki empat tahapan, yakni : publikasi, interaksi, transaksi hingga kolaborasi. Tentunya keberhasilan ini patut disyukuri mengingat, Kabupaten Garut merupakan bagian dari Provinsi Jawa Barat yang tengah gigih mencanangkan Jabar Cyber Province 2012. Kendalanya adalah belum terbangunnya infrastruktur dengan memadai, padahal tahun 2012 hanya tinggal menunggu waktu, Kabupaten Garut dihadapkan letak geografis yang berbeda dengan kota lain peraih e-government award. Hingga kini belum seluruh kecamatan di Kabupaten Garut terakses jaringan komunikasi telepon. Padahal di pelupuk mata tersimpan potensi alam yang bisa dikelola, salah satunya dengan penerapan e-governmen. Ia bisa dioterapkan melalui e-farm, atau aplikasi apalh istilahnya, sesuai dengan kondisi daerah ini. |
cmmi lanjutan
September 24, 2010 at 8:37 am | Posted in Uncategorized | Leave a comment1. Continuous vs Staged
CMMI terdiri dari banyak Process Area (PA).
Kita memilih Continuous atau Staged tergantung bagaimana kita ingin
mengimplementasikan PA tersebut.
Kalau kita mengimplementasikan Continuous,
kita memilih beberapa PA saja terserah kita, lalu berusaha comply
dengan PA tersebut.
Kalau kita pilih Staged, kita akan memilih maturity level (ML) yang
ingin kita capai.
Selanjutnya, kita harus mengimplementasikan paket PA sesuai ML yang
ingin dicapai.
Analogi sederhananya, kalau kita ke McD*, Staged itu kalau kita pesan PaNas.
Pasti bakalan dapat nasi, telor, dan softdrink. Gak boleh minta
burger, walaupun softdrinknya boleh diganti Sprite.
Continuous itu kalo kita pilih sendiri combonya, misalnya eskrim,
cheese burger, dan kentang.
Rating ML cuma diberikan kalau kita mengambil Staged.
*Disclaimer : saya tidak ada afiliasi whatsoever dengan McD.
2. Bagaimana menentukan ML?
Ya pertama, kita harus tentukan mau mencapai ML berapa, misalnya ML 3.
Nah kemudian lihat isinya ML 3 itu PA apa saja.
Kemudian, pastikan bahwa semua persyaratan masing-masing PA sudah kita penuhi.
Kalo semuanya sudah terpenuhi, baru kita bisa menganggap diri kita ML3.
Nah, gimana biar orang lain percaya bahwa kita benar2 ML3, bukan cuma
ngaku-ngaku aja?
Tentunya kita harus diaudit oleh pihak yang berwajib (SEI Partner).
SEI Partner yang bisa digunakan ada daftarnya di sini :
http://www.sei.cmu.edu/partners/directory/organization/
Proses auditnya sendiri dinamakan SCAMPI Class A Appraisal.
Tinggal hubungi aja para partner itu, dan compare harga ![]()
Biasanya tidak cukup cuma appraisal aja, karena kita belum tentu paham 100%
apa yang diminta oleh suatu PA.
Jadi kita juga butuh consulting agar mengerti dan agar SOP kita comply.
indonesian connected
September 24, 2010 at 8:33 am | Posted in Uncategorized | Leave a commentSolusi e-Government menggunakan Connected Industry Framework
Pemerintahan biasanya terdiri dari banyak agen-agen dan departemen yang memberikan bermacam-macam layanan ke konstitusi dan bisnis seperti : pelayanan masyarakat, pendidikan, kesehatan, keamanan publik, kepegawaian, transportasi, masalah lingkungan, perdagangan dan pertahanan.
- Biasanya agen-agen bekerja secara terpisah tanpa kerjasama yang memadai
- Agen-agen berurusan dengan jumlah penduduk yang sangat besar dan anggaran yang juga besar
- Alokasi anggaran besar sehingga sangat perlu penghematan
- Mulai dirasakan perlunya peningkatan efisiensi dan produktivitas dengan meningkatnya pengeluaran di bidang IT
- Penduduk mulai menuntut pelayanan yang lebih baik dan transparan
- Pemerintah biasanya lebih lambat daripada perusahaan swasta dalam mengadopsi teknologi baru, tetapi sekali jalan biasanya besar dan lengkap
Perlunya Framework yang Menyeluruh
Masyarakat menginginkan adanya peningkatan efisiensi, penghematan, kenyamanan, dan kemudahan. Untuk itu diperlukan sebuah framework yang menyeluruh :
- Peningkatan efisiensi dalam pengurangan biaya operasi, penggunaan karyawan pemerintahan yang trampil, dan peningkatan pengetahuan karyawan
- Penghematan yang didapat dari pengeluaran yang tepat guna : pengurangan anggaran belanja, penyelesaian masalah pajak dan kebocoran, pemeliharaan perangkat yang kuno dan mahal, masalah integrasi dan interoperability
- Layanan yang nyaman dan mudah : harapan masyarakat yang meningkat, kebutuhan saling bagi informasi yang meningkat, kaum manula…
Di industri IT ini dikenal suatu framework yang disebut Connected Industry Framework, yang menggabungkan beberapa framework lain yaitu : Connected Government, Connected Health, dan Connected Education Framework.
Connected Government Framework merupakan suatu landasan di mana badan-badan pemerintah berkomunikasi dengan rakyat dengan mudah, tepat guna, dan sesuai dengan aturan yang berlaku.
Sayangnya mewujudkan impian seperti di atas tidak mudah, karena sekarang ini sistem IT yang menghubungkan antara rakyat (pengguna) ke penyedia layanan sangat rumit, mirip jaring laba-laba, sehingga biayanya cenderung mahal, pelayanannya lambat, dan perlu banyak orang.
Connected Government Framework (CGF) menyederhanakan sistem IT yang tradisional tadi dengan adanya konsep penggunaan sumberdaya IT yang bisa dipakai bersama-sama.
Solusi di Negara Maju
Banyak negara maju sudah menerapkan infrastruktur eGovernment yang terpusat. Di sini diperlukan sebuah provider identitas untuk seluruh penduduk, sebuah titik untuk semua transaksi eGov, makin banyaknya layanan yang menggunakan sumberdaya bersama, dan sistem yang saling terpisah dan independen
Namun demikian beberapa sektor yang sensitif bisa memiliki hubnya sendiri.
Antara hub yang berbeda ada kolaborasi dan penggunaan sumberdaya bersama (seperti authentikasi).
Di bawah ini merupakan contoh di mana pemerintahan menggunakan sebuah hub terpusat untuk menghubungan setiap orang ke server.
Untuk pemerintah yang belum siap dengan sistem yang terpusat seperti di atas, kita bisa lakukan pendekatan lain, yang disebut sebagai konfederasi, di mana sebuah hub akan berkomunikasi dengan hub yang lain seperti gambar di bawah ini :
Solusi Local Regional Government
Jika dimungkinkan gunakan Shared Infrastructure, di mana sebuah agen memegang landasan untuk agen yang lain, dan di sini diperlukan sebuah Identity Provider saja.
Jika tidak dimungkinkan (karena egosentris), maka kita bisa lakukan pendekatan secara terdistribusi dengan Distributed Infrastructure. Di sini masing-masing agen saling tersambung menggunakan hub-nya masing-masing, dan diperlukan beberapa Identity Provider yang independent.
Sistem Distributed Infrastructure diintegrasikan dengan National Hub.
Satu kunci sukses dalam menerapkah hal ini adalah dengan membuat suatu layanan yang cukup mudah tetapi strategis dan memiliki efek yang hebat. Misalnya dengan membuat layanan untuk KTP Nasional. Penerapan teknis KTP Nasional ini sebenarnya mudah dan memiliki efek yang menyeluruh terhadap kemajuan bangsa Indonesia, karena KTP Nasional bisa digunakan sebagai acuan semua layanan yang ada di negara ini, dan merupakan titik awal yang sangat baik untuk kemajuan bangsa.
Dengan adanya solusi LRG seperti ini, maka kita bisa dapatkan efisiensi yang luar biasa dengan otomasi proses bisnis, misalnya pembuatan KTP yang dulunya memakan waktu 1 minggu, sekarang malah tidak perlu lagi KTP baru, dan penggantian data KTP (karena pindah misalnya) hanya makan waktu beberapa menit saja.
Solusi Emerging Government
Untuk negara berkembang seperti Indonesia yang lebih sesuai adalah infrastruktur eGovernment yang terpusat, menggunakan model layanan bersama, hosted agency, Identity Provider terpusat, dan aplikasi portal yang co-hosted.
Karena badan-badan pemerintah di sini tidak memiliki keseragaman dalam implementasi eGovernment, maka di sini diperlukan fasilitas untuk menggabungkan proses bisnis yang sudah serba digital dengan proses bisnis yang masih menggunakan cara lama (kertas dll).
Secara perlahan-lahan badan-badan pemerintah yang belum siap mulai dimigrasikan ke sistem digital.
Di atas adalah gambar konsep dari sebuah sistem eGovernment di mana masyarakat atau pengguna (di pojok kiri bawah) terhubung ke pemerintah (dalam hal ini POLISI diambil sebagai contoh) melalui bermacam-macam alat yang terhubung lewat internet. Polisi sendiri terhubung ke badan-badan pemerintah yang lainnya…
Sedangkan di bawah ini kita bisa melihat beberapa contoh layanan yang bisa didapatkan melalui sistem eGovernment ini :
Connected Industry Framework dibangun menggunakan beberapa software di sisi Infrastruktur seperti di bawah ini :
Di bawah ini adalah komponen yang dipandang dari sudut yang berbeda-beda :
CMMI(Capability Maturity Model Integration)
September 24, 2010 at 8:02 am | Posted in Uncategorized | Leave a commentMeningkatkan Kualitas Produksi Piranti Lunak Dalam Negeri dengan Menerapkan CMM-SW
ABSTRACT
Saat ini kebutuhan akan adanya piranti lunak disetiap sektor pembangunan, demikian tinggi. Di sisi lain dengan semakin terbukanya keran pasar bebas, mendorong pengembang piranti lunak dalam negeri harus bisa bersaing dengan pengembang piranti lunak luar negeri. Pasar pasti akan memiliki piranti lunak yang berkualitas, karena akan sangat berpengaruh pada bisnis mereka. Bagi pasar, baik atau tidaknya kualitas sebuah piranti lunak, akan mereka lihat dari sejauh mana penerapan Capability Maturity Model for Software (CMM-SW) pada pengembang piranti lunak yang bersangkutan.
Oleh karena itu, pengembang piranti lunak dalam negeri harus bisa meningkatkan kualitas produksinya dengan menerapkan CMM-SW. Penerapan CMM-SW ini bukan semata-mata untuk meningkatkan prestise, tapi lebih kepada peningkatan kualitas produksi piranti lunak.
Kata kunci: Capability Maturity Model for Software (CMM-SW), Piranti Lunak, Software Process
Follow up:
I. PENDAHULUAN
Ada tiga hal yang sangat penting dalam perkembangan teknologi saat ini. Ketiga hal tersebut adalah software (piranti lunak), hardware (piranti keras), dan sumber daya manusia. Ketiga hal ini dipastikan ada di dalam setiap organisasi.
Salah satu hal yang menjadi bahasan utama dalam makalah ini adalah piranti lunak. Piranti lunak sudah menjadi tulang punggung dalam setiap bussiness proses di tiap-tiap organisasi. Seiring dengan kemajuan zaman, maka kebutuhan akan piranti lunak semakin tinggi. Tidak hanya itu, pasar akan semakin jeli dalam memilih piranti lunak yang akan digunakan dalam organisasinya. Piranti lunak yang mereka pilih adalah yang berkualitas. Karena tingkat kualitas piranti lunak akan sangat mempengaruhi bussiness proses organisasi. Jika bussiness processnya baik, maka akan meningkatkan pelayanan, meningkatkan kinerja, dan meningkatkan revenue.
Secara umum, pasar tidak begitu memahami secara mendalam tentang bagaimana kualitas piranti lunak yang baik itu. Oleh karena itu, dalam menilai kualitas sebuah produk piranti lunak, pasar akan menilainya secara pragmatis, salah satunya yaitu dengan melihat sejauh mana penerapan CMM-SW pada organisasi piranti lunak yang bersangkutan. Semakin tinggi level penerapan CMM-SW-nya, maka dipastikan akan semakin baik kualitas produksinya.
II. CAPABILITY MATURITY MODEL FOR SOFTWARE (CMM-SW)
Dalam sebuah organisasi pengembang piranti lunak, Software Process adalah inti utamanya. Software Process merupakan sekumpulan aktivitas, metode, praktek, dan berbagai transformasi yang digunakan oleh sekumpulan manusia di dalamnya untuk membangun dan memelihara piranti lunak serta hal-hal yang berkaitan dengannya, misalnya project plan, dokumen desain, code, testing, cases, dan user manual.
Berkaitan dengan Software Process tersebut, terdapat istilah Software Process Capability, Software Process Performance, dan Software Process Maturity. Software Process Capability mendeskripsikan jangkauan akan hasil yang diharapkan dari Software Process. Sedangkan Software Process Performance merupakan hasil yang saat ini diraih dari Software Process.
Satu hal yang sangat penting yaitu Software Process Maturity. Hal ini berkaitan dengan cakupan proses tertentu yang benar-benar telah terdefinisikan secara eksplisit, sudah dapat diatur, dapat diukur, dikontrol, dan efektif. Dengan kata lain, Software Process Maturity berkaitan dengan tingkat kematangan dalam Software Process, dan akan berakibat pada kualitas produk piranti lunak yang dihasilkan. Berkaitan dengan inilah, maka kini terdapat sebuah model untuk menggambarkan tingkat kematangan Software Process pada sebuah pengembang piranti lunak, hal tersebut dikenal dengan Capability Maturity Model for Software (CMM-SW).
CMM-SW adalah sebuah metode untuk mengevaluasi dan mengukur tingkat kematangan (maturity) dari proses rekayasa piranti lunak. Dalam dokumen resminya, dijelaskan bahwa CMM-SW menyediakan pedoman kepada pengembang piranti lunak tentang bagaimana untuk meningkatkan kontrol terhadap proses mereka dalam membangun dan memelihara piranti lunak, dan tentang bagaimana untuk mengembangkan lebih jauh sebuah kultur rekayasa piranti lunak dan majemen yang baik. CMM-SW didesain sebagai pedoman pengembang piranti lunak dalam memilih strategi peningkatan proses, dengan mengukur kematangan proses yang sedang berjalan dan mengidentifikasi beberapa isu yang paling kritikal sehubungan dengan kualitas piranti lunak dan peningkatan proses.[1]
Dengan demikian, bila sebuah pengembang piranti lunak menerapkan CMM-SW pada organisasinya, diharapkan pengembang tersebut dapat lebih mengontrol dan mengarahkan Software Process mereka. Sehingga cara kerjanya tidak lagi dilakukan seperti halnya sebuah proyek dadakan tanpa rencana. Hal ini juga dapat dijadikan sebagai acuan bagi pengembang piranti lunak yang baru untuk mengetahui bagaimana seharusnya proses sebuah pengembangan piranti lunak berlangsung. Sehingga proses “building block� akan lebih efektif dan efisien. dalam hal mengembangkan perusahaan yang bersangkutan. Aktivitas pengontrolannya pun dapat dilakukan secara terukur.
Dengan CMM-SW, pengembang piranti lunak akan benar-benar menjadi pengembang piranti lunak yang sesungguhnya. Karena CMM-SW akan membentuk kultur internal dan manajemen yang baik. Kultur dan struktur dari hasil CMM-SW tersebut akan sangat terintegrasi dengan pengembangan piranti lunak.
III. LIMA LEVEL PADA CMM-SW
Dalam pelaksanaan teknisnya, CMM-SW terdiri dari 5 level dilihat dari tingkat kematangan Software Process. Kelima level tersebut terdiri dari Initial (level 1), Repeatable (level 2), Defined (level 3), Managed (level 4), dan Optimizing (level 5). Semakin tinggi status level CMM pada sebuah pengembang piranti lunak, maka bisa dipastikan kualitas produksinya semakin baik. Ilustrasinya dapat dilihat pada diagram Level CMM-SW di Fig.1.
Secara singkat, berikut ini adalah penjelasan dari masing-masing level tersebut: [2]
Level 1: Initial. Software process dikarakteristikan sebagai sebuah ad hoc, dan kadang-kadang terjadi peristiwa chaos. Hanya sedikit dari proses yang telah didefinisikan dengan jelas, dan kesuksesan tergantung pada usaha individu. Semua pengembang piranti lunak minimal sudah pasti ada pada level ke-1 ini.
Level 2: Repeatable. Proses-proses pada manajemem proyek yang fundamental telah berjalan baik dalam hal untuk menelusuri pembiayaan, penjadwalan, dan fungsionalitas. Ketertiban proses yang diperlukan adalah dalam hal untuk mengulangi kembali kesuksesan-kesuksesan dalam proyek dengan aplikasi yang serupa.
Level 3: Defined. Pada level ini, pengembangan piranti lunak untuk manajemen dan aktivitas rekayasa telah didokumentasikan dengan baik, distandarisasikan, dan diintegrasikan dalam sebuah standar Software Process untuk organisasi yang bersangkutan. Semua proyek menggunakan standarisasi Software Process milik organisasi yang telah disetujui dan disesuaikan, untuk membangun dan memelihara piranti lunak.
Level 4: Managed. Pada level ini, ukuran-ukuran mendetail dari Software Process dan kualitas produksi telah dimiliki. Software process dan produksi secara kuantitatif sudah dipahami dan dapat dikontrol.
Level 5: Optimizing. Peningkatan proses secara kontinyu diberlakukan dengan feedback kuantitatif dari proses tersebut, dan dari teknologi-teknologi serta ide-ide pilot-project yang inovatif.
Secara umum, kelima level diatas merupakan gambaran adanya suatu tahapan dalam upaya untuk meningkatkan kualitas piranti lunak. Setiap level harus dilalui secara sekuensial. Tidak bisa melakukan lompatan-lompatan ke level atas, sebelum menerapkan CMM-SW pada level dibawahnya. Di sini dapat dilihat bahwa usaha peningkatan kualitas tersebut dilakukan dengan berorientasi kepada peningkatan proses.
Jika ilustrasikan dengan sebuah perjalanan menuju suatu tujuan, maka kelima level tersebut ibaratkan titik-titik pada peta perjalanan yang harus dilalui oleh pengembang piranti lunak agar dapat mencapai tujuannya dengan lebih efisien dan efektif. Jika tanpa peta perjalanan, mungkin akan sampai tujuan, tapi mungkin tidak efisien dan/atau tidak efektif. Bahkan mungkin tujuan tidak tercapai.
IV. ALAT BANTU MENINGKATKAN KUALITAS
CMM-SW inilah yang merupakan “alat bantu� agar pengembang piranti lunak dapat mencapai tujuannya, meningkatkan kualitas produksinya.
Dalam setiap levelnya, CMM memiliki Key Process Area (KPA) sebagai rincian tentang hal-hal yang harus menjadi perhatian. Misalnya, pada level-2 KPA-nya antara lain Requirement Management, Software Project Planning, Software Project Tracking and Oversight, Software Subcontract Management, Software Quality Assurance, dan Sofware Configuration Management. Setiap KPA tersebut memiliki beberapa tujuan yang harus dicapai. Agar memudahkan dalam mencapai tujuan, CMM-SW menyediakan Common Feature, yang merupakan beberapa hal yang harus menjadi perhatian dalam implementasi. Setiap Common Feature tersebut memiliki Key Practice, yang merupakan garis-garis besar yang harus dilakukan oleh organisasi piranti lunak. Penjelasan yang berkaitan dengan hal ini, dapat dilihat pada diagram Struktur CMM-SW di Fig.2.
Khusus untuk level-1, di sini tidak ada Key Process Area. Karena semua organisasi piranti lunak sudah dianggap berada pada level ini.
Dari rincian struktur CMM-SW ini, dapat kita lihat bahwa CMM-SW dapat membimbing pengembang piranti lunak dalam melakukan proses yang baik dan benar. Proses pembimbingannya tersebut benar-benar didesain dalam bentuk yang terstruktur dan bertahap agar pengembang dapat mudah mengikutnya. Karena kebertahapan merupakan suatu keniscayaan untuk menuju sesuatu yang lebih baik.
CMM-SW berorientasi kepada peningkatan proses pada setiap levelnya. Karena pembangunan dan pemeliharaan piranti lunak sangat bergantung kepada prosesnya. Semakin baik prosesnya, maka akan semakin baik pula kualitas outputnya.
IV. PENTINGNYA KUALITAS PIRANTI LUNAK
Untuk pengembang piranti lunak dalam negeri, CMM-SW ini harus menjadi acuan agar mereka dapat bersaing dengan pengembang piranti lunak dari manca negara. Persaingannya adalah dalam hal berlomba-lomba dalam peningkatan kualitas, bukan dalam hal berlomba-lomba meningkatkan prestise. Prestise akan datang dengan sendirinya kalau produksi yang dihasilkan berkualitas baik.
Di sisi lain, manusia pada saat ini berbeda dengan manusia yang lalu. Saat ini manusia lebih cerdas, lebih kreatif, dan lebih kritis dalam menilai sesuatu. Sedangkan organisasi terdiri dari banyak manusia. Dengan demikian, organisasi saat ini pun akan semakin kritis dalam menilai sesuatu, termasuk dalam memilih piranti lunak. Apalagi pengembang piranti lunak semakin banyak, maka pasar pasti akan melakukan pemilihan, yaitu memilih yang berkualitas. Ini merupakan salah satu hal yang menggambarkan betapa pentingnya kualitas piranti lunak.
Selain itu, dengan adanya peningkatan kualitas piranti lunak akan mendorong pesatnya perkembangan sebuah organisasi. Sebagaimana telah disebutkan sebelumnya, dengan dukungan piranti lunak yang berkualitas, akan meningkatkan pelayanan, meningkatkan kinerja, dan revenue.
Semua itu akan mendukung daya saing pengembang piranti lunak dalam negeri terhadap pengembang piranti lunak manca negara. Apalagi kalau pengembang piranti dalam negeri hendak mengekspor produksinya ke luar negeri, CMM-SW ini merupakan syarat yang sangat penting.
Untuk membangun suasana pengembangan piranti lunak yang kondusif, pemerintah turut bertanggung jawab untuk mendorong agar perusahaan-perusahaan memiliki perhatian penuh terhadap peningkatan kualitas. Dukungan pemerintah terhadap hal ini berupa diterapkannya CMM-SW sebagai bakuan dalam setiap proyek pengembangan piranti lunak oleh pemerintah. Hal ini akan mendorong para pengembang piranti lunak dalam negeri untuk menerapkan CMM-SW pada organisasinya untuk peningkatan kualitas. Karena peningkatan kualitas tersebut secara umum akan meningkatkan pembangunan nasional.
V. MASA DEPAN
CMM-SW sudah dikembangkan sejak lebih dari 10 tahun yang lalu. Untuk masa kini dan masa depan, sudah muncul lagi yang bernama CMMI (Capability Maturity Model® Integration). CMMI merupakan pengembangan lebih lanjut dari CMM-SW. Atau boleh dikatakan bahwa CMMI ini merupakan CMM-SW versi baru. Para pengembang piranti lunak sudah mulai disarankan untuk bermigrasi dari CMM-SW ke CMMI. Namun tidak ada salahnya jika kita pelajari lebih dahulu tentang CMM-SW untuk memahami dasarnya, setelah itu baru beranjak kepada CMMI.
VI. KESIMPULAN
Tantangan kedepan dalam bersaing adalah tantangan pemenuhan kualitas yang baik. Oleh karena itu penerapan CMM-SW pada sebuah pengembang piranti lunak dalam negeri merupakan suatu keniscayaan. Selain itu, CMM-SW juga dapat membimbing pengembang piranti lunak yang baru, agar dapat establish menjadi sebuah pengembang piranti lunak yang sebenar-benarnya. Tahapan-tahapan dalam CMM-SW sudah didesain untuk menuntun agar sebuah pengembang piranti lunak dapat tumbuh berkembang.
REFERENSI
[1] Mark C.Paulk et all, Capability Maturity ModelSM for Software, Version 1.1, (Februari), 1993, h. 5.
[2] Ibid, h. 9.
blocking situs with squid
August 27, 2008 at 5:06 am | Posted in 5584 | Leave a commentSecara umum ada dua (2) teknik menangkal situs porno, yaitu:
• Memasang filter di PC pengguna.
• Memasang filter di server yang tersambung ke Internet.Teknik yang pertama, memasang filter pada PC pengguna, biasanya dilakukan oleh para orang tua di PC di rumah agar anak-anak tidak melakukan surfing ke situs yang tidak di inginkan. Daftar lengkap filter maupun browser yang cocok untuk anak untuk aplikasi rumah tersebut dapat dilihat pada
http://www.yahooligans.com | parent’s guide | browser’s for kids.
http://www.yahooligans.com | parent’s guide | blocking and filtering.
Beberapa filter yang cukup terkenal seperti
Net Nanny, http://www.netnanny.com/
I Way Patrol, http://www.iwaypatrol.com/
Dll…
Tentunya teknik memfilter seperti ini hanya dapat dilakukan bagi orang tua di rumah kepada anak-nya yang belum begitu tahu Internet.
Bagi sekolah yang terdapat fasilitas internet, tentunya teknik-teknik di atas sulit di terapkan. Cara paling effisien untuk menangkal situs porno adalah dengan memasang filter pada server proxy yang digunakan di WARNET / di kantor yang digunakan mengakses Internet secara bersama-sama dari sebuah Local Area Network (LAN).
Teknik ke dua (2), memasang filter situs porno tidaklah sukar. Beberapa software komersial untuk melakukan filter konten, antara lain adalah:
http://www.cyberpatrol.com
http://www.websense.com
http://www.languard.com
http://www.n2h2.com
http://www.rulespace.com
http://www.surfcontrol.com
http://www.xdetect.com
Mungkin yang justru paling sukar adalah memperoleh daftar lengkap situs-situs yang perlu di blokir. Daftar tersebut diperlukan agar filter tahu situs mana saja yang perlu di blokir. Daftar ratusan ribu situs yang perlu di blokir dapat di ambil secara gratis, antara lain di:
http://www.squidguard.org/blacklist/
ftp://ftp.univ-tlse1.fr/pub/reseau/cache/squidguard_contrib/adult.tar.gz
ftp://ftp.univ-tlse1.fr/pub/reseau/cache/squidguard_contrib/publicite.tar.gz
bagi sekolah atu perkantoran, alternatif open source (Linux) mungkin menjadi menarik karena tidak membajak software. Pada Linux, salah satu software proxy yang paling populer adalah squid (http://www.squid-cache.org) yang biasanya dapat di install sekaligus bersamaan dengan instalasi Linux (baik Mandrake maupun RedHat).
Untuk melakukan proses filtering pada squid tidaklah sukar, kita cukup menambahkan beberapa kalimat pada file /etc/squid/squid.conf. Misalnya,
acl sex url_regex “/etc/squid/sex”
acl notsex url_regex “/etc/squid/notsex”
http_access allow notsex
http_access deny sex
buatlah file
/etc/squid/sex
/etc/squid/notsex
contoh isi /etc/squid/notsex:
.*.msexchange.*
.*.msexcel.*
.*freetown.*
.*geek-girls.*
.*scsext.*
contoh isi /etc/squid/sex:
.*.(praline|eroticworld|orion).de
.*.(theorgy|penthousemag|playboy|1stsex|lolita|sexpix|sexshop).*
www.indonona.com
www.exoticazza.com
www.dewasex.com
www.extrajos.com
www.bopekindo.com
www.sanggrahan.org
www.vicidi.com
www.17tahun.com
www.ceritaseru.org
www.ceritapanas.com
untuk memasukan daftar blacklist yang di peroleh dari squidguard dll, dapat dimasukan dengan mudah ke daftar di atas tampak di bawah ini adalah daftar Access Control List (ACL) di /etc/squid/squid.conf yang telah saya buat di server saya di rumah, yaitu:
acl sex url_regex “/etc/squid/sex”
acl notsex url_regex “/etc/squid/notsex”
acl aggressive url_regex “/etc/squid/blacklists/aggressive/urls”
acl drugs url_regex “/etc/squid/blacklists/drugs/urls”
acl porn url_regex “/etc/squid/blacklists/porn/urls”
acl ads url_regex “/etc/squid/blacklists/ads/urls”
acl audio-video url_regex “/etc/squid/blacklists/audio-video/urls”
acl gambling url_regex “/etc/squid/blacklists/gambling/urls”
acl warez url_regex “/etc/squid/blacklists/warez/urls”
acl adult url_regex “/etc/squid/adult/urls”
acl dom_adult dstdomain “/etc/squid/adult/domains”
acl dom_aggressive dstdomain “/etc/squid/blacklists/aggressive/domains”
acl dom_drugs dstdomain “/etc/squid/blacklists/drugs/domains”
acl dom_porn dstdomain “/etc/squid/blacklists/porn/domains”
acl dom_violence dstdomain “/etc/squid/blacklists/violence/domains”
acl dom_ads dstdomain “/etc/squid/blacklists/ads/domains”
acl dom_audio-video dstdomain “/etc/squid/blacklists/audio-video/domains”
acl dom_gambling dstdomain “/etc/squid/blacklists/gambling/domains”
acl dom_proxy dstdomain “/etc/squid/blacklists/proxy/domains”
acl dom_warez dstdomain “/etc/squid/blacklists/warez/domains”
http_access deny sex
http_access deny adult
http_access deny aggressive
http_access deny drugs
http_access deny porn
http_access deny ads
http_access deny audio-video
http_access deny gambling
http_access deny warez
http_access deny dom_adult
http_access deny dom_aggressive
http_access deny dom_drugs
http_access deny dom_porn
http_access deny dom_violence
http_access deny dom_ads
http_access deny dom_audio-video
http_access deny dom_gambling
http_access deny dom_proxy
http_access deny dom_warez
Blog at WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.



