Algoritma adalah langkah-langkah yang disusun secara tertulis dan berurutan untuk
menyelesaikan suatu masalah. Sedangkan Algoritma Pemrograman adalah langkah-langkah yang
ditulis secara berurutan untuk menyelesaikan masalah pemrograman komputer.
Dalam pemrograman yang sederhana, algoritma merupakan langkah pertama yang harus ditulis
sebelum menuliskan program. Masalah yang dapat diselesaikan dengan pemrograman komputer
adalah masalah-masalah yang berhubungan dengan perhitungan matematik.
Fungsi Algoritma
Pada dasarnya fungsi utama dari algoritma adalah untuk memecahkan suatu masalah. Suatu
algoritma pemrograman membawa keuntungan serta fungsi penting dalam aktivitas pembuatan
program. Algoritma pada umumnya digunakan untuk membantu setiap orang yang ingin
mengkonversikan sebuah permasalahan ke bahasa pemrograman
Dari fungsinya ini, algoritma adalah hasil dari pemikiran yang terkonsep sehingga perintah dalam
algoritma dapat dilaksanakan oleh komputer lewat bahasa pemrograman. Beberapa yang perlu
kamu ketahui terkait fungsi algoritma adalah sebagai berikut:
Flowchart atau bagan alur adalah diagram yang menampilkan langkah-langkah dan keputusan
untuk melakukan sebuah proses dari suatu program. Setiap langkah digambarkan dalam bentuk
diagram dan dihubungkan dengan garis atau arah panah.
Flowchart berperan penting dalam memutuskan sebuah langkah atau fungsionalitas dari sebuah
proyek pembuatan program yang melibatkan banyak orang sekaligus. Selain itu dengan
menggunakan bagan alur proses dari sebuah program akan lebih jelas, ringkas, dan mengurangi
kemungkinan untuk salah penafsiran. Penggunaan flowchart dalam dunia pemrograman juga
merupakan cara yang bagus untuk menghubungkan antara kebutuhan teknis dan non-teknis.
Fungsi flowchart
Fungsi utama dari flowchart adalah memberi gambaran jalannya sebuah program dari satu
proses ke proses lainnya. Sehingga, alur program menjadi mudah dipahami oleh semua orang.
Selain itu, fungsi lain dari flowchart adalah untuk menyederhanakan rangkaian prosedur agar
memudahkan pemahaman terhadap informasi tersebut.
Jenis flowchart
Flowchart sendiri terdiri dari lima jenis, masing-masing jenis memiliki karakteristik dalam
penggunaanya. Berikut adalah jenis-jenisnya:
• Flowchart dokumen
Pertama ada flowchart dokumen (document flowchart) atau bisa juga disebut dengan
paperwork flowchart. Flowchart dokumen berfungsi untuk menelusuri alur form dari satu
bagian ke bagian yang lain, termasuk bagaimana laporan diproses, dicatat, dan disimpan.
• Flowchart program
Selanjutnya kita akan membahas flowchart program. Flowchart ini menggambarkan
secara rinci prosedur dari proses program. Flowchart program terdiri dari dua macam,
antara lain: flowchart logika program (program logic flowchart) dan flowchart program
komputer terinci (detailed computer program flowchart).
• Flowchart proses
Flowchart proses adalah cara penggambaran rekayasa industrial dengan cara merinci dan
menganalisis langkah-langkah selanjutnya dalam suatu prosedur atau sistem.
• Flowchart sistem
Yang keempat ada flowchart sistem. Flowchart sistem adalah flowchart yang
menampilkan tahapan atau proses kerja yang sedang berlangsung di dalam sistem secara
BELAJAR BAHASA PEMROGRAMAN C 5
menyeluruh. Selain itu flowchart sistem juga menguraikan urutan dari setiap prosedur
yang ada di dalam sistem.
• Flowchart skematik
Terakhir ada flowchart skematik. Flowchart ini menampilkan alur prosedur suatu sistem,
hampir sama dengan flowchart sistem. Namun, ada perbedaan dalam penggunaan
simbol-simbol dalam menggambarkan alur. Selain simbol-simbol, flowchart skematik juga
menggunakan gambar-gambar komputer serta peralatan lainnya untuk mempermudah
dalam pembacaan flowchart untuk orang awam.
Simbol flowchart
Pada dasarnya simbol-simbol dalam flowchart memiliki arti yang berbeda-beda. Berikut adalah
simbol-simbol yang sering digunakan dalam proses pembuatan flowchart.
LATIHAN :
1. Buatlah flowchart program untuk mencetak bilangan Prima dari angka 1 s.d 100
SEJARAH SINGKAT C
Bahasa pemrograman C++ dirintis sejak tahun 1979 oleh Bjarne
Stroustrup, seorang ilmuwan komputer asal Denmark. Pengembangan
bahasa C++ terinspirasi dari penelitian tesis Phd yang dulunya pernah
dikerjakan Stroustrup.
Pada saat itu, Stroustrup tertarik dengan bahasa Simula yang sangat
mudah dipakai untuk pembuatan aplikasi skala besar. Varian bahasa
Simula, yakni Simula 67 dianggap sebagai bahasa pemrograman pertama
yang menerapkan konsep pemrograman berbasis object.
Akan tetapi bahasa Simula dianggap terlalu lambat untuk penggunaan sehari-hari. Di sisi lain ada
juga bahasa BCPL yang sangat cepat tapi kurang cocok untuk pembuatan aplikasi besar.
Ketika bekerja di laboratorium perusahaan AT&T Bell Labs, Bjarne Stroustrup memiliki masalah
di pengembangan sistem operasi UNIX. Pada saat itu ia teringat tesis yang dulu dikerjakan dan
ingin menerapkannya ke dalam bahasa C. Pemilihan bahasa C karena sudah cukup populer dan
juga di eksekusi dengan cepat. Apalagi sistem operasi UNIX juga dibuat menggunakan bahasa C.
Akhirnya pada tahun 1982 Bjarne Stroustrup mulai menambah fitur-fitur baru ke dalam bahasa
C, terutama dukungan class agar bahasa C bisa menggunakan paradigma object oriented
Modul ini membahas mengenai struktur bahasa C serta I/O (input output) dalam pemrograman
bahasa C.
Struktur Bahasa C
Bentuk program C mirip dengan kebanyakan program bahasa tingkat tinggi lainnya. Bentuk
programnya adalah :
• Judul Program
• Header File
• Deklarasi
• Deskripsi
Judul Program
Judul program sifatnya sebagai dokumentasi saja, tidak signifikan terhadap proses program.
Ditulis dalam bentuk baris komentar.
Syntax:
/*<judul program>*/
Header File
C menyediakan sejumlah file judul (header file) yaitu file yang umumnya berisi prototipe fungsi,
definisi makro, variabel dan definisi tipe. File ini mempunyai ciri yaitu namanya diakhiri dengan
extension .h (dot h).
Syntax:
#define <<nama header>.h>
Deskripsi
Bagian inti dari suatu program yang berisi uraian langkah-langkah penyelesaian masalah.
Program C pada hakekatnya tersusun atas sejumlah blok fungsi. Sebuah program minimal
mengandung sebuah fungsi. Setiap fungsi terdiri dari satu atau beberapa pernyataan, yang secara
keseluruhan dimaksudkan untuk melaksanakan tugas khusus.
Bagian pernyataan fungsi (disebut tubuh fungsi) diawali dengan tanda “{“ (kurung kurawal buka)
dan diakhiri dengan tanda “}” (kurung kurawal tutup)
Contoh :
#include<stdio.h>
int main()
{
printf("SELAMAT DATANG DI PELATIHAN BAHASA C");
#include<stdio.h>
int main()
{
printf("SELAMAT DATANG DI PELATIHAN BAHASA C\n");
printf("BIM-TEK INFORMATIKA PROV LAMPUNG");
Tipe data merupakan bagian program yang paling penting karena tipe data mempengaruhi
setiap instruksi yang akan dilaksanakan oleh computer. Misalnya saja 5 dibagi 2 bisa saja
menghasilkan hasil yang berbeda tergantung tipe datanya. Jika 5 dan 2 bertipe integer
maka akan menghasilkan nilai 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.
Didalam Bahasa pemrograman C terdapat 5 tipe dasar, yaitu :
Konstanta merupakan suatu nilai yang tidak dapat diubah selama proses program
berlangsung. Konstanta nilainya selalu tetap. Konstanta harus didefinisikan terlebih dahulu di
awal program. Konstanta dapat bernilai integer, pecahan, karakter dan string.
Contoh konstanta :
Phi = 3.14;
karakter khusus atau karakter escape, pada bahasa C
Dalam Bahasa C terdapat beberapa operator yang biasa digunakan antara lain:
1. Operator Penugasan
Operator Penugasan (Assignment operator) dalam bahasa C berupa tanda sama
dengan (“=”)
Contoh : XY = 100;
2. Operator Aritmatika
Operator Aritmatika adalah operator yang digunakan untuk operasional matematika
• * Perkalian
• / Pembagian
• % Modulus Untuk sisa pembagian
• + Penambahan
• - Pengurangan
3. Operator Hubungan
Operator Hubungan digunakan untuk membandingkan hubungan antara dua buah
operand (sebuah nilai atau variable
4. Operator Logika
Jika operator hubungan membandingkan hubungan antara dua buah operand, maka
operator logika digunakan untuk membandingkan logika hasil dari operator-operator
hubungan
• && Logika AND
• || Logika OR
• ! Logika Not
5. Operator Bitwise
Operator bitwise digunakan untuk memanipulasi bit-bit dari nilai data yang ada di memori
• << : Pergeseran bit ke kiri
• >> : Pergeseran bit ke kanan
6. Operator Unary
Operator Unary merupakan operator yang hanya membutuhkan satu operand saja
#include <stdio.h>
#include <conio.h>
void main()
{
return 0;
}
return 0;
}
// operator Hubungan
#include <stdio.h>
int main()
{
int a = 9, b = 9, c = 3;
return 0;
}
#include <stdio.h>
int main()
{
int a = 2, b = 2, c = 3, result;
return 0;
}
Perulangan ( Looping ) adalah baris perintah yang akan melaksanakan perintah secara berulang.
Dalam pemrograman Bahasa c ada beberapa jenis perulangan antara lain :
1. WHILE
Perulangan WHILE banyak digunakan pada program yang terstruktur. 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.
while (testExpression) {
// the body of the loop
}
2. DO WHILE
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.
do {
// the body of the loop
}
while (testExpression);
3. 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 adalah sebagai berikut :
#include <stdio.h>
int main() {
int i = 1;
return 0;
}
#include <stdio.h>
int main() {
double angka, total = 0;
printf("Total = %.2lf",total);
return 0;
}
#include <stdio.h>
int main()
{
int batas, deret[100], total=0,i=0;
printf("Masukan jumlah deret fibonaci : ");
scanf("%d", &batas);
printf("Deret fibonaci : ");
do{
if(i<2){
deret[i]=1;
}
else{
deret[i]=deret[i-2]+deret[i-1];
}
total= total + deret[i];
printf("%d ", deret[i]);
i++;
}while(i<batas);
printf("\nTotal deret fibonaci : %d", total);
return 0;
}
Latihan Perulangan
1. buatlah deret bilangan Ganjil dari 1 - 100
Perintah IF .. Else adalah baris perintah yang digunakan untuk melakukan uji terhadap 2 hal atau
lebih, misalkan kita akan menentukan nilai terbesar dari dua nilai yang berbeda.
Secara umum fungsi IF digambarkan seperti dibawah ini :
if (test expression)
{
// baris coding
}
if (pengujian1) {
// jika bernilai true
}
else {
// jika bernilai false
}
if (pengujian1) {
// statement(s)
}
else if(pengujian2) {
// statement(s)
}
else if (pengujian3) {
// statement(s)
}
.
.
else {
// statement(s)
}
// Fungsi IF
#include <stdio.h>
int main() {
int No;
return 0;
}
#include <stdio.h>
int main() {
int No;
printf("Masukan Angka: ");
scanf("%d", &No);
return 0;
}
#include <stdio.h>
int main() {
int no1, no2;
return 0;
}
return 0;
}
Dalam bahasa C proses memasukkan suatu data bisa menggunakan beberapa fungsi pustaka
yang telah tersedia.
Beberapa fungsi pustaka yang bisa digunakan adalah :
scanf() ini digunakan untuk menginput data berupa data numerik, karakter dan string secara
terformat. Hal-hal yang perlu diperhatikan dalam pemakaian fungsi scanf() :
• Fungsi gets() digunakan untuk memasukkan data bertipe karakter dan tidak dapat
digunakan untuk memasukkan data numerik.
• Harus diakhiri dengan penekanan tombol enter
• Cursor secara otomatis akan pindah baris
• Tidak memerlukan penentu format
getchar()
#include <stdio.h>
#include <conio.h>
void main()
{
char huruf1, huruf2;
printf("masukan sebuah karakter : ");
huruf1 = getche(); // karakter yang dimasukkan akan terlihat di layar
printf("\n Karakter yang Anda masukkan adalah %c\n", huruf1);
printf("\n Masukkan sebuah karakter lagi : ");
huruf2 = getch(); // karakter yang dimasukkan tidak terlihat di layar
printf("\n Karakter yang Anda masukkan adalah : %c", huruf2); getch();
}
/* Latihan Program untuk menampilkan data berupa bilangan integer dan string */
#include <stdio.h>
#include <conio.h>
void main()
{
int umur_anda;
char nama_anda[20];
LATIHAN :
1. Dengan cara yang sama buatkan input dan output biodata pribadi anda mulai dari
Nama, alamat, NoTelp
Array merupakan kumpulan dari nilai-nilai data yang bertipe sama dalam urutan tertentu
yang menggunakan nama yang sama. Letak atau posisi dari elemen array ditunjukkan oleh
suatu index.
Dilihat dari dimensinya array dapat dibagi menjadi Array dimensi satu, array dimensi dua dan
array multi-dimensi.
1. Array 1 Dimensi
2. Array 2 Dimensi
Bentuk Umum Array 2 Dimensi
3. Array Multidimensi
Bentuk Umum Array Multi Dimensi
#include<stdio.h>
int main(){
int i=0;
int Arr[5]; //declarasi array
Arr[0]=80; //inisialisasi array
Arr[1]=60;
Arr[2]=70;
Arr[3]=85;
Arr[4]=75;
for(i=0;i<5;i++)
{
printf("%d \n",Arr[i]);
}
return 0;
}
#include<stdio.h>
int main(){
int i=0;
int marks[5]={20,30,40,50,60}; //urutan inisialisasi array
for(i=0;i<5;i++){
printf("%d \t",marks[i]);
}
return 0;
}
#include<stdio.h>
void main(){
int i=0;
char huruf[5] = {'a', 'c', 'e', 'd', 'b'};
for(i=0;i<5;i++){
printf("%c \t",huruf[i]);
}
return 0;
}
int main() {
int nilai[5];
#include <stdio.h>
int main() {
int nilai[10], i, n, total = 0;
printf("Masukan Jumlah elements: ");
scanf("%d", &n);
// menghitung total
total += nilai[i];
}
int main()
{
//Inisialisasi array
int nilai[] = {15, 14, 12, 9, 5};
int temp_nilai = 0;
//Hitung Panjang
int length = sizeof(nilai)/sizeof(nilai[0]);
printf("\n");
int main()
{
int a[10000],i,n,key;
LATIHAN :
1. Buatlah Pengurutan (Sortir) Array dimana element di input sendiri oleh user, bukan ter-
inisialisasi langsung pada coding