77
MATERI PELATIHAN BERBASIS KOMPETENSI SEKTOR TEKNOLOGI INFORMASI DAN KOMUNIKASI MEMBUAT ALGORITMA PEMROGRAMAN LANJUT TIK.PR02.002.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

Tik.pr02.002.01 b informasi fix

Embed Size (px)

Citation preview

Page 1: Tik.pr02.002.01 b informasi fix

MATERI PELATIHAN BERBASIS KOMPETENSI

SEKTOR TEKNOLOGI INFORMASI DAN

KOMUNIKASI

MEMBUAT ALGORITMA

PEMROGRAMAN LANJUT

TIK.PR02.002.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

Page 2: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 2 dari 77

DAFTAR ISI

Daftar Isi

2

BAB I PENGANTAR

4

1.1. Konsep Dasar Pelatihan Berbasis Kompetensi

4

1.2. Penjelasan Modul

4

1.3. Pengakuan Kompetensi Terkini (RCC)

7

1.4. Pengertian-pengertian Istilah

8

BAB II STANDAR KOMPETENSI

10

2.1. Peta Paket Pelatihan

10

2.2. Pengertian Unit Standar

10

2.3. Unit Kompetensi yang Dipelajari

11

2.3.1. Judul Unit ............................................................................

11

Page 3: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 3 dari 77

2.3.2. Kode Unit ............................................................................

11

2.3.3. Deskripsi Unit ............................................................................

11

2.3.4. Elemen Kompetensi ............................................................................

11

2.3.5. Kriteria Unjuk Kerja ............................................................................

11

2.3.6. Batasan Variabel ............................................................................

13

2.3.7. Panduan Penilaian ............................................................................

13

2.3.8. Kompetensi Kunci ............................................................................

15

BAB III STRATEGI DAN METODE PELATIHAN

17

3.1. Strategi Pelatihan

17

3.2. Metode Pelatihan

17

BAB IV MATERI UNIT KOMPETENSI

18

4.1 Tujuan Instruksional Umum ............................................................... 18

Page 4: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 4 dari 77

4.2 Tujuan Instruksional Khuisus ............................................................. 18

4.3 Penggunaan Array Multi Dimensi........................................................ 19

4.3.1 Pengenalan array multi dimensi ................................................

19

4.3.2 Array 2 dimensi (Matriks) .........................................................

19

4.3.2.1 Deklarasi matriks 2 dimensi .......................................... ..

20

4.3.2.2 Memberikan dan membaca nilai dari matriks 2 dimensi ......

20

4.3.2.3 Mengubah isi dari matriks n dimensi...................................

22

4.3.2.4 Penerapan matriks 2 dimensi ...........................................

23

4.3.2.5 Penjumlahan matriks 2 dimensi ........................................

23

4.3.2.6 Pengurangan matriks 2 dimensi........................................

24

4.3.3 Array matriks 3 dimensi............................................................

25

4.3.3.1 Deklarasi array 3 dimensi ................................................

25

4.3.3.2 Memberikan dan membaca nilai dari matriks 3 dimensi .....

27

4.3.3.3 Melakukan inisialisasi matriks 3 dimensi ...........................

27

4.3.3.4 Memberikan nilai secara langsung ...................................

27

4.3.3.5 Mengubah isi dari matriks 3 dimensi ................................

29

Page 5: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 5 dari 77

4.4 Penggunaan Prosedur dan Fungsi ....................................................

33

4.4.1 Apa itu file library .....................................................................

34

4.4.1.1 Fungsi operasi string .......................................................

34

4.4.1.2 Fungsi operasi karakter ....................................................

35

4.4.1.3 Fungsi operasi matematika ...............................................

36

4.4.2 Membuat fungsi sendiri .............................................................

38

4.4.3 Parameter formal dan parameter aktual ......................................

40

4.4.4 Cara melewatkan parameter ......................................................

41

4.4.5 Variabel Lokal ...........................................................................

42

4.4.5.1 Sifat - sifat variabel lokal ....................................................

42

4.4.6 Variabel Global ...........................................................................

42

4.4.6.1 Sifat - sifat variabel global ...................................................

42

4.4.7 Variabel Statis ............................................................................

43

4.4.7.1 Sifat - sifat variabel statis ...................................................

43

4.4.8 Variabel Register ........................................................................

43

Page 6: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 6 dari 77

4.4.8.1 Sifat - sifat variabel register .................................................

43

4.5 Pemrograman Grafik ........................................................................

46

4.5.1 Fungsi - fungsi pada proses inisialisasi modus grafis ......................

47

4.5.2 Fungsi - fungsi penting dalam memanipulasi obyek grafis ..............

50

4.5.3 Fungsi - fungsi penting untuk membuat obyek 2 dimensi ...............

52

4.5.4 Contoh - contoh program : ..........................................................

56

4.6 Pengenalan Obyek 3 Dimensi ............................................................

63

4.7 Pengenalan Terhadap Obyek Open GL ...............................................

64

4.7.1 Pengelompokkan fungsi ..............................................................

65

4.7.2 Proses inisialisasi Open GL ..........................................................

66

4.7.3 Fungsi dasar obyek Open GL .......................................................

67

4.7.4 Proses kompilasi program Open GL .............................................

68

4.7.5 Algoritma animasi sederhana ......................................................

68

BAB V SUMBER-SUMBER YANG DIPERLUKAN UNTUK PENCAPAIAN

KOMPETENSI

72

Page 7: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 7 dari 77

5.1. Sumber Daya Manusia

72

5.2. Sumber-sumber Perpustakaan

72

5.3. Daftar Peralatan/Mesin dan Bahan

73

DAFTAR PUSTAKA

74

Page 8: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 8 dari 77

BAB I

PENGANTAR

1.1. Konsep Dasar Pelatihan Berbasis Kompetensi

• 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.

Page 9: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 9 dari 77

1.2.1 Desain Modul

Modul ini didisain untuk dapat digunakan pada Pelatihan Klasikal dan Pelatihan

Individual/mandiri :

• Pelatihan klasikal adalah pelatihan yang disampaiakan 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:a. Buku Informasi

Buku informasi ini adalah sumber pelatihan untuk pelatih maupun peserta

pelatihan.

b. Buku Kerja

Buku kerja ini harus digunakan oleh peserta pelatihan untuk mencatat setiap

pertanyaan dan kegiatan praktik 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.

c. 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.

Page 10: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 10 dari 77

• 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.3Pengakuan 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.

Page 11: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 11 dari 77

• Anda mungkin sudah memiliki pengetahuan dan keterampilan, karena

Anda telah :

a. Bekerja dalam suatu pekerjaan yang memerlukan suatu pengetahuan dan

keterampilan yang sama atau

b. Berpartisipasi dalam pelatihan yang mempelajari kompetensi yang sama

atau

c. Mempunyai pengalaman lainnya yang mengajarkan pengetahuan dan

keterampilan yang sama.

1.4Pengertian-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.

Standardisasi

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

Page 12: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 12 dari 77

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.

Page 13: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 13 dari 77

BAB II

STANDAR KOMPETENSI

2.1. Peta Paket Pelatihan

Modul yang sedang Anda pelajari ini adalah untuk mencapai satu unit

kompetensi, yang termasuk dalam satu paket pelatihan, yang terdiri atas

unit-unit kompetensi berikut:

2.1.1. TIK.OP02.002.01 Membuat Algoritma Pemrograman

Lanjut.

2.1.2. TIK.OP02.003.01A Mengoperasikan Sistem Operasi Microsoft

Windows.

2.1.3. TIK.OP02.001.01 Mengoperasikan komputer personal yang

berdiri sendiri ( PC Stand Alone )

2.2. Pengertian Unit Standar Kompetensi

Apakah Standar Kompetensi?

Setiap Standar Kompetensi menentukan :

a. Pengetahuan dan keterampilan yang diperlukan untuk mencapai

kompetensi.

b. Standar yang diperlukan untuk mendemonstrasikan kompetensi.

c. Kondisi dimana kompetensi dicapai.

Apa yang akan Anda pelajari dari Unit Kompetensi ini?

Anda akan mempelajari tentang Algoritma Pemrograman lanjut.

Berapa lama Unit Kompetensi ini dapat diselesaikan?

Pada sistem pelatihan berdasarkan kompetensi, fokusnya ada pada

pencapaian kompetensi, bukan pada lamanya waktu. Namun diharapkan

pelatihan ini dapat dilaksanakan dalam jangka waktu tiga sampai tujuh hari.

Pelatihan ini dijutukan bagi semua user terutama yang tugasnya berkaitan

dengan programming, seperti operator, programmer, staff support, dan staff

admin.

Page 14: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 14 dari 77

Berapa banyak/kesempatan yang Anda miliki untuk mencapai

kompetensi?

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 :

• mengidentifikasikan apa yang harus dikerjakan peserta pelatihan.

• memeriksa kemajuan peserta pelatihan.

• menyakinkan bahwa semua elemen (sub-kompetensi) dan criteria unjuk

kerja telah dimasukkan dalam pelatihan dan penilaian.

KODE UNIT : TIK.PR02.002.01

JUDUL UNIT : Membuat Algoritma Pemrograman Lanjut

DESKRIPSI UNIT :

Unit ini menentukan kompetensi yang diperlukan untuk mempelajari algoritma yang

akan diterapkan pada program, tidak tergantung bahasa pemrograman yang akan

digunakan. Algoritma pemrograman merupakan materi dasar yang harus dikuasai

oleh setiap programer. Untuk tingkat lanjut ini ditekankan kepada penguasaan array

multi dimensi, pemakaian prosedur dan fungsi serta pemanfaatan grafik.

Page 15: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 15 dari 77

ELEMEN KOMPETENSI KRITERIA UNJUK KERJA

1 Menggunakan Array Multi

Dimensi

1.1 Algoritma array multi dimensi dibuat dan

dijelaskan.

1.2 Matrik 2D, 3D dibuat dalam bentuk

penjumlahan, pengurangan, perkalian dsb.

1.3 Algoritma pembacaan, pengisian,

pengubahan dan penghapusan data dalam

array multi dimensi dibuat dan ditunjukkan.

2 Menggunakan prosedur

dan fungsi 2.1 Algoritma program dibuat dengan prosedur

2.2 Algoritma program dibuat dengan fungsi.

2.3 Algoritma program dibuat dengan prosedur

dan fungsi.

3 Menggunakan library

pemrograman grafik

3.1 Algoritma program dibuat dengan library

berbasis grafik.

3.2 Algoritma pemrograman dengan grafik

(gambar sederhana) berbentuk 2D dan 3D

dibuat.

Page 16: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 16 dari 77

3.3 Algoritma pemrograman animasi dibuat

dengan grafik (gambar sederhana).

BATASAN VARIABEL

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

2. Menjaga etika bersifat internal pada bidang teknologi informasi dan komunikasi.

PANDUAN PENILAIAN

1. Pengetahuan dan keterampilan penunjang untuk

mendemontrasikan kompetensi, memerlukan bukti keterampilan

dan pengetahuan di bidang berikut ini :

1.1 Pengetahuan dasar :

1.1.1 Matematika dasar dan matematika logika

1.1.2 Flowchart dan dasar pemrograman

1.2 Keterampilan dasar

Mengoperasikan sistem komputer

2. Konteks penilaian

Kompetensi harus diujikan di tempat kerja atau di tempat lain secara teori

dengan kondisi kerja sesuai dengan keadaan normal.

3. Aspek penting penilaian

Page 17: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 17 dari 77

Aspek yang harus diperhatikan:

3.1 Kemampuan mengidentifikasi varian dan invarian yang berlaku umum

pada pemrograman.

3.2 Kemampuan mengidentifikasi alur logika pemrograman sekuensial dan

