Menu
Pasang iklan SEO disini Murah, 300.000/6 Bulan dan dapatkan Trafik setiap harinya

Mengoperasikan Bahasa Pemrograman Terstruktur TIK.PR02.008.01

Apr
29
2015
by : Bupeko. Posted in : blog

 

MATERI PELATIHAN BERBASIS KOMPETENSI

SEKTOR TEKNOLOGI INFORMASI DAN KOMUNIKASI

 

 

 

 

 

MENGOPERASIKAN BAHASA PEMROGRAMAN TERSTRUKTUR

TIK.PR02.008.01

 

 

 

 

 

 

 

BUKU INFORMASI

 

 

 

 

 

 

 

DEPARTEMEN TENAGA KERJA DAN TRANSMIGRASI R.I.

DIREKTORAT JENDERAL PEMBINAAN PELATIHAN DAN PRODUKTIVITAS

Jl. Jend. Gatot Subroto Kav.51 Lt.7.B Jakarta Selatan

 

DAFTAR ISI

 

Daftar Isi ………………………………………………………………………………… ….     1

BAB I 38

PENGANTAR. 38

1.1                 Konsep Dasar Competency Based Training (CBT) 38

1.2                 Penjelasan Modul 38

1.2.1   Desain Modul 38

1.2.2   Isi Modul 38

1.2.3   Pelaksanaan Modul 39

1.3 Pengakuan Kompetensi Terkini (RCC) 39

1.4 Pengertian-Pengertian / Istilah. 40

BAB II 42

STANDAR KOMPETENSI 42

2.1 Peta Paket Pelatihan. 42

2.2 Pengertian Unit Standar Kompetensi 42

2.3 Unit Kompetensi Yang Dipelajari 42

2.3.1 Kode dan Judul Unit 42

2.3.2 Deskripsi Unit 42

2.3.3 Elemen Kompetensi 43

2.3.4 Batasan Variabel 44

2.3.5 Panduan Penilaian. 44

2.3.6 Kompetensi Kunci 45

BAB III 46

STRATEGI DAN METODE PELATIHAN. 46

3.1                 Strategi Pelatihan. 46

3.2                 Metode Pelatihan. 46

BAB IV. 48

MATERI UNIT KOMPETENSI 48

4.1                 Tujuan Instruksional Umum.. 48

4.2                 Tujuan Instruksional Khusus 48

4.3                     Menggunakan Tipe Data dan Kontrol Program.. 49

Dalam mempelajari suatu bahasa pemrograman, sangatlah penting untuk menguasai dasar-dasar dari bahasa itu sendiri. Sebagai permulaan, kita akan mempelajari dasar yang sangat penting, yaitu macam-macam tipe data yang ada dan struktur kontrol program pada pemrograman terstruktur. 49

4.3.1.                 Tipe Data. 49

Tipe data didefinisikan sebagai satu himpunan nilai dan semua operasi yang bisa dilakukan dengan nilai-nilai tersebut. Tipe data masing-masing bahasa pemrograman memiliki definisi sendiri. Namun secara umum, tipe data bisa dibedakan menjadi : 49

  • Boolean. 49

Boolean/bool merupakan tipe data dengan single-bit, yaitu tipe yang hanya bernilai “true” (1) atau “false” (0). Operator yang bisa digunakan berikut tabel kebenarannya : 49

Operasi 49

Hasil 49

true and true. 49

true and false. 49

false and true. 49

false and false. 49

true. 49

false. 49

false. 49

false. 49

true or true. 49

true or false. 49

false or true. 49

false or false. 49

true. 49

true. 49

true. 49

false. 49

not false. 49

not true. 49

true. 49

false. 49

true eq true. 49

true eq false. 49

false eq true. 49

false eq false. 49

true. 49

false. 49

false. 49

true. 49

true xor true. 49

true xor false. 49

false xor true. 49

false xor false. 49

false. 49

true. 49

true. 49

false. 49

Untuk beberapa bahasa pemrograman tidak mensupport tipe data ini, namun bisa menggunakan tipe integer seperti yang akan dijelaskan pada tipe data selanjutnya. 50

  • Integer 50

Tipe data integer mewakili bilangan bulat. Berikut ini adalah operasi yang bisa dilakukan terhadap tipe data integer : 50

Operator 50

Keterangan Operator 50

Hasil 50

*. 50

+. 50

- 50

/ 50

mod. 50

abs 50

^. 50

<. 50

≤. 50

>. 50

≥. 50

=. 50

≠. 50

kali 50

tambah. 50

kurang. 50

bagi 50

sisa pembagian. 50

nilai absolut 50

pangkat 50

lebih kecil 50

lebih kecil atau sama dengan. 50

lebih besar 50

lebih besar atau sama dengan. 50

sama dengan. 50

tidak sama dengan. 50

Integer 50

integer 50

integer 50

real 50

integer 50

integer 50

integer > 0. 50

integer 50

boolean. 50

boolean. 50

boolean. 50

boolean. 50

boolean. 50

  • Floating Point 51

Tipe data ini mewakili bilangan pecahan. Contoh penulisannya adalah sebagai berikut : 51

-                          0.5. 51

-                          5.4. 51

-                          3.3E-2 (sama dengan 3.3 x 10-2 atau 0.033) 51

Operator yang bisa digunakan untuk tipe data ini adalah *, +, -, /, ^, <,  ≤, >, ≥, =, dan ≠. 51

  • Character dan String. 51

Tipe character (char) bisa digunakan untuk menampung satu huruf, angka, symbol, dsb. Sedangkan String merupakan kumpulan dari beberapa karakter. 51

Berikut ini adalah contoh penggunaan char pada bahasa C : 51

-                          ‘A’ 51

-                          ‘1’ 51

-                          ‘#’ 51

-                          ‘\n’ (karakter Enter) 51

Contoh penggunaan string pada bahasa C : 51

-                          “Hello” 51

-                          “25 buah” 51

Berikut ini adalah tipe data yang ada pada bahasa C (Borland C 3.1) : 51

Tipe Data. 51

Besar 51

Rentang. 51

unsigned char 51

char 51

enum.. 51

unsigned int 51

int 51

unsigned long. 51

long. 51

float 51

double. 51

long double. 51

8 bits 51

8 bits 51

16 bits 51

16 bits 51

16 bits 51

32 bits 51

32 bits 51

32 bits 51

64 bits 51

80 bits 51

0 to 255. 51

-128 to 127. 51

-32,768 to 32,767. 51

0 to 65,535. 51

-32,768 to 32,767. 51

0 to 4,294,967,295. 51

-2,147,483,648 to 2,147,483,647. 51

3.4 x 10-38 to 3.4 x 10+38 51

1.7 x 10-308 to 1.7 x 10+308 51

3.4 x 10-4932 to 1.1 x 10+4932 51

4.3.2.                 Aturan Penamaan Nama dan Sintaks 52

Setiap bahasa pemrograman memiliki pengaturan nama dan sintaks sendiri. Pengaturan nama fungsi, prosedur, tipe, tempat penyimpanan data(variabel), dan konstanta haruslah unik untuk membedakan yang satu dengan yang lainnya. Sedangkan penamaan sintaks sudah didefinisikan dan akan menentukan instruksi yang diminta untuk dijalankan pada mesin. 52

Sebagai contoh pada bahasa C terdapat aturan-aturan sebagai berikut : 52

  • Semua penamaan nama maupun sintaks bersifat case sensitive, artinya terdapat pembedaan untuk huruf kecil/kapital. 52
  • Setiap instruksi diakhiri dengan karakter ‘;’ (titik koma). 52
  • Pemberian komentar atau kata-kata yang bersifat keterangan dan bukan bertujuan untuk pemberian instruksi dilakukan setelah tanda ‘//’. Untuk pemberian komentar untuk baris lebih dari 1 diawali dengan tanda ‘/*’ dan diakhiri dengan tanda ‘*/’. 52
  • Untuk penamaan variabel memiliki aturan seperti berikut : 52

-                          Harus berupa huruf, angka, dan karakter ‘_’ (underscore). 52

-                          Tidak boleh diawali dengan angka. 52

-                          Harus berupa satu kesatuan (tidak boleh lebih dari satu kata). 52

Berikut ini adalah contoh beberapa instruksi dengan bahasa C : 52

  • int x;   // definisi variabel x dengan tipe int 52
  • char a;    // definisi variabel a dengan tipe char 52
  • clrscr();     // clrscr adalah instruksi untuk pembersihan layar\ 52
  • x = 5;    // pengisian nilai 5 ke variabel x. 52

4.3.3.                 Kontrol Program.. 52

Perbedaan utama bahasa pemrograman terstruktur dengan bahasa lainnya (misal bahasa pemrograman berorientasi objek) adalah pada alur jalannya program. Pada pemrograman terstruktur instruksi dijalankan mulai dari instruksi pertama, kedua, dst. 52

Untuk lebih memahami alur program, perhatikan penggalan contoh program berikut : 52

01                       int i; 52

02                       char a; 52

03                       clrscr(); 52

04                       printf(“Hello ”);   // instruksi untuk mencetak. 52

05                       printf(“World”);   // instruksi untuk mencetak. 52

Contoh di atas dibuat dengan menggunakan bahasa C. Alur program pada penggalan di atas dimulai pada baris 1, dilanjutkan ke baris 2, 3, dst. Instruksi akan terus dijalankan secara sekuensial sampai menemui akhir dari baris program. Instruksi pada baris 4 dan 5 jika dijalankan akan mencetak “Hello World”, namun jika kita menukarkan instruksi 4 dan 5, yang tercetak adalah “WorldHello ”. Alur program akan berubah jika menemui perulangan dan seleksi yang akan kita pelajari pada sub bab berikutnya. 52

4.4                     Membuat Program Sederhana. 53

Dalam pembuatan program, ada beberapa hal yang harus diperhatikan : 53

  • Library yang akan digunakan. 53

Library merupakan header file. Di dalam library inilah terdapat definisi sintaks-sintaks yang akan mengisi baris-baris program. 53

  • Fungsi/prosedur utama. 53

Di dalam fungsi/prosedur utama inilah tempat kita menempatkan semua baris-baris program yang dibuat. Baris-baris program akan dijalankan sekuensial mulai dari baris pertama. Untuk membedakan fungsi atau prosedur akan kita pelajari dalam sub bab yang akan membahasnya lebih spesifik. 53

  • Prosedur atau fungsi lainnya. 53

Prosedur atau fungsi memisahkan beberapa baris program menjadi bagian tersendiri untuk tujuan tertentu, misalnya untuk keefisienan pembuatan baris program yang akan dipanggil beberapa kali. Beberapa programer juga sering menggunakan prosedur atau fungsi ini untuk kemudahan pembacaan algoritma program secara keseluruhan. Untuk pembuatan lebih jelasnya akan dibahas pada sub bab 4.5. 53

  • Data yang akan digunakan. 53

Sebelum memulai pembuatan program, programer melakukan analisis tentang data dan algoritma yang akan dipakai. Semua data yang diperlukan akan direpresentasikan dalam variabel-variabel yang harus didefinisikan dulu sebelumnya. 53

  • Algoritma yang akan digunakan. 53

Programer harus mendaftar semua algoritma yang akan digunakan, misalnya algoritma pencarian, algoritma pengurutan data, dsb. 53

Berikut ini adalah contoh baris program dengan bahasa C : 53

01                       #include<stdio.h>. 53

02                       #include<conio.h>. 53

03                       int varGlobal; 53

04                       void main() 53

05                       {. 53

06                       int x; 53

07                       clrscr(); 53

08                       printf(“Hello World”); 53

09                       }. 53

Untuk kompilasi program di atas, dengan program BC 3.1 bisa dilakukan dengan menekan Alt + F9. Sedangkan untuk menjalankannya bisa dengan Ctrl + F9. 53

Perhatikan baris 1 dan 2 di atas. Baris-baris tersebut berfungsi untuk menyatakan library apa saja yang dibutuhkan untuk sintaks-sintaks yang akan digunakan. Dalam contoh di atas library stdio.h dibutuhkan untuk sintaks printf (sintaks untuk mencetak ke standard output), sedangkan untuk conio.h digunakan untuk clrscr (sintaks untuk membersihkan layar). 53

Pada baris 4 tertera void main(). Inilah yang disebut dengan prosedur utama dari program. Semua baris program yang tertulis di dalam fungsi diawali dan diakhiri dengan tanda kurung kurawal ‘{‘ dan ‘}’. Instruksi program yang dijalankan pertama kali adalah instruksi setelah tanda ‘{‘, yaitu int x; dan akan dilanjutkan secara sekuensial, pada baris 7 clrscr();, sampai pada baris terakhir sebelum tanda ‘}’, yaitu baris 8 dengan instruksi printf(“Hello World”);. Setelah baris ini program akan membebaskan semua memori yang digunakan dan berhenti. 54

Pendeklarasian variabel sebagai tempat penampungan data pada contoh di atas ada pada baris 3 dan 6. Deklarasi masing-masing variabel sama-sama memiliki tujuan memesan memori untuk penyimpanan data dengan tipe integer (int).  Namun pada masing-masing baris tersebut memiliki scope atau ruang lingkup yang berbeda. 54

Deklarasi variabel pada baris 6 ada dalam lingkup fungsi utama, sehingga pemakaian variabel ini hanya dikenal dalam prosedur utama saja. Demikian juga jika kita mendeklarasikan variabel pada suatu fungsi atau prosedur, variabel itu hanya dikenal di dalam fungsi itu saja. Variabel seperti ini disebut variabel lokal. 54

Sedang untuk deklarasi di luar prosedur atau fungsi seperti yang tertera pada baris 3 dinamakan variabel global. Variabel global memiliki lingkup seluruh program, tidak terbatas pada prosedur atau fungsi tertentu. Pada penggunaannya lebih disarankan untuk pemakaian variabel lokal. 54

4.4.1.                 Input/Output 54

Seringkali program yang kita buat membutuhkan input dari pengguna. Untuk input dari luar dibutuhkan sintaks untuk pengambilan input dan variabel yang akan menampung inputan yang dimasukkan oleh pengguna. 54

Berikut ini diberikan contoh untuk pengambilan input dengan bahasa C : 54

01                       #include<stdio.h>. 54

02                       #include<conio.h>. 54

03                       void main() 54

04                       {. 54

05                       int x; 54

06                       clrscr(); 54

07                       printf(“Masukkan usia anda : ”); 54

08                       scanf(“%d”,&x); 54

09                       }. 54

Ini adalah tampilan layar hasilnya : 54

………………………………. 54

Misal pengguna melakukan inputan, maka inputan akan muncul di layar : 54

……………………………….. 54

Perhatikan pada gambar pertama, perhatikan bahwa setelah mencetak kata-kata “Masukkan usia anda : ” program menunggu inputan dari pengguna dengan cara menampilkan tanda ‘_’ (underscore). Penginputan ini diakibatkan oleh baris program scanf pada baris 8 yang memang merupakan sintaks untuk memasukkan input dari standard input yaitu keyboard. Proses pengisian input akan selesai jika user sudah memasukkan input dan menekan tombol Enter. 55

Berikut ini adalah beberapa contoh sintaks pengisian input pada bahasa C : 55

  • scanf(“%d”,&x); 55

Sintaks scanf digunakan untuk meminta inputan. Sintaks ini membutuhkan minimal 2 parameter, yaitu : 55

-                          parameter pertama, berisi format inputan. Format inputan ini berupa string dan ditulis dengan diapit tanda petik dua (“…”). Formatnya sendiri ada bermacam-macam. Misal untuk contoh di atas, %d menyatakan input yang diharapkan bertipe integer. Jadi disarankan variabel yang digunakan juga memiliki tipe yang sama, yaitu integer supaya mendapatkan hasil yang diinginkan. 55

-                          parameter kedua, berisi alamat variabel yang akan menampung hasil inputan. 55

  • scanf(“%c”,&hrf); 55

Contoh di atas untuk inputan dengan tipe char (%c). 55

  • scanf(“%f”,&pch); 55

Contoh di atas untuk inputan dengan tipe float (%f). 55

  • gets(nama); 55

Gets digunakan untuk meminta inputan berupa string atau array dari katakter atau gabungan dari karakter-karakter. Untuk array ini akan diperjelas di sub bab 4.6. Nama adalah nama variabel yang akan digunakan untuk menampung string yang dimasukkan. 55

Untuk output bisa berupa hasil penulisan di layar, file, ataupun printer. Standard output yang digunakan biasanya berupa hasil ketikan di layar. Sintaks yang digunakan sudah kita pelajari sebelumnya, yaitu printf. 55

Untuk mencetak nilai yang ditampung di dalam variabel digunakan cara yang sama dengan scanf, contohnya printf(“Usia saya adalah : %d”,x);. 55

4.4.2.                 Percabangan dan Perulangan. 55

