Anda setuju dengan Blog ini ? Kalau ya, silahkan Klik !

Minggu, 11 Desember 2011

Cara Membuat Data Base yang menpilkan Gambar



Cara1

Menampilkan Gambar Photo Dalam Database Excel

Pernah suatu hari saya diberi sebuah masukan oleh beberapa rekan kerja mengenai sebuah database siswa yang saya buat dengan excel tidak lengkap lantaran tanpa disertai photo dari siswa itu sendiri. Awalnya saya berpikir hal itu tidak mungkin dilakukan, terlebih jika memakai Aplikasi Excel – karena aplikasi ini hanya dibuat untuk mengentry database saja.

Pertanyaan sekaligus permintaan tersebut membuat saya tertantang untuk mencoba serta mencari tahu tentang apakah Excel bisa melakukan ini…. Dari yang saya dapat dari googling, akhirnya saya mendapat beberapa module dan kode VBA untuk menginsert gambar dengan menggunakan bantuan macro. Kemudian, saya menemui kendala lagi – bagaimana jika ini digunakan dalam database yang memiliki banyak data.

Setelah beberapa hari berikutnya saya mencoba untuk bereksperimen dan memodifikasi serta menambahkan beberapa Kode serta module yang saya dapatkan dari internet tersebut agar bisa digunakan dalam database yang saya miliki.

Dan, sekarang saya share kepada anda yang barangkali sedang mencari cara bagaimana menampilkan gambar foto ke dalam database excel, dari hasil tutorial ini akan menghasilkan sebuah database yang terlihat seperti gambar berikut :

Memulai Mengetry Database
Sebagai latihan dalam tutorial ini, masukkan database seperti berikut dan letakkan di Sheet1 :

Menggunakan Fungsi VLOOKUP
Fungsi ini dibutuhkan untuk memanggil data dalam database Masukkan formula VLOOKUP berikut di sel F2
=VLOOKUP(E2;A2:B8;2;0)
Untuk sementara hasil yang didapatkan dari formula ini adalah #N/A hal ini disebabkan tidak adanya sebuah nilai yang dijadikan pedoman, jika anda ingin menghilangkan pesan error bisa anda tambahkan fungsi IFERROR dalam serangkaian kode diatas.
Design Bingkai Photo
Bukan hanya aplikasi sekelas Corel atau Adobe saja yang bisa digunakan untuk design, excel-pun juga bisa…
Berikut langkah membuat desain sederhana ala rumahexcel :
  1. Aktifkan dan pilih Menu Tab Developer jika belum klik disini untuk melihat cara menampilkannya
  2. Buat 2 buah Image dengan cara klik Insert > Image (ActiveX Control)
  1. Untuk Image1 (biarkan (name)nya asli seperti itu saja)
Kemudian klik kanan dan pilih properties

pada bagian PictureSizeMode pilih 3 - fmPictureSizeModeZoom
Artinya, gambar yang akan kita insert nanti akan dimaksimalkan ukurannya sesuai dengan ukuran frame dari Image1.
  1. Untuk Image2 (biarkan juga (name) seperti aslinya)
Klik klik kanan Image2 dan pilih properties

pada bagian Picture (None) anda klik tanda (…) untuk mencari gambar yang akan ditempelkan di Image2.
Kemudian pada bagian Visible rubah menjadi False Gambar ini nantinya akan digunakan jika data belum atau tidak memiliki Photo, dan Image2 ini kita sembunyikan (Visible=False) karena hanya sebagai acuan saja dan bukan sebagai gambar utama.

Saya harap sampai dengan langkah ini, anda bisa mengikutinya..
Menambahkan Tombol Untuk Mencari dan Mengambil Gambar
Masih dalam menu Tab Developer, Tambahkan 2 buah tombol di lembar kerja anda antara lain :
  • Command Button (ActiveX Control)
  1. klik menu Insert > Command Button (ActiveX Control)
  2. letakkan di lembar kerja
  3. jika anda ingin me-rename tombol ini klik kanan > properties Pada bagian Caption ubah nama sesuai dengan yang anda inginkan
  • Spin Button (ActiveX Control)
  1. klik menu Insert > Spin Button (ActiveX Control)
  2. letakkan di lembar kerja

