Uncategorized

90+ Contoh Soal Tes Programmer PHP, JAVA, .NET [UPDATE]

Contoh Soal Tes Programmer Soal Coding – Contoh Soal Tes Programmer atau soal coding ini saya bagikan gratis, karena saya yakin banyak yang membutuhkan yakni calon programmer tentunya, dibawah ini beberapa contoh soal tes untuk posisi programmer, lebih tepatnya web programmer, dan dibawah ini sesuai dengan pengalaman saya saat melamar & tes di beberapa perusahaan pada posisi web programmer, atau mungkin untuk posisi desktop atau mobile programmer bisa saja sama.

Contoh Soal Tes Programmer

Soal-soal tes coding yang diberikan saat tes programmer memang berbeda-beda tiap perusahaan, ada yang lengkap dan banyak tetapi agak lebih mudah, ada yang jumlah soalnya sedikit tapi lebih susah ngerjainnya, macem-macem lah bentuk soalnya.

Berdasarkan pengalaman nih, soal-soal tes itu diberikan secara bertahap, biasanya yang pertama itu soal yang ringan seperti soal psikotest dan soal tes kepribadian, kemudian mulai lanjut ke soal teori pemrograman (algoritma, pengertian-pengertian, database, dan lain-lain), lalu yang terakhir soal tes coding praktek yang waktunya lebih lama dibandingkan dengan waktu yang diberikan saat tes yang sebelumnya.

Dan soal dibawah ini diluar dari soal test psikotes ya, jadi untuk test psikotest cari aja diinternet karena sangat banyak referensinya, contoh soalnya dan sangat umum bahkan ada website online yang menyediakan soal latihan untuk test psikotes, seperti urutan kotak, lingkaran, sinonim, antonim, gambar, matematika, deret angka, kepribadian, dan lainnya.

Ada beberapa yang memberikan tes Warteg juga, yakni menggambar dari kotak-kotak yang disediakan, dimana setiap kotak sudah ada sedikit coretan, nah tugas kita adalah melanjutkan coretan tersebut agar menjadi gambar yang kita inginkan.

Contoh Soal Tes Programmer

Disini saya akan membagi soalnya menjadi 3 bagian (selain tes psikotes dan tes kepribadian).

– pertama : soal teori = biasanya nilai 10% kurang.
– kedua : soal SQL (Query) = biasanya nilai 30% kurang.
– ketiga : soal logic (soal inti dengan nilai paling besar) = biasanya nilai 60% lebih.

Soal dibawah ini sangat banyak, saya ambil dari pengalaman pribadi dan beberapa sumber, kalau untuk satu perusahaan paling hanya menyediakan 5-10 soal, tapi ya tergantung tiap perusahaan juga sih.

Soal yang banyak ini dapat kalian jadikan referensi dan bahan latihan, saya jamin soalnya 80% mirip dengan saat kalian test nanti dan kalian bebas menjawab dengan bahasa php atau java atau .net atau yang lainnya, yang kalian kuasai untuk bisa mengerjakan soal tes tersebut.

Oiya untuk soal-soal tes programming biasanya mengacu pada website Hackerrank, kalian bisa juga latihan diwebsite tersebut.

Selamat berjuang, pasti bisa, yang penting itu sabar dan konsisten terus dalam berusaha.

UPDATE 7 Juli 2020

Artikel atau postingan ini akan terus saya update, agar lebih banyak contoh soal yang bisa dijadikan referensi saat akan menjalani tes programmer.

Pertama soal teori : Mengenai arti, penjelasan, perbedaan, kegunaan. 

1. Apa itu constructor, method, class, object, variabel, parameter, function, procedure ?
2. Jelaskan apa itu OOP ? Bahasa pemrograman apa saja yang bisa menggunakan OOP ?
3. Perbedaan echo dan print, serta print_r dan var dump ?
4. Jelaskan mengenai fungsi dan penggunaan if else, while, while do, switch case, for, foreach
5. Apa itu array, dan kapan penggunaan array ?
6. Jelaskan mengenai inheritance, polymorfis, overriding, overloading, encapsulation, abstraction
7. Perbedaan HTTP dan HTTPS ?
8. Sebutkan contoh API ?
9. Apa kelebihan menggunakan function (OOP) ?
10. Jelaskan mengenai MVC dan HMVC !
11. Mengapa setiap bahasa pemrograman itu terdapat framework, apa kegunaan framework ?
12. Tulis tag untuk mengirim file dan memasukkan data kedalam database !
13. Perbedaan method=”Post” dan “Get” ?
14. Jelaskan konsep mengenai web service dan fungsi apa yang digunakan untuk memanggil web service client ?
15. Apa bedanya mysql_fetch_Array(), mysql_fetch_row() dan mysql_fetch_assoc() ?
16. Bagaimana menampilkan sebuah element array dalam PHP ?
17. Bagaimana mendapatkan mendapatkan informasi dari form yang menggunakan metode GET dan POST ?
18. Bagaimana cara paling singkat melakukan increment sebuah variabel dalam looping?
19. Apa fungsi ​concatenation ​ operator (“.”) di php ?
20. Apakah yang salah dengan perintah dibawah ini ? beri penjelasan singkat.
        a. echo 0123; Outputnya adalah 668
        b. $a = 040; echo $a/4; Outputnya adalah 8