Sebelum memasuki percabangan dan perulangan, kita akan membahas terlebih dahulu ekspresi dan statement. Ekspresi terdiri dari operan dan operator. 55

Berdasarkan jumlah operannya, ekspresi bisa dibedakan menjadi 2, yaitu : 55

  • Ekspresi uner, yaitu ekspresi dengan operator yang hanya membutuhkan satu operan. 55
  • Ekspresi biner, yaitu ekspresi yang membutuhkan dua operan. 55

Ekspresi juga bisa dibedakan dari tipe hasilnya, yaitu : 55

  • Ekspresi Boolean. 55

Ekspresi ini memiliki hasil berupa tipe Boolean (true, false). 56

Contoh dalam bahasa C : 56

-                          x>5. 56

Ekspresi ini bernilai benar(true) atau dalam bahasa C dilambangkan dengan nilai integer bukan 0 jika nilai yang ada dalam variabel x lebih dari 5. 56

-                          (x>0) && (x<5) 56

Ekspresi ini bernilai benar(true) jika nilai x lebih besar dari 0 dan lebih kecil dari 5. 56

-                          (x<0) || (x>5) 56

Ekspresi ini bernilai benar(true) jika nilai x lebih kecil dari 0 atau lebih besar dari 5. 56

  • Ekspresi numerik. 56

Ekspresi ini memiliki hasil berupa tipe integer atau floating point. 56

Contoh dalam bahasa C : 56

-                          1+2  à  1 tambah 2. 56

-                          30*14  à  30 kali 14. 56

-                          500/6  à  500 bagi 6. 56

-                          1%2  à  1 modulus 2 (sisa hasil bagi 1 dan 2) 56

  • Ekspresi karakter dan string. 56

Ekspresi ini memiliki hasil berupa karakter atau string. 56

Sedangkan statement mengindikasikan adanya instruksi yang akan dijalankan misalnya : 56

  • Pemberian nilai ke variabel 56

Contoh : 56

-                          X = 5; 56

-                          Y = ‘a’; 56

-                          Z = x + 2; 56

  • Pemanggilan fungsi atau prosedur 56

Contoh : 56

-                          printf(“Happy Day”); 56

-                          clrscr(); 56

-                          gets(nama); 56

  • Bentuk perulangan atau seleksi 56

Bentuk ini akan dijelaskan berikut ini. 56

Percabangan. 56

Percabangan bertujuan untuk melakukan seleksi beberapa kondisi untuk menjalankan baris-baris program tertentu. Percabangan ini sering dikenal dengan istilah seleksi. Sintaks yang digunakan untuk seleksi adalah : 56

  • if-then-else. 56

Sintaksnya adalah : 56

-                          if( [expression] ) { [statement]; }. 56

-                          if( [expression] ) { [statement1]; }. 56

else { [statement2]; }. 56

  • switch-case. 56

Sintaksnya adalah : 57

switch( [expression] ) {. 57

case [constant expression1] : [statement1]; 57

case [constant expression2] : [statement2]; 57

default : [statementDefault]; 57

}. 57

Untuk lebih jelasnya perhatikanlah contoh berikut : 57

01                       #include<stdio.h>. 57

02                       #include<conio.h>. 57

03                       void main() 57

04                       {. 57

05                       int x; 57

06                       clrscr(); 57

07                       printf(“Masukkan sebuah angka : ”); 57

08                       scanf(“%d”,&x); 57

09                       if( (x%2)==0 ){. 57

10                       printf(“Angka anda adalah bilangan genap”); 57

11                       } else {. 57

12                       printf(“Angka anda adalah bilangan ganjil”); 57

13                       }. 57

14                       }. 57

Program di atas bertujuan untuk menyatakan apakah angka yang diinput oleh pengguna merupakan bilangan ganjil atau genap. Bagian dari seleksi pada baris program di atas dimulai pada bari 9 sampai dengan baris 13. Kita akan membahas perbaris untuk lebih jelasnya : 57

  • Baris 9 (bagian if) 57

if( (x%2)==0 ), menyatakan ‘jika sisa hasil bagi nilai variabel x dengan angka 2 bernilai 0’. 57

Pada bahasa C, operator yang menyatakan keekuivalenan dalam sebuah ekspresi dinyatakan dengan dua buah sama dengan ‘==’. 57

  • Baris 10 (statement untuk kondisi benar) 57

Baris ini adalah statement yang akan dijalankan jika kondisi yang dinyatakan pada baris 9 bernilai benar. 57

  • Baris 12 (statement untuk kondisi salah) 57

Baris ini berisi statement yang akan dijalankan ketika kondisi yang dinyatakan pada baris 9 bernilai salah. 57

Untuk contoh program dengan menggunakan switch-case perhatikan contoh berikut : 57

Untuk lebih jelasnya perhatikanlah contoh berikut : 57

01                       #include<stdio.h>. 57

02                       #include<conio.h>. 57

03                       void main() 57

04                       {. 57

05                       int x; 57

06                       clrscr(); 58

07                       printf(“Masukkan sebuah angka : ”); 58

08                       scanf(“%d”,&x); 58

09                       switch(x%10){. 58

10                       case 0 : printf(“nol”);break; 58

11                       case 1 : printf(“satu”);break; 58

12                       case 2 : printf(“dua”);break; 58

13                       case 3 : printf(“tiga”);break; 58

14                       case 4 : printf(“empat”);break; 58

15                       case 5 : printf(“lima”);break; 58

16                       case 6 : printf(“enam”);break; 58

17                       case 7 : printf(“tujuh”);break; 58

18                       case 8 : printf(“delapan”);break; 58

19                       case 9 : printf(“sembilan”);break; 58

20                       }. 58

21                       }. 58

Program di atas bertujuan untuk menuliskan dalam huruf alfabet digit terakhir dari angka yang dimasukkan. Misalnya, pengguna memasukkan angka 1234, maka angka yang akan dijabarkan adalah satuan terkecilnya yaitu 4, yang akan ditulis menjadi “empat”. 58

Bagian seleksi dimulai dari baris 9 sampai dengan baris 20. Dimulai dengan sintaks switch(x%10) yang berarti ekspresi dari x yang dimodulus 10 (untuk mengambil satuan terkecilnya). Dilanjutkan dengan tanda kurung kurawal ‘{‘ dan ‘}’ yang akan mengapit case-case yang mungkin. Program akan menyeleksi apakah hasil modulus 10 dari x adalah 0, jika ya maka dicetak “nol”, jika tidak maka dilanjutkan ke case 1, jika hasil modulus 10 dari x adalah 1, maka dicetak “satu”, dan seterusnya. Untuk sintaks break di atas bermaksud jika program sudah menemui case yang dimaksud akan langsung keluar dari proses seleksi, tidak ke case-case berikutnya. 58

Perulangan. 58

Perulangan bertujuan untuk menyederhanakan baris program yang mengerjakan tugas yang berulang-ulang. Perulangan memiliki banyak bentuk. Berikut ini adalah bentuk-bentuk perulangan : 58

  • For 58

Sintaksnya adalah : 58

for( [expr1] ; [expr2] ; [expr3] ) { [statement] }. 58

Keterangan : 58

-                          Expr1, untuk inisialisasi variabel. 58

-                          Expr2, adalah ekspresi untuk kondisi benar (perulangan akan terus dilakukan selama ekspresi ini berkondisi true). 58

-                          Expr3, adalah bagian yang akan dijalankan setiap kali satu iterasi selesai dijalankan dalam perulangan. Biasanya bagian ini berupa increment atau decrement dari suatu variabel. 58

-                          Statement, adalah baris program yang akan dijalankan selama perulangan. 59

-                          Untuk bagian-bagian di dalam for, tidak harus ada, namun tetap harus dipisahkan oleh tanda ‘;’. 59

-                          Alur program dalam sebuah perulangan menggunakan for adalah sebagai berikut : [expr1] – [expr2] – [statement] – [expr3] – [expr2] – [statement] – [expr3] – dst. 59

Bagian inisialisasi (expr1) hanya dilakukan satu kali pada awal perulangan. Selanjutnya program akan melakukan pengecekan kondisi pada expr2 apakah kondisi masi benar, jika masih benar akan dilanjutkan pada statement, jika salah maka perulangan akan selesai. Setelah statement, expr3 akan dijalankan. Lalu kembali lagi ke expr2 untuk pengecekan apakah kondisi perulangan masih benar. 59

Untuk lebih jelasnya perhatikan contoh program berikut : 59

01                       #include<stdio.h>. 59

02                       #include<conio.h>. 59

03                       void main() 59

04                       {. 59

05                       int i; 59

06                       clrscr(); 59

07                       for( i=0 ; i<3 ; i++ ){. 59

08                       printf(“%d ”,i); 59

09                       }. 59

10                       }. 59

Hasil : 0 1 2. 59

Perhatikan contoh di atas. Bagian perulangan ada pada baris 7 sampai 9. 59

Berikut ini adalah alur jalannya perulangan : 59

Expr1 : Inisialisasi awal nilai variabel i dengan nilai 0. 59

â.. 59

Expr2 : Pengecekan apakah nilai variabel i kurang dari 3 ( kondisi true 0<3 ) 59

â.. 59

Statement : jalankan printf sehingga tercetak angka 0 (nilai i=0) 59

â.. 59

Expr3 : i++(sama dengan i=i+1) sehingga nilai i menjadi 1. 59

â.. 59

Expr2 : Pengecekan apakah nilai variabel i kurang dari 3 ( kondisi true 1<3 ) 59

â.. 59

Statement : jalankan printf sehingga tercetak angka 1 (nilai i=1) 59

â.. 59

Expr3 : i++ sehingga nilai i menjadi 2. 59

â.. 59

Expr2 : Pengecekan apakah nilai variabel i kurang dari 3 ( kondisi true 2<3 ) 59

â.. 59

Statement : jalankan printf sehingga tercetak angka 2 (nilai i=2) 59

â.. 59

Expr3 : i++ sehingga nilai i menjadi 3. 60

â.. 60

Expr2 : Pengecekan apakah nilai variabel i kurang dari 3 ( kondisi false 3<3 ) 60

â.. 60

Keluar dari perulangan. 60

  • Do … while. 60

Sintaksnya adalah : 60

do{ [statement] }while( [expression] ); 60

Keterangan : 60

-                          Statement, merupakan bagian program yang akan dijalankan jika kondisi benar. 60

-                          Expression, adalah ekspresi dimana jika ekspresi ini berkondisi benar maka perulangan akan terus berjalan. 60

-                          Alur dari perulangan dengan menggunakan do..while adalah [statement] – [expression] – [statement] – [expression] – dst. 60

Untuk lebih jelasnya perhatikan contoh program berikut : 60

01                       #include<stdio.h>. 60

02                       #include<conio.h>. 60

03                       void main() 60

04                       {. 60

05                       int i; 60

06                       clrscr(); 60

07                       i=0; 60

08                       do{. 60

09                       printf(“%d “,i); 60

10                       i++; 60

11                       }while(i<3); 60

12                       }. 60

Hasil : 0 1 2. 60

Contoh di atas merupakan bentuk perulangan yang sama dengan contoh for sebelumnya dengan sintaks do..while. Alur jalannya perulangan adalah sebagai berikut : 60

Inisialisasi nilai i = 0. 60

â.. 60

[statement] : jalankan printf sehingga tercetak angka 0 (i=0) 60

â.. 60

[statement] : i++ sehingga nilai i menjadi 1. 60

â.. 60

[expression] : pengecekan apakah nilai i lebih kecil dari 3 (kondisi true 1<3) 60

â.. 60

[statement] : jalankan printf sehingga tercetak angka 1 (i=1) 60

â.. 60

[statement] : i++ sehingga nilai i menjadi 2. 60

â.. 60

[expression] : pengecekan apakah nilai i lebih kecil dari 3 (kondisi true 2<3) 61

â.. 61

[statement] : jalankan printf sehingga tercetak angka 2 (i=2) 61

â.. 61

[statement] : i++ sehingga nilai i menjadi 3. 61

â.. 61

[expression] : pengecekan apakah nilai i lebih kecil dari 3 (kondisi false 3<3) 61

â.. 61

Keluar dari perulangan. 61

  • While. 61

Sintaksnya adalah : 61

While( [expression] ){ [statement] }. 61

Keterangan : 61

-                          Sintaks while memiliki bentuk yang hampir sama dengan do..while. 61

-                          Alur dari perulangan dengan menggunakan while adalah [expression] – [statement] – [expression] – [statement] – dst. 61

Untuk lebih jelasnya perhatikan contoh program berikut : 61

01                       #include<stdio.h>. 61

02                       #include<conio.h>. 61

03                       void main() 61

04                       {. 61

05                       int i; 61

06                       clrscr(); 61

07                       i=0; 61

08                       while(i<3){. 61

09                       printf(“%d “,i); 61

10                       i++; 61

11                       }. 61

12                       }. 61

Hasil : 0 1 2. 61

Alur jalannya perulangan adalah sebagai berikut : 61

Inisialisasi nilai i = 0. 61

â.. 61

[expression] : pengecekan apakah nilai i lebih kecil dari 3 (kondisi true 0<3) 61

â.. 61

[statement] : jalankan printf sehingga tercetak angka 0 (i=0) 61

â.. 61

[statement] : i++ sehingga nilai i menjadi 1. 61

â.. 61

[expression] : pengecekan apakah nilai i lebih kecil dari 3 (kondisi true 1<3) 61

â.. 61

[statement] : jalankan printf sehingga tercetak angka 1 (i=1) 61

â.. 61

[statement] : i++ sehingga nilai i menjadi 2. 61

â.. 61

[expression] : pengecekan apakah nilai i lebih kecil dari 3 (kondisi true 2<3) 62

â.. 62

[statement] : jalankan printf sehingga tercetak angka 2 (i=2) 62

â.. 62

[statement] : i++ sehingga nilai i menjadi 3. 62

â.. 62

[expression] : pengecekan apakah nilai i lebih kecil dari 3 (kondisi false 3<3) 62

â.. 62

Keluar dari perulangan. 62

Walaupun do..while dan while sepintas terlihat sama, namun untuk beberapa kasus bisa memberikan hasil yang berbeda. Hal ini dikarenakan pengecekan kondisi yang dilakukan terlebih dahulu pada sintaks while. 62

Untuk lebih jelasnya perhatikan contoh dengan sintaks do..while berikut : 62

01                       #include<stdio.h>. 62

02                       #include<conio.h>. 62

03                       void main() 62

04                       {. 62

05                       int i; 62

06                       clrscr(); 62

07                       i=0; 62

08                       do{. 62

09                       printf(“%d “,i); 62

10                       i++; 62

11                       }while(i<0); 62

12                       }. 62

dan contoh dengan sintaks while berikut : 62

01                       #include<stdio.h>. 62

02                       #include<conio.h>. 62

03                       void main() 62

04                       {. 62

05                       int i; 62

06                       clrscr(); 62

07                       i=0; 62

08                       while(i<0){. 62

09                       printf(“%d “,i); 62

10                       i++; 62

11                       }. 62

12                       }. 62

Untuk contoh dengan sintaks do..while akan mencetak nilai 0, sedangkan dengan sintaks while program tidak akan mencetak apapun. Hal ini disebabkan oleh kondisi yang diminta adalah nilai i harus lebih kecil dari 0. Pada contoh do..while pengecekan dilakukan setelah statement dijalankan sehingga sintaks printf dijalankan (pada do..while statement dijalankan minimal satu kali). Berbeda dengan contoh while pengecekan dilakukan pertama kali, sehingga ketika kondisi yang diminta tidak dipenuhi, maka perulangan tidak akan dilakukan. 62

4.5                     Membuat Program Menggunakan Prosedur dan Fungsi 63

4.5.1.                 Prosedur 64

Pada bab sebelumnya, kita sudah pernah menggunakan prosedur yang sudah dibuat oleh compiler BC 3.1 seperti : 64

  • clrscr(); // adalah prosedur untuk membersihkan layar 64
  • clreol(); // adalah prosedur untuk membersihkan satu baris dari posisi kursor aktif 64
  • void main(); // ini adalah salah satu contoh prosedur yang digunakan dan definisikan sendiri isinya. 64

Untuk membuat prosedur di dalam bahasa C berikut ini adalah sintaksnya : 64

void [nama prosedur] ([parameter1],[parameter2],…) 64

{   [statement]   }. 64

Untuk pemanggilannya : 64

[nama prosedur] ([parameter1],[parameter2],…); 64

Parameter di atas berfungsi untuk passing nilai-nilai (jika dibutuhkan) untuk menjalankan prosedur. Parameter-parameter di atas bersifat opsional, tidak wajib. Bentuk penulisan parameter hampir sama dengan deklarasi variabel, hanya tanpa titik koma. 64

Untuk lebih jelasnya, perhatikan contoh prosedur tanpa parameter berikut yang bertujuan untuk mencetak tulisan ke layar : 64

