Minggu, 05 April 2009

Jenis-jenis lisensi software komputer

Jenis-jenis lisensi software komputer

Menurut Microsoft dalam “The Hallowen Document”, terdapat beberapa jenis lisensi yang dapat digunakan untuk program komputer. Beberapa jenis lisensi tersebut antara lain adalah:

Lisensi Commercial
adalah jenis lisensi yang biasa ditemui pada perangkat lunak seperti Microsoft dengan Windows dan Officenya, Lotus, Oracle dan lain sebagainya. Software yang diciptakan dengan lisensi ini memang dibuat untuk kepentingan komersial sehingga user yang ingin menggunakannya harus membeli atau mendapatkan izin penggunaan dari pemegang hak cipta.

Lisensi Trial Software
adalah jenis lisensi yang biasa ditemui pada software untuk keperluan demo dari sebuah software sebelum diluncurkan ke masyarakat atau biasanya sudah diluncurkan tetapi memiliki batas masa aktif. Lisensi ini mengizinkan pengguna untuk menggunakan, menyalin atau menggandakan software tersebut secara bebas. Namun karena bersifat demo, seringkali software dengan lisensi ini tidak memiliki fungsi dan fasilitas selengkap versi komersialnya. Dan biasanya dibatasi oleh masa aktif tertentu.

Lisensi Non Commercial Use
biasanya diperuntukkan untuk kalangan pendidikan atau yayasan tertentu dibidang sosial. Sifatnya yang tidak komersial, biasanya gratis tetapi dengan batasan penggunaan tertentu.

Lisensi Shareware
mengizinkan pemakainya untuk menggunakan, menyalin atau menggandakan tanpa harus meminta izin pemegang hak cipta. Berbeda dengan Trial Software, lisensi ini tidak dibatasi oleh batas waktu masa aktif dan memiliki fitur yang lengkap. Lisensi jenis ini biasanya ditemui pada software perusahaan kecil.

Lisensi Freeware
biasanya ditemui pada software yang bersifat mendukung, memberikan fasilitas tambahan atau memang free/gratis. Contoh yang bersifat mendukung antara lain adalah plug in tambahan yang biasanya menempel pada software induk seperti Eye Candy yang menempel pada Adobe Photoshop.

Lisensi Royalty-Free Binaries
serupa dengan lisensi freeware, hanya saja produk yang ditawarkan adalah library yang berfungsi melengkapi software yang sudah ada dan bukan merupakan suatu software yang berdiri sendiri.

Lisensi Open Source
membebaskan usernya untuk menjalankan, menggandakan, menyebarluaskan, mempelajari, mengubah, dan meningkatkan kinerja software. Berbagai jenis lisensi open source berkembang sesuai dengan kebutuhan, misalnya GNU/GPL, The FreeBSD, The MPL. Jenis-jenis software yang memakai lisensi ini misalnya Linux, sendmail, apache dan FreeBSD.

Senin, 23 Maret 2009

AGILE PROGRAMMING

AGILE PROGRAMMING

Kata Agile berarti bersifat cepat, ringan, bebas bergerak, waspada. Kata ini digunakan sebagai kata yang mengambarkan konsep model proses yang berbeda dari konsep model-model proses yang sudah ada. Konsep Agile Software Development dicetuskan oleh Kent Beck dan 16 rekannya dengan menyatakan bahwa Agile Software Development adalah cara membangun software dengan melakukannya dan membantu orang lain membangunnya sekaligus.

Dalam Agile Software Development interaksi dan personel lebih penting dari pada proses dan alat, software yang berfungsi lebih penting daripada dokumentasi yang lengkap, kolaborasi dengan klien lebih penting dari pada negosiasi kontrak, dan sikap tanggap terhadap perubahan lebih penting daripada mengikuti rencana. Namun demikian, sama seperti model proses yang lain, Agile Software Development memiliki kelebihan dan tidak cocok untuk semua jenis proyek, produk, orang dan situasi.

Agile Software Development memungkinkan model proses yang toleransi terhadap perubahan kebutuhan sehingga perubahan dapat cepat ditanggapi. Namun di sisi lain menyebabkan produktifitas menurun.

Prinsip Agile Software Development

Salah satu ciri dari Agile Software Development adalah tim yang tanggap terhadap perubahan. Mengapa? Karena perubahan adalah hal yang utama dalam pembangunan software: perubahan kebutuhan software, perubahan anggota tim, perubahan teknologi dll. Selain itu Agile Software
Development juga melihat pentingnya komunikasi antara anggota tim, antara orang-orang teknis dan businessmen, antara developer dan managernya. Ciri lain adalah klien menjadi bagian dari tim pembangun software. Ciri-ciri ini didukung oleh 12 prinsip yang ditetapkan oleh Agile Alliance.

Menurut Agile Alliance, 12 prinsip ini adalah bagi mereka yang ingin berhasil dalam penerapan Agile Software Development:
1. kepuasan klien adalah prioritas utama dengan menghasilkan produk lebih awal dan terus menerus
2. menerima perubahan kebutuhan, sekalipun diakhir pengembangan.
3. Penyerahan hasil/software dalam hitungan waktu dua minggu sampai dua bulan.
4. Bagian bisnis dan pembangun kerja sama tiap hari selama proyek berlangsung
5. Membangun proyek dilingkungan orang-orang yang bermotivasi tinggi yang bekerja dalam lingkungan yang mendukun dan yang dipercaya untuk dapat menyelesaikan proyek.
6. Komunikasi dengan berhadapan langsung adalah komunikasi yang efektif dan efisien
7. Software yang berfungsi adalah ukuran utama dari kemajuan proyek
8. dukungan yang stabil dari sponsor, pembangun, dan pengguna diperlukan untuk menjaga perkembangan yang berkesinambungan
9. perhatian kepada kehebatan teknis dan desain yang bagus meningkatkan sifat agile
10. kesederhanaan penting
11. arsitektur, kebutuhan dan desain yang bagus muncuk dari tim yang mengatur dirinya sendiri
12. secara periodik tim evaluasi diri dan mencari cara untuk lebih efektif dan segera melakukannya.
Kedua belas prinsip tersebut menjadi suatu dasar bagi model-model proses yang punya sifat agile. Dengan prinsip-prinsip tersebur Agile Process Model berusaha untuk menyiasati 3 asumsi penting tentang proyek software pada umumnya:
1. kebutuhan software sulit diprediksi dari awal dan selalu akan berubah. Selain itu, prioritas klien juga sering berubah seiring berjalannya proyek.
2. Desain dan pembangunan sering tumpang tindih. Sulit diperkirakan seberapa jauh desain yang diperlukan sebelum pembangunan.
3. Analisis, desain, pembangunan dan testing tidak dapat diperkirakan seperti yang diinginkan.
Agile Process Model

Berikut ini adalah model-model proses yang termasuk agile process model :
1. XP(Extreme Programming)
2. ADAPTIVE SOFTWARE DEVELOPMENT (ASD)
3. DYNAMIC SYSTEMS DEVELOPMENT METHOD
4. SCRUM
5. Agile Modelling

Selasa, 17 Maret 2009

Extreme Programming

Extreme Programming

Extreme Programming merupakan salah satu metodologi dalam rekayasa perangkat lunak dan juga merupakan satu dari beberapa agile software development methodologies yang berfokus pada coding sebagai aktivitas utama di semua tahap pada siklus pengembangan perangkat lunak (software development lifecycle). Metodologi ini mengedepankan proses pengembangan yang lebih responsive terhadap kebutuhan customer (”agile”) dibandingkan dengan metode-metode tradisional sambil membangun suatu software dengan kualitas yang lebih baik.

Extreme Programming muncul menawarkan sebuah disiplin baru dalam pengembangan software secara agile. Nilai dasar yang terkandung di dalam Extreme Programming adalah: Komunikasi (Communication), Kesederhanaan (Simplicity), Umpan balik (Feedback) Keberanian (Courage) dan menghormati (Respect).

Kata Kunci: Extreme Programming, agile, coding, komunikasi, kesederhanaan, umpan balik, keberanian, menghormati.

Tujuan utama Extreme Programming adalah menurunkan biaya dari adanya perubahan software.

