Anda di halaman 1dari 63

ALGORITMA DAN PEMROGRAMAN

Sherly G. Supratman, M.Kom.


sherly.al4gna@gmail.com

FAKULTAS ILMU KOMPUTER


UNIVERSITAS KUNINGAN
Algoritma akan berkaitan dengan
PROGRAM

Apa itu PROGRAM ?


DEFINISI PROGRAM
Program adalah kumpulan instruksi atau perintah yang disusun
sedemikian rupa sehingga mempuyai urutan nalar
yang tepat untuk menyelesaikan suatu persoalan
yang diimplementasikan dalam suatu bahasa
pemrograman yang dapat dieksekusi oleh komputer.
Dibuat dengan tujuan untuk mempermudah user
dalam memberikan instruksi /perintah kepada
komputer

• Instruksi (statement) yang dimaksud adalah syntax (cara penulisan)


sesuai dengan bahasa pemrograman yang digunakan dan mempunyai
komponen-komponen : Input, Output, Proses, percabangan,
Pengulangan
DEFINISI PROGRAM

Program :
Perwujudan atau implementasi algoritma yang ditulis
dalam Bahasa pemrograman tertentu
PROGRAM DAN BAHASA PEMROGRAMAN
• Kumpulan instruksi yang digunakan untuk mengatur
computer agar melakukan suatu Tindakan tertentu
dinamakan Program

• Instruksi yang digunakan dalam menulis program disebut


Bahasa Pemrograman

• Orang yang membuta program computer dinamakan


Pemrogram atau Programmer
PROGRAM DAN BAHASA PEMROGRAMAN
• Kegiatan merancang dan menulis program computer
disebut Pemrograman atau Programming

• Suatu program ditulis dengan mengikuti kaidah Bahasa


pemrograman tertentu (Pascal, Turbo C, Basic, Borland
C++, Java, dll)

• Salah satu dari sekian banyak Bahasa pemrograman,


dalam matakuliah ini akan memakai Bahasa pemrograman
C dan C++
MENGERTI BAGIMANA MEMULAI
DALAM MEMBUAT PROGRAM
• Langkah pertama yang harus dilakukan adalah mendefinisikan
masalah yang akan dipecahkan dengan program, hal ini banyak
dilupakan oleh para pemula dalam membuat program.
• Selanjutnya menentukan solusi yang akan dipecahkan
• Gunakan alat bantu dalam untuk menggambarkan alur logika
program, dengan menggunakan 2 alat bantu
1. Menggunakan Flowchart
2. Menggunakan pendekatan Bahasa Pemrograman (Pseudo-
code)
• Pembuatan program dimulai
NOTASI ALGORITMA

• Untaian kalimat deskriptif


• Flowchart (Diagram Alir)
• Pseudecode
KALIMAT DESKRIPTIF
• Langkah-Langkah pemecahan masalah dituangkan
dengan untaian kalimat deskriptif
• Untaian kalimat deskriptif terdiri dari 2 bagian yaitu :
- Judul algoritma
- Deskripsi algoritma
CONTOH NOTASI DESKRIPTIF
PROGRAM persegipanjang
Program untuk menghitung luas persegi Panjang

DESKRIPSI :
1. Masukkan / Input Panjang dan lebar persegipanjang
2. Hitung luas persegipanjang dengan rumus :
Luas = Panjang x Lebar
3. Tampilkan luas persegipanjang
FLOWCHART
Flowchart adalah Representasi grafis dan langkah-langkah yang harus
diikuti dalam menyelesaikan suatu permasalahan
yang terdiri dari sekumpulan simbol, dimana masing-
masing simbol mempresentasikan kegiatan tertentu.

Flowchart diawali dengan penerimaan input dan diakhiri dengan


