Alprog 1
Alprog 1
PEMROGRAMAN I
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, Prentice-Hall, Inc
7. C++ Programming Design, 1997, James P. Cohoon-Jack
W.Davidson, McGraw-Hill
8. Budi Raharjo, April 2004, Mengungkap Rahasia Pemrograman
Dalam C++, Informatika Bandung
9. Yosua Onesimus Suheru, 2004, Trik Memecahkan Masalah
Dengan Tiga bahasa Pemrograman – C++, Pascal dan Visual
Basic, Gava Media, Yogyakarta
10. Inge Martina, Agustus 1997, Turbo C++ Dengan
Pemrograman Berorientasi Objek, Elex Media Komputindo,
jakarta
PENGANTAR ALGORITMA
Penilaian : TPMM
UAS = 40%
UTS = 25%
ABSEN =5%
TUGAS
= 30%
__________________________________
Jumlah = 100%
Cara menyelesaikan masalah
dengan komputer
menjabarkan masalah
merinci langkah untuk menyelesaikan
masalah
membuat sarana interaksi manusia-
komputer
masalah
Program solusi
algoritma komputer
Apakah Algoritma itu?
Algoritma berasal dari nama penulis buku Arab
yaitu Abu Ja'far Muhammad ibnu Musa Al-
Khuwarizmi
Algoritma adalah:
Langkah-langkah yang logis dan terstruktur
untuk menyelesaikan suatu masalah
Ciri Algoritma yang baik:
Berurutan
Tidak berarti ganda (ambiguous)
Berhingga
Notasi II : pseudo-code
Pseudocode adalah kode atau tanda yang meneyerupai
(pseudo) atau merupakan penjelasan cara menyelesaikan
masalah.
Pseudocode sering digunakan oleh seseorang untuk
menuliskan algoritma dari suatu permasalahan.
Pseudocode berisikan langkah-langkah untuk
menyelesaikan suatu permasalahn [hampir sama dengan
algoritma], hanya saja bentuknya sedikit berbeda dari
algoritma
Pseudocode menggunakan bahasa yang hampir menyerupai
bahasa pemrograman selain itu biasanya pseudocode
menggunakan bahasa yang mudah dipahami secara universal
dan juga lebih ringkas dari pada algoritma
Algoritma
Ciri-ciri algoritma :
Ada input
Ada proses
Ada output
tidak ambigu
Algoritma
Sifat algoritma :
Tidak menggunakan simbol atau sintaks dari
suatu bahasa pemrograman
Tidak tergantung pada suatu bahasa
pemrograman
Notasi-notasinya dapat digunakan untuk
Notasi I : mulai
Flowchart
Input
panjang, lebar
Output
Luas
selesai
Notasi I : mulai
Flowchart
Input
panjang, lebar
Output
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)
Proses 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)
1. Pemrograman Prosedural
program dibedakan antara bagian data
dengan bagian instruksi.
Bagian instruksi terdiri atas runtutan (se-
quence) instruksi yang dilaksanakan satu
per satu secara berurutan oleh pemroses.
Alur pelaksanaan instruksi dapat berubah
karena adanya pencabangan kondisional.
Data yang disimpan di dalam memori
dimanipulasi oleh instruksi secara
beruntun atau procedural.
2. Pemrograman Fungsional
Didasari pada konsep pemetaan
dan fungsi pada matematika.
Fungsi : asosiasi (pemetaan)
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 dinyatakan sebagai predikat
Sebuah program logik adalah kumpulan
aksioma (fakta dan aturan deduksi)
Ketika program dieksekusi, user
mengajukan pertanyaan (query), dan
program akan menjawab apakah
pernyataan itu dapat dideduksi dari aturan
dan fakta yang ada
4. Pemrograman Berorientasi
Objek
Kerangka berpikir PBO berbeda
dengan pemrograman tradisional.
Pemrograman tradisional :
Fungsi Anggota
Fungsi Anggota
Karakteristik OOP :
- Encapsulation
- Inheritance
- Polymorphism
Encapsulation (pembungkusan)
Pengemasan data dan fungsi dalam satu
wadah bernama obyek
Inheritance (pewarisan)
Merupakan sifat yang memungkinkan sifat-
sifat dari suatu kelas diturunkan ke kelas
lain
Polymorphism (polimorphisme)
Konsep yang menyatakan bahwa sesuatu
yang sama dapat memiliki berbagai bentuk
dan perilaku berbeda
5. Paradigma Konkuren
Erat hubungannya dengan
6. Pemrograman Relasional
NAMA PENGENAL
Nama pengenal adalah nama-nama yang ditentukan
oleh programmer (harus berbeda dengan kata-kata
kunci)
Ketentuannya sebagai berikut :
Panjangnya dapat berupa 1 karakter atau lebih, tetapi
hanya 32 karakter pertama yang akan diperhatikan
Karakter pertama harus berupa huruf atau karakter garis
bawah (_)
Karakter-karakter khusus yang lain dan blank kecuali garis
bawah tidak dapat digunakan
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 diskon 10% dari total
belanjanya. Hitung Diskon yang didapatkan oleh Ibu
Budi dan Total yang harus dibayarkan oleh Ibu budi
kepada Indomaret.
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 suatu nilai dan nilai dari
variabel dapat berubah-ubah selama proses
dari program
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
- 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;