45
i DIKTAT KULIAH ALGORITMA DAN PEMROGRAMAN Disusun oleh Sumarsono Program Studi Teknik Informatika Fakultas Sains dan Teknologi Universitas Islam Negeri Sunan Kalijaga Yogyakarta 2013

Diktat kuliah Algoritma dan Pemograman

Embed Size (px)

DESCRIPTION

Kalian bisa belajar coding bahasa C++ pada Diktat kuliah Algoritma dan Pemograman ini, Semoga bermanfaat gan !

Citation preview

Page 1: Diktat kuliah Algoritma dan Pemograman

i

DIKTAT KULIAH

ALGORITMA DAN PEMROGRAMAN

Disusun oleh

Sumarsono

Program Studi Teknik Informatika

Fakultas Sains dan Teknologi

Universitas Islam Negeri Sunan Kalijaga

Yogyakarta

2013

Page 2: Diktat kuliah Algoritma dan Pemograman

ii

KATA PENGANTAR

Assalamu’alaikum wr wb

Kami panjatkan rasa syukur kepada Allah Subhanahuwata’ala yang telah

melimpahkan rahmatNya, sehingga kami mampu menyelesaikan penyusunan buku

panduan praktikum Pemrograman Terstruktur.

Buku ini ini terdiri dari 14 modul dengan asumsi setiap modul diselesaikan

dalam 1 kali praktikum. Setiap modul berisi pengantar materi yang akan dibahas,

kemudian dilanjutkan dengan latihan soal dikerjakan di kelas serta latihan soal

dikerjakan di rumah.

Adapun materi utama yang dibahas adalah pengantar bahasa c, tipe data,

operator, array, struct / class, kondisi percabangan if dan switch case, perulangan for

dan while, function, pointer, header, files hingga manajemen memori.

Diharapkan setelah mahasiswa mempelajari secara tekun dan rajin dengan

melakukan praktek berulang-ulang baik di kelas maupun di rumah, mahasiswa akan

mampu dan trampil dalam pemrograman dasar khususnya bahasa C.

Selanjutnya, kami ucapkan banyak terima kasih kepada seluruh asisten

pemrograman terstruktur yang telah banyak membantu sehingga modul pemrograman

terstruktur ini dapat diselesaikan.

Wassalamu’alaikum wr wb

Yogyakarta, Juni 2012

Dosen Pengampu

Sumarsono

Page 3: Diktat kuliah Algoritma dan Pemograman

iii

DAFTAR ISI

Halaman Judul…………………………………………………………………………….

i

Kata pengantar…………………………………………………………………………….

ii

Daftar isi…………………………………………………………………………………..

iii

BAB 1 : Pengenalan Algoritma .......................................................................................... 1

BAB 2 : Flowchart dan Pseudocode ................................................................................... 9

BAB 3 : Pengantar Pemrograman C ................................................................................... 14

Modul 4 : Algoritma Sequence ........................................................................................... 19

Modul 5 : Algoritma Percabangan 1 ................................................................................... 23

Modul 6 : Algoritma Percabangan 2 ................................................................................... 26

Modul 7 : Algoritma Perulangan 1 ..................................................................................... 28

Modul 8 : Algoritma Perulangan 2 .................................................................................... 32

Modul 9 : Array dimensi tunggal ....................................................................................... 36

Modul 10 : Array dimensi banyak ...................................................................................... 40

Modul 11 : String ................................................................................................................ 44

Modul 12 : Pengenalan Fungsi ........................................................................................... 50

Modul 13 : Fungsi Lanjut ................................................................................................. 54

Modul 14 : File Header ..................................................................................................... 55

Page 4: Diktat kuliah Algoritma dan Pemograman

1

BAB 1

PENGANTAR ALGORITMA

A. Pengertian Algoritma

Algoritma berasal dari nama penulis buku Arab yaitu Abu Ja'far Muhammad ibnu

Musa Al- Khuwarizmi.

Algoritma Langkah-langkah yang logis dan terstruktur untuk menyelesaikan suatu

masalah

Algoritma merupakan suatu :

a. Tahapan-tahapan untuk mencapai hasil.

b. Tahapan itu bisa berarti proses.

c. Hasil itu bisa berarti produk.

Algoritma juga merupakan suatu :

1. Susunan yang terurut dan logis dalam menyelesaikan masalah.

2. Setiap masalah sangat dimungkinkan memiliki proses penyelesaian yang

berbeda.

3. Perbedaan penyelesaian terhadap suatu masalah dipengaruhi oleh kemampuan

dan pengetahuan seseorang terhadap masalah yang dihadapi

Ciri-ciri Algoritma yang baik adalah :

a. Ditulis secara berurutan

b. Tidak ada yang bermakna “ganda” (ambiguous)

c. Penyelesaiannya “Berhingga” atau ada titik akhir.

Identifikasi masalah :

Dengan disadari atau tidak disadari dalam kehidupan kita sehari-hari banyak hal-

hal rutinitas yang dikerjakan secara terurut, misalnya bagaimana cara manusia

berpakaian, bagaimana cara manusia mandi, bagaimana cara manusia memasak

nasi, dan lain-lain. Tentu setiap orang memiliki cara pandang dan langkah urutan

yang berbeda dalam menggunakan pakaian secara lengkap. Itulah algoritma.

Banyak masalah-masalah dimasyarakat yang sebenarnya adalah suatu algoritma

tetapi tidak berhubungan sama sekali atau diselesaikan atau dikerjakan dengan

menggunakan bantuan komputer, seperti contoh yang telah disebutkan diatas.

Asalkan kita dapat menyusun dengan benar dan logis urutan-urutan menurut norma

yang ada maka kita sebenarnya telah menyusun algoritma.

Perhatikan contoh dibawah ini, bagaimana anda menyusun urutan yang logis

dalam memasak mie instan dengan berbagai variasi pelengkapnya.

Page 5: Diktat kuliah Algoritma dan Pemograman

2

Gambar 1. Mie Rebus Telor

Gambar 2. Mie Goreng Udang Sambal

Jawaban dari gambar diatas, tentu anda memiliki tata cara tersendiri untuk menghasilkan

masakan terbaik dari sisi tampilan maupun rasa. Dengan bahan dasar yang sama tetapi

menghasilkan bentuk yang berbeda tentunya dalam proses pembuatannya memiliki urutan

yang berbeda-beda. Jika anda menggunakan urutan dan tata cara yang sama tentunya anda

tidak menggunakan urutan yang logis untuk menghasilkan masakan terbaik. Itulah

algoritma.

B. Kaitan Algoritma dan Komputer