Extreme Programming adalah suatu bentuk pembangunan perangkat lunak yang berbasis nilai kemudahan, komunikasi, umpan balik, dan keberanian. Bekerja dalam whole team bersama-sama dengan praktek yang mudah. Adapun inti penerapannya adalah:

  1. Planning Game
  2. Small, frequent releases
  3. System metaphors
  4. Simple design
  5. Testing (unit testing & TDD)
  6. Frequent refactoring
  7. Pair programming
  8. Collective code ownership
  9. Continuous integration
  10. Sustainable pace
  11. Whole team together
  12. Coding standard

Kelebihan Extreme Programming :

  • Menjalin komunikasi yang baik dengan client.
  • Meningkatkan komunikasi dan sifat saling menghargai antar developer.

Kekurangan Extreme Programming :

  • Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
  • Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga).

Senin, 09 Maret 2009

ALGORITMA SEMUT

Semut memberikan inspirasi terhadap bidang IT


Semut adalah salah satu binatang yang di ciptakan Allah.swt,
Seperti Gambar di samping mendeskripsikan bahwa semut adalah hewan yang memiliki sifat yang keras dalam menjalani hidupnya.
Walaupun semut diberi tubuh yang kecil tapi banyak sekali tingkah lakunya yang memberikan inspirasi bagi manusia dalam kehidupan sehari-hari khususnya berguna sekali dalam perkembangan IT di dunia seperti algoritma yang mengadopsi dari sifat koloni semut di kehidupan nyata.
Algoritma semut diperkenalkan oleh Moyson dan Manderick dan secara meluas dikembangkan oleh Marco Dorigo, merupakan teknik probabilistik untuk menyelesaikan masalah komputasi dengan menemukan jalur terbaik melalui grafik. Algoritma ini terinspirasi oleh perilaku semut dalam menemukan jalur dari koloninya menuju makanan.

Jadi, Kita dapat mempelajari sesuatu yang baik dari seekor binatang yang kecil tapi banyak sekali memberikan perilaku untuk kita tiru di kehidupan nyata, seperti Kita harus ulet dalam mencapai cita-cita dan setelah kita mendapatkan apa yang kita inginkan janganlah membuat kita menjadi sombong kepada orang lain seperti halnya yang dilakukan semut ketika ketemu temannya di jalan.

TEORI HEXAGONAL LEBAH

Teori Hexagonal Lebah digunakan juga pada suatu Software

Lebah adalah hewan yang lucu dan manis Seperti yang digambarkan di samping ini.

Bukan hanya manis di luar tapi memiliki perilaku yang baik untuk kita contoh. Rasulullah saw. bersabda, “Perumpamaan orang beriman itu bagaikan lebah. Ia makan yang bersih, mengeluarkan sesuatu yang bersih, hinggap di tempat yang bersih dan tidak merusak atau mematahkan (yang dihinggapinya).” (Ahmad, Al-Hakim, dan Al-Bazzar)

Selain itu lebah adalah arsitektur yang pandai seperti hexagonal/sarang lebah yang sangat unik bentuknya tetapi fungsinyapun sangat luar biasa dalam menampung madu yang mereka simpan.

Dengan itu memberi inspirasi terhadap manusia dalam membangun sesuatu dengan efektif dan kokoh, hexagonal lebah juga digunakan dalam bidang IT.

Nah apa hubungan nya sarang lebah dengan dunia IT?

Mari kita lihat perkembangan dunia IT yang berhubungan dengan bentuk heksagonal
salah satu bentuk perkembangan dunia IT degan bentuk hexagonal yaitu INASAT.

INASAT adalah Nano Hexagonal Satelit yang dibuat dan didesain sendiri oleh Indonesia untuk pertama kalinya. INASAT-1 merupakan satelit metodologi penginderaan untuk memotret cuaca buatan LAPAN.

