Tuesday, April 23, 2013

kenapa dianjurkan menggunakan software open source dalam membuat aplikasi

Open Source adalah sebuah sistem baru dalam mendistribusikan software kepada pengguna dengan memberikan program dan source code nya secara gratis! Bahkan pengguna dapat mempelajari dan melakukan modifikasi untuk membuat software tersebut sesuai dengan kebutuhan mereka.

Richard M. Stallman,pendiri Free Software Foundation, sebuah organisasi yang mendukung Open Source,mengeluarkan sebuah lisensi software untuk Open Source yang dinamakan GPL (GNU Public License). Lisensi inilah yang saat ini paling banyak digunakan untuk mendistribusikan software Open Source. Selain GPL, masih banyak lisensi software lainnya yang dikembangkan oleh komunitas Open Source.

Sejarah Open Source

“open source” pertama kali muncul pada sebuah rapat di Palo Alto California. Ketika itu, Netscape yang merupakan pengembang browser Navigator ingin melepaskan kode sumber dari produk dengan nama Mozilla di bulan Januari 1998. Mereka ingin membedakan diri dan menghindari konfrontasi ideologis maupun konotatif dengan istilah Free Software yang dipelopori oleh Richard Stallman. Para penggagas istilah open source adalah : Christine Peterson, Todd Anderson, Larry Augustin, Jon Hall, Sam Ockman, and Eric S. Raymond.

Istilah “open source” ini kemudian menjadi terkenal setelah dipublikasikan oleh tim O’Reilly melalui sebuah event yang diadakan di bulan April 1999. Event ini dihadiri oleh para selebritis IT yang terlibat dalam project-project free open source, seperti Linus Torvallds (penemu Linux), Larry Wall, Brian Behlendorf, Eric, Allman, Guido van Rossum (pembuat python), Michael Tieman, Paul Vixie, Jamie Zawinski dari Netscape, dan Eric Raymond.

Untuk menjaga perkembangan dunia open source, dibentuklah sebuah badan yang disebut Open Source Initiative. Badan ini didirikan tahu 1998 oleh Eric S. Raymond dan Bruce Perens.



Adapun keuntungan dari penggunaan Open Source antara lain :

  1. Lisensi Gratis, sehingga tidak memerlukan biaya tambahan untuk pembelian lisensi Software. dan kita tidak lagi terikat pada satu vendor Software dan membeli lisensi.
  2.  Keberadaan Bug/Error dapat segera terdeteksi dan diperbaiki karena Software tersebut dikembangkan oleh banyak orang ataupun pemakai, karena secara tidak langsung telah dievaluasi oleh banyak pemakai (End-User).
  3. Banyaknya tenaga (SDM) untuk mengerjakan & mengembakan proyek Open Source, karena biasanya proyek Open Source menarik banyak developer. Konsep dalam sebuah proyek Open Source adalah dikembangkan oleh banyak pengembang dan organisasi di seluruh dunia. Melalui komunitas besar dengan banyak konsep-konsep ini Software Open Source tumbuh menjadi standar internasional yang terbuka dan memiliki daya inter-operabilitas yang baik. Dan dalam proyek closed source atau tertutup, pengembangan dilakukan tertutup oleh vendor, sedangkan pada proyek Open Source banyak orang yang berpartisipasi mengembangkan fiturnya dan orang-orang ini bukanlah orang sembarangan melainkan mereka yang ahli dibidangnya. Hal ini memungkinkan peningkatan kualitas fungsional Software Open Source.
  4. Pengguna dapat langsung ikut serta dalam pengembangan Program, karena pengguna memiliki source code.
  5. Software dapat dimodifikasi sesuai dengan kebutuhan dari pengguna tanpa menyalahi EULA.
  6. Cross Platform dan Kompatible, biasanya Software Open Source tersedia di berbagai Sistem Operasi contohnya : XAMPP (Software WebServer & Database Management) tersedia di Windows maupun Linux, NetBeans (Software untuk membuat Software Java & Java Mobile) tersedia di Windows maupun Linux, Eclipse (Software untuk membuat Software Android) tersedia di Windows maupun Linux, Compiere (Software ERP) tersedia di Windows maupun Linux, dan lain-lain.
  7. Legal, dan tidak melanggar undang-undang hak cipta serta aman dari razia penggunaan dan pembajakan Software illegal.
  8. Software Ope nSource bebas dari Malware (Virus/Worm/Trojan) dibanding Software Illegal hasil Crack, Patch ataupun dari Keygen. 
  9. Jika Software Open Sourceyang kita gunakan perusahaannya mengalami kebangkrutan, maka tidak menimbulkan kerugian materiil bagi pemakainya, lain halnya pada Software Komersiil, pasti pemakainya harus membeli Software baru.
  10. Terkadang keahlian kita akan terasah dengan memakai Software Open Source.
  11. Dapat menghasilkan produk yang tidak kalah bagus dengan hasil dari Software yang berlisensi. Jika dijual maka keuntungan dari penjualan produk lebih besar.
  12. Sebagian Software Open Source tidak menguras sumber daya pemakaian komputer.Selain keuntungan 

