Jumat, 24 April 2009

Lisensi

Jenis-jenis Lisensi 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.


jenis tipe lisensi yang dipakai oleh kebanyakan software yang beredar saat ini yaitu: trialware, shareware, demo, dan freeware.

Freeware sesuai dengan namanya adalah software yang benar-benar gratis atau bebas untuk digunakan, developer software tidak pernah meminta Anda untuk membayar apapun kepadanya. Dalam beberapa kasus kemampuan freeware malah lebih bagus ketimbang software berbayar. Beberapa freeware memberikan persyaratan bahwa software tersebut hanya boleh digunakan untuk penggunaan pribadi (personal) bukan untuk digunakan untuk keperluan komersil.

Trialware adalah software yang dapat Anda gunakan tapi ada batasan waktu atau jumlah pengguna, atau ada trialware yang menonaktifkan beberapa fungsi dari software tersebut. Sebagai contoh, Anda diperbolehkan menggunakan trialware selama 30 hari, atau hanya dapat menggunakannya sebanyak 15 kali. Setelah periode masa percobaan (trial) sudah habis jika Anda ingin melanjutkan penggunaan software tersebut Anda harus membayarnya.

Shareware sama seperti halnya trialware, bebas digunakan untuk sementara waktu. Tidak seperti trialware, semua fungsi software dapat digunakan sebelum batasan waktu coba-coba selesai. Setelah masa percobaan selesai Anda dapat mempertimbangkan untuk membelinya jika ingin menggunakannya lagi.

Yang terakhir Demo adalah program yang digunakan hanya sebagai demonstrasi tentang fitur atau versi software dengan fitur yang terbatas dan tidak digunakan untuk bekerja. Demo hanya digunakan untuk ‘pamer’ kepada Anda sebelum membeli versi penuh dari software tersebut.

sumber dikutip dari http://keyboardsound.wordpress.com/2008/01/25/jenis-jenis-lisensi-software-komputer/



http://dhinata.com/mengenal-jenis-jenis-lisensi-software.html

Selasa, 24 Maret 2009

EXTREME PROGRAMMING

Abstrak

Extreme Programming (XP) 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.

Latar Belakang XP

Requirement yang berubah dengan cepat menuntut lifecycles yang lebih pendek, dan tidak selaras dengan metoda pengembangan tradisional, yang pada umumnya memerlukan disain luas di awal dan mengakibatkan perubahan desain yang terjadi kemudian memerlukan biaya yang lebih tinggi atau kehilangan milestones.

Berdasarkan hal ini kemudian dilahirkan konsep XP yang digagas oleh Kent Beck dan Ward Cunningham pada Maret 1996. Metode XP merupakan yang terpopuler dari beberapa metodologi pengembangan software yang dipakai untuk mengimplementasikan proyek pengembangan perangkat lunak.

Tujuan XP

Tujuan utama XP adalah menurunkan biaya dari adanya perubahan software. Dalam metodologi pengembangan sistem tradisional, kebutuhan sistem ditentukan pada tahap awal pengembangan proyek dan bersifat fixed. Hal ini berarti biaya terhadap adanya perubahan kebutuhan yang terjadi pada tahap selanjutnya akan menjadi mahal. XP diarahkan untuk menurunkan biaya dari adanya perubahan dengan memperkenalkan nilai-nilai basis dasar, prinsip dan praktis. Dengan menerapkan XP, pengembangan suatu sistem haruslah lebih fleksibel terhadap perubahan.

Kunci Utama XP

Menurut penggagas dari metode XP, Kent Beck mendefinisikan empat kunci utama (inti) dari XP yaitu:

1. Communication (Komunikasi)

Tugas utama developer dalam membangun suatu sistem perangkat lunak adalah mengkomunikasikan kebutuhan sistem kepada pengembang perangkat lunak. Komunikasi dalam XP dibangun dengan melakukan pemrograman berpasangan (pair programming). Developer didampingi oleh pihak klien dalam melakukan coding dan unit testing sehingga klien bisa terlibat langsung dalam pemrograman sambil berkomunikasi dengan developer. Tujuannya untuk memberikan pandangan pengembang sesuai dengan pandangan pengguna sistem.