penampilan output. Flowchart adalah suatu gambaran yang menjelaskan
urutan :
1. Pembacaan data
2. Pemrosesan data
3. Pengambilan keputusan terhadap data
4. Penyajian hasil pemrosesan data
FLOWCHART
FLOWCHART
PSEUDOCODE
Pseudocode :
• Kode atau tanda atau kriteria yang menyerupai atau merupakan
(pseudo) penjelasan cara menyelesaikan persoalan.
Catatan :
Secara bahasa pseudocode dapat diterjemahkan menjadi : pura-
puranya menyerupai atau pura-puranya seperti.
• Bahasa buatan yang bersifat informal yang dapat membantu untuk
mengembangkan algoritma
• Serupa dengan bahasa sehari-hari
• Membantu mempermudah penulisan program dengan menggunakan
statement-statement yang dapat dieksekusi, mempermudah konvers
ke bahasa pemrograman.
NOTASI PSEUDECODE
CONTOH NOTASI PSEUDECODE
PENGENALAN
BAHASA
PEMROGRAMAN
BELAJAR BAHASA PEMROGRAMAN
• Belajar memakai suatu Bahasa
• Aturan sintaks (tata Bahasa)
KONSEP DASAR
• Dasar pemahaman suatu program adalah Analisa
suatu algoritma
• Setiap algoritma yang disusun tidak tergantung pada
Bahasa Pemrograman tertentu
• Setiap Bahasa Pemrograman mempunyai karakteristik
yang berbeda baik struktur, syntax dan penulisan kode
program
TAHAPAN
PENGENALAN BAHASA PASCAL
PENGENALAN BAHASA C/C++
-FORMAT PENULISAN-

Bentuk umum/Format penulisan/Struktur utama :

#include <fileheader>
main
{
statement;
}
PENGENALAN BAHASA C/C++
• #include <fileheader>
✓ #include
Sebuah baris program yang diawali dengan tanda hash(#)
merupakan sebuah preprosesor suatu program yang
berfungsi untuk menyertakan file header.
PENGENALAN BAHASA C/C++
• #include <fileheader>
✓ File Header / File Judul
File header merupakan suatu file library dengan ekstensi
(*.h), yaitu file bantuan yang digunakan untuk menyimpan
daftar-daftar fungsi yang akan digunakan dalam program.
Dalam bahasa C, file header standar untuk proses input dan
output adalah <stdio.h>, kita akan memerlukan file header
<stdio.h> dalam setiap kode program yang akan kita buat.
File header yang akan kita gunakan dalam bahasa C harus
dituliskan pada awal penulisan dengan simbol ‘<‘ dan
diakhiri dengan simbol ‘>’ disetiap menuliskan file header
dalam program
PENGENALAN BAHASA C/C++
✓ File Header / File Judul
▪ File header stdio.h
stdio.h merupakan singkatan dari standar input output
header yang digunakan sebagai standar input output
operasi yang digunakan oleh bahasa C.
PENGENALAN BAHASA C/C++
-FILE HEADER-
Library Functions dan Library Macroes dalam Turbo C.
1) Dalam stdio.h
Library Functions
clearr() flushall() fscan() puts()
fclose() fopen() fseek() putw()
fccloseall() fprint() fsetpos() rename()
fdopen() fputc() ftell() rewind()
fflush() fputchar() fwrite() scanf()
fgetc() fputs() gets() unlink()
fgetchar() fread() getw()
fgetpos() free() perror()
fgets() freopen() printf()
PENGENALAN BAHASA C/C++
-FILE HEADER-
1) Dalam stdio.h
Library Macroes

feof(f)
ferror(f)
fileno(f)
getch(f)
getchar(f)
putchar( f)
remove(path)
PENGENALAN BAHASA C/C++
-FILE HEADER-
2) Dalam math.h

Library Functions
abs() ceil() labs() sqrt()
acosh() cos() ldexp() tan()
asin() cosh() log() tanh()
atan() exp() log10()
atan2() fabs() pow()
atof() floor() sin()
fmod() sinh()
PENGENALAN BAHASA C/C++
-FILE HEADER-
3) Dalam stdlib.h
Library Functions Library Macroes

abs() free() abs(x)


atof() ldiv() atoi(s)
atoi() malloc() random(num)
atol() rand() randomize()
div() srand()
exit() system()
PENGENALAN BAHASA C/C++
-FILE HEADER-

4) Dalam string.h 5) Dalam conio.h

Library Functions Library Functions

strcpy() clrscr()
strcat() getch()
getche()
strchr() gotoxy()
strcmp() khbit()
strlen() putch()
PENGENALAN BAHASA C/C++
-FILE HEADER-
6) Dalam io.h

Library Functions

access() filelength()
_close() _ope()
close() open()
_creat() _read()
eof() read()
_write()
write()
PENGENALAN BAHASA C/C++
-FILE HEADER-
7) Dalam ctype.h

Library Functions Library Macroes


