Tuesday, April 30, 2013

ReadMe Project: MS Access, MS Excel, Raize Component dan Report Builder

Overview Project

Oleh Eko Indriyawan
Membuat Aplikasi berbasis Data(Database) dengan menggunakan bahasa pemrograman Delphitidaklah susah atau sulit yang seperti kita bayangkan. Dan sering kali budaya manusia kita adalah selalu merasa takut, minder atau tidak percaya diri ketika mendengar istilah yang dianggap sangat asing dan terkesan Modern(dibaca: tingkat tinggi). Sekalipun begitu, akan tetap saja terasa susah kalau memang belum merasa familiar dan nyaman dengan hal tersebut.

Pada Dokumen ini akan dijelaskan kepada Anda(dibaca: Delphier) tentang banyak hal dan wawasan seputar bagaimana cara bakerja membuat Project Delphi 7 dengan menggunakan Database MS Access dan MS Excel.

Database MS Access dicontoh Project ini akan difokuskan untuk penyimpanan Data Aktif. Sedangkan MS Excel digunakan untuk penyimpanan Data Pasif.

Kemudian didalam Project ini juga akan dilengkapi dengan Command-command Standard yaitu:

  • New (Tambah)
  • Edit
  • Delete (Hapus)
  • Refresh
  • Save (Simpan)
  • Ulang
  • Print (Cetak)
  • Export
  • Import


Pada hampir setiap menu seperti Programer, Klien, Proyek dan lain-lain selalu dilengkapi dengan command-command diatas. Tentunya Anda bisa mengembangkan lagi sesuai dengan kebutuhan Aplikasi yang ingin anda ciptakan.

Contoh Project ini cukup kompleks dan bisa menjadi pengantar yang cukup bagi Rekan-rekan Delphier di seluruh Indonesia untuk dapat membuat sebuah program Aplikasi berbasiskan Data.

Fitur-fitur Project

Project ini dilengkapi dengan fitur-fitur yang cukup umum dan penting dan menjadi syarat umum dari sebuah program Aplikasi.

  • Fitur Pengolahan Data, meliputi bagian Tambah, Edit, Hapus, Refresh
  • Fitur Export/Import Data
  • Fitur Report Cetak(Print)

Tentunya contoh ini bisa anda kembangkan lebih untuk memunculkan fitur-fitur yang lain.

Komponen Pihak Ketiga(Third Party) yang digunakan didalam Project

Berikut ini adalah daftar komponen yang digunakan dalam contoh Project ini:

  • Raize Component, Raize Software
  • Report Builder, Digital Metaphors Corporation

Anda bisa menambahkan dan mengkombinasikan dengan fitur yang lain dan sesuaikan dengan kebutuhan.

Komponen Standard yang digunakan didalam Project

Didalam project ini ditunjukkan tentang penggunakan komponen penting seperti:

  • TActionList dengan TAction-nya
  • TImageList
  • TADOConnection
  • TADOStoredProc
  • TToolBar
  • TPopUpMenu

TActionList

Komponen ini digunakan untuk mengelola TAction. TAction adalah sebuah komponen yang digunakan untuk menangani suatu proses tertentu. TAction sendiri bisa diasosiasikan kepada kontrol-kontrol seperti TBUtton, TToolButton dan atau turunannya. Selain untuk kontrol juga bisa diasosiasikan dengan TMenuItem untuk keperluan PopUp.

Komponen TAction memiliki sebuah property ImageIndex. Property ini digunakan untuk mengontrol index icon dari sebuah TToolButton. Index itu nanti mengacu kepada komponen TImageList sebagai container daripada Icon.

TImageList

Komponen ini digunakan untuk mengelola icon-icon yang nantinya integrasikan dengan komponen TToolBar.

Selain komponen diatas juga digunakan komponen standard seperti TButton, TEdit dan TLabel.

TADOConnection

Komponen ini digunakan untuk menghubungkan komponen Dataset ke Database engine. Komponen dataset disini adalah TADOStoredProc.

TADOStoredProc

Komponen ini digunakan untuk mengakses query yang ada didalam database MS Access. Perhatikan pada bagian Hal penting untuk mendapatkan informasi lebih detail tentang cara penggunaan dari komponen TADOStoredProc.

TToolBar

Komponen ini digunakan untuk mengelola tombol-tombol toolbutton. Tombol-tombol ini sangat unik karena bentuknya yang mini dan lebih informatif ketika divisualisasikan dengan sebuah icon.

TPopUpMenu

Komponen ini digunakan untuk menambah kesan profesional, dan juga informasi kemudahan dalam menggunakan aplikasi seperti informasi Shortcut untuk command-command tertentu.

Query-Query dalam database MS Access

Seperti telah saya ulas pada dokumen sebelumnya tentang penggunaan Stored Procedure untuk menggantikan peran query diaplikasi client, bahwa database MS Access juga bisa diimplementasikan penggunaan stored procedure, hanya saja nama didalam database MS Access menyebut Stored Procedure dengan object Query.

Berikut ini contoh-contoh query yang bisa anda buat didalam database MS Access dan sudah diterapkan dan jalan pada contoh project https://www.facebook.com/groups/kppdi/10151642762050850.

  • Query Select
  • Query Insert
  • Query Delete
  • Query Update

Penjelasan Project

Project ini dikembangkan masih cukup sederhana, tapi memiliki fungsi yang standard seperti tindahakan penambahan data, pengeditan data, penghapusan data hingga pencarian data.

Dengan menggunakan Database Engine MS Access 2003, anda bisa melihat bagaimana project ini bisa menghubungkan sebuah database dengan menggunakan Delphi.

Pada bagian versi pertama difokuskan pada proses standard dan belum dilengkapi dengan fitur tambahan seperti popup menu dan shortcut.

Hal Penting