membuat algoritma.

3.3 Kemampuan mengidentifikasi pengelolaan array pada program.

3.4 Kemampuan menyimpan program ke dalam media penyimpanan.

3.5 Kemampuan membuat program membaca dan menulis data ke dalam

file secara sekuensial dan indeks.

4. Kaitan dengan unit-unit lainnya

4.1 Unit ini didukung oleh pengetahuan dan keterampilan dalam unit-unit

kompetensi yang berkaitan dengan dasar-dasar teknologi informasi.

4.1.1 Mengoperasikan PC dan system informasi

4.1.2 TIK.PR02.001.01 Membuat Algoritma Pemrograman Dasar

4.2 Pengembangan pelatihan untuk memenuhi persyaratan dalam unit ini

perlu dilakukan dengan hati-hati. Untuk pelatihan pra kejuruan umum,

institusi 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.

Page 18: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 18 dari 77

Kompetensi Kunci

No Kompetensi Kunci Dalam Unit ini Tingkat1 Mengumpulkan, mengorganisir dan menganalisa informasi 12 Mengkomunikasikan ide-ide dan informasi 13 Merencanakan dan mengorganisir aktivitas-aktivitas 14 Bekerja dengan orang lain dan kelompok 15 Menggunakan ide-ide dan teknik matematika 26 Memecahkan masalah 17 Menggunakan teknologi 1

BAB III

STRATEGI DAN METODE PELATIHAN

3.1. Strategi Pelatihan

Page 19: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 19 dari 77

Belajar dalam suatu sistem Berdasarkan 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 melaksanakannya dengan tekun sesuai

dengan rencana yang telah dibuat.

Persiapan/perencanaan

a. Membaca bahan/materi yang telah diidentifikasi dalam setiap tahap belajar

dengan tujuan mendapatkan tinjauan umum mengenai isi proses belajar Anda.

b. Membuat catatan terhadap apa yang telah dibaca.

c. Memikirkan bagaimana pengetahuan baru yang diperoleh berhubungan dengan

pengetahuan dan pengalaman yang telah Anda miliki.

d. Merencanakan aplikasi praktik pengetahuan dan keterampilan Anda.

Permulaan dari proses pembelajaran

a. Mencoba mengerjakan seluruh pertanyaan dan tugas praktik yang terdapat pada

tahap belajar.

b. Merevisi dan meninjau materi belajar agar dapat menggabungkan pengetahuan

Anda.

Pengamatan terhadap tugas praktik

a. Mengamati keterampilan praktik yang didemonstrasikan oleh Pelatih atau orang

yang telah berpengalaman lainnya.

b. Mengajukan pertanyaan kepada Pelatih tentang konsep sulit yang Anda

temukan.

Implementasi

a. Menerapkan pelatihan kerja yang aman.

b. Mengamati indicator kemajuan personal melalui kegiatan praktik.

c. Mempraktikkan keterampilan baru yang telah Anda peroleh.

Page 20: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 20 dari 77

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 topic tertentu.

BAB IV

MATERI UNIT KOMPETENSI

MEMBUAT ALGORITMA PEMROGRAMAN LANJUT

Page 21: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 21 dari 77

4.1 Tujuan Instruksional Umum

o Siswa mampu mempelajari lanjutan dari Algoritma dan Pemrograman

dasar

o Siswa mampu memahami tentang array lebih lanjut

o Siswa mampu menguasai tentang prosedur dan fungsi

o Siswa mampu mengetahui fungsi – fungsi matematika, pengolahan

kalimat dan grafik.

o Siswa dapat mengetahui dasar – dasar dalam pemrograman grafis.

o Siswa dapat mengetahui pemrograman tingkat lanjut menggunakan

Open GL.

4.2 Tujuan Instruksional Khusus

o Siswa dapat mengetahui seberapa pentingnya Algoritma Pemrograman

lanjut dalam mempelajari pemrograman.

o Siswa dapat mengetahui tentang array multidimensi.

o Siswa dapat dapat mengetahui tentang operasi matrik.

o Siswa dapat mengetahui tentang bagaimana membuat prosedur dan

fungsi sendiri.

o Siswa dapat mengetahui fungsi – fungsi yang penting dalam

matematika, pengolahan kalimat dan grafis.

o Siswa dapat menguasai dasar – dasar dalam pemrograman grafis.

o Siswa dapat mengetahui dasar dan penerapan program Open GL dalam

pengelolaan grafis tingkat lanjut.

Apa itu Algoritma Pemrograman Lanjut ?

Page 22: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 22 dari 77

Algoritma Pemrograman lanjut merupakan pembahasan – pembahasan lanjutan

mengenai dasar – dasar pemrograman dan memperkenalkan pembaca kepada

topik – topik lanjutan yang belum dibahas pada Algortma Pemrograman dasar.

Topik – topik itu meliputi : Penggunaan array multi dimensi, penggunaan prosedur

dan fungsi dan dasar – dasar pemrograman grafik. Seluruh contoh dan

pembahasan ini akan menggunakan bahasap pemrograman Turbo C.

4.3 Penggunaan Array Multi Dimensi.

4.3.1 Pengenalan Array Multi Dimensi

Array multi dimensi pada dasarnya merupakan sebuah struktur data array biasa,

seperti halnya struktur array 1 dimensi. Perbedaannya terletak pada

kemampuan menyimpan elemen data yang lebih banyak daripada array 1

dimensi. Semakin besar jumlah dimensi yang terkandug, semakin banyak data

yang dapat disimpan dalam struktur array tersebut. Pemilihan penggunaa array

1 dimensi atau array muti dimensi hendaknya disesuaikan dengan permasalahan

yang ada, karena tidak semua permasalahan dapat diselesaikan dengan array 1

dimensi dan begitu pula sebaliknya.

4.3.2 Array 2 Dimensi (Matriks)

Array 2 dimensi atau biasa disebut juga sebagai matriks merupakan sekumpulan

informasi yang setiap elemennya diacu dengan menggunakan 2 buah indeks

( yang biasanya dinotasikan dengan baris dan kolom).

Karakteristik array 2 dimensi secara umum adalah :

- Kumpulan elemen bertipe sama.

- Setiap elemen dapat diakses secara acak, jika indeks (baris dan kolomnya)

sudah diketahui.

- Merupakan struktur data statis, jika jumlah elemenya terlah ditentukan di

awalnya maka tidak dapat dirubah selama pelaksanaan program.

4.3.2.1 Deklarasi Matriks 2 Dimensi

Page 23: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 23 dari 77

Tipe_data nama_matriks[elemen_baris][elemen_kolom]

Contoh :

int jumlah_lulusan[2][2];

Tipe data struktur array 2 dimensi dapat berupa integer, float, booelan, dll.

Penamaan matriks harus memperhatikan ketentuan penamaan variabel.

Elemen baris menyatakan maksimal elemen baris matriks.

Elemen kolom menyatakan maksimlam elemen kolom matriks.

4.3.2.2 Memberikan dan membaca nilai dari matriks n dimensi.

Metode yang digunakan untuk memberikan nilai pada matriks 2 dimensi atau n

dimensi memiliki kesamaan, terdapat 2 cara yang dapat digunakan yaitu :

o Melakukan inisialisasi matrriks

Inisialisasi matriks berarti memberikan nilai pada setiap elemen ketika matriks

tersebut dideklarasikan. Metode ini hanya bisa dilakukan ketika kita sudah

mengetahui nilai yang hendak dimasukkan kedalam setiap elemen data dari

matriks.

Contoh :

Int a[2][3] = { {1,2,3} , {4,5,6}}

Tanda kurva pertama menunjukkan baris pertama dimana didalamnya terdapat

3 elemen (1,2,3) dan kurva kedua menunjukkan baris kedua dimana terdapat 3

elemen juga (4,5,6).

o Memberikan nilai secara langsung (assignment)

0 10 Jumlah_lulusa[0][0] Jumlah_lulusa[0][1]1 Jumlah_lulusa[1][0] Jumlah_lulusa[1][1]

Page 24: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 24 dari 77

Memberikan nilai secara langsung kepada matriks sama dengan memberikan

nilai secara langsung kepda sebuah variabel, yang membedakan adalah dalam

memberikan nilai kepada sebuah matriks kita harus mengetahui secara pasti

indeks baris dan kolomnya terlebih dahulu.

Contoh :

Jumlah_lulusan[0][0] = 100; // memberikan data pada elemen baris ke 0,

kolom ke 0.

Hal yang harus diperhatikan dalam pemberian nilai ke dalam sebuah matriks

adalah indeks, kesalahan dalam pemberian indeks akan mengakibatkan

pemberian data pada elemen yang salah ataupun akan mengakibatkan program

error ( ini terjadi apabila indeks yang dituju lebih dari indeks maksimal yang

telah ditetapkan sebelumnya).

Contoh :

int a[2][2]; // mendeklarasikan matriks array 2 dimensi, sebanyak 4 elemen.

a[1][1] = 100; // benar. Akan memasukkan data ke elemen baris ke 1 dan

kolom ke 1.

A[3][2] = 20; // akan meberikan error pada program, karena elemen baris ke 3

tidak pernah didefinisikan sebelumnya.

o Melalui piranti masukan (keyboard ataupun file)

Memberikan nilai kepada matriks array dapat dilakukan juga melalui keyboard

secara langsung ataupun dengan membaca isi dari sebuah file. Metode yang

digunakan pada setiap bahasa pemrograman berbeda – beda.

Contoh :

Program akan mengisi matriks 2 dimensi dengan menginput langsung dari

keyboard dan langsung menampilkan ke standar output (layar monitor).

#include <stdio.h>

Page 25: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 25 dari 77

void main(){

int a[2][2];

int baris, kolom;

// meminta inputan matriks melalui keyboard.

for(baris=0; baris< 2; baris++){

for (kolom=0;kolom < 2; kolom++){

scanf(“%d”,&a[baris][kolom]); // meminta inputan dari keyboard dan langsung

memasukkan ke dalam tiap elemen matriks.

}}

// menampilkan isi dari elemen matriks ke layar.

for(baris=0; baris< 2; baris++){

for (kolom=0;kolom < 2; kolom++){

printf(“%d”,a[baris][kolo]);

// menampilkan setiap elemen matriks ke layar.

}}}

4.3.2.3 Mengubah isi dari matriks 2 Dimensi

Pada dasarnya matriks n dimensi dapat kita lakukan manipulasi pada setiap

elemen datanya, tapi kita tidak dapat menghapus isi dari elemen matriks

tersebut. Metode yang digunakan untuk melakukan manipulasi / pengubahan isi

dari elemen matriks tersebut sama dengan cara untuk memberikan nilai secara

langsung (assignment). Elemen matriks yang telah didefinisikan pada deklarasi

awal tidak dapat dirubah ataupun dihapus saat program berjalan (ingat

karakteristik bahwa array bersifat statis).

Contoh :

int a[2][2]; // deklarasi matriks dengan 4 elemen.

a[0][0] = 100; // memberi nilai 100 pada elemen (0,0).

Page 26: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 26 dari 77

A[0][0] = 150; // merubah isi dari elemen (0,0) menjadi 150.

4.3.2.4 Penerapan Matriks 2 Dimensi.

Penerapan matriks 2 dimensi sangat banyak, biasanya digunakan untuk

perhitungan matematika ataupun sebagai dasar pemrograman linier. Berikut

akan diberikan contoh operasi matematika berupa penjumlahan dan

pengurangan matriks 2 dimensi.

4.3.2.5 Penjumlahan Matriks 2 Dimensi

Menjumlahkan 2 buah matriks A + B akan menghasilkan matriks baru C.

