My first Magazine pemrograman-kompetitif-dasar | Page 19
1.5 Penulisan Kode
Kurikulum ACM-ICPC
Kurikulum ACM-ICPC sangat luas. Buku ini mencakup materi-materi dasar dan cocok jika
Anda baru belajar pemrograman kompetitif. Untuk mempersiapkan diri lebih dalam, disarankan
untuk mencari referensi-referensi tambahan seperti buku Competitive Programming 3 4 maupun
forum-forum diskusi pemrograman kompetitif, juga diimbangi dengan latihan.
1.5
Penulisan Kode
Terdapat perbedaan antara kode program yang ditulis untuk kompetisi dan industri. Perbe-
daan ini disebabkan karena lainnya karakter program untuk kedua kebutuhan tersebut.
Program yang ditulis pada pemrograman kompetitif biasanya berumur pendek. Artinya,
program yang ditulis tidak perlu diurus dan tidak akan digunakan untuk kebutuhan pada masa
mendatang. Lain halnya dengan program yang ditujukan untuk industri, yang mana program tetap
digunakan dan perlu dimodifikasi seiring dengan berjalannya waktu. Program pada dunia industri
juga harus memperhatikan integrasi dengan komponen program lainnya.
Oleh sebab itu, kode program untuk kompetisi tidak perlu menomorsatukan faktor-faktor
yang mempermudah pemeliharaan kode seperti kemudahan dibaca (readability ) dan struktur
yang memaksimalkan daya daur ulang (reusability ). Sebagai tambahan, mengurangi perhatian
pada faktor-faktor tersebut akan membantu penulisan kode pada kompetisi dengan lebih cepat.
Namun perlu diperhatikan bahwa kode sebaiknya ditulis dengan rapi agar mudah dibaca, dan
menghindari adanya kesalahan program (bug ).
Kode program yang ditulis pada buku ini akan menggunakan gaya kompetitif, yang biasanya
bersifat prosedural. Kode akan ditulis sebagaimana adanya dengan fokus untuk menunjukkan
alur algoritma.
1.6
Perkenalan Pseudocode
Pada buku ini, kode akan dituliskan dengan pseudocode . Pseudocode merupakan bahasa
informal yang mirip dengan bahasa pemrograman untuk mendeskripsikan program. Bahasa ini
biasa digunakan pada materi pembelajaran algoritma, sehingga pembaca tidak perlu mempela-
jari suatu bahasa pemrograman tertentu. Pseudocode sendiri bukanlah bahasa pemrograman
sungguhan.
Algoritma 1 Contoh pseudocode algoritma insertion sort untuk mengurutkan array A yang
memiliki panjang N.
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure INSERTION S ORT (A, N)
for i ← 2, N do
j ← i
while ( j > 1) ∧ (A[ j] < A[ j − 1]) do
SWAP (A[ j], A[ j − 1])
j ← j − 1
end while
end for
end procedure
. Selama A[ j] masih dapat dipindah ke depan
9