Berikut ini adalah hal-hal penting yang harus diperhatikan terkait pembuatan aplikasi database dengan menggunakan database ms access dan Delphi.

  • Berikan nilai property Prepared untuk setiap penggunaan komponen TADOStoredProc dengan nilai True. Tujuan daripada tindakan ini adalah untuk memastikan nilai-nilai parameter yang dimasukkan adalah nilai yang terbaru. Kalau tindakan ini tidak anda lakukan, maka ketika anda mencoba memberikan nilai pada parameter-parameter yang dimiliki oleh komponen TADOStoredProc tetap mengacu kepada nilai yang pertama kali ditentukan. Mungkin bagi yang belum pernah tahu penanganan kasus ini akah terasa aneh dan bingung. Oleh karena itu, mohon diperhatikan dengan betul isu ini ketika kelak bekerja dengan menggunakan query yang dimiliki oleh database MS Access.
  • Kemudian terkait hal-hal didalam database MS Access. Kita sering kali membuat query yang berparameter dengan mengawali tanda ":". Tentu kalau kita membuat parameter dengan cara ini akan membuat size dari parameter yang susah untuk diprediksi secara pasti. Ada baiknya setiap kali membuat query yang memiliki parameter, Anda deklarasikan parameter tersebut. Keuntungannya adalah anda bisa menggunakan parameter tersebut berkali-kali cukup sekali deklarasi.

FAQ

Berikut ini ditambahkan FAQ untuk membuat pemahaman yang lebih dalam dan semoga dapat bermanfaat bagi rekan-rekan Delphier yang mau dan akan belajar membuat aplikasi dengan menggunakan Database MS Access dan Delphi.

  • Apakah Nama Parameter pada komponen TADOStoredProc harus sama persis dengan nama parameter yang dideklarasikan pada Query didalam database MS Access?

Tidak. Nama parameter tidak harus sama persis, akan tetapi tipe data diharapkan harus sama persis atau se-tipe dengan parameternya. Kemudian anda pastikan juga jumlah parameter harus sama agar query dapat dijalankan dengan sebagaimana mestinya.

  • Bagaimana caranya supaya konfigurasi koneksi database MS Access bisa dinamis?

Untuk bisa dinamis, anda cukup menentukan nama database ms access saja dan pastikan untuk file tersebut diletakkan di-dalam sebuah folder yang menjadi folder system atau folder dimana file aplikasi itu berada atau ditempatkan.

  • Apakah saya harus menentukan property Prepared pada komponen TADOStoredProc dengan nilai True?

Ya. Anda harus melakukan ini untuk memastikan nilai parameter adalah nilai yang terbaru. Kalau anda tidak lakukan tindakan ini akan menyebabkan data tidak actual atau tidak up to date sekalipun anda coba untuk isikan dengan nilai yang baru.

Sehingga ini menjadi bagian yang sangat penting. Kalau anda bekerja dengan cara yang sama untuk database MS SQL Server tidak perlu melakukan tindakan ini. Sehingga ini tolong diperhatikan betul dan selalu diingat-ingat ketika bekerja dengan menggunakan database MS Access.

  • Ketika kita bekerja dengan menggunakan aplikasi MS Access, saat kita menggunakan fitur LIKE, kita gunakan karakter *. Apakah didelphi juga bisa melakukan dengan menggunakan karakter tersebut?

Betul. Kalau kita bekerja dengan menggunakan aplikasi Database MS Access. Kita akan menggunakan karakter * saat kita gunakan fitur LIKE. Didelphi kita tidak menggunakan karakter itu. Karakter yang digunakan tetap sama seperti ketika bekerja dengan menggunakan database MS SQL Server ataupun database engine yang lain yaitu %.

Dengan demikian, anda tidak perlu mengirimkan karakter * dan menggantikannya dengan %. Pada contoh project yang dicontohkan disini sudah diberikan contoh penggunaanya dengan menggunakan karakter %.

...
procedure TForm2.PData04Execute(Sender: TObject);
begin
with Form1,SPSelect do
  begin
  {
  Disable Control untuk menghindari efek kedip
  }
  DisableControls;
  {
  Close DataSet
  }
  Close;
  {
  Menentukan Parameter Input
  }
  Parameters[0].Value := '%'+IN010101.Text+'%';
  {
  Open DataSet
  }
  Open;
  {
  Enable Control
  }
  EnableControls;
  end;
end;
...

  • Apakah kita bisa membuat Parameter dengan cara yang lebih mudah dan nyaman setiap kali menambahkan atau mengedit query pada database MS Access?

Bisa. Sangat membosankan memang...kalau kita mendeklarasikan Parameter dan bahkan mengubah-ubah urutan secara manual melalui script. Aplikasi dari database MS Access sudah menyediakan fitur untuk menambahkan parameter dengan menggunakan GUI yang cukup mudah sekali untuk digunakan dalam penambahan, pengeditan dan bahkan mengurutkan sebuah parameter agar lebih mudah untuk dikelola dan digunakan.

Anda bisa memanfaatkan fitur ketika query yang anda buka ditampilkan dengan pane Design View. Silahkan buruan manfaatkan fitur ini jika anda belum pernah mengetahui dan atau mencoba sebelumnya.

  • Kenapa saya tidak bisa mengkoneksikan TADOConnection ke MS Excel?

Memang perlakukan untuk TADOConnection terhadap MS Access dan MS Excel berbeda. Jika ketika mengkoneksikan ke MS Access berhasil kemudian memutuskan koneksi dan melakukan koneksi ulang masih bisa dilakukan cukup memberikan nilai Toggle dengan True dan False pada bagian property Connected, maka perlakuan tersebut ternyata tidak bisa diterapkan kepada MS Excel.

Begitu kita berhasil melakukan koneksi ke MS Excel dengan menggunakan TADOConnection, kemudian kita memutuskan koneksinya dan dilanjutkan dengan melakukan koneksi lagi, maka kita tidak dapat melakukannya layaknya ketika mengkoneksikan MS Access.

Solusi untuk isu diatas adalah Anda harus menentukan konfigurasi secara manual untuk Field "Extended Properties" dengan nilai "Excel 8.0". Apabila tindakan itu tidak anda lakukan, maka anda tidak bisa melakukan koneksi dengan sukses.