Suatu algoritma dapat diselesaikan dan diwujudkan dengan menggunakan bantuan

komputer. Lantas komputer yang seperti apa? yaitu :

a. Komputer yang bisa memahami keinginan manusia.

b. Komputer yang bisa memahami bahasa manusia.

c. Komputer yang bisa menterjemahkan bahasa manusia dengan bahasa komputer.

d. Komputer yang bisa berfungsi sebagai bahasa penterjemah.

e. Bahasa penterjemah ini dimaksudkan untuk menterjemahkan bahasa yang dibuat

oleh manusia dengan bahasa yang dipahami oleh mesin komputer.

Page 6: Diktat kuliah Algoritma dan Pemograman

3

Bahasa Penterjemah

Orang mengatakan istilah penterjemah disini dengan istilah “Compiler”. Di dunia

pemrograman komputer, istilah compiler ini sudah tidak asing lagi, hal ini karena compiler

menjadi sarana utama untuk menterjemahkan bahasa program dengan bahasa mesin.

Compiler sudah melekat kepada merk bahasa program yang telah disediakan (produksi)

oleh perusahaan besar. Contoh-contoh bahasa program yang banyak beredar dimasyarakat,

diantaranya :

C. Cara Penyelesaian Masalah dengan Komputer

Untuk menyelesaikan masalah hingga pemanfaatan komputer, dapat dilihat pada bagan

dibawah ini

Identifikasi Detail

Masalah

Hasil / Solusi

Algoritma

Program Komputer

Page 7: Diktat kuliah Algoritma dan Pemograman

4

BAB 2

NOTASI ALGORITMA

Sebelum menjelaskan tentang notasi algoritma, perlu ada penjelasan terkait dengan

algoritma, bahwa algoritma itu memiliki ciri dan sifat tertentu.

Ciri-ciri algoritma adalah :

Ada input

Ada proses

Ada output

Memiliki instruksi-instruksi yang jelas dan tidak ambigu

Sifat Algoritma adalah :

Tidak menggunakan simbol atau sintaks dari suatu bahasa pemrograman

Tidak tergantung pada suatu bahasapemrograman

Notasi-notasinya dapat digunakan untuk seluruh bahasa manapun

Algoritma lebih bersifat general.

Pada dasarnya suatu algoritma dapat ditulis menggunakan 2 cara yaitu

A. Diagram Alir ( Flowchart)

Suatu gambar dengan simbol yang spesifik menjelaskan tentang aliran logika dari suatu

masalah untuk menghasilkan solusi. Setiap simbol dihubungkan dengan suatu garis

panah. Beberapa simbol yang sering digunakan seperti tabel dibawah ini

B. Pseudo-code

Pseudo-code berarti menyerupai kode. Maksud kode adalah elemen-elemen dalam bahasa

pemrograman komputer seperti simbol aritmatika, perintah input dan output tetapi bahasa

yang digunakan adalah bahasa yang mudah dipahami secara universal dan lebih ringkas.

Kode-kode ini merupakan penjelasan cara menyelesaikan suatu masalah.

Contoh masalah 1 : Sequence

Page 8: Diktat kuliah Algoritma dan Pemograman

5

Mencari nilai Luas persegepanjang

Algoritma :

Untuk mendapatkan nilai luas persegipanjang, pertama tentukan nilai panjang dan

lebarnya. Kemudian hitunglah (kalikan) dua nilai tersebut. Hasil perkaliannya merupakan

nilai luas persegipanjang.

Penyelesaikan dengan pseudo-code :

1. Input panjang

2. Input lebar

3. Hitung luas panjang * lebar

4. Print luas

Penyelesaikan dengan Flowchart :

Contoh masalah 2 : Percabangan

Apa yang dilakukan ketika mengendarai kendaraan dalam persimpangan lampu traffic

signal ? jika Green berarti Go jika tidak Green berarti Stop.

Algoritma :

Untuk melakukan GO atau STOP sangat tergantung nilai Signalnya. Jika Signal berisi

Green maka actionnya GO. Jika bukan Green maka Actionnya STOP.

Penyelesaikan dengan pseudo-code :

1. Read Signal

2. If Signal is Green then

Set Action GO

Else

Set Action STOP

3. Print Action

Penyelesaikan dengan Flowchart :

Mulai

Luas = panjang * lebar

Selesai

Input panjang

Output Luas

Input lebar

Page 9: Diktat kuliah Algoritma dan Pemograman

6

Contoh masalah 3 : Perulangan

Mencetak angka dari sederatan angka 1 sampai dengan 99 ?

Algoritma :

Pertama lakukan inisialisasi terhadap sebuah variable dgn angka 0, kemudian tambahkan

variable tersebut dgn 1 sehingga nilai variable tersebut bertambah 1. Kemudian cetaklah

nilai variable tersebut. Lakukan pengecekan apakah nilai variable tersebut sudah mencapai

100? Jika belum maka lakukan lagi perintah penambahan nilai 1 terhadap variablenya. Jika

sudah mencapai seratus maka aliran selesai.

Penyelesaikan dengan pseudo-code :

1. Inisialisasi nilai X dengan 0

2. Tambahkan nilai X dengan 1

3. Print X

4. If X=100 then kembali ke langkah no 2

Ya

tidak

Mulai

Inisialisasi X 0

Selesai

Output X

Tambahkan X X + 1

X=1

00

Page 10: Diktat kuliah Algoritma dan Pemograman

7

BAB 3

PENGENALAN PEMROGRAMAN C

1.1 Pengantar

Program merupakan serangkaian instruksi yang dissusun untuk menyelesaikan

sebuah masalah dengan menggunakan komputer. Program juga merupakan perwujudan

atau implementasi dari penyusunan algoritma baik dalam bentuk flowchart maupun

pseudo-code kedalam bahasa pemrograman tertentu.

Bahasa C merupakan perkembangan dari bahasa BCPL yang dikembangkan oleh

Martin Richards pada tahun 1967. Selanjutnya bahasa ini memberikan ide kepada Ken

Thompson yang kemudian mengembangkan bahasa yang disebut bahasa B pada tahun

1970. Perkembangan selanjutnya dari bahasa B adalah bahasa C oleh Dennis Ricthie

sekitar tahun 1970-an di Bell Telephone Laboratories Inc. (sekarang adalah AT&T Bell

Laboratories). Bahasa C pertama kali digunakan di computer Digital Equipment

Corporation PDP-11 yang menggunakan system operasi UNIX.

Hingga saat ini penggunaan bahasa C telah merata di seluruh dunia. Hampir semua

perguruan tinggi di dunia menjadikan bahasa C sebagai salah satu mata kuliah wajib.

