Overview - · PDF fileyang akan diimplementasikan dalam bahasa C/C++. Terkait dengan Mata...
Transcript of Overview - · PDF fileyang akan diimplementasikan dalam bahasa C/C++. Terkait dengan Mata...
1
Pendahuluan
Pertemuan : I
Oleh : Danang Junaedi
Jurusan Teknik Informatika – Universitas Widyatama
Jurusan Teknik Informatika 1-2 Universitas WidyatamaJurusan Teknik Informatika 1-2 Universitas Widyatama
Pemrograman II (Terstruktur II)Pemrograman II (Terstruktur II)
Deskripsi
Tujuan Instruksional
Kaitan Materi
Urutan Bahasan
Penilaian
Grade
Referensi
Overview
Jurusan Teknik Informatika 1-3 Universitas WidyatamaJurusan Teknik Informatika 1-3 Universitas Widyatama
Pemrograman II (Terstruktur II)Pemrograman II (Terstruktur II)
DeskripsiMata 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, CariData, Tampil Data, Hapus Data) menggunakan bahasa C/ C++
Pendahuluan
2
Jurusan Teknik Informatika 1-4 Universitas WidyatamaJurusan Teknik Informatika 1-4 Universitas Widyatama
Pemrograman II (Terstruktur II)Pemrograman II (Terstruktur II)
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-materiyang akan diimplementasikan dalam bahasa C/C++.
� Terkait dengan Mata Kuliah Pemrograman I, dalam hal prinsip dasarpemrograman Terstuktur.
Pendahuluan
Jurusan Teknik Informatika 1-5 Universitas WidyatamaJurusan Teknik Informatika 1-5 Universitas Widyatama
Pemrograman II (Terstruktur II)Pemrograman II (Terstruktur II)
Pendahuluan
Urutan Bahasan
Pendahuluan (Susunan Materi, Aturan Perkuliahan, AturanPenilaian, grade nilai, referensi);Review Bahasa C/C++
1
UTS8
Rekursif;Presentasi (optional);Review Materi(optional)6 - 7
Pengolahan File Sequential : Konsolidasi (Dengan Separator), Merging, Splitting, dan Updating pada File Sequential; Presentasi(optional)
3-5
Review Bahasa C/C++;Pengolahan File Sequential : Konsolidasi(Tanpa Separator)
2
MateriPertemuan
Jurusan Teknik Informatika 1-6 Universitas WidyatamaJurusan Teknik Informatika 1-6 Universitas Widyatama
Pemrograman II (Terstruktur II)Pemrograman II (Terstruktur II)
Pendahuluan
Urutan Bahasan
UAS16
List Berkait;Presentasi (optional);Review Materi (optional)13-15
Strategi Algoritma (Brute Force, Greedy, Devide & Conquer, Backtracking, Branch & Bound, Dynamic Programming); Presentasi (optional)
10-12
MateriPertemuan
3
Jurusan Teknik Informatika 1-7 Universitas WidyatamaJurusan Teknik Informatika 1-7 Universitas Widyatama
Pemrograman II (Terstruktur II)Pemrograman II (Terstruktur II)
Pendahuluan
Penilaian
5% (>80%)Kehadiran
22.5%UTS
10%Tugas
12.5%Presentasi/Tutorial
20%Praktikum
25%UAS
105%Jumlah
10%Quiz
Grade
50 - 60D
≥ 85A
75 - 85B
60 - 75C
< 50E
Range NilaiGrade
Jurusan Teknik Informatika 1-8 Universitas WidyatamaJurusan Teknik Informatika 1-8 Universitas Widyatama
Pemrograman II (Terstruktur II)Pemrograman II (Terstruktur II)
Pendahuluan
Referensi
7.
6.
5.
4.
3.
2.
1. Deitel, H.M. and Deitel, P.J., “C How to Program, 4nd Edition”, Prentice Hall, 2004
Internet dan referensi-referensi lain yang terkait
Hevi Rilgivia;Guntari Sekarwangi, “ Diktat Kuliah Algoritma & Pemrograman I dan
II”, Teknik Informatika – Universitas Widyatama, Bandung, 2004
Indra Yatini B.; Erliansyah Nasution, “Algoritma & Struktur Data dengan C++, Graha
Ilmu,Yogyakarta, 2005
Guntari Sekarwangi;Ocke Kurniandi, “ Diktat Kuliah Pemrograman I (Terstuktur)”, Teknik Informatika – Universitas Widyatama, Bandung, 2004
Danang Junaedi, “Diktat, Handout & Modul Pemrograman Terstruktur I danPemrograman Terstruktur II”, Teknik Informatika - Universitas Widyatama, 2007
Deitel, H.M. and Deitel, P.J., “C++ How to Program, 4nd Edition”, Prentice Hall, 2004
Review Bahasa C/C++
Pertemuan : 1
Disusun oleh : Danang Junaedi
Jurusan Teknik Informatika – Universitas Widyatama
4
Jurusan Teknik Informatika 1-10 Universitas WidyatamaJurusan Teknik Informatika 1-10 Universitas Widyatama
Pemrograman II (Terstruktur II)Pemrograman II (Terstruktur II)
Tujuan Instruksional
Tipe Data & Operator
Variabel & Konstanta
Input & Output
Selection
Looping
Fungsi & Prosedur
Kelebihan dan Kekurangan C++
Overview
Jurusan Teknik Informatika 1-11 Universitas WidyatamaJurusan Teknik Informatika 1-11 Universitas Widyatama
Pemrograman II (Terstruktur II)Pemrograman II (Terstruktur II)
Mahasiswa mampu menjelaskan perbedaan pengertian, danpenggunaan 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 penggunaantipe data serta operatornya, input & output, Fungsi & Prosedur dalam Turbo C dan Turbo/Borland C++
Tujuan Instruksional
Jurusan Teknik Informatika 1-12 Universitas WidyatamaJurusan Teknik Informatika 1-12 Universitas Widyatama
Pemrograman II (Terstruktur II)Pemrograman II (Terstruktur II)
Struktur Bahasa C++
Fungsi lain()
{ Deklarasi variabel lokal/statis;
statemen-statemen;
}
Tipe data/void main()
{ Deklarasi variabel lokal/statis;
statemen-statemen;
}
Deklarasi variabel global;
Fungsi lain()
#include<header file>
Fungsi lain
Isi fungsi lain
Fungsi/program utama
Isi fungsi/program Utama
Pendeklarasian variabel
Prototipe fungsi
Preprocessor directive
5
Jurusan Teknik Informatika 1-13 Universitas WidyatamaJurusan Teknik Informatika 1-13 Universitas Widyatama
Pemrograman II (Terstruktur II)Pemrograman II (Terstruktur II)
Tipe Data (1)
Tipe Data Dasar
Platform Win32-2147483648 s.d.
21474836484 byte
Tipe logika (C++ diatas versi 4.5)
-True/false1 bytebool
Tek bertipe--0void
Bilangan real%lf-1.7x10-308 s.d. 1.7x10308 8 bytedouble
Bilangan real%f-3.4x10-38 s.d. 3.4x1038 4 bytefloat
Bilangan bulat%d atau
%e
-32768 s.d. 327672 byte
int
Karakter ASCI
string
%c
%s
-128 s.d. 1271 bytechar
KeteranganFormatRentangUkuranTipe
Jurusan Teknik Informatika 1-14 Universitas WidyatamaJurusan Teknik Informatika 1-14 Universitas Widyatama
Pemrograman II (Terstruktur II)Pemrograman II (Terstruktur II)
Tipe Data (2)
Tipe Data Modifikasi
Bilangan real%Lf-3.4x10-4932 s.d. 3.4x104932
10 bytelong double
Bilangan bulat-2147483648 s.d. 2147483687
4 bytesigned long/signed long int
Bilangan bulat-32768 s.d. 32767
2 bytesigned int/signed short int
Bilangan bulat-128 s.d. 1271 bytesigned char
Bilangan bulat%hd-128 s.d. 1271 byteshort int
Bilangan bulat%ld-2147483648 s.d. 2147483648
4 bytelong int
KeteranganFormatRentangUkuranTipe
Jurusan Teknik Informatika 1-15 Universitas WidyatamaJurusan Teknik Informatika 1-15 Universitas Widyatama
Pemrograman II (Terstruktur II)Pemrograman II (Terstruktur II)
Tipe Data (3)
Tipe Data Modifikasi
Bilangan bulat0 s.d. 429467295
4 byteunsigned long/unsigned long int
Bilangan bulat%u0 s.d. 655352 byteunsigned int/unsigned short int
Bilangan bulat0 s.d. 2551 byteunsigned char
KeteranganFormatRentangUkuranTipe
6
Jurusan Teknik Informatika 1-16 Universitas WidyatamaJurusan Teknik Informatika 1-16 Universitas Widyatama
Pemrograman II (Terstruktur II)Pemrograman II (Terstruktur II)
Tipe Data (4)
Tipe Data Bentukan� Struktur/Record
ex :
struct Tanggal atau struct {int Hari; int Bulan;
{ int Hari; int Bulan; int Tahun;}; int Tahun;}Tanggal;
� union
ex : union Tanggal
{ int i; int j;};
� Struktur Bit-fieldex : struct Info_bit
{ unsigned bit0:1; unsigned bit1:1;};
� enumex : enum Hari {Senin,Selasa,Rabu,Kamis,Jum’at,Sabtu,Minggu};
� typedefex : typedef unsigned char Byte;
Jurusan Teknik Informatika 1-17 Universitas WidyatamaJurusan Teknik Informatika 1-17 Universitas Widyatama
Pemrograman II (Terstruktur II)Pemrograman II (Terstruktur II)
Tipe Data (5)
Array
� 1 dimensi
ex : int ArrayA[10]; char Nama[25];
� 2 dimensi
ex : int ArrayB[10][10];
� n dimensi
ex : int ArrayC[10][10]…[10];
File (dibahas lebih lanjut pada pertemuan ke-3 : Pengolahan file)
List/Pointer (dibahas lebih lanjut pada pertemuan ke-13 : List Berkait)
Jurusan Teknik Informatika 1-18 Universitas WidyatamaJurusan Teknik Informatika 1-18 Universitas Widyatama
Pemrograman II (Terstruktur II)Pemrograman II (Terstruktur 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 (+=, -=, *=, /=, %=, <<=, >>=, &=, |=, ^=)
7
Jurusan Teknik Informatika 1-19 Universitas WidyatamaJurusan Teknik Informatika 1-19 Universitas Widyatama
Pemrograman II (Terstruktur II)Pemrograman II (Terstruktur II)
Input dan Output
Input
� getch(), getche(), getchar(), scanf (bisa digunakan pada C danC++)
� 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 Teknik Informatika 1-20 Universitas WidyatamaJurusan Teknik Informatika 1-20 Universitas Widyatama
Pemrograman II (Terstruktur II)Pemrograman II (Terstruktur 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 Teknik Informatika 1-21 Universitas WidyatamaJurusan Teknik Informatika 1-21 Universitas Widyatama
Pemrograman II (Terstruktur II)Pemrograman II (Terstruktur 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 (a<b) {printf(“a<b”);} else {printf(“a>b”);}
Switchex : 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;}
8
Jurusan Teknik Informatika 1-22 Universitas WidyatamaJurusan Teknik Informatika 1-22 Universitas Widyatama
Pemrograman II (Terstruktur II)Pemrograman II (Terstruktur II)
Looping
For
ex : for(i=1;I<=10;i++) {cout<<“angka : “<<I<<endl;}
While
ex :I=1;
while(i<=10){cout<<“angka : “<<I<<endl;i++;}
do-while
ex :I=1;
do{cout<<“angka : “<<I<<endl;i++;}while(i<=10)
Jurusan Teknik Informatika 1-23 Universitas WidyatamaJurusan Teknik Informatika 1-23 Universitas Widyatama
Pemrograman II (Terstruktur II)Pemrograman II (Terstruktur II)
Fungsi dan Prosedur
FungsiTipe_fungsi nama_Fungsi(argumen1, argumen2,....) definisi Fungsi{
xxxx tubuh Fungsi}ex : double Absolut(double X)
{ if (X,0) X=-X;return(X);}
Prosedurvoid nama_Prosedur(argumen1, argumen2,....) definisi Prosedur{
xxxx tubuh Prosedur}ex : void Tampil(char Nama[15], int Kali)
{ int I;for(I=0;I<Kali;I++) printf(Nama);}
Jurusan Teknik Informatika 1-24 Universitas WidyatamaJurusan Teknik Informatika 1-24 Universitas Widyatama
Pemrograman II (Terstruktur II)Pemrograman II (Terstruktur 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 bahasatingkat 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 terburu-buru dalam mempelajari bahasa C++ ini.
� Bahasa C++ masih tergantung pada operating-sistemnya. Hal ini yang kemudian memicu terciptanya bahasa JAVA, bahasa multiplatform.