Kamis, 10 Juli 2014

Bilangan Fibonacci dalam JAVA

Bilangan Fibonacci adalah barisan yang didefinisikan secara rekursif. Barisan ini berawal dari 0 dan 1, kemudian angka berikutnya didapat dengan cara menambahkan kedua bilangan yang berurutan sebelumnya.Dengan aturan ini, maka barisan bilangan Fibonacci yang pertama adalah:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, …

Barisan bilangan Fibonacci dapat dinyatakan sebagai berikut:
Fn = (x1n – x2n)/ sqrt(5)
dengan
  • Fn adalah bilangan Fibonacci ke-n
  • x1 dan x2 adalah penyelesaian persamaan x2-x-1=0
Perbandingan antara Fn+1 dengan Fn hampir selalu sama untuk sebarang nilai n dan mulai nilai n tertentu, perbandingan ini nilainya tetap. Perbandingan itu disebut Golden Ratio yang nilainya mendekati 1,618.

Coding Versi Pertama

import java.util.Scanner; //untuk input bilangan
public class latihan2{
    public static void main(String dede[]) {
     System.out.print ("Masukkan jumlah deret Fibonacci : ");
     Scanner inputan = new Scanner (System.in); //pengambilan inputan
     int x = inputan.nextInt(); //inisialisasi x
     int [] fibo = new int [x]; //inisialisasi dan deklarasi array
     fibo[0]=0;
     fibo[1]=1;
     for(x=2;x=2;x
        fibo[x]=fibo[x-1]+fibo[x-2]; //rumus mencari bilangan Fibonacci
        System.out.print("Bilangan Fibonacci: ");
     for(x=0;x
        System.out.print(fibo[x]+" ");
 }
}

Coding Versi Kedua

import javax.swing.JOptionPane;

public class Fibonacci {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        int a=0;
        int b=1;
        int n=Integer.parseInt(JOptionPane.showInputDialog("Input: "));

        System.out.println("Input: " + n);

        for(int i=0; i < n; i++){
            System.out.print("" + a);
            a=a+b;
            b=a-b;
        }
        System.out.println("");
    }

}

Bilangan Prima dalam JAVA
Bilangan prima termasuk bilangan yang cukup unik, kita sudah mempelajari bilangan ini sejak masuk sekolah dasar.  

Beberapa referensi yang penulis dapat menyatakan bahwa bilangan prima merupakan bilangan positif yang hanya bisa dibagi oleh tepat 2 pembagi, yaitu angka 1 dan angka tersebut sendiri. Ada juga yang menyatakan sebagai suatu bilangan yang hanya bisa dibagi oleh dirinya sendiri tanpa menyertakan angka 1. 

Contoh: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97 dan seterusnya.

Dalam logika pemrograman, kita cuma perlu memperhatikan mulai angka 2 dan seterusnya. Angka 0 jelas tidak mungkin, karena bilangan ini dibagi angka berapapun akan menghasilkan angka 0. Dan angka 1 juga kita abaikan saja, sebab angka 1 hanya bisa dibagi oleh dirinya sendiri, padahal bilangan prima itu syarat utamanya bisa dibagi oleh 2 bilangan natural yang nyata, yaitu angka 1 dan dirinya sendiri. (Note: bisa dibagi ini dalam artian menghasilkan bilangan bulat positif, bukan bilangan pecahan.)
Berikutnya akan penulis ilustrasikan contoh pembagiannya, dimana kita sepakati bahwa angka pembagi tidak melibatkan angka 1.

2: hanya bisa dibagi 2.
3: hanya bisa dibagi 3.
4: bisa dibagi 2 dan 4 (lebih dari 1 pembagian, maka tidak termasuk bilangan prima).
5: hanya bisa dibagi 5.
6: bisa dibagi 2,3, dan 6 (bukan bilangan prima).
Dan seterusnya.

Misalkan diketahui sebuah bilangan X, bagaimana cara menentukan bahwa bilangan X itu termasuk bilangan prima atau bukan?

Asumsi: X adalah bilangan yang lebih besar dari 2
Berarti bilangan-bilangan yang akan menjadi pembagi adalah mulai angka 2sampai X-1.
Jika bilangan X bisa dibagi oleh minimal salah satu dari bilangan-bilangan mulai 2 sampai X-1, maka dapat dikatakan bahwa bilangan X adalah bukan bilangan prima.

Contoh: 9 Bilangan sebagai pembagi adalah 2 3 4 5 6 7 8
Untuk mengetahui bahwa suatu bilangan bisa dibagi atau tidak, paling mudah kita menggunakan bantuan mod, yang menyatakan sisa hasil bagi. Jika sisa hasil bagi 0 berarti bisa dibagi.

Kembali ke contoh.

9 mod 2 = 1 (hasil bukan 0, artinya tidak habis/bisa dibagi), lanjutkan,
9 mod 3 =0 (sudah cukup untuk menyimpulkan bahwa 9 adalah bukan bilangan prima.)
Tidak perlu kita uji dengan membagi 9 dengan angka 4 dan seterusnya.
Contoh lain: 11
11 mod 2 = 1
11 mod 3 = 2
11 mod 4 = 3
11 mod 5 = 1
11 mod 6 = 5
11 mod 7 = 4
11 mod 8 = 3
11 mod 9 = 2
11 mod 10 = 1

Tidak ada yang menghasilkan angka 0, berarti 11 termasuk bilangan prima. 

Coding Versi Pertama

import java.util.Scanner;
public class kasusPrima {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int awal, akhir, bil;
        System.out.println("Program Penampil Bilangan Prima");
        System.out.print("Masukkan batas awal\t: "); awal=in.nextInt();
        System.out.print("Masukkan batas akhir\t: "); akhir=in.nextInt();
        System.out.printf("Bilangan prima dari %d sampai %d adalah \n", awal, akhir);
        int ang=awal;
        while (ang <= akhir) {
            int tmp = 0;
            for (int bagi = 2; bagi < ang; bagi++) {
                if (ang%bagi==0) {
                    tmp=1;
                }
            }
            if (tmp != 1) {
                System.out.println(ang);
                }
            ang++;
        }
    }
}

Coding Versi Kedua

public class BilanganPrima {
/**
 * @param args the command line arguments
 */
 public static void main(String[] args) {
     int input = 100;

     for (int i = 2; i < input; i++) {
         boolean isPrima = true;

         for (int j = 2; j < i; j++) {
             if(i%j==0){
                 isPrima = false;
                 break;
             }
         }

         if(isPrima==true){
         System.out.println(i+",");
    }
  }
 }
}

Bilangan Acak dalam JAVA
Randomize atau sering disebut dengan bilangan acak yaitu bilangan yang tidak diketahui bilangan berapa yang selanjutnya muncul.

Coding Versi Pertama
Terlebih dahulu kita buat kelas untuk men-generate bilangan randomnya
------------------------------------------------------------------------------------------------------------
import java.util.*;

public class RandomGenerator {
    private static Random random = new Random();

    public static String generateActivationCode(int length) {
        String code = new String("");
        for (int i = 0; i < length; i++) {
            code += (char) (random.nextInt(10) + '0');
        }
        return code;
    }
}
------------------------------------------------------------------------------------------------------------
Kemudian kita buat kelas drivernya untuk memanggil kelas di atas
----------------------------------------------------------------------------------------------------------
public class TestRandom {
    public static void main(String[] args) {
        RandomGenerator random = new RandomGenerator();
        for (int i = 0; i < 10; i++) {
            System.out.println("" + random.generateActivationCode(6) + "");
        }
    }
}

Coding Versi Kedua
class RandomPadaJava
{
 public static void main(String[] args)
 {
  int nilai;

  for(int i=0; i<10; i++)
  {
   nilai = (int)(Math.random()*100);
   System.out.println(nilai);
  }
 }
}


Semoga Bermanfaat (^.^)

Rabu, 09 Juli 2014

Tutorial SQL PEMULA

Belajar Tutorial untuk Pemula " Sumber Klik Disini "


Pengertian Perintah SQL Perintah SQL instruksi, kode ke dalam laporan SQL, yang digunakan untuk berkomunikasi dengan database untuk melakukan tugas-tugas tertentu, pekerjaan, fungsi dan query dengan data. Perintah SQL dapat digunakan tidak hanya untuk mencari database, tetapi juga untuk melakukan berbagai fungsi lainnya seperti, misalnya, Anda dapat membuat tabel, menambahkan data ke tabel, atau mengubah data, drop tabel, mengatur hak akses bagi pengguna. Perintah SQL dikelompokkan menjadi empat kategori utama, tergantung pada fungsi mereka :
  • Data Definition Language (DDL) - Perintah SQL ini digunakan untuk membuat, mengubah, dan menjatuhkan struktur objek database. Perintah-perintah yang MENCIPTAKAN, ALTER, DROP, RENAME, dan TRUNCATE.
  • Data Manipulation Language (DML) - Perintah SQL ini digunakan untuk menyimpan, mengambil, mengubah, dan menghapus data.Ini perintah Data Manipulation Language adalah: SELECT, INSERT, UPDATE, Dan DELETE.
  • Transaksi Control Language (TCL) - Perintah SQL ini digunakan untuk mengelola perubahan yang mempengaruhi data. Perintah-perintah ini COMMIT, ROLLBACK, dan SAVEPOINT.
  • Data Control Language (DCL) - Perintah SQL ini digunakan untuk menyediakan keamanan untuk objek database. Perintah-perintah ini adalah GRANT dan REVOKE.
SQL TUTORIAL TOPIQS
SQL Statments
  1. SQL SELECT
  2. SQL INSERT
  3. SQL UPDATE
  4. SQL DELETE
  5. SQL CREATE TABLE
  6. SQL ALTER TABLE
  7. SQL RENAME
  8. SQL TRUNCATE
  9. SQL DROP
SQL Clauses
  1. SQL Where
  2. SQL ORDER BY
  3. SQL GROUP BY
  4. SQL HAVING
SQL Operators
  1. SQL Comparision Operators
  2. SQL Logical Operators
  3. SQL LIKE, IN, ISNULL, BETWEEN..AND
SQL Integrity Constraints
  1. Primary Key Constraints
  2. Foreign Key Constraints
  3. Not Null Constraints
  4. Unique Key Constraints
  5. Check Constraints
SQL Other Topics

  1. SQL ALIASES
  2. SQL GROUP FUNCTIONS
  3. SQL JOINS
  4. SQL VIEWS
  5. SQL SUBQUERY
  6. SQL INDEX
  7. SQL GRANT, REVOKE
You can send your feedback, suggestions on how to improve the SQL Tutorial site to this email id: feedback@beginner-sql-tutorial.com

Senin, 07 Juli 2014

BELAJAR Visual Basic

1. Program menghitung luas persegi panjang
2. Program mencari bilangan genap dan ganjil
3. Program mencari bilangan prima
4. Program mencari factorial

Ayo kita sama-sama ikuti petunjuk dibawah ini :
# Program menghitung luas persegi panjang
1. Menentukan rumus, l = p x l
2. Buat label dengan caption: panjang diikuti textbox dengan nama : txtp dan kosongkan caption-nya. Kemudian buat label dengan caption: lebar diikuti textbox dengan nama : txtl dan kosongkan caption-nya.
3. Buat command button dengan nama cmd hasil dan caption : HASIL, double klik command button tersebut sehingga akan muncul :
Private sub_cmd proses click()

End sub