Selain itu, banyak bahasa pemrograman populer seperti PHP dan Java menggunakan

sintaks dasar yang mirip bahasa C. Oleh karena itu, kita juga sangat perlu mempelajarinya.

1.2 Editor Bahasa C / C++

Dipasaran tersedia berbagai produk untuk editor Bahasa C seperti : Turbo C, C Free,

Codeblock, atau Dev C++, dan lain-lain.

Contoh editor C-Free

1.3 Penulisan Program Bahasa C

Program Bahasa C tidak mengenal aturan penulisan di kolom tertentu, jadi bisa

dimulai dari kolom manapun. Namun demikian, untuk mempermudah pembacaan program

dan untuk keperluan dokumentasi, sebaiknya penulisan bahasa C diatur sedemikian rupa

sehingga mudah dibaca, mudah dalam penelusuran baris program.

Bagan inti dari Bahasa C++ adalah :

Page 11: Diktat kuliah Algoritma dan Pemograman

8

Proses pembentukan file EXE.

1.4 Tipe Data

Page 12: Diktat kuliah Algoritma dan Pemograman

9

Tipe data dan Operator

Tipe data

Var 1

Operator Tipe data

Var 2

Tipe data

Var hasil

Integer + - *

integer Integer

/ sqrt float

Integer + - *

Float Float / sqrt

Float + - *

Float Float / sqrt

1.5 Variable

Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu nilai

tertentu di dalam proses program. Berbeda dengan konstanta yang nilainya selalu tetap,

nilai dari suatu variable bisa diubah-ubah sesuai kebutuhan. Nama dari suatu variable dapat

ditentukan sendiri oleh pemrogram dengan aturan sebagai berikut:

1. Terdiri dari gabungan huruf dan angka dengan karakter pertama berupa huruf.

2. Bahasa C bersifat case-sensitive artinya huruf besar dan kecil dianggap berbeda.

Jadi antara nim, NIM dan Nim dianggap berbeda,

3. Tidak boleh mengandung spasi.

4. Tidak boleh mengandung symbol-simbol khusus, kecuali garis bawah (underscore).

Yang termasuk symbol khusus yang tidak diperbolehkan antara lain : $, ?, %, #, !,

&, *, (, ), -, +, = dsb

5. Panjangnya bebas, tetapi hanya 32 karakter pertama yang terpakai.

Contoh penulisan variabel yang benar :

NIM, nim, nama_mhs, f3098, f4, nilai.

Contoh penamaan variable yang salah:

%nilai_mahasiswa, 80mahasiswa, rata-rata, nama mhs, awas!

Contoh Deklarasi Variable :

int x,y;

float a,b

char huruf

double x

long int x

Contoh Inisialisasi variabel

int jumlah = 10;

char kata = ‘a’;

float a = 10.5;

1.6 Konstanta

Konstanta merupakan suatu nilai yang tidak dapat diubah selama proses program

berlangsung. Konstanta nilainya selalu tetap. Konstanta harus didefinisikan terlebihdahulu

di awal program. Konstanta dapat bernilai integer, pecahan, karakter dan string.

Contoh konstanta : 50; 13; 3.14; 4.50005; ‘A’; ‘Bahasa C’.

Page 13: Diktat kuliah Algoritma dan Pemograman

10

Contoh Konstanta bernama

const float PHI = 3.141592;

const int MAX = 15;

Deklarasi konstanta juga bisa menggunakan preprocessor #define.

Contohnya:

#define PHI 3.14

#define nim “0111500382”

1.7 Contoh Program

#include <iostream.h>

void main(){

//deklarasi variable sesuai tipe datanya

int x; float y; char z; double w;

//Inisialisasi atau memberi nilai awal kepada variable

x = 10; y = 9.45; z = 'C'; w = 3.45E+20;

//Menampilkan kalimat dan nilai ke layar monitor

Cout<<”Nilai dari x adalah "<< x;

Cout<<”Nilai dari y adalah "<< y;

Cout<<”Nilai dari z adalah "<< z;

Cout<<”Nilai dari w adalah "<< w;

}

Page 14: Diktat kuliah Algoritma dan Pemograman

11

BAB 4

ALGORITMA SEQUENCE (RUNTUNAN)

Dalam algoritma runtunan (sequence) bahwa setiap pernyataan dikerjakan secara berurutan

sesuai dengan urutan penulisannya. Sebuah instruksi dilaksanakan setelah instruksi

sebelumnya selesai dilaksanakan sehingga urutan instruksi menentukan keadaan akhir

algoritma.

Hal-hal yang menjadi menjadi perhatian dalam sequence adalah

Tiap aksi dikerjakan satu persatu

Tiap aksi dilakukan tepat sekali saja, tidak ada aksi atau baris perintah yang

diulang-ulang

Urutan aksi yang dilaksanakan pemrosesan sama dengan urutan aksi sebagaimana

yg tertulis di dlm algoritmanya

Akhir dari aksi, merupakan akhir algoritma.

Contoh runtunan

Diberikan 2 buah gelas, A dan B; gelas A berisi air berwarna merah, gelas B berisi air

berwarna biru. Pertukarkan isi kedua gelas itu sedemikian sehingga gelas A berisi air

berwarna biru dan gelas B

berisi air berwarna merah seperti ilustrasi tabung dibawah ini :

Tentunya anda tidak bisa melakukan seperti dibawah ini

Tuangkan air dari gelas A kedalam gelas B

Tuangkan air dari gelas B kedalam gelas A

Caranya :

Kita siapkan satu buah gelas C untuk menampung sementara air dari gelas A sebelum

dipindah ke gelas B

Algoritma yang benar adalah

Tuangkan air dari gelas A kedalam gelas C

Tuangkan air dari gelas B kedalam gelas A

Tuangkan air dari gelas C kedalam gelas B

Contoh Soal :

Soal 1

Menghitung Luas dan Keliling Lingkaran

1. Algoritma mencari nilai Akar dan nilai Pangkat dari suatu bilangan adalah

Masukkan nilai suatu bilangan X

Masukkan nilai suatu bilangan Y

Hitung akar adalah sqrt(X)

Hitung pangkat adalah pow(X, Y)

Cetak akar dan pangkat

Page 15: Diktat kuliah Algoritma dan Pemograman

12

2. Pseudocode mencari nilai Akar dan nilai Pangkat dari suatu bilangan adalah

Deklarasi

X, Y : int

Akar, pangkat : float;

Deskripsi

Input (X)

Input (Y)

akar sqrt(X)

pangkat pow(X,Y)

Print (akar)

Print (pangkat)

