Monday, June 23, 2008

Mengapa harus bahasa C

Belajar algoritma pemrograman untuk tahapan awal lebih baik mempelajari bahasa C, karena bahasa C lebih terstruktur dan pula dengan mempelajari bahasa C juga akan lebih mengenal komputer secara lebih mendalam. Karena dalam mempelajari C kita dapat tahu bagaimana komputer menempatkan memory untuk tiap nilai variable yang kita inisialisasikan, ditambah lagi bagaimana penggunaan pointer dalam bahasa C.

Diharapkan dengan mempelajari bahasa C untuk selanjutnya dalam mempelajari bahasa lainnya akan terasa lebih mudah. Bahasa C merupakan bahasa yang lebih rendah dari bahasa C++ dan Java. Alasan selain itu karena C adalah dasar dari bahasa pemrograman lainnya. Lagi pula C merupakan salah satu bahasa pemrograman yang tua, tentunya sudah banyak beberapa contoh algoritma yang telah dikembangkan yang memungkinkan untuk dikembangkan lagi.

Program yang dibuat dalam bahasa C berjalan lebih cepat dan dengan ukuran yang sangat kecil dibanding dengan bahasa lainnya. Suatu saat bila diperlukannya sebuah program yang berukuran kecil dan dapat melakukan alur perintah yang sangat cepat maka hanya bahasa C yang bisa melakukan itu.

Apapun yang berkaitan dengan microprocessor telah didukung oleh bahasa C, dari gelombang micro dari telpon celular hingga perangkat lain yang menggunakan microprocessor. Itulah teknologi dari bahasa C.

Sunday, June 22, 2008

Pemrograman Komputer I Bagian Decision

Penggunaan perintah pemilihan (decision)

Perintah pemilihan pada pemrograman sering dilakukan untuk memilih suatu eksekusi yang akan diperlakukan sesuai dengan kondisi tertentu. Penggunaan perintah pemilihan (decision) sering digunakan untuk program / sistem kecerdasan buatan, perintah if , switch, merupakan perintah yang akan sangat banyak digunakan pada program-program yang menyangkut kecerdasan buatan, agar komputer dapat melakukan proses sesuai kondisi yang ada.
Dengan adanya cara seperti ini akan membuat program terasa sangat membantu sekali, karena program dibuat bertujuan untuk membantu kerja manusia, apalagi program yang dirancang benar-benar membuat semuanya serba otomatis.

Penggunaan perintah pemilihan pada bahasa C ada 2 jenis. yaitu if(){}else{} dan switch(){};

Penggunaan if

penggunaan perintah (if()) dilakukan jika terdapat kondisi yang berbeda-beda yang memungkinkan pula berlainan pada unsur dari kondisi tersebut. Dan digunakan untuk kondisi pada penilaian angka yang memiliki range. Misal kasus tampilkan huruf "A" jika nilai n>100 tapi pastikan untuk menampilkan huruf "Z" jika nilai k<9 style="font-family:courier new;">if((n>100) && (k>9))
{
printf("A");
}else
{
printf("Z");
}

dari syntax diatas dapat dibaca yaitu jika kondisi benar (kondisi benar jika nilai n bernilai lebih dari 100 dan k bernilai lebih dari 9) maka akan menampilkan huruf "A" jika selain dari itu maka akan menampilkan huruf "Z". Perintah If untuk melakukan eksekusi jika kondisinya benar dan else bila untuk kondisi yang salah/selain dari kondisi if.

Penggunaan IF juga memungkinkan untuk banyak kondisi seperti:
Kasus: tampilkan konversi nilai , bernilai huruf A jika nilai angka>=80, bernilai huruf B jika nilai angka 60-80, bernilai C jika nilai angka 40-59, dan bernilai D jika nilai angka 1-39, bernilai E jika nilai angka 0.