2. Simplicity (Kesederhanaan)

XP mencoba untuk mencari solusi paling sederhana dan praktis. Perbedaan metode ini dengan metodologi pengembangan sistem konvensional lainnya terletak pada proses desain dan coding yang terfokus pada kebutuhan saat ini daripada kebutuhan besok, seminggu lagi atau sebulan lagi. Lebih baik melakukan hal yang sederhana dan mengembangkannya besok jika diperlukan.

3. Feedback (Masukan)

Hal ini diperlukan untuk mengetahui kemajuan dari proses dan kualitas dari aplikasi yang dibangun. Informasi ini harus dikumpulkan setiap interval waktu yang singkat secara konsisten. Ini dimaksudkan agar hal-hal yang menjadi masalah dalam proses pengembangan dapat diketahui sedini mungkin. Setiap feed back ditanggapi dengan melakukan tes, unit test atau system integration dan jangan menunda karena biaya akan membengkak (uang, tenaga, waktu).

4. Courage (Keberanian)

Berani mencoba ide baru. Berani mengerjakan kembali dan setiap kali kesalahan ditemukan, langsung diperbaiki. Contoh dari courage adalah komitmen untuk selalu melakukan design dan coding untuk saat ini dan bukan untuk esok. Ketika ada kode yang terlalu rumit, sulit dibaca dan dipahami, tidak sesuai dengan kemauan pelanggan, dll maka seharusnya kode program seperti itu di refactor (kalau perlu dibangun ulang). Hal ini menjadikan pengembang merasa nyaman dengan refactoring program ketika diperlukan.

5. Respect (Menghormati)

Pentingnya respect terhadap anggota team lainnya karena dengan siklus pendek dan integrasi continue, programmer tidak boleh melakukan perubahan yang dapat merusak kompilasi dan menyebabkan keberadaan unit uji gagal atau memperlambat kerja team. Respects tiap individu akan selalu menghasilkan kualitas tinggi.

Penerapan XP

Beberapa hal yang harus dipertimbangkan sebelum seseorang masuk dalam dunia XP adalah sebagai berikut:

1. User harus memahami konteks bisnis yang akan dikembangkan sistemnya, sehingga developer dapat menangkap sistem secara aplikatif dan dapat mengusulkan teknologi apa yang dapat dikembangkan dalam sistem barunya.

2. Akan lebih efektif apabila developer pernah menangani proyek pengembangan sistem yang sejenis sehingga dapat memberikan usulan model sistem baru, di samping alasan bahwa developer telah memiliki template aplikasi sistem tersebut untuk dijadikan prototype sistem baru. Hal ini akan berimplikasi kepada kemudahan dalam konstruksi sistem karena dikembangkan berdasarkan template yang sudah ada.

3. Extreme programming menuntut komunikasi antar developer dan user secara intensif dan komunikasi internal antar developer secara komprehensif, sehingga akan lebih representatif apabila tahap pengembangan sistem dilakukan di lokal yang mendukung proses komunikasi tersebut.

XP 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 standards














Kesimpulan

Keuntungan XP:

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

Kerugian XP:

* 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).

dikutip dari :http://en.wikipedia.org/wiki/Extreme_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.

Faktor Manusia pada Agile Process Model