01                       #include<stdio.h>. 64

02                       #include<conio.h>. 64

03                       void cetak() 64

04                       {. 64

05                       printf(“Ini adalah contoh prosedur”); 64

06                       }. 64

07                       void main() 64

08                       {. 64

09                       clrscr(); 64

10                       printf(“Belajar bahasa C “); 64

11                       cetak(); 64

12                       }. 64

Pada baris program di atas, kita temukan adanya prosedur lain selain void main, yaitu void cetak. Di dalam prosedur ini ada sintaks untuk mencetak tulisan “Ini adalah contoh prosedur” dengan printf. Pemanggilannya dilakukan setelah pencetakan “Belajar bahasa C” pada baris 10. Maka hasilnya akan tertulis  “Belajar bahasa C Ini adalah contoh prosedur”. Saat pemanggilan prosedur cetak, maka compiler akan membaca baris program di mana prosedur cetak didefinisikan, yaitu pada baris 5. 64

Untuk contoh prosedur dengan parameter berikut ini : 64

01                       #include<stdio.h>. 64

02                       #include<conio.h>. 64

03                       void cetakHasilKonversi( float dollar ) 64

04                       {. 64

05                       printf(“\n%f US$ = Rp %f”, dollar, dollar*9100); 64

06                       }. 65

07                       void main() 65

08                       {. 65

09                       float dlr; 65

10                       clrscr(); 65

11                       printf(“Program Konversi Dollar – Rupiah“); 65

12                       printf(“\nMasukkan nilai dollar : “); 65

13                       scanf(“%f”,&dlr); 65

14                       cetakHasilKonversi( dlr ); 65

15                       }. 65

Pemanggilan prosedur di baris 14 akan menjalankan program di baris 5 sambil mengirimkan nilai variabel dlr yang diinput oleh user untuk dibaca oleh prosedur cetakHasilKonversi. 65

4.5.2.                 Fungsi 65

Seperti telah dijelaskan sebelumnya, bahwa fungsi dapat mengembalikan nilai sehingga memiliki kelebihan tersendiri dibandingkan prosedur. 65

Untuk membuat fungsi di dalam bahasa c berikut ini adalah sintaksnya : 65

[tipe data] [nama fungsi] ( [parameter1], [parameter2], … ) 65

{. 65

[statement] 65

return [value]; 65

}. 65

Untuk lebih jelasnya, perhatikan contoh penggunaan fungsi berikut untuk menghitung konversi nilai tukar rupiah terhadap dollar : 65

01                       #include<stdio.h>. 65

02                       #include<conio.h>. 65

03                       float konversi( float dollar ) 65

04                       {. 65

05                       float rupiah; 65

06                       rupiah = dollar * 9100; 65

07                       return rupiah; 65

08                       }. 65

09                       void main() 65

10                       {. 65

11                       float dlr,rp; 65

12                       clrscr(); 65

13                       printf(“Program Konversi Dollar – Rupiah“); 65

14                       printf(“\nMasukkan nilai dollar : “); 65

15                       scanf(“%f”,&dlr); 65

16                       rp = konversi( dlr ); 65

17                       printf(“\n%f US$ = Rp %f”, dlr, rp); 65

18                       }. 65

Contoh di atas memiliki hasil yang sama dengan penggunaan prosedur pada contoh sebelumnya. Perbedaannya hanya terletak pada apakah kita menggunakan prosedur yang tidak memerlukan pengembalian nilai atau fungsi yang ada pengembalian nilainya. 65

Untuk fungsi, perhatikan pada baris 16. Nilai yang dikembalikan oleh fungsi konversi bisa ditampung ke dalam variabel rp. 66

4.5.3                  Pembuatan program menggunakan prosedur dan fungsi 66

Perhatikan contoh penggunaan prosedur dan fungsi secara bersamaan berikut ini : 66

01                       #include<stdio.h>. 66

02                       #include<conio.h>. 66

03                       void cetakHeader() 66

04                       {. 66

05                       printf(“Selamat datang di Program Pengecekan Bilangan Prima”); 66

06                       }. 66

07                       int isPrime( int bil ) 66

08                       {. 66

09                       int i, ctr=0; 66

10                       for( i=1 ; i<=bil ; i++ ) 66

11                       {. 66

12                       if( bil%i==0 ) ctr++; 66

13                       }. 66

14                       if( ctr==2 ) return 1; 66

15                       else return 0; 66

16                       }. 66

17                       void main() 66

18                       {. 66

19                       int bilangan; 66

20                       clrscr(); 66

21                       cetakHeader(); 66

22                       printf(“\nMasukkan bilangan : “); 66

23                       scanf(“%d”,&bilangan); 66

24                       printf(“Bilangan yang anda masukkan “); 66

25                       switch( isPrime( bilangan ) ) 66

26                       {. 66

27                       case 0 : printf(“bukan prima”); break; 66

28                       case 1 : printf(“prima”); break; 66

29                       }. 66

30                       }. 66

Program diatas bertujuan untuk mengecek apakah bilangan yang diinput user merupakan bilangan prima atau tidak. Jika ada yang kurang jelas, anda bisa tanyakan kepada pengajar anda. 66

4.6                     Membuat Program Menggunakan Array. 66

Array adalah sekumpulan data yang memiliki tipe yang sama. Array bisa diibaratkan sebagai sebuah tabel atau vektor. Array disimpan di dalam memori secara berurutan sebanyak data yang dimiliki. 66

Untuk lebih jelasnya perhatikan contoh deklarasi array dengan menggunakan bahasa C berikut ini : 67

int data[5]; 67

Baris di atas berarti kita memesan variabel yang diberi nama data dengan tipe integer sebanyak 5 buah. Penyimpanan di dalam memori untuk array bersifat berurutan sehingga bisa diilustrasikan sebagai berikut : 67

Tipe :  integer 67

Besar : 2 byte. 67

Tipe :  integer 67

Besar : 2 byte. 67

Tipe :  integer 67

Besar : 2 byte. 67

Tipe :  integer 67

Besar : 2 byte. 67

Tipe :  integer 67

Besar : 2 byte. 67

Keterangan : besar space yang dibutuhkan untuk satu tipe integer adalah 16 bits (sesuai dengan tabel data yang ada di sub bab 4.3.1). Dengan kalkulasi 1 byte = 8 bits. 67

Contoh di atas merupakan contoh untuk array satu dimensi. Mengapa di sebut satu dimensi? Karena data yang ada pada array seakan-akan membentuk satu baris atau kolom saja. Array yang datanya membentuk tabel disebut array dua dimensi. Selain itu ada juga array tiga dimensi dan seterusnya. 67

4.6.1.                 Pembuatan Program Menggunakan Array. 67

Perhatikan contoh penggunaan array satu dimensi berikut ini : 67

01                       #include<stdio.h>. 67

02                       #include<conio.h>. 67

03                       void main() 67

04                       {. 67

05                       int data[5] = { 8,5,7,7,6 }; 67

06                       int i,avg=0; 67

07                       clrscr(); 67

08                       printf(“Nilai-nilai ujian kelas A : “); 67

09                       for( i=0 ; i<5 ; i++ ){. 67

10                       printf(“%d “,i); 67

11                       avg = avg + data[i]; 67

12                       }. 67

13                       printf(“\nRata-rata kelas : “,avg/5); 67

14                       }. 67

Program di atas bertujuan untuk menghitung rata-rata nilai ujian dari kelas A dimana nilai-nilai ujiannya sudah diberikan secara eksplisit dalam program. Perhatikan pada baris 5 terdapat deklarasi array data dengan tipe integer yang masing-masing sudah didefinisikan nilainya. 67

Setelah kita mengetahui cara pendeklarasian array, kita juga perlu mengetahui cara menggunakannya. Perhatikan cara penggunaan array pada baris ke-11. Indeks array pada bahasa C dan beberapa bahasa lainnya dimulai dengan 0. Jadi ketika kita menulis data[0] ini berarti kita mengakses array data dengan indeks yang ke-0 atau dengan kata lain data pertama. 67

Untuk array dua dimensi, pembuatan dan penggunaannya pada dasarnya sama dengan array satu dimensi. Untuk lebih jelasnya perhatikan contoh berikut : 67

01                       #include<stdio.h>. 67

02                       #include<conio.h>. 68

03                       void main() 68

04                       {. 68

05                       int data[3][2] = { 8,5,7,7,6,5 }; 68

06                       int i,j; 68

07                       clrscr(); 68

08                       printf(“Data yang ada dalam array adalah : “); 68

09                       for( i=0 ; i<3 ; i++ ){. 68

10                       for( j=0 ; j<2 ; j++ ){. 68

11                       printf(“%d “,data[i][j]); 68

12                       }. 68

13                       }. 68

14                       }. 68

4.6.2.                 Pencarian dan Pengurutan Data Dengan Array. 68

Salah satu penggunaan array yang paling sering adalah pencarian (searching) dan pengurutan (sorting) data. Lewat implementasi array dalam searching dan sorting terlihat semakin jelas kegunaan array dalam struktur data. Dengan penggunaan array, kita bisa menghindari pemakaian variabel yang terlalu banyak dan tidak efisien. 68

Berikut ini adalah contoh program sederhana pencarian data dengan array : 68

01                       #include<stdio.h>. 68

02                       #include<conio.h>. 68

03                       #include<stdlib.h>. 68

04                       void main() 68

05                       {. 68

06                       int data[30]; 68

07                       int i,j; 68

08                       clrscr(); 68

09                       randomize(); 68

10                       for( i=0 ; i<30 ; i++ ){. 68

11                       data[i] = rand()%99; 68

12                       }. 68

13                       printf(“Data random yang kurang dari 10 adalah:“); 68

14                       for( i=0 ; i<30 ; i++ ){. 68

15                       if(data[i]<10){. 68

16                       printf(“%d “,data[i]); 68

17                       }. 68

18                       }. 68

19                       }. 68

Program di atas bertujuan untuk melakukan pencarian data dengan syarat tertentu (dalam kasus di atas data yang kurang dari 10) dari data yang ada di dalam array yang nilainya didapat dari hasil random. 68

Untuk pengurutan data berikut ini contohnya : 68

01                       #include<stdio.h>. 68

02                       #include<conio.h>. 68

03                       #include<stdlib.h>. 68

04                       void main() 69

05                       {. 69

06                       int data[30]; 69

07                       int i,j,temp; 69

08                       clrscr(); 69

09                       randomize(); 69

10                       printf(“Data Random : “); 69

11                       for( i=0 ; i<30 ; i++ ){. 69

12                       data[i] = rand()%99; 69

13                       printf(“%d “,data[i]); 69

14                       }. 69

15                       printf(“\nData hasil pengurutan : “); 69

16                       for( i=0 ; i<29 ; i++ ){. 69

17                       for( j=29; j>i; j– ){. 69

18                       if(data[j]<data[j-1]){. 69

19                       temp = data[j]; 69

20                       data[j] = data[j-1]; 69

21                       data[j-1] = temp; 69

22                       }. 69

23                       }. 69

24                       }. 69

25                       for( i=0 ; i<30 ; i++ ) printf(“%d “,data[i]); 69

26                       }. 69

Contoh di atas adalah contoh pengurutan data berupa integer dengan algoritma bubble sort. Untuk lebih jelasnya tanyakan kepada pengajar anda. 69

4.7                     Membuat Program untuk Akses File. 69

File adalah blok dari data yang berfungsi sebagai penyimpan informasi. Untuk melakukan pengaksesan file kita membutuhkan sintaks-sintaks berikut ini : 69

  • Untuk membuka file (sebelum diakses kita harus terlebih dahulu membuka file tersebut dan menempatkan variabel pointer). Sintaksnya adalah : 69

FILE *[nama variabel pointer] = fopen (char *fname, char *mode); 69

Untuk mengakses file biasanya kita membutuhkan suatu pointer yang akan digunakan untuk penunjuk di dalam file. Untuk sintaks bisa dilihat di atas. Contoh deklarasi pointernya : FILE *in; FILE *out; 69

Ini artinya kita punya pointer in dan out yang digunakan untuk akses ke file. 69

Sintaks fopen merupakan fungsi untuk membuka file. Jika sukses membuka file, fungsi ini akan mengembalikan nilai berupa alamat dimana pointer file ditempatkan. Untuk parameter yang ada di dalamnya ada 2, yaitu pointer fname dan pointer mode. Kedua pointer ini akan diisi dengan string (array of char) dimana fname adalah nama file yang akan dibaca. Sedangkan untuk mode diisi dengan mode pembacaannya. Untuk penjelasan tentang pointer akan dibahas pada sub bab berikutnya. 69

Berikut mode-mode file yang terdapat dalam bahasa c : 69

r 70

Buka file text untuk dibaca (read) 70

w. 70

Buka file text untuk ditulis (write) 70

a. 70

Buka file text untuk ditambahkan (append) 70

rb. 70

Buka file binary untuk dibaca (read-binary) 70

wb. 70

Buka file binary untuk ditulis (write-binary) 70

ab. 70

Buka file binary untuk ditambahkan (append-binary) 70

r+. 70

Buka file text untuk baca dan tulis 70

w+. 70

Buka file text untuk baca dan tulis 70

a+. 70

Buka file untuk ditambahkan atau membuat file untuk baca /tulis 70

  • Untuk menutup file jika sudah selesai digunakan. Sintaksnya adalah : 70

int fclose(FILE *fp); 70

Sintaks fclose ini akan menutup file yang telah dibuka dengan pointer fp. 70

  • Untuk membaca file. Sintaksnya adalah : 70

fscanf(FILE *stream,[argument]); 70

Penggunaan fscanf ini hampir sama dengan scanf hanya ditambahkan satu parameter di bagian depan untuk pointer dari file atau yang sering disebut handler. 70

  • Untuk menulis ke dalam file. Sintaksnya adalah : 70

fprintf(FILE *stream,[argument]); 70

Penggunaan fprintf inipun hampir sama dengan printf. Sama seperti scanf perbedaannya fprintf ditambahkan satu parameter di bagian depan untuk pointer. 70

Berikut contoh program untuk akses file : 70

01                       #include<stdio.h>. 70

02                       #include<conio.h>. 70

03                       void main() 70

04                       {. 70

05                       FILE *in, *out; 70

06                       int temp; 70

07                       in = fopen(“data.txt”,”r”); 70

08                       out = fopen(“copydata.txt”,”w”); 70

09                       while( !feof(in) ) 70

10                       {. 70

11                       fscanf(in,”%d”,&temp); 70

12                       fprintf(out,”%d “,temp); 70

13                       }. 70

14                       fclose(in); 70

15                       fclose(out); 70

16                       }. 70

Program di atas dibuat untuk menyalin (copy) isi file data.txt yang berisi data berupa angka-angka ke file copydata.txt. Baris 7 dan 8 berisi instruksi untuk membuka file data.txt dan copydata.txt yang masing-masing dipegang oleh pointer in dan out. Perhatikan pada baris 7 mode yang digunakan adalah r, yang berarti kita membuka file data.txt untuk dibaca, sedangkan baris 8 menggunakan mode w yang berarti file dibuka untuk ditulis. 70

Baris 9 sampai 13 adalah sebuah perulangan dimana kondisi benarnya adalah !feof(in). Ini berarti kondisi benar selama pointer in tidak mencapat end-of-file (akhir dari file). Selama perulangan dilakukan pembacaan input dengan pointer in dari data.txt dan penulisan oleh pointer out  ke copydata.txt. 71

Setelah file digunakan, jangan lupa ditutup dengan sintaks fclose. 71

4.8                     Membuat Program Menggunakan Pointer 71

Dalam bahasa C programer diizinkan untuk mengakses secara langsung ke memori. Hal ini tentu saja memberikan keuntungan dan fleksibilitas yang tinggi. Untuk hal ini kita menggunakan variabel yang disebut pointer. Pointer adalah variabel yang digunakan untuk menyimpan alamat memori. 71

Misalkan kita punya variable a. 71

a disimpan di alamat 0xffff di memory. 71

Maka alamat dari A dapat kita simpan di dalam pointer. 71

Deklarasi pointer hampir sama dengan deklarasi variabel biasa. Hanya saja pointer ditandai dengan adanya tanda asteriks (*) di depan nama variabelnya. 71

[tipe data] *[nama pointer]; 71

Untuk lebih jelasnya, berikut ini adalah contoh penggunaan pointer : 71

01                       #include<stdio.h>. 71

02                       #include<conio.h>. 71

03                       void main() 71

04                       {. 71

05                       int *pInt; 71

06                       int a; 71

07                       clrscr(); 71

08                       a = 10; 71

09                       pInt = &a; 71

10                       printf(“pointer pInt berisi : %d”, *pInt); 71

11                       a = 7; 71

12                       printf(“\npointer pInt berisi : %d”, *pInt); 71

13                       }. 71

