Feeds:
Posts
Comments

Archive for January, 2007

Disiplin Ilmu Komputer

Banyak orang berpandangan bahwa orang yang sudah kuliah komputer pasti akan tahu segala hal yang berkaitan dengan (atau ahli) komputer. Pandangan tersebut tidak sepenuhnya benar, mengapa demikian? Walaupun secara umum orang yang telah kuliah di jurusan komputer memiliki kemampuan dasar terkait dengan komputer dan pemanfaatannya, ternyata masih ada lagi spesialisasi terkait dengan dunia komputer (computing).

Berdasarkan “Computing Curricula 2005” yang dikeluarkan oleh sebuah gugus tugas yang terdiri dari The Association of Computing Machinery (ACM), The Association of Information Systems (AIS) dan The Computer Society (IEEE-CS), membagi disiplin ilmu komputer menjadi computer engineering (CE), computer science (CS), information systems (IS), information technology (IT) dan software engineering (SE).

Latar Belakang Disiplin Computing

Sebelum 1990 an

Pada awalnya sekitar tahun 1960, hanya terdapat tiga disiplin ilmu terkait dengan computing, yaitu computer science, electrical engineering, dan information system. CS lebih kepada pengembangan software atau teori terkait dengan aspek computing. Sedangkan EE untuk urusan hardware. Adapun pemanfaatan hardware dan software untuk membantu menyelesaikan permasalahan bisnis merupakan domain dari IS.

Dengan semakin berkembangnya teknologi mikroprosesor berbasis chip (chip-based) yang dimulai pada pertengahan 1970-an, maka secara perlahan CE menjadi suatu ilmu dengan spesialiasi khusus, yang merupakan pemekaran dari EE.

Pasca 1990

Perkembangan jaman membentuk disiplin ilmu computing untuk semakin menyesuaikan dengan kebutuhannya. CE menjadi semakin solid dan memisahkan diri dari EE. Selanjutnya CS berkembang secara pesat dan memunculkan SE yang tadinya merupakan bagian dari CS menjadi sebuah disiplin tersendiri. IS sendiri berkembang pesat seiring dengan semakin kompleksnya masalah dalam mengatur informasi, serta tantangan efisiensi dan efektifitas organisasi dalam memanfaatkan informasi. Disiplin ilmu IT muncul pada era akhir 1990 an. Disiplin IT berkembang sejalan dengan digunakannya komputer sebagai tools di berbagai lapisan organisasi dan sistem jaringan komputer menjadi backbone informasi bagi organisasi. IT dibutuhkan untuk memastikan kelayakan infrastruktur komputer organisasi terkait dengan kemampuan sumber daya manusia dalam menggunakannya dan memecahkan permasalahan organisasi.

Deskripsi Disiplin Computing

Secara singkat Computing Curricula 2005 mendeskripsikan disiplin computing sebagai berikut :

Computer Engginering (CE) memfokuskan pada desain dan konstruksi komputer dan sistem berbasis komputer. Di dalamnya meliputi studi tentang hardware, software, komunikasi , dan interaksi antar bagian tersebut. Mahasiswa CE mempelajari desain dari sistem hardware digital yang meliputi sistem komunikasi, komputer, dan peralatan yang memuat komputer.

Computer Science (CS) mempelajari mulai dari teori-teori terkait dengan computing dan dasar algoritma sampai kepada pengembangan robotik, computer vision, intelligence system, bio-informatika, dan hal-hal lainnya. Ilmuwan komputer terbagi dalam tiga kategori yaitu desain dan implementasi software, merancang cara baru penggunaan komputer, serta mengembangkan cara untuk menyelesaikan permasalahan computing.

Information System (IS) mengintegrasikan solusi teknologi informasi dan proses bisnis untuk memenuhi kebutuhan informasi bisnis sehingga tujuan bisnis dapat tercapai secara efektif dan efisien. Spesialis IS memegang peranan dalam menentukan kebutuhan sistem informasi bagi organisasi.

Information Technology (IT) berperan dalam menentukan bagaimana sebuah sistem di sebuah institusi sudah tepat keberadaannya, berfungsi sesuai harapan, mudah dalam pengaturan operasional, serta aman. Spesialis IT mempunyai tugas untuk memelihara infrastruktur teknologi informasi sebuah organisasi dan orang-orang yang menggunakannya. Termasuk di dalamnya memilih produk hardware dan software yang sesuai bagi organisasi, serta mengintegrasikan produk tersebut pada kebutuhan organisasi.

Software Engineering (SE) merupakan disiplin yang merancang dan memelihara sistem software secara handal, efisien, efektif, serta mudah dikembangkan dan dapat memenuhi kebutuhan dari pengguna.

Dengan demikian dari Computing Curricula 2005 kita mendapatkan gambaran yang jelas mengenai displin ilmu computing, tentang karakteristik dan kekhususan masing-masing ilmu computing yang berkembang saat ini.

Read Full Post »

 

