Jumat, Februari 25, 2011

20 Tips Singkat Fotografi

Berikut 20 tips singkat fotografi untuk anda menambah informasi dan kemampuan fotografi anda, saya yakin beberapa sudah pernah dilakukan tetapi semoga beberapa lainnya merupakan informasi baru. Klik tanda (jika ada) disebelah kanan masing-masing tip untuk melihat informasi yang lebih detail. Silahkan:

  1. Untuk melatih kemampuan panning anda, potretlah benda yang sedang bergerak dengan kecepatan normal (orang naik motor misalnya), gunakan mode shutter priority dan set shutter speed maksimal 1/30 detik, lebih lambat lebih baik. Perhatikan background anda!
  2. Untuk memotret makro (jarak super dekat), aktifkan fitur Live View kamera digital anda agar lebih mudah memeriksa depht of field dan fokus.
  3. Filter CPL (polarisasi) sangat berguna untuk menghilangkan pantulan sinar matahari di air dan kaca, dan juga berfungsi memperbaiki warna langit. Pernahkah anda mengenakan kacamata hitam dengan polariser?
  4. Saat memotret bayi/anak-anak, pastikan anda memusatkan perhatian ke mata. Tak ada yang bisa mengalahkan keindahan mata anak-anak.
  5. Megapiksel bukanlah fitur terpenting dari sebuah kamera, ukuran sensorlah fitur yang paling penting
  6. Untuk foto portait (wajah) di luar ruangan, usahakan ketika cuaca sedang mendung. Kalaupun tidak, carilah daerah yang redup dan tidak terkena sinar matahari secara langsung. Sinar matahari membuat bayangan yang keras di wajah.
  7. Ketika anda memotret di kondisi minim cahaya dan kesusahan menggunakan autofokus, gantilah dengan manual fokus. Fitur autofokus dikamera biasanya cukup lama mencari titik fokus di kondisi remang-remang.
  8. Untuk foto siluet, pastikan anda matikan flash serta gunakan mode sunset (untuk kamera pocket), untuk SLR gunakan mode manual dan ukurlah eksposur di area terang di belakang obyek.
  9. Download-lah buku manual versi pdf untuk kamera anda, sehingga anda mudah melakukan pencarian secara cepat untuk kata yang ingin anda ketahui dibanding harus membolak-balik halaman kertas.
  10. Sebelum berangkat memotret, periksa kembali setting kamera anda, jangan sampai anda mneggunakan setting yang salah (memotret landscape dengan ISO 1000 misalnya). Menurut para fotografer pro, urutan pengecekan yang baik adalah berikut: cek White Balance – aktifkan fitur Highlight warning – cek settingan ISO – cek ukuran Resolusi foto anda.
  11. Formatlah memory card hanya di kamera, jangan pernah memformat memory card dikomputer. Selain jauh lebih cepat dan mudah juga jauh lebih aman jika anda melakukannya di kamera.
  12. Jika anda memiliki kapasitas hard disk berlebih di komputer serta suka melakukan foto editing, gunakan format RAW saat memotret, jika tidak cukup gunakan JPG.
  13. Jika anda benar-benar menyukai fotografi landscape, fotolah di jam-jam berikut: dari jam 5 sampai jam 8 pagi, serta dari jam 4 sampai jam 7 sore.
  14. Ketika memotret, lihatlah area paling terang yang masuk ke viewfinder anda. Kalau terangnya terlalu mencolok dibanding area lain, gantilah sudut pemotretan.
  15. Untuk memotret HDR, gunakan mode auto bracket. Satu lagi: untuk foto HDR landscape yang dahsyat, tunggulah sampai muncul mendung sedikit, lalu mulailah memotret.
  16. Jika anda membeli lensa atau kamera bekas, pastikan anda melakukan transaksi dengan bertemu penjualnya secara langsung. Anda harus menguji barangnya, memegang dan mencobanya
  17. Sepanjang memungkinkan, gunakan settingan ISO serendah mungkin. Meskipun noise reduction bisa mengurangi noise yang dihasilkan oleh ISO yang tinggi, namun akan mengurangi detail foto secara keseluruhan.
  18. Kalau warna membuat foto anda terlalu “sibuk” dan ramai, ubahlah foto anda menjadi foto hitam putih
  19. Untuk menghasilkan foto hitam putih yang bagus, perhatikan kontras dalam foto anda. Semakin banyak kontras (area gelap dan terang yang beragam), semakin bagus foto hitam putih anda.
  20. Bawalah kamera kemanapun anda pergi, cara paling cepat meningkatkan kemampuan fotografi anda adalah dengan memperbanyak jam terbang, tidak ada yang lebih baik.

