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