Total Tayangan Halaman

Kamis, 19 Mei 2011

Software Development

PENGEMBANGAN PERANGKAT LUNAK

            Pengembangan perangkat lunak (Software development) merupakan salah satu dari tahap rancangan system rinci/detail dari Siklus Hidup Pengembangan Sistem (Software Development Life Cycle atau SDLC).
Tim proyek system mungkin mulai mencari paket perangkat lunak komersial yang sesuai atau mendukung spesifikasi rancangan system dan berjalan pada rancangan arsitektur komputernya. Paket perangkat lunak komersial secara luas tersedia  untuk aplikasi fungsi spesifik dan aplikasi bisnis yang telah ditetapkan secara baku.
Tetapi untuk rancangan sistem yang terkait dengan kebutuhan khusus atau unik (memenuhi keperluan pemakai dan spesifikasi rancangan sistem) maka paket perangkat lunak komersial mungkin tidak sesuai atau mendukung kebutuhan pemakai secara langsung. Perangkat lunak yang diharapkan untuk mendukung rancangan sistem tersebut harus dibuat sendiri dari awal (scratch)

Sumber Perangkat Lunak Aplikasi
  1. Perangkat Lunak Komersial dari Vendor
  2. Perangkat Lunak Pesanan (customized software) dikembangkan secara in-house atau oleh kontraktor pemrograman independent

A. Perangkat Lunak Komersial dari Vendor
            Paket (off-the-self) yang tersedia bisa diterapkan dalam berbagai kebutuhan bisnis. Beberapa paket bersifat generik dan multifungsional yang memungkinkan para pemakai memprogram sofware tersebut untuk kebutuhannya sendiri. Paket-paket tersebut mengotomisasi fungsi-fungsi bisnis dasar yang umumnya tidak terlalu bervariasi dari satu organisasi dengan organisasi lain. Contoh jenis paket adalah spreadsheet dan DBMS.

Keuntungan/kelebihan dari Perangkat Lunak Komersial :
1.   Implementasi yang cepat
      Software tersebut bersifat siap, teruji, dan terdokumentasi. Paket yang dibeli biasanya pengimplementasiannya jauh lebih cepat dari pada mengembangkan program yang sama secara in-house atau menyuruh kontraktor independen untuk mengembangkannya sehingga secara potensial membantu memecahkan backlog (penimbunan pekerjaan yang belum selesai).
2.   Penghematan Biaya
      Satu paket perangkat lunak komersial bisa dijual kepada banyak organisasi sehingga biaya pengembangan ditanggung oleh banyak pemakai, dan biaya total suatu paket akan lebih murah dari pada program pesanan yang sama.
3.   Estimasi biaya dan waktu
      Biaya atau harga paket komersial telah diketahui, dan tanggal pengimplementasian-nya mudah diestimasi. Sebaliknya program pesanan biasanya cenderung melampaui estimasi waktu dan biaya.
4.   Reliabilitas           
      Sebelum diterbitkan di pasaran umum, paket perangkat lunak komersial pasti telah diuji secara teliti. Melalui penggunaan yang ekstensif oleh sejumlah organisasi, segala kesalahan yang dijumpai telah dideteksi dan dikoreksi sehingga peluang kesalahannya lebih sedikit.

Kerugian/kelemahan :
1.   Kesesuaian Rancangan sistem yang tidak baik
      Paket software komersial dibuat untuk berbagai organisasi, dan tidak untuk organisasi tertentu maka paket ini mungkin mempunyai beberapa fungsi yang tidak diperlukan atau mungkin tidak mempunyai fungsi yang diperlukan sehingga paket tersebut harus dimodifikasi. Jika vendor tidak membuat kode sumber (source code) yang bisa digunakan untuk penyesuaian dan tidak menyediakan layanan penyesuaian maka rancangan sistem mungkin harus diubah agar sesuai  dengan paket tersebut. Jika hal ini terjadi sebaiknya mengembangkan program secara in-house agar programnya bisa memenuhi spesifikasi rancangan sistem yang tepat.