stlower() isalnum( c) isgraph( c) isupper( c)
toupper() isalpha( c) islower ( c) isxdigit( c)
isascii( c) isprint( c) toascii( c)
iscntrl( c) ispunct( c) _tolower( c)
isdigit( c) isspace( c) _toupper( c)
PENGENALAN BAHASA C/C++
• main()
Merupakan sebuah fungsi utma dari sebuah program, yng
artinya disinlah semua program C/C++ mulai dieksekusi.
• {
Merupakan tanda dimana dimulainya suatu program
• statement;
Merupakan perintah yang nantinya akan dieksekusi oleh
program
• }
merupakan tanda dimana berakhirny suatu program
PENGENALAN BAHASA C/C++
-CONST,VARIABLE,TYPE DATA-
• Const (konstanta)
Suatu nilai yang tidak berubah selama proses program.
• Variable (variabel)
Suatu pengenal yang digunakan untuk mewakili suatu nilai tertentu di
dalam proses program.
Suatu nama yang menyatakan tempat dalam memori komputer yang
digunakan untuk menyiimpan suatu nilai dan nilainya dapat berubah-
ubah.
• Type Data
Type data diklasifikasikan berdasarkan bagaimana keadaan disimpan
dalam memori dan jenis operasi yang akan dilakukan dalam
pemrograman.
PENGENALAN BAHASA C/C++
-MACAM-MACAM TYPE DATA-
PENGENALAN BAHASA C/C++
-CONTOH PENULISAN TYPE DATA-

TIPE DATA BENTUK PENULISAN


integer int
Floating point float
character char
Double Precision double
Long integer long int
Unsigned integer Unsigned int
Long unsgned integer long unsigned int
PENGENALAN BAHASA C/C++
-FOORMAT PEMANGGILAN TYPE DATA-
PENGENALAN BAHASA C/C++
-ESCAPE SEQUENCES-

ESCAPE PENGERTIAN
SEQUENCES

\b Melakukan mundur satu karakter kebelakang (Backspace)

\f Melakukan pemindahan halaman (Formfeed)

\n Membuat garis baru pada tampilan (Newline)


Melakukan pindah kolom paling kiri dari baris yang sama
\r (Carriage Return)

\t Melakukan tab (Default = 7 karakter)

\\ Untuk membuat komentar pada skrip syntax program


PENGENALAN BAHASA C/C++
-VARIABEL-
Bentuk umum :
Tipe_data nama_variabel;

Aturan dalam penulisan variabel :


• Diawali huruf A...Z, a...z atau garis bawah (_)
• Tidak boleh diawali dengan angka
• Tidak boleh menggunakan operator
• Tidak boleh menggunakan spasi
• Tidak boleh menggunakan kata-kata yang sudah ada dalam istilah
bahasa C/C++
• Penggunaan huruf kecil dan huruf besar
PENGENALAN BAHASA C/C++
-VARIABEL-
Tedapat 2 jenis variabel :
1. Variabel Numerik
variabel numerik dibagi 3 macam yatu :
a. Bilangan bulat
b. Bilangan berpresisi tunggal atau floating point
c. Bilangan berpresisi ganda atau double precison
2. Variabel Text
variabel text dibagi menjadi 2 macam
a. Character (karakter tunggal)
b. String (rangkaian karakter)
PENGENALAN BAHASA C/C++
-OPERASI I/O-
• Perintah masukan yang disediakan oleh bahasa C standar
<stdio> diantaranya :

1. scanf()
Merupakan fungsi masukan yang digunakan ntuk menginput
data numerik, karakter, dan string secara terformat
(menentukan tipe data yang akan dimasukkan)
Bentuk umum :

scanf(“format data”,variabel);
PENGENALAN BAHASA C/C++
-OPERASI I/O-
• Perintah masukan yang disediakan oleh bahasa C standar
<stdio> diantaranya :
2. gets()
Merupakan fungsi masukan yang khusus untuk menerima
masukan tipe data string (tanpa harus melakukan
penentuan tipe data terlebih dahulu). Namun operasi ini
dapat dilakukan bila variabel ber tipe array

gets(nama variabel);
PENGENALAN BAHASA C/C++
-OPERASI I/O-
• Perintah keluaran yang disediakan oleh bahasa C standar
<stdio> diiantaranya :
1. printf()
merupakan fungsi keluaran yang digunakan untuk
menampilkan informasi/pesan kelayar secara terformat
(menentukan tipe data yang akan dikeluarkan).
bentuk umum :

