Anda di halaman 1dari 26

ALGORITMA dan

PEMROGRAMAN I
By : Sri Rezeki Candra Nursari

Literatur :
1.Rinaldi Munir, 1998, Algoritma dan Pemrograman 1 & 2; Informatika Bandung
2.Antony Pranata, 2005, Algoritma dan Pemrograman ; Graha Ilmu, Yogyakarta
3.Abdul Kadir, 2003, Pemrograman C++, Andi, Yogyakarta

4.Andri Kristanto, 2003, Algoritma dan Pemrograman dengan C++, Graha Ilmu, Yogyakarta

5.Suarga, 2006, Algoritma dan Pemrograman, Andi, Yogyakarta

6.C++ An Introduction To Computing, 1995, Joel Adams- Sanford Leestma-Larry Nyhoof, P

7.C++ Programming Design, 1997, James P. Cohoon-Jack W.Davidson, McGraw-Hill

8.Budi Raharjo, April 2004, Mengungkap Rahasia Pemrograman Dalam C++, Informatika B

9.Yosua Onesimus Suheru, 2004, Trik Memecahkan Masalah Dengan Tiga bahasa Pemrogra

10.Inge Martina, Agustus 1997, Turbo C++ Dengan Pemrograman Berorientasi Objek, Elex
PENGANTAR ALGORITMA

Penilaian : Gasal TA 2011/2012


UAS - Open = 40%
UTS - Open = 25%
ABSEN = 5%
TUGAS/NILAI ASISTEN = 30%

Jumlah = 100%
Cara menyelesaikan masalah dengan komputer
menjabarkan masalah
merinci langkah untuk menyelesaikan masalah
membuat sarana interaksi manusia- komputer

Cara menyelesaikan masalah dengan komp

masalah

Program komputer
solusi
algoritma
Apakah Algoritma itu?
Algoritma berasal dari nama penulis buku Arab yaitu Abu Ja'far Muhammad
Algoritma adalah:
Langkah-langkah yang logis dan terstruktur untukmenyelesaikan suatu masa
Ciri Algoritma yang baik: Berurutan
Tidak berarti ganda (ambiguous) Berhingga

5 ciri penting yang harus dipunyai Algoritma :


Algoritma harus berhenti setelah mengerja- kan sejumlah langkah. P
Setiap langkah, harus didefinisikan dengan tepat dan tidak berarti g
Algoritma memiliki nol/lebih masukan (input)
Algoritms memiliki nol/lebih keluaran (output)
Algoritma harus efektif
Notasi Algoritma
Notasi I : diagram alir (flowchart)
Notasi II: pseudo-code
Contoh masalah : menghitung luas segiempat.

Simbol-simbol pada Flowchart


Notasi II : pseudo-code
Pseudocode adalah cara untuk menuliskan sebuah algoritma seca
Biasanya Pseudocode dituliskan dengan kombinasi Bahasa Inggri

