ALGORITMA DAN
PEMROGRAMAN
Pertemuan
1.
v
Logika adalah suatu
ilmu atau kaidah yang menyatakan benar atau salah.
v
Algoritma adalah
Langkah – langkah yang logis dan terperinci dalam melaksanakan suatu tugas.
Langkah –langkah
pembuatan Algoritma :
1. Harus
memahami masalah.
Contoh :
Menetapkan gaji Pegawai.
-
Gaji pokok
-
Gaji Transportasi
-
Tunjangan Istri dan
Anak
-
Tunjangan Jabatan.
2. Menentukan
data-data yang akan dipergunakan dalam pembuatan Algoritma.
Contoh
: Data Mahasiswa, seperti :
-
Nama
-
NIM
-
Tempat Tanggal Lahir
-
Alamat.
3. Data
Input, Data Proses, Data Output.
4. Menetapkan
nilai data dari masing-masing variabel. Menurut Awam data standarnya ada dua
yaitu : Angka, dan Huruf.
Apabila
terjadi proses penambahan perhitungan maka disebut nilainya angka, sedangkan
apabila terjadi proses penggabungan dua buah kata diapit tanda petik maka
nilainya teks.
5. Membuat
Algoritma
Contoh
: B = A + C
- Langkah
pertama mulai
- Deklarasikan
Variabel (A,B,C :Angka)
- Langkah
ketiga tampilkan form/layar input data.
- Langkah
keempat B =A+C, hitung.
- Langkah
kelima tampilkan B.
- Langkah
keenam selesai.
v Data
Data
adalah fakta atau bagian dari fakta yang mengandung arti yang dihubungkan
dengan kenyataan, simbol-simbol, angka-angka, huruf-huruf yang menunjukkan
suatu ide, objek, kondisi atau situasi.
v Pemrograman,
Kumpulan yang saling berhubungan satu sama lainnya untuk mendapatkan output.
-
Mulai
-
Deklarasikan Variabel
P, Q, R, S, Y : Angka
-
Tampilkan Form.
-
Hitung P = Q+R+S+Y
-
Tampilkan P.
-
Selesai / End
Algoritma
sebagai Langkah-langkah pemecahan Masalah, dapat dituliskan dalam beberapa
cara, yaitu :
1. Uraian
Deskriptif
Penulisan
Algoritma dengan uraian Deskriptif adalah dua cara menggambarkan
langkah-langkah pemecahan masalah dengan menggunakan bahasa biasa.
2. Bagan
Alir (Flow Chart)
Bagan
Alir adalah penulisan Algoritma dengan menggunakan notasi grafik, terdapata
beberapa notasi dan penggambaran Flow Chart antara lain :
3. Pseudo
Code
Pseudo
Code adalah kode atau tanda yang menyerupai (Pseudo) atau merupakan penjelasan
secara menyelesaikan permasalahan. Pseodu Code ini sering digunakan oleh
manusia untuk menuliskan Algoritma
Contoh
: Mencari bilangan terbesar dari dua bilangan yang di inputkan.
Contoh
Algoritma :
-
Masukkan bilangan
pertama
-
Masukkan bilangan kedua
-
Jika bilangan pertama
> bilangan kedua maka kerjakan langkah 4, jika tidak kerjakan langkah 5
-
Tampilkan bilangan
pertama
-
Tampilkan bilangan
kedua
Contoh
Pseudo –Code :
-
Input a
-
Input b
-
If a > b, maka
kerjakan langkah 4
-
Print a
-
Print b
PEMROGRAMAN atau PROGRAM
Defenisi pemrograman /
programan adalah kumpulan induksi-induksi tersendiri yang biasanya disebut
source code yang dibuat oleh programer (pembuat program). Suatu program pada
dasarnya terdiri dari 3 bagian, yaitu : input, proses, dan output.
Perbedaan Algoritma dan
Program :
Program adalah kumpulan
pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program
adalah algoritma. Program ditulis dengan bahasa pemrograman, jadi bisa disebut
program adalah suatu implementasi dari bahasa pemrograman.
Bahasa pemrograman
terbagi menjadi 2, yaitu :
1. BTR
(Bahasa Tingkat Rendah) atau disebut dengan asembly merupakan bahasa dengan
pemetaan satu per satu terhadap intruksi komputer. Contohnya Mesin 01010
2. BTT
(Bahasa Tingkat Tinggi) adalah bahasa yang dimengerti oleh manusia. Contohnya
Pascal, Php, Basic, Html, Java, dll.
PROGRAM = ALGORITMA +
BAHASA (Struktur Data)
Create Database
Academik
Use Academik
Create Table mahasiswa
NIM Char (5)
Nama Char (20)
Alamat Char (25)
Sistem
adalah suatu elemen-elemen yang saling berhubungan.
Informasi
adalah Kumpulan data-data yang sudah dinilai dan bisa dibuktikan.
Bagaimanapun
juga untuk data Algoritma sangat erat hubungannya pada sebuah program.
Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat
program menjadi lebih baik, begitu juga sebaliknya.
Paradigma Pemrograman :
ü Komputer
ü Sistem
Operasi
Bahasa
Pemrograman
Program
Aplikasi
ü Pemakai
1.
Pemrograman Prosedur
·
Berdasarkan
urutan-urutan sekuensial
·
Program adalah suatu
rangkaian prosedur untuk memanipulasi data. Prosedur merupakan kumpulan intrusi
yang dikerjakan secara berurutan
·
Harus mengingat
prosedur mana yang sudah dipanggil
2.
Pemrograman Fungsional
·
Berdasarkan teori
fungsi matematika
·
Fungsi merupakan dasar
utama program
3.
Pemrograman Terstruktur
·
Secara berurutan dan
terstruktur
·
Program dapat di
bagi-bagi menjadi prosedur dan fungsi
·
Contoh pascal dan
bahasa C
4.
Pemrograman Modular
·
Pemrograman ini
membentuk banyak modul
·
Modul merupakan
kumpulan dari prosedur dan fungsi yang berdiri sendiri.
·
Sebuah programan dapat
merupakan kumpulan modul-modul
5.
Pemrograman
Berorientasi Objek
·
Pemrograman berdasarkan
prinsip objek, dimana objek memiliki data/variabel/property dan methed/
prosedur yang dapat dimanipulasi. Contohnya C, C++, Pascal dan Java.
6.
Pemrograman
Berorientasi Fungsi
·
Pemrograman ini
berfokus pada fungsi tertentu saja, sangat tergantung pada tujuan pembuatan
bahasa pemrograman ini. Contohnya SQL (Structured Query Language), Html, dll.
7.
Pemrograman Deklaratif
·
Pemrograman ini
mendeskripsikan suatu masalah dengan pernyataan dari pada memecahkan masalah
dengan implementasi algoritma. Contohnya : Prolog.
BAHASA
C
Bahasa
C atau C++ adalah suatu bahasa
pemrograman. Bahasa C termasuk bahasa pemrograman tingkat menengah, maksudnya
bahasa C bisa dipelajari dengan lebih mudah karena mudah dimengerti tetapi
mempunyai kemampuan yang lebih tinggi.
Bahasa
C bisa digunakan untuk merekayasa programan untuk segala kebutuhan, baik untuk
aplikasi bisnis, matematis, bahkan game.
Semua
bahasa mempunyai kelebihan dan kekurangan sendiri-sendiri. Begitu juga dengan
Bahasa C, adapun sebagian kelebihan dari Bahasa C adalah :
1. Banyak
memiliki operator untuk mengolah / memanipulasi data.
2. Bahasa
C termasuk sebagai bahasa yang terinstruktur sehingga program dapat lebih mudah
dipahami dan dikembangkan.
3. Bahasa
C lebih mudah dimengerti karena lebih mirip pada bahasa manusia.
4. Kecepatan
eksekusi tinggi.
5. Mengenal
data pointer.
Kelemahan dari
bahasa C adalah :
1.
Banyaknya operator atau
cara penulisan program kadang
menimbulkan kebingungan para pemakainya.
2.
Perlunya ketelitian
dalam penulisan program karena perintah (statement) dalam bahasa C bersifat
case sensitif (hurup kapital dan huruf kecil dibedakan).
Contoh :
#include <stdio.h>
#include <conio.h>
Main ()
{
Printf (“ini
program saya yang pertama \n”);
Printf (“\n saya
belajar bahasa C \n di\”STMIK Potensi Utama\”\n Medan “);
Getch ();
Return 0;
}
Keteranag :
-
Include
Print tersebut
digunakan untuk memanggil file header (include file) dan didalamnya terdapat
perintah prototipe yang bisa digunakan dalam program yang dibuat, jika perintah
include tidak ditulis, maka komputer tidak mengerti perintah-perintah yang
ditulis
-
Header File
Nama file yang digunakan
dalam include seperti <stdio.h>, <conio.h> disebut header file
karena ditempatkan di paling atas program. Extention h berarti header dalam
file header ini, terdapat fungsi atau prototipe yang bisa digunakan dalam
program. Sebuah file header memiliki lebih dari 1 fungsi atau variabel global.
-
Fungsi Main()
Fungsi ini adalah suatu fungsi khusus
yang akan dieksekusi pertama. Setiap program harus mempunyai fungsi main().
Fungsi main() ditandai dengan tanda { yang menyatakan awal dari program
dan diakhiri denngan tanda } yang
menyatakan akhir dari suatu program.
-
Printf()
Adalah suatu fungsi yang berguna untuk
menulis pesan ke layar. Pesan yang akan
ditulis dalam diapit oleh tanda kutip. Pesan-pesan yang ditulis dapat diatur
dengan mengatur format dari penulisannya, fungsi printf() tidak hanya menulis
pesan dalam 1 baris saja, tetapi bisa
lebih, untuk berpindah baris maka gunakan perintah \n yang berarti New
Line (baris baru). Penulisan \n boleh ditempatkan didepan, ditengah, atau
diakhir. Untuk menuliskan tanda kutip (“) maka harus digunakan tanda \”.
-
Tanda ; (Semi kolom)
Setiap perintah harus diakhiri dengan
tanda ;, hilangnya taanda ; akan menyebabkan kesalahan compile.
-
Getch()
Getch() adalah suatu fungsi yang berfungsi intuk pembacaan data sebuah karakter,
sehingga program akan terdiam sampai pengguna menekan suatu tombol. Fungsi ini
berada dalam file header conio.h sehingga perintah untuk conio.h harus
dituliskan, kalau perintah getch() tidak ditulis maka program akan di kerjakan
denga cepat dan eksekusi tidak dapat terlihat.
-
Return
Adalah perintah yang memberikan nilaai
kepada fungsinya. Setiap fungsi harus mempunyai nilai kembaliannya (Return
Value).
Type Data, Variabel,
dan Operasi Perhitungan
v
Tipe Data
Komputer bisa diartikan
sebagai alat menghitung. Untuk melakukan proses perhitungan tersebut, maka di
butuhkan data yang diproses. Type data ada beberapa jenis, yaitu :
1.
Tipe Data Karakter
Untuk tipe data
karakter kita gunakan perintah char. Contoh :
-
Char karakter;
-
Char kar1, kar2, kar3;
-
Char kar4 = ‘A’;
-
Char kar5 = 65;
Tipe
data ini mempunyai jangkauan dari 0-255 atau karakter ASCII ke 0 sampai
karakter ASCII 255. Tipe data karakter bisa ditampilkan sebagai suatu karakter
atau sebagai bilangan. Hal ini tergantung dari bagaimana penulisannya apakah
dianggap sebagai karakter atau sebagai bilangan. Untuk menuliskan isi dari data
bertipe char adalah dengan menggunakan printf dengan format penulisannya
menggunakan tanda %c, kalau ingin ditampilakan sebagai suatu karakter atau
tanda %i jika ingin ditampilkan sebagai suatu bilangan.
#include
<stdio.h>
#include
<conio.h>
Main()
{
Char
K1, K2;
K1
= ‘A’;
K2
= K1;
Printf
(“Nilai Variabel K1 adalah %c\n”, K1);
Pritnf
(“Nilai Variabel K2 dalam bentuk angka = %d \n”, K2);
Getch
();
Return
0;
2.
Tipe Data Bilangan
Bulat
Ada beberapa tipe data
standar yang digunakan untuk data-data bilangan bulatt
Tipe
Data
|
Memori
|
Format
|
Jangkauan
Nilai
|
Int
|
2
byte
|
%d
/ %i
|
-32.768
s/d 32.767
|
Unsigred
int
|
2
byte
|
%u
|
0
s/d 65.535
|
Char
|
1
byte
|
%d
/ %i
|
-128
s/d 127
|
Unsigred
char
|
1
byte
|
%u
|
0
s/d 255
|
Unsigred
long
|
4
byte
|
%lu
|
0
s/d 4.294.967.293
|
Long
|
4byte
|
%ld
/ %li
|
-2.147.483.648
s/d 2.147.483.647
|
Tipe
data yang ada dalam tabel tersebut khusus untuk data yang nilai bilangannya
bulat. Cara pendeklarasian lainnya, yaitu :
Int
a;
Unsigred
int b;
Char
c;
Long
d;
3.
Tipe Data Bilangan
Pecahan
Tipe
data untuk bilangan pecahan terdiri dari beberapa jenis
Tipe
Data
|
Memori
|
Format
|
Jangkauan
Nilai
|
Float
|
4
byte
|
%f
|
3.4*(10^-38)-3.4*(10^+38)
|
Dauble
|
8
byte
|
%f
|
1.7*(10^-308)-1.7*(10^+308)
|
Long
double
|
10
byte
|
%lf
|
3.4*(10^-4932)-3.4*(10^+4932)s
|
Dalam pemrograman C,
untuk vertikal yang menampung data string tidak ada perintah khusus, karena
dalam C, string adalah sebuah array karakter atau sebuah pointer ke subuah
variabel char.
Cara Pendeklarasian
adalah :
-
Char nama [50];
-
Char *alamat;
Contoh
Program 1 :
#include
<stdio.h>
#include
<conio.h>
Main()
{
Char
nama [50];
Chara
*alamat;
Printf
(“nama :”); scanf(“%s”, nama);
Printf
(“alamat :”); gets(alamat);
Printf
(“data yang telah dimasukkan adalah :\n”);
Printf
(“nama :%s\n alamat : %s\n”, nama, alamat);
Getch();
Return
0;
}
v Operator
– Operator Perhitungan
Untuk melakukan
perhitungan – perhitungan data, maka diperlukan operator-operator perhitungan.
Operator-operator yang paling umum dipakai dalam pemrograman Bahasa C adalah :
Operator
|
Contoh
|
+
|
C
= a + b
|
-
|
C
= a – b
|
*
|
C
= a * b
|
/
|
C
= a / b
|
++
|
a++
|
--
|
a--
|
%
|
C
= a%b
|
Contoh program 2 :
# include <stdio.h>
# include <conio.h>
Main()
{
Int X=20, Y=8, Z;
Clrscr();
Printf (“X=%d dan Y=%d\n”,X, Y);
Printf (“X/Y = %d\n”, X/Y);
Printf (“X%%Y = %d\n”, X%Y);
X + = 2;
Printf (“Nilai X Sekarang :%i\n”,X);
Printf (“Nilai X Setelah X++ :%i\n”, X);
Printf (“Nilai Y :%d\n”, Y++);
Printf (“Nilai Y Setelahnya :%d\n”, Y);
Z = ++X
Printf (“Nilai Z : %d\n”, Z);
Getch;
Return 0;
}
v Input
dan Output Data
Pemasukan (Input) Data
Umumnya suatu pemrograman mempunyai proses pemasukan data. Dalam
program Bahasa C, pemasukan data dapat dilakukan dengan perintah scanf. Fungsi
scanf merupakan fungsi yang dapat digunakan untuk memasukkan berbagai jenis
data, tergantung dengan format penentunya.
Format-format penentu
tipe data yang umum dipakai adalah :
Format
|
Kegunaan
|
%c
|
Digunakan
untuk pemasukan data bertipe char
|
%d
atau %i
|
Digunakan
untuk pemasukan data bertipe int, dan char
|
%u
|
Digunakan
untuk pemasukan data berupa unsigred int atau unsigred char
|
%f
|
Digunakan
untuk pemasukan data berupa bilangan pecahan (float)
|
%s
|
Digunakan
untuk pemasukan data berupa string
|
Bentuk
umum penggunaan scanf adalah “
Scanf
(“format”, &nama variabel);
Fungsi scanf () kurang
begitu bagus jika dipakai untuk pembuatan string, karena data yang tersimpan
adalah hanya sampai menemukan spasi, maksudnya jika kita mengisikan 2 buah kata
dengan pemisah spasi maka data yang masuk ke variabel tersebut hanyalah yang
pertama.
Oleh karena itu
pembuatan bertipe string biasanya menggunakan perintah gets() yang bentu
umumnya adalah Gets (nama variabel);
Contoh :
Gets (nama);
Gets (alamat);
Contoh
program menggunakan Fungsi Scanf :
#include
<stdio.h>
Main()
{
Int
luas, keliling, panjang sisi ;
Printf
(“Masukkan Panjang Sisi Bujursangkar :”);
Scanf
(“%d”, &panjang sisi);
Luas
= panjang sisi * panjang sisi ;
Keliling
= panjang sisi * 4;
Printf
(“\n Data Bujursangkar \n”);
Printf
(“panjang sisi = %6d \n”, panjang_sisi);
Printf
(“luas = %6d \n”, luas);
Printf
(“keliling = %6d \n”, keliling);
}
Untuk
pembacaan data bertipe char, selain menggunakan scanf dengan format %c bisa
juga menggunakan fungsi getch atau getch c. Perbedaan dari getch dan getch c
adalah Kalau getch digunakan untuk membaca data bertipe char tanpa menampilkan
ke layar, dan getch c digunakan untuk membaca data bertipe char dengan
menampilkan ke layar.
Contoh
:
#include
<stdio.h>
#include
<conio.h>
Main()
{
Char
a, b;
Printf
(“Masukkan huruf pertama :”);
a
= getch();
printf
(“Masukkan huruf kedua :”);
b
= getch c();
printf
(“Data yang dimasukkan adalah %c dan %c \n”a, b);
getch();
return
0;
}
STRING
dan MANIPULASINYA
String adalah sebuah array yang
bertipe char yang diakhiri dengan karakter null (\o). Sebagai contoh, deklarasi
dibawah ini merupakan deklarasi sebuah array yang bertipe char, dan bisa
disamakan dengan deklarasi sebuah string. Contoh : char array_ch[7] = (‘H’, ‘E’, ‘L’, ‘L’, ‘O’, ‘ ‘, ‘!’, ‘\ o’) ;
Array
adalah suatu variabel yang dapat menampung tipe data yang sama dan dibedakan
berdasarkan indeks.
Contoh
:
Int
N [7]
NO
|
N1
|
N2
|
N3
|
N4
|
N5
|
N6
|
Dalam C,
karakter null dapat digunakan untuk menandai akhir sebuah string.
Fungsi – fungsi
Manipulasi String :
1.
Gets dan puts
Fungsi
gets digunakan untuk membaca data berupa string dari keyboard, sedangkan fungsi
puts untuk menampilakan tring ke layar (monitor)
Contoh
:
#include
<stdio.h>
Int
main (void)
{
Char
string [80];
Printf
(“masukkan sebuah stringn:”); gets (string) ;
Puts
(string);
Return
0 ;
}
2.
String Len
Fungsi
strln digunakan untuk mengetahui panjang suatu string.
Contoh
“
#include
<stdio.h>
#include
<string.h>
Int
main (void)
{
Char
string [80];
Int
panjang ;
Printf
(“masukkan string :”) gets (string) ;
Panjang
= strln (string);
Printf
(“panjang string adalah %i karakter \n”, panjang);
Return
0;
}
3.
Strlwr dan Strupr
Fungsi
strlwr berguna untuk mengubah isi string menjadi huruf kecil, sedangkan fungsi
Strupr berguna untuk mengubah isi string menjadi huruf besar (Kapital).
Contoh
:
#include
<stdio.h>
#include
<conio.h>
#include
<string.h>
Main
()
{
Char
str1 [80] = “Saya Belajar Turbo C” ;
Printf
(“Nama :%s\n”, str1);
Printf
(“upper case : %s\n”, str1);
Strlwr
(str1);
Printf
(“lowercase : %s\n”, str1);
}
PERCABANNGAN
Statement
If – Else
Bentuk dasar perintah If – Else adalah
sebagai berikut :
If (expression)
Statement 1 ;
Else
Statement 2 ;
Statement berikutnya ;
v Jika ketika dieksekusi ekspresi menghasilkan nilai
true, maka statement1 akan dieksekusi dan statement2 tidak akan dikerjakan dan
kemudian program akan mengeksekusi statement berikutnya, dan jika ekspresi
tersebut bernilai false maka statement1 tidak akan dieksekusi dan statement2
akan dieksekusi, dan dilanjutkan dengan mengeksekusi statement berikutnya.
v Operator
- operator yang biasa digunakan dalam operasi Logika dapat dilihat di tabel
bawah ini :
Operator
|
Contoh
|
Arti
|
=
=
|
A=
=B
|
Apakah
isi variabel A sama dengan isi variabel B
|
!
=
|
A!
= B
|
Apakah
isi variabel A tidak sama dengan isi variabel B
|
>
|
A
> B
|
Apakah isi variabel A lebih besar dari isi
variabel B
|
<
|
A
< B
|
Apakah
isi variabel A lebih kecil dari isivariabel B
|
>
=
|
A
> = B
|
Apakah
isi variabel A lebih besar atau sama dengan isi variabel B
|
<
=
|
A
< = B
|
Apakah
isi variabel A lebih kecil atau sama dengan isi variabel B
|
&
&
|
(A<=100)
& & (A>=80)
|
Apakah
A lebih kecil atau sama dengan dari 100 dan A lebih besar atau sama dengan 80
|
II
|
(A>100)
II (A<0)
|
Apakah
A lebih besar dari 100 atau A lebih kecil dari 0
|
!
|
!
(A = = B)
|
Apakah
A tidak sama dengan B
|
v Untuk
lebih jelas, perhatikan perintah berikut :
#include
<stdio.h>
#include (conio.h>
Main ()
{
Int nilai
Printf (“nilai :”);
scanf (“%i”, &nilai);
If (nilai > 50)
Printf ("Selamat
Anda Lulus”);
Else
Printf (“Maaf Anda tidak
lulus”);
Getch();
Return 0;
}
Perintah
Switch – Case – Default
v Selain
if-else, perintah yang digunakan untuk percabangan adalah switch-case. Bentuk
dasar dari perintah tersebut adalah :
Switch (ekspresi)
{
Case kondisi1 :
perintah1 ;break;
Case kondisi2 :
perintah2 ;break;
Default :perintah3 ;
}
v Cara
kerja perintah diatas adalah : “ Jika ekspresi sama dengan kondisi1, maka
perintah1 akan dieksekusi dan kemudian keluar dari switch, dan jika ekpresi
sama dengan kondisi2 maka perintah2 yang akan dieksekusi dan kemudian keluar
dari switch, dan jika tidak 1 kondisi pun yang sama dengan ekspresi maka perintah3
(perintah default) yang akan diekekusi. Perintah default kalau tidak diperlukan
bisa dihilangkan.
v Untuk
lebih jelas, perhatikan perintah dibawah ini :
#include
<stdio.h>
#include
<conio.h>
Main()
{
Char operator, double
operand1, operand2 ;
Puts (“Program
Kalkulator Sederhana ....... \n”);
Puts (“Operator yang
dapat digunakan adalah :”);
Puts (“*=> perkalian
\n”);
Puts (“/=> pembagian
\n”);
Puts (“+=>
penjumlahan \n”);
Puts (“-=>
pengurangan \n”);
Puts (“Contoh
menghitung => 5/2 lalu tekan enter”);
Printf (“\n Silahkan
menghitung angka :”); scanf (“%lf%c%lf, &operand1, &operatore,
&operand2);
Switch (operatore)
{
Case ‘*’ : printf
(“hasil = %.10lg”, operand1 * operand2); break ;
Case ‘/’ : printf
(“hasil = %.10lg”, operand1 / operand2); break ;
Case ‘+’ : printf
(“hasil = %.10lg”, operand1 + operand2); break ;
Case ‘-‘ : printf
(“hasil = %.10lg”, operand1 –operand2); break ;
Default ;
Puts (“\n Perintah Anda Salah Silahkan Ulangi”);
}
Getch() ;
Return 0 ;
}
PERULANGAN (LOOPING)
Untuk memahami mengenai fungsi
perulangan, coba lihatlah kasus berikut :
Buatlah suatu program untuk menampilkan
angka dari 1 sampai dengan 5.
Jenis – jenis perulangan yang dapat
dilakukan oleh bahasa C adalah :
1.
Perulangan dengan
perintah FOR
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.
Bentuk
umum perulangan for:
for(inisialisasi;
syarat; penambahan)
pernyataan;
Keterangan :
Inisialisasi :
pernyataan untuk menyatakan keadaan awal dari variabel kontrol.
syarat :
ekspresi relasi yang menyatakan kondisi untuk keluar dari perulangan.
penambahan :
pengatur perubahan nilai variabel kontrol.
Contoh :
#include
<iostream.h>
main()
{
int x;
for(x = 1; x<= 10; x++)
{
cout<<"BAHASA C++
"<<endl;
}
return 0;
}
2.
Perulangan dengan
perintah WHILE
Pada pernyataan while, pengecekan terhadap loop dilakukan dibagian awal
(sebelum tubuh loop).
Bentuk umum:
while (kondisi)
pernyataan;
Perulangan ini banyak digunakan bila jumlah
perulangannya belum diketahui. Proses perulangan akan terus berlanjut selama kondisinya
bernilai benar (true) dan akan berhenti
bila kondisinya bernilai salah.
Contoh
1 :
#include <iostream.h>
main()
{
int
x;
x =
1; /* awal variabel */
while
(x <= 10) /* Batas akhir perulangan */
{
cout<<"Bahasa
C++ "<<endl;
x
++; /* variabel x ditambah dengan 1 */
}
return 0;
}
Keterangan :
Pada
contoh 1 perulangan while,
proses atau perintah mencetak kata-kata “BAHASA C++” akan terus dilakukan selama variabel x
masih kurang atau sama dengan 10. Setiap kali melakukan perulangan, nilai dari
variabel x akan bertambah 1.
Contoh
2 :
#include <iostream.h>
main()
{
int i
= 0;
while
(i != 99)
{
cout<<"
Masukkan Sebuah Bilangan : ";
cin>>i;
cout<<"Bilangan
Anda adalah= "<<i<<endl;
}
}
Penjelasan :
l Program minta inputan dari user dengan tipe integer
l Selama user belum memasukkan nilai 99 maka program
akan terus melooping.
l Looping akan berhenti jika user telah memasukkan angka
99.
3.
Perulangan dengan
perintah DO WHILE
·
Pada pernyataan
do, mula-mula pernyataan dijalankan.
·
Selanjutnya,
kondisi diuji. Seandainya kondisi bernilai benar, maka pernyataan dijalankan
lagi, kemudian kondisi diperiksa kembali, dan seterusnya.
·
Kalau kondisi
bernilai salah, maka Pada pernyataan do-while, tubuh loop berupa pernyataan.
·
pernyataan tidak
dijalankan lagi.
·
Pada dasarnya struktur
perulangan do....while sama saja dengan struktur while, hanya saja pada proses
perulangan dengan while, seleksi berada di while yang letaknya di atas
sementara pada perulangan do....while, seleksi while berada di bawah batas
perulangan. Jadi dengan menggunakan struktur do…while sekurang-kurangnya akan
terjadi satu kali perulangan.
Bentuk
Umum :
Do
Pernyataan ;
While(kondisi)
Contoh
:
#include
<iostream.h>
main()
{
int x;
x = 1;
do
{
cout<<"BAHASA
C++ "<<endl;
x ++;
}
while(x <= 10);
return 0;
}
4.
FOR BERSARANG (NESTED
FOR)
For bersarang dapat melibatkan lebih dari satu
variabel namun yang jelas satu diantaranya akan digunakan sebagai indeks
perulangan.
Bentuk
umum:
for(
variabel1=nilai_awal; kondisi1; variabel1++){
for(
variabel2=nilai_awal; kondisi2; variabel2++){
for(
variabel3=nilai_awal; kondisi3; variabel3++){
Statemen_statemen
yang akan diulang;
….
}
}
}
Contoh :
#include<iostream.h>
#include<iomanip.h>
int main()
{
int x,y;
for
(x=1; x<=10; x++)
{
for (y=1; y<=x; y++)
{
cout<<setw(4)<<x*y<<" ";
}
cout<<"\n";
}
return 0;
}
Pengertian
If-Kasus
Adakalanya
sebuah aksi dikerjakan jika kondisi tertentu dipenuhi. Misalkan Anda tiba
diperempatan yang ada traffic light.
Jika lampu traffic light sekarang berwarna merah maka kendaraan harus berhenti.
Langkah ini kita tulis dalam pernyataan berikut :
“ Jika lampu traffic light berwarna
merah, maka berhenti “
Pernyaan diatas dapat ditulis dalam
pernyataan – pernyataan_pemilihan (selection_statement) atau disebut juga
pernyataan_kondisional sebagai berikut :
If
kondisi then
Aksi
Contoh : If mobil rusak then pakai saja
sepeda motor.
Contoh
1 kasus :
#include <stdio.h>
#include <conio.h>
Main ()
{
Int nilai ;
Printf (“nilai :”); scanf (“%i,
&nilai);
If (nilai >50)
Printf (“selamat anda lulus.”);
Getch ();
Return 0;
}
If
Else Dua Kasus
Struktur pemilihan if then hanya memberikan satu pilihan
aksi bila kondisi (persyaratan) dipenuhi bernilai benar, maka tidak memberi
pilihan aksi lain bila kondisi bernilai salah.
Bentuk pemilihan yang lebih umum ialah memilih satu dari
dua buah aksi bergantung pada nilai kondisi :
If kondisi then
Aksi
1
Else
Aksi 2
Else artinya “kalau
tidak”. Bila kondisi bernilai benar, aksi 1 akan dikerjakan, tetapi kalau
tidak, aksi 2 yang akan dikerjakan. Misalkan pada pernyaan berikut :
If lampu traffic light berwarna merah then
berhenti
Else
If lampu traffic light berwarna kuning then jalan hati –
hati
Else
Jalan terus
Contoh
2 kasus :
#include
<stdio.h>
#include
<conio.h>
Main ()
{
Int a, b ;
Printf (“a = “);
scanf(“%d”, &a);
Printf (“b = “);
scanf(“%d”, &b);
If (a > b)
Printf (“bilangan
terbesar :%d”, a);
Else
Printf (“bilangan
terbesar :%d”, b);
Getch ();
Return 0;
}
Tiga
Kasus atau Lebih
Masalah
yang mempunyai tiga buah kasus atau lebih dapat dianalisis dengan konstruksi
if-then-else bertingkat – tingkat
If kondisi then
Pernyataan 1
Else
If kondisi 2 then
Pernyataan 2
Else
If kondisi 3 then
Pernyataan 3
End if
End if
End if
Contoh
3 kasus :
#include
<stdio.h>
#include
<conio.h>
Main()
{
Int nilai ;
Printf (“Nilai :”);
scanf (“%i”, &Nilai);
If ((Nilai >=81)
&& (Nilai <=100)){
Printf (“A.”);
}
Else
If ((Nilai >=61)
&& (Nilai <=81)){
Printf (“B.”);
} else {
Printf (“C.”);
}
Getch ();
Return 0;
}
Statement
Switch
Statemen
switch digunakan untuk melakukan pemilihan terhadap ekspresi atau
kondisi yang memiliki nilai-nilai konstan. Oleh karena itu, ekspresi yang
didefenisikan harus menghasilkan nilai yang bertipe bilangan bulat atau
karakter. Untuk mendefenisikan nilai-nilai konstan tersebut adalah dengan
menggunakan kata kunci case. Hal ini yang perlu anda perhatikan
juga dalam melakukan pemilihan dengan menggunakan statemen switch
ini adalah kita harus menambahkan statemen break pada setiap
nilai yang kita defenisikan.
Contoh
Switch :
#include
<stdio.h>
#include
<conio.h>
void
main(){
int nomor_bulan;
printf("masukkan angka bulan
(1-12):");scanf("%d",&nomor_bulan);
switch (nomor_bulan)
{
case 1 : printf("januari
\n");break;
case 2 : printf("pebruari
\n");break;
case 3 : printf("maret
\n");break;
case 4 : printf("april
\n");break;
case 5 : printf("mei
\n");break;
case 6 : printf("juni
\n");break;
case 7 : printf("juli
\n");break;
case 8 : printf("agustus
\n");break;
case 9 : printf("september
\n");break;
case 10 : printf("oktober
\n");break;
case 11 : printf("november
\n");break;
case 12 : printf("desember
\n");break;
default : printf("bukan bulan
yang benar \n");
getch(); }
}
ARRAY (LARIK)
Array adalah suatu tipe data terstruktur yang berupa sejumlah data sejenis (bertipe
data sama) yang jumlahnya tetap dan diberi suatu nama tertentu.
Elemen-elemen array tersusun secara berderet dan dapat
diakses secara random di dalam memori.
Array memiliki alat yang bersebelahan atau berdampingan
tergantung lebar tipe datanya.
Array dapat berupa array satu dimensi, dua dimensi,
bahkan n dimensi.
Elemen-elemen array bertipe data sama dan bisa berisi
nilai yang sama atau berbeda – beda.
Contoh
Deklarasi Array :
A[0]
|
A[1]
|
A[2]
|
A[3]
|
A[4]
|
A[5]
|
A[6]
|
A[7]
|
A[8]
|
A[9]
|
Pengaksesan
Elemen Array
·
Elemen – elemen array
dapat diakses oleh program menggunakan suatu indeks tertentu secara random atau
berurutan.
·
Pengisian dan
pengambilan nilai kepada indeks tertentu dapat dilakukan dengan mengeset nilai
atau menampilkan nilai kepada indeks yang dimaksud.
·
Dalam C, tidak terdapat
error handling terhadap batasan nilai indeks, apakah indeks tersebut berada di
dalam indeks array yang sudah didefenisikan atau belum. Hal ini merupakan
tanggungjawab programer, sehingga jika programer mengakses indeks yang salah,
maka nilai yang dihasilkan akan berbeda atau rusak karena mengakses alamat
memori yang tidak sesuai.
Ilustrasi
Array 1 dimensi :
1 2 3
4 5 6 7
10
|
44
|
2
|
76
|
56
|
70
|
7
|
1d2
1d4 1d6 1da
2dc 2de 1eo
Ilustrasi
Array 1 Dimensi char :
#include
<stdio.h>
Void
main (){
Char
a[8];
For
(int i=0; i<8; i++){
Printf
(“%x \n”, &a[i]);
}
Ilustrasi
Array 1 dimensi int :
#include
<stdio.h>
Void
main (){
Int
a[8];
For
(int i=0; i<8; i++){
Printf
(“%x \n”, &a [i]);
}
Pengaksesan Elemen
Array
Elemen
– elemen array dapat diakses oleh program menggunakan suatu indeks tertentu
secara random atau berurutan. Indeks array secara default dimulai dari nol (0)
Deklarasi
Array secara umum :
Tipe_data_nama_var_array
[ukuran] ;
Keterangan
:
Tipe_data
: menyatakan jenis tipe data elemen larik (int, char, float, dll)
Nama_var_array
: menyatakan nama variabel yang dipakai.
Ukuran
: menunjukkan jumlah maksimal elemen larik, contohnya : int [6]
Inisialisasi Array :
Menginisialisasi array sama dengan
memberikan nilai awal array pada saat didefenisikan.
Int
nilai [6] = {8, 7, 6, 5, 6, 4,3} ;
Bisa
disederhanakan sehingga menjadi :
Int
nilai = {8, 7, 6, 5, 6, 4,3} ;
Keterangan
:
Contoh
diatas berarti Anda memesan tempat di memori komputer sebanyak 6 tempat dengan
indeks dari 0-5, dimana indeks ke-0 bernilai 8, ke-1 bernilai 7, dan
seterusnya, dan semua elemennya bertipe dan integer.
Catatan
: Untuk memberikan nilai 0 terhadap seluruh elemen array pada saat
didefenisikan, Anda dapat memberikan nilai awal 0 pada elemen pertama sebagai
contoh : int temp [100] = {0}; akan memberikan hasil pemberian
nilai 0 dari subscript bernilai 0 hingga 99.
Contoh
:
#include
<iostream.h>
#include
<conio.h>
Void
main ()
{int
y [] = {1, 2, 3, 4, 5};
Int
n r = 0;
For
(n = 0; n<5; n++)
{
r
+ =y [n]
}
Cout<<”
“<<r ;
Getch
();
}
Contoh
Input & Output Array :
#include
<iostream.h>
Inlclude
<conio.h>
Main
(){
Int
A [5]
For
(int i = 0; i<5; i++)
Cint
>>A [i]; }
For
(int C = 0; C<5; C++)
{cout<<”Nilai
pada elemen ke “<<C+1<<”adalah =”<<A
[C]<<endl ;}
Getch
(); }
Menghapus Elemen Array
#include
<iostream.h>
#include
<conio.h>
{int
A [5] = {20, 9, 1986, 200, 13} ;
Int
n, hapus ;
Clrscr();
Cout<<”Data
yang lama \n”;
For
(n=0; n<5; n++)
{cout<<”
“<<A [n] ;}
Cout<<”Data
yang ingin dihapus :”;
Cin>>hapus
;
Cout<<”\n
Data yang baru :\n” ;
For
(n = hapus -1; n<5 -1; n++)
{A
[n] = A [n + 1]; }
For
(n = 0; n<4; n++)
{cout<<”
“<<A [n]; }
Getch()
; }
Contoh :
#include
<iostream.h>
#include
<conio.h>
Void
main()
{int
nilai [5], x;
Cout<<”masukkan
nilai :\n\n” ;
For
(x = 0; x<5; x++)
{cout<<”nilai
angka :” ;
Cint<<
[x] ;}
Cout<<”\n\n
output nilai : \n”;
For
(x = 0; x<5; x++)
{cout<<”\n
nilai angka :” <<nilai [x] ;}
Getch()
; }
Contoh Array
#include
<stdio.h>
#define
MAX 5
Int main() {
Int
A [MAX];
Int
j;
Printf
(“memasukkan nilai :\n”);
For
(j = 0; <MAX; j++){
Printf
(“A [%d] = “;j); scanf (“%d”, &a[j];
}
Printf
(“\n menampilkan nilai :\n”);
For
(j = 0; <MAX; j++){
Printf
(“A [%d] = %d\n”, j, A[j]);
}
Return
0;
}
Contoh tidak
menggunakan Array
#include
<stdio.h>
Int
main(){
Float
x1, x2, x3, x4, x5 ;
Float
rata_rata ;
Printf
(“memasukkan nilai :\n”);
Printf
(“nilai ke-1 =”); scanf (“%f”, &x1);
Printf
(“nilai ke-2 =”); scanf (“%f”, &x2);
Printf
(“nilai ke-3 =”); scanf (“%f”, &x3);
Printf
(“nilai ke-4 =”); scanf (“%f”, &x4);
Printf
(“nilai ke-5 =”); scanf (“%f”, &x5);
Rata-rata
=(x1+x2+x3+x4+x5)/5 ;
Printf
(“\nNilai rata-rata =%.2f”, rata-rata);
Return
0;
}
Menggunakan Array
#include
<stdio.h>
#define
MAX 5
Int
main() {
Float
A[MAX], jumlah =0, rata-rata ;
Int
j ;
Printf
(“masukkan nilai :\n”);
For
(j =0; j<MAX; j++){
Printf
(“A[%d] =”, j); scanf (“%f”, &a[j]);
Jumlah
+ =A[j];
}
Rata-rata
=jumlah / MAX ;
Printf
(“\nNilai rata-rata =%.2f”, rata-rata);
Return
0;
}
#include
<stdio.h>
Int
main (void) {
Typedef
int matrik 32[3] [2];
Matrik
32 A, B, C ;
Int
j, k ;
Printf
(“mengisikan elemen matrik A :\n”);
For
(j=0; j<3; j++) {
For
(k=0; k<2; k++) {
Printf
(“A[%d] [%d] =”, j, k); scanf (“%d”, &A[j] [k]);
}
printf (“\nMengisikan elemen matrik B :\n”);
printf (“\nMengisikan elemen matrik B :\n”);
For
(j=0; j<3; j++){
For
(k=0; k<2; k++) {
Printf
(“B[%d] [%d] =”, j, k); scanf (“%d”, &B [j] [k]);
}
}
For
(j=0; j<3; j++) {
For
(k=0; k<2; k++){
}
}
Printf
(“\nHasil penjumlahan matrik A dan B :\n”);
For
(j=0; j<3; j++){
For
(k=0; k<2; k++){
Printf
(“C[%d] [%d] =%d\n”, j, k, c[j] [k]);
}
}
Return
0;
}
Prosedure
Pada
dasarnya struktur prosedur sama dengan struktur algoritma yang sudah anda
kenal,yaitu:ada sebahagian judul (header) yang terdiri atas nama prosedur dan
deklarasi parameter,bagian deklarasi untuk mengumumkan nama-nama,dan bagian
algoritma yg disebut badan prosedur.setiap prosedur mempunyai nama yang unik.
Parameter
Parameter
Parameter adalah : nama-nama peubah yang
didklarasikan pada bagian header prosedur,kebanyqkan program memerlukan
pertukaran data/informasi antara prosedur(atau fungsi)dan titik dimana ia
dipanggil.
Penggunaan parameter menawarkan
mekanismepertukaran informasi teratur,berdasarkan maksud penggunaanya terdapat
tiga jenis.
parameter format yang disertakan didalam prosedur.
1) parameter masukkan(input prosedur)
2) parameter keluaran (output parameter)
3) parameter masukan/keluwaran(input/output parameter)
parameter format yang disertakan didalam prosedur.
1) parameter masukkan(input prosedur)
2) parameter keluaran (output parameter)
3) parameter masukan/keluwaran(input/output parameter)
Pemanggil prosedur
Prosedur bukan program
yang berdiri sendiri,jadi dia tidak dapat dieksekusi secara langsung,ini
berarti intruksi intruksi di dalam prosedur baru,dapat dilaksanakan hanya bila
prosedur itu diakses dengan cara memanggil namamya dari
program.pemanggil(misalnya dari progrm utama dari modul program lainnya).jika
prosedur tanpa parameter,maka pemanggilnya cukup dengan nama saja.agar nama
prosedur dikenal diprogram pemanggil,maka didalam program dipemanggil kita
harus mendeklarasikan protipe prosedur tersebut.protipe prosedur hanya berisi
bagian header.prosedur pendklarasian protipe juga untuk memberi tau program pemanggil,bagaimana cara
mengakses prosdur(jumlah parameter dan tipe parameterny,jika ada).
Stement prosedur
Prosedur adalah suatu
kumpulan intruksi yang dibuat oleh program sebagai pengikat dalam suatu block
program terdiri/sekelompok program.
Tujuan Dibuat :
·
Prosedur untuk memudahkan dalam pemograman yang sangat komplek.
·
Prosedur sendiri dapat berfungsi sebagai pemnggil.
Prosedur
terdiri dari dua kelompok
Prosedur
tanpa parameter
ket : prosedur yang tidk mempunyai nilai & sebgai pemanggil saja.
syatak prosedur tanpa parameter
Void nama prosedure ();
syatak pemanggil prosedur tanpa parameter
nama prosedure ();
ket : prosedur yang tidk mempunyai nilai & sebgai pemanggil saja.
syatak prosedur tanpa parameter
Void nama prosedure ();
syatak pemanggil prosedur tanpa parameter
nama prosedure ();
Prosedur
berparameter
ket : prosedur yang tidak hanya sebagai pemanggil saja tapi ada nilai pariabel yang dibawah.
syatak prosedur berparameter
Void nama prosedur (variabel 1);
atau void nama prosedur (tipe data variabel);
syatak pemanggilan prosedur berparameter
nama prosedur (variabel 1);
ket : prosedur yang tidak hanya sebagai pemanggil saja tapi ada nilai pariabel yang dibawah.
syatak prosedur berparameter
Void nama prosedur (variabel 1);
atau void nama prosedur (tipe data variabel);
syatak pemanggilan prosedur berparameter
nama prosedur (variabel 1);
#include<stdio.h>
void hello()
{
puts(“STMIK potensi utama”);
}
void main()
{
hello();hello();hello();
}
void hello()
{
puts(“STMIK potensi utama”);
}
void main()
{
hello();hello();hello();
}
Contoh 2 prosedur tanpa parameter
#include<biostream.h>
#include<conio.h>
void print massage()
{
cout <<”i’m <a man !”;
}
void main ()
{
print massage();
getch ();
}
#include<conio.h>
void print massage()
{
cout <<”i’m <a man !”;
}
void main ()
{
print massage();
getch ();
}
Contoh prosedur berparameter
Void nama prosedur (variabel)
#include<stdio.h>
#include<conio.h>
void hello(int n)
{ int i ;
for (i=i;<=n;i+i)
{
printf(“STMIK Potensi Utama ke - % d\n”,i);
}
}
void main ()
{
hello(5);
getch();
}
#include<stdio.h>
#include<conio.h>
void hello(int n)
{ int i ;
for (i=i;<=n;i+i)
{
printf(“STMIK Potensi Utama ke - % d\n”,i);
}
}
void main ()
{
hello(5);
getch();
}
Contoh prosedur berprameter
#include<iostream.h>
#include<conio.h>
int tambah (int a,int b){
int r;
r=a+b;
return (r);
}
void main ()
{
int z
z= tambah (5,3);
cout <<”the result is”<<{
getch();
#include<conio.h>
int tambah (int a,int b){
int r;
r=a+b;
return (r);
}
void main ()
{
int z
z= tambah (5,3);
cout <<”the result is”<<{
getch();
Thanks kak artikelnya.. membantu =)
BalasHapuskak? ada kontak gak? kenapa aku pakai while misal x + y kenapa hasilnya malah nol? enggak kembali? atau salah nggunain rumusnya.
BalasHapus