3. Flowchart mencari nilai Akar dan nilai Pangkat dari suatu bilangan adalah

Soal 2

Menghitung Konversi Suhu dari Celcius menjadi Reamur dan Fahrenheit

1. Algoritma mencari nilai konversi suhu adalah

Masukkan nilai suhu Celsius

Hitung konversiFahrenheit adalah 9 * C / 5 + 32

Hitung konversiReamur adalah 4 * C / 5

Cetak konversiFahrenheit dan konversiReamur

2. Pseudocode mencari nilai Akar dan nilai Pangkat dari suatu bilangan adalah

Deklarasi

C : int

konversiFahrenheit, konversiReamur : float;

Deskripsi

Input (C)

konversiReamur 4 * C / 5

konversiFahrenheit 9 * C / 5 + 32

Print (konversiReamur)

Print (konversiFahrenheit)

Cetak akar, pangkat

Mulai

Selesai

akar <- sqrt( X)

pangkat <- pow( X,Y)

Input X, Y

Page 16: Diktat kuliah Algoritma dan Pemograman

13

3. Flowchart mencari nilai Akar dan nilai Pangkat dari suatu bilangan adalah

Soal 3

Menghitung jarak antara dua titik

1. Algoritma nilai jarak antara dua titik adalah

Masukkan titik koordinat X1 dan Y1

Masukkan titik koordinat X2 dan Y2

Hitung jarak adalah sqrt (pow((X1- X2),2) + pow((Y1 – Y2),2))

Cetak jarak

2. Pseudocode nilai jarak antara dua titik adalah

Deklarasi

X1,X2,Y1,Y2: int

Jarak : float;

Deskripsi

Input (X1,X2, Y1, Y2)

Jarak sqrt (pow((X1- X2),2) + pow((Y1 – Y2),2))

Print (jarak)

Cetak konversiReamur

konversifahrenheit

Mulai

Selesai

konversiReamur 4 * C /5

konversiFahrenheit 9 * C/5 +32

Input C

Page 17: Diktat kuliah Algoritma dan Pemograman

14

3. Flowchart nilai jarak antara dua titik adalah

Soal 4

Menghitung simpangan baku

1. Algoritma nilai simpangan baku dari 3 buah data adalah

Masukkan data pertama, kedua dan ketiga X1, X2, dan X3

Hitung Xrata 3 data tersebut (X1 + X2 + X3) / 3

Hitung SimpanganBaku adalah sqrt ((pow((X1-Xrata),2) + pow((X2-Xrata),2)

+ pow((X3-Xrata),2) ) / 3 )

Cetak SimpanganBaku

2. Pseudocode nilai simpangan baku adalah

Deklarasi

X1,X2,X3 : int

Xrata, SimpanganBaku : float;

Deskripsi

Input (X1,X2, X3)

Xrata (X1 + X2 + X3) / 3

SimpanganBaku sqrt ((pow((X1-Xrata),2) + pow((X2-Xrata),2) +

pow((X3-Xrata),2) ) / 3 )

Print (SimpanganBaku)

Cetak jarak

Mulai

Selesai

Jarak sqrt (pow((X1- X2),2) + pow((Y1 – Y2),2))

Input X1, X2, Y1, Y2

Page 18: Diktat kuliah Algoritma dan Pemograman

15

3. Flowchart nilai simpangan baku adalah

Implementasi coding program C++

Cetak SimpanganBaku

Mulai

Selesai

Xrata (X1 + X2 + X3) / 3

Input X1, X2, X3

SimpanganBaku sqrt ((pow((X1-Xrata),2) + pow((X2-Xrata),2) +

pow((X3-Xrata),2) ) / 3 )

// Latihan 1 #include <math.h> #include<iostream.h> void main() { int x,y; float akar,pangkat; cout<<"Nilai Akar dan Pangkat\n"; cout<<"=================================== \n"; cout<<"Bilangan Basis ="; cin>>x; cout<<"Bilangan Pemangkat ="; cin>>y; akar = sqrt(x); pangkat = pow(x,y); cout<<"Nilai Akar dari "<<x <<" adalah "<<akar<<"\n"; cout<<"Nilai pangkat dari "<<x <<" dan "<<y<<" adalah "<<pangkat<<"\n"; }

Page 19: Diktat kuliah Algoritma dan Pemograman

16

// Latihan 2 #include<iostream.h> void main() { int C; float F,R; cout<<"Bilangan Celcius =";cin>>C; R = 4 * C / 5; F = 9 * C / 5 + 32; cout<<"Nilai Konversi ke Reamur adalah "<<R<<"\n"; cout<<"Nilai Konversi ke Fahrenheit adalah "<<F<<"\n"; }

// Latihan 3 #include<iostream.h> #include<math.h> void main() { int X1,X2,Y1,Y2; float jarak; cout<<"Jarak titik (X1,Y1) dengan (X2,Y2) \n"; cout<<"=================================== \n"; cout<<"Titik Koordinat X1 =";cin>>X1; cout<<"Titik Koordinat Y1 =";cin>>Y1; cout<<"Titik Koordinat X2 =";cin>>X2; cout<<"Titik Koordinat Y2 =";cin>>Y2; jarak = sqrt (pow((X1- X2),2) + pow((Y1 - Y2),2)); cout<<"Jarak antara titik koordinat 1 dan 2 adalah "<<jarak<<"\n"; }

Page 20: Diktat kuliah Algoritma dan Pemograman

17

// Latihan 4 #include<iostream.h> #include<math.h> void main() { int X1,X2,X3; float Xrata, SB; cout<<"Simpangan Baku dari 3 buah data \n"; cout<<"=================================== \n"; cout<<"Data ke 1 =";cin>>X1; cout<<"Data ke 2 =";cin>>X2; cout<<"Data ke 3 =";cin>>X3; Xrata = (X1+X2+X3) / 3; SB= sqrt ((pow((X1-Xrata),2)+pow((X2-Xrata),2)+pow((X3-Xrata),2) ) / 3 ); cout<<"X rata-rata adalah "<<Xrata<<"\n"; cout<<"Simpangan Baku adalah "<<SB<<"\n"; }

Page 21: Diktat kuliah Algoritma dan Pemograman

18

BAB 5

ALGORITMA PERCABANGAN 1

Percabangan merupakan proses penyeleksian kondisi yang menyebabkan satu atau lebih

statement/perintah akan diproses atau dapat juga menyebabkan satu atau lebih

statement/perintah tidak diproses, tergantung dari hasil kondisi yang diseleksinya.

Untuk mengecek suatu ekspresi (kondisi) dapat digunakan pernyataan If ..... atau If......else

atau Nested If atau Switch