Operasi penjumlahan baru dapat dilakukan apabila ukuran dari matriks A dan B

sama dan seluruh elemen telah terisi nilai tertentu.

C[i,j] = A [i,j] + B[i,j] untuk setiap i dan j tertentu.

A = [ [2,2], [3,3] ]

B = [ [3,3] , [2,2] ]

C = A + B

C = [ [5,5], [5,5] ]

Pada dasarnya setiap elemen pada baris dan kolom tertentu akan dijumlahkan

pada matriks lain pada elemen baris dan kolom tertentu.

Contoh program :

#include <stdio.h>

void main(){

int a[2][2] = { {1,2}, {3,4}};

int b[2][2] = {{5,6}, {7,8}};

int c[2][2];

int baris, kolom;

for(baris = 0; baris <2; baris++){

Page 27: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 27 dari 77

for(kolom = 0; kolom <2; kolom++){

c[baris][kolom] = a[baris][kolom] + b[baris][kolom];} // menjumlahkan

matriks.

}

for(baris = 0; baris <2; baris++){

for(kolom = 0; kolom <2; kolom++){

printf(“%d”,c[baris][kolom]); // menampilkan matriks hasil penjumlahan.

}}}

4.3.2.6 Pengurangan Matriks 2 Dimensi

Mengurangkan 2 buah matriks A + B akan menghasilkan matriks baru C.

Operasi penjumlahan baru dapat dilakukan apabila ukuran dari matriks A dan B

sama dan seluruh elemen telah terisi nilai tertentu.

C[i,j] = A [i,j] - B[i,j] untuk setiap i dan j tertentu.

A = [ [5,5], [6,6] ]

B = [ [3,3] , [2,2] ]

C = A – B

C = [ [2,2], [4,4] ]

Pada dasarnya setiap elemen pada baris dan kolom tertentu akan dikurangkan

pada matriks lain pada elemen baris dan kolom tertentu.

Contoh program :

#include <stdio.h>

