49
Buku Praktikum Algoritma dan Pemrograman 1 Untuk Mahasiswa Jurusan Teknik Informatika jenjang Strata 1 (S1) Program Studi Teknik Informatika Oleh: M. Fachrurrozi, MT Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 2009 z 1

modul praktikum alpro 1-2

Embed Size (px)

Citation preview

Page 1: modul praktikum alpro 1-2

Buku Praktikum

Algoritma dan Pemrograman 1

Untuk Mahasiswa Jurusan Teknik Informatika jenjang Strata 1 (S1)

Program Studi Teknik Informatika

Oleh:

M. Fachrurrozi, MT

Comlabs Fakultas Ilmu Komputer

Universitas Sriwijaya

2009

z 1

Page 2: modul praktikum alpro 1-2

Editor : M. Qurhanul Rizqie, S.Kom

Buku ini diterbitkan dalam rangka pengadaan buku ajar untuk pendidikan di perguruan

tinggi khususnya di lingkungan Fakultas Ilmu Komputer Universitas Sriwijaya.

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya

z 2

Page 3: modul praktikum alpro 1-2

Daftar Isi

Daftar Isi............................................................................................................................3Muqaddimah......................................................................................................................5Lembar Kerja Praktikum 1 : Pengenalan...........................................................................7

Tujuan............................................................................................................................7Dasar Teori....................................................................................................................7Daftar tools yang digunakan........................................................................................11Algoritma.....................................................................................................................11Langkah-langkah Praktik.............................................................................................12Hasil LKP (ditulis tangan di kertas A4)......................................................................12Kesimpulan..................................................................................................................12Evaluasi dan Pertanyaan..............................................................................................12

Lembar Kerja Praktikum 2: Tipe Data dan Ekspresi.......................................................13Tujuan..........................................................................................................................13Dasar Teori..................................................................................................................13Daftar tools yang digunakan........................................................................................14Algoritma.....................................................................................................................14Langkah-langkah Praktik.............................................................................................14Hasil LKP (ditulis tangan di kertas A4)......................................................................15Kesimpulan..................................................................................................................15Evaluasi dan Pertanyaan..............................................................................................15

Lembar Kerja Praktikum 3: Kondisi...............................................................................16Tujuan..........................................................................................................................16Dasar Teori..................................................................................................................16Daftar tools yang digunakan........................................................................................20Algoritma.....................................................................................................................20Langkah-langkah Praktik.............................................................................................21Hasil LKP (ditulis tangan di kertas A4)......................................................................21Kesimpulan..................................................................................................................22Evaluasi dan Pertanyaan..............................................................................................22

Lembar Kerja Praktikum 4: Pengulangan.......................................................................23Tujuan..........................................................................................................................23Dasar Teori..................................................................................................................23Daftar tools yang digunakan........................................................................................24Algoritma.....................................................................................................................24Langkah-langkah Praktik.............................................................................................25Hasil LKP (ditulis tangan di kertas A4)......................................................................25Kesimpulan..................................................................................................................25Evaluasi dan Pertanyaan..............................................................................................25

Lembar Kerja Praktikum 5: Array...................................................................................26Tujuan..........................................................................................................................26Dasar Teori..................................................................................................................26Daftar tools yang digunakan........................................................................................27Algoritma.....................................................................................................................27Langkah-langkah Praktik.............................................................................................28Hasil LKP (ditulis tangan di kertas A4)......................................................................28Kesimpulan..................................................................................................................28Evaluasi dan Pertanyaan..............................................................................................28

Lembar Kerja Praktikum 6: Pointer................................................................................29

z 3

Page 4: modul praktikum alpro 1-2

Tujuan..........................................................................................................................29Dasar Teori..................................................................................................................29Daftar tools yang digunakan........................................................................................30Algoritma.....................................................................................................................30Langkah-langkah Praktik.............................................................................................31Hasil LKP (ditulis tangan di kertas A4)......................................................................31Kesimpulan..................................................................................................................31Evaluasi dan Pertanyaan..............................................................................................31

Lembar Kerja Praktikum 7: Fungsi dan Prosedur...........................................................32Tujuan..........................................................................................................................32Dasar Teori..................................................................................................................32Daftar tools yang digunakan........................................................................................34Algoritma.....................................................................................................................34Langkah-langkah Praktik.............................................................................................34Hasil LKP (ditulis tangan di kertas A4)......................................................................35Kesimpulan..................................................................................................................35Evaluasi dan Pertanyaan..............................................................................................35

Lembar Kerja Praktikum 8: File Eksternal......................................................................36Tujuan..........................................................................................................................36Dasar Teori..................................................................................................................36Daftar tools yang digunakan........................................................................................37Algoritma.....................................................................................................................37Langkah-langkah Praktik.............................................................................................37Hasil LKP (ditulis tangan di kertas A4)......................................................................38Kesimpulan..................................................................................................................38Evaluasi dan Pertanyaan..............................................................................................38

Referensi..........................................................................................................................39

z 4

Page 5: modul praktikum alpro 1-2

Muqaddimah

“Allah mengangkat derajat orang yang beriman dan orang yang berilmu pengetahuan

beberapa derajat”. (Mujaddalah 11)

“Abu Hurairah r.a. berkata: Rasulullah SAWbersabda: Barang siapa yang ditanya suatu

ilmu agama lalu menyembunyikannya, maka akan dikendalikan mulutnya pada hari

kiamat dengan kendali dari api neraka”. (Abu Dawud, Attirmidzi)

“Tiada akan pernah mampu seseorang dalam mengerjakan sesuatu tanpa pernah

mencobanya terlebih dahulu”.

Dari ketiga sumber ilmu inilah penulis ingin berusaha membuat sesuatu yang

bermanfaat bagi orang lain, walaupun masih banyak kekurangan yang terdapat di dalam

buku ini.

Buku praktikum ini merupakan salah satu bahan ajar pendukung untuk mata kuliah

Algoritma dan Pemrograman. Dari buku ini diharapkan mahasiswa dapat dengan mudah

mempelajari, memahami, dan mempraktikkan materi – materi yang telah diajarkan pada

kelas teori mata kuliah Algoritma dan Pemrograman. Kemudian buku ini diharapkan

z 5

Page 6: modul praktikum alpro 1-2

dapat menjadi referensi untuk pemecahan permasalahan umum diluar materi

perkuliahan. Sebagian besar isi dari buku ini merupakan rangkuman dari sumber-

sumber yang telah dibuat penulis lain. Penulis berharap agar buku ini dapat bermanfaat

bagi semua kalangan pembaca. Terima kasih untuk semuanya yang telah memberikan

banyak kritik dan saran serta dukungan dalam penulisan buku ini. Dunia akan selalu

indah karena kejujuran dan kebersamaan.

Palembang, September 2009

Penulis

z 6

Page 7: modul praktikum alpro 1-2

Lembar Kerja Praktikum 1 : Pengenalan

Tujuan

Setelah mengerjakan LKP 1 ini, anda diharapkan dapat:

1. mengenal lingkungan salah satu compiler bahasa pemrograman C yaitu Turbo

C++ 4.5.

2. menggunakan compiler tersebut untuk menyelesaikan kasus sederhana.

Dasar Teori

Lingkungan Turbo C++ 4.5

Turbo C++ 4.5 adalah tool yang dipakai untuk membuat code program dalam bahasa C

ataupun C++. Berikut adalah jendela utama Turbo C++ 4.5.

1 : Menu Utama

2 : Toolbar

3 : Jendela pengetikan kode program

4 : Jendela Message/Pesan kesalahan kode

Create new, Open, Save, Save As File

Untuk memulai membuat kode program di Turbo C++ 4.5 langkah-langkahnya adalah

sebagai berikut :

z 7

1

2

3

4

Page 8: modul praktikum alpro 1-2

1. Buka Turbo C++ 4.5 dari menu program sehingga akan keluar jendela Turbo C++

berikut :

2. Kemudian pilih menu File > New maka akan tampil jendela baru (di dalam jendela

utama Turbo C++) untuk menuliskan kode program.

3. Setelah menuliskan kode program maka simpan dengan memilih menu File > Save

as (untuk menyimpan dengan nama baru) atau File > Save (Tidak menyimpan dengan

nama baru bila sudah pernah disimpan). Tentukan dirve dan direktori tempat

penyimpanan.

z 8

Page 9: modul praktikum alpro 1-2

Untuk membuka file atau kode program yang sudah pernah dibuat maka langkah-

langkahnya adalah seperti berikut :

1. Pilih menu File > Open maka akan tampil jendela seperti berikut :

2. Tentukan drive dan direktori lokasi tempat menyimpan file program kemudian klik

OK.

Compile Program, Pendeteksian Error dan Warning, Run Program

Setelah menuliskan kode program, maka berikutnya adalah compile program dengan

tujuan untuk mendeteksi kesalahan-kesalahan dalam penulisan kode program. Adapun

langkah-langkahnya adalah sebagai berikut :

z 9

Page 10: modul praktikum alpro 1-2

1. Pilih menu Project > Compile, atau kombinasi tombol ALT+F9, akan tampil

jendela status compile seperti berikut :

Dari status di atas maka tidak ditemukan error atau warning pada program.

Dari status di atas dapat dilihat bahwa terdapat error pada program. Untuk melihat

pesan error tersebut klik OK maka akan tampil jendela pesan error seperti berikut :

Jendela di bawah ini menunjukkan terdapat warning pada program.

z 10

Page 11: modul praktikum alpro 1-2

Untuk melihat pesan warning tersebut, klik tombol OK.

2. Setelah kode program di-compile maka langkah berikutnya adalah menjalankannya,

yaitu dengan memilih menu Debug > Run atau kombinasi tombol CTRL+F9.

Contoh Program :

Program mengeluarkan tulisan ”Selamat Datang di Fakultas Ilmu Komputer”