Kemudian kalau anda menginginkan trik yang cukup bagus agar memiliki kesamaan karakter dengan MS Access, silahkan anda ikuti langkah berikut ini:

  1. Silahkan anda koneksikan TADOConnection ke database MS Excel.
  2. Kemudian anda lakukan copy ConnectionString dari komponen TADOConnection setelah berhasil dikoneksikan dengan Database MS Excel.
  3. Setelah itu Anda putuskan koneksinya
  4. Paste-kan ConnectionString tadi ke property ConnectionString.
  5. Lanjutkan dengan menghubungkan kembali TADOConnection ke Database MS Excel.
  6. Jika berhasil, maka anda tidak perlu lagi untuk selalu menentukan field "Extended Properties" berikut isi-nya.

  • Kita tahu bahwa melalui Aplikasi yang kita buat dengan Delphi tidak bisa melakukan penghapusan Data yang ada didalam Sheet dari Database MS Excel. Bagaimana cara mengatasinya ketika ingin melakukan proses Export agar tidak terjadi duplikasi Data?

Betul sekali. Memang tidak bisa melakukan proses penghapusan Data atau Record yang ada didalam suatu Sheet yang dimiliki oleh Database MS Excel. Untuk itu, langkah yang bijak dalam melakukan proses Export data ke excel adalah dengan cara melakukan pengeditan data.

Dengan mengacu contoh yang ada didalam project ini, proses export data dilakukan dengan mengutamakan proses edit terlebih dahulu. Apabila ada data lebih, maka baru dilanjutkan dengan melakukan proses insert data baru.

Semoga pendekatan ini bisa dijadikan untuk solusi sementara sambil menunggu solusi lain yang lebih baik dan praktis.

  • Bagaimana cara cepat membuat Query di MS Access? Apakah kita bisa melakukan Copy dan Paste untuk query-query yang mirip?

Ya. Anda bisa melakukan duplikasi Query dengan menggunakan command(dibaca: perintah) Copy dan Paste terhadap query-query yang anda anggap mirip untuk menghemat waktu pembuatan query.

Cara melakukannya bisa diikuti dari langkah-langkah berikut ini:

  1. Pilih salah satu query
  2. Tekan tombol CTRL + C untuk melakukan Copy
  3. Kemudian anda lanjutkan dengan menekan tombol CTRL + V untuk melakukan Paste
  4. Setelah itu anda tentukan nama. Secara default, nama query yang baru akan mengacu nama query yang diduplikasi dan diawali dengan Copy Of
  5. Selesai

Versi Project

Berikut ini adalah daftar versi dari Project yang bisa anda bandingkan sendiri dari versi pertama hingga versi terbaru:


  1. Versi 01
  2. Versi 02
  3. Versi 03
  4. Versi 03 Raize Component
  5. Versi 04
  6. Versi 04 Raize Component
  7. Versi 05 Raize Component
  8. Versi 06 Raize Component - Report Builder
  9. Versi 07 Raize Component - Report Builder

Histori

Versi 07 Raize Component - Report Builder:

  • Ditambahkan file Excel "Data"
  • Ditambahkan fitur Export Data Programer ke Excel
  • Ditambahkan fitur Import Data Programer ke Excel
  • Ditambahkan fitur Clear Data Programer

Versi 06 Raize Component - Report Builder:

  • Ditambahkan komponen Report Builder
  • Ditambahkan Action Print untuk mencetak Laporan Proyek

Versi 05 Raize Component:

  • Menambahkan Form as Module untuk Manager, Proyek Baru, Proyek Data
  • Ditambahkan Action Menu Manager
  • Ditambahkan Action Menu Proyek Baru, Proyek Data
  • Ditambahkan tabel Manager dan Proyek Baru, Proyek Data
  • Ditambahkan Query-query Manager dan Proyek Baru, Proyek Data
  • Ditambahkan Action-action Manager dan Proyek Baru, Proyek Data
  • Ditambahkan PopUpMenu Manager dan Proyek Baru, Proyek Data
  • Ditampilkan kursor HandPoint pada tombol-tombol agar memberikan kesan yang lebih mantab.
  • Ditambahkan PathBar pada semua Halaman

Version 04 Raize Component:

  • Mengganti nama Unit2 menjadi UModuleFormUtama
  • Mengganti nama Form Form2 menjadi ModuleFormUtama
  • Menambahkan Form as Module untuk Klien, Programer dan Proyek
  • Ditambahkan Action Menu Programer
  • Ditambahkan Action Menu Proyek
  • Ditambahkan Action Menu Klien
  • Ditambahkan GroupBar
  • Perapian Nama-nama Komponen
  • Update Komentar
  • Bug: Waktu menekan tombol ulang ada input yang belum kosong
  • Pada saat refresh record kembali fokus ke posisi sebelum direfresh
  • Ditambahkan tabel Klien dan Proyek
  • Ditambahkan Query-query Klien dan Proyek
  • Ditambahkan Action-action Klien dan Proyek
  • Ditambahkan PopUpMenu Klien dan Proyek

Version 04

  • Ditambahkan Action Kembali lengkap dengan ShortCut Esc. Penambahan ini untuk membuat user merasa nyaman ketika ingin membatalkan proses pengeditan atau penambahan data baru.
  • Pada PopUpMenu TabSheet Input ditambahkan MenuItem untuk Action Kembali

Version 03 Raize Component:

  • Pengubahan Komponen Standard dari Version 03 dengan menggunakan komponen Raize Component.
  • Diaktifkan fitur RowSelect. Jadi ketika data di Grid dipilih akan terpilih untuk satu baris dan tidak satu cell saja.
  • PageControl tidak ditampilkan alias disembunyikan
  • Control-Control seperti TEdit dibuat menjadi terlihat lebih halus dan elegan dengan tampilan Frame.
  • Ditambahkan Action Kembali lengkap dengan ShortCut Esc. Penambahan ini untuk membuat user merasa nyaman ketika ingin membatalkan proses pengeditan atau penambahan data baru.
  • Pada PopUpMenu TabSheet Input ditambahkan MenuItem untuk Action Kembali

Version 03:

  • Mengubah Nama TabelBarang menjadi TabelProgramer
  • Ditambahkan kolom Perusahaan, Jabatan, Kota, Propinsi, dan Negara.
  • Mengubah nama-nama Query/StoredProcedure
  • Update Query/Stored Procedure
  • Perapian nama-nama komponen
  • Ditambahkan informasi hint melalui StatusBar dengan menggunakan event OnMouseMove
  • Ditambahkan procedure AfterConstruction pada bagian Form as Module untuk melakukan refresh data ketika aplikasi dijalankan.
  • Ditambahkan procedure AfterConstruction pada bagian Form Utama untuk mengaktifkan TabSheet Data saat ketika Aplikasi pertama dijalankan. Ini ditujukan untuk mengatasi ketika kita lupa mengaktifkan TabSheet Data ketika kita sedang membuka TabSheet yang lain. Sehingga tindakan ini akan membuat TabSheet selalu terlihat saat aplikasi dijalankan.
  • Diaktifkan fitur Hint pada semua komponen ToolBar

