Senin, 19 Juli 2010

Ayah

Sedalam laut, seluas langit

cinta selalu tak bisa diukur

begitulah ayah mengurai waktu

meneteskan keringat dan rindunya

untukku

Waktu memang tak akrab

denganku dan ayah

tapi di dalam buku gambarku

tak pernah ada duka atau badai

hanya sederet sketsa

tentang aku, ayah dan tawa

yang selalu bersama

Senin, 12 Juli 2010

Bila Aku Jatuh Cinta


Allahu Rabbi aku minta izin
Bila suatu saat aku jatuh cinta
Jangan biarkan cinta untuk-Mu berkurang
Hingga membuat lalai akan adanya Engkau

Allahu Rabbi
Aku punya pinta
Bila suatu saat aku jatuh cinta
Penuhilah hatiku dengan bilangan cinta-Mu yang tak terbatas
Biar rasaku pada-Mu tetap utuh

Allahu Rabbi
Izinkanlah bila suatu saat aku jatuh cinta
Pilihkan untukku seseorang yang hatinya penuh dengan
kasih-Mu
dan membuatku semakin mengagumi-Mu

Allahu Rabbi
Bila suatu saat aku jatuh hati
Pertemukanlah kami
Berilah kami kesempatan untuk lebih mendekati cinta-Mu

Allahu Rabbi
Pintaku terakhir adalah seandainya kujatuh hati
Jangan pernah Kau palingkan wajah-Mu dariku
Anugerahkanlah aku cinta-Mu...
Cinta yang tak pernah pupus oleh waktu

Minggu, 11 April 2010

ETIKA PROFESI

ETIKA PROGRAMMER DI INDONESIA
(Aris Badarrudin Thoha,S.Kom, S.Ag)


Disusun Oleh :
1. Sri Retnaningsih (12090648)
2. Wiji Areksi (120906)
3. Sika Ardi Meliala (120906)
4. Siti Kurniatul Hasanah (12090660)
5. Dewi Nur Azizah (12090690)
6. Puput Lestari (12090664)
7. Lianti Junita Sari (120906)

ETIKA PROFESI
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN ILMU KOMPUTER EL RAHMA
YOGYAKARTA
2010
ETIKA PROGRAMMER

I. PENDAHULUAN
Teknologi adalah satu ciri yang mendefinisikan hakikat manusia yaitu bagian dari sejarahnya meliputi keseluruhan sejarah. Teknologi, menurut Djoyohadikusumo (1994, 222) berkaitan erat dengan sains (science) dan perekayasaan (engineering). Dengan kata lain, teknologi mengandung dua dimensi, yaitu science dan engineering yang saling berkaitan satu sama lainnya. Sains mengacu pada pemahaman kita tentang dunia nyata sekitar kita, artinya mengenai ciri-ciri dasar pada dimensi ruang, tentang materi dan energi dalam interaksinya satu terhadap lainnya. Saat ini teknologi telah digunakan secara intensif pada berbagai komunitas masyarakat seperti institusi, organisasi, perusahaan dan lain sebagainya. Melihat pernyataan tersebut dapat disimpulkan bahwa teknologi memiliki peranan yang penting dan dalam penerapannya harus sesuai dengan kode etik yang berlaku agar tidak terjadi penyimpangan atau penyalahgunaan. Secara etimologis etika berasal dari bahasa Yunani Kuno yaitu “ethos” yang berarti adat istiadat atau kebiasaan yang baik.. Etika adalah satu set
kepercayaan,standar atau pemikiran yang mengisi suatu individu, kelompok atau masyarakat. Salah satu profesi dibidang IT adalah programmer. Seorang programmer harus memiliki pengalaman yang cukup dan benar-benar menguasai ilmu di bidangnya, selain itu seorang programmer juga harus mematuhi kode etik yang berlaku. Maka dari itu kode etik programmer perlu dipelajari, dimengerti, dan dijalankan.

II. KELOMPOK BIDANG PROGRAMMER
Profesi seorang programmer dapat dikelompokkan menjadi beberapa bidangsebagai 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 :
a) Menulis program (coding) dengan menggunakan pemograman tertentu ( VB, VB.NET, Java ).
b) Memahami konsep basis data.
c) Mampu mengoperasikan aplikasi basis data.
d) Melakukan pengujian terhadap aplikasi program.
e) Melakukan analisis terhadap aplikasi program.
f) Melakukan riset , desain, dokumentasi dan modifikasi aplikasi software.
g) Melakukan analisis dan memperbaiki kerusakan (error ) pada software dengan tepat dan cara yang akurat.
h) 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.

