Memahami Struktur Dasar Program C++
Setelah berhasil menyiapkan alat dan menjalankan program C++ pertama, sekarang kita akan mempelajari bagaimana sebuah program C++ disusun. Kita akan mengenali bagian-bagian yang membentuk sebuah program, memahami fungsi setiap bagian, dan melihat bagaimana komputer memproses instruksi yang kita tuliskan.
Materi untuk pemula · Informatika · Bahasa Pemrograman C++
Sebelumnya, kita sudah mempelajari cara menyiapkan alat dan menjalankan program C++ pertama. Kita juga sudah mengenal alasan mengapa bahasa pemrograman diperlukan dan bagaimana kode yang ditulis manusia dapat diterjemahkan agar bisa dijalankan komputer.
Sekarang, bayangkan kita membuka kembali program pertama yang pernah dibuat. Program tersebut mungkin hanya menampilkan tulisan Halo, dunia!. Meskipun sederhana, ternyata ada beberapa bagian penting yang membuat program tersebut dapat dijalankan.
- Mengapa program memiliki struktur?
- Melihat kembali program pertama
- Mengenal direktif preprosesor
- Mengenal namespace dan std
- Fungsi main() sebagai titik awal program
- Memahami kurung kurawal
- Pernyataan dan tanda titik koma
- Menampilkan keluaran dengan cout
- Menambahkan komentar dalam program
- Menyusun dan memahami program lengkap
- Kesalahan umum saat menulis struktur program
- Latihan pemahaman
1. Mengapa Program Memiliki Struktur?
Ketika kita menulis sebuah instruksi untuk komputer, kita tidak bisa menyusunnya secara sembarangan. Bahasa pemrograman memiliki aturan penulisan atau sintaks yang harus diikuti. Aturan tersebut membuat komputer dapat mengenali bagian-bagian program dan memahami bagaimana instruksi di dalamnya harus diproses.
Coba bayangkan ketika kita menulis sebuah surat resmi. Surat tersebut biasanya memiliki bagian-bagian tertentu, seperti tempat dan tanggal, tujuan surat, isi, serta penutup. Jika semua bagian ditulis tanpa susunan yang jelas, pembaca mungkin akan kesulitan memahami maksudnya.
Program komputer juga demikian. Setiap bagian memiliki fungsi masing-masing. Ada bagian yang digunakan untuk mempersiapkan kebutuhan program, bagian yang menjadi tempat instruksi utama, dan bagian yang berisi perintah-perintah yang ingin dijalankan.
Struktur program adalah susunan bagian-bagian dalam kode yang mengikuti aturan bahasa pemrograman. Dengan memahami strukturnya, kita akan lebih mudah membaca, menulis, memperbaiki, dan mengembangkan program.
Jika ingin memahami lebih jauh mengapa bahasa pemrograman memiliki aturan penulisan, pelajari juga materi apa itu sintaks dalam bahasa pemrograman C++.
2. Melihat Kembali Program Pertama
Mari kita ingat kembali program pertama yang sudah dijalankan pada pembahasan sebelumnya. Program tersebut bertujuan menampilkan sebuah kalimat ke layar.
#include <iostream>
int main() {
std::cout << "Halo, dunia!" << '\n';
return 0;
}
Jika diperhatikan, kode tersebut tidak hanya terdiri atas perintah untuk menampilkan tulisan. Ada beberapa bagian lain yang mungkin terlihat asing, seperti #include <iostream>, int main(), tanda kurung kurawal, dan return 0;.
Bagian-bagian tersebut bukan sekadar hiasan. Masing-masing memiliki fungsi yang berbeda dan saling melengkapi agar program dapat berjalan dengan benar.
Agar lebih mudah dipahami, kita akan membongkar program tersebut satu per satu. Kita mulai dari baris paling atas.
3. Mengenal Direktif Preprosesor
Perhatikan baris pertama berikut:
#include <iostream>
Baris tersebut disebut direktif preprosesor atau preprocessor directive. Direktif merupakan instruksi khusus yang ditujukan kepada preprosesor, yaitu bagian dari proses persiapan kode sebelum kompilasi utama dilakukan.
Salah satu tugas preprosesor adalah memproses instruksi seperti #include. Dalam contoh tersebut, kita meminta agar fasilitas dari pustaka iostream tersedia sehingga program dapat menggunakan fitur masukan dan keluaran, seperti std::cout untuk menampilkan informasi ke layar.
Lalu, apa sebenarnya iostream? Nama tersebut berasal dari istilah input-output stream. Secara sederhana, pustaka ini menyediakan fasilitas untuk menangani aliran data masuk dan keluar.
Bayangkan kita sedang membuat sebuah dokumen dan membutuhkan alat bantu tertentu. Sebelum menggunakannya, kita perlu menyediakan atau memanggil alat bantu tersebut terlebih dahulu. Direktif #include memiliki peran serupa, yaitu membuat deklarasi dari pustaka yang diperlukan tersedia dalam program.
Perhatikan bahwa baris #include <iostream> tidak diakhiri dengan tanda titik koma. Hal ini karena direktif preprosesor memiliki aturan penulisan tersendiri.
Jika ingin mempelajari bagian ini lebih mendalam, kunjungi materi mengenal direktif preprosesor dan fungsi #include dalam C++.
4. Mengenal Namespace dan std
Sekarang kita perhatikan bagian berikut:
std::cout
Mungkin kita bertanya-tanya, mengapa penulisan cout harus diawali dengan std::?
Dalam C++, std merupakan nama namespace standar yang digunakan oleh pustaka standar C++. Namespace dapat dipahami sebagai ruang lingkup penamaan yang membantu mengelompokkan nama-nama tertentu agar tidak saling bertabrakan.
Misalnya, dua pustaka yang berbeda dapat saja memiliki fungsi atau objek dengan nama yang sama. Dengan namespace, kita dapat membedakan asal nama tersebut.
Tanda :: disebut scope resolution operator. Operator ini digunakan untuk menunjukkan bahwa suatu nama berasal dari ruang lingkup tertentu. Jadi, std::cout berarti kita menggunakan cout yang berada di dalam namespace std.
Sebenarnya, kita juga dapat menulis program seperti ini:
#include <iostream>
using namespace std;
int main() {
cout << "Halo, dunia!" << '\n';
return 0;
}
Baris using namespace std; membuat nama-nama dari namespace std dapat digunakan tanpa harus menuliskan awalan std:: setiap kali.
Tidak. Kedua pendekatan tersebut dapat digunakan. Namun, menuliskan std:: secara eksplisit sering lebih disarankan, terutama ketika program mulai berkembang, karena asal suatu nama menjadi lebih jelas dan risiko benturan nama dapat dikurangi.
Pembahasan lebih lanjut mengenai namespace dapat dipelajari melalui artikel memahami namespace, std, dan operator :: dalam C++.
5. Fungsi main() sebagai Titik Awal Program
Sekarang kita sampai pada bagian yang sangat penting:
int main() {
}
Bagian tersebut merupakan deklarasi fungsi main(). Dalam program C++, fungsi main() menjadi titik awal eksekusi program yang berdiri sendiri.
Artinya, ketika program dijalankan, eksekusi normal program dimulai dari fungsi main(). Komputer tidak memulai dengan menjalankan baris pertama yang terlihat pada seluruh berkas secara sembarangan. Ada proses persiapan sebelumnya, tetapi untuk memahami alur program dasar, kita perlu mengenali bahwa instruksi utama dijalankan melalui fungsi main().
Perhatikan bahwa ada dua bagian penting pada penulisan tersebut, yaitu int dan main().
Apa arti int?
Kata int merupakan singkatan dari integer, yaitu tipe data untuk bilangan bulat. Pada deklarasi fungsi main(), int menunjukkan bahwa fungsi tersebut mengembalikan nilai bertipe bilangan bulat kepada sistem operasi.
Apa arti main?
main merupakan nama fungsi khusus yang menjadi titik awal program C++.
Apa fungsi tanda kurung ()?
Tanda kurung tersebut digunakan dalam penulisan fungsi. Pada contoh dasar ini, fungsi main() tidak menerima parameter sehingga bagian di dalam tanda kurung dibiarkan kosong.
Untuk program C++ standar, bentuk umum fungsi utama adalah int main() atau int main(int argc, char* argv[]). Untuk tahap awal, kita cukup menggunakan bentuk int main().
Jika ingin memahami fungsi lebih dalam, termasuk parameter, nilai kembalian, dan cara membuat fungsi sendiri, pelajari materi pengenalan fungsi dalam bahasa pemrograman C++.
6. Memahami Kurung Kurawal { }
Perhatikan kembali fungsi main():
int main() {
// Instruksi program ditulis di sini
}
Tanda { dan } disebut kurung kurawal atau curly braces. Dalam C++, tanda tersebut digunakan untuk menandai awal dan akhir sebuah blok kode.
Pada contoh di atas, kurung kurawal pertama menandai awal isi fungsi main(), sedangkan kurung kurawal kedua menandai akhir blok fungsi tersebut.
Semua instruksi yang menjadi bagian dari fungsi main() ditulis di antara kedua tanda tersebut.
Bayangkan sebuah ruangan yang memiliki pintu masuk dan pintu keluar. Kurung kurawal membuka dan menutup sebuah blok kode. Instruksi yang berada di dalamnya termasuk ke dalam blok tersebut.
Kurung kurawal tidak hanya digunakan pada fungsi. Nantinya, kita juga akan menemukannya ketika mempelajari percabangan, perulangan, dan struktur data tertentu.
Untuk memahami penggunaannya pada berbagai kondisi, kunjungi materi memahami blok kode dan ruang lingkup dalam C++.
7. Pernyataan dan Tanda Titik Koma
Di dalam fungsi main(), kita dapat menuliskan berbagai instruksi. Dalam C++, instruksi yang berbentuk pernyataan umumnya diakhiri dengan tanda titik koma (;).
Contohnya:
int angka = 10; return 0;
Kedua baris tersebut merupakan contoh pernyataan yang diakhiri dengan titik koma. Tanda tersebut membantu compiler mengenali batas akhir pernyataan.
Namun, perlu diingat bahwa tidak semua baris kode C++ harus diakhiri titik koma. Contohnya, deklarasi fungsi int main() dan direktif #include tidak ditulis dengan titik koma pada bentuk yang kita pelajari.
int main() {
std::cout << "Halo, dunia!"
return 0;
}
Pada contoh tersebut, pernyataan std::cout tidak diakhiri dengan titik koma. Akibatnya, compiler dapat menghasilkan pesan kesalahan ketika mencoba memproses program.
Perbaikannya:
int main() {
std::cout << "Halo, dunia!";
return 0;
}
Kesalahan penulisan seperti ini termasuk kesalahan sintaks. Kita akan menemukan lebih banyak aturan penulisan ketika mulai mempelajari variabel, operator, percabangan, dan perulangan.
8. Menampilkan Keluaran dengan cout
Sekarang kita kembali ke baris yang membuat program pertama menampilkan tulisan:
std::cout << "Halo, dunia!" << '\n';
cout merupakan fasilitas dari pustaka standar C++ yang digunakan untuk mengirimkan keluaran ke aliran keluaran standar. Dalam penggunaan program sederhana, keluaran tersebut biasanya ditampilkan pada terminal atau konsol.
Sementara itu, operator << digunakan untuk memasukkan data ke dalam aliran keluaran. Dalam konteks cout, operator tersebut membuat teks atau nilai yang kita tulis dikirimkan untuk ditampilkan.
Perhatikan contoh berikut:
#include <iostream>
int main() {
std::cout << "Saya sedang belajar C++";
return 0;
}
Ketika dijalankan, program akan menampilkan:
Saya sedang belajar C++
Selain teks, cout juga dapat digunakan untuk menampilkan angka maupun hasil perhitungan.
#include <iostream>
int main() {
std::cout << 10 + 5;
return 0;
}
Keluaran program:
15
Kita juga dapat menggunakan '\n' untuk membuat baris baru. Misalnya:
std::cout << "Baris pertama" << '\n'; std::cout << "Baris kedua" << '\n';
Hasilnya akan ditampilkan dalam dua baris terpisah.
Ada juga std::endl yang dapat digunakan untuk mengakhiri baris sekaligus melakukan flush pada aliran keluaran. Untuk kebutuhan dasar, '\n' biasanya sudah cukup.
Kita akan membahas cout, cin, dan cara program berkomunikasi dengan pengguna secara lebih mendalam pada materi input dan output dalam C++.
9. Menambahkan Komentar dalam Program
Ketika program mulai memiliki banyak baris, kita mungkin akan kesulitan mengingat tujuan dari setiap bagian kode. Untuk membantu menjelaskan kode, C++ menyediakan fitur komentar atau comment.
Komentar merupakan catatan yang ditulis oleh programmer untuk menjelaskan kode. Komentar tidak dijalankan sebagai instruksi program.
Ada dua bentuk komentar yang umum digunakan.
Komentar satu baris
Komentar satu baris diawali dengan tanda //. Semua teks setelah tanda tersebut pada baris yang sama dianggap sebagai komentar.
// Ini adalah komentar satu baris std::cout << "Halo, dunia!";
Komentar beberapa baris
Untuk menulis komentar yang terdiri atas beberapa baris, kita dapat menggunakan /* sebagai pembuka dan */ sebagai penutup.
/* Program ini digunakan untuk menampilkan tulisan ke layar. */ std::cout << "Halo, dunia!";
Komentar sangat berguna ketika kita ingin menjelaskan tujuan sebuah bagian kode, memberikan catatan, atau membantu programmer lain memahami program yang dibuat.
Komentar bukan pengganti penulisan kode yang baik. Gunakan komentar untuk menjelaskan alasan atau maksud suatu bagian kode ketika memang diperlukan, bukan sekadar mengulang instruksi yang sudah jelas.
Pelajari lebih lanjut melalui artikel cara menggunakan komentar dalam bahasa pemrograman C++.
10. Menyusun dan Memahami Program Lengkap
Setelah mengenali bagian-bagian dasarnya, sekarang kita coba menyatukan kembali semua komponen tersebut. Perhatikan program berikut:
// Memanggil pustaka untuk kebutuhan input dan output
#include <iostream>
// Fungsi utama program
int main() {
// Menampilkan pesan ke layar
std::cout << "Selamat datang di C++!" << '\n';
// Mengembalikan nilai 0
return 0;
}
Mari kita urutkan kembali cara membaca program tersebut.
1. Direktif preprosesor
#include <iostream> meminta agar fasilitas dari pustaka iostream tersedia untuk digunakan.
2. Fungsi utama
int main() mendefinisikan fungsi utama yang menjadi titik awal eksekusi program.
3. Awal dan akhir blok kode
Kurung kurawal { dan } menandai bagian isi fungsi main().
4. Instruksi keluaran
std::cout digunakan untuk menampilkan pesan ke aliran keluaran standar.
5. Nilai kembalian
return 0; mengakhiri fungsi main() dengan mengembalikan nilai 0. Secara konvensional, nilai ini menunjukkan bahwa program berakhir dengan sukses.
Perlu diingat, program C++ tidak harus selalu memiliki bentuk isi yang sama persis seperti contoh tersebut. Ketika kita mempelajari materi yang lebih lanjut, isi fungsi main() akan semakin beragam. Kita dapat menambahkan variabel, operasi matematika, percabangan, perulangan, dan memanggil fungsi lainnya.
Namun, kerangka dasarnya akan tetap menjadi bekal penting untuk memahami bagaimana program C++ disusun.
11. Kesalahan Umum Saat Menulis Struktur Program
Saat pertama kali belajar C++, kita mungkin akan menemukan pesan kesalahan ketika melakukan kompilasi. Hal tersebut merupakan bagian dari proses belajar. Berikut beberapa kesalahan yang umum terjadi ketika menulis struktur dasar program.
Kesalahan 1 — Lupa menuliskan titik koma
Contoh yang salah:
std::cout << "Belajar C++" return 0;
Perbaikannya:
std::cout << "Belajar C++"; return 0;
Pernyataan keluaran harus diakhiri dengan titik koma.
Kesalahan 2 — Kurung kurawal tidak berpasangan
Contoh yang salah:
int main() {
std::cout << "Halo!";
Blok fungsi belum ditutup dengan kurung kurawal. Tambahkan } pada akhir blok.
Kesalahan 3 — Lupa memanggil pustaka yang diperlukan
Jika kita menggunakan std::cout, tetapi tidak menyertakan #include <iostream>, compiler umumnya akan menghasilkan kesalahan karena deklarasi yang diperlukan belum tersedia.
Tambahkan direktif berikut sebelum fungsi main():
#include <iostream>
Kesalahan 4 — Salah menuliskan huruf besar dan kecil
C++ membedakan huruf besar dan kecil atau bersifat case-sensitive. Artinya, main berbeda dengan Main, begitu juga cout berbeda dengan Cout.
Gunakan penulisan nama yang benar sesuai aturan bahasa C++.
Kesalahan 5 — Menganggap return 0 sebagai perintah untuk mencetak angka
return 0; bukan perintah untuk menampilkan angka 0 ke layar. Pernyataan tersebut mengembalikan nilai dari fungsi main() kepada sistem operasi.
Jika ingin menampilkan angka 0 ke layar, kita perlu menggunakan std::cout << 0;.
Jika ingin mempelajari cara membaca pesan kesalahan dan memperbaiki program yang gagal dikompilasi, kunjungi panduan mengenal error dan debugging dalam C++.
12. Latihan Pemahaman
Sebelum melanjutkan ke materi berikutnya, cobalah menjawab pertanyaan berikut untuk menguji pemahaman mengenai struktur dasar program C++.
Pertanyaan 1 — Apa fungsi #include <iostream>?
Jawaban: Meminta preprosesor memproses penyertaan pustaka iostream, sehingga fasilitas yang diperlukan untuk operasi input dan output, seperti std::cout, tersedia dalam program.
Pertanyaan 2 — Mengapa program C++ membutuhkan fungsi main()?
Jawaban: Karena fungsi main() merupakan titik awal eksekusi program C++ yang berdiri sendiri.
Pertanyaan 3 — Apa fungsi tanda kurung kurawal?
Jawaban: Menandai awal dan akhir sebuah blok kode, misalnya blok yang menjadi isi fungsi main().
Pertanyaan 4 — Apa perbedaan cout dan return 0?
Jawaban: cout digunakan untuk mengirimkan keluaran agar ditampilkan melalui aliran keluaran standar. Sementara itu, return 0; mengakhiri fungsi main() dengan mengembalikan nilai 0 kepada sistem operasi.
Pertanyaan 5 — Mengapa pernyataan C++ umumnya diakhiri titik koma?
Jawaban: Karena titik koma digunakan untuk menandai akhir sebuah pernyataan dalam sintaks C++. Namun, ada bagian tertentu seperti direktif preprosesor dan deklarasi fungsi yang tidak menggunakan titik koma pada bentuk penulisan yang sedang dipelajari.
Buatlah program C++ sederhana yang menampilkan tiga baris berikut:
Saya sedang belajar C++. Saya mulai memahami struktur program. Saya siap mempelajari variabel.
Gunakan satu fungsi main(), tampilkan setiap kalimat menggunakan std::cout, dan akhiri program dengan return 0;.
Cobalah menulis program tersebut sendiri tanpa menyalin contoh secara langsung.
13. Apa yang Sudah Kita Pelajari?
Pada tahap ini, kita sudah mengetahui bahwa sebuah program C++ memiliki bagian-bagian yang disusun berdasarkan aturan tertentu. Kita telah mengenali direktif preprosesor, namespace, fungsi main(), kurung kurawal, pernyataan, tanda titik koma, keluaran menggunakan cout, serta komentar.
Pengetahuan tersebut menjadi fondasi untuk mempelajari materi selanjutnya. Kita sudah mengetahui di mana instruksi program ditulis dan bagaimana sebuah instruksi sederhana dapat dijalankan.
Namun, program yang kita buat sejauh ini masih sebatas menampilkan teks yang sudah ditentukan sebelumnya. Bagaimana jika kita ingin menyimpan nama seseorang? Bagaimana jika kita ingin menyimpan umur, nilai ujian, atau hasil perhitungan? Untuk melakukan hal tersebut, kita membutuhkan konsep yang disebut variabel.
Variabel memungkinkan program menyimpan data sehingga dapat digunakan dan diolah selama program berjalan. Inilah salah satu konsep penting yang akan kita pelajari pada tahap berikutnya.
Variabel, Tipe Data, dan Konstanta dalam C++
Setelah memahami struktur dasar program, sekarang saatnya belajar bagaimana program menyimpan dan mengelola data. Kita akan mengenal variabel, tipe data seperti integer dan string, serta konstanta.
Lanjut ke Materi Variabel dan Tipe Data →Ingin melihat urutan pembelajaran dari awal hingga membuat proyek sederhana? Kunjungi halaman utama roadmap berikut:
0 comments:
Posting Komentar