SlideShare a Scribd company logo
1 of 41
Download to read offline
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 1 dari 41 halaman
Pemrograman Komputer
C& Algoritma
Oleh
Bangun Wijayanto, ST
published 2008
Copyright © Bangun Wijayanto 2007 All rights reserved. Without
limiting the rights under copyrights reserved above, no part of this
publication may be reproduced, stored in or introduced into a
retrieval system, or transmitted, in any form or by any means
(electronic, mechanical otherwise), without the prior written
permission of the copyright owner.
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 2 dari 41 halaman
Formatted using Open Office
Printed and bound in the Indonesia
Cetakan pertama
www.bangunw.multiply.com
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 3 dari 41 halaman
Daftar Isi
Mengenai C................................................................................................................5
Bahasa Mesin (Mnemonic Code) ................................................................................................5
Bahasa Assembly........................................................................................................................6
Bahasa Tingkat Tinggi (High Level Language)...........................................................................6
Variable dan Kontrol Alur Eksekusi Program ............................................................8
Variabel......................................................................................................................................8
Scope dari Variabel................................................................................................................8
Tipe Data ..............................................................................................................................9
Tipe Data Primitive ...........................................................................................................9
Operator...............................................................................................................................10
1. Operator Penugasan .....................................................................................................10
2. Operator Matematika ...................................................................................................11
Seleksi .................................................................................................................................12
1. If .................................................................................................................................12
2. Switch .........................................................................................................................14
1. While...........................................................................................................................15
2. Do-While.....................................................................................................................16
3. For..............................................................................................................................17
M E T H O D............................................................................................................19
Jenis Fungsi..............................................................................................................................20
Deklarasi sebuah method ..........................................................................................................21
Mendeklarasikan Fungsi ...........................................................................................................22
Method Name ......................................................................................................................23
Parameter.............................................................................................................................23
Return type...........................................................................................................................25
Parameter..................................................................................................................................26
Parameter input ...................................................................................................................26
Parameter input/output ........................................................................................................26
Array........................................................................................................................27
Tipe Bentukan..........................................................................................................30
Nilai Ekstrim & Sorting............................................................................................32
Pencarian Nilai Ekstrim ............................................................................................................32
Nilai Maximum model 1 ......................................................................................................32
Nilai Maksimum model 2.....................................................................................................33
Sorting......................................................................................................................................34
Count Sort............................................................................................................................34
Buble Sort............................................................................................................................36
Insertion Sort........................................................................................................................37
Mengenal IDE..........................................................................................................39
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 4 dari 41 halaman
*
"Ya Tuhan kami terimalah daripada kami (amalan kami), sesungguhnya Engkaulah Yang Maha
Mendengar lagi Maha Mengetahui".
*
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 5 dari 41 halaman
Mengenai C
Sebagai suatu bahasa pemrograman, C seperti halnya pascal maupun fortran. Nilai
disimpan dalam suatu variable. Program terstruktur dan dedifinisikan serta melakukan
pemanggilan fungsi.
Bahasa C merupakan bahasa yang sukses. Mulai dikembangkan oleh Brian Kernighan
dan Dennis Ritchie pada awal tahun '70-an, bahasa C banyak mengalami berbagai
kemajuan, perubahan, dan hingga kini (38 tahun lebih) bahasa C masih banyak
digunakan dan dipelajari. Belajar menjadi programmer professional seakan belum
lengkap tanpa mempelajari C. Tidak mengherankan bila beberapa universitas
menjadikan bahasa C sebagai bahasa pemrograman yang wajib. Sistem-sistem operasi
yang terkemuka seperti UNIX dan Windows juga dibangun dengan menggunakan
bahasa C (dan juga C++).
Sistem operasi berbasiskan UNIX dituliskan dalam bahasa C. Dalam kenyataannya C di
buat untuk diimplementasikan secara spesifik dalam system operasi UNIX .
Sebelum melangkah lebih jauh ada baiknya kita review perkembangan bahasa
pemrograman
Bahasa Mesin (Mnemonic Code)
Bahasa mesin adalah bahasa yang berisi kode-kode mesin yang hanya dapat
diinterpretasikan langsung oleh mesin komputer. Bahasa ini merupakan bahasa
level terendah dan berupa kode numerik 0 dan 1. Sekumpulan instruksi dalam
bahasa
Keuntungan: Eksekusi cepat
Kerugian: Sangant sulit dipelajari manusia
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 6 dari 41 halaman
Bahasa Assembly
Bahasa assembly adalah bahasa simbol dari bahasa mesin. Setiap kode bahasa
mesin memiliki simbol sendiri dalam bahasa assembly. Misalnya ADD untuk
penjumlahan, MUL untuk perkalian, SUB untuk pengurangan, dan lain-lain.
Kelebihan: Eksekusi cepat, masih bisa dipelajari daripada bahasa mesin, file kecil
Kekurangan: Tetap sulit dipelajari, program sangat panjang.
Bahasa Tingkat Tinggi (High Level Language)
Bahasa tingkat tinggi adalah bahasa pemrograman yang lebih tinggi daripada
bahasa assembly. Bahasa ini lebih dekat dengan bahasa manusia. Bahasa inilah
yang akan dibahas pada matakuliah ini. Bahasa ini juga memberikan banyak
sekali fasilitas kemudahan pembuatan program, misalnya: variabel, tipe data,
konstanta, struktur kontrol, loop, fungsi, prosedur dan lain-lain. Contoh: Pascal,
Basic, C++, dan Java.
Keuntungan:
Mudah dipelajari
Mendekati permasalahan yang akan dipecahkan
Kode program pendek
Kerugian: Eksekusi lambat
Bahasa generasi ini disebut juga bahasa generasi ke-3 (3rd Generation
Programming Language). Bahasa inilah yang akan kita pelajari dalam Dasar
Pemrograman
C/C++ adalah bahasa pemrograman tingkat menengah yang dirancang oleh Dennis M
Ritchie di Bell Laboratories pada tahun 1972. Pada tahun 1978 Dennis dan Brian W.
Kernighan mempublikasikan bahasa C melalui The C Programming Language.
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 7 dari 41 halaman
Kemudian C distandarisasi ANSI tahun 1989. Bahasa C adalah bahasa yang general,
tidak dikhususkan untuk suatu bidang/aplikasi tertentu.
Algoritma ke C
Algoritma tidak terkait dengan suatu bahasa pemrograman apapun sehingga ketika anda
belajar dikelas anda akan belajar algoritma untuk memprogram bukan bahasa
pemrogramannya, berikut adalah beberapa contoh perbuahan algoritma ke dalambahasa
C
Algoritma
=
Not
*
+
-
/
mod
Bahasa C
=
==
!
*
+
-
/
%
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 8 dari 41 halaman
Variable dan Kontrol Alur Eksekusi Program
Variabel
Variable merupakan lokasi penyimpanan dalam memori. Setiap variable memiliki
kemampuan menyimpan suatu informasi sesuai dengan tipe data yang dideklarasikan
untuk variable tersebut. Sintaks pendeklarasian varaibel secara umum adalah sebagai
berikut:
Tipe_data nama_variable;
Tipe_data meliputi semua tipe data yang dikenal dalam C, sedangkan nama_variabel
adalah identifier yang akan digunakan untuk menunjuk ke variable tersebut didalam
program.
Contoh :
int hitung;
kode diatas mendeklarasikan suatu varaibel bernama hitung dengan tipe data integer.
Beberapa kata dalam penamaan variable tidak diperkenankan. Hal ini dikarenakan
compiler telah mengenali kata tersebut sebagai bagian dari bahasa pemrograman
diantara kata kata tersebut adalah (reserved word)
Scope dari Variabel
Dalam C, secara garis besar scope dari variabel dapat dibedakan menjadi dua bagian,
yaitu variabel yang dideklarasikan didalam blok (dikenal juga sebagai property) dan
variabel.
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 9 dari 41 halaman
Tipe Data
Setiap variabel harus memiliki tipe data. Sebuah variabel tipe datanya menentukan nilai
dari variabel yang dapat memuat dan operasi-operasi yang dapat dilakukannya.
Contohnya sebuah tipe data integer (int) dapat memuat hanya nilai-nilai integer (baik
positif maupun negative).
Tipe Data Primitive
Type Length Range
unsigned char 8 bits 0 to 255
char 8 bits -128 to 127
short int 16 bits -32,768 to 32,767
unsigned int 32 bits 0 to 4,294,967,295
int 32 bits -2,147,483,648 to 2,147,483,647
unsigned long 32 bits 0 to 4,294,967,295
enum 16 bits -2,147,483,648 to 2,147,483,647
long 32 bits -2,147,483,648 to 2,147,483,647
float 32 bits 3.4 x 10-38 to 3.4 x 10+38
double 64 bits 1.7 x 10-308 to 1.7 x 10+308
long double 80 bits 3.4 x 10-4932 to 1.1 x 10+4932
near (pointer) 32 bits not applicable
far (pointer) 32 bits not applicable
Kata
Kunci
Keterangan Size/Format
(integers)
byte Byte-length integer 8-bit two's complement
short Short integer
16-bit two's
complement
int Integer
32-bit two's
complement
long Long integer
64-bit two's
complement
(real numbers)
float Single-precision floating point 32-bit IEEE 754
double Double-precision floating point 64-bit IEEE 754
(other types)
char A single character 16-bit Unicode
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 10 dari 41 halaman
character
boolean A boolean value (true or false) True or false
Contoh penggunaan Tipe data
Contoh Tipe Data
178 Int
8864L Long
37.266 Double
37.266D Double
87.363F Float
26.77e3 Double
“MIPA UNSOED” String
' c ' Char
True Boolean
False Boolean
Operator
Operator merupakan simbol yang biasa digunakan dalam menulis suatu penyataan
(statement) dalam bahasa pemrograman apapun. Operator akan melakukan suatu operasi
terhadap operand sesuai dengan fungsinya. Contoh operasi antara lain penjumlahan,
pengurangan, pembagian dan sebagainya.
3 + 8 * 4
3 8 4 adalah operand
+ * adalah Operator
1. Operator Penugasan
Operator ini adalah operator yang paling sederhana dan hanya dilambangkan dengan
karakter ’=’. Operator ini digunakan untuk menugaskan suatu nilai ke suatu variabel.
int hitung = 4;
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 11 dari 41 halaman
yang unik dari operator ini dalam C adalah kita dapat menggunakan operator ini secara
berantai dalam suatu ekspresi, contoh:
int a, b, c;
2. Operator Matematika
Operator ini digunakan dalam ekspresi matematika. Berikut ini daftar operator
matematika yang dikenal dalam C:
Operator Keterangan
+ Penjumlahan
- Pengurangan
* Perkalian
/ Pembagian
% Modulus (sisa bagi)
3. Operator Penaikan dan Penurunan
Operator ini digunakan untuk menaikkan atau menurunkan suatu nilai integer (bilangan
bulat) sebanyak satu satuan, dan hanya digunakan pada variabel.
Operator Keterangan
++ Penambahan dengan nilai satu
-- Pengurangan dengan nilai satu
Sebagai contoh :
x = x + 1;
y = y -1;
dapat ditulis menjadi:
x++ ; atau ++x ;
y-- ; atau --y ;
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 12 dari 41 halaman
Kontrol Alur Eksekusi Program
Sebagai bahasa pemrograman, C memiliki cara untuk mengontrol alur eksekusi program
bergantung pada kondisi yang telah dietentukan. Secara garis besar, kontrol alur
eksekusi ini dapat dikelompokkan ke dalam tiga bagian besar, yaitu seleksi, iterasi /
perulangan, dan jump.
Seleksi
Terdapat dua kunci (keyword) yang dapat digunakan untuk melakukan seleksi dalam C,
yaitu if dan switch. Keduanya menentukan alur eksekusi program maman yang akan
dijalankan pada suatu percabangan.
1. If
Secara umum penggunaan if mengikuti ketentuan sebagai berikut:
If (kondisi)
Pernyataan1;
Else
Pernyataan2;
Kondisi harus berupa ekspresi yang menghasilkan nilai Boolean (true atau false),
sedangkan pernyataan1 dan pernyataan2 merupakan kode atau blok kode yang akan
dieksekusi sesuai dengan nilai yang dihasilkan oleh kondisi. Jika kondisi bernilai true
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 13 dari 41 halaman
maka pernyataan1 yang akan dieksekusi dan sebaliknya jika nilai kondisi adalah false
maka pernyataan2 lah yang akan dieksekusi.
Dalam penerapannya penggunaan else bersifat opsional, boleh menggunakannya atau
tidak sesuai dengan kebutuhan, seperti berikut:
If (kondisi)
Pernyataan;
Dengan demikian pernyataan hanya akan dieksekusi jika kondisi bernilai true.
If – else bertingkat (nested)
Pada prinsipnya penggunaan if – else adalah sama, namun untuk yang bertingkat dapat
mengkombinasikan penggunaannya menjadi bertingkat seperti berikut:
If (kondisi1)
Pernyataan1;
Else if (kondisi2)
Pernyataan2;
:
:
else if (kondisiN)
pernyataanN;
else
pernyataanLain;
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 14 dari 41 halaman
Untuk lebih jelasnya perhatikan contoh berikut
2. Switch
penggunaan switch sebenarnya hamper sama dengan if bertingkat, dimana kita bisa
menggunakan switch untuk percabangan yang berjumlah lebih darisatu. Karena itu
switch bisa dijadikan alternative lain dibandingkan menggunakan if bertingkat. Secara
umum bentuk penggunaannya sebagai berikut:
switch (ekspresi) {
case nilai1: pernyataan1;
break;
:
case nilaiN: pernyataanN;
break;
default : pernyataanDefault;
}
#include <stdio.h>
int main(){
int suhu;
printf("Program mengetahui jenis zatn");
printf("============================nn");
printf("Masukan suhu zat:");
scanf("%d",&suhu);
if (suhu<0){
printf("Padat Beku");
}
else if((0<=suhu)&&(suhu<=100)){
printf("Padat");
}
else{
printf("uap");
}
}
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 15 dari 41 halaman
Iterasi (pengulangan )
1. While
Statement while digunakan untuk mengeksekusi sebuah blok secara berulang selema
memenuhi kondisi tertentu. Sintaks penggunaannya adalah sebagai berikut:
while (ekspresi) {
....Statement….
}
#include <stdio.h>
//Program penghitung faktorial
int main(void)
{
//kamus
int i = 1;
int hasilfaktorial=1;
int faktorial;
//Algoritma
printf("Masukan nilai faktorialn");
scanf("%d",&faktorial);
while (i <= faktorial)
{
hasilfaktorial=hasilfaktorial*i;
i=i+1;
}
printf("hasilnya adalah %d",hasilfaktorial);
return 0;
}
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 16 dari 41 halaman
2. Do-While
Sama seperti halnya while pernyataan Do-While digunakan untuk mengeksekusi blok
secara berulang sampai tidak memenuhi kondisi tertentu. Pada Do-While ekspresi tidak
diperiksa di awal eksekusi sehingga minimal blok statement do-while akan dieksekusi
sekali. Sintaks penggunaannya adalah sebagai berikut:
do{
…..Statement….
} while (ekspresi)
#include <stdio.h>
//Program pembalik bilangan
int main(void)
{
//Kamus
int value, r_digit;
//Algoritma
printf("Masukan Bilangan.n");
scanf("%d", &value);
do
{
r_digit = value % 10;
printf("%d", r_digit);
value = value / 10;
} while (value != 0);
printf("n");
return 0;
}
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 17 dari 41 halaman
3. For
Statement For digunakan untuk mengeksekusi sebuah blok secara berulang dalam range
tertentu.
Karakteristik:
1. Digunakan untuk perulangan yang batasnya sudah diketahui dengan jelas,
misalnya dari 1 sampai 10.
2. Memerlukan 2 buah variabel awal dan akhir perulangan.
3. Nilai variabel penghitung akan secara otomatis bertambah atau berkurang tiap
kali sebuah pengulangan dilaksanakan
For(Inisialisasi;terminasi;increment){
…..Statement….
}
#include<stdio.h>
void main()
{
int i,j,k,s,n;
printf("Masukan banyaknya baris");
scanf("%d",&n);
for(i=1,s=n;i<=n;i++,s--)
{
printf(“%d”,i);
}
}
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 18 dari 41 halaman
Inisialisasi dalam for merupakan ekspresi yang dieksekusi pada awal eksekusi for.
Terminasi digunakan untuk menentukan kapan pengulangan akan dihentikan. Increment
merupakan ekspresi yang akan dieksekusi setiap selesai melakukan satu looping
(pengulangan).
Kesimpulan Bab III
1. Penggunaan Variable dalam C dideklarasikan dengan Tipe_data nama_variable;
2. Operator merupakan karakter yang digunakan untuk melakukan fungsi tertentu terhadap operasi
dari variable
3. Alur Kontrol program secara garis besar terbagi menjadi 2:
a. Pilihan
b. Perulangan/iterasi
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 19 dari 41 halaman
M E T H O D
Method adalah fungsi atau prosedur yang dibuat oleh seorang programmer
didalam suatu file C. Method dapat dibagi menjadi fungsi dan prosedur. Fungsi adalah
bagian atau sub dari program yang mempunyai algoritma tertentu dalam menyelesaikan
suatu masalah dengan mengembalikan hasil. Prosedur adalah bagian atau sub dari
program yang mempunyai algoritma tertentu dalam menyelesaikan suatu masalah tanpa
mengembalikan suatu nilai hasil. Secara umum method dalam C adalah sebuah fungsi.
Fungsi/function adalah bagian dari program yang memiliki nama tertentu, digunakan
untuk mengerjakan suatu pekerjaan tertentu, serta letaknya dipisahkan dari bagian
program yang menggunakan fungsi tersebut.
Keuntungan Menggunakan fungsi
1. program besar dapat dipisah menjadi program-program kecil.
2. Dapat dikerjakan oleh beberapa orang sehingga koordinasi mudah.
3. Kemudahan dalam mencari kesalahan-kesalahan karena alur logika jelas dan
kesalahan dapat dilokalisasi dalam suatu modul tertentu saja.
4. Modifikasi program dapat dilakukan pada suatu modul tertentu saja tanpa
mengganggu program keseluruhan.
5. Mempermudah dokumentasi.
6. Reusability: Suatu fungsi dapat digunakan kembali oleh program atau fungsi lain
Sifat Fungsi yang baik
1. Nilai fan-in tinggi, artinya semakin sering suatu modul dipanggil oleh pengguna
semakin tinggi nilai fan-in
2. Fan-out rendah, artinya semakin spesifik fungsi suatu modul akan semakin rendah
nilai fan-out
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 20 dari 41 halaman
3. Self-contained tinggi: artinya kemampuan untuk memenuhi kebutuhannnya
sendiri.
Kategori Fungsi
1. Standard Library Function
Yaitu fungsi-fungsi yang telah disediakan oleh Compiler dalam file-file header
atau librarynya.
Misalnya: clrscr(), printf(), getch(),writeln(),readln()
2. Programmer-Defined Function
Adalah function yang dibuat oleh programmer sendiri. Function ini memiliki
nama tertentu yang unik dalam program, letaknya terpisah dari program utama,
dan bisa dijadikan satu ke dalam suatu library buatan programmer itu sendiri yang
kemudian juga di-includekan untuk penggunaanya.
Jenis Fungsi
1. Fungsi yang Non-Void
Fungsi non-void disebut juga fungsi (terutama di bahasa pemrograman seperti
Pascal dan Basic)
Disebut non-void karena mengembalikan nilai kembalian yang berasal dari
keluaran
hasil proses function tersebut
Ciri: ada keyword return
Ciri: ada tipe data yang mengawali deklarasi fungsi
2. Function yang Void
Fungsi yang void sering disebut juga prosedur
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 21 dari 41 halaman
Disebut void karena fungsi tersebut tidak mengembalikan suatu nilai keluaran
yang didapat dari hasil proses fungsi tersebut.
Ciri: tidak adanya keyword return.
Ciri: tidak adanya tipe data di dalam deklarasi fungsi.
Deklarasi sebuah method
Method terdiri atas dua bagian yakni :
1. Method declaration
2. Method Body
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 22 dari 41 halaman
Mendeklarasikan Fungsi
dalam Algoritma
berikut adalah contoh penulisan fungsi dalam Algoritma
Function Tambah(x:integer;y:integer):integer
Kamus
i:integer
Begin
i:=x+y;
return i;
End;
Dalam bahasa C
Method Name
Setiap fungsi dalam pemrograman mempunyai identitas nama fungsi. Penamaan fungsi/
method mengikuti aturan :
a. tidak menggunakan spasi atau menggunakan spasi dengan diganti “_” (missal
method Hitung_integral)
b. Tidak menggunakan kata-kata yang telah dipakai oleh compiler (reserved Word,
lihat bab sebelumnya)
Int Perkalian (int y,int z)
Return
Type
Method
Name
Argument / Parameter
{
int x =0;
x=y*z;
return x
}
int Perkalian (int y;int z) Declaration
Method Bo
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 23 dari 41 halaman
Parameter
Bagian parameter diisi dengan parameter-parameter fungsi yang diperlukan. Parameter
apabila lebih dari satu akan dipisahkan dengan tanda koma (“,”) parameter-parameter
pada fungsi-fungsi di C akan di by pass value yang artinya pada tiap fungsi tidak akan
dapat merubah isi dari variable parameter yang dimasukan.
Setelah ada sedikit gambaran mengenai fungsi timbul pertanyaan dimana letak fungsi
dan bagaimana menggunakannya?
Berikut adalah contoh didalam bahasa C
#include <stdio.h>
//Kamus
int Alas,Tinggi;
float hitungSegitiga(int A, int T){
float hasil;
hasil=0.5*A*T;
return hasil;}
//Algoritma
void main(){
Alas=5;
Tinggi=6;
Luas=hitungSegitiga(Alas,Tinggi);
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 24 dari 41 halaman
Return type
Setiap fungsi menghasilkan suatu nilai dengan tipe data tertentu. Apabila terdapat suatu
fungsi yang tidak menghasilkan suatu nilai apapun maka bagian return type ini diganti
dengan void . berikut adalah contoh fungsi yang tidak menghasilkan apapun:
Contoh dalam algoritma
Procedure CetakTambah1(x:integer);
Begin
x <-- x+1
Writeln(x);
End;
Contoh dalam C
Latihan
Sebuah fungsi rumus matematika didefinisikan sebagai berikut:
F(x)=3*x1+x2
Dimana nilai x1 dan x2 adalah bilangan bulat, buatlah algoritma fungsi dari rumus
matematika tersebut dan gunakan dalam program utama
void CetakTambah1(int x){
x=x+1;
printf(“%d”,x);
}
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 25 dari 41 halaman
Parameter
1. Parameter formal : parameter yang ditulis pada deklarasi fungsi.
2. Parameter aktual : parameter yang diinputkan dalam program pemanggil fungsi
tersebut. Dapat berupa variabel atau langsung berupa nilai tertentu sesuai dengan
tipe data yang dideklarasikan untuk masing-masing parameter fungsi.
Dalam prosedur parameter dapat memiliki dua sifat:
1. Parameter Input
2. Parameter Input/output
Parameter input
digunakan untuk memasukan inputan pada suatu prosedur atau fungsi.Tipe data dari
parameter input ini harus sama dengan tipe data pada parameter formal di fungsi.
Parameter input/output
pada prinsipnya sama dengan parameter input. Perbedaannya parameter ini dapat
berubah nilai atau isinya sehingga akan merubah nilai parameter tersebut pada alamat
memorinya.
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 26 dari 41 halaman
Array
Array adalah suatu tipe data terstuktur yang berupa sejumlah data sejenis (bertipe data
sama) yang jumlahnya tetap dan diberi suatu nama tertentu.
Elemen-elemen array tersusun secara sekuensial di dalam memori sehingga memiliki
alamat yang berdekatan. Array dapat berupa array 1 dimensi, 2 dimensi, bahkan n-
dimensi. Elemen-elemen array bertipe data sama tapi bisa bernilai sama atau berbeda-
beda.
Elemen-elemen array dapat diakses oleh program menggunakan suatu indeks tertentu
Pengaksesan elemen array dapat dilakukan berurutan atau random berdasarkan indeks
tertentu secara langsung.
Pengisian dan pengambilan nilai pada indeks tertentu dapat dilakukan dengan mengeset
nilai atau menampilkan nilai pada indeks yang dimaksud.
Deklarasi Array
dalam Algoritma
X : array [ 1.. N ] of Type
dalam bahasa C
tipedata <spasi> nama_var_array[ukuran];
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.
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 27 dari 41 halaman
Tanda [] disebut juga “elemen yang ke- „. Misalnya kondisi[0] berarti elemen yang ke
nol.
Array yang sudah dipesan, misalnya 10 tempat tidak harus diisi semuanya, bisa saja
hanya diisi 5 elemen saja, baik secara berurutan maupun tidak. Namun pada kondisi
yang tidak sepenuhnya terisi tersebut, tempat pemesanan di memori tetap sebanyak 10
tempat, jadi tempat yang tidak terisi tetap akan terpesan dan dibiarkan kosong.
Untuk meng-instantiate (atau membuat) sebuah array,
1. Tulislah new keyword,
2. Diikuti oleh tanda kurung [] yang berisi angka dari elemen yang Anda
inginkan pada array tersebut.
3. Contoh,
int ages[];
Untuk mengakses sebuah elemen dalam array , atau mengakses sebagian elemen dari
array , Anda menggunakan penomoran yang disebut sebagai index atau subscript.
1. Diberikan kepada tiap anggota array, agar program dapat mengakses
anggota dari array.
2. Dimulai dari nol dan kemudian akan terus bertambah sampai list value dari
array tersebut berakhir.
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 28 dari 41 halaman
CATATAN: elemen di dalam array anda dimulai dari 0 sampai (sizeOfArray-1)
Contoh, pada array yang telah kita deklarasikan tadi, kita mempunyai
//memberikan nilai 10 kepada elemen pertama array
int ages[0] = 10;
//mencetak elemen array ke 99
printf(“%d” ,ages[99]);
//Program Aray
void main() {
int ages[100] ;
//isi data ke array
for( int i=0; i<100; i++ ){
ages[i]=i;
//cetak isi data
for( int i=0; i<100; i++ ){
printf(“%d”, ages[i] );
}
}
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 29 dari 41 halaman
Tipe Bentukan
Struct adalah tipe data bentukan yang berisi kumpulan variabel-variabel yang bernaung
dalam satu nama yang sama.
Berbeda dengan array yang berisi kumpulan variabel yang bertipe data sama, struct
dapat memiliki variabel-variabel yang bertipe data sama atau berbeda, bahkan bisa
menyimpan variabel yang bertipe data array atau struct
Variabel-variabel yang menjadi anggota struct disebut dengan elemen struct
Struct bisa diumpamakan sebagai sebuah class, misalnya: Mahasiswa
Struct Mahasiswa memiliki property atau atribut atau variabel yang melekat padanya:
- NIM yaitu karakter sejumlah 8
- Nama yaitu karakter
- IPK yaitu bilangan pecahan
Struct hampir mirip dengan class pada Java, namun struct tidak memiliki method atau
function.
Deklarasi Struct
dalam Algoritma
Type
[<nama tipe komposisi >] = Record
<Anggota-1 > : <type-1>;
<Anggota-2> : <type-2>;
………………………
End;
dalam bahasa C
typedef struct Mahasiswa {
char NIM[8];
char nama[50];
float ipk;
};
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 30 dari 41 halaman
cara menggunakannya
Mahasiswa mhs,mhs2;
Penggunaan struct dilakukan dengan membuat suatu variabel yang bertipe struct
tersebut
Pengaksesan elemen struct dilakukan secara individual dengan menyebutkan nama
variabel struct diikuti dengan operator titik (.)
Misalnya dengan struct mahasiswa seperti contoh di atas, kita akan akses
elemenelemennya seperti contoh berikut:
#include <stdio.h>
//Pendeklarasian tipe data baru struct Mahasiswa
typedef struct Mahasiswa{
char NIM[9];
char nama[30];
Float ipk;
};
void main(){
//Buat variabel mhs bertipe data Mahasiswa
Mahasiswa mhs;
clrscr();
printf("NIM = ");scanf("%s",mhs.NIM);
printf("Nama = ");scanf("%s",mhs.nama);
printf("IPK = ");scanf("%f",&mhs.ipk);
printf("Data Anda : n");
printf("NIM : %sn",mhs.NIM);
printf("Nama : %sn",mhs.nama);
printf("IPK : %fn",mhs.ipk);
}
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 31 dari 41 halaman
Nilai Ekstrim & Sorting
Sering kali kita menemukan permasalahan dimana kita harus mengambil nilai
terbesar atau terkecil dari suatu urutan atau kita harus mengurutkan bilangan dari
terkecil ke yang terbesar atau sebaliknya. Bab ini akan mempelajari mengenai
penggunaan beberapa algoritma sorting dan pencarian nilai maksimum pada suatu tabel /
array. Pada buku ini hanya di berikan beberapa algoritma saja, algoritma yang lain
diharapkan anda dapat menemukannya melalui pustaka yang ada.
Pencarian Nilai Ekstrim
Nilai Maximum model 1
int tabelAsli[6];
int MAX,N,i;
main(){
MAX=-9999;
tabelAsli[0]=2;
tabelAsli[1]=5;
tabelAsli[2]=5;
tabelAsli[3]=100;
tabelAsli[4]=3;
tabelAsli[5]=2;
N=6;
for (i=0;i<N;i++){
if (tabelAsli[i]>MAX){
MAX=tabelAsli[i];
}
}
printf("%d",MAX);
}
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 32 dari 41 halaman
Nilai Maksimum model 2
int MAX,i,N;
main(){
MAX=tabelAsli[0];
tabelAsli[0]=2;
tabelAsli[1]=5;
tabelAsli[2]=5;
tabelAsli[3]=100;
tabelAsli[4]=3;
tabelAsli[5]=10001;
N=6;
for (i=1;i<N;i++){
if (tabelAsli[i]>MAX){
MAX=tabelAsli[i];
}
}
printf("%d",MAX);
}
Latihan
Coba anda bandingkan 2 algoritma diatas lalu berikan komentar
Buat algoritma pencari nilai minimum dengan memodifikasi algoritma diatas
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 33 dari 41 halaman
Sorting
Pada bagian ini akan dipelajari mengenai beberapa algorita untuk melakukan pengurutan
/ sorting, ada banyak sekal algoritma untuk melakukan pengurutan, kita akan
mempelajari beberapa diantaranya
Count Sort
Ide dari metode/algoritma ini adalah menghitung banyaknya nilai yang dijumpai pada
suatu tabel kemudian dimasukan ke dalam tabel count dimana pada tabel count tersebut
bagian indexnya menggambarkan nilai dari tabel yang akan diurutkan dan begian
valuenya menggambarkan jumlah value yang ada.
Untuk lebih jelasnya perhatikan listing program C berikut
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 34 dari 41 halaman
int tabelAsli[6];
int tabelCount[6];
int i,k,l;
void main(){
i=0;
k=0;
tabelAsli[0]=2;
tabelAsli[1]=5;
tabelAsli[2]=5;
tabelAsli[3]=4;
tabelAsli[4]=3;
tabelAsli[5]=2;
//menginisialisasi isi tabel count dengan nilai 0
for (i=0;i<6;i++){
tabelCount[i]=0;
}
//dihitung ke tabel count
for (i=0;i<6;i++){
tabelCount[tabelAsli[i]]=tabelCount[tabelAsli[i]]+1;
}
// mengisikan kembali ke tabel count
for (i=0;i<6;i++){
if (tabelCount[i] !=0){
for (l=0;l<tabelCount[i];l++){
tabelAsli[k]=i;
k=k+1;
}
}
}
}
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 35 dari 41 halaman
Buble Sort
Penggunaan algoritma Count Sort akan memboroskan memory karena kita harus
membuat tabel count yang berisi jumlah dari tiap value yang ada pada tabel aslinya,
metode cont sort juga tidak efektif karena proses yang dilakukan lebih lama (2 kali
proses penyalinan isi array). Buble Sort dapat mengatasi masalah ini. Idenya adalah
mengambangkan nilai terkecil ke variabel temporary untuk lebih jelasnya perhatikan
source C berikut
int tabel[8];
int i,k,pass,temp,N;
void main(){
//i=0;
k=0;
pass=0;
N=8;
tabel[0]=7;
tabel[1]=5;
tabel[2]=5;
tabel[3]=4;
tabel[4]=3;
tabel[5]=2;
tabel[6]=9;
tabel[7]=1;
for (pass=0; pass<N;pass++){
for (k=N-1;k>(pass);k--){
if (tabel[k]<tabel[k-1]){
temp=tabel[k];
tabel[k]=tabel[k-1];
printf ("tabelk[%d] temp=%dn",k,tabel[k-
1]);
tabel[k-1]=temp;
printf ("tabel[%d] temp=%dn",k-1,temp);
}
}
}
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 36 dari 41 halaman
Insertion Sort
Ide dari algoritma ini adalah mencari tempat yang tepat untuk setiap eleman tabel,
dengan cara sequential search, kemudian setiap kali menyisipkan sebuah elemen tabel
yang diproses ke tempatnya yang seharusnya. Proses dilakukan sebanyak N
1. tabel[0] dianggap sudah pada tempatnya
2. tabel[1] dicarikan tempat yang tepat pada index tabel 1..0
3. tabel[2] dicarikan tempat yang tepat pada index tabel 2..0
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 37 dari 41 halaman
#include <stdio.h>
int tabel[8];
int i,k,pass,temp,N;
void main(){
i=0;
pass=0;
N=8;
tabel[0]=7;
tabel[1]=5;
tabel[2]=5;
tabel[3]=4;
tabel[4]=3;
tabel[5]=2;
tabel[6]=100;
tabel[7]=1;
for (pass=1; pass<(N);pass++){
temp=tabel[pass];
i=pass-1;
while ((temp<tabel[i])&&(i>0)){
tabel[i+1]=tabel[i];
i=i-1;
}
if (temp>tabel[i]){
tabel[i+1]=temp;
}else if(temp<=tabel[i]){
tabel[i+1]=tabel[i];
tabel[i]=temp;
}
}
}
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 38 dari 41 halaman
Mengenal IDE
Dalam praktikum ini akan digunakan tools (kakas) MinGW Developer Studio.
MinGWDeveloper Studio adalah IDE (Integrated Development Environment/
Lingkungan pengembangan) yang digunakan sebagai editor. MinGW Developer Studio
melakukan kompilasi terhadap kode sumber bahasa C yang anda buat dengan GNU
GCC ( http://gcc.gnu.org/ ). GCC adalah GNU Compiler Collection, yang berisi front
end C, C++, Objective-C, Fortran, Java, dan Ada
Gambar 1. MinGW Developer Studio
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 39 dari 41 halaman
Untuk menjalankan MinGW Developer Studio klik pada icon yang terdapat di desktop
atau pada start MinGW Developer Studio
1 2 3 4
1. Tombol untuk membuat file C baru
2. Tombol untuk melakukan kompilasi program
3. Tombol untuk membangun aplikasi (build)
4. Tombol untuk menjalankan aplikasi
Membuat Project Baru
Dalam praktikum ini usahakan anda menggunakan 1 project saja. Berikut adalah
langkah langkah membuat project baru
1. Buka MinGW Developer Studio
2. klik file new akan muncul tampilan sebagai berikut
3. Pilih Win32 Console Application
4. Tuliskan nama project anda dengan NIM anda misal H1B006006 dan lokasi
penyimpanan project anda
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 40 dari 41 halaman
5. klik OK, maka akan muncul tampilan sebagai berikut
6. Untuk mengerjakan praktikum klik tombol nomor 1 (lihat gambar petunjuk
tombol) akan muncul tampilan sebagai berikut
7. Pilih C/C++ Source file, pada bagian file name isikan nama file yang akan dibuat
misal latihan1.c kemudian tekan OK
8. sekarang anda telah membuat file latihan1.c file tersebut bisa anda edit
“Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST.
Fakultas Sains & Teknik Unsoed 2008
halaman 41 dari 41 halaman
9. Pada FileView terlihat bahwa project H1B006006 memiliki satu file yakni
latihan1.c tuliskan kodenya pada bagian editor yang ada disebelah kanan
10.untuk melakukan kompilasi dan pembuatan serta pengujian program silahkan
gunakan tombol yang telah dijelaskan diatas.
Hasil Aplikasi
Hasil aplkasi yang telah terkompilasi bisa di copy atau di ambil pada folder
<folder penyimpnan project>Debug
misal
C:Documents and SettingsBangun wijayantoMy DocumentscobaDebug

More Related Content

What's hot

Materi matakuliah bahasa c
Materi matakuliah bahasa cMateri matakuliah bahasa c
Materi matakuliah bahasa cIzhan Nassuha
 
Kkpi kartu soal essay & ganda 2010 2011
Kkpi kartu soal essay & ganda 2010 2011Kkpi kartu soal essay & ganda 2010 2011
Kkpi kartu soal essay & ganda 2010 2011Eko Supriyadi
 
Modul praktikum dasar algoritma dan pemograman
Modul praktikum dasar algoritma dan pemogramanModul praktikum dasar algoritma dan pemograman
Modul praktikum dasar algoritma dan pemogramanCatur Suranto S.T
 
Proposal bahasa indonesia
Proposal bahasa indonesiaProposal bahasa indonesia
Proposal bahasa indonesianurulqom
 
Sekilas tentang c
Sekilas tentang cSekilas tentang c
Sekilas tentang cDyes Wirok
 
Compiler dan Interpreter
Compiler dan InterpreterCompiler dan Interpreter
Compiler dan InterpreterMukti Pasta
 
Logika algoritma dan pemograman
Logika algoritma dan pemogramanLogika algoritma dan pemograman
Logika algoritma dan pemogramandiran rahmat
 
Generasi bhs pemrograman.ppt
Generasi bhs pemrograman.pptGenerasi bhs pemrograman.ppt
Generasi bhs pemrograman.pptgea prima
 
Bahasa pemrograman
Bahasa pemrogramanBahasa pemrograman
Bahasa pemrogramanery gunawan
 
Sejarah dan perkembangan bahasa pemrograman
Sejarah dan perkembangan bahasa pemrogramanSejarah dan perkembangan bahasa pemrograman
Sejarah dan perkembangan bahasa pemrogramanMRRidlo
 
Bahasa pemograman
Bahasa pemogramanBahasa pemograman
Bahasa pemogramanankg44
 
1 adp dasar-dasar pemrograman
1   adp dasar-dasar pemrograman1   adp dasar-dasar pemrograman
1 adp dasar-dasar pemrogramanMuhammad Salihin
 
Modul pelatihan praktikum mikrokontroler dengan software proteus
Modul pelatihan praktikum mikrokontroler dengan software proteusModul pelatihan praktikum mikrokontroler dengan software proteus
Modul pelatihan praktikum mikrokontroler dengan software proteusKukuh Adhi Rumekso
 

What's hot (20)

Materi matakuliah bahasa c
Materi matakuliah bahasa cMateri matakuliah bahasa c
Materi matakuliah bahasa c
 
Daskom 4
Daskom 4Daskom 4
Daskom 4
 
Sistem perangkat lunak
Sistem perangkat lunakSistem perangkat lunak
Sistem perangkat lunak
 
Kkpi kartu soal essay & ganda 2010 2011
Kkpi kartu soal essay & ganda 2010 2011Kkpi kartu soal essay & ganda 2010 2011
Kkpi kartu soal essay & ganda 2010 2011
 
Pemrograman dasar
Pemrograman dasarPemrograman dasar
Pemrograman dasar
 
Modul praktikum dasar algoritma dan pemograman
Modul praktikum dasar algoritma dan pemogramanModul praktikum dasar algoritma dan pemograman
Modul praktikum dasar algoritma dan pemograman
 
Proposal bahasa indonesia
Proposal bahasa indonesiaProposal bahasa indonesia
Proposal bahasa indonesia
 
Sekilas tentang c
Sekilas tentang cSekilas tentang c
Sekilas tentang c
 
Compiler dan Interpreter
Compiler dan InterpreterCompiler dan Interpreter
Compiler dan Interpreter
 
Logika algoritma dan pemograman
Logika algoritma dan pemogramanLogika algoritma dan pemograman
Logika algoritma dan pemograman
 
Generasi bhs pemrograman.ppt
Generasi bhs pemrograman.pptGenerasi bhs pemrograman.ppt
Generasi bhs pemrograman.ppt
 
Bahasa pemrograman
Bahasa pemrogramanBahasa pemrograman
Bahasa pemrograman
 
Sejarah dan perkembangan bahasa pemrograman
Sejarah dan perkembangan bahasa pemrogramanSejarah dan perkembangan bahasa pemrograman
Sejarah dan perkembangan bahasa pemrograman
 
Bahasa pemograman
Bahasa pemogramanBahasa pemograman
Bahasa pemograman
 
Tahap pemrograman
Tahap pemrogramanTahap pemrograman
Tahap pemrograman
 
Tahap pemrograman
Tahap pemrogramanTahap pemrograman
Tahap pemrograman
 
1 adp dasar-dasar pemrograman
1   adp dasar-dasar pemrograman1   adp dasar-dasar pemrograman
1 adp dasar-dasar pemrograman
 
flowchart
flowchartflowchart
flowchart
 
Modul pelatihan praktikum mikrokontroler dengan software proteus
Modul pelatihan praktikum mikrokontroler dengan software proteusModul pelatihan praktikum mikrokontroler dengan software proteus
Modul pelatihan praktikum mikrokontroler dengan software proteus
 
Bahasa c
Bahasa cBahasa c
Bahasa c
 

Similar to Diktat kuliah c

Dasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdf
Dasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdfDasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdf
Dasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdfRizaJr
 
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010eddie Ismantoe
 
MAKALAH PENGENALAN BAHASA C (Diki Candra) - Copy.docx
MAKALAH PENGENALAN BAHASA C (Diki Candra) - Copy.docxMAKALAH PENGENALAN BAHASA C (Diki Candra) - Copy.docx
MAKALAH PENGENALAN BAHASA C (Diki Candra) - Copy.docxDikicandra6
 
Teknik kompilasi dalam bahasa pemograman c
Teknik kompilasi dalam bahasa pemograman cTeknik kompilasi dalam bahasa pemograman c
Teknik kompilasi dalam bahasa pemograman cadhifatra agussalim
 
Kompilasi pada bahasa c session 3
Kompilasi pada bahasa c session 3Kompilasi pada bahasa c session 3
Kompilasi pada bahasa c session 3adhifatra agussalim
 
Operasi dasar dan peralat peyusun koputer
Operasi dasar dan peralat peyusun koputerOperasi dasar dan peralat peyusun koputer
Operasi dasar dan peralat peyusun koputerryan_satrya
 
Laporan Counting Grade Apps
Laporan Counting Grade AppsLaporan Counting Grade Apps
Laporan Counting Grade AppsRay Ray
 
Operasi dasar dan peralat peyusun koputer
Operasi dasar dan peralat peyusun koputerOperasi dasar dan peralat peyusun koputer
Operasi dasar dan peralat peyusun koputerbagja21
 
Operasi dasar dan peralat peyusun koputer
Operasi dasar dan peralat peyusun koputerOperasi dasar dan peralat peyusun koputer
Operasi dasar dan peralat peyusun koputerbagja21
 
Dasar2 pemrograman ali2
Dasar2 pemrograman ali2Dasar2 pemrograman ali2
Dasar2 pemrograman ali2havient01
 
M04a sekilastentang c
M04a sekilastentang cM04a sekilastentang c
M04a sekilastentang cBilly Alhamra
 
C programming language notes (1)
C programming language notes (1)C programming language notes (1)
C programming language notes (1)nakomuri
 
Bahasa sistem
Bahasa sistemBahasa sistem
Bahasa sistemAudriKiki
 
Pertemuan 1-pengantar-algoritma-dan-pemrograman
Pertemuan 1-pengantar-algoritma-dan-pemrogramanPertemuan 1-pengantar-algoritma-dan-pemrograman
Pertemuan 1-pengantar-algoritma-dan-pemrogramanAhmad Ismail
 
Modul praktikum aplikasi c
Modul praktikum aplikasi cModul praktikum aplikasi c
Modul praktikum aplikasi cBebebecaaa
 
BAHASA PEMROGRAMAN POPULER
BAHASA PEMROGRAMAN POPULERBAHASA PEMROGRAMAN POPULER
BAHASA PEMROGRAMAN POPULERDeptP3M
 

Similar to Diktat kuliah c (20)

Dasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdf
Dasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdfDasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdf
Dasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdf
 
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
 
MAKALAH PENGENALAN BAHASA C (Diki Candra) - Copy.docx
MAKALAH PENGENALAN BAHASA C (Diki Candra) - Copy.docxMAKALAH PENGENALAN BAHASA C (Diki Candra) - Copy.docx
MAKALAH PENGENALAN BAHASA C (Diki Candra) - Copy.docx
 
Teknik kompilasi dalam bahasa pemograman c
Teknik kompilasi dalam bahasa pemograman cTeknik kompilasi dalam bahasa pemograman c
Teknik kompilasi dalam bahasa pemograman c
 
Kompilasi pada bahasa c session 3
Kompilasi pada bahasa c session 3Kompilasi pada bahasa c session 3
Kompilasi pada bahasa c session 3
 
Operasi dasar dan peralat peyusun koputer
Operasi dasar dan peralat peyusun koputerOperasi dasar dan peralat peyusun koputer
Operasi dasar dan peralat peyusun koputer
 
Laporan Programing for Business
Laporan Programing for BusinessLaporan Programing for Business
Laporan Programing for Business
 
Laporan Counting Grade Apps
Laporan Counting Grade AppsLaporan Counting Grade Apps
Laporan Counting Grade Apps
 
Bab1
Bab1Bab1
Bab1
 
Operasi dasar dan peralat peyusun koputer
Operasi dasar dan peralat peyusun koputerOperasi dasar dan peralat peyusun koputer
Operasi dasar dan peralat peyusun koputer
 
Operasi dasar dan peralat peyusun koputer
Operasi dasar dan peralat peyusun koputerOperasi dasar dan peralat peyusun koputer
Operasi dasar dan peralat peyusun koputer
 
Dasar2 pemrograman ali2
Dasar2 pemrograman ali2Dasar2 pemrograman ali2
Dasar2 pemrograman ali2
 
M04a sekilastentang c
M04a sekilastentang cM04a sekilastentang c
M04a sekilastentang c
 
C programming language notes (1)
C programming language notes (1)C programming language notes (1)
C programming language notes (1)
 
Bahasa sistem
Bahasa sistemBahasa sistem
Bahasa sistem
 
Pertemuan1 ok
Pertemuan1 okPertemuan1 ok
Pertemuan1 ok
 
Pertemuan 1-pengantar-algoritma-dan-pemrograman
Pertemuan 1-pengantar-algoritma-dan-pemrogramanPertemuan 1-pengantar-algoritma-dan-pemrograman
Pertemuan 1-pengantar-algoritma-dan-pemrograman
 
Chap1
Chap1Chap1
Chap1
 
Modul praktikum aplikasi c
Modul praktikum aplikasi cModul praktikum aplikasi c
Modul praktikum aplikasi c
 
BAHASA PEMROGRAMAN POPULER
BAHASA PEMROGRAMAN POPULERBAHASA PEMROGRAMAN POPULER
BAHASA PEMROGRAMAN POPULER
 

More from LarasWiranti2

Modul pemrograman berbasis_web.pdf;filename= utf-8''modul pemrograman berbasi...
Modul pemrograman berbasis_web.pdf;filename= utf-8''modul pemrograman berbasi...Modul pemrograman berbasis_web.pdf;filename= utf-8''modul pemrograman berbasi...
Modul pemrograman berbasis_web.pdf;filename= utf-8''modul pemrograman berbasi...LarasWiranti2
 
Makalah analisis dan desain sistem
Makalah analisis dan desain sistemMakalah analisis dan desain sistem
Makalah analisis dan desain sistemLarasWiranti2
 
Diktat logika informatika unsoed
Diktat logika informatika unsoedDiktat logika informatika unsoed
Diktat logika informatika unsoedLarasWiranti2
 
Pandahuluan sistem fuzzy
Pandahuluan sistem fuzzyPandahuluan sistem fuzzy
Pandahuluan sistem fuzzyLarasWiranti2
 
Adaptive neuro fuzzy inference system (anfis)
Adaptive neuro fuzzy inference system (anfis)Adaptive neuro fuzzy inference system (anfis)
Adaptive neuro fuzzy inference system (anfis)LarasWiranti2
 
Jaringan syaraf tiruan
Jaringan syaraf tiruanJaringan syaraf tiruan
Jaringan syaraf tiruanLarasWiranti2
 

More from LarasWiranti2 (13)

Bioinformatika
BioinformatikaBioinformatika
Bioinformatika
 
Modul pemrograman berbasis_web.pdf;filename= utf-8''modul pemrograman berbasi...
Modul pemrograman berbasis_web.pdf;filename= utf-8''modul pemrograman berbasi...Modul pemrograman berbasis_web.pdf;filename= utf-8''modul pemrograman berbasi...
Modul pemrograman berbasis_web.pdf;filename= utf-8''modul pemrograman berbasi...
 
Buku panduan spk
Buku panduan spkBuku panduan spk
Buku panduan spk
 
Makalah analisis dan desain sistem
Makalah analisis dan desain sistemMakalah analisis dan desain sistem
Makalah analisis dan desain sistem
 
Diktat logika informatika unsoed
Diktat logika informatika unsoedDiktat logika informatika unsoed
Diktat logika informatika unsoed
 
Fuzzy2
Fuzzy2Fuzzy2
Fuzzy2
 
Fuzzyuas
FuzzyuasFuzzyuas
Fuzzyuas
 
Pandahuluan sistem fuzzy
Pandahuluan sistem fuzzyPandahuluan sistem fuzzy
Pandahuluan sistem fuzzy
 
Adaptive neuro fuzzy inference system (anfis)
Adaptive neuro fuzzy inference system (anfis)Adaptive neuro fuzzy inference system (anfis)
Adaptive neuro fuzzy inference system (anfis)
 
Anfis
AnfisAnfis
Anfis
 
Jaringan syaraf tiruan
Jaringan syaraf tiruanJaringan syaraf tiruan
Jaringan syaraf tiruan
 
Logika fuzzy
Logika fuzzyLogika fuzzy
Logika fuzzy
 
Soft computing
Soft computingSoft computing
Soft computing
 

Recently uploaded

Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggeraksupriadi611
 
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CModul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CAbdiera
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKDEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKirwan461475
 
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikaAtiAnggiSupriyati
 
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxBAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxJamhuriIshak
 
Latihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajat
Latihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajatLatihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajat
Latihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajatArfiGraphy
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAAndiCoc
 
Dinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genapDinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genapsefrida3
 
Materi Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxMateri Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxRezaWahyuni6
 
tugas karya ilmiah 1 universitas terbuka pembelajaran
tugas karya ilmiah 1 universitas terbuka pembelajarantugas karya ilmiah 1 universitas terbuka pembelajaran
tugas karya ilmiah 1 universitas terbuka pembelajarankeicapmaniez
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdfsdn3jatiblora
 
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5ssuserd52993
 
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docxTugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docxmawan5982
 
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BModul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BAbdiera
 
Aksi nyata Malaikat Kebaikan [Guru].pptx
Aksi nyata Malaikat Kebaikan [Guru].pptxAksi nyata Malaikat Kebaikan [Guru].pptx
Aksi nyata Malaikat Kebaikan [Guru].pptxsdn3jatiblora
 
tugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDtugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDmawan5982
 
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SDPPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SDNurainiNuraini25
 
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxRefleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxIrfanAudah1
 
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..ikayogakinasih12
 
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfModul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfSitiJulaeha820399
 

Recently uploaded (20)

Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggerak
 
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CModul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKDEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
 
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
 
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxBAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
 
Latihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajat
Latihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajatLatihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajat
Latihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajat
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
 
Dinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genapDinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genap
 
Materi Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxMateri Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptx
 
tugas karya ilmiah 1 universitas terbuka pembelajaran
tugas karya ilmiah 1 universitas terbuka pembelajarantugas karya ilmiah 1 universitas terbuka pembelajaran
tugas karya ilmiah 1 universitas terbuka pembelajaran
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
 
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
 
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docxTugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
 
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BModul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
 
Aksi nyata Malaikat Kebaikan [Guru].pptx
Aksi nyata Malaikat Kebaikan [Guru].pptxAksi nyata Malaikat Kebaikan [Guru].pptx
Aksi nyata Malaikat Kebaikan [Guru].pptx
 
tugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDtugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SD
 
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SDPPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
 
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxRefleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
 
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
 
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfModul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
 

Diktat kuliah c

  • 1. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 1 dari 41 halaman Pemrograman Komputer C& Algoritma Oleh Bangun Wijayanto, ST published 2008 Copyright © Bangun Wijayanto 2007 All rights reserved. Without limiting the rights under copyrights reserved above, no part of this publication may be reproduced, stored in or introduced into a retrieval system, or transmitted, in any form or by any means (electronic, mechanical otherwise), without the prior written permission of the copyright owner.
  • 2. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 2 dari 41 halaman Formatted using Open Office Printed and bound in the Indonesia Cetakan pertama www.bangunw.multiply.com
  • 3. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 3 dari 41 halaman Daftar Isi Mengenai C................................................................................................................5 Bahasa Mesin (Mnemonic Code) ................................................................................................5 Bahasa Assembly........................................................................................................................6 Bahasa Tingkat Tinggi (High Level Language)...........................................................................6 Variable dan Kontrol Alur Eksekusi Program ............................................................8 Variabel......................................................................................................................................8 Scope dari Variabel................................................................................................................8 Tipe Data ..............................................................................................................................9 Tipe Data Primitive ...........................................................................................................9 Operator...............................................................................................................................10 1. Operator Penugasan .....................................................................................................10 2. Operator Matematika ...................................................................................................11 Seleksi .................................................................................................................................12 1. If .................................................................................................................................12 2. Switch .........................................................................................................................14 1. While...........................................................................................................................15 2. Do-While.....................................................................................................................16 3. For..............................................................................................................................17 M E T H O D............................................................................................................19 Jenis Fungsi..............................................................................................................................20 Deklarasi sebuah method ..........................................................................................................21 Mendeklarasikan Fungsi ...........................................................................................................22 Method Name ......................................................................................................................23 Parameter.............................................................................................................................23 Return type...........................................................................................................................25 Parameter..................................................................................................................................26 Parameter input ...................................................................................................................26 Parameter input/output ........................................................................................................26 Array........................................................................................................................27 Tipe Bentukan..........................................................................................................30 Nilai Ekstrim & Sorting............................................................................................32 Pencarian Nilai Ekstrim ............................................................................................................32 Nilai Maximum model 1 ......................................................................................................32 Nilai Maksimum model 2.....................................................................................................33 Sorting......................................................................................................................................34 Count Sort............................................................................................................................34 Buble Sort............................................................................................................................36 Insertion Sort........................................................................................................................37 Mengenal IDE..........................................................................................................39
  • 4. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 4 dari 41 halaman * "Ya Tuhan kami terimalah daripada kami (amalan kami), sesungguhnya Engkaulah Yang Maha Mendengar lagi Maha Mengetahui". *
  • 5. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 5 dari 41 halaman Mengenai C Sebagai suatu bahasa pemrograman, C seperti halnya pascal maupun fortran. Nilai disimpan dalam suatu variable. Program terstruktur dan dedifinisikan serta melakukan pemanggilan fungsi. Bahasa C merupakan bahasa yang sukses. Mulai dikembangkan oleh Brian Kernighan dan Dennis Ritchie pada awal tahun '70-an, bahasa C banyak mengalami berbagai kemajuan, perubahan, dan hingga kini (38 tahun lebih) bahasa C masih banyak digunakan dan dipelajari. Belajar menjadi programmer professional seakan belum lengkap tanpa mempelajari C. Tidak mengherankan bila beberapa universitas menjadikan bahasa C sebagai bahasa pemrograman yang wajib. Sistem-sistem operasi yang terkemuka seperti UNIX dan Windows juga dibangun dengan menggunakan bahasa C (dan juga C++). Sistem operasi berbasiskan UNIX dituliskan dalam bahasa C. Dalam kenyataannya C di buat untuk diimplementasikan secara spesifik dalam system operasi UNIX . Sebelum melangkah lebih jauh ada baiknya kita review perkembangan bahasa pemrograman Bahasa Mesin (Mnemonic Code) Bahasa mesin adalah bahasa yang berisi kode-kode mesin yang hanya dapat diinterpretasikan langsung oleh mesin komputer. Bahasa ini merupakan bahasa level terendah dan berupa kode numerik 0 dan 1. Sekumpulan instruksi dalam bahasa Keuntungan: Eksekusi cepat Kerugian: Sangant sulit dipelajari manusia
  • 6. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 6 dari 41 halaman Bahasa Assembly Bahasa assembly adalah bahasa simbol dari bahasa mesin. Setiap kode bahasa mesin memiliki simbol sendiri dalam bahasa assembly. Misalnya ADD untuk penjumlahan, MUL untuk perkalian, SUB untuk pengurangan, dan lain-lain. Kelebihan: Eksekusi cepat, masih bisa dipelajari daripada bahasa mesin, file kecil Kekurangan: Tetap sulit dipelajari, program sangat panjang. Bahasa Tingkat Tinggi (High Level Language) Bahasa tingkat tinggi adalah bahasa pemrograman yang lebih tinggi daripada bahasa assembly. Bahasa ini lebih dekat dengan bahasa manusia. Bahasa inilah yang akan dibahas pada matakuliah ini. Bahasa ini juga memberikan banyak sekali fasilitas kemudahan pembuatan program, misalnya: variabel, tipe data, konstanta, struktur kontrol, loop, fungsi, prosedur dan lain-lain. Contoh: Pascal, Basic, C++, dan Java. Keuntungan: Mudah dipelajari Mendekati permasalahan yang akan dipecahkan Kode program pendek Kerugian: Eksekusi lambat Bahasa generasi ini disebut juga bahasa generasi ke-3 (3rd Generation Programming Language). Bahasa inilah yang akan kita pelajari dalam Dasar Pemrograman C/C++ adalah bahasa pemrograman tingkat menengah yang dirancang oleh Dennis M Ritchie di Bell Laboratories pada tahun 1972. Pada tahun 1978 Dennis dan Brian W. Kernighan mempublikasikan bahasa C melalui The C Programming Language.
  • 7. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 7 dari 41 halaman Kemudian C distandarisasi ANSI tahun 1989. Bahasa C adalah bahasa yang general, tidak dikhususkan untuk suatu bidang/aplikasi tertentu. Algoritma ke C Algoritma tidak terkait dengan suatu bahasa pemrograman apapun sehingga ketika anda belajar dikelas anda akan belajar algoritma untuk memprogram bukan bahasa pemrogramannya, berikut adalah beberapa contoh perbuahan algoritma ke dalambahasa C Algoritma = Not * + - / mod Bahasa C = == ! * + - / %
  • 8. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 8 dari 41 halaman Variable dan Kontrol Alur Eksekusi Program Variabel Variable merupakan lokasi penyimpanan dalam memori. Setiap variable memiliki kemampuan menyimpan suatu informasi sesuai dengan tipe data yang dideklarasikan untuk variable tersebut. Sintaks pendeklarasian varaibel secara umum adalah sebagai berikut: Tipe_data nama_variable; Tipe_data meliputi semua tipe data yang dikenal dalam C, sedangkan nama_variabel adalah identifier yang akan digunakan untuk menunjuk ke variable tersebut didalam program. Contoh : int hitung; kode diatas mendeklarasikan suatu varaibel bernama hitung dengan tipe data integer. Beberapa kata dalam penamaan variable tidak diperkenankan. Hal ini dikarenakan compiler telah mengenali kata tersebut sebagai bagian dari bahasa pemrograman diantara kata kata tersebut adalah (reserved word) Scope dari Variabel Dalam C, secara garis besar scope dari variabel dapat dibedakan menjadi dua bagian, yaitu variabel yang dideklarasikan didalam blok (dikenal juga sebagai property) dan variabel.
  • 9. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 9 dari 41 halaman Tipe Data Setiap variabel harus memiliki tipe data. Sebuah variabel tipe datanya menentukan nilai dari variabel yang dapat memuat dan operasi-operasi yang dapat dilakukannya. Contohnya sebuah tipe data integer (int) dapat memuat hanya nilai-nilai integer (baik positif maupun negative). Tipe Data Primitive Type Length Range unsigned char 8 bits 0 to 255 char 8 bits -128 to 127 short int 16 bits -32,768 to 32,767 unsigned int 32 bits 0 to 4,294,967,295 int 32 bits -2,147,483,648 to 2,147,483,647 unsigned long 32 bits 0 to 4,294,967,295 enum 16 bits -2,147,483,648 to 2,147,483,647 long 32 bits -2,147,483,648 to 2,147,483,647 float 32 bits 3.4 x 10-38 to 3.4 x 10+38 double 64 bits 1.7 x 10-308 to 1.7 x 10+308 long double 80 bits 3.4 x 10-4932 to 1.1 x 10+4932 near (pointer) 32 bits not applicable far (pointer) 32 bits not applicable Kata Kunci Keterangan Size/Format (integers) byte Byte-length integer 8-bit two's complement short Short integer 16-bit two's complement int Integer 32-bit two's complement long Long integer 64-bit two's complement (real numbers) float Single-precision floating point 32-bit IEEE 754 double Double-precision floating point 64-bit IEEE 754 (other types) char A single character 16-bit Unicode
  • 10. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 10 dari 41 halaman character boolean A boolean value (true or false) True or false Contoh penggunaan Tipe data Contoh Tipe Data 178 Int 8864L Long 37.266 Double 37.266D Double 87.363F Float 26.77e3 Double “MIPA UNSOED” String ' c ' Char True Boolean False Boolean Operator Operator merupakan simbol yang biasa digunakan dalam menulis suatu penyataan (statement) dalam bahasa pemrograman apapun. Operator akan melakukan suatu operasi terhadap operand sesuai dengan fungsinya. Contoh operasi antara lain penjumlahan, pengurangan, pembagian dan sebagainya. 3 + 8 * 4 3 8 4 adalah operand + * adalah Operator 1. Operator Penugasan Operator ini adalah operator yang paling sederhana dan hanya dilambangkan dengan karakter ’=’. Operator ini digunakan untuk menugaskan suatu nilai ke suatu variabel. int hitung = 4;
  • 11. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 11 dari 41 halaman yang unik dari operator ini dalam C adalah kita dapat menggunakan operator ini secara berantai dalam suatu ekspresi, contoh: int a, b, c; 2. Operator Matematika Operator ini digunakan dalam ekspresi matematika. Berikut ini daftar operator matematika yang dikenal dalam C: Operator Keterangan + Penjumlahan - Pengurangan * Perkalian / Pembagian % Modulus (sisa bagi) 3. Operator Penaikan dan Penurunan Operator ini digunakan untuk menaikkan atau menurunkan suatu nilai integer (bilangan bulat) sebanyak satu satuan, dan hanya digunakan pada variabel. Operator Keterangan ++ Penambahan dengan nilai satu -- Pengurangan dengan nilai satu Sebagai contoh : x = x + 1; y = y -1; dapat ditulis menjadi: x++ ; atau ++x ; y-- ; atau --y ;
  • 12. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 12 dari 41 halaman Kontrol Alur Eksekusi Program Sebagai bahasa pemrograman, C memiliki cara untuk mengontrol alur eksekusi program bergantung pada kondisi yang telah dietentukan. Secara garis besar, kontrol alur eksekusi ini dapat dikelompokkan ke dalam tiga bagian besar, yaitu seleksi, iterasi / perulangan, dan jump. Seleksi Terdapat dua kunci (keyword) yang dapat digunakan untuk melakukan seleksi dalam C, yaitu if dan switch. Keduanya menentukan alur eksekusi program maman yang akan dijalankan pada suatu percabangan. 1. If Secara umum penggunaan if mengikuti ketentuan sebagai berikut: If (kondisi) Pernyataan1; Else Pernyataan2; Kondisi harus berupa ekspresi yang menghasilkan nilai Boolean (true atau false), sedangkan pernyataan1 dan pernyataan2 merupakan kode atau blok kode yang akan dieksekusi sesuai dengan nilai yang dihasilkan oleh kondisi. Jika kondisi bernilai true
  • 13. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 13 dari 41 halaman maka pernyataan1 yang akan dieksekusi dan sebaliknya jika nilai kondisi adalah false maka pernyataan2 lah yang akan dieksekusi. Dalam penerapannya penggunaan else bersifat opsional, boleh menggunakannya atau tidak sesuai dengan kebutuhan, seperti berikut: If (kondisi) Pernyataan; Dengan demikian pernyataan hanya akan dieksekusi jika kondisi bernilai true. If – else bertingkat (nested) Pada prinsipnya penggunaan if – else adalah sama, namun untuk yang bertingkat dapat mengkombinasikan penggunaannya menjadi bertingkat seperti berikut: If (kondisi1) Pernyataan1; Else if (kondisi2) Pernyataan2; : : else if (kondisiN) pernyataanN; else pernyataanLain;
  • 14. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 14 dari 41 halaman Untuk lebih jelasnya perhatikan contoh berikut 2. Switch penggunaan switch sebenarnya hamper sama dengan if bertingkat, dimana kita bisa menggunakan switch untuk percabangan yang berjumlah lebih darisatu. Karena itu switch bisa dijadikan alternative lain dibandingkan menggunakan if bertingkat. Secara umum bentuk penggunaannya sebagai berikut: switch (ekspresi) { case nilai1: pernyataan1; break; : case nilaiN: pernyataanN; break; default : pernyataanDefault; } #include <stdio.h> int main(){ int suhu; printf("Program mengetahui jenis zatn"); printf("============================nn"); printf("Masukan suhu zat:"); scanf("%d",&suhu); if (suhu<0){ printf("Padat Beku"); } else if((0<=suhu)&&(suhu<=100)){ printf("Padat"); } else{ printf("uap"); } }
  • 15. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 15 dari 41 halaman Iterasi (pengulangan ) 1. While Statement while digunakan untuk mengeksekusi sebuah blok secara berulang selema memenuhi kondisi tertentu. Sintaks penggunaannya adalah sebagai berikut: while (ekspresi) { ....Statement…. } #include <stdio.h> //Program penghitung faktorial int main(void) { //kamus int i = 1; int hasilfaktorial=1; int faktorial; //Algoritma printf("Masukan nilai faktorialn"); scanf("%d",&faktorial); while (i <= faktorial) { hasilfaktorial=hasilfaktorial*i; i=i+1; } printf("hasilnya adalah %d",hasilfaktorial); return 0; }
  • 16. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 16 dari 41 halaman 2. Do-While Sama seperti halnya while pernyataan Do-While digunakan untuk mengeksekusi blok secara berulang sampai tidak memenuhi kondisi tertentu. Pada Do-While ekspresi tidak diperiksa di awal eksekusi sehingga minimal blok statement do-while akan dieksekusi sekali. Sintaks penggunaannya adalah sebagai berikut: do{ …..Statement…. } while (ekspresi) #include <stdio.h> //Program pembalik bilangan int main(void) { //Kamus int value, r_digit; //Algoritma printf("Masukan Bilangan.n"); scanf("%d", &value); do { r_digit = value % 10; printf("%d", r_digit); value = value / 10; } while (value != 0); printf("n"); return 0; }
  • 17. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 17 dari 41 halaman 3. For Statement For digunakan untuk mengeksekusi sebuah blok secara berulang dalam range tertentu. Karakteristik: 1. Digunakan untuk perulangan yang batasnya sudah diketahui dengan jelas, misalnya dari 1 sampai 10. 2. Memerlukan 2 buah variabel awal dan akhir perulangan. 3. Nilai variabel penghitung akan secara otomatis bertambah atau berkurang tiap kali sebuah pengulangan dilaksanakan For(Inisialisasi;terminasi;increment){ …..Statement…. } #include<stdio.h> void main() { int i,j,k,s,n; printf("Masukan banyaknya baris"); scanf("%d",&n); for(i=1,s=n;i<=n;i++,s--) { printf(“%d”,i); } }
  • 18. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 18 dari 41 halaman Inisialisasi dalam for merupakan ekspresi yang dieksekusi pada awal eksekusi for. Terminasi digunakan untuk menentukan kapan pengulangan akan dihentikan. Increment merupakan ekspresi yang akan dieksekusi setiap selesai melakukan satu looping (pengulangan). Kesimpulan Bab III 1. Penggunaan Variable dalam C dideklarasikan dengan Tipe_data nama_variable; 2. Operator merupakan karakter yang digunakan untuk melakukan fungsi tertentu terhadap operasi dari variable 3. Alur Kontrol program secara garis besar terbagi menjadi 2: a. Pilihan b. Perulangan/iterasi
  • 19. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 19 dari 41 halaman M E T H O D Method adalah fungsi atau prosedur yang dibuat oleh seorang programmer didalam suatu file C. Method dapat dibagi menjadi fungsi dan prosedur. Fungsi adalah bagian atau sub dari program yang mempunyai algoritma tertentu dalam menyelesaikan suatu masalah dengan mengembalikan hasil. Prosedur adalah bagian atau sub dari program yang mempunyai algoritma tertentu dalam menyelesaikan suatu masalah tanpa mengembalikan suatu nilai hasil. Secara umum method dalam C adalah sebuah fungsi. Fungsi/function adalah bagian dari program yang memiliki nama tertentu, digunakan untuk mengerjakan suatu pekerjaan tertentu, serta letaknya dipisahkan dari bagian program yang menggunakan fungsi tersebut. Keuntungan Menggunakan fungsi 1. program besar dapat dipisah menjadi program-program kecil. 2. Dapat dikerjakan oleh beberapa orang sehingga koordinasi mudah. 3. Kemudahan dalam mencari kesalahan-kesalahan karena alur logika jelas dan kesalahan dapat dilokalisasi dalam suatu modul tertentu saja. 4. Modifikasi program dapat dilakukan pada suatu modul tertentu saja tanpa mengganggu program keseluruhan. 5. Mempermudah dokumentasi. 6. Reusability: Suatu fungsi dapat digunakan kembali oleh program atau fungsi lain Sifat Fungsi yang baik 1. Nilai fan-in tinggi, artinya semakin sering suatu modul dipanggil oleh pengguna semakin tinggi nilai fan-in 2. Fan-out rendah, artinya semakin spesifik fungsi suatu modul akan semakin rendah nilai fan-out
  • 20. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 20 dari 41 halaman 3. Self-contained tinggi: artinya kemampuan untuk memenuhi kebutuhannnya sendiri. Kategori Fungsi 1. Standard Library Function Yaitu fungsi-fungsi yang telah disediakan oleh Compiler dalam file-file header atau librarynya. Misalnya: clrscr(), printf(), getch(),writeln(),readln() 2. Programmer-Defined Function Adalah function yang dibuat oleh programmer sendiri. Function ini memiliki nama tertentu yang unik dalam program, letaknya terpisah dari program utama, dan bisa dijadikan satu ke dalam suatu library buatan programmer itu sendiri yang kemudian juga di-includekan untuk penggunaanya. Jenis Fungsi 1. Fungsi yang Non-Void Fungsi non-void disebut juga fungsi (terutama di bahasa pemrograman seperti Pascal dan Basic) Disebut non-void karena mengembalikan nilai kembalian yang berasal dari keluaran hasil proses function tersebut Ciri: ada keyword return Ciri: ada tipe data yang mengawali deklarasi fungsi 2. Function yang Void Fungsi yang void sering disebut juga prosedur
  • 21. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 21 dari 41 halaman Disebut void karena fungsi tersebut tidak mengembalikan suatu nilai keluaran yang didapat dari hasil proses fungsi tersebut. Ciri: tidak adanya keyword return. Ciri: tidak adanya tipe data di dalam deklarasi fungsi. Deklarasi sebuah method Method terdiri atas dua bagian yakni : 1. Method declaration 2. Method Body
  • 22. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 22 dari 41 halaman Mendeklarasikan Fungsi dalam Algoritma berikut adalah contoh penulisan fungsi dalam Algoritma Function Tambah(x:integer;y:integer):integer Kamus i:integer Begin i:=x+y; return i; End; Dalam bahasa C Method Name Setiap fungsi dalam pemrograman mempunyai identitas nama fungsi. Penamaan fungsi/ method mengikuti aturan : a. tidak menggunakan spasi atau menggunakan spasi dengan diganti “_” (missal method Hitung_integral) b. Tidak menggunakan kata-kata yang telah dipakai oleh compiler (reserved Word, lihat bab sebelumnya) Int Perkalian (int y,int z) Return Type Method Name Argument / Parameter { int x =0; x=y*z; return x } int Perkalian (int y;int z) Declaration Method Bo
  • 23. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 23 dari 41 halaman Parameter Bagian parameter diisi dengan parameter-parameter fungsi yang diperlukan. Parameter apabila lebih dari satu akan dipisahkan dengan tanda koma (“,”) parameter-parameter pada fungsi-fungsi di C akan di by pass value yang artinya pada tiap fungsi tidak akan dapat merubah isi dari variable parameter yang dimasukan. Setelah ada sedikit gambaran mengenai fungsi timbul pertanyaan dimana letak fungsi dan bagaimana menggunakannya? Berikut adalah contoh didalam bahasa C #include <stdio.h> //Kamus int Alas,Tinggi; float hitungSegitiga(int A, int T){ float hasil; hasil=0.5*A*T; return hasil;} //Algoritma void main(){ Alas=5; Tinggi=6; Luas=hitungSegitiga(Alas,Tinggi);
  • 24. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 24 dari 41 halaman Return type Setiap fungsi menghasilkan suatu nilai dengan tipe data tertentu. Apabila terdapat suatu fungsi yang tidak menghasilkan suatu nilai apapun maka bagian return type ini diganti dengan void . berikut adalah contoh fungsi yang tidak menghasilkan apapun: Contoh dalam algoritma Procedure CetakTambah1(x:integer); Begin x <-- x+1 Writeln(x); End; Contoh dalam C Latihan Sebuah fungsi rumus matematika didefinisikan sebagai berikut: F(x)=3*x1+x2 Dimana nilai x1 dan x2 adalah bilangan bulat, buatlah algoritma fungsi dari rumus matematika tersebut dan gunakan dalam program utama void CetakTambah1(int x){ x=x+1; printf(“%d”,x); }
  • 25. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 25 dari 41 halaman Parameter 1. Parameter formal : parameter yang ditulis pada deklarasi fungsi. 2. Parameter aktual : parameter yang diinputkan dalam program pemanggil fungsi tersebut. Dapat berupa variabel atau langsung berupa nilai tertentu sesuai dengan tipe data yang dideklarasikan untuk masing-masing parameter fungsi. Dalam prosedur parameter dapat memiliki dua sifat: 1. Parameter Input 2. Parameter Input/output Parameter input digunakan untuk memasukan inputan pada suatu prosedur atau fungsi.Tipe data dari parameter input ini harus sama dengan tipe data pada parameter formal di fungsi. Parameter input/output pada prinsipnya sama dengan parameter input. Perbedaannya parameter ini dapat berubah nilai atau isinya sehingga akan merubah nilai parameter tersebut pada alamat memorinya.
  • 26. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 26 dari 41 halaman Array Array adalah suatu tipe data terstuktur yang berupa sejumlah data sejenis (bertipe data sama) yang jumlahnya tetap dan diberi suatu nama tertentu. Elemen-elemen array tersusun secara sekuensial di dalam memori sehingga memiliki alamat yang berdekatan. Array dapat berupa array 1 dimensi, 2 dimensi, bahkan n- dimensi. Elemen-elemen array bertipe data sama tapi bisa bernilai sama atau berbeda- beda. Elemen-elemen array dapat diakses oleh program menggunakan suatu indeks tertentu Pengaksesan elemen array dapat dilakukan berurutan atau random berdasarkan indeks tertentu secara langsung. Pengisian dan pengambilan nilai pada indeks tertentu dapat dilakukan dengan mengeset nilai atau menampilkan nilai pada indeks yang dimaksud. Deklarasi Array dalam Algoritma X : array [ 1.. N ] of Type dalam bahasa C tipedata <spasi> nama_var_array[ukuran]; 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.
  • 27. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 27 dari 41 halaman Tanda [] disebut juga “elemen yang ke- „. Misalnya kondisi[0] berarti elemen yang ke nol. Array yang sudah dipesan, misalnya 10 tempat tidak harus diisi semuanya, bisa saja hanya diisi 5 elemen saja, baik secara berurutan maupun tidak. Namun pada kondisi yang tidak sepenuhnya terisi tersebut, tempat pemesanan di memori tetap sebanyak 10 tempat, jadi tempat yang tidak terisi tetap akan terpesan dan dibiarkan kosong. Untuk meng-instantiate (atau membuat) sebuah array, 1. Tulislah new keyword, 2. Diikuti oleh tanda kurung [] yang berisi angka dari elemen yang Anda inginkan pada array tersebut. 3. Contoh, int ages[]; Untuk mengakses sebuah elemen dalam array , atau mengakses sebagian elemen dari array , Anda menggunakan penomoran yang disebut sebagai index atau subscript. 1. Diberikan kepada tiap anggota array, agar program dapat mengakses anggota dari array. 2. Dimulai dari nol dan kemudian akan terus bertambah sampai list value dari array tersebut berakhir.
  • 28. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 28 dari 41 halaman CATATAN: elemen di dalam array anda dimulai dari 0 sampai (sizeOfArray-1) Contoh, pada array yang telah kita deklarasikan tadi, kita mempunyai //memberikan nilai 10 kepada elemen pertama array int ages[0] = 10; //mencetak elemen array ke 99 printf(“%d” ,ages[99]); //Program Aray void main() { int ages[100] ; //isi data ke array for( int i=0; i<100; i++ ){ ages[i]=i; //cetak isi data for( int i=0; i<100; i++ ){ printf(“%d”, ages[i] ); } }
  • 29. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 29 dari 41 halaman Tipe Bentukan Struct adalah tipe data bentukan yang berisi kumpulan variabel-variabel yang bernaung dalam satu nama yang sama. Berbeda dengan array yang berisi kumpulan variabel yang bertipe data sama, struct dapat memiliki variabel-variabel yang bertipe data sama atau berbeda, bahkan bisa menyimpan variabel yang bertipe data array atau struct Variabel-variabel yang menjadi anggota struct disebut dengan elemen struct Struct bisa diumpamakan sebagai sebuah class, misalnya: Mahasiswa Struct Mahasiswa memiliki property atau atribut atau variabel yang melekat padanya: - NIM yaitu karakter sejumlah 8 - Nama yaitu karakter - IPK yaitu bilangan pecahan Struct hampir mirip dengan class pada Java, namun struct tidak memiliki method atau function. Deklarasi Struct dalam Algoritma Type [<nama tipe komposisi >] = Record <Anggota-1 > : <type-1>; <Anggota-2> : <type-2>; ……………………… End; dalam bahasa C typedef struct Mahasiswa { char NIM[8]; char nama[50]; float ipk; };
  • 30. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 30 dari 41 halaman cara menggunakannya Mahasiswa mhs,mhs2; Penggunaan struct dilakukan dengan membuat suatu variabel yang bertipe struct tersebut Pengaksesan elemen struct dilakukan secara individual dengan menyebutkan nama variabel struct diikuti dengan operator titik (.) Misalnya dengan struct mahasiswa seperti contoh di atas, kita akan akses elemenelemennya seperti contoh berikut: #include <stdio.h> //Pendeklarasian tipe data baru struct Mahasiswa typedef struct Mahasiswa{ char NIM[9]; char nama[30]; Float ipk; }; void main(){ //Buat variabel mhs bertipe data Mahasiswa Mahasiswa mhs; clrscr(); printf("NIM = ");scanf("%s",mhs.NIM); printf("Nama = ");scanf("%s",mhs.nama); printf("IPK = ");scanf("%f",&mhs.ipk); printf("Data Anda : n"); printf("NIM : %sn",mhs.NIM); printf("Nama : %sn",mhs.nama); printf("IPK : %fn",mhs.ipk); }
  • 31. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 31 dari 41 halaman Nilai Ekstrim & Sorting Sering kali kita menemukan permasalahan dimana kita harus mengambil nilai terbesar atau terkecil dari suatu urutan atau kita harus mengurutkan bilangan dari terkecil ke yang terbesar atau sebaliknya. Bab ini akan mempelajari mengenai penggunaan beberapa algoritma sorting dan pencarian nilai maksimum pada suatu tabel / array. Pada buku ini hanya di berikan beberapa algoritma saja, algoritma yang lain diharapkan anda dapat menemukannya melalui pustaka yang ada. Pencarian Nilai Ekstrim Nilai Maximum model 1 int tabelAsli[6]; int MAX,N,i; main(){ MAX=-9999; tabelAsli[0]=2; tabelAsli[1]=5; tabelAsli[2]=5; tabelAsli[3]=100; tabelAsli[4]=3; tabelAsli[5]=2; N=6; for (i=0;i<N;i++){ if (tabelAsli[i]>MAX){ MAX=tabelAsli[i]; } } printf("%d",MAX); }
  • 32. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 32 dari 41 halaman Nilai Maksimum model 2 int MAX,i,N; main(){ MAX=tabelAsli[0]; tabelAsli[0]=2; tabelAsli[1]=5; tabelAsli[2]=5; tabelAsli[3]=100; tabelAsli[4]=3; tabelAsli[5]=10001; N=6; for (i=1;i<N;i++){ if (tabelAsli[i]>MAX){ MAX=tabelAsli[i]; } } printf("%d",MAX); } Latihan Coba anda bandingkan 2 algoritma diatas lalu berikan komentar Buat algoritma pencari nilai minimum dengan memodifikasi algoritma diatas
  • 33. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 33 dari 41 halaman Sorting Pada bagian ini akan dipelajari mengenai beberapa algorita untuk melakukan pengurutan / sorting, ada banyak sekal algoritma untuk melakukan pengurutan, kita akan mempelajari beberapa diantaranya Count Sort Ide dari metode/algoritma ini adalah menghitung banyaknya nilai yang dijumpai pada suatu tabel kemudian dimasukan ke dalam tabel count dimana pada tabel count tersebut bagian indexnya menggambarkan nilai dari tabel yang akan diurutkan dan begian valuenya menggambarkan jumlah value yang ada. Untuk lebih jelasnya perhatikan listing program C berikut
  • 34. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 34 dari 41 halaman int tabelAsli[6]; int tabelCount[6]; int i,k,l; void main(){ i=0; k=0; tabelAsli[0]=2; tabelAsli[1]=5; tabelAsli[2]=5; tabelAsli[3]=4; tabelAsli[4]=3; tabelAsli[5]=2; //menginisialisasi isi tabel count dengan nilai 0 for (i=0;i<6;i++){ tabelCount[i]=0; } //dihitung ke tabel count for (i=0;i<6;i++){ tabelCount[tabelAsli[i]]=tabelCount[tabelAsli[i]]+1; } // mengisikan kembali ke tabel count for (i=0;i<6;i++){ if (tabelCount[i] !=0){ for (l=0;l<tabelCount[i];l++){ tabelAsli[k]=i; k=k+1; } } } }
  • 35. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 35 dari 41 halaman Buble Sort Penggunaan algoritma Count Sort akan memboroskan memory karena kita harus membuat tabel count yang berisi jumlah dari tiap value yang ada pada tabel aslinya, metode cont sort juga tidak efektif karena proses yang dilakukan lebih lama (2 kali proses penyalinan isi array). Buble Sort dapat mengatasi masalah ini. Idenya adalah mengambangkan nilai terkecil ke variabel temporary untuk lebih jelasnya perhatikan source C berikut int tabel[8]; int i,k,pass,temp,N; void main(){ //i=0; k=0; pass=0; N=8; tabel[0]=7; tabel[1]=5; tabel[2]=5; tabel[3]=4; tabel[4]=3; tabel[5]=2; tabel[6]=9; tabel[7]=1; for (pass=0; pass<N;pass++){ for (k=N-1;k>(pass);k--){ if (tabel[k]<tabel[k-1]){ temp=tabel[k]; tabel[k]=tabel[k-1]; printf ("tabelk[%d] temp=%dn",k,tabel[k- 1]); tabel[k-1]=temp; printf ("tabel[%d] temp=%dn",k-1,temp); } } }
  • 36. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 36 dari 41 halaman Insertion Sort Ide dari algoritma ini adalah mencari tempat yang tepat untuk setiap eleman tabel, dengan cara sequential search, kemudian setiap kali menyisipkan sebuah elemen tabel yang diproses ke tempatnya yang seharusnya. Proses dilakukan sebanyak N 1. tabel[0] dianggap sudah pada tempatnya 2. tabel[1] dicarikan tempat yang tepat pada index tabel 1..0 3. tabel[2] dicarikan tempat yang tepat pada index tabel 2..0
  • 37. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 37 dari 41 halaman #include <stdio.h> int tabel[8]; int i,k,pass,temp,N; void main(){ i=0; pass=0; N=8; tabel[0]=7; tabel[1]=5; tabel[2]=5; tabel[3]=4; tabel[4]=3; tabel[5]=2; tabel[6]=100; tabel[7]=1; for (pass=1; pass<(N);pass++){ temp=tabel[pass]; i=pass-1; while ((temp<tabel[i])&&(i>0)){ tabel[i+1]=tabel[i]; i=i-1; } if (temp>tabel[i]){ tabel[i+1]=temp; }else if(temp<=tabel[i]){ tabel[i+1]=tabel[i]; tabel[i]=temp; } } }
  • 38. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 38 dari 41 halaman Mengenal IDE Dalam praktikum ini akan digunakan tools (kakas) MinGW Developer Studio. MinGWDeveloper Studio adalah IDE (Integrated Development Environment/ Lingkungan pengembangan) yang digunakan sebagai editor. MinGW Developer Studio melakukan kompilasi terhadap kode sumber bahasa C yang anda buat dengan GNU GCC ( http://gcc.gnu.org/ ). GCC adalah GNU Compiler Collection, yang berisi front end C, C++, Objective-C, Fortran, Java, dan Ada Gambar 1. MinGW Developer Studio
  • 39. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 39 dari 41 halaman Untuk menjalankan MinGW Developer Studio klik pada icon yang terdapat di desktop atau pada start MinGW Developer Studio 1 2 3 4 1. Tombol untuk membuat file C baru 2. Tombol untuk melakukan kompilasi program 3. Tombol untuk membangun aplikasi (build) 4. Tombol untuk menjalankan aplikasi Membuat Project Baru Dalam praktikum ini usahakan anda menggunakan 1 project saja. Berikut adalah langkah langkah membuat project baru 1. Buka MinGW Developer Studio 2. klik file new akan muncul tampilan sebagai berikut 3. Pilih Win32 Console Application 4. Tuliskan nama project anda dengan NIM anda misal H1B006006 dan lokasi penyimpanan project anda
  • 40. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 40 dari 41 halaman 5. klik OK, maka akan muncul tampilan sebagai berikut 6. Untuk mengerjakan praktikum klik tombol nomor 1 (lihat gambar petunjuk tombol) akan muncul tampilan sebagai berikut 7. Pilih C/C++ Source file, pada bagian file name isikan nama file yang akan dibuat misal latihan1.c kemudian tekan OK 8. sekarang anda telah membuat file latihan1.c file tersebut bisa anda edit
  • 41. “Pemrograman Komputer : C & Algoritma”, Bangun Wijayanto, ST. Fakultas Sains & Teknik Unsoed 2008 halaman 41 dari 41 halaman 9. Pada FileView terlihat bahwa project H1B006006 memiliki satu file yakni latihan1.c tuliskan kodenya pada bagian editor yang ada disebelah kanan 10.untuk melakukan kompilasi dan pembuatan serta pengujian program silahkan gunakan tombol yang telah dijelaskan diatas. Hasil Aplikasi Hasil aplkasi yang telah terkompilasi bisa di copy atau di ambil pada folder <folder penyimpnan project>Debug misal C:Documents and SettingsBangun wijayantoMy DocumentscobaDebug