Desain sudah selesai, sekarang tinggal memasukkan kode untuk beberapa tombol yang sudah kita buat
Memasang Kode untuk Mengambil Gambar
Sebelum anda memasukkan kode-kode untuk masing-masing tombol, pastikan icon DESIGN MODE yang terdapat pada Tab Developer dalam keadaan aktif (menyala) sehingga ketika klik ganda objek control – maka akan langsung menuju jendela Microsoft Visual Basic
Berikut kode yang harus anda pasang:
  • Klik ganda CommandButton1 (atau sesuai dengan nama yang anda ketikkan pada langkah sebelumnya)
On Error Resume Next
Dim Filter As String, Title As String, FileX As String
Dim SourceFile, DestinationFile

X.SetFocus
Filter = "JPG Image Files Only(*.jpg),*.jpg,"
Title = "Silahkan Pilih Logo" FileX = Application.GetOpenFilename(Filter, , Title)
NamaFile = Range("F2")

Sheets("sheets1").Image1.Picture = LoadPicture(FileX)
Image1.Picture = LoadPicture(FileX)

DestinationFile = ActiveWorkbook.Path & "\Photo\" & NamaFile & ".jpg"
FileCopy FileX, DestinationFile

Keterangan:
Filter = "JPG Image Files … : adalah gambar yang diperbolehkan untuk di masukkan ke dalam database
NamaFile = Range(“F2") : adalah nama dari file gambar yang nantinya akan tersimpan dalam komputer anda, nama file ini berdasarkan dari data yang tertulis di sel F2
\Photo\ : adalah nama folder tempat menyimpan file gambar, dengan kata lain anda WAJIB membuat sebuah folder dengan nama Photo ditempat anda menyimpan hasil kerjaan excel ini.

Tutup atau minimize jendela Microsoft Visual Basic untuk kembali ke jendela Microsoft Excel
  • klik ganda SpinButton1
On Error GoTo GbKosong
SpinButton1.Min = 1
SpinButton1.Max = 7
Range("E2") = SpinButton1

Application.ScreenUpdating = False
NamaData = Range("F2")
Files = ActiveWorkbook.Path & "\Photo\" & NamaData & ".jpg" '
Image1.Picture = LoadPicture(Files)
Application.ScreenUpdating = True

Exit Sub
GbKosong:
Image1.Picture = Image2.Picture

Keterangan :
SpinButton1.Min = Data minimal dari database yang di baca
SpinButton1.Max = Data tertinggi dari sebuah database, dalam contoh di atas nilai tertinggi adalah 7
Finishing
Langkah akhir dari semua pekerjaan adalah dengan melakukan proses menyimpan. Untuk penyimpanan file ini gunakan excel dengan type Macro enabled.
Jika penjelasan diatas terlalu ribet atau berbelit-belit serta tidak mudah anda pahami, silahkan anda download contoh file untuk anda pelajari sendir
Catatan:
Ada baiknya sebelum anda memasukkan Gambar photo ke dalam database excel – kompress terlebih dahulu baik ukuran maupun resolusinya, hal ini bertujuan untuk meringankan kinerja aplikasi.
Ditulis oleh : Anto Ramana
Dipublikasikan pada : 31.10.12 | 11:34
Judul : Menampilkan gambar photo dalam database Excel
Kategori :
Macro VBA


___________________________________
Cara2

Untuk pekerjaan memasukkan (memindah dan me-resize) Object Picture ke dalam 
sebuah cell atau mergexcell, kita harus tahu :
NAMA Picture-nya, atau objectnya (Picture yang mana)
selain itu kita juga harus tahu ALAMAT CELL / MERGED CELL tujuannya.

"Lha"  kalo 'gitu, sebelumnya kita ada pekerjaan kecil-kecilan
1. 
menuliskan Nama Gambar (picture) ke cell (mergedCell) yg menjadi tujuannya
dalam contoh  Cell B4 kita tulis  "Picture 1"
Untuk mengetahui nama object shape / picture: select lah object tersebut lalu
tengoklah NameBox ( = combobox yg ada di sebelah kiri Formulah Bar...)

2
select-lah Cell Tujuan tersebut

Dengan cara itu kita sudah sekaligus mendapat 2 informasi maha penting
a. Object Cell (mergedCell) tujuan; dlm vba dikatakan sebagai  Selection
b. Nama Object Gambar yg mau dimasukkan bui ( di VBA dikatakan sbg Selection.Value)

Setelah itu; kita tinggal memberi komando-komando yg "agak tegas"
(jangan seperti kalo kota menghadapi ulah negeri JARAN !!, gitu loch...)

A    *geser / pindahkan gambar, sehingga
A1    **tepi-kirinya berimpit dengan tepi-kiri cell tujuan
A2    **tepi-atasnya berimpit dengan tepi-atas cell tujuan
B   *ubah lah (resize) ukuran dimensi gambar, sehingga
B1     **tinggi gambar = tinggi dimensi cell (mergedCell) tujuan
B2    **lebar gambar = lebar dimensi cell (mergedCell) tujuan
C   *Proteksilah (dan pasanglah password) terhadap woksitnya

Perintah terakhir (C) itu = dalam rangka mencegah editing gambar (diubah, digeser dst...)
karena object gambar di atas sheet hanya akan "diam", bila woksit diproteksi.
Menjalankan komando tsb dengan menCeklik Gambar Panah Orange yg sudah ada di situh..

Oiya,..Kalau ternyata ada cells yg ingin tetap bisa diobok-obok, silahkan area rangenya
di beri status LOCKED = FALSE (unlocked) melalui menu Format Cells Protection

'---------
Sub Cekidot()
   '--------------------------------------
   ' siti Vi
   ' menggeser dan mengubah dimensi Shape
   ' sesuai dimensi Cell Tujuan
   ' sengaja dipanjang-panjangkan biar kelihatan canggih
   '---------------------------------------
   Dim img, TopCel As Range, mCel As Range
   
   ActiveSheet.Unprotect "siti"
   If Selection.Cells.Count = 1 Then
      Set TopCel = Selection
      Set mCel = TopCel
   Else
      Set TopCel = Selection.Cells(1, 1)
      Set mCel = Selection
   End If
      
   If IsEmpty(TopCel.Value) Then
     MsgBox "Lho??.. Anda kok belum memilih range yg berisi text data nama gambar!!"
     Exit Sub
   End If
   
   Set img = ActiveSheet.Shapes(TopCel.Value)
   With img
      If .Type = msoPicture Then
         .LockAspectRatio = False
         .Top = mCel.Top
         .Left = mCel.Left
         .Width = mCel.Width
         .Height = mCel.Height
      End If
   End With
   ActiveSheet.Protect "siti"
End Sub
'------------------



Cara3

August 6th, 2011 | Comments Off
Untuk membuat daftar dengan menampilkan foto di Ms Excel kita bisa menggunakan bermacam-macam cara. Dalam Artikel ini saya mencoba menjelaskan bagaimana kita menggunakan Vlookup, Name Range, Data Validation dan Menampilkan Foto dalam form sederhana di Sebuah Sheet.
  1. Kita memerlukan data yang berisi data nama seperti Gambar 1
Gambar 1 Tampilan Data yang akan dicari oleh Tampilan dalam Sheet DataMurid
  1. Untuk Kolom A, B, C dan D seperti biasa kita memasukkan data Nomor Induk, kemudian Nama Tanggal Lahir dan Kota. Sedangkan Pada Kolom E kita memasukkan Gambar/Foto dengan cara:
    1. Pilih sel yang akan diberi gambar/foto misalnya E2 kemudian;
    2. Menu/Tab Insert | Picture (pada kelompok Illustration)
    3. Pilih foto atau gambar dengan extension yang diperbolehkan oleh Ms Excel ( Ingat gambar jangan terlalu besar karena akan memakan memory yang cukup besar sehingga file excelnya juga menjadi besar)
    4. Pilih NIM pada Kolom A sampai data Terakhir misalnya A10 kalau datanya hanya 10 orang (kalau lebih maka anda harus mempersiapkan misalnya sampai A100 atau A250 tergantung jumlah data murid yang akan dimasukkan.) Kemudian klik kanan mouse dan pilih perintah Name a Range dan Klik Ok. Lihat Gambar 2 d
Gambar 2 Name a Range
1.      Selesai
  1. Beri nama Sheet tersebut misalnya Data.
Langkah selanjutnya adalah mempersiapkan tampilan data seperti Gambar 2
 
Gambar 3 Tampilan Form Data Murid Satu per Satu
Untuk membuat form ini kita mulai dengan:
  1. Ketikan Judul di kolom A yaitu Nomor Induk; Nama; Kota; Tanggal Lahir dan Umur masing-masing di sel A3, A6, A10, A13, dan A16
  2. Di Kolom B kita memasukkan beberapa formula dimulai dengan mencari data yang akan kita masukkan ke dalam sel B3. Untuk sel B3 kita menggunakan Data Validation (lebih jauh mengenai data validation dapat dilihat di posting Data Validation, atau http://excel.aurino.com/?p=643)
  3. Pilih Sel B3, Pilih Menu/Tab Data
  1. Kemudian pada kelompok Data Tools, pilih Data Validation
 
  1. Sehingga muncul dialog box
  2. Pilih List pada field Allow dan contreng Ignore blank dan In-cell dropdown
  3. Ketikan rumus =NIM {jangan lupa pakai tanda sama dengan (=)}. Kemudian Klik Ok
  4. Selanjutnya pada sel B6 masukkan rumus =VLOOKUP($B$3,data!$A$1:$E$10,2),
    yang artinya cari data Nama pada sheet data di range A1 sampai dengan E10 pada kolom ke 2 (kolom B). Jika datanya lebih dari 10 maka kita harus merubah E10 menjadi E100 atau E250 tergantung jumlah data yang diinginkan.
  5. Lanjutkan dengan B10 dengan rumus =VLOOKUP($B$3,data!$A$1:$E$10,4)
  6. B13 dengan rumus =VLOOKUP($B$3,data!$A$1:$E$10,3)
  7. Dan B16 dengan rumus =DAYS360(B13,NOW()), yang artinya tanggal lahir dikurangi dengan hari ini (dihasilkan dengan fungsi now() )
  8. Sedangkan untuk B18 kita menggunakan rumus =INT(B16/365)& ” tahun “& INT(MOD(B16,365)/30)&” bulan”, yang artinya:
    1. =INT(B16/365) untuk menghitung berapa tahun kemudian ditambah dengan string ” tahun “
    2. Dan INT(MOD(B16,365)/30) adalah sisa pembagian tahun dibagi bulan dan ditambah dengan string ” bulan”
    3. Sehingga diperoleh xx tahun xx bulan
  9. Buat Data Validasi ke dua yaitu MyPic dengan cara:
    1. Menu Formula | Name Manager
    2. Ketikan MyPic pada Name:
    3. Ketikan =INDEX(data!$E$1:$E$10,MATCH(DataMurid!$B$3,data!$A$1:$A$10,0)) pada Refer to: ( untuk data yang lebih banyak maka ubah E10 dengan sel tempat gambar terakhir data demikian juga untuk A10).
    4. Klik Ok.
  1. Sedangkan untuk gambar diletakkan di sel F dengan menggunakan Data validasi MyPic.
  2. Cara untuk membuat ini adalah sbb:
    1. Letakkan kursor pada sel F3. Kemudian pada Menu Developer (untuk mengaktifkan menu developer dapat dilihat pada catatan di bawah ini) kita pilih Insert | Activex Controls dan Pilih Image
    1. Sehingga muncul gambar sebagai berikut:
    1. Kemudian ganti =EMBED(“Forms.Image.1″,”") dengan =MyPic
    2. Dan sesuaikan besar gambar dengan menarik ujungnya.
    3. Selesai
Catatan:
Pada Excel 2007 untuk menampilkan Developer tab pad menu bar adalah sebagai berikut:
-        Kilk lingkaran (Office Button) dipojok kiri, kemudian klik Excel Options di bawah
-        Centang Show Developer tab in The Ribbon, kemudian klik OK
-        Klik Ok dan

 

5 komentar:

  1. kalao gambar yang sama disisipkan secara otomatis ke beberapa sheet gmana caranya gan?

    BalasHapus
  2. Mas kenapa ketika saya ganti embednya dengan mypic mncul perigatan " reference is not valid"? saya menggunakan excel 2010.. mohon infonya mas.. muthoharalfirgiyu@gmail.com

    BalasHapus
  3. gimana cara menginsert gambar melalui userform vba ke dalam sheet

    BalasHapus