Dalam algoritma percabangan / seleksi/ pemilihan anda dituntut untuk memahami operator

relational seperti dalam tabel dibawah ini

Bentuk dasar dari percabangan

No

Yes

Contoh :

Kondisi : kondisi yang ditest untuk menentukan apakah statemen

akan dikerjakan

Statemen : statemen-statemen yang akan dikerjakan jika kondisi

bernilai true / false

jika kondisi bernilai True maka Statement 1 di eksekusi

jika kondisi bernilai false maka Statement 2 di eksekusi

Operator Arti Contoh

< Kurang dari If (x < y) : Apakah x kurang dari y

<= Kurang dari sama dengan If ( x <= y) : Apakah x kurang dari sama dengan y

> Lebih dari If (x > y) : Apakah x lebih dari y

>= Lebih dari sama dengan If (x >= y) : Apakah x lebih dari sama dengan y

= = Sama dengan If (x = = y) : Apakah x sama dengan y

!= Tidak sama dengan If ( x != y) : Apakah x tidak sama dengan y

Kondisi

Statement 1

Statement 2

Page 22: Diktat kuliah Algoritma dan Pemograman

19

Contoh :

Menampilkan bilangan genap apabila bilangan yang di

input habis di bagi 2.

IF (bilangan % 2 == 0)

cout(“Bilangan Genap”)

IF (bilangan % 2 != 0)

cout(“Bilangan Ganjil”)

Algoritmanya :

Menginput nilai pada variabel ‘Bilangan’

Jika (Bilangan habis dibagi 2) maka kerjakanbaris 3; jika tidak kerjakan baris 4

Menampilkan/mencetak “Bilangan Genap”

selesai

Pseudo-code

input(Bilangan)

if (Bilangan % 2 == 0)

“Bilangan Genap”

Flowchart

mulai

Input bil

Bil % 2 =

0

Output

“Bilangan

Genap”

selesai

yes

no

Page 23: Diktat kuliah Algoritma dan Pemograman

20

Bagaimana algoritmanya jika flowchart diatas diubah menjadi flowchart seperti

gambar dibawah ini

Bagaimana pula jika flowchart menjadi seperti gambar dibawah ini

mulai

Input bil

Bil % 2 =

0

Output

“Bilangan

Genap”

selesai

yes

no

output

“Bilangan

Ganjil”

mulai

Input Bil

Bil % 2 = 0

selesai

yes

no

Output Hasil

Hasil =”Bilangan genap”

Hasil =”Bilangan ganjil”

Page 24: Diktat kuliah Algoritma dan Pemograman

21

Latihan

1. Dibaca dua buah bilangan yang membedakan apakah A > B, apabila lebih besar

maka berkomentar “Benar”

2. Dibaca dua buah bilangan yang membedakan apakah A < B, apabila lebih kecil

maka berkomentar “Salah”

3. Apabila tinggi seseorang > 160cm, dikategorikan “Manusia Melar”

4. Apabila yang dimasukkan angka > 5, maka Y = angka*10+100

5. Apabila nilai ujian < 60, maka “Tidak Lulus”

6. Jika Total Belanja > 5jt, maka mendapat diskon 5% dari total belanja

7. Menentukan bilangan yang dimasukkan adalah bilangan genap

8. Apabila Total Belanja < 100.000, maka “Tidak Mendapatkan Diskon”. [Total

Belanja = Quantity Barang*Harga Brg]

9. Menentukan tahun yang dimasukkan adalah tahun kabisat

Page 25: Diktat kuliah Algoritma dan Pemograman

22

BAB 5

ALGORITMA PERCABANGAN 2

Dalam percabangan yang kedua ini, akan dibahas tentang cabang-cabang dari percabangan

(Nested if) serta dibahas juga tentang switching.

A. Nested If

Nested if disebut juga dengan pernyataan bersarang. Jika didalam suatu ”pernyataan if

” memunculkan suatu ”pernyataan if” yang baru maka yang demikian itu disebut

dengan nested if.

bentuk flowchart dasar dari nested if dapat dilihat pada gambar dibawah ini. Gambar

ini menjelaskan bahwa suatu Nested if hanya dapat dieksekusi jika ”pernyataan if” nya

menghasilkan kondisi benar atau nilai kebenaran TRUE

Bentuk programnya, seperti dibawah ini :

If (employed==’y’)

{

If (recentGrad ==’y’)

{

cout<<”you are the top”;

}

else

{

cout<<”you must be recent college”;

}

}

No yes

No yes

Nested If

No yes

Page 26: Diktat kuliah Algoritma dan Pemograman

23

else

{

cout<<”you must be employed to qualify ”;

}

Bentuk nested if yang lain adalah

Contoh Nested If

Problema masalah

Diketahui bahwa waktu komputer disimpan dalam format 24 jam. Anda diminta

untuk mencetak waktu dalam format AM/PM

Penyelesaian dengan algoritma :

1. Tentukan Jam

2. Tentukan Menit

3. if Jam sama dengan 0 then

Cetak 12

Else

If jam diantara 1 dan 12 then

Cetak jam

Else

Cetak jam – 12

4. Cetak tanda titik “.”

5. Cetak menit

6. if jam kurang dari 12 then

Cetak “AM”

Else

Cetak “PM”

Page 27: Diktat kuliah Algoritma dan Pemograman

24

Flowchartnya adalah

B. Switch

Perintah SWITCH merupakan pernyataan yang dirancang untuk menangani pengambilan

keputusan yang melibatkan sejumlah pilihan alternatif yang diantaranya untuk

menggantikan pernyataan IF bertingkat. Perintah yang digunakan untuk

mengimplementasikan struktur multi alternative.

Statement switch akan menyeleksi kondisi yang diberikan kemudian membandingkan

hasilnya dengan konstanta-konstanta yang ada di case. Apabila hasil dari kondisi sama

dengan nilai dari konstanta tertentu, misalnya konstanta2, maka yang akan diproses adalah

statement yang ada pada case konstanta2 sampai ditemui statement break. Jika semua

konstanta yang dibandingkan tidak ada yang sama, maka yang diproses adalah statement

yang berada di default.

Ada 2 macam switch :

Swicth tunggal

Swicth bersarang

Bentuk Flowchart Switch Tungg al :

Page 28: Diktat kuliah Algoritma dan Pemograman

25

“Untuk kasus yang lebih dari dua kasus, struktur CASE dapat menyederhanakan

kasus IF..THEN..ELSE yang bertingkat-tingkat”

Format penulisan switch tunggal:

switch (switch-expression)

{

case value1:

statement(s) 1;

break;

case value2:

statement(s) 2;

break;

case valueN:

statement(s) N;

break;

default:

statement(s) for default;

}