Version 02:

  • Salah Caption pada Action PData03 yang awalnya Delete menjadi Hapus
  • Salah Caption pada Action PData04 yang awalnya Hapus menjadi Refresh
  • Ditambahkan Shortcut untuk semua Action
  • Ditambahkan PopUpMenu untuk TabSheet Data, Input dan Grid

Version 01:

  • Initial version

Contributor
Berikut ini adalah daftar kontributor untuk artikel atau dokumen Membuat Aplikasi Database MS Access Dengan Delphi 7 bisa di download disini

Monday, April 15, 2013

RANGKUMAN PELAJARAN KOMPOSISI

Dear All,
Sedikit merangkum pelajaran komposisi dari berbagai referensi, beberapa diantaranya adalah sbb :

1. Komposisi Aturan Sepertiga (Rule of Thirds), 

“From Mommy With Love”, Nikon D90, Lensa Nikkor AF 50mm f/1.8D, 1/250s, F/1.8, ISO200
Komposisi gambar sepertiga seperti ini adalah komposisi yang paling sering digunakan, variannya antara lain :

FrameAway Golden Thirds composition pattern 

- Nautilus Spiral/Fibonacci,

Nautilus Spiral composition pattern 

- Golden Diagonal,

Golden Diagonal composition pattern

- Golden Diagonal Variation, 
 
Golden Diagonal composition pattern 

- Diagonal and Arc.
 
Diagonal and Arc composition pattern


2. Komposisi Spiral Fibonacci

 

“Pretty Ass”, Nikon D90, Lensa Nikkor AF 105mm f/2DC with Raynox, 0.5s, F/14, ISO100
Komposisi Fibonacci ini akan lebih baik lebih diimplementasikan dalam capture yang memiliki unsur garis lengkung yang dominan.
Komposisi Fibonacci adalah perwakilan grafis dari suatu urutan nomor yang didapatkan dari penjumlahan dua angka sebelumnya : 0, 1, 1, 2, 3, 5, 8, 13,…
Di sekeliling kita komposisi bentuk spiral ini banyak dijumpai seperti pada rumah kerang/keong, bunga, gelombang laut dlsb. Dalam pengaturan komposisi, spiral Fibonacci dapat digunakan untuk memperkirakan susunan elemen-elemen tersebut dapat tersusun dengan baik, alur dari spiral fibonaci sangat bermanfaat untuk mengarahkan pandangan mata pada Point of Interest (POI). (LIHAT FOTO-FOTO WEEKLY CHALLENGE TEMA CURVE)

3. Komposisi Line/Elemen Garis
“Can’t Smile Without You”, Nikon D90, Lensa Nikkor AF 50mm f/1.8D, 1/400s, F/2.5, ISO100
Elemen garis mudah ditemukan pada pagar, jalan atau terowongan. Jika digunakan dengan tepat, memasukkan elemen garis kedalam gambar sangat efektif untuk meningkatkan daya tarik foto (LIHAT FOTO-FOTO WEEKLY CHALLENGE TEMA LINES)

4. Komposisi Pattern dan Pola
“Tanggal Tua”, Nikon D90, Lensa Nikkor AF 50mm f/1.8D, 1/100s, F/4.0, ISO100
Disekeliling kita, mudah sekali ditemukan bentuk pola berulang, baik di alam maupun buatan manusia. Untuk menjadikan obyek tersebut menarik dari sisi fotografi, anda hanya perlu memilih perspektif dan focal length lensa yang digunakan dengan tepat. Semakin besar struktur dan semakin pendek fokal length lensa, maka struktur tersebut akan memiliki kesan lebih kuat. Namun anda jangan terpaku pada struktur dan pola dari scene yang luas. Dalam detail objek makro yang berukuran kecil, terkadang terdapat struktruk dan pola yang menarik jika direkam dalam bidang foto yang terbatas. (LIHAT FOTO-FOTO WEEKLY CHALLENGE TEMA PATTERN DAN POLA)

5. Komposisi Framing
“Take Me Out”, Nikon D90, Lensa Tokina ATX Pro DX 11-16mm f/2.8D, 1/125s, F/4.5 at 16mm, ISO200
Komposisi ini digunakan untuk mempertegas batas-batas gambar, dimana saat gambar banyak melibatkan ruang kosong. bisa dengan menambahkan frame alami, seperti ran ting, pohon, daun, pintu, atau jendela dlsb. Frame juga dapat membatasi elemen gambar yang tidak perlu jiika digunakan dengan tepat,
sehingga frame-frame tersebut membantu mengarahkan perhatian mata langsung tertuju pada Point of Interest (POI). Frame tidak harus focus, kecuali, frame tersebut memiliki motif yang cukup penting dan merupakan bagian yang tak terpisahkan dari gambar. (LIHAT FOTO-FOTO WEEKLY CHALLENGE TEMA FRAME)

6. Komposisi Perspektif
Jika semua obyek diambil dengan ketinggian sejajar, hasilnya cenderung biasa-biasa saja. Cobalah untuk merekayasa sudut pemotretannya dengan mengambil dari posisi yang lebih tinggi bird’s eye view atau sebaliknya frog view. Terkadang hasilnya jauh lebih menawan.(LIHAT FOTO-FOTO WEEKLY CHALLENGE TEMA FROG’S VIEW DAN BIRD’S EYE VIEW)
Contoh : Bird’s Eye View
“Handuk Merah”, Nikon D90, Lensa Tokina ATX Pro DX 11-16mm f/2.8D, 1/125s, F/2.8 at 16mm, ISO200
Contoh : Frog View
“Frog View Style”, Nikon D90, Lensa Nikkor AF 50mm f/1.8D, 1/160s, F/1.8, ISO100