Penggunaan open source pun memiliki kekurangan, yaitu:
  1. Dengan banyaknya orang yang terlibat dalam pembuatan proyek software tidak menjamin bahwa proyek akan selesai dengan lebih cepat. Ada kemungkinan proyek bahkan tidak dapat terlaksana. Hal ini disebabkan dengan semakin banyaknya orang maka perbedaan akan sering terjadi, oleh karena itu diperlukan seorang pemimpin yang mampu bekerja sama dengan rekan-rekannya yang lain untuk membuat suatu arahan yang jelas tentang proyek
  2. Menurut Alan Cox dalam papernya “Cathedrals, Bazaars and the Town Council” [Ala98], permasalahan akan muncul ketika tibanya banyak orang yang tidak paham dan mereka mulai mengemukakan opininya, bukan memberikan kodenya. Mereka berdebat tentang hal-hal yang tidak berguna. Hal ini tentu saja akan sangat merugikan karena perdebatan tersebut tidak akan menghasilkan apa-apa
  3. Konflik di antara para pengembang. Terkadang dalam model open source sebagaimana juga terjadi dalam model pengembangan ilmiah, terjadi konflik antara para pengembang. Hal ini dapat terjadi bila satu atau beberapa pengembang merasa tidak puas dengan pengembang lainnya, baik dalam hal pencapaian ataupun masalah-masalah teknis dalam proyek yang sedang mereka kerjakan. Bilamana hal ini telah terjadi dapat mengakibatkan tertundanya proyek yang sedang mereka kerjakan, bahkan tidak tertutup kemungkinan proyek tersebut menjadi gagal
  4. Fragmentasi. Dengan tersedianya kode sumber untuk setiap aplikasi, maka seseorang dapat saja merubah sebagian kode sumber asli dan mengeluarkan aplikasi yang sama dengan nama baru atau mengeluarkan aplikasi sama dengan versi baru
  5. Ketergantungan pada satu orang pemimpin. Proyek-proyek open source biasanya dimulai oleh satu atau beberapa orang, sehingga ketergantungan menjadi sangat tinggi. Dengan berlalunya waktu, para pemimpin tersebut mungkin menjadi bosan, burn-out, dipekerjakan oleh organisasi lain. Akibatnya proyek-proyek yang mereka tangani dapat menjadi tertunda atau bahkan mungkin hilang
  6. Penjiplakan. Dengan tersedianya kode sumber bagi setiap software, tidak tertutup kemungkinan ada pihak-pihak yang memanfaatkan hal tersebut demi kepentingan dirinya, misalnya saja seorang mahasiswa ilmu komputer mendapat tugas untuk membuat suatu program, ia kemudian mencarinya di Internet dan mendapatkan versi open sourcenya. Lalu ia memodifikasi sedikit program tersebut dan menyerahkan pada dosennya untuk dinilai. Bila dosen tidak waspada maka program tersebut akan lolos dan si mahasiswa akan mendapat nilai dengan mudah dan tidak adil bagi mahasiswa yang membuatnya sendiri.


Sumber:



PROFESI YANG BERLAKU BAGI PROGRAMMER

Pendahuluan

Latar Belakang

Suatu  kode  etik  menggambarkan  nilai-nilai  profesional  suatu  profesi  yang  diterjemahkan  ke dalam standart  perilaku   anggotanya. Nilai  professional  paling  utama  adalah  keinginan  untuk  memberikan pengabdian kepada masyarakat. Kode  etik dijadikan standart aktivitas anggota profesi, kode etik tersebut sekaligus sebagai pedoman  (guidelines)Kode Etik dapat diartikan pola aturan, tata cara, tanda cara, tanda pedoman etis dalam melakukan suatu kegiatan atau  pekerjaan. Kode etik merupakan pola aturan atau tata cara sebagai pedoman berperilaku. Dalam  kaitannya  dengan  profesi,  bahwa  kode  etik  merupakan  tata  cara  aturan  yang  menjadi  standart kegiatan anggota suatu profesi.

Kata  etika  sendiri  berasar  dari  bahasa  Yunani  yaitu Ethos yang  berarti  adat  istiadat  atau kebiasaan.Oteng / Sutisna (1986 : 364) mendefinisikan bahwa kode etik sebagai pedoman yang memaksa perilaku  etis  anggota  profesi.  Bahwasannya  setiap  orang  harus  menjalankan  serta  menjiwai  akan  pola ketentuan  aturan,  karenapada  dasarnya  suatau  tindakan  yang  tidak  menggunakan  kode  etik  akan berhadapan dengan sanksi.

Salah satu profesi dibidang IT adalah Programmer, seorang programmer harus memiliki pengalaman yang  cukup  dan  benar-benar  mengusai  ilmu  dibidangnya,  selain  itu  seorang  programmer  juga  harus mematuhi kode etik yang berlaku.  Maka dari itu kode etik programmer perlu dipelajari, dimengerti dan dijalankan.


Pengertian Programmer Komputer

Programmer Komputer  adalah profesi  yang bertugas  untuk  membuat  sebuah  program  melalui  bantuan bahasa  pemrograman  yang dapat digunakan untuk menyelesaikan permasalahan melalui otomasi dengan bantuan perangkat lunak  atau  software.  Tugas inti dari seorang programmer sama seperti tugas sebuah program itu sendiri. Sebuah program itu didesain dan dikembangkan agar mampu membatu manusia sebagi pengguna (user) dalam mengatasi kegiatan kesehariannya. Jadi, tugas seorang programmer komputer adalah menolong manusia menyelesaikan kegiatan sehari-harinya dengan bantuan  komputer.  Dari hal tersebut, terlihat  jelas  bahwa  seorang  programmer  komputer  merupakan  orang  yang  sangat  berjasa   kepada masyarakat, seperti halnya dokter, perawat,  akuntan dan lainnya.

Perkembangan Dunia Programmer

Seorang programer tentu lebih mengutamakan dari sisi programingnya. Bagaimana kecepatan prosesnya, bagaimana keamanan scriptnya, bagaimana dapat berjalan dengan baik di berbagai platform, bagaimana mempermudah untuk mengembangkan script tersebut nantinya, bagaimana agar mudah untuk dibuatkan design (template) nya. Hal-hal tersebut akan menjadi pertimbangan-pertimbangan seorang programer dalam bekerja.

Programer akan benar-benar diperlukan jika program yang dibuat bersifat uniq dan tidak ada atau belum ada opensourcenya. Atau jika sudah ada opensourcenya perlu meng-customize software tsb untuk disesuaikan dengan kebutuhan.

Kode Etik Programmer