2.   Ketergantungan Vendor
      Jika organisasi memerlukan perubahan paketnya maka organisasi akan tergantung pada vendor dalam perolehan dukungannya, dan jika vendor telah tiada maka organisasi akan kesulitan mencari dukungannya.
3.   Biaya tidak langsung dari kerusakan SDLC
      Seringkali apa yang ingin dicapai, manajemen tidak melaksanakan SDLC menyeluruh atau mungkin melewati tahap SDLC, dan secara langsung menuju ke paket perangkat lunak komersial Strategi ini seringkali mengakibatkan paket perangkat lunak komersial tidak berjalan sesuai yang diharapkan dan masalah sistem serta organisasional yang terjadi sebelum implementasi paket tersebut tetap muncul sehingga menimbulkan kesulitan atau harus dibayar kemudian yaitu adanya peningkatan biaya implementasi, operasi, dan pemeliharaan.

B. Perangkat Lunak Pesanan (customized software)
            Jika system yang sedang dikembangkan tidak bisa didukung oleh paket software maka harus memesan dari perusahaan jasa/kontraktor independen atau membangun sendiri perangkat lunak (in-house) agar sesuai dengan rancangan sistemnya.

Siklus Hidup Pengembangan Perangkat Lunak (Software Development Life Cycle)
            Membangun perangkat lunak mengikuti tiga tahap SWDLC, yaitu :
  1. Rancangan (Design)
  2. Kode (Code)
  3. Uji (Test)

1.   Rancangan (Design)
      Bagian dari rancangan sistem terinci yang akan dikonversi ke program aplikasi yang dapat digunakan sebagai pedoman oleh programmer dalam menulis program. Alat (tools) rancangan program yang pokok adalah :
¨      Bagan Terstruktur (Structure Chart)                       ¨ Diagram Warnier/Orr (W/O)
¨      Bahasa Inggris Terstruktur (Structure English)          ¨ Diagram Jackson
¨      Tabel Keputusan (Decision Tabel)
¨      Pohon Keputusan (Decision Tree)
¨      Persamaan/mirip bahasa pemrograman (Pseudocode)
¨      Kamus Data (Data Dictionary)

2.   Kode (Code)
      Menulis statemen dalam bahasa pemrograman yang diasumsikan dibuat dan dijalankan oleh programmer dan tidak secara otomatis seperti yang dibangkitkan oleh paket CASE (Computer Aided Software Engineering). Beberapa paket CASE akan membangkitkan kode dari beberapa rancangan terinci sehingga menghapus adanya kebutuhan pengkode manusia (human coders).

3.   Uji (Test)
      Pengujian terhadap semua modul kode untuk mendeteksi dan menghapus kesalahan.

Mengorganisasi Proyek Pengembangan Perangkat Lumak

 Perancang dan analis sistem terlibat dalam tim pengembangan perangkat lunak dan harus mengetahui bagaimana program ini dikode dan bagaimana hasil akhirnya. Untuk itu diperlukan keterampilan pengorganisasian dalam tim proyek. Pengorganisasian proyek pengembangan perangkat lunak memerlukan komunikasi, integrasi dan koordinasi yang baik. Pengorganisasian tim pemrograman menggunakan pendekatan organisasional.

Pendekatan Organisasional
Tiga cara untuk mengorganisasi tim pemrograman, yaitu :
1.      Tim Pengembangan Program ( Program development team)
2.      Tim programmer kepala (chief programmer team)
3.      Tim pemrograman bersama (Egoless programming team)

1.   Tim Pengembangan Program ( Program development team)
            Tim pengembangan program dikelola oleh manajer tim atau seseorang yang terlibat dalam SDLC dari awal, dan didukung oleh perancang, pengkode, dan penguji (Gb.1.4 hal.14 Diktat kuliah) Jika perusahaan menggunakan aturan 40-20-40 (lihat gb.1.5 hal.15 Buku Diktat Pengantar Implementasi) maka orang-orang yang memiliki keterampilan lebih tinggi harus ditugaskan untuk perancangan dan pengujian. Bila rancangan lengkap, jelas dan akurat maka tugas pengkodean akan menjadi proses yang sederhana yang dapat dijalankan oleh setiap orang yang telah kenal dengan sintaks bahasa pemrograman. Konsep ini mendukung terciptanya teknologi CASE.