Notasi II : pseudo-code
Pseudocode adalah kode atau tanda yang meneyerupai (pseudo) atau merupakan penjel
Pseudocode sering digunakan oleh seseorang untuk menuliskan algoritma dari suatu per
Pseudocode berisikan langkah-langkah untuk menyelesaikan suatu permasalahn [hampir
Pseudocode menggunakan bahasa yang hampir menyerupai bahasa pemrograman selain
Algoritma
Ciri-ciri algoritma :
Ada input
Ada proses
Ada output
Memiliki instruksi-instruksi yang jelas dan tidak ambigu

Algoritma
Sifat algoritma :
Tidak menggunakan simbol atau sintaks dari suatu bahasa pemrogr
Tidak tergantung pada suatu bahasa pemrograman
Notasi-notasinya dapat digunakan untuk seluruh bahasa manapun
Contoh Algoritma dan Pseudocode
– “Mencari Luas Persegi panjang”

Notasi I : Flowchart
mulai

Input panjang, lebar

Luas  panjang * lebar

Output Luas

selesai
Notasi I : Flowchart
mulai

panjang, lebar

Luas  panjang * lebar

Luas

selesai

Notasi II (Pseudocode):
Algoritma Luas_Segiempat
{Menghitung luas segiempat dengan memasukkan nilai lebar dan panjang segiempat}
Deklarasi
luas, panjang, lebar : integer Deskripsi
Input(panjang) Input(lebar)
luas  panjang * lebar Output(luas)
atau
Notasi II (Pseudocode):
Algoritma Luas_Segiempat
{Menghitung luas segiempat dengan memasukkan nilai lebar dan panjang segiempat}
Deklarasi
luas, panjang, lebar : integer Deskripsi
Read(panjang) Read(lebar)
luas  panjang * lebar Write(luas)

Program : serangkaian instruksi yang disusun untuk

Kegiatan membuat program disebut


Pemrograman (Programming)

Orang yang menulis program disebut


Pemrogram (Programmer)
Program : serangkaian instruksi yang disusun untuk
Atau
Program : adalah perwujudan atau implementasi tek

Programming dibagi dalam 5 tahap :


Mengerti persoalan yang akan diselesaikan
Menganalisa persoalan (Diagram Alur)
Menulis program
Menguji program
Menyimpan sebagai dokumentasi
Beberapa Paradigma dalam Pemrogram
Prosedural / Terstruktur
Paradigma Fungsional
Paradigma Deklaratif / Logika
Paradigma Object-Oriented
Paradigma Konkuren
Paradigma Relasional

Paradigma bahasa Pemrograman :


1. Pemrograman Prosedural
Algoritma berisi urutan langkah-langkah penyelesaian masalah  p

Definisi Prosedural menurut Kamus Besar Bahasa Indonesia:


Tahap-tahap kegiatan untuk menyelesaikan suatu aktivitas.
Metode langkah demi langkah secara eksak dalam memecahkan su

1. Pemrograman Prosedural
program dibedakan antara bagian data dengan bagian instru
Bagian instruksi terdiri atas runtutan (se- quence) instruksi y
Data yang disimpan di dalam memori dimanipulasi oleh instr
2. Pemrograman Fungsional
Didasari pada konsep pemetaan dan fungsi pada
Fungsi : asosiasi (pemetaan) antara 2 type yaitu
Type dasar
Type terkomposisi (bentukan)

2. Pemrograman Fungsional
Notasi Fungsional:
Nama fungsi,
Domain (parameter input)
Range (definisi hasil)
Contoh :
Nama-fungsi : domaian  range
3. Pemrograman Deklaratif/Logika
Didasari oleh pendefinisian relasi antar individu yang dinyat
Sebuah program logik adalah kumpulan aksioma (fakta dan
Ketika program dieksekusi, user mengajukan pertanyaan (q

4. Pemrograman Berorientasi Objek


Kerangka berpikir PBO berbeda dengan pemrograman
Pemrograman tradisional : memisahkan antara data, d
PBO : data dan prosedur ini dipadukan sebagai sebuah
Object Oriented Programming (OOP)
Program terdiri dari obyek
Obyek terdiri dari data dan fungsi anggota
Obyek
Data

Fungsi Anggota

Fungsi Anggota

Object Oriented Programming (OOP)


Data bersifat tersembunyi bagi fungsi-fungsi di luar fungsi an
Data diakses dengan cara mengakses fungsi anggota
Kelas (class) adalah kumpulan dari obyek yang sama
Object Oriented Programming (OOP)
Karakteristik OOP :
Encapsulation
Inheritance
Polymorphism
Encapsulation (pembungkusan) Pengemasan data dan fungsi dalam

Object Oriented Programming (OOP)


Inheritance (pewarisan)
Merupakan sifat yang memungkinkan sifat- sifat dari suatu kelas dit
Polymorphism (polimorphisme)
Konsep yang menyatakan bahwa sesuatu yang sama dapat memilik
5. Paradigma Konkuren
Erat hubungannya dengan arsitektur perangkat k

6. Pemrograman Relasional
Didasari entity dan relasi, dan pemrograman dala
BAHASA C++
Peubah (Variabel), Tipe Data, dan Operator

Kata-kata Kunci Untuk C++

*asm default for *pascal switch


auto do goto register typedef
break double *huge return union
case else if short unsigned
*cdecl enum int signed void
char extern *interrupt sizeof volatile
const *far long static while
continue float *near struct
Yang harus diketahui dari Bahasa C
1.Bersifat Case Sensitive, artinya bahasa C mem- bedakan huruf besar & hu
2.Deklarasi didefinisikan sebelum kata main() adalah deklarasi GLOBAL, arti
Deklarasi didefinisikan didalam main(), maka nama didalam bagian deklara
3.Komentar ditulis diantara ‘/*’ dan ‘*/’ atau ‘//’

Bagian-bagian program C++


-Contoh program :
//contoh program c++ untuk membuat komentar

#include <iostream.h>Header #include <conio.h>

void main()nama fungsi


{
clrscr();menghapus layar

Blok / Tubuh fungsi


cout << “Contoh program C++\n” ;
}
Mencetak di layarAkhir statement
Bagian-bagian program C++
-Contoh program :
//contoh program c++untuk membuat komentar

#include <iostream.h>Header

void main() nama fungsi


{
Blok / Tubuh fungsi cout << “Contoh program C++\n” ;
}
Mencetak di layarAkhir statement

Pros es Pem bent uka n File exe


ELEMEN DASAR C++

NAMA PENGENAL
Nama pengenal adalah nama-nama yang ditentukan oleh programmer (harus
Ketentuannya sebagai berikut :
Panjangnya dapat berupa 1 karakter atau lebih, tetapi hanya 32 karakter pertama yang
Karakter pertama harus berupa huruf atau karakter garis bawah (_)
Karakter-karakter khusus yang lain dan blank kecuali garis bawah tidak dapat digunaka
Huruf besar dan huruf kecil dianggap berbeda (case sensitive)
Tidak boleh sama dengan kata-kata kunci
Pengenal (Identifier)
Penamaan Pengenal :
Terdiri dari satu atau lebih karakter
Bisa berupa gabungan huruf, digit, dan garis bawah
Berawalan huruf atau garis bawah
Case sensitive
Contoh : GajiPegawai, gaji_pegawai, _gajipegawai, gaji2
Penamaan yang salah :
1nama(tidak boleh diawali angka)
Gaji-pegawai (tidak boleh ada tanda -)
#gajipegawai (simbol # tidak boleh dipakai)
Gaji pegawai (tidak boleh pakai spasi)

Tipe Data
Tipe data dasar pada C++ :
char
int
short
long
float
double
long double
Tipe Data
Ukuran
Tipe Data Memori Jangkauan Nilai
char (signed char) 1 byte -128 hingga 127
char (unsigned char) 1 byte 0 hingga 255
int 2 byte -32768 hingga 32767
Long 4 byte -2.147.438.648 hingga 2.147.438.647
Float 6 byte 3.4 x 10e-38 hingga 3.4 x 10e38
double 8 byte 1.7 x 10e-308 hingga 1.7 x 10e308
long double 10 byte 3.4 x 10e-4932 hingga 1.1 x 10e4932

Soal
Ibu Budi belanja di Indomaret. Setiap kali ibu Budi belanja, selalau mendapat
Perintah :
Buat Flowchart
Buat Pseudocode
Buat Algoritma
Output  diskon, ttlbyr
Input  ttlbelanja
Proses
diskon  10%*ttlbelanja
ttlbyr  ttlbelanja - diskon
DEKLARASI VARIBEL
Variabel adalah suatu pengenal yang digunakan untuk menyimpan
Contoh deklarasi variabel
int x,y  mendeklarasikan variabel x dan y bertipe integer
float a,b
char huruf
double x
long int x
register x

Variabel dan Konstanta


Variabel adalah tempat untuk menampung suatu nilai dan nilai tersebut dapat dirubah sela
Deklarasi variabel:
int angka
char huruf
char nama[20]
float harga
Inisialisasi variabel Contoh :
int jumlah = 10;
char kata = ‘a’;
Variabel dan Konstanta
Konstanta bernama Contoh definisi :
const float PHI = 3.141592;
const int MAX = 15;

Anda mungkin juga menyukai