Makasih ya... buat sharing ilmunya..

________________________________
From: STDEV(i) <[email protected]>
To: belajar-excel <[email protected]>
Sent: Saturday, April 30, 2011 3:05 PM
Subject: Re: [belajar-excel] Mengurutkan Daftar Siswa berdasarkan 
Nilai-Lengkap-nya


  
Kalau : Mengurutkan Daftar Siswa berdasarkan Nilainya; Ini pekerjaan mudah, 
karena Excel sudah ada alat sortingnya.

Tetapi kalau Case nya diperlengkap begini, (nanti kita ceritakan di bawah); 
mungkin anda harus menundukkan kepala barang  sedetik, baru  bilang mudah.

Contoh Kasus
Setiap siswa mempunyai (misalnya): 8 Nilai / untuk 8 Mata Pelajaran (MaPel) 
Utama.
Di dalam tabel, ke-delapan MaPel itu ditulis  sebagai judul kolom, dari kiri ke 
kanan sebelum akhirnya dijumlah
JumlahNilai ditulis dlm kolom ke sembilan (Jml Nilai)

Jajaran 8 MaPel itu tidak di susun sembarangan, tetapi di urutkan menurut Skala 
Prioritas-nya. MaPel yg ada di kolom pertama punya prioritas tertinggi, semakin 
ke kanan tempat menuliskannya semakin rendah prioritasnya.
Semula NamaSiswa di tabel terurut sesuai NIS (atau mungkin sesuai alfabet 
namanya, tererah saja..)


Kemudian, setelah Nilai tiap Mapel dimasukkan ke tabel; Nama siswa akan di 
urutkan dengan aturan:
Siswa yg tertinggi JumlNilai-nya akan ditulis di papan paling atas, semakin 
kecil nilai semakin ke bawah tempat namanya tercantum. Mungkin ini yg disebut 
Ranking.

Setiap Siswa akan diberi Nomor Ranking. Jika Ranking ( hasil fungsi Rank di 
excel) hanya didasarkan pada Jml Nilai saja
sepertinya Angka Ranking tsb belum mencerminkan Ranking yg mendekati keadaan 
sebenarnya tiap siswa.

Maka Pak Guru dan Bu Guru ingin Pemberian Ranking bukan hanya berdasarkan 
JmlNilai saja, melainkan juga dipengaruhi oleh
Nilai tiap MaPel dan Prioritasnya 
(Adek Mbelink seperti biasanya: protes: "lho kan sudah dijumlah to mbak-é?"
Kalau sedang seperti itu dia harus dipoles kepalannya tanda-sayang (seperti 
jaman SD dulu) sambil di-nasehati: "maka nya dengerin dulu...Dek")
 
Anda para penggemar bola, tentunya tahu, dlm kompetisi / misalnya di babak 
penyisihan per group. Penentuan Juara memang berdasarkan Nilai Kemenangan 
(victory point / VP)-nya. Tetapi jika ada lebih dari 1 tim punya VP yg sama, 
maka akan di bandingkan Jumlah goal yg dimasukkan. Tim dengan jumlah goal lebih 
banyak akan berada di atas tim lain yg goal-nya "kurang banyak"
Jika VP Dan Goal masih menghasilkan juara kembar, masih ada hal / point lain yg 
harus dibandingkan untuk menentukan Tim mana yg lebih unggul. Demikian 
seterusnya hingga Juara kembar tidak terjadi; bahkan kalau perlu diadakan adu 
penalty (kalau di indonesia malah adu jotos juga ada..)

Dlm Penentuan Ranking Siswa ini; juga akan diberlakukan hal yg mirip spt itu,
Pertama: JmlNilai menentukan rangking, jika ada rangking kembar, Nilai Mapel 1 
akan dibandingkan, jika masih sama 
nilai Mapel 2 dibandingkan, Jika masih sama maka nilai Mapel 3 dibandingkan 
begitu seterusnya sampai semua Nilai Mapel dibandingkan.
Singkatnya Ranking terbentuk oleh JumlahNilai tetapi juga dipengaruhi oleh 
Nilai Per Mapel secara berjenjang sesuai dengan skala prioritasnya.

So..?!
Yang menjadi masalah adalah: bagaimana menSORT daftar siswa dengan cara & 
syarat seperti itu.