Kunci faktor manusia pada model ini adalah proses didasari pada kebutuhan orang dan tim bukan sebaliknya, Untuk dapat sukses menerapkan model proses ini, pada faktor manusia ada beberapa kunci penting:

  1. kompetensi: ketrampilan dalam membangun dan pengetahuan tentang proses membangun
  2. fokus: memiliki fokus yang sama sekalipun peran dalam tim berbeda
  3. kolaborasi : kerja sama dengan klien, anggota tim dan manajer.
  4. kemampuan ambil keputusan : tim pembangun memiliki otonomi dalam pengambilan keputusan terkait teknis dan proyek
  5. kemampuan fuzzy problem-solving: mampu menyelesaikan memilah masalah yang penting untuk dipecahkan segera atau nanti.
  6. saling percaya dan hormat: kekompakan tim yang didukung oleh rasa percaya dan saling menghargai satu sama lain.
  7. manajemen diri: tim mengatur diri untuk selesaikan proyek, mengatur proses untuk disesuaikan dengan lingkungannya, tim menjadwal dirinya untuk menyerahkan hasil.

Agile Modeling

Ø banyak situasi pembangun software harus membangun sistem bisnis yang besar dan penting. Jangkauan dan kompleksitas sistem harus dimodelkan sehingga dapat dimengerti, masalah dapat dibagi menjadi lebih kecil dan kualitas dapat dijaga pada tiap langkah pembangunan software.

Ø AM adalah suatu metodologi yang praktis untuk dokumentasi dan pemodelan system software.

Ø AM adalah kumpulan nilai-nilai, prinsip dan praktek-praktek untuk memodelkan software agar dapat diaplikasian pada software development proyek secara efektif.

Ø prinsip dalam AM:

• Tujuan model: tentukan tujuan sebelum membuat model

Multiple model: tiap model mewakili aspek yang berbeda dari model lain.

Travel light: simpan model-model yang bersifat jangka panjang saja

• Isi lebih penting: modeling menyajikan informasi kepada audiens yang tepat.

• memahami model dan alat yang yang digunakan untuk membuat software

• adaptasi secara lokal.

Dikutip dari: http://lecturer.ukdw.ac.id/othie/agile_model.pdf

Selasa, 10 Maret 2009

-Google berdiri pada tahun 1998,website ini didirikan oleh 2 orang yang bersahabat dari Stanfor University. Kelebihan google adalah mudah digunakan,layout yang ringkas,cepat,dan dapat memperkirakan apa yang user cari. Selain itu google juga memiliki fasilitas pencarian menggunakan bahasa indonesia. Google merupakan Search Engine yang mempunyai kemampuan untuk melakukan pencarian super cepat hal ini disebabkan google menggunakan perangkat keras dan perangkat lunak.
-Google menjadi bisnis besar
Bisnis baru google tandem dengan double klik berpotensi untuk menggeser posisi yahoo yang juga tercatat sebagai pemain dibisnis advertaising.
Google memiliki 2 program advertaising efektik untuk promosi yaitu google adwords dan google adserse.dengan masuk ke bisnis advertaising,di versifikasi layanan google juga bertambah.Tetapi jika google dapat menyediakan layanan yang lebih mudah untuk diakses dapat diprediksi mereka akan memimpin bisnis besar.

Senin, 09 Maret 2009

Algoritma Semut

Bagaimana Semut berkomunikasi????


Semut dapat berkomunikasi dengan teman – temannya tidak secara langsung melainkan berkomunikasi dengan suatu zat kimia yang disebut dengan feromon. Feromon adalah zat atau yang biasanya disebut parfum serangga dimana dengan adanya zat ini maka setiap semut dapat mengenali posisi temannya sehingga semua semut dapat berkumpul kembali dengan koloninya. Setiap semut ketika melewati suatu jalur tertentu akan meninggalkan jejak feromon (Pheromone Trail). Jejak ini kemudian akan diikuti oleh semut – semut yang lainnya. Pada awalnya semut berpencar dari sarang mereka menuju ke sumber makanan. Semut berikutnya yang melalui jalur tersebut dapat mengidentifikasi feromon yang diletakkan oleh semut sebelumnya, memutuskan dengan probabilitas yang tinggi untuk mengikutinya, dan menguatkan jalur yang dipilihnya itu dengan feromon miliknya. Perilaku inilah yang menyebabkan semut dapat menemukan jalur terpendek. Dengan kata lain semakin besar feromon yang terdapat pada jalur itu maka jumlah semut yang melewatinya juga akan semakin besar bahkan kemungkinan semua semut akan melalui jalur tersebut.

