Anda di halaman 1dari 234

Tutorial Belajar Bahasa Pemrograman C Untuk Pemula

Bahasa Pemrograman C merupakan salah satu bahasa pemrograman komputer


paling senior yang masih digunakan hingga saat ini. Dirilis pertama kali tahun
1972 oleh Dennis Ritchie, C menjadi “dasar” dari berbagai bahasa pemrograman
yang lebih modern seperti C++, C#, Java, PHP hingga JavaScript.
Walau sudah berumur 45 tahun, bahasa pemrograman C masih tetap layak
untuk dipelajari. Bersama-sama dengan bahasa pemrograman Pascal dan C+
+ ketiganya sering digunakan untuk belajar algoritma, yakni dasar dari
pemrograman.
Bahasa C banyak menginspirasi bahasa pemrograman lain, seperti C+
+, C#, Objective C, PHP, JAVA, JavaScript dan masih banyak lagi. Dengan
mempelajari bahasa C, anda akan familiar dan lebih mudah saat berpindah ke
bahasa pemrograman lain yang merupakan turunan dari bahasa C.
Kali ini duniailkom ingin mengajak anda untuk mengupas dan
mempelajari bahasa pemrograman C. Dalam halaman ini, kami meng-index
seluruh tutorial dan artikel C di duniailkom:
Pengertian dan Sejarah C
Menulis dan Menjalankan Kode C
Struktur Dasar Kode Program C
Tipe Data Bahasa C
Operator Bahasa C
Struktur Kondisi dan Perulangan
Fungsi Bahasa C
Studi Kasus dan Latihan Bahasa C

Pengertian dan Sejarah Bahasa Pemrograman C


Untuk tutorial awal belajar C di Duniailkom, kita akan berkenalan dengan bahasa
pemrograman C, mulai dari pengertian bahasa C, sejarahnya dari awal
kemunculan pada tahun 1972 hingga penggunaannya saat ini.

Tidak ketinggalan juga akan dibahas tentang pengertian Compiler, Linker dan
IDE. Ketiga istilah ini akan sering kita temui saat mempelajari sebuah bahasa
pemrograman.

 Tutorial Belajar C Part 1: Pengertian Bahasa Pemrograman C


 Tutorial Belajar C Part 2: Sejarah Bahasa Pemrograman C
 Tutorial Belajar C Part 3: Pengertian Compiler, Linker dan IDE
Menulis dan Menjalankan Kode Program Bahasa C
Dalam sesi ini akan dibahas tentang cara menulis dan menjalankan kode
program bahasa pemrograman C. Mulai dari menginstall aplikasi Code::Block
hingga menghasilkan file exe.

 Tutorial Belajar C Part 4: Cara Mendownload dan Menginstall Code::Blocks


 Tutorial Belajar C Part 5: Cara Menulis Kode Program Bahasa Pemrograman C
 Tutorial Belajar C Part 6: Cara Mencompile dan Membuat File exe Bahasa C

Cara Penulisan dan Struktur Dasar Bahasa C


Bagian ini akan membahas cara penulisan bahasa C, mulai dari cara
menjalankan kode program bahasa C, struktur dasar kode pemrograman
bahasa C seperti variabel, konstanta, hingga cara penggunaan
perintah printf dan scanf.
Aturan penulisan sebuah bahasa pemrograman dikenal juga dengan
istilah syntax.
 Tutorial Belajar C Part 7: Struktur Dasar Kode Program Bahasa Pemrograman C
 Tutorial Belajar C Part 8: Aturan Dasar Penulisan Kode Program Bahasa C
 Tutorial Belajar C Part 9: Cara Pembuatan Konstanta dalam Bahasa C
 Tutorial Belajar C Part 10: Pengertian Variabel dan Cara Penulisan Variabel
Bahasa C
 Tutorial Belajar C Part 11: Fungsi Perintah printf dalam Bahasa Pemrograman C
 Tutorial Belajar C Part 12: Format Penulisan printf untuk Menampilkan isi
Variabel
 Tutorial Belajar C Part 13: Fungsi scanf dan Cara Penggunaan Perintah scanf

Tipe Data Bahasa Pemrograman C


Dalam bagian ini akan dibahas tentang apa saja jenis-jenis tipe data di dalam
bahasa C, termasuk pembagian tipe data yang disertai contoh cara
penggunaannya.

Tipe data yang akan kita pelajari diantaranya: tipe


data char, integer, float, array, struct, hingga boolean:
 Tutorial Belajar C Part 14: Jenis-jenis Tipe Data dalam Bahasa C
 Tutorial Belajar C Part 15: Pengertian dan Contoh Kode Program Tipe Data Char
 Tutorial Belajar C Part 16: Pengertian dan Contoh Kode Program Tipe Data
Integer
 Tutorial Belajar C Part 17: Pengertian dan Contoh Kode Program Tipe Data Float
 Tutorial Belajar C Part 18: Pengertian dan Contoh Kode Program Tipe Data Array
 Tutorial Belajar C Part 19: Pengertian Array 2 Dimensi
 Tutorial Belajar C Part 20: Pengertian dan Contoh Kode Program Tipe Data String
 Tutorial Belajar C Part 21: Cara Membaca String dengan scanf dan gets
 Tutorial Belajar C Part 22: Cara Mengubah Isi String dengan Fungsi strcpy
 Tutorial Belajar C Part 23: Pengertian dan Contoh Kode Program Tipe Data Struct
 Tutorial Belajar C Part 24: Pengertian Typedef dan Cara Penggunaan Typedef
Struct
 Tutorial Belajar C Part 25: Tipe Data Boolean dan Cara Penggunaan Tipe Data
Boolean

Operator Bahasa Pemrograman C


Dalam bagian ini akan dibahas tentang apa saja jenis-jenis operator dalam
bahasa C. Kita akan membahas operator aritmatika, operator increment &
decrement, operator perbandingan, operator logika, operator bitwise, dan
operator assignment.

 Tutorial Belajar C Part 26: Jenis-jenis Operator dalam Bahasa C


 Tutorial Belajar C Part 27: Jenis-jenis Operator Aritmatika Bahasa C
 Tutorial Belajar C Part 28: Jenis-jenis Operator Increment & Decrement Bahasa C
 Tutorial Belajar C Part 29: Jenis-jenis Operator Perbandingan / Relasional Bahasa
C
 Tutorial Belajar C Part 30: Jenis-jenis Operator Logika Bahasa C
 Tutorial Belajar C Part 31: Jenis-jenis Operator Bitwise Bahasa C
 Tutorial Belajar C Part 32: Jenis-jenis Operator Assignment Bahasa C

Struktur Kondisi dan Perulangan


Pada bagian ini akan dibahas perintah-perintah kode pemrograman C yang
dipakai untuk membuat percabangan kode program atau dikenal juga dengan
struktur kondisi / struktur logika. Di dalam bahasa C terdapat kondisi IF, IF
ELSE, IF ELSE IF, Nested IF ELSE (if bersarang), dan struktur SWITCH / CASE.
Setelah itu kita akan masuk ke perulangan. Perulangan (atau dalam bahasa
inggris dikenal dengan istilah loop) merupakan konsep pemrograman yang
berguna untuk mengulang baris perintah. Disini akan dibahas cara membuat
perulangan dalam bahasa C menggunakan perintah FOR, WHILE dan DO
WHILE.
 Tutorial Belajar C Part 33: Percabangan Kondisi IF Bahasa C
 Tutorial Belajar C Part 34: Percabangan Kondisi IF ELSE Bahasa C
 Tutorial Belajar C Part 35: Percabangan Kondisi IF ELSE IF Bahasa C
 Tutorial Belajar C Part 36: Percabangan Kondisi Switch Case Bahasa C
 Tutorial Belajar C Part 37: Perulangan FOR Bahasa C
 Tutorial Belajar C Part 38: Perulangan WHILE Bahasa C
 Tutorial Belajar C Part 39: Perulangan DO WHILE Bahasa C
 Tutorial Belajar C Part 40: Fungsi dan Pengertian Perintah Break
 Tutorial Belajar C Part 41: Fungsi dan Pengertian Perintah Continue

Cara Membuat Fungsi / Function


Dalam merancang kode program, kadang kita sering membuat kode yang
melakukan tugas sama secara berulang-ulang, seperti membaca tabel dari
database, menampilkan penjumlahan, dll.

Tugas yang sama ini akan lebih efektif jika dipisahkan dari program utama dan
dirancang menjadi sebuah fungsi atau function.
Secara sederhana, fungsi atau function adalah kode program yang dirancang untuk
menyelesaikan sebuah tugas tertentu, dan merupakan bagian dari program utama. Ketika di
sadur ke dalam bahasa indonesia, function ini di sebut juga sebagai fungsi.
Pada bagian ini kita akan membahas cara membuat function di C, termasuk juga
mempelajari perbedaan parameter dengan argumen, dan cara mengembalikan
nilai function dengan perintah return.

 Tutorial Belajar C Part 42: Cara Membuat Fungsi (Function) Bahasa C


 Tutorial Belajar C Part 43: Pengertian Parameter dan Argumen Fungsi Bahasa C
 Tutorial Belajar C Part 44: Fungsi Perintah Return pada Function Bahasa C

Latihan Soal Bahasa C


Bagian ini dikhususkan untuk tutorial lepas yang membahas studi kasus, latihan
dan contoh kode program dalam bahasa C. Beberapa artikel merupakan
jawaban dari pertanyaan rekan-rekan pengunjung duniailkom seputar Bahasa C.

 Tutorial Belajar C: Cara Membuat Perulangan Bersarang (Nested Loop)


 Tutorial Belajar C: Cara Membuat Segitiga Bintang
 Latihan Kode Program Bahasa C: Membuat Menu Berulang
 Latihan Kode Program Bahasa C: Cek Bilangan Prima
 Latihan Kode Program Bahasa C: Konversi Suhu Celsius

Tutorial Belajar C Part 1: Pengertian Bahasa


Pemrograman C
02 Sep 18 | Andre | Tutorial C | 58 Comments
Apa itu bahasa pemrograman C? Apa gunanya? dan kenapa harus dipelajari?
Dalam tutorial pertama dari seri belajar bahasa pemrograman C di duniailkom
kali ini kita akan membahas semuanya, yang diawali dengan pengertian bahasa
pemrograman C.

Pengertian Bahasa Pemrograman C

Bahasa Pemrograman C adalah sebuah bahasa pemrograman komputer yang


bisa digunakan untuk membuat berbagai aplikasi (general-purpose programming
language), mulai dari sistem operasi (seperti Windows atau Linux), antivirus,
software pengolah gambar (image processing), hingga compiler untuk bahasa
pemrograman, dimana C banyak digunakan untuk membuat bahasa
pemrograman lain yang salah satunya adalah PHP.
Meskipun termasuk general-purpose programming language, yakni bahasa
pemrograman yang bisa membuat berbagai aplikasi, bahasa pemrograman C
paling cocok merancang aplikasi yang berhubungan langsung dengan Sistem
Operasi dan hardware. Ini tidak terlepas dari tujuan awal bahasa C
dikembangkan.
Bahasa pemrograman C dibuat pertama kali oleh Dennis M. Ritchie pada
tahun 1972. Saat itu Ritchie bekerja di Bell Labs, sebuah pusat penelitian yang
berlokasi di Murray Hill, New Jersey, Amerika Serikat.
Ritchie membuat bahasa pemrograman C untuk mengembangkan sistem
operasi UNIX. Sebelumnya, sistem operasi UNIX dibuat menggunakan bahasa
assembly (assembly language). Akan tetapi bahasa assembly sendiri sangat rumit
dan susah untuk dikembangkan.
Dengan tujuan mengganti bahasa assembly, peneliti di Bell Labs membuat bahasa
pemrograman B. Namun bahasa pemrograman B juga memiliki beberapa
kekurangan, yang akhirnya di lengkapi oleh bahasa pemrograman C.
Dengan bahasa C inilah sistem operasi UNIX ditulis ulang. Pada gilirannya, UNIX
menjadi dasar dari banyak sistem operasi modern saat ini, termasuk Linux, Mac
OS (iOS), hingga sistem operasi Android.

Fitur dan Keunggulan Bahasa Pemrograman C


Berikut beberapa fitur serta keunggulan bahasa pemrograman C jika
dibandingkan dengan bahasa pemrograman lain:

C sebagai bahasa pemrograman prosedural


Konsep pemrograman prosedural adalah sebuah metode pemrograman yang
setiap baris perintah diproses secara berurutan dari baris paling atas hingga
baris paling bawah. Selain itu bisa terdapat fungsi tambahan (function) yang
digunakan untuk menyelesaikan berbagai tugas. Bahasa pemrograman C
termasuk ke dalam kelompok ini.
Selain konsep prosedural, terdapat juga konsep pemrograman object (object-
oriented programming). Di dalam bahasa pemrograman object, setiap tugas akan
dijalankan menggunakan class dan object. Contoh bahasa pemrograman object
adalah JAVA.
Bagi pemula, sangat disarankan untuk mempelajari bahasa pemrograman
prosedural terlebih dahulu baru kemudian masuk ke dalam bahasa
pemrograman object. Ini juga menjadi alasan untuk belajar bahasa C sebelum
masuk ke bahasa pemrograman object seperti JAVA.

Beberapa bahasa pemrograman ada yang mendukung konsep prosedural dan


object sekaligus, contohnya bahasa pemrograman C++, Python dan PHP.
Bahasa C sangat cepat dan efisien
Aplikasi yang dibuat menggunakan bahasa C bisa dieksekusi dengan sangat
cepat serta berukuran kecil. Ini karena C bisa langsung berkomunikasi dengan
hardware, sebuah fitur yang jarang tersedia di bahasa pemrograman modern
seperti JAVA, PHP, maupun Python.

Akan tetapi, hal ini juga memiliki kelemahan. Bahasa C relatif sederhana dan
tidak memiliki fitur-fitur modern seperti garbage collection dan dynamic typing.
C adalah portable language
Maksudnya, bahasa pemrograman C bisa di-compile ulang supaya berjalan di
berbagai sistem operasi tanpa perlu mengubah kode-kode yang ada. Aplikasi
yang dibuat di Windows dengan bahasa C, bisa dipindahkan ke Linux dengan
sedikit atau tanpa modifikasi.
C merupakan “induk” dari bahasa pemrograman modern
Bahasa pemrograman C banyak menginspirasi bahasa pemrograman lain,
seperti C++, C#, Objective C, PHP, JAVA, JavaScript dan masih banyak lagi.
Dengan mempelajari bahasa C, anda akan familiar dan lebih mudah saat
berpindah ke bahasa pemrograman lain yang merupakan turunan dari bahasa
C.

Haruskah Saya Mempelajari Bahasa C?


Jawaban singkatnya: Anda tidak harus belajar bahasa C.
Sama seperti bahasa Pascal, bahasa C saat ini kebanyakan dipakai sebagai
bahasa pengantar untuk mempelajari algoritma. Dimana algoritma itu sendiri
merupakan kumpulan instruksi untuk memecahkan masalah.
Sepanjang tutorial bahasa C di duniailkom ini kita juga hanya menampilkan hasil
program dalam bentuk teks yang mirip aplikasi DOS. Belum sampai ke membuat
aplikasi “sebenarnya” dengan tampilan grafis, gambar, mouse, dan efek-efek
menarik lain.

Namun ini bukan berarti C tidak bermanfaat. Seperti yang saya singgung di
keunggulan bahasa C, C merupakan “induk” dari berbagai bahasa pemrograman
modern. Dengan mempelajari C, anda juga mempelajari dasar dari pemrograman.
Ibarat sedang membangun rumah, apa yang akan dipelajari disini barulah cara
mengaduk semen, cara menyusun bata dan cara membuat pondasi.
“Rumahnya” nanti akan lebih cepat dibuat menggunakan bahasa pemrograman
yang lebih modern.

Jika anda ingin membuat aplikasi yang siap pakai dan memiliki tampilan modern,
bisa langsung ke bahasa “visual” seperti Visual Basic, Visual C++, HTML,
atau PHP.
Alasan lain untuk mulai belajar bahasa C adalah sebagai persiapan apabila
sedang berkuliah di jurusan komputer, atau ingin masuk ke jurusan komputer.
Karena hampir selalu akan ketemu bahasa pemrograman C di awal-awal kuliah,
dimana bahasa C, Pascal, dan C++ banyak dipakai sebagai bahasa pemrograman
untuk belajar dasar algoritma.
Setelah membahas pengertian bahasa C, keunggulannya dan alasan untuk
mempelajari bahasa C, berikutnya kita akan lihat bagaimana sejarah dan
perkembangan dari bahasa C yang sudah berumur 45 tahun.

Tutorial Belajar C Part 2: Sejarah Bahasa Pemrograman


C
03 Sep 18 | Andre | Tutorial C | 9 Comments

Sebelum mempelajari syntax (aturan penulisan) dari bahasa pemrograman C,


mari bahas sejenak tentang asal muasal dari bahasa C itu sendiri. Kita akan lihat
cerita singkat tentang sejarah bahasa pemrograman C.

Kemunculan Sistem Operasi UNIX

Bell Labs – Sumber: wikipedia.org


Kisah dimulai dari sistem operasi UNIX, yang mana inilah tujuan awal dari
pengembangan bahasa C.
Sekitar tahun 1960, Massachusetts Institute of Technology, Bell Labs, dan General
Electric bekerjasama mengembangkan sebuah sistem operasi untuk
komputer GE-645 mainframe. Pada era tersebut sebuah komputer bisa sebesar
satu ruangan.
Sistem operasi ini dinamakan Multics (Multiplexed Information and Computer
Services). Kemunculan Multics membawa banyak inovasi, namun bahasa
pemrograman yang dipakai cukup kompleks.
Tidak ingin membuang banyak waktu dengan pengembangan Multics, peneliti
dari Bell Labs lambat laun meninggalkan project tersebut, diantaranya
adalah Ken Thompson, Dennis Ritchie, M. D. McIlroy, dan J. F. Ossanna.
Bell Labs sendiri merupakan sebuah laboratorium multi disiplin ilmu yang
berlokasi di Murray Hill, New Jersey, Amerika Serikat. Saat itu Bell Labs berada di
bawah perusahaan AT&T Corporation (sekarang Bell Labs sudah berada di
bawah Nokia: www.bell-labs.com)
Peneliti di Bell Labs mencoba mengembangkan ulang sistem operasi yang lebih
sederhana dibandingkan Multics. Sistem operasi ini diberi nama Unics (Uniplexed
Information and Computing Service), yang kemudian berubah nama menjadi UNIX.

Bahasa C untuk Mengembangkan UNIX


Pada awalnya, sistem operasi UNIX dibuat menggunakan bahasa assembly. Sistem
operasi ini pertama kali diimplementasikan ke dalam komputer PDP-7 dan
berikutnya ke dalam PDP-11 oleh Dennis Ritchie and Ken Thompson.
Agar lebih sederhana, pengembangan UNIX kemudian diubah menggunakan
bahasa pemrograman B, yakni sebuah bahasa yang dibuat oleh Ken Thompson.
Akan tetapi bahasa B memiliki keterbatasan sehingga beberapa fitur di PDP-11
tidak bisa diprogram. Oleh karena itu dikembangkanlah bahasa pemrograman C.
Nama bahasa C dipilih sebagai huruf abjad selanjutnya setelah B.

Ken Thompson (kiri) with Dennis Ritchie (kanan) – Sumber: wikipedia.org


Bahasa pemrograman C ini dikembangkan antara tahun 1969 – 1972 oleh Dennis
Ritchie. Yang kemudian dipakai untuk menulis ulang sistem operasi UNIX. Selain
untuk mengembangkan UNIX, bahasa C juga dirilis sebagai bahasa
pemrograman umum.
Pada tahun 1978, Brian Kernighan dan Dennis Ritchie merilis buku “The C
Programming Language”, yang juga sering disebut sebagai “K&R” (singkatan dari
nama penulisnya: Kernighan dan Ritchie). Buku “The C Programming Language”
menjadi standar untuk buku programming modern, dan masih sering dijadikan
bahan referensi bahasa C di kalangan akademisi.

Perkembangan UNIX dan Bahasa C


Sistem Operasi UNIX yang dibuat oleh Bell Labs ternyata cukup populer. Pada
era tersebut sebuah komputer berharga sangat mahal dan berukuran besar
(butuh satu ruangan khusus). Oleh karena itu komputer UNIX hanya terdapat di
kantor pemerintah dan beberapa Universitas besar di Amerika Serikat.
Masuknya UNIX ke Universitas inilah yang turut mempopulerkan penggunaan
bahasa pemrograman C. Mau tidak mau mahasiswa yang ingin
mengembangkan aplikasi UNIX juga harus menguasai bahasa pemrograman C.
Ini pula yang menjadi alasan berkurangnya penggunaan bahasa
pemrograman Pascal (yang juga cukup populer pada saat itu).
Perkembangan UNIX tidak berhenti sampai disini. Pada tahun 1983, Richard
Stallman membuat sebuah project open source: GNU (singkatan dari GNU’s Not
Unix). Project ini ingin membuat sebuah sistem operasi gratis yang mirip
seperti UNIX dan bisa diinstall di komputer pribadi, tidak hanya di komputer-
komputer besar.
Pada tahun 1991, Linus Torvalds merilis kernel (otak pemrosesan sebuah sistem
operasi) yang dinamakan Linux. Linux juga dirilis dengan lisensi GNU, yang
mana boleh digunakan, dipelajari, dimodifikasi dan disebarkan oleh siapa saja.
Linux sendiri terinspirasi dari UNIX dan juga dikembangkan menggunakan
bahasa pemrograman C.
Apple juga tidak ketinggalan menggunakan UNIX. Pada tahun 1997 – 2001,
sistem operasi MacOS dikembangkan ulang dari NeXTSTEP, sebuah sistem
Unix. MacOS kemudian dijadikan sebagai basis untuk seluruh sistem operasi
Apple, mulai dari sistem operasi MacOS untuk Komputer dan Laptop, sistem
operasi iOS untuk smartphone, serta sistem operasi watchOS dan tvOS .
Sistem operasi Android juga tidak lepas dari UNIX. Android sendiri menggunakan
kernel Linux yang telah di modifikasi.
Seluruh sistem operasi ini menjadi keluarga yang dikenal sebagai UNIX-like, dan
hampir semuanya ditulis menggunakan bahasa pemrograman C.

Penggunaan Bahasa Pemrograman C


Melihat banyaknya implementasi dari bahasa C dalam sistem UNIX dan
“keluarganya” (UNIX-like), maka otomatis jika anda ingin mempelajari “daleman”
dari berbagai sistem operasi seperti UNIX, Linux, MacOS hingga Android, akan
butuh bahasa pemrograman C.

Berbagai compiler bahasa pemrograman juga dikembangkan menggunakan


bahasa C. Sebagai contoh, compiler untuk bahasa pemrograman PHP dibuat
menggunakan bahasa C. Aplikasi MySQL juga dibuat dari bahasa C. Apabila
anda ingin berkontribusi sebagai pengembang dari aplikasi MySQL, PHP, dan
sebagian besar project open-source, mayoritas juga menggunakan bahasa C.
Tapi bukan berarti jika kita ingin membuat aplikasi di UNIX, Linux, MacOS dan
Android, harus menggunakan bahasa C. Bahasa C baru perlu untuk
memodifikasi sistem tersebut.

Bahasa C adalah sebuah bahasa pemrograman yang sangat powerful. Hampir


semua aplikasi bisa dibuat menggunakan bahasa pemrograman C. Bahkan, jika
anda ingin membuat sebuah bahasa pemrograman baru, bahasa C merupakan
pilihan yang pas untuk mengembangkannya.

Bahasa PHP dikembangkan dari C – sumber: wikipedia.org

Versi Bahasa Pemrograman C


Seperti layaknya berbagai aplikasi komputer, bahasa C juga memiliki beberapa
versi atau tahap pengembangan. Versi bahasa C ini dikenal sebagai ANSI C.
ANSI adalah singkatan dari American National Standards Institute. Sebuah badan
standarisasi yang berkantor pusat di Amerika Serikat. Kalau di Indonesia, bisa
disamakan dengan SNI (Standar Nasional Indonesia). Selain ANSI, badan
standarisasi lain yang cukup terkenal adalah ISO, IEEE dan W3C.
Standarisasi diperlukan agar terdapat “patokan” baku dari sebuah bahasa C.
Karena bisa saja sebuah perusahaan mengembangkan bahasa C kemudian
menambah beberapa fitur yang belum tentu tersedia di aplikasi lain.

Terdapat beberapa versi ANSI C yang ditandai dengan tahun saat standar
tersebut dirilis:

 C89: Standar bahasa C pertama yang dirilis oleh ANSI pada tahun 1989. Versi ini
dikenal sebagai C89.
 C99: Pada tahun 1999, ANSI menambahkan beberapa fitur baru ke dalam bahasa
C, seperti inline functions, beberapa tipe data baru dan flexible array-members. Versi
ini dikenal sebagai C99.
 C11: Sesuai dengan namanya, standar C11 diperbaharui pada tahun 2011.
Terdapat penambahan fitur-fitur baru, seperti macros, atomic operations,
dan anonymous structures yang tidak terdapat di C99.
 C18: Standar ini dirilis pada bulan Juni 2018. Tidak ada penambahan fitur baru jika
dibandingkan C11, namun berisi perbaikan bug dan error yang ada di standar
C18.
ANSI C18 merupakan versi paling baru, namun karena masih sangat baru
(hanya beda beberapa bulan sejak update artikel ini di Agustus 2018), akan
butuh waktu agar semua compiler C mendukungnya. Karena itu jika anda
mencari compiler C, boleh memilih yang menggunakan standar C11 sambil
menunggu update ke C18.

Dalam tutorial kali ini, kita telah mengenal sejarah singkat tentang sistem
operasi UNIX serta bahasa pemrograman C. Saya juga beberapa kali menulis
tentang compiler C. Apa sebenarnya maksud dari compiler ini? Kita akan bahas
dalam tutorial selanjutnya dalam Pengertian Compiler, Linker dan IDE.
Sumber:

 https://en.wikipedia.org/wiki/C_(programming_language)
 https://en.wikipedia.org/wiki/Unix
 https://en.wikipedia.org/wiki/Bell_Labs
 https://en.wikipedia.org/wiki/PHP
 https://www.programiz.com/c-programming

Tutorial Belajar C Part 3: Pengertian Compiler, Linker


dan IDE
03 Sep 18 | Andre | Tutorial C | 19 Comments
Setelah melihat sejarah bahasa pemrograman C, kali ini kita akan membahas
tentang konsep pemrograman yang lebih umum, yakni pengertian dari
Compiler, Linker dan IDE. Ketiga istilah ini akan sering anda temui saat
mempelajari sebuah bahasa pemrograman.

Pengertian Compiler
Compiler adalah aplikasi yang berfungsi “membaca dan menerjemahkan” bahasa
pemrograman komputer (kode program) untuk menghasilkan sebuah program.
Seperti yang nantinya kita praktekkan, bahasa C berisi instruksi-instruksi yang
ditulis dalam kode khusus. Contoh kode tersebut adalah: printf(“Hello World”).
Compiler akan membaca perintah ini dan menghasilkan sebuah file exe.
Dengan kata lain, Compiler Bahasa C adalah program yang dibutuhkan untuk
memproses teks bahasa C untuk menjadi sebuah aplikasi.
Dimana bisa didapat compiler bahasa C?
Terdapat banyak compiler C. Daftar lengkapnya bisa dilihat ke List of compilers
bahasa pemrograman C.
Yang cukup terkenal untuk sistem operasi Windows adalah:

 MinGW
 Turbo C
 Cygwin
 Visual C++
 Code::Blocks

Sepanjang tutorial bahasa pemrograman C di duniailkom ini, saya akan


menggunakan compiler Code::Blocks, yang cara instalasinya akan di bahas dalam
tutorial selanjutnya.

Pengertian Linker
Dalam pembahasan mengenai pengertian compiler sebelum ini, saya menulis
bahwa compiler akan memproses bahasa pemrograman menjadi sebuah
aplikasi. Well… itu adalah pengertian yang di sederhanakan.
Dalam teori pemrograman, proses dari sebuah teks kode program menjadi
aplikasi melibatkan beberapa langkah. Diagram berikut merangkum proses yang
terjadi:
Diagram Compiler dan Linker Bahasa Pemrograman C
Pertama kali, kita membuat sebuah kode program dalam bahasa C. Kode
program ini (dikenal juga dengan sebutan source code) bisa dibuat menggunakan
aplikasi teks editor biasa seperti Notepad. Khusus untuk bahasa pemrograman C,
source code harus di simpan sebagai dengan akhiran file *.c,
seperti hello_world.c, aplikasiku.c, luas_segitiga.c, dll.
Agar komputer bisa mengerti kode C yang sudah dibuat, source code tadi
selanjutnya “di translate” menjadi bahasa mesin (machine language). Proses inilah
yang dilakukan oleh compiler. Compiler juga memeriksa apakah kode program
yang ditulis mengandung error atau tidak.
Apabila tidak ditemukan error, compiler akan membuat sebuah object files yang
berisi object code. Di dalam object file inilah instruksi dalam bahasa mesin
disimpan. Untuk kebanyakan compiler C, object file ini akan
berakhiran *.obj dengan nama yang sama dengan source code.
Karena sebelumnya saya memiliki file hello_world.c, setelah di compile akan
terdapat file hello_world.obj.
Langkah terakhir diserahkan kepada linker. Tugas dari linker adalah
menggabungkan berbagai library external dengan object file untuk menghasilkan
sebuah program.
Seperti yang akan kita pelajari nanti, kode program C biasanya butuh file library
external. Sebagai contoh, untuk menampilkan teks ke layar dalam bahasa C
perintahnya adalah printf(“Hello World”). Untuk bisa memproses
perintah printf(), C butuh sebuah file external, yakni stdio.h.
Linker-lah yang akan menggabungkan hello_world.obj dengan stdio.h. Hasil
akhirnya berupa sebuah program berextension *.exe. Karena file source code
saya buat sebagai hello_world.c, file programnya akan bernama hello_world.exe.
Dengan men-double-klik file hello_world.exe, program kita sudah langsung
berjalan.
Compiler + Linker
Terlihat dari diagram diatas bawah proses compiler dan linker dibuat terpisah.
Akan tetapi aplikasi compiler modern biasanya sudah menggabungkan kedua
langkan ini dalam sekali jalan.
Ketika anda men-klik tombol “compile”, file .exe sudah langsung terbentuk, tanpa
harus menjalankan proses compile dan link secara terpisah.

Pengertian IDE
Istilah terakhir yang akan kita bahas adalah IDE. IDE merupakan singkatan
dari Integrated Development Environment. IDE adalah aplikasi yang
menggabungkan teks editor, compiler dan linker dalam 1 aplikasi. Kadang
ditambah juga dengan sebuah debugger, yakni fitur untuk menampilkan
kesalahan dari kode program.
Sebuah IDE sangat memudahkan proses pembuatan program, karena kita
hanya perlu membuka 1 aplikasi saja.

Beberapa IDE juga memiliki fitur tambahan seperti real-time


debugging (memberitahu error sebelum kode program di compile), syntax
highlighting (mewarnai beberapa kode agar mudah dibaca) dan code
completion (memberikan saran penulisan kode program).
Contoh dari IDE untuk bahasa C adalah Turbo C, Visual C++ dan Code::Blocks.
Tampilan awal IDE Code::Blocks 17.12

Setelah membahas pengertian compiler, linker, serta IDE, kita sudah siap untuk
menginstall IDE Code::Blocks, inilah yang akan saya bahas dalam tutorial
belajar bahasa pemrograman C selanjutnya: Download dan Install Code::Blocks.

Tutorial Belajar C Part 4: Cara Mendownload dan


Menginstall Code::Blocks
03 Sep 18 | Andre | Tutorial C | 28 Comments

Pada tutorial belajar bahasa pemrograman C sebelumnya, kita telah


membahas perbedaan dari compiler, linker dan IDE. Terdapat banyak
aplikasi IDE untuk bahasa C yang salah satunya adalah Code::Blocks. Sepanjang
tutorial di duniailkom ini saya akan menggunakan Code::Blocks.
Dalam tutorial ini kita akan membahas Cara Mendownload dan Menginstall
Code::Blocks.
Anda tidak harus menggunakan aplikasi Code::Blocks untuk menjalankan bahasa
pemrograman C. Terdapat berbagai compiler dan IDE bahasa C lain yang bisa
dipilih, diantaranya: MinGW, Turbo C, Cygwin dan Visual C++.

Mendownload aplikasi IDE Code::Blocks


Code::Blocks atau Code Blocks adalah IDE (Integrated Development Environment)
untuk bahasa pemrograman C, C++ dan Fortran.
Dengan menggunakan Code::Blocks, kita sudah mendapati aplikasi teks
editor, compiler, linker dan debugger untuk bahasa pemrograman C dalam sekali
install, sehingga bisa langsung digunakan.
Code::Blocks sendiri merupakan aplikasi Open Source yang bisa didapat dengan
gratis. IDE ini juga tersedia untuk sistem operasi Linux, Mac, dan Windows.
IDE Code::Blocks beralamat di http://www.codeblocks.org.
Untuk mulai download aplikasi Code::Blocks, silahkan buka alamat web diatas,
lalu klik menu “Download” (1), dan pilih “Download the binary release” (2).

Pilih menu download Code Blocks

Di halaman berikutnya pilih sistem operasi dimana Code::Blocks akan diinstall.


Jika menggunakan Windows, scroll halaman sampai ke judul “Windows XP /
Vista / 7 / 8.x / 10”. Apabila menggunakan sistem operasi Linux atau Mac OS, link
downloadnya juga tersedia.
Pada saat tutorial ini saya revisi di November 2020, versi terakhir
adalah Code::Blocks 20.03. Besar kemungkinan versi yang anda dapati akan lebih
baru dari ini. Namun itu tidak masalah dan cara instalasinya kurang lebih tetap
sama.
Terdapat beberapa jenis installer Code::Blocks. Pilih yang “mingw-setup” seperti
dalam gambar dibawah, atau tepatnya “codeblocks-20.03mingw-
setup.exe”. Langkah ini sangat penting karena jika salah download, compiler C
tidak akan terinstall (terpaksa download ulang lagi).
Cara Download Code::Block
Klik salah satu link “download form”, bisa dari FossHUB atau Sourceforge.net.
Jika tidak ada kendala, proses download akan berjalan. File instalasi codeblocks-
20.03mingw-setup.exe berukuran sekitar 145MB.
Jika mengalami kendala pada saat proses download atau ingin menggunakan versi yang
sama dengan tutorial di Duniailkom ini, saya juga sudah siapkan link di Google Drive
berikut: Code::Block 20.03 (MinGW Setup) – Windows 64 bit.

Proses Instalasi Code::Blocks


Setelah file master Code::Block tersedia, saatnya mulai proses instalasi. Double
klik file codeblocks-20.03mingw-setup.exe yang baru saja di download, dan akan
tampil jendela awal proses instalasi.

Jendela awal proses instalasi Code::Blocks


Klik tombol “Next” untuk lanjut. Lalu di halaman “License Aggrement”, klik saja
tombol “I Agree”.
Halaman berikutnya adalah “Choose Components”, biarkan pilihan default
(seluruh pilihan di centang), lalu klik tombol “Next”.

Jendela “Choose Install Location” berguna untuk mengubah lokasi instalasi


Code::Blocks. Disini saya akan membiarkan pilihan default. Artinya kode
program Code::Blocks akan terinstall di “C:\Program Files\CodeBlocks”.

Klik Tombol “Install” dan proses instalasi akan berlangsung beberapa saat.
Proses Instalasi Code::Blocks Sedang Berlangsung
Setelah proses instalasi selesai, akan tampil jendela konfirmasi “Do you want to
run Code::Blocks now?” Klik Yes agar setelah proses instalasi,
IDE Code::Blocks langsung tampil.

Tampilan Code::Block 20
Sampai disini, aplikasi Code::Blocks sudah sukses terinstall dan siap untuk
digunakan.
Apabila anda mendapati jendela tambahan, pilih saja settingan default, misalnya
pada saat memilih compiler yang diinstall (GNU CCG Compiler) dan File
Association.

Memilih Compiler default Code Blocks

File Association Code Blocks

Periksa Pengaturan Lokasi Compiler


Pada saat menginstall Code::Block, juga ikut terinstall compiler bahasa C GNU
GCC yang disediakan oleh MinGW-W64 project. Aplikasi Code::Block harus
terhubung dengan compiler ini agar nantinya bisa memproses file C.
Untuk memeriksanya, silahkan buka menu Settings -> Compilers…

Setelah itu pilih tab “Toolchain executables” (1).dan pastikan kotak teks “Compiler’s
installation directory” berisi “C:\Program Files\CodeBlocks\MinGW” (2) seperti
gambar di bawah ini:

Jika kolom ini berisi alamat lain atau kosong, klik tombol “Auto-detect” agar
Code::Block bisa mencari compiler bahasa C secara otomatis.
Jika anda menggunakan aplikasi Code::Block versi lama, bisa saja kotak ini berisi
alamat C:\Program Files (x86)\CodeBlocks\MinGW. Itu juga tidak masalah karena di versi
sebelumnya, folder instalasi Code::Block ada di C:\Program Files (x86)\CodeBlocks\

Tutup jendela pengaturan ini dengan menekan tombol OK.


Dalam tutorial kali ini kita telah menginstall aplikasi IDE Code::Blocks yang
nantinya akan digunakan sebagai “tempat” untuk menulis kode program bahasa
C. Bagaimana cara menggunakannya? Ini akan kita bahas dalam tutorial
berikutnya: Cara Menulis Kode Program Bahasa Pemrograman C.

Tutorial Belajar C Part 5: Cara Menulis Kode Program


Bahasa Pemrograman C
03 Sep 18 | Andre | Tutorial C | 20 Comments

Setelah compiler atau IDE Code::Blocks sukses diinstall, kita sudah bisa langsung
praktek cara menulis kode program bahasa C. Inilah yang akan dibahas dalam
lanjutan belajar bahasa pemrograman C di Duniailkom.

Membuat File Bahasa C


Silahkan buka aplikasi Code::Blocks, yang tampilan awalnya sebagai berikut:

Tampilan Code::Blocks memang cukup “njelimet”, tapi anda tidak perlu paham
semua menu yang ada. Kita hanya akan menggunakan beberapa menu yang
penting-penting saja.
Untuk membuat sebuah file baru, klik menu File -> New -> Empty File, atau bisa
juga dengan menekan kombinasi tombol CRTL + SHIFT + N.

Di bagian tengah Code::Blocks akan tampil sebuah file teks kosong. Disinilah kita
akan menulis kode program bahasa C nantinya.

Agar bisa langsung praktek menulis sebuah file bahasa C, silahkan ketik kode
program berikut ke dalam Code::Blocks:

1 #include <stdio.h>
2 int main(void)

3 {

4 printf("Hello, World!\n");

5 return 0;

}
6

Anda bisa abaikan maksud dari kode program diatas untuk sementara. Kita akan
membahasnya dalam tutorial-tutorial selanjutnya. Inti dari kode program ini
adalah menampilkan sebuah teks “Hello, World!”.
Pastikan anda mengetik kode program sama persis dengan yang saya tulis diatas. Salah
satu huruf atau satu karakter saja yang kurang, kode program akan error. Untuk
amannya silahkan copy paste kode tersebut ke dalam editor Code::Block.

Menyimpan File Kode Program Bahasa C


Selanjutnya siapkan sebuah folder tempat file kode program C akan disimpan.
Untuk memudahkan, saya membuat sebuah folder “belajar_c” di Drive D. Anda
bisa saja menyimpan file bahasa C ini dimana saja, tidak harus di folder D:\
belajar_c seperti yang saya gunakan.
Kembali ke Code::Blocks, save file yang sudah kita tulis tadi dengan cara
menekan kombinasi tombol CTRL + S atau klik menu FILE -> Save file.

Sesaat kemudian akan tampil jendela Save file. Anda bebas ingin menyimpan file
ini di mana saja. Karena saya sudah menyiapkan folder D:\belajar_c, maka saya
akan menyimpannya di folder ini.
Save file tersebut sebagai hello_world.c. Khusus untuk bahasa pemrograman C,
nama file tersebut harus disimpan dengan akhiran *.c. Tentu saja anda juga
boleh menggunakan nama lain, sepanjang
berakhiran *.c seperti duniailkom.c, andi.c, atau punyaku.c
Ketika file sudah di save dan tampilan kembali ke editor Code::Blocks, kode
program yang sudah kita tulis sebelumnya akan berwarna. Inilah fitur syntax
highlighting dari Code::Blocks.

IDE Code::Blocks akan memberi warna berbeda untuk setiap kode program
bahasa C. Dengan demikian, jika terdapat salah ketik (atau salah tulis kode
program), warna teks yang dihasilkan juga akan berbeda.
Untuk memastikan, anda bisa membuka Windows Explorer dan cari apakah
file hello_world.c sudah ada di folder D:\belajar_c
Membuka File Kode Program Bahasa C
Sebagai latihan tambahan, mari coba membuka file hello_world.c jika
aplikasi Code::Blocks sudah ditutup.
Silahkan tutup aplikasi Code::Blocks, kemudian buka kembali. Kode program
yang baru saja kita ketik sudah tidak tampil. Untuk membukanya, silahkan klik
menu File -> Open, atau bisa juga diakses dengan menekan tombol CRTL+O.

Di jendela yang tampil, cari file hello_world.c, kemudian klik tombol Open.

Se
karang, file kode program bahasa C sudah kembali terbuka.
Sampai disini kita telah membuat sebuah file kode program dalam bahasa C.
Dalam tutorial berikutnya file kode program ini akan di-compile untuk
menghasilkan program yang sebenarnya: Cara Mencompile dan Membuat File
exe Bahasa Pemrograman C.

Tutorial Belajar C Part 6: Cara Mencompile dan


Membuat File exe Bahasa Pemrograman C
10 Apr 17 | Andre | Tutorial C | 49 Comments

Dalam tutorial sebelumnya, kita telah mempelajari cara menulis kode program
dalam bahasa pemrograman C. Kali ini akan disambung dengan membahas cara
men-compile dan membuat file exe dari kode program tersebut.

Cara Men-compile Kode Program Bahasa C


Sebagaimana yang telah kita bahas di Pengertian Compiler, Linker dan
IDE. Compile adalah proses untuk mengubah kode program yang ditulis
menggunakan bahasa pemrograman menjadi object code. Object code ini
kemudian diproses oleh linker untuk menjadi file exe (file executable)
atau “program” sebagaimana yang biasa kita kenal.
Dalam kebanyakan aplikasi compiler (termasuk yang digunakan
oleh Code::Blocks), proses men-compile ini sudah langsung digabung
dengan linker. Yang artinya ketika di compile, kode program bahasa C akan
langsung menghasilkan file exe.
Mari kita praktek membuat file exe ini. Silahkan anda buka kembali
file hello_world.c. yang sudah kita buat sebelumnya. Sekedar penyegaran, berikut
isi kode program tersebut:
1 #include <stdio.h>
2 int main(void)

3 {

4 printf("Hello, World!\n");

5 return 0;

}
6

Untuk memulai proses compile, pilih menu Build -> Compile current File atau bisa
juga dengan menekan tombol CTRL + SHIFT + F9.
Jika kode program yang ditulis tidak ada yang salah, akan tampil beberapa
tulisan di bagian bawah aplikasi Code::Blocks:
||=== Build file: "no target" in "no project" (compiler: unknown) ===|

||=== Build finished: 0 error(s), 0 warning(s) (0 minute(s), 1 second(s)) ===|

Artinya kode program kita tidak memiliki error maupun warning. Proses compile
berlangsung dalam 1 detik.

Melihat Object File dan File exe Bahasa C


Setelah proses compile kode program bahasa C berhasil, silahkan buka
folder belajar_c, yakni folder dimana file kode program disimpan. Sebelumnya
hanya terdapat 1 file, yakni hello_world.c, sekarang anda akan menemukan 2 file
tambahan: hello_world.o dan hello_world.exe.
File hello_world.o merupakan object file hasil proses compile. Object file ini
digunakan secara internal oleh compiler bahasa C (dalam praktek kali ini kita
menggunakan compiler Code::Blocks). File ini tidak perlu di utak-atik.
File hello_world.exe adalah file akhir hasil linker, dimana object file diproses lebih
lanjut untuk menjadi program akhir.
Mari kita test jalankan file ini, silahkan double klik file hello_world.exe.
Sudah? Jendela tampilan akan berkedip sebentar kemudian tertutup kembali.
Apa yang terjadi?

Hal tersebut merupakan fitur normal dari sebuah aplikasi console. Yakni sebutan
dari program yang kita buat menggunakan Code::Blocks. Kode program console
harus diakses dari jendela console. Jika menggunakan Windows, jendela console
yang dimaksud adalah aplikasi CMD (command prompt).
Silahkan jalankan aplikasi CMD. Aplikasi ini bisa dicari di menu Home Windows,
atau klik search, kemudian ketik cmd.exe:
Keti
k alamat file tempat dimana file hello_world.exe berada. Dalam contoh yang saya
gunakan, file tersebut berada di D:\belajar_c\hello_world.exe:

Akan terlihat tampilan teks “Hello, World!”. Selamat! Inilah hasil dari kode
program bahasa C yang sudah kita buat.
Menggunakan Menu Build and Run Code:Blocks
Melihat hasil kode program langsung dari CMD memang sedikit panjang.
Untungnya terdapat cara yang lebih singkat, yakni menggunakan menu Build
and Run bawaan dari Code::Blocks.
Menu ini adalah gabungan dari proses build dan run. Build adalah proses untuk
men-compile file bahasa C dan Run untuk menjalankannya.
Caranya, klik menu Build -> Build and run, atau cukup dengan menekan
tombol F9 di keyboard.

Proses compile akan berlangsung beberapa saat. Setelah itu akan tampil sebuah
jendela console yang menampilkan hasil kode program: “Hello, World!”.

Untuk keluar dari jendela console ini cukup tekan tombol apa saja (press any key).
Dan tampilan akan kembali ke editor Code::Blocks.
Menu build and run ini juga tersedia sebagai shortcut yang lebih praktis:
Selain menjalankan build and run sekaligus, anda juga bisa
menjalankan build saja, atau run saja. Proses Build pada dasarnya tidak berbeda
dengan compile, yakni untuk menggenerate file .exe, sedangkan
proses Run digunakan untuk menjalankan kode program menggunakan
console Code::Blocks.

Dalam tutorial ini kita telah membahas cara menjalankan hasil kode program
yang ditulis dalam bahasa C. Karena berupa program console, hasilnya hanya
bisa dilihat menggunakan cmd atau menggunakan menu run dari
aplikasi Code::Blocks.
Berikutnya kita akan lanjut ke Struktur Dasar Kode Program Bahasa
Pemrograman C.

Tutorial Belajar C Part 7: Struktur Dasar Kode Program


Bahasa Pemrograman C
13 Apr 17 | Andre | Tutorial C | 37 Comments

Setelah sebelumnya kita mencoba menjalankan kode program yang dibuat dari
bahasa C, kali ini kita akan bahas struktur dasar kode program dalam bahasa C.

Struktur Dasar Bahasa Pemrograman C


Kode program yang telah jalankan sebelumnya sangat sederhana, tapi sudah
mewakili struktur dasar dari sebuah bahasa pemrograman C. Berikut kode
program tersebut:

1 #include <stdio.h>
2 int main(void)
3 {

4 printf("Hello, World!\n");

5 return 0;

}
6

#include <stdio.h>
Di baris paling awal, terdapat kode #include. Perintah #include digunakan untuk
memasukkan sebuah file khusus yang memungkinkan kita mengakses berbagai
fitur tambahan dalam bahasa C.
Dalam contoh diatas, file stdio.h berisi kode program agar nantinya kita bisa
mengakses perintah printf. File stdio.h sendiri merupakan singkatan dari Standard
Input/Output.
Dengan kata lain, agar di dalam kode program nanti kita bisa menggunakan
perintah printf, dibagian paling atas kode program C harus terdapat
baris #include <stdio.h>. File include ini juga sering disebut sebagai header file, dan
karena itu pula menggunakan akhiran .h.
Bahasa C menerapkan konsep modular, dimana fitur-fitur yang ada di pecah ke
berbagai file. Jika ingin menggunakan perintah tertentu, panggil header file yang
sesuai.
Hasilnya, ukuran file program yang ditulis menggunakan bahasa C menjadi
efisien. Kita hanya perlu menggunakan header file yang dibutuhkan saja. Namun
kebalikannya, setiap ingin menggunakan perintah tertentu, harus men-include-
kan file header yang dibutuhkan.
int main(void) { }
Satu-satunya perintah yang harus ada di setiap kode program bahasa C
adalah main().
Struktur main() sendiri pada dasarnya merupakan sebuah fungsi (function). Isi
dari function ini diawali dan diakhiri dengan tanda kurung kurawal ” { ” dan ” } “.
Di dalam tanda kurung inilah “isi” dari kode program penyusun
fungsi main() ditulis.
Kode int sebelum main() menandakan nilai kembalian atau hasil akhir dari
function main(). Kode int merupakan singkatan dari integer, yakni tipe data angka
bulat.
Dengan demikian, kode program main() yang saya tulis diatas harus
menghasilkan sebuah angka bulat (menggunakan perintah return yang akan kita
bahas sesaat lagi).
Sedangkan tambahan void ke dalam main(void) menandakan bawah
fungsi main() tidak membutuhkan nilai input (bahasa inggris void = kosong).
* Jika anda agak bingung dengan penjelasan ini, bisa dianggap bahwa int main(void)
{ } adalah perintah yang mengawali setiap kode program bahasa C.

printf(“Hello, World!\n”);
Perintah printf digunakan untuk menampilkan sesuatu ke layar. Perintah ini
merupakan bagian dari stdio.h, sehingga jika kita ingin menggunakannya, harus
terdapat baris perintah #include <stdio.h> di bagian paling awal kode program
bahasa C.
Teks yang ingin ditampilkan ditulis dalam tanda kurung dan di dalam tanda kutip
dua, seperti: printf(“Hello, World!\n”); Hasil dari perintah ini, akan tampil
teks Hello, World! di layar. Tapi apa fungsi tambahan karakter \n?
Jika ditulis di dalam teks, karakter ” \ ” dikenal sebagai escape character. Fungsinya
untuk menampilkan karakter yang tidak bisa ditulis. Sebagai contoh, \
n merupakan perintah untuk menulis newline character, yakni karakter penanda
baris baru.
Artinya, perintah printf(“Hello, World!\n”) akan menampilkan teks “Hello,
World!”, kemudian pindah ke baris baru. Bahasa C mendukung berbagai escape
character yang nantinya juga akan kita pelajari.
Setelah tanda kurung penutup perintah printf, harus ditutup dengan tanda titik
koma (semi-colon), yakni tanda “ ; ”. Setiap perintah bahasa C, harus diakhiri
dengan tanda ini, kecuali beberapa perintah khusus. Lupa menambahkan tanda
titik koma di akhir sebuah perintah merupakan error yang sangat sering terjadi.

return 0;
Perintah return 0; berhubungan dengan kode int main(void) sebelumnya.
Disinilah kita menutup function main() yang sekaligus mengakhiri kode program
bahasa C.
Return 0 artinya kembalikan nilai 0 (nol) ke sistem operasi yang menjalankan
kode program ini. Nilai 0 menandakan kode program berjalan normal dan tidak
ada masalah (EXIT_SUCCESS).
Kita juga bisa menulis return 1, return 99, return -1, dll. Nilai-nilai ini nantinya
bisa digunakan oleh sistem operasi atau program lain. Nilai return selain 0
dianggap terjadi error atau sesuatu yang salah (EXIT_FAILURE).

Apakah perintah Return 0 ini harus ditulis? Harus ditulis! jika kita berpatokan ke
struktur bahasa C yang ideal. Namun beberapa compiler
(termasuk Code:Blocks yang saya gunakan), akan “memaafkan” jika perintah ini
tidak ditulis dan menambahkan perintah return 0 secara otomatis (tidak
disarankan).

Dalam tutorial kali ini kita telah melihat struktur dasar kode program dalam
bahasa C. Berikutnya akan dibahas tentang aturan dasar penulisan kode
program bahasa C.

Tutorial Belajar C Part 8: Aturan Dasar Penulisan Kode


Program Bahasa C
31 May 17 | Andre | Tutorial C | 32 Comments
Dalam lanjutan tutorial belajar bahasa C di duniailkom kali ini, kita akan
membahas aturan dasar penulisan kode program bahasa C. Aturan ini
mencakup case sensitivity, whitespace, komentar, statement, keyword, dan identifier.

Perbedaan Huruf Besar / Kecil dalam Bahasa C


Pengertian sederhana dari case sensitivity adalah perbedaan antara huruf besar
dan huruf kecil. Istilahnya, bahasa C termasuk bahasa yang case sensitif. Dalam
bahasa C, huruf besar dan kecil dianggap berbeda. Perintah printf tidak bisa
ditulis menjadi Printf.
Berikut contohnya:

1 #include <stdio.h>
2 int main(void)
3 {
4 Printf("Hello, World!\n"); /* error !! */
return 0;
5 }
6
Untuk penulisan variabel juga akan berbeda antara huruf besar dan kecil.
Variabel jumlah, JUMLAH, dan Jumlah adalah 3 variabel yang berlainan. Aturan
ini berbeda jika dibandingkan bahasa pemrograman PASCAL yang bersifat case
insensitif (tidak membedakan huruf besar dan kecil).

Cara Penulisan Komentar di dalam Bahasa C


Komentar atau comment adalah ‘kode program’ yang ditambahkan untuk
memberi keterangan/penjelasan mengenai cara kerja program. Komentar tidak
akan diproses oleh compiler C dan berfungsi untuk memberi keterangan
tambahan (terutama jika kode program yang ditulis cukup rumit)
Untuk membuat komentar di dalam kode program bahasa C, menggunakan
tanda /* dan */. Seluruh karakter yang ada diantara kedua tanda ini akan
dianggap sebagai komentar dan diabaikan pada saat proses compiler.
Berikut contoh penulisan komentar dalam bahasa C:

1 #include <stdio.h>
2 int main(void)
3 {
4 /* Tampilkan pesan Hello World */
5 printf("Hello, World!\n");
return 0;
6 }
7
Komentar juga sering digunakan untuk membuat semacam “copyright” kode
program yang ditulis di awal, seperti contoh kode program berikut:

1 /* Pembuat : Duniailkom.com
* Tujuan : Menampilkan pesan "Hello, World!"
2
* Bahasa : C
3 * Tanggal Pembuatan: 31 Mei 2017
4 */
5
6 #include <stdio.h>
7 int main(void)
{
8 printf("Hello, World!\n");
9
10 return 0;
11 }
12

Bahasa pemrograman C++ memperkenalkan alternatif pembuatan komentar,


yakni dengan tanda ” // “. Umumnya, compiler bahasa C juga mendukung bahasa
C++, sehingga kita juga bisa menggunakan tanda ” // “untuk membuat komentar
dalam bahasa C.
Komentar ” // ” hanya berlaku untuk satu baris saja. Jika ingin membuat
komentar lebih dari 1 baris, tanda ” // ” harus ditulis beberapa kali. Contohnya
sebagai berikut:
1
2 // Pembuat : Duniailkom.com
// Tujuan : Menampilkan pesan "Hello, World!"
3 // Bahasa : C
4 // Tanggal Pembuatan: 31 Mei 2017
5
6 #include <stdio.h>
7 int main(void)
8 {
// Tampilkan pesan Hello World
9 printf("Hello, World!\n");
10 return 0;
11 }
12

Pengertian Statement dalam Bahasa Pemrograman C


Statement dalam bahasa C adalah sebuah baris perintah. Setiap baris perintah
(statement) dalam bahasa C harus diakhiri dengan tanda titik koma ( ; ).
Berikut beberapa contoh statement dalam bahasa pemrograman C:
1 x = 6;
2 y = "Duniailkom";
3 z = 5+3;
4 2+3;
puts("Duniailkom");
5
root2 = sqrt(49);
6
Sebuah statement tidak harus mencakup satu baris. Perintah kondisi seperti if
else dan perulangan (looping) bisa mencakup beberapa baris, dan ini dianggap
sebagai satu statement:
1 if( x == "Duniailkom") {
2 printf("Belajar Bahasa C di Duniailkom");
3 }
Statement yang terdiri dari beberapa baris seperti ini, biasanya diawali dengan
tanda kurung kurawal ” { ” dan diakhiri dengan tanda ” } “. Bagian ini juga sering
disebut sebagai blok kode program.

Pengertian Keyword dalam Bahasa Pemrograman C


Keyword adalah kata kunci yang menjadi dasar perintah bahasa C. Keyword ini
tidak bisa digunakan sebagai identifier (variabel, konstanta maupun nama dari
sebuah fungsi).
Sebagai contoh, perhatikan statement berikut:

1 int jumlah;
2 return 0;
Disini, kata int dan return merupakan keyword dan memiliki makna tertentu di
dalam bahasa C.
Terdapat beberapa kata kunci (keyword) dalam bahasa pemrograman C, yakni:
auto double int struct

break else long switch

case enum register typedef

char extern return union

continu
e for signed void

do if static while

default goto sizeof volatile

const float short unsigned


Seluruh kata ini tidak bisa digunakan sebagai nama variabel / konstanta dalam
bahasa C.

Pengertian Identifier dalam Bahasa Pemrograman C


Identifier adalah nama untuk menandakan “sesuatu” sepanjang kode program.
Contoh dari identifier adalah variabel, konstanta dan fungsi.
Perhatikan statement berikut:

1 int jumlah;
2 double total_penjualan;
Disini, jumlah dan total_penjualan adalah variabel dan termasuk ke
dalam identifiers.
Secara umum, kita bebas ingin menulis nama identifier, namun terdapat
beberapa aturan:
 Identifier harus selain dari keyword (yang terdapat di tabel sebelum ini).
Sebagai contoh, kita tidak bisa memakai kata int sebagai nama variabel,
karena int merupakan keyword untuk menandakan tipe data integer.
 Identifier bisa terdiri dari huruf, angka dan karakter underscore / garis bawah
( _ ).
 Karakter pertama dari identifier hanya bisa berupa huruf dan underscore,
tidak bisa berupa angka. Meskipun boleh, tapi tidak disarankan
menggunakan karakter underscore sebagai awal dari identifier.
 Beberapa compiler ada yang membatasi panjang identifier maksimal 31
karakter.

Dalam tutorial bahasa pemrograman bahasa C kali ini kita telah membahas
beberapa aturan dasar dari bahasa C. Ini semua menjadi pedoman dalam
menulis kode program bahasa C.

Tutorial berikutnya akan masuk ke Cara Pembuatan Konstanta dalam Bahasa


Pemrograman C.

Tutorial Belajar C Part 9: Cara Pembuatan Konstanta


dalam Bahasa C
21 Nov 17 | Andre | Tutorial C | 19 Comments
Dalam bahasa pemrograman, terdapat 2 “tempat” untuk menyimpan suatu nilai,
yakni konstanta dan variabel. Pada tutorial kali ini kita akan bahas Cara
Pembuatan Konstanta dalam Bahasa C terlebih dahulu.

Pengertian Konstanta dalam Bahasa Pemrograman C


Konstanta adalah sebuah tempat atau container dari suatu nilai. Sesuai dengan
namanya, nilai dari konstanta bersifat tetap (konstan) dan tidak bisa diubah
sepanjang program berjalan.
Jika di dalam kode program kita ingin mengubah nilai ini, harus
menggunakan variabel yang akan dipelajari dalam tutorial selanjutnya.

Cara Membuat Konstanta C dengan Perintah


“#define”
Untuk membuat konstanta dalam bahasa C terdapat 2 cara, yakni menggunakan
keyword #define dan menggunakan keyword const. Kita akan bahas dengan
perintah #define terlebih dahulu
Jika ingin membuat konstanta dengan keyword #define, konstanta ini ditulis
sebelum main(). Berikut contoh cara pembuatan konstanta
menggunakan #define:
1 #include <stdio.h>

3 #define PANJANG 8

#define LEBAR 5
4

5
int main(void)
6
{
7
printf("Panjang = %d",PANJANG);
8
printf("\n");
9

10 printf("Lebar = %d",LEBAR);
11 printf("\n");

12
13
printf("Luas (panjang*lebar) = %d",PANJANG*LEBAR);
14
printf("\n");
15

16
return 0;
17
}
18

Disini saya membuat 2 buah konstanta, yakni PANJANG dan LEBAR. Masing-
masing berisi nilai 8 dan 5. Perintah ini harus ditulis sebelum int main(void).
Format pembuatan konstanta menggunakan perintah #define adalah:
#define nama_konstanta nilai_konstanta

Dalam kode program diatas, perintah #define PANJANG 8 artinya saya membuat
konstanta bernama PANJANG yang bernilai 8. Sedangkan perintah #define
LEBAR 5 artinya saya membuat konstanta bernama LEBAR yang bernilai 5.
Di bagian program utama, yakni di dalam int main(void), nilai dari masing-masing
konstanta ditampilkan dengan perintah printf.
Tanda %d di dalam perintah printf digunakan untuk menampilkan angka bulat.
Angka yang ingin ditampilkan berada di akhir perintah printf, yakni berupa
sebuah konstanta.
Perintah printf(“\n”) dipakai untuk membuat karakter new line (baris baru).
Fungsinya supaya baris berikutnya tampil di baris baru. Tanpa perintah ini, teks
akan disambung terus ke kanan.
Lebih jauh tentang cara penggunaan perintah printf akan kita bahas dalam
tutorial tersendiri. Untuk saat ini silahkan fokus ke cara pembuatan
konstanta PANJANG dan LEBAR. di baris 3 dan 4.

Aturan Penamaan Konstanta


Aturan penamaan konstanta sama seperti identifier lain yang sudah kita bahas
pada tutorial: Aturan Dasar Penulisan Kode Program Bahasa C.
Namun menjadi kebiasaan mayoritas programmer untuk membuat nama
konstanta menggunakan HURUF BESAR, agar mudah dibedakan dengan
variabel yang menggunakan huruf kecil. Meskipun begitu, kita juga bisa
membuat konstanta dengan huruf kecil.
Berikut contoh lain pembuatan konstanta dalam bahasa pemrograman C:

1
#include <stdio.h>
2

3
#define situs "www.duniailkom.com"
4 #define ipk 4.00
5

6 int main(void)
7 {

8 printf("Sedang belajar bahasa C di %s",situs);

9 printf("\n");

10
printf("Semoga dapat IPK %f",ipk);
11
printf("\n");
12

13
return 0;
14
}
15

Kali ini saya menggunakan huruf kecil untuk konstanta situs dan ipk. Karena nilai
konstanta situs berupa teks, harus ditulis dalam tanda kutip.
Bisa anda perhatikan juga bahwa untuk perintah printf, saya menggunakan
tanda %s karena konstanta situs berisi nilai string (teks), sedangkan untuk
menampilkan nilai konstanta ipk, saya menggunakan %f karena nilainya berisi
angka float (pecahan).
Cara Membuat Konstanta C dengan Perintah “const”
Selain menggunakan perintah #define, konstanta juga bisa dibuat menggunakan
perintah const. Bedanya, pembuatan konstanta di tempatkan dalam
fungsi main() dan juga harus ditulis tipe data dari konstanta tersebut.
Berikut contoh kode program bahasa C untuk membuat konstanta
menggunakan keyword const:
1
#include <stdio.h>
2

3
int main(void)
4 {
5 const char SITUS[20] = "www.duniailkom.com";
6 const float IPK= 4.00;

8 printf("Sedang belajar bahasa C di %s",SITUS);

9 printf("\n");

10
printf("Semoga dapat IPK %f",IPK);
11
printf("\n");
12

13
return 0;
14
}
15

Format pembuatan konstanta menggunakan perintah const adalah:


const tipe_data nama_konstanta = nilai_konstanta;

Dalam kode program diatas, perintah const char SITUS[20] =


“www.duniailkom.com” artinya saya membuat konstanta bernama SITUS dengan
tipe data char yang di isi nilai “www.duniailkom.com”.
Sedangkan perintah const float IPK = 4.00 artinya saya membuat konstanta
bernama IPK dengan tipe data float yang di isi nilai 4.00.
Lebih jauh tentang tipe data, akan dipelajari dalam tutorial tersendiri.

Sebagai bahasan terakhir, mari kita coba mengubah nilai sebuah konstanta
setelah di definisikan:

1
#include <stdio.h>
2

3 int main(void)
4 {
5 const float IPK = 4.00;

7 printf("Semoga dapat IPK %f",IPK);

8 printf("\n");

9
IPK = 2.00; // error: assignment of read-only variable 'IPK'
10
return 0;
11
}
12

Setelah membuat dan mengisi konstanta IPK dengan nilai 4.00, saya mencoba
mengisinya dengan nilai 2.00 menggunakan perintah IPK = 2.00. Hasilnya
tampil error: assignment of read-only variable ‘IPK’. Artinya nilai ipk bersifat read-
only dan tidak bisa diubah.

Dalam tutorial belajar bahasa pemrograman C kali ini kita telah membahas
pengertian dan cara pembuatan konstanta. Pada tutorial berikutnya, akan
disambung dengan cara pembuatan variabel di dalam bahasa pemrograman C.

Tutorial Belajar C Part 10: Pengertian Variabel dan Cara


Penulisan Variabel Bahasa C
20 Dec 17 | Andre | Tutorial C | 21 Comments
Dalam tutorial belajar bahasa pemrograman di duniailkom C kali ini kita akan
membahas tentang pengertian variabel dan cara penulisan variabel dalam
bahasa C.
Pengertian Variabel dalam Bahasa C
Variabel adalah ‘penanda’ identitas yang digunakan untuk menampung suatu
nilai. Nilai tersebut dapat diubah sepanjang kode program. Secara teknis,
variabel merujuk kepada suatu alamat di memory komputer. Setiap variabel
memiliki nama yang sebagai identitas untuk variabel tersebut.
Sesuai dengan namanya, isi dari variabel bisa berubah dari waktu ke waktu
tergantung kebutuhan. Ini berbeda dari konsep konstanta yang kita bahas
dalam tutorial sebelumnya. Untuk konstanta, nilai tersebut akan tetap dan tidak
bisa diubah sepanjang kode program.
Sebagai contoh, jika saya membuat program menghitung luas lingkaran, saya
bisa membuat variabel ‘jari2‘ dan mengisinya dengan nilai ‘7’, kemudian di dalam
kode program, saya bisa mengubah nilainya menjadi ‘8’, ’10’ atau ‘1000’.
Sedangkan jika ‘jari2‘ ini dibuat sebagai konstanta, maka nilainya akan tetap ‘7’
sepanjang program dijalankan.

Aturan Penamaan Variabel dalam Bahasa C


Penamaan variabel merujuk ke aturan identifier yang pernah kita bahas
beberapa tutorial sebelumnya. Berikut aturan penamaan variabel di dalam
bahasa pemrograman C:
 Variabel bisa terdiri dari huruf, angka dan karakter underscore / garis
bawah ( _ ).
 Karakter pertama dari variabel hanya boleh berupa huruf dan underscore (
_ ), tidak bisa berupa angka. Meskipun dibolehkan, sebaiknya tidak
menggunakan karakter underscore sebagai awal dari variabel karena bisa
bentrok dengan beberapa variabel settingan program.
 Variabel harus selain dari keyword. Sebagai contoh, kita tidak bisa memakai
kata int sebagai nama variabel, karena int merupakan keyword untuk
menandakan tipe data integer.
 Beberapa compiler bahasa C ada yang membatasi panjang variabel
maksimal 31 karakter. Agar lebih aman, sebaiknya tidak menulis nama
variabel yang lebih dari 31 karakter.

Cara Penulisan Variabel di dalam bahasa C


Ketika akan menulis variabel, dalam hampir semua bahasa pemrograman
terdapat 2 proses: deklarasi dan inisialisasi.
Deklarasi adalah proses untuk memberitahukan compiler bahasa C bahwa kita
akan membuat sebuah variabel. Bahasa C termasuk bahasa pemrograman yang
menggunakan konsep strongly typed programming language, yang artinya untuk
setiap variabel harus ditulis akan berisi tipe data apa. Apakah itu angka bulat
(integer), angka pecahan (float), huruf (char), atau yang lain.
Ketika kita ingin membuat variabel, harus ditentukan dulu apa tipe data dari
variabel tersebut. Pembahasan mengenai tipe data di dalam bahasa C akan kita
bahas dalam tutorial tersendiri, namun berikut tipe data yang sering dipakai:

 Tipe data integer, yakni tipe data angka bulat seperti 1, 5 atau 1000. Tipe
data integer ditulis dengan keyword int.
 Tipe data float, yakni tipe data angka pecahan seperti 1.33, 5.90 atau
1000.99. Tipe data float ditulis dengan keyword float.
 Tipe data character, yakni tipe data huruf seperti ‘A’, ‘a’, atau ‘Z’. Tipe data
character ditulis dengan keyword char.
Sebagai contoh, dalam kode program berikut saya mendeklarasikan 3 buah
variabel:
1
#include <stdio.h>
2
3 int main(void)
4 {
5 int a;
6 char b;
float c;
7
8
return 0;
9 }
10
Disini perintah int a akan membuat variabel a dengan tipe data int. Artinya
variabel a hanya bisa diisi dengan angka bulat. Variabel b bertipe char, sehingga
hanya bisa menampung huruf. Sedangkan variabel c bertipe data float yang
hanya bisa diisi dengan angka pecahan.
Setelah sebuah variabel di deklarasikan, kita bisa menginput atau memberikan
nilai awal ke dalam variabel tersebut. Proses pemberian nilai awal ini dikenal
dengan istilah inisialisasi.
Nilai yang diberikan harus sesuai dengan tipe data. Misalnya
variabel a bertipe int, sehingga hanya bisa diisi dengan angka bulat. Berikut
contoh proses deklarasi dan inisialisasi dari contoh sebelumnya:
1 #include <stdio.h>
2
3 int main(void)
{
4 int a;
5 char b;
6 float c;
7
8 a = 34;
b = 'B';
9
10 c = 3.14;
11
12 return 0;
13 }
14
Sekarang masing-masing variabel sudah berisi nilai. Tanda sama dengan ( = )
disini berfungsi sebagai operator assignment, yakni operator yang akan mengisi
sebuah nilai. Proses assignment dilakukan dari kanan ke kiri. Perintah a =
34 artinya memasukkan angka 34 ke dalam variabel a.
Untuk menampilkan isi dari variabel, kita bisa menggunakan
perintah printf seperti contoh berikut:
1
2 #include <stdio.h>
3
4 int main(void)
5 {
6 int a;
char b;
7 float c;
8
9 a = 34;
10 b = 'B';
11 c = 3.14;
12
13 printf("%i",a);
printf("\n");
14
15 printf("%c",b);
16 printf("\n");
17
18 printf("%f",c);
19 printf("\n");
20
21 return 0;
}
22
23

Proses deklarasi dan inisialisasi variabel juga bisa dilakukan sekaligus, seperti
contoh berikut:
1
2 #include <stdio.h>
3
4 int main(void)
{
5
int a = 34;
6 char b = 'B';
7 float c = 3.14;
8
9 printf("%i",a);
10 printf("\n");
11
printf("%c",b);
12
printf("\n");
13
14 printf("%f",c);
15 printf("\n");
16
17 return 0;
18 }
19
Sekarang variabel a, b dan c masing-masing sudah berisi nilai awal.
Kita juga bisa mendeklarasikan beberapa variabel dalam 1 baris perintah,
selama variabel tersebut memiliki tipe data yang sama, seperti contoh berikut:
1
2 #include <stdio.h>
3
4 int main(void)
5 {
int a,b,c;
6
7 a = 12;
8 b = 9;
9 c = 2;
10
11 printf("%i",a);
12 printf("\n");
13
printf("%i",b);
14 printf("\n");
15
16 printf("%i",c);
17 printf("\n");
18
19 return 0;
20 }
21
Setelah variabel di deklarasikan dan diberikan nilai awal, kita bisa mengubah
nilai-nilai ini sepanjang kode program. Berikut contohnya:

1
2 #include <stdio.h>
3
4 int main(void)
5 {
6 int a,b,c;
7
a = 3;
8 b = a;
9 a = a + b;
10 c = b + b + a;
11
12 printf("%i",a);
printf("\n");
13
14
printf("%i",b);
15 printf("\n");
16
17 printf("%i",c);
18 printf("\n");
19
20 return 0;
}
21
22
Bisakah anda menebak apa hasil akhir dari variabel a, b, dan c?
Diawal kode program, saya mendeklarasikan 3 buah variabel: a, b, dan c.
Variabel a kemudian diisi dengan angka 3 dengan perintah a = 3.
Di baris berikutnya terdapat perintah b = a, artinya variabel b akan diisi dengan
nilai dari variabel a (ingat, proses assignment berlaku dari kanan ke kiri). Karena
variabel a berisi angka 3, maka variabel b juga akan berisi angka 3.
Selanjutnya terdapat perintah a = a + b. Kembali, proses pemberian nilai
(assignment) akan dilakukan dari sisi kanan tanda sama dengan ( = ) terlebih
dahulu.
Berapakah hasil dari a + b? karena a dan b sama-sama bernilai 3, maka hasilnya
adalah 6. Angka enam ini akan menjadi nilai baru untuk variabel a. Nilai
variabel a yang sebelumnya 3, akan tertimpa menjadi 6.
Proses terakhir adalah c = b + b + a. Kembali, kita selesaikan dulu perhitungan di
sisi kanan, yakni b + b + a. Variabel b saat ini bernilai 3, sedangkan
variabel a sudah bernilai 6 akibat perintah sebelumnya. Sehingga proses yang
terjadi adalah 3 + 3 + 6 = 12. Angka 12 ini akan menjadi nilai inputan untuk
variabel c.
Dari penjelasan diatas, maka variabel a akan berisi angka 6, variabel b angka 3,
dan variabel c angka 12. Mari kita buktikan dengan menjalankan kode program
tersebut:

Yup, hasilnya sesuai dengan perhitungan.

Dalam tutorial kali ini kita telah mempelajari pengertian variabel dan cara
penulisan variabel di dalam bahasa pemrograman C. Dalam tutorial selanjutnya,
saya akan membahas tentang cara penggunaan perintah printf yang sudah
beberapa kali kita pakai.

Tutorial Belajar C Part 11: Fungsi Perintah printf dalam


Bahasa Pemrograman C
23 Dec 17 | Andre | Tutorial C | 8 Comments

Setelah memahami cara pembuatan konstanta dan variabel dalam 2 tutorial


sebelumnya, kali ini kita akan bahas tentang apa fungsi perintah printf dalam
bahasa pemrograman C.
Dalam tutorial ini akan dijelaskan tentang cara penggunaan
perintah printf untuk menampilkan output berupa teks. Khusus untuk
menampilkan variabel, akan dibahas dalam tutorial berikutnya.
Fungsi Perintah printf Dalam Bahasa C
Dalam bahasa pemrograman C, perintah printf dipakai untuk menampilkan teks
ke layar, yakni salah satu bentuk output.
Perintah printf sendiri sebenarnya bukan bagian dari inti bahasa C. Bahasa C
tidak mempunyai sarana input dan output bawaan. Perintah printf berasal dari
library stdio.h yang ditambahkan ke dalam kode program C. Karena itulah kita
harus menulis baris #include <stdio.h> di awal setiap kode program bahasa C
yang akan menggunakan perintah printf.

Cara Penggunaan Perintah printf


Bentuk penggunaan paling sederhana dari perintah printf adalah menampilkan
sebuah teks. Berikut contoh kode programnya:
1 #include <stdio.h>
2

3 int main(void)

4 {

5 printf("Belajar bahasa C di Duniailkom");

7 return 0;

}
8

Hasilnya, akan tampil teks “Belajar bahasa C di Duniailkom”.

Bagaimana dengan membuat 2 buah teks? Tidak ada masalah, kita tinggal
tambah satu lagi perintah printf di bawahnya:
1 #include <stdio.h>
2

3 int main(void)
4 {

5 printf("Belajar bahasa C di Duniailkom");

6 printf("Semangat!!!");

7 return 0;

}
8

Kedua teks bisa tampil, tapi kenapa disambung dalam 1 baris?

Inilah prilaku bawaan dari hampir semua bahasa pemrograman komputer. Jika
kita ingin agar perintah printf kedua tampil di baris baru, harus ada instruksi
untuk hal tersebut.

Mengenal Escape Character


Di dalam bahasa C, salah satu cara untuk pindah baris adalah dengan menulis
karakter “\n”. Mari kita modifikasi kode program sebelumnya:
1 #include <stdio.h>

3 int main(void)

{
4
printf("Belajar bahasa C di Duniailkom");
5
printf("\n");
6
printf("Semangat!!!");
7
printf("\n");
8

9
return 0;
10
}
11

Sekarang diantara kedua kalimat saya tambah kode printf(“\n”). Hasilnya kedua
kalimat akan tampil di baris baru.
Sebuah karakter yang diawali dengan tanda backslash “\” memiliki makna khusus
di dalam programming. Kode “\n” berarti new line, ini adalah kode untuk pindah
baris.
Selain itu ada juga kode “\t” untuk karakter tab dan beberapa kode-kode lain.
Kode-kode ini disebut juga sebagai escape character, yakni kode khusus untuk
mewakili karakter yang tidak bisa ditulis. Berikut daftar lengkapnya:
Escape Character Character

\b Backspace

\f Form feed

\n Newline

\r Return

\t Horizontal tab

\v Vertical tab
\\ Backslash

\' Single quotation mark

\" Double quotation mark

\? Question mark

\0 Null character

Kode “\n” juga tidak harus ditulis secara terpisah, tapi juga bisa digabung ke
dalam 1 perintah printf:
1 #include <stdio.h>
2

3 int main(void)

4 {

5 printf("\t Belajar bahasa C di Duniailkom \n Semangat!!! \n");

7 return 0;

}
8

Hasilnya, teks akan bergeser ke kanan karena terdapat karakter “\t” sebagai
pengganti tab. Selain itu perintah diatas akan tampil dalam 2 baris karena
terdapat karakter \n di tengah-tengah kalimat. Ini sebagai instruksi untuk pindah
baris, meskipun hanya ditulis dalam 1 perintah printf.
Materi mengenai perintah printf masih akan dilanjutkan dengan cara penulisan
untuk menampilkan isi variabel. Karena pembahasannya cukup panjang, akan
saya sambung dalam tutorial berikutnya: Format Penulisan Perintah printf untuk
Menampilkan isi Variabel.

Tutorial Belajar C Part 12: Format Penulisan printf untuk


Menampilkan isi Variabel
24 Dec 17 | Andre | Tutorial C | 9 Comments

Perintah printf yang dibahas dalam tutorial sebelumnya hanya menampilkan


teks yang ditulis langsung. Dalam pemrograman, kita akan banyak menampilkan
isi teks yang berasal dari variabel. Variabel ini nantinya didapat dari hasil inputan
pengguna atau hasil pengolahan data.
Lanjutan tutorial bahasa pemrograman C di duniailkom kali ini akan
membahas cara penulisan perintah printf untuk menampilkan isi variabel.

Format Penulisan Perintah printf untuk Menampilkan


Variabel
Untuk menampilkan variabel menggunakan printf, terdapat pola khusus. Di
dalam bahasa pemrograman C, kita harus mempersiapkan “tempat” untuk
variabel itu, lalu menulis nama variabel di akhir perintah printf.
Agar lebih jelas, langsung saja kita lihat contoh kode programnya:

1 #include <stdio.h>

3 int main(void)

{
4
int harga = 5000;
5
float nilai_ip = 3.12;
6
char huruf = 'A';
7

8
printf("Harga bakwan %i",harga);
9 printf("\n");
10

11 printf("Semester 1 dapat nilai %f",nilai_ip);


12
printf("\n");
13

14
printf("%c adalah huruf pertama dalam abjad",huruf);
15
printf("\n");
16

17
return 0;
18 }
19

Diawal kode program, saya mendefinisikan 3 buah variabel,


yakni harga, nilai_ip dan huruf. Masing-masing variabel bertipe integer
(int), float dan char. Setiap variabel langsung diisi dengan nilai awal.
Ketika isi variabel akan ditampilkan dengan perintah printf, kita tidak bisa
menulisnya begitu saja, tapi ada format penulisan khusus.
Dalam bahasa C, perintah printf pada dasarnya adalah
sebuah function atau fungsi. Sebuah function bisa diisi dengan argumen yang
berfungsi sebagai nilai inputan. Argumen ini ditulis di dalam tanda kurung pada
saat pemanggilan function. Jika terdapat beberapa argumen, dipisah dengan
tanda koma.
Penjelasan dari kalimat diatas terasa cukup membingungkan terutama bagi
anda yang belum pernah belajar tentang function di bahasa pemrograman lain.

Misalkan saya menulis perintah seperti ini:

printf("teks1", teks2, teks3);


Kode diatas artinya, saya menjalankan perintah printf dengan 3 buah argumen.
Argumen pertama berupa “teks1”, argumen kedua adalah teks2, dan argumen
ketiga dengan nama teks3. Jika ada argumen ke-4, saya tinggal
menambahkannya di bagian belakang, misalnya seperti ini:
printf("teks1", teks2, teks3, teks4);

Inilah yang dimaksud dengan penulisan argumen.


Kembali kepada kode program sebelumnya, terdapat perintah berikut:

printf("Harga bakwan %i",harga);

Disini perintah printf dijalankan dengan 2 buah argumen. Argumen pertama


berupa teks “Harga bakwan %i”, dan argumen kedua adalah variabel harga.
Perhatikan kode ‘%i’ di dalam teks argumen pertama. Sama seperti escape
character dalam tutorial sebelumnya, tanda % juga memiliki makna khusus di
dalam bahasa pemrograman C, terutama di perintah printf.
Kode %i disini akan menginstruksikan kepada compiler bahasa C bahwa “ganti
karakter ini dengan sebuah variabel bertipe integer yang ada di argumen kedua“. Apakah
isi argumen kedua? Yakni variabel harga. Apakah variabel harga bertipe integer?
Betul. Maka hasilnya menjadi:
Harga bakwan 5000

Hal yang sama juga berlaku untuk perintah berikutnya:

printf("Semester 1 dapat nilai %f",nilai_ip);

Kode %f akan digantikan dengan isi dari variabel nilai_ip. Yang hasilnya menjadi:
Semester 1 dapat nilai 3.120000

Terakhir, perintah:

printf("%c adalah huruf pertama dalam abjad",huruf)

Akan diproses menjadi:

A adalah huruf pertama dalam abjad

Intinya adalah, kode % nantinya akan diganti dengan isi variabel yang ada di
argumen kedua dari fungsi printf. Akan tetapi, kenapa kodenya beda-beda?
Ada %i, ada %f dan %c, apa maksudnya? ini merupakan kode variabel untuk
fungsi printf.

Kode Variabel untuk Perintah printf


Kode-kode khusus seperti %i, ada %f dan %c di dalam fungsi printf merujuk
ke tipe data dari argumen kedua dari fungsi printf. Kode %i adalah kode khusus untuk
variabel bertipe integer. Kode %f untuk variabel bertipe float, dan kode %c untuk
variabel bertipe char.
Selain 3 kode ini, masih ada beberapa kode lain tergantung kepada apa tipe data
dari variabel tersebut. Daftar lengkapnya lumayan panjang, tapi setidaknya ada
4 kode yang paling banyak dipakai:

Kode format Tipe data variabel

%i atau %d int

%c char

%f float

%s string

Penulisan perintah printf seperti ini juga tidak hanya untuk 1 variabel dalam 1
perintah, tapi juga bisa banyak sekaligus selama urutan penulisan variabelnya
sesuai. Berikut contoh kode programnya:
1
#include <stdio.h>
2

3
int main(void)
4
{
5 int harga = 5000;
6 float nilai_ip = 3.12;

7 char huruf = 'A';

9 printf("Terdapat 3 variabel dalam kode program ini:");

10 printf("\n");

11
printf("harga=%d, nilai_ip=%f dan huruf=%c", harga, nilai_ip, huruf);
12
printf("\n");
13

14
return 0;
15
}
16

Kode program ini merupakan modifikasi dari kode sebelumnya. Kali ini saya
hanya menggunakan 1 perintah printf untuk menampilkan 3 variabel.
Yang harus diperhatikan adalah, urutan variabel yang akan menggantikan kode
khusus. Misalnya dalam contoh diatas, terdapat kode %d paling awal. Dengan
demikian, di dalam argumen kedua saya harus menulis variabel yang
bertipe integer.
Selanjutnya di dalam teks ada kode %f, ini akan berpasangan dengan argumen
ketiga, begitu seterusnya hingga akhir teks.
Penulisan isi variabel di dalam bahasa C memang lumayan njelimet, bahkan
mungkin paling rumit diantara bahasa pemrograman lain. Di bahasa pascal
misalnya, kita tinggal menulis isi variabel tanpa harus pusing dengan kode tipe
data, seperti:

write("Harga bakwan",harga);

Atau di dalam bahasa PHP menjadi lebih simple lagi:

echo "Harga bakwan $harga";

Namun inilah keunikan dari setiap bahasa pemrograman. Terlebih bahasa C


memang paling dekat dengan bahasa mesin yang penuh dengan kode-kode. Ini
pula yang menjadi alasan aplikasi yang dibuat dengan bahasa C bisa berjalan
dengan lebih cepat dibandingkan aplikasi yang dibuat dengan bahasa yang lebih
“mudah ditulis”.

Dalam tutorial ini kita telah membahas tentang cara penulisan format perintah
printf untuk menampilkan isi variabel. Perintah printf dipakai untuk
menampilkan teks (output). Berikutnya kita akan bahas tentang perintah
scanf yang dipakai untuk menerima masukan (input).

Tutorial Belajar C Part 13: Fungsi scanf dan Cara Penggunaan


Perintah scanf
28 Dec 17 | Andre | Tutorial C | 10 Comments

Dalam 2 tutorial sebelum ini kita telah mempelajari cara menampilkan sesuatu
(output) menggunakan perintah printf dalam bahasa pemrograman C. Kali ini
kita akan bahas tentang fungsi perintah scanf serta cara penggunaan perintah
scanf sebagai sarana input program bahasa C.

Pengertian perintah scanf


Perintah scanf, atau lebih tepatnya function scanf() adalah perintah bahasa C
untuk menerima masukan ke dalam program, yakni sebagai sarana input dari
pengguna.
Dengan menggunakan perintah scanf, kita bisa membuat program yang lebih
interaktif, yakni meminta data dari user / pengguna. Data ini nantinya bisa
disimpan ke dalam variabel dan diolah lebih lanjut untuk kemudian ditampilkan
kembali.
Sama seperti printf, perintah scanf juga merupakan function yang butuh
beberapa argumen. Berikut format dasar penggunaan fungsi scanf:
1 scanf(kode_format, &nama_variabel_penampung)

Bagian kode_format adalah format untuk tipe data inputan. Kode format ini sama
seperti yang dipakai untuk fungsi printf, misalnya kode “%d” untuk tipe
data integer, atau “%c” untuk tipe data char.
Bagian nama_variabel_penampung adalah nama variabel yang digunakan untuk
menampung nilai inputan. Variabel ini harus sudah di deklarasikan sebelumnya.
Perhatikan penambahan tanda ‘&’ diawal variabel penampung. Tanda ini
merujuk ke pointer untuk alamat memory dari variabel tersebut. Untuk tipe data
dasar seperti int, float dan char, tanda ‘&’ harus disertakan. Untuk beberapa tipe
data seperti string, tidak perlu ditambahkan tanda ‘&’.
Sama seperti printf, fungsi scanf juga bukan bagian dari inti bahasa C, tapi
berasal dari library stdio.h. Karena itu kode #include <stdio.h> harus ditulis agar
bisa menggunakan perintah scanf.

Contoh Kode Program dengan scanf


Langsung saja kita lihat contoh kode program bahasa C untuk penggunaan
perintah scanf:

1 #include <stdio.h>

3 int main(void)

{
4
int harga;
5

6
printf("Masukkan harga barang: ");
7
scanf("%d",&harga);
8

9
10 printf("\n");
11 printf("Harga barang adalah: %d", harga);

12 printf("\n");

13

14 return 0;

}
15

Di awal kode program, saya mendefinisikan 1 buah variabel harga yang diset
sebagai int. Artinya, variabel harga hanya bisa diisi dengan angka bulat.
Selanjutnya terdapat baris printf(“Masukkan harga barang: “). Ini digunakan
untuk menampilkan teks sebagai keterangan agar pengguna menginput
sesuatu.
Proses pembacaan data di tangani oleh perintah scanf(“%d”,&harga). Disini,
cursor akan berhenti dan menunggu kita menginput suatu nilai. Nilai ini akan
disimpan ke dalam variabel harga. Tanda “%d” adalah sebagai kode format
kalau nilai inputan harus berupa integer.
Terakhir, nilai dari variabel harga ini saya tampilkan kembali dengan
perintah printf(“Harga barang adalah: %d”, harga). Berikut contoh hasilnya:

Yang juga harus menjadi catatan, ketika karakter yang diinput bukan angka,
bahasa C akan mengkonversi karakter tersebut. Misalnya diinput angka 2500.25
(pecahan), yang akan di ambil hanya angka 2500 saja. Karena variabel harga
hanya bisa menampung angka bulat.

Sebagai contoh kedua, saya akan buat kode program untuk menampung 3
inputan sekaligus:
1
#include <stdio.h>
2

3
int main(void)
4
{
5
int harga;
6
float nilai_ip;
7
char huruf;
8

9 printf("Harga barang: ");


10 scanf("%d",&harga);

11

12 printf("Nilai IP: ");

13 scanf("%f",&nilai_ip);

14

15 printf("Huruf pertama nama anda: ");

scanf("%c",&huruf);
16

17
printf("\n");
18
printf("harga = %d , nilai_ip = %f dan huruf = %c",
19
harga, nilai_ip, huruf);
20
printf("\n");
21

22 return 0;
23 }

24

Kode program ini mirip seperti sebelumnya, hanya saja kali ini saya membuat 3
variabel bertipe int, float dan char. Setelah itu terdapat 3 perintah scanf untuk
menerima input untuk ketiga variabel ini.
Akan tetapi, jika anda menjalankan kode program diatas, terdapat 1 masalah.
Ketika kita menekan tombol enter setelah menginput angka untuk
variabel nilai_ip, program langsung berakhir tanpa sempat berhenti untuk
menerima input untuk variabel huruf.
Hal ini terjadi karena karakter “Enter” akan dibaca sebagai inputan untuk
variabel huruf yang di set sebagai char.
Solusinya, tambahkan 1 spasi di dalam baris scanf(“%c”,&huruf) menjadi:
1 scanf(" %c",&huruf);

Trik ini akan mengatasi masalah karakter “Enter” yang langsung terinput ke
variabel huruf. Berikut perubahan kode programnya:

1 #include <stdio.h>

3 int main(void)

{
4
int harga;
5
float nilai_ip;
6
char huruf;
7

8
printf("Harga barang: ");
9 scanf("%d",&harga);
10

11 printf("Nilai IP: ");


12 scanf("%f",&nilai_ip);

13

14 printf("Huruf pertama nama anda: ");

15 scanf(" %c",&huruf);

16
printf("\n");
17
18
printf("harga = %d , nilai_ip = %f dan huruf = %c",
19
harga, nilai_ip, huruf);
20
printf("\n");
21

22
return 0;
23 }
24

Sekarang, inputan untuk ketiga variabel sukses di jalankan.

Dalam tutorial ini kita telah membahas cara penggunaan perintah scanf dalam
bahasa pemrograman C. Perintah scanf dan printf adalah sarana input /
output standar di dalam bahasa C. Kedua perintah ini akan sering kita pakai
dalam pembahasan nantinya.
Untuk tutorial selanjutnya kita akan masuk ke bahasan tentang jenis-jenis tipe
data di dalam bahasa C.

Tutorial Belajar C Part 14: Jenis-jenis Tipe Data dalam


Bahasa C
04 Feb 18 | Andre | Tutorial C | No Comments
Lanjutan tutorial bahasa pemrograman C di Duniailkom kali ini akan membahas
apa saja jenis-jenis tipe data di dalam bahasa C, termasuk pembagian tipe data.

Pengertian Tipe Data


Sebelum sampai ke jenis-jenis tipe data di dalam bahasa C, ada baiknya
membahas sedikit pengertian dari tipe data itu sendiri. Apa itu tipe data?
Mengutip dari wikipedia (Data type):
“A data type or simply type is a classification of data which tells the compiler or interpreter
how the programmer intends to use the data”.
Terjemahannya:

“Tipe data atau kadang disingkat dengan ‘tipe’ saja adalah sebuah pengelompokan data
untuk memberitahu compiler atau interpreter bagaimana programmer ingin mengolah data
tersebut”
Secara sederhana, tipe data adalah cara kita memberitahu komputer untuk
mengelompokkan data berdasarkan apa yang dipahami oleh komputer.
Sebagai contoh, misalkan saya memiliki data berupa angka. Agar bisa dipahami
oleh compiler bahasa C, data ini harus disimpan ke dalam variabel yang sudah di
set agar bisa menyimpan angka. Di dalam bahasa C, terdapat tipe
data integer dan float yang bisa diisi dengan angka. Sedangkan jika data tersebut
berupa huruf, bisa disimpan ke dalam tipe data char.

Jenis-jenis Tipe Data dalam Bahasa C


Terdapat 8 tipe data di dalam bahasa pemrograman C yang bisa dibagi ke dalam
4 kelompok besar: tipe data dasar, tipe data turunan, tipe data bentukan, dan tipe
data void.
1. Tipe Data Dasar
Sesuai dengan namanya, tipe data dasar adalah tipe data paling dasar yang
tersedia di dalam bahasa pemrograman C. Terdapat 3 jenis tipe data dasar:

 Char: tipe data yang berisi 1 huruf atau 1 karakter.


 Integer: tipe data untuk menampung angka bulat.
 Float: tipe data untuk menampung angka pecahan.
Tipe data dasar dasar disebut juga sebagai Primary Data Type, Fundamental Data
Types atau Basic Data Type.
2. Tipe Data Turunan
Tipe data turunan berasal dari tipe data dasar yang dikelompokkan atau di
modifikasi. Terdapat 3 tipe data turunan di dalam bahasa pemrograman C:

 Array: Tipe data yang terdiri dari kumpulan tipe data dasar. Tipe data
tersebut harus 1 jenis.
 Structure: Tipe data yang terdiri dari kumpulan tipe data dasar. Tipe data
tersebut bisa lebih dari 1 jenis.
 Pointer: Tipe data untuk mengakses alamat memory secara langsung.
Tipe data turunan disebut juga sebagai Derived Data Type.
3. Tipe Data Bentukan (enum)
Sesuai dengan namanya, tipe data bentukan adalah tipe data yang dibuat sendiri
oleh kita (programmer). Isinya berupa data-data yang sudah ditentukan. Tipe
data bentukan ini dikenal juga sebagai Enumerated Data Type atau disingkat
sebagai enum.
4. Tipe Data Void
Tipe data void adalah tipe data khusus yang menyatakan tidak ada data.
Penggunaannya khusus untuk beberapa situasi seperti function yang tidak
mengembalikan nilai (return void), atau mengisi argumen function dengan nilai
kosong.

Tanpa pengelompokan, berikut ke-8 tipe data dalam bahasa pemrograman C:

1. Char
2. Integer
3. Float
4. Array
5. Structure
6. Pointer
7. Enum
8. Void
Bagi anda yang sudah pernah belajar bahasa pemrograman lain, mungkin akan
bertanya kenapa tipe data boolean dan string tidak termasuk di dalam daftar ini?
Bahasa C memang tidak memiliki tipe boolean bawaan, tapi bisa diakali dengan
membuatnya menggunakan tipe data bentukan (enum), atau menggunakan
library khusus: stdbool.h.
Sedangkan untuk string, di dalam bahasa C termasuk ke dalam array. String di
defenisikan sebagai array dari tipe data char.

Contoh Kode Program Tipe Data Bahasa C


Sebagai gambaran dasar, berikut contoh penggunaan dari berbagai tipe data
dalam bahasa C:

1 #include <stdio.h>
2
int main(void)
3 {
4
int var1 = 56;
5
double var2 = 0.543;
6
char var3 = 'A';
7
8 int var4[5] = {10, 20, 30, 40, 50};
9 char var5[11] = "Duniailkom";
10
11 printf("%d \n",var1);
12 printf("%f \n",var2);
printf("%c \n",var3);
13 printf("%d \n",var4[3]);
14 printf("%s \n",var5);
15
16 printf("\n");
17 return 0;
18 }
19

Bahasa pemrograman C termasuk kelompok strongly typed programming


language, yang artinya untuk setiap variabel harus ditulis akan berisi tipe data
apa. Apakah itu angka bulat (integer), angka pecahan (float), huruf (char), atau
yang lain.
Di baris 5 – 9 saya mendeklarasikan 5 variabel dari var1 sampai var5. Semua
variabel ini berisi tipe data yang berbeda-beda, yakni int, double, char, array,
serta array dari char (string).

Penjelasan lebih lanjut tentang tipe data ini, termasuk contoh penggunaannya
akan kita bahas secara bertahap dalam beberapa tutorial ke depan.

Pertama, akan dibahas tentang tipe data char terlebih dahulu: Pengertian dan
Contoh Kode Program C untuk Tipe Data char.

Tutorial Belajar C Part 15: Pengertian dan Contoh Kode


Program Tipe Data Char
05 Feb 18 | Andre | Tutorial C | 7 Comments
Dalam tutorial belajar bahasa C kali ini kita akan membahas tentang tipe data
char beserta contoh kode program dari tipe data char bahasa pemrograman C.

Pengertian Tipe Data char Bahasa C


Tipe data char di dalam bahasa C digunakan untuk menampung 1 digit karakter,
entah itu berupa huruf maupun angka. Variabel yang didefinisikan untuk
menampung tipe data char membutuhkan 1 byte memory. Secara teknis, char
ini dikodekan dari charset ASCII.

Contoh Kode Program Tipe Data char Bahasa C


Contoh penggunaan tipe data char sudah pernah kita coba beberapa kali.
Berikut contoh lain dari tipe data char dalam bahasa C:

1
#include <stdio.h>
2

3 int main(void)
4 {
5 char huruf;

6 huruf = 'Z';

7 printf("Huruf yang tersimpan adalah: %c",huruf);

8
printf("\n");
9
return 0;
10
}
11
Dalam contoh ini saya mendefinisikan variabel huruf dengan tipe char, kemudian
diisi dengan karakter ‘Z’ dan ditampilkan dengan perintah printf. Sangat
sederhana.
Untuk contoh kedua, kita akan buat konstanta dengan tipe data char:
1
#include <stdio.h>
2

3 int main(void)
4 {

5 const char huruf = 'a';

6 printf("Huruf yang tersimpan adalah: %c",huruf);

8 printf("\n");

return 0;
9
}
10
Disini huruf berupa sebuah konstanta bertipe char, bukan lagi variabel seperti
sebelumnya. Mengenai perbedaan antara variabel dengan konstanta, sudah
pernah kita bahas dalam beberapa tutorial sebelum ini: Cara Pembuatan
Konstanta dalam Bahasa C, dan Pengertian Variabel dan Cara Penulisan Variabel
Bahasa C.
Sebagai contoh terakhir, saya akan kombinasikan dengan perintah scanf agar
lebih dinamis:
1 #include <stdio.h>

3 int main(void)

{
4
char karakter1, karakter2, karakter3;
5

6
printf("Input 3 karakter sembarang \n");
7
printf("========================== \n");
8
printf("\n");
9

10 printf("Karakter pertama: ");


11 scanf(" %c",&karakter1);

12

13 printf("Karakter kedua: ");

14 scanf(" %c",&karakter2);

15

16 printf("Karakter ketiga: ");

scanf(" %c",&karakter3);
17

18
printf("\n");
19
printf("karakter yang diinput adalah: %c %c %c",
20
karakter1, karakter2, karakter3);
21

22
printf("\n");
23 return 0;
24 }
25
26

Di awal kode program, saya menyiapkan 3 buah variabel bertipe data char.
Ketiga variabel ini bernama karakter1, karakter2 dan karakter3. Isi program akan
meminta inputan dari user untuk 3 karakter tersebut, kemudian
menampilkannya kembali.
Yang juga patut diingat, karakter disini bisa terdiri dari huruf, angka, serta
karakter khusus seperti ?, *, %, #. Jadi tidak masalah jika kita menginput angka
ke dalam tipe data char. Namun angka tersebut tetap harus 1 digit.

Bagaimana dengan karakter yang lebih dari 1 digit, seperti kata atau kalimat? Di
dalam bahasa C, kata atau kalimat (di kenal juga sebagai string) dianggap
sebagai array dari tipe data char. Lebih lanjut akan kita pelajari setelah
membahas tentang tipe data array nanti.

Sampai disini kita sudah membahas tentang pengertian tipe data char serta cara
penggunaan tipe data char di dalam bahasa pemrograman C. Berikutnya akan
dibahas tentang tipe data untuk menampung angka bulat: Pengertian dan
Contoh Kode Program Tipe Data Integer bahasa C.

Tutorial Belajar C Part 16: Pengertian dan Contoh Kode


Program Tipe Data Integer
05 Feb 18 | Andre | Tutorial C | 10 Comments
Tipe data berikutnya yang akan kita pelajari dalam lanjutan tutorial belajar
bahasa pemrograman C di Duniailkom kali ini adalah tipe data integer. Kita akan
bahas pengertian tipe data integer serta contoh kode program untuk tipe data
integer dalam bahasa C.

Pengertian Tipe Integer Bahasa C


Tipe data integer adalah tipe data yang dipakai untuk menampung angka bulat
positif maupun negatif, seperti: 1, 99, dan -463.
Di dalam bahasa C, terdapat beberapa sub-tipe integer yang dibedakan
berdasarkan jangkauan angka yang bisa ditampung. Setidaknya terdapat 4 tipe
data integer di dalam bahasa C:

 char
 short
 int
 long
Loh, bukannya char adalah tipe data untuk karakter? Kenapa juga ada di dalam
integer? Betul, inilah keunikan tipe data char di dalam bahasa C.
Secara internal, char sebenarnya bertipe integer. Untuk membedakan
apakah char ini berisi karakter atau huruf dilakukan pada saat menampilkannya.
Jika di dalam perintah printf menggunakan kode %c, karakter lah yang akan
ditampilkan. Sedangkan jika di dalam perintah printf menggunakan kode %d,
maka akan menampilkan tipe data integer. Kita akan lihat perbedaannya dengan
contoh kode program sesaat lagi.
Tabel berikut merangkum jangkauan setiap tipe data integer dalam bahasa C:
Jenis Tipe Ukuran Memory
Data Penyimpanan Jangkauan

char 1 byte -128 hingga 127

short 2 bytes -32,768 hingga 32,767

int 2 bytes -32,768 hingga 32,767

-2,147,483,648 hingga
int 4 bytes 2,147,483,647

-2,147,483,648 hingga
long 4 bytes 2,147,483,647
Ukuran Memory Penyimpanan adalah jumlah memory yang dibutuhkan untuk
menyimpan angka tersebut. Semakin besar jangkauan, semakin banyak juga
ruang memory yang dibutuhkan.
Khusus untuk tipe data int, bisa terdiri dari 2 byte maupun 4 byte. Ini tergantung
sistem komputer dan compiler bahasa C yang dipakai.
Jangkauan tipe data diatas adalah untuk angka yang bertanda (signed).
Maksudnya, setiap tipe data bisa menampung angka positif dan negatif. Kita
bisa mengorbankan nilai negatif ini untuk memperbesar jangkauan angka positif
dengan menambahkan keyword unsigned sebelum penulisan tipe data.
Jika tipe data integer di-set sebagai unsigned (tidak bertanda), maka tipe data
tersebut tidak bisa menampung angka negatif, namun jatah untuk angka negatif
akan dialihkan kepada angka positif sehingga jangkauannya menjadi 2 kali lipat.
Berikut tabel jangkauan setiap tipe data unsigned integer dalam bahasa C:
Jenis Tipe Data Ukuran Memory Penyimpanan Jangkauan

unsigned char 1 byte 0 hingga 255

unsigned short 2 bytes 0 hingga 65,535

unsigned int 2 bytes 0 hingga 65,535

unsigned int 4 bytes 0 hingga 4,294,967,295

unsigned long 4 bytes 0 hingga 4,294,967,295


Terlihat jangkauan angkanya menjadi lebih besar, tapi tidak bisa menampung
angka negatif. Tipe data unsigned ini cocok untuk data yang tidak pernah negatif,
seperti tinggi badan, berat badan, jumlah orang, dsb.

Contoh Kode Program Tipe Data Integer Bahasa C


Cukup dengan teorinya, mari kita masuk ke contoh praktek. Dalam kode
program berikut ini saya menampilkan ke-4 tipe data integer dalam bahasa C:
1 #include <stdio.h>
2
int main(void)
3 {
4 char angka1;
5 short angka2;
6 int angka3;
7 long angka4;
8
angka1 = 127;
9 angka2 = 32767;
10 angka3 = 2147483647;
11 angka4 = 2147483647;
12
13 printf("Isi variabel angka1 (char): %d \n",angka1);
14 printf("Isi variabel angka2 (short) %d \n",angka2);
printf("Isi variabel angka3 (int): %d \n",angka3);
15 printf("Isi variabel angka4 (long): %d \n",angka4);
16
17 printf("\n");
18 return 0;
}
19
20
21
22

Kode program ini cukup sederhana. Pertama, saya membuat 4


variabel: angka1, angka2, angka3 dan angka4. Setiap variabel di-set dengan tipe
data yang berbeda-beda, dimana variabel angka1 sebagai char,
variabel angka2 sebagai short, variabel angka3 sebagai int, dan
variabel angka4 sebagai long.
Setelah pendefinisian variabel, setiap variabel diisi dengan angka. Angka yang
ada sengaja saya set dengan nilai maksimum untuk setiap tipe data. Terakhir
setiap variabel ditampilkan menggunakan perintah printf.
Khusus untuk char, ini memang cukup unik. Karena fungsinya akan berbeda
tergantung cara menampilkan tipe data ini. Berikut contoh perbedannya:
1
2 #include <stdio.h>
3
4 int main(void)
{
5 char foo = 65;
6 char bar = 'Z';
7
8 printf("Isi variabel foo (char): %d \n",foo);
9 printf("Isi variabel foo (char): %c \n",foo);
10
11 printf("\n");
12
printf("Isi variabel bar (char): %d \n",bar);
13 printf("Isi variabel bar (char): %c \n",bar);
14
15 printf("\n");
16
17 return 0;
18 }
19
Dalam contoh ini saya membuat 2 buah variabel bertipe char: foo dan bar.
Variabel foo diisi angka 65, sedangkan variabel bar diisi dengan karakter ‘Z’.
Hasilnya akan berbeda ketika di dalam perintah printf kita menggunakan
pola %d untuk tipe integer, atau %c untuk tipe data char.
Ketika variabel foo diakses sebagai integer, hasilnya adalah 65. Ini sesuai dengan
nilai awal variabel. Namun ketika variabel foo diakses sebagai char, hasilnya
adalah huruf ‘A’. Dari mana datangnya huruf ‘A’?
Ini berasal dari kode karakter ASCII dimana huruf ‘A’ bernilai desimal 65. Dengan
kata lain, di dalam daftar karakter ASCII, huruf A berada di urutan ke 65.

Hal yang sama juga berlaku untuk variabel bar yang diisi karakter ‘Z’. Ketika
diakses sebagai integer, hasilnya berupa angka 90, karena huruf Z berada di
urutan ke 90 daftar karakter ASCII. Untuk tabel karakter ASCII ini bisa dilihat
ke id.wikipedia.org/wiki/ASCII.

Contoh Kode Program Unsigned Integer C


Kembali ke pembahasan tipe data integer. Bagaimana untuk membuat tipe data
ini sebagai unsigned? Caranya tambahkan keyword unsigned sebelum penulisan
tipe data, seperti contoh berikut:
1 #include <stdio.h>
2
int main(void)
3 {
4 unsigned char angka1;
5 unsigned short angka2;
6 unsigned int angka3;
7 unsigned long angka4;
8
angka1 = 255;
9 angka2 = 65535;
10 angka3 = 4294967295;
11
12
angka4 = 4294967295;
13
14 printf("Isi variabel angka1 (char): %d \n",angka1);
15 printf("Isi variabel angka2 (short) %d \n",angka2);
16 printf("Isi variabel angka3 (int): %d \n",angka3);
17 printf("Isi variabel angka4 (long): %d \n",angka4);
18
printf("\n");
19
return 0;
20 }
21
22

Sekarang, jangkauan setiap tipe data sudah membesar 2 kali lipat dengan
mengorbankan angka negatif. Efek sampingnya, kita tidak bisa lagi menginput
angka negatif ke dalam variabel diatas.

Tipe data char yang sebelumnya hanya bisa sampai angka 127 sekarang bisa
menampung nilai 0 – 255. Begitu juga dengan tipe data unsigned short yang bisa
menampung 0 – 65535.
Tapi kenapa tipe data unsigned int dan unsigned long menghasilkan -1? Ternyata
khusus untuk jenis unsigned, kita tidak bisa menggunakan pola karakter %d, tapi
harus diganti menjadi %u.
Dengan demikian, kode program sebelumnya akan saya modifikasi sebagai
berikut:

1 #include <stdio.h>
2
int main(void)
3 {
4 unsigned char angka1;
5 unsigned short angka2;
6 unsigned int angka3;
7 unsigned long angka4;
8
angka1 = 255;
9
10
11 angka2 = 65535;
angka3 = 4294967295;
12 angka4 = 4294967295;
13
14 printf("Isi variabel angka1 (char): %d \n",angka1);
15 printf("Isi variabel angka2 (short) %d \n",angka2);
16 printf("Isi variabel angka3 (int): %u \n",angka3);
printf("Isi variabel angka4 (long): %u \n",angka4);
17
18
printf("\n");
19 return 0;
20 }
21
22

Perubahannya hanya mengganti pola %d menjadi %u untuk menampilkan


variabel angka3 dan angka4. Yakni variabel untuk tipe data unsigned
int dan unsigned long.
Apa yang terjadi apabila menginput angka diluar batas maksimum? Mari kita
coba:

1 #include <stdio.h>
2
int main(void)
3 {
4 unsigned char angka1;
5 unsigned short angka2;
6 unsigned int angka3;
7 unsigned long angka4;
8
angka1 = 299;
9 angka2 = 65599;
10 angka3 = 4294967299;
11 angka4 = 4294967299;
12
13 printf("Isi variabel angka1 (char): %d \n",angka1);
14 printf("Isi variabel angka2 (short) %d \n",angka2);
printf("Isi variabel angka3 (int): %u \n",angka3);
15
16
17 printf("Isi variabel angka4 (long): %u \n",angka4);
18
printf("\n");
19 return 0;
20 }
21
22

Hasilnya, angka yang tersimpan tidak lagi sesuai.

Batas Minimum dan Maksimum Integer Bahasa C


Sebagai kode program terakhir, saya akan menambah sebuah file header baru,
yakni limits.h. File header ini berisi berbagai konstanta dan fungsi agar kita bisa
melihat berapa sebenarnya nilai maksimum dan minimum dari setiap tipe data.
Berikut contoh penggunaannya:
1 #include <stdio.h>
#include <limits.h>
2
3
int main(void)
4 {
5 printf("Ukuran memory untuk tipe data char: %d byte \n", sizeof(char));
6 printf("Ukuran memory untuk tipe data short: %d byte \n",sizeof(short));
7 printf("Ukuran memory untuk tipe data int: %d byte \n", sizeof(int));
printf("Ukuran memory untuk tipe data long: %d byte \n", sizeof(long));
8 printf("\n");
9
10 printf("Nilai minimal tipe data char: %d \n", SCHAR_MIN);
11 printf("Nilai minimal tipe data short: %d \n", SHRT_MIN);
12 printf("Nilai minimal tipe data int: %d \n", INT_MIN);
13 printf("Nilai minimal tipe data long: %d \n", LONG_MIN);
printf("\n");
14
15 printf("Nilai maksimal tipe data char: %d \n", SCHAR_MAX);
16 printf("Nilai maksimal tipe data short: %d \n", SHRT_MAX);
17 printf("Nilai maksimal tipe data int: %d \n", INT_MAX);
18
19
20 printf("Nilai maksimal tipe data long: %d \n", LONG_MAX);
21
printf("\n");
22 return 0;
23 }
24
25

Perhatikan tambahan perintah #include <limits.h> di baris kedua. Inilah cara kita
menambahkan fungsi-fungsi baru ke dalam kode program C.
Dengan tambahan perintah ini, saya bisa menggunakan fungsi sizeof() untuk
melihat berapa jumlah memory yang dipakai untuk setiap tipe data, serta
mengakses konstanta seperti SCHAR_MIN untuk melihat nilai minimum dari
tipe data char, serta SCHAR_MAX untuk melihat nilai maksimum tipe data char.
Begitu juga dengan tipe data integer lainnya.

Dalam tutorial kali ini kita telah membahas pengertian tipe data integer, melihat
4 jenis tipe data integer bahasa C, serta menjalankan beberapa contoh kode
program untuk tipe data integer bahasa pemrograman C.
Tipe data integer hanya bisa dipakai untuk menampung angka bulat. Bagaimana
dengan angka pecahan? Kita akan bahas dalam tutorial selanjutnya: Pengertian
dan Contoh Kode Program Tipe Data Float Bahasa C.

Tutorial Belajar C Part 17: Pengertian dan Contoh Kode


Program Tipe Data Float
08 Feb 18 | Andre | Tutorial C | 10 Comments

Tipe data float adalah tipe data untuk angka pecahan. Dalam tutorial belajar
bahasa pemrograman C di Duniailkom kali ini kita akan bahas tentang
pengertian, jenis-jenis serta contoh kode program untuk tipe data float dalam
bahasa C.

Pengertian Tipe Data Float Bahasa C


Tipe data float digunakan untuk menampung angka pecahan seperti 3.14, 62.22
atau -0.01234. Sama seperti bahasa pemrograman pada umumnya, kita
menggunakan tanda titik sebagai pemisah angka bulat dan pecahan, bukan
tanda koma seperti yang kita pakai sehari-hari.
Di dalam bahasa C, selain float juga terdapat tipe data double yang juga bisa
dipakai untuk menyimpan angka pecahan. Perbedaan
antara float dan double terletak dari jangkauan angka serta tingkat ketelitian
angka.
Berikut tabel perbedaan antara tipe data float dan double dalam bahasa C:
Jenis Tipe DataUkuran MemoryJangkauan Ketelitian

float 4 byte 1.2E-38 hingga 3.4E+38 6 tempat desimal

double 8 byte 2.3E-308 hingga 1.7E+30815 tempat desimal

Sebenarnya masih ada 1 lagi jenis tipe data untuk angka pecahan, yakni long
double dengan jangkauan yang lebih besar dari double. Namun tidak semua
compiler bahasa C mendukung tipe data ini.
Penulisan angka pecahan juga bisa menggunakan notasi ilmiah, seperti 3.12e2
atau 4E-3. Tanda e atau E mewakili pangkat 10, sehingga 3.12e2 = 3.12 x 10^2 =
312. Sedangkan 4E-3 = 4 x 10^-3 = 0.004.

Meskipun tipe data float bisa menyimpan angka yang sangat besar, tapi tipe
data ini memiliki kelemahan yang umum di setiap bahasa pemrograman (tidak
bahasa C saja). Yakni terdapat batas tingkat ketelitian. Hal ini berhubungan
dengan mekanisme penyimpanan di dalam komputer yang berupa angka biner.
Kita akan lihat contohnya beberapa saat lagi.
Contoh Kode Program Tipe Data Float Bahasa C
Sebagai contoh kode program pertama, saya akan membuat 2 buah variabel
bertipe float dan double, menginput angka, lalu menampilkannya:

1
#include <stdio.h>
2

3
int main(void)
4
{
5 float angka1;
6 double angka2;

8 angka1 = 4.323;

9 angka2 = 0.0067;

10

11 printf("Isi variabel angka1 (float): %f \n",angka1);

printf("Isi variabel angka2 (double) %f \n",angka2);


12

13
printf("\n");
14
return 0;
15
}
16
Untuk menampilkan angka float, kita menggunakan kode %f di dalam perintah
printf.

Berikutnya, saya akan input angka dengan penulisan notasi ilmiah:

1
#include <stdio.h>
2

3
int main(void)
4 {
5 float angka1 = 9.13e5;

6 double angka2 = 3.99E-4;

8 printf("Isi variabel angka1 (float): %f \n",angka1);

9 printf("Isi variabel angka2 (double) %f \n",angka2);

10
printf("\n");
11
return 0;
12
}
13

Dari kedua contoh diatas, kita bisa lihat bahwa secara default bahasa C
menampilkan angka desimal dengan 6 angka di belakang koma. Maksudnya, jika
yang ditulis adalah 4.323, maka yang ditampilkan menjadi 4.323000. Bagaimana
mengubah tampilan ini? Misalnya jika kita ingin 2 angka di belakang koma?

Kita bisa mengaturnya dengan menulis format tampilan data float.


Mengatur Format Tampilan Tipe Data Float
Perintah printf memiliki aturan khusus untuk menampilkan angka pecahan, yang
salah satunya bisa dipakai untuk mengatur jumlah angka di belakang koma.
Berikut format penulisan yang dimaksud:
1 %(0)(jumlah total digit).(jumlah angka di belakang koma)%f

Kode yang ada di dalam tanda kurung bersifat opsional dan boleh tidak ditulis.
Mari kita lihat prakteknya menggunakan contoh kode program:

1
#include <stdio.h>
2

3
int main(void)
4
{
5
float angka1 = 1234.5678;
6

7 printf("Isi variabel angka1: %f \n",angka1);


8 printf("Isi variabel angka1: %15f \n",angka1);

9 printf("Isi variabel angka1: %015f \n",angka1);

10 printf("Isi variabel angka1: %.3f \n",angka1);

11 printf("Isi variabel angka1: %010.3f \n",angka1);

12
printf("Isi variabel angka1: %e \n",angka1);
13
printf("Isi variabel angka1: %E \n",angka1);
14

15
printf("\n");
16
return 0;
17
}
18
Di awal kode program saya mendefinisikan variabel angka1 sebagai float dan diisi
dengan angka 1234.5678.
Dalam perintah printf pertama, terlihat bahwa angka1 berisi 1234.567749. Loh,
kenapa berbeda? inilah salah satu kelemahan dari tipe data float, yakni tidak
bisa secara persis menyimpan angka. Kesalahan pembulatan ini umum di setiap
bahasa pemrograman yang berasal dari mekanisme konversi angka di dalam
komputer (digit biner).
Untuk perintah printf kedua, saya menggunakan pola %15f. Pola ini akan
menampilkan angka pecahan dengan 15 digit (termasuk karakter titik). Karena
variabel angka1 tersimpan sebagai 1234.567749 (total 11 digit), maka akan
ditambah 4 spasi sebelum angka agar total menjadi 15 digit.
Untuk perintah printf ketiga, saya menggunakan pola %015f. Pola ini juga akan
menampilkan angka pecahan dengan 15 digit, namun 4 spasi sebelumnya akan
diganti dengan angka 0.
Perintah printf keempat, saya menggunakan pola %.3f. Pola ini akan
menampilkan angka pecahan dengan 3 digit di belakang koma.
Perintah printf kelima, saya menggunakan pola %010.3f. Pola ini akan
menampilkan angka pecahan dengan 3 digit di belakang koma. Selain itu angka
akan ditampilkan dengan jumlah total 10 digit. Jika kurang, akan ditambah
dengan angka 0 di sisi kiri angka bulat.
Dua perintah printf terakhir menggunakan pola %e dan %E. Ini dipakai untuk
menampilkan angka dalam format notasi ilmiah, yakni 8.012457e+003 dan
8.012457E+003. Perbedaannya hanya menggunakan huruf e kecil atau E besar.

Batas Minimum dan Maksimum Float Bahasa C


Sebagai penutup tutorial tentang tipe data float di dalam bahasa C, kita akan
akses file header float.h yang berisi berbagai konstanta untuk melihat ukuran
memory, nilai minimum, nilai maksimum serta jumlah digit ketelitian dari tipe
data float:
1

2 #include <stdio.h>

#include <float.h>
3

4
int main(void)
5
{
6
printf("Ukuran memory untuk tipe data float: %d byte \n", sizeof(float));
7
printf("Ukuran memory untuk tipe data double: %d byte \n",sizeof(double));
8 printf("\n");
9

10 printf("Nilai minimal tipe data float: %E \n", FLT_MIN);

11 printf("Nilai maksimal tipe data float: %E \n", FLT_MAX);

12 printf("\n");

13

14 printf("Nilai minimal tipe data double: %E \n", DBL_MIN);

printf("Nilai maksimal tipe data double: %E \n", DBL_MAX);


15
printf("\n");
16

17
printf("Ketelitian float: %d digit\n", FLT_DIG );
18
printf("Ketelitian double: %d digit\n", DBL_DIG );
19

20
printf("\n");
21 return 0;
22 }

23
Dengan kode program ini, kita bisa melihat informasi seputar tipe data float.

Dalam tutorial belajar bahasa C di Duniailkom kali ini kita sudah membahas
banyak hal terkait tipe data float, mulai dari pengertian, jenis tipe data float,
serta berbagai contoh kode program. Berikutnya akan dibahas
tentang Pengertian Array dan Contoh Kode Program Tipe Data Array dalam
bahasa C.

Tutorial Belajar C Part 18: Pengertian dan Contoh Kode


Program Tipe Data Array
20 Feb 18 | Andre | Tutorial C | 2 Comments

Melanjutkan tutorial belajar bahasa C di Duniailkom, kali ini kita akan


melihat pengertian dari tipe data array dalam bahasa C serta contoh kode
program penggunaannya.

Pengertian Tipe Data Array


Tipe data array adalah tipe data yang terdiri dari kumpulan tipe data lain. Dalam
bahasa Indonesia, array dikenal juga dengan istilah Larik. Dengan array, proses
penyimpanan data ke dalam variabel menjadi lebih efisien dan mudah,
terutama jika kita memiliki data dalam jumlah banyak.
Anggota atau isi dari array itu sendiri harus satu jenis tipe data, misalkan terdiri
dari kumpulan angka bulat saja (integer), kumpulan karakter saja (char), maupun
kumpulan angka pecahan saja (float). Di dalam bahasa C, kita tidak bisa
membuat 1 array dengan berbagai tipe data (harus 1 jenis saja).
Sebagai contoh, misalkan saya ingin menyimpan dan memproses 5 buah nilai.
Jika menggunakan variabel biasa, penulisannya bisa seperti ini:

int bilangan1;

int bilangan2;

int bilangan3;

int bilangan4;

int bilangan5;

Data diatas banyak dan berulang untuk 1 tipe data saja, sehingga akan lebih
efisien jika menggunakan array:

int bilangan[5];

Dengan kode program diatas, variabel bilangan akan menjadi sebuah array yang
bisa menampung 5 data bertipe integer.

Format Dasar penulisan Array dalam bahasa C


Format pendefinisian array di dalam bahasa C adalah sebagai berikut:

tipe_data nama_variabel[jumlah_element]

Element adalah sebutan untuk isi atau anggota sebuah array.


Sebagai contoh, jika saya ingin membuat array dengan 100 element yang bisa
diisi dengan tipe data float, pendefinisiannya adalah sebagai berikut:
float bilangan[100];

Berikutnya, bagaimana cara mengakses dan mengisi element array ini? Kita
tinggal menuliskan nomor urut dari element yang akan akan diakses, nomor
urut ini dikenal juga dengan istilah index. Berikut contohnya:
bilangan[5] = 3.14;

Yang harus perlu diperhatikan adalah, nomor urut atau index array dimulai dari 0,
bukan 1. Akibatnya jika kita ingin mengakses element pertama dari
array bilangan, penulisannya adalah bilangan[0]. Untuk bisa mengakses element
ke-100 dari array bilangan, penulisannya adalah bilangan[99].
Index array yang dimulai dari 0 ini hampir selalu menjadi ciri khas di seluruh
bahasa pemrograman modern, termasuk C++, PHP, dan JavaScript.

Contoh Kode Program Tipe Array Bahasa C


Cukup dengan teori, mari kita lihat contoh praktek dari tipe data array dalam
bahasa C.

Sebagai contoh pertama, saya ingin membuat array bilangan dengan 5 element
bertipe data integer, lalu mengisi dan menampilkan nilainya menggunakan
perintah printf:
1
#include <stdio.h>
2

3
int main(void)
4
{
5
int bilangan[5];
6

7
bilangan[0] = 6;
8 bilangan[1] = 9;
9 bilangan[2] = -8;

10 bilangan[3] = 24;

11 bilangan[4] = -99;

12

13 printf("Isi array bilangan pertama: %d \n",bilangan[0]);

printf("Isi array bilangan kedua: %d \n",bilangan[1]);


14
printf("Isi array bilangan ketiga: %d \n",bilangan[2]);
15
printf("Isi array bilangan keempat: %d \n",bilangan[3]);
16
printf("Isi array bilangan kelima: %d \n",bilangan[4]);
17

18
return 0;
19 }
20
Di awal kode program, baris int bilangan[5] dipakai untuk membuat sebuah array
bernama bilangan dengan 5 element atau 5 anggota. Array bilangan ini di set
sebagai int, yang artinya setiap element array hanya bisa diisi dengan bilangan
bulat (integer).
Setelah pendefinisian array bilangan, selanjutnya saya mengisi setiap element
array dengan angka. Kembali diingat bahwa index array dimulai dari 0, sehingga
untuk mengakses element pertama dari array bilangan, penulisannya
adalah bilangan[0].
Di akhir program, saya menampilkan seluruh element array menggunakan
perintah printf.
Dalam contoh diatas, pengisian nilai array diproses satu persatu. Namun kita
juga bisa mengisi element array langsung pada saat pendefinisiannya, seperti
contoh berikut:

1 #include <stdio.h>

3 int main(void)

{
4
int bilangan[5] = {6, 9, -8, 24, -99};
5

6
printf("Isi array bilangan pertama: %d \n",bilangan[0]);
7
printf("Isi array bilangan kedua: %d \n",bilangan[1]);
8
printf("Isi array bilangan ketika: %d \n",bilangan[2]);
9 printf("Isi array bilangan keempat: %d \n",bilangan[3]);
10 printf("Isi array bilangan kelima: %d \n",bilangan[4]);

11
12
return 0;
13
}
14

Kali ini, semua isi array diinput sekaligus pada saat pembuatan, yakni dengan
perintah int bilangan[5] = {6, 9, -8, 24, -99}. Tanda koma dipakai sebagai pemisah
antara satu nilai dengan nilai lain.
Hasil kode program diatas akan sama persis seperti contoh kode program
pertama.

Yang cukup unik, kita juga bisa mendefiniskan array tanpa harus menulis jumlah
elemen anggotanya, seperti contoh berikut:

1
#include <stdio.h>
2

3 int main(void)
4 {
5 char kumpulan_huruf[] = {'a','C','x'};

7 printf("Isi array kumpulan_huruf: ");

8 printf("%c, %c, %c \n",kumpulan_huruf[0],kumpulan_huruf[1],

kumpulan_huruf[2]);
9

10
return 0;
11
}
12

Perhatikan cara pendefinisian array ini, yakni:

char kumpulan_huruf[] = {'a','C','x'};


Disini saya tidak menginput angka apapun sebagai penentu jumlah element.
Jumlah element akan digenerate secara otomatis dari banyaknya nilai yang
diinput ke dalam array tersebut. Dalam contoh ini terdapat 3 nilai sehingga
array kumpulan_huruf akan berisi 3 element.
Pendefinisian array seperti ini hanya bisa dibuat jika nilai untuk element array
langsung ditulis pada saat pendefinisian. Kita tidak bisa menggunakan cara
diatas jika element array diisi secara terpisah, seperti contoh kode program
pertama dalam tutorial ini.

Isi dari element array sama halnya seperti variabel biasa, dimana kita bisa
mengubah nilai element array sepanjang program, seperti contoh berikut:

1
#include <stdio.h>
2

3
int main(void)
4
{
5 float pecahan[] = {3.14,-99.01,0.002};
6

7 printf("Isi array pecahan: ");


8 printf("%.3f, %.3f, %.3f \n",pecahan[0],pecahan[1],pecahan[2]);

9 printf(" \n");

10

11 pecahan[1] = 9.123;

pecahan[2] = 12.9925;
12

13
printf("Isi array pecahan: ");
14
printf("%.3f, %.3f, %.3f \n",pecahan[0],pecahan[1],pecahan[2]);
15

16
return 0;
17
}
18
Setelah proses pendefinisian dan pengisian awal array pecahan, di tengah kode
program saya mengubah nilai dari pecahan[1] dan pecahan[2], akibatnya nilai
element array sebelumnya akan tertimpa dengan nilai baru ini.

Array merupakan sebuah konsep yang sangat menarik, karena kita bisa
menyimpan banyak nilai ke dalam 1 variabel saja.

Tidak berhenti sampai disini, array juga bisa dipakai untuk menampung nilai
dalam bentuk 2 dimensi atau lebih, dan inilah yang akan kita bahas dalam
tutorial selanjutnya: Pengertian Array 2 Dimensi dan contoh kode programnya
dalam bahasa C.

Tutorial Belajar C Part 19: Pengertian Array 2 Dimensi


22 Feb 18 | Andre | Tutorial C | 23 Comments

Dalam tutorial sebelumnya kita telah membahas pengertian dan contoh kode
program dari tipe data array dalam bahasa C. Untuk mengolah data yang lebih
kompleks, array ini bisa dibuat menjadi 2 dimensi atau lebih. Inilah yang akan
kita bahas dalam tutorial belajar bahasa pemrograman C di Duniailkom kali ini.

Pengertian Array 2 Dimensi


Array dua dimensi adalah sebutan untuk array yang penomoran index-nya
menggunakan 2 buah angka. Analogi yang sering dipakai seperti titik koordinat
dalam diagram kartesius.
Diagram kartesius merupakan diagram yang biasa kita pakai untuk membuat
grafik. Disini terdapat sumbu X dan sumbu Y. Sebuah titik dalam diagram
kartesius ini harus disebut secara berpasangan, seperti (2,3) atau (-3, 1).

Contoh bentuk diagram kartesius (sumber – wikipedia)


Analogi lain adalah matriks. Dalam matematika, matrik terdiri dari kolom dan
baris. Kembali, untuk menentukan nilai dari sebuah matriks, kita harus sebut
secara berpasangan seperti baris 1 kolom 2, atau baris 3 kolom 1. Konsep
seperti inilah yang menjadi dasar dari array 2 dimensi.
Untuk membuat array 2 dimensi di dalam bahasa C, kita membuat 2 kali tanda
kurung siku setelah nama variabel, seperti contoh berikut:

int bilangan[2][2];

Baris diatas akan membuat array 2 dimensi dengan nama variabel: bilangan.
Variabel bilangan ini akan berisi 4 element (2 x 2). Atau jika diibaratkan sebagai
matriks, disini kita membuat matriks 2 x 2.
Untuk mengakses setiap element array, penulisan index juga harus ditulis 2 kali,
seperti contoh berikut:

bilangan[0][0] = 100;

bilangan[0][1] = 101;

bilangan[1][0] = 110;

bilangan[1][1] = 111;

Kita akan lihat contoh praktek dari array 2 dimensi ini sesaat lagi.
Contoh Kode Program Array 2 Dimensi Bahasa C
Berikut contoh kode program pertama dari pembuatan array 2 dimensi di dalam
bahasa C:

1
#include <stdio.h>
2

3
int main(void)
4
{
5 int bilangan[2][2];
6

7 bilangan[0][0] = 100;
8 bilangan[0][1] = 101;

9 bilangan[1][0] = 110;

10 bilangan[1][1] = 111;

11
printf("Isi array bilangan: \n");
12
printf("%d, %d \n",bilangan[0][0],bilangan[0][1]);
13
printf("%d, %d \n",bilangan[1][0],bilangan[1][1]);
14

15
return 0;
16
}
17
Di awal kode program, saya membuat array bilangan dengan perintah int
bilangan[2][2];. Artinya, array bilangan adalah sebuah array 2 dimensi dengan 4
element. Proses pengisian setiap element array dilakukan setelahnya, kemudian
ditampilkan dengan perintah printf.
Pengisian element array 2 dimensi juga bisa dilakukan pada saat array itu di
definisikan, seperti contoh berikut:

1
#include <stdio.h>
2

3 int main(void)
4 {
5 int matrix[2][3] = {{1,2,3},{7,8,9}};

7 printf("Isi array matrix: \n");

8 printf("%d %d %d \n", matrix[0][0], matrix[0][1], matrix[0][2]);

printf("%d %d %d \n", matrix[1][0], matrix[1][1], matrix[1][2]);


9

10
return 0;
11
}
12

Kali ini saya membuat sebuah array matrix dengan perintah int matrix[2][3] =
{{1,2,3},{7,8,9}};. Perintah ini akan membuat array 2 dimensi dengan total 6
element (hasil dari 2*3). Selain itu proses pengisian nilai juga dilakukan langsung
pada saat pendefinisian array.
Tanda kurung kurawal sebagai pemisah nilai array bersifat opsional dan boleh
tidak ditulis. Saya juga bisa mengisi array tersebut dengan perintah berikut:
int matrix[2][3] = {1,2,3,7,8,9};

Hanya saja penggunaan tanda kurung kurawal akan mempermudah peletakan


posisi dari setiap element array.

Pengertian Array Multi Dimensi


Tidak cukup dengan array 2 dimensi, kita juga bisa membuat array 3
dimensi bahkan lebih. Contoh penggunaan dari array 3 dimensi adalah seperti
diagram kartesius 3 dimensi (dimensi ruang) yang butuh
sumbu x (lebar), y (tinggi), dan z (kedalaman).
Cara pembuatan array 3 dimensi cukup mudah, kita tinggal menulis 3 kali tanda
kurung siku setelah penulisan nama array:

int matrix[2][3][4]

Bagaimana dengan array 4 dimensi? Tidak masalah:

int matrix[2][3][4][5]

Kompleksitas array akan menjadi bertingkat jika sudah menggunakan multi


dimensi. Sebagai contoh, baris diatas akan membuat sebuah array 4 dimensi
yang beranggotakan 120 element!

Contoh Kode Program Array 3 Dimensi Bahasa C


Sebagai contoh dari konsep array multi dimensi, saya akan membuat sebuah
array 3 dimensi. Berikut contoh kode programnya:

1 #include <stdio.h>

3 int main(void)

{
4
int matrix[2][3][4] =
5
{
6
{ {7, 4, 12, 3}, {-9, 29, 3, 11}, {6, 34, 23, 20} },
7
{ {6, 15, 1, 5}, {17, 8, -3, 15}, {99, -1, 44, 9} }
8 };
9
10

11 printf("Isi matrix[0][0][0]: %d \n",matrix[0][0][0]);


12 printf("Isi matrix[0][1][0]: %d \n",matrix[0][1][0]);

13 printf("Isi matrix[1][1][3]: %d \n",matrix[1][1][3]);

14 printf("Isi matrix[1][2][3]: %d \n",matrix[1][2][3]);

15

16 return 0;

}
17

Disini saya membuat array matriks 3 dimensi dengan perintah int matrix[2][3][4],
artinya array ini akan menampung 2*3*4 = 24 element, mulai dari element [0][0]
[0], [0][0][1], [0][0][2] hingga [1][2][3]. Ingat, penulisan nomor index dimulai dari 0.
Karena jumlah element array ini cukup banyak, saya hanya menampilkan
beberapa nilai saja menggunakan perintah printf. Meskipun begitu saya yakin
anda bisa menampilkan seluruh nilai element array ini. Caranya, cukup dengan
mengubah nomor index.

Array 2 dimensi dalam bentuk matriks sangat sering dipakai untuk latihan logika.
Soal-soal olimpiade komputer tidak jarang menggunakan array 2 dimensi seperti
ini, dimana kita disuruh untuk menebak berapa hasil akhir array setelah
serangkaian proses tertentu.

Selanjutnya, kita akan bahas tipe data String dalam bahasa C, yang tidak lain
adalah array dari tipe data char.
Tutorial Belajar C Part 20: Pengertian dan Contoh Kode
Program Tipe Data String
05 Oct 18 | Andre | Tutorial C | 9 Comments

Kali ini kita akan lanjut membahas tipe data String dalam bahasa pemrograman
C, yakni tentang Pengertian dan Contoh Kode Program Tipe Data String.

Pengertian Tipe Data String dalam Bahasa C


Pengertian umum di bidang programming, string adalah tipe data yang
menampung kumpulan karakter, seperti “aku”, “kamu” atau “Duniailkom”.
Sebuah kalimat juga terhitung sebagai tipe data string, seperti “Saya sedang
belajar bahasa C di Duniailkom”.
Di dalam bahasa pemrograman yang lebih modern, string biasanya menjadi tipe
data bawaan. Misalnya di bahasa PHP atau JavaScript, tipe string langsung
tersedia sebagaimana tipe data lain seperti integer, float atau char.
Namun bahasa pemrograman C tidak memiliki tipe data string secara langsung.
String di dalam bahasa C adalah array dari tipe data char.

Cara Penggunaan Tipe Data String bahasa C


Karena string tidak lain adalah array dari char, maka cara pembuatan tipe data
string dalam bahasa C juga sama seperti cara pembuatan array. Berikut
contohnya:

1 #include <stdio.h>
2

3 int main(void)
4 {

5 char foo[8] = {'b','e','l','a','j','a','r','\0'};

6 printf("Isi variabel foo adalah %s \n", foo);

7
return 0;
8
}
9
Di baris 5 saya membuat array foo yang bisa berisi 8 element, isi array foo ini
berupa 8 buah tipe data char, yakni huruf ‘b’, ‘e’, ‘l’, ‘a’, ‘j’, ‘a’, ‘r’, dan ‘\0’. Ini
dipakai untuk membuat sebuah string “belajar”.
Nanti dulu, kenapa ada tambahan ‘\0’ di bagian akhir?
Ini adalah salah satu syarat pembuatan string di dalam bahasa C. Semua string
harus memiliki karakter “khusus” untuk menandakan akhir dari string. Tanda ‘\
0’ mewakili karakter null yang dipakai oleh compiler bahasa C sebagai tanda
akhir sebuah string.
Karena alasan ini pula saya harus membuat array foo sebagai foo[8], yakni
sebuah array dengan 8 element, meskipun “belajar” hanya terdiri dari 7 karakter,
bukan 8.
Ketika di tampilkan dengan perintah printf di baris 6, tipe data string memiliki
kode tersendiri, yakni %s.
Bagaimana jika ternyata array foo di set dengan ukuran yang lebih kecil daripada
yang seharusnya? Mari kita coba:
1 #include <stdio.h>
2

3 int main(void)
4 {

5 char foo[5] = {'b','e','l','a','j','a','r','\0'};

6 printf("Isi variabel foo adalah %s \n", foo);

7
return 0;
8
}
9
Hasilnya variabel foo berisi string “belaj$”, tanda $ di sini menandakan bahwa
ada sesuatu yang salah. Selain itu di bagian bawah Code::Block tampil pesan
peringatan: “warning: excess elements in array initializer”, yup ini karena array kita
tidak bisa menampung semua karakter.
Karena string pada dasarnya sebuah array, kita bisa akses setiap element string
sebagaimana layaknya sebuah array:

1
#include <stdio.h>
2

3
int main(void)
4 {
5 char foo[8] = {'b','e','l','a','j','a','r','\0'};

7 printf("Isi variabel foo[0] adalah %c \n", foo[0]);

8 printf("Isi variabel foo[5] adalah %c \n", foo[5]);

9 printf("Isi variabel foo[7] adalah %c \n", foo[6]);

printf("Isi variabel foo[8] adalah %c \n", foo[7]);


10

11
return 0;
12
}
13

Hasil kode program:

Isi variabel foo[0] adalah b

Isi variabel foo[5] adalah a

Isi variabel foo[7] adalah r

Isi variabel foo[8] adalah


Khusus untuk foo[8] tidak ada karakter yang tampil karena ‘\0’ atau
karakter null yang secara prinsip berarti “kosong” atau “tidak ada”.
Alternatif lain dari penulisan string adalah dengan menulisnya dalam tanda
kutip dua, seperti contoh berikut:

1 #include <stdio.h>
2

3 int main(void)
4 {

5 char foo[11] = "Duniailkom";

7 printf("Selamat datang di %s \n", foo);

8
return 0;
9
}
10

Hasil kode program:

Selamat datang di Duniailkom

Jika ditulis seperti ini, kita tidak perlu menambah karakter null atau ‘\0’ di akhir
string. String “Duniailkom” terdiri dari 10 karakter, tapi saya tetap harus
membuat variabel foo[11] karena karakter null akan ditambahkan secara
otomatis sebagai karakter ke-11.
Lebih jauh lagi, jumlah element array pun sebenarnya boleh tidak ditulis:

1
#include <stdio.h>
2

3 int main(void)
4 {

5 char foo[] = "Belajar C di Duniailkom";

7 printf("Selamat datang di %s \n", foo);

8 printf("Panjang string adalah %d \n", sizeof(foo));

return 0;
9
}
10
Secara otomatis compiler bahasa C akan mengisi jumlah element
array foo sesuai dengan jumlah karakter string, ditambah 1 untuk karakter null.
Di baris 8 saya menggunakan operator sizeof untuk mencari ukuran string foo,
hasilnya “Panjang string adalah 24”, yakni total string “Belajar C di Duniailkom”
sebanyak 23 karakter + 1 karakter null.

Dalam tutorial kali ini kita telah membahas pengertian dan cara penggunaan
tipe data string dalam bahasa C, atau lebih tepat disebut sebagai array of
char (array dari tipe data char).
Berikutnya saya masih ingin membahas tipe data string ini, yakni cara membaca
dan menampilkan tipe data string menggunakan perintah scanf dan gets.

Tutorial Belajar C Part 21: Cara Membaca String dengan


scanf dan gets
06 Oct 18 | Andre | Tutorial C | 6 Comments

Dalam tutorial sebelumnya, kita telah membahas pengertian dan cara penulisan
tipe data string dalam bahasa C. Karena tipe data string ini cukup sering dipakai,
saya akan bahas sedikit tentang Cara Membaca String dengan scanf dan
gets karena ada perbedaan yang cukup penting.

Membaca String dengan scanf


Di awal tutorial belajar bahasa C di duniailkom ini, kita pernah membahas
tentang perintah scanf yang dipakai untuk meminta input dari user. Berikut
contohnya:
1 #include <stdio.h>
2

3
int main(void)
4
{
5 int harga;
6

7 printf("Masukkan harga barang: ");

8 scanf("%d",&harga);

10 printf("\n");

11 printf("Harga barang adalah: %d", harga);

printf("\n");
12

13
return 0;
14
}
15

Cara yang sama juga bisa dipakai untuk tipe data string, seperti contoh berikut:
1 #include <stdio.h>

3 int main(void)

{
4
char nama[20];
5
printf("Input nama: ");
6
scanf("%s",nama);
7

8
printf("\n");
9
printf("Selamat belajar %s \n", nama);
10
return 0;
11 }
12

Di baris 5 saya mendefinisikan sebuah variabel nama sebagai char nama[20].


Artinya, variabel nama bisa menampung 19 karakter (ingat, 1 karakter lagi
menjadi jatah untuk null).
Di baris 7, perintah scanf dipakai untuk menerima inputan dari user. Inputan ini
kemudian disimpan ke dalam variabel nama yang selanjutnya ditampilkan
kembali dengan perintah printf di baris 10.
Meskipun nama “Andika” yang saya input tidak persis 19 karakter, ini tidak
menjadi masalah selama panjang inputan tetap kurang dari 19 karakter.
Perhatikan juga bahwa di sini perintah scanf tidak butuh tanda ‘&’ sebagaimana
tipe data dasar seperti int, float dan char. Tanda ‘&’ merujuk ke pointer yang berisi
alamat memory dari variabel tersebut. Namun karena variabel nama
adalah array of char, pointer ini tidak diperlukan.
Mari kita coba input dengan nama yang terdiri dari 2 kata:
Loh, apa yang terjadi? Kenapa kata “Putra” tidak terbaca?
Inilah keterbatasan dari perintah scanf ketika dipakai untuk membaca string.
Pada saat scanf memproses karakter whitespace seperti spasi atau tab, proses
pembacaan berhenti sampai di sana. Akibatnya, kata “Putra” tidak terbaca.
Untuk mengatasi masalah ini, kita bisa menggunakan fungsi gets.

Membaca String dengan gets


Gets adalah sebuah fungsi atau function di dalam bahasa C yang dipakai untuk
membaca inputan user. Penggunaannya lebih sederhana daripada scanf, seperti
contoh berikut:
1
#include <stdio.h>
2

3
int main(void)
4 {
5 char nama[20];

6 printf("Input nama: ");

7 gets(nama);

9 printf("\n");

printf("Selamat belajar %s \n", nama);


10
return 0;
11
}
12

Di baris 6, terdapat perintah gets(nama), di sini user akan diminta untuk


menginput sesuatu untuk disimpan ke dalam variabel nama.
Mari kita coba nama yang sama, yakni “Andika Putra”:
Siip, sekarang sudah tidak ada masalah. Fungsi gets bisa membaca seluruh
string, termasuk spasi sampai di tekan tombol Enter.

Dalam contoh kasus ini kita bisa melihat batasan dari perintah scanf. Untuk
pembacaan tipe data string, sebaiknya gunakan fungsi gets daripada scanf.
Berikutnya, kita masih membahas seputar string dalam bahasa C, yakni Cara
Mengubah Isi String dengan Fungsi strcpy.

Tutorial Belajar C Part 22: Cara Mengubah Isi String


dengan Fungsi strcpy
14 Oct 18 | Andre | Tutorial C | 2 Comments

Tutorial bahasa C kali ini masih membahas tentang string. Jika sebelumnya kita
mempelajari cara pembacaan string yang tidak cukup dengan
perintah scanf saja, kali ini akan dibahas tentang cara mengubah isi string yang
juga butuh perlakuan khusus.

Error Pada Saat Mengubah Isi String


Dalam beberapa tutorial sebelumnya, kita secara langsung mengisi string pada
saat proses deklarasi atau menggunakan perintah scanf / gets. Misalnya: char
nama[20]= “Andika Putra”.
Tapi ketika isi string diisi setelah di deklarasikan, akan terjadi error. Berikut
contohnya:

1 #include <stdio.h>

2
3 int main(void)
4 {
5 char nama[20];

6 nama = "Andika Putra";

8 printf("Selamat belajar %s \n", nama);

return 0;
9
}
10

Hasil kode program:

error: assignment to expression with array type

Error di atas terjadi karena di dalam bahasa C kita tidak bisa langsung
mengubah isi array. Operasi pemberian nilai nama = “Andika Putra” tidak bisa
dipakai. Solusinya, harus menggunakan function strcpy.

Cara penggunaan function strcpy


Perintah strcpy bisa dipakai untuk memcopy sebuah string ke dalam string lain,
atau sebuah string ke dalam variabel. Dalam bahasa C, strcpy adalah sebuah
fungsi atau function.
Menggunakan fungsi strcpy, contoh sebelumnya bisa diubah menjadi sebagai
berikut:
1
#include <stdio.h>
2

3 int main(void)
4 {

5 char nama[20];

6 strcpy(nama, "Andika Putra");

8 printf("Selamat belajar %s \n", nama);

return 0;
9
}
10

Hasil kode program:

Selamat belajar Andika Putra

Sekarang proses pemberian nilai baru ke dalam variabel nama sudah berhasil.
Fungsi strcpy butuh 2 buah “nilai” atau dalam istilah programming butuh 2 buah
“argumen“. Argumen ini ditulis dalam tanda kurung. Perintah strcpy(nama, “Andika
Putra”) artinya copy string “Andika Putra” ke dalam variabel nama.
Proses pertukaran nilai string ini juga bisa dilakukan beberapa kali, seperti
contoh berikut:

1 #include <stdio.h>

3 int main(void)

{
4
char nama[20];
5

6
strcpy(nama, "Andika Putra");
7
printf("Selamat belajar %s \n", nama);
8

9
strcpy(nama, "Alex Firmansyah");
10
11 printf("Selamat belajar %s \n", nama);
12

13 strcpy(nama, "Fany Ramadhani");

14 printf("Selamat belajar %s \n", nama);

15

16 return 0;

}
17

Di sini saya mengubah nilai variabel nama sebanyak 3 kali menggunakan


function strcpy, kemudian menampilkannya menggunakan perintah printf.
Sedikit catatan, meskipun kita tidak bisa mengubah nilai string secara langsung,
tapi setiap element array bisa diubah seperti biasa. Berikut contoh prakteknya:

1
#include <stdio.h>
2

3 int main(void)
4 {
5 char nama[20] = "Andika Putra";

6 printf("Selamat belajar %s \n", nama);

8 nama[0] = 'I';

printf("Selamat belajar %s \n", nama);


9

10
return 0;
11
}
12

Hasil kode program:


Selamat belajar Andika Putra

Selamat belajar Indika Putra

Di baris 8, saya mengubah nilai karakter pertama dari string nama dengan huruf
‘I’, sehingga isi variabel nama berubah menjadi “Indika Putra”. Artinya, kita tetap
bisa mengubah setiap element array nama secara langsung, tapi tidak bisa
mengubah keseluruhan string (harus menggunakan function strcpy).

Dalam lanjutan tutorial belajar bahasa pemrograman C di Duniailkom kali ini kita
telah membahas cara mengubah string dengan fungsi strcpy. Berikutnya akan
dibahas tentang tipe data struct bahasa C.

Tutorial Belajar C Part 23: Pengertian dan Contoh Kode


Program Tipe Data Struct
19 Oct 18 | Andre | Tutorial C | 13 Comments
Bahasa pemrograman C memiliki tipe data yang cukup kompleks, yakni struct.
Dalam lanjutan tutorial belajar bahasa C di Duniailkom kali ini, kita akan bahas
lebih dalam tentang Pengertian Struct dan Contoh Kode Program Tipe Data
Struct bahasa C.

Pengertian Tipe Data Struct


Dalam bahasa C, struct adalah tipe data bentukan yang terdiri dari kumpulan
tipe data lain. Struct mirip seperti array, tapi struct bisa menampung lebih dari 1
jenis tipe data. Jika sebelumnya anda pernah belajar bahasa pemrograman
Pascal, struct dalam bahasa C sangat mirip seperti record di Pascal.
Tipe data struct cocok dipakai untuk menampung data berkelompok. Misalnya
saya ingin membuat biodata siswa. Setiap siswa memiliki data nama, nama
sekolah serta jumlah uang saku. Menggunakan cara biasa, semua data ini bisa
ditampung ke dalam 3 variabel berikut:
1 char nama_siswa01[50] = "Andi Permana Nugroho";
2 char nama_sekolah_siswa01[50] = "SMA 1 Lumut Ijo";
3 unsigned int uang_saku_siswa01 = 10000;
Untuk siswa kedua, tinggal membuat penamaan yang sama,
yakni nama_siswa02, nama_sekolah_siswa02 dan uang_saku_siswa02.
Cara ini tidak salah, namun setiap variabel seolah-olah terpisah satu sama lain.
Satu-satunya yang menghubungkan ketika variabel hanya dari penamaan saja.
Kita juga tidak bisa menggunakan array karena 3 data di atas memiliki tipe data
yang berbeda. Dalam kasus seperti inilah tipe data struct cocok digunakan.
Cara Penggunaan Tipe Data Struct
Tipe data struct adalah tipe data bentukan, dimana kita harus buat dulu seperti
apa isi komponen dari struct, baru kemudian diakses dari kode program utama.
Kita akan bahas dengan contoh kode program berikut ini:

1
2 #include <stdio.h>
3
4 struct Siswa {
5 char nama[50];
6 char sekolah[50];
7 unsigned int uangSaku;
};
8
9
int main(void)
10 {
11 struct Siswa siswa01;
12
13 strcpy(siswa01.nama, "Andi Permana Nugroho");
14 strcpy(siswa01.sekolah, "SMA 1 Lumut Ijo");
siswa01.uangSaku = 10000;
15
16 printf("%s bersekolah di %s ", siswa01.nama, siswa01.sekolah);
17 printf("dengan uang saku %i per hari\n", siswa01.uangSaku);
18
19 return 0;
20 }
21
Hasil Kode Program:

Proses pembuatan tipe data struct ditulis sebelum main(), yang dalam contoh
ada di baris 3 – 7.
Setelah keyword struct, diikuti dengan nama identitas atau nama tipe data yang
kita inginkan. Dalam contoh ini saya membuat tipe data Siswa. Tentu saja anda
bisa menggunakan nama lain.
Sebuah struct terdiri dari berbagai variabel yang ditulis di antara tanda kurung
kurawal. Untuk tipe data struct Siswa, saya membuat
variabel nama, sekolah dan uangSaku. Setiap variabel tetap ditulis tipe data
asalnya.
Perintah di baris 3 – 7 dipakai untuk membuat struktur dasar struct. Agar bisa
digunakan, kita harus membuat variabel baru dengan tipe data Siswa, yakni tipe
data bentukan dari struct.

Masuk kode kode program utama (main), saya mendefinisikan


variabel siswa01 sebagai struct Siswa di baris 11. Sekarang,
variabel siswa01 adalah tipe data bentukan yang terdiri dari 3 element, yakni:
 siswa01.nama
 siswa01.sekolah
 siswa01.uangSaku
Tanda titik dipakai untuk mengakses sub struktur dari siswa01. Semua ini sesuai
dengan pendefinisian struct Siswa.
Proses pengisian data ke dalam variabel siswa01 dilakukan pada baris 13 – 15.
Karena nama dan sekolah adalah string, maka saya harus menggunakan
fungsi strcpy. Sedangkan untuk uangSaku bisa langsung diisi sebagaimana cara
pengisian variabel biasa.
Di bagian akhir kode program, saya menampilkan ketiga data siswa01. Caranya
sama seperti variabel biasa, hanya saja sekarang kita menggunakan
struct Siswa sehingga cara aksesnya adalah siswa01.nama, siswa01.sekolah,
dan siswa01.uangSaku.
Bagaimana jika ada 3 siswa? Tidak masalah, cukup buat variabel siswa01, siswa02,
dan siswa03 sebagai struct Siswa:
1 #include <stdio.h>
2
struct Siswa {
3
4 char nama[50];
5 char sekolah[50];
6 unsigned int uangSaku;
};
7
8 int main(void)
9 {
10 struct Siswa siswa01;
11 struct Siswa siswa02;
struct Siswa siswa03;
12
13
strcpy(siswa01.nama, "Andi Permana");
14 strcpy(siswa01.sekolah, "SMA 1 Lumut Ijo");
15 siswa01.uangSaku = 10000;
16
17 printf("%s bersekolah di %s ", siswa01.nama, siswa01.sekolah);
18 printf("dengan uang saku %i per hari\n", siswa01.uangSaku);
19
strcpy(siswa02.nama, "Lisa Permata Sari");
20
21
22
23 strcpy(siswa02.sekolah, "SMA 1 Biru Langit");
siswa02.uangSaku = 30000;
24
25 printf("%s bersekolah di %s ", siswa02.nama, siswa02.sekolah);
26 printf("dengan uang saku %i per hari\n", siswa02.uangSaku);
27
28 strcpy(siswa03.nama, "Jessica Stephany");
29 strcpy(siswa03.sekolah, "SMA 1 Merah Jambu");
30 siswa03.uangSaku = 75000;
31
printf("%s bersekolah di %s ", siswa03.nama, siswa03.sekolah);
32 printf("dengan uang saku %i per hari\n", siswa03.uangSaku);
33
34 return 0;
35 }
36
37
Hasil kode program:

Andi Permana bersekolah di SMA 1 Lumut Ijo dengan uang saku 10000 per hari
Lisa Permata Sari bersekolah di SMA 1 Biru Langit dengan uang saku 30000 per hari
Jessica Stephany bersekolah di SMA 1 Merah Jambu dengan uang saku 75000 per hari
Kode program diatas memang cukup panjang karena ada 3 data siswa yang
harus diisi. Namun ini hanya pengembangan dari kode program kita
sebelumnya.

Input Tipe Data Struct dengan gets dan scanf


Agar lebih menantang, bagaimana jika proses input data dilakukan secara
interaktif? Yakni meminta user menginput data tersebut.

Berikut kode programnya:

1 #include <stdio.h>
2
struct Siswa {
3 char nama[50];
4 char sekolah[50];
5 unsigned int uangSaku;
6 };
7
8 int main(void)
9 {
struct Siswa siswa01;
10
11 printf("==++ Pendaftaran Siswa Baru ++== \n");
12 printf("\n");
13
14
15
16 printf("Nama: ");
gets(siswa01.nama);
17
18 printf("Sekolah: ");
19 gets(siswa01.sekolah);
20
21 printf("Uang saku: ");
22 scanf("%i",&siswa01.uangSaku);
23
24 printf("Hasil: \n");
25
printf("%s bersekolah di %s ", siswa01.nama, siswa01.sekolah);
26 printf("dengan uang saku %i per hari\n", siswa01.uangSaku);
27
28 return 0;
29 }
30
31
Hasil Kode Program:

Saya masih menggunakan struct Siswa, dan juga variabel siswa01. Bedanya,
proses input dilakukan dari fungsi gets dan scanf.
Ketika program dijalankan, user akan diminta untuk mengisi
data nama, sekolah dan uangSaku. Ketiga data ini akan disimpan ke
dalam siswa01.nama, siswa01.sekolah, dan siswa01.uangSaku.

Dalam tutorial ini kita telah membahas salah satu tipe data bentukan dalam
bahasa C, yakni struct. Berikutnya akan dijelaskan tentang Pengertian Typedef
dan Cara Penggunaan Typedef Struct
Tutorial Belajar C Part 24: Pengertian Typedef dan Cara
Penggunaan Typedef Struct
22 Oct 18 | Andre | Tutorial C | 3 Comments

Kali ini kita tidak membahas tipe data bahasa pemrograman C, tapi perintah
atau keyword typedef serta typedef struct yang sering dipakai pada saat
pendefinisian type data dalam bahasa C.

Pengertian Typedef dalam Bahasa C


Typedef adalah perintah atau keyword bahasa C yang dipakai untuk memberikan
nama lain atau alias dari tipe data.
Sebagai contoh, saya bisa membuat tipe data angkaBulatPositif yang merupakan
alias dari tipe data int unsigned. Atau tipe data angkaPecahan yang merupakan
nama lain dari tipe data float. Nantinya kita juga bisa membuat alias dari tipe
data yang lebih kompleks seperti struct.

Cara Penggunaan Typedef


Perintah typedef ditulis sebelum kode program utama, yakni sebelum main().
Dimana format penulisannya adalah sebagai berikut:
typedef tipeDataAsal namaAlias

Berikut contohnya:

1 #include <stdio.h>

3 typedef unsigned int angkaBulatPositif;

typedef float angkaPecahan;


4

5
int main(void)
6
{
7
angkaBulatPositif a;
8
angkaPecahan b;
9

10 a = 123456;
11
printf("Isi variabel a: %d \n",a);
12

13
b = 23.4513;
14
printf("Isi variabel b: %.2f \n",b);
15

16
return 0;
17 }
18

Di sini saya membuat 2 tipe data alias, yakni angkaBulatPositif sebagai nama lain
dari unsigned int, serta angkaPecahan sebagai nama lain dari float (baris 3 dan 4)
Kedua “tipe data baru” ini dipakai untuk mendefinisikan variabel a dan b di baris
8 – 9. Hasilnya tidak berbeda dengan tipe data asli tersebut.
Anda juga bisa membuat nama alias dari tipe data lain, sekedar supaya
penulisannya lebih singkat atau agar lebih mudah dipahami.

Cara Penggunaan Typedef Struct


Salah satu penggunaan typedef yang banyak dipakai adalah ketika di
kombinasikan dengan struct. Tujuannya juga sama yakni mempersingkat
penulisan.
Sebagai contoh awal, berikut kode program dengan tipe
data struct tanpa typedef :
1 #include <stdio.h>

3 struct Siswa {

4 char nama[50];
5
char sekolah[50];
6
unsigned int uangSaku;
7
};
8

9
int main(void)
10
{
11 struct Siswa siswa01;
12

13 strcpy(siswa01.nama, "Andi Permana Nugroho");

14 strcpy(siswa01.sekolah, "SMA 1 Lumut Ijo");

15 siswa01.uangSaku = 10000;

16
printf("%s bersekolah di %s ", siswa01.nama, siswa01.sekolah);
17
printf("dengan uang saku %i per hari\n", siswa01.uangSaku);
18

19
return 0;
20
}
21

Hasil Kode Program:

Kode program ini sama seperti yang kita pelajari pada tutorial
sebelumnya: Pengertian dan Contoh Kode Program Tipe Data Struct.
Sekarang dengan tambahan perintah typedef, saya bisa tulis seperti ini:
1 #include <stdio.h>

3 struct Siswa {
4
char nama[50];
5
char sekolah[50];
6
unsigned int uangSaku;
7
};
8

9
typedef struct Siswa biodataSiswa;
10

11
int main(void)
12 {
13 biodataSiswa siswa01;

14

15 strcpy(siswa01.nama, "Andi Permana Nugroho");

16 strcpy(siswa01.sekolah, "SMA 1 Lumut Ijo");

17 siswa01.uangSaku = 10000;

18
printf("%s bersekolah di %s ", siswa01.nama, siswa01.sekolah);
19
printf("dengan uang saku %i per hari\n", siswa01.uangSaku);
20

21
return 0;
22
}
23

Tambahannya ada di baris 9. Di sini saya membuat “biodataSiswa” sebagai alias


dari struct Siswa. Sehingga di baris 13 untuk bisa menggunakannya ke dalam
variabel siswa01 saya tinggal menulis biodataSiswa siswa01, tidak perlu lagi
menulis ulang menggunakan keyword struct seperti contoh sebelumnya.
Lebih jauh lagi, typedef dan struct bisa digabung dalam 1 perintah:
1 #include <stdio.h>

3 typedef struct Siswa {

4 char nama[50];

5 char sekolah[50];

6 unsigned int uangSaku;

} biodataSiswa;
7
8

9
int main(void)
10
{
11 biodataSiswa siswa01;
12

13 strcpy(siswa01.nama, "Andi Permana Nugroho");

14 strcpy(siswa01.sekolah, "SMA 1 Lumut Ijo");

15 siswa01.uangSaku = 10000;

16

17 printf("%s bersekolah di %s ", siswa01.nama, siswa01.sekolah);

printf("dengan uang saku %i per hari\n", siswa01.uangSaku);


18

19
return 0;
20
}
21

Perhatikan kode program di baris 3 – 7. Di sini saya


menggabungkan typedef dengan struct. Nama alias biodataSiswa ditempatkan di
bagian akhir (baris 7) setelah pendefinisan struct.

Seperti yang bisa kita lihat, perintah typedef ini tidak lain untuk membuat alias
atau nama lain dari sebuah tipe data. Ini biasa dipakai untuk mempersingkat
penulisan, atau agar tipe data menjadi semakin jelas. Meskipun ini juga bisa
membawa efek negatif karena seseorang yang membaca kode program bisa
saja bingung apa itu tipe data “angkaBulatPositif“, dibandingkan “unsigned int“.
Berikutnya kita akan membahas tentang tipe data Boolean dalam bahasa
pemrograman C.

Tutorial Belajar C Part 25: Tipe Data Boolean dan Cara


Penggunaan Tipe Data Boolean
22 Oct 18 | Andre | Tutorial C | 5 Comments

Lanjutan tutorial bahasa pemrograman C kali ini akan membahas tipe data
Boolean dan cara penggunaan tipe data Boolean dalam bahasa pemrograman
C.
Pengertian Tipe Data Boolean
Tipe data boolean sebenarnya sangat sederhana. Tipe data ini hanya bisa diisi
dengan salah satu dari 2 nilai: TRUE atau FALSE. Tipe data boolean banyak
dipakai dalam percabangan kode program, atau untuk memutuskan apa yang
harus dijalankan pada sebuah kondisi if else.
Sebagai contoh, kita bisa membuat kode program untuk menentukan apakah
sebuah angka genap atau ganjil berdasarkan input dari pengguna. Untuk
keperluan ini kita harus memeriksa apakah angka itu bisa dibagi 2 (untuk angka
genap), atau tidak bisa dibagi 2 (untuk angka ganjil). Tipe data boolean bisa
digunakan untuk menampung kondisi seperti ini, benar atau salah
(True atau False).
Contoh penggunaan tipe data boolean akan lebih jelas jika anda telah
mempelajari operator perbandingan, serta percabangan program seperti if else.

Tipe Data Boolean dalam Bahasa C


Yang cukup menarik, atau mungkin agak “aneh”, bahasa pemrograman C tidak
memiliki tipe data Boolean bawaan. Operasi perbandingan yang seharusnya
menghasilkan nilai boolean True atau False hanya menghasilkan integer 1 atau 0.
Dalam bahasa C, nilai integer 1 atau selain nol akan dianggap sebagai True,
sedangkan 0 akan menjadi False. Berikut contohnya:
1 #include <stdio.h>

3 int main(void)

{
4
int a;
5

6
a = 5 == 5;
7
printf("Isi variabel a: %d \n",a);
8

9
a = 5 > 5;
10 printf("Isi variabel a: %d \n",a);
11

12 return 0;

13 }
14

Saya mendefinisikan variabel a sebagai integer. Kemudian variabel a ini diisi


dengan hasil dari operasi perbandingan, apakah 5 == 5? iya (true), maka variabel
a akan berisi angka 1. Berikutnya apakah 5 > 5? tidak (false), maka variabel a akan
berisi angka 0.
Lebih lanjut tentang operasi perbandingan seperti == dan > akan kita bahas
dalam tutorial terpisah. Yang terpenting di sini adalah operasi perbandingan
akan menghasilkan integer 1 atau 0.

Berikut contoh penggunaan tipe data integer dalam berbagai kondisi if:
1 #include <stdio.h>

3 int main(void)

{
4
if (1) {
5
printf("Ini akan ditampilkan...\n");
6
}
7

8
if (30) {
9 printf("Ini juga akan ditampilkan...\n");
10 }
11

12 if (-8) {

13 printf("Ini juga tetap akan ditampilkan...\n");

14 }

15
if ('A') {
16
printf("Ini juga tetap akan masih ditampilkan...\n");
17
18
}
19

20
if (0) {
21
printf("Ini tidak akan tampil...\n");
22
}
23
return 0;
24 }
25

Kita memang belum membahas tentang kondisi if, tapi di sini saya ingin
menunjukkan bahwa dalam bahasa C, angka integer bisa dipakai sebagai
pengganti tipe data boolean.

Angka 1, 30, -8 dan karakter ‘A’ semua dianggap sebagai boolean true.
Semuanya akan menampilkan teks karena kondisi if memenuhi syarat.
Sedangkan angka 0 dianggap sebagai false sehingga perintah printf di baris 22
tidak akan dijalankan.

Cara Membuat Tipe Data Boolean dalam Bahasa C


Karena tidak tersedianya tipe data Boolean, banyak trik yang bisa dipakai untuk
membuat tipe data boolean “bentukan”, misalnya dengan membuat konstanta
dengan nama true dan false:
1 #include <stdio.h>

3 #define true 1

#define false 0
4
5

6
int main(void)
7
{
8

9 if (true) {
10 printf("Ini akan ditampilkan...\n");

11 }

12

13 if (false) {

14 printf("Ini tidak akan tampil...\n");

}
15
return 0;
16
}
17

Hasil kode program:

Ini akan ditampilkan...

Di awal kode program, saya membuat 2 konstanta, yakni true dan false yang
masing-masingnya berisi angka integer 1 dan 0. Kemudian konstanta true dan
false ini dipakai dalam kondisi if. Ini bisa berjalan tapi sedikit “dipaksakan”.
Alternatif yang lebih baik adalah dengan tambahan file header stdbool.h. Header
ini tersedia untuk compiler C99 ke atas. Bisa dibilang bahwa ini adalah cara
“standar” untuk membuat tipe data boolean dalam bahasa C:
1 #include <stdio.h>

2 #include <stdbool.h>

3
int main(void)
4
{
5
bool a,b;
6
a = true;
7
b = false;
8

9 if (a) {
10 printf("Ini akan ditampilkan...\n");
11 }
12

13
if (b) {
14
printf("Ini tidak akan tampil...\n");
15
}
16
return 0;
17
}
18

Dengan tambahan baris #include <stdbool.h>, sekarang program kita sudah


memiliki tipe data boolean. Cara pendefinisiannya ada di baris 6, yakni dengan
tipe data bool. Saya membuat variabel a dan b sebagai bool, kemudian mengisi
nilai true ke dalam a, dan false ke dalam b.
Hasilnya hanya perintah printf di baris 11 yang berjalan karena memenuhi
kondisi if (true).
Lebih lanjut tentang tipe data boolean ini akan kembali kita pelajari pada materi
tentang operasi perbandingan, serta kondisi if else.

Dalam tutorial ini kita telah membahas salah satu tipe data Boolean dalam
bahasa C. Tutorial ini juga mengakhiri pembahasan tentang tipe data, dimana
kita telah mempelajari tipe data char, integer, float, array, string dan struct.
Berikutnya akan masuk ke pembahasan tentang Jenis-jenis operator dalam
bahasa pemrograman C.

Tutorial Belajar C Part 26: Jenis-jenis Operator dalam


Bahasa C
24 Oct 18 | Andre | Tutorial C | No Comments
Pada sesi tutorial belajar bahasa pemrograman C sebelumnya, kita telah
membahas jenis-jenis tipe data di dalam bahasa C. Untuk mengolah data
tersebut, butuh operator. Karena itulah dalam beberapa tutorial ke depan, saya
akan membahas tentang jenis-jenis operator dalam bahasa pemrograman C.
Kali ini kita akan melihat secara ringkas apa saja jenis-jenis operator dalam
Bahasa C. Penjelasan lebih lanjut beserta contoh kode programnya akan
dibahas dalam tutorial terpisah.

Pengertian Operand dan Operator


Sebelum masuk ke jenis-jenis operator di dalam bahasa C, terdapat
istilah operand dan operator. Operand adalah nilai asal yang dipakai dalam sebuah
proses operasi. Sedangkan Operator adalah instruksi yang diberikan untuk
mendapatkan hasil dari proses tersebut.
Biasanya operator berupa karakter matematis atau perintah singkat sederhana.
Sebagai contoh, pada operasi: 10 + 2. Angka 10 dan 2 disebut sebagai operand,
sedangkan tanda tambah (karakter +) adalah operator.

Operator Unary, Binary dan Ternary


Berdasarkan jumlah operand-nya, operator dibagi menjadi 3 jenis: Operator
Unary, Operator Binary dan Operator Ternary.
 Operator Unary adalah operator yang hanya terdiri dari 1 operand.
Contohnya adalah operator positif (plus): +7, +9, +10.111
 Operator Binary adalah operator yang terdiri dari 2 operand. Sebagian
besar operator di dalam bahasa C termasuk ke dalam operator binary.
Contohnya seperti operator aritmatika: 4 + 8, 9 * 2, 8 % 2, dll.
 Operator Ternary adalah operator yang terdiri dari 3 operand. Bahasa C
memiliki 1 operator ternary, yakni ” ? : ” seperti (a == 1) ? 20: 30.

Jenis-jenis Operator dalam Bahasa Pemrograman C


Berikut jenis-jenis operator dalam bahasa pemrograman C:

 Operator Aritmatika
 Operator Increment dan Decrement
 Operator Perbandingan / Relasional
 Operator Logika / Boolean
 Operator Bitwise
 Operator Assignment
 Operator Lainnya
Daftar di atas bisa saja berbeda karena cara pengelompokkan yang dipakai,
misalnya operator increment atau decrement kadang dimasukkan ke dalam
operator artmatika. Kita akan bahas sekilas tentang pengertian dari operator-
operator ini.

Operator Aritmatika
Operator aritmatika adalah operator yang biasa kita temukan untuk operasi
matematika. Aritmatika sendiri merupakan cabang ilmu matematika yang
membahas perhitungan sederhana, seperti kali, bagi, tambah dan kurang
(kabataku)
Selain keempat operasi tersebut, bahasa C juga memiliki operasi modulo division,
atau operator % yang dipakai untuk mencari sisa hasil bagi.
Tabel berikut merangkum operator aritmatika dalam bahasa pemrograman C:

Operato Penjelasan Contoh


r
+ Penambahan a=5+2
– Pengurangan a=5–2
* Perkalian a=5*2
/ Pembagian (real/pecahan)a = 5 / 2
% Sisa hasil bagi (modulus) a = 5 % 2
Operator Aritmatika Unary
Operato Penjelasan Contoh
r
+ Positif (plus) +5
– Negatif (min)-3
Penjelasan lebih lanjut tentang operator Aritmatika dalam bahasa C beserta
contoh kode program bisa ke: Jenis-jenis Operator Aritmatika Bahasa C.

Operator Increment dan Decrement


Operator increment dan decrement adalah sebutan untuk operasi seperti a++,
dan a--. Ini sebenarnya penulisan singkat dari operasi a = a + 1 serta a = a – 1.
Increment digunakan untuk menambah variabel sebanyak 1 angka,
sedangkan decrement digunakan untuk mengurangi variabel sebanyak 1 angka.
Penulisannya menggunakan tanda tambah 2 kali untuk increment, dan tanda
kurang 2 kali untuk decrement. Penempatan tanda tambah atau kurang ini boleh
di awal seperti ++a dan --a, atau di akhir variabel seperti a++ dan a--.
Dengan demikian terdapat 4 jenis increment dan decrement dalam bahasa C:
Operator Contoh Penjelasan
Pre-increment ++a Tambah a sebanyak 1 angka, lalu tampilkan hasilnya
Post-increment a++ Tampilkan nilai a, lalu tambah a sebanyak 1 angka
Pre-decrement --a Kurangi a sebanyak 1 angka, lalu tampilkan hasilnya
Post-decrement a-- Tampilkan nilai a, lalu kurangi a sebanyak 1 angka
Penjelasan lebih lanjut tentang operator Increment dan Decrement dalam
bahasa C beserta contoh kode program bisa ke: Jenis-jenis Operator Increment
& Decrement Bahasa C.
Operator Perbandingan / Relasional
Operator perbandingan dipakai untuk membandingkan 2 buah nilai, apakah
nilai tersebut sama besar, lebih kecil, lebih besar, dll. Hasil dari operator
perbandingan ini adalah boolean True atau False, namun karena bahasa C tidak
memiliki tipe data boolean bawaan, maka hasilnya adalah integer 1 atau 0.
Operato Penjelasan Conto Hasil
r h
== Sama dengan 5 == 5 1 (true)
!= Tidak sama dengan 5 != 5 0 (false)
> Lebih besar 5 > 6 0 (false)
< Lebih kecil 5 < 6 1 (true)
>= Lebih besar atau sama dengan5 >= 3 1 (true)
<= Lebih kecil atau sama dengan 5 <= 5 1 (true)

Operator Logika / Boolean


Operator logika dipakai untuk menghasilkan nilai boolean true atau false dari 2
kondisi atau lebih.

OperatorNama Penjelasan Contoh


&& And Akan menghasilkan 1 jika kedua operand 1 1 && 0, hasilnya: 0
|| Or Akan menghasilkan 1 jika salah satu operand 11 || 0, hasilnya: 1
! Not Akan menghasilkan 1 jika operand 0 !0, hasilnya: 1
Rumus yang dipakai adalah sebagai berikut:

 Operator && hanya akan menghasilkan 1 jika kedua operand bernilai 1,


selain itu hasilnya 0.
 Operator || hanya akan menghasilkan 0 jika kedua operand bernilai 0,
selain itu hasilnya 1.
 Operator ! Akan membalikkan logika, !0 menjadi 1, !1 menjadi 0.

Operator Bitwise
Bitwise adalah operator khusus untuk menangani operasi logika bilangan biner
dalam bentuk bit.
Bilangan biner sendiri merupakan jenis bilangan yang hanya terdiri dari 2 jenis
angka, yakni 0 dan 1. Jika nilai asal yang dipakai bukan bilangan biner, akan
dikonversi secara otomatis oleh compiler C menjadi bilangan biner. Misalnya 7
desimal = 0111 dalam bilangan biner.
Bahasa C mendukung 6 jenis operator bitwise. Daftar lengkapnya dapat dilihat
pada tabel berikut:

Operato Nama Contoh Biner Hasil Hasil (desimal)


r (biner)
& AND 10 & 121010 & 11001000 8
| OR 10 | 12 1010 | 1100 1110 14
^ XOR 10 ^ 1 1010 ^ 1100 0110 6
~ NOT ~5 ~0101 1011 -11 (Two’s complement)
<< Left shift 10 << 1 1010 << 1 10100 20
>> Right shift10 >> 1 1010 >> 1 101 5

Operator Assignment
Operator assignment adalah operator yang digunakan untuk memberikan nilai
ke dalam suatu variabel. Di dalam bahasa C, operator assignment menggunakan
tanda sama dengan ” = “. Nantinya juga terdapat operator assignment
gabungan, seperti ” += “, ” -= “, dsb.

Operator Lainnya
Operator Lainnya ini adalah kelompok operator khusus yang tidak termasuk ke
dalam kelompok sebelumnya, diantaranya adalah operator sizeof dan operator
ternary ” ? : “.

Itulah jenis-jenis operator yang terdapat di dalam bahasa pemrograman C.


Penjelasan lebih detail, termasuk pengertian, cara penggunaan serta contoh
kode programnya akan saya bahas pada tutorial terpisah.

Kita akan mulai dengan operator aritmatika terlebih dahulu: Jenis-jenis Operator
Aritmatika Bahasa C.

Tutorial Belajar C Part 27: Jenis-jenis Operator


Aritmatika Bahasa C
25 Oct 18 | Andre | Tutorial C | No Comments
Operator aritmatika cukup sering dipakai dalam programming, dan
penggunaannya juga tidak terlalu rumit. Dalam tutorial belajar bahasa C kali ini
kita akan mempelajari tentang Jenis-jenis Operator Aritmatika dalam Bahasa
pemrograman C.

Pengertian dan Jenis Operator Aritmatika Bahasa C


Aritmatika adalah cabang ilmu matematika yang membahas perhitungan dasar
“kabataku”, yakni operasi perkalian, pembagian, penambahan dan pengurangan.
Selain keempat operasi di atas, bahasa C juga memiliki operasi modulo division,
atau operator % yang dipakai untuk mencari sisa hasil bagi.
Tabel berikut merangkum operator aritmatika dalam bahasa pemrograman C:

OperatorPenjelasan Contoh
+ Penambahan a=5+2
– Pengurangan a=5–2
* Perkalian a=5*2
/ Pembagian (real/pecahan)a = 5 / 2
% Sisa hasil bagi (modulus) a = 5 % 2
Operator Aritmatika Unary
OperatorPenjelasan Contoh
+ Positif (plus) +5
– Negatif (min)-3
Kita akan bahas dengan contoh kode program sesaat lagi.

Contoh Kode Program Operator Aritmatika Bahasa


C
Berikut contoh kode program penggunaan berbagai operator aritmatika dalam
bahasa C:

1 #include <stdio.h>
2
int main(void)
3 {
4 int a, b, c, d, e, f;
5
6 a = 8 + 4;
7 b = 9 - 2;
8 c = 2 * 3;
9
10 d = 10 + 3 - 7 * 4;
11 e = ( ( 10 +3 ) -7) * 4;
12 f = -79;
13
14 printf("Isi variabel a: %d \n",a);
printf("Isi variabel b: %d \n",b);
15 printf("Isi variabel c: %d \n",c);
16 printf("Isi variabel d: %d \n",d);
17 printf("Isi variabel e: %d \n",e);
18 printf("Isi variabel f: %d \n",f);
19
20 return 0;
}
21
22

Dalam contoh ini saya membuat beberapa operasi aritmatika,


yakni penambahan, pengurangan dan perkalian.
Aturan prioritas operator berlaku di sini, dimana operator perkalian dan
pembagian akan dijalankan terlebih dahulu daripada operator pengurangan dan
penambahan. Untuk operator yang sama kuat (seperti penambahan dan
pengurangan), akan diproses dari kiri ke kanan.

Tanda kurung bisa dipakai untuk memprioritaskan operator tertentu, seperti


untuk menghitung variabel e dalam contoh di atas.
Saya sengaja tidak menampilkan operator pembagian karena ada beberapa hal
yang akan kita bahas. Perhatikan kode berikut ini:

1 #include <stdio.h>
2
int main(void)
3
{
4 int a, b, c;
5
6 a = 8 / 4;
7 b = 8 / 3;
8 c = 8 / 2;
9
printf("Isi variabel a: %d \n",a);
10 printf("Isi variabel b: %d \n",b);
11
12 printf("Isi variabel c: %d \n",c);
13 return 0;
14 }
15

Di sini saya membuat 3 variabel integer: a, b, c. Untuk operasi a dan c tidak ada
masalah, hasilnya sesuai dimana 8 / 4 = 2 dan 8 /2 = 4.
Tapi kenapa 8 / 3 menghasilkan angka 2? Mungkin ini karena b di set
sebagai integer, bukan float atau double. Mari kita ubah tipe datanya:
1
#include <stdio.h>
2
3 int main(void)
4 {
5 double a;
6 a = 8 / 3;
7
printf("Isi variabel a: %f \n",a);
8
return 0;
9 }
10

Mengapa hasilnya tetap 2? Ini terjadi karena bahasa C melihat tipe data operand
yang dipakai. Di sini operand nya adalah 8 dan 3 yang merupakan integer (angka
bulat).
Agar operasi pembagian menghasilkan nilai float, kedua operand harus ditulis
dalam format pecahan, yakni 8.0 dan 3.0. Berikut hasilnya:
1 #include <stdio.h>
2
int main(void)
3
4 {
5 double a;
6 a = 8.0 / 3.0;
7
8 printf("Isi variabel a: %f \n",a);
return 0;
9
}
10
Hasil kode program:

Isi variabel a: 2.666667


Yup, sekarang hasilnya sudah sesuai, dimana 8.0 / 3.0 adalah 2.666667. Untuk
memformat tampilan akhir misalnya menjadi 2.66, bisa menggunakan berbagai
teknik yang pernah kita bahas pada tutorial tipe data float: Pengertian dan
Contoh Kode Program Tipe Data Float.

Pengertian Operator Mod (Modulus)


Operator mod (singkatan dari modulo atau modulus) dipakai untuk mencari nilai
sisa pembagian. Operator mod perlu penjelasan tersendiri terutama bagi yang
baru pertama kali belajar bahasa pemrograman komputer. Operator ini
terdengar asing tapi sebenarnya cukup sederhana.
Sebagai contoh:

 8 mod 5 = 3, karena 3 adalah angka sisa pembagian.


 100 mod 7 = 2, karena hanya 98 yang habis dibagi 7 (bersisa 2).
Berikut contoh kode program penggunaan operator mod dalam bahasa C:

1
2 #include <stdio.h>
3
4 int main(void)
5 {
int a, b, c, d;
6
7 a = 8 % 4;
8 b = 8 % 5;
9 c = 10 % 2;
10 d = 100 % 7;
11
printf("Isi variabel a: %d \n",a);
12 printf("Isi variabel b: %d \n",b);
13 printf("Isi variabel c: %d \n",c);
14 printf("Isi variabel d: %d \n",d);
15
16 return 0;
17 }
18
Hasil kode program:

Isi variabel a: 0
Isi variabel b: 3
Isi variabel c: 0
Isi variabel d: 2
Operator modulus ini cukup sering dipakai, misalnya menentukan sebuah
bilangan genap atau ganjil. Untuk keperluan ini kita bisa memeriksa apakah a %
2 menghasilkan 0? Jika iya, maka a berisi bilangan genap.

Dalam tutorial bahasa C kali ini kita telah membahas cara penggunaan operator
aritmatika. Selain itu juga disinggung cara penggunaan operasi pembagian
bahasa C yang butuh sedikit trik, serta pengertian dari operator modulus.

Selanjutnya, kita akan membahas Operator Increment dan Decrement dalam


Bahasa C.

Tutorial Belajar C Part 28: Jenis-jenis Operator


Increment & Decrement Bahasa C
26 Oct 18 | Andre | Tutorial C | 4 Comments

Melanjutkan materi tentang operator dalam bahasa pemrograman C, kali ini kita
akan membahas Jenis-jenis Operator Increment dan Decrement dalam Bahasa
C. Beberapa sumber ada yang mengelompokkan operator ini ke dalam operator
aritmatika, namun saya akan memisahkannya menjadi bahasan tersendiri.

Pengertian Increment dan Decrement Bahasa C


Operator increment dan decrement adalah sebutan untuk operasi seperti a++,
dan a--. Ini sebenarnya penulisan singkat dari operasi a = a + 1 serta a = a – 1.
Increment digunakan untuk menambah variabel sebanyak 1 angka,
sedangkan decrement digunakan untuk mengurangi variabel sebanyak 1 angka.
Penulisannya menggunakan tanda tambah 2 kali untuk increment, dan tanda
kurang 2 kali untuk decrement. Penempatan tanda tambah atau kurang ini boleh
di awal seperti ++a dan --a, atau di akhir variabel seperti a++ dan a--.
Dengan demikian terdapat 4 jenis increment dan decrement dalam bahasa C:
Operator Conto Penjelasan
h

Pre-increment ++a Tambah a sebanyak 1 angka, lalu tampilkan hasilnya


Post-increment a++ Tampilkan nilai a, lalu tambah a sebanyak 1 angka

Pre-decrement --a Kurangi a sebanyak 1 angka, lalu tampilkan hasilnya

Post-decrementa-- Tampilkan nilai a, lalu kurangi a sebanyak 1 angka

Untuk melihat apa perbedaan dari setiap operator akan kita bahas dengan
contoh kode program.

Contoh Kode Program Increment dan Decrement


Secara umum, penulisan tanda di awal maupun di akhir akan menghasilkan nilai
yang sama. Berikut contohnya:

1
#include <stdio.h>
2

3
int main(void)
4 {
5 int a = 5;
6 a++;

7 printf("Isi variabel a: %d \n",a);

9 int b = 5;

++b;
10
printf("Isi variabel b: %d \n",b);
11

12
return 0;
13
}
14
Di sini saya mengisi angka 5 sebagai nilai awal untuk variabel a dan b. Hasilnya,
setelah operasi a++ dan ++b, kedua variabel sama-sama berisi angka 6. Artinya
variabel a dan b akan bertambah 1 angka.
Hal yang sama juga berlaku di decrement:
1
#include <stdio.h>
2

3
int main(void)
4 {
5 int a = 5;
6 a--;

7 printf("Isi variabel a: %d \n",a);

9 int b = 5;

--b;
10
printf("Isi variabel b: %d \n",b);
11

12
return 0;
13
}
14

Hasil kode program:

1 Isi variabel a: 4

2 Isi variabel b: 4

Saya kembali mengisi angka 5 sebagai nilai awal untuk variabel a dan b. Hasilnya,
setelah operasi a-- dan --b, kedua variabel sama-sama berisi angka 4. Artinya
variabel a dan b akan berkurang 1 angka.

Perbedaan Pre-Increment dengan Post-Increment


Jadi apa beda antara pre-increment (++a) dengan post-increment (a++)?
Perbedaannya baru terlihat jika kita akses pada saat operasi berlangsung,
seperti contoh berikut:
1 #include <stdio.h>

2
int main(void)
3

4 {

5 int a = 5;

6 printf("Post Increment \n");

7 printf("Isi variabel a: %d \n",a);

printf("Isi variabel a: %d \n",a++);


8
printf("Isi variabel a: %d \n",a);
9

10
printf("\n");
11

12
int b = 5;
13
printf("Pre Increment \n");
14 printf("Isi variabel b: %d \n",b);
15 printf("Isi variabel b: %d \n",++b);

16 printf("Isi variabel b: %d \n",b);

17

18 return 0;

19 }

20

Perbedaannya ada di baris 8 dan 16, yakni ketika kita akses langsung pada saat
operasi increment dilakukan.
Terlihat bahwa post-increment (a++), akan menampilkan hasilnya terlebih dahulu,
baru nilai variabel a naik 1 angka, namun dengan pre-increment (++b), variabel b
akan ditambahkan 1 angka, baru nilainya ditampilkan.
Begitu juga hal nya dengan operasi post-decrement dan pre-decrement:
1
#include <stdio.h>
2

3
int main(void)
4
{
5
int a = 5;
6
printf("Post Decrement \n");
7 printf("Isi variabel a: %d \n",a);
8 printf("Isi variabel a: %d \n",a--);

9 printf("Isi variabel a: %d \n",a);

10

11 printf("\n");

12

13 int b = 5;

printf("Pre Decrement \n");


14
printf("Isi variabel b: %d \n",b);
15
printf("Isi variabel b: %d \n",--b);
16
printf("Isi variabel b: %d \n",b);
17

18
return 0;
19 }
20

Hasil kode program:

Post Decrement

Isi variabel a: 5

Isi variabel a: 5

Isi variabel a: 4

Pre Decrement

Isi variabel b: 5

Isi variabel b: 4

Isi variabel b: 4
Terlihat bahwa post-decrement (a--), akan menampilkan hasilnya terlebih
dahulu, baru nilai variabel a dikurangi 1 angka. Dengan pre-decrement ( --b),
variabel b langsung dikurangi 1 angka, lalu nilainya ditampilkan.

Operator increment dan decrement yang kita bahas disini nantinya banyak di
terapkan dalam perulangan (looping). Selain itu kebiasaan banyak programmer
lebih sering menggunakan post-increment (a++) dan post-decrement (a--). Nama
bahasa pemrograman C++ juga terinspirasi dari post increment dari bahasa C,
yakni penambahan dari bahasa C.
Berikutnya, kita akan masuk ke Operator Perbandingan atau Operator
Relasional Bahasa C.

Tutorial Belajar C Part 29: Jenis-jenis Operator


Perbandingan / Relasional Bahasa C
27 Oct 18 | Andre | Tutorial C | No Comments

Menyambung materi tentang operator di bahasa pemrograman C, kali ini kita


akan membahas Jenis-jenis Operator Perbandingan / Relasional dalam Bahasa
C.

Operator Perbandingan Bahasa C


Operator perbandingan dipakai untuk membandingkan 2 buah nilai, apakah nilai
tersebut sama besar, lebih kecil, lebih besar, dst. Hasil dari operator
perbandingan ini adalah boolean True atau False, namun karena bahasa C tidak
memiliki tipe data boolean bawaan, maka hasilnya adalah integer 1 atau 0.
Di dalam bahasa C, terdapat 6 operator perbandingan:

OperatorPenjelasan ContohHasil

== Sama dengan 5 == 5 1 (true)

!= Tidak sama dengan 5 != 5 0 (false)

> Lebih besar 5 > 6 0 (false)

< Lebih kecil 5 < 6 1 (true)

>= Lebih besar atau 5 >= 3 1 (true)


sama dengan

<= Lebih kecil atau sama dengan 5 <= 5 1 (true)


Operator perbandingan ini biasa dipakai dalam proses pengambilan keputusan
atau percabangan kode program. Sebagai contoh, jika angka pertama lebih
besar dari kedua, maka jalankan perintah ini. Atau jika string password =
‘qwerty’ maka berikan hak akses.
Operator perbandingan kadang disebut juga dengan operator relasional karena
kita membandingkan hubungan (relasi) sebuah nilai dengan nilai lainnya.

Contoh Kode Program Operator Perbandingan


Bahasa C
Berikut contoh kode program untuk operasi perbandingan dalam bahasa
pemrograman C:

1 #include <stdio.h>

3 int main(void)

{
4
int a;
5

6
a = 5 == 5;
7
printf("Isi variabel a: %d \n",a);
8

9
a = 5 != 5;
10 printf("Isi variabel a: %d \n",a);
11

12 a = 5 > 5;

13 printf("Isi variabel a: %d \n",a);

14

15 a = 5 >= 5;

16 printf("Isi variabel a: %d \n",a);

17
a = 5 < 5;
18
printf("Isi variabel a: %d \n",a);
19

20

21 a = 5 <= 5;

22 printf("Isi variabel a: %d \n",a);

23

24 return 0;

25 }

26

Karena bahasa C tidak memiliki tipe data boolean, maka hasilnya


antara 1 (sebagai pengganti true) atau 0 (sebagai pengganti false)
Operasi perbandingan tidak hanya untuk tipe data angka saja, tapi juga bisa
berbagai tipe data lain seperti char. Berikut contohnya:
1 #include <stdio.h>

3 int main(void)

{
4
int a;
5

6
a = 'a' == 'a';
7
printf("Isi variabel a: %d \n",a);
8

9
a = 'A' != 'B';
10 printf("Isi variabel a: %d \n",a);
11
12
a = "Duniailkom" == "duniailkom";
13
printf("Isi variabel a: %d \n",a);
14

15
a = 'A' > 'B';
16
printf("Isi variabel a: %d \n",a);
17

18
return 0;
19 }
20

Hasil kode program:

1 Isi variabel a: 1

2 Isi variabel a: 1

3 Isi variabel a: 0

4 Isi variabel a: 0

Jika yang dibandingkan berupa karakter, hasilnya dilihat dari urutan karakter
ASCII. Dalam tabel ASCII, karakter ‘A’ memiliki nomor urut yang lebih rendah
daripada ‘B’, sehingga ‘A’ > ‘B’ adalah false (0).

Dalam prakteknya, operasi perbandingan baru ‘berguna’ dalam percabangan


kode program seperti struktur IF. Berikut contohnya:
1 #include <stdio.h>

3 int main(void)

{
4
int a;
5

6
printf("Input angka sembarang: ");
7
scanf("%d",&a);
8

9
if (a % 2 == 0) {
10 printf("%d adalah angka genap \n",a);
11 }
12 else {
13
printf("%d adalah angka ganjil \n",a);
14
}
15

16
return 0;
17
}
18

Kita memang belum membahas tentang struktur if, tapi konsepnya cukup
sederhana. Di awal kode program saya meminta user untuk menginput sebuah
angka. Angka ini kemudian disimpan ke dalam variabel a hasil dari
perintah scanf(“%d”,&a).
Pada baris 10, saya melakukan sebuah operasi perbandingan: if (a % 2 == 0)?
Yakni apakah a habis dibagi 2? Jika anda ragu dengan tanda %, itu adalah
operator modulus yang pernah kita bahas dalam tutorial operator aritmatika.
Kondisi di atas hanya akan true (1) jika a diisi dengan angka genap. Jika ini yang
terjadi, jalankan perintah printf(“%d adalah angka genap \n”,a). Jika hasilnya false,
jalankan printf(“%d adalah angka ganjil \n”,a). Inilah salah satu penerapan dari
operasi perbandingan / relasi.

Dalam tutorial kali ini kita telah membahas pengertian dan cara penggunaan
operator perbandingan dalam bahasa C. Berikutnya, saya akan
membahas operator logika.

Tutorial Belajar C Part 30: Jenis-jenis Operator Logika


Bahasa C
28 Oct 18 | Andre | Tutorial C | 1 Comment
Dalam tutorial belajar bahasa C di duniailkom kali ini kita akan membahas jenis-
jenis operator logika. Operator logika ini sering juga disebut sebagai operator
boolean.
Pengertian Operator Logika dalam Bahasa C
Operator logika adalah operator yang digunakan untuk membuat kesimpulan
logis dari 2 kondisi boolean: true atau false. Karena bahasa C tidak memiliki tipe
data boolean, maka kita menggunakan angka 1 untuk pengganti true, dan
angka 0 untuk pengganti false.
Dalam bahasa C terdapat 3 operator logika:

Operato NamaPenjelasan Contoh


r
&& And Akan menghasilkan 1 jika kedua operand 1 1 && 0, hasilnya: 0
|| Or Akan menghasilkan 1 jika salah satu operand 11 || 0, hasilnya: 1
! Not Akan menghasilkan 1 jika operand 0 !0, hasilnya: 1
Pada prakteknya, operator logika ini banyak dipakai untuk menggabungkan
beberapa hasil operasi perbandingan (contohnya akan kita lihat sesaat lagi).

Catatan: operator OR menggunakan karakter pipe ” | “, bukan huruf L kecil.


Karakter pipe ini bergabung dengan tombol “\” dan ditekan menggunakan
tombol shift.

Contoh Kode Program Operator Logika Bahasa C


Dalam bentuk paling sederhana, operator logika bisa diproses untuk integer 1
dan 0. Dimana 1 mewakili true, dan 0 mewakili false. Berikut contoh kode
programnya:
1 #include <stdio.h>
2
int main(void)
3 {
4 int a;
5
6 a = 0 && 1;
7 printf("Isi variabel a: %d \n",a);
8
9 a = 1 && 1;
printf("Isi variabel a: %d \n",a);
10
11 a = 0 || 1;
12 printf("Isi variabel a: %d \n",a);
13
14 a = 0 || 0;
15 printf("Isi variabel a: %d \n",a);
16
17 a = !0;
printf("Isi variabel a: %d \n",a);
18
19
20
return 0;
21 }
22
23

Di sini saya membuat beberapa percobaan menggunakan operator logika.


Rumus yang dipakai adalah sebagai berikut:

 Operator && hanya akan menghasilkan 1 jika kedua operand bernilai 1,


selain itu hasilnya 0.
 Operator || hanya akan menghasilkan 0 jika kedua operand bernilai 0,
selain itu hasilnya 1.
 Operator ! Akan membalikkan logika, !0 menjadi 1, !1 menjadi 0.
Kita juga bisa menggabungkan lebih dari satu operasi seperti contoh berikut:

1
2 #include <stdio.h>
3
4 int main(void)
{
5 int a;
6
7 a = (0 && 1) || (1 || 0);
8 printf("Isi variabel a: %d \n",a);
9
10 a = !0 && (0 || 1);
printf("Isi variabel a: %d \n",a);
11
12
a = ((1 && 1) || (1 || 0)) && !1;
13 printf("Isi variabel a: %d \n",a);
14
15 return 0;
16 }
17
Hasil kode program:

1 Isi variabel a: 1
Isi variabel a: 1
2 Isi variabel a: 0
3
Untuk operasi seperti ini, akan diproses dari kiri ke kanan, kecuali ditemukan
tanda kurung maka itulah yang akan diproses terlebih dahulu.

 Di baris 7, operasi (0 && 1) || (1 || 0) akan diproses menjadi 0 || 1, hasilnya 1.


 Di baris 10, operasi !0 && (0 || 1) akan diproses menjadi 1 && 1, hasilnya 1.
 Di baris 13, operasi ((1 && 1) || (1 || 0)) && !1 akan diproses menjadi (1 || 1)
&& 0, kemudian menjadi 1 && 0, hasilnya 0.
Nilai boolean true (1) dan false (0) ini biasanya di dapat dari hasil operasi
perbandingan. Inilah praktek yang sering dibuat untuk operator logika, berikut
contohnya:

1
2 #include <stdio.h>
3
4 int main(void)
5 {
int a;
6
7 a = (5 > 4) && (10 > 9);
8 printf("(5 > 4) && (10 > 9): %d \n",a);
9
10 a = (15 <= 15) && (15 < 15);
11 printf("(15 <= 15) && (15 < 15): %d \n",a);
12
a = ('a' == 'a') || ('a' == 'b');
13 printf("'a' == 'a') || ('a' == 'b'): %d \n",a);
14
15 a = (10 > 7) && ('duniailkom' == 'duniailkom');
16 printf("(10 > 7) && ('duniailkom' == 'duniailkom'): %d \n",a);
17
18 return 0;
19 }
20

 Di baris 7, operasi (5 > 4) && (10 > 9) akan diproses menjadi 1 && 1,
hasilnya 1.
 Di baris 10, operasi (15 <= 15) && (15 < 15) akan diproses menjadi 1 && 0,
hasilnya 0.
 Di baris 13, operasi (‘a’== ‘a’) || (‘a’ == ‘b’) akan diproses menjadi 1 || 0,
hasilnya 1.
 Di baris 16, operasi (10 > 7) && (‘duniailkom’ == ‘duniailkom’) akan diproses
menjadi 1 && 1, hasilnya 1.
Sama seperti operasi perbandingan, operasi logika ini akan banyak dipakai pada
percabangan kode program, misalnya untuk bisa login seseorang harus memiliki
username DAN password yang sesuai. Jika salah satu saja tidak terpenuhi, maka
tidak bisa login.

Selanjutnya, saya akan membahas operator bitwise dalam bahasa


pemrograman C.

Tutorial Belajar C Part 31: Jenis-jenis Operator Bitwise


Bahasa C
29 Oct 18 | Andre | Tutorial C | 1 Comment

Melanjutkan pembahasan tentang operator bahasa C, dalam tutorial ini kita


akan mempelajari Pengertian dan Jenis-jenis Operator Bitwise dalam bahasa
pemrograman C.

Pengertian Operator Bitwise dalam Bahasa C


Bitwise adalah operator khusus untuk menangani operasi logika bilangan biner
dalam bentuk bit.
Bilangan biner sendiri merupakan jenis bilangan yang hanya terdiri dari 2 jenis
angka, yakni 0 dan 1. Jika nilai asal yang dipakai bukan bilangan biner, akan
dikonversi secara otomatis oleh compiler C menjadi bilangan biner. Misalnya 7
desimal = 0111 dalam bilangan biner.
Dalam penerapannya, operator bitwise tidak terlalu sering dipakai, kecuali anda
sedang membuat program yang harus memproses bit-bit komputer. Selain itu
operator ini cukup rumit dan harus memiliki pemahaman tentang sistem
bilangan biner. Dalam bahasan kali ini saya menganggap anda sudah paham
beda antara bilangan biner (basis 2) dan bilangan desimal (basis 10).

Bahasa C mendukung 6 jenis operator bitwise. Daftar lengkapnya dapat dilihat


pada tabel berikut:
OperatorNama Contoh Biner Hasil Hasil (decimal)
(biner)
& AND 10 & 121010 & 1000 8
1100

| OR 10 | 12 1010 | 1100 1110 14

^ XOR 10 ^ 12 1010 ^ 1100 0110 6

~ NOT ~ 10 ~1010 0101 -11 (two complement)

<< Left shift 10 << 1 1010 << 1 10100 20

>> Right shift10 >> 1 1010 >> 1 101 5

Contoh Kode Program Operator Bitwise Bahasa C


Langsung saja kita bahas dengan contoh kode program berikut:

1 #include <stdio.h>

3 int main(void)

{
4
int a, b, hasil;
5

6
a = 181;
7
b = 108;
8

9
printf("=== Operator Bitwise Bahasa C === \n\n");
10

11 hasil = a & b;
12 printf("a & b: %d \n",hasil);

13

14 hasil = a | b;

15 printf("a | b: %d \n",hasil);

16

17 hasil = a ^ b;

printf("a ^ b: %d \n",hasil);
18

19
20

21 hasil = ~a;

printf("~a: %d \n",hasil);
22

23
hasil = a >> 1;
24
printf("a >> 1: %d \n",hasil);
25

26
hasil = b << 2;
27
printf("b << 2: %d \n",hasil);
28 return 0;
29 }

30

Dalam contoh di atas, saya mendefinisikan 2 variabel: a dan b. Kemudian


memberikan nilai awal 181 dan 108. Jika di konversi ke dalam bentuk biner,
keduanya berisi angka berikut:
a = 181 (desimal) = 10110101 (biner)

b = 108 (desimal) = 01101100 (biner)

Di baris 12 saya melakukan operasi & (AND) terhadap kedua variabel. Operasi
bitwise “and” ini akan memproses bit per bit dari kedua variabel, jika kedua bit
sama-sama 1, maka hasilnya juga 1, selain kondisi tersebut, nilai akhirnya adalah
0. Berikut perhitungan bitwise “and”:
a = 10110101

b = 01101100

--------

a & b = 00100100 = 36 (desimal)


Dan dari hasil printf, terlihat bahwa hasilnya adalah 36 (dalam bentuk desimal).

Di baris 15 terdapat operasi | (OR), hasilnya akan bernilai 0 jika kedua bit bernilai
0, selain itu nilai bit akan di set menjadi 1. Berikut cara perhitungan bitwise “or”:
a = 10110101

b = 01101100

--------

a | b = 11111101 = 253 (desimal)

Di baris 18 terdapat operasi ^ (XOR), hasilnya akan bernilai 1 jika salah satu dari
kedua variabel bernilai 1 (namun tidak keduanya). Atau dengan kata lain jika
kedua bit berlainan, hasilnya 1 tapi kalau sama-sama 0 atau sama-sama 1,
hasilnya 0.
Berikut cara perhitungan bitwise “xor”:

a = 10110101

b = 01101100

--------

$a ^ $b = 11011001 = 217 (desimal)

Di baris 21, saya membuat operasi ~ atau not, yang akan membalikkan nilai bit
sebuah variabel dari 0 menjadi 1, dan 1 menjadi nol. Namun perhitungan bit not
ini sedikit membingungkan karena jika kita hanya membalikkan seluruh bit saja,
hasilnya tidak sesuai dengan apa yang dihitung oleh compiler C:
a = 10110101

--------

~a = 01001010 = 74 (desimal) ==> salah ???

Dari hasil menjalankan program, dapat dilihat bahwa ~a = -182, dari manakah
datangnya angka -182?

Ini berkaitan dengan cara compiler bahasa C menyimpan angka biner (dan juga
hampir semua bahasa pemrograman komputer modern). Angka biner di dalam
bahasa C disimpan dalam format “Two’s complement”. Penjelasan tentang
“Two’s complement” ini cukup panjang, jika tertarik saya sudah membahasnya
lengkap di buku Pascal Uncover, atau bisa ke Two’s complement Wikipedia.
Secara singkat, rumusnya adalah -a - 1, sehingga ~a = -181 - 1 = -
182 (desimal)
Di baris 24, terdapat operator shift right “>>” dimana bahasa C akan menggeser
posisi bit dalam variabel a ke kanan sebanyak 1 tempat. Berikut proses yang
terjadi:
a = 10110101 = 181
a >> 1 = 1011010 = 90 (desimal)

Operator shift right menggeser nilai biner variabel a ke arah kanan, sehingga
digit paling kanan akan dihapus. Operator shift right ini akan menghasilkan nilai
asal / 2. Dalam contoh kita, hasilnya adalah 180/2 = 90 (dibulatkan). Setiap
penggeseran 1 tempat ke kanan akan membagi 2 nilai asal.

Di baris 27 adalah operator shift left “<<” dimana nilai variabel b akan digeser
sebanyak 2 digit ke kiri. Berikut proses yang terjadi:
b = 01101100 = 108

b << 1 = 011011000 = 216 (desimal)

b << 2 = 0110110000 = 432 (desimal)

Ketika hasil pergeseran ke kiri, digit paling kanan akan diisi angka 0. Setiap
penggeseran 1 tempat ke kiri akan mengkali 2 nilai asal. Karena variabel b berisi
desimal 108, maka hasil dari << 2 sama dengan 108 * 2 = 216, 216 * 2 = 432.

Dalam tutorial kali ini kita telah mempelajari operator bitwise dalam bahasa
pemrograman C. Pada prakteknya, operator bitwise ini tidak terlalu sering
dipakai. Berikutnya akan dibahas tentang operator assignment atau operator
penugasan bahasa C.

Tutorial Belajar C Part 32: Jenis-jenis Operator


Assignment Bahasa C
30 Oct 18 | Andre | Tutorial C | No Comments

Dalam tutorial bahasa pemrograman C di Duniailkom kali ini kita akan


membahas Jenis-jenis Operator Assignment Bahasa C.

Pengertian Operator Assignment / Penugasan


Operator assignment adalah operator untuk memasukkan suatu nilai ke dalam
variabel. Operator ini sebenarnya sudah sering kita pakai sepanjang tutorial
bahasa C di Duniailkom. Dalam bahasa C, operator assignment menggunakan
tanda sama dengan ( = ).
Pembacaan operasi assignment dilakukan dari kanan ke kiri, bukan dari kiri ke
kanan seperti yang biasa kita pahami dalam matematika.

Kode berikut:
a = 500;

Berarti “memasukkan nilai 500 ke dalam variabel a”. Dalam bahasa pseudo
code (jika anda membaca buku tentang algoritma), ini biasa ditulis dengan simbol
panah ke kiri:
a <- 500

Operator assignment ini disebut juga sebagai operator penugasan.

Contoh Kode Program Operator Assignment Bahasa


C
Dalam prakteknya, operator assignment juga bisa dipakai “bertingkat” seperti
contoh berikut:

1 #include <stdio.h>

3 int main(void)

{
4
int a, b, c, d, e;
5
a = 5;
6
b = 3;
7
b = b + 1;
8 c = a + b;
9 d = c + c + a;

10 e = (c + d)* a;

11

12 printf("Isi variabel a: %d \n",a);

13 printf("Isi variabel b: %d \n",b);

printf("Isi variabel c: %d \n",c);


14
printf("Isi variabel d: %d \n",d);
15
printf("Isi variabel e: %d \n",e);
16

17
return 0;
18
}
19
20

Di awal kode program saya mendefinisikan 5 variabel, yakni a, b, c, d,


dan e sebagai integer. Kemudian menginput angka 5 ke dalam variabel a (baris
6), dan angka 3 ke dalam variabel b (baris 7).
Di baris 8, perintah b = b + 1 mungkin bisa membuat bingung. Tapi intinya
adalah, operator assignment di proses dari kanan ke kiri, jadi operasi tersebut
bisa dibaca: “tambah isi variabel b dengan 1, lalu simpan kembali ke dalam
variabel b”. Karena variabel b sudah berisi angka 3, maka hasil akhirnya variabel
b akan bernilai 4.
Di baris 9, perintah c = a + b akan di proses sebagai c = 5 + 4, hasilnya c berisi
angka 9.
Di baris 10, perintah d = c + c + a akan di proses sebagai d = 9 + 9 + 5, hasilnya c
berisi angka 23.
Terakhir, di baris 11, perintah e = (c + d)* a akan di proses sebagai e = (9 + 23) * 5,
hasilnya c berisi angka 160.

Operator Assignment Gabungan Bahasa C


Operator assignment gabungan adalah cara penulisan singkat
operator assignment yang digabung dengan dengan operator lain. Dalam bahasa
C (dan juga bahasa turunan C seperti C++, PHP, JavaScript atau Java), operator
assignment gabungan ini terdiri dari operator assignment dengan operator lain
seperti operator aritmatika dan bitwise.
Sebagai contoh, operasi a = a + 1 bisa disingkat (dan digabung) menjadi a += 1.
Contoh lain operasi b >>= 1 adalah penulisan singkat dari b = b >> 1.
Tidak ada pengaruh apa-apa dari penulisan singkat seperti ini, anda boleh
memilih penulisan yang panjang a = a + 1, atau di singkat menjadi a += 1.
Tabel berikut merangkum semua operator assignment dalam bahasa C:

Operato ContohPenjelasan
r

+= a += b a = a + b

-= a -= b a = a – b

*= a *= b a = a * b

/= a /= b a = a / b

%= a %= b a = a % b

&= a &= b a = a & b

|= a |= b a = a | b

^= a ^= b a = a ^ b

<<= a <<= ba = a << b

>>= a >>= ba = a >> b

Contoh Kode Program Operator Assignment


Gabungan Bahasa C
Berikut contoh praktek dari operator gabungan dalam bahasa C:

1 #include <stdio.h>

3 int main(void)

{
4
int a = 10, b = 10, c = 10, d = 10, e = 10, f = 10;
5

6
printf("Operator assignment gabungan bahasa C \n");
7
printf("===================================== \n\n");
8
printf("Variabel a, b, c, d, e, f = 10 \n\n");
9 a += 5;
10 printf("Hasil operasi 'a += 5': %d \n",a);

11

12 b -= 3;

13 printf("Hasil operasi 'b -= 3': %d \n",b);


14

15

16 c *= 3;

17 printf("Hasil operasi 'c *= 3': %d \n",c);

18
d /= 3;
19
printf("Hasil operasi 'd /= 3': %d \n",d);
20

21
e %= 3;
22
printf("Hasil operasi 'e %= 3': %d \n",e);
23

24
f <<= 2;
25 printf("Hasil operasi 'f <<= 2': %d \n",f);
26

27 return 0;

28 }

29

Dalam kode program ini saya membuat 6 buah operator assignment gabungan.
Variabel a, b, c, d, e, dan f semuanya diisi dengan nilai awal 10, kemudian di
proses dengan berbagai operator assignment gabungan.
Tutorial operator assignment dan assignment gabungan kali ini menutup sesi
tentang operator bahasa C. Berikutnya kita akan masuk ke alur kondisi kode
program yang diawali dengan Percabangan Kondisi IF Bahasa C.

Tutorial Belajar C Part 33: Percabangan Kondisi IF


Bahasa C
31 Oct 18 | Andre | Tutorial C | 2 Comments

Mulai dari tutorial ini dan beberapa tutorial ke depan, kita akan mempelajari
struktur percabangan kode program dalam bahasa C. Sesi bahasan ini dibuka
dengan bentuk percabangan yang paling sederhana, yakni kondisi IF.

Pengertian Kondisi IF bahasa C


Dalam pembuatan program, ada saatnya kita butuh suatu percabangan, yakni
jika sebuah kondisi terpenuhi, jalankan kode program ini, jika tidak, jalankan
kode program yang lain. Menggunakan bahasa C, konsep ini dibuat dari struktur
IF dengan aturan penulisan sebagai berikut:
if (condition)

//Kode program yang akan dijalankan jika condition berisi nilai True (1)

Bagian condition berperan sebagai penentu dari struktur percabangan.


Jika condition terpenuhi (menghasilkan nilai TRUE atau 1), blok kode program
akan dijalankan. Jika condition tidak terpenuhi (menghasilkan nilai FALSE atau 0),
blok kode program tidak akan dijalankan.
Blok kode program yang saya maksud adalah semua kode yang berada di antara
tanda kurung kurawal “{” dan “}”. Condition biasanya terdiri dari operasi
perbandingan, misalnya apakah variabel a berisi angka 10, atau variabel
password berisi string ‘rahasia’.
Mari kita bahas dengan contoh kode program.

Contoh Kode Program Percabangan IF Bahasa C


Sebagai contoh pertama saya akan membuat kode program sederhana, yakni
melihat apakah sebuah angka lebih besar dari angka lain, lalu tampilkan
hasilnya jika kondisi terpenuhi:
1
#include <stdio.h>
2

3
int main(void)
4 {
5 int a = 12;

6 int b = 10;

8 if (a > b) {

9 printf("Variabel a lebih besar dari variabel b \n");

}
10

11
return 0;
12
}
13

Di awal kode program saya mengisi variabel a dengan angka 12, dan
variabel b dengan angka 10. Kemudian di baris 8 terdapat kondisi if (a > b), yakni
apakah variabel a berisi angka yang lebih besar dari b? Apakah 12 lebih besar
dari 10? betul (true), maka blok kode program akan dijalankan.
Kita juga bisa membuat struktur if ini beberapa kali tergantung kebutuhan,
seperti contoh berikut:

1 #include <stdio.h>

3 int main(void)

{
4
int a = 12;
5
int b = 10;
6
7

8
if (a > b) {
9
printf("Variabel a lebih besar dari variabel b \n");
10 }
11 if (a < b) {
12 printf("Variabel a lebih kecil dari variabel b \n");

13 }

14 if (a == b) {

printf("Variabel a sama besar dengan variabel b \n");


15
}
16
return 0;
17
}
18

Hasil kode program:

Variabel a lebih besar dari variabel b

Kode program ini merupakan hasil modifikasi dari kode sebelumnya. Di sini saya
membuat 3 buah kondisi, yakni if (a > b), if (a < b), atau if (a == b). Setiap kondisi if
akan diperiksa, dan jika operasi perbandingan menghasilkan nilai true atau 1,
maka blok kode program tersebut akan diproses. Silahkan anda coba ubah isi
variabel a dan b untuk melihat blok kode program mana yang akan dijalankan.
Supaya lebih interaktif, saya bisa modifikasi kode di atas dengan meminta user
menginput angka ke dalam variabel a dan b:
1 #include <stdio.h>

3 int main(void)

{
4
int a, b;
5

6
printf("Input variabel a: ");
7
scanf("%d",&a);
8

9
printf("Input variabel b: ");
10 scanf("%d",&b);
11
12

13 printf("\n");

14

15 if (a > b) {

16 printf("Variabel a lebih besar dari variabel b \n");

}
17
if (a < b) {
18
printf("Variabel a lebih kecil dari variabel b \n");
19
}
20
if (a == b) {
21 printf("Variabel a sama besar dengan variabel b \n");
22 }

23 return 0;

24 }

25

Selain tambahan perintah scanf agar user bisa menginput angka, kode program
kita masih sama seperti sebelumnya, yakni mencari variabel mana berisi angka
yang lebih besar.
Contoh terakhir, mari buat kode program yang bisa menebak apakah angka
yang diinput merupakan bilangan genap atau bilangan ganjil:

1 #include <stdio.h>

3 int main(void)

{
4
int a;
5

7 printf("Input sembarang angka: ");

8 scanf("%d",&a);

9
printf("\n");
10

11
if (a % 2 == 0) {
12
printf("%d adalah angka genap \n", a);
13
}
14
if (a % 2 == 1) {
15 printf("%d adalah angka ganjil \n", a);
16 }
17

18 return 0;

19 }

20

Hasil kode program:

Input sembarang angka: 28

28 adalah angka genap

Input sembarang angka: 9999

9999 adalah angka ganjil

Sekarang kondisi yang diperiksa adalah if (a % 2 == 0) dan if (a % 2 == 1). Di


dalam bahasa C, tanda persen ( % ) adalah operator modulus yang dipakai
untuk mencari sisa hasil bagi. Lebih lanjut tentang operator ini pernah kita
bahas di Operator Aritmatika Bahasa C.
Kondisi pertama, yakni if (a % 2 == 0) akan bernilai true atau menghasilkan
angka 1 jika variabel a habis dibagi 2. Ini artinya variabel a berisi angka genap.
Sedangkan kondisi kedua, yakni if (a % 2 == 1) akan bernilai true atau
menghasilkan angka 1 jika variabel a bersisa 1 ketika dibagi 2. Ini artinya variabel
a berisi angka ganjil.
Percabangan IF seperti ini sangat sering dipakai untuk memecahkan sebuah
masalah. Sebagai bentuk lain, kita akan bahas percabangan IF ELSE dalam
tutorial selanjutnya.

Tutorial Belajar C Part 34: Percabangan Kondisi IF ELSE


Bahasa C
01 Nov 18 | Andre | Tutorial C | 18 Comments

Dalam tutorial kali ini kita akan membahas lanjutan dari kondisi percabangan
dalam bahasa C, yakni kondisi IF ELSE.

Pengertian Kondisi IF ELSE bahasa C


Pada dasarnya, kondisi IF ELSE merupakan modifikasi tambahan dari kondisi IF
yang sudah kita pelajari sebelumnya.
Blok kode program IF tetap akan dijalankan ketika kondisi true (1), namun
sekarang terdapat tambahan bagian ELSE akan dijalankan ketika
kondisi false (0).
Berikut format dasarnya:

if (condition)

//Kode program yang akan dijalankan jika condition berisi nilai True (1)

else

//Kode program yang akan dijalankan jika condition berisi nilai False (0)

Bagian condition berperan sebagai penentu dari struktur percabangan ini.


Jika condition terpenuhi (menghasilkan nilai TRUE atau 1), blok kode program
milik IF akan dijalankan. Jika condition tidak terpenuhi (menghasilkan
nilai FALSE atau 0), blok kode program bagian ELSE-lah yang akan diproses.
Mari kita lihat contoh prakteknya.
Contoh Kode Program Percabangan IF ELSE Bahasa
C
Pada tutorial sebelumnya saya membuat program pencari bilangan genap /
ganjil menggunakan 2 buah kondisi IF sebagai berikut:
1 if (a % 2 == 0) {
2 printf("%d adalah angka genap \n", a);

3 }

4 if (a % 2 == 1) {

5 printf("%d adalah angka ganjil \n", a);

}
6

Alur ini sebenarnya akan lebih sederhana (dan lebih efisien) jika kita ubah ke
dalam struktur IF ELSE.
Jika sebuah angka tidak genap, maka pasti itu adalah angka ganjil. Sehingga jika
kondisi if (a % 2 == 0) tidak terpenuhi (false), maka variabel a pasti berisi angka
ganjil. Dengan demikian kode programnya bisa saya tulis ulang sebagai berikut:
1 #include <stdio.h>

3 int main(void)

{
4
int a;
5

6
printf("Input sembarang angka: ");
7
scanf("%d",&a);
8

9
printf("\n");
10

11 if (a % 2 == 0) {
12 printf("%d adalah angka genap \n", a);
13 }

14 else {

15 printf("%d adalah angka ganjil \n", a);

}
16

17
18
return 0;
19
}
20

Sekarang jika kondisi if (a % 2 == 0) menghasilkan false, bagian ELSE lah yang


akan di proses. Kode program akan jadi lebih efisien karena pemeriksaan
kondisi hanya perlu dilakukan 1 kali saja.
Berikut contoh lain dari struktur kondisi IF ELSE:

1 #include <stdio.h>

3 int main(void)

{
4
int a;
5

6
printf("Input nilai ujian: ");
7
scanf("%d",&a);
8

9
printf("\n");
10

11 if (a >= 75) {
12 printf("Selamat, anda lulus \n");
13 }

14 else {

15 printf("Maaf, silahkan coba lagi tahun depan \n");

}
16

17
18
return 0;
19
}
20

Hasil kode program:

1 Input nilai ujian: 60

2 Maaf, silahkan coba lagi tahun depan

4 Input nilai ujian: 80

5 Selamat, anda lulus

Di sini saya membuat kondisi if (a >= 75), yakni jika variabel a berisi angka lebih
besar atau sama dengan 75 maka jalankan perintah printf(“Selamat, anda lulus \
n”). Jika tidak, blok ELSE lah yang akan di eksekusi, yakni printf(“Maaf, silahkan
coba lagi tahun depan \n”).

Pada tutorial kali ini kita telah membahas kondisi percabangan IF ELSE bahasa C,
yang cocok dipakai jika ada 2 kondisi yang saling bertentangan: “Jika kondisi
sesuai jalankan kode ini, jika tidak jalankan kode lain”.

Berikutnya akan dibahas kondisi percabangan IF ELSE IF dalam bahasa C.

Tutorial Belajar C Part 35: Percabangan Kondisi IF ELSE


IF Bahasa C
21 Mar 19 | Andre | Tutorial C | 15 Comments

Dalam tutorial sebelumnya kita telah membahas tentang perulangan IF ELSE,


yakni sebuah percabangan kode program dimana jika kondisi IF bernilai true,
maka jalankan perintah yang ada di dalam blok IF tersebut. Namun jika kondisi
bernilai false, maka jalankan kode program di dalam blok ELSE.
Kali ini kita akan lanjut membahas percabangan IF ELSE IF, yang boleh
disamakan dengan “menyambung” beberapa kondisi IF ELSE sekaligus.

Pengertian Kondisi IF ELSE IF bahasa C


Pada dasarnya, kondisi IF ELSE IF adalah sebuah struktur logika program yang
di dapat dengan cara menyambung beberapa kondisi IF ELSE menjadi sebuah
kesatuan.
Jika kondisi pertama tidak terpenuhi atau bernilai false, maka kode program
akan lanjut ke kondisi IF di bawahnya. Jika ternyata tidak juga terpenuhi, akan
lanjut lagi ke kondisi IF di bawahnya, dst hingga blok ELSE terakhir atau
terdapat kondisi IF yang bernilai true.
Berikut format dasar penulisan kondisi IF ELSE IF dalam bahasa C:
if (condition_1) {

// Kode program yang dijalankan jika condition_1 berisi nilai True

else if (condition_2) {

// Kode program yang dijalankan jika condition_2 berisi nilai True

else if (condition_3) {

// Kode program yang dijalankan jika condition_3 berisi nilai True

else {

// Kode program yang dijalankan jika semua kondisi tidak terpenuhi

Mari kita lihat contoh prakteknya.

Contoh Kode Program Percabangan IF ELSE IF


Bahasa C
Sebagai contoh pertama, saya ingin membuat sebuah kode program untuk
menampilkan nilai. User diminta menginput sebuah huruf antara ‘A’ – ‘E’.
Kemudian kode program akan menampilkan hasil tampilan yang berbeda-beda
untuk setiap huruf yang diinput, termasuk jika huruf tersebut di luar ‘A’ – ‘E’.

Berikut contoh kode programnya:

1 #include <stdio.h>

2 int main(void)

{
3
char nilai;
4

6
printf("Input Nilai Anda (A - E): ");
7
scanf("%c",&nilai);
8

9
if (nilai == 'A' ) {
10 printf("Pertahankan! \n");
11 }

12 else if (nilai == 'B' ) {

13 printf("Harus lebih baik lagi \n");

14 }

else if (nilai == 'C' ) {


15
printf("Perbanyak belajar \n");
16
}
17
else if (nilai == 'D' ) {
18
printf("Jangan keseringan main \n");
19 }
20 else if (nilai == 'E' ) {

21 printf("Kebanyakan bolos... \n");

22 }

23 else {

printf("Maaf, format nilai tidak sesuai \n");


24
}
25
return 0;
26
}
27

28

Hasil kode program:

Input Nilai Anda (A - E): A

Pertahankan!

Input Nilai Anda (A - E): D

Jangan keseringan main


Input Nilai Anda (A - E): E

Kebanyakan bolos...

Input Nilai Anda (A - E): F

Maaf, format nilai tidak sesuai

Di baris 5 saya mendefinisikan sebuah variabel nilai sebagai char.


Variabel nilai ini kemudian dipakai untuk menampung input dari
perintah scanf di baris 8.
Mulai dari baris 10 hingga 27, terdapat 5 buah pemeriksaan kondisi, yakni satu
untuk setiap block IF ELSE. Dalam setiap kondisi, isi variabel nilai akan di
diperiksa, apakah itu berupa karakter ‘A’, ‘B’, hingga ‘E’. Jika salah satu kondisi ini
terpenuhi, maka block kode program yang sesuai akan di eksekusi.
Jika ternyata nilai inputan bukan salah satu dari karakter ‘A’ – ‘E’, maka block
ELSE di baris 25 lah yang akan dijalankan.
Setiap kondisi dari block IF ELSE IF ini bisa diisi dengan perbandingan yang
lebih kompleks, seperti contoh berikut:
1 #include <stdio.h>

3 int main(void)

{
4
int nilai;
5

6
printf("Input Nilai Anda (0 - 100): ");
7
scanf("%i",&nilai);
8

9
if (nilai >= 90 ) {
10 printf("Pertahankan! \n");
11 }
12 else if (nilai >= 80 && nilai < 90) {

13 printf("Harus lebih baik lagi \n");

14 }

else if (nilai >= 60 && nilai < 80) {


15
printf("Perbanyak belajar \n");
16
}
17
18

19 else if (nilai >= 40 && nilai < 60) {

20 printf("Jangan keseringan main \n");

}
21
else if (nilai < 40) {
22
printf("Kebanyakan bolos... \n");
23
}
24
else {
25
printf("Maaf, format nilai tidak sesuai \n");
26 }
27 return 0;

28 }

29

Di sini saya memodifikasi sedikit kode program kita sebelumnya. Sekarang nilai
inputan berupa angka antara 0 hingga 100. Angka inputan ini ditampung ke
dalam variabel nilai yang sekarang di set sebagai tipe data integer di baris 5.
Di baris 10, isi dari variabel nilai di periksa apakah berisi angka yang lebih dari
90. Jika iya, tampilkan teks “Pertahankan!”.
Jika kondisi di baris 10 tidak terpenuhi (yang artinya isi variabel nilai kurang dari
90), maka kode program akan lanjut ke kondisi ELSE IF berikutnya di baris 13.
Di sini saya menggabungkan dua buah kondisi menggunakan operator
logika && (yakni operator AND). Kondisi if(nilai >= 80 && nilai < 90) hanya akan
terpenuhi jika isi variabel nilai berada dalam rentang 80 sampai 89.
Ketika membuat kondisi perbandingan, kita harus hati-hati dengan penggunaan
tanda, apakah ingin menggunakan tanda lebih besar saja (>) atau tanda lebih
besar sama dengan (>=) karena bisa mempengaruhi hasil akhir.

Jika ternyata kondisi ini tidak dipenuhi juga (artinya isi variabel nilai kurang dari
80), program akan lanjut ke kondisi if(nilai >= 60 && nilai < 80) di baris 16, yakni
apakah nilai berada dalam rentang 60 – 79. Demikian seterusnya hingga kondisi
terakhir if(nilai < 40) di baris 22.
Jika semua kondisi tidak terpenuhi, jalankan block ELSE di baris 26.
Berikut hasil percobaan dari kode program di atas:

Input Nilai Anda (0 - 100): 95

Pertahankan!

Input Nilai Anda (0 - 100): 60


Perbanyak belajar

Input Nilai Anda (0 - 100): 30

Kebanyakan bolos...

Yang cukup unik adalah, jika kita memberikan nilai di luar rentang 0 – 100, akan
tetap ditangkap oleh kondisi IF di baris 10 atau di baris 22:
Input Nilai Anda (0 - 100): 200

Pertahankan!

Input Nilai Anda (0 - 100): -1000

Kebanyakan bolos...

Ini terjadi karena nilai 200 tetap memenuhi syarat if (nilai >= 90), dan nilai -1000
juga tetap memenuhi syarat if (nilai < 40). Silahkan anda modifikasi kode
program di atas agar jika diinput angka di luar dari rentang 0 -100, akan tampil
teks “Maaf, format nilai tidak sesuai”. Untuk hal ini kita cuma perlu mengubah /
menambah 2 kondisi saja.

Dalam tutorial kali ini kita telah membahas tentang konsep struktur logika IF
ELSE IF, yang tidak lain berupa kondisi IF yang saling bersambung. Berikutnya
kita akan masuk ke struktur kondisi SWITCH, yang dalam banyak hal mirip
seperti IF ELSE IF.

Tutorial Belajar C Part 36: Percabangan Kondisi Switch


Case Bahasa C
22 Mar 19 | Andre | Tutorial C | 3 Comments

Kondisi SWITCH CASE yang akan kita pelajari kali ini bisa dipakai sebagai
alternatif penulisan kondisi logika IF ELSE IF yang baru saja kita bahas.
Namun tidak semua kondisi IF ELSE IF bisa dikonversi ke dalam bentuk SWITCH
CASE. Apa saja itu? kita akan bahas dengan detail dalam lanjutan tutorial bahasa
pemrograman C kali ini.

Pengertian Kondisi SWITCH CASE Bahasa C


Kondisi SWITCH CASE adalah percabangan kode program dimana kita
membandingkan isi sebuah variabel dengan beberapa nilai. Jika proses
perbandingan tersebut menghasilkan nilai true, maka block kode program akan
dijalankan.
Kondisi SWITCH CASE terdiri dari 2 bagian, yakni perintah SWITCH dimana
terdapat nama variabel yang akan diperiksa, serta 1 atau lebih perintah CASE,
masing-masing untuk setiap nilai yang ingin diperiksa.
Berikut format dasar penulisan kondisi SWITCH CASE dalam bahasa C:
switch (nama_variabel) {

case 'nilai_1':

// Kode program yang dijalankan jika nama_variabel == nilai_1

break;

case 'nilai_2':

// Kode program yang dijalankan jika nama_variabel == nilai_2

break;

case 'nilai_3':

// Kode program yang dijalankan jika nama_variabel == nilai_3

break;

...

...

default:

// Kode program yang dijalankan jika tidak ada kondisi yang terpenuhi

Di awal kode program, terdapat perintah SWITCH untuk menginput variabel


yang akan diperiksa. Kemudian terdapat beberapa perintah CASE yang diikuti
dengan sebuah nilai. Jika isi dari variabel sama dengan salah satu nilai ini, maka
blok kode program akan dijalankan. Jika ternyata tidak ada kondisi CASE yang
sesuai, blok default di baris paling bawah lah yang akan dijalankan.
Di dalam setiap block case diakhiri dengan perintah break; agar
struktur CASE langsung berhenti begitu kondisi terpenuhi. Mari langsung kita
lihat contoh prakteknya.
Contoh Kode Program Percabangan SWITCH CASE
Bahasa C
Dalam tutorial sebelumnya, kita telah membuat program menampilkan nilai
dengan struktur IF ELSE IF. Kita akan coba konversi kode tersebut menjadi
struktur SWITCH CASE. Sebelumnya, berikut kode program menampilkan nilai
dengan struktur IF ELSE IF:
1 #include <stdio.h>

2 int main(void)

{
3
char nilai;
4

5
printf("Input Nilai Anda (A - E): ");
6
scanf("%c",&nilai);
7

8
if (nilai == 'A' ) {
9 printf("Pertahankan! \n");
10 }
11 else if (nilai == 'B' ) {

12 printf("Harus lebih baik lagi \n");

13 }

else if (nilai == 'C' ) {


14
printf("Perbanyak belajar \n");
15
}
16
else if (nilai == 'D' ) {
17
printf("Jangan keseringan main \n");
18 }
19 else if (nilai == 'E' ) {
20 printf("Kebanyakan bolos... \n");

21 }

22 else {

printf("Maaf, format nilai tidak sesuai \n");


23
}
24
25

26 return 0;

27 }

28

Program yang sama bisa dikonversi ke dalam bentuk SWITCH CASE berikut:
1 #include <stdio.h>

3 int main(void)

{
4
char nilai;
5

6
printf("Input Nilai Anda (A - E): ");
7
scanf("%c",&nilai);
8

9
switch (nilai) {
10 case 'A':
11 printf("Pertahankan! \n");
12 break;

13 case 'B':

14 printf("Harus lebih baik lagi \n");

break;
15
case 'C':
16
printf("Perbanyak belajar \n");
17
break;
18
case 'D':
19 printf("Jangan keseringan main \n");
20 break;
21 case 'E':

22 printf("Kebanyakan bolos... \n");

23 break;

default:
24
printf("Maaf, format nilai tidak sesuai \n");
25
}
26
27

28

29 return 0;

30 }

31

Hasil kode program:

Input Nilai Anda (A - E): A

Pertahankan!

Input Nilai Anda (A - E): D

Jangan keseringan main

Input Nilai Anda (A - E): E

Kebanyakan bolos...

Input Nilai Anda (A - E): F

Maaf, format nilai tidak sesuai

Di baris 8 saya meminta user untuk menginput salah satu huruf antara ‘A’ – ‘E’.
Nilai huruf ini disimpan ke dalam variabel nilai yang di set dengan tipe data char.
Kondisi SWITCH CASE dimulai pada baris 10. Di sini terdapat perintah switch
(nilai), yang artinya saya ingin memeriksa isi dari variabel nilai. Seluruh block
SWITCH ini berada di dalam tanda kurung kurawal, yakni mulai dari baris 10
sampai 28.
Di baris 11 terdapat perintah case ‘A’: Ini artinya jika variabel nilai berisi karakter
‘A’, maka jalankan isi dari block CASE, yakni perintah printf(“Pertahankan! \n”).
Lalu terdapat perintah break di baris 13 agar struktur CASE lain tidak perlu di
proses lagi.
Di baris 14 terdapat perintah CASE kedua, yakni case ‘B’:. Sama seperti
sebelumnya, blok ini akan dijalankan jika variabel nilai berisi huruf ‘B’. Demikian
seterusnya sampai case ‘E’ : di baris 23.
Jika ternyata tidak ada nilai yang sesuai, maka block default di baris 26 yang akan
di eksekusi.
Struktur SWITCH CASE ini terlihat lebih rapi daripada struktur IF ELSE IF, dan
kadang kala bisa lebih efisien. Namun SWITCH CASE juga memiliki batasan, yakni
tidak bisa dipakai untuk kondisi yang lebih kompleks seperti perbandingan
dengan tanda lebih besar dari ” > “, maupun penggabungan kondisi.
Kita tidak bisa membuat struktur CASE seperti berikut:
1 case > '90':

2 printf("Pertahankan! \n");

3 break;

Kondisi perbandingan di atas hanya bisa ditulis menggunakan struktur IF.

Sehingga jika kondisi yang diperiksa cukup rumit, tetap harus menggunakan
struktur IF ELSE IF. Struktur SWITCH CASE hanya cocok dipakai untuk operasi
perbandingan sederhana, dimana nilai yang diperiksa hanya terdiri dari nilai
yang tetap.

Dalam tutorial ini kita telah membahas pengertian dan cara penggunaan
struktur SWITCH CASE dalam bahasa pemrograman C. Selanjutnya akan
disambung dengan struktur perulangan (loop), yang diawali dengan perulangan
FOR.

Tutorial Belajar C Part 37: Perulangan FOR Bahasa C


23 Mar 19 | Andre | Tutorial C | 8 Comments
Dalam bahasa C (dan juga bahasa turunan C seperti C++, PHP dan Java),
terdapat 3 buah struktur perulangan atau looping, yakni perulangan for, perulangan
while dan perulangan do while.
Dalam tutorial bahasa pemrograman C kali ini kita akan bahas perulangan for
terlebih dahulu.

Pengertian Struktur Perulangan For Bahasa C


Struktur perulangan (atau dalam bahasa inggris disebut dengan loop) adalah
instruksi kode program yang bertujuan untuk mengulang beberapa baris
perintah.
Dalam merancang perulangan, kita setidaknya harus mengetahui 3 komponen:

1. Kondisi awal perulangan.


2. Kondisi pada saat perulangan.
3. Kondisi yang harus dipenuhi agar perulangan berhenti.
Berikut format dasar struktur perulangan for dalam bahasa C:

1 for (start; condition; increment)


{
2
// kode program
3 // kode program
4 }
5
Start adalah kondisi pada saat awal perulangan. Biasanya kondisi awal ini berisi
perintah untuk memberikan nilai kepada variabel counter. Variabel counter sendiri
adalah sebuah variabel yang akan menentukan berapa banyak perulangan
dilakukan. Kebanyakan programmer menggunakan variabel i sebagai variabel
counter (ini tidak harus).
Condition adalah kondisi yang harus dipenuhi agar perulangan berjalan. Selama
kondisi ini terpenuhi, maka compiler bahasa C akan terus melakukan perulangan.
Misalnya condition ini berisi perintah i < 5, maka selama variabel counter i berisi
angka yang kurang dari 5, maka lakukan perulangan.
Increment adalah bagian yang dipakai untuk memproses variabel counter agar
bisa memenuhi kondisi akhir perulangan. Bagian ini akan selalu di eksekusi di
setiap perulangan.
Disebut increment karena biasanya berisi operasi increment seperti i++, yang
sama dengan i = i + 1. Maksudnya, dalam setiap perulangan naikkan variabel i
sebanyak 1 angka. Namun kita juga bisa memberikan nilai lain, misalnya i = i + 2,
sehingga variabel counter akan naik 2 angka setiap perulangan
Sebagai tambahan, terdapat istilah iterasi (iteration), yang berarti 1 kali
perulangan. Istilah ini cukup sering dipakai ketika membahas tentang struktur
perulangan.
Baik, cukup dengan teorinya mari kita masuk ke contoh praktek.

Contoh Kode Program Perulangan For Bahasa C


Sebagai contoh pertama, saya ingin menampilkan teks “Hello World” sebanyak 5
kali. Berikut kode programnya:
1
#include <stdio.h>
2
3 int main(void)
4 {
5 int i;
6 for (i = 1; i < 5; i++) {
7 printf("Hello World \n");
}
8 return 0;
9 }
10
Di baris 5 saya membuat sebuah variabel i yang di set dengan tipe data integer.
Variabel ini nantinya akan saya pakai sebagai variabel counter, yakni variabel
yang menentukan kondisi akhir perulangan.
Perintah di baris 6, yakni for (i = 1; i < 5; i++), bisa dibaca:
“Jalankan perulangan, mulai dari variabel i = 1 sampai i < 5. Dalam setiap iterasi, naikkan
nilai variabel i sebanyak 1 angka menggunakan perintah i++“.
Berikut hasilnya:

Hello World
Hello World
Hello World
Hello World
Pertanyaannya, kenapa hanya tampil 4 baris “Hello World“? Padahal kita
mengulang dari i = 1 sampai i < 5.
Ini berkaitan dengan penggunaan tanda. Kondisi akhir perulangan adalah i < 5,
yang artinya akan selalu bernilai true jika i kurang dari 5, tapi jika sudah sampai
dengan 5 maka kondisi menjadi false dan perulangan berhenti.
Agar teks “Hello World” bisa tampil sebanyak 5 kali, ada 2 alternatif, yakni
mengubah kondisi awal menjadi i = 0, atau mengubah kondisi akhir menjadi i
<=5. Pilihan kedua ini tambak lebih baik:
1
#include <stdio.h>
2
3 int main(void)
4 {
5 int i;
6 for (i = 1; i <= 5; i++) {
7 printf("Hello World \n");
}
8 return 0;
9 }
10
Hasil kode program:

Hello World
Hello World
Hello World
Hello World
Hello World
Sekarang teks “Hello World” sudah tampil sebanyak 5 kali. Sekali lagi, hati-hati
dengan menggunakan tanda perbandingan, terutama antara “<” dengan “<=“.
Di dalam perulangan, kita juga bisa mengakses variabel counter seperti contoh
berikut:
1
#include <stdio.h>
2
3 int main(void)
4 {
5 int i;
6 for (i = 1; i <= 5; i++) {
7 printf("Hello World %i \n",i);
}
8 return 0;
9 }
10
Hasil kode program:
Hello World 1
Hello World 2
Hello World 3
Hello World 4
Hello World 5
Sekarang setelah teks “Hello World“, tampil angka yang berasal dari nilai variabel
i. Karena dalam setiap iterasi variabel counter i akan dinaikkan 1 angka
(proses increment), maka nilainya juga akan naik 1 angka untuk setiap iterasi.
Variabel counter i juga tidak haris di increment, tapi juga bisa di decrement untuk
membuat perulangan menurun. Berikut contohnya:
1
#include <stdio.h>
2
3 int main(void)
4 {
5 int i;
6 for (i = 5; i >= 1; i--) {
7 printf("Hello World %i \n",i);
}
8 return 0;
9 }
10
Hasil kode program:

Hello World 5
Hello World 4
Hello World 3
Hello World 2
Hello World 1
Kode kita sangat mirip seperti sebelumnya, tapi perhatikan perintah for di baris
6: for (i = 5; i >= 1; i--). Ini bisa dibaca:
“Jalankan perulangan, mulai dari variabel i = 5 sampai i >= 1. Dalam setiap iterasi,
turunkan nilai variabel i sebanyak 1 angka menggunakan perintah i--“.
Hasilnya, nilai variabel counter i akan berkurang 1 angka dalam setiap iterasi.

Sebagai contoh terakhir, bisakah anda membuat perulangan untuk


menampilkan angka kelipatan 3 sebanyak 10 kali? Hasil akhir yang kita inginkan
adalah sebagai berikut:

3 6 9 12 15 18 21 24 27 30
Terdapat beberapa cara untuk menghasilkan deret ini. Pertama, ubah di sisi
block perintah yang akan dijalankan. Dimana variabel counter i tetap naik dari 1
sampai 10:

1 #include <stdio.h>
2
int main(void)
3
{
4 int i;
5 for (i = 1; i <= 10; i++) {
6 printf("%i ",i*3);
7 }
8
printf("\n");
9 return 0;
10 }
11
Agar menghasilkan angka yang naik kelipatan 3, teknik yang dipakai adalah
mengalikan nilai variabel counter i dengan angka 3 untuk setiap iterasi.

Cara kedua adalah memodifikasi proses increment dari variabel counter:


1
2 #include <stdio.h>
3
int main(void)
4 {
5 int i;
6 for (i = 3; i <= 30; i = i + 3) {
7 printf("%i ",i);
}
8 printf("\n");
9 return 0;
10 }
11
Perhatikan perintah perulangan for di baris 6. Perintah for (i = 3; i <= 30; i = i +
3) bisa dibaca:
“Jalankan perulangan, mulai dari variabel i = 3 sampai i <= 30. Dalam setiap iterasi,
naikkan nilai variabel i sebanyak 3 angka menggunakan perintah i = i + 3“.
Teknik ini agak jarang dipakai, tapi itu bisa dilakukan.

Dalam tutorial kali ini kita telah membahas tentang perulangan (looping) for.
Nantinya looping ini bisa dikombinasikan lebih lanjut misalnya untuk membuat
perulangan bersarang (nested loop). Tapi untuk berikutnya kita akan lanjut dulu
ke bentuk perulangan kedua dalam bahasa C, yakni perulangan WHILE.

Tutorial Belajar C Part 38: Perulangan WHILE Bahasa C


24 Mar 19 | Andre | Tutorial C | 9 Comments
Melanjutkan tutorial belajar bahasa pemrograman C di Duniailkom, kali ini kita
akan bahas struktur perulangan (looping) kedua, yakni perulangan WHILE.

Pengertian Struktur Perulangan While Bahasa C


Dalam tutorial sebelumnya, yakni tentang perulangan FOR. Kita telah membahas
bahwa sebuah perulangan setidaknya memiliki 3 syarat: kondisi awal
perulangan, kondisi pada saat perulangan, dan kondisi akhir perulangan.
Dalam perulangan FOR, ketiga syarat ini ditulis dalam 1 baris perintah,
seperti: for (i = 1; i < 5; i++). Di dalam perulangan WHILE, ketiga kondisi ini saling
terpisah.
Berikut format dasar struktur perulangan WHILE dalam bahasa C:
1 start;
2 while (condition)
3 {

4 // kode program

5 // kode program

increment;
6
}
7

Di bagian start biasanya berupa perintah inisialisasi variabel counter, misalnya i


= 0. Di bagian condition terdapat kondisi yang harus dipenuhi agar perulangan
berjalan, misalnya i < 5. Kemudian perintah increment di dalam block perulangan
yang di pakai untuk menaikkan nilai variabel counter, misalnya dengan
perintah i++.
Mari kita lihat contoh prakteknya.

Contoh Kode Program Perulangan While Bahasa C


Sebagai praktek pertama, berikut kode program perulangan WHILE untuk
menampilkan teks “Hello World” sebanyak 5 kali:
1 #include <stdio.h>

3 int main(void)

{
4
int i = 1;
5
while (i <= 5){
6
printf("Hello World \n");
7
i++;
8
}
9
return 0;
10 }
11

Hasil kode program:

Hello World

Hello World

Hello World

Hello World

Hello World

Di baris 5 terdapat perintah untuk menginput angka 1 ke dalam variabel i.


Nantinya, variabel i ini akan menjadi variabel counter yang dipakai untuk
menentukan jumlah perulangan.
Proses perulangan di mulai di baris 6. Perintah while (i <= 5) artinya, selama nilai
variabel i kurang atau sama dengan 5, maka jalankan perulangan.
Di dalam blok perulangan terdapat perintah printf(“Hello World \n”) di baris 7. Ini
dipakai untuk menampilkan teks “Hello World“. Kemudian di baris 8 terdapat
perintah increment, yakni i++. Perintah ini akan menaikkan nilai variabel i
sebanyak 1 angka dalam setiap iterasi.
Perulangan while di atas akan di ulang sebanyak 5 kali, mulai dari i = 1, i = 2, i =
3, i = 4, hingga i = 5. Ketika nilai variabel counter i sudah mencapai 6, maka
kondisi while (i <= 5) tidak terpenuhi lagi (false), sehingga perulangan berhenti.
Salah satu hal yang harus selalu diingat ketika membuat perulangan while
adalah, jangan lupa membuat perintah increment. Jika tidak, kondisi akhir tidak
akan pernah terpenuhi dan perulangan akan berjalan terus menerus. Ini dikenal
dengan istilah infinity loop. Berikut contohnya:
1 #include <stdio.h>

3 int main(void)

{
4
int i = 1;
5
while (i <= 5){
6
printf("Hello World \n");
7
}
8
return 0;
9
}
10

Jika anda menjalankan kode program di atas, teks “Hello World” akan
ditampilkan terus menerus, tidak pernah selesai. Penyebabnya karena
kondisi while (i <= 5) akan selalu bernilai true. Di dalam blok perulangan tidak ada
perintah yang bisa mengubah nilai variabel i agar kondisi while (i <=
5) bernilai false.
Untuk menghentikan infinity loop, tutup paksa jendela hasil dengan men-klik
tanda (x) di sudut kanan atas, atau tekan kombinasi CTRL + C.

Contoh hasil infinity loop


Sama seperti perulangan FOR, di dalam block perulangan WHILE kita juga bisa
mengakses nilai dari variabel counter i:
1
#include <stdio.h>
2

3
int main(void)
4 {
5 int i = 1;

6 while (i <= 5){

7 printf("Hello World %i \n",i);

8 i++;

}
9
return 0;
10
}
11

Hasil kode program:

Hello World 1
Hello World 2

Hello World 3

Hello World 4

Hello World 5

Bagaimana dengan perulangan menurun? tidak masalah. Kita tinggal


mengatur kondisi awal, kondisi akhir, serta proses decrement:
1
#include <stdio.h>
2

3
int main(void)
4 {
5 int i = 10;

6 while (i > 5){

7 printf("Hello World %i \n",i);

8 i--;

}
9
return 0;
10
}
11

Hasil kode program:

Hello World 10

Hello World 9

Hello World 8

Hello World 7

Hello World 6

Di sini saya mengisi nilai awal variabel counter i dengan angka 10. Kondisi
perulangan adalah while (i > 5), artinya selama nilai variabel i di atas 5, jalankan
perulangan. Dan karena kita ingin membuat perulangan menurun, maka dipakai
perintah decrement i-- yang akan mengurangi nilai variabel i sebanyak 1 angka
dalam setiap iterasi.
Sebagai latihan, silahkan anda coba rancang kode program
perulangan WHILE untuk membuat deret berikut:
3 6 9 12 15 18 21 24 27 30

Deret ini sudah pernah kita bahasa dalam tutorial perulangan FOR. Sekarang
tinggal mengkonversinya menjadi perulangan WHILE.
Sebelum menutup tutorial ini, saya ingin membuat tantangan lain. Tanpa
menjalankan kode program di bawah ini, bisakah anda menebak hasilnya?

1
#include <stdio.h>
2

3
int main(void)
4 {
5 int i = 10;

6 while (i <= 5){

7 printf("Hello World %i \n",i);

8 i++;

}
9
return 0;
10
}
11

Berapa kali teks “Hello World” tampil? Yup, jawabannya: Tidak ada. Alasannya
karena kondisi awal perulangan WHILE sudah langsung tidak terpenuhi.
Di baris 5 saya mengisi variabel i dengan angka 10. Kemudian terdapat blok
perulangan WHILE dengan perintah while (i <= 5). Artinya, selama nilai
variabel i kurang dari 5, jalankan perulangan. Masalahnya, nilai variabel i saat ini
adalah 10, sehingga 10 <= 5 sudah langsung false. Dengan demikian, blok
perulangan tidak akan pernah dijalankan.

Pada tutorial kali ini kita telah mempelajari cara penggunaan perulangan
while atau while loop dalam bahasa pemrograman C. Selanjutnya akan dibahas
tentang perulangan ketiga, yakni Perulangan DO WHILE.

Tutorial Belajar C Part 39: Perulangan DO WHILE


Bahasa C
01 Apr 19 | Andre | Tutorial C | 8 Comments

Perulangan DO WHILE yang akan kita pelajari kali ini dalam banyak hal mirip
seperti perulangan WHILE sebelumnya, namun dengan 1 kunci perbedaan. Apa
itu? dalam lanjutan tutorial bahasa pemrograman C di Duniailkom kali ini kita
akan bahas dengan lebih detail.
Pengertian Struktur Perulangan DO WHILE Bahasa
C
Perulangan DO WHILE merupakan modifikasi dari perulangan WHILE, yakni
dengan memindahkan posisi pemeriksaan kondisi ke akhir perulangan. Artinya,
kita akan lakukan dulu sebuah perulangan, baru di akhir diperiksa apakah
kondisi variabel counter sudah terpenuhi atau belum.
Berikut format dasar struktur perulangan DO WHILE dalam bahasa C:
1
start;
2 do
3 {

4 // kode program

5 // kode program

6 increment;

}
7
while (condition)
8

Sama seperti perulangan WHILE, di bagian start biasanya terdapat perintah


inisialisasi variabel counter, misalnya i = 0. Kemudian di dalam block do ditulis
kode program yang akan di ulang, tidak lupa sebuah perintah untuk menaikkan
nilai variabel counter, misalnya dengan perintah i++.
Di bagian paling bawah, terdapat perintah while (condition). Di sinilah kondisi
perulangan akan diperiksa. Selama kondisi ini menghasilkan nilai true, maka
perulangan akan lanjut ke iterasi berikutnya.

Contoh Kode Program Perulangan Do While Bahasa


C
Agar bisa dibandingkan dengan bahasan di perulangan FOR dan WHILE, berikut
contoh kode program bahasa C untuk menampilkan 5 kali teks ‘Hello World’
menggunakan perulangan DO WHILE:

1 #include <stdio.h>

2
3 int main(void)
{
4
int i = 1;
5 do {

6 printf("Hello World \n");


i++;
7
}
8
while (i <= 5);
9
return 0;
10 }
11
12
Hasil kode program:

Hello World

Hello World

Hello World

Hello World

Hello World

Di baris 5 saya mendefinisikan variabel counter i dan memberikan nilai awal 1.


Kemudian terdapat block kode program do di baris 6 – 9. Inilah kode program
yang akan di ulang, yakni berisi sebuah perintah printf untuk menampilkan teks
‘Hello World’, dan sebuah perintah increment i++ untuk menaikkan nilai
variabel i sebanyak 1 angka.
Terakhir di baris 10 terdapat perintah while (i <= 5). Artinya, selama variabel
counter i bernilai kurang dari atau sama dengan 5, jalankan kembali perulangan.
Dalam perulangan DO WHILE ini kita juga bisa mengakses variabel counter,
seperti contoh berikut:

1 #include <stdio.h>

2
3 int main(void)
{
4
int i = 1;
5
do {
6
printf("%i ",i*3);
7 i++;
8 }
9 while (i <= 5);
10 return 0;

11 }

12
Tanpa menjalankan kode program ini, bisakah anda menebak hasil yang tampil?

Yup, ini adalah kode program untuk membuat sebuah deret dengan kelipatan 3:

3 6 9 12 15

Kunci penting yang membedakan perulangan DO WHILE dengan perulangan WHILE


adalah posisi pemeriksaan kondisi. Karena dalam perulangan DO WHILE pemeriksaan
kondisi di lakukan di akhir, maka perulangan akan selalu di jalankan minimal 1 kali,
meskipun syarat perulangan sudah tidak dipenuhi.

Berikut contoh kasusnya:

1
#include <stdio.h>
2

3
int main(void)
4 {
5 int i = 10;
6 do {

7 printf("%i ",i*3);

8 i++;

}
9
while (i <= 5);
10
return 0;
11
}
12

Hasil kode program: 30.


Di baris 5 saya mengisi angka 10 ke dalam variabel counter i. Namun syarat
kondisi adalah while (i <= 5). Apakah i <=5 ? tidak (false). Namun meskipun kondisi
ini tidak dipenuhi, perulangan akan tetap dijalankan 1 kali.
Jika kondisi yang sama dibuat menggunakan WHILE, perulangan tidak akan
pernah dijalankan karena kondisi di periksa di awal. Inilah yang jadi perbedaan
antara perulangan WHILE dan DO WHILE dalam bahasa C.
Dalam tutorial ini kita telah membahas tentang prinsip kerja dari perulangan DO
WHILE dalam bahasa C. Berikutnya akan disambung dengan tutorial
tentang penggunakan perintah break dalam perulangan.

Tutorial Belajar C Part 40: Fungsi dan Pengertian


Perintah Break
04 Apr 19 | Andre | Tutorial C | 3 Comments

Melanjutkan tutorial belajar bahasa pemrograman C di Duniailkom, kali ini kita


akan membahas tentang Fungsi dan Pengertian Perintah Break.
Perintah break masih berhubungan dengan perulangan (loop) FOR, WHILE dan
DO WHILE yang baru saja di bahas.

Pengertian Perintah Break dalam Bahasa C


Ketika membuat perulangan, kadang kita ingin keluar dari perulangan sebelum
waktunya. Misalnya terdapat kode program untuk mencari sebuah nilai di dalam
array yang terdiri dari 100 element. Jika ternyata nilai sudah ditemukan di posisi
ke-43, maka sisa perulangan tidak diperlukan lagi. Akan lebih efisien jika kita
bisa langsung keluar saat itu juga, dan inilah fungsi dari perintah break.
Secara sederhana, break adalah perintah khusus yang dipakai untuk memaksa
sebuah perulangan berhenti sebelum waktunya. Perintah break ini bisa dipakai
dalam semua jenis perulangan, baik itu FOR, WHILE, maupun DO WHILE.
Berikut format dasar penggunaan perintah break dalam perulangan FOR:

1 for (start; condition; increment)

2 {

// kode program
3
// kode program
4
if (condition_2) {
5
break;
6
}
7 }
8

Dalam contoh ini, jika condition_2 terpenuhi (bernilai true), maka perulangan
akan langsung berhenti meskipun belum mencapai kondisi akhir. Mari kita
bahas dengan contoh kode program.
Contoh Kode Program Perintah Break Bahasa C
Sebelum masuk ke perintah break, berikut contoh perulangan FOR bahasa C
untuk menampilkan penambahan angka:
1
#include <stdio.h>
2

3 int main(void)
4 {
5 int i;

6 for (i = 1; i <= 10; i++) {

7 printf("%i + %i = %i \n",i,i,i+i);

}
8
return 0;
9
}
10

Hasil kode program:

1 + 1 = 2

2 + 2 = 4

3 + 3 = 6

4 + 4 = 8

5 + 5 = 10

6 + 6 = 12

7 + 7 = 14

8 + 8 = 16

9 + 9 = 18

10 + 10 = 20

Di sini saya menggunakan perulangan FOR untuk membuat daftar penambahan


1 + 1, 2 + 2, dst hingga 10 + 10.
Sekarang saya ingin jika variabel counter i sudah mencapai angka 5, maka
hentikan perulangan (break). Berikut kode programnya:
1 #include <stdio.h>

3 int main(void)
4
{
5
int i;
6 for (i = 1; i <= 10; i++) {
7 printf("%i + %i = %i \n",i,i,i+i);

8 if (i == 5) {

9 break;

10 }

}
11
return 0;
12
}
13

Di dalam perulangan FOR, yakni pada baris 8 terdapat pemeriksaan kondisi if (i


== 5). Jika kondisi ini terpenuhi (variabel counter i sudah bernilai 5) maka
jalankan perintah break. Hasilnya, perulangan langsung berhenti begitu nilai i
mencapai angka 5.
Sebagai tambahan, posisi pemeriksaan kondisi ini bisa berpengaruh kepada
tampilan akhir. Perhatikan kode program berikut:

1 #include <stdio.h>

3 int main(void)

{
4
int i;
5
for (i = 1; i <= 10; i++) {
6
if (i == 5) {
7
break;
8 }
9
printf("%i + %i = %i \n",i,i,i+i);
10
}
11
return 0;
12
}
13

Hasil kode program:

1 + 1 = 2

2 + 2 = 4

3 + 3 = 6

4 + 4 = 8

Bisakah anda menjelaskan kenapa perulangan kita berhenti pada angka 4, dan
bukan di angka 5 seperti sebelumnya? Padahal kondisi yang dipakai tetap sama,
yakni if (i == 5) { break; }
Ini terjadi karena perubahan posisi perintah printf. Sebelumnya,
perintah printf ditulis sebelum pemeriksaan kondisi if (i == 5). Artinya, begitu
variabel counter i naik menjadi 5, perintah printf akan di proses terlebih dahulu.
Setelah itu, baru perintah break di jalankan.
Sedangkan pada kode program kita kali ini, ketika i sampai ke angka 5, maka
langsung break tanpa sempat menjalankan perintah printf. Ini karena
perintah printf ditulis setelah pemeriksaan kondisi.
Sebagai penutup, berikut contoh penggunaan perintah break dengan
perulangan while:
1 #include <stdio.h>

3 int main(void)

{
4
int i = 1;
5
while (i <= 10){
6
if (i == 5) {
7
break;
8 }
9 printf("%i + %i = %i \n",i,i,i+i);
10 i++;

11 }

12 return 0;
13
}
14

Hasil kode program:

1 + 1 = 2

2 + 2 = 4

3 + 3 = 6

4 + 4 = 8

Saya mengkonversi perulangan FOR sebelumnya menjadi WHILE. Dan karena


perintah printf juga ditulis setelah perintah break, maka penambahan yang
tampil hanya sampai 4.

Dalam tutorial kali ini kita telah membahas cara penggunaan perintah break.
Berikutnya dalam lanjutan tutorial belajar bahasa C di Duniailkom ini akan
membahas tentang Fungsi dan Pengertian Perintah Continue.

Tutorial Belajar C Part 41: Fungsi dan Pengertian


Perintah Continue
04 Apr 19 | Andre | Tutorial C | 8 Comments

Pada tutorial belajar bahasa C kali ini kita akan membahas Fungsi dan
Pengertian Perintah Continue. Perintah continue dipakai untuk mengatur alur
perulangan yang mirip seperti perintah break dalam tutorial sebelumnya.

Pengertian Perintah Continue dalam Bahasa C


Perintah continue mirip seperti perintah break, hanya saja jika dalam perintah
break perulangan langsung berhenti, untuk perintah continue perulangan hanya
melewati 1 kali proses iterasi saja.
Berikut format dasar penggunaan perintah continue dalam perulangan FOR:
1 for (start; condition; increment)

2 {

// kode program
3
// kode program
4
if (condition_2) {
5
6 continue;

7 }

8 // kode program lanjutan

9 }

Misalkan kita membuat perulangan 1 sampai 10, lalu terdapat kondisi if (i = 5)


{ continue; }, maka ketika variabel counter i nilainya sudah mencapai 5, kode
program yang ada di bawah perintah continue akan di lewati dan proses lanjut
ke perulangan ke 6.
Penjelasan ini akan lebih mudah kita lihat menggunakan contoh kode program.

Contoh Kode Program Perintah Continue Bahasa C


Sama seperti perintah break, berikut perulangan FOR “normal” tanpa perintah
continue:

1
#include <stdio.h>
2

3 int main(void)
4 {
5 int i;

6 for (i = 1; i <= 10; i++) {

7 printf("%i + %i = %i \n",i,i,i+i);

}
8
return 0;
9
}
10

Hasil kode program:

1 + 1 = 2

2 + 2 = 4

3 + 3 = 6

4 + 4 = 8

5 + 5 = 10

6 + 6 = 12

7 + 7 = 14
8 + 8 = 16

9 + 9 = 18

10 + 10 = 20

Di sini saya menggunakan perulangan FOR untuk membuat daftar penambahan


1 + 1, 2 + 2, dst hingga 10 + 10.
Sekarang kita akan tambah dengan perintah continue:

1 #include <stdio.h>
2 int main(void)
3 {
4 int i;
5 for (i = 1; i <= 10; i++) {
6 if (i == 5) {
7 continue;
8 }
9 printf("%i + %i = %i \n",i,i,i+i);
10 }
11 return 0;
12 }
13

Dalam kode program ini, di baris 7 terdapat kondisi if (i == 5) { continue; }. Jika


kondisi ini terpenuhi (saat variabel counter i berisi angka 5), maka jalankan
perintah continue.
Hasilnya, perintah printf di baris 10 akan dilompati dan perulangan langsung
lompat ke iterasi berikutnya, yakni variabel i akan berisi angka 6. Dalam
tampilan akhir bisa terlihat bahwa 5 + 5 = 10 tidak ada di daftar penambahan.
Selanjutnya, bisakah anda menebak apa yang salah dari kode program berikut?
1 #include <stdio.h>
2
3 int main(void)

4 {

5 int i;

6 for (i = 1; i <= 10; i++) {


printf("%i + %i = %i \n",i,i,i+i);
7
8
if (i == 5) {
9
continue;
10
}
11
}
12
return 0;
13
}
14

Hasil kode program:

1 + 1 = 2

2 + 2 = 4

3 + 3 = 6

4 + 4 = 8

5 + 5 = 10

6 + 6 = 12

7 + 7 = 14

8 + 8 = 16

9 + 9 = 18

10 + 10 = 20

Pertanyaannya, kenapa hasil 5 + 5 = 10 masih tampil? padahal saya membuat


kondisi if (i == 5) {continue; } di baris 9.
Kembali, logika yang sama seperti pada perulangan break juga berlaku di sini.
Dalam kode di atas, perintah printf berada sebelum perintah continue. Akibatnya,
meskipun perintah continue dijalankan saat i bernilai 5, namun
perintah printf sudah terlanjur di proses terlebih dahulu.
Hasilnya, teks 5 + 5 = 10 tetap tampil. Ini menjadi catatan penting saat
merancang kode program yang melibatkan perintah continue, karena posisi
peletakan perintah sangat berpengaruh ke hasil akhir.
Sebagai tambahan, berikut contoh kode program perintah continue dalam
perulangan DO WHILE:
1 #include <stdio.h>
2
3 int main(void)
4 {
5 int i = 0;

6 do {

7 i++;

8 if (i == 5) {
continue;
9
}
10
printf("%i + %i = %i \n",i,i,i+i);
11
} while (i < 10);
12
return 0;
13
}
14

Hasil kode program:

1 + 1 = 2

2 + 2 = 4

3 + 3 = 6

4 + 4 = 8

6 + 6 = 12

7 + 7 = 14

8 + 8 = 16

9 + 9 = 18

10 + 10 = 20

Ketika membuat perintah continue dengan perulangan DO WHILE maupun


perulangan WHILE, posisi peletakan perintah increment juga sangat
berpengaruh.
Contoh kasus, tanpa menjalankan kode program dibawah ini, bisakah anda
menebak hasilnya?

1 #include <stdio.h>

3 int main(void)

{
4
int i = 0;
5
do {
6
if (i == 5) {
7
continue;
8
}
9
printf("%i + %i = %i \n",i,i,i+i);
10
i++;
11
} while (i < 10);
12 return 0;
13 }
14

Hasilnya sebuah infinity loop!, yakni perulangan yang tidak pernah berakhir.
Ini terjadi karena pada saat variabel i bernilai 5, perulangan akan terus berputar-
putar antara baris 6 – 9. Perintah increment i++ yang ada di baris 11 tidak bisa di
eksekusi karena di tulis setelah perintah continue di baris 8.
Jadi, kata kuncinya adalah: perhatikan logika program terutama ketika membuat
perulangan WHILE dan DO WHILE yang melibatkan perintah continue.
Sekedar catatan, jika anda menjalankan kode diatas, akan tampil hasil berikut:

0 + 0 = 0

1 + 1 = 2

2 + 2 = 4

3 + 3 = 6

4 + 4 = 8

Setelah itu tampil baris kosong yang sebenarnya berupa infinity loop, karena
perintah printf dan increment di tulis setelah perintah continue.

Dalam lanjutan tutorial bahasa C di duniailkom kali ini kita telah membahas
tentang perintah continue. Tutorial ini menutup seri pembahasan tentang
struktur kondisi dan perulangan di dalam bahasa C.
Selanjutnya kita akan masuk ke materi tentang function atau fungsi, yang di
awali dengan materi Cara Membuat Fungsi (Function) Bahasa C.

Tutorial Belajar C Part 42: Cara Membuat Fungsi


(Function) Bahasa C
10 Nov 20 | Andre | Tutorial C | No Comments
Dalam sesi tutorial ini kita akan membahas cara pembuatan fungsi atau function
dalam bahasa pemrograman C.
Pengertian Fungsi (Function) dalam Bahasa C
Secara sederhana, fungsi atau function adalah kode program yang dirancang untuk
menyelesaikan sebuah tugas tertentu, dan merupakan bagian dari program utama. Ketika di
sadur ke dalam bahasa indonesia, function ini di sebut juga sebagai fungsi.
Berdasarkan siapa yang membuat, fungsi bisa dibedakan ke dalam 2 kelompok:

1. Built-In Function
2. User Defined Function
Built-In Function adalah sebutan untuk fungsi yang sudah ada secara bawaan
dari dalam bahasa pemrograman. Sedangkan User Defined Function adalah
fungsi yang kita (sebagai programmer) membuatnya sendiri.
Bahasa C menyediakan banyak fungsi bawaan, belum termasuk yang bisa
diakses dari berbagai library atau package pihak ketiga. Sebagai
contoh, printf(), scanf() dan strcpy() adalah function bawaan bahasa C. Namun
dalam tutorial kali ini yang akan kita bahas adalah jenis User Defined Function.

Cara Membuat Fungsi dalam Bahasa C


Berikut format dasar cara penulisan fungsi dalam bahasa C:

1 tipeDataKembalian namaFunction() {
2 // Isi function disini...
3 // Isi function disini...
4 return nilai;
}
5
Bagian tipeDataKembalian diisi dengan tipe data nilai yang dikembalikan sebuah
fungsi. Tipe data ini sudah kita pelajari sebelumnya seperti int, double atau char.
Jika suatu fungsi tidak mengembalikan nilai, tipeDataKembalian ditulis
sebagai void. Sebuah fungsi yang tidak mengembalikan nilai kadang disebut juga
sebagai procedure.
Penulisan namaFunction boleh bebas, tidak ada standar penamaan tertentu
untuk fungsi bahasa C selama mengikuti aturan penulisan identifier, yakni tidak
boleh di awali angka dan tidak boleh mengandung spasi.
Beberapa ada yang menyukai menulis dalam snake_case, dimana nama fungsi
ditulis dalam huruf kecil semua dan setiap kata dipisah dengan underscore ” _ “,
contohnya
seperti cari_nama_mahasiswa(), proses_form_input() atau tampilkan_harga_barang
().
Beberapa ada yang menyukai gaya camelCase, dimana karakter pertama nama
fungsi ditulis dengan huruf kecil, kemudian setiap karakter pertama kata
berikutnya dalam huruf besar. Antar kata tidak boleh mengandung spasi.
Contohnya
seperti cariNamaMahasiswa(), prosesFormInput() atau tampilkanHargaBarang().
Setelah penulisan namaFunction, terdapat tanda kurung (). Nantinya tanda
kurung ini bisa diisi dengan parameter atau argumen (akan kita bahas dalam
tutorial setelah ini).
Isi dari function berada dalam tanda kurung kurawal yang bisa terdiri dari 1
sampai ribuan baris kode program tergantung kompleksitas aplikasi yang
dibuat.

Jika fungsi tersebut mengembalikan nilai, maka jalankan perintah return seperti
di baris 4. Mengenai perintah return ini akan kita bahas dalam tutorial terpisah.
Pendefinisian User Defined Function harus ditulis di luar function main() seperti
format berikut:
1
2 #include <stdio.h>
3
4 tipeDataKembalian namaFunction() {
// Isi function disini...
5 // Isi function disini...
6 return nilai;
7 }
8
9 int main(void)
{
10 // Jalankan function
11 namaFunction()
12
13 return 0;
14 }
15
Dalam contoh format di atas, pendefinisian function ada di baris 3 – 7. Ketika
sebuah function di definisikan, function tersebut belum berjalan. Disini kita
hanya memberitahu compiler bahasa C bahwa sebuah function sudah
disiapkan.

Agar bisa berjalan, sebuah function harus “dipanggil” dengan cara menulis nama
fungsi tersebut di dalam method main(). Inilah yang dilakukan oleh perintah di
baris 12.
Mari kita lihat contoh praktek dari cara membuat function di C.

Contoh Kode Program Fungsi Bahasa C


Dalam kode program berikut ini saya membuat sebuah
fungsisapaDuniailkom() yang ketika dijalankan akan menampilkan teks “Halo
Duniailkom”:
1
2 #include <stdio.h>
3
void sapaDuniailkom() {
4 printf("Halo Duniailkom \n");
5 }
6
7 int main(void)
8 {
9 sapaDuniailkom();
sapaDuniailkom();
10 sapaDuniailkom();
11
12 return 0;
13 }
14
Hasil kode program:

Halo Duniailkom
Halo Duniailkom
Halo Duniailkom
Function sapaDuniailkom() tidak mengembalikan nilai, sehingga
tipeDataKembalian diisi dengan keyword void. Isi dari
fungsi sapaDuniailkom() sendiri hanya 1 perintah, yakni printf(“Halo Duniailkom \
n”) seperti di baris 4.
Setelah di definisikan, sebuah fungsi bisa dijalankan berkali-kali, inilah yang saya
lakukan antara baris 9 – 11. Setiap kali perintah sapaDuniailkom() dijalankan,
akan tampil teks “Halo Duniailkom” di layar.
Sebuah kode program bisa saja memiliki banyak fungsi. Berikut contohnya:

1 #include <stdio.h>
2
void sapaLisa() {
3 printf("Hai Lisa \n");
4 }
5
6 void sapaSari() {
7 printf("Morning, Sari \n");
8 }
9
void sapaRudi() {
10 printf("Halo bro,.. \n");
11 }
12
13 int main(void)
14 {
15 sapaLisa();
sapaSari();
16 sapaRudi();
17
18
19
return 0;
20 }
21
22
Hasil kode program:

Hai Lisa
Morning, Sari
Halo bro,..
Kali ini saya mendefinisikan 3 fungsi di dalam kode program, yakni
function sapaLisa(), sapaSari() dan sapaRudi(). Setiap fungsi berisi
perintah printf() yang berbeda-beda.

Variabel di Dalam Function


Untuk fungsi yang kompleks, kita bisa menulis variabel di dalam fungsi tersebut.
Berikut contoh penggunaannya:

1
2 #include <stdio.h>
3
4 void hitungLuasSegitiga() {
double alas = 5;
5 double tinggi = 7;
6 double luas = (alas * tinggi) / 2;
7
8 printf("Luas segitiga adalah: %.2f \n",luas);
9 }
10
int main(void)
11
{
12 hitungLuasSegitiga();
13
14 return 0;
15 }
16
Hasil kode program:
Kali ini saya mendefinisikan function hitungLuasSegitiga() di baris 3 – 9. Sesuai
dengan namanya, fungsi ini dipakai untuk menghitung luas segitiga.
Di dalam fungsi hitungLuasSegitiga() terdapat variabel alas, tinggi dan luas yang
semuanya bertipe double. Variabel alas diisi angka 5 dan variabel tinggi diisi
angka 7. Sedangkan variabel luas akan diisi hasil perhitungan (alas * tinggi) / 2,
yakni rumus untuk mencari luas segitiga. Kemudian perintah printf() di baris 8
akan menampilkan hasil perhitungan.
Untuk menjalankan fungsi ini, harus di panggil dengan
perintah hitungLuasSegitiga() dari dalam function main() seperti di baris 13.

Dalam tutorial C kali ini kita telah berkenalan dengan fungsi atau function,
termasuk membahas pengertian fungsi serta cara pembuatan fungsi dalam
bahasa C.

Berikutnya akan dijelaskan tentang Pengertian Parameter dan Argumen Fungsi


bahasa C.

Tutorial Belajar C Part 43: Pengertian Parameter dan


Argumen Fungsi Bahasa C
10 Nov 20 | Andre | Tutorial C | No Comments

Melanjutkan pembahasan tentang fungsi (function) pada bahasa C, dalam


tutorial kali ini kita akan membahas tentang pengertian parameter dan pengertian
argumen fungsi. Termasuk juga contoh kode program dari keduanya.

Pengertian Parameter dan Argumen Fungsi dalam C


Dalam tutorial sebelumnya kita telah melihat cara membuat fungsi dalam
bahasa C. Biasanya sebuah fungsi bisa menerima nilai masukan atau nilai input.
Nilai masukan inilah yang dimaksud dengan parameter atau argumen.
Parameter adalah sebutan untuk nilai inputan fungsi pada saat fungsi itu
didefinisikan, sedangkan argumen adalah sebutan untuk nilai inputan fungsi
pada saat fungsi itu dipanggil.
Tergantung kebutuhan, sebuah fungsi bisa menerima 1, 2, atau lebih dari
5 parameter atau argumen, namun bisa juga tidak memerlukan sama sekali.
Pengertian parameter dan argumen ini memang sangat mirip dan sering di
pertukarkan. Perbedaan dari keduanya hanya di posisi pembuatan
saja. Parameter merujuk kepada nilai input pada saat pendefinisian,
sedangkan argumen merujuk ke nilai input pada saat pemanggilan.
Berikut format dasar fungsi C dengan parameter dan argumen:
1
#include <stdio.h>
2

3
tipeDataKembalian namaFunction(tipeData param1, tipeData param2) {
4
// Isi function disini...
5 // Isi function disini...
6 return nilai;

7 }

9 int main(void)

10 {

// Jalankan function
11
namaFunction(arg1, arg2)
12

13
return 0;
14
}
15

Di akhir baris 3, yakni dalam tanda kurung setelah namaFunction, adalah tempat
untuk penulisan parameter. Parameter dalam bahasa C ditulis berpasangan
antara tipeData dan nama parameter.
Dalam contoh diatas, terdapat 2 buah parameter bernama param1 dan param2.
Sepanjang isi function, param1 dan param2 bisa diakses sebagaimana variabel
biasa.
Ketika memanggil fungsi, kita harus isi kedua nilai seperti di baris 12, yakni dari
perintah namaFunction(arg1, arg2). Disini, arg1 dan arg2 adalah argumen.
Agar lebih mudah dipahami, langsung saja kita lihat contoh prakteknya.

Contoh Kode Program Parameter dan Argumen


Fungsi
Di tutorial sebelumnya, kita sudah membuat fungsi sapaLisa() yang ketika
dipanggil akan menampilkan teks “Hai Lisa”. Berikut saya tampilkan kembali
kode yang dimaksud:
1
#include <stdio.h>
2

3 void sapaLisa() {
4 printf("Hai Lisa \n");
5 }

7 int main(void)

8 {

sapaLisa();
9

10
return 0;
11
}
12

Hasil kode program:

Hai Lisa

Fungsi ini sudah berjalan sebagaimana mestinya, akan tetapi bagaimana jika kita
ingin menyapa “Putri”? tentu kurang ideal jika harus menulis fungsi terpisah.

Akan lebih fleksibel, saya akan modifikasi fungsi sapaLisa() agar bisa
menampung sebuah parameter dan argumen:
1
#include <stdio.h>
2

3 void sapaTeman(char nama[]) {


4 printf("Hai %s \n",nama);
5 }

7 int main(void)

8 {

sapaTeman("Lisa");
9

10
return 0;
11
}
12

Hasil kode program:


Hai Lisa

Pada saat pendefinisian fungsi sapaTeman() di baris 3, saya


menulis sapaTeman(char nama[]). Disini, nama adalah
sebuah parameter bertipe char.
Dalam bahasa C, sebuah teks atau string adalah array dari tipe data char,
sehingga penulisan parameter nama harus ditulis sebagai nama[]. Untuk tipe
data dasar lain seperti int, float atau double, tambahan tanda kurung siku ini
tidak diperlukan.
Di dalam function, parameter nama bisa diakses sebagai mana layaknya variabel
biasa. Parameter nama kemudian saya tampikan memakai
perintah printf() seperti di baris 4.
Fungsi sapaTeman() memiliki 1 parameter, maka pada saat memanggil fungsi ini
di baris 9, kita harus mengisi sebuah argumen. Dalam contoh ini argumen
tersebut adalah string “Lisa“.
Harap diperhatikan bahwa tipe data argumen harus sama dengan tipe data
pendefinisian parameter, yakni string atau array dari char.

Ketika dijalankan, argumen “Lisa” di baris 9 akan mengisi parameter nama[] di


baris 3. Sehingga ketika perintah printf(“Hai %s \n”,nama) yang ada di dalam
fungsi sapaTeman() di proses, hasilnya adalah “Hai Lisa“.
Kita bisa menjalankan fungsi sapaTeman() dengan argumen yang berbeda-beda,
selama bertipe string:
1
#include <stdio.h>
2

3
void sapaTeman(char nama[]) {
4 printf("Hai %s \n",nama);
5 }
6

7 int main(void)

8 {

9 sapaTeman("Lisa");

sapaTeman("Sari");
10
sapaTeman("Putri");
11

12
return 0;
13
}
14

Hasil kode program:


Hai Lisa

Hai Sari

Hai Putri

Pendefinisian fungsi sapaTeman() masih sama seperti sebelumnya, hanya saja


kali ini fungsi tersebut saya jalankan dengan 3 argumen berbeda antara baris 9 –
11. Hasilnya, akan tampil teks yang berbeda-beda.
Kuncinya adalah, argumen yang diisi pada saat pemanggilan function, akan di
input ke dalam parameter function tersebut.
Jumlah dan tipe data argumen juga harus cocok dengan jumlah dan tipe data
parameter. Ketiga pemanggilan fungsi sapaTeman() berikut akan menghasilkan
error:
1 sapaTeman(); // tanpa argumen

2 sapaTeman(123); // argumen berbeda tipe data

3 sapaTeman("Putri","Lisa"); // jumlah argumen lebih dari 1

Contoh pertama akan error karena fungsi sapaTeman() harus menerima satu
argumen. Contoh kedua juga error karena tipe data argumen harus string,
sesuai dengan tipe data pada saat pendefinisian parameter. Contoh ketiga
kembali error karena fungsi sapaTeman() hanya bisa menerima satu argumen
saja.

Membuat Fungsi dengan Lebih dari 1 Parameter /


Argumen
Kita bisa menginput lebih dari satu argumen ke dalam fungsi selama
pendefinisian fungsi tersebut juga ditulis dengan lebih dari satu parameter.

Dalam contoh berikut saya memodifikasi fungsi sapaTeman() agar bisa menerima
3 argumen:
1 #include <stdio.h>

3 void sapaTeman(char nama1[], char nama2[], char nama3[]) {

printf("Hai %s, %s, dan %s \n",nama1, nama2, nama3);


4
}
5

6
int main(void)
7
{
8
sapaTeman("Lisa", "Nova", "Putri");
9

10
return 0;
11
}
12

Hasil kode program:

Hai Lisa, Nova, dan Putri

Di baris 3, pendefinisian fungsi sapaTeman() sekarang punya 3 parameter


bertipe string, yakni nama1, nama2 dan nama3. Maka untuk menjalankan fungsi
ini, juga harus diinput dengan 3 argumen bertipe string seperti di baris 9.

Membuat Function hitungLuasSegitiga()


Sebagai contoh terakhir, berikut modifikasi fungsi hitungLuasSegitiga() yang bisa
menerima 2 argumen bertipe integer:
1
#include <stdio.h>
2

3
void hitungLuasSegitiga(int alas, int tinggi) {
4
double luas = (alas * tinggi) / 2.0;
5 printf("Luas segitiga adalah: %.2f \n",luas);
6 }

8 int main(void)

9 {

10 hitungLuasSegitiga(5, 7);

hitungLuasSegitiga(2, 10);
11
hitungLuasSegitiga(191, 357);
12

13
return 0;
14
}
15

Hasil kode program:


Di baris 3, fungsi hitungLuasSegitiga() di definisikan dengan 2 buah parameter
bertipe int, yakni alas dan tinggi.
Penamaan parameter boleh bebas, sama mengikuti aturan penamaan variabel /
identifier, misalnya tidak boleh ada spasi dan tidak boleh diawal angka.

Antara baris 10 – 12 saya menjalankan fungsi hitungLuasSegitiga() sebanyak 3 kali


dengan nilai argumen yang berbeda-beda.
Sebagai contoh, ketika compiler bahasa C memproses
perintah hitungLuasSegitiga(5, 7), angka 5 ini akan mengisi parameter alas, dan
angka 7 akan mengisi parameter tinggi. Selanjutnya kedua parameter masuk ke
perhitungan luas di baris 4. Hasilnya kemudian di tampilkan dari
perintah printf(“Luas segitiga adalah: %.2f \n”,luas).

Dalam tutorial belajar bahasa C kali ini kita sudah membahas pengertian
parameter dan argumen fungsi serta melihat perbedaannya.

Lanjut, kita akan pelajari tentang Fungsi Perintah Return pada Function bahasa
C.

Tutorial Belajar C Part 44: Fungsi Perintah Return pada


Function Bahasa C
16 Nov 20 | Andre | Tutorial C | 1 Comment

Setelah memahami Cara Pembuatan Fungsi serta Perbedaan Parameter dangan


Argumen Fungsi, pada tutorial belajar bahasa C di Duniailkom kali ini kita akan
bahas lebih jauh tentang Fungsi Perintah Return di dalam Function.

Pengertian Perintah Return di dalam Function


Pada tutorial sebelumnya kita sudah membuat beberapa function yang ketika di
panggil akan langsung menampilkan teks. Berikut contoh yang dimaksud:
1
#include <stdio.h>
2

3
void hitungLuasSegitiga(int alas, int tinggi) {
4 double luas = (alas * tinggi) / 2.0;
5 printf("Luas segitiga adalah: %.2f \n",luas);

6 }

8 int main(void)

9 {

hitungLuasSegitiga(5, 7);
10

11
return 0;
12
}
13

Hasil kode program:

Luas segitiga adalah: 17.50

Di baris 10, begitu fungsi hitungLuasSegitiga(5, 7) di panggil, akan tampil teks Luas
segitiga adalah: 17.50
Tidak ada yang salah dari penulisan function seperti ini, hanya saja terasa
kurang fleksibel karena tidak selamanya kita ingin menampilkan teks secara
langsung.

Dalam banyak situasi, hasil sebuah function perlu disimpan ke dalam variabel
terlebih dahulu, untuk kemudian di proses lebih lanjut.

Untuk keperluan inilah kita perlu menambah perintah return ke dalam function.
Tujuannya, agar sebuah function bisa mengembalikan nilai.
Langsung saja kita lihat modifikasi dari function hitungLuasSegitiga() dengan
penambahan perintah return:
1 #include <stdio.h>

3 double hitungLuasSegitiga(int alas, int tinggi) {

double luas = (alas * tinggi) / 2.0;


4
return luas;
5
}
6
7

8 int main(void)
9 {

10 double var1 = hitungLuasSegitiga(5, 7);

11 printf("Luas segitiga adalah: %.2f \n",var1);

12

13 return 0;

}
14

Hasil kode program:

Luas segitiga adalah: 17.50

Dalam bahasa C, tipe data dari nilai yang dikembalikan fungsi harus di tulis di
awal pendefinisian. Dalam contoh diatas, tipe data yang dikembalikan oleh
function hitungLuasSegitiga() ini adalah double, yang saya tulis di awal baris 3.
Sebelumnya di awal baris 3 ini terdapat keyword void karena
function hitungLuasSegitiga() tidak memiliki perintah return.
Perintah return sendiri ada di baris 5, yakni return luas. Artinya, kembalikan nilai
yang tersimpan di dalam variabel luas kepada kode yang akan memanggil
function tersebut.
Di baris 10 saya membuat variabel var1 bertipe double dan mengisinya dari hasil
function hitungLuasSegitiga(2, 3). Dengan perintah ini, variabel var1 akan berisi
angka 17.50 yang kemudian ditampilkan dengan perintah printf().
Seperti inilah cara penggunaan perintah return dalam mengembalikan nilai
function.

Mengembalikan Langsung Hasil Operasi


Dalam contoh di atas kita mengembalikan nilai dari variabel. Namun juga bisa
langsung mengembalikan nilai yang berasal dari hasil operasi. Perhatikan kode
program berikut ini:

1 #include <stdio.h>

3 double hitungLuasSegitiga(int alas, int tinggi) {

return (alas * tinggi) / 2.0;


4
}
5

6
int main(void)
7
{
8
printf("Luas segitiga adalah: %.2f \n",hitungLuasSegitiga(5, 7));
9

10
return 0;
11
}
12

Hasil kode program:

Luas segitiga adalah: 17.50

Sekarang di baris 4 langsung terdapat perintah return (alas * tinggi) / 2.0, tidak
perlu lagi menyimpannya ke dalam variabel luas terlebih dahulu.
Kemudian di baris 9 pemanggilan function hitungLuasSegitiga() juga dilakukan
langsung dari dalam perintah printf(), yang tidak perlu disimpan ke dalam
sebuah variabel.

Hal-hal yang Harus Diperhatikan Untuk Perintah


Return
Terdapat beberapa hal yang harus diperhatikan ketika membuat function
dengan perintah return.
Pertama, tipe data yang dikembalikan harus sesuai dengan yang ditulis ketika
pendefinisian function. Jika berbeda, akan terjadi error atau (yang sebenarnya
lebih parah), dikonversi secara tidak langsung.
Berikut contoh kasusnya:

1 #include <stdio.h>

3 int hitungLuasSegitiga(int alas, int tinggi) {

double luas = (alas * tinggi) / 2.0;


4
return luas;
5
}
6

7
int main(void)
8
{
9
printf("Luas segitiga adalah: %.2f \n",hitungLuasSegitiga(5, 7));
10

11
return 0;
12
}
13

Hasil kode program:

Luas segitiga adalah: 0.00

Sekarang fungsi hitungLuasSegitiga memiliki keyword int sebelum penulisan


nama fungsi (baris 3). Ini berarti saya mengharapkan nilai kembalian
bertipe integer. Akan tetapi variabel luas yang di-return bertipe double. Maka hasil
perhitungan luas akan dikoversi compiler C menjadi integer secara bawaan.
Akibatnya nilai luas menjadi 0.00, dan tanpa pesan error! Jadi kita harus hati-hati
dengan tipe data kembalian function.
Hal kedua yang harus diperhatikan adalah, perintah return berfungsi mirip
seperti break dalam perulangan. Jika ditemukan perintah return, pemrosesan
function akan berhenti dan tidak akan mengeksekusi kode dibawahnya:
1
#include <stdio.h>
2

3
double hitungLuasSegitiga(int alas, int tinggi) {
4 double luas = (alas * tinggi) / 2.0;
5 return luas;
6 printf("Sedang belajar bahasa C di Duniailkom");

7 }

9 int main(void)

{
10
printf("Luas segitiga adalah: %.2f \n",hitungLuasSegitiga(5, 7));
11

12
return 0;
13
}
14

Hasil kode program:

Luas segitiga adalah: 17.50


Kode program di baris 6 tidak akan pernah dijalankan karena berada setelah
perintah return.

Contoh Lain Perintah Return C


Sebagai contoh terakhir, tanpa menjalankan kode program dibawah ini bisakah
anda menebak hasil yang tampil?

1
#include <stdio.h>
2

3
int hargaSetelahPajak(int hargaDasar) {
4 return hargaDasar + (hargaDasar * 10/100);
5 }
6

7 int main(void)

8 {

9 int hargaCilok = 5000;

int hargaFinalCilok = hargaSetelahPajak(hargaCilok);


10

11
printf("Harga cilok 1 porsi Rp.%d \n", hargaFinalCilok);
12

13
return 0;
14
}
15

Di baris 3 – 5 saya mendefinisikan function hargaSetelahPajak().


Perintah int sebelum nama function menyatakan bahwa function ini akan
mengembalikan nilai bertipe integer.
Function hargaSetelahPajak() butuh 1 parameter hargaDasar yang akan di pakai
dalam rumus di baris 4, yakni perintah return hargaDasar + (hargaDasar * 10/100).
Karena terdapat perintah return, maka hasil perhitungan akan dikembalikan
kepada kode program yang memanggilnya.
Di function main(), pada baris 9 saya mengisi variabel hargaCilok dengan
angka 5000. Selanjutnya di baris 10 juga membuat variabel hargaFinalCilok yang
diisi dengan hasil dari pemanggilan function hargaSetelahPajak(hargaCilok).
Perintah ini akan mengirim argumen 5000 yang tersimpan di dalam
variabel hargaCilok ke dalam parameter hargaDasar di
function hargaSetelahPajak().
Dengan demikian perintah return yang dijalankan adalah: return 5000 + (5000*
10/100), yang menghasilkan return 5500 untuk selanjutnya dikembalikan ke
variabel hargaFinalCilok.
Di baris 12, hargaFinalCilok kemudian di input ke dalam perintah printf() dan
menampilkan teks:
Harga cilok 1 porsi Rp.5500

Dalam tutorial C kali ini kita telah membahas pengertian perintah return serta
contoh penggunaannya.

Mayoritas function akan mengembalikan sebuah nilai, cukup jarang yang


langsung menampilkan hasil dalam bentuk teks. Oleh karena itu cara
penggunaan perintah return ini wajib untuk dipahami.

Tutorial Belajar C: Cara Membuat Perulangan Bersarang


(Nested Loop)
11 Apr 19 | Andre | Tutorial C | 15 Comments

Salah satu konsep programming yang cukup banyak dipakai (dan juga sedikit
rumit), adalah perulangan bersarang atau nested loop. Dalam tutorial kali ini kita
akan lihat praktek pembuatan perulangan bersarang dalam bahasa C.

Pengertian Perulangan Bersarang (Nested Loop)


Perulangan bersarang adalah sebutan untuk perulangan di dalam perulangan.
Konsep seperti ini sering dipakai untuk memecahkan masalah programming
yang cukup kompleks. Semua jenis perulangan bisa dibuat dalam bentuk
perulangan bersarang, termasuk perulangan FOR, WHILE dan DO WHILE. Dalam
bahasa inggris, perulangan bersarang ini dikenal dengan sebutan nested loop.
Berikut contoh format dasar perulangan bersarang dalam bahasa C:

1 for (start1; condition1; increment1)

2 {

// kode program
3
for (start2; condition2; increment2)
4
{
5
// kode program
6
}
7
}
8

Di dalam perulangan bersarang terdapat istilah outer loop dan inner loop. Sesuai
dengan namanya, outer loop adalah sebutan untuk perulangan luar,
sedangkan inner loop sebutan untuk perulangan dalam.
Pada contoh di atas, outer loop adalah perulangan di baris 1, sedangkan inner
loop adalah perulangan di baris 4. Kode program di dalam outer loop akan
dijalankan sejumlah kondisi perulangan di outer saja. Sedangkan kode program
yang ada di dalam perulangan inner loop akan dijalankan sebanyak
perulangan outer * inner.
Tidak ada batasan seberapa banyak “kedalaman” dari sebuah perulangan
bersarang. Kita bisa saja membuat perulangan di dalam perulangan di dalam
perulangan, dst. Tentu saja semakin banyak perulangan yang “bersarang”, kode
programnya juga akan makin kompleks.

Dalam membuat perulangan berasarang kita juga harus sangat teliti dalam
penggunaan tanda kurung kurawal “{ }” untuk menandakan awal dan akhir
sebuah blok kode program. Tidak jarang hasilnya jadi berantakan karena salah
menulis posisi penutup kurung kurawal.

Contoh Kode Program Perulangan Bersarang (Nested


Loop)
Mari kita masuk ke contoh kode program dari perulangan bersarang dalam
bahasa C. Namun sebelum itu, kita berangkat dari perulangan “normal” terlebih
dahulu.

Latihan pertama, bisakah anda merancang kode program untuk membuat


daftar perkalian 3 dari 1 sampai 10? Hasil akhir yang saya inginkan adalah
seperti ini:

3 * 1 = 3

3 * 2 = 6

3 * 3 = 9
3 * 4 = 12

3 * 5 = 15

3 * 6 = 18

3 * 7 = 21

3 * 8 = 24

3 * 9 = 27

3 * 10 = 30

Tentu saja baris di atas bisa dihasilkan dengan membuat


perintah printf sebanyak 10 kali, namun hal itu tidak efisien. Hasil di atas harus
dibuat menggunakan perulangan FOR.
Baik, berikut kode program yang saya gunakan:

1
#include <stdio.h>
2

3 int main(void)
4 {

5 for (int i = 1; i <= 10; i++) {

6 printf("3 * %i = %i\n",i,3*i);

7 }

return 0;
8
}
9

Disini saya menggunakan sebuah perulangan FOR. Perulangan mulai dari


variabel counter i = 1 sampai i <= 10. Sepanjang perulangan, tampilkan hasil
dari printf(“3 * %i = %i\n”,i,3*i).
Jika anda sudah memahami konsep dasar perulangan FOR, maka kode program
ini seharusnya bisa dipahami dengan mudah.

Berikutnya, bagaimana dengan membuat kode program untuk menghasilkan


daftar perkalian yang sama seperti di atas, tapi kali ini bukan hanya perulangan
3 saja, tapi dari 1 – 10. Maksudnya, saya ingin membuat kode program yang
menghasilkan 100 baris daftar perkalian, mulai dari:

1 * 1 = 1

1 * 2 = 2

1 * 3 = 3

....
....

Sampai dengan:

....

....

10 * 8 = 80

10 * 9 = 90

10 * 10 = 100

Ada beberapa cara untuk membuat daftar perkalian seperti ini, misalnya bisa
dengan membuat 10 kali perulangan FOR (1 perulangan untuk setiap angka).
Namun cara paling efisien adalah menggunakan perulangan bersarang.
Berikut contoh kode program yang bisa dipakai:

1
#include <stdio.h>
2

3
int main(void)
4 {
5 for (int i = 1; i <= 10; i++) {
6 for (int j = 1; j <= 10; j++) {

7 printf("%i * %i = %i\n",i,j,j*i);

8 }

printf("\n");
9
}
10
return 0;
11
}
12
Untuk membuat perulangan bersarang, kita butuh 2 buah variabel counter,
yakni 1 untuk outer loop, dan 1 untuk inner loop. Dalam contoh ini saya
menggunakan variabel i dan j.
Perulangan i (outer loop) akan diulang sebanyak 10 kali, yakni dari i = 1 sampai i
<= 10. Di dalam setiap perulangan i ini, akan di proses perulangan j (inner loop).
Perulangan j jukan akan di proses sebanyak 10 kali. Dengan demikian,
perintah printf di baris 7 akan dijalankan sebanyak 100 kali, yakni total dari i * j.
Inilah salah satu contoh penerapan perulangan bersarang dalam bahasa C.

Sebagai tantangan terakhir, bisakah anda meng-konversi nested loop diatas


menjadi perulangan WHILE? Silahkan dicoba sebentar.
Baik, berikut kode program untuk hasil yang sama namun kali ini dengan
perulangan WHILE:

1 #include <stdio.h>

3 int main(void)

{
4
int i = 1;
5
int j;
6
while (i <= 10) {
7
j = 1;
8 while (j <= 10) {
9 printf("%i * %i = %i\n",i,j,j*i);
10 j++;

11 }
12
printf("\n");
13
i++;
14
}
15
}
16

Membuat nested loop dengan perulangan WHILE memang butuh tantangan


tersendiri, karena kita harus memikirkan kapan sebuah variabel harus di
deklarasikan. Sebagai contoh, perintah j = 1 harus berada di dalam perulangan i,
namun sebelum perulangan j.

Dalam tutorial belajar bahasa C kali ini kita telah membahas konsep
dari perulangan bersarang atau nested loop. Meskipun cukup rumit, konsep
perulangan ini sangat penting sepanjang karir kita sebagai programmer.
Kuncinya ada di latihan kode program. Semakin banyak berlatih memecahkan
masalah, anda akan semakin terampil dalam merancang kode program.

Tutorial Belajar C: Cara Membuat Segitiga Bintang


12 Apr 19 | Andre | Tutorial C | 18 Comments

Salah satu latihan algoritma yang sering dipakai adalah membuat segitiga
bintang. Latihan program ini sekilas terkesan tidak berguna, karena kita hanya
membuat “gambar” segitiga. Namun dibalik itu, pembuatan segitiga bintang
butuh logika yang kuat.
Dalam tutorial belajar bahasa pemrograman C di Duniailkom kali ini kita akan
membahasnya dengan lebih dalam.

Membuat Segitiga Bintang dengan Bahasa


Pemrograman
Bagi yang pernah kuliah di jurusan IT, hampir dipastikan pernah mendapat soal
untuk membuat program segitiga bintang. Meskipun tidak sama persis, tapi
banyak variasi yang bisa dibuat. Contoh segitiga bintang tersebut adalah sebagai
berikut:

* *
* * *

* * * *

* * * * *

Tampilannya memang sederhana, tapi butuh proses berfikir yang cukup rumit.
Tugas kita adalah bagaimana membuat kode program yang akan menghasilkan
tampilan segitiga diatas. Syaratnya, tidak boleh langsung
menggunakan printf sebanyak 5 kali, tapi harus menggunakan perulangan.
Jika dianalisis lagi, kode program ini butuh sebuah perulangan bersarang (nested
loop). Perulangan pertama untuk membuat bintang ke arah bawah, dan
perulangan kedua untuk membuat bintang ke arah samping.
Agar lebih mudah dipahami, kita akan bahas secara bertahap.

Membuat Perulangan Bintang ke Arah Bawah


Langkah pertama adalah merancang sebuah perulangan yang akan
menampilkan tanda bintang ke arah bawah sebanyak 5 kali. Ini bisa dibuat
dengan perulangan FOR dan perintah printf:
1
#include <stdio.h>
2

3 int main(void)
4 {

5 for (int i = 1; i <= 5; i++) {

6 printf("* \n");

7 }

return 0;
8
}
9

Hasil kode program:

*
Tidak ada yang baru disini, hanya terdiri dari perulangan FOR dari i = 1 sampai i
<=5. Untuk setiap perulangan, tampilkan tanda bintang ‘*’ dan diikuti dengan
karakter newline untuk pindah baris ‘\n‘.
Langkah kedua adalah, saya ingin agar dalam setiap baris, bintangnya tampil
sebanyak 5 kali. Tapi tidak boleh hanya langsung menjalankan
perintah printf(“***** \n”), tanda bintang ke samping haruslah berasal dari
perulangan bersarang, atau nested loop.
Berikut kode programnya:

1
#include <stdio.h>
2

3
int main(void)
4 {
5 for (int i = 1; i <= 5; i++) {
6 for (int j = 1; j <= 5; j++) {

7 printf("* ");

8 }

printf("\n");
9
}
10
return 0;
11
}
12

Hasil kode program:

* * * * *

* * * * *

* * * * *

* * * * *

* * * * *

Disini saya membuat perulangan kedua dengan variabel counter j, yang


merupakan perulangan bersarang di dalam perulangan pertama dengan variabel
counter i.
Perintah printf(“* “) di baris 7 akan dijalankan sebanyak 25 kali, yakni hasil dari 5
* 5. Ini karena perulangan terdalam j akan dijalankan sebanyak 5 kali untuk
setiap perulangan i yang juga berjalan sebanyak 5 kali, sehingga total akan di
proses sebanyak 25 kali.
Jika anda masih ragu dengan konsep ini, bisa pejari sejenak Tutorial Belajar C:
Cara Membuat Perulangan Bersarang (Nested Loop).
Langkah terakhir, kita akan modifikasi isi dari perulangan terdalam j, yakni
bagaimana caranya agar tanda bintang bisa naik secara bertahap. Saya ingin
ketika perulangan i pertama dijalankan, perulangan j hanya dijalankan 1 kali
saja. Untuk perulangan i ke 2, jalankan perulangan j sebanyak 2 kali. Untuk
perulangan i ke 3, jalankan perulangan j sebanyak 3 kali, dst.
Kuncinya adalah, kita harus ubah agar perulangan j mengikuti jumlah variabel i.
Dan berikut kodenya:
1
#include <stdio.h>
2

3
int main(void)
4 {
5 for (int i = 1; i <= 5; i++) {
6 for (int j = 1; j <= i; j++) {

7 printf("* ");

8 }

printf("\n");
9
}
10
return 0;
11
}
12

Hasil kode program:

* *

* * *

* * * *

* * * * *

Bisakah anda menebak apa yang berbeda dengan kode kita sebelumnya? Yup,
hanya modifikasi kecil di baris 6. Sekarang, kondisi akhir perulangan j adalah
sampai j <= i. Artinya, perulangan j akan naik sebanyak 1 angka untuk setiap
perulangan i.
Sebagai tantangan terakhir, bisakah anda memodifikasi kode program ini agar
user bisa menentukan jumlah baris segitiga? Jadi di awal akan ada pertanyaan
jumlah baris segitiga. Jika diinput 10, maka tinggi segitiga yang akan ditampilkan
jadi 10 baris.

Baik, berikut kode programnya:


1
#include <stdio.h>
2

3
int main(void)
4
{
5
int jumlah;
6

7 printf("Input tinggi segitiga: ");


8 scanf("%i",&jumlah);
9 printf("\n");

10

11 for (int i = 1; i <= jumlah; i++) {

12 for (int j = 1; j <= i; j++) {

printf("* ");
13
}
14
printf("\n");
15
}
16
return 0;
17
}
18

Tambahannya berupa perintah scanf untuk meminta inputan dari user di baris 7
– 9.
Dalam kode program ini, inputan jumlah baris saya simpan ke dalam
variabel jumlah. Variabel jumlah ini yang kemudian menjadi nilai penentu dari
perulangan i di baris 11. Perulangan i akan terus berjalan sampai kondisi i <=
jumlah terpenuhi.
Dalam tutorial ini kita telah membahas salah satu contoh kasus algoritma
dengan bahasa pemrograman C, yakni membuat segitiga bintang.

Selain segitiga, masih banyak variasi program lain yang mirip-mirip, seperti
piramida bintang, membuat layang-layang / belah ketupat, hingga membuat
segitiga angka. Latihan soal ini akan kita bahas di tutorial terpisah.

Latihan Kode Program Bahasa C: Membuat Menu


Berulang
14 Jan 22 | Andre | Tutorial C | No Comments
Latihan kode program bahasa C kali ini akan membahas cara membuat menu
berulang. Menu seperti ini umum dijumpai pada program C yang cukup besar,
dimana user bisa memilih menu yang ada dan bisa mengulangi pilihan sampai
user memutuskan exit.

Soal ini dipakai untuk menguji pemahaman seputar konsep switch case, if
else serta perulangan do while.

Soal Membuat Menu Berulang


Buatlah sebuah kode program dalam bahasa C yang akan menampilkan menu
berikut:

## Daftar Menu Kopi Ilkom ##


==============================
1. Espresso
2. Cappuccino
3. Moccacino
4. Vanilla Latte
5. Hazelnut Latte

Pilihan anda:
Disini terdapat 5 pilihan menu kopi. Lalu kode program akan berhenti
menunggu user memilih salah satu menu. Jika diinput angka 2, maka hasilnya
menjadi:

Pilihan anda: 2
Anda memilih Cappuccino

Ingin memilih menu lain (y/t)?


Karena memilih angka 2, maka akan tampil teks “Anda memilih Cappuccino”.
Sampai disini program tidak berhenti, tapi tampil pertanyaan kedua apakah user
masih ingin memilih menu lain atau keluar (program selesai).

Jika user menginput huruf “y”, maka akan tampil kembali menu awal:

## Daftar Menu Kopi Ilkom ##


==============================
1. Espresso
2. Cappuccino
3. Moccacino
4. Vanilla Latte
5. Hazelnut Latte

Pilihan anda:
Jika user menginput angka 4, maka hasilnya adalah:

Pilihan anda: 4
Anda memilih Vanilla Latte

Ingin memilih menu lain (y/t)?


Sampai disini, menu akan terus berulang hingga user mengetik karakter “t”. Jika
ini yang terjadi, hasilnya adalah:

Ingin memilih menu lain (y/t)? t

Terimakasih...
Dan program selesai.

Tips Membuat Menu Berulang


Soal ini melatih pemahaman tentang cara penggunaan variabel, proses input
output, penggunaan kondisi if else atau switch case, serta perulangan do while.
Berikut tutorial pendahuluan yang bisa diikuti:

 Pengertian Variabel Bahasa C


 Cara Penggunaan Perintah scanf
 Percabangan IF ELSE Bahasa C
 Percabangan Kondisi Switch Case Bahasa C
 Perulangan DO WHILE Bahasa C
Kemampuan mengolah logika juga diperlukan. Misalnya jika user menginput
angka di luar pilihan 1 – 5, maka tampilkan pesan bahwa nilai input tidak valid.

Silahkan anda coba sebentar untuk membuat kode program ini.


Kode Program C Membuat Menu Berulang
Berikut salah satu solusi dari soal membuat menu berulang menggunakan
bahasa C:

1 #include <stdio.h>
2
int main(void)
3 {
4 int pilihan;
5 char ulang;
6 do
7 {
printf("## Daftar Menu Kopi Ilkom ## \n");
8 printf("============================== \n");
9 printf("1. Espresso \n");
10 printf("2. Cappuccino \n");
11 printf("3. Moccacino \n");
12 printf("4. Vanilla Latte \n");
printf("5. Hazelnut Latte \n\n");
13
14 printf("Pilihan anda: ");
15 scanf("%i",&pilihan);
16
17 switch(pilihan){
18 case 1:
printf("Anda memilih Espresso \n");
19 break;
20 case 2:
21 printf("Anda memilih Cappuccino \n");
22 break;
23 case 3:
printf("Anda memilih Moccacino \n");
24 break;
25 case 4:
26 printf("Anda memilih Vanilla Latte \n");
27 break;
28 case 5:
printf("Anda memilih Hazelnut Latte \n");
29 break;
30 default:
31 printf("Menu tidak tersedia \n");
32 }
printf("\n");
33
34 printf("Ingin memilih menu lain (y/t)? ");
35 scanf(" %c",&ulang);
36 printf("\n");
37 }
38 while (ulang!= 't');
39
printf("Terimakasih... \n");
40
41 return 0;
42 }
43
44
45
46
47
48
49
50

Di awal kode program pada baris 5 dan 6 saya mendeklarasikan dua variabel,
yakni pilihan dan ulang. Variabel pilihan nantinya akan menampung angka pilihan
menu yang diinput user. Sedangkan variabel ulang menampung karakter yang
akan dipakai untuk mengulang menu.
Selanjutnya di baris 7 – 8 terdapat perintah do {. Ini adalah tanda bahwa kita
masuk ke sebuah perulangan do while. Hampir semua kode program berada
dalam perulangan ini, yang ditutup pada baris 45.
Kondisi akhir perulangan adalah (ulang!= ‘t’), yang artinya jika
variabel ulang tidak d iinput karakter ‘t‘, maka perulangan do while akan terus di
proses.
Pada awal perulangan di baris 9 – 15 terdapat beberapa perintah printf untuk
menampilkan daftar menu. Kemudian user diminta memilih salah satu angka
menu yang dibaca oleh perintah scanf di baris 18.
Pilihan user ini di tampung ke dalam variabel pilihan untuk kemudian masuk ke
pemeriksaan kondisi switch case di baris 20 – 38. Untuk setiap pilihan menu,
jalankan perintah printf sesuai yang ada pada block case. Kondisi default di baris
36 akan di eksekusi jika user menginput angka di luar 1 – 5.
Lalu terdapat perintah scanf kedua di baris 42. Inilah proses input yang dipakai
menentukan apakah menu kembali tampil atau tidak. Perintah scanf ini menjadi
kunci agar perulangan do while bisa berakhir.

Demikian kode program latihan Membuat Menu Berulang dalam Bahasa C. Soal
seperti ini biasanya akan digabung lagi dengan pilihan menu yang lebih
kompleks.

Sebagai contoh lain, silahkan buat menu berulang menghitung untuk luas
bangun datar:

1. Luas Persegi
2. Luas Segitiga
3. Luas Lingkaran
Jika dipilih Luas Segitiga, maka user bisa menginput tinggi dan alas segitiga, lalu
menampilkan hasilnya. Kode yang diperlukan memang akan kompleks, tapi bisa
jadi ajang latihan algoritma yang lebih menantang lagi.

Latihan Kode Program Bahasa C: Cek Bilangan Prima


16 Jan 22 | Andre | Tutorial C | No Comments
Latihan kode program bahasa C kali ini akan membahas soal untuk
memeriksa apakah sebuah angka merupakan bilangan prima atau tidak.
Materi ini berhubungan dengan logika matematika serta konsep perulangan
for / while dan if else.

Soal Cek Bilangan Prima


Buatlah kode program dalam bahasa C yang menerima satu inputan angka.
Kemudian kode program akan menampilkan pesan apakah angka tersebut
adalah bilangan prima atau bukan bilangan prima.

Bonus: Selain menampilkan iya atau tidak, tuliskan pula alasan kenapa bilangan
tersebut bukan bilangan prima.

Berikut contoh tampilan akhir yang diinginkan (1) :

Input satu angka bulat: 2673

2673 bukan angka prima


Berikut contoh tampilan akhir yang diinginkan (2) :
Input satu angka bulat: 5657

5657 adalah angka prima


Berikut contoh tampilan akhir yang diinginkan (untuk soal bonus) :

Input satu angka bulat: 2260

2260 bukan angka prima, karena bisa dibagi 2

Tips Membuat Kode Program Cek Bilangan Prima


Soal ini melatih pemahaman terkait logika matematika dan konsep perulangan
(looping) serta kondisi if else. Berikut tutorial pendahuluan yang bisa diikuti:
 Pengertian Variabel Bahasa C
 Cara Penggunaan Perintah scanf
 Percabangan IF ELSE Bahasa C
 Perulangan FOR Bahasa C
 Jenis-jenis Operator Aritmatika Bahasa C
Suatu angka disebut sebagai bilangan prima jika angka tersebut tidak bisa dibagi
dengan angka lain, selain angka itu sendiri dan 1.
Sebagai contoh, 3 adalah bilangan prima karena hanya bisa dibagi dengan 3. 11
juga bilangan prima karena hanya bisa dibagi dengan angka 11 saja. Sedangkan
8 bukan bilangan prima karena bisa dibagi dengan 2.

Pemeriksaan apakah suatu angka habis dibagi dengan angka lain bisa dilakukan
dengan operator modulus ( % ). Dalam bahasa C, 12 % 2 akan menghasilkan
angka 0, yang berarti 12 habis dibagi dengan 2. Konsep inilah yang bisa kita
pakai untuk membuat kode program pemeriksa bilangan prima.
Idenya adalah, buat sebuah perulangan untuk memeriksa setiap kemungkinan.
Jika diinput angka 17, cek apakah 17 habis dibagi 2. Jika tidak, lanjut apakah 17
habis dibagi 3, jika tidak cek lagi apakah 17 habis dibagi 4, dst.

Silahkan anda coba sebentar membuat kode program ini.

Kode Program Bahasa C Cek Bilangan Prima


Berikut salah satu solusi dari soal cek bilangan prima menggunakan bahasa
pemrograman C:

1 #include <stdio.h>
2
int main(void)
3
4
5
{
6 printf("## Program Bahasa C Angka Prima ## \n");
7 printf("==================================== \n\n");
8
9 int n,i,angka_prima;
10 angka_prima = 1;
11
12 printf("Input satu angka bulat: ");
scanf("%i",&n);
13
14 // 0 dan 1 bukan angka prima
15 if (n == 0 || n == 1) {
16 angka_prima = 0;
17 }
18 else {
for (i = 2; i <= n / 2; i++) {
19 if (n % i == 0) {
20 angka_prima = 0;
21 break;
22 }
}
23 }
24
25 printf("\n");
26 if (angka_prima == 1)
27 printf("%i adalah angka prima \n",n);
28 else
printf("%i bukan angka prima \n",n);
29
30 return 0;
31 }
32
33
34
Hasil kode program (1):

## Program Bahasa C Angka Prima ##


====================================

Input satu angka bulat: 17

17 adalah angka prima


Hasil kode program (2):

## Program Bahasa C Angka Prima ##


====================================

Input satu angka bulat: 50

50 bukan angka prima


Dalam kode program ini variabel n akan menampung angka yang diinput oleh
user. Proses pembacaan dilakukan di baris 12 dengan perintah scanf(“%i”,&n).
Selain itu saya membuat sebuah flag atau penanda yang disimpan di dalam
variabel angka_prima. Karena bahasa C tidak memiliki tipe data boolean, maka
saya set angka_prima sebagai integer.
Setelah proses deklarasi, variabel angka_prima langsung diisi angka 1. Variabel
ini akan jadi penentu apakah sebuah angka merupakan bilangan prima atau
tidak.
Proses pemeriksaan pertama ada di baris 15, yakni jika angka yang diinput user
adalah 0 atau 1, maka langsung isi angka_prima dengan 0. Karena dalam
matematika, 0 dan 1 tidak dianggap sebagai angka prima.
Jika angka yang diinput bukan 0 atau 1, maka masuk ke blok else yang berisi
perulangan for antara baris 19 – 24.

Perulangan for ini mulai dari 2 hingga n / 2. Dalam setiap iterasi, cek apakah n
habis dibagi dengan i melalui perintah n % i == 0. Jika kondisi ini terpenuhi,
update isi variabel angka_prima menjadi 0 dan langsung hentikan perulangan.
Perulangan hanya perlu dilakukan sampai n / 2 karena secara logika kita tidak
perlu cek pembagian dengan setiap angka.

Setelah perulangan selesai, cek kembali isi variabel angka_prima. Jika berisi
angka 1, yakni if (angka_prima == 1), maka n adalah angka prima. Jika tidak, maka
n bukanlah angka prima.

Kode Program Cek Bilangan Prima Bahasa C


Dengan Alasan
Untuk bonus soal, kita bisa menambah satu variabel ke dalam perulangan for
untuk menampung angka yang membuat perulangan itu berhenti. Angka inilah
yang menjadi alasan kenapa sebuah bilangan bukan bilangan prima.

Berikut modifikasi yang diperlukan:

1 #include <stdio.h>
2
int main(void)
3 {
4 printf("## Program Bahasa C Angka Prima ## \n");
5 printf("==================================== \n\n");
6
7 int n,i,angka_prima,pembagi;
8 angka_prima = 1;
9
printf("Input satu angka bulat: ");
10 scanf("%i",&n);
11
12
13
14
// 0 dan 1 bukan angka prima
15 if (n == 0 || n == 1) {
16 angka_prima = 0;
17 }
18 else {
19 for (i = 2; i <= n / 2; i++) {
if (n % i == 0) {
20 pembagi = i;
21 angka_prima = 0;
22 break;
23 }
}
24
}
25
26 printf("\n");
27 if (angka_prima == 1)
28 printf("%i adalah angka prima \n",n);
29 else
printf("%i bukan angka prima, karena bisa dibagi %i \n",n, pembagi);
30
31 return 0;
32 }
33
34
35
Penambahan ada di baris 8, 21 dan 32. Variabel pembagi dipakai untuk
menampung angka i saat perulangan berhenti.
Hasil kode program:
Demikian kode program cek bilangan prima menggunakan bahasa C. Seperti
yang terlihat, logika dan sedikit teori matematis sangat berperan untuk mencari
solusi kode program. Semoga tutorial ini bisa bermanfaat.

Latihan Kode Program Bahasa C: Konversi Suhu Celsius


17 Jan 22 | Andre | Tutorial C | No Comments
Latihan algoritma bahasa C kali ini akan membahas cara membuat kode
program konversi suhu dari Celsius ke Fahrenheit, Kelvin dan Reamur. Materi ini
menguji pemahaman seputar logika matematika serta penggunaan operator
aritmatika.

Soal Konversi Suhu Celsius


Buatlah kode program dalam bahasa C untuk konversi suhu. Program meminta
1 inputan berupa suhu celsius, lalu menampilkan hasil konversi ke Fahrenheit,
Kelvin dan Reamur.

Berikut contoh tampilan akhir yang diinginkan (1) :

Input suhu celsius: 40

40.00 derajat Celsius = 104.00 derajat Fahrenheit


40.00 derajat Celsius = 313.15 derajat Kelvin
40.00 derajat Celsius = 32.00 derajat Reamur
Berikut contoh tampilan akhir yang diinginkan (2) :

Input suhu celsius: 75

75.00 derajat Celsius = 167.00 derajat Fahrenheit


75.00 derajat Celsius = 348.15 derajat Kelvin
75.00 derajat Celsius = 60.00 derajat Reamur
Berikut contoh tampilan akhir yang diinginkan (3) :

Input suhu celsius: 100

100.00 derajat Celsius = 212.00 derajat Fahrenheit


100.00 derajat Celsius = 373.15 derajat Kelvin
100.00 derajat Celsius = 80.00 derajat Reamur
Silahkan coba sebentar membuat kode program ini.

Tips Membuat Kode Program Konversi Suhu Celsius


Solusi awal dari soal ini adalah memahami rumus konversi suhu dari celsius ke 3
jenis suhu lainnya. Berikut rumus yang bisa dipakai:

Fahrenheit = (9/5) * Celsius + 32


 Kelvin = Celsius + 273.15
 Reamur = (4/5) * Celsius
Untuk kode program sendiri, butuh materi dasar yang berhubungan dengan
variabel, tipe data float dan operator aritmatika. Berikut tutorial pendahuluan
yang bisa diikuti:

 Pengertian Variabel Bahasa C


 Cara Penggunaan Perintah scanf
 Tipe Data Float Bahasa C
 Jenis-jenis Operator Aritmatika Bahasa C

Kode Program Bahasa C Membuat Konversi Suhu


Berikut salah satu solusi dari soal membuat konversi suhu menggunakan
bahasa C:

1
2 #include <stdio.h>
3
4 int main(void)
5 {
6 printf("## Program Bahasa C Konversi Suhu ## \n");
printf("===================================== \n\n");
7
8 float celc, fahr, kelv, ream ;
9
10 printf("Input suhu celsius: ");
11 scanf("%f",&celc);
12 printf("\n");
13
14 fahr = (9.0/5.0 * celc) + 32;
kelv = celc + 273.15;
15 ream = celc * (4.0/5.0) ;
16
17 printf("%.2f derajat Celsius = %.2f derajat Fahrenheit \n",celc,fahr);
18 printf("%.2f derajat Celsius = %.2f derajat Kelvin \n",celc,kelv);
19 printf("%.2f derajat Celsius = %.2f derajat Reamur \n",celc,ream);
20
return 0;
21
}
22
23
Di baris 8 terdapat deklarasi 4 variabel bertipe float,
yakni celc, fahr, kelv dan ream. Keempatnya dipakai untuk menampung nilai
inputan suhu dan hasil konversi.
Kode program kemudian meminta inputan suhu Cecius dengan
perintah scanf(“%f”,&celc) di baris 11. Setelah perintah ini, nilai suhu celsius
sudah tersimpan di dalam variabel celc.
Proses konversi suhu dilakukan pada baris 14-16. Kita tinggal input rumus
konversi suhu sesuai dengan syarat dalam teori fisika (ada di bagian tips).

Terakhir, hasil konversi ditampilkan dengan perintah printf di baris 18 – 20.


Kode %.2f berarti saya ingin menampilkan angka float dengan tingkat ketelitian
2 tempat decimal.

Demikian kode program membuat Konversi Suhu menggunakan bahasa C.


Semoga tutorial algoritma ini bisa bermanfaat.

Anda mungkin juga menyukai