[ HTML ] [ Java ] [ Bahasa C ]


Senin, Mei 03, 2021

Perbedaan stdio.h dan stdlib.h pada Bahasa C

Terdapat dua file header penting yang digunakan dalam bahasa C. Pertama, "<stdio.h>" adalah file header untuk standar input dan output, dan kedua "<stdlib.h>" adalah header file untuk standar library. Salah satu cara mudah untuk membedakan kedua file header tersebut adalah "<stdio.h>" mengandung deklarasi dari printf() dan scanf(), sementara "<stdlib.h>" mengandung deklarasi dari malloc() dan free(). Secara umum, perbedaan kedua file header tersebut adalah "<stdio.h>" mengandung informasi header untuk file yang berkaitan dengan fungsi nilai input output pada program, sedangkan "<stdlib.h>" mengandung informasi untuk fungsi alokasi memori dan pembebasan alokasi memori.

Perlu diingat pula bahwa, meskipun "<stdlib.h>" mengandung deklarasi dari tipe fungsi lainnya, namun hal tersebut tidak berkaitan dengan memori seperti atoi(), exit(), rand(), dan lain sebagainya. Namun untuk tujuan penyederhanaan, dapat diingat bahwa malloc() dan free() adalah untuk file header "<stdlib.h>".

Juga perlu dicatat bahwa, file header dapat mengandung tidak hanya fungsi deklarasi tetapi juga definsi dari konstanta dan variabel. Bahkan makro dan definition dari tipe data juga dapat ditambahkan ke dalam file header.

5 komentar:

  1. Apa yang dimaksud dengan stdio.h pada bahasa pemrograman C?

    BalasHapus
    Balasan
    1. Merupakan suatu ketentuan dalam bahasa C untuk selalu memberikan abstraksi pada bagian awal dari kode program. Dalam perangkat lunak, programmer tidak dapat 'menciptakan sebuah roda', melainkan hanya menggunakan roda yang telah dibuah dari pabrikan yang sudah disediakan untuk pembuatan mobil. Begitupun juga, dalam pengembangan kode program pada bahasa pemrograman, programmer dapat menggunakan sebagian ataupun seluruh kode program yang telah dibuat oleh pembuat awal kode tersebut dengan cara menambahkan fungsionalitas dari kode-kode program yang akan digunakan tersebut.

      Dalam bahasa C, semua kode program yang dapat digunakan kembali tersebut sudah ditulis sebagai suatu fungsi dalam suatu kumpulan pustaka file(.lib) beserta referensinya, yang kesemua hal tersebut sudah tercantum dalam file header (.h).

      Apa yang dilakukan oleh preprosesor sebelum mengirimkan kode program ke kompilatornya adalah menyalin dan menempelkan konten file .h tersebut terhadap kode sumber program yang telah dibuat oleh programmer. Jadi kode program yang telah dibuat oleh seorang programmer sekarang telah menyertakan semua bentuk referensi kode dan fungsi yang tersedia sesuai dengan standar tanpa harus melakukan penulisan ulang dari setiap referensinya secara manual. Dimana hal yang perlu dilakukan oleh seorang programmer hanyalah menambahkan #inclue "stdio.h" pada baris pertama dari kode program bahasa C yang akan dibuat.

      Selanjutnya, linker akan mengurus bagian penautan referensi dari library yang telah disertakan ke dalam kode program yang dibuat yang berasal dari file library sebelum file tersebut dikompilasi untuk menghasilkan file biner atau file yang dapa dieksekusi (.exe).

      Singkatnya, stdio.h adalah salah satu dari banyak file header yang menyediakan fungsi standar (std) yang membantu programmer dalam memasukkan dan mengeluarkan (io) data antara perangkat periferal dan prosesor. Tidak hanya itu, untuk file header lainpun juga dapat membantu dalam hal pengelompokkan kode program dari operasi seperti operasi matematika (math.h) bahkan hingga membuat plot grafik sekalipun (grafik.h).

      Hapus
  2. Apa yang dimaksud dengan stdlib.h pada bahasa C?

    BalasHapus
    Balasan
    1. stdlib.h adalah file header dari standar library untuk tujuan proses yang bersifat umum yang terdapat dalam bahasa C yang mencakup fungsi yang melibatkan alokasi memori, kontrol proses, konversi, dan lain sebagainya. File header ini kompatibel juga dengan bahasa C++ dan dikenal sebagai cstlib pada bahsa C++. File header stdlib.h adalah suatu standar untuk library yang berisi informasi header untuk fungsi pengalokasian ataupun pembebasan memori komputer.

      Hapus
    2. Berikut ini adalah daftar fungsi inbuilt bahasa C pada file stdlib.h:

      1. malloc(); digunakan untuk mengalokasikan ruang dalam memori selama proses eksekusi program dijalankan.

      2. calloc(); hampir sama dengan fungsi malloc(), namun fungsi calloc() adalah digunakan untuk menginisialisasi alokasi memori untuk menjadi nol.

      3. realoc(); digunakan untuk mengubah ukuran memori yang dialokasikan oleh fungsi malloc() dan fungsi calloc() yang berfungsi sebagai ukuran baru dari memori.

      4. free(); digunakan untuk membebaskan memori yang sebelumnya dialokasikan oleh fungsi malloc(), calloc(), realloc() dan mengembalikan memori tersebut ke sistem.

      5. abs(); berfungsi untuk mengembalikan nilai absolut dari sebuah bilangan bulat. Dimana, nilai mutlak a adalah angka yang selalu bernilai positif, dan penggunaan dari fungsi ini hanya mendukung nilai integer.

      6. div(); fungsi ini digunakan untuk melakukan operasi pembagian.

      7. abort(); digunakan untuk menghentikan program bahasa C yang sedang berjalan.

      8. exit(); adalah fungsi yang digunakan untuk menghentikan program dan tidak mengembalikan nilai apapun ke sistem.

      9. system(); fungsi ini digunakan untuk menjalankan perintah diluar dari program bahasa C.

      10. atoi(); berfungsi untuk mengkonversi string menjadi integer.

      11. atol(); berfungsi untuk mengubah string menjadi long.

      12. atof(); berfungsi untuk mengkonversi string menjadi float.

      13. strtod(); berfungsi untuk mengkonversi string menjadi double.

      14. strtol(); berfungsi untuk mengubah string menjadi long.

      15. getenv(); berfungsi untuk mengubah nilai dari lingkungan variabel saat ini.

      16. setenv(); berfungsi untuk menetapkan nilai pada lingkungan variabel.

      17. putenv(); berfungsi untuk mengubah nilai lingkungan variabel.

      18. perror(); berfungsi untuk menampilkan nilai kesalahan terbaru yang terjadi selama proses pemanggilan fungsi library.

      19. rand(); berfungsi untuk mengembalikan nilai bilangan bulat acak atau random.

      20. delay(); berfungsi untuk melakukan penundaan eksekusi program untuk rentang waktu tertentu.

      Hapus

Respon komentar 7 x 24 jam, so please be patient :D