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();
Tidak ada komentar:
Posting Komentar