Baris 5 program di atas berisi deklarasi variabel pInt dengan tipe pointer int. Artinya pInt ini dibuat untuk berisikan alamat memori dari suatu blok memori tempat penyimpanan tipe data integer. Untuk lebih jelasnya perhatikan ilustrasi berikut : 71

…………………………………………………………………………………………………………….  0xefff     0xffff 71

Perhatikan gambar di atas. Kita memiliki variabel pointer pInt yang disimpan di alamat 0xefff. Sementara itu kita memiliki variabel a yang berisi nilai 10. Variabel a ini disimpan di alamat 0xffff dalam memori. Ketika kita menuliskan pInt = &a berarti kita mengisi nilai pInt dengan alamat dari variabel a (&a berarti alamat dari variabel a). Dengan kata lain pointer pInt ini dibuat untuk menunjuk ke alamat variabel a. 71

Ketika kita menuliskan *pInt berarti isi dari alamat yang ditunjuk oleh pointer pInt. 72

Untuk contoh program di atas, nilai *pInt yang pertama adalah 10, sedang yang kedua adalah 7 karena nilai a sudah berubah. 72

4.8.1.                 Penulisan dan Pembacaan Data Menggunakan Pointer 72

Perhatikan contoh program untuk menukar data berikut : 72

01                       #include<stdio.h>. 72

02                       #include<conio.h>. 72

03                       void tukar (int *a, int *b) 72

04                       {. 72

05                       int temp = *a; 72

06                       *a = *b; 72

07                       *b = temp; 72

08                       }. 72

09                       void main() 72

10                       {. 72

11                       int a=1, b=2; 72

12                       clrscr(); 72

13                       printf(“Nilai a = %d, b = %d”,a,b); 72

14                       tukar(&a,&b); 72

15                       printf(“\nNilai a = %d, b = %d”,a,b); 72

16                       }. 72

Perhatikan contoh di atas. Dengan penggunaan pointer, nilai variabel a dan b bisa ditukar melalui prosedur tukar. Padahal dengan menggunakan prosedur dengan passing parameter biasa (bukan pointer) nilai variabel a dan b tidak dapat tertukar. Mengapa demikian? Diskusikan bersama dengan pengajar anda. 72

4.8.2.                 Penggunaan Pointer untuk pencarian dan pengurutan data. 72

Berikut ini adalah contoh pencarian data dengan menggunakan pointer : 72

01                       #include<stdio.h>. 72

02                       #include<conio.h>. 72

03                       #include<stdlib.h>. 72

04                       void main() 72

05                       {. 72

06                       int data[30]; 72

07                       int i,j; 72

08                       int *pInt; 72

09                       clrscr(); 72

10                       randomize(); 72

11                       for( i=0 ; i<30 ; i++ ) data[i] = rand()%99; 72

12                       pInt = &data[0];  //pointer menunjuk pada data[0] 72

13                       printf(“Data random yang kurang dari 10 adalah :”); 72

14                       for( i=0 ; i<30 ; i++ ) 73

15                       {. 73

16                       if( *(pInt+i) <10 ) printf(“%d “,data[i]); 73

17                       }. 73

18                       }. 73

Perhatikan pada baris ke-16. *(pInt+i) bertujuan untuk membaca satu per satu dari array data. Penambahan nilai pInt dengan i dikarenakan pInt pada awalnya hanya diinisialisasi untuk menunjuk alamat data[0]. Untuk membaca data indeks berikutnya dibutuhkan penambahan i. 73

Berikut ini adalah contoh pencarian data dengan menggunakan pointer : 73

01                       #include<stdio.h>. 73

02                       #include<conio.h>. 73

03                       void tukar (int *a, int *b) 73

04                       {. 73

05                       int temp = *a; 73

06                       *a = *b; 73

07                       *b = temp; 73

08                       }. 73

09                       void main() 73

10                       {. 73

11                       int data[30]; 73

12                       int i,j,temp,*pInt; 73

13                       clrscr(); 73

14                       randomize(); 73

15                       printf(“Data Random : “); 73

16                       for( i=0 ; i<30 ; i++ ) 73

17                       {. 73

18                       data[i] = rand()%99; 73

19                       printf(“%d “,data[i]); 73

20                       }. 73

21                       pInt = &data[0]; 73

22                       for( i=0 ; i<29 ; i++ ) 73

23                       {. 73

24                       for( j=29 ; j>i ; j– ) 73

25                       {. 73

26                       if( *(pInt+j) < *(pInt+j-1) ) 73

27                       {. 73

28                       tukar( (pInt+j),(pInt+j-1) ); 73

29                       }. 73

30                       }. 73

31                       }. 73

32                       printf(“\nData setelah disorting : “); 73

33                       for( i=0 ; i<30 ; i++ ) 73

34                       {. 73

35                       printf(“%d “,data[i]); 73

36                       }. 73

37                       }. 74

4.9                     Mengkompilasi Program.. 74

Setelah melakukan penulisan program tentu kita mengharapkan untuk melihat apakah program yang kita buat sudah berjalan sesuai dengan yang diinginkan. Pada saat menjalankan program, ada 2 tahap yang dikerjakan. Pertama program akan dikompilasi terlebih dahulu. Ini berarti semua baris program yang kita buat akan diperiksa sintaksnya apakah sudah benar atau belum. Untuk ini, pembuat program harus benar-benar memperhatikan sintaks yang ditulis. Tidak boleh ada kesalahan pada penulisan, huruf besar/kecil (untuk yang bersifat case-sensitive) ataupun pada tanda baca (misal titik koma di akhir setiap instruksi). Setelah lolos dari pengecekan ini barulah program dijalankan. 74

4.9.1.                 Cara Kompilasi Program.. 74

Dengan menggunakan BC 3.1 kompilasi dilakukan dengan menekan tombol Alt dan F9, sedangkan untuk menjalankannya dengan tombol Ctrl dan F9. 74

4.9.2.                 Kesalahan Sintaks dan Logika. 74

Dengan mengkompilasi program, maka compiler akan memberitahukan kepada kita, apakah program kita sukses, artinya tidak terdapat kesalahan sama sekali atau tidak. 74

Hasil kompilasi pada BC 3.1 akan memberikan 2 jenis hasil yaitu : 74

  • Warning. 74

Warning adalah tipe kesalahan yang masih dapat ditoleransi oleh compiler sehingga ketika kita run, program masih dapat jalan. 74

Berikut ini adalah contoh program dimana compiler akan menghasilkan warning. 74

01                       #include<stdio.h>. 74

02                       #include<conio.h>. 74

03                       void main() 74

04                       {. 74

05                       int a=10 ,b=7; 74

06                       printf(“Nilai a adalah %d”,a); 74

07                       }. 74

Jika kita mengkompilasi program di atas, maka akan muncul warning yaitu “b is assigned value that is never used”. Ini dikarenakan variabel b yang sudah kita isi nilainya tidak pernah digunakan. Compiler hanya mengingatkan bahwa kita menggunakan variabel yang tidak pernah kita pakai, namun ini tidak mengacaukan jalannya program. Program tetap berjalan seperti biasa. 74

  • Error 74

Error adalah kesalahan yang fatal, sehingga harus kita benarkan, kalau tidak kita tidak dapat menjalankan program kita. Error ini terjadi karena ada kesalahan pada penulisan sintaks. 74

Berikut ini adalah contoh program dimana compiler akan menghasilkan warning. 74

01                       #include<stdio.h>. 74

02                       #include<conio.h>. 75

03                       void main() 75

04                       {. 75

05                       int a=10 ,b=7. 75

06                       printf(“Nilai a = %d dan nilai b = ”,a,b); 75

07                       }. 75

Jika program di atas kita kompilasi akan terjadi error dengan pesan “statement missing ;”. Ini terjadi karena pada baris 5 di akhir sintaks belum diberi tanda ‘;’ (titik koma). 75

BAB V. 76

SUMBER-SUMBER YANG DIPERLUKAN UNTUK PENCAPAIAN                          KOMPETENSI 76

5.1 Sumber Daya Manusia. 76

5.2.    Sumber-sumber Kepustakaan ( Buku Informasi ) 76

5.3                 Daftar Peralatan dan Bahan yang digunakan. 77

 

 

 

 

 

 

 

 


BAB I

PENGANTAR

 

1.1     Konsep Dasar Competency Based Training (CBT)

  • Apakah pelatihan berdasarkan kompetensi?

Pelatihan berdasarkan kompetensi adalah pelatihan yang memperhatikan pengetahuan, keterampilan dan sikap yang diperlukan di tempat kerja agar dapat melakukan pekerjaan dengan kompeten. Standar Kompetensi dijelaskan oleh Kriteria Unjuk Kerja.

 

  • Apakah artinya menjadi kompeten ditempat kerja?

Jika anda kompeten dalam pekerjaan tertentu, anda memiliki seluruh keterampilan, pengetahuan dan sikap yang perlu untuk ditampilkan secara efektif ditempat kerja, sesuai dengan standar yang telah disetujui.

 

1.2   Penjelasan Modul

Modul ini dikonsep agar dapat digunakan pada proses Pelatihan Konvensional/Klasikal dan Pelatihan Individual/Mandiri. Yang dimaksud dengan Pelatihan Konvensional/Klasikal, yaitu pelatihan yang dilakukan dengan melibatkan bantuan seorang pembimbing atau guru seperti proses belajar mengajar sebagaimana biasanya dimana materi hampir sepenuhnya dijelaskan dan disampaikan pelatih/pembimbing yang bersangkutan.

Sedangkan yang dimaksud dengan Pelatihan Mandiri/Individual adalah pelatihan yang dilakukan secara mandiri oleh peserta sendiri berdasarkan materi dan sumber-sumber informasi dan pengetahuan yang bersangkutan. Pelatihan mandiri cenderung lebih menekankan pada kemauan belajar peserta itu sendiri. Singkatnya pelatihan ini dilaksanakan peserta dengan menambahkan unsur-unsur atau sumber-sumber yang diperlukan baik dengan usahanya sendiri maupun melalui bantuan dari pelatih.

 

1.2.1    Desain Modul

Modul ini didesain untuk dapat digunakan pada Pelatihan Klasikal dan Pelatihan Individual / mandiri:

  • Pelatihan klasikal adalah pelatihan yang disampaikan oleh seorang pelatih.
  • Pelatihan individual / mandiri adalah pelatihan yang dilaksanakan oleh peserta dengan menambahkan unsur-unsur / sumber-sumber yang diperlukan dengan bantuan dari pelatih.

 

1.2.2    Isi Modul

Modul ini terdiri dari 3 bagian, antara lain sebagai berikut:

Buku Informasi

Buku informasi ini adalah sumber pelatihan untuk pelatih maupun peserta pelatihan.

 

Buku Kerja

Buku kerja ini harus digunakan oleh peserta pelatihan untuk mencatat setiap pertanyaan dan kegiatan praktek baik dalam Pelatihan Klasikal maupun Pelatihan Individual / mandiri.

Buku ini diberikan kepada peserta pelatihan dan berisi :

  • Kegiatan-kegiatan yang akan membantu peserta pelatihan untuk mempelajari dan memahami informasi.
  • Kegiatan pemeriksaan yang digunakan untuk memonitor pencapaian keterampilan peserta pelatihan.
  • Kegiatan penilaian untuk menilai kemampuan peserta pelatihan dalam melaksanakan praktik kerja.

 

Buku Penilaian

Buku penilaian ini digunakan oleh pelatih untuk menilai jawaban dan tanggapan peserta pelatihan pada Buku Kerja dan berisi :

  • Kegiatan-kegiatan yang dilakukan oleh peserta pelatihan sebagai pernyataan keterampilan.
  • Metode-metode yang disarankan dalam proses penilaian keterampilan peserta pelatihan.
  • Sumber-sumber yang digunakan oleh peserta pelatihan untuk mencapai keterampilan.
  • Semua jawaban pada setiap pertanyaan yang diisikan pada Buku Kerja.
  • Petunjuk bagi pelatih untuk menilai setiap kegiatan praktik.
  • Catatan pencapaian keterampilan peserta pelatihan.

 

1.2.3        Pelaksanaan Modul

Pada pelatihan klasikal, pelatih akan :

  • Menyediakan Buku Informasi yang dapat digunakan peserta pelatihan sebagai sumber pelatihan.
  • Menyediakan salinan Buku Kerja kepada setiap peserta pelatihan.
  • Menggunakan Buku Informasi sebagai sumber utama dalam penyelenggaraan pelatihan.
  • Memastikan setiap peserta pelatihan memberikan jawaban / tanggapan dan menuliskan hasil tugas praktiknya pada Buku Kerja.

 

Pada Pelatihan individual / mandiri, peserta pelatihan akan :

  • Menggunakan Buku Informasi sebagai sumber utama pelatihan.
  • Menyelesaikan setiap kegiatan yang terdapat pada buku Kerja.
  • Memberikan jawaban pada Buku Kerja.
  • Mengisikan hasil tugas praktik pada Buku Kerja.
  • Memiliki tanggapan-tanggapan dan hasil penilaian oleh pelatih.

 

1.3 Pengakuan Kompetensi Terkini (RCC)

  • Apakah Pengakuan Kompetensi Terkini (Recognition of Current Competency)

Jika anda telah memiliki pengetahuan dan keterampilan yang diperlukan untuk elemen unit kompetensi tertentu, anda dapat mengajukan pengakuan kompetensi terkini (RCC). Berarti anda tidak akan dipersyaratkan untuk belajar kembali.

Anda mungkin sudah memiliki pengetahuan dan keterampilan, karena anda telah :

  1. Bekerja dalam suatu pekerjaan yang memerlukan suatu pengetahuan dan keterampilan yang sama atau
  2. Berpartisipasi dalam pelatihan yang mempelajari kompetensi yang sama atau
  3. Mempunyai pengalaman lainnya yang mengajarkan pengetahuan dan keterampilan yang sama.

 

1.4 Pengertian-Pengertian / Istilah

 

Profesi

Profesi adalah suatu bidang pekerjaan yang menuntut sikap, pengetahuan serta keterampilan/keahlian kerja tertentu yang diperoleh dari proses pendidikan, pelatihan serta pengalaman kerja atau penguasaan sekumpulan kompetensi tertentu yang dituntut oleh suatu pekerjaan/jabatan.

 

Standarisasi

Standardisasi adalah proses merumuskan, menetapkan serta menerapkan suatu standar tertentu.

 

Penilaian / Uji Kompetensi

Penilaian atau Uji Kompetensi adalah proses pengumpulan bukti melalui perencanaan, pelaksanaan dan peninjauan ulang (review) penilaian serta keputusan mengenai apakah kompetensi sudah tercapai dengan membandingkan bukti-bukti yang dikumpulkan terhadap standar yang dipersyaratkan.

 

Pelatihan

Pelatihan adalah proses pembelajaran yang dilaksanakan untuk mencapai suatu kompetensi tertentu dimana materi, metode dan fasilitas pelatihan serta lingkungan belajar yang ada terfokus kepada pencapaian unjuk kerja pada kompetensi yang dipelajari.

Kompetensi

Kompetensi adalah kemampuan seseorang untuk menunjukkan aspek sikap, pengetahuan dan keterampilan serta penerapan dari ketiga aspek tersebut ditempat kerja untuk mwncapai unjuk kerja yang ditetapkan.

 

Standar Kompetensi

Standar kompetensi adalah standar yang ditampilkan dalam istilah-istilah hasil serta memiliki format standar yang terdiri dari judul unit, deskripsi unit, elemen kompetensi, kriteria unjuk kerja, ruang lingkup serta pedoman bukti.

 

Sertifikat Kompetensi

Adalah pengakuan tertulis atas penguasaan suatu kompetensi tertentu kepada seseorang yang dinyatakan kompeten yang diberikan oleh Lembaga Sertifikasi Profesi.

 

Sertifikasi Kompetensi

Adalah proses penerbitan sertifikat kompetensi melalui proses penilaian / uji kompetensi.

 

 

 


BAB II

STANDAR KOMPETENSI

 

2.1 Peta Paket Pelatihan

Modul yang sedang Anda pelajari ini bertujuan untuk mencapai satu unit kompetensi. Adapun kompetensi ini termasuk dalam satu paket pelatihan, yang terdiri atas unit-unit kompetensi berikut:

  1. TIK.PR02.008.01     Mengoperasikan Bahasa Pemrograman Terstruktur

 

2.2 Pengertian Unit Standar Kompetensi

Apakah Standar Kompetensi? Setiap Standar Kompetensi menentukan :

  1. Pengetahuan dan keterampilan yang diperlukan untuk mencapai kompetensi.
  2. Standar yang diperlukan untuk mendemonstrasikan kompetensi.
  3. Kondisi dimana kompetensi dicapai.

Di dalam unit kompetensi ini, Anda akan mempelajari bagaimana cara mengoperasikan bahasa pemrograman terstruktur.