Pemrograman komputer membutuhkan sebuah kode etik, dan kebanyakan dari kode-kode etik ini disadur berdasarkan kode etik yang kini digunakan oleh perkumpulan programmer internasional.
Kode etik seorang programmer adalah sebagai berikut :
  1. Seorang programmer tidak boleh membuat atau mendistribusikan Malware.
  2. Seorang programmer tidak boleh menulis kode yang sulit diikuti dengansengaja.
  3. Seorang programmer tidak boleh menulis dokumentasi yang dengan sengaja untuk membingungkan atau tidak akurat.
  4. Seorang programmer tidak boleh menggunakan ulang kode dengan hak cipta kecuali telah membeli atau telah meminta izin.
  5. Tidak boleh mencari keuntungan tambahan dari proyek yang didanai oleh pihak kedua tanpa izin.
  6. Tidak boleh mencuri software khususnya development tools.
  7. Tidak boleh menerima dana tambahan dari berbagai pihak eksternal dalam suatu proyek secara bersamaan kecuali mendapatkan izin.
  8. Tidak boleh menulis kode yang dengan sengaja menjatuhkan kode programmer lain untuk mengambil keuntungan dalam menaikkan status
  9. Tidak boleh membeberkan data-data penting karyawan dalam perusahaan.
  10. Tidak boleh memberitahu masalah keuangan pada pekerja dalam pengembangan suatu proyek.
  11. Tidak pernah mengambil keuntungan dari pekerjaan orang lain.
  12. Tidak boleh mempermalukan profesinya.
  13. Tidak boleh secara asal-asalan menyangkal adanya bug dalam aplikasi.
  14. Tidak boleh mengenalkan bug yang ada di dalam software yang nantinya programmer akan mendapatkan keuntungan dalam membetulkan bug.
  15. Terus mengikuti pada perkembangan ilmu komputer.
Pada   umumnya,   programmer   harus   mematuhi   “Golden   Rule”:   Memperlakukan   orang   lain sebagaimana kamu ingin diperlakukan. Jika semua programmer mematuhi peraturan ini, maka tidak akan ada masalah dalam komunitas.

Persiapan Menjadi Programmer

Menguasai dasar teknologi informasi, harus mengetahui apa dan bagaimana sistem komputer, apakah program dan apa manfaat dibuatnya sebuah program tersebut. Harus memperlajari bagaimana menggunakan internet karena internet sangat penting sebagai salah satu wahana mencari informasi ketika belajar pemrograman, selain buku referensi tentunya.
  1. Kemampuan yang diperlukan, tidak perlu mahir dalam pemrograman, namun harus memiliki semangat dan obsesi yang tinggi dalam belajar dan menekuni profesi programmer komputer, sehingga semua kesulitan belajar tidak akan menjadi penghalang yang berarti. Tidak akan mudah putus asa, tidak mudah stres dan tidak mudah berhenti belajar pemrograman ditengah jalan apabila mengalami sesuatu yang tidak mengenakkan.
  2. Sertifikasi programmer, sertifikasi memiliki beberapa manfaat diantaranya membantu melihat kompetensi dari seorang programmer dan dapat dijadikan sarana pengujian diri untuk mengetahui sejauh mana kemampuan dan kompetensi yang dimiliki.

Kewajiban Programmer

  1. Memahami konsep dasar sistem operasi. Kebanyakan dari programmer Indonesia biasanya membuat aplikasi di atas sistem operasi, sehingga banyak yang berpendapat bahwa tidak perlu memahami cara kerja sistem operasi.
  2. Memahami konsep dasar jaringan. Sebuah aplikasi tidak dapat berjalan sendiri. Aplikasi tersebut pasti harus berhubungan dengan internet, melayani banyak pengguna
  3. Memahami konsep dasar relational database. Setiap aplikasi pasti memiliki sebuah database dalam penyimpanan datanya untuk itu programmer khususnya Database Programmer ditekankan menguasai relational database.
  4. Karena sekarang jaman internet, maka wajib memahami protokol HTTP, FTP, POP3, SMTP, SSH. Protokol HTTP sekarang adalah protokol yang paling banyak digunakan di internet.
  5. Karena sekarang jaman globalisasi, maka wajib memahami Unicode. Unicode itu penting supaya aplikasi kita tetap bisa diinstal di komputer mana saja.
  6. Lebih dari satu bahasa pemrograman. Pemahaman lebih dari satu bahasa itu penting agar wawasan programmer lebih terbuka. Bahwa tidak ada bahasa yang one-fit-all.
  7. Cara menggunakan Version Control. Dalam dunia kerja, penggunaan version control adalah wajib. Ini standar (de facto) internasional. Jika mempunyai project opensource, baik di Sourceforge, Apache, Codehaus, dan semua hosting project opensource, pasti programmer akan diberikan version control.

Ketrampilan yang Dimiliki Seorang Programmer

  1. Memahami kode sumber sebuah program, dari yang sederhana hingga relatif kompleks, adalah keterampilan yang harus dimiliki oleh seorang programmer.
  2. Implementasi sebuah algoritma yang memodifikasi sebentuk struktur data dalam sebuah program dapat kita adaptasikan ke dalam program yang kita buat sendiri dengan konteks dan struktur data yang sama sekali berbeda
  3. Melanjutkan pengelolaan, menyesuaikan, mengembangkan dan (bila perlu) merombaknya untuk menyesuaikan program dengan kebutuhan pengguna tanpa mengorbankan kemudahan perawatan di masa mendatang.
  4. Memiliki kemampuan sebagaimana dijelaskan dalam point 1. dan 2. untuk program yang ditulis dan didokumentasikan oleh programmer lain.
  5. Membaca program untuk memperkaya perkakas yang dimiliki seorang programmer untuk memecahkan masalah.

Kelompok Bidang Programmer

Profesi seorang programmer dapat dikelompokkan menjadi beberapa bidang sebagai berikut:

1. Programmer

Programmer adalah individu yang bertugas dalam hal rincian implementasi, pengemasan, dan modifikasi algoritma serta struktur data, dituliskan dalam sebuah bahasa pemrograman tertentu. Deskripsi Pekerjaan antara lain :
  • Menulis program (coding) dengan menggunakan pemrograman tertentu (VB, VB.NET, Java). 
  • Memahami konsep basis data.
  • Mampu mengoperasikan aplikasi basis data.
  • Melakukan pengujian terhadap aplikasi program.
  • Melakukan analisis terhadap aplikasi program
  • Melakukan riset , desain, dokumentasi dan modifikasi aplikasi software.
  • Melakukan analisis dan memperbaiki kerusakan (error ) pada software dengan tepat dan cara yang akurat.
  • Menyediakan status laporan aplikasi yang diperlukan.

2. Database Programmer

Programmer yang menguasai perancangan dan pemrograman database menggunakan Aplikasi Ms. Access dan Ms. Sql Server ATAU PL/SQL dan Oracle Form Developer 10g.

3. Web Programmer

