About Tempat latihan ini dibuat untuk berlatih soal-soal pemrograman dasar bagi para adders Computer QnA. Walaupun dibuat dari sistem 'kontes' di HackerRank, tujuan dari tempat ini bukanlah untuk kontes, tapi hanya sebagai tempat berlatih.
Prizes Karena tujuan tempat ini adalah untuk berlatih, kayaknya ga perlu hadiah deh, ya? :D
Rules
The creator of this contest is solely responsible for setting and communicating the eligibility requirements associated with prizes awarded to participants, as well as for procurement and distribution of all prizes. The contest creator holds HackerRank harmless from and against any and all claims, losses, damages, costs, awards, settlements, orders, or fines. Code directly from our platform, which supports over 30 languages. Learn more here here..
Tulisan di laman awal ini berisi tentang cara kerja di tempat latihan ini dan sistem HackerRank. Bagi yang mau menghabiskan waktu untuk membaca cara kerja ini, silakan lanjut membaca. Bagi yang ingin langsung mengerjakan soal silakan langsung Sign Up dan Enter Contest, dan dapat kembali ke laman ini dengan tautan www.hackerrank.com/latihan-computer-qna atau dengan klik tautan Details > pada laman soal kontes. - Sudah punya akun HackerRank? Kalo belum, daftar dulu ya di sini Kalo udah daftar, sign up dulu d ulu biar bisa ngerjain soal-soalnya. Sign up di sini
- Kalo udah sign up, langsung aja kerjain soal-soalnya di sini 1. Pada laman link di poin ketiga di atas, di bagian kanan, ada tiga fitur : Leaderboard , Compare, sama Review Submissions . Leaderboard buat ngeliat nilai dari hasil pekerjaan para peserta, Compare buat bandingin b andingin progress dua peserta, sama Review Submissions buat ngeliat submisi (program yang dibuat) oleh kalian sendiri. 2. Di kiri laman link di poin ketiga di atas, ada sekumpulan soal yang bisa dikerjain. Tiap soal punya : nama soal, maksimal skor yang bisa didapat, persentase peserta yang berhasil mengerjakan dengan benar, dan tingkat kesulitan soal. Di bagian atas laman ini terdapat link Details yang akan mengarahkan kalian kembali ke sini. 3. Di laman tiap soal, terdapat sejumlah istilah, yaitu deskripsi soal , input format, constraints , output format, sejumlah sample input , sejumlah sample output,
dan sejumlah sample explanation . Bagi yang asing dengan istilah ini, akan dijelaskan di bawah nanti.
4. Di laman tiap soal juga terdapat tab untuk melihat submisi kalian, tab untuk leaderboard soal tersebut, dan tab untuk berdiskusi . Jadi, sambil latihan, kalian juga sambil diskusi di sini.
5. Selain itu, HackerRank menyediakan tempat bagi peserta untuk ngoding langsung di laman tiap soal. Di bagian atas kanan tempat ini ada pilihan bahasa pemrograman, pengaturan (meliputi ukuran tab, tema, dll.), dan pengubah tampilan ke tampilan split-view. 6. Di bagian bawah tempat ngoding ini ada test against custom inputs , yang berguna buat ngetes (menguji) program yang kita buat dengan input sesuai yang kita mau. Kalo program yang dibuat belum tau bener atau salahnya, tes dulu sama custom input ini, terus klik Run Code buat ngetesnya. Kalo kodingan program udah selesai dan yakin benar, klik Submit Code buat "ngumpulin" hasil kodingan kita dan dinilai oleh sistem.
Deskripsi soal , berisi tentang penjelasan dan perintah soal.
Input Format (format masukan). Jika soal memerintahkan untuk memasukkan input dari
pengguna, maka di bagian ini akan ada format dalam bagaimana user seharusnya menginput data ke program.
Constraints (batasan). Batasan yang dimaksud adalah nilai-nilai yang dipenuhi oleh
variabel di soal. Batasan ini akan mempengaruhi tipe data dan algoritma yang akan diimplementasikan pada program, dan tidak perlu untuk menulis keluaran yang tidak diminta. Contohnya, misalnya diberikan batasan , maka di C++ gunakan tipe data integer (int). Jika batasannya , maka di C++ gunakan tipe data long long. Jadi, tidak perlu membuat program seperti ini : jika N lebih besar dari 1000000000000 : cetak "SALAH" atau sejenisnya.
Output Format (format keluaran). Berisi tentang bagaimana seharusnya fo rmat dari
keluaran yang dihasilkan oleh program.
Sample Input , Sample Output, dan Sample Explanation , berisi contoh dari masukan,
keluaran, dan penjelasan dari contoh masukan dan keluaran tersebut, buat ngemudahin peserta dalam memahami soal.
Scoring 1. Peserta diberikan soal, dan diminta untuk membuat programnya. 2. Tiap soal memiliki sesuatu yang disebut "kasus uji", yang akan menentukan skor yang didapat dari program yang peserta submit (kumpulkan). Ban yak kasus uji di suatu soal dapat diketahui peserta, namun isi dari kasus uji tidak dapat diketahui.
3. Sebuah kasus uji terdiri dari masukan dan keluaran tertentu. Peserta dianggap berhasil menjawab kasus uji dengan benar jika : program peserta menerima masukan yang sama dengan kasus uji, dan menghasilkan keluaran yang sama dengan kasus uji. Peserta dianggap berhasil menjawab suatu soal dengan benar jika program peserta bisa menjawab semua kasus uji dengan benar di soal yang bersangkutan. 4. Jika peserta menjawab suatu soal dengan benar, maka peserta mendapat skor sesuai dengan maksimal skor yang bisa diperoleh pada soal tersebut. Akan ada tulisan "Accepted" berwarna hijau pada bagian atas setelah peserta men-submit programnya, yang didapat jika programnya berhasil menjawab semua kasus uji dengan benar. 5. Peserta dapat mengumpulkan programnya lebih dari satu kali untuk menambah skor yang bisa didapat. Skor peserta adalah skor tertinggi yang pernah peserta dapat. Pada suatu kasus uji, tulisan Wrong Answer menandakan bahwa keluaran program peserta tidak sesuai dengan keluaran kasus uji tersebut. Tulisan Runtime Error biasanya menandakan indeks array yang tidak sesuai atau pembagian dengan 0. Tulisan Time Limit Exceeded menandakan bahwa program yang dikumpulkan perlu waktu yang lebih lama dari batas waktu yg ditentukan ketika dijalankan. Tulisan Compilation Error biasanya menandakan ada kesalahan sintaks pada program peserta. Jika terdapat dua peserta dengan skor yang sama, maka peringkat peserta akan ditentukan dari total waktu yang diperlukan peserta untuk menjawab. Jadi, jika peserta A menyelesaikan soal X pada waktu 1 jam setelah kontes dimulai dan soal Y pada waktu 5 jam setelah kontes dimulai, sedangkan peserta B menyelesaikan soal X pada waktu 2 jam setelah kontes dimulai dan soal Y pada waktu 3 jam setelah kontes dimulai, maka peringkat peserta B lebih tinggi daripada peringkat peserta A.