Pada tengah-tengah syntax tersebut akan kita isi dengan rumus luas persegi panjang.
l = p x l
Syntaxnya adalah :
txthasil.text = txtp.text * txtl.text
Yang bermakna tempatkanlah hasil perhitungan di kolom txthasil.text dengan rumus perhitungan angka yang dimasukkan ke dalam kolom txtp.text akan dikalikan dengan angka yang dimasukkan ke dalam kolom txtl.text.

Jadi syntax cmd hasil akan menjadi :
Private sub_cmd hasil click()
txthasil.text = txtp.text * txtl.text
End sub

Kita juga dapat menambahkan fungsi agar user dapat melakukan penghitungan dalam program tersebut tanpa harus menutup dan membuka kembali program tadi. Buatlah command button dengan caption: “LAGI” , kemudian isi dengan syntax :
Txtp.text = “”
Txtl.text = “”
Txt.P.setFocus
(“”) tanda kutip tersebut menunjukkan fungsi untuk mengosongkan textbox dan setFocus mengarahkan kursor ke textbox yang dituju dalam hal ini adalah textbox dari txtP.

Anda juga dapat membuat tombol untuk fungsi keluar dari program yaitu dengan menggunakan command button, beri nama : EXIT (atau terserah anda), kemudian pada syntaxnya hanya ditambahkan kata “end”, contoh :
Privat sub cmd hasil_click()
End
End Sub

# Program mencari bilangan genap dan ganjil

Buatlah 1 textbox (misal : txta) untuk menampung angka dan 1 buah label (misal : lblhasil)untuk menampung hasil.
Buat command button Hasil, untuk button “LAGI” atau “EXIT” bisa ditambahkan sesuai selera dengan format seperti diatas.
Untuk syntax cmd hasil kita harus mendefinisikan apa arti bilangan genap dan ganjil.
Bilangan genap : adalah bilangan yang habis dibagi 2
Bilangan ganjil : adalah bilangan yang tidak habis dibagi 2.
Bahasa pemrogramannya adalah :

If Val(Text1.Text) Mod 2 = 0 Then
Label1.Caption = "genap"
Else
Label1.Caption = "ganjil"

Yang berarti jika angka yang dimasukkan ke dalam textbox 1 mempunyai sisa hasil bagi (Mod) = 0 maka bilangan tersebut adalah genap jika tidak maka berarti bilangan itu ganjil.

# Program mencari bilangan prima
Seperti program diatas buatlah 1 textbox (beri nama misal : txtb) untuk menampung angka dan 1 buah label (beri nama misal : lblhasil)untuk menampung hasil.
Buat command button Proses, untuk button “LAGI” atau “EXIT” bisa ditambahkan sesuai selera dengan format seperti diatas.

Untuk syntax cmd hasil kita harus mendefinisikan apa arti bilangan prima dan bilangan bukan prima.
Bilangan prima adalah bilangan yang hanya bisa dibagi oleh 1 dan bilangan itu sendiri selain itu dianggap bukan prima. Khusus untuk angka 1 disebut bilangan bukan prima dan 2 disebut bilangan prima. Contoh bilangan prima : 2, 3, 5, 7, 11,…
Secara manual kita mencari bilangan itu prima atau tidak dengan cara :
Contoh masukan angka adalah 5, maka proses penghitungannya adalah sebagai berikut :
1) 5 Mod 5 = 0
2) 5 Mod 4 = 1
3) 5 Mod 3 = 2
4) 5 Mod 2 = 1
5) 5 Mod 1 = 0

Perhatikan pada sub penghitungan 2-4 tidak ada angka 0 dalam rangkaian penghitungan tersebut membuktikan bahwa angka 5 tidak habis dibagi oleh angka-angka selain 1 dan 5 (bilangan itu sendiri), lain halnya jika yang bukan prima (coba kita masukkan angka 6 misalnya)

1) 6 Mod 6 = 0
2) 6 Mod 5 = 1
3) 6 Mod 4 = 2
4) 6 Mod 3 = 0
5) 6 Mod 2 = 0
6) 6 Mod 1 = 6

Perhatikan pada sub penghitungan 2-4 ternyata angka 0 dalam rangkaian penghitungan tersebut yang membuktikan bahwa angka 6 ternyata habis oleh angka pembilang selain 1 dan angka 6 (bilangan itu sendiri) berarti 6 adalah bilangan bukan prima.

Jika perintah diatas diubah ke dalam bahasa pemrograman visual basic berbentuk demikian :

If Val(Text1.Text) = 1 Then
text2.Caption = "Bukan Prima"
ElseIf Val(Text1.Text) = 2 Then
text2.Caption = "Prima"

Else

For i = 2 To Val(Text1.Text) - 1
If Val(Text1.Text) Mod i = 0 Then
text2.Caption = "Bukan Prima"
Exit For
Else
text2.Caption = "Prima"
End If
Next
End If