Programmer web yang menguasai pengembangan aplikasi web berbasis HTML dan ASP.Net ATAU aplikasi web berbasis HTML dan J2EE serta Struts Framework ATAU aplikasi web berbasis MySQL dan PHP.

4. Multimedia Programmer

Programmer multimedia yang menguasai penggunaan teknologi dan pengembangan aplikasi berbasis multimedia

5. Embedded Programmer

Programmer yang menguasai arsitektur sistem mikroprosesor, interfacing dan pemrograman embedded.


Faktor yang Mempengaruhi Kualitas Produk dan Produktitas Programmer

1. Komunikasi team
Meningkatnya ukuran produk yang dihasilkan akan menurunkan produktivitas programmer akibat meningkatnya kerumitan antara komponen-komponen program dan akibat meningkatnya komunikasi yang perlu dilakukan antara programmer, manajer,dan pelanggan.

2. Kerumitan produk
Tiga level kerumitan produk : program aplikasi, program utility, program level sistem.

3. Notasi yang tepat
Bahasa pemrograman menetapkan notasi (baca : token, reserve word) baku, terutama untuk hal-hal yang berkaitan dengan matematika. penetapan notasi antar programer (baca : perancang produk) harus dilakukan sehingga dapat dimengerti dengan jelas.

4. Kendali perubahan
Perubahan terhadap produk harus tetap meminta persetujuan manajer sebagai penanggung jawab proyek. Dampak perubahan harus dapat ditelusuri, diuji, dan didokumentasikan.

5. Tingkat teknologi
Peran penggunaan teknologi dalam proyek perangkat lunak misalnya menyangkut bahasa pemrograman, lingkungan mesin yang digunakan, teknik pemrograman, dan penggunaan tools tertentu. Bahasa pemrograman modern menyediakan fasilitas penyesuaian pendefinisisan dan penggunaan data, konstruksi aliran kendali, fasilitas modular, dan concurent programming

6. Pendekatan sistematis
Sistem menetapkan teknik dan prosedur baku. pembakuan dalam pengembangan dan pemeliharaan perangkat lunak masih belum mantap.

7. Tingkat keandalan
Setiap produk harus mempunyai keandalan standar. Peningkatan keandalan dihasilkan melalui perhatian yang sangat besar pada tahap analisa. Peningkatan keandalan akan menurunkan produktivitas.

8. Pemahaman permasalahan
Pelanggan adalah penyumbang utama terhadap kegagalan dalam memahami masalah adalah 
Tidak memahami permasalahan perusahaannya.
Tidak mengerti kemampuan dan keterbatasan komputer.
Tidak mempunyai pengetahuan dasar tentang logika dan algoritma.
Software engineer tidak memahami lapangan aplikasi, gagal mendapatkaninformasi kebutuhan pelanggan karena pelanggan bukan seorang end user.

9. Persyaratan keterampilan
Berbagai keterampilan harus ada dalam sebuah proyek perangkat lunak, misalnya:
  • Keterampilan berkomunikasi dengan pelanggan untuk memastikan keinginannya dengan sejelas-jelasnya.
  • Kemampuan dalam pendefinisian masalah dan perancangan.
  • Kemampuan implementasi dengan penulisan program yang benar.
  • Kemampuan debugging secara deduktif dengan kerangka “what if ”.
Dokumentasi.
  • Kemampuan bekerja dengan pelanggan.
  • Semua keterampilan tersebut harus senantiasa dilatih.
10. Fasilitas dan sumber daya
Fasilitas non teknis yang tetap perlu diperhatikan yang berkaitan dengan motivasi programmer misalnya : mesin yang baik, serta tempat yang tenang, atau ruang kerjanya dapat ditata secara pribadi.

11. Pelatihan yang cukup
Banyak programmer yang dilati dalam bidang-bidang : ilmu komputer, teknik elektro, akuntansi, matematika, tetapi jarang yang mendapat pelatihan dalam bidang teknik perangkat lunak.

11. Ketersediaan waktu
Dibutuhkannya ketersediaan waktu khusus untuk melakukan pemrograman bagi para programmer itu sendiri.

12. Kemampuan manajemen
Seringkali manajer proyek tidak mempunyai, atau hanya sedikit mengetahui, latar belakang teknik perangkat lunak. Di sisi lain terjadi promosi jabatan menjadi manajer dimana yang berpromosi tidak atau kurang mempunyai kemampuan manajemen. Sasaran yang tepat Sasaran utama dari teknik perangkat lunak adalah pengembangan produk-produk perangkat lunak yang tepat untuk digunakan.

Sikap Programmer Terhadap Klien
Mempunyai sikap & kepribadian baik, komunikatif, mudah beradaptasi dengan lingkungan kerja, cekatan & fleksibel.
Mampu bekerja berorientasi jadwal, mengatur pekerjaan multiple project dan bekerja sama dalam team.
Membuat kontrak kerja dengan klien.
Menyukai dan mengerti dasar-dasar pemrograman.

Jenis – jenis Pelanggaran Pemograman 