2.   Tim programmer kepala (chief programmer team)
            Tim ini dibentuk dari programmer kepala atau senior yang banyak pengalaman dan pengetahuan pemrograman. Programmer kepala dapat berkomunikasi secara efektif dengan analis dan perancang sistem, pemakai, dan berbagai teknisi.
Programmer kepala didukung oleh asisten utama yang bertugas sebagai komunikator dengan orang lain pada tim atau penyampai informasi dari gagasan programmer kepala. Kedua orang tersebut didukung oleh Programmer pendukung/ yunior bertugas membantu programmer kepala dan asisten utama untuk proyek besar yang tidak dapat ditangani sendiri. Para programmer pendukung biasanya mengkode modul-modul tingkat rendah. Tim ini juga didukung oleh pustakawan, administrator, editor, dan klerk program.

3.   Tim pemrograman bersama (Egoless programming team)
            Tim ini terbentuk dari seluruh rekan yang bersama-sama bertanggung jawab atas pengembangan perangkat lunak tanpa supervisi langsung/pimpinan.

Perbedaan pendekatan-pendekatan tersebut :
ª      Tim pengembangan program mengembangkan aturan 40-20-40 yaitu menekankan pada perancangan dan pengujian.
ª      Tim programmer kepala dan tim pemrograman bersama menekankan pada fungsi pengkodean.
Jumlah interface dan lintasan komunikasi dari pendekatan di atas:

§   Tim pengembangan program tersusun atas 2 perancang, 1 pengkode, 2 penguji. Interface dan lintasan komunikasi berada antara perancang dan pengkode, pengkode dan penguji, perancang dan penguji. Interface dan lintasan komunikasi ke manajer tim hanya memberikan rekapitulasi dan informasi kinerja karena manajer tidak terlibat langsung dalam pekerjaan yang sebenarnya. Jadi total interface dan lintasan komunikasi ada lima, dan satu interface manajemen.

§   Tim programmer  kepala terdiri dari lima programmer pendukung mempunyai lima interface dan lintasan komunikasi, dan lebih mungkin memenuhi deadline yang ketat.



§   Tim pemrograman bersama terdiri dari lima programmer. Jumlah interface dan lintasan komunikasi = n(n-1)/2= 5(5-1)/2=10

COMPUTING

   Komputer adalah alat yang dipakai untuk mengolah data menurut prosedur yang telah dirumuskan. Kata computer semula dipergunakan untuk menggambarkan orang yang perkerjaannya melakukan perhitungan aritmatika, dengan atau tanpa alat bantu, tetapi arti kata ini kemudian dipindahkan kepada mesin itu sendiri. Asal mulanya, pengolahan informasi hampir eksklusif berhubungan dengan masalah aritmatika, tetapi komputer modern dipakai untuk banyak tugas yang tidak berhubungan dengan matematika.
Kata computer secara umum pernah dipergunakan untuk mendefiniskan orang yang melakukan perhitungan aritmatika, dengan atau tanpa mesin pembantu. Menurut Barnhart Concise Dictionary of Etymology, kata tersebut digunakan dalam bahasa Inggris pada tahun 1646 sebagai kata untuk "orang yang menghitung" kemudian menjelang 1897 juga digunakan sebagai "alat hitung mekanis". Selama Perang Dunia II kata tersebut menunjuk kepada para pekerja wanita Amerika Serikat dan Inggris yang pekerjaannya menghitung jalan artileri perang dengan mesin hitung. 

Bagaimana komputer bekerja