printf(“string kontrol”,tipe data,nama variabel);


PENGENALAN BAHASA C/C++
-OPERASI I/O-
• Perintah keluaran yang disediakan oleh bahasa C standar
<stdio> diiantaranya :
2. puts()
merupakan fungsi keluaran yang digunakan untuk
menampilkan informasi/pesan yang bertipe data string.
bentuk umum :

puts(nama variabel);
PENGENALAN BAHASA C/C++
-OPERASI I/O-
• Perintah keluaran yang disediakan oleh bahasa C standar
<stdio> diiantaranya :
3. putchar()
merupakan fungsi keluaran yang digunakan untuk
menampilkan informasi/pesan yang bertipe data char.
Bentuk umum :

scanf(‘character’);
PENGENALAN BAHASA C/C++
-OPERASI & OPERATOR-
• OPERASI DAN OPERATOR

• OPERATOR

• OPERATOR ARITMETIKA

• OPERATOR INCREMENT DAN DECREMENT

• OPERATOR MAJEMUK

• OPERATOR RELASIONAL

• OPERATOR LOGIKA
PENGENALAN BAHASA C/C++
-OPERASI & OPERATOR-
• Operasi adalah proses terhadap data. Operator adalah simbol
operasi. Data yang terlibat dalam suatu operasi disebut operan.
berdasarkan jumlah operan yang terlibat, operator dapat dibagi
menjadi 3 kelompok :
1. Unary operator
Operator ini melibatkan sebuah operan, contohnya
increment yang menggunakan simbol ++, dan decrement
yang menggunakan simbol –
PENGENALAN BAHASA C/C++
-OPERASI & OPERATOR-
2. Binary operator
operator ini melibatkan dua buah operan.
Operator jenis ini merupakan yang paling banyak
yaitu : +, -, *, /
3. Ternary operator
operator ini melibatkan tiga buah operan atau
lebih dan hanya ada sebuah operator yang
disediakan oleh Bahasa C dengan dua simbol
yaitu ? :
PENGENALAN BAHASA C/C++
-OPERATOR-
• Dalam bahasa C/C++ terdapat berbagai macam operator yang
dapat dimanfaatkan dalam berbagai macam aplikasi
➢ Operator Assign (=)
Operator (=), akan memberikan nilai dalam suatu variabel

lvalue a=5 rvalue

Sebelah kiri tanda = dalam pernyataan diatas, dikenal dengan


lvalue (left value) dan sebelah kanan tanda = dikenal dengan
rvalue (right value).
PENGENALAN BAHASA C/C++
-OPERATOR ARIITMATIKA-

• Operator ini digunakan untuk proses matematika


PENGENALAN BAHASA C/C++
-OPERATOR INCREMENT&DECREMENT-
• Operator penaikan/increment (++) akan menaikan atau
menambahkan 1 nilai variabel. Sedangkan operator
penurunan/decrement (--) akan menurunkan/mengurangi 1 nilai
variabel.
Bentuk umum penulisannya :
a++;
a--;
karakteristik dari operator ini adalah dapat dipakai diawal
variabel (++a) atau diakhir variabel (a++). Hal ini akan
berpengaruh pada akhirnya.
PENGENALAN BAHASA C/C++
-OPERATOR MAJEMUK-
(+=, -=, *=, /=, %=, <<=, &=, |=)

• Dalam C++, operasi aritmetika dapat disederhanakan


penulisannya dengan format penuisan operator majemuk.
misalnya :
a+ = 5;sama artinya dengan menuliskan a = a + 5;
a* = 5;sama artinya dengan menuliskan a = a * 5;
a/ = 5;sama artinya dengan menuliskan a = a / 5;
PENGENALAN BAHASA C/C++
-OPERATOR RELASIONAL-

• Yang dihasilkan dari operator ini bukan berupa sebuah nilai,


namun berupa bilangan boolean yaitu benar atau salah
PENGENALAN BAHASA C/C++
-OPERATOR LOGIKA- (NOT(!), AND (&&), OR (||))
• Operator logika digunakan untuk memberikan nilai atau kondisi
true dan false. Biasanya operator logika digunakan untuk
membandingkan dua buah kondisi.
misalnya :
(5 == 5) && (3>6) hasilnya akan false kerena ( true && false )
PENGENALAN BAHASA C/C++
-DERAJAT OPERATOR-

• Di dalam suatu akspresi arotmatika dapat kita jumpai