Kode etik pemrograman merupakan pengaturan diri profesi yang bersangkutan dan ini perwujudan moral yang hakiki, yang tidak dapat dipaksakan dari luar. Kode etik pemrograman hanya berampilrlaku efektif apabila dijiwai oleh cita-cita dan nilai-nilai yang hidup dalam lingkungan profesi itu sendiri. Kode etik merupakan kriteria prinsip profesionalisme yang lebih digariskan, sehingga diketahui dengan pasti kewajiban profesionalisme lama, baru ataupun calon anggota kelompok profesi. Dalam bab makalah ini yang akan dijabarkan lebih banyak adalah mengenai kode etik pemrograman. Semakin berkembangnya teknologi, semua aplikasi akan berbasis Internet Protokol (IP). Berbagai cara digunakan untuk melewatkan layanan melalui jaringan IP. Jaringan IP sendiri adalah merupakan jaringan komunikasi data yang berbasis packet-switch. Salah satu layanan yang bisa dilewatkan melalui jaringan IP adalah layanan voice atau biasa disebut Voice over Internet Protocol (VoIP). VoIP adalah teknologi yang mampu melewatkan trafik suara yang berbentuk paket melalui jaringan IP. Komunikasi real time seperti voice merupakan layanan yang sangat rentan terhadap delay sedangkan jaringan akses yang sudah ada memberikan delay yang cukup besar untuk layanan ini. Salah satu alternatif jaringan yang dapat digunakan adalah jaringan dengan teknologi WiMAX (Worldwide Interoperability for Microwave Access) Teknologi ini mampu memberikan layanan data berkecepatan hingga 70 Mbps dalam radius hingga 50 km. Radius yang cukup untuk menjadikan WiMAX sebagai jaringan telekomunikasi broadband. Dengan teknologi WiMAX, impian akan layanan informasi data yang murah dengan kecepatan tinggi akan segera terwujud
Pelanggaran kode etik pemrograman
Faktor utama meningkatnya Pelanggaran Kode Etik Pemrograman adalah makin merebaknya penggunaan internet. Jaringan luas komputer tanpa disadari para pemiliknya disewakan kepada spammer (penyebar e-mail komersial), fraudster  (pencipta situs tipuan), penyabot digital. Terminal-terminal jaringan telah terinfeksi virus komputer, yang mengubah komputer menjadi “zombie”. 
1. Kualifikasi programmer
Selalu gembira, dengan membiasakan bergembira akan mampu mengoptimalkan hasil kerja. Orang yang gembira cenderung memiliki etos kerja daripada orang yang selalu murung atau tidak bergembira.
Lurus hati dan berdisiplin, akan menyebabkan memiliki perasaan yang nyaman, selalu menyejukkan suasana dan menjadikan pergaulan lebih sehat. Bersikaplah sesuai dengan peraturan walaupun lingkungan terbiasa melanggar peraturan. Selalu disiplin dan menepati komitmen yang telah dibuat, sehingga akan selalu diandalkan oleh rekan - rekan kerja.
Bijaksana, cerdik dalam mengamati situasi dan mampu mengambil keputusan dengan cepat
Sopan santun, agar selalu disenangi dan dihargai oleh orang lain.
Mudah bergaul, agar dapat memperluas jaringan yang memungkinkan untuk mengembangkan kemampuan yang dimiliki serta mendapatkan peluang bisnis.
Penuh inisiatif, selalu mencari peluang yang ada.
Tidak mudah putus asa dan pantang menyerah, kegagalan justru menjadi pemicu anda untuk berusaha lebih baik lagi.
Ketajaman daya ingat, untuk mempermudah dalam pembuatan program karena banyak sintaks yang harus diingat.
Penuh perhatian terhadap segala hal yang menjadi tanggung jawab anda.
Percaya diri, agar tidak mudah terpengaruh dengan pemikiran orang lain. 
Selalu ingin tahu, agar selalu berfikir dan terus menerus memperbaiki diri.
Bertanggung jawab, harus berani mempertanggungjawabkan segala hal yang telah dibuat.
2. Kemampuan programmer professional
Instalasi software dan hardware, bisa melakukan instalasi karena instalasi merupakan tahap awal untuk melakukan deployment program.
Keamanan manajemen dan keamanan sistem, bisa menjamin keamanan program agar tidak disusupi oleh orang lain.
Backup dan recovery data, bisa menyimpan atau mengkonfigurasi program sehingga suatu saat dapat di-restore/recovery.
Troubleshooting, bisa memastikan tools yang digunakan untuk menjalankan program telah berjalan sebagaimana mestinya, serta mengintegrasikannya dengan berbagai komponen.
Kemampuan komunikasi, bisa mengkomunikasikan kemampuan program yang dibuat baik kepada sesama tim maupun kepada orang yang membutuhkan program tersebut.
Kemampuan bahasa pemrograman tertentu, tidak harus menguasai semua jenis bahasa pemrograman, namun harus pandai mencari bahasa pemrograman untuk membangun aplikasi yang banyak dibuthkan.


Daftar Pustaka



 

Friday, November 30, 2012

Cloud Computing - Spicebird

Pengertian Cloud Computing

Cloud Computing (Komputasi Awan) adalah suatu konsep umum yang mencakup SaaS, Web 2.0, dengan menggabungkan pemanfaatan teknologi komputer dan disajikan dalam bentuk suatu layanan. Yang dimaksud dengan Saas dan Web 2.0 adalah sebuah software as a service atau perangkat lunak yang berbentuk layanan, digunakan untuk mengembangkan suatu aplikasi yang berbasis web (Internet).

SpiceBird

Spicebird adalah klien kolaborasi yang menyediakan akses terintegrasi ke email, kontak, kalender dan pesan instan dalam satu aplikasi. Menyediakan akses mudah ke berbagai layanan web sementara tetap mempertahankan semua keuntungan dari aplikasi desktop. Hal ini dikembangkan oleh perusahaan India bernama Synovel. Ini adalah sumber, bebas terbuka dan perangkat lunak cross-platform.

Spacebird merupakan klien email gratis. SpiceBird dibangun di atas penawaran Mozilla sehingga Anda akan merasa seperti menggunakan Thunderbird.
Anda dapat men-download dan menginstal SpiceBird untuk Windows dan Linux. File instaler memiliki ukuran sekitar 12MB dan dapat diinstal dalam sekejap. Setelah terinstal, maka jalankan dan Anda akan melihat interface tab. Berbagai tab memberikan Anda akses ke semua fitur SpiceBird yang ditawarkan.
Mari melihat secara singkat beberapa tab dari SpiceBird.

Tab Home

Tab home ini banyak seperti pada halaman iGoogle. Anda dapat menambahkan dan mengelola widget. Widget ini dapat digunakan untuk menampilkan preview dari inbox Anda atau jam di zona yang berbeda.
Anda dapat menampilkan tugas-tugas mendatang atau menambahkan salah satu gadget iGoogle yang tersedia.
Klik pada Add Applets di toolbar dan kemudian pilih Google Gadget. Sekarang, copy alamat iGoogle Gadget dari deskripsi gadget dan paste pada halaman. Ini akan me-load gadget di tab home SpiceBird Anda.


Tab Inbox

Tab Inbox akan tampak akrab bagi pengguna Thunderbird. Ini terlihat dan memiliki fungsi yang sama juga.
Anda dapat mengkonfigurasi mail account Anda, yang akan muncul di sisi kiri. Anda dapat membuka e-mail di tab baru atau window baru jika Anda inginkan.