Sistem pelatihan berbasis kompetensi terfokus pada pencapaian kompetensi, bukan pada lamanya waktu. Namun, diharapkan pelatihan ini dapat dilaksanakan dan dicapai dalam jangka waktu tidak lebih dari seminggu, tiga sampai lima hari. Pelatihan ini diperuntukkan khusus bagi para programer, walaupun tidak menutup kemungkinan bagi semua orang yang terlibat dalam penggunaan komputer.

Jika Anda belum mencapai kompetensi pada usaha/kesempatan pertama, Pelatih Anda akan mengatur rencana pelatihan dengan Anda. Rencana ini akan memberikan Anda kesempatan kembali untuk meningkatkan level kompetensi Anda sesuai dengan level yang diperlukan. Jumlah maksimum usaha/kesempatan yang disarankan adalah 3 (tiga) kali.

 

2.3 Unit Kompetensi Yang Dipelajari

Dalam sistem pelatihan Standar Kompetensi diharapkan menjadi panduan bagi peserta pelatihan untuk dapat :

  1. Mengidentifikasikan apa yang harus dikerjakan peserta pelatihan.
  2. Memeriksa kemajuan peserta pelatihan.
  3. Menyakinkan bahwa semua elemen (sub-kompetensi) dan kriteria unjuk   kerja telah dimasukkan dalam pelatihan dan penilaian.

 

2.3.1 Kode dan Judul Unit

Kode Unit       : TIK.PR02.008.01

Judul Unit      : Mengoperasikan Bahasa Pemrograman Terstruktur

 

2.3.2 Deskripsi Unit

Unit ini menentukan kompetensi yang diperlukan untuk mempelajari konsep bahasa program untuk pemrograman terstruktur. Bahasa yang dapat digunakan untuk mempelajari pemrograman terstruktur ini bermacam-macam, seperti Pascal, C, Basic, Fortran dsb. Programer dapat memilih salah satu bahasa pemrograman yang dikehendaki untuk dikuasai. Penulis akan menggunakan bahasa C sebagai contoh.


2.3.3 Elemen Kompetensi

 

 

ELEMEN KOMPETENSI

KRITERIA UNJUK KERJA

01     Menggunakan tipe data dan kontrol program 1.1       Tipe data diketahui dan dipelajari. Tipe data berupa tipe data dasar dan tipe data bentukan

1.2       Aturan program berupa pemakaian nama dan sintak program diketahui dan dipelajari

1.3       Kontrol program diaplikasikan. Kontrol program merupakan urutan atau sekuensial program, harus terkendali dalam kode program

02     Membuat program sederhana 2.1       Program baca tulis untuk masukan data dari keyboard dan menampilkan ke layar monitor termasuk variasinya sesuai tandar input/output dibuat

2.2         Analisis kasus percabangan dan pengulangan digunakan dalam membuat program

03     Membuat program menggunakan prosedur dan fungsi 3.1       Program dengan menggunakan prosedur dibuat sesuai aturan penulisan program

3.2       Program dengan menggunakan fungsi dibuat sesuai aturan penulisan program

3.3       Program dengan menggunakan prosedur dan fungsi secara bersamaan dibuat sesuai aturan penulisan program

04     Membuat program menggunakan array 4.1       Program menggunakan array satu dimensi dan dua dimensi dibuat

4.2       Pencarian data dan mengurutkan data dalam array diaplikasikan

05     Membuat program untuk akses file Program untuk menulis data ke dalam media penyimpanan data dan membaca data dari media penyimpan data dibuat
06     Membuat program menggunakan pointer 6.1       Program untuk menulis data dan membaca data dengan menggunakan pointer dibuat

6.2       Data pointer dapat dioperasikan sesuai dengan kebutuhan seperti untuk pencarian data, pengurutan data, menambah data, menghapus data dsb.

07     Mengkompilasikan program 7.1       Program dikompilasi dengan mensetting pada editor program dan kode program yang dilibatkan

7.2       Kesalahan sintaks dan logika dikoreksi agar bebas dari error dan dapat dijalankan

Tabel 1 Elemen Kompetensi

 

2.3.4 Batasan Variabel

Batasan variabel dalam bahasan ini adalah:

1.  Unit ini berlaku untuk seluruh sektor teknologi informasi dan komunikasi.

2.  Mengoperasikan bahasa pemrograman terstruktur bersifat internal pada bidang teknologi informasi dan komunikasi.

 

2.3.5 Panduan Penilaian

  1. 1.                   Pengetahuan dan keterampilan penunjang

Untuk mendemontrasikan kompetensi, diperlukan bukti keterampilan dan pengetahuan di bidang berikut ini :

1.1         Pengetahuan dasar

1.2.1.          Memahami algoritma pemrograman

1.2.2.          Memahami struktur data

1.2.3.          Memahami spesifikasi program

1.2.4.          Membuat program dengan bahasa terstruktur

 

1.2         Keterampilan dasar

1.2.1.          Mengoperasikan sistem komputer

1.2.2.          Mengoperasikan bahasa pemrograman

 

2.       Konteks penilaian

Kompetensi harus diujikan di tempat kerja atau di tempat lain secara praktek dengan kondisi kerja sesuai dengan keadaan normal.

 

3.       Aspek penting penilaian

          Aspek yang harus diperhatikan :

3.1         Kemampuan membuat program menggunakan prosedur dan fungsi sesuai dengan aturan tata cara penulisan

3.2         Kemampuan membuat program menggunakan array

3.3         Kemampuan membuat program menggunakan pointer

 

4.        Kaitan dengan unit-unit lainnya

4.1     Unit ini didukung oleh pengetahuan dan keterampilan dalam unit kompetensi yang berkaitan dengan dasar-dasar teknologi informasi :

4.1.1    Mengoperasikan PC dan sistem operasi

4.1.2    Mengoperasikan peralatan peripheral

4.1.3    TIK.PR02.001.01 menggunakan algoritma pemrograman dasar

4.2         Unit ini juga mendukung kinerja dalam unit-unit kompetensi yang berkaitan dengan pemrograman

4.3         Pengembangan pelatihan untuk memenuhi persyaratan dalam unit ini perlu dilakukan dengan hati-hati. Untuk pelatihan pra kejuruan umum, instritusi harus menyediakan pelatihan yang mempertimbangkan serangkaian konteks industri seutuhnya tanpa bias terhadap sektor tertentu. Batasan variabel akan membantu dalam hal ini. Untuk sektor tertentu/khusus, pelatihan harus disesuaikan untuk memenuhi kebutuhan sektor tersebut.

 

 2.3.6 Kompetensi Kunci

            Kompetensi kunci dalam bahasan ini dapat dilihat dalam tabel di bawah ini.

NO

KOMPETENSI KUNCI DALAM UNIT INI

TINGKAT

1

Mengumpulkan, mengorganisir dan menganalisa informasi

2

2

Mengkomunikasikan ide-ide dan informasi

2

3

Merencanakan dan mengorganisir aktivitas-aktivitas

2

4

Bekerja dengan orang lain dan kelompok

1

5

Menggunakan ide-ide dan teknik matematika

2

6

Memecahkan masalah

2

7

Menggunakan teknologi

2

Tabel 2 Kompetensi Kunci

 


BAB III

STRATEGI DAN METODE PELATIHAN

 

3.1        Strategi Pelatihan

Belajar dalam suatu Sistem Berbasis Kompetensi berbeda dengan yang sedang “diajarkan” di kelas oleh Pelatih. Pada sistem ini Anda akan bertanggung jawab terhadap belajar Anda sendiri, artinya bahwa Anda perlu merencanakan belajar Anda dengan Pelatih dan kemudian melakukan praktek sesuai dengan rencana yang telah dibuat.

 

Persiapan/perencanaan

  1. Membaca bahan/materi yang telah diidentifikasi dalam setiap tahap belajar dengan tujuan mendapatkan tinjauan umum mengenai isi proses belajar Anda.
  2. Membuat catatan terhadap apa yang telah dibaca.
  3. Memikirkan bagaimana pengetahuan baru yang diperoleh berhubungan dengan pengetahuan dan pengalaman yang telah Anda miliki.
  4. Merencanakan aplikasi praktik pengetahuan dan keterampilan Anda.

 

Permulaan dari proses pembelajaran

  1. Mencoba mengerjakan seluruh pertanyaan dan tugas praktik yang terdapat pada tahap belajar.
  2. Merevisi dan meninjau materi belajar agar dapat menggabungkan pengetahuan Anda.

 

Pengamatan terhadap tugas praktik

  1. Mengamati keterampilan praktik yang didemonstrasikan oleh Pelatih atau orang yang telah berpengalaman lainnya.
  2. Mengajukan pertanyaan kepada Pelatih tentang konsep sulit yang Anda temukan.

Implementasi

  1. Menerapkan pelatihan kerja yang aman.
  2. Mengamati indikator kemajuan personal melalui kegiatan praktik.
  3. Mempraktikkan keterampilan baru yang telah Anda peroleh.

 

        Penilaian

Melaksanakan tugas penilaian untuk penyelesaian belajar Anda.

 

3.2        Metode Pelatihan

Terdapat tiga prinsip metode belajar yang dapat digunakan. Dalam beberapa kasus, kombinasi metode belajar mungkin dapat digunakan.

 

Belajar secara mandiri

Belajar secara mandiri membolehkan Anda untuk belajar secara individual, sesuai dengan kecepatan belajarnya masing-masing. Meskipun proses belajar dilaksanakan secara bebas, Anda disarankan untuk menemui Pelatih setiap saat untuk mengkonfirmasikan kemajuan dan mengatasi kesulitan belajar.

 

Belajar Berkelompok

Belajar berkelompok memungkinkan peserta untuk dating bersama secara teratur dan berpartisipasi dalam sesi belajar berkelompok. Walaupun proses belajar memiliki prinsip sesuai dengan kecepatan belajar masing-masing, sesi kelompok memberikan interaksi antar peserta, Pelatih dan pakar/ahli dari tempat kerja.

 

Belajar terstruktur

Belajar terstruktur meliputi sesi pertemuan kelas secara formal yang dilaksanakan oleh Pelatih atau ahli lainnya. Sesi belajar ini umumnya mencakup topik tertentu.


BAB IV

MATERI UNIT KOMPETENSI

4.1        Tujuan Instruksional Umum

  • Siswa dapat memahami dasar-dasar pemrograman terstruktur
  • Siswa dapat membuat program sederhana dengan menggunakan pemrograman terstruktur.

 

4.2          Tujuan Instruksional Khusus

  • Siswa dapat memahami macam-macam tipe data, penggunaan array, dan pointer.
  • Siswa dapat memahami struktur kontrol program dalam bahasa pemrograman terstruktur
  • Siswa dapat memahami penggunaan prosedur dan fungsi
  • Siswa dapat mengakses file dengan menggunakan bahasa pemrograman terstruktur
  • Siswa dapat membuat program dengan dasar-dasar pemrograman terstruktur yang sudah dipelajari.

4.3          Menggunakan Tipe Data dan Kontrol Program

Dalam mempelajari suatu bahasa pemrograman, sangatlah penting untuk menguasai dasar-dasar dari bahasa itu sendiri. Sebagai permulaan, kita akan mempelajari dasar yang sangat penting, yaitu macam-macam tipe data yang ada dan struktur kontrol program pada pemrograman terstruktur.

 

4.3.1.     Tipe Data

Tipe data didefinisikan sebagai satu himpunan nilai dan semua operasi yang bisa dilakukan dengan nilai-nilai tersebut. Tipe data masing-masing bahasa pemrograman memiliki definisi sendiri. Namun secara umum, tipe data bisa dibedakan menjadi :

  • Boolean

Boolean/bool merupakan tipe data dengan single-bit, yaitu tipe yang hanya bernilai “true” (1) atau “false” (0). Operator yang bisa digunakan berikut tabel kebenarannya :

Operasi

Hasil

true and true

true and false

false and true

false and false

true

false

false

false

true or true

true or false

false or true

false or false

true

true

true

false

not false

not true

true

false

true eq true

true eq false

false eq true

false eq false

true

false

false

true

true xor true

true xor false

false xor true

false xor false

false

true

true

false

Tabel 1 Tabel Kebenaran Boolean

 

 

Untuk beberapa bahasa pemrograman tidak mensupport tipe data ini, namun bisa menggunakan tipe integer seperti yang akan dijelaskan pada tipe data selanjutnya.

 

  • Integer

Tipe data integer mewakili bilangan bulat. Berikut ini adalah operasi yang bisa dilakukan terhadap tipe data integer :

Operator

Keterangan Operator

Hasil

*

+

-

/

mod

abs

^

<

>

=

kali

tambah

kurang

bagi

sisa pembagian

nilai absolut

pangkat

lebih kecil

lebih kecil atau sama dengan

lebih besar

lebih besar atau sama dengan

sama dengan

tidak sama dengan

Integer

integer

integer

real

integer

integer

integer > 0

integer

boolean

boolean

boolean

boolean

boolean

Tabel 2 Operasi Tipe Data Integer

 

  • Floating Point

Tipe data ini mewakili bilangan pecahan. Contoh penulisannya adalah sebagai berikut :

-                                      0.5

-                                      5.4

-                                      3.3E-2 (sama dengan 3.3 x 10-2 atau 0.033)

Operator yang bisa digunakan untuk tipe data ini adalah *, +, -, /, ^, <,  ≤, >, ≥, =, dan ≠.

 

  • Character dan String

Tipe character (char) bisa digunakan untuk menampung satu huruf, angka, symbol, dsb. Sedangkan String merupakan kumpulan dari beberapa karakter.

Berikut ini adalah contoh penggunaan char pada bahasa C :

-                                      ‘A’

-                                      ‘1’

-                                      ‘#’

-                                      ‘\n’ (karakter Enter)

Contoh penggunaan string pada bahasa C :

-      “Hello”

-      “25 buah”

 

Berikut ini adalah tipe data yang ada pada bahasa C (Borland C 3.1) :

Tipe Data

Besar

Rentang

unsigned char

char

enum

unsigned int

int

unsigned long

long

float

double

long double

8 bits

8 bits

16 bits

16 bits

16 bits

32 bits

32 bits

32 bits

64 bits

80 bits

0 to 255

-128 to 127

-32,768 to 32,767

0 to 65,535

-32,768 to 32,767

0 to 4,294,967,295

-2,147,483,648 to 2,147,483,647

3.4 x 10-38 to 3.4 x 10+38

1.7 x 10-308 to 1.7 x 10+308

3.4 x 10-4932 to 1.1 x 10+4932

Tabel 3 Tipe Data

 

Besar dari masing-masing tipe data menentukan besarnya memori yang dipakai untuk setiap datanya.

 

4.3.2.     Aturan Penamaan Nama dan Sintaks

Setiap bahasa pemrograman memiliki pengaturan nama dan sintaks sendiri. Pengaturan nama fungsi, prosedur, tipe, tempat penyimpanan data(variabel), dan konstanta haruslah unik untuk membedakan yang satu dengan yang lainnya. Sedangkan penamaan sintaks sudah didefinisikan dan akan menentukan instruksi yang diminta untuk dijalankan pada mesin.

 

Sebagai contoh pada bahasa C terdapat aturan-aturan sebagai berikut :

  • Semua penamaan nama maupun sintaks bersifat case sensitive, artinya terdapat pembedaan untuk huruf kecil/kapital.
  • Setiap instruksi diakhiri dengan karakter ‘;’ (titik koma).
  • Pemberian komentar atau kata-kata yang bersifat keterangan dan bukan bertujuan untuk pemberian instruksi dilakukan setelah tanda ‘//’. Untuk pemberian komentar untuk baris lebih dari 1 diawali dengan tanda ‘/*’ dan diakhiri dengan tanda ‘*/’.
  • Untuk penamaan variabel memiliki aturan seperti berikut :

-      Harus berupa huruf, angka, dan karakter ‘_’ (underscore).

-      Tidak boleh diawali dengan angka

-      Harus berupa satu kesatuan (tidak boleh lebih dari satu kata).

 

Berikut ini adalah contoh beberapa instruksi dengan bahasa C :

  • int x;   // definisi variabel x dengan tipe int
  • char a;    // definisi variabel a dengan tipe char
  • clrscr();     // clrscr adalah instruksi untuk pembersihan layar\
  • x = 5;    // pengisian nilai 5 ke variabel x

 

4.3.3.     Kontrol Program

Perbedaan utama bahasa pemrograman terstruktur dengan bahasa lainnya (misal bahasa pemrograman berorientasi objek) adalah pada alur jalannya program. Pada pemrograman terstruktur instruksi dijalankan mulai dari instruksi pertama, kedua, dst.

 

Untuk lebih memahami alur program, perhatikan penggalan contoh program berikut :

01            int i;

02            char a;

03            clrscr();

04            printf(“Hello ”);   // instruksi untuk mencetak