Saat teknologi yang dipakai pada komputer digital sudah berganti secara dramatis sejak komputer pertama pada tahun 1940-an (lihat Sejarah perangkat keras menghitung untuk lebih banyak detail), komputer kebanyakan masih menggunakan arsitektur Von Neumann, yang diusulkan pada awal 1940-an oleh John von Neumann.
Arsitektur Von Neumann menggambarkan komputer dengan empat bagian utama: Unit Aritmatika dan Logis (ALU), unit kontrol, memori, dan alat masukan dan hasil (secara kolektif dinamakan I/O). Bagian ini dihubungkan oleh berkas kawat, "bus"

Memori

Di sistem ini, memori adalah urutan byte yang dinomori (seperti "sel" atau "lubang burung dara"), masing-masing berisi sepotong kecil informasi. Informasi ini mungkin menjadi perintah untuk mengatakan pada komputer apa yang harus dilakukan. Sel mungkin berisi data yang diperlukan komputer untuk melakukan suatu perintah. Setiap slot mungkin berisi salah satu, dan apa yang sekarang menjadi data mungkin saja kemudian menjadi perintah.

Pemrosesan

Unit Pengolah Pusat atau CPU berperanan untuk memproses arahan, melaksanakan pengiraan dan menguruskan laluan informasi menerusi system komputer. Unit atau peranti pemprosesan juga akan berkomunikasi dengan peranti input , output dan storan bagi melaksanakan arahan-arahan berkaitan.

Input dan hasil