Dari gambar ini dapat terlihat bahwa pada awalnya semut berjalan pada jalur yang sama dengan asumsi semua semut berjalan dengan kecepatan yang sama. Kita anggap A adalah sarang dan E adalah sumber makanan. Kemudian perhatikan gambar (b), pada gambar terdapat rintangan yang membuat jalur terpisah menjadi dua. Semut akan berpencar, beberapa akan ke jalan H dan yang lain akan memilih jalan C. Semut yang berjalan dari jalur C akan lebih cepat sampai ke sumber makanan karena jalur C lebih pendek. Hal ini juga mempengaruhi jalur pulangnya, maka dapat dipastikan semut yang berjalan pada jalur C akan tiba di sarang lebih dulu daripada yang melewati jalur H. Hal ini akan diikuti oleh semut yang lainnya berdasarkan dengan jejak feromon tadi. Berdasarkan dari semut yang duluan sampai maka tingkat semut yang melewati jalur C akan lebih besar karena tingkat feromon yang ada pada jalur C lebih besar dan ini akan mempengaruhi semut yang lainnya untuk mengikuti jalur tersebut sehingga semut akan memilih satu jalur yaitu jalur yang terpendek.






















Komputer Dan Semut

Berdasarkan dari perilaku semut inilah terciptalah algoritma koloni semut (ant colony system). Ant Colony System (ACS) merupakan salah satu algoritma yang menerapkan prinsip dari swarm intelligence (kecerdasan komunitas) ,yaitu algoritma yang didasarkan atau terinspirasi dari perilaku sosial serangga dan perilaku sosial binatang lainnya dimana dalam suatu komunitas terdapat beberapa agen yang saling berinteraksi, bernegoisasi, dan berkoordinasi satu sama lain dalam mengerjakan suatu pekerjaan bersama. Konsep kerjasama ini yang dikenal dengan multi agent system (MAS). Untuk konsep MAS lebih detil dapat didownload dari e-book ini
Algoritma ini dikemukakan pertama kali oleh Marco Dorigo dan Luca M. Gambardella pada tahun 1997. Ant System telah banyak diterapkan dalam berbagai kajian permasalahan optimisasi kombinatorial seperti traveling salesman problem (TSP), quadratic assignment problem, jobscheduling, vehicle routing, graph coloring, dan network routing[Dorigo, Di Caro, dan Gambardella]. Jadi semut yang ada pada komputer adalah agent – agent cerdas.

http://id.wikipedia.org/wiki/Algoritma_Semut

INTERKOLONI

Internet ke Interkoloni - wawan_evilz - 13 May 2008 04:16

Pemrogram komputer menggunakan lebah madu sebagai rujukan

Naiknya tingkat kesibukan berbelanja melalui Internet menimbulkan sejumlah permasalahan besar. Perilaku pelanggan ketika berbelanja bisa jadi sama sekali lain dari perkiraan umumnya, dan mungkin saja berbeda di antara sesama pelanggan. Hal ini menyebabkan lalu lintas internet menjadi tidak teratur dan akhirnya berujung pada penumpukan tiba-tiba pada server Internet yang menangani belanja on-line. (Server: sebuah komputer dalam sebuah jaringan yang menyimpan program-program aplikasi dan file-file data yang dapat dikunjungi oleh komputer-komputer lainnya di dalam jaringan tersebut.) Para pakar dari Universitas Oxford dan the Georgia Institute of Technology [Institut Teknologi Georgia] melakukan kerjasama dalam rangka mengembangkan sejumlah teknologi yang dapat mengatasi penumpukan semacam itu. Para peneliti ini mengambil model atau contoh-acuan berupa suatu masyarakat yang lalu lintasnya telah berhasil diatur dengan sangat baik. Contoh-acuan ini adalah perilaku koloni atau masyarakat lebah madu yang tengah ditiru dalam sejumlah teknologi yang ditujukan untuk meringankan beban pada server-server pada saat terjadi kepadatan lalu lintas yang luar biasa.

