SlideShare ist ein Scribd-Unternehmen logo
1 von 45
Downloaden Sie, um offline zu lesen
DIKTAT KULIAH
ALGORITMA DAN PEMROGRAMAN

Disusun oleh
Sumarsono

Program Studi Teknik Informatika
Fakultas Sains dan Teknologi
Universitas Islam Negeri Sunan Kalijaga
Yogyakarta
2013

i
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

ii
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

iii
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 halhal 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.

1
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.
2
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

Algoritma

Program Komputer

Hasil / Solusi

3
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
4
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 :

Mulai

Input panjang

Input lebar

Luas = panjang * lebar

Output Luas

Selesai
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 :
5
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
Mulai
Inisialisasi X  0

Tambahkan X  X + 1

Output X
Ya

X=1
00
tidak
Selesai
6
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 :

7
Proses pembentukan file EXE.

1.4 Tipe Data

8
Tipe data dan Operator
Tipe data

Operator

Tipe data
Var 2

Tipe data
Var hasil

integer

Integer
float

Float

Float

Float

Float

Var 1
Integer
Integer
Float

+-*
/ sqrt
+-*
/ sqrt
+-*
/ 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’.

9
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;
}

10
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
11
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
Mulai

Input X, Y

akar <- sqrt( X)
pangkat <- pow( X,Y)

Cetak akar, pangkat

Selesai

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)
12
3. Flowchart mencari nilai Akar dan nilai Pangkat dari suatu bilangan adalah
Mulai

Input C

konversiReamur  4 * C /5
konversiFahrenheit  9 * C/5 +32

Cetak konversiReamur
konversifahrenheit

Selesai

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)

13
3. Flowchart nilai jarak antara dua titik adalah

Mulai

Input X1, X2, Y1, Y2

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

Cetak jarak

Selesai

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)

14
3. Flowchart nilai simpangan baku adalah
Mulai

Input X1, X2, X3

Xrata  (X1 + X2 + X3) / 3

SimpanganBaku  sqrt ((pow((X1-Xrata),2) + pow((X2-Xrata),2) +
pow((X3-Xrata),2) ) / 3 )

Cetak SimpanganBaku

Selesai

Implementasi coding program C++
// Latihan 1
#include <math.h>
#include<iostream.h>
void main()
{
int x,y;
float akar,pangkat;
cout<<"Nilai Akar dan Pangkatn";
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";
}

15
// 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";
}

16
// 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";
}

17
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
Operator
<
<=
>
>=
==
!=

Arti
Kurang dari
Kurang dari sama dengan
Lebih dari
Lebih dari sama dengan
Sama dengan
Tidak sama dengan

Contoh
If (x < y) : Apakah x kurang dari y
If ( x <= y) : Apakah x kurang dari sama dengan y
If (x > y) : Apakah x lebih dari y
If (x >= y) : Apakah x lebih dari sama dengan y
If (x = = y) : Apakah x sama dengan y
If ( x != y) : Apakah x tidak sama dengan y

Bentuk dasar dari percabangan

Kondisi

Yes

No

Statement 1

Statement 2
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

18
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

yes

Bil % 2 =
0
no
selesai

19

Output
“Bilangan
Genap”
Bagaimana algoritmanya jika flowchart diatas diubah menjadi flowchart seperti
gambar dibawah ini

mulai

Input bil

yes

Bil % 2 =
0

Output
“Bilangan
Genap”

no
output
“Bilangan
Ganjil”

selesai
Bagaimana pula jika flowchart menjadi seperti gambar dibawah ini
mulai

Input Bil

yes
Bil % 2 = 0

no
Hasil =”Bilangan ganjil”

Output Hasil

selesai

20

Hasil =”Bilangan genap”
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

21
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

No

yes

No

yes

No

Bentuk programnya, seperti dibawah ini :
If (employed==’y’)
{
If (recentGrad ==’y’)
{
cout<<”you are the top”;
}
else
{
cout<<”you must be recent college”;
}
}
22

yes

Nested If
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”

23
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 :

24
“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”.