III. 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 dengan sengaja.
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 meminta ijin.
5. Tidak boleh mencari keuntungan tambahan dari proyek yang didanai oleh pihak kedua tanpa ijin.
6. Tidak boleh mencuri software khususnya development tools.
7. Tidak boleh menerima dana tambahan dari berbagai pihak eksternal dalam suatu proyek secara bersamaan kecuali mendapat ijin.
8. Tidak boleh menulis kode yang dengan sengaja menjatuhkan kode programmer lain untuk mengambil keunutungan dalam menaikkan status.Kelompok 1 “Etika Programmer”
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.

IV. FAKTOR YANG MEMPENGARUHI KUALITAS PRODUK DAN PRODUKTIVITAS PROGRAMMER
1. Kemampuan Pribadi
a. Dua aspek dasar kemampuan : kecakapan umum dan terbiasa dengan aplikasi tertentu.
b. Seorang yang cakap dalam pemrograman belum tentu cakap pula dalam aplikasi sains, atau sebaliknya.
c. Ketidakakraban dengan lapangan aplikasi akan menghasilkan produktivitas rendah dan kualitas yang buruk.
d. Yang dimaksud dengan kecakapan umum adalah kemampuan dasar dalam menulis program komputer dengan benar sedangkan ukuran
produktivitas seorang programmer adalah banyak baris yang dihasilkan oleh programmer tersebut per hari.Kelompok 1 “Etika Programmer”
2. Komunikasi Team
a. Meningkatnya ukuran produk yang dihasilkan akan menurunkan produktivitas programmer akibat meningkatkanya kerumitan antara komponen-komponen promgram dan akibatnya komunikasi yang perlu dilakukan antara programmer, manajer dan pelanggan.
b. Jumlah lintasan komunikasi antar programmer yang terjadi dalam sebuah proyak adalah n(n-1)/2, dimana n adalah jumlah programmer yang terlibat dalam proyek tersebut.
c. Penambahan lebih banyak programmer dalam sebuah proyek yang sedang bejalan akan menurunkan produktifitas, kecuali jika para programmer baru tersebut mempunyai tugas yang tidak bergantung kepada hasil kerja programmer lama.
d. Hukum Brooks : Adding more programmers to a late project may make it later.
3. Kerumitan Produk
Tiga level kerumitan produk : program aplikasi, program utility, programlevel sistem.
4. 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.
5. Pendekatan Sistematis
Sistem menetapkan teknik dan prosedur baku. pembakuan dalam pengembangan dan pemeliharaan perangkat lunak masih belum mantap.
6. Kendali Perubahan
Kelenturan sebuah produk perangkat lunak merupakan sebuah kekuatan, tetapi di pihak lain juga merupakan sumber kesulitan dalam proses perancangannya. perubahan terhadap produk harus tetap meminta persetujuan manajer sebagai penanggung jawab proyek. Dampak perubahan harus dapat ditelusuri, diuji, dan didokumentasikan.
7. Tingkat Teknologi
Peran penggunaan teknologi dalam proyek perangkat lunak misalnyamenyangkut 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.
8. Tingkat Kehandalan
Setiap produk harus mempunyai keandalan standar. Peningkatan keandalan dihasilkan melalui perhatian yang sangat besar pada tahap analisa. Peningkatan keandalan akan menurunkan produktivitas. Boehm : rasio produktivitas antara dua produk dengan keandalan terendah dengan yang tertinggi adalah 2:1.
9. Pemahaman Permasalahan
Pelanggan adalah penyumbang utama terhadap kegagalan dalam memahami masalah adalah:
a. Tidak memahami permasalahan perusahaannya,
b. Tidak mengerti kemampuan dan keterbatasan komputer,
c. Tidak mempunyai pengetahuan dasar tentang logika dan algoritma,
d. Software engineer tidak memahami lapangan aplikasi, gagal
mendapatkan informasi kebutuha pelanggan karena pelanggan bukan seorang end user.
10. Ketersediaan Waktu
a. Penetapan lama proyek dan jumlah programmer terlibat harus mempertimbangkan kemampuan pribadi setiap programmer serta kemampuan komunikasi atar mereka.
b. Jumlah programmer yang makin banyak akan meningkatkan overhead di antaranya akibat keperluan komunikasi.
c. Jumlah programmer yang makin sedikit berarti memperbanyak beban kerja kepada setiap programmer.
d. Proyek 1 bulan dengan 6 programmer bisa saja diganti dengan proyek 6 bulan dengan 1 programmer atau proyek 3 bulan dengan 3 programmer.
11. Persyaratan Ketrampilan
Berbagai keterampilan harus ada dalam sebuah proyek perangkat lunak,misalnya :
a. Keterampilan berkomunikasi dengan pelanggan untuk memastikan keinginannya dengan sejelas-jelasnya.
b. Kemampuan dalam pendefinisian masalah dan perancangan.
c. Kemampuan implementasi dengan penulisan program yang benar.
d. Kemampuan debugging secara deduktif dengan kerangka “what if ”.
e. Dokumentasi.
f. Kemampuan bekerja dengan pelanggan.
g. Semua keterampilan tersebut harus senantiasa dilatih.Kelompok 1 “Etika Programmer”
12. Fasilitas dan Sumber Daya
Fasilitas non teknis yang tetap perlu diperhatikan yang berkaitan denganmotivasi programmer misalnya : mesin yang baik, serta tempat yang tenang, atau ruang kerjanya dapat ditata secara pribadi.
13. 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.
14. 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.
15. Peningkatan Kualitas
Dua aspek yang menimbulkan keinginan untuk meningkatkan kualitas produk adalah seberapa banyak fungsi, keandalan, dan kemampuan dapat diberikan melalui sejumlah pengembangan, masalah mendasar dari keterbatasan teknologi perangkat lunak.