Tab Contacts, Calendar dan Tasks

Anda dapat mengelompokkannya bersamaan di bawah satu header karena mereka semua bekerja seperti yang Anda harapkan ada kontak atau aplikasi kalender. Anda dapat menambahkan account chat di tab Contacts dan menggunakannya untuk mengelola dan menyimpan kontak Anda.
Calendar menyediakan fungsionalitas standar tanpa sync Google Calendar. Anda masih dapat mengimpor dan mengekspor file iCal. Anda juga dapat membuat tugas-tugas di dalam tab Task, menetapkan prioritas tugas, mengkategorikan mereka sesuai keinginan Anda dan bahkan menandai kemajuan pada tugas-tugas Anda.


sumber:
http://www.technobuffalo.com/internet/five-examples-of-cloud-computing/
http://gicara.com/uncategorized/spicebird-klien-email.html
http://id.wikipedia.org/wiki/Komputasi_awan


http://www.gunadarma.ac.id

Tuesday, November 13, 2012

Computer Vision: ABBYY FineReader

Computer Vision adalah ilmu dan teknologi mesin yang melihat, di mana mesin mampu mengekstrak informasi dari gambar yang diperlukan untuk menyelesaikan tugas tertentu. Sebagai suatu disiplin ilmu, visi komputer berkaitan dengan teori di balik sistem buatan bahwa ekstrak informasi dari gambar. Data gambar dapat mengambil banyak bentuk, seperti urutan video, pandangan dari beberapa kamera, atau data multi-dimensi dari scanner medis. Sedangkan sebagai disiplin teknologi, computer vision berusaha untuk menerapkan teori dan model untuk pembangunan sistem computer vision.
Computer Vision didefinisikan sebagai salah satu cabang ilmu pengetahuan yang mempelajari bagaimana komputer dapat mengenali obyek yang diamati. Cabang ilmu ini bersama Artificial Intelligence akan mampu menghasilkanVisual Intelligence System. Perbedaannya adalah Computer Vision lebih mempelajari bagaimana komputer dapat mengenali obyek yang diamati. Namun komputer grafik lebih ke arah pemanipulasian gambar (visual) secara digital. Bentuk sederhana dari grafik komputer adalah grafik komputer 2D yang kemudian berkembang menjadi grafik komputer 3D, pemrosesan citra, dan pengenalan pola. Grafik komputer sering dikenal dengan istilah visualisasi data.

Optical Character Recognition

Rekognisi karakter optik atau pengenalan huruf optik adalah alat mekanis atau elektronika yang digunakan untuk menerjemahkan menerjemahkan tulisan tangan ataupun naskah ketikan (biasanya dipindai menggunakan pemindai) menjadi teks yang dapat diedit dengan suatu aplikasi komputer.

ABBYY FineReader Engine 10

ABBYY FineReader Engine adalah OCR SDK yang handal untuk melakukan integrasi teknologi ABBYY untuk pengenalan dokumen dan konversi dokumen seperti : optical character recognition (OCR), intelligent character recognition (ICR), optical mark recognition (OMR), barcode recognition (OBR), document imaging, dan konversi PDF.

Mode Fast Mode yang baru didesain untuk optimasi kecepatan proses / keseimbangan akurasi untuk jenis image yang berkualitas baik. Kecepatan pengenalanmeningkat hingga 92% lebih cepat dengan menjaga akurasi.Dukungan arsitektur multicore ABBYY menjamin peningkatan performa mendekati pertumbuhan linier seiring dengan meningkatnya jumlah core processor komputer.Untuk 2 CPU cores akan meningkatkan kecepatan 2x lipat,untuk 4 cores – hampir 3.8 X

API yang handal dan sederhana

  • Profil istimewa untuk skenario yang umum /populer. Banyak pengembang menyebutkan bahwa ABBYY FineReader Engine API adalah yang terhandal dan berfungsi maksimal diantara SDK OCR yang ada. Sekarang teknologi ini bahkan menjadi semakin sederhana dengan disediakannya profil atau template untuk proses yang sering digunakan. Profil ini dilengkapi dengan berbagai parameter yang sudah di atur secara optimal sehingga kualitas OCRnya tinggi tanpa harus melakukan setting secara manual.Dalam hal proses yang mebutuhkan penanganan khusus pengaturan parameter secara manual juga tersedia. Profil ini menghemat waktu pengembang untuk mempelajari seluruh fitur yang ada dengan hanya memilih profil saja maka ABBYY FineReader Engine 10 akan memilih sendiri setting yang optimal dan efisien.
  • API Struktur Dokumen. ABBYY FineReader Engine 10 menyediakan fitur unik untuk mengakses struktur dokumen seperti headings, chapters, page numbers, footnotes, headers, footers dan lainnya.Fungsi-fungsi API baru mendukung ketepatan dan kehati-hatian pada content editing, sekaligus menjaga struktur dokumen yang original.

Kemampuan Rekonstruksi Layout yang unik

Dengan fitur baru dari ABBYY FineReader Engine 10, pengembang dapat dengan hati-hati melakukan rekonstruksi layout awal dokumen dan strukturnya untuk dengan mudah digunakan kembali:
  • Deteksi Struktur Dokumen. ABBYY FineReader Engine 10 secara otomatis mendeteksi headings pada dokumen yang diproses, menentukan tingkatan pada struktur dokumen, menentukan style teks dan merekonstruksi keseluruhan struktur pada dokumen hasil.
  • Rekonstruksi Daftar Isi (Table of Contents (TOC)). Pada dokumen final daftar isi muncul sebagai jalur hubungan atau link terhadap heading atau bab yang ada pada dokumen. Setelah proses edit dokumen daftar isi tersebut dapat menyesuaikan dengan kondisi dokumen baru yang dihasilkan.
  • Deteksi Charts dan diagram. Deteksi otomatis charts dan diagrams diperbaiki pada ABBYY FineReader 10 OCR SDK. Sekarang dimungkinkan untuk mengenali teks yang ada pada diagram tanpa mengganggu diagram tersebut.
  • Proses caption pada gambar dan tabel.  ABBYY FineReader Engine 10 secara otomatis mendeteksi caption pada gambar dan tabel dan mengekspor ke dokumen hasil dalam satu frame bersama dengan gambar dan tabel.
  • Menentukan Document styles. ABBYY FineReader Engine 10 menganalisa jenis font , ukuran, dan penempatannya dan mendeteksi font style untuk setiap teks. Untuk setiap headings pada tiap tingkatan ada styles istimewa,untuk teks umum, untuk daftar isi dan caption pada gambar juga terdapat special styles.
  • “Glossy magazine” processing model. ABBYY OCR SDK Baru dapat merekonstruksi layout yang kompleks yang terdiri dari banyak gambar dan blok teks pada halaman atau termasuk gambar yang sangat besar di keseluruhan halaman.