25
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

26
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

yes

no
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+..

27
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

Generate angka random: X

Input angka : A

Output
“kebesaran

Y
A< X
N
Y
A> X
N
Output
“well done”

selesai

28

Output
“kekecilan”
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 :
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.

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 :

29
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 :
void main()
{
int Z = 12;
while (Z<=12)
{
cout<<Z;
Z++
// Z = Z + 1;
}
}
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

30
Flowchartnya :

mulai
Status  true

N

Status=true

Y
Output
“mahasiswa
UIN Hebat”

Status  false

selesai

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.

31
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 :
for( initialization; test-condition; increment )
{
Daftar Statement;
}
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 :

mulai
x1

N
x<=10
Y
Output
“Hallo”
xx+
1
selesai
32
Programnya :
void main()
{
int x ;
for (x=1; x<=10; x++)
{
cout<<”Hallo”;
}
}
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 :

33
Programnya :

B. Perulangan For bercabang
Perulangan for bercabang adalah adanya pernyataan for didalam sekelompok blok yang
dieksekusi.
Simak potongan program dibawah ini :
void main()
{
Int i, j;
for (i=1;i<=3; i++)
{
for (j=1; j<=i; j++)
{
cout<<i , j ;
}
}
}

Bagaimana algoritma dan flowchartnya ?
34
C. Perulangan While dan If
Dalam perulangan while ini, terdapat pernyataan IF didalam blok pernyataannya.
Perhatikan flowchart dibawah ini
mulai
done  true
N
done
Y
Input
nilaiMTK

NilaiMTK<60

Y

N
done  false

selesai
Programnya :
void main() {
bool done = true;
while(done) {
cout<< Nilai Matematika = ";
cin>>x;
if(x<60){
done = false;
}
}
}
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.

35
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 :
TipeNilaiBalik NamaFungsi (tipeparameter,....)

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.
36
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 {}.

37
Contoh membuat function
#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;
}

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.
38
#include <stdio.h>
void dummyfunction (void) {
printf("I'm a function!!n");
}
main (){
dummyfunction ();
return 0;
}

E. Function Passing ( Pengiriman nilai parameter antar fungsi)
Sintak
Tipe_fungsi nama_fungsi(parameter_fungsi, parameter fungsi_2, dst…)
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>
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);
}
39
Passing By Reference
#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);
}

40
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
2
3

1 125
2 211
3 356

99
100

99 145
100 250

A = Nama Array
[1], [2]. [3]….[100]
= index
125, 211, 356, 145,250 = variable dalam array

41
42

Weitere ähnliche Inhalte

Was ist angesagt?

Pertemuan 3 - Konsep Dasar Pemrograman
Pertemuan 3 - Konsep Dasar PemrogramanPertemuan 3 - Konsep Dasar Pemrograman
Pertemuan 3 - Konsep Dasar PemrogramanAchmad Solichin
 
Soal-soal Kesebangunan dan kongruen pada segitiga
Soal-soal Kesebangunan dan kongruen pada segitiga Soal-soal Kesebangunan dan kongruen pada segitiga
Soal-soal Kesebangunan dan kongruen pada segitiga Edinsukirno
 
12. data (variable dan list) scratch
12. data (variable dan list) scratch12. data (variable dan list) scratch
12. data (variable dan list) scratchFajar Baskoro
 
Kesebangunan dan Garis Istimewa Segitiga
Kesebangunan dan Garis Istimewa SegitigaKesebangunan dan Garis Istimewa Segitiga
Kesebangunan dan Garis Istimewa Segitigaeverthing_you
 
Contoh tugas memperbaiki paragraf
Contoh tugas memperbaiki paragrafContoh tugas memperbaiki paragraf
Contoh tugas memperbaiki paragrafdenson siburian
 
Perbedaan Research & Development (R&D) dan Development Research (DR)
Perbedaan Research & Development (R&D) dan Development Research (DR)Perbedaan Research & Development (R&D) dan Development Research (DR)
Perbedaan Research & Development (R&D) dan Development Research (DR)Rahma Siska Utari
 