7. Komposisi Simetris
“Mertapada Toll Gate”, Nikon D90, Lensa Tokina ATX Pro DX 11-16mm f/2.8D, 1.6s, F/22 at 11mm, ISO1000
Secara umum, Komposisi ini sedikit bertentangan dengan aturan komposisi, jika kita salah mengimplementasikannya. komposisi ini cenderung statis (death center), namun jika kita benar mengimplementasikan maka komposisi tsb justru mampu memberikan hasil yang terbaik. Komposisi simetris paling sering digunakan dalam foto arsitektur. Komposisi tersebut memudahkan mata mengenali scene secara keseluruhan dan memberikan bobot sama untuk setiap elemen visual gambar.

8. Komposisi Vertikal atau Horizontal
“SCBD”, Nikon D90, Lensa Tokina ATX Pro DX 11-16mm f/2.8D, 2.5s, F/2.8 at 11mm, ISO200
Seperti yang pernah disampaikan salah satu suhu IPC, mata manusia lebih terbiasa melihat sesuatu dalam format lansekap atau horizontal, kalo tidak salah setara dengan lensa 14mm dan kebanyakan foto juga diambil dalam format h orizontal. Oleh sebab itu, bidang sensor dan viewfinder pada kamera juga mengadopsi format tersebut.
Format tersebut belum tentu menjanjikan tampilan yang menarik. Pada situasi tertent u, dimana elemen garis vertikal sangat dominan, gambar yang diambil dalam format potrait atau vertikal cenderung lebih baik.
Elemen garis horizontal dapat memberikan kesan luas dan lebar. Sedangkan elemen garis vertical memberikan kesan tinggi dan gagah. Oleh karena itu, format horizontal sering digunakan pada foto pemandangan, sedangkan format vertikal digunakan pada foto potret.

9. Komposisi Ruang Aktif
“SCBD”, Nikon D90, Lensa Tokina ATX Pro DX 11-16mm f/2.8D, 1/8s, F/2.8 at 14mm, ISO100
Saat melihat obyek bergerak, secara naluriah mata akan mengikuti kemana obyek tersebut bergerak. Namun, saat melihat gambar obyek bergerak dan tiba-tiba ruang di depannya habis, muncul rasa ingin tahu kearah mana obyek tersebut bergerak. Akhirnya, perasaan tersebut membuat gambar menjadi kurang menarik. Karena itu, pada foto objek bergerak, perlu diberikan ruang gerakan didepanya supaya ruang tersebut tidak “mati”. Ruang gerakan tersebut dinamakan sebagai ruang aktif.

10. Komposisi Detil/Makro
“Pretty Ass”, Nikon D90, Lensa Nikkor AF 105mm f/2DC with Raynox, 20s, F/18, ISO125
Komposisi ini digunakan jika ingin mendapatkan gambar detil motif, agar tampilan motif tersebut lebih menonjol, kita bisa capture dari dekat untuk m endapatkan detilnya, atau dengan membatasi area gambar dengan menggunakan fasilitas zoom lensa, lensa makro atau bahkan bisa dengan melakukan penyamaran. Semakin baik detail yang terekam, semakin jelas pesan yang ingin disampaikan lewat gambar. Dengan memotret dari dekat, detil gambar dapat dipilih dengan lebih tepat.

11. Komposisi Simplicity
“Brrrrrr”, Nikon D90, Lensa Nikkor AF 50mm f/1.8D, 1/1000s, F/1.8, ISO200
Komposisi ini digunakan pada scene yang banyak menggunakan elemen visual gambar yang berlebihan, buat Foto yang hanya menampilkan elemen visual seperlunya saja, hal ini justru sering memiliki tampilan yang lebih menawan.
Bukankah foto itu hanya menyampaikan pesan satu tema?. Teknisnya bisa kita lakukan dengan seleksi fokus dengan aperture besar (buat background menjadi Blur atau Bokeh).

12. Komposisi dengan Memilih Foreground yang Menarik
“Kampung Sari Laut”, Nikon D90, Lensa Tokina ATX Pro DX 11-16mm f/2.8D, 30s, F/10 at 11mm, ISO100
Banyak foto pemandangan yang menakjubkan tapi masih terkesan datar dan membosankan. hal tersebut biasanya disebabkan karena ketiadaan elemen Foreground. Padahal Foreground dapat menciptakan komposisi berjenjan g yang memperkuat efek spasial pada gambar. Saat melihat sebuah gambar pemandangan, pandangan mata sering kali lebih cepat tertuju pada pada objek di kejauhan. Efek kedalaman pada gambar, kita harus bisa memanfaatkan objek seperti bebatuan, tanaman bunga, atau benda lain yang berpotensi dijadikan Foreground. Foto yang diambil dengan foreground dapat diambil dengan lensa wide. Foreground diambil dari jarak dekat sehingga dapat lebih menonjol. Dengan cara tersebut, gambar akan memiliki kesan kedalaman yang lebih optimal. Supaya hasilnya lebih baik, gunakan aperture kecil antara f16-f18 (Seperti Tips Suhu Prio) supaya kamera memiliki cakupan ruang tajam yang lebih luas. 

BERANI MELANGGAR ATURAN??
Dalam fotografi pun terjadi pertentangan dalam implementasi aturan komposisi yag sudah ada. Sebagian mematuhi, sebagian merasa kebebasannya dibatasi. hal ini justru mengekang kreatifitas. bagi saya melanggar aturan komposisi sah-sah saja selama : gambar yang dihasilkan memiliki komposisi yang lebih baik, mempunyai seni fotografi lebih baik, dan lebih masuk akal.
sekian share pemahaman saya terhadap komposisi, mohon ditambahkan dan diperkaya lagi..

sumber : http://ipc.ikastara.org/

Tuesday, March 26, 2013

Cara Menjalankan Aplikasi Lain Dengan Visual Basic 6.0

Untuk mempelajari tutorial ini, cukup gampang dan mudah sangat di mengerti.
Kita cukup membutuhkan 1 buah command button .
Lalu masukkan code ini pada command1 di form .

    Private Sub Command1_Click()
       panggil = Shell("C:\Program Files\Winamp\winamp.exe",  vbMaximizedFocus)
    End Sub

