Download - Bahasa pemrograman d3

Transcript
Page 1: Bahasa pemrograman d3

Bahasa Pemrograman

C/C++

Bangun Wijayanto, ST.

Page 2: Bahasa pemrograman d3

Perkembangan Bahasa

Sebelum melangkah lebih jauh ada baiknya kita review perkembangan bahasa pemrograman

Page 3: Bahasa pemrograman d3

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 level terendah dan berupa kode numerik 0 dan 1. Sekumpulan instruksi dalam bahasa

Keuntungan: Eksekusi cepat Kerugian: Sangant sulit dipelajari manusia

Page 4: Bahasa pemrograman d3

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 pengurangan, dan lain-lain.

Kelebihan: Eksekusi cepat, masih bisa dipelajari daripada bahasa mesin, file kecil

Kekurangan: Tetap sulit dipelajari, program sangat panjang.

Page 5: Bahasa pemrograman d3

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.

Keuntungan: Mudah dipelajari Mendekati permasalahan yang akan dipecahkan Kode program pendek

Kerugian: Eksekusi lambat Bahasa generasi ini disebut juga bahasa generasi ke-3 (3rd

Generation Programming Language). Bahasa inilah yang akan kita pelajari dalam Dasar Pemrograman

Page 6: Bahasa pemrograman d3

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

string tertentu. Bahasa ini juga masuk ke bahasa tingkat tinggi.

Bahasa ini disebut juga bahasa generasi ke-4 (4th Generation Programmming Language).

Page 7: Bahasa pemrograman d3

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 melalui The C Programming Language.

Kemudian C distandarisasi ANSI tahun 1989. Bahasa C adalah bahasa yang general, tidak

dikhususkan untuk suatu bidang/aplikasi tertentu.

Page 8: Bahasa pemrograman d3

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);Preparation (Pemberian nilaiawal suatu variabel)Call (Memanggil suatuprosedur / fungsi)Titik connector yang beradadi halaman yang samaTitik konektor yang beradadi halaman lainif(umur < 20){for(int i=0;i<umur;i++) printf(“%d\n”,i);printf(“Anda masih muda\n”);} elseif(umur > 50){printf(“Anda sudah berumur!\n”);} else printf(“Lainnya\n”);getch();}

Page 9: Bahasa pemrograman d3

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 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 far (pointer) 32 bits not applicable

Page 10: Bahasa pemrograman d3

Deklarasi Tipe Data Variabel

Deklarasi tipe data variabel di C dan C# dalam bentuk umum:

<tipe data> <nama_variabel>;

Page 11: Bahasa pemrograman d3

Deklarasi Tipe Data Konstanta

Deklarasi konstanta di C:

#define <nama_konstanta> <nilai> Contoh : #define pi 3.14; #define nama “Anton”; Tanda # disebut sebagai Prepocessor

Directive, yaitu instruksi yang dilakukan sebelum eksekusi program utama dilakukan.

Page 12: Bahasa pemrograman d3

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 berikut:

char hrf;hrf = ‘A’;printf(“nilai desimal karakter %c adalah %d”,hrf,hrf);

Pada tipe data karakter dapat dilakukan operasi matematika.

Page 13: Bahasa pemrograman d3

Contoh

for(char hrf=’A’; hrf<’Z’;hrf++){

printf(“%c”,hrf);

}

Page 14: Bahasa pemrograman d3

Sifat Data String

C tidak memiliki tipe data String. Di dalam C string diperlakukan sebagai array of character (kumpulan karakter). Deklarasi string di C:char nama[20] = “anton”;

printf(“%s”,nama);

Page 15: Bahasa pemrograman d3

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

kecil 4. Karakter pertama harus huruf atau underscore

(_), selebihnya boleh angka. 5. Tidak boleh mengandung spasi / blank

Page 16: Bahasa pemrograman d3

OPERATOR ARITMATIKA

Page 17: Bahasa pemrograman d3

Contoh Increment

Page 18: Bahasa pemrograman d3

Operator Relasional

Page 19: Bahasa pemrograman d3

Operator Kondisional

Page 20: Bahasa pemrograman d3

STRUKTUR PROGRAM C

Struktur C ditulis dalam sub-sub atau blok yang digunakan untuk mengerjakan suatu instruksi tertentu. Blok tersebut disebut function.

