Thursday, May 27, 2010

Menggunakan Fungsi If, Left, Right & Mid


Fungsi IF

Kita umpamakan kita belajar kembali MS Office terutama Excel yang sebenarnya mempunyai kemampuan yang lumayan dalam mengolah logika dan mungkin hampir sama dengan bahasa pemograman yang sudah ada. Mungkin ada dari anda yang belum tahu atau lupa cara menggunakan fungsi IF dan VLOOKUP pada Excel karena jujur saja kedua fungsi ini hanya diajarkan jika anda "kursus", jika anda belajar excel sendiri saya yakin banyak yang tidak tahu cara menggunakan fungsi ini :). Sekarang kita mulai.... perbincangan yang bakalan agak panjang ini.
Inilah lembar kerja kita (data ini cuma contoh, jangan dianggap serius). Seperti yang tampak di gambar tersebut ada satu kolom yang sudah terisi yaitu kolom NIM dan kolom nilai hasil ujian. Disebelahnya lagi ada tabel yang nantinya akan kita gunakan untuk fungsi VLOOKUP. Dalam mengisi tabel yang masih kosong ada kriteria yang kita buat yaitu:
  • kolom lulus (ini yang paling gampang..) diperoleh dari kolom nilai hasil ujian dengan syarat jika nilai lebih besar dari 60 maka dianggap lulus dan jika dibawahnya dianggap gagal
  • kolom nilai berisi nilai dalam huruf dengan kriteria jika hasil ujian > 80 mendapat A, > 70 mendapat B, > 60 mendapat C, > 50 mendapat D dan sisanya mendapat E
  • kolom angkatan/jurusan diperoleh dari kolom NIM dengan mengambil dua karakter pertama sebagai tahun angkatan dan karakter ketiga sebagai jurusan.
Sekarang kita bahas dulu yang paling gampang yaitu kolom lulus. Sebagaimana kriteria yang telah dibuat dimana nilai diatas 60 dinyatakan lulus dan dibawahnya dinyatakan gagal maka hal yang dilakukan adalah memilih cell 'E3' dan mengetikkan fungsi berikut ini:
=IF(D3>=60;"LULUS";"GAGAL")
Dalam excel untuk memulai suatu fungsi digunakan tanda '=' atau 'sama dengan' dan diikuti oleh fungsinya. Pada kode diatas, D3 mengacu pada cell nilai yang sejajar dengan cell E3. Tanda >= berarti nilai 60 masih masuk dalam kategori lulus. Tiap parameter yang dimasukkan dalam fungsi dipisahkan tanda titik koma dan perhatikan bahwa jika nilai yang ingin anda hasilkan berupa teks maka harus diapit tanda doublequote ", seperti "LULUS" atau "GAGAL".
Pada fungsi IF kita yang pertama hanya ada dua lubang yaitu LULUS dengan kriteria >= 60 dan gagal jika <>
=IF(D3>80;"A";IF(D3>70;"B";IF(D3>60;"C";IF(D3>50;"D";"E"))))
Pusing? semoga belum. Konsepnya hampir sama cuma kali ini ketika mau masuk lobang sebelahnya dibuat dua lobang lagi dan seterusnya hingga masuk lobang terakhir yaitu dengan nilai E. Misalkan nilainya 35 maka saat mau masuk lobang pertama jelas gak lolos karena lobang pertama minta minimal 80, terpaksa deh ke lobang berikutnya, tapi disebelahnya dibuat fungsi lagi yang minimal 70, geser lagi deh ke lobang berikutnya, terus, terus dan akhirnya masuk ke lobang terakhir dimana semua nilai dibawah 50 akan masuk kesini. Perhatikan penulisan fungsinya, jumlah tanda kurungnya juga harus sama antara kurung buka dan tutup.

Fungsi Left, Right & Mid

