Pendahuluan
Pertemuan : I Oleh : Danang Junaedi
Jurusan Teknik Informatika – Universitas Widyatama
Pemrograman Pemrograman IIII (Terstruktur (Terstruktur II) II)
Overview Deskripsi Tujuan Instruksional Kaitan Materi Urutan Bahasan Penilaian Grade Referensi
Jurusan Jurusan Teknik Teknik Informatika Informatika
1-2 1-2
Universitas Universitas Widyatama Widyatama
Pemrograman Pemrograman IIII (Terstruktur (Terstruktur II) II)
Pendahuluan Deskripsi Mata kuliah ini mempelajari :
Review Singkat Bahasa C/C++(Operasi Input/Output, Selection, Looping, Fungsi/Prosedur dan Dasar Pengolahan File Sequential) Implementasi Pengolahan File Sequential (Konsolidasi, Merging, Spliting dan Updating) menggunakan bahasa C/ C++ Implementasi Rekursif menggunakan bahasa C/ C++ Pengenalan implementasi strategi Algoritma (Brute Force, Greedy,
Devide & Conquer, Backtracking, Branch & Bound, Dynamic Programming) menggunakan bahasa C/ C++
Implementasi Dasar Pengelolaan List berkait (Tambah Data, Cari Data, Tampil Data, Hapus Data) menggunakan bahasa C/ C++
Jurusan Jurusan Teknik Teknik Informatika Informatika
1-3 1-3
Universitas Universitas Widyatama Widyatama
1
Pemrograman Pemrograman IIII (Terstruktur (Terstruktur II) II)
Pendahuluan Tujuan Instruksional
tingkat pemahaman : tentang konsep-konsep dan teknik penyelesaian masalah pemrograman dasar (lanjutan), dan tingkat aplikasi : tentang membuat penyelesaian masalah pemrograman, mengeksekusi program tanpa tergantung pada bahasa pemrograman apapun (minimal dapat menggunakan pengetahuannya dalam mengimplementasikan berbagai masalah dengan menggunakan bahasa pemrograman C/C++).
Kaitan Materi
Terkait dengan Mata Kuliah Algoritma II, dalam hal materi-materi yang akan diimplementasikan dalam bahasa C/C++. Terkait dengan Mata Kuliah Pemrograman I, dalam hal prinsip dasar pemrograman Terstuktur.
Jurusan Jurusan Teknik Teknik Informatika Informatika
1-4 1-4
Universitas Universitas Widyatama Widyatama
Pemrograman Pemrograman IIII (Terstruktur (Terstruktur II) II)
Pendahuluan Urutan Bahasan Pertemuan
Materi
1
Pendahuluan (Susunan Materi, Aturan Perkuliahan, Aturan Penilaian, grade nilai, referensi);Review Bahasa C/C++
2
Review Bahasa C/C++;Pengolahan File Sequential : Konsolidasi (Tanpa Separator)
3-5
Pengolahan File Sequential : Konsolidasi (Dengan Separator), Merging, Splitting, dan Updating pada File Sequential; Presentasi (optional)
6-7 8
Rekursif;Presentasi (optional);Review Materi(optional) UTS
Jurusan Jurusan Teknik Teknik Informatika Informatika
1-5 1-5
Universitas Universitas Widyatama Widyatama
Pemrograman Pemrograman IIII (Terstruktur (Terstruktur II) II)
Pendahuluan Urutan Bahasan Pertemuan
Materi
10-12
Strategi Algoritma (Brute Force, Greedy, Devide & Conquer, Backtracking, Branch & Bound, Dynamic Programming); Presentasi (optional)
13-15
List Berkait;Presentasi (optional);Review Materi (optional)
16
UAS
Jurusan Jurusan Teknik Teknik Informatika Informatika
1-6 1-6
Universitas Universitas Widyatama Widyatama
2
Pemrograman Pemrograman IIII (Terstruktur (Terstruktur II) II)
Pendahuluan Penilaian
Grade
Quiz
10%
Grade
Tugas
10%
A
≥ 85
Presentasi/ Tutorial
12.5%
B
75 - 85
Praktikum
20%
UTS
22.5%
UAS
25%
Kehadiran
Range Nilai
C
60 - 75
D
50 - 60
E
< 50
5% (>80%)
Jumlah 105%
Jurusan Jurusan Teknik Teknik Informatika Informatika
1-7 1-7
Universitas Universitas Widyatama Widyatama
Pemrograman Pemrograman IIII (Terstruktur (Terstruktur II) II)
Pendahuluan Referensi 1. Deitel, H.M. and Deitel, P.J., “C How to Program, 4nd Edition”, Prentice Hall, 2004 2. Deitel, H.M. and Deitel, P.J., “C++ How to Program, 4nd Edition”, Prentice Hall, 2004 3. Danang Junaedi, “Diktat, Handout & Modul Pemrograman Terstruktur I dan Pemrograman Terstruktur II”, Teknik Informatika - Universitas Widyatama, 2007 4. Guntari Sekarwangi;Ocke Kurniandi, “ Diktat Kuliah Pemrograman I (Terstuktur)”, Teknik Informatika – Universitas Widyatama, Bandung, 2004 5. Indra Yatini B.; Erliansyah Nasution, “Algoritma & Struktur Data dengan C++, Graha Ilmu,Yogyakarta, 2005 6. Hevi Rilgivia;Guntari Sekarwangi, “ Diktat Kuliah Algoritma & Pemrograman I dan II”, Teknik Informatika – Universitas Widyatama, Bandung, 2004 7. Internet dan referensi-referensi lain yang terkait Jurusan Jurusan Teknik Teknik Informatika Informatika
1-8 1-8
Universitas Universitas Widyatama Widyatama
Review Bahasa C/C++
Pertemuan : 1 Disusun oleh : Danang Junaedi
Jurusan Teknik Informatika – Universitas Widyatama
3
Pemrograman Pemrograman IIII (Terstruktur (Terstruktur II) II)
Overview Tujuan Instruksional Tipe Data & Operator Variabel & Konstanta Input & Output
Selection Looping Fungsi & Prosedur Kelebihan dan Kekurangan C++
Jurusan Jurusan Teknik Teknik Informatika Informatika
1-10 1-10
Universitas Universitas Widyatama Widyatama
Pemrograman Pemrograman IIII (Terstruktur (Terstruktur II) II)
Tujuan Instruksional Mahasiswa mampu menjelaskan perbedaan pengertian, dan penggunaan dan perbedaan variabel dan konstanta, serta cara penulisannya dalam program mengunakan Turbo C dan turbo/Borland C++ Mahasiswa mampu menjelaskan perbedaan penggunaan tipe data serta operatornya, input dan output, serta cara penulisannya dalam Turbo C dan Turbo/Borland C++ Mahasiswa mampu menjelaskan perbedaan penggunaan tipe data serta operatornya, input & output, Fungsi & Prosedur dalam Turbo C dan Turbo/Borland C++
Jurusan Jurusan Teknik Teknik Informatika Informatika
1-11 1-11
Universitas Universitas Widyatama Widyatama
Pemrograman Pemrograman IIII (Terstruktur (Terstruktur II) II)
Struktur Bahasa C++ #include
Preprocessor directive
Fungsi lain()
Prototipe fungsi
Deklarasi variabel global;
Pendeklarasian variabel
Tipe data/void main()
Fungsi/program utama Isi fungsi/program Utama
{ Deklarasi variabel lokal/statis; statemen-statemen; }
Fungsi lain()
Fungsi lain
{ Deklarasi variabel lokal/statis; statemen-statemen; }
Isi fungsi lain
Jurusan Jurusan Teknik Teknik Informatika Informatika
1-12 1-12
Universitas Universitas Widyatama Widyatama
4
Pemrograman Pemrograman IIII (Terstruktur (Terstruktur II) II)
Tipe Data (1) Tipe Data Dasar Tipe char
Rentang
Format
1 byte
Ukuran
-128 s.d. 127
%c %s
Keterangan Karakter ASCI string
2 byte
-32768 s.d. 32767
int
4 byte
-2147483648 s.d. 2147483648
float
4 byte
-3.4x10-38 s.d. 3.4x1038
%f
Bilangan real
-1.7x10-308 s.d. 1.7x10308
%lf
Bilangan real
-
-
Tek bertipe
True/false
-
Tipe logika (C++ di atas versi 4.5)
double 8 byte void
0
bool
1 byte
Jurusan Jurusan Teknik Teknik Informatika Informatika
Bilangan bulat %d atau %e Platform Win32
1-13 1-13
Universitas Universitas Widyatama Widyatama
Pemrograman Pemrograman IIII (Terstruktur (Terstruktur II) II)
Tipe Data (2) Tipe Data Modifikasi Rentang
Format
long int
Tipe
4 byte
Ukuran
-2147483648 s.d. 2147483648
%ld
Bilangan bulat
Keterangan
long double
10 byte
-3.4x10-4932 s.d. 3.4x104932
%Lf
Bilangan real
%hd
short int
1 byte
-128 s.d. 127
signed char
1 byte
-128 s.d. 127
Bilangan bulat
signed int/signed short int
2 byte
-32768 s.d. 32767
Bilangan bulat
signed long/signed long int
4 byte
-2147483648 s.d. 2147483687
Bilangan bulat
Jurusan Jurusan Teknik Teknik Informatika Informatika
1-14 1-14
Bilangan bulat
Universitas Universitas Widyatama Widyatama
Pemrograman Pemrograman IIII (Terstruktur (Terstruktur II) II)
Tipe Data (3) Tipe Data Modifikasi Tipe unsigned char
Ukuran
Rentang
1 byte
0 s.d. 255
unsigned int/unsigned 2 byte short int
0 s.d. 65535
unsigned long/unsigned long int
0 s.d. 429467295
Jurusan Jurusan Teknik Teknik Informatika Informatika
4 byte
1-15 1-15
Format
Keterangan Bilangan bulat
%u
Bilangan bulat Bilangan bulat
Universitas Universitas Widyatama Widyatama
5
Pemrograman Pemrograman IIII (Terstruktur (Terstruktur II) II)
Tipe Data (4) Tipe Data Bentukan
Struktur/Record ex : struct Tanggal { int Hari; int Bulan; int Tahun;};
atau
struct {int Hari; int Bulan; int Tahun;}Tanggal;
union ex : union Tanggal { int i; int j;};
Struktur Bit-field ex : struct Info_bit { unsigned bit0:1; unsigned bit1:1;};
enum ex : enum Hari {Senin,Selasa,Rabu,Kamis,Jum’at,Sabtu,Minggu};
typedef ex : typedef unsigned char Byte;
Jurusan Jurusan Teknik Teknik Informatika Informatika
1-16 1-16
Universitas Universitas Widyatama Widyatama
Pemrograman Pemrograman IIII (Terstruktur (Terstruktur II) II)
Tipe Data (5) Array
1 dimensi
2 dimensi
n dimensi
ex : int ArrayA[10]; char Nama[25]; ex : int ArrayB[10][10]; ex : int ArrayC[10][10]…[10];
File (dibahas lebih lanjut pada pertemuan ke-3 : Pengolahan file) List/Pointer (dibahas lebih lanjut pada pertemuan ke13 : List Berkait) Jurusan Jurusan Teknik Teknik Informatika Informatika
1-17 1-17
Universitas Universitas Widyatama Widyatama
Pemrograman Pemrograman IIII (Terstruktur (Terstruktur II) II)
Operator Sifat Operator
Unary (Melibatkan sebuah operand, ex : -1) Binary (Melibatkan dua buah operand, ex: 1+2) Ternary (Melibatkan tiga buah atau lebih operand, ex (a>b)?a:b)
Jenis Operator
Operator Assigment (=) Operator Aritmatika (*, /, %, +, -) Operator Biner/Bitwise (<<, >>, &, |, ^, ~) Operator Logika (&&, ||) Operator Perbandingan/Relasi (==, !=, >, >=, <, <=) Operator Unary (-, ++, --, ~, !, &, *, sizeof) Operator Assigment Kombinasi/Majemuk (+=, -=, *=, /=, %=, <<=, >>=, &=, |=, ^=)
Jurusan Jurusan Teknik Teknik Informatika Informatika
1-18 1-18
Universitas Universitas Widyatama Widyatama
6
Pemrograman Pemrograman IIII (Terstruktur (Terstruktur II) II)
Input dan Output Input
getch(), getche(), getchar(), scanf (bisa digunakan pada C dan C++) cin (hanya bisa digunakan pada C++)
Output
putchar(), puts(), clrscr(), gotoxy(), printf (bisa digunakan pada C dan C++) cout (hanya bisa digunakan pada C++)
Jurusan Jurusan Teknik Teknik Informatika Informatika
1-19 1-19
Universitas Universitas Widyatama Widyatama
Pemrograman Pemrograman IIII (Terstruktur (Terstruktur II) II)
Variabel & Konstanta Variabel Lingkup Variabel : Variabel Lokal/Otomatis Variabel Global/Eksternal Variabel Statis
Konstanta
Konstanta Numerik Integer (ex : 43, 123, -123, dll) Konstanta Numerik Pecahan (ex : -123.0,0.75, 12.34e29, 12.34e-29, dll) Konstanta Karakter (ex : ‘a’, ‘b’, dll) Konstanta String (ex : “bapak”, “Keren”) Karakter Escape (\a, \b, \f, \n, \r, \t, \v, \0, \’, \”, \\)
Jurusan Jurusan Teknik Teknik Informatika Informatika
1-20 1-20
Universitas Universitas Widyatama Widyatama
Pemrograman Pemrograman IIII (Terstruktur (Terstruktur II) II)
Selection if
if tunggal ex : if (a=b) {printf(“a=b”);} if-else ex : if (a=b) {printf(“a=b”);} else {printf(“a≠b”);} if-else-if ex : if (a=b) {printf(“a=b”);} else if (ab”);}
Switch ex : switch(angka) { case 1 : cout<<“Angka Atu”;break; case 2 : cout<<“Angka Ua”; break; case 3 : cout<<“Angka Iga”; break; case 4 : cout<<“Angka Empat”; break; default : cout<<“Angka ga au”; break;} Jurusan Jurusan Teknik Teknik Informatika Informatika
1-21 1-21
Universitas Universitas Widyatama Widyatama
7
Pemrograman Pemrograman IIII (Terstruktur (Terstruktur II) II)
Looping For ex : for(i=1;I<=10;i++) {cout<<“angka : “<
Jurusan Jurusan Teknik Teknik Informatika Informatika
1-22 1-22
Universitas Universitas Widyatama Widyatama
Pemrograman Pemrograman IIII (Terstruktur (Terstruktur II) II)
Fungsi dan Prosedur Fungsi Tipe_fungsi nama_Fungsi(argumen1, argumen2,....) { xxxx tubuh Fungsi } ex : double Absolut(double X) { if (X,0) X=-X; return(X);}
definisi Fungsi
Prosedur void nama_Prosedur(argumen1, argumen2,....) { xxxx tubuh Prosedur } ex : void Tampil(char Nama[15], int Kali) { int I; for(I=0;I
1-23 1-23
definisi Prosedur
Universitas Universitas Widyatama Widyatama
Pemrograman Pemrograman IIII (Terstruktur (Terstruktur II) II)
Kelebihan dan Kekurangan C++ Kelebihan
Banyak fasilitas untuk memanipulasi operator dan fungsi Struktur penulisan bahasa yang terstruktur. Bahasa tingkat tinggi yang mempunyai kemampuan seperti bahasa tingkat rendah (seperti dapat memanipulasi data dalam bentuk bit). Dibandingkan dengan bahasa tingkat tinggi lainya bahasa C++ mempunyai kecepatan eksekusi yang cepat. Mendukung bahasa pemrograman berorientasi obyek Kode yang ditulis menggunakan C++ bersifat reusable
Kekurangan
Karena bahasa ini sangat fleksibel maka bagi pemula bahasa C++ akan sangat membingungkan. Untuk itu disarankan para pemula tidak terburuburu dalam mempelajari bahasa C++ ini. Bahasa C++ masih tergantung pada operating-sistemnya. Hal ini yang kemudian memicu terciptanya bahasa JAVA, bahasa multiplatform.
Jurusan Jurusan Teknik Teknik Informatika Informatika
1-24 1-24
Universitas Universitas Widyatama Widyatama
8