PDF Export yang lebih maju

  • Ratio kualitas ukuran yang superior untuk File PDF. Ekspor PDF baru bersama dengan kompresi raster MRC (Mixed Raster Content) menjamin kualitas gambar yang tinggi sekaligus ukuran file PDF yang kecil.
  • Profil Ekspor PDF. Terdapat lebih dari 40 parameter untuk PDF. ABBYY FineReader Engine 10 menyediakan  profil dengan nilai optimal untuk jenis-jenis ekspor yang sering digunakan antara lain:
• MaxQuality
• Balanced
• MinSize
• MaxSpeed

Document Image and Photo Processing yang belum tersaingi

  • Fitur terbaru Camera OCRTM. Teknologi Camera OCR  – pengaturan photo dokumen untuk meningkatkan kualitas pengenalan teks yang dilengkapi dengan fitur –fitur unik:
• Automatic correction of 3D perspective distortions
• Blurred image correction
• ISO noise reduction

Kebanyakan dokumen yang dihasilkan kamera memiliki beberapa kekurangan. Dengan fitur baru Camera OCR dari ABBYY FineReader Engine 10 pengembang dapat melakukan perbaikan dan mendapatkan hasil terbaik dari proses Recognition.
  • Binarisasi Baru.  Versi OCR SDK terdahulu memberikan kualitas binarisasi yang tinggi, namun pada kasus tertentu yang sulit , hasilnya sering mengalami error dan kehilangan informasi. Teknologi binarisasi terbaru menjamin keutuhan teks dan mencegah hilangnya informasi terutama pada kasus yang sulit. Binarisasi yang baru memberikan kualitas terbaik dan menjamin terjaganya informasi yang berharga yang berakibat pada akurasi OCR yang lebih baik.
  • Color marks dan stamps filtering. Jika terdapat stempel atau bercak/tanda yang dibuat oleh pensil, spidol atau gambar yang mengganggu teks dan menurunkan hasil OCR, ABBYY FineReader Engine 10 menyediakan fitur istimewa untuk melakukan filter terhadap stempel atau bercak dan meningkatkan kualitas recognition. Ini adalah fitur yang handal untuk keperluan data capture dimana beberapa data sering sulit dibaca karena terhalang bercak atau stempel.

Sistem Proteksi yang Flexible dan handal

Proteksi yang lebih baik. Sistem Proteksi ABBYY OCR SDK memberikan:
  • Delegasi dan kontrol penggunaan SDK pada jaringan lokal
  • Perhitungan dan kontrol  jumlah karakter yang dikenali, halaman, waktu pemakaian dan computing power
  • Tracking dan kontrol penggunaan SDK pada terminal server dan virtual machine

Useful and Clear Developer’s Documentation

Manual Pengembangan yang lebih baik. Panduan pemakaian yang lengkap dengan struktur dan penampilan serta isi yang batu termasuk deskripsi produk secara umum, spesifikasi API, contoh program dan best practice. Hal ini menyebabkan ABBYY FineReader lebih mudah untuk digunakan.


sumber:
http://www.abbyy-teknologi.com/produk/software-development-kit/abbyy-finereader-engine
http://id.wikipedia.org/wiki/Rekognisi_karakter_optik
http://eziekim.wordpress.com/2011/11/23/computer-vision/

http://www.gunadarma.ac.id






Sunday, January 8, 2012

TUGAS PROPOSAL

PROPOSAL dan PERMOHONAN DONASI

Kegiatan Bakti Sosial

GUNADARMA

2011





Proposal Kegiatan Bakti Sosial Khitanan Masal

LATAR BELAKANG

Saat ini masih banyak saudara-saudara kita yang kehidupannya sangat memprihatinkan. Data terakhir Badan Pusat Statistik memperlihatkan ada sekitar 40 juta orang di Indonesia yang masih hidup di bawah garis kemiskinan. Secara kasat mata kemiskinan dapat kita jumpai dengan mudah di sekitar kita. Khususnya di Jakarta, banyak kita jumpai orang dewasa dan anak-anak terlantar yang hidup dan tinggal di jalan. Banyak pula anak yatim dan/atau piatu dan orang-orang kurang mampu (dhuafa) baik yang ada di panti-panti maupun yang menggantungkan kehidupan mereka pada orang lain karena kurangnya kemampuan ekonomi mereka.

Dalam rangka memperingati 50 Tahun Hari Kesehatan Dunia setiap bulan April serta Hari Kesehatan Nasional yang ke-45 di bulan November di tahun 2011 ini, kami bermaksud untuk kembali mengadakan sebuah kegiatan sosial berupa Khitanan Masal bagi anak-anak dari keluarga kurang mampu sebagai wujud kepedulian kami kepada saudara-saudara kita yang membutuhkan.


Melalui proposal kegiatan ini kami selaku panitia mengajak peran serta Bapak/Ibu/Sdr/i untuk ikut memberikan dukungan baik moril maupun materiil, baik berupa donasi uang atau barang, dalam acara bakti sosial dalam bentuk Khitanan Masal yang hendak kami selenggarakan di bulan Juli 2009 mendatang.

TUJUAN KEGIATAN

  1. Meningkatkan rasa syukur, iman dan taqwa kepada Tuhan Yang Maha Esa;
  2. Meningkatkan jalinan kasih sayang, kebersamaan, kepedulian, dan persaudaraan di antara sesama, khususnya antar anggota Komunitas Pekerja Bersepeda Indonesia;
  3. Mengetuk kepedulian sosial masyarakat terhadap fakir miskin dan anak-anak terlantar dan kurang mampu yang ada di sekitar kita; dan
  4. Memperkenalkan kepada masyarakat luas adanya wadah komunitas pekerja bersepeda sebagai salah satu sarana dan upaya menjaga lingkungan dan kesehatan.

WAKTU PELAKSANAAN

Kegiatan Khitan ini Insya Allah akan dilaksanakan pada :

Hari : Sabtu

Tanggal : 5 Juli 2011

Waktu : Pukul 08.00 - 14.00 WIB

Tempat : Mesjid AN-Nur

Alamat : Jl. Margonda raya No. 1, Depok

Kegiatan Khitan juga meliputi pemeriksaan calon pasien Khitan oleh tim dokter sebelum hari H dan perawatan pasca Khitan beberapa hari setelah hari H. Dalam hal ini tim dokter akan mengunjungi para calon pasien dan / atau peserta khitan di tempat masing-masing.

Sedangkan perayaan Khitan yang Insya Allah dilaksanakan pada :

Hari : Minggu

Tanggal : 26 Juli 2009

Waktu : Pukul 06.00 - 15.00 WIB

Tempat : Mesjid An-Nur

Alamat : Jl. margonda Raya No. 1, Depok

SUSUNAN ACARA

2 Juli 2009

Pemeriksaan Calon Pasien Khitan Pra Acara



4 Juli 2009




Kumpul, Persiapan di kampus STEKPI dan Pembukaan

:

08.00-08.30

Pelaksanaan Khitan

:

08.30-12.30

Makan siang bersama dan sholat dzhuhur berjamaah

:

12.30-13.30

Doa Bersama dan Penutupan

:

13.30-14.00

7 Juli 2009

Perawatan Pasien Pasca Khitan



26 Juli 2009

Funbike Rogad B2W –STEKPI Cycling Club

:

06.00-10.00

Pengajian, Marhaban, Marawis, Pemberian Hadiah Khitan

:

10.00-12.00

Makan siang bersama dan sholat dzhuhur berjamaah

:

12.00-13.30

Games/Permainan dan Hiburan

:

13.30-14.30

Doa Bersama dan Penutupan

:

14.30-15.00

ANGGARAN BIAYA

Terlampir

SUSUNAN KEPANITIAAN

Terlampir

PENUTUP

Besar harapan kami agar Bapak/Ibu/Sdr/i dapat berperanserta memberikan perhatian dan dukungan atas acara bakti sosial yang akan kami laksanakan.

Demikian proposal dan permohonan donasi untuk kegiatan bakti sosial khitanan masal dalam rangka ulang tahun Rogad – Bike to Work Indonesia ini kami sampaikan. Atas perhatian, bantuan dan kerjasama yang diberikan kami ucapkan banyak terima kasih.

Hormat Kami,

Jakarta, 10 Juni 2009

Ketua Pelaksana



Sekretaris













Siti Zuraida



M. Adi Pamungkas






Menyetujui,


Pelindung



Penanggung Jawab













Ibnu Baskoro



Bayu Sukmana Pasi


Lampiran 1.

RENCANA ANGGARAN BIAYA

BAKTI SOSIAL KHITANAN MASAL

ROGAD “BIKE TO WORK INDONESIA“ 2009

Alokasi Dana :








- Paket Konsumsi, Lunch & Snack untuk undangan/keluarga anak/panitia/tim dokter

200

org

@

Rp30,000

Rp

6.000.000


- Air Mineral

10

dus

@

Rp15,000

Rp

150.000


- Paket Hadiah Khitan

20

org

@

Rp100,000

Rp

2.000.000


- Paket Angpau

20

org

@

Rp25,000

Rp

500.000


- Tindakan medis khitan + obat

20

org

@

Rp200,000

Rp

4.000.000


- Transportasi dan Komunikasi





Rp

400.000


- Hiburan





Rp

500.000


- Perlengkapan





Rp

1.000.000


- Biaya Lain-lain





Rp

450.000


Total Pengeluaran




Rp

15.000.000






















Total dana yang masih diperlukan (Donasi yang diharapkan)


Rp.

15.000.000


Bantuan berupa donasi dapat ditransfer melalui :


BCA Cabang Cimanggis

No. Rek. 166 240 3797

a/n. Yani Susilowati

Bank Mandiri Cab. Kramatjati

No. Rek. 006 0092 71 3431

a/n. Siti Zuraida


Untuk memudahkan pengecekan serta pencatatan, setelah melakukan transfer mohon keikhlasannya untuk mengirimkan konfirmasi ke Yani via sms di 0858 8512 8411 atau email ke yani.tjangkung@gmail.com atau Yahoo!Messenger (YM id): yanies80 dengan mengetik : Baksos RoGad, Nama Donatur, Bank, Tanggal Transfer dan Jumlah Donasi

Untuk informasi lebih lanjut silakan menghubungi:

Siti Zuraida

Mobile 0816 184 3371

E-Mail ijulsz@gmail.com

YM ijul35 (silakan tinggalkan pesan offline)


Lampiran 2.

SUSUNAN PANITIA PENYELENGGARA

BAKTI SOSIAL ”BIKE TO WORK INDONESIA” 2009

Pelindung : Ibnu Baskoro

Penasehat : Toto Sugito

Ozy Sjarindra

Penanggung Jawab : Bayu Sukmana Pasi

Ketua Pelaksana : Siti Zuraida

Sekretaris : M. Adi Pamungkas

Bendahara : Yani Susilowati

Seksi Konsumsi : Indarti Andriani

Fifin Mulyanti

Irni Yusniati

Setyo Wibowo

Seksi Transportasi : Dany Fernando

Desi Budi Rejeki

Ridwan Amsori

Seksi Perlengkapan : Mohammad Khatamsi

Michael Jody Ch.

Lanang Derry Mahendra

Chairul Anwar

Seksi Humas, Publikasi : Widi Asmoro

dan Dokumentasi Eva Ali

Tono Purnomo

Seksi Acara : Adolf Benny

Meyka Marianna Manullang

Gita Putri Maharani

Fandry Suhendri

Koordinator Lapangan : Didit Windhi

Achmad Yuliansyah

Hamdan Nurul Huda

Novik Ariyanto

Lampiran 3.

DAFTAR DONATUR/DONASI

No.

Tanggal

Nama Donatur

Jumlah Donasi