aritmatika komputer
aritmatika komputeraritmatika komputer
aritmatika komputerdewi2093
 
makalah tentang algoritma lengkap
makalah tentang algoritma lengkapmakalah tentang algoritma lengkap
makalah tentang algoritma lengkapLela Warni
 
Analisis Algoritma - Pengantar Kompleksitas Algoritma
Analisis Algoritma - Pengantar Kompleksitas AlgoritmaAnalisis Algoritma - Pengantar Kompleksitas Algoritma
Analisis Algoritma - Pengantar Kompleksitas AlgoritmaAdam Mukharil Bachtiar
 
Pertemuan 05 Teknik Pencarian (Search) -lanjutan
Pertemuan 05 Teknik Pencarian (Search) -lanjutanPertemuan 05 Teknik Pencarian (Search) -lanjutan
Pertemuan 05 Teknik Pencarian (Search) -lanjutanEndang Retnoningsih
 
Manusia nilai, moral dan hukum
Manusia nilai, moral dan hukumManusia nilai, moral dan hukum
Manusia nilai, moral dan hukumPotpotya Fitri
 
listiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchartlistiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchartMaryanto Sumringah SMA 9 Tebo
 
Pertemuan 1 pengenalan mobile programming
Pertemuan 1 pengenalan mobile programmingPertemuan 1 pengenalan mobile programming
Pertemuan 1 pengenalan mobile programmingheriakj
 
Bahan ajar aritmatika sosial untuk SMP kelas 7
Bahan ajar aritmatika sosial untuk SMP kelas 7Bahan ajar aritmatika sosial untuk SMP kelas 7
Bahan ajar aritmatika sosial untuk SMP kelas 7Agung Maulana
 

Was ist angesagt? (20)

Pertemuan 3 - Konsep Dasar Pemrograman
Pertemuan 3 - Konsep Dasar PemrogramanPertemuan 3 - Konsep Dasar Pemrograman
Pertemuan 3 - Konsep Dasar Pemrograman
 
01 02-pseudocode
01 02-pseudocode01 02-pseudocode
01 02-pseudocode
 
Gambar berskala
Gambar berskalaGambar berskala
Gambar berskala
 
Kriteria Penilaian Kerajinan
Kriteria Penilaian Kerajinan Kriteria Penilaian Kerajinan
Kriteria Penilaian Kerajinan
 
Soal-soal Kesebangunan dan kongruen pada segitiga
Soal-soal Kesebangunan dan kongruen pada segitiga Soal-soal Kesebangunan dan kongruen pada segitiga
Soal-soal Kesebangunan dan kongruen pada segitiga
 
12. data (variable dan list) scratch
12. data (variable dan list) scratch12. data (variable dan list) scratch
12. data (variable dan list) scratch
 
Kesebangunan dan Garis Istimewa Segitiga
Kesebangunan dan Garis Istimewa SegitigaKesebangunan dan Garis Istimewa Segitiga
Kesebangunan dan Garis Istimewa Segitiga
 
Contoh tugas memperbaiki paragraf
Contoh tugas memperbaiki paragrafContoh tugas memperbaiki paragraf
Contoh tugas memperbaiki paragraf
 
Perbedaan Research & Development (R&D) dan Development Research (DR)
Perbedaan Research & Development (R&D) dan Development Research (DR)Perbedaan Research & Development (R&D) dan Development Research (DR)
Perbedaan Research & Development (R&D) dan Development Research (DR)
 
aritmatika komputer
aritmatika komputeraritmatika komputer
aritmatika komputer
 
makalah tentang algoritma lengkap
makalah tentang algoritma lengkapmakalah tentang algoritma lengkap
makalah tentang algoritma lengkap
 
Analisis Algoritma - Pengantar Kompleksitas Algoritma
Analisis Algoritma - Pengantar Kompleksitas AlgoritmaAnalisis Algoritma - Pengantar Kompleksitas Algoritma
Analisis Algoritma - Pengantar Kompleksitas Algoritma
 