Dimana vbMaximizedFocus bisa diganti sesuai kebutuhan kita / windowstyle , seperti :
  • vbHide = jendela aplikasi tidak tampak di desktop & taskbar, benar-benar tersembunyi
  • vbNormalFocus = jendela aplikasi muncul normal dengan fokus
  • vbMinimizedFocus = jendela aplikasi minimized dan mendapat fokus
  • vbMaximizedFocus = jendela aplikasi maximized dan mendapat fokus
  • vbNormalNoFocus = jendela aplikasi muncul normal tanpa fokus
  • vbMinimizedNoFocus = jendela aplikasi  minimized dan tanpa fokus

Gampangkan, itu saja tutorial kali ini .
Semoga membantu anda dalam pengcodean .


ref : Visual Basic FrameWork

Friday, March 8, 2013

tips landscapes

Tips ini ditulis oleh Pak Yadi Yasin, seorang fotografer senior dan member FN  untuk dibagi dengan para pembaca semua. Karena saya sendiri adalah penyuka landscape, maka saya rasa tulisan ini nantinya akan sangat bermanfaat bagi saya sendiri maupun pembaca.
Mungkin tips-tips ini ada yang terkesan kuno, oldies dan kurang “revolutionized” tapi mungkin ini adalah tips-tips dasar yang bisa dipergunakan sepanjang masa, terutama bagi yang ingin memulai mendalami landscape Photography.
Dari tips-tips dibawah akan juga menyinggung beberapa hal lain, seperti Rule of Third, Hyperfocal distance, dll yang hanya dijelaskan singkat krn bisa menjadi satu topik sendiri.




1. Maksimalkan Depth of Field (DoF)
Sebuah pendekatan konsep normal dari sebuah landscape photography adalah “tajam dari ujung kaki sampai ke ujung horizon”. Konsep dasar teori “oldies” ini menyatakan bahwa sebuah foto landscape selayaknya sebanyak mungkin semua bagian dari foto adalah focus (tajam). Untuk mendapatkan ketajaman lebar atau dgn kata lain bidang depth of focus (DOF) yang selebar2nya, bisa menggunakan apperture (bukaan diafragma) yang sekecil mungkin (f number besar), misalnya f14, f16, f18, f22, f32, dst.
Tentu saja dgn semakin kecilnya apperture, berarti semakin lamanya exposure.
Karena keterbatasan lensa (yang tidak mampu mencapai f32 dan/atau f64) atau posisi spot di mana kita berdiri tidak mendukung, sebuah pendekatan lain bisa kita gunakan, yaitu teori hyper-focal, untuk mendapatkan bidang fokus yang “optimal” sesuai dgn scene yang kita hadapi. Inti dari jarak hyper-focal adalah meletakan titik focus pada posisi yang tepat untuk mendapatkan bidang focus yg seluas-luasnya yg dimungkinkan sehingga akan tajam dari FG hingga ke BG.
Dengan DoF lebar, akibat penggunaan f/20 dan pengaplikasian hyper-focal distance untuk menentukan focus.

2. Gunakan tripod dan cable release
Dari #1 diatas, akibat dari semakin lebarnya DOF yang berakibat semakin lamanya exposure, dibutuhkan tripod untuk long exposure untuk menjamin agar foto yang dihasilkan tajam. Cable release juga akan sangat membantu. Jika kamera memiliki fasilitas untuk mirror-lock up, maka fasilitas itu bisa juga digunakan untuk menghindari micro-shake akibat dari hentakkan mirror saat awal.

3. Carilah Focal point atau titik focus
Titik focus disini bukanlah titik dimana focus dari kamera diletakkan, tapi lebih merupakan titik dimana mata akan pertama kali tertuju (eye-contact) saat melihat foto.
Hampir semua foto yang “baik” mempunyai focal point, atau titik focus atau lebih sering secara salah kaprah disebut POI (Point of Interest). Sebetulnya justru sebuah landscape photography membutuhkan sebuah focal point untuk menarik mata berhenti sesaat sebelum mata mulai mengexplore detail keseluruhan foto. Focal point tidak mesti harus menjadi POI dari sebuah foto.
Sebuah foto yang tanpa focal point, akan membuat mata “wandering” tanpa sempat berhenti, yang mengakibatkan kehilangan ketertarikan pada sebah foto landscape. Sering foto seperti itu disebut datar (bland) saja.
Focal point bisa berupa berupa bangunan (yg kecil atau unik diantara dataran kosong), pohon (yg berdiri sendiri), batu (atau sekumpulan batu), orang atau binatang, atau siluet bentuk yg kontrast dgn BG, dst.
Peletakan dimana focal point juga kadang sangat berpengaruh, disini aturan “oldies” Rule of Third bermain.

4. Carilah Foreground (FG)
Foreground bisa menjadi focal point bahkan menjadi POI (Point of Interest) dalam foto landscape anda.
Oleh sebab itu carilah sebuah FG yang kuat. Kadang sebuah FG yang baik menentukan “sukses” tidaknya sebuah foto landscape, terlepas dari bagaimanapun dasyatnya langit saat itu.
Sebuah object atau pattern di FG bisa membuat “sense of scale” dr foto landscape kita. Apapun bisa menjadi object yg kuat di FG dari hanya rumput… … hingga batu.

5. Pilih langit atau daratan
Langit yang berawan bergelora, apalagi pada saat sunset atau sunrise, akan membuat foto kita menarik, tapi kita tetap harus memilih apakah kita akan membuat foto kita sebagian besar terdiri dari langit dgn meletakan horizon sedikit dibawah, atau sebagian besar daratan dgn meletakkan horizon sedikit dibagian atas.
Seberapa bagus pun daratan dan langit yang kita temui/hadapi saat memotret, membagi 2 sama bagian antara langit yang dramatis dan daratan/FG yang menarik akan membuat foto landscape menjadi tidak focus, krn kedua bagian tersebut sama bagusnya.
Komposisi dgn menggunakan prisip “oldies” Rule of Third akan sangat membantu. Letakkan garis horizon, di 1/3 bagian atas kalau kita ingin menonjolkan (emphasize) FG nya, atau letakkan horizon di 1/3 bagian bawah, kalau kita ingin menonjolkan langitnya.
Tentu saja hukum “Rule of Third” bisa dilanggar, andai pelanggaran itu justru memperkuat focal point dan bukan sebaliknya. Juga tidak selalu dead center adalah jelek.

