Masukkan Password
08 All type of comments in dart | Dart comments
Mari kita bahas comment (komentar) di Dart dari dasar sampai jenis-jenisnya, dengan bahasa sederhana dan contoh yang mudah dipraktikkan.
1. Apa itu Comment?
Comment adalah tulisan di dalam kode yang tidak dianggap sebagai instruksi program oleh Dart.
Sederhananya:
Comment = catatan untuk manusia, bukan perintah untuk komputer.
Contoh:
void main() {
// Ini adalah komentar
print("Hello");
}
Ketika program dijalankan, hasilnya:
Hello
Tulisan:
// Ini adalah komentar
tidak muncul di output karena Dart mengabaikannya ketika menganalisis/menjalankan kode.
Analogi sederhana
Bayangkan kamu sedang menulis resep masakan:
Masukkan 2 telur
// Telur harus dalam kondisi segar
Kocok telur
Kalimat // Telur harus dalam kondisi segar adalah catatan untuk manusia. Orang yang membaca resep bisa memahaminya, tetapi itu bukan langkah yang harus “dieksekusi” oleh program.
Begitu juga dengan comment.
2. Kalau Comment Diabaikan, Kenapa Kita Membutuhkannya?
Ini pertanyaan yang sangat penting.
Memang comment tidak membuat program melakukan sesuatu secara langsung. Tetapi comment sangat berguna untuk menjelaskan kode.
Misalnya kamu punya kode:
int total = price * quantity;
Sekarang mungkin kamu langsung paham.
Tetapi bayangkan 6 bulan kemudian kamu membuka kode tersebut.
Kamu mungkin bertanya:
“Kenapa
pricedikaliquantitydi sini?”
Kita bisa memberikan komentar:
// Menghitung total harga berdasarkan harga barang dan jumlah barang
int total = price * quantity;
Sekarang tujuan kode tersebut jauh lebih jelas.
3. Comment Sangat Berguna dalam Teamwork
Dalam proyek besar, biasanya programmer tidak bekerja sendirian.
Misalnya:
Programmer A
Programmer B
Programmer C
Programmer D
Programmer A mungkin membuat sebuah algoritma yang sangat rumit.
Contohnya:
if (user.isPremium && user.loginCount > 5) {
discount = 20;
}
Programmer A mungkin tahu:
“Oh, ini untuk memberikan diskon khusus kepada user premium yang sudah login lebih dari 5 kali.”
Tetapi Programmer B belum tentu tahu.
Maka bisa diberikan comment:
// User premium yang sudah login lebih dari 5 kali
// mendapatkan diskon 20%.
if (user.isPremium && user.loginCount > 5) {
discount = 20;
}
Sekarang programmer lain lebih mudah memahami tujuan kode tersebut.
4. Jenis-Jenis Comment di Dart
Secara umum, kita akan mempelajari 4 jenis comment:
| Jenis | Sintaks | Kegunaan |
|---|---|---|
| Single-line | // | Komentar satu baris |
| Multi-line | /* ... */ | Komentar beberapa baris |
| Documentation | /// | Dokumentasi kode |
| TODO | // TODO: | Pengingat pekerjaan yang belum selesai |
Mari kita bahas satu per satu.
5. Single-Line Comment
Single-line comment menggunakan:
//
Contoh:
// Ini adalah komentar
print("Hello");
Apa yang terjadi?
// Ini adalah komentar β diabaikan
print("Hello"); β dijalankan
Output:
Hello
5.1 Kenapa disebut Single-Line?
Karena comment tersebut berlaku dari // sampai akhir baris.
Contoh:
// Ini komentar
print("Hello");
Hanya baris pertama yang menjadi comment.
5.2 Comment Setelah Kode
Comment juga bisa ditulis setelah kode.
print("Hello"); // Menampilkan Hello
Dart akan menjalankan:
print("Hello");
sedangkan:
// Menampilkan Hello
diabaikan.
6. Single-Line Comment Bisa Membuat Kode Tidak Dijalankan
Ini juga sering digunakan saat debugging.
Misalnya:
void main() {
print("Hello");
print("Welcome");
print("Flutter");
}
Output:
Hello
Welcome
Flutter
Kalau kita ingin sementara menonaktifkan print("Welcome"):
void main() {
print("Hello");
// print("Welcome");
print("Flutter");
}
Output:
Hello
Flutter
Jadi comment bisa digunakan untuk sementara menonaktifkan baris kode.
Tetapi jangan menjadikan comment sebagai cara utama untuk menghapus kode yang sudah tidak diperlukan. Kalau memang sudah tidak dipakai, biasanya lebih baik dihapus.
7. Multi-Line Comment
Jenis kedua adalah multi-line comment.
Sintaksnya:
/*
komentar
komentar
komentar
*/
Dimulai dengan:
/*
dan diakhiri dengan:
*/
Contoh:
/*
Ini adalah multi-line comment.
Comment ini bisa terdiri
dari beberapa baris.
*/
print("Hello");
Output:
Hello
Semua teks di antara:
/*
dan:
*/
akan dianggap sebagai comment.
8. Contoh Multi-Line Comment untuk Menonaktifkan Kode
Misalnya:
void main() {
print("Hello");
/*
print("Welcome");
print("Flutter");
print("Dart");
*/
print("Goodbye");
}
Output:
Hello
Goodbye
Tiga print() di tengah tidak dijalankan karena berada di dalam multi-line comment.
9. Perbedaan // dan /* */
Ini mudah diingat.
//
Untuk komentar satu baris:
// komentar
/* */
Untuk komentar yang bisa mencakup beberapa baris:
/*
komentar
komentar
komentar
*/
Gambaran sederhananya:
// β sampai akhir baris
/* β mulai comment
...
...
*/ β selesai comment
10. Documentation Comment
Jenis ketiga adalah documentation comment.
Sintaksnya:
///
Perhatikan ada tiga slash.
Contoh:
/// Entry point aplikasi
void main() {
print("Hello");
}
Documentation comment berbeda tujuan dengan comment biasa.
Kalau comment biasa lebih ditujukan sebagai catatan internal:
// Menghitung total harga
Documentation comment digunakan untuk memberikan dokumentasi terhadap API, class, function, method, property, dan sebagainya.
11. Kenapa Documentation Comment Berguna?
Bayangkan kamu membuat function:
int calculateTotal(int price, int quantity) {
return price * quantity;
}
Orang lain yang menggunakan function tersebut mungkin tidak tahu kegunaannya.
Kamu bisa memberikan dokumentasi:
/// Menghitung total harga berdasarkan harga
/// barang dan jumlah barang.
int calculateTotal(int price, int quantity) {
return price * quantity;
}
Ketika menggunakan IDE seperti VS Code atau Android Studio, dokumentasi tersebut dapat muncul ketika programmer melihat atau meng-hover function tersebut.
Jadi documentation comment membantu developer lain memahami API yang kamu buat.
12. Documentation Comment Bisa Mendukung Formatting
Salah satu hal menarik dari documentation comment Dart adalah kamu bisa menggunakan format Markdown, bukan sekadar HTML seperti yang disiratkan transcript.
Contoh:
/// Menghitung total harga.
///
/// Contoh:
/// ```dart
/// calculateTotal(10000, 3);
/// ```
///
/// Menghasilkan total harga sebesar `30000`.
int calculateTotal(int price, int quantity) {
return price * quantity;
}
Ini sangat berguna ketika membuat library atau kode yang akan digunakan oleh banyak programmer.
Jadi daripada hanya menulis:
/// function untuk menghitung
kita bisa memberikan dokumentasi yang lebih informatif.
13. // vs ///
Perhatikan perbedaannya:
// Ini komentar biasa
vs
/// Ini documentation comment
Keduanya sama-sama diawali dengan slash.
Tetapi:
// β comment biasa
/// β documentation comment
Documentation comment memiliki tujuan khusus untuk mendokumentasikan deklarasi kode.
Contoh:
/// User akan mendapatkan diskon sebesar 20%.
double calculateDiscount(double price) {
return price * 0.20;
}
IDE dan tool dokumentasi Dart dapat menggunakan informasi tersebut.
14. TODO Comment
Jenis terakhir yang dibahas adalah TODO comment.
Sintaks umumnya:
// TODO: sesuatu yang harus dikerjakan
TODO biasanya ditulis dengan huruf kapital agar mudah ditemukan oleh IDE.
Contoh:
void main() {
// TODO: Tambahkan validasi username
print("Hello");
}
Artinya kurang lebih:
“Hei, bagian ini belum selesai. Nanti harus dikerjakan.”
15. Kenapa TODO Sangat Berguna?
Bayangkan kamu sedang membuat aplikasi Flutter.
Hari ini kamu belum sempat membuat validasi password.
Daripada lupa, kamu tulis:
// TODO: Tambahkan validasi password
Besok atau minggu depan, ketika membuka file tersebut, kamu akan melihat bahwa ada pekerjaan yang belum selesai.
IDE biasanya juga memberikan tanda khusus pada TODO sehingga lebih mudah dicari.
16. TODO Bukan Perintah Khusus yang Dieksekusi
Ini penting.
Dart tidak menjalankan:
// TODO: Tambahkan validasi password
Sebagai sebuah instruksi program.
TODO hanyalah pola penulisan comment yang digunakan developer dan IDE untuk menandai pekerjaan.
Jadi:
// TODO: Fix login
tidak berarti Dart otomatis akan memperbaiki login. π
Itu hanya pengingat untuk programmer.
17. Contoh Keempat Jenis Comment Sekaligus
Sekarang kita gabungkan semuanya:
/// Program utama aplikasi
void main() {
// Menampilkan pesan pembuka
print("Hello");
/*
Bagian ini sementara
tidak digunakan.
*/
// print("Welcome");
// TODO: Tambahkan fitur login
print("Flutter");
}
Mari kita identifikasi:
1. Documentation comment
/// Program utama aplikasi
Digunakan untuk dokumentasi.
2. Single-line comment
// Menampilkan pesan pembuka
Komentar satu baris.
3. Multi-line comment
/*
Bagian ini sementara
tidak digunakan.
*/
Komentar beberapa baris.
4. TODO
// TODO: Tambahkan fitur login
Pengingat pekerjaan yang belum selesai.
18. Gambaran Cara Kerja Comment
Secara sederhana, bayangkan kode Dart kita seperti ini:
SOURCE CODE
β
βΌ
ββββββββββββββββββββ
β Dart Analyzer / β
β Compiler / Tools β
ββββββββββ¬ββββββββββ
β
β Comment tidak menjadi
β instruksi program
βΌ
ββββββββββββββββββββ
β Kode yang relevanβ
β untuk dijalankan β
ββββββββββ¬ββββββββββ
β
βΌ
OUTPUT
Misalnya:
// Jangan jalankan baris ini
print("A");
print("B");
Secara konsep, comment tidak berkontribusi sebagai instruksi eksekusi:
// Jangan jalankan baris ini β comment
print("A"); β kode
print("B"); β kode
Output:
A
B
19. Comment Bukan Berarti “Benar-Benar Hilang”
Ada sedikit penyederhanaan pada kalimat transcript bahwa “compiler mengabaikan comment.”
Untuk belajar dasar, anggap saja seperti itu: comment tidak menjadi bagian dari instruksi yang dieksekusi program.
Tetapi tooling Dart tetap bisa memanfaatkan comment tertentu, terutama documentation comment.
Misalnya:
/// Menghitung total harga
int calculateTotal(int price, int quantity) {
return price * quantity;
}
Documentation tersebut bisa dimanfaatkan oleh IDE dan tool dokumentasi.
Jadi:
Comment biasa
β
Tidak digunakan sebagai instruksi program
Documentation comment
β
Tidak menjadi instruksi program
β
Tetapi dapat digunakan oleh tooling dokumentasi
Ini perbedaan yang bagus untuk kamu ingat.
20. Kapan Sebaiknya Menggunakan Comment?
Comment sebaiknya digunakan ketika membantu menjawab:
“Kenapa kode ini dibuat seperti ini?”
Contoh bagus:
// Gunakan cache terlebih dahulu agar tidak perlu
// mengambil data dari server setiap kali halaman dibuka.
Ini menjelaskan alasan.
Kurang bagus
// Menambahkan 1
counter++;
Komentar ini sebenarnya tidak terlalu membantu karena kodenya sendiri sudah jelas.
Lebih baik comment menjelaskan sesuatu yang tidak langsung terlihat dari kode.
Misalnya:
// Counter dimulai dari 1 karena nomor halaman
// pada sistem kita dimulai dari 1.
counter++;
21. Jangan Terlalu Banyak Comment
Comment memang berguna, tetapi bukan berarti semakin banyak semakin bagus.
Contoh:
// Membuat variabel age
int age = 20;
// Menambahkan 1 ke age
age = age + 1;
// Menampilkan age
print(age);
Semua comment di atas sebenarnya tidak terlalu diperlukan.
Kode sudah cukup jelas:
int age = 20;
age = age + 1;
print(age);
Comment sebaiknya lebih fokus pada alasan, aturan bisnis, atau bagian yang sulit dipahami.
22. Contoh Comment yang Bagus
Misalnya ada kode:
if (user.isPremium && user.loginCount > 5) {
discount = 20;
}
Comment yang bagus:
// Memberikan diskon 20% kepada user premium
// yang sudah login lebih dari 5 kali.
if (user.isPremium && user.loginCount > 5) {
discount = 20;
}
Comment tersebut memberikan konteks.
23. Ringkasan yang Harus Kamu Hafalkan
Ada empat jenis yang perlu kamu ingat:
// β Single-line comment
/* */ β Multi-line comment
/// β Documentation comment
// TODO β TODO comment
Atau gunakan mnemonic sederhana:
1 slash tambahan β komentar biasa
3 slash β dokumentasi
/* ... */ β banyak baris
TODO β pekerjaan yang belum selesai
24. Contoh Praktik Sederhana
Coba jalankan kode ini:
void main() {
// Nama user
String name = "Budi";
/*
String age = "20";
print(age);
*/
/// Menampilkan nama user
print(name);
// TODO: Tambahkan input dari user
}
Yang benar-benar menghasilkan output hanya:
print(name);
Jadi output:
Budi
Sedangkan:
// Nama user
adalah comment biasa.
/*
String age = "20";
print(age);
*/
adalah multi-line comment.
/// Menampilkan nama user
adalah documentation comment.
Dan:
// TODO: Tambahkan input dari user
adalah TODO comment.
π― Kesimpulan
Comment adalah catatan di dalam source code yang tidak menjadi instruksi eksekusi program. Tujuan utamanya adalah membuat kode lebih mudah dipahami, terutama ketika proyek semakin besar atau dikerjakan oleh banyak orang.
Yang paling penting untuk diingat:
| Comment | Contoh | Fungsi |
|---|---|---|
| Single-line | // ... | Catatan satu baris |
| Multi-line | /* ... */ | Catatan beberapa baris |
| Documentation | /// ... | Mendokumentasikan class/function/API |
| TODO | // TODO: ... | Mengingatkan pekerjaan yang belum selesai |
Dan satu prinsip penting:
Comment yang bagus bukan menjelaskan “apa yang dilakukan kode”, tetapi sering kali menjelaskan “kenapa kode tersebut dibuat seperti itu”.
Kalau kamu sedang belajar Dart dari nol, setelah memahami comment, materi berikutnya biasanya akan terasa lebih mudah karena kamu mulai terbiasa membaca kode + dokumentasinya, bukan hanya membaca syntax.