Perintah tersebut berarti : khusus untuk angka 1 definisikanlah sebagai “Bukan Prima” dan khusus untuk angka 2 definisikanlah sebagai “Prima” (anda akan melihat ada if dan elseIf itu dikarenakan ada 2 fungsi if yang berlaku dalam syntax tersebut sehingga ketika ada fungsi if lain maka fungsi if berikutnya diberi syntax elseIf. Kemudian perintah perhitungan berikut dalam fungsi tersebut bermakna : lakukanlah perhitungan ke-2 sampai ke-angka yang bersangkutan dikurangi 1 (untuk melakukan fungsi perulangan gunakan fungsi Next). Kenapa hal ini dilakukan? Jawabannya adalah karena kita hanya menyoroti hasil sisa bagi (Mod) dari perhitungan ke-2 sampai angka yang bersangkutan dikurangi 1 saja, karena semua angka prima maupun bukan prima sudah jelas habis dibagi oleh angka 1 dan angka yang itu sendiri jadi yang kita fokuskan adalah perhatian pada penghitungan ke-2 sampai ke-angka dikurangi 1. Jika dalam perhitungan tersebut terdapat sisa hasil bagi (Mod) = 0 maka bilangan tersebut bukan prima.

# Program mencari factorial
Buatlah 1 textbox (misal : txtc) untuk menampung angka dan 1 buah teksbox (misal : txthasil)untuk menampung hasil.

Seperti yang kita ketahui rumus factorial adalah hasil perkalian antara bilangan bulat positif yang kurang dari atau sama dengan n. Faktorial ditulis sebagai n! dan disebut n faktorial.
Sebagai contoh, 7! adalah bernilai 7×6×5×4×3×2×1 = 5040.

bil = 1
For i = 1 To txtangka.Text
bil = bil * i
Next
txthasil.Text = Str(bil)

Syntax diatas bermakna : dalam melakukan bilangan ini kita gunakan variable Bantu yaitu bil = 1, diberi harga 1 karena kalau tidak akan diberi harga 0. Kemudian untuk fungsi i maka 1 sampai angka yang dimasukkan dalam textbox txtangka.Text maka lakukanlah perintah bil (=1) dikalikan angka-angka yang disebutkan oleh fungsi i dan lakukanlah perulangan (next) sampai angka yang dimasukkan dalam textbox dan tempatkanlah hasil perhitungan tersebut dalam textbox txthasil.Text

Selasa, 20 Mei 2014

Dilematika UNAS: Saat Nilai Salah Berbicara by Nurmillaty Abadiah

April 18, 2014
Sebuah surat terbuka, untuk Bapak Menteri Pendidikan yang terhormat,


16. Mencontek adalah sebuah perbuatan…

a. terpaksa

b. terpuji

c. tercela

d. terbiasa



Ardi berhenti di soal nomor enam belas itu, salah satu soal ulangan Budi Pekerti semasa dia kelas 2 SD dulu. Ia tertegun, dan hatinya berdenyut perih saat dilihatnya sebuah coretan menyilang pilihan jawaban C. Coretan tebal, panjang, ciri khas si Ardi kecil yang menjawab nomor itu tanpa ragu, melainkan dengan penuh keyakinan…



Handphonenya berdering pelan, sebuah SMS masuk. Ardi membukanya, dan ia menghela nafas dalam-dalam begitu membaca isinya.



Jadi gimana Di, ikutan pakai ‘itu’ nggak?



Barangkali bukan kebetulan Ardi menemukan soal-soal ulangan SD-nya saat ia mau mencari buku-buku lamanya, barangkali bukan kebetulan Ardi membaca soal nomor enam belas dan jawaban polosnya itu, sebab denyut perih di hatinya baru mereda setelah ia mengirim sebaris kalimat yakin…



Nggak, Jo, aku mau jujur aja.



Sebuah balasan pahit mampir selang beberapa detik setelahnya,



Ah, cemen kamu.



Tapi tidak, Ardi tak goyah. Ia mengulum senyum dan batinnya berbisik pelan, salah, Jo. 



Jujur itu keren.






UNAS. Sebuah jadwal tahunan yang diselenggarakan oleh pemerintah untuk mengevaluasi hasil belajar siswa selama tahun-tahun sebelumnya. Sebuah penentu kelayakan seorang siswa untuk lulus dari jenjang pendidikan yang sudah dia jalani atau tidak. UNAS sudah sejak lama ada, meliputi berbagai tingkat pendidikan, mulai dari SD, SMP, sampai yang terakhir, yakni SMA. Sudah sejak lama pula UNAS menuai pro dan kontra, yang mana rupanya kontra itu belakangan ini berhasil 'memaksa' pemerintah untuk menghapuskan UNAS di tingkatan SD. Sedang untuk tingkat SMP dan SMA, kemungkinan itu masih harus menunggu.




Tiap kali UNAS akan digelar, seluruh elemen masyarakat ikut tertarik ke dalam pusaran perbincangannya. Perdebatan tentang perlu-tidaknya diadakan UNAS tak pernah absen dari obrolan ringan di warung kopi, dan acara-acara yang mengklaim ingin memotivasi para peserta UNAS pun bermunculan di berbagai channel televisi. Di sela-sela program motivasi itu, jikalau ada sesi tanya-jawab, hampir bisa dipastikan akan ada seorang partisipan yang melempar tanya:





"Bagaimana dengan kecurangan UNAS?"



Ah, ya, UNAS memang belum pernah lepas dari ketidakjujuran.




Sekarang, jangan marah jika saya bilang bahwa UNAS identik dengan kecurangan. Sebab jika tidak, pertanyaan itu tidak akan terlalu sering terdengar. Tapi nyatanya, semakin lama pertanyaan itu semakin berdengung di tiap sudut daerah yang punya lembaga pendidikan; dan tahukah apa yang menyedihkan? Yang paling menyedihkan adalah saat lembaga-lembaga pendidikan itu, tempat kita belajar mengeja kalimat 'kejujuran adalah kunci kesuksesan' itu, hanya mampu tersenyum tipis dan menahan kata di depan berita-berita ketidakjujuran yang simpang-siur di berbagai media.





UNAS dengan segala problematika dan dilematika yang dibawanya memang tak pernah habis untuk dikupas, dan sayangnya ia tak pernah bosan pula menemui jalan buntu. Dari tahun ke tahun selalu ada laporan tentang kecurangan, tetapi ironisnya setiap tahun itu pula pemerintah tetap tersenyum dan mengabarkan dengan bahagia bahwa 'UNAS tahun ini mengalami peningkatan, kelulusan tahun ini mengalami kenaikan, rata-rata tahun ini mengalami kemajuan', dan hal-hal indah lainnya. Dulu, saat saya belum menginjak kelas tiga, saya berpikir bahwa grafik itu benar adanya dan saya pun terkagum-kagum oleh peningkatan pendidikan yang dialami oleh generasi muda Indonesia.



Tetapi sekarang, sebagai pelajar yang baru saja menjalani UNAS... dengan berat hati saya mengaku bahwa saya tidak bisa lagi percaya pada dongeng-dongeng itu. Sebagai pelajar yang baru saja menjalani UNAS, saya justru punya banyak pertanyaan yang saya pendam dalam hati saya. Banyak beban pikiran yang ingin saya utarakan kepada Bapak Menteri Pendidikan. Tapi tenang saja, Bapak tidak perlu menjadi pembaca pikiran untuk tahu semua itu, karena saya akan menceritakannya sedikit demi sedikit di sini. Dari berbagai kekalutan dan tanda tanya yang menyesaki otak sempit saya, saya merumuskannya menjadi tiga poin penting...




Pertama, tentang kesamarataan bobot pertanyaan-pertanyaan UNAS, yang tahun ini Alhamdulillah ada dua puluh paket.





Bapak Menteri Pendidikan yang terhormat... pernah tidak terpikir oleh Bapak bagaimana caranya seorang guru Bahasa Indonesia bisa membuat 20 soal yang berbeda, dengan tingkat kesulitan yang sama, untuk satu SKL saja? Pernah tidak terpikir oleh Bapak bagaimana caranya seorang guru Biologi membuat 20 soal yang berbeda, dengan taraf kesulitan yang sama, hanya untuk satu indikator 'menjelaskan fungsi organel sel pada tumbuhan dan hewan'?





Menurut otak sempit saya, sejujurnya, itu mustahil. Mau tidak mau akan ada satu tipe soal yang memuat pertanyaan dengan bobot lebih susah dari tipe lain. Hal ini jelas tidak adil untuk siswa yang kebetulan apes, kebetulan mendapatkan tipe dengan soal susah sedemikian itu. Sebab orang tidak akan pernah peduli apakah soal yang saya terima lebih susah dari si A atau tidak. Manusia itu makhluk yang seringkali terpaku pada niai akhir, Pak. Orang tidak akan pernah bertanya, 'tipe soalmu ada berapa nomor yang susah?' melainkan akan langsung bertanya, 'nilai UNASmu berapa?'.



Bapak Menteri Pendidikan yang terhormat, di sini Bapak akan beralasan, barangkali, bahwa jika siswa sudah belajar, maka sesusah apapun soalnya tidak akan bermasalah. Tapi coba ingat kembali, Pak, apa sih tujuan diadakannya Ujian Nasional itu? Membuat sebuah standard untuk mengevaluasi siswa Indonesia, 'kan? Untuk menetapkan sebuah garis yang akan jadi acuan bersama, 'kan? Sekarang, bagaimana bisa UNAS dijadikan patokan nasional saat antar paket saja ada ketidakmerataan bobot soal? Ini belum tentang ketidakmerataan pendidikan antar daerah, lho, Pak.


Kedua, tentang pertanyaan-pertanyaan UNAS tahun ini, yang, menurut saya, menyimpang dari SKL.




Bapak Menteri Pendidikan yang terhormat, saya tahu Bapak sudah mengklarifikasinya di twitter, bahwa soal tahun ini bobot kesulitannya di naikkan sedikit (saya tertawa miris di bagian kata 'sedikit' ini). Tapi, aduh, jujur saya bingung juga Pak bagaimana menanggapinya. Pertama, bobot soal kami dinaikkan hanya sampai standard Internasional. Kedua, konfirmasi itu Bapak sampaikan setelah UNAS selesai. Saya jadi paham kenapa di sekolah saya disiapkan tabung oksigen selama pelaksanaan UNAS. Mungkin sekolah khawatir kami pingsan saking bahagianya menemui soal-soal itu, 'kan?



Bapak, saya tidak mengerti, benar-benar tidak mengerti... apa yang ada di pikiran Bapak-Bapak semua saat membuat, menyusun, dan mencetak soal-soal itu? Bapak mengatakan di twitter Bapak, 'tiap tahun selalu ada keluhan siswa karena soal yang baru'. Tapi, Pak, sekali ini saja... sekali ini saja saya mohon, Bapak duduk dengan santai, kumpulkan contoh soal UNAS tahun dua ribu sebelas, dua ribu dua belas, dua ribu tiga belas, dan dua ribu empat belas. Dengan kepala dingin coba Bapak bandingkan, perbedaan tingkat kesulitan dua ribu sebelas dengan dua ribu dua belas seperti apa. Perbedaan bobot dua ribu dua belas dengan dua ribu tiga belas seperti apa. Dan pada akhirnya, coba perhatikan dan kaji baik-baik, perbedaan tipe dan taraf kerumitan soal dua ribu tiga belas dengan dua ribu empat belas itu seperti apa.


Kalau Bapak masih merasa tidak ada yang salah dengan soal-soal itu, saya ceritai sesuatu deh Pak. Bapak tahu tidak, saat hari kedua UNAS, saya sempat mengingat-ingat dua soal Matematika yang tidak saya bisa. Saya ingat-ingat sampai ke pilihan jawabannya sekalipun. Kemudian, setelah UNAS selesai, saya pergi menghadap ke guru Matematika saya untuk menanyakan dua soal itu. Saya tuliskan ke selembar kertas, saya serahkan ke beliau dan saya tunggu. Lalu, hasilnya? Guru Matematika saya menggelengkan kepalanya setelah berkutat dengan dua soal itu selama sepuluh menit. Ya... beliau bilang ada yang salah dengan kedua soal itu. Tetapi yang ada di kepala saya hanya pertanyaan-pertanyaan heran...


Bagaimana bisa Bapak menyuruh saya menjawab sesuatu yang guru saya saja belum tentu bisa menjawabnya?


Tidak diuji dulukah kevalidan soal-soal UNAS itu?


Bapak ujikan ke siapa soal-soal itu? Para dosen perguruan tinggi? Mahasiswa-mahasiswa semester enam? 


Lupakah Bapak bahwa nanti yang akan menghadapi soal-soal itu adalah kami, para pelajar kelas tiga SMA dari seluruh Indonesia?


Haruskah saya ingatkan lagi kepada Bapak bahwa di Indonesia ini masih ada banyaksekolah-sekolah yang jangankan mencicipi soal berstandard Internasional, dilengkapi dengan fasilitas pengajaran yang layak saja sudah sujud syukur?


Etiskah menuntut sebelum memberi?


Etiskah memberi kami soal berstandard Internasional di saat Bapak belum mampu memastikan bahwa seluruh Indonesia ini siap untuk soal setingkat itu?


Pada bagian ini, Bapak mungkin akan teringat dengan berita, 'Pelajar Mengatakan bahwa UNAS Menyenangkan'. Kemudian Bapak akan merasa tidak percaya dengan semua yang sudah saya katakan. Kalau sudah begitu, itu hak Bapak. Saya sendiri juga tidak percaya kenapa ada yang bisa mengatakan bahwa UNAS kemarin menyenangkan. Awalnya saya malah mengira bahwa itu sarkasme, sebab sejujurnya, tidak sedikit teman-teman saya yang menangis sesudah mengerjakan Biologi. Mereka menangis lagi setelah Matematika dan Kimia. Lalu airmata mereka juga masih keluar seusai mengerjakan Fisika. Sekarang, di mana letak 'UNAS menyenangkan' itu? Bagi saya, hanya ada dua jawabannya; antara narasumber berita itu memang sangat pintar, atau dia menempuh jalan pintas...


Jalan pintas itu adalah hal ketiga yang menganggu pikiran saya selama UNAS ini. Sebuah bentuk kecurangan yang tidak pernah saya pahami mengapa bisa terjadi, yaitu joki.




Mengapa saya tidak paham joki itu bisa terjadi? Sebab, setiap tahun pemerintah selalu gembar-gembor bahwa "Soal UNAS aman! Tidak akan bocor! Pasti terjamin steril dan bersih!", tetapi ketika hari H pelaksanaan... voila! Ada saja joki yang jawabannya tembus. Jika bocor itu paling-paling hanya lima puluh persen benar, ini ada joki yang bisa sampai sembilan puluh persen akurat. Sembilan puluh persen! Astaghfirullah hal adzim, itu bukan bocor lagi namanya, melainkan banjir. Kemudian ajaibnya pula, yang sudah dilakukan pemerintah untuk menanggulangi hal ini sepanjang yang saya lihat baru satu: menambah tipe soal! Kalau sewaktu saya SD dulu tipe UNAS hanya satu, sewaktu SMP beranak-pinak menjadi lima. Puncaknya sewaktu SMA ini, berkembang-biak menjadi 20 paket soal. Pemerintah agaknya menganggap bahwa banyaknya paket soal akan membuat jawaban joki meleset dan UNAS dapat berjalan mulus, murni, bersih, sebersih pakaian yang dicuci pakai detergen mahal.





Iya langsung bersih cling begitu, toh?





Nyatanya tidak.





Sekalipun dengan 20 paket soal, joki-joki itu rupanya masih bisa memprediksi soal sekaligus jawabannya. Peningkatan jumlah paket itu hanya membuat tarif mereka makin naik. Setahu saya, mereka bahkan bisa menyertakan kalimat pertama untuk empat nomor tententu di tiap paket agar para siswa bisa mencari yang mana paket mereka. Lho, kok bisa? Ya entah. Tidak sampai di sana, jawaban yang mereka berikan pun bisa tembus sampai di atas sembilan puluh persen. Lho, kok bisa? Ya sekali lagi, entah. Seperti yang saya bilang, kalau sudah sampai sembilan puluh persen akurat begitu bukan bocor lagi namanya, melainkan banjir bandang. Saat joki sudah bisa menyertakan soal, bukan hanya jawaban, maka adalah sebuah misteri Ilahi jika pemerintah masih sanggup bersumpah tidak ada main-main dari pihak dalam.





Bapak Menteri Pendidikan yang terhormat, saya memang hanya pelajar biasa. Tapi saya juga bisa membedakan mana jawaban yang mengandalkan dukun dan mana jawaban yang didapat karena sempat melihat soal. Apa salah kalau akhirnya saya mempertanyakan kredibilitas tim penyusun dan pencetak soal? Sebab jujur saja, air hujan tidak akan menetesi lantai rumah jika tidak ada kebocoran di atapnya.







Bapak Menteri Pendidikan yang terhormat... tiga hal yang saya paparkan di atas sudah sejak lama menggumpal di hati dan pikiran saya, menggedor-gedor batas kemampuan saya, menekan keyakinan dan iman saya.





Pernah terpikirkah oleh Bapak, bahwa tingkat soal yang sedemikian inilah yang memacu kami, para pelajar, untuk berbuat curang? Jika tidak... saya beritahu satu hal, Pak. Ada beberapa teman saya yang tadinya bertekad untuk jujur. Mereka belajar mati-matian, memfokuskan diri pada materi yang diajarkan oleh para guru, dan berdoa dengan khusyuk. Tetapi setelah melihat soal yang tidak berperikesiswaan itu, tekad mereka luruh. Saat dihadapkan pada soal yang belum pernah mereka lihat sebelumnya itu, mereka runtuh. Mereka menangis, Pak. Apa kesalahan mereka sehingga mereka pantas untuk dibuat menangis bahkan setelah mereka berusaha keras? Beberapa dari mereka terpaksa mengintip jawaban yang disebar teman-teman, karena dihantui oleh perasaan takut tidak lulus. Beberapa lainnya hanya bisa bertahan dalam diam, menggenggam semangat mereka untuk jujur, berdoa di antara airmata mereka... berharap Tuhan membantu.


Saya tidak bisa sepenuhnya menyalahkan teman-teman yang terpaksa curang setelah mereka belajar tetapi soal yang keluar seperti itu. Kami mengemban harapan dan angan yang tak sedikit di pundak kami, Pak. Harapan guru. Harapan sekolah. Harapan orangtua. Semakin jujur kami, semakin berat beban itu. Sebelum sampai di gerbang UNAS, kami telah melewati ulangan sekolah, ulangan praktek, dan berbagai ulangan lainnya. Tenaga, biaya, dan pikiran kami sudah banyak terkuras. Tetapi saat kami menggenggam harapan dan doa, apa yang Bapak hadapkan pada kami? Soal-soal yang menurut para penyusunnya sendiri memuat soal OSN. Yang benar saja, Pak. Saya tantang Bapak untuk duduk dan mengerjakan soal Matematika yang kami dapat di UNAS kemarin selama dua jam tanpa melihat buku maupun internet. Jika Bapak bisa menjawab benar lima puluh persen saja, Bapak saya akui pantas menjadi Menteri. Kalau Bapak berdalih 'ah, ini bukan bidang saya', lantas Bapak anggap kami ini apa? Apa Bapak kira kami semua ini anak OSN? Apa Bapak kira kami semua pintar di Matematika, Fisika, Biologi, Kimia, Bahasa Indonesia, dan Bahasa Inggris sekaligus? Teganya Bapak menyuruh kami untuk lulus di semua bidang itu? Sudah sepercaya itukah Bapak pada kecerdasan kami?


Tidak.


Tentu saja Bapak tidak sepercaya itu pada kami. Sebab jika Bapak percaya, Bapak tidak akan sampai terpikir untuk membuat dua puluh paket soal, padahal lima paket saja belum tentu bobot soal kelima paket itu seratus persen sama. Jika Bapak percaya, Bapak tidak akan sengaja meletakkan persentase UNAS di atas persentase nilai sekolah untuk nilai akhir kami, padahal belum tentu kemurnian nilai UNAS itu di atas kemurnian nilai sekolah. Jika Bapak percaya, Bapak tidak akan merasa perlu untuk melakukan sidak. Jika Bapak percaya... mungkin Bapak bahkan tidak akan merasa perlu untuk mengadakan UNAS.





.........





.........



.........




Anda akan mengatakan kalimat klise itu, Pak, bahwa nilai itu tidak penting, yang penting itu kejujuran.



Tapi tahukah, bahwa kebijakan Bapak sangat kontradiktif dengan kata-kata Bapak itu? Bapak memasukkan nilai UNAS sebagai pertimbangan SNMPTN Undangan. Bapak meletakkan bobot UNAS (yang hanya berlangsung tiga hari tanpa jaminan bahwa siswa yang menjalani berada dalam kondisi optimalnya) di atas bobot nilai sekolah (yang selama tiga tahun sudah susah payah kami perjuangkan) dalam rumus nilai akhir kami. Bapak secara tidak langsung menekankan bahwa UNAS itu penting, dan itulah kenyataannya, Pak. Itulah kenyataan yang membuat kami, para pelajar, goyah. Takut. Tertekan. Tahukah Bapak bahwa kepercayaan diri siswa mudah hancur? Pertahanan kami semakin remuk ketika kami dihadapkan oleh soal yang berada di luar pengalaman kami. Pernahkah Bapak pikirkan ini sebelumnya? Bahwa soal yang di luar kemampuan kami, soal yang luput Bapak sosialisasikan kepada kami meskipun persiapan UNAS tidak hanya satu-dua minggu dan Bapak sebetulnya punya banyak kesempatan jika saja Bapak mau, sesungguhnya bisa membuat kami mengalami mental breakdown yang sangat kuat? Pernahkah Bapak pikirkan ini sebelum memutuskan untuk mengeluarkan soal-soal tidak berperikesiswaan itu dalam UNAS, yang notabene adalah penentu kelulusan kami?




Pada akhirnya, Pak, izinkan saya untuk mengatakan, bahwa apa yang sudah Bapak lakukan sejauh ini tentang UNAS justru hanya membuat kecurangan semakin merebak. Bapak dan orang-orang dewasa lainnya sering mengatakan bahwa kami adalah remaja yang masih labil. Masih dalam proses pencarian jati diri. Sering bertingkah tidak tahu diri, melanggar norma, dan berbuat onar. Tapi tahukah, ketika seharusnya Bapak selaku orangtua kami memberikan kami petunjuk ke jalan yang baik, apa yang Bapak lakukan dengan UNAS selama tiga hari ini justru mengarahkan kami kepada jati diri yang buruk. Tingkat kesulitan yang belum pernah disosialisasikan ke siswa, joki yang tidak pernah diusut sampai tuntas letak kebocorannya, paket soal yang belum jelas kesamarataan bobotnya, semua itu justru mengarahkan kami, para siswa, untuk mengambil jalan pintas. Sekolah pun ditekan oleh target lulus seratus persen, sehingga mereka diam menghadapi fenomena itu alih-alih menentang keras. Para pendidik terdiam ketika seharusnya mereka berteriak lantang menentang dusta. Kalau perlu, sekalian jalin kesepakatan dengan sekolah lain yang kebetulan menjadi pengawas, agar anak didiknya tidak dipersulit.





Sampai sini, masih beranikah Bapak katakan bahwa tidak ada yang salah dengan UNAS? Ada yang salah, Pak. Ada lubang yang menganga sangat besar tidak hanya pada UNAS tetapi juga pada sistem pendidikan di negeri ini. Siapa yang salah? Barangkali sekolah yang salah, karena telah membiarkan kami untuk menyeberang di jalur yang tak benar. Barangkali kami yang salah, karena kami terlalu pengecut untuk mempertahankan kejujuran. Barangkali joki-joki itu yang salah, karena mereka menjual kecurangan dan melecehkan ilmu untuk mendapat uang.



Tapi tidak salah jugakah pemerintah? Tidak salah jugakah tim penyusun UNAS? Tidak salah jugakah tim pencetak UNAS? Ingat Pak, kejahatan terjadi karena ada kesempatan. Bukankah sudah menjadi tugas Bapak selaku yang berwenang untuk memastikan bahwa kesempatan untuk berlaku curang itu tidak ada?


Mungkin Bapak tidak akan percaya pada saya, dan Bapak akan berkata, "Kita lihat saja hasilnya nanti."


Kemudian sebulan lagi ketika hasil yang keluar membahagiakan, ketika angka delapan dan sembilan bertebaran di mana-mana, Bapak akan melupakan semua protes yang saya sampaikan. Bapak akan menganggap ini semua angin lalu. Bapak akan berpesta di atas grafik indah itu, menggelar ucapan selamat kepada mereka yang lulus, kepada tim UNAS, kepada diri Bapak sendiri, dan Bapak akan lupa. Bapak yang saya yakin sudah berkali-kali mendengar pepatah 'don't judge a book by its cover', akan lupa untuk melihat ke balik kover indah itu. Bapak akan melupakan kemungkinan bahwa yang Bapak lihat itu adalah hasil kerja para 'ghost writer UNAS'. Bapak akan lupa untuk bertanya kepada diri Bapak, berapa persen dari grafik itu yang mengerjakan dengan jujur? Kemudian Bapak akan memutuskan bahwa Indonesia sudah siap dengan UNAS berstandard Internasional, padahal kenyataannya belum. Joki-jokinyalah yang sudah siap, bukan kami. Mengerikan bukan, Pak, efek dari tidak terusut tuntasnya joki di negeri ini? Mengerikan bukan, Pak, ketika kebohongan menjelma menjadi kebenaran semu?




Bapak, tiga hari ini, kami yang jujur sudah menelan pil pahit. Pil pahit karena ketika kami berusaha begitu keras, beberapa teman kami dengan nyamannya tertidur pulas karena sudah mendapat wangsit sebelum ulangan. Pil pahit karena ketika kami masih harus berjuang menjawab beberapa soal di waktu yang semakin sempit, beberapa teman kami membuat keributan dengan santai, sedangkan para pengawas terlalu takut untuk menegur karena sudah ada perjanjian antar sekolah. Pil pahit, karena kami tidak tahu hasil apa yang akan kami terima nanti, apakah kami bisa tersenyum, ataukah harus menangis lagi...





Berhentilah bersembunyi di balik kata-kata, "Saya percaya masih ada yang jujur di generasi muda kita". Ya ampun Pak, kalau hanya itu saya juga percaya. Tetapi masalahnya bukan ada atau tidak ada, melainkan berapa, dan banyakan yang mana? Sebab yang akan Bapak lihat di grafik itu adalah grafik mayoritas. Bagaimana jika mayoritas justru yang tidak jujur, Pak? Cobalah, untuk kali ini saja tanyakan ke dalam hati Bapak, berapa persen siswa yang bisa dijamin jujur dalam UNAS, dibandingkan dengan yang hanya jujur di atas kertas?





(Ngomong-ngomong, Pak, banyak dosa bisa menyebabkan negara celaka. Kalau mau membantu mengurangi dosa masyarakat Indonesia, saya punya satu usul efektif. Hapuskan kolom 'saya mengerjakan ujian dengan jujur' dari lembar jawaban UNAS.)





UNAS bukan hal remeh, Pak, sama sekali bukan; terutama ketika hasilnya dijadikan parameter kelulusan siswa, parameter hasil belajar tiga tahun, sekaligus pertimbangan layak tidaknya kami untuk masuk universitas tujuan kami. Jika derajat UNAS diletakkan setinggi itu, mestinya kredibilitas UNAS juga dijunjung tinggi pula. Mestinya tak ada cerita tentang soal bocor, bobot tidak merata, dan tingkat kesulitan luput disosialisasikan ke siswa.





Kejujuran itu awalnya sakit, tapi buahnya manis.





Dan saya tahu itu, Pak.





Tapi bukankah Pengadilan Negeri tetap ada meski kita semua tahu keadilan pasti akan menang?



Bukankah satuan kepolisian masih terus merekrut polisi-polisi baru meski kita semua tahu kebenaran pasti akan menang?




Dan bukankah itu tugas Bapak dan instansi-instansi pendidikan, untuk menunjukkan pada kami, para generasi muda, bahwa kejujuran itu layak untuk dicoba dan tidak mustahil untuk dilakukan?





Kejujuran itu awalnya sakit, buahnya manis.





Tapi itu bukan alasan bagi Bapak untuk menutup mata terhadap kecurangan yang terjadi di wilayah kewenangan Bapak.





Kami yang berusaha jujur masih belum tahu bagaimana nasib nilai UNAS kami, Pak. Tapi barangkali hal itu terlalu remeh jika dibandingkan dengan urusan Bapak Menteri yang bejibun dan jauh lebih berbobot. Maka permintaan saya mewakili teman-teman pelajar cuma satu; tolong, perbaikilah UNAS, perbaikilah sistem pendidikan di negeri ini, dan kembalikan sekolah yang kami kenal. Sekolah yang mengajarkan pada kami bahwa kejujuran itu adalah segalanya. Sekolah yang tidak akan diam saat melihat kadernya melakukan tindak kecurangan. Kami mulai kehilangan arah, Pak. Kami mulai tidak tahu kepada siapa lagi kami harus percaya. Kepada siapa lagi kami harus mencari kejujuran, ketika lembaga yang mengajarkannya justru diam membisu ketika saat untuk mengamalkannya tiba...












Dari anakmu yang meredam sakit,





Pelajar yang baru saja mengikuti UNAS.