Selama satu pekan yang lalu saya dan beberapa rekan mengikuti training UML dengan menggunakan Rational Rose. Sebenarnya saya sendiri sudah pernah mendapatkan materi UML dengan Rational Rose semasa kuliah dulu, namun karena ini merupakan paket training untuk satu tim pengembang sistem yang akan kita buat, maka saya juga diikutsertakan.  Belajar lagi UML”, begitulah kira-kira apa yang saya lakukan kemarin itu. Belajar memang tidak mengenal batas, kita dituntut untuk belajar sepanjang hayat, walaupun sesuatu itu pernah kita pelajari, paling tidak kita bisa lebih memperdalam pemahaman dan kemampuan kita terhadap suatu hal tersebut.

UML (Unified Modeling Language) merupakan sebuah bahasa standar yang memodelkan sebuah sistem. Tujuan dari pemodelan sistem ini adalah memodelkan proses bisnis yang terjadi pada rancangan sistem yang dibuat dan mendokumentasikan sistem perangkat lunak yang akan dibuat, sehingga akan memudahkan dalam mengembangkan sebuah rancangan sistem. Dengan menggunakan UML kita dapat membuat model berbagai jenis aplikasi, yang nantinya dapat berjalan pada perangkat keras, sistem operasi, dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun.

Notasi UML diturunkan dari tiga notasi yang telah ada sebelumnya : Grady Booch OOD (Oject-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivan Jacobson OOSE (Object Oriented Software Engineering).

Sebelum munculnya UML, masing-masing metodologi pemodelan berorientasi objek membawa notasi sendiri-sendiri, sehingga menimbulkan masalah ketika digunakan dalam bekerja sama dengan group lain yang menggunakan metodologi yang berbeda. Hingga akhirnya Booch, Rumbaugh, dan Jacobson  yang merupakan tiga tokoh yang metodologinya paling banyak digunakan, mempelopori usaha untuk penyatuan metodologi pendesainan berorientasi objek. Pada tahun 1996 pengembangan tersebut dikoordinasikan oleh Object Management Group (OMG) . Selanjutnya UML menjadi standar bahasa pemodelan untuk aplikasi berorientasi objek.

Adapun Rational Rose merupakan tool yang digunakan untuk mendesain perangkat lunak melalui pendekatan UML. Rational Rose menyediakan beberapa fungsi dalam membuat sebuah aplikasi perangkat lunak, mulai dari desain proses, membuat use case diagram, class diagram, activity diagram, sequence diagram, component diagram, deployment diagram, sampai pada generate code dan reverse engineering. Hal ini akan memudahkan perancang dan pengembang sistem dalam merancang dan mengembangkan sistemnya, karena selain terdokumentasi dengan baik, disamping itu juga dapat menghasilkan kerangka code yang siap dikembangkan secara lebih detail nantinya.

Berikut ini merupakan tips pengembangan piranti lunak dengan menggunakan UML:

  1. Buatlah daftar business process dari level tertinggi untuk mendefinisikan aktivitas dan proses yang mungkin muncul.
  2. 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.
  3. Buatlah deployment diagram secara kasar untuk mendefinisikan arsitektur fisik sistem.
  4. Definisikan requirement lain (non-fungsional, security dan sebagainya) yang juga harus disediakan oleh sistem.
  5. Berdasarkan use case diagram , mulailah membuat activity diagram .
  6. 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.
  7. Buarlah rancangan user interface model yang menyediakan antarmuka bagi pengguna untuk menjalankan skenario use case .
  8. Berdasarkan model-model yang sudah ada, buatlah class diagram . Setiap package atau domain d ipecah 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.
  9. 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.
  10. Perhalus deployment diagram yang sudah dibuat. Detilkan kemampuan dan requirement piranti lunak, sistem operasi, jaringan, dan sebagainya. Petakan komponen ke dalam node.
  11. 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.

12. Lakukan uji modul dan uji integrasi serta perbaiki model berserta code nya. Model harus selalu sesuai dengan code yang aktual.

13. Piranti lunak siap dirilis.

 

Read Full Post »

Kaysa Izzatunnisa

Kaysa baru lahirAkhirnya setelah melewati jadwal lahir yang diperkirakan pada 28 Desember 2006, pada hari Kamis tanggal 4 Januari 2007 pukul 04.29 WIB alhamdulillah telah lahir putri saya dengan selamat. Lahir dengan berat badan 4000 gram, panjang badan 52 cm, lingkar kepala 36 cm di rumah sakit Haji Jakarta.

Proses kelahiran yang cukup panjang, dimulai sejak masuk rumah sakit tanggal 1 Januari 2007 sore untuk check up, dilanjutkan dengan diinduksinya istri karena kandungan telah melewati masanya (lewat dari 40 minggu) sementara belum terasa mules. Namun karena usaha lahir normal selama 2 x 24 jam gagal, akhirnya pada tanggal 4 Januari pagi itulah dilakukan operasi caesar. Alhamdulillah semua berjalan lancar, dan tepat ketika adzan shubuh si kecil lahir.

Kaysa Izzatunnisa, begitulah kami berdua (saya & istri) memberi nama bagi putri kami yang baru lahir, teriring doa semoga diberikan keelokan dan kecerdasan yang merupakan kemuliaan bagi wanita serta menjadi anak yang sholihah. Amien….

Read Full Post »