Suatu program C minimal harus memiliki function main(), tanpa function itu maka program C tidak dapat dieksekusi

Page 21: Bahasa pemrograman d3

Gambaran umum program C

Page 22: Bahasa pemrograman d3

Contoh Program C

#include <stdio.h>//Kamusint jumlah;//algoritmavoid main(){

jumlah=5+2; printf(“Hasil jumlah adalah

%d”,jumlah);}

Page 23: Bahasa pemrograman d3

PERCABANGAN DENGAN IF

Percabangan di dalam pemrograman digunakan oleh komputer untuk menentukan langkah kerja instruksi. Percabangan menggunakan operator kondisional yang akan menghasilkan nilai boolean (benar atau salah).

Page 24: Bahasa pemrograman d3

Sintaks umum IF sederhana:

if (<kondisi>) <statement_jika_benar>;

Page 25: Bahasa pemrograman d3

Contoh

x = 100;Y = 10000;if (X > Y){

printf("X lebih besar dari Y");} else{ printf(“Y lebih besar dari X");

printf(“Y lebih besar dari X");y=x+1;

}

Page 26: Bahasa pemrograman d3

Sintaks umum IF dengan ELSE

if (<kondisi>) <statement_jika_benar>;

else <statement_jika_salah>;

Page 27: Bahasa pemrograman d3

Contoh:

x = 100;y = 10;if (x > y)

{printf (“%d lebih besar dari %d”,x,y);

}else

{printf (“%d tidak lebih besar dari %d,x,y);

}

Page 28: Bahasa pemrograman d3

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{

<blok statement else>}

Page 29: Bahasa pemrograman d3

PERCABANGAN DENGAN SWITCH

Perintah ini digunakan sebagai alternatif pengganti dari sintaks if … else dengan else lebih dari satu.

Dengan perintah ini program percabangan akan semakin mudah dibuat dan dipelajari.

Page 30: Bahasa pemrograman d3

switch (<variabel>){

case <konstanta_1>:<pernyataan_1>;

break;case <konstanta_2>:

<pernyataan_2>;break;

case <konstanta_n>:<pernyataan_n>;

break;default :

<pernyataan_default>;}

Page 31: Bahasa pemrograman d3

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");

break;case 4:

printf("Rabu");break;

default:printf("Tidak ada hari lebih dari 7");

}}

Page 32: Bahasa pemrograman d3

LOOPING (PERULANGAN)

Perulangan digunakan untuk mengerjakan suatu perintah secara berulang-ulang sesuai dengan yang diinginkan.

Perulangan dalam C terdiri dari 3 buah: 1. while() { .... } 2. do { .... } while() 3. for()

Page 33: Bahasa pemrograman d3

Struktur While()

Karakteristik while() adalah: Dilakukan pengecekan kondisi terlebih

dahulu sebelum dilakukan perulangan. Jika kondisi yang dicek bernilai benar (true)

maka perulangan akan dilakukan.

Page 34: Bahasa pemrograman d3

Bentuk Umum

Page 35: Bahasa pemrograman d3

Contoh

int i;i=1;while (i <= 5){

i++;}

Page 36: Bahasa pemrograman d3

Flow Chart

Page 37: Bahasa pemrograman d3

Struktur do ... while()

Karakteristik do ... while() adalah: 1. Perulangan akan dilakukan minimal 1x

terlebih dahulu, kemudian baru dilakukan pengecekan terhadap kondisi, jika kondisi benar maka perulangan masih akan tetap dilakukan.

2. Perulangan dengan do...while() akan dilakukan sampai kondisi false.

Page 38: Bahasa pemrograman d3

Bentuk umum:

do{

pernyataan yang akan dijalankan

}

while (kondisi)

Page 39: Bahasa pemrograman d3

Contoh

i = 1;

do

{

i++;

}while(i <= 5);

Page 40: Bahasa pemrograman d3

FLOW CHART

Page 41: Bahasa pemrograman d3

Struktur For()

Karakteristik: Digunakan untuk perulangan yang batasnya

sudah diketahui dengan jelas, misalnya dari 1 sampai 10.

Memerlukan 2 buah variabel awal dan akhir perulangan.

Nilai variabel penghitung akan secara otomatis bertambah atau berkurang tiap kali sebuah pengulangan dilaksanakan

Page 42: Bahasa pemrograman d3

Bentuk Umum