void main(){

int a[2][2] = { {1,2}, {3,4}};

int b[2][2] = {{5,6}, {7,8}};

int c[2][2];

int baris, kolom;

Page 28: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 28 dari 77

for(baris = 0; baris <2; baris++){

for(kolom = 0; kolom <2; kolom++){

c[baris][kolom] = b[baris][kolom] - a[baris][kolom];}

// mengurangkan matriks. }

for(baris = 0; baris <2; baris++){

for(kolom = 0; kolom <2; kolom++){

printf(“%d”,c[baris][kolom]); // menampilkan matriks hasil penjumlahan.

}}}

4.3.3 Array Matriks 3 Dimensi

Pada dasarnya matriks array 3 dimensi memiliki kesamaan dalam hal

karakteristik dan aturan – aturan pemberian nilai, pengubahan nilai. Hal yang

harus diperhatikan adalah gambaran dari sebuah matriks array 3 dimensi yang

berbeda dengan array 1 dimensi ataupun matriks array 2 dimensi. Matriks array

3 dimensi bisa digambarkan seperti gambar 3 dimensi dan memang lebih

banyak dipergunakan sebagai dasar perhitungan matematika pemrograman

grafis yang menggunakan bentuk 3 dimensi.

4.3.3.1 Deklarasi Array 3 Dimensi

Tipe_data nama_matriks [elemen baris][elemen kolom][elemen detil_kolom];

Tipe data dapat berupa integer, float, boolean atau tipe data dasar lainnya.

Nama matriks disesuaikan dengan aturan penamaan variabel.

Elemen baris menunjukkan maksimal elemen baris matriks.

Elemen kolom menunjukkan maksimal elemen kolom matriks.

Elemen detil kolom menunjukkan maksimal elemen detil dari setiap kolom

matriks.

Contoh :

Page 29: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 29 dari 77

Int a[2][2][2];

Baris/ Kolom 0 10 Lihat tabel 1.1 Lihat tabel 1.21 Lihat tabel 1.3 Lihat tabel 1.4

Pada matriks 3 dimensi memungkinkan untuk menyimpan elemen data pada

setiap kolom dari matriks. Sehingga bentuknya menjadi seperti ini.

Tabel 1.1

Pada matriks (0,0)

Indeks = 0

Nilai = 10

Indeks = 1

Nilai = 20

Tabel 1.2

Pada matriks (0,1)

Indeks = 0

Nilai = 30

Indeks = 1

Nilai = 40

Tabel 1.3

Pada matriks (1,0)

Indeks = 0

Nilai = 50

Indeks = 1

Nilai = 60

Tabel 1.4

Pada matriks (1,1)

Indeks = 0

Nlai = 70

Indeks = 1

Nilai = 80

Pada tabel – tabel diatas terlihat jelas bahwa penyimpanan data dilakukan pada

elemen detil dari setiap elemen baris dan kolom.

4.3.3.2 Memberikan dan membaca nilai dari matriks n dimensi.

Page 30: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 30 dari 77

Metode yang digunakan untuk memberikan nilai pada matriks 3 dimensi

memiliki kesamaan dengan matriks 2 dimensi ataupun dengan array 1 dimensi.

Terdapat 3 metode yang dapat digunakan, antara lain :

4.3.3.3 Melakukan Inisialisasi Matriks 3 Dimensi

Inisialisasi matriks berarti memberikan nilai pada setiap elemen ketika matriks

tersebut dideklarasikan. Metode ini hanya bisa dilakukan ketika kita sudah

mengetahui nilai yang hendak dimasukkan kedalam setiap elemen data dari

matriks.

Contoh :

Int a[2][2][2] = {

{ baris pertama

{1,2}, elemen baris pertama, kolom pertama

{3,4} elemen baris pertama, kolom kedua

},

{ baris kedua

{5,6}, elemen baris kedua, kolom pertama

{7,8} elemen baris kedua, kolom kedua

}}

Pada contoh diatas dijabarkan keberadaan nilai pada setiap indeks baris dan

kolom tertentu.

4.3.3.4 Memberikan nilai secara langsung (assignment)

Memberikan nilai secara langsung kepada matriks sama dengan memberikan

nilai secara langsung kepda sebuah variabel, yang membedakan adalah dalam

memberikan nilai kepada sebuah matriks kita harus mengetahui secara pasti

indeks baris dan kolomnya terlebih dahulu.

Contoh :

Page 31: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 31 dari 77

Int a[2][2][2];

A[0[0][0] = 100; // memberikan nilai pada detil kolom dari indeks baris pertama

dan kolom pertama.

Hal yang harus diperhatikan dalam pemberian nilai ke dalam sebuah matriks

adalah indeks, kesalahan dalam pemberian indeks akan mengakibatkan

pemberian data pada elemen yang salah ataupun akan mengakibatkan program

error ( ini terjadi apabila indeks yang dituju lebih dari indeks maksimal yang

telah ditetapkan sebelumnya).

Contoh :

int a[2][2][2]; // mendeklarasikan matriks array 2 dimensi, sebanyak 4 elemen.

a[1][1][1] = 100; // benar. Akan memasukkan data ke elemen baris ke 1 dan

kolom ke 1.

A[3][2][1] = 20; // akan meberikan error pada program, karena elemen baris ke

3 tidak pernah didefinisikan sebelumnya.

o Melalui piranti masukan (keyboard ataupun file)

Memberikan nilai kepada matriks array dapat dilakukan juga melalui keyboard

secara langsung ataupun dengan membaca isi dari sebuah file. Metode yang

digunakan pada setiap bahasa pemrograman berbeda – beda.

Contoh :

Program akan mengisi matriks 3 dimensi dengan menginput langsung dari

keyboard dan langsung menampilkan ke standar output (layar monitor).

#include <stdio.h>

void main(){

int a[2][2][2];

Page 32: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 32 dari 77

int baris, kolom,detil_kolom;

// meminta inputan matriks melalui keyboard.

for(baris=0; baris< 2; baris++){

for (kolom=0;kolom < 2; kolom++){

for(detil_kolom=0; detil_kolom <2; detil_kolom++){

scanf(“%d”,&a[baris][kolom][detil_kolom]); // meminta inputan dari keyboard

dan langsung memasukkan ke dalam tiap elemen matriks.

}}}

// menampilkan isi dari elemen matriks ke layar.

for(baris=0; baris< 2; baris++){

for (kolom=0;kolom < 2; kolom++){

for(detil_kolom=0; detil_kolom <2; detil_kolom++){

printf(“%d”,a[baris][kolom][detil_kolom]);

// menampilkan setiap elemen matriks ke layar.

}}}}

4.3.3.5 Mengubah isi dari matriks 3 Dimensi

Pada dasarnya matriks n dimensi dapat kita lakukan manipulasi pada setiap

elemen datanya, tapi kita tidak dapat menghapus isi dari elemen matriks

tersebut. Metode yang digunakan untuk melakukan manipulasi / pengubahan isi

dari elemen matriks tersebut sama dengan cara untuk memberikan nilai secara

langsung (assignment). Elemen matriks yang telah didefinisikan pada deklarasi

awal tidak dapat dirubah ataupun dihapus saat program berjalan (ingat

karakteristik bahwa array bersifat statis).

Contoh :

int a[2][2][2]; // deklarasi matriks dengan 4 elemen.

a[0][0][0] = 100; // memberi nilai 100 pada elemen (0,0).

A[0][0][0] = 150; // merubah isi dari elemen (0,0) menjadi 150.

Page 33: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 33 dari 77

o Penerapan Matriks 3 Dimensi.

Penerapan matriks 3 dimensi biasanya digunakan sebagai dasar perhitungan

pemrograman grafis 3 dimensi, karena dari struktur datanya memang

memenuhi kapasitas untuk menyimpan elemen data yang lebih besar daripada

matriks 2 dimensi. Berikut akan diberikan contoh operasi penjumlahan dan

pengurangan dari matriks 3 dimensi.

o Penjumlahan Matriks 3 Dimensi

Menjumlahkan 3 buah matriks A + B akan menghasilkan matriks baru C.

Operasi penjumlahan baru dapat dilakukan apabila ukuran dari matriks A dan B

sama dan seluruh elemen telah terisi nilai tertentu.

C[i,j,k] = A [i,,kj] + B[i,j,k] untuk setiap i, j dan k tertentu.

A = [ [ [2,2], [3,3] ] , [ [4,4],[5,5] ] ]

B = [ [ [3,3], [2,2] ] , [ [5,5],[4,4] ] ]

C = A + B

C = [ [ [5,5], [5,5] ] , [ [9,9],[9,9] ] ]

Pada dasarnya setiap detil elemen pada baris dan kolom tertentu akan

dijumlahkan dengan detil elemen baris dan kolom tertentu dari matriks lain.

Contoh program :

#include <stdio.h>

void main(){

int a[2][2][2] = {

{{1,2}, {3,4}} ,

Page 34: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 34 dari 77

{{5,6}, {7,8}} ,

};

int b[2][2][2] = {

{{1,2}, {3,4}} ,

{{5,6}, {7,8}} ,

};

int c[2][2[2]];

int baris, kolom, detil_kolom;

for(baris = 0; baris <2; baris++){

for(kolom = 0; kolom <2; kolom++){

for(detil_kolom = 0; detil_kolom <2; detil_kolom++){

c[baris][kolom][detil_kolom] = a[baris][kolom][detil_kolom] + b[baris][kolom]

[detil_kolom];

// menjumlahkan matriks.

}}}

// menampilkan hasil penjumlahan ke layar.

for(baris = 0; baris <2; baris++){

for(kolom = 0; kolom <2; kolom++){

for(detil_kolom = 0; detil_kolom <2; detil_kolom++){

printf(“%d”,c[baris][kolom][detil_kolom]);

// menampilkan matriks hasil penjumlahan.

}}}

// akhir program.

}

o Pengurangan Matriks 3 Dimensi

Mengurangkan 2 buah matriks A + B akan menghasilkan matriks baru C.

Operasi penjumlahan baru dapat dilakukan apabila ukuran dari matriks A dan B

Page 35: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 35 dari 77

sama dan seluruh elemen telah terisi nilai tertentu.

C[i,j,k] = A [i,,kj] + B[i,j,k] untuk setiap i, j dan k tertentu.

A = [ [ [5,5], [6,6] ] , [ [7,7],[8,8] ] ]

B = [ [ [3,3], [2,2] ] , [ [5,5],[4,4] ] ]

C = A - B

C = [ [ [2,2], [4,4] ] , [ [2,2],[4,4] ] ]

Pada dasarnya setiap detil elemen pada baris dan kolom tertentu akan

dikurangkan dengan detil elemen baris dan kolom tertentu dari matriks lain.

Contoh program :

#include <stdio.h>

void main(){

int a[2][2][2] = {

{{8,8}, {9,9}} ,

{{7,7}, {20,12}} ,

};

int b[2][2][2] = {

{{1,2}, {3,4}} ,

{{5,6}, {7,8}} ,

};

int c[2][2[2]];

int baris, kolom, detil_kolom;

for(baris = 0; baris <2; baris++){

for(kolom = 0; kolom <2; kolom++){

for(detil_kolom = 0; detil_kolom <2; detil_kolom++){

c[baris][kolom][detil_kolom] = a[baris][kolom][detil_kolom] - b[baris][kolom]

[detil_kolom];

// mengurangkan matriks.

Page 36: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 36 dari 77

}}}

// menampilkan hasil pengurangan ke layar.

for(baris = 0; baris <2; baris++){

for(kolom = 0; kolom <2; kolom++){

for(detil_kolom = 0; detil_kolom <2; detil_kolom++){

printf(“%d”,c[baris][kolom][detil_kolom]);

// menampilkan matriks hasil pengurangan.

}}}

// akhir program.

}

4.4 Penggunaan Prosedur dan Fungsi.

Fungsi merupakan suatu bagian dari program yang dimaksudkan untuk

mengerjakan suatu tugas tertentu dan letaknya terpisah dari program yang

memanggilnya. Fungsi merupakan elemen utama dalam bahasa C karena bahasa

C sendiri terbentuk dari kumpulan fungsi-fungsi. Dalam setiap program bahasa C,

minimal terdapat satu fungsi yaitu fungsi main(). Fungsi banyak diterapkan

dalam program-program C yang terstruktur. Keuntungan penggunaan fungsi

dalam program yaitu program akan memiliki struktur yang jelas (mempunyai

readability yang tinggi) dan juga akan menghindari penulisan bagian program

yang sama. Dalam bahasa C fungsi dapat dibagi menjadi dua, yaitu fungsi

pustaka atau fungsi yang telah tersedia dalam bahasa C dan fungsi yang

didefinisikan atau dibuat oleh programmer. Sebelum mengenal lebih lanjut

mengenai fungsi , ada baikinya kita mempelajari sedikit tentang file library.

4.4.1 Apa itu File Library ?

Page 37: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 37 dari 77

File library adalah file yang telah disediakan pada masing – masing bahasa

pemrograman yang didalamnya memuat fungsi – fungsi yang dapat digunakan

untuk membantu pemrogram dalam menyusun kode program. Dalam setiap

bahasa pemrograman biasanya menyediakan file library lebih dari satu.

Pengetahuan terhadap fle library ini sangat penting, karena biasanya setiap

bahasa pemrograman mengelompokkan fungsi – fungsi tersebut ke dalam file

library tertentu berdasarkan fungsionalitasnya.

Contoh :

File library stiring.h pada bahasa C, didalamnya terdapat fungsi – fungsi yang

digunakan untuk melakukan manipulasi string.

File library math.h pada bahasa C, didalamnya terdapat fungsi – fungsi yang

digunakan untuk melakukan operasi matematika.

Dan banyak lagi file – file library, tergantung dari bahasa pemrograman yang

digunakan.

4.4.1.1 Fungsi Operasi String (tersimpan dalam header file

“string.h”)

. strcpy()

Berfungsi untuk menyalin suatu string asal ke variable string tujuan.

Bentuk umum : strcpy(var_tujuan, string_asal);

. strlen()

berfungsi untuk memperoleh jumlah karakter dari suatu string.

Bentuk umum : strlen(string);

. strcat()

Digunakan untuk menambahkan string sumber ke bagian akhir dari string

tujuan.

Bentuk umum : strcat(tujuan, sumber);

. strupr()

Page 38: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 38 dari 77

Digunakan untuk mengubah setiap huruf dari suatu string menjadi huruf

capital.

Bentuk umum : strupr(string);

strlwr()

Digunakan untuk mengubah setiap huruf dari suatu string menjadi huruf

kecil semua.

Bentuk umum : strlwr(string);

. strcmp()

Digunakan untuk membandingkan dua buah string.

Hasil dari fungsi ini bertipe integer dengan nilai :

(a) Negative, jika string pertama kurang dari string kedua.

(b) Nol, jika string pertama sama dengan string kedua

(c) Positif, jika string pertama lebih besar dari string kedua.

Bentuk umum : strcmp(string1, string2);

4.4.1.2 Fungsi Operasi Karakter (tersimpan dalam header

“ctype.h”)

. islower()

Fungsi akan menghasilkan nilai benar (bukan nol) jika karakter

merupakan huruf kecil.

Bentuk umum : islower(char);

. isupper()

Fungsi akan menghasilkan nilai benar (bukan nol) jika karakter

merupakan huruf kapital.

Bentuk umum : isupper(char);

. isdigit()

Page 39: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 39 dari 77

Fungsi akan menghasilkan nilai benar (bukan nol) jika karakter

merupakan sebuah digit.

Bentuk umum : isdigit(char);

. tolower()

Fungsi akan mengubah huruf capital menjadi huruf kecil.

Bentuk umum : tolower(char);

. toupper()

Fungsi akan mengubah huruf kecil menjadi huruf kapital.

Bentuk umum : toupper(char);

4.4.1.3 Fungsi Operasi Matematik (tersimpan dalam header

“math.h” dan “stdlib.h”)

. sqrt()

Digunakan untuk menghitung akar dari sebuah bilangan.

Bentuk umum : sqrt(bilangan);

. pow()

Digunakan untuk menghitung pemangkatan suatu bilangan.

Bentuk umum : pow(bilangan, pangkat);

. sin(), cos(), tan()

Masing-masing digunakan untuk menghitung nilai sinus, cosinus dan

tangens dari suatu sudut.

Bentuk umum :

sin(sudut);

cos(sudut);

tan(sudut);

. atof()

Page 40: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 40 dari 77

Digunakan untuk mengkonversi nilai string menjadi bilangan bertipe

double.

Bentuk umum : atof(char x);

. atoi()

Digunakan untuk mengkonversi nilai string menjadi bilangan bertipe

integer.

Bentuk umum : atoi(char x);

. div()

Digunakan untuk menghitung hasil pembagian dan sisa pembagian.

Bentuk umum : div_t div(int x, int y)

Strukturnya :

typedef struct

{ int qout; // hasil pembagian

int rem // sisa pembagian

} div_t;

. max()

Digunakan untuk menentukan nilai maksimal dari dua buah bilangan.

Bentuk umum : max(bilangan1, bilangan2);

. min()

Digunakan untuk menentukan bilangan terkecil dari dua buah bilangan.

Bentuk umum : min(bilangan1, bilangan2);

4.4.2 Membuat fungsi sendiri

Page 41: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 41 dari 77

Meskipun hampit setiap bahasa pemrograman telah menyediakan berbagai

macam fungsi sesuai dengan kegunaannya, pada implementasinya pemrogram

harus memiliki kemampuan untuk mendefisinikan fungsi sendiri. Berikut akan

dijelaskan keuntungan yang diperoleh dengan memecah bagian kode program ke

dalam fungsi – fungsi kecil.

- Sebuah program berisikan sekumpulan instruksi logis yang dieksekusi

berdasarkan urutan, dalam penulisan program yang besar ada kemungkinan

baris – baris kode program yang berulang. Dengan menggunakan fungsi,

maka perulangan kode ini tidak perlu terjadi.

- Pemakaian fungsi dapat menyederhanakan penulisan kode program dan

mempengaruhi terhadap ukuran file dari program yang dihasilkan.

- Pemakaina fungsi dapat memudahkan proses debug (pemeriksaan) ketika

terjadi kesalahan pada kode program.

- Pemakaian fungsi dapat memudahkan pemrogram ketika mengembangkan

program yang lain, dan tidak perlu menuliskan kode program untuk sebuah

masalah yang sama.

- Pemakaian fungsi dapat meningkatkan efisiensi waktu pengembangan

program.

Pada dasarnya fungsi dibagi menjadi 2, yaitu :

- Fungsi

Fungsi adalah sebuah modul yang berisi sekumpulan kode program yang

disusun untuk sebuah tujuan tertentu. Fungsi akan mengembalikan sebuah

nilai tertentu kepada pemanggilnya.

Deklarasi Fungsi

Sebelum digunakan (dipanggil), suatu fungsi harus dideklarasikan dan

didefinisikan terlebih dahulu. Bentuk umum pendeklarasian fungsi adalah :

tipe_fungsi nama_fungsi(parameter_fungsi);

Page 42: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 42 dari 77

Sedangkan bentuk umum pendefinisian fungsi adalah :

Tipe_fungsi nama_fungsi(parameter_fungsi)

{

statement

statement

………...

………...

return nilai_tertentu

}

Hal-hal yang perlu diperhatikan dalam penggunaan fungsi :

1. Kalau tipe fungsi tidak disebutkan, maka akan dianggap sebagai fungsi

dengan nilai keluaran bertipe integer.

2. Untuk fungsi yang memiliki keluaran bertipe bukan integer, maka

diperlukan pendefinisian penentu tipe fungsi.

3. Untuk fungsi yang tidak mempunyai nilai keluaran maka dimasukkan ke

dalam tipe void

4. Pernyataan yang diberikan untuk memberikan nilai akhir fungsi berupa

pernyataan return.

5. Suatu fungsi dapat menghasilkan nilai balik bagi fungsi pemanggilnya.

- Prosedur

Pada dasarnya sebuah modul juga berisi sekumpulan kode program yang

disusun untuk sebuah tujuan tertentu, yang membedakan dengan fungsi

adalah prosedur tidak mengembalikan nilai kepada pemanggilnya. Prosedur

hanya menjalankan sekumpulan instruksi tanpa mengembalikan nilai apapun.

Deklarasi Prosedur

Page 43: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 43 dari 77

Sebelum digunakan (dipanggil), suatu prosedur harus dideklarasikan dan

didefinisikan terlebih dahulu. Bentuk umum pendeklarasian prosedur adalah :

void nama_prosedur(parameter_prosedur);

Pada pendeklarasian prosedur ditambahkan kata kunci void, yang berarti

tidak mengembalikan nilai apapun kepada pemanggilnya.

Sedangkan bentuk umum pendefinisian prosedur adalah :

void nama_prosedur(parameter_prosedur)

{

statement

statement

………...

………...

}

4.4.3 Parameter Formal dan Parameter Aktual

1. Parameter Formal adalah variabel yang ada pada daftar parameter

dalam

definisi fungsi.

2. Parameter Aktual adalah variabel (parameter) yang dipakai dalam

pemanggilan fungsi.

4.4.4 Cara Melewatkan Parameter

Page 44: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 44 dari 77

Cara melewatkan suatu parameter dalam Bahasa C ada dua cara yaitu :

1. Pemanggilan Secara Nilai (Call by Value)

o Call by value akan menyalin nilai dari parameter aktual ke parameter

formal

o Yang dikirimkan ke fungsi / prosedur adalah nilai dari datanya, bukan

alamat

memori letak dari datanya.

o Fungsi / prosedur yang menerima kiriman nilai akan menyimpannya

alamat terpisah dari nilai aslinya yang digunakan oleh bagian program

yang memanggil fungsi / prosedur.

o Perubahan nilai di fungsi / prosedur (parameter formal) tidak akan

merubah nilai asli di bagian program yang memanggilnya.

o Pengiriman parameter secara nilai adalah pengiriman searah, yaitu

dari bagian program yang memanggil fungsi / prosedur ke fungsi /

prosedur yang dipanggil.

o Pengiriman suatu nilai dapat dilakukan untuk suatu ungkapan, tidak

hanya untuk sebuah variabel, elemen array atau konstanta saja.

2. Secara Referensi (Call by Reference)

o Pemanggilan secara Referensi merupakan upaya untuk melewatkan

alamat dari suatu variabel ke dalam fungsi / prosedur.

o Yang dikirimkan ke fungsi / prosedur adalah alamat letak dari nilai

datanya, bukan nilai datanya.

o Fungsi / prosedur yang menerima kiriman alamat ini makan

menggunakan alamat yang sama untuk mendapatkan nilai datanya.

o Perubahan nilai di fungsi / prosedur akan merubah nilai asli di bagian

program yang memanggil fungsi / prosedur.

o Pengiriman parameter secara referensi adalah pengiriman dua arah,

Page 45: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 45 dari 77

yaitu dari fungsi / prosedur pemanggil ke fungsi / proisedur yang

dipanggil dan juga sebaliknya.

o Pengiriman secara acuan tidak dapat bdilakukan untuk suatu

ungkapan.

Penggolongan Variabel berdasarkan Kelas Penyimpanan (Storage

Class)

Ketika mempelajari tentang metode untuk melewatkan parameter ke dalam

fungsi / prosedur, hendaknya kita juga mengetahui jenis – jenis variabel

dengan ruang lingkupnya masing – masing.

4.4.5 Variabel lokal

Variabel lokal adalah variabel yang dideklarasikan di dalam fungsi / prosedur

tertentu dan hanya berlaku pada fungsi / prosedur tersebut..

4.4.5.1 Sifat-sifat variabel lokal :

o Secara otomatis akan diciptakan ketika fungsi dipanggil dan akan

lenyap ketika proses eksekusi terhadap fungsi berakhir.

o Hanya dikenal oleh fungsi tempat variabel dideklarasikan.

o Tidak ada inisialisasi secara otomatis (saat variabel diciptakan

nilainya random).

o Dideklarasikan dengan menambahkan kata “auto” (opsional).

4.4.6 Variabel global (eksternal)

Variabel global (eksternal) adalah variabel yang dideklarasikan di luar

fungsi.

4.4.6.1 Sifat-sifat variabel global :

o Dikenal (dapat diakses) oleh semua fungsi.

o Jika tidak diberi nilai awal secara otomatis berisi nilai nol.

Page 46: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 46 dari 77

o Dideklarasikan dengan menambahkan kata “extern” (opsional).

4.4.7 Variabel Statis

Variabel statis adalah variabel yang nilainya tetap dan bisa berupa variabel

lokal (internal) dan variabel global (eksternal).

4.4.7.1 Sifat-sifat variabel statis :

o Jika bersifat internal (lokal), maka variabel hanya dikenal oleh fungsi

tempat variabel dideklarasikan.

o Jika bersifat eksternal (global), maka variabel dapat dipergunakan

oleh semua fungsi yang terletak pada program yang sama.

o Nilai variabel statis tidak akan hilang walau eksekusi terhadap fungsi

telah berakhir.

o Inisialisasi hanya perlu dilakukan sekali saja, yaitu pada saat fungsi

dipanggil pertama kali.

o Jika tidak diberi nilai awal secara otomatis berisi nilai nol.

o Dideklarasikan dengan menambahkan kata “static”.

4.4.8 Variabel Register

Variabel Register adalah variabel yang nilainya disimpan dalam resister dan

bukan dalam memori RAM.

4.4.8.1 Sifat-sifat variabel register :

o Hanya dapat diterapkan pada variabel lokal yang bertipe int dan

char.

o Digunakan untuk mengendalikan proses perulangan (looping).

o Proses perulangan akan lebih cepat karena variabel register memiliki

kecepatan yang lebih tinggi dibandingkan variabel biasa.

o Dideklarasikan dengan menambahkan kata “register”.

Page 47: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 47 dari 77

Contoh 1.1

Program akan mendefinisikan sebuah fungsi untuk menghitung nilai akhir ujian

berdasarkan rumus perhitungan : Nilai akhir = (nilai ujian * 3) / 4. Hasil

perhitungan akan ditampilkan pada fungsi pemanggilnya.

#include <stdio.h>

int hitung_nilai(int nilai){

int n_akhir;

n_akhir = (nilai*3)/4;

return n_akhir;

}

void main(){

int nilai, n_akhir;

scanf(“%d”,&nilai); // meminta inputan nilai akhir dari keyboard.

n_akhir = hitung_nilai(nilai);

// memanggil fungsi hitung nilai dan menampung hasil kembaliannya.

printf(“Nilai akhir adalah : %d”, n_akhir); // mencetak hasil ke layer monitor.

}

Hal yang harus diperhatikan adalah antara variabel n_akhir pada void main

dengan variabel n_akhir dari fungsi hitung nilai memang memiliki kesamaan,

namun secara pengalokasian di dalam memori sudah berbeda. Variabel n_akhir

menjadi variabel lokal pada fungsi nya masing – masing.

Contoh 1.2

Program akan mendefisinikan sebuah prosedur untuk menuliskan hasil inputan

array dari keyboard ke layer. Prosedur akan melewatkan paramter by value.

Page 48: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 48 dari 77

#include <stdio.h>

void tampil(int data[]){

for(int baris=0; baris < 5; baris++){

printf(“%d”,data[baris]);

}}

void main(){

int data[5];

for(int baris = 0; baris < 5; baris++){

scanf(“%d”, &data[baris]);

}

tampil(data);

// mengirimkan nilai dari variabel array data ke prosedur tampil.

// tidak menerima nilai kembalian dari prosedur tampil.

}

Hal yang harus diperhatikan, meskipun pada void main mengrimkan paramerer

bernama data ke dalam prosedur tampil yang diterima oleh sebuah variabel

bernama data juga, pada prinsipnya kedua pihak memiliki alokasi yang berbeda

di memori computer meskipun memiliki nama yang sama. Nama variabel

pengirim dan penerima tidak harus sama, penyamaan nama hanya digunakan

untuk mempermudah penulisan kode program saja.

Contoh 1.3

Program akan melewatkan parameter by reference, dimana akan merubah nilai

sebuah variabel dari prosedur lain.

#include <stdio.h>

void ubah_nilai(int &nilai){

nilai = 100; // mengubah nilai dari pointer nilai menjadi 100.

Page 49: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 49 dari 77

}

void main(){

int a = 10;

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

// sebelum dirubah nilainya dalam prosedur ubah nilai.

Ubah_nilai(a);

// mengirimkan alamat dari variabel a ke prosedur ubah nilai.

printf(“Nilai a sekarang : %d”, a);

// nilai a sekarang sudah berubah menjadi 100.

}

4.5 Pemrograman Grafik.

Grafik komputer adalah gambar atau grafik yang dihasilkan oleh komputer.

Teknik-teknik yang dipelajari dalam grafik komputer adalah teknik-teknik

bagaimana membuat atau menciptakan gambar menggunakan komputer. Ada

perbedaan yang sangat mendasar antara foto dan gambar, yaitu pada foto

semua detail obyek terlihat sedangkan pada gambar (baik itu gambar manusia

atau gambar komputer) tidak dapat memperlihatkan semua detail yang ada

tetapi hanya detail-detail yang dianggap penting dalam menunjukkan pola suatu

gambar. Grafik komputer merupakan perangkat (tool) dasar yang digunakan

untuk membuat gambar dengan komputer. Dengan menggunakan perangkat

ini, penciptaan gambar dapat dilakukan bahkan dimudahkan dengan

menggunakan komputer

Program atau tool yang digunakan untuk menciptakan atau memanipulasi

gambar / foto sudah sangat banyak, mulai dari Adobe Photoshop, Corel Draw,

Adobe Image Ready, dll. Pada pembahasan ini tidak akan membahas mengenai

program atau tool tersebut, melainkan akan membahas mengenai dasar

pemrograman grafik menggunakan bahasa pemrograman Turbo C.

File library yang digunakan

Page 50: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 50 dari 77

Fle library yang memuat fungsi – fungsi dalam operasi pemgrograman grafik di

kompiler turbo C adalah : graphics.h.

File tersebut harus dimuat terlebih dahulu pada tubuh program ketika hendak

memulai menulis program. Berikut akan dijelaskan beberapa fungsi – fungsi yang

penting dalam pemrograman grafik di Turbo C.

4.5.1 Fungsi – fungsi penting pada proses inisialisasi modus

grafis.

- void initgraph (int far * graphdriver, int far * graphmode, char far *

pathtodriver)

Untuk menjalankan sistem kepada modus grafik, prosedur initgraph harus

dipanggil terlebih dahulu. Prosedur ini akan memanggil driver grafik dari

tempat penyimpanan tertentu ataupun menvalidasi dari driver yang telah

diregister di dalam sistem dan kemudian menjalankan sistem pada modus

grafik. Selain itu, initgraph juga melakukan pengaturan ulang terhadap

pengaturan grafik kembali ke pengaturan awal.

Berikut adalah kegunaan dari setiap parameter pada prosedur initgraph :

• int far *graphdriver, ini akan mendeskripsikan driver grafis yang

akan digunakan ke dalam sistem nantinya.

• int far *graphmode, ini akan mendeskripsikan modus grafik yang

digunakan. Apabila nilai dari graphmode = DETECT, maka akan

membawa sistem kepada resolusi maksimal yang memungkinkan.

(Disarankan untuk memberikan nilai DETECT pada parameter

graphmode, dimaksudkan agar sistem langsung menyesuaikan diri

dengan kondisi resolusi maksimal).

• char far *pathtodriver, ini akan mendeskripsikan jalur dari driver

yang akan dimuat ke dalam sistem. File driver yang akan dicari

berkestensi (.BGI), dan apabila nilainya kosong maka pencarian akan

dilakukan pada direktori yang aktif saat ini.

Page 51: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 51 dari 77

- void far closegraph(void)

Prosedur ini digunakan untuk mengembalikan modus grafik kepada kondisi

sebelum pemanggilan prosedut initgraph(), dan seluruh alokasi memori yang

diakibatkan penggunaan modus grafik tersebut akan dilepaskan dan modus

sistem kembali ke modus teks.

- void far detechgraph(int far * graphdriver, int far * graphmode)

Prosedur ini digunakan untuk mendeteksi adaptor grafik yang terinstall pada

sistem kita, apabila tidak ada adaptor grafik yang terinstall pada komputer

kita maka akan menampilkan pesan kesalahan. Prosedur ini berfungsi untuk

melihat kapasitas maksimal yang dimiliki oleh sistem grafis kita.

- int registerbgidriver(void (*driver)(void))

Fungsi ini digunakan untuk melakukan registrasi terhadap driver grafis yang

akan digunakan. File driver dapat secara langsung dimuat dari media

penyimpanan ataupun dilakukan koversi terlebih dahulu ke dalam file (.OBJ)

menggunakan (BINOBJ.exe). Apabila proses registrasi berhasil, maka akan

mengembalikan nilai positif dan apabila gagal maka akan mengembalikan

nilai

negatif. Setelah proses registrasi berhasil, maka initgraph dapat memanggil

sebagai driver yang teregister di dalam sistem.

- int fat graphresult(void)

Fungsi ini akan mengembalikan nilai yang dihasilkan dari setiap operasi

grafikyang dilakukan. Fungsi ini hanya akan berisi 2 kemungkinan, pertama

adalah operasi grafis berhasil dilakukan dan kedua adalah operasi grafis gagal

dilakukan. Nilai kesalaahan yang dimuat mulai dari -18 hingga 0, dimana

pada setiap nilai tersebut memiliki jenis kesalahan sendiri – sendiri.

Page 52: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 52 dari 77

Kode Konstanta Pesan Kesalahan0 grOk Tidak ada kesalahan-1 grNoInitGraph (BGI) driver tidak terinstall-2 grNoDetected Perangkat grafis tidak ada-3 grFileNotFound File driver tidak ditemukan-4 grInvalidDriver File driver tidak valid-5 grNoLoadMem Memori tidak cukup-6 grNoScanMem Memori tidak cukup untuk scan fill-7 grNoFloodMem Memori tidak cukup untuk flood

fill-8 grFontNofFound File huruf tidak ada-9 grNoFontMem Memori tidak cukup load huruf-10 grInvalidMode Modus grafis tidak valid

-11 grError Grafis error-12 grIOError Grafis I/O error-13 grInvalidFont File huruf tidak valid-14 grInvalidFontNum Nomor huruf tidak valid

-15 grInvalidDeviceNum Nomor devicde tidak valid-18 grInvalidVersion Versi tidak valid

Pada implementasinya fungsi – fungsi yang digunakan untuk melakukan

inisialisasi modus grafis cukup banyak, beberapa contoh prosedur diatas adalah

prosedur yang paling sering digunakan dan sudah mampu untuk melakukan

manipulasi grafis atapun merubah sistem dari modus teks ke dalam modus

grafis. Untuk lebih jelasnya, silahkan melihat tutorial atau dokumentaso setiap

bahasa pemrograman.

4.5.2 Fungsi – fungsi penting dalam memanipulasi obyek grafis.

- void far setcolor(int color)

Page 53: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 53 dari 77

Prosedur yang digunakan untuk melakukan editing terhadap warna dari

sistem grafis yang dipakai. Warna yang dirubah hanya warna tulisan ataupun

obyek saja.

- int far getcolor(void)

Fungsi yang digunakan untuk memperoleh warna yang aktif saat ini. Nilai

yang dihasilkan berupa nilai integer, dimana setiap nilai intereger tersebut

memiliki arti warna tertentu.

- void far setbkcolor(int color)

Prosedur yang digunakan untuk melakukan manipulasi warna backround dari

sebuah obyek atau tulisan.

- int far getbkcolo(void)

Fungsi yang digunakan untuk memperoleh warna background dari sebuah

obyek atau tulisan.

- int far getmaxcolor(void)

Fungsi yang digunakan untuk memperoleh maksimal warna yang dapat

digunakan / dilewatkan oleh prosedur setcolor atau setbkcolor. Setiap driver

grafis tertentu memiliki kapasitas yang berbeda – beda. Sebagai contoh :

Pada driver 256K EGA memiliki maksimal warna 15, yang berarti setcolor

dapat melewatkan parameter nilai dari 0 sampai 15, sedangkan pada driver

CGA (Hercules Monochrome Adapter) akan mengembalikan nilai 1.

- int far getmaxx(void)

Fungsi ini mengembalikan nilai maksimum dari kordinat x dari sistem. Nilai

maksimum dari kordinat ini tergantung dari driver dan modus grafik system.

- int far getmaxy(void)

Fungsi ini mengembalikan nilai maksimum dari kordinat y dari sistem. Nilai

maksimum dari kordinat ini tergantung dari driver dan modus grafik sistem.

Page 54: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 54 dari 77

- int far getx(void)

Fungsi ini akan mengembalikan nilai kordinat x berdasarkan posisi relative

kursor saat itu.

- int far gety(void)

Fungsi ini akan mengembalikan nilai kordinat y berdasarkan posisi relative

kursor saat itu.

- void far setlinestyle(int linestyle, unsigned upattern, int thickness)

Prosedur ini digunakan untuk melakukan pengaturan terhadap bentuk, jenis

dan ketebalan dari garis lurus. Garis ini seringkali digunakan dalam membuat

bentuk 2 dimensi seperti : garis lurus, rectangle, busur, lingkaran dan bentuk

polygon. Terdapat 3 buah parameter, antara lain :

• int linestyle, mendeskripsikan jenis dari garis.

• unsigned upattern, mendeskripsikan bentuk dari garis.

• int thickness, mendeskripsikan ketebalan dari garis.

- void settextjustify (int horiz, int vertz)

Prosedur ini digunakan untuk meletakkan sebuah string / kalimat berada

pada posisi relatif terhadap batas horisontal (batas kiri layar) dan vertikal

(batas atas layar).

Pada implementasinya, kita dapat melakukan pengesetan ulang terhadap

posisi relatif terhadap layar, seperti halnya posisi horisontal (LEFT_TEXT,

CENTER_TEXT, RIGHT_TEXT) dan vertikal (BOTTOM_TEXT, CENTER_TEXT,

TOP_TEXT). Prosedur ini hanya bekerja pada modus grafis dan tidak bekerja

pada modus teks.

- void outtextxy(int x, int y, char * text)

Prosedut outtextxy digunakan untuk menuliskan kalimat pada kordinat

tertentu menggunakan modus grafis. Terdapat 3 parameter, antara lain :

Page 55: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 55 dari 77

• int x, akan mendeskripsikan nilai kordinat x.

• int y, akan mendeskripsikan nilai kordinat y.

• char * teks, berupa kalimat / string yang ingin dituliskan.

- void settextstyle( int font, int direction, int charsize)

Prosedur ini digunakan untuk melakukan pengesetan terhadap ukuran dan

jenis huruf yang digunakan pada modus grafis. Prosedur ini hanya berfungsi

pada modus grafis saja dan tidak pada modus teks. Terdapat 3 parameter,

antara lain :

• int font, akan mendeskripsikan jenis huruf yang digunakan. Terdapat 5

jenis huruf, yaiut : standar, sans_serif, gothic, triplex dan small font.

• Int direction, akan mendeskripsikan bagaimana sebuah kalimat aqkan

dituliskan ke dalam layar. Terdapat 2 parameter, yaitu : HORIZ_DIR

dan VERT_DIR. Dimana HORIZ_DIR akan menuliskan dari kiri ke

kanan, dan VERT_DIR akan menuliskan dari bawah ke atas.

• Int charsize, akan mendeskripsikan ukuran dari sebuah tulisan.

Rentang nilai dari 0 hingga 10 kali ukuran huruf biasa.

Pada implementasinya, untuk memanipulasi tampilan obyek atau tulisan pada

modus grafis terdapat cukup banyak fungsi – fungsinya. Pembahasan diatas

mengacu pada fungsi – fungsi yang sering digunakan dan untuk lebih

lengkapnya silahkan melihat tutorial / dokumentasi setiap bahasa

pemrograman.

4.5.3 Fungsi – fungsi penting untuk membuat obyek 2 Dimensi

- void far line( int x1, int y1, int x2, int y2)

Prosedur ini akan menggabarkan garis linier / lurus dari titik kordinat (x1,y1)

hingga titik kordinat (x2,y2) berdasarkan warna yang aktif saat itu.

Pengubahan warna dapat dilakukan dengan menggunakan prosesur

setcolor(int color).

Page 56: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 56 dari 77

- void far linerel(int dx, int dy)

Prosedur ini akan menggambarkan garis linier / lurus dari posisi saat ini

hingga jarak relative horisontal yang ditentukan dalam dx dan jarak relative

vertikal yang ditentukan dalam dy.

- void far lineto (int x, int y)

Prosedur ini akan menggambarkan garis lurus / linier dari posisi saat ini

hingga kordinat yang dituju yang didefinisikan dalam nilai x dan y. Setelah itu

posisi kursor akan dipindah ke kordinat (x,y).

- void far ellipse(int x, int y, int stangle, int endangle,int xradius, int

yradius)

Prosedur ini digunakan untuk menggambar busur elips berdasarkan warna

yang aktif saat itu. Terdapat 6 buah parameter, antara lain :

• int x, ini sebagai pusat kordinat x penggambaran.

• int y, ini sebagai pusak kordinat y penggambaran.

• int stangle, sebagai sudut awal (dalam derajat)

• int endangle, sebagai sudut akhir (dalam derajat)

• int xradius, sebagai diameter horizontal dari elips yang digambar.

• Int yradius,sebagai diameter vertikal dari elips yang digambar.

- void far fillellipse(int x, int y,int xradius, int yradius)

Prosedur ini digunakan untuk menggambar busur elips dan mengisi elips

tersebut menggunakan warna dan metode pengisian yang telah diatur

sebelumnya menggunakan prosedur setfilltype(). Terdapat 4 buah parameter,

antara lain :

• int x, ini sebagai pusat kordinat x penggambaran.

• int y, ini sebagai pusak kordinat y penggambaran.

• int xradius, sebagai diameter horizontal dari elips yang digambar.

• Int yradius,sebagai diameter vertikal dari elips yang digambar.

Page 57: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 57 dari 77

- void far arc(int x, int y, int stangle, int endangle, int radius)

Prosedur ini digunakan untuk menggambarkan bentuk busur. Terdapat 5

buah parameter, antara lain :

• int x, ini sebagai pusat kordinat x penggambaran.

• int y, ini sebagai pusak kordinat y penggambaran.

• int stangle, sebagai sudut awal (dalam derajat)

• int endangle, sebagai sudut akhir (dalam derajat)

• int radius, sebagai diameter dari busur yang akan digambar.

- void far circle(int x, int y, int radius)

Prosedur ini digunakan untuk menggambarkan bentuk lingkaran. Terdapat 3

buah parameter, antara lain :

• int x, ini sebagai pusat kordinat x penggambaran.

• int y, ini sebagai pusak kordinat y penggambaran.

• int radius, sebagai diameter dari busur yang akan digambar.

- void far rectangle(int left, int top, int right, int bottom)

Prosedur ini digunakan untuk menggambar bentuk rectangle (bentuk bujur

sangkar dengan siku berbentuk sedikit elips). Terdapat 4 buah parameter,

antara lain :

• int top, menunjukkan kordinat x dari ujung kiri atas.

• Int left, menunjukkan kordinat y dari ujung kiri atas.

• Int right, menunjukkan kordinat x dari ujung kanan bawah.

• Int bottom, menunjukkan kordinat y dari ujung kanan bawah.

Prosedur akan menggambarkan sesuai dengan warna dan bentuk garis yang

telah didefinisikan sebelumnya.

- void far drawpoly(int numpoints, int far *polypoints)

Page 58: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 58 dari 77

Prosedur ini digunakan untuk menggambar bentuk polygon menggunakan

bentuk garis dan warna yang telah didefinisikan sebelumnya. Terdapat 2

buah parameter, antara lain :

• int numpoints, mendeskripsikan jumlah titik yang ada.

• Int far *polypoints, mendeskripsikan sekumpulan pasangan titik yang

digunakan sebagai titik kordinat dari bentuk polygon. Jumlah pasangan

titik ini = 2 X jumlah titik (numpoints). Setiap pasang titik

medeskripsikan kordinat (x,y) dari bentuk polygon.

- void far fillpoly(int numpoints, int far *polypoints)

Prosedur ini sama persis dengan prosedur drawpoly diatas, perbedaannya

adalah prosedur ini akan mengisi bentuk polygon dengan warna dan model

pengisian yang telah didefinisikan sebelumnya. Penjelasan mengenai tiap

parameter, sama dengan penjelasan pada prosedur drawpoly.

- void far pieslice(int x, int y, int stangle, int endangle, int radius)

Prosedur ini digunakan untuk menggambarkan bentuk diagram pie. Terdapat

5 buah parameter, antara lain :

• int x, ini sebagai pusat kordinat x penggambaran.

• int y, ini sebagai pusak kordinat y penggambaran.

• int stangle, sebagai sudut awal (dalam derajat)

• int endangle, sebagai sudut akhir (dalam derajat)

• int radius, sebagai diameter dari busur yang akan digambar.

Perbedaan antara arc dengan pieslice adalah pada bentuk ini akan dilakukan

pengisian warna. Warna yang diisikan sesuai pengaturan warna melalui

prosedur setfillstyle().

Page 59: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 59 dari 77

4.5.4 Contoh – contoh program :

Contoh 1.1

Program mendaftarkan driver grafis EGAVGA ke dalam sistem.

#include <graphics.h>

#include <stdlib.h>

#include <stdio.h>

#include <conio.h>

int main(void)

{

/* request auto detection */

int gdriver = DETECT, gmode, errorcode;

errorcode = registerbgidriver(EGAVGA_driver);

/*apabila registrasi gagal */

if (errorcode < 0) {

printf("Graphics error: %s\n", grapherrormsg(errorcode));

printf("Press any key to halt:");

getch();

exit(1); /* terminate with an error code */

}

/* initialisasi graphics*/

initgraph(&gdriver, &gmode, "");

/* memeriksa apakah inisialisasi grafis berhasil*/

errorcode = graphresult();

if (errorcode != grOk) /* an error occurred */ {

printf("Graphics error: %s\n", grapherrormsg(errorcode));

printf("Press any key to halt:");

getch();

exit(1); /* terminate with an error code */

Page 60: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 60 dari 77

}

Contoh 1.2

Program membuka modus grafis dan menggambarkan garis sederhana

kemudian mengembalikan ke modus teks.

#include <graphics.h>

#include <stdlib.h>

#include <stdio.h>

#include <conio.h>

int main(void)

{

/* auto detect */

int gdriver = DETECT, gmode, errorcode;

// inisialisasi modus grafis.

initgraph(&gdriver, &gmode, "");

errorcode = graphresult(); // melihat apakah modus grafis berhasil di load.

if (errorcode != grOk) { // gagal inisialisasi modus grafis.

printf("Graphics error: %s\n", grapherrormsg(errorcode));

printf("Press any key to halt:");

getch();

exit(1); /* program terminasi dengan ada error */

}

line(0, 0, getmaxx(), getmaxy()); // menggambar garis sederhana.

closegraph(); // mengembalikan ke modus teks.

return 0; // program terminasi tanpa ada error.

}

Page 61: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 61 dari 77

Contoh 1.3

Program untuk menuliskan teks ke dalam modus grafis pada posisi kordinat

(50,50).

#include <graphics.h>

#include <stdlib.h>

#include <stdio.h>

#include <conio.h>

int main(void){

/*auto detect */

int gdriver = DETECT, gmode, errorcode;

int midx, midy;

/* inisialisasi modus grafis*/

initgraph(&gdriver, &gmode, "");

errorcode = graphresult();

// memeriksa apakah berhasil meload modus grafis.

if (errorcode != grOk) { // apabila terjadi kegagalan.

printf("Graphics error: %s\n", grapherrormsg(errorcode));

printf("Press any key to halt:");

getch();

exit(1); /* program di terminasi dengan ada kesalahan */ }

midx =50;

midy = 50;

outtextxy(midx, midy, "Testing Sederhana"); // menulis pada kordinat

(50,50)

closegraph(); // kembali ke modus teks.

return 0; /* program di terminasi tanpa ada kesalahan */

}

Page 62: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 62 dari 77

Contoh 1.4

Program untuk menggambar garis lurus dari kordinat (10,20) hingga (30,50)

#include <graphics.h>

#include <stdlib.h>

#include <stdio.h>

#include <conio.h>

int main(void)

{

/* auto detect */

int gdriver = DETECT, gmode, errorcode;

// inisialisasi modus grafis.

initgraph(&gdriver, &gmode, "");

errorcode = graphresult(); // melihat apakah modus grafis berhasil di load.

if (errorcode != grOk) { // gagal inisialisasi modus grafis.

printf("Graphics error: %s\n", grapherrormsg(errorcode));

printf("Press any key to halt:");

getch();

exit(1); /* program terminasi dengan ada error */

}

line(10,20, 30, 50); // menggambar garis sederhana.

closegraph(); // mengembalikan ke modus teks.

return 0; // program terminasi tanpa ada error.

}

Contoh 1.5

Program untuk menggambar lingkaran pada kordinat (20,20) dengan radius 50.

Page 63: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 63 dari 77

#include <graphics.h>

#include <stdlib.h>

#include <stdio.h>

#include <conio.h>

int main(void){

/* Auto Detect */

int gdriver = DETECT, gmode, errorcode;

int midx, midy;

int radius = 100;

/* inisialisasi ke modus grafis */

initgraph(&gdriver, &gmode, "")

errorcode = graphresult(); // melihat apakah berhasil meload modus grafis.

if (errorcode != grOk) { // terdapat kegagalan dalam meload modus grafis.

printf("Graphics error: %s\n", grapherrormsg(errorcode));

printf("Press any key to halt:");

getch();

exit(1); /* program di terminasi dengan ada kesalahan */

}

midx = getmaxx() / 2;

midy = getmaxy() / 2;

setcolor(getmaxcolor()); // atur warna sistem.

circle(midx, midy, radius); // mengammbar bentuk lingkaran.

closegraph(); // mengembalikan ke modus teks.

return 0; /* program di terminasi dengan ada kesalahan */

}

Contoh 1.6

Program untuk menggambarkan bentuk rectangle pada kordinat (10,10) dan

(50,100).

Page 64: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 64 dari 77

#include <graphics.h>

#include <stdlib.h>

#include <stdio.h>

#include <conio.h>

int main(void){

/* Auto Detect */

int gdriver = DETECT, gmode, errorcode;

int midx, midy;

int radius = 100;

/* inisialisasi ke modus grafis */

initgraph(&gdriver, &gmode, "")

errorcode = graphresult();

// melihat apakah berhasil meload modus grafis.

if (errorcode != grOk) { // terdapat kegagalan dalam meload modus grafis.

printf("Graphics error: %s\n", grapherrormsg(errorcode));

printf("Press any key to halt:");

getch();

exit(1); /* program di terminasi dengan ada kesalahan */

}

left = getmaxx() / 2 - 50;

top = getmaxy() / 2 - 50;

right = getmaxx() / 2 + 50;

bottom = getmaxy() / 2 + 50;

rectangle(left,top,right,bottom); // menggambar bentuk rectangle.

closegraph(); // mengembalikan ke modus teks.

return 0; /* program di terminasi dengan ada kesalahan */ }

Page 65: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 65 dari 77

Contoh 1.7

Program untuk menggambar bentuk poligon dengan 5 titik. Masing – masing

titik kordinat akan digambarkan langsung di dalam program.

#include <graphics.h>

#include <stdlib.h>

#include <stdio.h>

#include <conio.h>

int main(void)

{

/* auto detect */

int gdriver = DETECT, gmode, errorcode;

int maxx, maxy;

/* array verteks dari poligon */

int poly[10];

initgraph(&gdriver, &gmode, ""); // inisialisaasi modus grafis.

errorcode = graphresult(); // melihat apakah modus grafis berhasil di load.

if (errorcode != grOk) { // terjadi kegagalan dama load modus grafis.

printf("Graphics error: %s\n", grapherrormsg(errorcode));

printf("Press any key to halt:");

getch();

exit(1); // program diterminasi dengan ada keslahan.

}

maxx = getmaxx();

maxy = getmaxy();

poly[0] = 20; /* verteks pertama */

poly[1] = maxy / 2;

poly[2] = maxx - 20; /* kedua */

poly[3] = 20;

Page 66: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 66 dari 77

poly[4] = maxx - 50; /* ketiga */

poly[5] = maxy - 20;

poly[6] = maxx / 2; /*keempat */

poly[7] = maxy / 2;

poly[8] = poly[0]; /* kelima = akhir penutur = verteks awal */

poly[9] = poly[1];

drawpoly(5, poly); // menggambar bentuki poligon.

closegraph(); // mengembalikan ke modus teks.

return 0; // program diterminasi tanpa ada kesalahan.

}

4.6 Pengenalan Obyek 3 Dimensi

Pemrograman grafis selau tidak pernah dari obyek 3 Dimensi, karena dewasa ini

penggunaan obyek 3 dimensi semakin bervariatif. Mulai dari game console,

game online, film animasi hingga dunia periklanan. Program dan tool – tool

yang digunakan untuk membuat obyek 3 dimensi juga semakin bervariatif,

mulai dari openGL, 3D Studio Max, Maya dan lain sebagainya. Pada

pembahasan ini kita akan mempelajari dasar – dasar dalam pemrograman

obyek 3 Dimensi.

Objek 3 dimensi adalah sebuah model struktur data yang menyatakan suatu

gambar 3D dibentuk dan disusun. Objek 3D didefinisikan dengan :

• Objek 3D adalah sekumpulan titik-titik 3D (x,y,z) yang membentuk luasan-

luasan (face) yang digabungkan menjadi satu kesatuan.

• Face adalah gabungan titik-titik yang membentuk luasan tertentu atau

sering dinamakan dengan sisi. Dari definisi ini, dapat dikatakan bahwa

objek 3D merupakan kumpulan titik-titik dan kumpulan face yang

merupakan susunan dari titik-titik yang ditentukan. Seperti gambar

kubus, kubus terdiri dari 8 titik dan 6 sisi/face. Dimana face merupakan

Page 67: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 67 dari 77

polygon atau kumpulan titik-titik yang disusun urutannya. Dalam kubus,

facenya semua berupa bujur sangkar dengan 4 titik.

Pada dasarnya sebuah obyek 3D terdiri dari elemen – elemen dasar, antara lain :

• Point

Point adalah sebuah titik yang digunakan untuk membangun obyek.

Setiap titik dalam obyek 3D memiliki nilai dalam x, y, z .

• Polyline

Polyline adalah sebuah fungsi yang dibentuk dari beberapa garis yang

saling berhubungan dan membentuk sebuh kurva yang terbuka

• Polygon

Polygon adalah suatu fungsi yang mirip dengan polyline hanya saja

hasilnya adalah kurva tertutup, sedangkan polyline hasilnya kurva terbuka.

• Filled Polygon (Face)

Filled Polygon adalah sebuah polygon yang bagian dalamnya diwarnai

atau dipenuhi dengan sebuah warna tertentu. Filled polygon biasanya

digunakan sebagai face dari pembentukan obyek 3D.

• Gradate Polygon

Gradate polygon adalah sebuah polygon yang bagian dalamnya memiliki

warna – warna yang bergradasi dari satu warna ke warna yang lain.

4.7 Pengenalan Terhadap Program OpenGL

Pada pembuatan obyek 3D, kita tidak dapat membuat dengan metode yang kita

gunakan untuk membuat obyek 2D. Meski pada dasarnya sebuah obyek 3D

adalah sekumpulan titik – titik (point) yang terhubung satu sama lain. Untuk

menghasilkan sebuah obyek 3D yang baik maka kita akan mempelajari tentang

dasar – dasar penerapan program openGL.

Page 68: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 68 dari 77

OpenGL adalah software (perangkat lunak) interface perangkat keras grafik.

Interface ini terdiri dari sekitar 150 command atau perintah yang berbeda yang

bisa digunakan untuk menentukan objek dan operasi yang dibutuhkan untuk

menghasilkan aplikasi tiga dimensi yang interaktif. OpenGL didesain untuk

memperlancar, diimplementasikan pada banyak jenis perangkat keras yang

berbeda.

OpenGL tidak menyediakan command (perintah) untuk menggambarkan model

dari objek tiga dimensi, kita harus membangun model yang diinginkan dari satu

set kecil dari geometri seperti titik, garis, dan poligon.

Library yang menyediakan fitur ini tentunya bisa dibuat dengan OpenGL.

The OpenGL Utility Library (GLU) menyediakan beberapa fitur modeling, seperti

permukaan kuadrik, kurva, dan bentuk-bentuk lainnya. GLU adalah bagian

standar dari setiap implementasi OpenGL. OpenGL memiliki lebih dari 200 fungsi.

4.7.1 Fungsi tersebut bisa dikelompokkan menjadi :

• Fungsi primitif, menentukan elemen yang bisa menghasilkan gambar di

layar. Fungsi ini terdiri dari 2 jenis, yaitu primitive geometric seperti

polygon (segi banyak) yang bisa dibuatmenjadi dua, tiga, atau empat

dimensi, dan primitif gambar seperti bitmaps.

• Fungsi atribut, mengontrol tampilan dari primitif. Fungsi ini menentukan

warna, jenis garis, properti material, sumber cahaya, dan tekstur.

• Fungsi pandangan, menentukan properti kamera. OpenGL menyediakan

sebuah virtual kamera yang bisa diposisikan dan diorientasikan relatif ke

obyek yang ditentukan dengan fungsi primitif. Lensa kamera juga bisa

dikendalikan sehingga bisa dihasilkan sudut yang lebar dan pandangan

telefoto (jarak jauh).

• Fungsi windowing, fungsi ini mengendalikan windows pada layar dan

penggunaan dari mouse dan keyboard.

Page 69: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 69 dari 77

• Fungsi kontrol, menghidupkan macam-macam fitur OpenGL.

Fungsi-fungsi OpenGL dimuat didalam 2 library yang disebut dengan gl

dan glu (atau GL dan GLU). Library yang pertama, adalah fungsi utama

dari OpenGL, berisi semua fungsi OpenGL yang dibutuhkan sedangkan

yang kedua, the openGL Utility Llibrary (GLU) memuat fungsi yang ditulis

menggunakan fungsi dari library utama dan sangat membantu bagi

pengguna. Fungsi utama mempunyai nama yang diawali dengan “gl”

seperti “glVertex3f()”, sedangkan fungsi didalam GLU mempunyai nama

yang diawali dengan “glu” seperti “gluOrtho2D()”.

4.7.2 Proses Instalasi OpenGL

Pada pembahasan kali ini, kita akan menggunakan sistem operasi Linux Debian

sebagai system operasi dasar dimana program OpenGl berjalan. Pembahasan ini

tidak menjelaskan secara detil cara untuk melakukan instalasi system operasi

Linux (dapat melihat materi instalasi linux). Berikut akan dijelakan bagaimana

melakukan instalasi program OpenGL pada sistem operasi linux.

Untuk melakukan kompilasi dari program OpenGL yang dibuat, diharapkan

melakukan instalasi terhadap compiler C (gcc) dengan langkah –langkah sebagai

berikut :

• Instal kompiler C (gcc) dengan mengetik :

# apt-get install gcc-3.4

• Instal paket library yang dibutuhkan bahasa pemrograman C dan OpenGL

# apt-get install libc6 libc6-dev

# apt-get install freeglut3 freeglut3-dev

# apt-get install libglut3 libglut3-dev

# apt-get install xlibmesa-gl xlibmesa-gl-dev

# apt-get install xlibmesa-glu xlibmesa-glu-dev

Page 70: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 70 dari 77

Untuk menulis program C atau OpenGL di dalam system operasi linux, anda tidak

memerlukan editor khusus. Anda bias menggunakan editor biasa semacam

kwrite atau editor vi atau vim. Secara teknis sintak – sintak yang digunakan

sama dengan bahasa C.

4.7.3 Program dasar dari OpenGL terdiri dari 2 fungsi yaitu :

• Fungsi main()

Fungsi main berfungsi untuk inisialisasi OpenGL.

• Fungsi display()

Fungsi display berfungsi untuk menetukan grafik yang akan ditampilkan

dalam window.

Contoh 1.8

Program membuat sebuah kotak putih dengan latar layer kotak hitam.

#include<GL/glut.h>

void display(){

glClear(GL_COLOR_BUFFER_BIT);

glBegin(GL_POLYGON);

glVertex2f(-0.5, -0.5);

glVertex2f(-0.5, 0.5);

glVertex2f(0.5, 0.5);

glVertex2f(0.5, -0.5);

glEnd();

glFlush();

}

Page 71: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 71 dari 77

int main(int argc, char** argv){

glutInit(&argc, argv);

glutCreateWindow(“simple”);

glutDisplayFunc(display);

glutMainLoop();

}

4.7.4 Proses Kompilasi Program OpenGL

Proses kompilasi program OpenGl tergantung pada sistem operasi yang

digunakan, karen pada pembahasan ini kita mengasumsikan menggunakan

sistem operasi Linux Debian, maka contoh yang diberikan ini berdasarkan

sistem operasi linux.

gcc nama_file.c –o nama_file –lglut –lGLU –lGL –lX11 –lm

Untuk penjelasan lebih lanjut mengenai fungsi – fungsi yang terkandung dalam

program OpenGl, silahkan mencari dokumentasi atau tutorial tentang

pemrograman OpenGL lebih lanjut. Pembahasan ini tidak dimaksudkan untuk

mengupas program OpenGL dengan detail, namun lebih ditujukan untuk

mengenalkan dasar – dasar pemrograman obyek 3D dan pengenalan dasar

program OpenGL.

4.7.5 Algoritma Animasi Sederhana

Animasi pada dasarnya adalah membuat objek seolah-olah bergerak sehingga

terjadi pergerakan yang membuat mata kita memandangnya sebagai sebuah

kesatuan utuh. Padahal dibalik itu, animasi dibuat berdasarkan pada bagian

-bagian tertentu (terpisah) dan baru kemudian akan disatukan untuk

mendapatkan pergerakan yang sempurna. Pada dasarnya animasi adalah proses

sebuah obyek bergerak dari satu posis ke posii yang lain dalam hitungan

Page 72: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 72 dari 77

interval waktu tertentu. Obyek yang digerakkan dapat berupa obyek 2D, obyek

3D atau bahkan sebuah tulisan sederhana. Dewasa ini telah banyak

berkembang program – program atau tool yang digunakan untuk membuat

program animasi antara lain : Macromedia Flash, Studio 3D Max, Maya, Adobe

Image Ready atau bahkan menggunakan program OpenGl yang telah sedikit

kita bahas diatas.

Berikut akan diberikan contoh sederhana animasi obyek 2D menggunakan

bahasa pemrograman C.

Contoh 1.9

Program membuat tulisan dalam modus grafis bergerak ke kanan dengan

interval waktu sebanyak 200 mili sekon, dan program akan terus bergerak

hingga pengguna menekan tombol apapun dari keyboard. Ketika tulisan

mencapai batas kanan dari layar maka tulisan akan kembali ke kordinat awal.

#include <graphics.h>

#include <stdlib.h>

#include <stdio.h>

#include <conio.h>

int main(void){

/*auto detect */

int gdriver = DETECT, gmode, errorcode;

int midx, midy;

/* inisialisasi modus grafis*/

initgraph(&gdriver, &gmode, "");

errorcode = graphresult();

// memeriksa apakah berhasil meload modus grafis.

if (errorcode != grOk) { // apabila terjadi kegagalan.

printf("Graphics error: %s\n", grapherrormsg(errorcode));

printf("Press any key to halt:");

Page 73: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 73 dari 77

getch();

exit(1); } /* program di terminasi dengan ada kesalahan */

midx =50;

midy = 50;

while (!kbhit()){ // lakukan perulangna hingga ada penekanan keyboard.

outtextxy(midx, midy, "Hello");

delay(200);

// menahan selama 200 mili sekon sebelum melanjutkan ke instruksi

selanjutnya

outtextxy(midx, midy, " "); // menghapus tulisan yang lama.

midx+=10; // menambah jumlah kordinat x sebanyak 10 titk.

// jika sudah mencapai ujung dari layar.

if (midx == (getmaxx() – 5)){ // karena tulisan hello panjangnya 5.

midx = 50; // kembali ke posisi awal.

}

} // akhir tubuh perulangan.

closegraph(); // kembali ke modus teks.

return 0; /* program di terminasi tanpa ada kesalahan */

}

Page 74: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 74 dari 77

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 :

a. Membantu Anda untuk merencanakan proses belajar.

b. Membimbing Anda melalui tugas-tugas pelatihan yang dijelaskan dalam tahap

belajar.

c. Membantu Anda untuk memahami konsep dan praktik baru dan untuk

menjawab pertanyaan Anda mengenai proses belajar Anda.

d. Membantu Anda untuk menentukan dan mengakses sumber tambahan lain yang

Anda perlukan untuk belajar Anda.

e. Mengorganisir kegiatan belajar kelompok jika diperlukan.

f. Merencanakan seorang ahli dari tempat kerja untuk membantu jika diperlukan.

Penilai

Penilai Anda melaksanakan program pelatihan terstruktur untuk penilaian di tempat

kerja. Penilai akan :

a. Melaksanakan penilaian apabila Anda telah siap dan merencanakan proses

belajar dan penilaian selanjutnya dengan Anda.

b. Menjelaskan kepada Anda mengenai bagian yang perlu untuk diperbaiki dan

merundingkan rencana pelatihan selanjutnya dengan Anda.

c. Mencatat pencapaian / perolehan Anda.

Teman kerja/sesama peserta pelatihan

Page 75: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 75 dari 77

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 Perpustakaan

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 dari perusahan

2. Lembar kerja

3. 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.

Page 76: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 76 dari 77

5.3. Daftar Peralatan/Mesin dan Bahan

1. Judul/Nama Pelatihan : Algoritma dan Pemrograman Lanjut

2. Kode Program Pelatihan : TIK.PR02.002.01

NOUNIT

KOMPETENSIKODE UNIT

DAFTAR

PERALATAN

DAFTAR

BAHANKETERANGAN

1. Algoritma dan

Pemrograman

Lanjut

TIK.PR02.002.01 - Unit PC

(Personal

Computer)

dengan CD

drive dan Hard

Disk.

- PC dengan

sistem operasi

Windows XP

- Keyboard dan

mouse

- RAM dengan

ukuran yang

sesuai dengan

kebutuhan.

- Program

Borland C++

3.1

-Program

Borland C+

+ 3.1.

-Buku

informasi

tentang

Algoritma

Pemrogram

an Lanjut,

Pemrogram

an grafis.

-

Page 77: Tik.pr02.002.01 b informasi fix

Materi Pelatihan Berbasis KompetensiSektor Telematika Sub Sektor Programmer Komputer

Kode ModulTIK.PR02.001.01

Judul Modul: Membuat Algoritma Pemrograman LanjutBuku Informasi Versi: 01-09-2007 Halaman: 77 dari 77

DAFTAR PUSTAKA

• Website:

• http://www.ilmukomputer.com

• http://devnet.com

• http://www.codeguru.com

• http://id.wikipedia.org