Tulisan dari Belajarfotografi.com

Rumus Cinta dalam Open Source

Pada tiap sesuatu ada karakter-karakter yang melekat kuat sehingga jika disebutkan karakter tersebut maka akan kembali pada sesuatu tersebut. Detik.com misalnya dikenal dengan beritanya yang cepat. Itulah karakter yang melekat pada Detik.com. Sama seperti Detik.com, open source pun memiliki karakter-karakter yang melekat dan identik sehingga mudah dikenali cukup dengan tahu karakter tersebut.

Ajaibnya, jika kita mau merunut ternyata karakter-karakter dalam open source tersebut memiliki banyak kesamaan dengan karakter dan rumus dalam cinta. Atau tepatnya dalam menjalin hubungan atas nama cinta.

1. Berani memulai


Jika anda mulai merasakan cinta kepada seseorang, anda akan melakukan sesuatu sehingga rasa cinta tersebut bisa terus hidup dan anda dapat memenangkan hatinya. Karena anda tahu bahwa dengan diam saja, maka yang terjadi adalah anda akan kalah dan tidak mendapatkan sang pujaan hati.

Begitu pun open source. Dunia open source adalah tempat dimana orang-orang berani memulai. Berani memulai untuk berubah. Orang-orang ini berani berubah karena mereka tidak suka akan sesuatu yang bersifat proprietary. Mereka ingin menang tanpa diatur. Mereka ingin menang karena mereka berusaha.

2. Memberi dan menerima


Dalam bercinta, dibutuhkan sebuah hubungan yang saling menguntungkan. Simbiosis mutualisme. Anda memberi kepada kekasih dan juga menerima apa yang diberikannya. Open source bisa terus hidup dan berkembang dengan baik adalah karena komponen-komponen di dalamnya mau saling memberi dan menerima. Sebuah kolaborasi dan teamwork.

3. Passion


Yang termasuk dibutuhkan dalam menjaga hubungan cinta adalah semangat dan gairah. Ketika seseorang tidak lagi bergairah dengan pasangannya maka ia akan mulai malas dan tidak bersemangat. Dan dapat ditebak apa yang akan terjadi sebagai akhir dari hal tersebut.

Dan secara alami open source menarik gairah dan memberikan semangat orang-orang yang ingin berubah. Orang-orang dalam dunia open source menjadi bersemangat dan bergairah karena tantangan dan hasil yang akan dicapai dari apa yang mereka kerjakan. Karena mereka tahu bahwa perubahan adalah mereka itu sendiri.

4. Percaya


Seorang bijak mengatakan, apalah arti sebuah hubungan yang dibangun tanpa kepercayaan. Seperti halnya cinta, dunia open source menuntut kepercayaan. Open source adalah pekerjaan bersama yang dilakukan dengan banyak orang dari seluruh dunia. Berbagai ras, suku, bahasa dan bangsa. Ada yang pernah bertemu dan banyak yang belum pernah. Tetapi mereka saling percaya dengan pekerjaan dan keahlian masing-masing.

5. Terbuka


Dalam membina hubungan, kepercayaan tak akan berarti tanpa keterbukaan. Kepercayaan dapat tumbuh dengan baik jika sifat keterbukaan juga dipelihara. Hanya dengan begitu sebuah hubungan dapat langgeng dan harmonis.

Open source, seperti namanya, adalah sesuatu yang bersifat terbuka. Baik pengguna maupun pengembang lain dapat membaca dengan jelas apa yang ada dalam kode tersebut dan apa yang akan dilakukannya. Dan terlebih lagi mereka juga dapat dengan mudah melakukan perubahan yang dirasa perlu.

6. Update

Membina hubungan bukan soal mudah. Ada masalah-masalah yang kadang membuat frustasi dan menjadikan hubungan renggang. Bisa jadi hanya disebabkan masalah sepele. Tetapi kita terus mencoba memperbaiki sehingga menjadi lebih erat dan lebih baik.

Dalam open source, istilah ini mirip dengan release early, release often. Sebuah software akan dirilis lebih awal sehingga dapat diuji coba. Dan ketika akhirnya dirilis, software akan diperbaharui dengan versi yang lebih baik dalam tempo yang cukup cepat. Hasilnya adalah sebuah software yang lebih baik setiap saat.

Mengurus cinta bukanlah perkara mudah. Tetapi dalam kenyataannya cinta terus ada dan tetap ada. Begitu pula open source, tidak mudah dalam perkembangannya tetapi akan tetap ada dan terus berkembang. Selamat belajar open source dan selamat mencinta!

