Pemrograman C/C++ Algoritma • Rencana penyelesaian masalah dalam bentuk langkah-langkah terinci, tidak terikat pada bahasa • Contoh: bagaimana anda menyelesaikan persamaan kuadrat: a x2 + b x + c = 0 ? – Ambil nilai koefisien a,b, dan c – Hitung diskriminan D = b*b – 4*a*c – Hitung AD sebagai akar dari D: • Bila AD positif maka akar riel : x1 = (- b + AD) / (2a), x2 = (- b – AD) / (2a) • Bila AD negatif akar-nya kompleks ?
9/10/2014 Algoritma Pemrograman,@SUARGA 2
Algoritma Pseudo-code • Suatu algoritma bisa ditulis dalam bentuk yang lebih rinci mendekati bahasa program, bentuk ini disebut “pseudo- code”, misalnya: 1. Input (a, b, c) 2. D=b*b – 4*a*c 3. If (D > 0) then { 1. AD=sqrt(D) 2. x1 = (-b + AD)/(2*a) 3. x2 = (-b – AD)/(2*a) } else { 1. AD = sqrt(-D) 2. x1= (-b + AD*j)/(2*a) 3. x2 = (-b – AD*j)/(2*a) } 4. print(x1,x2)
9/10/2014 Algoritma Pemrograman,@SUARGA 3
Implementasi • Algoritma dapat di-uji coba melalui implementasi dalam bentuk program. • Program ditulis berdasarkan algoritma memakai bahasa komputer yang dipilih. • Ada banyak sekali bahasa komputer yang telah diciptakan, namun yang populer tidak terlalu banyak, antara lain seperti BASIC, Visual BASIC (VB), Pascal, Delphi, C, C++, Visual C++, C#, Java, Python, PHP, dsb
9/10/2014 Algoritma Pemrograman,@SUARGA 4
Jenis Bahasa Komputer • Menurut tingkatan-nya: – Machine Language – Low Level Language (Assembly) – Middle Level Language – High Level Language – Very High Level Language
9/10/2014 Algoritma Pemrograman,@SUARGA 5
Machine Language • Bahasa yang paling rendah dalam format bit atau biner/hexa • Instruksi bergantung pada mikroprosessor yang digunakan oleh hardware • Hanya dimengerti oleh hardware komputer, sangat jauh dari bahasa manusia
9/10/2014 Algoritma Pemrograman,@SUARGA 6
Low Level Language • Bahasa tingkat rendah, ditulis dalam simbol- simbol instruksi, seperti: ADD, SUB, MUL dsb • Setiap simbol merupakan representasi dari instruksi dalam bentuk bit/biner/hexa • Konstruksi bahasa bergantung pada jenis mikroprosessor yang digunakan oleh hardware dan disebut bahasa Assembly (Rakitan) • Walaupun sedikit sulit namun banyak programmer yang gemar memakai-nya karena bisa langsung ke hardware (register, ram, dsb) 9/10/2014 Algoritma Pemrograman,@SUARGA 7 High-Level Language • Bahasa tingkat tinggi, menggunakan perintah dalam bahasa Inggris sehingga mudah di-ingat dan dimengerti oleh programmer • Tidak dimengerti oleh hardware, harus diterjemahkan ke dalam bahasa mesin sebelum dijalankan oleh komputer. • Penterjemah ada dua macam: – Compiler – Interpreter
9/10/2014 Algoritma Pemrograman,@SUARGA 8
Middle Level Language • Sebenarnya yang biasa disebut middle-level language adalah bahasa yang memiliki instruksi yang bersifat highlevel dan ditambah yang bersifat lowlevel • Contoh-nya adalah bahasa C, disamping memiliki instruksi-instruksi yang bersifat high- level juga memiliki instruksi yang bisa langsung menyentuh hardware
9/10/2014 Algoritma Pemrograman,@SUARGA 9
Program • Program adalah “implementasi” dari algoritma dalam satu bahasa komputer yang dipilih sehingga dapat dilaksanakan oleh komputer. • Program adalah susunan instruksi dalam bahasa komputer yang disusun sesuai dengan algoritma. • Sebelum program dilaksanakan oleh komputer maka program (source) tersebut harus di- terjemahkan dulu ke bahasa mesin (object). • Pada kuliah ini dipilih bahasa C++ sebagai bahasa program-nya 9/10/2014 Algoritma Pemrograman,@SUARGA 10 Sejarah C/C++ • Dennis Ritchie bersama teman-temannya, Ken Thompson (pencipta bahasa B) dan Brian Kernighan kemudian menciptakan bahasa C di tahun 60-an. Bahasa baru inilah yang digunakan oleh Dennis untuk membuat sistem operasi yang disebut UNIX untuk komputer PDP-7 yang baru saja selesai dibangun. • C memiliki set instruksi yang lengkap seperti bahasa program lainnya (high level language) tetapi juga menyediakan fasilitas untuk mengakses langsung unit- unit perangkat keras sebagaimana bahasa Assembly (low level language).
9/10/2014 Algoritma Pemrograman,@SUARGA 11
Brian Kernighan
Dennis Ritchie
Ken Thompson 9/10/2014 Algoritma Pemrograman,@SUARGA 12 Dennis dan Komputer PDP
Selamat Jalan kepada Dennis
12 Oktober 2011
Dennis & Ken menerima Medali
dari Presiden Bill Clinton Algoritma Pemrograman,@SUARGA 9/10/2014 13 Sejarah C++ • Sejak bahasa C diperkenalkan maka banyak pemrogram aplikasi menggunakan bahasa ini untuk membuat aplikasi-aplikasi yang bagus seperti dBase, Lotus, dsb. Bahasa C kemudian di-standarisasi oleh ANSI pada tahun 1983. • Seorang programmer ulung yang bekerja pada AT&T Bell Laboratories bernama Bjarne Stroustrup pada tahun 1980-an memiliki proyek software yang cukup besar, beliau merasa bahwa bahasa C memiliki keterbatasan untuk proyek pemrograman berskala besar (misalnya diatas 25 ribu baris).
9/10/2014 Algoritma Pemrograman,@SUARGA 14
Sejarah C++ • Bjarne kemudian menambahkan konsep OOP (Object Oriented Programming) kedalam C, dan menambahkan instruksi-instruksi baru yang lebih simple. Perluasan bahasa C ini diberi nama “C with classes” oleh Bjarne kemudian oleh Rick Mascitti disebut bahasa C++ pada 1983, sebagai indikator bahwa bahasa ini merupakan perluasan dari bahasa C. • Sistem operasi Windows dari MicroSoft dibangun dengan memakai C++ sebagai bahasa utama. 9/10/2014 Algoritma Pemrograman,@SUARGA 15 9/10/2014 Algoritma Pemrograman,@SUARGA 16 Struktur Program Ada delapan komponen utama yang menyusun suatu program C/C++ yang lengkap yaitu sebagai berikut:
5. Deklarasi variable Algoritma 9/10/2014 lokalPemrograman,@SUARGA int umur, berat; 17 Struktur Program 6. Isi Program umur = 18; berat = umur * 3; Gaji = 350.45 + berat / 10 Cetak(); 7. Penutup fungsi utama return; }