Selain itu INASAT-1 adalah satelit Nano alias satelit yang menggunakan komponen elektronik berukuran kecil, dengan berat sekitar 10-15 kg. Satelit itu dirancang dengan misi untuk mengumpulkan data yang berhubungan erat dengan data lingkungan (berupa fluks magnet didefinisikan sebagai muatan ilmiah) maupun housekeeping yang digunakan untuk mempelajari dinamika gerak serta penampilan sistem satelit.
Adapun satelit itu dirancang bersama oleh PT Dirgantara Indonesia dan Lembaga Penerbangan dan Antariksa Nasional (LAPAN), khususnya Pusat Teknologi Elektronika (Pustek) Dirgantara. Berbekal nota kesepakatan antara LAPAN, Dirgantara Indonesia, serta dukungan dana dari Riset Unggulan Kemandirian Kedirgantaraan 2003, maka dimulailah rancangan satelit Nano dengan nama Inasat-1 (Indonesia Nano Satelit-1).
Dari segi dinamika gerak akan diketahui melalui pemasangan sensor gyrorate tiga sumbu, sehingga dalam perjalanannya akan diketahui bagaimana perilaku geraknya. Penelitian dinamika gerak ini menjadi hal yang menarik untuk satelit-satelit ukuran Nano yang terbang dengan ketinggian antara 600-800 km.
Skenario Operasi INASAT
Satelit yang lama pengembangannya sekitar sepuluh bulan, sejak Februari hingga November 2003, mempunyai dua skenario operasi.

Pertama, satelit akan mengirimkan datanya ketika berada di atas Indonesia.

Kedua, ketika di luar Indonesia, satelit hanya akan mengumpulkan data tanpa mengirimkannya data ke bumi.

Pengaturan skenario itu akan dilakukan secara otomatis melalui program On Board Computer (OBC) berdasarkan data bujur dan lintang yang dihitung dan diprediksi secara otomatis oleh (OBC) atau Flight Processor dari satelit.

Kestabilan gerak dari satelit ini didefinisikan sebagai stabilisasi pasif dengan basis pada pengendalian model grafity gradient, dengan batasan ini akan dibuat skenario gerak dengan mengambil mode gerak sistem dumbell serta mengusahakan CoG (Center of Grafity) berada pada tengah sisi vertikal dari bentuk satelit.
Saat pembuatan struktur satelit hexagonal INASAT-1

Dengan asumsi peluncur PSLV dengan segala konsekuensi sistem separasinya, diprediksi tidak terjadi gerak spin. Resiko yang diambil adalah kemungkinan adanya up down stability, sehingga masalah lay-out dari mass properties menjadi satu-satunya cara agar kestabilan ini dapat tercapai.

INASAT-1 merupakan proyek yang menghabiskan biaya Rp 725 juta. Satelit yang menggunakan saluran komunikasi VHF/UHF ini diperkirakan sanggup mengorbit selama 6 hingga 12 bulan.

Perangkat Lunak pada Dunia Otomotif

Perkembangan Dunia IT pada Bidang Otomotif

Perkembangan IT sangat pesat sekali, dan akan berpengaruh positif dalam bidang otomotif.
banyak sekali kita lihat otomotif sekarang menggunakan sistem seprti halnya komputer, ada yang memakai software dalam mempermudah dan mempercanggih otomotif itu sendiri.
seperti beberapa contoh ini :

1. Mood Training


Mobil yang memadukan konsep alam dan ramah lingkungan. Mobil ini juga dilengkapi dengan teknologi "Mood Training" yang terletak di setir yang akan memonitor psikologi si pengendara. Ini masih dalam bentuk konsep yang akan dikeluarkan oleh Toyota.

2. Mobil canggih memakai fitur GPS










Seperti gambar di atas ini, banyak sekali mobil mewah zaman ini memakai fitur GPS
yang berguna sebagai pemantau atau mengetahui keadaan jalan raya, sehingga kita dapat menghindari kemacetan maupun kecelakaan yang akan terjadi p
ada saat itu.

3. Kereta Api memakai sistem komputer












Selain mobil kereta api pun memakai sistem komputer sebagai yang mengatur pergerakan kereta itu sendiri.
Seperti gambar di atas itu adalah alat yang menjalankan kereta tersebut.

Dan selain itu banyak lagi otomotif yang memakai sistem komputer/software untuk membuat lebih mudah di gunakan.