My first Magazine pemrograman-kompetitif-dasar | Page 11

1 Perkenalan Pemrograman Kompetitif Untuk memulai pembahasan pada bab-bab selanjutnya, mari kita mulai dengan membahas tentang apakah sebenarnya pemrograman kompetitif. Bab perkenalan ini juga memuat informasi tentang kompetensi dasar yang Anda butuhkan dan konvensi yang digunakan pada penulisan kode. 1.1 Kompetensi Dasar Buku ini dirancang bagi pembaca yang sudah pernah belajar pemrograman sebelumnya, namun masih awam mengenai dunia pemrograman kompetitif. Buku ini bukanlah buku untuk belajar pemrograman. Terdapat sejumlah kompetensi dasar yang perlu Anda kuasai untuk dapat memahami materi pada buku ini secara maksimal. Anda diharapkan untuk: 1. Memahami konsep pemrograman dan mampu menulis program secara umum. 2. Mengetahui jenis-jenis tipe data primitif seperti bilangan bulat, bilangan riil, boolean, dan karakter. 3. Mengetahui konsep tipe data komposit seperti record (Pascal), struct (C), atau class (C++ dan Java). 4. Memahami konsep dan mampu menulis struktur percabangan if pada program. 5. Memahami konsep dan mampu menulis struktur perulangan menggunakan for dan while pada program. 6. Memahami konsep array , baik yang berdimensi satu maupun lebih. 7. Memahami konsep subprogram berupa fungsi dan prosedur. 8. Memahami konsep rekursi, mampu mengidentifikasi basis dan hubungan rekursif dari suatu permasalahan, dan mampu menuliskannya pada program. 9. Mampu menghitung kompleksitas waktu dan memori dari suatu algoritma dan menyatakan- nya dalam notasi big-Oh. Apabila Anda belum menguasai seluruh kompetensi dasar tersebut, kami menyarankan Anda untuk mempelajarinya terlebih dahulu. Sumber pembelajaran yang kami anjurkan adalah TLX Training Gate (https://tlx.toki.id/training). Seluruh kompetensi dasar yang diperlukan dibahas pada kursus berjudul "Pemrograman Dasar". 1.2 Tentang Pemrograman Kompetitif Pemrograman kompetitif adalah kegiatan penyelesaian soal yang terdefinisi dengan jelas dengan menulis program komputer dalam batasan-batasan tertentu (memori dan waktu). 1 Terdapat tiga aspek pada definisi tersebut, yaitu: 1. Soal terdefinisi dengan jelas. Artinya diketahui dengan jelas apa maksud soal dan tidak ada keambiguan. Seluruh variabel pada soal diberikan batasan nilainya. 1