Pertemuan 05 Teknik Pencarian (Search) -lanjutan
Pertemuan 05 Teknik Pencarian (Search) -lanjutanPertemuan 05 Teknik Pencarian (Search) -lanjutan
Pertemuan 05 Teknik Pencarian (Search) -lanjutan
 
Manusia nilai, moral dan hukum
Manusia nilai, moral dan hukumManusia nilai, moral dan hukum
Manusia nilai, moral dan hukum
 
listiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchartlistiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchart
 
ECOPRINT.pptx
ECOPRINT.pptxECOPRINT.pptx
ECOPRINT.pptx
 
Pertemuan 1 pengenalan mobile programming
Pertemuan 1 pengenalan mobile programmingPertemuan 1 pengenalan mobile programming
Pertemuan 1 pengenalan mobile programming
 
Soal dan Jawaban - ISBD
Soal dan Jawaban - ISBDSoal dan Jawaban - ISBD
Soal dan Jawaban - ISBD
 
Bahan ajar aritmatika sosial untuk SMP kelas 7
Bahan ajar aritmatika sosial untuk SMP kelas 7Bahan ajar aritmatika sosial untuk SMP kelas 7
Bahan ajar aritmatika sosial untuk SMP kelas 7
 
Teknik Optimasi - P8
Teknik Optimasi - P8Teknik Optimasi - P8
Teknik Optimasi - P8
 

Ähnlich wie Diktat kuliah Algoritma dan Pemograman

Pengantar Algoritma Dan Program
Pengantar Algoritma Dan ProgramPengantar Algoritma Dan Program
Pengantar Algoritma Dan ProgramAkmal Fajar
 
Module algoritma
Module algoritma Module algoritma
Module algoritma Rony BolaNk
 
Modul teknik pemrograman mikrokontroler dan mikroprosesor
Modul teknik pemrograman mikrokontroler dan mikroprosesorModul teknik pemrograman mikrokontroler dan mikroprosesor
Modul teknik pemrograman mikrokontroler dan mikroprosesorBeny Abd
 
ALOGARITMA
ALOGARITMAALOGARITMA
ALOGARITMAarstwn
 
Dasar Algoritma
Dasar Algoritma Dasar Algoritma
Dasar Algoritma casnadi
 
Modul Logika dan algoritma
Modul Logika dan algoritmaModul Logika dan algoritma
Modul Logika dan algoritmalinda_rosalina
 
Dasar pemrograman
Dasar pemrogramanDasar pemrograman
Dasar pemrogramanUNTUNGSG
 
Algoritma pemrograman terstruktur
Algoritma pemrograman terstrukturAlgoritma pemrograman terstruktur
Algoritma pemrograman terstrukturRaden Maulana
 
Algoritma & dasar pemrograman
Algoritma & dasar pemrogramanAlgoritma & dasar pemrograman
Algoritma & dasar pemrogramanSahat Tua
 
Algoritma dan-pemrograman
Algoritma dan-pemrogramanAlgoritma dan-pemrograman
Algoritma dan-pemrogramanimmunandar
 
Algoritma dan-pemrograman
Algoritma dan-pemrogramanAlgoritma dan-pemrograman
Algoritma dan-pemrogramanimmunandar
 
Algoritma dan-pemrograman
Algoritma dan-pemrogramanAlgoritma dan-pemrograman
Algoritma dan-pemrogramanimmunandar
 
Algoritma dan-pemrograman
Algoritma dan-pemrogramanAlgoritma dan-pemrograman
Algoritma dan-pemrogramanimmunandar
 
Algoritma dan Flowchart1.ppt
Algoritma dan Flowchart1.pptAlgoritma dan Flowchart1.ppt
Algoritma dan Flowchart1.pptBKKSMKN2Jombang
 
Makalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrogramanMakalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrogramanwanakuroyuri
 
Makalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrogramanMakalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrogramanwanakuroyuri
 
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...farizky berian
 

Ähnlich wie Diktat kuliah Algoritma dan Pemograman (20)