if(n>=80)
{
printf("A");
}else if((n>=60) && (n<80)
{
prinf("B");
}
else if((n>=40) && (n<60))
{
printf("C");
}
else if((n>0)&&(n<40))
{
printf("D");
}else{prinf("E");}


Penggunaan if() didalam if() (
Nested IF)

Penggunaan if di dalam if itu memungkinkan, bisa saja pada pemilihan disuatu kondisi yang sudah dipilih untuk dimungkinkan memperlakukan perintah berbeda pula. Ambil contoh kasus, jika ada pemberian nilai "A1" jika anak laki-laki bernilai lebih atau sama dengan 60 dan nilai "A2" untuk anak perempuan bernilai lebih atau sama dengan 60, dan nilai "B1" untuk anak laki-laki yang mempunyai nilai kurang dari 60 dan nilai "B2" untuk anak perempuan yang memiliki nilai kurang dari 60.

if(n>=60)
{
if(gender=='L')
{
printf("A1");
}else{printf("A2");

}else
{
if(gender=='L')
{printf("B1");
}else
{
printf("B2");
}
}


Penggunaan Pemilihan dengan perintah switch(){};

Penggunaan pemilihan dengan menggunakan perintah switch digunakan untuk hasil kondisi yang sudah pasti kita ketahui, Contoh kasus adalah, tampilkan tulisan "Ayam" untuk nilai 1,"Bebek" untuk angka 2, "Cecak" untuk angka 3, dan "Kuda" untuk angka selain dari 1,2,3

n = 1;
switch(n)
{
case 1:
printf("Ayam"); break;
case 2:
printf("Bebek");break;
case 3:
printf("Cecak");break;
default:
printf("Kuda");break;
};

hasil perintah diatas akan menghasilkan "Ayam". Karena n bernilai 1, dan untuk kasus bernilai 1 akan melakukan perintah menampilkan tulisan "Ayam". Perintah break digunakan agar program pada nantinya tidak melanjutkan perintah selanjutnya dari kasus yang sudah dipilih.

Apakah akibat jika "break" tidak digunakan?

Akibat yang ditimbulkan dari break tidak digunakan pada perintah swithc adalah, jika n bernilai 2 untuk kasus diatas, maka bukan hanya tulisan "Bebek" saja yang akan muncul tapi perintah case untuk case selanjutnya juga akan di esksekusi seperti menampilkan tulisan "Cecak" dan "Kuda". Penggunaan break ditujukan agar perintah yang harus dijalankan sesuai dengan keinginan sesuai kasus kondisi yang ada, namun juga memungkinkan bila algoritma yang dirancang mengharuskan untuk melakukan eksekusi case dibawahnya. Penggunaan nested switch juga dimungkinkan.

Penggunaan kombinasi-kombinasi perintah pada bahasa pemrograman dimungkinkan jika masih dalam jalur grammar bahasa pemrograman yang digunakan. seperti penggabungan switch dengan if, if dengan for, while dengan if dan lain sebagainya, semua itu dimungkinkan dengan syarat penggunaannya harus sesuai dengan tata bahasa pemrograman tersebut.

Pemrograman Komputer I Bagian Loop

Perulangan (Loop)

Pada bahasa pemrograman ada sifat yang namanya perulangan. Perulangan merupakan suatu cara bagaimana melakukan sesuatu perintah yang sifatnya berulang tanpa harus mengetikkan perintah yang sama secara berulang-ulang kali. Ambil contoh misal akan melakukan penulisan teks sebanyak 1000 baris apakah harus menuliskan listing sebanyak 1000 baris?? hem.. tentu akan banyak menulis listing bukan, dengan adanya penggunaan perulangan tentu kasus seperti itu akan mudah dilakukan. Perulangan banyak kegunaan, ambil contoh untuk proses pencarian data, proses pengindeksan (mengurutkan), dan proses lainnya.

Perulangan dengan menggunakan perintah for(;;)

Ambil contoh dalam proses penampilan data secara berurutan
Kasus : tampilkan urutan angka dari 1 sampai 51, pertambahan 1 kali
main()
{
int i;

for (i = 0 ; i<51;i++)
{
printf("%d\n",i);
}
}

Kasus : tampilkan urutan angka dari 1 sampai 51, pertambahan 2 kali
main()
{
int i;

for (i = 0 ; i<51;i=1+2)
{
printf("%d\n",i);
}
}

Kasus : tampilkan urutan angka dari 100 sampai 51, langkah beda 5
main()
{
int i;

for (i = 100 ; i>=51;i=1-2)
{
printf("%d\n",i);
}
}

Keterangan:
for (i = 0 ; i<51;i=1+2)
i = 0 <--- tahapan mulai
i<51> <--- tahapan akhir, (<,<=) untuk perulangan maju, (>,>=) untuk perulangan mundur)
i=1+2 <--- banyak langkah, (+) untuk perulangan maju, dan (-) untuk perulangan mundur


Sifat dari perulangan for adalah perulangan yang memiliki tahapan awal dan batasan akhir serta memungkinkan penentuan banyaknya langkah untuk tiap tahapan pada perulangannya.

Perulangan dengan menggunakan perintah do{}while();

Perulangan dengan menggunakan do{} while(); merupakan sifat perulangan yang melakukan perintah perulangan terlebih dahulu kemudian baru melihat kondisinya. Ini digunakan jika pada algoritma yang digunakan untuk perulangan yang memiliki kondisi namun setidaknya harus mengeksekusi 1 perintah didalam perulangan tersebut. Contoh penggunaan

int i;
i = 2 ; //inisialisasi tahapan awal
do{
printf("%d",i);
i=i+2; //langkah tahapan, yaitu 2 nilai
}while(i<1); //kondisi tahapan berlanjut jika nilai i kurang dari 1

Dilihat dari perintah perulangan diatas bahwa kondisi perulangan akan dilanjutkan jika nilai i kurang dari 1, namun perintah diatasnya i ditambah nilai 2 dari i nilai sebelumnya yang sudah bernilai 2, sehingga nilai i selanjutnya bernilai 4, dalam kasus disini perulangan tersebut akan tetap dilakukan walaupun kita tahu bahwa sebelumnya nilai i sebelum perulangan saja sudah bernilai lebih dari 1 dan perlungan tetap dilakukan namun hanya sekali saja. Perulangan akan terus berlanjut jika kondisi yang dilihat masih bernilai true / benar.

Perulangan dengan menggunakan perintah while(){}

Penggunaan while memiliki perbedaan dengan penggunaan do{}while();, yang sebelumnya akan tetap melakukan perulangan walaupun hanya sekali ketika kondisi sudah bernilai false, tapiyang ini akan melakukan pengecekan kondisi terlebih dahulu sebelum melakukan eksekusi perulangan. Contoh penggunaan:

int i;
i = 2 ; //inisialisasi tahapan awal
while(i<1)>
//kondisi tahapan berlanjut jika nilai i kurang dari 1
{
printf("%d",i);
i=i+2; //langkah tahapan, yaitu 2 nilai
}

karena kondisi i nilainya sudah lebih dari 1, maka perulangan tidak mungkin terjadi.

Perulangan eksekusi juga dapat dilakukan secara recursive, perulangan ini sangat jarang sekali digunakan. Kelebihan dari perulangan ini sangat cepat dalam prosesnya, namun memakan banyak resource memori dalam pemakaiannya. Perulangan recursive adalah perulangan yang menggunakan cara pemanggilan fungsi dirinya sendiri atau fungsi lain secara terus menerus dan tentunya harus memiliki kondisi tertentu untuk menghentikan perulangan tersebut agar tidak terjadi memory overflow.

Contoh penggunaan perulangan recursive:

int pangkat(int a,int b)
{
if(b>1)
{
return a * pangkat(a,b-1);
}else {return a;}
}

dilihat dari fungsi tersebut ada baris perintah yang memanggil dirinya sendiri, namun dalam pemanggilan fungsi dirinya sendiri haruslah memiliki kondisi untuk menghentikan proses perulangan yang terjadi.

Pemrograman Komputer I Bagian Sequencial

Pada bahasan sebelumnya di Pemrograman Komputer I bagian pertama telah membahas aneka bahasa pemrograman, algoritma dan jenis routine. Di bahasan ini saya akan membahas penggunaan salah satu sifat algoritma, yaitu sequencial.

Pada bahasan sebelumnya telah menekankan bahwa algoritma pada suatu bahasa pemrograman tidak harus sama antara tiap orang dalam melakukan penyusunannya, akan tetapi kita jangan pula mengesampingkan ke-efisienan dari algoritma yang dibuat. Algoritma yang baik adalah algoritma yang cepat prosesnya dan tidak memakan banyak resource memori dan processor.

Untuk bahasan sequencial (ber urutan) tentu bukan masalah yang terlalu sulit. Ambil contoh dalam kehidupan sehari-hari dalam tahapan memasak mie instant. Dalam memasak mie instant tentu harus melalui tahapan langkah demi langkah yang secara berurut agar mie instant yang di masak enak. Begitu juga dalam algoritma pemrograman, semua harus secara sequencial (berurutan) tahapan-tahapn dengan benar.
Kita ambil contoh dalam memasak mie Instant.
Alur yang baik dalam memasak mie adalah :
  1. harus mempunyai bahan-bahan yang dibutuhkan, seperti mie instant, air, kompor untuk memasak, panci (untuk tempat masak), mangkok (untuk mie), sendok atau garpu.
  2. Dalam memasak mie, urutan nya : panaskan air terlebih dahulu, jika sudah mendidih bukalah bungkus mie, kemudian masukan mie instants saja (tanpa bungkus pastinya :p)
  3. Diamkan beberapa menit hingga mie sudah melunak
  4. Masukkan bumbu mie ke dalam mangkok
  5. Kemudian masukan mie kedalam mangkok
  6. Aduk mie hingga merata dengan bumbu menggunakan sendok atau garpu
Tentu diantara kita dalam memasak mie banyak beraneka ragam cara mengolahnya, begitu juga algoritma, ada banyak macam cara membuat algoritma, tapi yang pasti membuat algoritma yang tepat dalam penyusunannya akan menghasilkan formula yang baik. Jika algoritma tidak berurut dari contoh diatas, misal pertama masukan mie kedalam mangkok, kemudian aduk mie hingga merata dengan bumbu, maka jelas langkah tersebut tidak masuk akal, karena mie belum "dimasak", mengaduk mie berarti mie sudah lunak dengan air sehingga baru bisa diaduk, bagaimana bisa mengaduk mie yang masih mentah??? Hehee.. itu hanya sekilas contoh tentang algoritma sequencial.

Contoh Sequencial algoritma bahasa pemrograman:
Kasus: Buat algoritma yang memiliki 2 variabel, dimana salah satu variabel diisikan dengan nilai 3 dan variabel satunya lagi sebagai penampung variabel lainnya yang ditambahkan dengan nilai 2, hasil akhir algoritma adalah menampilkan angka 5.

int main()
{
int a,b;
b = 3;
a = b + 2;
printf("%d",a);
return 0;
}

Urutan diatas adalah pertama tentunya harus mendeklarasikan variabel terlebih dahulu yang dibutuhkan. Seperti halnya memasak mie diatas, kita membutuhkan bahan-bahan.
Langkah selanjutnya dari algoritma diatas adalah mengisi variabel b dengan nilai 3, kemudian variabel a diisikan dengan nilai variable b yang ditambahkan dengan nilai 2, terus ditampilkan nilai a. Contoh algoritma diatas merupakan sequencial. Contoh penggunaan algoritma yang tidak sequencial:

int main()
{
int a,b;
b = 3;
printf("%d",a);
a = b + 2;
return 0;
}

Algoritma diatas adalah contoh algoritma yang tidak sequencial, walaupun tetep judulnya jalan, namun hasil akhir yang dihasilkan dari algoritma tersebut tidak sesuai dengan hasil akhir yang diminta untuk kasus diatas. Alasannya, karena bagaimana mungkin akan menghasilkan tampilan angka 5 jika nilai variabel a belum ditambahkan dengan nilai variabel b dan nilai 2???

begitu juga cara algoritma yang tidak sequencial:

int main()
{
b = 3;
a = b + 2;
int a,b;
printf("%d",a);
return 0;
}

Walaupun urutan perintah menampilkan hasil variabel a dibawah perintah penjumlahan, namun bagaimana mungkin ketika akan menampilkan dan bahkan perintah sebelumnya melakukan operasi matematika belum ditentukan tipe data dari variabel yang digunakan? alias kalau memasak mie gak ada wadah nya (gak ada panci, gak ada air, gak ada kompor). Begitulah ilustrasi penggunaan sequencial didalam algoritma pemrograman


Pemrograman Komputer I

Pengenalan Pemrograman

Pemrograman komputer merupakan suatu teknik menulis, menguji dan memperbaiki kode dalam membangun sebuah program komputer. Tujuan dari melakukan pemrograman adalah untuk membangun sebuah sistem yang dapat melakukan perhitungan ataupun suatu pekerjaan sesuai dengan keinginan yang dibutuhkan. Dalam melakukan pengkodean program kita harus mengetahui dasar-dasar dari bahasa pemrograman itu sendiri, tentunya dalam melakukan pengkodean kita harus menggunakan algoritma.

Algoritma merupakan langkah demi langkah yang disusun secara berurutan /sequencial (dari kiri kekanan, dari atas kebawah) yang dibuat sedemikian rupa untuk mencapai suatu tujuan tertentu dari dibentuknya algoritma tersebut.

Pemrograman merupakan suatu seni dalam membangun suatu algoritma, dimana dibutuhkan kreatifitas dari programmer untuk merangkai tiap kode / syntax program yang disusun sedemikian rupa sehingga menghasilkan rangkaian perintah yang diinginkan.

Program yang baik adalah program yang dibentuk dengan melihat sisi dari kinerja program, efisensi proses (tidak terlalu makan banyak resource prosesor), cepat dalam kinerjanya dan efisiensi memori (tidak banyak makan memori). Bagaimana semua itu bisa tercapai? Tentu bisa bila menggunakan algoritma yang tepat, cermat sehingga pada nantinya menjadikan tiap perintah algoritma yang kita buat berjalan tanpa ada proses yang mubazir (buang banyak resource processor).

Bahasa Pemrograman

Bahasa pemrograman ada berbagai macam. Tiap bahasa pemrograman memiliki ciri khas tersendiri untuk tiap penggunaannya. Pemilihan bahasa pemrograman biasa dipengaruhi dari kemampuan hasil kompiler dari bahasa pemrograman untuk membuat program yang diinginkan. Bahasa pemrograman dibagi menjadi 3 tingkatan, bahkan ada pula yang membaginya menjadi 4 tingkatan. Yaitu:
  • Bahasa Pemrograman Tingkat Tinggi. Seperti : Visual Basic, Basic, Fortan,
    Pascal, Delphie, Java, FoxPro
  • Bahasa Pemrograman Tingkat Menengah. Seperti : C, C++
  • Bahasa Pemrograman Tingkat Bawah. Seperti Assembly
  • Bahasa Mesin. binary 0/1. (Sangat susah untuk dipelajari, mungkin susah untuk masuk diakal) ;)