05            printf(“World”);   // instruksi untuk mencetak

 

Contoh di atas dibuat dengan menggunakan bahasa C. Alur program pada penggalan di atas dimulai pada baris 1, dilanjutkan ke baris 2, 3, dst. Instruksi akan terus dijalankan secara sekuensial sampai menemui akhir dari baris program. Instruksi pada baris 4 dan 5 jika dijalankan akan mencetak “Hello World”, namun jika kita menukarkan instruksi 4 dan 5, yang tercetak adalah “WorldHello ”. Alur program akan berubah jika menemui perulangan dan seleksi yang akan kita pelajari pada sub bab berikutnya.

 

4.4        Membuat Program Sederhana

Dalam pembuatan program, ada beberapa hal yang harus diperhatikan :

  • Library yang akan digunakan

Library merupakan header file. Di dalam library inilah terdapat definisi sintaks-sintaks yang akan mengisi baris-baris program.

  • Fungsi/prosedur utama

Di dalam fungsi/prosedur utama inilah tempat kita menempatkan semua baris-baris program yang dibuat. Baris-baris program akan dijalankan sekuensial mulai dari baris pertama. Untuk membedakan fungsi atau prosedur akan kita pelajari dalam sub bab yang akan membahasnya lebih spesifik.

  • Prosedur atau fungsi lainnya

Prosedur atau fungsi memisahkan beberapa baris program menjadi bagian tersendiri untuk tujuan tertentu, misalnya untuk keefisienan pembuatan baris program yang akan dipanggil beberapa kali. Beberapa programer juga sering menggunakan prosedur atau fungsi ini untuk kemudahan pembacaan algoritma program secara keseluruhan. Untuk pembuatan lebih jelasnya akan dibahas pada sub bab 4.5.

  • Data yang akan digunakan

Sebelum memulai pembuatan program, programer melakukan analisis tentang data dan algoritma yang akan dipakai. Semua data yang diperlukan akan direpresentasikan dalam variabel-variabel yang harus didefinisikan dulu sebelumnya.

  • Algoritma yang akan digunakan

Programer harus mendaftar semua algoritma yang akan digunakan, misalnya algoritma pencarian, algoritma pengurutan data, dsb.

 

Berikut ini adalah contoh baris program dengan bahasa C :

01            #include<stdio.h>

02            #include<conio.h>

03            int varGlobal;

04            void main()

05            {

06                 int x;

07                 clrscr();

08                 printf(“Hello World”);

09            }

 

Untuk kompilasi program di atas, dengan program BC 3.1 bisa dilakukan dengan menekan Alt + F9. Sedangkan untuk menjalankannya bisa dengan Ctrl + F9.

 

Perhatikan baris 1 dan 2 di atas. Baris-baris tersebut berfungsi untuk menyatakan library apa saja yang dibutuhkan untuk sintaks-sintaks yang akan digunakan. Dalam contoh di atas library stdio.h dibutuhkan untuk sintaks printf (sintaks untuk mencetak ke standard output), sedangkan untuk conio.h digunakan untuk clrscr (sintaks untuk membersihkan layar).

 

Pada baris 4 tertera void main(). Inilah yang disebut dengan prosedur utama dari program. Semua baris program yang tertulis di dalam fungsi diawali dan diakhiri dengan tanda kurung kurawal ‘{‘ dan ‘}’. Instruksi program yang dijalankan pertama kali adalah instruksi setelah tanda ‘{‘, yaitu int x; dan akan dilanjutkan secara sekuensial, pada baris 7 clrscr();, sampai pada baris terakhir sebelum tanda ‘}’, yaitu baris 8 dengan instruksi printf(“Hello World”);. Setelah baris ini program akan membebaskan semua memori yang digunakan dan berhenti.

 

Pendeklarasian variabel sebagai tempat penampungan data pada contoh di atas ada pada baris 3 dan 6. Deklarasi masing-masing variabel sama-sama memiliki tujuan memesan memori untuk penyimpanan data dengan tipe integer (int).  Namun pada masing-masing baris tersebut memiliki scope atau ruang lingkup yang berbeda.

 

Deklarasi variabel pada baris 6 ada dalam lingkup fungsi utama, sehingga pemakaian variabel ini hanya dikenal dalam prosedur utama saja. Demikian juga jika kita mendeklarasikan variabel pada suatu fungsi atau prosedur, variabel itu hanya dikenal di dalam fungsi itu saja. Variabel seperti ini disebut variabel lokal.

 

Sedang untuk deklarasi di luar prosedur atau fungsi seperti yang tertera pada baris 3 dinamakan variabel global. Variabel global memiliki lingkup seluruh program, tidak terbatas pada prosedur atau fungsi tertentu. Pada penggunaannya lebih disarankan untuk pemakaian variabel lokal.

 

4.4.1.     Input/Output

Seringkali program yang kita buat membutuhkan input dari pengguna. Untuk input dari luar dibutuhkan sintaks untuk pengambilan input dan variabel yang akan menampung inputan yang dimasukkan oleh pengguna.

 

Berikut ini diberikan contoh untuk pengambilan input dengan bahasa C :

01            #include<stdio.h>

02            #include<conio.h>

03            void main()

04            {

05                 int x;

06                 clrscr();

07                 printf(“Masukkan usia anda : ”);

08                 scanf(“%d”,&x);

09            }

Ini adalah tampilan layar hasilnya :

 

Misal pengguna melakukan inputan, maka inputan akan muncul di layar :

 

 

Perhatikan pada gambar pertama, perhatikan bahwa setelah mencetak kata-kata “Masukkan usia anda : ” program menunggu inputan dari pengguna dengan cara menampilkan tanda ‘_’ (underscore). Penginputan ini diakibatkan oleh baris program scanf pada baris 8 yang memang merupakan sintaks untuk memasukkan input dari standard input yaitu keyboard. Proses pengisian input akan selesai jika user sudah memasukkan input dan menekan tombol Enter.

 

Berikut ini adalah beberapa contoh sintaks pengisian input pada bahasa C :

  • scanf(“%d”,&x);

Sintaks scanf digunakan untuk meminta inputan. Sintaks ini membutuhkan minimal 2 parameter, yaitu :

-      parameter pertama, berisi format inputan. Format inputan ini berupa string dan ditulis dengan diapit tanda petik dua (“…”). Formatnya sendiri ada bermacam-macam. Misal untuk contoh di atas, %d menyatakan input yang diharapkan bertipe integer. Jadi disarankan variabel yang digunakan juga memiliki tipe yang sama, yaitu integer supaya mendapatkan hasil yang diinginkan.

-      parameter kedua, berisi alamat variabel yang akan menampung hasil inputan.

  • scanf(“%c”,&hrf);

Contoh di atas untuk inputan dengan tipe char (%c).

  • scanf(“%f”,&pch);

Contoh di atas untuk inputan dengan tipe float (%f).

  • gets(nama);

Gets digunakan untuk meminta inputan berupa string atau array dari katakter atau gabungan dari karakter-karakter. Untuk array ini akan diperjelas di sub bab 4.6. Nama adalah nama variabel yang akan digunakan untuk menampung string yang dimasukkan.

 

Untuk output bisa berupa hasil penulisan di layar, file, ataupun printer. Standard output yang digunakan biasanya berupa hasil ketikan di layar. Sintaks yang digunakan sudah kita pelajari sebelumnya, yaitu printf.

 

Untuk mencetak nilai yang ditampung di dalam variabel digunakan cara yang sama dengan scanf, contohnya printf(“Usia saya adalah : %d”,x);.

 

4.4.2.     Percabangan dan Perulangan

Sebelum memasuki percabangan dan perulangan, kita akan membahas terlebih dahulu ekspresi dan statement. Ekspresi terdiri dari operan dan operator.

 

Berdasarkan jumlah operannya, ekspresi bisa dibedakan menjadi 2, yaitu :

  • Ekspresi uner, yaitu ekspresi dengan operator yang hanya membutuhkan satu operan.
  • Ekspresi biner, yaitu ekspresi yang membutuhkan dua operan.

 

Ekspresi juga bisa dibedakan dari tipe hasilnya, yaitu :

  • Ekspresi Boolean

Ekspresi ini memiliki hasil berupa tipe Boolean (true, false).

Contoh dalam bahasa C :

-      x>5

Ekspresi ini bernilai benar(true) atau dalam bahasa C dilambangkan dengan nilai integer bukan 0 jika nilai yang ada dalam variabel x lebih dari 5.

-      (x>0) && (x<5)

Ekspresi ini bernilai benar(true) jika nilai x lebih besar dari 0 dan lebih kecil dari 5.

-      (x<0) || (x>5)

Ekspresi ini bernilai benar(true) jika nilai x lebih kecil dari 0 atau lebih besar dari 5.

  • Ekspresi numerik

Ekspresi ini memiliki hasil berupa tipe integer atau floating point.

Contoh dalam bahasa C :

-      1+2            à  1 tambah 2

-      30*14                   à  30 kali 14

-      500/6                   à  500 bagi 6

-      1%2           à  1 modulus 2 (sisa hasil bagi 1 dan 2)

  • Ekspresi karakter dan string

Ekspresi ini memiliki hasil berupa karakter atau string.

 

Sedangkan statement mengindikasikan adanya instruksi yang akan dijalankan misalnya :

  • Pemberian nilai ke variabel

Contoh :

-      X = 5;

-      Y = ‘a’;

-      Z = x + 2;

  • Pemanggilan fungsi atau prosedur

Contoh :

-      printf(“Happy Day”);

-      clrscr();

-      gets(nama);

  • Bentuk perulangan atau seleksi

Bentuk ini akan dijelaskan berikut ini.

 

Percabangan

Percabangan bertujuan untuk melakukan seleksi beberapa kondisi untuk menjalankan baris-baris program tertentu. Percabangan ini sering dikenal dengan istilah seleksi. Sintaks yang digunakan untuk seleksi adalah :

  • if-then-else

Sintaksnya adalah :

-      if( [expression] ) { [statement]; }

-      if( [expression] ) { [statement1]; }

else { [statement2]; }

  • switch-case

Sintaksnya adalah :

switch( [expression] ) {

case [constant expression1] : [statement1];

case [constant expression2] : [statement2];

default : [statementDefault];

}

 

Untuk lebih jelasnya perhatikanlah contoh berikut :

01            #include<stdio.h>

02            #include<conio.h>

03            void main()

04            {

05                 int x;

06                 clrscr();

07                 printf(“Masukkan sebuah angka : ”);

08                 scanf(“%d”,&x);

09                 if( (x%2)==0 ){

10                     printf(“Angka anda adalah bilangan genap”);

11                 } else {

12                     printf(“Angka anda adalah bilangan ganjil”);

13                 }

14            }

 

Program di atas bertujuan untuk menyatakan apakah angka yang diinput oleh pengguna merupakan bilangan ganjil atau genap. Bagian dari seleksi pada baris program di atas dimulai pada bari 9 sampai dengan baris 13. Kita akan membahas perbaris untuk lebih jelasnya :

  • Baris 9 (bagian if)

if( (x%2)==0 ), menyatakan ‘jika sisa hasil bagi nilai variabel x dengan angka 2 bernilai 0’.

Pada bahasa C, operator yang menyatakan keekuivalenan dalam sebuah ekspresi dinyatakan dengan dua buah sama dengan ‘==’.

  • Baris 10 (statement untuk kondisi benar)

Baris ini adalah statement yang akan dijalankan jika kondisi yang dinyatakan pada baris 9 bernilai benar.

  • Baris 12 (statement untuk kondisi salah)

Baris ini berisi statement yang akan dijalankan ketika kondisi yang dinyatakan pada baris 9 bernilai salah.

 

Untuk contoh program dengan menggunakan switch-case perhatikan contoh berikut :

Untuk lebih jelasnya perhatikanlah contoh berikut :

01            #include<stdio.h>

02            #include<conio.h>

03            void main()

04            {

05                 int x;

06                 clrscr();

07                 printf(“Masukkan sebuah angka : ”);

08                 scanf(“%d”,&x);

09                 switch(x%10){

10                      case 0 : printf(“nol”);break;

11                      case 1 : printf(“satu”);break;

12                      case 2 : printf(“dua”);break;

13                      case 3 : printf(“tiga”);break;

14                      case 4 : printf(“empat”);break;

15                      case 5 : printf(“lima”);break;

16                      case 6 : printf(“enam”);break;

17                      case 7 : printf(“tujuh”);break;

18                      case 8 : printf(“delapan”);break;

19                      case 9 : printf(“sembilan”);break;

20                 }

21            }

 

Program di atas bertujuan untuk menuliskan dalam huruf alfabet digit terakhir dari angka yang dimasukkan. Misalnya, pengguna memasukkan angka 1234, maka angka yang akan dijabarkan adalah satuan terkecilnya yaitu 4, yang akan ditulis menjadi “empat”.

 

Bagian seleksi dimulai dari baris 9 sampai dengan baris 20. Dimulai dengan sintaks switch(x%10) yang berarti ekspresi dari x yang dimodulus 10 (untuk mengambil satuan terkecilnya). Dilanjutkan dengan tanda kurung kurawal ‘{‘ dan ‘}’ yang akan mengapit case-case yang mungkin. Program akan menyeleksi apakah hasil modulus 10 dari x adalah 0, jika ya maka dicetak “nol”, jika tidak maka dilanjutkan ke case 1, jika hasil modulus 10 dari x adalah 1, maka dicetak “satu”, dan seterusnya. Untuk sintaks break di atas bermaksud jika program sudah menemui case yang dimaksud akan langsung keluar dari proses seleksi, tidak ke case-case berikutnya.

 

Perulangan

Perulangan bertujuan untuk menyederhanakan baris program yang mengerjakan tugas yang berulang-ulang. Perulangan memiliki banyak bentuk. Berikut ini adalah bentuk-bentuk perulangan :

  • For

Sintaksnya adalah :

for( [expr1] ; [expr2] ; [expr3] ) { [statement] }

Keterangan :

-      Expr1, untuk inisialisasi variabel.

-      Expr2, adalah ekspresi untuk kondisi benar (perulangan akan terus dilakukan selama ekspresi ini berkondisi true).

-      Expr3, adalah bagian yang akan dijalankan setiap kali satu iterasi selesai dijalankan dalam perulangan. Biasanya bagian ini berupa increment atau decrement dari suatu variabel.

-      Statement, adalah baris program yang akan dijalankan selama perulangan.

-      Untuk bagian-bagian di dalam for, tidak harus ada, namun tetap harus dipisahkan oleh tanda ‘;’.

-      Alur program dalam sebuah perulangan menggunakan for adalah sebagai berikut : [expr1] – [expr2] – [statement] – [expr3] – [expr2] – [statement] – [expr3] – dst.

Bagian inisialisasi (expr1) hanya dilakukan satu kali pada awal perulangan. Selanjutnya program akan melakukan pengecekan kondisi pada expr2 apakah kondisi masi benar, jika masih benar akan dilanjutkan pada statement, jika salah maka perulangan akan selesai. Setelah statement, expr3 akan dijalankan. Lalu kembali lagi ke expr2 untuk pengecekan apakah kondisi perulangan masih benar.

 

Untuk lebih jelasnya perhatikan contoh program berikut :

01            #include<stdio.h>

02            #include<conio.h>

03            void main()

04            {

05                 int i;

06                 clrscr();

07                 for( i=0 ; i<3 ; i++ ){

08                      printf(“%d ”,i);

09                 }

10            }

Hasil : 0 1 2

 

Perhatikan contoh di atas. Bagian perulangan ada pada baris 7 sampai 9.

Berikut ini adalah alur jalannya perulangan :

Expr1 : Inisialisasi awal nilai variabel i dengan nilai 0

â

Expr2 : Pengecekan apakah nilai variabel i kurang dari 3 ( kondisi true 0<3 )

â

Statement : jalankan printf sehingga tercetak angka 0 (nilai i=0)

â

Expr3 : i++(sama dengan i=i+1) sehingga nilai i menjadi 1

â

Expr2 : Pengecekan apakah nilai variabel i kurang dari 3 ( kondisi true 1<3 )

â

Statement : jalankan printf sehingga tercetak angka 1 (nilai i=1)

â

Expr3 : i++ sehingga nilai i menjadi 2

â

Expr2 : Pengecekan apakah nilai variabel i kurang dari 3 ( kondisi true 2<3 )

â

Statement : jalankan printf sehingga tercetak angka 2 (nilai i=2)

â

Expr3 : i++ sehingga nilai i menjadi 3

â

Expr2 : Pengecekan apakah nilai variabel i kurang dari 3 ( kondisi false 3<3 )

â

Keluar dari perulangan

  • Do … while

Sintaksnya adalah :

do{ [statement] }while( [expression] );

Keterangan :

-      Statement, merupakan bagian program yang akan dijalankan jika kondisi benar.

-      Expression, adalah ekspresi dimana jika ekspresi ini berkondisi benar maka perulangan akan terus berjalan.

-      Alur dari perulangan dengan menggunakan do..while adalah [statement] – [expression] – [statement] – [expression] – dst.

 

Untuk lebih jelasnya perhatikan contoh program berikut :

01            #include<stdio.h>

02            #include<conio.h>

03            void main()

04            {

05                 int i;

06                 clrscr();

07                 i=0;

08                 do{

09                      printf(“%d “,i);

10                      i++;

11                 }while(i<3);

12            }

Hasil : 0 1 2

 

Contoh di atas merupakan bentuk perulangan yang sama dengan contoh for sebelumnya dengan sintaks do..while. Alur jalannya perulangan adalah sebagai berikut :

Inisialisasi nilai i = 0

â

[statement] : jalankan printf sehingga tercetak angka 0 (i=0)

â

[statement] : i++ sehingga nilai i menjadi 1

â

[expression] : pengecekan apakah nilai i lebih kecil dari 3 (kondisi true 1<3)

â

[statement] : jalankan printf sehingga tercetak angka 1 (i=1)

â

[statement] : i++ sehingga nilai i menjadi 2

â

[expression] : pengecekan apakah nilai i lebih kecil dari 3 (kondisi true 2<3)

â

[statement] : jalankan printf sehingga tercetak angka 2 (i=2)

â

[statement] : i++ sehingga nilai i menjadi 3

â

[expression] : pengecekan apakah nilai i lebih kecil dari 3 (kondisi false 3<3)

â

Keluar dari perulangan

 

  • While

Sintaksnya adalah :

While( [expression] ){ [statement] }

Keterangan :

-      Sintaks while memiliki bentuk yang hampir sama dengan do..while.

-      Alur dari perulangan dengan menggunakan while adalah [expression] – [statement] – [expression] – [statement] – dst.

 

Untuk lebih jelasnya perhatikan contoh program berikut :

01            #include<stdio.h>

02            #include<conio.h>

03            void main()

04            {

05                 int i;

06                 clrscr();

07                 i=0;

08                 while(i<3){

09                      printf(“%d “,i);

10                      i++;

11                 }

12            }

Hasil : 0 1 2

 

Alur jalannya perulangan adalah sebagai berikut :

Inisialisasi nilai i = 0

â

[expression] : pengecekan apakah nilai i lebih kecil dari 3 (kondisi true 0<3)

â

[statement] : jalankan printf sehingga tercetak angka 0 (i=0)

â

[statement] : i++ sehingga nilai i menjadi 1

â

 [expression] : pengecekan apakah nilai i lebih kecil dari 3 (kondisi true 1<3)

â

[statement] : jalankan printf sehingga tercetak angka 1 (i=1)

â

[statement] : i++ sehingga nilai i menjadi 2

â

[expression] : pengecekan apakah nilai i lebih kecil dari 3 (kondisi true 2<3)

â

[statement] : jalankan printf sehingga tercetak angka 2 (i=2)

â

[statement] : i++ sehingga nilai i menjadi 3

â

[expression] : pengecekan apakah nilai i lebih kecil dari 3 (kondisi false 3<3)

â

Keluar dari perulangan

 

Walaupun do..while dan while sepintas terlihat sama, namun untuk beberapa kasus bisa memberikan hasil yang berbeda. Hal ini dikarenakan pengecekan kondisi yang dilakukan terlebih dahulu pada sintaks while.

 

Untuk lebih jelasnya perhatikan contoh dengan sintaks do..while berikut :

01            #include<stdio.h>

02            #include<conio.h>

03            void main()

04            {

05                 int i;

06                 clrscr();

07                 i=0;

08                 do{

09                      printf(“%d “,i);

10                      i++;

11                 }while(i<0);

12            }

 

dan contoh dengan sintaks while berikut :

01            #include<stdio.h>

02            #include<conio.h>

03            void main()

04            {

05                 int i;

06                 clrscr();

07                 i=0;

08                 while(i<0){

09                      printf(“%d “,i);

10                      i++;

11                 }

12            }

 

Untuk contoh dengan sintaks do..while akan mencetak nilai 0, sedangkan dengan sintaks while program tidak akan mencetak apapun. Hal ini disebabkan oleh kondisi yang diminta adalah nilai i harus lebih kecil dari 0. Pada contoh do..while pengecekan dilakukan setelah statement dijalankan sehingga sintaks printf dijalankan (pada do..while statement dijalankan minimal satu kali). Berbeda dengan contoh while pengecekan dilakukan pertama kali, sehingga ketika kondisi yang diminta tidak dipenuhi, maka perulangan tidak akan dilakukan.

 

4.5        Membuat Program Menggunakan Prosedur dan Fungsi

Prosedur atau fungsi atau yang secara umum dikenal sebagai rutin, adalah suatu blok program yang dapat dipanggil oleh bagian lain dalam program.

Prosedur atau fungsi memisahkan beberapa baris program menjadi bagian tersendiri untuk tujuan tertentu, misalnya untuk keefisienan pembuatan baris program yang akan dipanggil beberapa kali. Beberapa programmer juga sering menggunakan prosedur atau fungsi ini untuk kemudahan pembacaan algoritma program secara keseluruhan.

Perbedaan antara prosedur dan fungsi adalah setelah dipanggil, fungsi akan mengembalikan nilai, sedangkan prosedur tidak. Karena menghasilkan nilai, fungsi bisa menjadi bagian dari suatu ekspresi, dan bisa juga nilainya di-assign-kan ke suatu variable tertentu.

Prosedur tidak menghasilkan nilai sehingga tidak dapat menjadi bagian dari suatu ekspresi dan tidak bisa di-assign-kan ke suatu variable.

4.5.1.     Prosedur

Pada bab sebelumnya, kita sudah pernah menggunakan prosedur yang sudah dibuat oleh compiler BC 3.1 seperti :

  • clrscr();   // adalah prosedur untuk membersihkan layar
  • clreol();   // adalah prosedur untuk membersihkan satu baris dari posisi kursor aktif
  • void main();       // ini adalah salah satu contoh prosedur yang digunakan dan definisikan sendiri isinya.

 

Untuk membuat prosedur di dalam bahasa C berikut ini adalah sintaksnya :

void [nama prosedur] ([parameter1],[parameter2],…)

{   [statement]   }

Untuk pemanggilannya :

[nama prosedur] ([parameter1],[parameter2],…);

Parameter di atas berfungsi untuk passing nilai-nilai (jika dibutuhkan) untuk menjalankan prosedur. Parameter-parameter di atas bersifat opsional, tidak wajib. Bentuk penulisan parameter hampir sama dengan deklarasi variabel, hanya tanpa titik koma.

 

Untuk lebih jelasnya, perhatikan contoh prosedur tanpa parameter berikut yang bertujuan untuk mencetak tulisan ke layar :

01            #include<stdio.h>

02            #include<conio.h>

03            void cetak()

04            {

05               printf(“Ini adalah contoh prosedur”);

06            }

07            void main()

08            {

09               clrscr();

10               printf(“Belajar bahasa C “);

11               cetak();

12            }

Pada baris program di atas, kita temukan adanya prosedur lain selain void main, yaitu void cetak. Di dalam prosedur ini ada sintaks untuk mencetak tulisan “Ini adalah contoh prosedur” dengan printf. Pemanggilannya dilakukan setelah pencetakan “Belajar bahasa C” pada baris 10. Maka hasilnya akan tertulis  “Belajar bahasa C Ini adalah contoh prosedur”. Saat pemanggilan prosedur cetak, maka compiler akan membaca baris program di mana prosedur cetak didefinisikan, yaitu pada baris 5.

 

Untuk contoh prosedur dengan parameter berikut ini :

01            #include<stdio.h>

02            #include<conio.h>

03            void cetakHasilKonversi( float dollar )

04            {

05               printf(“\n%f US$ = Rp %f”, dollar, dollar*9100);

06            }

07            void main()

08            {

09               float dlr;

10               clrscr();

11               printf(“Program Konversi Dollar – Rupiah“);

12               printf(“\nMasukkan nilai dollar : “);

13               scanf(“%f”,&dlr);

14               cetakHasilKonversi( dlr );

15            }

Pemanggilan prosedur di baris 14 akan menjalankan program di baris 5 sambil mengirimkan nilai variabel dlr yang diinput oleh user untuk dibaca oleh prosedur cetakHasilKonversi.

 

4.5.2.     Fungsi

Seperti telah dijelaskan sebelumnya, bahwa fungsi dapat mengembalikan nilai sehingga memiliki kelebihan tersendiri dibandingkan prosedur.

 

Untuk membuat fungsi di dalam bahasa c berikut ini adalah sintaksnya :

[tipe data] [nama fungsi] ( [parameter1], [parameter2], … )

{

[statement]

return [value];

}

 

Untuk lebih jelasnya, perhatikan contoh penggunaan fungsi berikut untuk menghitung konversi nilai tukar rupiah terhadap dollar :

01            #include<stdio.h>

02            #include<conio.h>

03            float konversi( float dollar )

04            {

05               float rupiah;

06               rupiah = dollar * 9100;

07               return rupiah;

08            }

09            void main()

10            {

11               float dlr,rp;

12               clrscr();

13               printf(“Program Konversi Dollar – Rupiah“);

14               printf(“\nMasukkan nilai dollar : “);

15               scanf(“%f”,&dlr);

16               rp = konversi( dlr );

17               printf(“\n%f US$ = Rp %f”, dlr, rp);

18            }

Contoh di atas memiliki hasil yang sama dengan penggunaan prosedur pada contoh sebelumnya. Perbedaannya hanya terletak pada apakah kita menggunakan prosedur yang tidak memerlukan pengembalian nilai atau fungsi yang ada pengembalian nilainya.

Untuk fungsi, perhatikan pada baris 16. Nilai yang dikembalikan oleh fungsi konversi bisa ditampung ke dalam variabel rp.

 

4.5.3   Pembuatan program menggunakan prosedur dan fungsi

Perhatikan contoh penggunaan prosedur dan fungsi secara bersamaan berikut ini :

01                      #include<stdio.h>

02            #include<conio.h>

03            void cetakHeader()

04            {

05                              printf(“Selamat datang di Program Pengecekan Bilangan Prima”);

06            }

07            int isPrime( int bil )

08            {

09                int i, ctr=0;

10                for( i=1 ; i<=bil ; i++ )

11                {

12                    if( bil%i==0 ) ctr++;

13                }

14                if( ctr==2 ) return 1;

15                else return 0;

16            }

17            void main()

18            {

19               int bilangan;

20               clrscr();

21               cetakHeader();

22               printf(“\nMasukkan bilangan : “);

23               scanf(“%d”,&bilangan);

24               printf(“Bilangan yang anda masukkan “);

25               switch( isPrime( bilangan ) )

26               {

27                                                                          case 0 : printf(“bukan prima”); break;

28                                                                          case 1 : printf(“prima”); break;

29                }

30            }

Program diatas bertujuan untuk mengecek apakah bilangan yang diinput user merupakan bilangan prima atau tidak. Jika ada yang kurang jelas, anda bisa tanyakan kepada pengajar anda.

 

4.6        Membuat Program Menggunakan Array

Array adalah sekumpulan data yang memiliki tipe yang sama. Array bisa diibaratkan sebagai sebuah tabel atau vektor. Array disimpan di dalam memori secara berurutan sebanyak data yang dimiliki.

 

Untuk lebih jelasnya perhatikan contoh deklarasi array dengan menggunakan bahasa C berikut ini :

int data[5];

Baris di atas berarti kita memesan variabel yang diberi nama data dengan tipe integer sebanyak 5 buah. Penyimpanan di dalam memori untuk array bersifat berurutan sehingga bisa diilustrasikan sebagai berikut :

Tipe :  integer

Besar : 2 byte

Tipe :  integer

Besar : 2 byte

Tipe :  integer

Besar : 2 byte

Tipe :  integer

Besar : 2 byte

Tipe :  integer

Besar : 2 byte

Keterangan : besar space yang dibutuhkan untuk satu tipe integer adalah 16 bits (sesuai dengan tabel data yang ada di sub bab 4.3.1). Dengan kalkulasi 1 byte = 8 bits.

 

Contoh di atas merupakan contoh untuk array satu dimensi. Mengapa di sebut satu dimensi? Karena data yang ada pada array seakan-akan membentuk satu baris atau kolom saja. Array yang datanya membentuk tabel disebut array dua dimensi. Selain itu ada juga array tiga dimensi dan seterusnya.

 

4.6.1.     Pembuatan Program Menggunakan Array

Perhatikan contoh penggunaan array satu dimensi berikut ini :

01            #include<stdio.h>

02            #include<conio.h>

03            void main()

04            {

05                 int data[5] = { 8,5,7,7,6 };

06                 int i,avg=0;

07                 clrscr();

08                 printf(“Nilai-nilai ujian kelas A : “);

09                 for( i=0 ; i<5 ; i++ ){

10                    printf(“%d “,i);

11                    avg = avg + data[i];

12                 }

13                 printf(“\nRata-rata kelas : “,avg/5);

14            }

 

Program di atas bertujuan untuk menghitung rata-rata nilai ujian dari kelas A dimana nilai-nilai ujiannya sudah diberikan secara eksplisit dalam program. Perhatikan pada baris 5 terdapat deklarasi array data dengan tipe integer yang masing-masing sudah didefinisikan nilainya.

Setelah kita mengetahui cara pendeklarasian array, kita juga perlu mengetahui cara menggunakannya. Perhatikan cara penggunaan array pada baris ke-11. Indeks array pada bahasa C dan beberapa bahasa lainnya dimulai dengan 0. Jadi ketika kita menulis data[0] ini berarti kita mengakses array data dengan indeks yang ke-0 atau dengan kata lain data pertama.

Untuk array dua dimensi, pembuatan dan penggunaannya pada dasarnya sama dengan array satu dimensi. Untuk lebih jelasnya perhatikan contoh berikut :

01            #include<stdio.h>

02            #include<conio.h>

03            void main()

04            {

05                 int data[3][2] = { 8,5,7,7,6,5 };

06                 int i,j;

07                 clrscr();

08                 printf(“Data yang ada dalam array adalah : “);

09                 for( i=0 ; i<3 ; i++ ){

10                    for( j=0 ; j<2 ; j++ ){

11                       printf(“%d “,data[i][j]);

12                    }

13                 }

14             }

 

4.6.2.     Pencarian dan Pengurutan Data Dengan Array

Salah satu penggunaan array yang paling sering adalah pencarian (searching) dan pengurutan (sorting) data. Lewat implementasi array dalam searching dan sorting terlihat semakin jelas kegunaan array dalam struktur data. Dengan penggunaan array, kita bisa menghindari pemakaian variabel yang terlalu banyak dan tidak efisien.

Berikut ini adalah contoh program sederhana pencarian data dengan array :

01            #include<stdio.h>

02            #include<conio.h>

03            #include<stdlib.h>

04            void main()

05            {

06                 int data[30];

07                 int i,j;

08                 clrscr();

09                 randomize();

10                 for( i=0 ; i<30 ; i++ ){

11                    data[i] = rand()%99;

12                 }

13                 printf(“Data random yang kurang dari 10 adalah:“);

14                 for( i=0 ; i<30 ; i++ ){

15                     if(data[i]<10){

16                        printf(“%d “,data[i]);

17                     }

18                 }

19             }

Program di atas bertujuan untuk melakukan pencarian data dengan syarat tertentu (dalam kasus di atas data yang kurang dari 10) dari data yang ada di dalam array yang nilainya didapat dari hasil random.

Untuk pengurutan data berikut ini contohnya :

01            #include<stdio.h>

02            #include<conio.h>

03            #include<stdlib.h>

04            void main()

05            {

06                 int data[30];

07                 int i,j,temp;

08                 clrscr();

09                 randomize();

10                 printf(“Data Random : “);

11                 for( i=0 ; i<30 ; i++ ){

12                    data[i] = rand()%99;

13                    printf(“%d “,data[i]);

14                 }

15                 printf(“\nData hasil pengurutan : “);

16                 for( i=0 ; i<29 ; i++ ){

17                     for( j=29; j>i; j– ){

18                        if(data[j]<data[j-1]){

19                           temp = data[j];

20                           data[j] = data[j-1];

21                           data[j-1] = temp;

22                        }

23                     }

24                 }

25                 for( i=0 ; i<30 ; i++ ) printf(“%d “,data[i]);

26             }

Contoh di atas adalah contoh pengurutan data berupa integer dengan algoritma bubble sort. Untuk lebih jelasnya tanyakan kepada pengajar anda.

 

4.7        Membuat Program untuk Akses File