21. Apa yang terjadi jika dalam if-then-else Anda tidak menyertakan else ?
22. Berapa hasil dari :
        <?php
               $a = 2; 
                function foo(){ 
                    $a = 3; 
                }
                foo(); echo $a;
        ?>
        Jelaskan dengan singkat !
Lihat Jawaban : Jawaban dari Soal Teori Tes Programmer PHP, JAVA, .NET

Kedua soal SQL (Query) : DDL, DML dan View 

Saya berikan tampilan dari masing-masing tabel, saya buat tabelnya menggunakan PostreSQL, silahkan bebas mau pake MySQL juga boleh, kalian buat dulu tabelnya sesuai dengan gambar dibawah ini :

Contoh Soal Database

Contoh Soal Database

Contoh Soal Database

Contoh Soal Database

Contoh Soal Database

Contoh Soal Database

Contoh Soal Database

Contoh Soal Database

Kemudian kerjakan soal SQL dibawah ini berdasarkan pada gambar tabel diatas.

1. tampilkan nama film dan nominasi dari nominasi yang terbesar

2. tampilkan nama film dan nominasi yang paling banyak mendapatkan nominasi

3. tampilkan nama film dan nominasi yang tidak dapat nominasi

4. tampilkan nama film dan pendapatan dari yang terkecil

5. tampilkan nama film dan pendapatan yang terbesar

6. tampilkan nama film dan pendapatan yang terkecil

7. tampilkan rata2 pendapatan film keseluruhan

8. tampilkan rata2 nominasi film keseluruhan

9. tampilkan nama film yang huruf depannya ‘p’

10. tampilkan nama film yang huruf terakhir ‘h’

11. tampilkan nama film yang mengandung huruf ‘d’

12. tampil nama film dengan pendapatan terbesar mengandung huruf ‘o’

13. tampil nama film dengan pendapatan terkecil mengandung huruf ‘o’

14. tampil nama film dan artis

15. tampil nama film yang artisnya berasal dari negara hongkong

16. tampil nama film yang artisnya bukan berasal dari negara yang tidak mengandung huruf ‘o’

17. tampil nama film dan artis yang memiliki award terbanyak

18. tampil nama film dengan artis bayaran terendah

19. tampil nama artis yang tidak pernah bermain film

20. tampil nama artis yang paling banyak bermain film

21. tampil nama artis yang bermain film dengan genre drama

22. tampil nama artis yang bermain film dengan genre horror

23. tampil nama film yang dibintangi oleh artis yang huruf depannya ‘j’

24. tampil negara mana yang paling banyak filmnya

25. tampil data negara dengan jumlah filmnya

26. tampil nama produser yang skala internasional

27. tampil berapa data produser yang skala internasional

28. Tampil jumlah film dari masing2 produser

29. Tampil jumlah nominasi dari masing2 produser

30. Tampil jumlah pendapatan produser marvel secara keseluruhan

31. Tampil jumlah pendapatan produser yang skalanya tidak international

32. Tampil produser yang tidak punya film

33. Tampil produser film yang memiliki artis termahal

34. Tampil produser yang memiliki banyak artis

35. Tampil produser yang memiliki sedikit artis

Lihat Jawaban : Jawaban dari Soal SQLTes Programmer PHP, JAVA, .NET

Ketiga, Soal Logic : Deret, Array, Perulangan, Percabangan, Soal Cerita.

1. Buat deret bilangan prima (angka 1-100) !

2. Buat deret bilangan ganjil (angka 1-100) !

3. Buat deret bilangan genap (angka 1-100) !

4. Buat deret bilangan fibonacci (angka 1-100) !

5. Uang heru di bank 850000 dan mendapat bunga 5 persen per tahun, berapa bunga selama setahun ?

6. Ilham beli sepatu seharga 165000 dengan diskon sebesar 15 persen, jika uang yang di bayar ilham sebesar 150000 , maka uang kembali sebesar ?