Tulisan oleh Ahmad Saiful Muhajir

Rabu, Februari 23, 2011

Catatan Untuk Programmer Pemula

Akhir-akhir ini sering saya temui banyak programmer pemula baik yang belajar secara otodidak maupun yang sedang belajar di bangku perkuliahan sering mengeluh akan susahnya belajar programming. Yah, mungkin bagi mereka programming ini sedikit seperti hantu yang selalu menyambut di depan pintu kuliah, atau mungkin ketika ingin mempelajari bahasa pemrograman. Seperti momok yang menakutkan.

Programming itu indah. Programming itu mudah. Berikut beberapa catatan yang bisa di-implementasikan untuk menjadi seorang programmer yang baik.

Pelajari algoritma dasar / matematika dasar

Membuat program sebenarnya adalah menyelesaikan solusi atas masalah yang terjadi. Dalam penyelesaikan masalah ini, kamu sering dihadapkan permasalahan matematika. Sebagai contoh, membuat program sederhana untuk menghitung luas dari persegi panjang. Kamu akan membutuhkan pengetahuan akan rumus, perkalian, penambahan, pecahan, pengakaran dan operasi matematika lain. Tak ada program yang tidak membutuhkan operasi matematika seperti ini, kecuali program Hello World.

Kuasai ketiga basis bilangan lainnya, biner, oktal dan heksadesimal

Ini penting. Dalam kasus-kasus tertentu pengetahuan mu tentang tiga basis bilangan ini. Biasanya diperlukan dalam bidang enkripisi/dekripsi.

Familiar dengan sistem operasi selain Windows.

Jika kamu mengembangakan aplikasi berbasis web, kebanyakan platformnya berbasis LAMP(Linux Apache MySQL PHP). Untuk itu lah kamu harus tahu sistem operasi lain. Terkadang, walau bahasa pemrograman yang kamu gunakan mengusung fitur WORA(Write Once Run Anywhere) seperti Java, yang kamu tulis dengan sistem operasi Windows, belum tentu program tersebut berjalan dengan benar di Server Linux.

Manajemen memory

Pastikan kamu membebaskan memori ketika program mu diterminasi. Dan gunakan memory dengan sebaik mungkin dengan memilih tipe variabel dengan seksama. Jangan menggunakan variabel bertipe integer hanya untuk menyimpan angka 1-10. Tipe data Byte(Java) mungkin lebih cocok dalam hal ini.

Tidak tergantung dengan GUI editor.

Bagaimana jika kamu dihadapkan dengan suatu environtment yang mengharuskan kamu harus mengembangkan aplikasi dengan editor vi. What would you do? Mengomel kepada atasan dengan mengatakan, “Oh God. What the hell is this thing?“. Bisa-bisa kamu dipecat seketika.

Flexible terhadap environtment.

Bagaimana kamu dihadapkan dalam suatu kasus dimana resouce sangat terbatas. Kamu diharuskan mengembangkan aplikasi berbasis web dinamis di Linux dengan kapasitas penyimpanan 20 MB, RAM 32 MB. Apa yang akan kamu lakukan?

Mengetahui database

Tidak bisa dipungkiri, ini adalah faktor penting yang harus kamu ketahui. Jarang ada aplikasi yang tidak menggunakan basis data.

Pilih bahasa pemrograman yang akan kamu gunakan sebagai sarana belajar.

Ada banyak di luar sana. Ada Java, C, C#, Scala, C++ dan lain lain. Untuk pengembangan web bisa menggunakan PHP, Perl, Python RoR dan lain lain. Jangan telan semua. Tak ada yang satu orang pun di dunia ini yang menguasai seluruh bahasa pemrograman. Jangan paksakan. Nanti bisa bunting samping.

Regular expression

Ini adalah salah satu hal vital yang harus kamu ketahui. Tidak ada tapi-tapian. No more excuses. Regular ini sangat dibutuhkan dalam validasi data.

Network programming

Terkadang, kamu dihadapkan dengan suatu project untuk membuat aplikasi yang bisa saling berhubungan dengan koneksi TCP/UDP. Katakanlah aplikasi seperti Yahoo Messenger atau sebuah game yang bisa digunakan dalam jaringan. Lalu apa? Menyerah dengan yang satu ini?

Up to date

Ingat quote berikut ini. “Programmers should keep their skills up to date or they would far away behind“. Baca berita-berita terbaru seputar dunia pemrogaman atau IT secara general.

Speciality

Kamu ingin membuat kemampuan teknis mu di CV seperti ini?

