PENGANTAR
ALGORITMA DAN PROGRAM
Definisi Algoritma
Algoritma
adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara
sistematis dan logis. Kata logis merupakan kata kunci dalam algoritma.
Langkah-langkah dalam algoritma harus logis dan harus
dapat
ditentukan bernilai salah atau benar.
Penyajian Algoritma
Penyajian algoritma secara garis besar
bisa dalam 2 bentuk penyajian yaitu tulisan dan gambar. Algoritma yang
disajikan dengan tulisan yaitu dengan
struktur
bahasa tertentu (misalnya bahasa Indonesia atau bahasa Inggris)
dan
pseudocode. Pseudocode adalah kode yang mirip dengan kode
pemrograman
yang sebenarnya seperti Pascal, atau C, sehingga lebih tepat
digunakan
untuk menggambarkan algoritma yang akan dikomunikasikan
kepada
pemrogram.
Berikut
adalah contoh dari Pseudocode:
Set total to zero
Set grade counter to one
While grade counter is less than or equal to ten
Input
the next grade
Add
the grade into the total
Set the class average to the total divided by ten
Print the class average.
Sedangkan
algoritma disajikan dengan gambar, misalnya dengan flowchart.
Berikut
adalah contoh dari flowchart:

Algoritma
yang Baik
Sebuah algoritma yang baik memiliki sifat-sifat berikut:
- Benar, di mana algoritma
menyelesaikan masalah dengan tepat, sesuai dengan definisi masukan /
keluaran algoritma yang diberikan.
- Efisien, berarti algoritma
menyelesaikan masalah tanpa memberatkan bagian lain dari apliikasi. Sebuah
algoritma yang tidak efisien akan menggunakan sumber daya (memori, CPU)
yang besar dan memberatkan aplikasi yang mengimplementasikan algoritma
tersebut.
- Mudah diimplementasikan,
artinya sebuah algoritma yang baik harus dapat dimengerti dengan mudah
sehingga implementasi algoritma dapat dilakukan siapapun dengan pendidikan
yang tepat, dalam waktu yang masuk akal.
Format Input Output
Fungsi Output
1. printf()
Fungsi
printf() berguna untuk menampilkan semua jenis data baik number, string, atau
karakter. Perhatikan contoh printf berikut ini :
#include
main()
{
int value=5;
printf(“Hello World\n”);
printf(“value = %d \n”,value);
}
main()
{
int value=5;
printf(“Hello World\n”);
printf(“value = %d \n”,value);
}
2.
puts
Cara lain untuk menampilkan suatu keluaran ke layar adalah menggunakan fungsi puts. Tetapi fungsi puts hanya digunakan untuk menampilkan nilai string dan sudah mengandung line feed atau escape sequence ganti baris. Perhatikan contoh berikut :
#include
main()
{
puts(“Bahasa C menyenangkan ”);
puts(“Belajar bahasa C “);
}
Cara lain untuk menampilkan suatu keluaran ke layar adalah menggunakan fungsi puts. Tetapi fungsi puts hanya digunakan untuk menampilkan nilai string dan sudah mengandung line feed atau escape sequence ganti baris. Perhatikan contoh berikut :
#include
main()
{
puts(“Bahasa C menyenangkan ”);
puts(“Belajar bahasa C “);
}
3.putchar
Fungsi
ini digunakan untuk menampilkan sebuah karakter saja dan tidak mengandung escape
sequence “\n”. perhatikan contoh berikut :
#include
int main()
{
Char a;
printf("masukkan nama =
");scanf("%c",&a);
printf("inisial \n");
putchar(a);
}
Fungsi Input
1. scanf
Jika
fungsi scanf ini digunakan untuk membaca data dengan tipe array, karakter yang
selanjutnya kita sebut dengan istilah string, maka fungsi ini hanya akan
membaca data sampai ditemukan blank(space). Dengan demikian nilai setelah blank
dianggap bukan lagi nilai dari variabel yang akan mengisi variabel tersebut.
Fungsi scanf lebih cocok digunakan untuk data-data numerik.
Fungsi
scanf biasanya digunakan bersama-sama dengan fungsi printf. Perhatikan contoh
berikut :
#include
int main()
{
char a[25];
int b;
printf("a =
");scanf("%s",a);
printf("b =
");scanf("%d",&b);
printf("Data yang anda masukkan
adalah \n");
printf("a = %s \n",a);
printf("b = %d \n",b);
}
2.
gets
Fungsi
gets adalah untuk meminta inputan berupa kata atau kalimat sampai akhir line.
#include<stdio.h>
int main(){
char name[25];
char addr[50];
printf(“Name : ”);gets(name);
printf(“Addr : ”);gets(addr);
printf(“\n”);
printf(“Data you‟ve inputed : \n”);
printf(“Name : %s \n”,name);
printf(“Addr : %s \n”,addr);
return 0;
}
3.
getchar()
Fungsi
dari getchar adalah untuk memasukkan sebuah nilai karakter ke variabel yang
bertipe karakter.
#include<stdio.h>
int main(){
char grade;
printf(“Your grade : ”);
grade=getchar();
printf(“You‟ve
inputed this grade = %c \n”,grade);
}
Operator, Operand, and Arithmetic
Operasi dalam Bahasa C
Operasi
adalah suatu proses yang dikerjakan oleh program untuk melakukan tindakan
tertentu pada suatu nilai. Operasi selalu melibatkan operand dan operator.
Operand adalah suatu nilai yang dioperasikan sedangkan operator sebagai pelaku
operasi tersebut. Disini aku akan menjelaskan jelaskan mengenai operator dalam
bahasa C.
Operator
digunakan untuk menyatakan suatu perhitungan/operasi. Operator dapat terbagi
atas:
1. Operator aritmatika
2. Operator penugasan
3. Operator relational
4. Operator unary
5. Operator logika
6. Operator Bitwise
1. Operator Aritmatika
Dalam bahasa C disediakan lima
operator aritmatika, yaitu:
+ : untuk
pertambahan
- : untuk
pengurangan
* : untuk
perkalian
/ : untuk
pembagian
% : untuk sisa pembagian (modulus) Operator Modulus tidak
dapat dioperasikan ke tipe data float atau double
2 Operator Penugasan
Operator
Penugasan (Assignment operator) dalam bahasa C berupa tanda sama
dengan “=”.
Contoh:
nilai
= 25;
z =
x * y;
artinya: variabel
“nilai” diisi oleh 25 dan variabel “z” diisi oleh hasil perkalian x dan y
3. Operator Relational
(Perbandingan)
Operator Hubungan digunakan untuk
membandingkan hubungan antara dua buah operand (sebuah nilai atau variabel).
Operator-operator hubungan dalam bahasa C adalah sebagai berikut:
Tabel Operator-operator Perbandingan
|
Operator
|
Arti
|
Contoh
|
|
<
|
Kurang dari
|
x < y Apakah x kurang dari y
|
|
<=
|
Kurang dari sama dengan
|
x <= y Apakah x kurang dari sama dengan y
|
|
>
|
Lebih dari
|
x > y Apakah x lebih dari y
|
|
>=
|
Lebih dari sama dengan
|
x >= y Apakah x lebih dari sama dengan y
|
|
= =
|
Sama dengan
|
x = = y Apakah x sama dengan y
|
|
!=
|
Tidak sama dengan
|
x != y Apakah x tidak sama
dengan y
|
Contoh
int A=10, B=5;
A>B; nilai
numeriknya 1 (true)
A
A==B; nilai
numeriknya 0 (false)
A!=B; nilai
numeriknya 1 (true)
4. Operator Unary
Operator Unary merupakan operator
yang hanya membutuhkan satu operand saja. Dalam bahasa C terdapat beberapa
operator unary yang sering digunakan, yaitu :
Tabel Beberapa Operator Unary
! : Operasi negasi (kebalikan).
~ : Negasi pada bitwise (berhubungan dengan bilangan
biner).
- : Menyatakan nilai negatif.
++ : Increment (penambahan). Operand ditambah dengan
angka 1.
-- : Decrement (pengurangan). Operand dikurang dengan
angka 1.
& : Digunakan untuk mengetahui alamat memori suatu
variabel.
* : Digunakan untuk mengetahui nilai suatu
pointer pada alamat memori.
5. Operator Logika
Jika operator hubungan membandingkan
hubungan antara dua buah operand, maka operator logika digunakan untuk
membandingkan logika hasil dari operator-operator hubungan. Operator logika ada
tiga macam, yaitu :
&& :
Logika AND (dan)
|| : Logika OR
(atau)
! : Logika NOT
(ingkaran)
6. Operator Bitwise
operator bitwise =>
>>, << Operator ini digunakan untuk memanipulasi nilai pada bit.
Contoh: 9>>2 hasilnya adalah 2. Bagaimana bisa begitu? Mari kita lihat
pengoperasiannya dalam bilangan biner.
9 = 1001
9>>2 maksudnya nilai biner pada angka 9 digeser
2 digit ke sebelah kanan.
2 digit 0 ditambahkan di sebelah kiri (00)=>
0010(01) = 2 digit sebelah kanan dihilangkan
hasilnya: 0010 = ini adalah angka biner dari 2
Jika anda bingung, mungkin anda perlu belajar tentang
cara mengkonversikan angka desimal ke dalam biner atau sebaliknya.
Operator Pemendekan
Bahasa C menyeediakan operator pemendekan. apakah itu?
operator yang dimaksudkan untuk memendekkan operasi misalnya
operator yang dimaksudkan untuk memendekkan operasi misalnya
x + = 2 adalah kependekan dari x = x + 2
x - = 2 adalah kependekan dari x = x - 2
x * = 2 adalah kependekan dari x = x * 2
x / = 2 adalah kependekan dari x = x / 2
x % = 2 adalah kependekan dari x = x % 2
x << = 2 adalah kependekan dari x = x << 2
x >> = 2 adalah kependekan dari x = x >> 2
x & = 2 adalah kependekan dari x = x & 2
x | = 2 adalah kependekan dari x = x | 2
x ^ = 2 adalah kependekan dari x = x ^ 2
Data Type
Tipe data merupakan bagian yang paling penting karena tipe data mempengaruhi setiap intruksi yang akan dilaksanakan oleh komputer. Misalnya 5 dibagi 2 bisa menghasilkan data yang berbeda tergantung tipe datanya. Jika 5 dibagi 2 bertipe integer maka akan menghasilkan nilaii 2, namun jika keduanya bertipe float maka akan menghasilkan nilai 2,5000000. Pemilihan tipe data yang tepat akan membuat proses operasi data menjadi lebih efisien dan efektif. Dalam bahasa C terdapat beberapa tipe data dasar, yaitu :
|
TIPE
|
Lebar
|
Jangkauan Nilai
|
|
int
|
16 bit
|
-32768 s/d 32767
|
|
unsigned int
|
16 bit
|
0 s/d 65535
|
|
long int
|
32 bit
|
-2147483648 s/d 2147483649
|
|
unsigned long int
|
32 bit
|
0 s/d 4294967296
|
|
float
|
32 bit
|
3.4E-38 s/d 3.4E+38
|
|
double
|
64 bit
|
1.7E-308 s/d 1.7E+308
|
|
char
|
8 bit
|
-128 s/d 127
|
|
unsigned char
|
8 bit
|
0 s/d 255
|
Selection
IF statement
Statement if adalah salah satu statement yang
digunakan untuk penyeleksian kondisi. Statement ini merupakan statement
percabangan paling dasar, jika suatu terpenuhi alias bernilaitrue maka
akan menjalankan tertentu. Dan jika tidak maka tersebut tidak akan
dijalankan.
sintak:
if (kondisi) {
statement;
}
Contoh :
#include
#include
void main()
{
int hari;
printf("Masukkan angka : ");
scanf("%d", &hari);
if (hari==1)
{
printf (“Senin”);
}
}
IF-ELSE statement
Statement ini merupakan pengembangan dari “if”
statement, ketika suatu tidak terpenuhi maka akan menjalankan .
Tetapi ketika menemukan “else if” statement maka dilakukan pengecekan kembali.
Sintak: Sintak :
if (kondisi) {
statement;
}
else {
statement;
}
else
}
Contoh :
#include
int main()
{
int bilangan;
printf("Masukkan
sebuah bilangan : ");
scanf("%d",
&bilangan);
if ( bilangan % 2 ==
0)
printf("%d adalah bilangan genap", bilangan);
else
printf("%d
adalah bilangan ganjil", bilangan);
return 0;
}
SWITCH CASE
Statement ini digunakan untuk melakukan percabangan
alur yang efektif digunakan untuk alur program mempersyaratkan banyak
kondisi.
Sintak
:
switch( expression ) {
case A:
statement list;
break;
case B:
statement list;
break;
...
case N:
statement list;
break;
default:
statement list;
break;
}
Contoh
:
#include
#include
void main()
{
int x;
printf("1. Nilai
Fisika\n");
printf("2. Nilai
Matematika\n");
scanf ("%d", &x);
switch (x)
{
case 1:
printf("Nilainya 85"); break;
case 2:
printf("Nilainya 90"); break;
default:
printf("Tidak ada nilainya");
}
getch();
}
Repetition
Pengulangan
Struktur
pengulangan adalah struktur program yang digunakan untuk melaksanakan suatu
pernyataan secara berulang-ulang. C memiliki tiga struktur pengulangan yaitu
For, While, dan Do-while.
For
Pengulangan
For merupakan pengulangan yang terdapat tiga ekspresi yang digunakan untuk
mengendalikan proses pengulangan.
Bentuk umum struktur pengulangan
For (ekspr
1; ekpr 2; eksr 3)
Pernyataan
#include<stdio.h>
int main()
{
int i;
for (i=5;
i>0; i--)
{
printf("saya suka belajar
dasar-dasar pemrograman\n",i);
}
return 0;
}
While
Pengulangan while membentuk suatu
struktur pengulangan yang akan mengulang pelaksanaan pernyataaan di dalam badan
pengulangan selama ekspresi yang diperiksa bernilai benar.
Bentuk
umum struktur pengulangan
While (ekspresi)
Pernyataan
#include<stdio.h>
int main()
{
int n = 5;
while(n<7)
{
printf("n
= %d\n", n);
n++;
printf("Sekarang
n = %d\n", n);
}
return 0;
}
do-while
Pengulangan do-while merupakan
pengujian dilakukan di bagian akhir setelah melalui badan pengulangan, sehingga
badan pengulangan pastilah pernah dilaksanakan, paling sedikit satu kali.
Bentuk
umum struktur pengulangan
Do
Pernyataan
While (ekspresi);
#include
<stdio.h>
int
main()
{
int
v = 1;
do
{
printf("dasar-dasar
pemrograman\n");
v++;
}
while(v<=6);
return
0;
}
Tidak ada komentar:
Posting Komentar