[Image: intercolony2.jpg]

Lonjakan jumlah pelanggan belanja atau perdagangan saham secara tiba-tiba, naik turunnya kegiatan lelang melalui internet memunculkan kesulitan besar pada perusahaan-perusahaan pengelola server. Untuk meningkatkan keuntungan mereka sebesar-besarnya, perusahaan-perusahaan ini perlu memeriksa komputer-komputer mereka setiap saat untuk menjaga agar komputer tersebut tetap mampu menyesuaikan diri terhadap tingkat kebutuhan yang berubah-ubah melalui campur tangan secara cepat. Namun pada kenyataannya, hanya satu aplikasi web saja yang dapat dimuat ke dalam komputer pada satu waktu, dan hal ini merupakan sebuah kendala. Perpindahan antar-aplikasi menyebabkan penghentian sementara selama 5-7 menit, waktu ini diperlukan untuk konfigurasi ulang pada komputer, dan ini berarti kerugian.

[Image: intercolony1.jpg]

Permasalahan serupa dijumpai dalam tugas-tugas yang dijalankan oleh lebah madu. Sumber-sumber bunga memiliki keragaman dalam hal mutu. Oleh karena itu, seseorang mungkin berpikiran bahwa keputusan tentang berapa banyak lebah yang harus dikirim ke setiap tempat tersebut dan berapa lama mereka sebaiknya berada di sana merupakan sebuah permasalahan dalam sebuah koloni yang ingin mencapai laju pengumpulan madu bunga (nektar) setinggi-tingginya. Akan tetapi, berkat sistem kerja mereka yang sangat baik, lebah mampu memecahkan permasalahan ini tanpa mengalami kesulitan.

Sekitar seperlima dari lebah-lebah di dalam sebuah sarang bertugas sebagai pengumpul-nektar. Tugas mereka adalah berkelana di antara bunga-bunga dan mengumpulkan nektar sebanyak mungkin. Ketika kembali ke sarang, mereka menyerahkan muatan nektar mereka kepada lebah-lebah penyimpan-makanan yang menjaga sarang dan menyimpan bahan makanan. Lebah-lebah ini kemudian menyimpan nektar di dalam petak-petak madu. Seekor lebah pengumpul-nektar juga dibantu oleh rekan-rekannya dalam menentukan seberapa bagus mutu sumber bunganya. Lebah pengumpul-nektar tersebut menunggu dan mengamati seberapa lama waktu yang dibutuhkan untuk bertemu dengan seekor lebah penyimpan-makanan yang siap menerima muatan. Jika waktu tunggu ini berlangsung lama, maka sang lebah pengumpul-nektar memahami hal ini sebagai isyarat bahwa sumber bunganya bukan dari mutu yang terbaik, dan bahwa lebah-lebah yang lain kebanyakan telah melakukan pencarian yang berhasil. Sebaliknya, jika ia disambut oleh sejumlah besar lebah-lebah penyimpan-makanan untuk mengambil muatannya, maka semakin besarlah kemungkinan bahwa muatan nektar tersebut bermutu baik.