1: #include <stdio.h> //header2:3: void main()//fungsi utama4: {

5: printf(“Selamat Datang di Fakultas Ilmu Komputer”);//statement6: }

Daftar tools yang digunakan

1. Compiler C: Turbo C++ 4.5

Algoritma

Deklarasi :

-

Algoritma :

write(“Selamat Datang di Fakultas Ilmu Komputer”)

z 11

Page 12: modul praktikum alpro 1-2

write(“Nama Anda”)

write(“Nim Anda”)

write(“Jurusan Anda”)

Langkah-langkah Praktik

1. Bukalah software Turbo C++

2. Ketikkan kode program berdasarkan algoritma yang diberikan

3. Compile program dengan menekan Alt + F9 atau pilih menu Project Compile

4. Jalankan program dengan menekan Ctrl + F9 atau pilih menu Debug Run

5. Simpan file dengan nama Praktikum1.cpp

Hasil LKP (ditulis tangan di kertas A4)

Nama Program:

No Deskripsi Masukan Keluaran yang diharapkan Hasil yang didapat

Kesimpulan

Evaluasi dan Pertanyaan

1. Buat sebuah program yang mengeluarkan tulisan ”Selamat Datang di Fakultas

Ilmu Komputer”, saat dilakukan penekanan tombol ENTER pada keyboard,

tulisan tersebut akan berubah menjadi nama, nim, dan jurusan anda!

Petunjuk : gunakan header “conio.h” dan fungsi “getch()” serta “clrscr()”

2. Bandingkan program pada praktikum ini dan program pada evaluasi 1, apa

pendapat anda?

z 12

Page 13: modul praktikum alpro 1-2

Lembar Kerja Praktikum 2: Tipe Data dan Ekspresi

Tujuan

Setelah mengerjakan LKP 2 ini, anda diharapkan dapat:

1. mengenal berbagai tipe data pada bahasa C.

2. menggunakan tipe data untuk menyelesaikan berbagai kasus sederhana.

Dasar Teori

Tipe Data dapat dibedakan menjadi dua, yaitu tipe data dasar dan tipe data bentukan

Tipe Data Dasar

Adalah tipe yang dapat langsung dipakai.

Tipe Dasar Ukuran Memori (byte)

Jangkauan Nilai Jumlah Digit Presisi

Char 1 -128 hingga +127 -Int 2 -32768 hingga +32767 -

Long 4-2.147.438.648 hingga 2.147.438.647

-

Float 4 3,4E-38 hingga 3,4E38 6-7Double 8 1.7E-308 hingga 1.7E308 15-16long double 10 3.4E-4932 hingga 1.1E4932 19

Beberapa format yang dipakai untuk mencetak nilai numerik integer :

Kode Format Hasil yang dicetak%i atau %d%u%li%lu

Numerik integer bertandaNumerik integer tak bertanda (unsigned integer)Numerik Long integer bertandaNumerik Unsigned Long Integerl

%c Karakter ASCII%x%o

Hexadecimal IntegerOctal Integer

Tipe Bentukan

Tipe bentukan adalah type yang dibentuk dari type dasar atau dari type bentukan lain

yang sudah didefinisikan, contohnya tipe struktur. Struktur terdiri dari data yang disebut

field. Field–field tersebut digabungkan menjadi satu tujuan untuk kemudahan dalam

operasi. Mengenai tipe data bentukan akan dibahas lebih lanjut pada mata kuliah

Algoritma dan Pemrograman 2.

z 13

Page 14: modul praktikum alpro 1-2

Contoh Program :

1: #include <stdio.h>2: #include <conio.h>3: void main()4: {5: int nilai; 6:7: printf(“Masukkan Suatu Nilai : ”);8: scanf(“%d”,&nilai);9:10: clrscr();11: printf(“Nilai yang Dimasukkan adalah :\n%d”, nilai); 12: }

Daftar tools yang digunakan

1. Compiler C: Turbo C++ 4.5

Algoritma

Deklarasi :

const Phi = 3.14 {konstanta}

L : real

K, p, l : integer

Algoritma :

read(p)

read (l)

K2*(p+l)

write(K)

bersihkan layar

read (r)

L Phi*r*r

write(L)

Langkah-langkah Praktik

1. Bukalah software Turbo C++

2. Ketikkan kode program berdasarkan algoritma yang diberikan

3. Compile program dengan menekan Alt + F9 atau pilih menu Project Compile

4. Jalankan program dengan menekan Ctrl + F9 atau pilih menu Debug Run

5. Simpan file dengan nama Praktikum2.cpp

z 14

Page 15: modul praktikum alpro 1-2

Hasil LKP (ditulis tangan di kertas A4)

Nama Program:

No Deskripsi Masukan Keluaran yang diharapkan Hasil yang didapat

Kesimpulan

Evaluasi dan Pertanyaan

1. Buat sebuah program untuk menghitung luas, keliling, dan volume suatu balok

2. Buat sebuah program untuk menghitung luas, keliling, dan volume suatu tabung