Saya menguasai pemrograman
Java, PHP, Perl, Python, ROR, Assembly, C, C++, Ada, LISP, Haskell, C#, Axapta X++, Bash Scripting, Fortran, Cobol … bla bla bla…

Wow. You are really a super human dude. :lol:Apakah benar menguasai? Bukan sekedar “mengenal” doang dan hanya pernah membuat program Hello World??

Bahkan lebih hebat lagi jika kamu mencantumkan seperti ini di Resume mu.

Menguasai
Adobe Photoshop, Adobe Flash, Adobe InDesign, Corel Draw, Adobe Illustrator, Adobe Premiere Pro bla bla bla.

What the hell you are doing? Kamu programmer atau designer sih? :D

State dengan jelas kemampuan kamu dimana. Jangan dimakan semuanya. Itu tidak akan mungkin dikuasai seluruhnya. Kembali ke poin sebelumnya, Programmer harus up to date. Bagaimana kamu up to date jika kamu asyik dengan program design? Setahu saya membuat desain yang cantik itu butuh waktu berminggu-minggu dan dalam dua minggu kamu telah ketinggalan banyak hal di dunia pemrograman.

Jika kamu merasa lebih capable di Desain, maka ambil desain. Jangan dipaksakan. Jadilah orang yang mengusasi bidang tertentu(special). Bukankah yang spesial itu lebih mahal bayarannya? Seperti dokter spesial?

Jam terbang

Tentu saja. Semakin banyak jam terbang mu dengan dunia pemrograman akan membuat kemampuan mu semakin tajam. Cobalah buat program dengan ide-ide baru mu.

Languange is just a tools.

Bagimana jika kamu dihadapkan pada suatu permasalahan yang mengharuskan kamu menggunakan bahasa baru? Berteriak, “Oh, God. I’m half dead“. Jika terlalu takut dengan bidang ini, kenapa tidak banting setir saja menjadi tukang ojek saja? Maaf bukan maksud saya merendahkan pekerjaan tukang ojek, tapi sebagai programmer ingat poin pertama diatas. Yang penting itu kamu menguasai algoritma, bahasa itu hanyalah tools/alat.

Do not reinventing the wheels

“Yes, I want to write it down from scratch”. What?? Are you kidding me? Apa yang terjadi jika kamu dihadapkan terhadap sebuah project dengan waktu yang sangat singkat, yakni satu bulan dan kamu mau membuat aplikasi tersebut dari nol? Be smart dude. Ada framework-framework siap pakai di luar sana. Gunakan. Ubah sesuai keperluan mu. Don’t be so stupid. Don’t be just so cool by writing your own. Make a smart decision.

Komentar

Tentu kamu juga pernah merasa kesusahan membaca kode orang lain bukan? Oleh karena itu, berikan komentar pada fungi atau blok kode program yang mungkin sulit dimengerti oleh orang lain. Ini juga akan melatih mu untuk membuat dokumentasi program yang baik. Apabila pada suatu saat kamu berhenti mengembangkan sebuah aplikasi dan bertahun-tahun kemudian kamu ingin mengembangkan aplikasi tersebut, kamu tidak pusing-pusing lagi untuk membaca kode mu.

SFTM (Serch The F*** Manual)

Mengalami masalah dengan sebuah bahasa pemrograman/framework/database/? SFTM!!

RFTM (Read The F*** Manual)

Jangan mengeluh dulu kepada orang bahwa bahasa pemrograman ini tidak bisa begini, begitu. Baca dulu manualnya. Terkadang pemula pemrograman sering bertanya di forum yang penuh dengan orang yang sudah senior di bidang programming. Apa yang akan mereka katakan ketika masalah mu ada solusinya di Manual? Mereka akan mengatakan, RFTM!!

Break down the processs

Ya. Break down bisnis proses aplikasi yang besar menjadi proses-proses yang lebih kecil untuk memudahkan kamu menyelesaikan aplikasi. Bagaimana kamu bisa memindahkan sebuah batu sebesar rumah sekaligus? Tentu akan kamu pecah-pecah dulu batunya dan memindahkannya sedikit demi sedikit bukan?

Flowchart

Setelah kamu mem-break down sebuah proses besar, gambar proses tersebut dalam sebuah flow-chart. Hal ini akan memudahkan kamu untuk mengubah/memodifikasi aplikasi mu dikemudian hari.

SLDC(Software Development Life Cycle)

Ini bagian penting yang juga harus kamu kuasai. Bagaimana me-manage project software dengan baik

Ada yang mau menambahkan? Dengan senang hati akan saya pindahkan ke tulisan ini.


Dari : Catatan Untuk Programer Pemula oleh Ganda Manurung