Pengantar Algoritma Dan Program
Pengantar Algoritma Dan ProgramPengantar Algoritma Dan Program
Pengantar Algoritma Dan Program
 
Module algoritma
Module algoritma Module algoritma
Module algoritma
 
Modul teknik pemrograman mikrokontroler dan mikroprosesor
Modul teknik pemrograman mikrokontroler dan mikroprosesorModul teknik pemrograman mikrokontroler dan mikroprosesor
Modul teknik pemrograman mikrokontroler dan mikroprosesor
 
ALOGARITMA
ALOGARITMAALOGARITMA
ALOGARITMA
 
Dasar Algoritma
Dasar Algoritma Dasar Algoritma
Dasar Algoritma
 
Modul Logika dan algoritma
Modul Logika dan algoritmaModul Logika dan algoritma
Modul Logika dan algoritma
 
3-1 Algoritma.pptx
3-1 Algoritma.pptx3-1 Algoritma.pptx
3-1 Algoritma.pptx
 
Dasar pemrograman
Dasar pemrogramanDasar pemrograman
Dasar pemrograman
 
Algoritma pemrograman terstruktur
Algoritma pemrograman terstrukturAlgoritma pemrograman terstruktur
Algoritma pemrograman terstruktur
 
Algoritma & dasar pemrograman
Algoritma & dasar pemrogramanAlgoritma & dasar pemrograman
Algoritma & dasar pemrograman
 
Algoritma dan-pemrograman
Algoritma dan-pemrogramanAlgoritma dan-pemrograman
Algoritma dan-pemrograman
 
Algoritma dan-pemrograman
Algoritma dan-pemrogramanAlgoritma dan-pemrograman
Algoritma dan-pemrograman
 
Algoritma dan-pemrograman
Algoritma dan-pemrogramanAlgoritma dan-pemrograman
Algoritma dan-pemrograman
 
Algoritma dan-pemrograman
Algoritma dan-pemrogramanAlgoritma dan-pemrograman
Algoritma dan-pemrograman
 
Algoritma dan Flowchart1.ppt
Algoritma dan Flowchart1.pptAlgoritma dan Flowchart1.ppt
Algoritma dan Flowchart1.ppt
 
Makalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrogramanMakalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrograman
 
Makalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrogramanMakalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrograman
 
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
 
Makalah Algoritma
Makalah AlgoritmaMakalah Algoritma
Makalah Algoritma
 
Algoritam1
Algoritam1Algoritam1
Algoritam1
 

Kürzlich hochgeladen

PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptxPPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptxssuser8905b3
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdfsdn3jatiblora
 
PPT PENELITIAN TINDAKAN KELAS MODUL 5.pptx
PPT PENELITIAN TINDAKAN KELAS MODUL 5.pptxPPT PENELITIAN TINDAKAN KELAS MODUL 5.pptx
PPT PENELITIAN TINDAKAN KELAS MODUL 5.pptxSaefAhmad
 
Membuat Komik Digital Berisi Kritik Sosial.docx
Membuat Komik Digital Berisi Kritik Sosial.docxMembuat Komik Digital Berisi Kritik Sosial.docx
Membuat Komik Digital Berisi Kritik Sosial.docxNurindahSetyawati1
 
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptArkhaRega1
 
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..ikayogakinasih12
 
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CModul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CAbdiera
 
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptxPPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptxdpp11tya
 
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdfMODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdfNurulHikmah50658
 
MAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdf
MAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdfMAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdf
MAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdfChananMfd
 
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SDPPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SDNurainiNuraini25
 
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...asepsaefudin2009
 
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfContoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfCandraMegawati
 
Integrasi nasional dalam bingkai bhinneka tunggal ika
Integrasi nasional dalam bingkai bhinneka tunggal ikaIntegrasi nasional dalam bingkai bhinneka tunggal ika
Integrasi nasional dalam bingkai bhinneka tunggal ikaAtiAnggiSupriyati
 
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING M...
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING M...PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING M...
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING M...Kanaidi ken
 
Keterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTKeterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTIndraAdm
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAAndiCoc
 
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikaAtiAnggiSupriyati
 
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi SelatanSosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatanssuser963292
 
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...MetalinaSimanjuntak1
 

Kürzlich hochgeladen (20)

PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptxPPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
 
PPT PENELITIAN TINDAKAN KELAS MODUL 5.pptx
PPT PENELITIAN TINDAKAN KELAS MODUL 5.pptxPPT PENELITIAN TINDAKAN KELAS MODUL 5.pptx
PPT PENELITIAN TINDAKAN KELAS MODUL 5.pptx
 
Membuat Komik Digital Berisi Kritik Sosial.docx
Membuat Komik Digital Berisi Kritik Sosial.docxMembuat Komik Digital Berisi Kritik Sosial.docx
Membuat Komik Digital Berisi Kritik Sosial.docx
 
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
 
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
 
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CModul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
 
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptxPPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
 
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdfMODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
 
MAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdf
MAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdfMAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdf
MAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdf
 
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SDPPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
 
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
 
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfContoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
 
Integrasi nasional dalam bingkai bhinneka tunggal ika
Integrasi nasional dalam bingkai bhinneka tunggal ikaIntegrasi nasional dalam bingkai bhinneka tunggal ika
Integrasi nasional dalam bingkai bhinneka tunggal ika
 
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING M...
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING M...PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING M...
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING M...
 
Keterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTKeterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UT
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
 
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
 
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi SelatanSosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
 
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...
 

