soal pemrograman

Contoh Soal Pemrograman untuk Tes Masuk Kerja

Beberapa waktu lalu saya sempat merasakan beberapa soal pemrograman dari beberapa perusahaan dalam rangka proses mendaftar kerja (coding test). Saat ini kebanyakan perusahaan di bidang IT mewajibkan pelamar untuk mengerjakan sebuah tes membuat program. Tes ini bisa sangat tricky bagi yang tidak pernah melakukannya. Jenis soal pemrograman pada tes ini biasanya mirip dengan soal-soal pada lomba programming, contohnya seperti yang ada pada Hackerrank. Kalian bisa mencoba mengerjakannya terlebih dahulu untuk mencari tahu format soalnya.

Artikel ini diperbarui Februari 2021, dengan penambahan sebuah soal tes kerja yang dipublish di internet

Sejujurnya saya pribadi sempat merasa kaget melihat soal pemrograman yang diberikan karena ternyata tidak semudah yang saya bayangkan (you don’t say). Saya tidak tahu apakah tingkat kesulitan ini juga ditentukan dari posisi yang saya daftar atau semua pendaftar mendapat soal dengan tingkat kesulitan yang sama.

Pada artikel ini saya hanya akan menunjukkan tiga contoh soal pemrograman dari beberapa tes pemrograman untuk mendaftar kerja yang saya peroleh. Dua soal saya peroleh dari perusahaan yang pernah saya daftar (perusahaan IT skala nasional), dan satu soal saya peroleh dari internet yang sempat viral beberapa waktu lalu. Soal yang saya tulis di sini sengaja tidak saya tuliskan 100% mirip dengan soal aslinya (mungkin hanya 75% an mirip) dan saya pun tidak akan menyebutkan perusahaan mana yang memberikan soal ini.

Saya akan memposting artikel lain untuk membahas solusinya agar kalian bisa coba kerjakan terlebih dahulu untuk menguji kemampuan kalian sendiri 🙂 Selamat mencoba!

Soal Pemrograman #1

Diberikan sebuah string yang dapat mengandung huruf (kapital ataupun non-kapital) dan karakter spasi di dalamnya, ubah format string tersebut menjadi format penulisan judul dan format penulisan biasa.

Format penulisan judul menjadikan huruf pertama setiap katanya menjadi kapital sedangkan huruf lainnya tidak, sedangkan format penulisan biasa hanya menjadikan huruf pertama string menjadi kapital dan huruf lainnya tidak.

Contoh Input:

SeLamAT PAGi semua halOo

Contoh Output:

Format Judul: Selamat Pagi Semua Haloo
Format Biasa: Selamat pagi semua haloo

Soal Pemrograman #2

Bayangkan sebuah denah rumah tampak atas. Anda diberikan koordinat kartesius pojok-pojok denah rumah tersebut, terurut mengitari rumah hingga kembali ke titik semula (searah jarum jam). Outputkan luas dari rumah tersebut. Diasumsikan sisi rumah selalu sejajar dengan Sumbu X atau Sumbu Y (tidak ada sisi rumah yang miring).

Ilustrasi di bawah merupakan ilustrasi dari Contoh Input yang diberikan di bawah. Perlu diperhatikan, koordinat yang diberikan tidak selalu bermulai pada koordinat (0, 0). Pada input, baris pertama akan diinputkan banyak titik sudut bangun tersebut.

soal pemrograman geometri

Contoh Input

6
0 0
0 3
3 3
3 1
4 1
4 0

Contoh Output

10

Soal Pemrograman #3

Diberikan sebuah string yang hanya terdiri dari huruf tidak kapital. Dari depan, outputkan panjang setiap substring yang memiliki huruf yang sama. Hmm.. mungkin agak sulit penjelasannya, tapi langsung lihat contohnya saja 🙂

Contoh Input

aaabbcccaaaac

Contoh Output

a = 3
b = 2
c = 3
a = 4
c = 1

Bagaimana? ada ide untuk membuat programnya? Sekalian untuk belajar, kalian bisa coba untuk membuat programnya terlebih dahulu 🙂 sebelum lanjut membaca artikel selanjutnya yang akan membahas solusinya. Pada tes-tes yang saya ikuti, program solusi boleh dibuat dengan bahasa pemrograman apapun dan dipersilahkan untuk mengakses internet.

About the author

Rian Adam

Lecturer at Universitas Islam Indonesia; Machine Learning Enthusiast

View all posts

3 Comments

  • Soal 1 (python)
    s = “SeLamAT PAGi semua halOo”

    # Format judul
    ‘ ‘.join([i.capitalize() for i in s.split()])

    # Format biasa
    s.lower().capitalize()

    Soal 2 (python)
    Nyontek solusi ini: https://www.mathopenref.com/coordpolygonarea.html

    n = int(input())
    x_point = []
    y_point = []
    for i in range(n):
    x, y = list(map(int, input().split()))
    x_point.append(x)
    y_point.append(y)

    sum = 0
    for i in range(n):
    if i == n-1:
    sum += x_point[i]*y_point[0] – y_point[i]*x_point[0]
    else:
    sum += x_point[i]*y_point[i+1] – y_point[i]*x_point[i+1]
    print (abs(sum)/2)

  • Menggunakan PHP

    <?php

    $y=array(0,3,3,1,1,0);
    $x=array(0,0,3,3,4,4);

    for($i=0; $i < count($y); $i++){
    echo '’;
    $ru[$i]=$x[$i] * $y[$i+1];
    echo ”.$ru[$i].”;

    $ta[$i]=$x[$i+1] * $y[$i];
    echo ”.$ta[$i].”;
    echo ”;
    }

    $r_ru = array_sum($ru);
    $r_ta = array_sum($ta);

    $hasil = $r_ta – $r_ru;

    echo “Hasil Perhitungan : “.$hasil/2;
    ?>

Leave a Reply