Contoh penulisan switch di program :

cin<<X;

switch (X)

{

case 1: cout>>"Nilainya 65"; break;

case 2: cout>>"Nilainya 70"; break;

case 3: cout>>"Nilainya 80"; break;

case 4: cout>>"Nilainya 90"; break;

default: cout>>"Tidak ada nilainya";

}

C. Latihan

1. Mencari jumlah hari dari suatu bulan tertentu. Sebagai catatan : bulan 4, 6, 9 11

jumlah hari 30. Bulan 2 tergantung tahunnya ( 28/29 hari)

2. Dalam acara orientasi studi, seorang peserta harus mencari tandatangan.

Tandatangan dosen dinilai 3, tandatangan mahasiswa senior yang panitia dinilai 2,

tandatangan karyawan dan mahasiswa senior lain 1. Peserta dinyatakan lulus bila

berhasil mendapatkan nilai 80 atau lebih, mendapat hukuman ringan bila < 80

tapimasih lebih dari 60, selain itu mendapat tugas berat

3. Apabila memasukkan 1 maka “Senin”, kalau tidak apabila memasukkan 2, maka

“Selasa” kalau tidak apabila memasukkan 3 maka “Rabu”, kalau tidak apabila

memasukkan 4 maka “Kamis”, kalau tidak apabila memasukkan 5 maka “Jum’at”,

kalau tidak apabila memasukkan 6 maka “Sabtu”, kalau tidak apabila memasukkan

7 maka “Minggu”, kalau tidak semuanya maka “Kode Dari Hari Tidak Ada”.

Page 29: Diktat kuliah Algoritma dan Pemograman

26

4. Membuat menu sebagai berikut :

Menu :

A : Menghitung Kubus

1. Isi Kubus

2. Luas Kubus

B : Menghitung Luas Lingkaran

5. Pembelian yang mencapai nilai tertentu akan mendapatkan suatu potongan

pembelian yang besarnya sesuai tabel berikut :

Total Pembelian (Rp) Potongan(Rp)

0 – 1000 100

1001 – 10.000 500

10.001 – 30.000 2.000

> 30.000 4.000

Hitung besarnya potongan dan nilai yang harus dibayar untuk masing-masing

6. Bulan februari mempunyai jumlah hari yang unik. Jumlah harinya ada yang 28 hari

dan ada yang 29 hari. Bulan februari mempunyai jumlah hari 29 bila berada pada

tahun kabisat (tahun yang habis dibagi empat). Pada tahun yang bukan kabisat

jumlah harinya 28.

Jika dibaca sebuah penanggalan pada tanggal, bulan februari dan tahunnya,

tentukan tanggal pada hari berikutnya.

Contoh :

Input : Tanggal Sekarang : 28 - 2 – 1999

Output : Tanggal Besok : 1 - 3 - 1999

=======================================

Input : Tanggal Sekarang : 28 - 2 – 1996

Output : Tanggal Besok : 29 - 2 - 1996

Page 30: Diktat kuliah Algoritma dan Pemograman

27

BAB 6

PERULANGAN 1

A. Pengertian

Perulangan/Repeatition digunakan untuk mengulang sebuah statement atau

sekumpulan statement sesuai dengan kondisi yang terjadi (diwakili oleh loop control

variabel) yang diberikan. Biasanya loop control variable ini menggunakan operator

logika atau relational. Nilai dari Loop control variable digunakan untuk mengotrol

perulangan.

Perulangan ini merupakan kontradiksi dengan runtunan / sequence. Dalam algoritma

sequence, tidak diperkenankan suatu baris program yang telah diekseksi dilakukan

eksekusi kembali. Tetapi dalam algoritma perulangan dimungkinkan terjadi

pengulangan eksekusi terhadap baris program yang telah dieksekusi sebelumnya.

Eksekusi baris program yang ada diatasnya tersebut terjadi jika kondisinya menuntut

hal tersebut.

Bentuk umum perulangan seperti gambar dibawah ini

Ada beberapa istilah dalam sistem perulangan yaitu :

1. Loop

mengulang langkah-langkah dalam sebuah program

2. Body Of Loop

Perintah-perintah yang diulang dalam loop

3. Loop Control Variable

Variabel yang nilainya digunakan untuk mengontrol perulangan

Dua macam Loop Control Variabel

1. Counter

digunakan jika jumlah perulangan menjadi syarat perulangan.

Contoh :

mencari suku ke-n dari deret : 1+3+5+..

yes

no

Page 31: Diktat kuliah Algoritma dan Pemograman

28

N

2. Event

jika kejadian tertentu menjadi syarat dihentikannya perulangan

Contoh :

menampilkan suku-suku deret : 1+3+5+.. sampai yang ditampilkan >200

Syarat Loop Control Variabel

1. Diinisialisasi

dilakukan diluar Loop, dalam arti sebelum masuk Loop

2. Selalu di Test

setiap kali body loop dijalankan, nilai loop control variabel dicek apakah memenuhi

syarat perulangan. Jika ya, maka di ulang, jika tidak berhenti

3. Di Update

nilai dari loop control variabel harus diupdate agar proses perulangan dapat

berhenti. Letaknya di dalam Body Of Loop

Contoh flowchart Perulangan

mulai

Input angka : A

A < X

selesai

Y

Generate angka random: X

Output

“kebesaran

A > X Y

N

Output

“kekecilan”

Output

“well done”

Page 32: Diktat kuliah Algoritma dan Pemograman

29

B. Perulangan : While

Perulangan dapat diimplementasikan dengan menggunakan kata tercadang WHILE.

Bentuk flowchart dari while seperti digambar dibawah ini

Dari gambar diatas, dapat dijelaskan sebagai berikut :

C. Contoh Perulangan

Contoh :Menampilkan nilai Z dari nilai awal Z = 2 dan pengulangan akan dihentikan

setelah variabel Z mencapai nilai 12.

Algoritmanya:

1. Z 2

2. Selama (Z <= 12) kerjakan baris 3 dan 4, kalau nilai Z sudah mencapai > 12

maka kerjakan baris 5

3. Menampilkan/mencetak nilai z

4. Z Z + 1

5. Selesai

Flowchartnya :

Bagian pernyataan pada while tidak akan dijalankan sama sekali, apabila

kondisi yang pertama bernilai salah.

Untuk setiap pengulangan yang dikerjakan maka kondisinya akan di cek.

Jika kondisinya masih benar, proses loop dilakukan lagi (kembali ke baris

diatasnya) dan jika salah maka proses loop berahir.