Lebah yang mendapatkan informasi ini memutuskan apakah sumber bunganya senilai dengan kerja keras yang akan dilakukan berikutnya. Jika ya, maka ia melakukan tarian-getarnya yang terkenal agar dipahami maksudnya oleh lebah-lebah lain. Lama tarian ini memperlihatkan seberapa besar keuntungan yang mungkin dapat diperoleh dari sumber bunga ini. [penjelasan lebih lanjut tentang tarian lebah, silakan baca: Links berikut ini tidak bisa dilihat sebelum anda Login atau Register

Sunil Nakrani dari Universitas Oxford dan Craig Tovey dari the Georgia Institute of Technology menerapkan cara pemecahan masalah oleh lebah madu tersebut pada permasalahan ada pada Internet host. Setiap server mengambil peran sebagai lebah pengumpul-nektar, dan setiap permintaan pelanggan bertindak sebagai sumber bunga. Dengan cara ini, doktor Nakrani dan Tovey mengembangkan sebuah algoritma "lebah madu" untuk server Internet "sarang." (Algoritma: Serangkaian tahapan-tahapan logis untuk memecahkan suatu permasalahan yang dapat diterjemahkan ke dalam sebuah program komputer.)

Sebuah host menjalankan tugas, sebagaimana yang dilakukan lebah dengan tarian-getarnya, dengan membuat sebuah iklan dan mengirimkannya ke sejumlah server lainnya di dalam sarang. Lama masa penayangan iklan ini mencerminkan manfaat dan tingkat keuntungan yang dapat diraup melalui para pelanggan server-server tersebut. Server lain membaca iklan ini dan berperilaku seperti lebah-lebah pekerja yang mengikuti petunjuk yang yang disampaikan melalui tarian-getar tersebut. Setelah mempertimbangkan dan mengkaji iklan ini beserta pengalaman mereka sendiri, mereka memutuskan perlu tidaknya untuk beralih dari para pelanggan yang sedang mereka layani ke para pelanggan yang sedang dilayani oleh server yang mengirim iklan tersebut.

Doktor Nakrani dan Tovey melakukan uji banding antara algoritma lebah madu yang mereka kembangkan dengan apa yang disebut sebagai algoritma "rakus" yang saat ini dipakai oleh kebanyakan penyedia Internet host. Algoritma rakus terlihat ketinggalan zaman. Algoritma rakus membagi waktu menjadi sejumlah penggalan waktu yang tetap dan menempatkan server-server untuk melayani para pelanggan untuk satu penggalan waktu berdasarkan pengaturan yang dianggap paling menguntungkan pada penggalan waktu sebelumnya. Para peneliti mengungkap bahwa di saat-saat ketika lalu lintas sangat berubah-ubah, algoritma lebah madu memperlihatkan kinerja 20% lebih baik daripada algoritma rakus. Sebentar lagi mungkin server-server yang bekerja menggunakan algoritma lebah madu akan semakin banyak di masa mendatang, di mana Internet akan lebih tepat disebut sebagai "Interkoloni."

Dengan pemisalan yang sangat tepat, penelitian yang dilakukan oleh para ilmuwan ini menunjukkan betapa berbagai pemecahan masalah yang masuk akal terdapat di alam. Permasalahan yang dihadapi server-server Internet sangatlah mirip dengan permasalahan yang dipecahkan oleh koloni lebah madu. Sungguh, keberhasilan yang dicapai penelitian tersebut, yang dilakukan dengan menerapkan contoh-rujukan koloni lebah madu, menjadi isyarat akan hal ini. Akan tetapi, dari manakah asal usul rumusan pemecahan masalah yang diberikan lebah madu kepada para pemrogram komputer tersebut? Meskipun para pemrogram komputer dapat mengambil perilaku lebah madu sebagai contoh-rujukan mereka, lebah itu sendiri tidak dapat melakukan hal seperti itu. Ini dikarenakan meskipun tiruan algoritma lebah yang dibuat oleh pemrogram komputer merupakan hasil dari proses berpikir cerdas yang dilakukan secara sadar, lebah madu tidak memiliki kemampuan berpikir semacam itu. Pemecahan atas permasalahan tersebut membutuhkan tindakan sadar, misalnya pertama-tama pemahaman tentang adanya permasalahan tersebut, pengkajian terhadap sejumlah penyebab timbulnya permasalahan itu, pengenalan atas pengaruh sejumlah penyebab itu terhadap permasalahan tersebut secara umum dan pengaruhnya terhadap satu sama lain, dan akhirnya pengambilan keputusan di antara beragam pilihan yang ada.

Sudah pasti pemecahan masalah semacam itu tidak mungkin terjadi di dalam koloni lebah beranggotakan 20 sampai 50 ribu ekor. Hanya ada satu penjelasan masuk akal atas kenyataan ini, di mana sedemikian banyak makhluk hidup menghemat energi dengan menerapkan cara pengumpulan nektar yang paling menguntungkan; meskipun orang biasanya mengira akan melihat suatu kekacauan dan kebingungan di dalamnya. Pemahaman atas permasalahan di dalam koloni lebah dan jalan keluar pemecahannya merupakan hasil karya Pencipta Maha Mengetahui. Tidak ada keraguan, Allahlah, Pencipta langit dan bumi dan segala yang ada di antara keduanya, Yang telah menciptakan koloni lebah. Strategi yang diterapkan di dalam koloni lebah madu merupakan ilham yang berasal dari Allah. Allah menyatakan hal ini di ayat berikut:

Dan Tuhanmu mewahyukan kepada lebah: "Buatlah sarang-sarang di bukit-bukit, di pohon-pohon kayu, dan di tempat-tempat yang dibuat manusia. Kemudian makanlah dari tiap-tiap (macam) buah-buahan dan tempuhlah jalan Tuhanmu yang telah dimudahkan (bagimu)." Dari perut lebah itu keluar minuman (madu) yang bermacam-macam warnanya, di dalamnya terdapat obat yang menyembuhkan bagi manusia. Sesungguhnya pada yang demikian itu benar-benar terdapat tanda (kebesaran Tuhan) bagi orang-orang yang memikirkan. (QS. An Nahl, 16:68-69)


dikutip dari : http://www.harunyahya.com/indo/artikel/079.htm

Penerapan Software Pada Otomotif

Setiap ada perkembangan baru di dunia IT maka pasti akan diikuti juga oleh munculnya produk baru di bidang otomotif. Diantaranya akan dijelaskan sebagai berikut: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. Komputer Mobil

Perangkat keras utama dalam sistem ini adalah central processing unit (CPU). Untuk mempermudah pemasangan digunakan casing produksi Trivia yang sama dengan standar perangkat audio di mobil (berukuran 1 din, lebar 17,78 cm dan tinggi 5,08 cm), sehingga tidak perlu dilakukan banyak modifikasi interior mobil Motherboard yang digunakan berukuranMini-ITX (17 cm x 17 cm). Untuk mengurangi panas, dipilih motherboard kecepatan sedang, yaitu VIA EPIA M6000, menggunakan processor VIA Eden 600 MHz, sudah cukup andal menjalankan aplikasi-aplikasi berbasis Windows XP.
Untuk media penyimpanan, digunakan harddisk 40 GB 2,5 inci, yang didesain lebih tahan guncangan dibandingkan harddisk biasa berukuran 3,5 inci. CPU ini juga dilengkapi dengan pemutar DVD.
Pada bagian depan komputer terdapat dua buah rongga USB versi 2.0, untuk memasang berbagai perangkat yang sesuai dengan standar USB. Kita bisa menggunakan keyboard USB untuk mengetik. Transfer data bisa dilakukan dari atau ke USB Flash. Koneksi Bluetooth didapatkan dengan menempelkan interface bluetooth pada slot USB.
Koneksi ke internet menggunakan CDMA ataupun GPRS bisa dilakukan dengan menghubungkan handphone ke rongga USB ini. Selagi mobil berjalan, kita dapat terkoneksi ke internet selama masih berada dalam cakupan layanan selular.
Monitor yang digunakan juga memiliki ukuran 1 din, sehingga bisa dipasang dengan mudah pada dudukan tape mobil. Saat tidak digunakan, layar terlipat dan masuk ke kotaknya, mirip cara kerja TV mobil yang sudah banyak digunakan. Meskipun komputer bisa dihubungkan dengan monitor TV, sebaiknya digunakan monitor SVGA dengan resolusi hingga 468 x 800 piksel (tipe lebar) berdiameter 7 inci.
Untuk mempermudah melakukan kontrol ke komputer, monitor juga difungsikan sebagai layar sentuh untuk pengganti mouse. Dengan sentuhan satu jari, dapat dilakukan beberapa fungsi sederhana, misalnya untuk mengaktifkan aplikasi pemutar lagu, atau mengatur volume musik yang diputar.
Layar sentuh dapat ditulisi, seperti penggunaan fitur grafiti pada PDA, sebagai pengganti keyboard untuk mengetik. Sistem operasi Windows XP versi Tablet PC menjadi pilihan menarik karena didesain untuk mengoptimalkan komputer yang menggunakan layar sentuh.
Sistem listrik
Perbedaan komputer mobil dengan komputer biasa adalah sistem kelistrikannya. Komputer menggunakan power supply unit yang akan mengubah arus listrik AC 220 Volt menjadi arus listrik DC 12 Volt.
Pada mobil terdapat sumber daya DC 12 Volt, namun kualitas listrik mobil yang bergantung pada putaran mesin, menyebabkan arus tidak stabil. Untuk mengatasi permasalahan ini, digunakan power supply unit yang dirancang
untuk mobil. Perangkat pasokan listrik M2-ATX produksi mini-box.com mampu bekerja dengan pasokan listrik mulai dari 6-24 Volt.
Power supply unit ini bisa mendeteksi saat mesin mobil mati, dan mengatur komputer memasuki mode hybernate. Beberapa menit kemudian, arus yang masuk ke komputer diputuskan, untuk mencegah permasalahan pada aki mobil jika kita lupa mematikan komputer pada saat mematikan mobil.
Penggunaan komputer mobil sebagai media hiburan dapat dilakukan dengan mudah. Dengan kapasitas harddisk cukup besar, kita bisa menyimpan ribuan lagu dalam format MP3. Kita juga bisa memutar MP3, CD Audio, VCD, ataupun DVD. Dengan TV Tunner yang dihubungkan ke slot USB, kita bisa menikmati siaran televisi. Perlu ditambahkan juga antena TV pada atap mobil.
Komputer ini juga bisa menjadi alat bantu navigasi yang andal, dengan menambahkan GPS receiver (dengan rongga USB ataupun rongga serial). Jangan lupa memasang aplikasi navigasi seperti Ozi Explorer, dan memasukkan peta yang dibutuhkan.

3. Motor Solar Cell









Kalau musim panas, motor ini tidak perlu mampir ke pompa bensin. Dengan menggunakan 4 buah 30W solar cell panel, motor ini cukup di jemur ketika mengisi baterai.
Motor ini setelah digunakan langsung dipajang dengan membuka panel surya untuk mengisi baterai selama 80 jam. sehingga selain hemat biaya motor ini juga hemat energi.

4. Teknologi LCD Menjadi Indikator Persneling







Revolusi baru dari teknologi LCD merambah otomotif. Perselingkendaraan dilengkapi dengan display LCD ketika sedang berkendara akan menunjukan posisi gigi kendaraan. Pengemudi akan lebih jelas melihat posisi gigi ketika memacu kendaraan, konon dengan petunjuk ini dapat menghemat bahan bakar. Karena pengemudi tidak pernah lupa melihat kondisi perseling dengan kecepatan.


5. Simulator Kereta Api
















Simulator kereta api adalah sebuah perangkat lunak komputer yang menyimulasikan pengoperasian kereta api. Beberapa aspek yang termasuk dalam simulasi kereta api antara lain:
• Mengendalikan kereta api, menampilkan pandangan dari kabin masinis.
• Mengatur sinyal perjalanan kereta api.
• Memimpin sebuah perusahaan kereta api

dikutip dari :http://subaridargombez.wordpress.com/2008/02/16/perkembangan-dunia-it-pada-bidang-otomotif/