for (<nilai_awal>; <kondisi>; <penambahan/penurunan>)

{

<pernyataan yang akan dijalankan>

}

Page 43: Bahasa pemrograman d3

Contoh

for(i = 3; i <= 7; i++)

{

printf ( "Indonesia Tanah Airku" );

}

Page 44: Bahasa pemrograman d3

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 menyimpan 5 data integer dimana masingmasing variabel diberi nama a1, a2, a3, a4, dan a5.

Jika kita memiliki 10 data, 100 data integer bahkan mungkin data yang ingin kita proses tidak kita ketahui atau bersifat dinamis? Kita tidak mungkin menggunakan variabel seperti diatas.

Page 45: Bahasa pemrograman d3

Solusi C

Di dalam C dan pemrograman yang lain, terdapat suatu fasilitas untuk menyimpan data-data yang bertipe data sama dengan suatu nama tertentu.

Apakah itu? Itulah Array

Page 46: Bahasa pemrograman d3

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, bahkan n-dimensi.

Elemen-elemen array bertipe data sama tapi bisa bernilai sama atau berbeda-beda.

Page 47: Bahasa pemrograman d3

Gambaran umum sebuah Array

Page 48: Bahasa pemrograman d3

Mengakses Array

Elemen-elemen array dapat diakses oleh program menggunakan suatu indeks tertentu

Pengaksesan elemen array dapat dilakukan berurutan atau random berdasarkan indeks tertentu secara langsung.

Pengisian dan pengambilan nilai pada indeks tertentu dapat dilakukan dengan mengeset nilai atau menampilkan nilai pada indeks yang dimaksud.

Page 49: Bahasa pemrograman d3

DEKLARASI ARRAY 1 DIMENSI

tipe_data nama_var_array[ukuran];

tipe_data : menyatakan jenis tipe data elemen larik (int, char, float, dll)

nama_var_array : menyatakan nama variabel yang dipakai.

ukuran : menunjukkan jumlah maksimal elemen larik.

Page 50: Bahasa pemrograman d3

Contoh

Page 51: Bahasa pemrograman d3

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.

Page 52: Bahasa pemrograman d3

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};

Page 53: Bahasa pemrograman d3

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]);}}

Page 54: Bahasa pemrograman d3

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.

Untuk pembuatan ADT digunakan keyword typedef

Page 55: Bahasa pemrograman d3

Contoh#include <stdio.h>#include <conio.h>typedef int angka;typedef float pecahan;typedef char huruf;void main(){clrscr();angka umur;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);getch();}

Page 56: Bahasa pemrograman d3

Struct

Struct adalah tipe data bentukan yang berisi kumpulan variabel-variabel yang bernaung dalam satu nama yang sama.

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

Variabel-variabel yang menjadi anggota struct disebut dengan elemen struct

Page 57: Bahasa pemrograman d3

Ilustrasi

Struct bisa diumpamakan sebagai sebuahclass, misalnya: MahasiswaStruct Mahasiswa memiliki property atauatribut atau variabel yang melekatpadanya: - NIM yaitu karakter sejumlah 8 - Nama yaitu karakter - IPK yaitu bilangan pecahanStruct hampir mirip dengan class pada Java, namun

struct tidak memiliki method atau function.

Page 58: Bahasa pemrograman d3

Deklarasi Struct

typedef struct Mahasiswa {

char NIM[8];

char nama[50];

float ipk;

};//cara menggunakannya

Mahasiswa mhs,mhs2;

Page 59: Bahasa pemrograman d3

Cara penggunaan struct dan pengaksesan elemen-elemennya

- Penggunaan struct dilakukan dengan membuat suatu variabel yang bertipe struct tersebut

- Pengaksesan elemen struct dilakukan secara individual dengan menyebutkan nama variabel struct diikuti dengan operator titik (.)

- Misalnya dengan struct mahasiswa seperti contoh di atas, kita akan akses elemenelemennya seperti contoh berikut:

Page 60: Bahasa pemrograman d3

#include <stdio.h>#include <conio.h>//Pendeklarasian tipe data baru struct Mahasiswatypedef struct Mahasiswa{

char NIM[9];char nama[30];Float ipk;

};void main(){

//Buat variabel mhs bertipe data MahasiswaMahasiswa mhs;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);printf("Nama : %s\n",mhs.nama);printf("IPK : %f\n",mhs.ipk);

}