File adalah blok dari data yang berfungsi sebagai penyimpan informasi. Untuk melakukan pengaksesan file kita membutuhkan sintaks-sintaks berikut ini :

  • Untuk membuka file (sebelum diakses kita harus terlebih dahulu membuka file tersebut dan menempatkan variabel pointer). Sintaksnya adalah :

FILE *[nama variabel pointer] = fopen (char *fname, char *mode);

 

Untuk mengakses file biasanya kita membutuhkan suatu pointer yang akan digunakan untuk penunjuk di dalam file. Untuk sintaks bisa dilihat di atas. Contoh deklarasi pointernya : FILE *in; FILE *out;

Ini artinya kita punya pointer in dan out yang digunakan untuk akses ke file.

 

Sintaks fopen merupakan fungsi untuk membuka file. Jika sukses membuka file, fungsi ini akan mengembalikan nilai berupa alamat dimana pointer file ditempatkan. Untuk parameter yang ada di dalamnya ada 2, yaitu pointer fname dan pointer mode. Kedua pointer ini akan diisi dengan string (array of char) dimana fname adalah nama file yang akan dibaca. Sedangkan untuk mode diisi dengan mode pembacaannya. Untuk penjelasan tentang pointer akan dibahas pada sub bab berikutnya.

 

Berikut mode-mode file yang terdapat dalam bahasa c :

r Buka file text untuk dibaca (read)
w Buka file text untuk ditulis (write)
a Buka file text untuk ditambahkan (append)
rb Buka file binary untuk dibaca (read-binary)
wb Buka file binary untuk ditulis (write-binary)
ab Buka file binary untuk ditambahkan (append-binary)
r+ Buka file text untuk baca dan tulis
w+ Buka file text untuk baca dan tulis
a+ Buka file untuk ditambahkan atau membuat file untuk baca /tulis

 

  • Untuk menutup file jika sudah selesai digunakan. Sintaksnya adalah :

int fclose(FILE *fp);

Sintaks fclose ini akan menutup file yang telah dibuka dengan pointer fp.

 

  • Untuk membaca file. Sintaksnya adalah :

fscanf(FILE *stream,[argument]);

Penggunaan fscanf ini hampir sama dengan scanf hanya ditambahkan satu parameter di bagian depan untuk pointer dari file atau yang sering disebut handler.

 

  • Untuk menulis ke dalam file. Sintaksnya adalah :

fprintf(FILE *stream,[argument]);

Penggunaan fprintf inipun hampir sama dengan printf. Sama seperti scanf perbedaannya fprintf ditambahkan satu parameter di bagian depan untuk pointer.

 

Berikut contoh program untuk akses file :

01            #include<stdio.h>

02            #include<conio.h>

03            void main()

04            {

05                FILE *in, *out;

06                int temp;

07                in = fopen(“data.txt”,”r”);

08                out = fopen(“copydata.txt”,”w”);

09                while( !feof(in) )

10                {

11                    fscanf(in,”%d”,&temp);

12                    fprintf(out,”%d “,temp);

13                }

14                fclose(in);

15                fclose(out);

16            }

Program di atas dibuat untuk menyalin (copy) isi file data.txt yang berisi data berupa angka-angka ke file copydata.txt. Baris 7 dan 8 berisi instruksi untuk membuka file data.txt dan copydata.txt yang masing-masing dipegang oleh pointer in dan out. Perhatikan pada baris 7 mode yang digunakan adalah r, yang berarti kita membuka file data.txt untuk dibaca, sedangkan baris 8 menggunakan mode w yang berarti file dibuka untuk ditulis.

Baris 9 sampai 13 adalah sebuah perulangan dimana kondisi benarnya adalah !feof(in). Ini berarti kondisi benar selama pointer in tidak mencapat end-of-file (akhir dari file). Selama perulangan dilakukan pembacaan input dengan pointer in dari data.txt dan penulisan oleh pointer out  ke copydata.txt.

Setelah file digunakan, jangan lupa ditutup dengan sintaks fclose.

 

4.8        Membuat Program Menggunakan Pointer

Dalam bahasa C programer diizinkan untuk mengakses secara langsung ke memori. Hal ini tentu saja memberikan keuntungan dan fleksibilitas yang tinggi. Untuk hal ini kita menggunakan variabel yang disebut pointer. Pointer adalah variabel yang digunakan untuk menyimpan alamat memori.

Misalkan kita punya variable a.

a disimpan di alamat 0xffff di memory.

Maka alamat dari A dapat kita simpan di dalam pointer.

 

Deklarasi pointer hampir sama dengan deklarasi variabel biasa. Hanya saja pointer ditandai dengan adanya tanda asteriks (*) di depan nama variabelnya.

[tipe data] *[nama pointer];

 

Untuk lebih jelasnya, berikut ini adalah contoh penggunaan pointer :

01            #include<stdio.h>

02            #include<conio.h>

03            void main()

04            {

05                int *pInt;

06                int a;

07                clrscr();

08                a = 10;

09                          pInt = &a;

10                printf(“pointer pInt berisi : %d”, *pInt);

11                a = 7;

12                printf(“\npointer pInt berisi : %d”, *pInt);

13            }

Baris 5 program di atas berisi deklarasi variabel pInt dengan tipe pointer int. Artinya pInt ini dibuat untuk berisikan alamat memori dari suatu blok memori tempat penyimpanan tipe data integer. Untuk lebih jelasnya perhatikan ilustrasi berikut :

     a

  

    10

 

   pInt

 

0xffff

0xefff                       0xffff

 

 

Perhatikan gambar di atas. Kita memiliki variabel pointer pInt yang disimpan di alamat 0xefff. Sementara itu kita memiliki variabel a yang berisi nilai 10. Variabel a ini disimpan di alamat 0xffff dalam memori. Ketika kita menuliskan pInt = &a berarti kita mengisi nilai pInt dengan alamat dari variabel a (&a berarti alamat dari variabel a). Dengan kata lain pointer pInt ini dibuat untuk menunjuk ke alamat variabel a.

Ketika kita menuliskan *pInt berarti isi dari alamat yang ditunjuk oleh pointer pInt.

Untuk contoh program di atas, nilai *pInt yang pertama adalah 10, sedang yang kedua adalah 7 karena nilai a sudah berubah.

 

4.8.1.     Penulisan dan Pembacaan Data Menggunakan Pointer

Perhatikan contoh program untuk menukar data berikut :

01            #include<stdio.h>

02            #include<conio.h>

03            void tukar (int *a, int *b)

04            {

05                int temp = *a;

06                *a = *b;

07                *b = temp;

08            }

09            void main()

10            {

11                int a=1, b=2;

12                clrscr();

13                printf(“Nilai a = %d, b = %d”,a,b);

14                tukar(&a,&b);

15                printf(“\nNilai a = %d, b = %d”,a,b);

16            }

Perhatikan contoh di atas. Dengan penggunaan pointer, nilai variabel a dan b bisa ditukar melalui prosedur tukar. Padahal dengan menggunakan prosedur dengan passing parameter biasa (bukan pointer) nilai variabel a dan b tidak dapat tertukar. Mengapa demikian? Diskusikan bersama dengan pengajar anda.

 

4.8.2.     Penggunaan Pointer untuk pencarian dan pengurutan data

Berikut ini adalah contoh pencarian data dengan menggunakan pointer :

01            #include<stdio.h>

02            #include<conio.h>

03            #include<stdlib.h>

04            void main()

05            {

06                int data[30];

07                int i,j;

08                int *pInt;

09                clrscr();

10                randomize();

11                for( i=0 ; i<30 ; i++ ) data[i] = rand()%99;

12                pInt = &data[0];  //pointer menunjuk pada data[0]

13                printf(“Data random yang kurang dari 10 adalah :”);

14                for( i=0 ; i<30 ; i++ )

15                {

16                    if( *(pInt+i) <10 ) printf(“%d “,data[i]);

17                }

18            }

Perhatikan pada baris ke-16. *(pInt+i) bertujuan untuk membaca satu per satu dari array data. Penambahan nilai pInt dengan i dikarenakan pInt pada awalnya hanya diinisialisasi untuk menunjuk alamat data[0]. Untuk membaca data indeks berikutnya dibutuhkan penambahan i.

 

Berikut ini adalah contoh pencarian data dengan menggunakan pointer :

01            #include<stdio.h>

02            #include<conio.h>

03            void tukar (int *a, int *b)

04            {

05                int temp = *a;

06                *a = *b;

07                *b = temp;

08            }

09            void main()

10            {

11                int data[30];

12                int i,j,temp,*pInt;

13                clrscr();

14                randomize();

15                printf(“Data Random : “);

16                for( i=0 ; i<30 ; i++ )

17                {

18                    data[i] = rand()%99;

19                    printf(“%d “,data[i]);

20                }

21                pInt = &data[0];

22                for( i=0 ; i<29 ; i++ )

23                {

24                    for( j=29 ; j>i ; j– )

25                    {

26                        if( *(pInt+j) < *(pInt+j-1) )

27                        {

28                            tukar( (pInt+j),(pInt+j-1) );

29                        }

30                    }

31                }

32                printf(“\nData setelah disorting : “);

33                for( i=0 ; i<30 ; i++ )

34                {

35                    printf(“%d “,data[i]);

36                }

37            }

 

4.9        Mengkompilasi Program

Setelah melakukan penulisan program tentu kita mengharapkan untuk melihat apakah program yang kita buat sudah berjalan sesuai dengan yang diinginkan. Pada saat menjalankan program, ada 2 tahap yang dikerjakan. Pertama program akan dikompilasi terlebih dahulu. Ini berarti semua baris program yang kita buat akan diperiksa sintaksnya apakah sudah benar atau belum. Untuk ini, pembuat program harus benar-benar memperhatikan sintaks yang ditulis. Tidak boleh ada kesalahan pada penulisan, huruf besar/kecil (untuk yang bersifat case-sensitive) ataupun pada tanda baca (misal titik koma di akhir setiap instruksi). Setelah lolos dari pengecekan ini barulah program dijalankan.

4.9.1.     Cara Kompilasi Program

Dengan menggunakan BC 3.1 kompilasi dilakukan dengan menekan tombol Alt dan F9, sedangkan untuk menjalankannya dengan tombol Ctrl dan F9.

4.9.2.     Kesalahan Sintaks dan Logika

Dengan mengkompilasi program, maka compiler akan memberitahukan kepada kita, apakah program kita sukses, artinya tidak terdapat kesalahan sama sekali atau tidak.

Hasil kompilasi pada BC 3.1 akan memberikan 2 jenis hasil yaitu :

  • Warning

Warning adalah tipe kesalahan yang masih dapat ditoleransi oleh compiler sehingga ketika kita run, program masih dapat jalan.

 

Berikut ini adalah contoh program dimana compiler akan menghasilkan warning

01            #include<stdio.h>

02            #include<conio.h>

03            void main()

04            {

05                int a=10 ,b=7;

06                printf(“Nilai a adalah %d”,a);

07            }

 

Jika kita mengkompilasi program di atas, maka akan muncul warning yaitu “b is assigned value that is never used”. Ini dikarenakan variabel b yang sudah kita isi nilainya tidak pernah digunakan. Compiler hanya mengingatkan bahwa kita menggunakan variabel yang tidak pernah kita pakai, namun ini tidak mengacaukan jalannya program. Program tetap berjalan seperti biasa.

  • Error

Error adalah kesalahan yang fatal, sehingga harus kita benarkan, kalau tidak kita tidak dapat menjalankan program kita. Error ini terjadi karena ada kesalahan pada penulisan sintaks.

Berikut ini adalah contoh program dimana compiler akan menghasilkan warning

01            #include<stdio.h>

02            #include<conio.h>

03            void main()

04            {

05                int a=10 ,b=7

06                printf(“Nilai a = %d dan nilai b = ”,a,b);

07            }

 

Jika program di atas kita kompilasi akan terjadi error dengan pesan “statement missing ;”. Ini terjadi karena pada baris 5 di akhir sintaks belum diberi tanda ‘;’ (titik koma).

 

 


BAB V

SUMBER-SUMBER YANG DIPERLUKAN UNTUK PENCAPAIAN                          KOMPETENSI

 

5.1 Sumber Daya Manusia

 

Pelatih

Pelatih Anda dipilih karena dia telah berpengalaman. Peran Pelatih adalah untuk:

  1. Membantu Anda untuk merencanakan proses belajar.
  2. Membimbing Anda melalui tugas-tugas pelatihan yang dijelaskan dalam tahap belajar.
  3. Membantu Anda untuk memahami konsep dan praktik baru dan untuk menjawab pertanyaan Anda mengenai proses belajar Anda.
  4. Membantu anda untuk menentukan dan mengakses sumber tambahan lain yang Anda perlukan untuk belajar Anda.
  5. Mengorganisir kegiatan belajar kelompok jika diperlukan.
  6. Merencanakan seorang ahli dari tempat kerja untuk membantu jika diperlukan.

 

Penilai

Penilai Anda melaksanakan program pelatihan terstruktur untuk penilaian di tempat kerja. Penilai akan :

  1. Melaksanakan penilaian apabila Anda telah siap dan merencanakan proses belajar dan penilaian selanjutnya dengan Anda.
  2. Menjelaskan kepada Anda mengenai bagian yang perlu untuk diperbaiki dan merundingkan rencana pelatihan selanjutnya dengan Anda.
  3. Mencatat pencapaian / perolehan Anda.

 

 

Teman kerja / sesama peserta pelatihan

Teman kerja Anda/sesama peserta pelatihan juga merupakan sumber dukungan dan bantuan. Anda juga dapat mendiskusikan proses belajar dengan mereka. Pendekatan ini akan menjadi suatu yang berharga dalam membangun semangat tim dalam lingkungan belajar/kerja Anda dan dapat meningkatkan pengalaman belajar Anda.

 

5.2.    Sumber-sumber Kepustakaan ( Buku Informasi )

Pengertian sumber-sumber adalah material yang menjadi pendukung proses pembelajaran ketika peserta pelatihan sedang menggunakan Pedoman Belajar ini.

Sumber-sumber tersebut dapat meliputi:

  1. Buku referensi (text book)/ buku manual servis
  2. Lembar kerja
  3. Diagram-diagram, gambar
  4. Contoh tugas kerja
  5. Rekaman dalam bentuk kaset, video, film dan lain-lain.

 

Ada beberapa sumber yang disebutkan dalam pedoman belajar ini untuk membantu peserta pelatihan mencapai unjuk kerja yang tercakup pada suatu unit kompetensi.

Prinsip-prinsip dalam CBT mendorong kefleksibilitasan dari penggunaan sumber-sumber yang terbaik dalam suatu unit kompetensi tertentu, dengan mengijinkan peserta untuk menggunakan sumber-sumber alternative lain yang lebih baik atau jika ternyata sumber-sumber yang direkomendasikan dalam pedoman belajar ini tidak tersedia/tidak ada.

 

5.3         Daftar Peralatan dan Bahan yang digunakan

  1. Judul/Nama Pelatihan        :    Mengoperasikan Bahasa Pemrograman Terstruktur
  2. Kode Program Pelatihan    :    TIK.PR02.008.01

 

NO

UNIT

KOMPETENSI

KODE UNIT

DAFTAR PERALATAN

DAFTAR BAHAN

KETERANGAN

1.

Mengoperasikan Bahasa Pemrograman Terstruktur

TIK.PR02.008.01

- Unit PC (Personal Computer).

- Keyboard, mouse, dan monitor.

- RAM dengan ukuran yang sesuai dengan kebutuhan.

- Kompiler  Bahasa Pemrograman Terstruktur (C, Pascal, Fortran, dsb ). Penulis menggunakan Borland C 3.1.

- Buku informasi

 

-

 

 

 

 

 

 

DAFTAR PUSTAKA

 

 

  • Manual/Help BC 3.1

Testimoni

artikel lainnya Mengoperasikan Bahasa Pemrograman Terstruktur TIK.PR02.008.01



bebas bayar, pembayaran mudah dan cepat, transaksi online, pembayaran tagihan dan tiket, transfer dana online

bebas bayar, pembayaran mudah dan cepat, transaksi online, pembayaran tagihan dan tiket, transfer dana online
Tuesday 28 July 2015 | blog

MATERI PELATIHAN BERBASIS KOMPETENSI SEKTOR TEKNOLOGI INFORMASI DAN KOMUNIKASI         MEMASANG PROSESOR TIK.CS02.012.01…

Sunday 28 December 2014 | blog

Punctuation   Punctuation is the system of symbols (. , ! - : etc) that we…

Thursday 6 March 2014 | blog

CONTOH:            SURAT  PERNYATAAN PELAKSANAAN PELATIHAN   LAMPIRAN III : KEPUTUSAN  BERSAMA MENTERI TENAGA KERJA DAN…

Monday 16 February 2015 | blog

Alarm Deteksi Kebocoran Gas Elpiji (LPG) LIVOTECH Gas ELPIJI adalah gas yang mudah terbakar maka kebocoran…