Dalam semua program, pengolahan string atau teks sangat diperlukan seperti bagaimana memanipulasi teks, mencari panjang teks, dsb. Bahkan bisa dikatakan kita tidak pernah bisa lepas dari urusan teks. Contoh mudahnya ketika kita menemui data teks seperti= '20080808' yang merupakan susunan tahun, bulan dan tanggal. Kita hanya ingin tahu tahun saja maka tentu saja kita harus memotong teks tersebut dan mengambil empat karakter paling depan sebagai tahunnya. Dalam Excel sendiri ada banyak sekali fungsi yang berhubungan dengan manipulasi teks mulai dari memotong teks, menghitung panjang teks, mengganti sebagian atau keseluruhan isi teks dan menggabungkan beberapa teks menjadi satu teks gabungan. Kali ini saya hanya membahas fungsi LEFT, RIGHT, MID, LEN dan CONCATENATE dan (mungkin) REPLACE, SUBSTITUTE.

Fungsi LEFT, RIGHT dan MID

FUNGSI LEFT
=LEFT(B2;4)  --atau--  =LEFT("20080808";4)
      -1-2-

=RIGHT(B2;2) --atau-- =RIGHT("20080808";2)
       -1-2-

=MID(B2;5;2) --atau-- =MID("20080808";5;2)
     -1-2-3
Dulu saya sempat bingung menggunakan ketiga fungsi ini, fungsi mana yang harus saya gunakan. Jika anda mengalami hal yang sama, semoga dengan pembahasan kita kali ini anda dapat menentukan fungsi tepat yang dapat digunakan. Konsep dasar fungsi LEFT dan RIGHT hampir sama, cuma perbedaannya terletak pada posisi karakter yang diambil. Fungsi LEFT akan menghasilkan satu atau lebih karakter paling awal (paling kiri) sesuai jumlah yang anda tentukan. Anda maksudkan atau tidak, fungsi LEFT akan selalu mengambil satu atau lebih karakter awal (paling kiri) suatu teks. Jika anda ingin karakter kedua atau lebih maka anda harus menggunakan fungsi MID dan bukan LEFT. Fungsi RIGHT hampir sama dengan LEFT tapi perbedaannya fungsi RIGHT mengambil satu atau lebih karakter dihitung dari akhir (paling kanan) teks. Jadi LEFT menghitung karakter dari kiri sedangkan RIGHT dihitung dari kanan. Ada dua parameter dalam fungsi LEFT dan RIGHT yaitu:
  • 1. Sel atau teks yang diuji adalah teks yang ingin anda potong
  • 2. Jumlah karakter yang ingin anda ambil dan harus lebih besar atau sama dengan 0. Jika anda memberikan nilai yang lebih besar dari panjang teks maka semua teks akan dihasilkan. Anda dapat mengacuhkan bagian ini dan akan dianggap 1.
Jika anda menginginkan memotong teks yang karakternya berada Tidak Diawal Teks maka anda harus menggunakan fungsi MID. Ada tiga bagian atau parameter dari fungsi ini. Pada contoh kode diatas fungsi MID akan menghasilkan bulan 08. Ketiga parameter tersebut adalah:
  • 1. Sel atau teks yang diuji adalah teks yang ingin anda potong
  • 2. Nilai mulai. adalah posisi karakter pertama pada teks yang ingin anda potong. Jika anda memberi nilai 1 maka fungsi ini akan hampir mirip dengan fungsi LEFT. Penghitungan karakter dimulai dari kiri dan karakter paling kiri adalah 1. Jika anda beri nilai yang lebih besar dari panjang teks maka MID akan menghasilkan "" (string kosong). Jika lebih kecil dari panjang teks tapi jika nilainya ditambah dengan jumlah karakter yang diambil melebihi panjang teks yang diuji maka MID akan menghasilkan karakter hingga akhir teks. Jika nilai mulai anda beri kurang dari 1 maka fungsi MID akan menghasilkan error #VALUE! dan jika negatif maka MID akan menghasilkan error #VALUE!.
  • 3. Jumlah karakter yang ingin anda ambil dalam teks.

Fungsi LEN dan Fungsi CONCATENATE

Ada kalanya kita ingin tahu berapa panjang suatu teks dan dengan fungsi LEN tujuan ini akan dapat kita capai. Mungkin ada sebagian dari anda yang menganggap fungsi ini tidak begitu penting tapi bagi saya fungsi ini justru sangat penting :). Misalkan kita memiliki tabel data dengan panjang teks yang tidak sama misalnya kumpulan nama siswa dan kita ingin memotong dua karakter terakhir saja (kira-kira buat apa ya?). Kita coba pada contoh berikut ini:
 