Tentunya tingkatan dalam bahasa pemrograman jika dilihat dari sisi relevansi apakah bahasa itu mudah atau tidak nya untuk dipelajari, maka bahasa pemrograman hanya bisa dibagi menjadi3 tingkatan saja. Bahasa pemrograman tingkat tinggi dapat dilihat dari sisi syntax yang dipakai pada bahasa pemrograman tersebut. Contoh pada bahasa pemrograman Pascal ataupun delphie. Untuk perintah memilah situasi / keputusan (decision) menggunakan bahasa yang mendekati dekenal oleh manusia atau bahasa alami, yaitu

IF [KONDISI] THEN [PERINTAH 1] ELSE [PERINTAH LAIN]
END IF


Perintah tersebut sama dengan perintah Visual Basic / Basic, dimana bahasa diatas yang digunakan ilustrasinya adalah Jika KondisiBenar Maka Lakukan_perintah_1 Selain itu (kondisi salah) Lakukan_perintah_lain. Sedangkan penggunaan bahasa menengah (C,C++) sudah mulai menjauh dari bahasa alami. Seperti:

if(kondition)
{eksekusiPerintah();}

else
{eksekusiPerintahLain();}


Jika dibandingkan dengan grammar bahasa sebelumnya maka pada bahasa C lebih cenderung menggunakan symbol-symbol karakter dari pada bahasa tingkat tinggi yang menggunakan perintah yang mendekati bahasa alami. Sedangkan pada bahasa tingkat rendah penggunaan bahasanya sudah mulai sangat jauh dari bahasa alami. Perintah pada bahasa pemrograman tingkat rendah lebih mengacu pada perintah ke mesin, seperti pemindahan alamat memori pada register. Tentunya, semakin rendah tingkatan suatu bahasa pemrograman maka bahasa pemrograman tersebut semakin ditujukan untuk dapat dimengerti oleh mesin. Sedangkan semakin tinggi tingkatan suatu bahasa pemrograman maka bahasa tersebut ditujukan untuk mudah dimengerti oleh manusia.