Page 33: Diktat kuliah Algoritma dan Pemograman

30

Manual alur logikanya sebagai berikut

nilai awal z = 2

kondisi true:

z=2 z=2+1

z=3 z=3+1

z=4 z=4+1

dst

z=12 z=12+1

kondisi false:

z=13 z=13+1

Programnya :

D. Kondisi Boolean

Contoh : Menampilkan tulisan “Mahasiswa UIN Hebat” pengulangan akan dihentikan jika

didalam perulangan terdapat status = false.

Algoritmanya:

1. status true

2. Selama (Z = true) kerjakan baris 3 dan 4, kalau nilai status sama dengan false

maka kerjakan baris 5

3. Menampilkan/mencetak “Mahasiswa UIN Hebat”

4. status false

5. Selesai

void main()

{

int Z = 12;

while (Z<=12)

{

cout<<Z;

Z++ // Z = Z + 1;

}

}

Page 34: Diktat kuliah Algoritma dan Pemograman

31

Flowchartnya :

E. Latihan

1. Tampilkan angka 0 sampai dengan 100 dengan step 5 (mis: 0,5,10,15,… 100)

2. Menampilkan tulisan “Mahasiswa UIN Hebat” . didalam perulangan terdapat

pertanyaan “Menampilkan tulisan kembali ?”. jika ada jawaban “Y” maka nilai Status

= true, jika bukan jawaban “Y” maka nilai status=false. Pengulangan akan dihentikan

hanya jika didalam perulangan terdapat status = false.

Status false

Status true

Y

mulai

Status=true

selesai

N

Output

“mahasiswa

UIN Hebat”

Page 35: Diktat kuliah Algoritma dan Pemograman

32

BAB 7

PERULANGAN 2

A. Perulangan FOR

Perulangan/Repeatition FOR juga digunakan untuk mengulang sebuah statement atau

sekumpulan statement sesuai dengan kondisi yang terjadi.

Struktur perulangan for biasa digunakan untuk mengulang suatu proses yang telah

diketahui jumlah perulangannya. Dari segi penulisannya, struktur perulangan for

tampaknya lebih efisien karena susunannya lebih simpel dan sederhana.

Sintak :

Keterangan :

Inisialisasi : pernyataan untuk menyatakan keadaan awal dari variabel kontrol.

test condition : ekspresi relasi yang menyatakan kondisi untuk keluar dari

perulangan.

increment : pengatur perubahan nilai variabel kontrol.

Contoh : Algoritma menampilkan ‘Halo’, sebanyak 10 kali”

Algoritmanya :

1. x 1

2. Selama (x <=10) kerjakan baris 3 dan 4

3. Menampilkan/mencetak “Halo”

4. x x+1

Flowchartnya :

for( initialization; test-condition; increment )

{

Daftar Statement;

}

x 1

Y

mulai

x<=10

selesai

N

Output

“Hallo”

x x +

1

Page 36: Diktat kuliah Algoritma dan Pemograman

33

Programnya :

Contoh : Algoritma menghitung total nilai dan rata-rata terhadap data-data yang diinputkan

berulang-ulang

Algoritmanya :

1. Memasukkan nilai dari variabel N

2. Total 0

3. x = 1

4. Selama (x <= N) kerjakan baris 5 s.d. 7

5. Masukkan nilai dari variabel IsiData

6. Menghitung Total Total + IsiData

7. x x+1

8. Menghitung Rata2 Total / N

9. Mencetak/Menampilkan Total

10. Mencetak/Menampilkan Rata2

11. Selesai

Flowchartnya :

void main()

{

int x ;

for (x=1; x<=10; x++)

{

cout<<”Hallo”;

}

}

Page 37: Diktat kuliah Algoritma dan Pemograman

34

Programnya :

B. Perulangan For bercabang

Perulangan for bercabang adalah adanya pernyataan for didalam sekelompok blok yang

dieksekusi.

Simak potongan program dibawah ini :

Bagaimana algoritma dan flowchartnya ?

void main() { Int i, j; for (i=1;i<=3; i++) { for (j=1; j<=i; j++) { cout<<i , j ; } } }

Page 38: Diktat kuliah Algoritma dan Pemograman

35

C. Perulangan While dan If

Dalam perulangan while ini, terdapat pernyataan IF didalam blok pernyataannya.

Perhatikan flowchart dibawah ini

Programnya :

D. Latihan

Studi kasus : buatlah algoritma yang meniru pembacaan kata sandi (password) dari

pirantii masukan keyboard. Sebelumnya Kata sandi disimpan dalam dalam yang telah

ditetapkan(konstanta). Apabila kata sandi yang dibaca salah, maka pembacaan kata

sandi boleh diulang maksimum 3 kali.

done true

Y

mulai

done

selesai

N

Input

nilaiMTK

NilaiMTK<60

N

done false

Y