Pada gambar diatas anda dapat melihat bahwa panjang teks kode siswa tidak sama. Pada kolom nama siswa kita harus memotong teks dengan membuang tiga karakter terakhir. Kita tidak bisa menggunakan fungsi RIGHT karena fungsi RIGHT justru akan mengambil karakter yang harus kita buang. Karena itu perpaduan fungsi LEFT dan LEN akan dapat menyelesaikan hal tersebut. Dengan LEN kita dapat menghitung jumlah karakter yang ada kemudian jumlah karakter kita kurangi dengan 3 (jumlah karakter yang akan kita buang). Jadi kolom D3 akan kita isi dengan formula seperti berikut:
=LEFT(B3;LEN(B3)-3)
      -1 ---2-----
Sebagaimana fungsi LEFT yang kita bahas sebelumnya, ada dua bagian yaitu teks yang akan dipotong, kemudian jumlah karakter yang akan diambil. Jumlah karakter yang diambil ditentukan dengan menghitung total karakter dikurangi dengan 3, mudah kan?. Sekarang kita akan bahas kolom peringkat dimana saya akan mengisikan peringkat siswa diambil dari 2 karakter terakhir yang kemudian akan digabungkan dengan teks 'Peringkat' sehingga hasilnya menjadi seperti 'Peringkat 10'. Untuk mendapatkan angka peringkat kita bisa gunakan fungsi RIGHT dan kemudian digabungkan dengan kata 'Peringkat' menggunakan fungsi CONCATENATE. Jadi sell F3 akan kita isi dengan formula seperti berikut:
=CONCATENATE("Peringkat";" ";RIGHT(B3;2)) --- atau --- =CONCATENATE("Peringkat ";RIGHT(B3;2))
Dan inilah hasil (sementara)nya:

Fungsi SUBSTITUTE

Anda mungkin protes masak ada istilah Peringkat 01? harusnya kan Peringkat 1!. Padahal saya berdoa agar saya bisa melupakan protes anda tapi untunglah ada fungsi SUBSTITUTE yang membantu saya menyelesaikan permasalahan munculnya angka 0 di depan angka 1. Dengan fungsi SUBSTITUTE kita akan mengganti semua teks/angka 0 dengan "" alias string kosong. Sekarang kita coba ganti formula di sell F3 dengan fungsi berikut ini:
=CONCATENATE("Peringkat ";SUBSTITUTE(RIGHT(B3;2);"0";""))
                                     -----1----- -2- -3
Fungsi SUBSTITUTE memiliki tiga bagian atau parameter yaitu: 1. Teks yang diuji, 2. Karakter yang akan diganti dan 3. Karakter penggantinya. Tidak terbatas hanya mengganti satu karakter tapi bahkan anda dapat mengganti kata atau beberapa kata yang diganti dengan kata yang lain. Misalkan ada teks: 'Pacar baru' maka kata 'baru' bisa diganti dengan kata 'lama' menggunakan fungsi: =SUBSTITUTE("Pacar baru";"baru";"lama"). Setelah kita ganti formula di sell F3 dengan fungsi yang baru tentu saja hasilnya akan sesuai dengan yang kita inginkan. Sell F3 akan berisi teks 'Peringkat 1'. Tapi....., setelah anda copykan rumus kebawah, anda pasti terkejut dengan hasil di peringkat 10 karena sang peringkat 10 ikut-ikutan jadi peringkat 1 :). Kita butuh bantuan fungsi IF dan LEFT dan terus terang formulanya akan kelihatan lebih 'ribet'.
=IF(LEFT(RIGHT(B3;2);1)="0";CONCATENATE("Peringkat ";SUBSTITUTE(RIGHT(B3;2);"0";""));
CONCATENATE("Peringkat ";RIGHT(B3;2)))
Sebagaimana membuat formula yang kadang begitu ribet asalkan kita tahu logika penggunaannya, maka Insyaallah pasti tidak bakalan ada kesulitan.