Dasar-Dasar Pemrograman

Bahasa pemrograman merupakan algoritma yang memiliki 3 sifat, sifat-sifatya diantara lain:

  • Sequencial (berurutan, dair kiri kekanan, dari atas kebawah)
  • Memiliki sifat perulangan (for, while, do while)
  • Memiliki sifat pemilihan / decision (if then, select case)

Ketiga sifat diatas selalu diterapkan oleh banyak bahasa pemrograman yang tersetruktur, namun seperti yang dikatakan sebelumya, bahwa tiap bahasa pemrograman memiliki ciri khas tersendiri dalam penerapan sifat-sifat tersebut.


Tipe Data

Pada bahasa pemrograman biasa menerapkan adanya tipe data sebagai penentu penggunaan variable dalam mendukung pembangunan algoritma. Tipe data dasar adalah bilangan bulat, bilangan pecahan, dan karakter. Semua jenis tipe data tersebut pada beberapa jenis bahasa pemrograman telah dikembangkan menjadi lebih banyak misal pada bahasa C++,tipe data yang dikenal adalah:

                 Type  Bytes  Bits                Range
           short int    2      16          -32,768 -> +32,767          (32kb)
unsigned short int 2 16 0 -> +65,535 (64Kb)
unsigned int 4 32 0 -> +4,294,967,295 ( 4Gb)
int 4 32 -2,147,483,648 -> +2,147,483,647 ( 2Gb)
long int 4 32 -2,147,483,648 -> +2,147,483,647 ( 2Gb)
signed char 1 8 -128 -> +127
unsigned char 1 8 0 -> +255
float 4 32
double 8 64
long double 12 96



Routine

Pada bahasa pemrograman biasanya memiliki routine atau yang biasa dikenal sub routine dan fungsi. Apakah subroutine dan fungsi itu? subroutine dan fungsi adalah kumpulan syntax atau algoritma yang memiliki kegunaan tertentu dalam menunjang terbentuknya suatu satu-kesatuan sebuah (sistem / program), atau elemen yang memiliki peranan dalam mendukung sebuah sistem.

Namun terdapat perbedaan antara fungsi dan subroutine. Perbedaannya terletak pada pengembalian nilai (value return). Didalam bahasa pemrograman membolehkan terjadinya suatu routine yang tidak mengembalikan nilai balik yang biasa dikatakan subroutine, dan untuk sekumpulan algoritma (routine) yang disusun dan mengembalikan nilai balik itu dinamakan fungsi. Contoh subroutine:

void NamaSubroutine()
{
int a, b, c;
a = 2; b = 8;
c = a + b;
printf("%d",c);
}

Pada contoh syntax diatas dapat dilihat bahwa sub routine dengan nama Namasubroutine() melakukan perintah pendeklrasi variable, kemudian menginisialisasi nilai variable a dan b, kemudian menjumlahkan kedua nilai variable tersebut yang ditampung pada variable c, setelah itu perintah menampilkan nilai dari c. Dapat dilihat bahwa pada subroutine tidak melakukan nilai balik.
Contoh Fungsi (mengembalikan nilai balik:

int NamaFunc()
{
int a, b, c;
a = 2; b = 8;
c = a + b;
return c; //nilai balik
}

Pada contoh syntax diatas dapat dilihat bahwa fungsi dengan nama NamaFunc() melakukan pengembalian nilai dengan perintah return. Lihat pula pada type data routine NamaSubroutine() dengan routine NamaFunc(). Type Data int adalah type data bilangan bulat dimana nilai baliknya pula harus bilangan bulat pula, dapat dilihat c adalah type data int yang juga sama bilangan bulat. Sedangkan pada Namasubroutine deklrasinya adalah void, dimana void biasanya diartikan kosong, yaitu tidak mengembalikan nilai.

Kapan digunakan subroutine?

Subroutine digunakan bila kita ingin membuat sekumpulan rangkaian perintah yang tidak memerlukan nilai balik. Contoh:

kasus tampilkan header program sebanyak dua kali yang terletak di awal program dan diakhir program.

void NamaSub_Header()
{
printf("=======================================\n");
printf("|| SilverMildz21, Lab. Copyright 2008||\n");
printf("=======================================\n");
}

main()
{
NamaSub_Header();
printf("Selamat belajar bahasa pemrograman\n");
printf("Semoga anda sukses\n");
NamaSub_Header();
}

Hasil eksekusi perintah dalam bahasa C diatas adalah:

=======================================
|| SilverMildz21, Lab. Copyright 2008||
=======================================
Selamat belajar bahasa pemrograman
Semoga anda sukses
=======================================
|| SilverMildz21, Lab. Copyright 2008||
=======================================

Dapat kita lihat contoh diatas bahwa dalam membuat header program yang hasilnya 2 kali hanya memanggil perintah subroutine 2 kali yang mana perintah setiap pemanggilannya hanya satu baris saja, padahal isi dari sub routine terdapat 3 baris. Tentu hasil dari pemanggilan soubroutine tidak mengembalikan nilai, tapi hanya melakukan serangkaian perintah, contoh diatas adalah menulis text header dan pada kasus disini pula dengan menggunakannya subroutine sudah menghemat baris perintah. Bayangkan bila tidak ada subroutine, maka kita harus mengetikkan berulang-ulang untuk baris algoritma yang sama, tentunya ini membuat kode program sangat panjang.

Kapan penggunaan fungsi?

Penggunaan fungsi digunakan hampir sama dengan subroutine, yaitu jika alur algoritma yang panjang digunakan berulang-ulang. Misal

int Pangkat(int a,int b)
{
int I,r;
r = 1;
for(I=0;I<b-1;I++)
{
r = a * (a);
}

return r;

}

main()
{
printf("Nilai dari 2 pangkat 3 adalah : %d\n", pangkat(2,3));
printf("Nilai dari 9 pangkat 2 adalah : %d", pangkat(9,2));
}

Maka hasil baris perintah diatas adalah:

Nilai dari 2 pangkat 3 adalah : 8
Nilai dari 9 pangkat 2 adalah : 81

Fungsi Pangkat diatas melakukan perintah pengkalian yang dipangkatkan sebanyak pangkat yang diinginkan. Dapat dilihat dari susunan algoritma fungsi pangkat, dimana terdapat lebih dari 2 baris dan pada akhir fungsi mengembalikan nilai, yaitu nilai variabel a. Dapat dilihat pula dalam pemakaiannya seperti:

printf("Nilai dari 2 pangkat 3 adalah : %d\n",pangkat(2,3));
printf("Nilai dari 9 pangkat 2 adalah : %d",pangkat(9,2));

Sehingga dalam melakukan perhitungan pangkat tidak harus mengetikkan baris program algoritma pangkat yang sama pada kasus yang sama selanjutnya, tapi hanya melakukan pemanggilan fungsi yang telah dibuat.

Apakah maksud (2,3) pada pangkat(2,3)??

Itu adalah parameter masukan. Pada subroutine ataupun fungsi membolehkan adanya penggunaan parameter masukan sebagai pendukung dari subroutine atau fungsi tersebut. Penggunaan parameter disesuaikan dengan kebutuhan dari fungsi atau routine tersebut. Contoh nya dapat dilihat pada fungsi pangkat diatas, karena pada fungsi pangkat diatas membutuhkan nilai yang dipangkatkan, dan nilai pangkatnya, sehingga membutuhkan 2 nilai masukan. Pada bahasa pemrograman, memungkinkan pula untuk mendapatkan nilai balikan dari parameter, bisa berupa subroutine atau juga fungsi Contoh:


void Pangkat(int a, int b,int &c)

{
int I,r;
r = 1;

for(I=0;I<b-1;I++)
{
r = a * (a);
}

c = r;
}

main()
{
int c;
pangkat(2,3);
printf("Nilai dari 2 pangkat 3 adalah : %d\n", c);
}

Pada deklrasi void Pangkat(int a, int b,int &c) terdapat penambahan
int &c. Ini adalah paramter yang dapat mengembalikan nilai, penggunaanya jelas dapat dilihat diatas.

Pesan


Pemrograman komputer merupakan suatu seni tersendiri yang membutuhkan kreatifitasan dari sang programmer. Pemrograman bukan sesuatu yang dogma, yang harus sama dengan yang sudah ada yang pada akhirnya membatasi diri untuk berkembang, kita pun dapat membuat algoritma sendiri sesuai keiinginan kita, pengunaan bahasa tergantung pula dari kebiasaan kita. Pemrograman merupakan permainan algoritma, algoritma merupakan tahapan-tahapan untuk mencapai tujuan tertentu. Seperti halnya memasak mie instants, tentu setiap orang memiliki cara-cara berbeda dalam membuatnya, begitu juga pemrograman, ada banyak cara yang berbeda untuk membuatnya.