6. Carilah Garis/Lines/Pattern
Sebuah garis atau pattern bisa membuat/menjadi focal yang akan menggiring mata untuk lebih jauh mengexplore foto landscape anda. Kadang leading lines atau pattern tersebut bahkan bisa menjadi POI dari foto tersebut.
Garis-garis, juga bisa memberikan sense of scale atau image depth (kedalaman ruang). Garis atau pattern bisa berupa apa saja, deretan pohon, bayangan, garis jalan,tangga, dst.

7. Capture moment & movement
Sebuah foto Landcsape tidak berarti kita hanya menangkap (capture) langit, bumi atau gunung, tapi semua elemen alam, baik itu diam atau bergerak seperti air terjun, aliran sungai, pohon2 yang bergerak, pergerakan awan, dst, dapat menjadikan sebuah foto landscape yang menarik.
Sebuah foto landscape tidak harus mengambarkan sebuah pemandangan luas, seluas luasnya, tapi sebuah isolasi detail, baik object yang statis maupun yg secara dinamis bergerak, bisa menjadi sebuah subject dari sebuah foto landscape. Untuk itu lihat #13.

8. Bekerja sama dengan alam atau cuaca
Sebuah scene dapat dengan cepat sekali berubah. Oleh sebab itu menentukan kapan saat terbaik untuk memotret adalah sangat penting. Kadang kesempatan mendapat scene terbaik justru bukan pada saat cuaca cerah langit biru, tapi justru pada saat akan hujan atau badai atau setelah hujan atau badai, dimana langit dan awan akan sangat dramatis.
Selain kesabaran dalam “menunggu” moment, kesiapan dalam setting peralatan dan kejelian dalam mencari object dan Focal Point seperti awan, ROL (ray of light), pelangi, kabut, dll. 3 jam pada satu lokasi menghasilkan ratusan shot dgn berbagai shading/shadow dan high-light pada object yang berbeda semua.

9. Golden Hours & Blue hours
Pada normal colour landscape photography, saat terbaik biasanya adalah saat sekitar (sebelum) matahari terbenam (sunset) atau setelah matahari terbit (sunrise).
Golden hours adalah saat, biasanya 1-2 jam sebelum matahari terbenam (sunset) hingga 30 menit sebelum matahari terbenam, dan 1-3 jam sejak matahari terbit, dimana “golden light” atau sinar matahari akan membuat warna keemasaan pada object.
Selain itu, saat golden hours juga akan membuat bayangan pada oject, baik itu pohon, atau orang menjadi panjang dan bisa menjadi leading lines spt yg disebutkan pada #6 diatas.
Jika kita memotret pada saat golden hours sudah lewat, atau pada saat matahari sudah terik, biasanya hasilnya akan flat atau harsh lightingnya krn matahari sudah jauh diatas.

Ini berlawananan dgn IR landscape photography yg tidak mengenal golden hours, dimana saat terbaik justru pada saat tengah teriknya matahari.
Blue hours adalah beberapa saat, biasanya hingga 20-30 menit setelah matahari terbenam (sunset), dimana matahari sudah tebenam, tapi langit belum gelap hitam pekat. Pada saat ini langit akan berwarna biru.
Jadi adalah kurang tepat, bahwa pada saat matahari sudah terbenam dan langit mulai gelap (oleh mata kita), kita langsung mengemas/beres2 gear/tripod kita. Justru pada saat ini kita bisa mendapatkan sebuah scene yang bagus dimana langit akan berwarna biru dan tidak hitam pekat.
Biasanya dgn long exposure, awan pun (walau kalau kita lihat dgn mata telanjang sdh tidak tampak) masih akan terlihat jelas dan memberikan texture pada langit biru.

10. Cek Horizon
Walaupun sekarang dgn mudah kesalahan ini dapat di koreksi dgn image editor tapi saya masih berkeyakinan “get it right the first time” akan lebih optimal.
Ada 2 hal terakhir saat sebelum kita menekan shutter:
  • Apakah horizonya sudah lurus, ada beberapa cara untuk bisa mendapatkan horion lurus saat eksekusi di lapangan, lihat #12
  • Apakah horizon sdh di komposisikan dgn baik, lihat #5 untuk pengaplikasian Rule of third.
Peraturan/rule kadang dibuat untuk dilangar, tapi jika scene yang akan kita buat tidak cukup kuat (strong) elementnya, biasanya Rule of Third akan sangat membantu membuat komposisi menjadi lebih baik. Memang dgn croping nantinya di software pengolah gambar, kita bisa memperbaikinya. Tapi kalau tidak dgn terpaksa, lebih baik pada saat eksekusi kita sudah menempatkan horizon pada posisi yang sebaiknya.

11. Ubah sudut pandang/angle/view anda
Kadang kita terpaku dgn sudut pandang atau angle yang umum kita lakukan, atau mungkin kalau kita mengunjungi suatu tempat yang sering kita lihat fotonya baik itu dimajalah atau website seperti di FN ini, kita menjadi “latah” dan memotret dgn angle yang sama.
Banyak cara untuk mendapatkan fresh point of view. Tidak selamanya “eye-level angle” (posisi normal saat kita berdiri) dalam memotret itu yang terbaik. Coba dgn high-angle (kamera diangkat diatas kepala), waist-level angle, low level, dst, coba berbagai format horizontal dan/atau vertikal.
Atau mencoba mencari spot atau titik berdiri yang berbeda atau tempat yang berbeda, misalnya dari atas pohon (ada memang fotografer senior yang saya kenal yang senang memanjat pohon untuk utk mendapatkan view yg berbeda, dan hasilnya memang berbeda dan unik), atau mencoba berdiri lebih ketepi jurang, atau bahkan tiduran ditanah… tentu saja dgn lebih mengutamakan keselamatan anda sendiri sbg faktor yang lebih utama dan menghitung resiko yang mungkin didapatkan.
Satu hal yang harus dipahami, mencoba dengan sudut pandang yang berbeda tidak selalu otomatis gambar kita akan lebih bagus atau lebih baik, tapi begitu sekali anda mendapatkan yang lebih bagus, dijamin pasti berbeda dgn yang lain.
Dengan sering ber-experimen dgn berbagai angle, lama-kelamaan insting anda akan terlatih saat berada di lapangan untuk mendapatkan tidak hanya angle yang bagus, tapi juga berbeda.
Jangan memotret berulang2 pada satu titik/spot. Cobalah untuk bergeser beberapa meter kesamping atau kedepan, atau bahkan berjalan jauh.
Juga sesekali coba untuk menoleh kebelakang untuk melihat, kadang bisa mendapatkan angle yang menarik dan berbeda.
3-5 exposure/jepretan pada satu titik dan “move on, change spot, change orientation (landscape <-> portrait), look back, change lenses”.
Terutama jika anda sering travelling, baik itu ke tempat yang sudah umum atau ke tempat yang jarang di kunjungi fotografer. Ada kalanya kita ada pada suatu spot dimana foto dari lokasi itu sudah merupakan lokasi “sejuta umat” dimana ratusan bahkan ribuan fotografer pernah memotret di spot yg sama dan menghasilkan foto yang mirip atau beda-beda tipis.
Gunakan foto-foto yang sering anda lihat tersebut sebagai referensi, pelajari dan aplikasikan tekniknya dan coba menemukan sesuatu yang berbeda. Make a difference.