3. Buat sebuah program untuk menghitung luas, keliling, dan volume suatu limas

z 15

Page 16: modul praktikum alpro 1-2

Lembar Kerja Praktikum 3: Kondisi

Tujuan

Setelah mengerjakan LKP 3 ini, anda diharapkan dapat:

1. memahami konsep pengkondisian dalam pemrograman

2. mengenal berbagai bentuk pengkondisian pada bahasa C.

3. menggunakan pengkondisian untuk menyelesaikan berbagai kasus sederhana.

Dasar Teori

Bentuk IF

Penggunaan seleksi dapat menggunakan bentuk if, sintaks penulisannya adalah sebagai

berikut :

if (kondisi){

Statement }

Contoh Program :

1: #include <stdio.h>2: void main()3: {4: int a;5: int b;6:7: a = 10;8: b = 9;9:10: if (a>b)11: {12: printf(“%d lebih besar dari %d”,a,b);13: }14: }

Bentuk IF dengan Operator

Terkadang ada lebih dari satu kondisi yang harus terpenuhi, untuk itu dapat digunakan

operator logika AND dan OR, pada bahasa C sintaks penulisannya adalah sebagai

berikut,

Untuk operator logika AND :

if (kondisi1 && kondisi2 ){

Statement }

z 16

Page 17: modul praktikum alpro 1-2

ContohProgram :

1: #include <stdio.h>2: void main()3: {4: int a = 10;5:6: if (a< 15 && a>9)7: {8: printf(“15 lebih besar dari %d lebih besar dari 9”,a);9: }10: }

Untuk operator logika OR :

if (kondisi1 || kondisi2 ){

Statement }

ContohProgram :

1: #include <stdio.h>2: void main()3: {4: int a = 15;5:6: if (a%5==0 || a%2==0)7: {8: printf(“%d habis dibagi 5 atau 2”,a);9: }10: }

Bentuk IF – ELSE IF – ELSE

Penggunaan bentuk if diatas adalah penggunaan untuk kasus yang tidak memiliki

alternative, untuk penggunaan if dengan alternative, sintaks penulisannya :

if (kondisi){

Statement1 }else{

Statement2}

Atau

if (kondisi){

Statement1 }else if (kondisi2){

Statement2}Else

z 17

Page 18: modul praktikum alpro 1-2

{Statement3

}

Contoh Program :

1: #include <stdio.h>2:3: void main()4: {5: int T;6:7: printf(“Masukkan Nilai Suhu = ”);8: scanf(“%d”,&T);9:10: if (T<=)11: {12: printf(“Kondisi Beku”);13: }14: else if (T>0 && T<= 100)15: {16: printf(“Kondisi Cair”);17: }18: else19: {20: printf(“Kondisi Uap”);21: }22: }

Bentuk Nested IF

Dalam penggunaan kondisi terkadang diperlukan suatu bentuk if yang bertingkat,

sintaks penulisannya adalah, sebagai berikut :

if (kondisi1){

Statement1 if (kondisi1-1){

Statement1-1}else{

Statement1-2}

}else{

Statement2}

z 18

Page 19: modul praktikum alpro 1-2

Contoh Program :

1: #include <stdio.h>2: void main()3: {4: int a = 10;5: int b = 5;6: int c = 2;7:8: if(a%b == 0)9: {10: printf(“%d adalah bilangan kelipatan %d\n”,a,b);11: if(a%c == 0)12: {13: printf(“%d adalah bilangan genap\n”,a);14: }15: else16: {17: printf(“%d adalah bilangan ganjil\n”,a);18: }19: } 20: }

Bentuk SWITCH

Selain bentuk if, pengkondisian dalam bahasa C dapat pula menggunakan bentuk

switch, sintaks penulisannya adalah sebagai berikut:

switch(nilai){

case(kondisi1):{

Statement1}break;case(kondisi2):{

Statement2}break;case(kondisi3):{

Statement3}break;default:{

StatementDefault}break;

}

z 19

Page 20: modul praktikum alpro 1-2

Contoh Program :

1: #include <stdio.h>2:3: void main()4: {5: int nilai; 6: printf(”Masukkan nilai : “);7: scanf(“%d”,&nilai);8:9: switch(nilai)10: {11: case(1):12: {13: printf(“satu\n”);14: }15: break;16: case(2):17: {19: printf(“dua\n”);20: }21: break;22: case(3):23; {24: printf(“tiga\n”);25: }26: break;27: default:28: {29: printf(“tidak ada nilai\n”);30: }31: break;32: }33: }

Daftar tools yang digunakan

1. Compiler C: Turbo C++ 4.5

Algoritma

Deklarasi :

a,b,c : real

D,x1,x2 : real

Algoritma :

read(a);

read (b);

read (c);

if(a>0)

D=b*b-4*a*c;

z 20

Page 21: modul praktikum alpro 1-2

if (D>0)

write("Akar Real");

x1=(-b+root(D))/(2*a);

x2=(-b-root(D))/(2*a);