Diktat kuliah Algoritma dan Pemograman

  • 1. DIKTAT KULIAH ALGORITMA DAN PEMROGRAMAN Disusun oleh Sumarsono Program Studi Teknik Informatika Fakultas Sains dan Teknologi Universitas Islam Negeri Sunan Kalijaga Yogyakarta 2013 i
  • 2. 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 ii
  • 3. 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 iii
  • 4. 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 halhal 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. 1
  • 5. 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. 2
  • 6. 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 Algoritma Program Komputer Hasil / Solusi 3
  • 7. 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 4
  • 8. 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 : Mulai Input panjang Input lebar Luas = panjang * lebar Output Luas Selesai 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 : 5
  • 9. 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 Mulai Inisialisasi X  0 Tambahkan X  X + 1 Output X Ya X=1 00 tidak Selesai 6
  • 10. 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 : 7
  • 11. Proses pembentukan file EXE. 1.4 Tipe Data 8
  • 12. Tipe data dan Operator Tipe data Operator Tipe data Var 2 Tipe data Var hasil integer Integer float Float Float Float Float Var 1 Integer Integer Float +-* / sqrt +-* / sqrt +-* / 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’. 9
  • 13. 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; } 10
  • 14. 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 11
  • 15. 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 Mulai Input X, Y akar <- sqrt( X) pangkat <- pow( X,Y) Cetak akar, pangkat Selesai 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) 12
  • 16. 3. Flowchart mencari nilai Akar dan nilai Pangkat dari suatu bilangan adalah Mulai Input C konversiReamur  4 * C /5 konversiFahrenheit  9 * C/5 +32 Cetak konversiReamur konversifahrenheit Selesai 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) 13
  • 17. 3. Flowchart nilai jarak antara dua titik adalah Mulai Input X1, X2, Y1, Y2 Jarak  sqrt (pow((X1- X2),2) + pow((Y1 – Y2),2)) Cetak jarak Selesai 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) 14
  • 18. 3. Flowchart nilai simpangan baku adalah Mulai Input X1, X2, X3 Xrata  (X1 + X2 + X3) / 3 SimpanganBaku  sqrt ((pow((X1-Xrata),2) + pow((X2-Xrata),2) + pow((X3-Xrata),2) ) / 3 ) Cetak SimpanganBaku Selesai Implementasi coding program C++ // Latihan 1 #include <math.h> #include<iostream.h> void main() { int x,y; float akar,pangkat; cout<<"Nilai Akar dan Pangkatn"; 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"; } 15
  • 19. // 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"; } 16
  • 20. // 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"; } 17
  • 21. 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 Operator < <= > >= == != Arti Kurang dari Kurang dari sama dengan Lebih dari Lebih dari sama dengan Sama dengan Tidak sama dengan Contoh If (x < y) : Apakah x kurang dari y If ( x <= y) : Apakah x kurang dari sama dengan y If (x > y) : Apakah x lebih dari y If (x >= y) : Apakah x lebih dari sama dengan y If (x = = y) : Apakah x sama dengan y If ( x != y) : Apakah x tidak sama dengan y Bentuk dasar dari percabangan Kondisi Yes No Statement 1 Statement 2 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 18
  • 22. 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 yes Bil % 2 = 0 no selesai 19 Output “Bilangan Genap”
  • 23. Bagaimana algoritmanya jika flowchart diatas diubah menjadi flowchart seperti gambar dibawah ini mulai Input bil yes Bil % 2 = 0 Output “Bilangan Genap” no output “Bilangan Ganjil” selesai Bagaimana pula jika flowchart menjadi seperti gambar dibawah ini mulai Input Bil yes Bil % 2 = 0 no Hasil =”Bilangan ganjil” Output Hasil selesai 20 Hasil =”Bilangan genap”
  • 24. 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 21
  • 25. 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 No yes No yes No Bentuk programnya, seperti dibawah ini : If (employed==’y’) { If (recentGrad ==’y’) { cout<<”you are the top”; } else { cout<<”you must be recent college”; } } 22 yes Nested If
  • 26. 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” 23
  • 27. 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 : 24
  • 28. “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”. 25
  • 29. 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 26
  • 30. 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 yes no 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+.. 27
  • 31. 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 Generate angka random: X Input angka : A Output “kebesaran Y A< X N Y A> X N Output “well done” selesai 28 Output “kekecilan”
  • 32. 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 : 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. 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 : 29
  • 33. 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 : void main() { int Z = 12; while (Z<=12) { cout<<Z; Z++ // Z = Z + 1; } } 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 30
  • 34. Flowchartnya : mulai Status  true N Status=true Y Output “mahasiswa UIN Hebat” Status  false selesai 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. 31
  • 35. 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 : for( initialization; test-condition; increment ) { Daftar Statement; } 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 : mulai x1 N x<=10 Y Output “Hallo” xx+ 1 selesai 32
  • 36. Programnya : void main() { int x ; for (x=1; x<=10; x++) { cout<<”Hallo”; } } 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 : 33
  • 37. Programnya : B. Perulangan For bercabang Perulangan for bercabang adalah adanya pernyataan for didalam sekelompok blok yang dieksekusi. Simak potongan program dibawah ini : void main() { Int i, j; for (i=1;i<=3; i++) { for (j=1; j<=i; j++) { cout<<i , j ; } } } Bagaimana algoritma dan flowchartnya ? 34
  • 38. C. Perulangan While dan If Dalam perulangan while ini, terdapat pernyataan IF didalam blok pernyataannya. Perhatikan flowchart dibawah ini mulai done  true N done Y Input nilaiMTK NilaiMTK<60 Y N done  false selesai Programnya : void main() { bool done = true; while(done) { cout<< Nilai Matematika = "; cin>>x; if(x<60){ done = false; } } } 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. 35
  • 39. 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 : TipeNilaiBalik NamaFungsi (tipeparameter,....) 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. 36
  • 40. 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 {}. 37
  • 41. Contoh membuat function #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; } 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. 38
  • 42. #include <stdio.h> void dummyfunction (void) { printf("I'm a function!!n"); } main (){ dummyfunction (); return 0; } E. Function Passing ( Pengiriman nilai parameter antar fungsi) Sintak Tipe_fungsi nama_fungsi(parameter_fungsi, parameter fungsi_2, dst…) 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> 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); } 39
  • 43. Passing By Reference #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); } 40
  • 44. 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 2 3 1 125 2 211 3 356 99 100 99 145 100 250 A = Nama Array [1], [2]. [3]….[100] = index 125, 211, 356, 145,250 = variable dalam array 41
  • 45. 42