12. Pergunakan peralatan bantu
Penggunaan beberapa peralatan bantu dibawah akan sangat membantu untuk mendapatkan foto landscape yang lebih baik.
- CPL filter
- ND filter
- Graduated ND filter, lihat disitu ttg Graduated Natural Density (Grad ND): What, How, & When
- Graduated color filter
- Bubble level jika tdk ada grid pada view finder atau gunakan focusing screen dgn grid, sangat membantu untuk mencapai levelnya horizon.
Memang dgn semakin mudahnya penggunaan software dan semakin canggihnya feature software pengolah gambar untuk memperbaiki/koreksi kesalahan pada saat eksekusi yang bisa mengatasi kesalahan exposure atau kemiringan horizon, penggunaan alat2 tersebut diatas kadang terasa kurang diperlukan, tapi umumnya “get it right the first time” akan bisa menghasilkan foto yang lebih baik dan natural, dibandingkan kalau foto itu harus dipermak habis-habisan nanti hanya agar bisa tampak “baik”.
Jika sudah melakukan segalanya dgn baik dan benar, akan lebih terbuka luas lagi kemungkinannya untuk mengolahnya dgn lebih sempurna nantinya.

13. Lensa yang dipergunakan
Kadang sering ada asumsi bahwa sebuah foto landscape itu harus menggunakan lensa yang selebar mungkin. Tapi dalam membuat sebuah foto landscape, semua lensa dapat dipergunakan, dari lensa super wide (14mm, 16mm, dst), wide (20mm – 35m), medium, (50mm – 85mm), hingga tele/super tele (100mm – 600mm). Semua range lensa bisa dan dapat dipergunakan.
Semua itu tergantung atas kebutuhan dan scene yang kita hadapi. Lensa wide/super wide kadang dibutuhkan jika kita ingin merangkum sebuah scene seluas-luasnya dgn memasukan object yang banyak atau yang berjauhan atau ingin mendapatkan perspektif yg unik.Tapi kadang sebuah tele bisa digunakan untuk mengisolasi scene sehingga lebih un-cluttered, simple dan focus.

Jika tiba pada suatu lokasi/spot, usahakan mencoba dgn semua lensa yang anda bawa. Jangan terpaku pada satu lensa dan memotret berulang-ulang.
Kadang diperlukan kejelian, untuk melihat dan mencari suatu bentuk unik atau pattern dari luasnya sebuah scene landscape, sehingga kita dapat meng-isolasi dgn menggunakan lensa yang tepat. Hanya dengan sering memotret dan menghadapi berbagai scene di berbagai kondisi yang dapat mengasah insting anda, baik itu object apa yang harus dicari ataupun lensa apa yg harus dipergunakan.
Penggunaan lensa yg tidak standard seperti fish-eye (baik itu yang diagonal maupun yang full-circular) bisa juga mendapatkan view yang menarik, tentu dgn pengunaan pada saat yang tepat. Tidak selalu penggunaan fish-eye menghasilkan foto yg “bagus” walau memang berbeda.

14. Persiapkan diri dan sesuaikan peralatan
Walau ini tidak berhubungan langsung, tapi kadang sangat menentukan. Sering kali kita membutuhkan research atau tanya dulu kiri kanan, baik itu dgn googling atau bertanya dgn fotografer yang sudah pernah kesana ke satu lokasi sebelumnya, terutama jika mengunjungi tempat yang berbeda jauh iklim maupun cuacanya, krn itu akan menentukan kesiapan kita baik fisik maupun peralatan yang harus dibawa, baik itu peralatan fotografi maupun peralatan penunjang.
Cek ulang dan test semua camera dan lensa yang akan dibawa. Akan lebih baik kalau semua perlataan yang akan dibawa dalam keadaan bersih, baik itu lensanya, filter2 maupun kamera (sensor) nya.
Membawa semua lensa yang kita punya kadang tidak bijaksana. Mungkin suatu trip hanya membutuhkan satu atau dua lensa saja, atau justru membutuhkan lebih dr itu krn kita sudah mempunyai gambaran atau informasi atau trip tersebut merupakan pengulangan trip yg sudah pernah dilakukan.
Mengetahui alam dan lingkungan dan adat (jika ada penduduknya) dari lokasi pemotretan juga akan sangat membantu.
Bahkan kadang dgn membawa peta (atau mungkin GPS) akan membantu kita menemukan suatu tempat atau spot, khususnya bila kita hunting di daerah ayng tidak ketahui atau lokasi yang kita tidak hapal.
Kesiapan diri dan peralatan akan menentukan apakah photo trip kita berhasil atau tidak.
Hal lain yang tidak kalah penting adalah melindung seluruh peralatan yang anda bawa selama photo trip/hunting, baik itu hanya day-trip, overnight trip atau trip berhari-hari bahkan berminggu-minggu.
Sebelum berangkat, pastikan anda memilki check-list perlaatan apa saja yg anda bawa. Catat juga semua model dan serial numbernya.

sumber Lombok landscapers