write(x1);

write(x2);

elseif (D==0)

write("Akar Kembar");

x1=(-b)/(2*a);

write(x1);

else {D<0}

write("Akar Imaginer");

endif

else

write("nilai a harus > 0");

endif

Langkah-langkah Praktik

1. Bukalah software Turbo C++

2. Ketikkan kode program berdasarkan algoritma yang diberikan

3. Compile program dengan menekan Alt + F9 atau pilih menu Project Compile

4. Jalankan program dengan menekan Ctrl + F9 atau pilih menu Debug Run

5. Simpan file dengan nama Praktikum3.cpp

Hasil LKP (ditulis tangan di kertas A4)

Nama Program:

No Deskripsi Masukan Keluaran yang diharapkan Hasil yang didapat

z 21

Page 22: modul praktikum alpro 1-2

Kesimpulan

Evaluasi dan Pertanyaan

1. Menurut pendapat anda, dapatkah algoritma pada praktikum ini, diselesaikan

dengan menggunakan bentuk switch? jelaskan!

2. Buat sebuah program kalkulator sederhana dengan inputan berupa, bilangan

pertama, operator, dan bilangan kedua, kemudian, hasil dapat dioperasikan lagi

sebagai bilangan pertama.

z 22

Page 23: modul praktikum alpro 1-2

Lembar Kerja Praktikum 4: Pengulangan

Tujuan

Setelah mengerjakan LKP 4 ini, anda diharapkan dapat:

1. memahami konsep pengulangan dalam pemrograman

2. mengenal berbagai bentuk pengulangan pada bahasa C.

3. menggunakan pengulangan untuk menyelesaikan berbagai kasus sederhana.

Dasar Teori

Bentuk FOR

Perulangan dalam bahasa C dapat menggunakan bentuk FOR, sintaks penulisannya

adalah sebagai berikut :

for (nilai awal; kondisi perulangan; operasi){

Statement }

Contoh Program :

1: #include <stdio.h>2: void main()3: {4: for(int i = 0; i < 9; i++)5: {6: printf(“%d ”,i); 7: } 8: }

Bentuk WHILE

Perulangan dalam bahasa C dapat pula menggunakan bentuk WHILE, sintaks

penulisannya adalah sebagai berikut :

while(kondisi){

Statement operasi

}

Contoh Program :

1: #include <stdio.h>2:3: void main()4: {5: int i = 0;6: while(i<10)7: {8: printf(“%d\n”,i);;9: i++;

z 23

Page 24: modul praktikum alpro 1-2

10: }11: printf(“Nilai akhir = ”);12:13: while(i<10)14: {15: printf(“%d ”,i);16: i++;17: }18: }

Bentuk DO-WHILE

Perulangan dalam bahasa C dapat pula menggunakan bentuk DO-WHILE, sintaks

penulisannya adalah sebagai berikut :

do{

Statement Operasi

}while(kondisi);

Contoh Program :

1: #include <stdio.h>2:3: void main()4: {5: int i = 0;6: do7: {8: printf(“%d\n”,i);9: i++;10: }11: while(i<10);12: printf(“Nilai akhir = ”);13:14: do15: {16: printf(“%d ”,i);17: i++;18: }19: while(i<10);20: }

Daftar tools yang digunakan

1. Compiler C: Turbo C++ 4.5

Algoritma

Deklarasi :i,j : integer

Algoritma :for i 1 to 5 do

for j 5 to i do

z 24

Page 25: modul praktikum alpro 1-2

write(“*”)

endfor

write(“\n”)

endfor

Langkah-langkah Praktik

1. Bukalah software Turbo C++

2. Ketikkan kode program berdasarkan algoritma yang diberikan

3. Compile program dengan menekan Alt + F9 atau pilih menu Project Compile

4. Jalankan program dengan menekan Ctrl + F9 atau pilih menu Debug Run

5. Simpan file dengan nama Praktikum4.cpp

Hasil LKP (ditulis tangan di kertas A4)

Nama Program:

No Deskripsi Masukan Keluaran yang diharapkan Hasil yang didapat

Kesimpulan

Evaluasi dan Pertanyaan

1. Buat program untuk menampilkan bilangan prima dari 1 – 100

Petunjuk :bilangan prima adalah bilangan yang hanya habis dibagi bilangan itu

sendiri

2. Buat sebuah program yang dapat menampilkan keluaran sebagai berikut :

12 34 5 6.............................n

Dengan jumlah baris berupa suatu inputan oleh user

z 25

Page 26: modul praktikum alpro 1-2

Lembar Kerja Praktikum 5: Array

Tujuan

Setelah mengerjakan LKP 5 ini, anda diharapkan dapat:

1. memahami konsep array dalam pemrograman

2. menggunakan array untuk menyelesaikan berbagai kasus sederhana.

Dasar Teori

Array satu dimensi

Dalam bahasa pemrograman, array adalah variabel yang sejenis yang berderet

sedemikian rupa sehingga alamatnya saling bersambung/kontigu atau dengan kata lain

