Lompat ke konten Lompat ke sidebar Lompat ke footer

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.


Perbedaan stdio.h dan stdlib.h pada Bahasa C
Ilustrasi stdio.h dan stdlib.h Bahasa C

Sebelum memahami lebih dalam materi tentang Perbedaan stdio.h dan stdlib.h pada Bahasa C, terlebih dahulu pelajari materi tentang: Const dan #define Bahasa C dan Fungsinya [klik], Makro Prediksi Cabang pada GCC dan Fungsinya [klik], dan Makro Offset Bahasa C dan Fungsinya [klik].

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.

Artikel ini didedikasikan kepada: Ananda Fama Laudza Dwi Anjani, Anis Setyaningrum, Annas Bhakti Aditama, Bayu Permana Putra, dan Debi Anggun Mentari Putri.

7 komentar untuk "Perbedaan stdio.h dan stdlib.h pada Bahasa C"

  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
    3. File header stddef.h digunakan untuk mendefinisikan berbagai tipe variabel dan makro, berikut beberapa tipe variabelnya:

      Library Variabel
      1. ptrdiff_t : merupakan tipe signed integral dan hasil dari pengurangan dari dua pointer.
      2. size_t: merupakan tipe unsigned integral dan hasil dari keyword sizeof.
      3. wchar_t: merupakan tipe integral dari ukuran lebar konstanta karakter.

      Library Macros
      1. NULL: merupakan nilai dari konstanta pointer null.
      2. offsetof(type, member-designator): merupakan hasil dari konstanta integer dari tipe size_t yang merupakan offset pada byte anggota struktur dari bagian awal struktur, dimana anggotanya diberikan oleh member-designator, dan nama dari struktur (struct) diberikan oleh type.

      Hapus

Hubungi admin melalui Wa : +62-896-2414-6106

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.

Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.

- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -