Pembahasan Soal Ujian Praktik Sertifikasi Junior Programming BPPTIK KOMINFO (Bagian I)
Table of Contents
Okey, melanjutkan cerita saya tentang pengalaman ikut sertifikasi junior programming BPPTIK KOMINFO, kali ini saya akan membahas mengenai soal-soal yang diujikan untuk ujian tulis sertifikasi klaster junior programming, untuk klaster lain saya minta maaf gan, karena saya hanya mengikuti klaster JP saja, untuk yang lain tidak tahu. Sebagaimana yang telah saya jelaskan dipostingan lalu, bahwa secara garis besar, materi yang diujikan antara lain :
- Menjaga Etika
- Membuat Algoritma Pemrograman Dasar
- Membuat Algoritma Pemrograman Lanjut
- Membuat Struktur Data
- Menulis Program Dasar
- Mengoperasikan Aplikasi Basis Data
- Membuat Dokumen Kode Program
Ujian dilaksanakan dalam dua tahapan, tahap pertama adalah ujian tulis dan praktik serta tahap kedua adalah ujian lisan (wawancara). Untuk ujian tulis dan praktik, saat itu para peserta dikumpulkan di ruangan khusus yang dilengkapi dengan fasilitas satu meja satu komputer. Mirip kayak ujian nasional, ujian sertifikasi tulis dan praktik dilaksakan secara individu. Para paserta juga diberikan modul ujian yang berisi soal ujian dan lembar jawaban. Soal ujian berupa lima butir pertanyaan, yang setiap butirnya terkadang berisi beberapa sub butir pertanyaan. Keseluruhan soal berupa soal esay yang wajib dikerjakan dilembar jawaban, apabila ada soal yang memerintahkan untuk praktik membuat program, maka para peserta wajib membuat program pada komputer yang telah tersedia ataupun bisa menggunakan laptop masing-masing.
Pengawas ujian menerangkan bahwa untuk ujian praktik peserta hanya boleh memilih salah satu dari dua bahasa pemrograman yang diperkenankan, yaitu bahasa java atau bahasa PHP. Saya lebih memilih bahasa java karena lebih familiar. Kemudian, untuk jawaban yang dituliskan pada lembar jawaban hanya pada soal yang memerintahkan membuat algoritma berupa flowchart dan pseudocode program saja. Waktu yang diberikan untuk menyelesaikan keseluruhan soal hanya 120 menit. Jadi para peserta wajib memanajemen waktu sebaik mungkin.
Soal ujian tulis dan praktik sertifikasi sempat saya foto, untungnya gak ketahuan pengawas, hehehe...
Foto diatas memang agak buram, jadi biar teman-teman lebih jelas, soal akan saya tuliskan lagi beserta jawaban saya. Tapi hanya untuk jawaban ujian praktik saja ya, untuk ujian tulis yang tentang membuat algoritma (flowchart dan pseudocode), biar teman-teman sendiri yang membuatnya. Pasti sudah bisa kan?? Let's Go.....
Soal 1
Anda diminta membuat program untuk menampilkan bilangan prima sebanyak nilai yang diinputkan.
- Buatlah flowchart untuk program tersebut
- Buatlah algoritma pseudocode untuk program tersebut
- Buatlah program untuk menampilkan bilangan prima dengan menggunakan bahasa pemrograman yang anda kuasai
Pembahasan saya langsung fokus ke soal nomor 3 ya.... , yaitu membuat program untuk menampilkan bilangan prima yang saya buat menggunakan bahasa java. Sekilas soal tersebut agak ambigu, saya bisa saja mempunyai dua tafsiran yang berbeda :
- Bilangan prima yang ditampilkan adalah bilangan prima antara nilai prima awal (yaitu 2) hingga sampai batas nilai input. Misalkan, saya menginputkan angka 10, maka nilai output prima yang tampil adalah angka 2,3,5,7.
- Bilangan prima yang ditampilkan sebanyak jumlah inputan. Misalnya, saya menginputkan angka 10, maka output prima yang tampil adalah angka 2,3,5,7,11,13,17,19,23,29
Setelah dikonfirmasikan ke pengawas ujian, ternyata yang benar adalah tafsiran nomor 2. Oke segera kerjakan ! Sebagaimana yang telah kita ketahui bahwa bilangan prima adalah bilangan yang lebih besar dari 1 dan faktor pembaginya adalah 1 dan bilangan itu sendiri. Maka, jika dibuatkan sebuah program, jadinya seperti ini :
import javax.swing.JOptionPane; /** * * @author ABD. CHARIS FAUZAN */ public class bilanganPrima { public static void main(String[] args) { int akhir = Integer.parseInt(JOptionPane.showInputDialog(null)); int angka = 2 ; int y = 1; while (angka >= 0) { int tmp = 0 ; for (int bagi = 2; bagi < angka; bagi++) { if (angka % bagi == 0) { tmp = 1 ; } } if (tmp!=1) { System.out.println(angka); y++; if(y > akhir) { break; } } angka++; } } }
Jika dijalankan, program akan memunculkan input visual berupa JOptionPane untuk meminta user menginputkan sebuah bilangan. Jika user memasukkan angka 10, maka output yang dihasilkan adalah :
Yaps, sesuai harapan kan !!! Lanjut ke soal 2
Soal 2
Buatlah algoritma pseudocode dan program tabel penjumlahan dengan menggunakan prosedur atau fungsi. Untuk hasil tabel penjumlahan disesuaikan dengan apa yang diinputkan. Berikut ini adalah contoh output dari program ini.
Masukkan tabel penjumlahan yang diingankan : 10
Oke, intinya banyaknya ordo tabel penjumlahan muncul berdasarkan inputan user, jika inputnya 10 maka ordo tabel penjumlahan adalah 10x10. Jika diterapkan dalam program, berikut adalah source codenya :
/** * * @author ABD. CHARIS FAUZAN */ public class jumlahMattrik { public static void main(String[] args) { int input = 10 ; System.out.println("Tabel Penjumlahan"); System.out.println("-----------------------"); for(int b = 0 ; b <= input ; b++){ for(int c = 0 ; c <= input ; c++){ System.out.printf("%5d",c+b); } System.out.println(""); } } }
Kodenya simpel banget ya !!! tapi manfaatnya besar untuk menampilkan tabel penjumlahan, input yang saya berikan pada program adalah 10. Maka jika program dijalankan akan menghasilkan tabel penjumlahan berikut :
Cieh... Sesuai harapan kan !!!! Lanjut ke soal nomor 3 gan.....
Soal 3
Buatlah program penjumlahan matrik 3x3 dengan menggunakan array !
Soal nomor 3 cukup jelas bukan ? Kita tinggal membuat matrik 1 berukuran 3x3 dan matrik 2 dengan ukuran 3x3 juga. Lalu matrik 1 dan 2 kita jumlahkan. Beres....
/** * * @author ABD. CHARIS FAUZAN */ public class matrik { public static void main(String[] args) { int matrik1[][] = {{9, 9}, {1, 5}}; int matrik2[][] = {{5, 7}, {10, 4}}; int jumlah_matrik1[][] = new int[2][2]; int a = 0, b = 0, c = 0, d = 0, e = 0, f = 0, g = 0 ; System.out.println("Matrik 1"); for (a = 0; a < matrik1.length; a++) { for (b = 0; b < matrik1[0].length; b++) { System.out.print(matrik1[a][b] + " "); } System.out.println(); } System.out.println(); System.out.println("Matrik 2"); for (c = 0; c < matrik2.length; c++) { for (d = 0; d < matrik2[0].length; d++) { System.out.print(matrik2[c][d] + " "); } System.out.println(); } System.out.println(); System.out.println("Hasil Penjumlahan Matrik 1 dan Matrik 2"); for (e = 0; e < jumlah_matrik1.length; e++) { for (f = 0; f < jumlah_matrik1[0].length; f++) { jumlah_matrik1[e][f] = matrik1[e][f] + matrik2[e][f]; System.out.print(jumlah_matrik1[e][f] + " "); } System.out.println(); } } }
Untuk nilai matrik 1 dan matrik 2 saya inputkan manual pada program. Jika program dijalankan maka menghasilkan seperti ini :
Oke gan... Sesuai harapan. Tinggal soal 4 dan 5 yang belum kita bahas. Karena kedua soal tersebut membutuhkan jawaban yang agak panjang, jadi saya bahas dibagian dua saja ya.....
Semoga bermanfaat
Kode phpnya lebih panjang, saya ga paham java