variabel berindeks.

Bentuk umum :

Ilustrasi array satu dimensi :

Array di atas mempunyai enam element.

Contoh Program :

1: #include <stdio.h>2:3: void main()4: {5: int a[5] = {10,25,30,45,50};6: int i;7:8: for(i=0;i<5;i++)9: {10: printf(“%d = %d\n”,i,a[i]);11: } 12: }

Array Multidimensi

Array multidimensi adalah array yang mempunyai lebih dari satu dimensi. Misal : A[3]

[5] artinya array tersebut mempunyai 3 baris 5 kolom.

Bentuk umum :

z 26

tipe_array nama_array [jumlah data]

tipe_array nama_array [jumlah data][jumlah data]

Page 27: modul praktikum alpro 1-2

Ilustrasi array multi dimensi :

Array di atas mempunyai delapan belas element.

Contoh Program :

1: #include <stdio.h>2:3: void main()4: {5: int a[3][3] = {{10,20,30},{40,50,60},{70,80,90}};6: int i,j;7:8: for(i=0;i<3;i++)9: {10: for(j=0;j<3;j++)11: {12: printf(“%d ”,a[i][j]);13: }14: printf(“\n”);15: } 16: }

Daftar tools yang digunakan

1. Compiler C: Turbo C++ 4.5

Algoritma

Deklarasi :

const Nmaks = 20

NilaiAngka : array [1..Nmaks] of real

NilaiHuruf : array [1..Nmaks] of char

i : integer

Algoritma :

for i1 to n do

if (NilaiAngka[i] > 85) then

NilaiHuruf[i] ’A’

elseif (NilaiAngka[i] > 70) and (NilaiAngka[i] < 85) then

NilaiHuruf[i]’B’

elseif (NilaiAngka[i] > 55) and (NilaiAngka[i] < 70) then

NilaiHuruf[i]’C’

elseif (NilaiAngka[i] > 45) and (NilaiAngka[i] < 55) then

z 27

Page 28: modul praktikum alpro 1-2

NilaiHuruf[i]’D’

else

NilaiHuruf[i]’E’

endif

endfor

Langkah-langkah Praktik

1. Bukalah software Turbo C++

2. Ketikkan kode program berdasarkan algoritma yang diberikan

3. Compile program dengan menekan Alt + F9 atau pilih menu Project

Compile

4. Jalankan program dengan menekan Ctrl + F9 atau pilih menu Debug Run

5. Simpan file dengan nama Praktikum5.cpp

Hasil LKP (ditulis tangan di kertas A4)

Nama Program:

No Deskripsi Masukan Keluaran yang diharapkan Hasil yang didapat

Kesimpulan

Evaluasi dan Pertanyaan

1. Buatlah suatu program untuk menghitung operasi penjumlahan pada suatu

matriks 3x3

2. Buatlah suatu program untuk menghitung operasi perkalian pada suatu matriks

3x3

z 28

Page 29: modul praktikum alpro 1-2

Lembar Kerja Praktikum 6: Pointer

Tujuan

Setelah mengerjakan LKP 6 ini, anda diharapkan dapat:

1. memahami konsep pointer dalam pemrograman.

2. menggunakan pointer untuk menyelesaikan berbagai kasus sederhana.

Dasar Teori

Definisi

Pointer dapat diartikan sebagai suatu nilai yang menunjuk alamat suatu lokasi memori.

Lokasi memori tersebut mungkin diwakili oleh sebuah variabel atau mungkin juga

lokasi bebas dalam memori. Sedangkan pointer sendiri yang berupa nilai ditampung

dalam sebuah variabel yang disebut variabel pointer. Jadi variabel pointer atau pointer

berisi suatu nilai yang menyatakan alamat suatu lokasi.

Contoh :

Step:1. d=&a *d = 2 ; d = A2. c=&b *c = 3 ; c = B3. b=*d b = 2 ; &b = B4. *d=*c *d = 2 ; d = A

Dari contoh di atas terlihat bahwa addres pada variabel pointer dapat berubah – ubah,

apabila addres suatu variabel pointer berubah maka valuenya akan berubah sesuai

addres yang ditunjuk oleh pointer tersebut. Apabila pada address yang ditunjuk oleh

pointer tersebut mengalami perubahan value, maka value pada pointer juga akan

berubah.

Contoh Program :

1: #include <stdio.h>2:3: void main()4: {5: int a,b;6: int *c;7: int *d;

z 29

2

A

3

B

*

*

*

*

a b*c *d

value

address

var

Page 30: modul praktikum alpro 1-2

8:9: a = 2;10: b = 3;11:12: d = &a;13: printf("a = %d\n",a);14: printf("alamat a = %d\n",&a);15: printf("d = %d\n",*d);16: printf("alamat d = %d\n",d);17:18: c = &b;19: printf("b = %d\n",b);20: printf("alamat b = %d\n",&b);21: printf("c = %d\n",*c);22: printf("alamat c = %d\n",c);23:24: b = *d;25: printf("b = %d\n",b);26: printf("alamat b = %d\n",&b);27: printf("d = %d\n",*d);28: printf("alamat d = %d\n",d);29:30: *d = *c;31: printf("d = %d\n",*d);32: printf("alamat d = %d\n",d);33: printf("c = %d\n",*c);34: printf("alamat c = %d\n",c);35: }

