Jika anda sudah pernah memprogram dan mecoba untuk program yang kompleks dan ribet apalagi jika anda suka berkonsultasi program dengan programmer lain atau saling tukar pikiran, maka hal yang sulit adalah membuat programmer lain memahami program kita atau sebaliknya kita akan sulit memahami program orang lain.
Salah satu penyebabnya yaitu program yang tidak sederhana, listing tidak rapi, ada listing berulang-ulang yang selalu dipanggil padahal bisa di buat 1 fungsi saja, dll.
Tutorial ini akan membahas cara agar program yang kita buat "enak" dipandang dan rapi. Beberapa cara antara lain :
1. Buat Library sendiri atau file Header.
2. Buatlah fungsi-fungsi khusus.
3. Gunakan Global variabel dan Lokal variabel.
4. Perintah Bahasa C yang sesuai.
5. Gunakan huruf besar dan huruf kecil secara spesifik.
Buat Library atau file Header
Membuat file Header (Library) sendiri adalah cara yang efektif dan umum untuk menyederhanakan program dan sangat fleksibel. Akan tetapi hal yang harus diingat adalah apakah fungsi dalam file Library tersebut berfungsi untuk semua program atau hanya program saat itu saja. Oleh sebab itu pada file Library sebaiknya hindari penggunaan global variabel dari main program ataupun dari library itu sendiri karena bisa mengacaukan data variabel tersebut bahkan bisa menyebabkan error dan anda harus selalu mengubah file Library anda.
Caranya yaitu dengan menggunakan lokal variabel dalam fungsi Library tersebut dan jika harus ada nilai dari fungsi tersebut, gunakan fungsi dengan nilai kembali (return value).
Langkah-langkah : (Lanjutan dari Memulai CoViAVR (CodeVisionAVR))



Cara membuat library ada di HELP CoViAVR (Creating Libraries).
Proses membuat file library selesai.
Buatlah fungsi-fungsi khusus.
Fungsi khusus adalah prosedur dengan fungsi tertentu yang akan digunakan pada main program ataupun fungsi lainnya, seperti fungsi keypad, LCD, UART, Serial EEPROM, RTC, dll.
Salah satu contoh, saya akan membuat fungsi untuk menentukan baudrate komunikasi serial.
Langkah-langkah :

Mengapa saya menggunakan IF dan ELSE-IF bukannya rumus yang mungkin lebih sederhana ?
Karena meurut saya, rumus memang terlihat sederhana dalam hal jumlah baris tetapi saat menggunakan rumus yang akan dikali, bagi, kurang, tambah, pembulatan, nilai pecahan dll, ini akan memakan memori cukup banyak dan waktu eksekusi yang cukup lama.
Perhatikan bahwa nilai yang berubah hanya UBRRL saja dengan nilai tertentu setiap baudratenya. INGAT nilai UBRRL ini hanya pada kristal 4MHz saja untuk kristal frekuensi lain nilainya akan berubah.


Untuk
- Gunakan Global variabel dan Lokal variabel.
- Perintah Bahasa C yang sesuai.
- Gunakan Huruf besar dan huruf kecil secara spesifik.
Saya bahas pada Menyederhanakan & Merapikan Program Part II.