beberapa operator aritmatika yang berbeda secara
bersamaan. Urutan operator aritmatika adalah sebagai
berikut:

( * ) atau ( / ) Tingkatkan operator sama, penggunaannya


tergantung letak, yang di depan didahulukan ( % ) Sisa
Pembagian.

( + ) atau ( – ) Tingkatkan operator sama, penggunaannya


tergantung letak, yang didepan didahulukan.
PENGENALAN BAHASA C/C++
-DERAJAT OPERATOR-

• Contoh:
A=8+2*3/6
Langkah perhitungannya :
A = 8 + 6/6 dimana 6/6 = 1 A = 8 + 1
A=9
Tingkatan operator ini dapat diabaikan dengan penggunaan
anda kurung ( dan )
• Contoh:
A = (8 + 2) * 3 / 6
Langkah perhitungannya :
A = 10 * 3/6 dimana 8 + 2 = 10
A = 30 / 6 => A = 5
CONTOH MENCARI HASIL DENGAN
OPERATOR ARITMETIKA
#include<stdio.h>
void main()
{
int a, b, c=0,d=0;
printf("Masukan Nilai A : ");
scanf("%d",&a);
printf("Masukan Nilai B : ");
scanf("%d",&b);
c = a % b;
d = a * b;
printf("Hasil perhitungan dari C = A mod B = %d\n",c);
printf("Hasil perhitungan dari D = A * B = %d\n",d);
}
CONTOH PERBANDIAN HASIL DENGAN
OPERATOR ARITMETIKA

#include<stdio.h>
void main()
{
int a, b;
a = 8 + 5 * 3 / 2;
b = (8 + 5) *3 / 2;
printf("Hasil perhitungan A = %d\n",a);
printf("Hasil perhitungan B = %d",b);
}
CONTOH PERBANDIAN HASIL DENGAN
OPERATOR INCREMENT DAN DECREMENT
#include<stdio.h>
void main()
{
int a=10, b=5; ;
printf("Nilai Variabel A = %d\n",a);
printf("Nilai Variabel B = %d\n",b);
printf("Nilai Awal A\t= %d\n",a);
printf("NIlai ++A\t= %d\n",++a);
printf("Nilai Akhir A\t= %d\n",a);
printf("Nilai Awal B\t= %d\n",b);
printf("Nilai --B\t= %d\n",--b);
printf("Nilai Akhir B\t= %d",b);
}
CONTOH HASIL KELUARAN PROGRAM
DENGAN OPERATOR RELASI
#include<stdio.h>
void main()
{
int a,b,c,d,e,f,x,y;
printf("Masukan Nilai X = "); scanf("%d",&x);
printf("Masukan Nilai Y = "); scanf("%d",&y);
a = x == y;b = x != y;c = x > y;d = x < y;
e = x >= y;f = x <= y;
printf("\nHasil dari %d == %d = %d",x,y,a);
printf("\nHasil dari %d != %d = %d",x,y,b);
printf("\nHasil dari %d > %d = %d",x,y,c);
printf("\nHasil dari %d < %d = %d",x,y,d);
printf("\nHasil dari %d >= %d = %d",x,y,e);
printf("\nHasil dari %d <= %d = %d",x,y,f);
}
CONTOH HASIL KELUARAN PROGRAM
DENGAN OPERATOR LOGIKA AND (&&)
/* Penggunaan Operasi Logika AND */
#include <stdio.h>
#include <conio.h>
void main()
{
int a, b, c, d, e, f, g, h;
clrscr( );
printf("Masukan Nilai A = ");scanf("%d",&a);
printf("Masukan Nilai B = ");scanf("%d",&b);
printf("Masukan Nilai C = ");scanf("%d",&c);
// Proses
d = a + 4 < 10;
e = b > a + 5;
CONTOH HASIL KELUARAN PROGRAM
DENGAN OPERATOR LOGIKA OR ( || )
/* Penggunaan Operasi Logika OR */
#include <stdio.h>
#include <conio.h>
main()
{
int a, b, c, d, e, f, g, h;
clrscr( );
printf("Masukan Nilai A = ");scanf("%d",&a);
printf("Masukan Nilai B = ");scanf("%d",&b);
printf("Masukan Nilai C = ");scanf("%d",&c);
// Proses
d = a + 4 < 10;
e = b > a + 5;
DUNK

Anda mungkin juga menyukai