Daftar tools yang digunakan

1. Compiler C: Turbo C++ 4.5

Algoritma

Deklarasi :

a : array [1..5] of integer

*b : integer

i : integer

Algoritma :

b = a

for i = 0 to 5 do

read(b)

b++

endfor

b = a

for i = 0 to 5 do

write(b)

z 30

Page 31: modul praktikum alpro 1-2

b++

endfor

Langkah-langkah Praktik

1. Bukalah software Turbo C++

2. Ketikkan kode program berdasarkan algoritma yang diberikan

3. Compile program dengan menekan Alt + F9 atau pilih menu Project

Compile

4. Jalankan program dengan menekan Ctrl + F9 atau pilih menu Debug Run

5. Simpan file dengan nama Praktikum6.cpp

Hasil LKP (ditulis tangan di kertas A4)

Nama Program:

No Deskripsi Masukan Keluaran yang diharapkan Hasil yang didapat

Kesimpulan

Evaluasi dan Pertanyaan

1. Buatlah suatu program untuk mengakses array multidimensi dengan

menggunakan pointer

2. Buatlah suatu program untuk menghitung operasi perkalian pada suatu matriks

3x3 dengan menggunakan pointer

z 31

Page 32: modul praktikum alpro 1-2

Lembar Kerja Praktikum 7: Fungsi dan Prosedur

Tujuan

Setelah mengerjakan LKP 7 ini, anda diharapkan dapat:

1. memahami konsep fungsi dan prosedur dalam pemrograman

2. menggunakan fungsi dan prosedur untuk menyelesaikan berbagai kasus

sederhana.

Dasar Teori

Definisi dan Bentuk Umum Fungsi

Fungsi adalah sejumlah instruksi yang dikelompokkan menjadi satu, berdiri sendiri,

yang berfungsi untuk menyelesaikan suatu pekerjaan. Bahasa C minimal mempunyai

satu buah fungsi yang disebut Fungsi main() yaitu fungsi induk/utama. Sintaks

penulisannya adalah sebagai berikut :

TipeData NamaFungsi(){

Statementreturn variabel

}

Ingat bahwa pemrograman bersifat terstruktur, karena itu untuk fungsi yang dibuat

setelah main, harus dideklarasikan lebih dahulu di bagian atas.

Definisi dan Bentuk Umum Prosedur

Prosedur adalah suatu fungsi yang tidak mengembalikan nilai, karena itu tipe data untuk

prosedur adalah void atau kosong. Sintaks penulisannya adalah sebagai berikut :

void NamaProsedur(){

Statement}

Ingat bahwa pemrograman bersifat terstruktur, karena itu untuk prosedur yang dibuat

setelah main, harus dideklarasikan lebih dahulu di bagian atas.

Penggunaan Parameter

Ada 2 jenis Parameter

Formal Parameter, merupakan parameter yang muncul di definisi fungsi atau

prosedur.

Actual Parameter, merupakan parameter yang muncul di program saat pemanggilan

fungsi atau prosedur.

z 32

Page 33: modul praktikum alpro 1-2

Berikut adalah sintaks untuk penggunaan parameter

TipeData NamaFungsi(TipeData Variabel1, TipeData Variabel2){

Statementreturn variabel

}

TipeData NamaProsedur(TipeData Variabel1, TipeData Variabel2){

Statementreturn variabel

}

Contoh Program :

Fungsi :

1: #include <stdio.h>2:3: int tambah(int a, int b);4:5: void main()6: {7: int a,b,hasil;8:9: printf(“Nilai a = “);10: scanf(“%d”,&a);11:12: printf(“Nilai b = “);13: scanf(“%d”,&b);14:15: hasil = tambah(a,b);16:17:19: printf(“Hasil = %d\n”,hasil); 18: }20:21: int tambah(int a, int b)22: {23: int Hasil;24: Hasil = a + b;25: return Hasil;26: }

Prosedur :

1: #include <stdio.h>2:3: void tambah();4:5: void main()6: {7: tambah(); 8: }9:10: void tambah()11: {12: int a,b,c;

z 33

Page 34: modul praktikum alpro 1-2

13: printf(“Nilai a = “);14: scanf(“%d”,&a);15:16: printf(“Nilai b = “);17: scanf(“%d”,&b);18:19: c = a + b;20:21: printf(“Hasil = %d\n”,c);22: }

Daftar tools yang digunakan

1. Compiler C: Turbo C++ 4.5

Algoritma

Deklarasi :

m,n, kpk : integer

function KPK(input m,n : integer) integer {menghitung KPK}

procedure cetak (input kpk : integer) {cetak KPK}