void main() { bool done = true; while(done) {

cout<< Nilai Matematika = "; cin>>x; if(x<60){ done = false; } } }

Page 39: Diktat kuliah Algoritma dan Pemograman

36

BAB 8

ALGORITMA FUNCTION

A. Pengertian Function/fungsi adalah satu blok kode yang melakukan tugas tertentu atau satu blok

instruksi yang dieksekusi ketika dipanggil dari bagian lain dalam suatu program.

Bentuk Umum deklarasi fungsi :

Fungsi harus dideklarasikan terlabih dahulu sebelum didefiniskan, hal ini agar

compiler bahasa pemrograman dapat mengetahui tentang identitas dari fungsi tersebut.

Identitas tersebut yaitu jumlah dan tipe parameter yang diterima beserta nilai balik fungsi

(bila ada). Dari bentuk definisi suatu fungsi maka akan langsung dapat diketahui tugas dan

maksud dari fungsi tersebut, hal ini karena bentuk definisi fungsi itu menspesifikasikan

tugas fungsi tersebut.

Fungsi merupakan elemen utama dalam bahasa C karena bahasa C sendiri

terbentuk dari kumpulan fungsi-fungsi. Dalam setiap program bahasa C, minimal terdapat

satu fungsi yaitu fungsi main(). Fungsi banyak diterapkan dalam program-program C yang

terstruktur. Keuntungan penggunaan fungsi dalam program yaitu program akan memiliki

struktur yang jelas (mempunyai readability yang tinggi) dan juga akan menghindari

penulisan bagian program yang sama.

Dalam bahasa C fungsi dapat dibagi menjadi 2 :

fungsi pustaka atau fungsi yang telah tersedia dalam Program C Free/C++

fungsi ini terletak dalam file header (.h)

fungsi yang didefinisikan atau dibuat oleh programmer.

B. Beberapa fungsi pustaka yang telah tersedia

Fungsi Operasi String (tersimpan dalam file header “string.h”)

strcpy()

strlen() ari suatu string.

strcat()

strupr() Digunakan untuk mengubah setiap huruf dari suatu string menjadi huruf capital.

TipeNilaiBalik NamaFungsi (tipeparameter,....)

Page 40: Diktat kuliah Algoritma dan Pemograman

37

strlwr()

Fungsi Operasi Karakter (tersimpan dalam header “ctype.h”)

islower() Fungsi akan menghasilkan nilai benar (bukan nol) jika karakter merupakan huruf kecil.

isupper() Fungsi akan menghasilkan nilai benar (bukan nol) jika karakter merupakan huruf

kapital.

per(char);

isdigit() Fungsi akan menghasilkan nilai benar (bukan nol) jika karakter merupakan sebuah digit.

Fungsi Operasi Matematik (tersimpan dalam header “math.h” dan “stdlib.h”)

sqrt() ung akar dari sebuah bilangan.

pow()

Bentuk umum : pow(bilangan, pangkat);

C. Membuat function sendiri

Sintak

tipe_data_fungsi nama_fungsi(parameter_fungsi1, parameter_fungsi2, . . );

Bentuk selengkapnya adalah

tipe_data_fungsi nama_fungsi(parameter_fungsi, . .)

{

statement

statement

………...

} Keterangan :

tipe_data_fungsi, adalah tipe data yang akan dikembalikan/dihasilkan oleh

function.

Misalnya : int, char, float, void

nama_fungsi, adalah nama yang memungkinkan kita memanggil function.

Misalnya : kali, bagi, kurang, hitung

parameter_fungsi(dispesifikasikan sesuai kebutuhan).

Setiap parameter terdiri dari tipe data diikuti identifier, seperti deklarasi variable

Misalnya: int x, int y, char z

statement, merupakan bagian badan suatu function. Dapat berupa instruksi tunggal

maupun satu blok instruksi yang dituliskan diantara kurung kurawal {}.

Page 41: Diktat kuliah Algoritma dan Pemograman

38

Contoh membuat function

D.Function tanpa tipe (Kegunaan void)

Deklarasi fungsi akan selalu diawali dengan tipe dari fungsi, yang menyatakan tipe data

apa yang akan dihasilkan dari fungsi tersebut. Jika tidak ada nilai yang akan dikembalikan,

maka dapat digunakan tipe void.

#include <stdio.h> int addition(int a, int b); //deklarasi function main(){ int z; z = addition(5,3); cout<<z; return 0; } /*pendefinisian function*/ int addition(int a, int b) {

int hasil hasil=a+b; return (hasil); }

#include <stdio.h> int subtraction(int a,int b); int subtraction (int a, int b){

int r; r=a-b; return (r);

} main (){

int x=5, y=3, z; z = subtraction (7,2); cout<<”The first result is "<< z; cout<<"The second result is "<< subtraction (7,2); cout<<"The third result is "<< subtraction (x,y); z= 4 + subtraction (x,y); cout<<"The fourth result is”<< z; return 0;

}

Page 42: Diktat kuliah Algoritma dan Pemograman

39

Tipe_fungsi nama_fungsi(parameter_fungsi, parameter fungsi_2, dst…)

#include <stdio.h>

int main(void)

{

float A = 6.0, B = 10.0, C;

float add_numbers (float, float);

C = add_numbers (A, B);

Cout<<" The Result is “<< C;

return(0);

}

float add_numbers (float X, float Y)

{

float D;

D = X + Y;

return(D);

}

E. Function Passing ( Pengiriman nilai parameter antar fungsi)

Sintak

Secara umum pengiriman parameter antar fungsi dibagi menjadi 2 :

Passing By Value, data yang dikirimkan berupa nilai dari variable. Misalnya ada

sebuah fungsi yang mempunyai variable lokal A, kemudian dia memanggil fungsi

lain dan menaruh variable A pada parameter fungsi yang baru dipanggil tersebut.

Maka yang terjadi adalah fungsi yang baru tersebut mengcopy nilai A dan menaruh

nilainya di variable lokalnya sendiri, misalnya ditaruh di B kemudian di proses.

Passing By Reference, data yang dikirimkan berupa alamat dari suatu variable.

Misalnya ada sebuah variable lokal A dalam sebuah fungsi, kemudian alamat dari

variable lokal A disimpan dalam variable pointer A_ptr dengan pernyataan

A_ptr=&A, artinya A_ptr menunjuk ke Alamat A. Maka saat variable pointer

A_ptr ini di passing ke fungsi lain, fungsi yang dipanggil itu dapat memodifikasi

nilai dari variable A.

Passing By Value

#include <stdio.h> void dummyfunction (void) { printf("I'm a function!!\n"); } main (){ dummyfunction (); return 0; }

Page 43: Diktat kuliah Algoritma dan Pemograman

40

#include <stdio.h>

int main(void)

{

float A = 6.0,B = 10.0, C;

float *A_ptr, *B_ptr;

A_ptr=&A;

B_ptr=&B;

C = add_numbers (A_ptr, B_ptr);

cout<<”The Result is "<< C;

return(0);

}

float add_numbers (float *ptr1, float *ptr2)

{

float D;

D = *ptr1 + *ptr2;

return(D);

}

Passing By Reference

Page 44: Diktat kuliah Algoritma dan Pemograman

41

BAB 9

ARRAY

Array/larik :

Maksud dari penggunaan Array dalam suatu pemrograman adalah untuk melakukan

memanipulasi banyak nilai ke sekelompok variabe

Merupakan sebuah variabel yang menyimpan sekumpulan data yang memiliki tipe sama.

Array adalah kumpulan data bertipe sama dan bernama sama.

Setiap data tersebut menempati lokasi atau alamat memori yang berbeda-beda dan biasa

disebut Elemen Array

Elemen array adalah variabel dalam array

Setiap elemen Array dapat diakses melalui indeks yang ada didalamnya

Indeks array pada C++ selalu berurutan dan dimulai dari 0

Variabel Array dideklarasikan dengan mencatumkan tipe dan nama variabel yang diikuti

dengan banyaknya lokasi memori yang ingin dibuat. (Mis.: int c[5]; )

Contoh Array : A[1], A[2], A[3]…….. A[100], secara visual digambarkan sebagai berikut

A A

1 1 125

2 2 211

3 3 356

99 99 145

100 100 250

A = Nama Array

[1], [2]. [3]….[100] = index

125, 211, 356, 145,250 = variable dalam array

Page 45: Diktat kuliah Algoritma dan Pemograman

42