Dengan hanya menjumlah 8 nilai Mapel maka "nilai tiap Mapel" akan Lebur Jadi 
Satu, sehingga tidak ada lagi beda priortitasnya.
Maka harus ada cara lain yaitu mambuat nilai baru yg merupakan GABUNGAN Jumlah 
Nilai dan 8 Nilai Mapel.

Ini perlu dilakukan karena keterbatasan Exel dalam
(**) Kunci Kolom Sorting hanya terbatas 3 kolom
(**) Bilangan (misalnya gabungan nilai dikonvert menjadi data type bilangan 
utuh) di cell Excel hanya presisi pada mximal 15 digit
(sedangkan nilai gabungan 8 nilai saja sudah enjadi 4 + 24 digit.) bilangan 
lebih dari 15 digit akan mengalami pembulatan di buntutnya...

Cara menggabung, agar nilai-nilai tersebut masih punya pengaruh terhadap hasil 
sorting

1.
JumlahNilai dikonversi menjadi Text Anka, tanpa tanda pemisah desimal dan semua 
nilai dikonversi menjadi data yang jumlah digit-nya sama
Misal : rentang nilai pada JmlNilai  = 0.0 sampai 10.0
Setiap Jumlah Nilai dikalilkan 10 (untuk menghilangkan tanda pemisah 
desimal); kemudian di konversi menjadi text dengan bentuk "000"
=Text(JmlNilai*10,"0000")
Cara ini bertujuan walaupun data diubah tetapi nilai urutannya tidak berubah, 
terutama kelak pada saat digabung dengan data lain.


2
Setiap nilai per Mapel  (rentang nilai 0.00 sampai 10.0) juga diperlakukan 
seperti itu :
=Text(NilaiMapel_N * 10, "000")

3.
Ke sembilan data (jml Nilai, Nilai Mapel 1, nilai Mapel 2 dst sampai Nilai 
mapel 8) Digabung (bukan dijumlah)
=Concatenate(HasilKonversiJmlNilai, HasilKonversiNilaiMapel1, 
HasilKonversiNilaiMapel2,..... ,HasilKonveversiNilaiMapel8)

Sekarang tiap siswa punya kolom baru  (Kolom  "Nilai Lengkap") yg isinya 
mungkin seperti ini
"694 085 082 095 099 085 073 085 090"
3 Digit pertama adalah JmlNilai, tiap 3 digit berikutnya adlah Nilai Tiap Mapel

Kolom Inilah yg menjadi KolomKunci ketika Tabel DaftarNilai di Sort Descending 
(diurutkan secara menurun)

Seharusnya Sorting (dengan menu >data >sort) menghasilkan daftar siswa yg sudah 
terurut sesuai rangkingnya dimana rangking selain merefleksikan JumlahNilai 
juga diperngaruhi oleh Tiap Mapel dan Prioritasnya.



Workbook terlampir mencoba mengotomatiskan hal hal yg di didongengkan di atas..
- mulai dari mengkonversi setiap JumlahNilai dan Nilai per Mapel menjadi daa 
Text dengan digit yg seragam
- menyusun / menggabung menjadi Nilai Lengkap tiap siswa
- mensort agar nilai tertinggi ada di papan paling atas
- memberi nilai urutan Rank
- Menampilkan NIS dan Nama Siswa sejajar dengan NilaiLengkapnya yg sudah 
ter-sorted.

Semuanya dikerjakan hanya dengan sekali sentuh tombol
File ini dipersembahkan kepada para sobat: PakGuru/BuGuru, PakTU/BuTU yg 
memelukannya; mumpung saat ini masih musim durian (e salah lagi yaa.. musim 
murid pada cari nilai & dan musim sekolahan pada membuat nilai, & musim Ortu 
Murid mulai pusing..)

Mudah mudahan tidak terlalu salah dan ada manfaatnya

Bagi pelanggan milis yg ber-DeliveryStatus  WebOnly atau pun DailyDigest, 
maupun pelanggan yg ketinggalan kereta
(baru gabung ke milis setelah lewat tanggal posting) selain masih bisa 
mengunduh file lampiran di Archive milis(lihat footer)
bisa juga langsung mengunduh di shared storage siti :  
http://www.box.net/shared/ocsgtf5517

bluewater, 29Apr2011
~siti~


 

Kirim email ke