Algoritma :

read(m)

read(n)

kpk KPK(m,n)

cetak(kpk)

Langkah-langkah Praktik

1. Bukalah software Turbo C++

2. Ketikkan kode program berdasarkan algoritma yang diberikan

3. Compile program dengan menekan Alt + F9 atau pilih menu Project

Compile

4. Jalankan program dengan menekan Ctrl + F9 atau pilih menu Debug Run

5. Simpan file dengan nama Praktikum7.cpp

z 34

Page 35: modul praktikum alpro 1-2

Hasil LKP (ditulis tangan di kertas A4)

Nama Program:

No Deskripsi Masukan Keluaran yang diharapkan Hasil yang didapat

Kesimpulan

Evaluasi dan Pertanyaan

1. Dengan menggunakan fungsi dan prosedur buatlah sebuah program untuk

menghitung Faktor Persekutuan Terbesar dari dua bilangan yang diinputkan

2. Dengan menggunakan fungsi dan prosedur buatlah sebuah program untuk

menghitung nilai sinus, cosinus, dan tangen dari sebuah sudut yang diinputkan

Petunjuk : Gunakan header “math.h”, serta fungsi – fungsi matematika pada

Compiler Turbo C++ 4.5

z 35

Page 36: modul praktikum alpro 1-2

Lembar Kerja Praktikum 8: File Eksternal

Tujuan

Setelah mengerjakan LKP 8 ini, anda diharapkan dapat:

1. memahami konsep file dalam pemrograman

2. menggunakan file untuk menyelesaikan berbagai kasus sederhana.

Dasar Teori

Sejauh ini praktikum yang dilakukan pada LKP ini menggunakan input dari keyboard

dan memberikan output pada layar monitor. Pada kenyataannya seringkali dilakukan

pembacaan input dari arsip dan penulisan output ke arsip.

Berikut adalah keyword yang penting dalam pemrosesan arsip

FILE* Tipe data pengaksesan arsipfopen Fungsi untuk membuka arsipfclose Fungsi untuk menutup arsipfprintf Fungsi untuk menulis ke dalam arsipfscanf Fungsi untuk membaca dari dalam arsip

Contoh Program :

Menulis ke dalam arsip :

1: #include <stdio.h>2:3: void main()4: {5: FILE* file;6: file = fopen("arsip.txt","w");8: fprintf(file,"Selamat_Datang_di_Fakultas_Ilmu_Komputer");9: }

Membaca dari dalam arsip :

1: #include <stdio.h>2:3: void main()4: {5: FILE* file;6: char teks1[100];7: file = fopen("arsip.txt","r");8:9: fscanf(file,"%s",teks1);10:11: printf("%s",teks1);12: }

Catatan :

w dan r adalah kunci untuk pengaksesan arsip, w berarti write, digunakan agar arsip

yang diakses hanya dapat ditulis saja, sedangkan r berarti read, digunakan agar arsip

yang diakses hanya dapat dibaca saja.

z 36

Page 37: modul praktikum alpro 1-2

Daftar tools yang digunakan

1. Compiler C: Turbo C++ 4.5

Algoritma

Deklarasi :

file : FILE

nama, nim, jurusan : string

Algoritma :

read(nama)

read(nim)

read(jurusan)

file nama,nim,jurusan

nama, nim, jurusan file

write(nama)

write(nim)

write(jurusan)

Langkah-langkah Praktik

1. Bukalah software Turbo C++

2. Ketikkan kode program berdasarkan algoritma yang diberikan

3. Compile program dengan menekan Alt + F9 atau pilih menu Project

Compile

4. Jalankan program dengan menekan Ctrl + F9 atau pilih menu Debug Run

5. Simpan file dengan nama Praktikum8.cpp

Hasil LKP (ditulis tangan di kertas A4)

Nama Program:

No Deskripsi Masukan Keluaran yang diharapkan Hasil yang didapat

z 37

Page 38: modul praktikum alpro 1-2

Kesimpulan

Evaluasi dan Pertanyaan

1. Cari kunci lain untuk pengaksesan arsip, jelaskan dan beri contoh!

2. Buatlah sebuah kalkulator sederhana yang hasil akhirnya disimpan ke dalam

sebuah arsip bernama “hasil.txt”

z 38

Page 39: modul praktikum alpro 1-2

Referensi

Kernighan, Brian W and Dennis M. Ritchie. (1988). The C Programming Languange. New Delhi : Prentice Hall of India

Kristanto, Andri. (2003). Algoritma dan Pemrograman dengan C++. Yogyakarta : Graha Ilmu

Liem, Inggriani. (2007). Diktat Algoritma dan Pemrograman Prosedural. Teknik Informatika ITB

Munir, Rinaldi. (2005). Algoritma dan Pemrograman dalam Bahasa Pascal dan C. Informatika Bandung.

Sjukani, Moh. (2007). Algoritma (Algoritma dan Struktur Data 1) dengan C, C++, dan Java. Jakarta : Mitra Wacana Media

z 39