Bahasa Pemrograman
C/C++
C/C++
Perkembangan Bahasa
Sebelum melangkah lebih jauh ada baiknya
kita review perkembangan bahasa
pemrograman
1. Bahasa Mesin (
Mnemonic Code
)
Bahasa mesin adalah bahasa yang berisi
kode-kode mesin yang hanya dapat
diinterpretasikan langsung oleh mesin
komputer. Bahasa ini merupakan bahasa
komputer. Bahasa ini merupakan bahasa
level terendah dan berupa kode numerik 0
dan 1. Sekumpulan instruksi dalam bahasa
Keuntungan: Eksekusi cepat
2. Bahasa Assembly
Bahasa assembly adalah bahasa simbol dari
bahasa mesin. Setiap kode bahasa mesin
memiliki simbol sendiri dalam bahasa
assembly. Misalnya ADD untuk penjumlahan,
MUL untuk perkalian, SUB untuk
MUL untuk perkalian, SUB untuk
pengurangan, dan lain-lain.
Kelebihan: Eksekusi cepat, masih bisa
3. Bahasa Tingkat Tinggi (
High Level Language
)
Bahasa tingkat tinggi adalah bahasa pemrograman yang lebih
tinggi daripada bahasa assembly. Bahasa ini lebih dekat dengan
bahasa manusia. Bahasa inilah yang akan dibahas pada
matakuliah ini. Bahasa ini juga memberikan banyak sekali
fasilitas kemudahan pembuatan program, misalnya: variabel, tipe
data, konstanta, struktur kontrol, loop, fungsi, prosedur dan
lain-lain. Contoh: Pascal, Basic, C++, dan Java.
lain. Contoh: Pascal, Basic, C++, dan Java.
Keuntungan:
Mudah dipelajari
Mendekati permasalahan yang akan dipecahkan
Kode program pendek
Kerugian: Eksekusi lambat
4. Bahasa yang berorientasi pada masalah spesifik
(
specific problem oriented
).
Bahasa ini adalah bahasa yang digunakan
langsung untuk memecahkan suatu
masalah tertentu. Misalnya SQL untuk
database, Regex untuk mencocokkan pola
database, Regex untuk mencocokkan pola
string tertentu. Bahasa ini juga masuk ke
bahasa tingkat tinggi.
Mengenal C/C++
C/C++ adalah bahasa pemrograman tingkat
menengah yang dirancang oleh Dennis M
Ritchie di Bell Laboratories pada tahun 1972.
Pada tahun 1978 Dennis dan Brian W.
Kernighan mempublikasikan bahasa C
Kernighan mempublikasikan bahasa C
melalui The C Programming Language.
Kemudian C distandarisasi ANSI tahun 1989.
Bahasa C adalah bahasa yang general, tidak
Contoh Program dalam C
#include <stdio.h> #include <conio.h> void main(){ clrscr(); char nama[20]; int umur;printf(“Hallo Selamat Belajar C”);
printf(“Masukkan nama : “); scanf(“%s”,nama); printf(“Masukkan umur: “); scanf(“%d”,&umur);
printf(“Anda bernama : %s dan berumur %d”,nama,umur); printf(“Anda bernama : %s dan berumur %d”,nama,umur); Preparation (Pemberian nilai
awal suatu variabel) Call (Memanggil suatu prosedur / fungsi)
Titik connector yang berada di halaman yang sama Titik konektor yang berada di halaman lain
Tipe data yang didukung oleh C
Type Length Range unsigned char 8 bits 0 to 255
char 8 bits -128 to 127
short int 16 bits -32,768 to 32,767 unsigned int 32 bits 0 to 4,294,967,295
int 32 bits -2,147,483,648 to 2,147,483,647 unsigned long 32 bits 0 to 4,294,967,295
unsigned long 32 bits 0 to 4,294,967,295
enum 16 bits -2,147,483,648 to 2,147,483,647 long 32 bits -2,147,483,648 to 2,147,483,647 float 32 bits 3.4 x 10-38 to 3.4 x 10+38
double 64 bits 1.7 x 10-308 to 1.7 x 10+308 long double 80 bits 3.4 x 10-4932 to 1.1 x 10+4932 near (pointer) 32 bits not applicable
Deklarasi Tipe Data Variabel
Deklarasi tipe data variabel di C dan C#
dalam bentuk umum:
<tipe data> <nama_variabel>;
<tipe data> <nama_variabel>;
Deklarasi Tipe Data Konstanta
Deklarasi konstanta di C:
#define <nama_konstanta> <nilai>
Contoh :
#define pi 3.14;
#define pi 3.14;
#define nama “Anton”;
Tanda # disebut sebagai Prepocessor
Sifat Data Karakter di C:
Karakter disimpan dalam memori berupa kode
ASCII. ASCII berdasarkan English Alphabet.
Dipublikasikan pada tahun 1967 dan diupdate tahun
1986. Terdiri dari 95 (32-space, 33-126) karakter
yang printable dan 32 (0-31) karakter nonprintable/
control character. Contoh segment program C
control character. Contoh segment program C
berikut:
char hrf;
hrf = ‘A’;
Contoh
for(char hrf=’A’; hrf<’Z’;hrf++){
printf(“%c”,hrf);
Sifat Data String
C tidak memiliki tipe data String. Di dalam C
string diperlakukan sebagai array of
character (kumpulan karakter). Deklarasi
string di C:
string di C:
char nama[20] = “anton”;
printf(“%s”,nama);
ATURAN PENULISAN
IDENTIFIER
1. Tidak boleh sama dengan nama keyword
reserved, function, dan harus unik.
2. Maksimum 32 karakter. Bila lebih, maka karakter
selebihnya tidak akan diperhatikan oleh komputer.
3. Case sensitive : membedakan huruf besar dan
3. Case sensitive : membedakan huruf besar dan
kecil
4. Karakter pertama harus huruf atau underscore
(_), selebihnya boleh angka.
STRUKTUR PROGRAM C
Struktur C ditulis dalam sub-sub atau blok
yang digunakan untuk mengerjakan suatu
instruksi tertentu. Blok tersebut disebut
function.
function.
Suatu program C minimal harus memiliki
function main(), tanpa function itu maka
program C tidak dapat dieksekusi
Contoh Program C
#include <stdio.h>
#include <stdio.h>
#include <stdio.h>
#include <stdio.h>
//Kamus
//Kamus
//Kamus
//Kamus
int jumlah;
int jumlah;
int jumlah;
int jumlah;
//algoritma
//algoritma
//algoritma
//algoritma
void main(){
void main(){
void main(){
void main(){
jumlah=5+2;
jumlah=5+2;
jumlah=5+2;
jumlah=5+2;
PERCABANGAN DENGAN IF
Percabangan di dalam pemrograman
digunakan oleh komputer untuk menentukan
langkah kerja instruksi. Percabangan
menggunakan operator kondisional yang
menggunakan operator kondisional yang
akan menghasilkan nilai boolean (benar atau
salah).
Sintaks umum IF sederhana:
Contoh
x = 100;
Y = 10000;
if (X > Y)
{
printf("X lebih besar dari Y");
printf("X lebih besar dari Y");
} else{
printf(“Y lebih besar dari X");
printf(“Y lebih besar dari X");
y=x+1;
Sintaks umum IF dengan ELSE
if (<kondisi>) <statement_jika_benar>;
Contoh:
x = 100;
y = 10;
if (x > y)
{
printf (“%d lebih besar dari %d”,x,y);
}
else
{
Sintaks umum IF ELSE bertingkat
if (<kondisi>) {
<blok statement if 1>
} else if (<kondisi2>) {
<blok statement if 2>
} else if (<kondisi3>){
<blok statement if 3>
} else
{
PERCABANGAN DENGAN SWITCH
Perintah ini digunakan sebagai alternatif
pengganti dari sintaks
if … else
dengan
else
lebih dari satu.
Dengan perintah ini program percabangan
Dengan perintah ini program percabangan
switch (<variabel>)
{
case <konstanta_1>:
<pernyataan_1>;
break;
case <konstanta_2>:
case <konstanta_2>:
<pernyataan_2>;
break;
case <konstanta_n>:
<pernyataan_n>;
break;
void main() { int hari = 3;
printf("Hari ini adalah hari "); switch(hari) { case 1: printf("Minggu"); break; case 2: printf("Senin"); break; case 3: printf("Selasa"); printf("Selasa"); break; case 4: printf("Rabu"); break; default:
printf("Tidak ada hari lebih dari 7"); }
LOOPING (PERULANGAN)
Perulangan digunakan untuk mengerjakan
suatu perintah secara berulang-ulang sesuai
dengan yang diinginkan.
Perulangan dalam C terdiri dari 3 buah:
Perulangan dalam C terdiri dari 3 buah:
1. while() { .... }
2. do { .... } while()
3. for()
Struktur While()
Karakteristik while() adalah:
Dilakukan pengecekan kondisi terlebih
dahulu sebelum dilakukan perulangan.
Jika kondisi yang dicek bernilai benar (true)
Jika kondisi yang dicek bernilai benar (true)
Contoh
int i;
i=1;
while (i <= 5)
{{
i++;
}
Struktur do ... while()
Karakteristik do ... while() adalah:
1. Perulangan akan dilakukan minimal 1x
terlebih dahulu, kemudian baru dilakukan
pengecekan terhadap kondisi, jika kondisi
pengecekan terhadap kondisi, jika kondisi
benar
maka perulangan masih akan tetap
dilakukan.
2. Perulangan dengan do...while() akan
Bentuk umum:
do
{
pernyataan yang akan dijalankan
pernyataan yang akan dijalankan
}
Contoh
i = 1;
do
{
i++;
i++;
}while(i <= 5);
Struktur For()
Karakteristik:
Digunakan untuk perulangan yang batasnya
sudah diketahui dengan jelas, misalnya dari 1
sampai 10.
sampai 10.
Memerlukan 2 buah variabel awal dan akhir
perulangan.
Nilai variabel penghitung akan secara
Bentuk Umum
for (<nilai_awal>; <kondisi>; <penambahan/penurunan>)
{
<pernyataan yang akan dijalankan>
}
Contoh
for(i = 3; i <= 7; i++)
{
printf ( "Indonesia Tanah Airku" );
}}
Array
Selama ini kita menggunakan satu variabel untuk
menyimpan 1 buah nilai dengan tipe data tertentu.
Misalnya :
int a1, a2, a3, a4, a5;
Deklarasi variabel diatas digunakan untuk
Deklarasi variabel diatas digunakan untuk
menyimpan 5 data integer dimana masingmasing
variabel diberi nama a1, a2, a3, a4, dan a5.
Solusi C
Di dalam C dan pemrograman yang lain,
terdapat suatu fasilitas untuk menyimpan
data-data yang bertipe data sama dengan
suatu nama tertentu.
suatu nama tertentu.
Definisi Array
Array adalah suatu tipe data terstuktur yang berupa
sejumlah data sejenis (bertipe data sama) yang
jumlahnya tetap dan diberi suatu nama tertentu.
Elemen-elemen array tersusun secara sekuensial di
dalam memori sehingga memiliki alamat yang
berdekatan.
Array dapat berupa array 1 dimensi, 2 dimensi,
Mengakses Array
Elemen-elemen array dapat diakses oleh
program menggunakan suatu indeks tertentu
Pengaksesan elemen array dapat dilakukan
berurutan atau random berdasarkan indeks
berurutan atau random berdasarkan indeks
tertentu secara langsung.
Pengisian dan pengambilan nilai pada indeks
DEKLARASI ARRAY 1 DIMENSI
tipe_data nama_var_array[ukuran];
tipe_data : menyatakan jenis tipe data
tipe_data : menyatakan jenis tipe data
elemen larik (int, char, float, dll)
nama_var_array : menyatakan nama variabel
yang dipakai.
PENJELASAN ARRAY 1 DIMENSI
Tanda [] disebut juga “elemen yang ke- „. Misalnya
kondisi[0] berarti elemen yang ke nol.
Array yang sudah dipesan, misalnya 10 tempat tidak
harus diisi semuanya, bisa saja hanya diisi 5 elemen
saja, baik secara berurutan maupun tidak. Namun
pada kondisi yang tidak sepenuhnya terisi tersebut,
tempat pemesanan di memori tetap sebanyak 10
tempat, jadi tempat yang tidak terisi tetap akan
terpesan dan dibiarkan kosong.
Contoh
//Dengan variabel biasa:
int x1=3,x2=5,x3=2,x4=7,x5=9;
//Dengan larik:
int x[5]={3,5,2,7,9};
int x[5]={3,5,2,7,9};
Contoh lengkap
#include <stdio.h> #include <conio.h> void main() { int nilai[5], x; clrscr(); printf(“Memasukkan nilai :\n”); for(x=0;x<5;x++) {{printf(“Nilai Angka : “); scanf(“%d”,&nilai[x]); }
printf(“\n”);
printf(“Membaca nilai :\n”); for(x=0;x<5;x++)
{
printf(“Nilai Angka : %d“,nilai[x]); }
ADT
Bahasa C memiliki tipe data numerik dan karakter
(seperti integer, float, char dan lainlain). Bagaimana
jika kita ingin membuat tipe data baru?
ADT adalah tipe data yang dibuat oleh programmer
sendiri yang memiliki suatu nama tertentu.
ADT dapat berupa tipe data dasar namun diberi
nama baru atau berupa kumpulan tipe data berbeda
yang diberi nama baru.
Contoh
#include <stdio.h> #include <conio.h> typedef int angka; typedef float pecahan; typedef char huruf; void main(){ clrscr(); angka umur; pecahan pecah; pecahan pecah; huruf h; huruf nama[10];
printf("masukkan umur anda : ");scanf("%d",&umur); printf("Umur anda adalah %d",umur);
printf("\nmasukkan bilangan pecahan : ");scanf("%f",&pecah); printf("Bilangan pecahan %f",pecah);
printf("\nmasukkan huruf : ");h=getche(); printf("\nHuruf anda %c",h);
printf("\nmasukkan nama : ");scanf("%s",nama); printf("Nama anda %s",nama);
Struct
Struct adalah tipe data bentukan yang berisi
kumpulan variabel-variabel yang bernaung
dalam satu nama yang sama.
Berbeda dengan array yang berisi kumpulan
Berbeda dengan array yang berisi kumpulan
variabel yang bertipe data sama, struct dapat
memiliki variabel-variabel yang bertipe data
sama atau berbeda, bahkan bisa menyimpan
variabel yang bertipe data array atau struct
Ilustrasi
Struct bisa diumpamakan sebagai sebuah
class, misalnya: Mahasiswa
Struct Mahasiswa memiliki property atau
atribut atau variabel yang melekat
padanya:
- NIM yaitu karakter sejumlah 8
- Nama yaitu karakter
- IPK yaitu bilangan pecahan
Deklarasi Struct
typedef struct Mahasiswa {
char NIM[8];
char nama[50];
float ipk;
float ipk;
};
//cara menggunakannya
Cara penggunaan struct dan
pengaksesan elemen-elemennya
- Penggunaan struct dilakukan dengan
membuat suatu variabel yang bertipe struct
tersebut
- Pengaksesan elemen struct dilakukan
- Pengaksesan elemen struct dilakukan
secara individual dengan menyebutkan nama
variabel struct diikuti dengan operator titik (.)
- Misalnya dengan struct mahasiswa seperti
#include <stdio.h> #include <conio.h>
//Pendeklarasian tipe data baru struct Mahasiswa typedef struct Mahasiswa{
char NIM[9]; char nama[30]; Float ipk;
};
void main(){
//Buat variabel mhs bertipe data Mahasiswa Mahasiswa mhs; clrscr(); clrscr(); printf("NIM = ");scanf("%s",mhs.NIM); printf("Nama = ");scanf("%s",mhs.nama); printf("IPK = ");scanf("%f",&mhs.ipk); printf("Data Anda : \n"); printf("NIM : %s\n",mhs.NIM);