V. KETERAMPILAN YANG HARUS DIMILIKI SEORANG PROGRAMMER
Membaca kode sumber sebuah program, dari yang sederhana hingga relative kompleks, adalah keterampilan yang harus dimiliki oleh seorang programmer. Istilah program di sini digunakan tidak hanya dalam pengertian aplikasi utuh, namun juga mencakup level segmen kode, fungsi/subrutin, pustaka atau modul yang digunakan oleh sebuah aplikasi utuh. Manfaat dari terbiasanya kita membaca program adalah semakin banyaknya sumber informasi yang dapat kita gunakan untuk memecahkan masalah.Implementasi sebuah algoritma yang memodifikasi sebentuk struktur datadalam sebuah program dapat kita adaptasikan ke dalam program yang kita buatsendiri dengan konteks dan struktur data yang sama sekali berbeda. Terlepas darimanfaat pedagogisnya, sayangnya keterampilan ini tidak banyak diajarkan namunbaru terasa urgensinya saat kita disodori kewajiban memodifikasi program yangditulis dan sebelumnya dikelola oleh orang lain. Dengan hanya berbekal kode sumber dan dokumentasinya (yang, patut disayangkan, tidak selalu komprehensif), dalam keadaan seperti ini seorang programmer harus mampu melanjutkan pengelolaan program tersebut tanpa menghancurkan organisasi kode yang telah ada atau menambah kompleksitas yang tidak perlu ada. Di sisi lain keadaan ini akan jarang ditemui oleh rata-rata programmer, karena lebih sering penulis asli dari program itulah yang harus melanjutkan pengelolaan, setelah memindahkan perhatian pada hal lain selama beberapa waktu. Karenanya dapat disimpulkan bahwa secara umum, keterampilan yang harus dimiliki seorang programmer terkait dengan komprehensi kode sumber program, dengan derajat urgensi menurun(Hargo,2008), adalah:
1. Memahami kode sumber yang ditulis sendiri pada saat ia tidak lagi mengingat detail mekanisme dari program tersebut.
2. Melanjutkan pengelolaan, menyesuaikan, mengembangkan dan (bila perlu) merombaknya untuk menyesuaikan program dengan kebutuhan pengguna tanpa mengorbankan kemudahan perawatan di masa mendatang.
3. Memiliki kemampuan sebagaimana dijelaskan dalam point 1. dan 2. untuk program yang ditulis dan didokumentasikan oleh programmer lain.Kelompok 1 “Etika Programmer”
4. Membaca program untuk memperkaya perkakas yang dimiliki seorang programmer untuk memecahkan masalah.

VI. KEWAJIBAN PROGRAMMER
Buat para programmer, Coding adalah kewajiban. Sama halnya menghafal obat-obatan bagi dokter, maupun menghafal undang-undang bagi pengacara. Sebagian programmer menganggap dirinya spesial, karena tidak semua orang IT dapat menguasai salah satu (atau bahkan beberapa) bahasa pemrograman.Seorang programmer memiliki kewajiban sebagai berikut :
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. Untuk programmer profesional, pemahaman ini akan membuat programmer lebih siap untuk membuat aplikasi server yang biasanya multithreaded dan harus efisien digunakan dalam waktu yang lama. Pemahaman mendalam di salah satu sistem operasi juga merupakan nilai tambah yang signifikan. Dengan mengetahui
struktur internal sistem operasi (misalnya Linux), programmer dapat mengetahui berbagai pertimbangan dalam merancang aplikasi besar yang terus berkembang.
2. Memahami konsep dasar jaringan.
Sebuah aplikasi tidak dapat berjalan sendiri. Aplikasi tersebut pasti harusberhubungan dengan internet, melayani banyak pengguna, atau berhubungan dengan perangkat lain seperti handphone atau PDA. Untuk itu, pemahaman atas konsep jaringan sangat penting.
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 prokol 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 programmerlebih terbuka. Bahwa tidak ada bahasa yang one-fit-all, bahwa ada cara berpikir yang berbeda dalam tiap bahasa, bahwa komunitas tiap bahasa berbeda budayanya. Semua ini akan berkontribusi dalam pendewasaan seorang programmer dalam berdiskusi dan menanggapi perbedaan (terutama pendapat).
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.

