Professional Documents
Culture Documents
Tugas s1cc
Tugas s1cc
Selanjutnya kita akan belajar tentang stuktur kode program pada bahasa C.
#include <stdio.h>
int main(){
printf("Hello World!");
return 0;
}
Ini adalah struktur dasar
Jika kamu baru pertama kali melihat program ini, barangkali akan menyanyakan
banyak hal.
Seperti:
#include <stdio.h>
int main(){
// kode atau logika program kita di sini
return 0;
}
Kalau kita perhatikan, struktur program tersebut dibagi menjadi dua bagian utama:
1. Bagian Include;
2. Blok Fungsi Main.
Mari kita bahas lebih detail…
Header file adalah file yang berisi definisi fungsi yang sudah dibuat. Tujuannya agar
bisa digunakan pada program C yang lainnya. File ini berekstensi .h, contoh: stdio.h.
Pada contoh di atas, kita mengimpor file stdio.h. File ini berisi deklarasi fungsi-fungsi
dasar yang kita butuhkan untuk membuat program C, seperti printf().
Karena itu, kita harus menuliskan logika program di dalam fungsi ini.
Pada contoh di atas kita membut fungsi main dengan deklarasi seperti ini:
int main(){
//...
return 0
}
Maksud dari int di depan main adalah tipe data yang akan dikembalikan. Maka di dalam
fungsi main(), wajib kita sertakan return 0. Artinya, fungsi main akan mengembalikan
nilai 0 setelah selesai dieksekusi.
Contoh:
void main(){
//...
}
void artinya tidak ada (kosong). Jika kita menggunakan void, maka kita tidak perlu
menuliskan kata kunci return di akhir fungsi. Karena fungsi void tidak akan
mengembalikan nilai apapun.
Penulisan Statement
Statemen adalah perintah-perintah atau fungsi untuk melakukan sesuatu.
Contoh:
printf("Hello World!");
Setiap statement di dalam program C warjib diakhiri dengan titik koma (;), kalau tidak…
Kita akan banyak menggunakan blok kode untuk membungkus beberapa statement di
dalam blok if, for, while, do/while, fungsi, dll.
Penulisan Komentar
Komentar adalah bagian yang tidak akan dieksekusi oleh komputer. Komentar bisanya
digunakan untuk membuat keterangan pada kode program.
Contoh Komentar:
Kita bisa menggunakan garis miring ganda (//) untuk membut komentar satu baris dan
tanda /**/ untuk membuat komentar beberapa baris.
Contoh:
#include <stdio.h>
int main(){
// ini adalah komentar satu baris
printf("Hello World!");
/*
ini adalah komentar
yang lebih
dari satu baris
*/
return 0;
}
Contoh:
Biasanya para pemula sering membuat kesalahan dengan case, alhasil program akan
error.
Apa Selanjutnya?
Aturan-aturan di atas adalah aturan penulsan dasar yang harus dipahami. Selanjutnya
kita bisa praktik lebih dalam lagi agar semakin memahami bahasa pemrograman C.
#C++
Input biasanya diambil dari perangakat inputan seperti keyboard, mouse, kamera,
microphone, dll.
Pada bahasa pemrograman C++, terdapat beberapa fungsi dasar untuk menampilkan
output dan mengambil input.
Bedanya sih pada konteks penggunaannya, yakni untuk error dan log.
1. Fungsi cout
Fungsi cout adalah fungsi standar pada C++ untuk menampilkan output ke layar.
Teks harus diapit dengan tanda petik dan untuk membuat baris baru bisa
menggunakan endl atau simbol \n.
Pembuatan baris baru bersifat opsional, terserah kita mau ditambahkan atau tidak.
Contoh:
Namaku adalah
Petani kode
Hasilnya:
Gampang ‘kan?
#include <iostream>
using namespace std;
int main(){
return 0;
}
2. Fungsi printf()
Fungsi printf() merupakan fungsi yang aslinya dari bahasa C, tapi bisa juga dipakai pada
C++.
"format" adalah sebuah teks (string) untuk ditampilkan. Lalu tanda ... akan berisi sebuah
variabel atau nilai untuk ditampilkan berdasarkan format yang diberikan pada
teks "format".
#include <iostream>
using namespace std;
int main(){
printf("Hello, ini adalah teks output\n");
printf("Nama saya %s\n", "Dian");
printf("Usia saya %d\n", 20);
return 0;
}
Hasilnya:
Ada beberapa hal yang perlu di perhatikan…
Selain tiga simbol tersebut, masih banyak lagi simbol yang lain.
1. Fungsi cin
Fungsi cin (c input) adalah fungsi untuk mengambil input dari keyboard.
#include <iostream>
using namespace std;
int main(){
string nama;
cout << "Tuliskan nama: ";
cin >> nama;
return 0;
}
Maka hasilnya:
2. Fungsi scanf()
Fungsi scanf() sebenarnya dari bahasa C, tapi bisa juga digunakan pada C++.
Fungsi scanf() adalah fungsi untuk mengambil input dari keyboard. Fungsi ini memiliki
format seperti fungsi printf().
Format yang diberikan tergantung dari jenis tipe data apa yang ingin kita ambil.
#include <iostream>
using namepsace std;
int main () {
// membuat variabel
char name[20], web_address[30];
printf("Nama: ");
scanf("%s", &name);
printf("\n------------------------------\n");
printf("Nama yang diinputkan: %s\n", name);
printf("Alamat Web yang diinputkan: %s\n", web_address);
return 0;
}
Hasilnya:
Tapi saat kita menginputkan teks yang mengandung spasi, hasilnya akan dipecah
menjadi dua seperti ini:
Untuk mengatasi masalah ini, kita bisa ubah format yang digunakan
pada scanf() menjadi seperti ini:
printf("Nama: ");
scanf("%[^\n]s", name);
Contoh:
#include <stdio.h>
void main(){
int a, b, c;
c = a + b;
Karena itu kita memberikan simbol & di depan nama variabel untuk menentukan
alamat memori yang akan digunakan oleh scanf().
Apa Selanjutnya?
Nah itulah fungsi-fungsi dasar yang digunakan untuk mengambil input dan
menampilkan output pada C++.
Kita bisa menggunakan fungsi bawaan C++ atauapun fungsi dari bahasa C
seperti printf(), scanf(), puts() dll.
#C
Inti dari sebuah program komputer adalah menerima input, melakukan pemrosesan,
dan menghasilkan output.
Nilai input bisa kita dapatkan dari keyboard, file, kamera, mikrofon, dan sebagainya.
Sementara output dapat kita tampilkan ke monitor, cetak ke dokumen, atau ke dalam
sebuah file.
Sama seperti waktu kita berpikir… kita akan membutuhkan beberapa ingatan untuk
memproses informasi.
Pada tutorial ini, saya akan bahas tuntas tentang cara penggunaan variabel dan tipe
data dalam pemrograman C.
Siap?
x = 3;
y = 4;
Masih bingung?
Anggap saja variabel itu sebuah wadah, lalu tipe data itu jenis-jenis benda yang akan
disimpan dalam wadah tersebut.
Lalu…
Jadi, pertama kita harus menuliskan tipe data lalu diikuti dengan nama variabelnya.
Contoh:
int tinggi;
Artinya:
Jangan lupa, di setiap pembuatan variabel harus diakhiri dengan titik koma.
…kita juga dapat mengisi langsung dengan nilai yang ingin kita simpan.
Contoh:
Artinya:
Kita akan membuat variabel dengan nama berat dan tipe data integer, lalu langsung diisi
dengan nilai 49.
Aturan Penulisan Variabel pada C
Ada beberapa aturan penulisan variabel yang harus kamu ketahui:
Buka Codeblocks!
#include <stdio.h>
int main(){
// membuat variabel dengan tipe data integer
int berat;
// membuat variabel dan langsung mengisinya
int tinggi = 178;
Maka hasilnya:
Apa yang akan terjadi jika kita lupa mengisi nilai variabel.
Misalnya di bagian pengisian nilai untuk variabel berat kita hapus seperti ini.
Isi dari variabel berat akan sama dengan nol 0, karena kita tidak mengisinya.
Saran saya:
Menurut Wikipedia:
“Tipe data atau kadang disingkat dengan ‘tipe’ saja adalah sebuah pengelompokan data
untuk memberitahu compiler atau interpreter bagaimana programmer ingin mengolah
data tersebut” 1
1. Char
2. Integer
3. Float
4. Array
5. Structure
6. Pointer
7. Enum
8. Void
Apabila kita kelompokkan, maka akan terdapat empat kelompok tipe data.
Pada tutorial ini, kita akan bahas tipe data dasar dan void saja.
Untuk tipe data yang lainnya akan dibahas di tutorial yang beda.
Setiap tipe data memiliki panjang dan ukuran, perhatikan tabel berikut.
Tipe
Ukuran Panjang Contoh
Data
Jika kamu menulis seperti ini 2,5 maka akan salah. Penulisan yang benar adalah 2.5.
Mengapa?
Karena kalau misalnya karakter itu adalah spasi— tanpa tanda petik—kita tidak akan
bisa mengisinya dengan karakter spasi.
Contoh Program:
int main(){
int usia = 19;
float berat = 65.3;
double tinggi = 178.43;
char jenis_kelamin = 'L';
return 0;
}
Hasilnya:
Kita bisa saja mencetakanya dengan format %f saja, akan tetapi akan dicetak dengan
angka yang panjang.
Tinggi: 178.430000 cm
Berat: 65.300003 Kg
Tinggi: 178.43 cm
Berat: 65.30 Kg
Tipe Data Void pada C
Tipe data void adalah tipe data khusus untuk menyatakan tidak ada data.
Apakah nol 0 sama dengan void?
Bingung?
Tipe data void jarang digunakan dalam pembuatan variabel. Tapi biasanya dipakai pada
nilai kembalian sebuah fungsi.
Contoh:
void main(){
//...
}
Air yang bentuknya cair tidak bisa disimpan dalam kardus. Karena itu, air harus
konversi dulu menjadi bentuk padat (es) agar bisa disimpan dalam kardus.
Begitu juga dengan variabel…
Cara mengubah tipe data pada C, cuku dengan menuliskan nama tipe datanya di depan
nilai atau variabel yang ingin dibuah.
Contoh:
#include <stdio.h>
void main(){
int a = 5;
int b = 2;
float c = a / b;
Hasil a / b = 2.00
Mengapa 2.00? bukannya 2.50?
Ini disebabkan karena variabel a dan b bertipe intger. Nah hasil pembagian dari tipe
data integer akan selalu dibulatkan.
Bisa juga dibilang sebagai variabel yang tidak bisa diubah nilainya.
1. Menggunakan #define;
2. dan Menggunakan const.
Contoh menggunakan define:
#include <stdio.h>
#define SEPULUH 10
#define VERSI 4.5
#define JENIS_KELAMIN 'L'
void main(){
printf("isi konstanta SEPULUH adalah %i\n", SEPULUH);
printf("isi konstanta VERSI adalah %f\n", VERSI);
printf("isi konstanta JENIS_KELAMIN adalah %c\n", JENIS_KELAMIN);
}
Hasil outputnya:
Contoh menggunakan const:
#include <stdio.h>
void main(){
const double PI = 3.14;
const char JENIS_KELAMIN = 'P';
const int VERSI = 11;
Hasil outputnya:
Apa yang akan terjadi jika saya mencoba mengisi nilai ke dalam konstanta?
Ads by
Pada tutorial sebelumnya kita sudah belajar tentang variabel dan tipe data.
Buat kamu yang belum membacanya, saya sarankan untuk membacanya dulu sebelum
mengikuti tutorial ini.
Berkat variabel kita jadi bisa menyimpan data di dalam program. Tapi sejauh ini, kita
belum melakukan opersi apapun terhadapnya.
Misalnya:
Kita ingin menjumlahkan nilai dari variabel x dan y, maka kita bisa menggunakan
operator penjumlahan (+).
x+y
Ada enam jenis kelompok operator dalam pemrograman C++ yang harus kamu ketahui:
1. Operator Artimatika;
2. Operator Penugasan;
3. Operator Pembanding;
4. Operator Logika;
5. Operator Bitwise;
6. dan Operator Lain-lain.
1. Operator Aritmatika
Operator aritmatika merupakan operator yang digunakan untuk melakukan operasi
aritmatika.
Penjumlahan +
Pengurangan -
Perkalian *
Pembagian /
Sisa Bagi %
#include <iostream>
using namespace std;
int main(){
int a, b, c;
return 0;
}
Maka hasilnya:
Coba juga untuk contoh operator yang lain seperti pengurangan, perkalian, pembagian,
dan sisa bagi.
#include <iostream>
using namespace std;
int main(){
int a, b;
return 0;
}
Maka hasilnya:
Mengapa demikian?
Bukannya seharusnya 3.5…
#include <iostream>
using namespace std;
int main(){
float a, b;
return 0;
}
2. Operator Penugasan
Operator penugasan (Assignment Operator) merupakan operator untuk meberikan
tugas pada variabel. Biasanya untuk mengisi nilai.
Operator Penugasan terdiri dari:
Pengisian Nilai =
int main(){
int a, b;
return 0;
}
Hasilnya:
Pada program tersebut, variabel b kita isi ulang dengan operator penugasan.
b += a
b=b+a
b *= a; // -> b = b * a
3. Operator Pembanding
Operator pembanding adalah operator untuk memabndingkan dua buah nilai. Operator
ini juga dikenal dengan operator relasi.
Sama Dengan ==
Nama Operator Simbol
#include <iostream>
using namespace std;
int main(){
int a = 4, b = 3;
bool hasil;
hasil = a >= b;
cout << "a >= b = " << hasil << endl;
hasil = a <= b;
cout << "a <= b = " << hasil << endl;
hasil = a == b;
cout << "a == b = " << hasil << endl;
hasil = a != b;
cout << "a != b = " << hasil << endl;
return 0;
}
Maka hasilnya:
4. Operator Logika
Kalau kamu pernah belajar logika matematika, pasti tidak akan asing dengan operator
ini.
Logika OR ||
Nama Operator Simbol
Negasi/kebalikan !
Bingung?
Masih bingung…?
#include <iostream>
using namespace std;
int main(){
int a = 1; // true
int b = 0; // false
bool hasil;
// logika AND
hasil = a && b;
cout << "a && b = " << hasil << endl;
// logika OR
hasil = a || b;
cout << "a || b = " << hasil << endl;
// logika NOT
cout << "!a = " << !a << endl;
return 0;
}
Hasilnya:
5. Operator Bitwise
Operator bitwise merupkan operator yang digunakan untuk operasi berdasarkan bit
(biner) dari sebuah nilai.
AND &
OR |
XOR ^
NOT/komplemen ~
Buat kamu yang sudah pernah belajar sistem bilangan dan sistem digital akan mudah
memahami cara kerja operator ini.
Baiklah!
6 = 0110
3 = 0011
Bitwise AND merupakan operasi bit berdasarkan logika AND, perhatikan gambar ini.
Apbila kita melakukan operasi AND di sana, maka akan menghasilkan bilangan biner
baru.
Kemudian biner yang dihasilkan tersebut diubah kembali ke dalam bilangan desimal.
#include <iostream>
using namespace std;
int main(){
int a = 6;
int b = 3;
int hasil;
return 0;
}
Maka hasilnya:
Bitwise OR (|)
Contoh Program: bitwise_or.c
#include <iostream>
using namespace std;
int main(){
int a = 6;
int b = 3;
int hasil;
Hasil outputnya:
a|b=7
Contoh Program: bitwise_xor.c
#include <iostream>
using namespace std;
int main(){
int a = 6;
int b = 3;
int hasil;
return 0;
}
Hasil outputnya:
a^b=5
Contoh program: bitwise_not.c
#include <iostream>
using namespace std;
int main(){
int a = 6;
int hasil;
return 0;
}
Hasil outputnya:
~a = -7
Operator bitwise left shift akan menghasilkan nilai biner yang digeser ke kiri.
Contoh:
6 << 1
Contoh program: left_shift.c
#include <iostream>
using namespace std;
int main(){
int a = 6;
int hasil;
return 0;
}
Hasilnya:
a << 1 = 12
Bitwise right shift sama seperti left shift. Perbedaanya terletak pada arahnya.
Contoh:
6 >> 1
Contoh program: right_shift.c
#include <iostream>
using namespace std;
int main(){
int a = 6;
int hasil;
return 0;
}
Hasilnya:
a >> 1 = 3
6. Operator Lain-lain
Selain dari operator yang kita bahas di atas, terdapat beberapa operator lain yang harus
diketahui:
Operator & jika digunakan pada satu variabel, akan berfungsi untuk mengambil alamat
memori dari variabel tersebut.
#include <iostream>
using namespace std;
int main(){
int a = 5;
int *ptr_a = &a;
cout << "Alamat memori variabel a adalah " << &a << endl;
return 0;
}
Hasilnya:
#include <iostream>
using namespace std;
int main(){
int a = 4;
cout << "a > 1 adalah " << hasil << endl;
return 0;
}
Hasil outputnya:
Contoh:
#include <iostream>
using namespace std;
int main(){
int a = 4;
// increment a
a++;
cout << "a++ = " << a << endl;
// increment lagi a
++a;
cout << "++a = " << a << endl;
// decrement a
a--;
cout << "a-- = " << a << endl;
// decrement lagi a
--a;
cout << "--a = " << a << endl;
return 0;
}
Hasil outputnya:
a++ = 5
++a = 6
a-- = 5
--a = 4
#C++
Buat yang belum pernah kuliah atau belajar tentang algoritma dan flowchart, mungkin
ini istilah yang baru pertama kamu dengar.
Percabangan akan mampu membuat program berpikir dan menentukan tindakan sesuai
dengan logika/kondisi yang kita berikan.
1. Percabangan if
Percabangan if merupakan percabangan yang hanya memiliki satu blok pilihan saat
kondisi bernilai benar.
“Jika total belanja lebih besar dari Rp 100.000, Maka tampilkan pesan Selamat, Anda
dapat hadiah”
#include <iostream>
using namespace std;
int main(){
cout << "=== Program Pembayaran ===" << endl;
unsigned int total_belanja;
// menggunakan percabangan if
if(total_belanja > 100000){
cout << "Selamat! anda dapat hadiah" << endl;
}
return 0;
}
g++ if.cpp -o if
./if
Hasilnya:
Perhatikan pada bagian ini:
// menggunakan percabangan if
if(total_belanja > 100000){
cout << "Selamat! anda dapat hadiah" << endl;
}
Blok program berisi sekumpulan ekpresi dan statement untuk dikerjakan oleh
komputer.
Blok program pada C++, selalu diawali dengan tanda buka kurung kurawal { dan akan
diakhiri dengan tutup kurung kurawal }.
Apabila di dalam blok hanya terdapat satu baris ekspresi atau statement, maka boleh
tidak ditulis tanda kurungnya.
Apabila password benar, pesan yang ada pada blok hijau akan ditampilkan: “Selamat
datang bos!"
Tapi kalau salah, maka pesan yang ada di blok merah yang akan
ditampilkan: “Password salah, coba lagi!"
Kemudian, pesan yang berada di blok abu-abu akan tetap ditampilkan, karena dia
bukan bagian dari blok percabangan if/else.
#include <iostream>
using namespace std;
int main(){
string password;
// percabangan if/else
if (password == "kopi"){
cout << "Selamat datang bos!" << endl;
} else {
cout << "Password salah, coba lagi!" << endl;
}
return 0;
}
Hasilnya:
3. Percabangan if/else/if
Percabangan if/else/if merupakan percabangan yang memiliki lebih dari dua blok
pilihan.
Contoh Program:
#include <iostream>
using namespace std;
int main(){
int nilai;
string grade;
return 0;
}
Hasilnya:
4. Percabangan Switch/Case
Percabangan switch/case adalah bentuk lain dari percabangan if/else/if.
switch(variabel){
case <value>:
// blok kode
break;
case <value>:
// blok kode
break;
default:
// blok kode
}
Kita dapat mermbuat blok kode (case) sebanyak yang diinginkan di dalam blok switch.
Pada <value>, kita bisa isi dengan nilai yang nanti akan dibandingkan dengan varabel.
Contoh:
#include <iostream>
using namespace std;
int main(){
char grade;
switch (toupper(grade)){
case 'A':
cout << "Luar biasa!" << endl;
break;
case 'B':
case 'C':
cout << "Bagus!" << endl;
break;
case 'D':
cout << "Anda lulus" << endl;
break;
case 'E':
case 'F':
cout << "Anda remidi" << endl;
break;
default:
cout << "Grade Salah!" << endl;
}
return 0;
}
Hasilnya:
Mengapa menggunakan toupper()?
Ini karena agar kita dapat menginputkan huruf kecil dan huruf besar untuk mengecek
grade.
Bisa dibilang:
#include <iostream>
using namespace std;
int main(){
int jawaban;
return 0;
}
Hasilnya:
6. Percabangan Bersarang (Nested)
Kita juga dapat membuat blok percabangan di dalam percabangan. Ini disebut
percabangan bersarng atau nested if.
Contoh: 📄 nested.cpp
#include <iostream>
using namespace std;
int main(){
if (username == "petanikode"){
if (password == "kopi"){
cout << "Selamat datang bos!" << endl;
} else {
cout << "Password salah, coba lagi!" << endl;
}
} else {
cout << "Anda tidak terdaftar" << endl;
}
return 0;
}
Hasilnya: