tes pemrograman

Solusi Soal Tes Pemrograman untuk Daftar Kerja

Pada artikel sebelumnya sempat saya tunjukkan dua soal dari tes pemrograman yang biasa dilakukan sebagai tahapan pada proses seleksi rekrutmen kerja. Dua soal tersebut saya peroleh dari tes pemrograman yang pernah saya ikuti. Soal tersebut tidak 100% sama, tapi cukup menggambarkan bagaimana tingkat kesulitan tes pemrograman di luar sana. Pada artikel ini saya akan membahas solusi pengerjaan soal-soal tersebut.

Soal #1

Dari semua tes pemrograman yang saya ikuti, soal ini menurut saya adalah soal paling mudah. Jika disimpulkan, pertanyaan penting dari soal ini adalah tiga poin:

  1. Bagimana cara membaca string yang terdiri dari beberapa kata (dipisahkan oleh spasi) dalam satu baris?
  2. Bagaimana cara mengecek huruf pertama tiap kata?
  3. Bagaimana cara mengecek sekaligus mengubah huruf kapital ke non-kapital dan sebaliknya?

Saat itu saya mengerjakan soal ini menggunakan C++, dan berikut adalah poin-poin jawaban saya dari pertanyaan di atas:

  1. karena nantinya kita akan memainkan huruf pertama tiap kata (pada format judul), maka mungkin akan lebih mudah jika menyimpan string setiap kata pada array. Jadi saya akan baca input tiap kata, simpan pada array, pembacaan input diulang hingga EOF.
  2. Dengan menggunakan array, masalah ini jadi lebih mudah, cukup cek huruf pertama tiap elemen array tersebut.
  3. Proses ini bisa diselesaikan menggunakan ASCII

berikut adalah kode untuk soal tersebut.

Soal #2

Soal ini bukanlah soal yang paling sulit, tetapi soal ini cukup menarik. Jika dianalisis, berbeda dengan soal sebelumnya, soal ini berfokus hanya pada satu masalah, yakni bagimana cara menghitung luas suatu bangun 2 dimensi dengan diketahui titik-titik sudutnya.

Saat itu saya punya beberapa ide yang saya yakin mungkin akan benar untuk menyelesaikan soal ini, tetapi saya tidak cukup yakin bisa mengimplementasikannya dengan batas waktu yang diberikan. Karena pada tes kita diperbolehkan mencari referensi di internet, maka saat itu saya pun mencoba mencari tahu metode yang terbaik untuk menyelesaikan masalah ini. Dan bertemulah saya dengan Shoelace Algorithm.

Saya sempatkan baca-baca sejenak cara kerja algoritma tersebut. Idenya sederhana dan juga menarik. Dari algoritma tersebut saya implementasikan menggunakan Python:

Solusi di atas bukanlah solusi yang 100% saya gunakan pada saat tes pemrograman saat itu. Karena seperti yang saya singgung sebelumnya, tes di atas juga tidak 100% sama (bisa jadi lebih mudah, bisa jadi lebih susah).

Selain fokus menyelesaikan soal-soal tersebut, ketika mengikuti tes pemrograman saya juga biasanya mempertimbangkan hal-hal di bawah:

  1. Pastikan paham dengan kode, karena bisa jadi ada interview yang menanyakan kode yang telah ditulis
  2. Buat kode serapi mungkin, gunakan nama variabel yang baik dan sesuai aturan, jika perlu buat subprogram-subprogram yang jelas kegunaannya apa
  3. Meragamkan bahasa pemrograman yang digunakan (tentunya dengan pertimbangan ketika memilih). Kalau saya pribadi tujuannya untuk menunjukkan saya “fluent” di beberapa bahasa pemrograman.
  4. Jika tes dilakukan dengan merekam layar, saya usahakan kode di tulis secara “live” sehingga penguji tahu step by step saya membuat kode.

Saya tidak tahu apakah hal-hal tersebut apakah benar-benar menjadi pertimbangan dalam rekruitmen. Tapi saya selalu melakukan poin-poin di atas pada tes yang saya ikuti, dan alhamdulillah bisa lolos tes.

Sekian, Semoga bermanfaat 🙂

About the author

Rian Adam

View all posts

Leave a Reply