VII. SIKAP PROGRAMMER TERHADAP KLIEN
1. Mempunyai sikap & kepribadian baik, komunikatif, mudah beradaptasi dengan lingkungan kerja, cetakan dan fleksibel.
2. Mampu bekerja berorientasi jadwal, mengatur pekerjaan multiple project dan nerkerja sama dalam team.
3. Membuat kontrak kerja dengan klien.
4. Menyukai dan mengerti dasar-dasar pemrograman.


Referensi dari
http://id.wikipedia.org/wiki/Etika
Artikel dari Galih Pranowo
http://www.gapra.blogspot.com

Selasa, 06 April 2010

Sekelumit Bentuk Profesionalisme



Hakim

Menguasai Hukum Acara adalah Bagian dari Tuntutan Profesionalisme Hakim
Bersikap profesional adalah tuntutan prilaku bagi setiap hakim. Sikap professional yang menjadi bagian dari kode etik prilaku jabatan mulia ini diharapkan akan mendorong terbentuknya pribadi hakim yang senantiasa menjaga dan mempertahankan mutu pekerjaan dan selalu berusaha meningkakan pengetahuan dan kinerja sehingga tercapai mutu hasil pekerjaan yang setinggi-tingginya yang efektif dan efisien. Salah satu untuk mencapai kualitas ini, hakim harus menguasai hukum acara.




Web Progammer

Menjalani profesi dibidang IT, banyak orang yang melakukannya. Tapi bagaimana menjadi seorang profesional IT sendiri, masih banyak yang belum menjalaninya.IT adalah ladang kerja yang saat ini mulai dilirik oleh pencari kerja. Maraknya lembaga pelatihan dan pendidikan formal maupun non-formal yang mendidik dan menghasilkan lulusan di bidang IT, adalah salah satu contoh makin digemarinya lahan kerja yang satu ini. Meski boleh dibilang tidak murah namun banyak lulusan SMU/sederajat yang akhirnya memilih pendidikan lanjutan di bidang IT.Puncak karir seorang profesional IT di perusahaan adalah menjadi CIO (Chief Information Officer), yaitu pimpinan tertinggi di dalam organisasi (fungsi) teknologi informasi. Salah satu hasil penelitian menyatakan bahwa top 5 kompetensi yang harus dimiliki oleh seorang CIO antara lain adalah:1.Kemampuan mendelegasikan tugas-tugas operasional2.Kemampuan menjalankan otoritas pengeluaran / finansiil3.Kemampuan menghindari posisi-posisi yang menimbulkan pertantangan4.Kemampuan menginisiasi atau menjalin hubungan dengan unit-unit diluar IT5.Kemampuan menggunakan bahasa dengan hati-hati (komunikasi verbal)

Selasa, 23 Maret 2010

Perubahan Proses Sosial/ Bisnis akibat Teknologi Informasi yang Melunturkan Nilai Etika Profesi Tradisional

Kasus Pertama.

Di era sekarang mulai semarak penggunaan teknologi dikalangan praktek kedokteran. Para dokter menggunakan progam tertentu untuk mengetahuipenyakit yang diderita oleh pasien sekaligus resepnya.

Pasien menyebutkan keluhan-keluhan yang dirasakan dan dokter menginputkan ke suatu progam, secara langsung nama penyakit beserta resepnya akan ditampilkan di layar.

Etika tradisonl yang hilang.

Ketika pasien berobat ke Dokter terjadi proses konsultasi untuk mengetahui penyakit yang diderita pasien, dari pross inilah secara tidak langsung terjalin silaturahim. Tapi semui itu telah trtgantikan dengan computer.

Kasus Kedua.

Dimana-mana terlihat orang-orang memegang benda kecil bernama handphone. Kita sadari, bahwa kita sudah sangat terpengaruh oleh benda itu sehingga tidak bias lepas darinya.

Dengan adanya handphone semakin mempermudah proses komunikasi, memperdekat jarak,dll.

Etika tradisional yang hilang.

Tapi apakah kita sdar dengan adanya handphone ada nilai-nilai tradisional yang hilang?? Dahulu orang-orang saling berkunjung, walaupun hanya untuk menanyakan sesuatu. Sekarang, jangan menanyakan sesuatu memberikan kabar gemburapun tinggal mengirim sms.