7. Vikrie menyewakan 6 gros piring. Sebanyak 4 lusin dipinjam tio dan sebanyak 2 gros dipinjam david. berapa piring yang tersisa di vikrie?? (1 gross = 144 , 1 lusin = 12)

8. Belanja Hafid akan pergi belanja, belanja hafid dia tentukan dari berapa dia bawa uang, dengan uang diatas 750000 hafid mendapat “jas, diatas 350000 hafid mendapat “celana panjang, diatas 225000 dapat “kemeja”, diatas 100000 dapat “kaos” dan diatas 50000 dapat “celana pendek” Contoh input: masukan jumlah uang : 220000 output: hafid dapat kaos

9. Weird diberikan N integer dari inputan(1-100), jika N bernilai ganjil, cetak “weird”, jika N bernilai genap dan diantara 2 dan 5,cetak “not Weird”, jika N bernilai genap dan diantara 6 dan 20, cetak “weird”, jika N bernilai genap dan N >20 , cetak “not weird”.

10. suatu hari afika akna olahraga,olahraga yang dilakukan berdasarkan dari total kalori yang afika makan dan minum,jika total kalori yang dikonsumsi afika lebih dari 670 maka afika akan olahraga “lari”, jika lebih dari 500 akan olahraga”tenis” dibawah itu afika olahraga renang, olahraga tersebut dilakukan dalam menit, yang mana tiap 10kalori dikerjakan 1 menit, tentukan jumlah kalori yang dikonsumsi afika dan jenis olahraga dan waktu olahraga yang dikerjakan afika ?

11. Keranjang terdapat 3 buah keranjang di rumah. salah satu keranjang kosong dan sisanya terisi buah. apabila salah satu keranjang di bawa, berapa buah yang terdapat d rumah. conth1: keranjang1=kosong keranjang2=10 keranjang3=5 kernajang 1 di bawa

12. perpustakaan david meminjamkan beberapa jenis buku yaitu pelajaran,novel dan skripsi, buku-buku tersebut gratis dipinjam selama tidak melewati batas wktu pinjam 10 hari, jika melwati maka akan di kenakan denda perhari. untuk pelajaran perhari 2000, novel 5000 dan skripsi 10000, tentukan biaya denda nya ?

13. Seorang pengantar makanan akan melakukan perjalanan linear, menggunakan kendaraan 200cc. Diketahui jaraknya seperti berikut dan hitung berapa liter bensin yang dibutuhkan sampai perjalaan kembali ke toko?
Jarak:
toko ke tempat1=2Km
tempat1 ke tempat2 =500m
tempat2 ke tempat3 =1.5km
tempat3 ke tempat4 =2.5km
1 liter bensin untuk 2.5km

14. Buat deret iterasi ganjil !

15. Buat pola segitiga siku-siku, dan pola lainnya (biasanya pake * bintang

*
**
***
****
*****

16. Tampilkan 5 angka random dari 1-100 :
– jika hasilnya <= 60 maka tampilkan tulisan “Kurang” disebelah angka tersebut
– jika >60 dan <= 70 maka tampilkan tulisan “Cukup” disebelah angka tersebut
– jika >70 dan <= 80 maka tampilkan tulisan “Baik” disebelah angka tersebut
– jika >80 maka tampilkan tulisan “Luar Biasa” disebelah angka tersebut
– angka yang tampil adalah kelipatan 5

17. Tampilkan deret angka kelipatan 2 (angka 1-100) !

18. Tampilkan deret angka kelipatan 3 (angka 1-100) !

19. Tampilkan deret angka kelipatan 4 (angka 1-100) !

20. Tampilkan deret angka kelipatan 5 (angka 1-100) !

21. Tulislah algoritma untuk menulis ke layar bilangan x, dimana x adalah bilangan

integer bernilai 0 < x < 50. Tulis dengan for dan while.
22. Buatlah algoritma untuk menentukan sebuah tahun adalah kabisat, dimana tahun
kabisat adalah tahun kelipatan empat, tetapi khusus kelipatan 100 harus habis
dibagi 400.
23. Buatlah fungsi menghitung luas segitiga (rumus: ½ * alas * tinggi)
24. Tersedia fungsi Max2 dengan definisi sebagai berikut:
function Max2 (a,b : integer) : integer
{ Menghasilkan nilai tertinggi dari 2 angka }
25. Buatlah fungsi Max3 yang menerima input 3 angka integer (misal a, b, c) dan
mengembalikan nilai tertinggi dengan menggunakan fungsi Max2:
26. Library msnchar merupakan library untuk memproses sebuah file dan membaca
isinya dan menyediakan fungsi sebagai berikut :
● resource open_file(String filename) : membuka file dan mengembalikan
resource handlernya, pointer berada di karakter pertama awal file.
● char read(resource r) : membaca 1 karakter dari resource handler dan
memajukan pointer ke karakter berikutnya. Mengembalikan EOF jika sudah
di akhir file
● close(resource r) : menutup file resource
Buatlah algoritma menghitung jumlah kata dalam file tersebut, dimana kata
adalah deretan huruf dipisah oleh spasi
27. Array arr adalah sebuah list berisikan nama – nama kota di Indonesia dengan
representasi sebagai berikut :
PHP:
$arr = array(“Bandung”,
“Cimahi”, ”Ambon”,
”Jayapura”, “Makasar”);
Java:
List<String> arr =
Arrays.asList((“Bandung”,
“Cimahi”, ”Ambon”, ”Jayapura”,
“Makasar”);
Buatlah fungsi yang menerima masukan sebuah string nama kota dan mengembalikan
boolean jika kota tersebut ada di dalam arr. Implementasikan dengan salah satu
bahasa pemrograman diatas.
Jangan gunakan built-in function dari Java / PHP / C / Python / dst
Dan dibawah ini ada beberapa contoh soal tes technical yakni soal coding (bikin program) dan biasanya tes ini jarang keluar, tetapi saya pernah (sering) juga mendapatkan soal tes programmer seperti contoh soal dibawah ini :

1. Membuat halaman transaksi penjualan barang dan laporannya.

Buat database berikut tabelnya :
– tabel user,
– tabel barang,
– tabel perusahaan,
– tabel transaksi,
– tabel report (laporan).
Detail aplikasi , buat seperti perintah dibawah ini :
– Halaman login (Sederhana)
– Halaman CRUD data barang
– Halaman CRUD data perusahaan
– Halaman CRUD data transaksi , mengambil data barang dan perusahaan (join)
– Halaman report, hanya menampilkan data barang, perusahaan, transaksi dan terdapat tombol cetak (format .csv atau excel).

2. Membuat halaman pendataan kepegawaian 

Buat database dengan tabelnya :
– tabel pegawai,
– tabel jabatan pegawai,
– tabel kontrak
Detail aplikasi , buat seperti perintah dibawah ini :
– Halaman CRUD data pegawai
– Halaman CRUD data jabatan pegawai
– Halaman CRUD data kontrak
– Menggunakan bahasa pemrograman PHP
– Menggunakan Codeigniter dan Ajax nilai plus

3. Membuat halaman login dan halaman welcome 

(Redirect setelah berhasil login), tanpa lihat internet dan dokumentasi, tidak diberikan batasan waktu, lebih cepat lebih baik.

4. Rancang dan buatlah aplikasi untuk menyimpan biodata calon karyawan:

Spesifikasi seperti berikut :
– Lama waktu pengerjaan adalah 180 menit (3 jam).
– Menggunakan Framework CI atau Laravel (pilih salah satu) dan database MySQL
– Aplikasi dimulai dengan halaman login dan tersedia link atau tombol untuk sign up (mendaftar) bagi user baru (yang belum mendaftar)
– Data sign up (Pendaftaran) hanya berisi alamat email dan password
– Menu Entry Biodata hanya dapat diakses setelah user melakukan login
– Bentuk Formulir bebas (format umum cv)
– Data Pendidikan Terakhir, Riwayat Pelatihan dan Riwayat Pekerjaan merupakan child (anak tabel) dari Biodata
– Masing-masing user hanya bisa membuka data miliknya sendiri
– Sediakan user Admin yang dapat membuka semua data dalam tabel (hanya menampilkan nama, tempat-tanggal lahir, dan posisi yang dilamar). Untuk setiap data yang tampil dalam tabel, sediakan link atau tombol untuk menampilkan Biodata secara lengkap dalam bentuk form.

5. Membuat sistem pemesanan makanan. 

Studi Kasus
– Baik Pelayan/Kasir harus login terlebih dahulu untuk bisa menggunakan aplikasinya dan direcord setiap aktifitasnya.
– Pelayan bertugas untuk membuat pesanan baru yang berisi data nomor meja pelanggan,makanan dan minuman yang tersedia dari daftar menu.
– Pelayan hanya bisa memasukan item di daftar menu yang statusnya “Ready” saja.
– Setiap pesanan mempunyai nomer pesanan dengan format: ABCtlgblntahun-nomer

Contoh: ABC10102019-001

– Pelayan ataupun Kasir bisa melihat semua daftar pesanan yang masih aktif.
– Pelayan ataupun Kasir bisa menambah/mengurangi/mengubah pesanan yang masih aktif.
– Hanya Kasir yang bisa memproses pembayaran dan menutup pesanan yang masih aktif.
– Pelayan hanya bisa melihat/mencetak aktifitas pesanan miliknya saja sebagai laporan ke manager.
– Web system kasir bisa diakses dari mobile android:
– Buatkan API login
– Buatkan API akses menu makanan

Kualifikasi: 

1. Buat program sederhana dengan Framework PHP CodeIgniter/Laravel HMVC
2. Menggunakan Framework Javascript, minimal Jquery
3. Pengolahan data menggunakan JSON & AJAX (nilai lebih)
4. Database menggunakan MySQL, Postgress/MongoDB (nilai lebih)

Minimum requirement : Struktur Database, Pelayan/kasir bisa login (multiuser), membuat CRUD makanan, Membuat CRUD pesanan dan status pesanan.

Note: 

1. Hasil pekerjaan di upload di repository git (baik gitlab/github) milik Anda
2. Setelah selesai, kirim email ke [email protected]
    a. Judul: Testcode_NamaAnda_Alamat_NoHP
    b. Content: Isikan alamat url git repository pekerjaan Anda.
3. Setelah kirim email, konfirmasi ke WA HRD, bahwa telah selesai mengerjakan tugas testcode

6. Ceritakan secara singkat salah satu aplikasi yang pernah Anda buat. 

Jelaskan !
    a. Flow secara singkat
    b. Bahasa yang digunakan
    c. Framework yang digunakan jika ada (server side)
    d. Framework yang digunakan jika ada (client side)
    e. Proses deployment aplikasi
    f. Jumlah tim, serta posisi Anda dalam Tim

7. Buat Aplikasi pengiriman email sederhana menggunakan composer phpmailer

– Aplikasi sederhana saja, inputan form hanya email penerima, subject dan isi pesan email.

8. Buat sebuah helper dan library CodeIgniter

– Buat sebuah helper CodeIgniter yang melakukan random huruf dan angka. Helper
diiemplementasikan di controller
– Buat library CodeIgniter yang melakukan random huruf dan angka.

9. Buat sistem menggunakan javascript atau frameworknya (jquery, angular, vuejs, react, dll). 

    Untuk menampilkan :
        a. List user berdasarkan API berikut : ​https://reqres.in/api/users?page=2
        b. Detail user berdasarkan API berikut : ​https://reqres.in/api/users/2

9. Buat sistem seperti nomor 9 tetapi menggunakan codeigniter dan tanpa database.

10. Buat kembali sistem seperti nomor 8 atau 9, tetapi dengan template ​https://adminlte.io/.

11. Unggah Project ke GIT

Unggah apapun project yang dikerjakan (sesuai saat test) dan di upload atau di unggah dengan menggunakan GIT, karena GIT sangat penting dalam bekerja team sebagai programmer.
Nah, soal diatas termasuk sangat komplit, ada login, crud, join tabel, cetak, sehingga biasanya memang untuk programmer kelas menengah, kalau untuk junior freshgrad sangat jarang diberikan soal seperti ini (walaupun saya sendiri pernah mendapatkan soal seperti ini dan tergantung perusahaannya juga).

Dan soal komplit seperti diatas diberikan waktu sekitar 2-3 jam, jika kurang bisa minta tambahan waktu, bahkan untuk yang sistem pemesanan makanan diatas bisa mendapatkan estimasi waktu diatas 5 jam karena sistem begitu kompleks.

Oh iya selain contoh soal programmer, saya juga membuat contoh soal untuk tes bagian technical support, dan semua tentang technical support.

Sekian postingan ini , jika bermanfaat silahkan share (bagikan) ke teman-teman yang lain yang sekiranya membutuhkan, postingan ini akan terus diupdate demi kelengkapan soal tes untuk posisi programmer.

Terima kasih bagi yang sudah tanya langsung melalui whatsapp dan membagikan cerita kelolosan hasil tes programmer, terutama setelah mencoba beberapa soal disini, saya senang ikut menjadi bagian dalam perjuangan kalian.

Kata kunci : Contoh Soal Tes Programmer, Contoh Soal Programmer, ContohTes Programmer, Soal Coding, Tes Coding.

You might also like

2 Replies to 90+ Contoh Soal Tes Programmer PHP, JAVA, .NET [UPDATE]

Leave a Reply

Your email address will not be published. Required fields are marked *