I/O membolehkan komputer mendapatkan informasi dari dunia luar, dan menaruh hasil kerjanya di sana, dapat berbentuk fisik (hardcopy) atau non fisik (softcopy). Ada berbagai macam alat I/O, dari yang akrab keyboard, monitor dan disk drive, ke yang lebih tidak biasa seperti webcam (kamera web, printer, scanner, dan sebagainya.

Instruksi

Perintah yang dibicarakan di atas bukan perintah seperti bahasa manusiawi. Komputer hanya mempunyai dalam jumlah terbatas perintah sederhana yang dirumuskan dengan baik. Perintah biasa yang dipahami kebanyakan komputer ialah "menyalin isi sel 123, dan tempat tiruan di sel 456", "menambahkan isi sel 666 ke sel 042, dan tempat akibat di sel 013", dan "jika isi sel 999 adalah 0, perintah berikutnya anda di sel 345".

Arsitektur

Komputer kontemporer menaruh ALU dan unit kontrol ke dalam satu sirkuit terpadu yang dikenal sebagai Central Processing Unit atau CPU. Biasanya, memori komputer ditempatkan di atas beberapa sirkuit terpadu yang kecil dekat CPU. Alat yang menempati sebagian besar ruangan dalam komputer adalah ancilliary sistem (misalnya, untuk menyediakan tenaga listrik) atau alat I/O.

Program

Program komputer adalah daftar besar perintah untuk dilakukan oleh komputer, barangkali dengan data di dalam tabel. Banyak program komputer berisi jutaan perintah, dan banyak dari perintah itu dilakukan berulang kali. Sebuah komputer pribadi modern yang umum (pada tahun 2003) bisa melakukan sekitar 2-3 milyar perintah dalam sedetik. Komputer tidak mendapat kemampuan luar biasa mereka lewat kemampuan untuk melakukan perintah kompleks. Tetapi, mereka melakukan jutaan perintah sederhana yang diatur oleh orang pandai, "programmer." "Programmer Baik memperkembangkan set-set perintah untuk melakukan tugas biasa (misalnya, menggambar titik di layar) dan lalu membuat set-set perintah itu tersedia kepada programmer lain."
Sistem operasi
Sistem operasi ialah semacam gabungan dari potongan kode yang berguna. Ketika semacam kode komputer dapat dipakai secara bersama oleh beraneka-macam program komputer, setelah bertahun-tahun, programer akhirnya menmindahkannya ke dalam sistem operasi.
Sistem operasi, menentukan program yang mana dijalankan, kapan, dan alat yang mana (seperti memori atau I/O) yang mereka gunakan. Sistem operasi juga memberikan servis kepada program lain, seperti kode (driver) yang membolehkan programer untuk menulis program untuk suatu mesin tanpa perlu mengetahui detail dari semua alat elektronik yang terhubung.

Penggunaan komputer

Komputer digital pertama, memiliki ukuran yang besar dan membutuhkan biaya besar untuk pembuatannya. Komputer di masa itu umumnya digunakan untuk mengerjakan perhitungan ilmiah. ENIAC, komputer awal AS semula didesain untuk memperhitungkan tabel ilmu balistik untuk persenjataan (artileri), menghitung kerapatan penampang neutron untuk melihat jika bom hidrogen akan bekerja dengan semestinya (perhitungan ini, yang dilakukan pada Desember 1945 sampai Januari 1946 dan melibatkan dala dalam lebih dari satu juta kartu punch, memperlihatkan bentuk lalu di bawah pertimbangan akan gagal). CSIR Mk 1/CSIRAC, komputer pertama Australia, mengevaluasi pola curah hujan untuk tempat penampungan dari Snowy Mountains, suatu proyek pembangkitan Hidroelektrik besar. Selain itu juga dipakai dalam kriptanalisis, misalnya komputer elektronik digital yang pertama, Colossus, dibuat selama Perang Dunia II. Akan tetapi, visionaris awal juga menyangka bahwa pemrograman itu akan membolehkan main catur, memindahkan gambar dan penggunaan lain.
Orang-orang di pemerintah dan perusahaan besar juga memakai komputer untuk mengotomasikan banyak koleksi data dan mengerjakan tugas yang sebelumnya dikerjakan oleh manusia - misalnya, memelihara dan memperbarui rekening dan inventaris. Dalam bidang pendidikan, ilmuwan di berbagai bidang mulai memakai komputer untuk analisa mereka sendiri. Penurunan harga komputer membuat mereka dapat dipakai oleh organisasi yang lebih kecil. Bisnis, organisasi, dan pemerintah sering menggunakan amat banyak komputer kecil untuk menyelesaikan tugas bahwa dulunya dilakukan oleh komputer kerangka utama yang mahal dan besar. Kumpulan komputer yang lebih kecil di satu lokasi diserahkan ke sebagai perkebunan server.
Dengan penemuan mikroprosesor di 1970-an, menjadi mungkin menghasilkan komputer yang sangat murah. PC menjadi populer untuk banyak tugas, termasuk menyimpan buku, menulis dan mencetak dokumen. Perhitungan meramalkan dan lain berulang matematika dengan spreadsheet, berhubungan dengan e-pos dan, Internet. Namun, ketersediaan luas komputer dan mudah customization sudah melihat mereka dipakai untuk banyak maksud lain.
Sekaligus, komputer kecil, biasanya dengan mengatur memprogram, mulai menemukan cara mereka ke dalam alat lain seperti peralatan rumah, mobil, pesawat terbang, dan perlengkapan industri. Yang ini prosesor benam menguasai kelakuan alat seperti itu yang lebih mudah, membolehkan kelakuan kontrol yang lebih kompleks (untuk kejadian, perkembangan anti-kunci rem di mobil). Saat abad kedua puluh satu dimulai, kebanyakan alat listrik, kebanyakan bentuk angkutan bertenaga, dan kebanyakan batas produksi pabrik dikuasai di samping komputer. Kebanyakan insinyur meramalkan bahwa ini cenderung kepada akan terus.



Sumber : http://id.wikipedia.org/wiki/Komputer

Sabtu, 14 Mei 2011

Apai itu Web Semantik ?

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

Dan arti dari Web Semantik itu adalah

Pengertian Web Semantik (Semantic Web) adalah pengembangan dari World Wide Web di mana makna semantik dari informasi di web didefinisikan, sehingga memungkinkan mesin untuk memprosesnya. Web Semantik berasal dari World Wide Web Konsorsium dari Web sebagai media universal data, informasi, dan pertukaran pengetahuan.

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

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



Sumber : http://id.wikipedia.org/wiki/Web_semantik dan http://www.ewawan.com/pengertian-web-semantik-definisi-web-semantik.html