laboratorium komputasi dan jaringan jurusan teknik...
TRANSCRIPT
BUKU PETUNJUK PRAKTIKUM
DASAR ALGORITMA DAN PEMROGRAMAN
LABORATORIUM KOMPUTASI DAN JARINGAN
JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA
MALANG
PrAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
PERATURAN PRAKTIKUM
LABORATORIUM KOMPUTASI DAN JARINGAN
1. Semua praktikan wajib mengikuti semua kegiatan praktikum dan asistensi
2. Praktikan wajib datang tepat waktu.
3. Toleransi keterlambatan untuk praktikum dan asistensi 10 menit.
4. Praktikum dan asistensi dimulai sesuai dengan waktu yang telah ditetapkan, tidak harus
menunggu seluruh praktikan lengkap.
5. Pada saat praktikum, praktikan harus berpakaian rapi, mengenakan jas praktikum, dan
membawa buku petunjuk praktikum .
6. Peserta praktikum wajib mengisi lembar Kartu Peserta Praktikum.
7. Mengerjakan tugas pendahuluan sesuai ketentuan.
8. Selama praktikum atau di dalam ruang praktikum, praktikan dilarang makan minum, dan
merokok serta harus menjaga ketertiban.
9. Pada setiap bab dilakukan dua kali praktikum.
10. Waktu asistensi maks. 2x24 jam setelah praktikum hari kedua.
11. Hari sabtu, minggu dan hari libur tidak dihitung sebagai waktu praktikum dan asistensi,
kecuali ada kesepakatan antara pihak asisten dan praktikan.
12. Laporan praktikum diisi dengan tinta berwarna biru.
13. Prosedur pemindahan jadwal praktikum diatur di peraturan tambahan.
14. Sanksi terhadap pelanggaran peraturan diatur di peraturan tambahan.
15. Praktikan dapat menggunakan peralatan di laboratorium di luar waktu praktikum selama
mendapat ijin dari asisten yang ada dilaboratorium.
16. Setiap pelanggaran akan dikenakan poin sesuai ketentuan yang berlaku. Praktikan akan
digugurkan dari praktikum apabila telah mendapat 5 (lima) poin pelanggaran.
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
LABORATORIUM KOMPUTASI DAN JARINGAN
JURUSAN TEKNIK ELEKTRO - FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA
KARTU PESERTA PRAKTIKUM
DASAR ALGORITMA DAN PEMROGRAMAN
Nama : _______________________________________
NIM : _______________________________________
Periode : _______________________________________
No Judul Percobaan
Tanda Tangan Asisten
Keterangan Praktikum
Asistensi
I II
1 Pengenalan Bahasa C++
2 Operator dan Seleksi
Kondisi
3 Perulangan, Array dan
Struct
4 Fungsi
Malang, ……-……-……….
Ka. Lab. Komputasi dan Jaringan Koordinator Asisten,
NIP. 19600518 198802 1 001 NIM.
Wahyu Adi Priyono, Ir., M.T.
Photo
3 x 4
PRAKTIKUM
DASAR ALGORITMA DAN PEMROGRAMAN
PERCOBAAN I
PENGENALAN BAHASA C
TANGGAL PERCOBAAN :
ASISTEN PERCOBAAN :
NIM :
LABORATORIUM KOMPUTASI DAN JARINGAN
JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA
MALANG
1
PENGENALAN BAHASA C
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
PERCOBAAN I
PENGENALAN BAHASA C
1.2.4 LISTING PROGRAM PERCOBAAN
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <stdlib.h>
#define COS_PI 0.85
const int HP=746;
char Jumlah_Kutub;
unsigned char Frekuensi_1;
int V_line;
unsigned int n_1;
int main()
{
system("cls");
printf("Jumlah kutub = %c kutub \n",Jumlah_Kutub);
printf("Frekuensi = %u Hz \n",Frekuensi_1);
printf("Tegangan Line = %d Volt \n",V_line);
printf("Kecepatan putaran rotor = %u rpm \n",n_1);
printf("Nilai COS_PI = %f lag, nilai HP = %d \n",COS_PI,HP);
system(“PAUSE”);
return 0;
}
Program 1.1. Program pengenalan bahasa pemrograman C.
1.2.5 PROSEDUR PERCOBAAN (titik diisi sesuai dengan petunjuk asisten)
1. Buatlah project baru dengan nama DAP_1.1
2. Ketiklah Program 1.1
3. Pelajari dan jalankan program
4. Jika terjadi kesalahan program, perbaiki sehingga program dapat berjalan
5. Hapus baris……………dan jalankan program
6. Kembalikan baris…………
7. Pindahkan/hapus baris ke-4 sampai ke-10 ke…………… dan jalankan program
8. Kembalikan baris ke-4 sampai ke-10 ke tempat semula
9. Hapus/ganti kata “int” pada baris………………menjadi………
1.2.6 DATA HASIL PERCOBAAN (titik diisi sesuai dengan petunjuk asisten)
1. Apa yang terjadi pada saat baris .................. dihapus dan program dijalankan ?
2
PENGENALAN BAHASA C
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
2. Apa yang terjadi pada saat baris ke-4 sampai baris ke-10 .........................................................?
3. Apa yang terjadi pada saat kata “int” pada baris ke- .................................................................?
1.2.7 ANALISA DATA HASIL PERCOBAAN
1. Berdasarkan jawaban anda pada Data Hasil Percobaan No.1, jelaskan mengapa hal tersebut
terjadi ?
2. Berdasarkan jawaban anda pada Data Hasil Percobaan No.2, jelaskan mengapa hal tersebut
terjadi ?
3. Berdasarkan jawaban anda pada Data Hasil Percobaan No.3, jelaskan mengapa hal tersebut
terjadi
1.2.8 KESIMPULAN
3
PENGENALAN BAHASA C
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
1.2.9 TUGAS
(Diberikan oleh Asisten)
4
PENGENALAN BAHASA C
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
1.3.1 LISTING PROGRAM INPUT OUTPUT
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
#include <stdlib.h>
int input;
int main()
{
printf(“Nilai awal dari variabel input %d \n”, input);
printf(“Masukkan nilai variabel input: “);
scanf(“%d”,&input);
printf(“Nilai input dalam persen = %d %% \n”, input);
system(“PAUSE”);
return 0; }
Program 1.2. Program pengenalan input/output dalam bahasa C
1.3.2 PROSEDUR PERCOBAAN
1. Buatlah project baru dengan nama DAP_1.2.
2. Ketiklah Program 1.2.
3. Pelajari dan jalankan program
4. Jika terjadi kesalahan program, perbaikilah sehingga program dapat berjalan
5. Ubahlah format pada baris 7 dan 10 dengan tipe karakter yang lain (tipe data
ditentukan oleh asisten)
1.3.3 DATA HASIL PERCOBAAN
1.3.4 ANALISA DATA HASIL PERCOBAAN
1. Jelaskan pengaruh yang timbul pada percobaan akibat perubahan string format terhadap
header stdio.h ?
5
PENGENALAN BAHASA C
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
1.3.5 KESIMPULAN
1.3.8 TUGAS
(Diberikan oleh asisten)
6
PENGENALAN BAHASA C
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
1.4.1 LISTING PROGRAM PERCOBAAN
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <stdlib.h>
#define COS_PI 0.85
const int HP=746;
char Jumlah_Kutub;
unsigned char Frekuensi_1;
int V_line;
unsigned int n_1;
int main()
{
system("cls");
printf("Jumlah kutub = %c kutub \n",Jumlah_Kutub);
printf("Frekuensi = %u Hz \n",Frekuensi_1);
printf("Tegangan Line = %d Volt \n",V_line);
printf("Kecepatan putaran rotor = %u rpm \n",n_1);
printf("Nilai COS_PI = %f lag, nilai HP = %d \n",COS_PI,HP);
system(“PAUSE”);
return 0;
}
Program 1.3. Program percobaan pernyataan, variabel, konstanta, dan tipe data.
1.4.2 PROSEDUR PERCOBAAN (titik diisi sesuai dengan petunjuk asisten)
1. Buatlah project dengan nama DAP_1.3.
2. Ketiklah Program 1.3.
3. Pelajari dan jalankan program.
4. Jika terjadi kesalahan program, perbaikilah sehingga program dapat berjalan.
5. Berilah nilai awal untuk variabel-variabel pada tabel 1.2.
6. Catat nilai output pada saat program berjalan pada tabel 1.2.
7. Ulangi langkah 4 dan 5 untuk nilai awal yang lainnya.
8. Sisipkan pernyataan “...............................” di antara baris ke-..................... dan jalankan
program.
9. Ubahlah pernyataan “..............................” dari langkah ke-8 menjadi “......................”, dan
jalankan program. (ditentukan oleh asisten)
10. Sisipkan perintah berikut di antara baris ke-4 dan ke-5 :
“ ................................................”
“ ................................................”
kemudian ubahlah semua .......................................................................................................
dan jalankan program.
11. Sisipkan pernyataan berikut ini di antara baris ke-5 dan ke-6 :
“.....................................”
7
PENGENALAN BAHASA C
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
kemudian ubahlah baris ke-8 menjadi :
“.....................................”
1.4.3 DATA HASIL PERCOBAAN
Tabel 1.2. Data hasil percobaan program DAP1_2.cpp.
Jumlah_Kutub Frekuensi_1 V_line n_1
Nilai
Awal
Nilai
Output
Nilai
Awal
Nilai
Output
Nilai
Awal
Nilai
Output
Nilai
Awal
Nilai
Output
-1000 -1000 -1000 -1000
-1 -1 -1 -1
0 0 0 0
1 1 1 1
1000 1000 1000 1000
1. Apa yang terjadi apabila langkah ke-7 dilakukan ?
2. Apa yang terjadi apabila langkah ke-8 dilakukan ?
3. Apa yang terjadi apabila langkah ke-9 dilakukan ?
4. Apa yang terjadi apabila langkah ke-10 dilakukan ?
1.4.4 ANALISA DATA
1. Program 1.3 mengunakan pernyataan.
2. Program 1.3 menggunakan variabel, yaitu
3. Tipe data standar yang digunakan pada Program 1.3 adalah
4. Berdasarkan data hasil percobaan pada tabel 1.2, maka :
a. variabel Jumlah_Kutub memiliki jangkauan sampai , dan
ukuran Byte,
b. variabel Frekuensi_1 memiliki jangkauan sampai , dan
ukuran Byte,
8
PENGENALAN BAHASA C
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
c. variabel V_Line memiliki jangkauan sampai , dan ukuran
Byte,
d. variabel n_1 memiliki jangkauan sampai dan ukuran
Byte.
5. Mengapa pada saat langkah ke-8 dijalankan keluaran program seperti pada data hasil
percobaan?
6. Mengapa pada saat langkah ke-9 dijalankan keluaran program seperti pada data hasil
percobaan ?
7. Mengapa pada saat langkah ke-10 dijalankan keluaran program seperti pada data hasil
percobaan ?
8. Mengapa pada saat langkah ke-11 dijalankan keluaran program seperti pada data hasil
percobaan ?
9
PENGENALAN BAHASA C
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
1.4.5 KESIMPULAN
1.4.6 TUGAS
(Diberikan oleh asisten)
PRAKTIKUM
DASAR ALGORITMA DAN PEMROGRAMAN
PERCOBAAN II
OPERATOR DAN SELEKSI KONDISI
TANGGAL PERCOBAAN :
ASISTEN PERCOBAAN :
NIM :
LABORATORIUM KOMPUTASI DAN JARINGAN
JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA
MALANG
10
OPERATOR DAN PENYELEKSI KONDISI
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
PERCOBAAN II
OPERATOR DAN PENYELEKSI KONDISI
2.1.2 LISTING PROGRAM PERCOBAAN
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <stdio.h>
#include <stdlib.h>
int p=10,q=3,r=20,s=3,t=30;
int main()
{
system("cls");
printf("p = %d,q = %d,r = %d \n\n",p,q,r);
s = r+p*q-p;
printf("s = r+p*q-p -> %d [operator aritmatika] \n",s);
s=p%q;
printf("s = p%q -> %d [operator aritmatika] \n",s);
s = r++ +10;
printf("s = r++ + 10 -> %d [operator penaikan] \n",s);
s = t-- +10;
printf("s = t-- + 10 -> %d [operator penurunan]\n",s);
s = p ^ q;
printf("s = p^q -> %d [operator bitwise] \n",s);
s = p & q;
printf("s = p&q -> %d [operator bitwise] \n",s);
s = p >> 1;
printf("s = p>>1 -> %d [operator bitwise] \n",s);
s += 2;
printf("s += 2 -> %d [operator kombinasional] \n",s);
s = 12>3;
printf("s = 12>3 -> %d [operator relasi] \n",s);
s = 12!=3;
printf("s = 12!=3 -> %d [operator relasi] \n",s);
s = 20;
printf("(s>10)&&(s<30)-> %d [operator logika] \n", (s>10)&&(s<30));
printf("(s>10)||(s<30)-> %d [operator logika] \n", (s>10)||(s<30));
11
OPERATOR DAN PENYELEKSI KONDISI
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
44
45
46
47
48
49
50
51
printf("!(s<30) -> %d [operator logika] \n", !(s<30));
s=p<q?p:q;
printf("s = p<q?p:q -> %d [operator kondisi] \n",s);
system(“PAUSE”);
return 0;
}
Program 2.1. Program percobaan operator dalam bahasa pemrograman C.
2.1.3 PROSEDUR PERCOBAAN
1 Buatlah project dengan nama DAP_2.1.
2 Ketiklah Program 2.1
3 Pelajari dan jalankan program.
4 Jika terjadi kesalahan program, perbaikilah sehingga program dapat berjalan.
5 Isi kolom keluaran program pada Tabel 2.1 sesuai dengan hasil keluaran program.
6 Lakukan perubahan pada program 2.1 sesuai Tabel 2.1 kolom perubahan.
7 Jalankan program dan catat hasil keluaran program pada Tabel 2.1.
2.1.4 DATA HASIL PERCOBAAN
Tabel 2.1 Data hasil percobaan
No Operator Ekspresi
Awal
Keluaran
program Perubahan
Keluaran
program
1 Aritmatika s = r+p*q-p s=(r+p)*q-p
s=p%q s=p/q
2 Penaikan &
penurunan
s = r++ + 10 s = ++r + 10
s = t-- +10 s = --t + 10
3 Bitwise
s=p&q s = p|q
s = p^q s = ~q
s=p>>1 s = p<<2
4 Kombinasional s+= 2 s*= 2
s&= 2
5 Relasi s = 12 > 3 s = 12 < 3
s = 12!=3 s = 12==3
6 Logika s=20
s=9
7 Kondisi p=10,q=3 p=3,q=10
2.1.5 ANALISA DATA HASIL PERCOBAAN
1. Berdasarkan data hasil percobaan operator aritmatika, jelaskan urutan proses pengerjaan
ekspresi s = r+p*q-p dan s = (r+p)*q-p !
12
OPERATOR DAN PENYELEKSI KONDISI
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
2. Mengapa nilai variabel “s” berbeda pada saat ekspresi .......................diubah menjadi
.....................? Jelaskan !
3. Jelaskan urutan proses yang terjadi pada ekspresi ……………..dan ……………… !
4. Berdasarkan hasil percobaan, apa perbedaan antara operator ……… dengan operator………?
2.1.6 KESIMPULAN
2.1.7 TUGAS
(Diberikan oleh asisten)
13
OPERATOR DAN PENYELEKSI KONDISI
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
2.2.6 LISTING PROGRAM PERCOBAAN
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <stdio.h>
#include <stdlib.h>
int nilai;
int main()
{
printf("Masukkan nilai kode merk laptop (0-5) : ");
scanf("%d",&nilai);
printf("Hasil seleksi kondisi menggunakan if-else : ");
if (nilai==0) printf("asus \n");
else if (nilai==1) printf("acer \n");
else if (nilai==2) printf("dell \n");
else if (nilai==3) printf("hp \n");
else if (nilai==4) printf("samsung \n");
else if (nilai==5) printf("apple \n");
else ("Nilai tersebut tidak diketahui kode merk laptop nya \n");
printf("Hasil seleksi kondisi menggunakan switch : ");
switch(nilai)
{
case 0: printf("asus \n"); break;
case 1: printf("acer \n"); break;
case 2: printf("dell \n"); break;
case 3: printf("hp \n"); break;
case 4: printf("samsung \n"); break;
case 5: printf("apple \n"); break;
default : printf("Maaf nilai tersebut tidak diketahui kode
merk laptop nya \n"); break;
}
system("PAUSE");
return 0;
}
Program 2.2 Program percobaan peyeleksi kondisi if..else dan switch.
2.2.7 PROSEDUR PERCOBAAN
1. Buatlah project dengan nama DAP_2.2
2. Ketiklah Program 2.2
3. Pelajari dan jalankan kedua program
4. Jika terjadi kesalahan program, perbaikilah sehingga kedua program dapat berjalan
5. Jalankan program dengan memberi tanda "/*" pada awal baris ke 18 dan tanda "*/" pada
baris ke 31.
6. Cata hasil keluaran program pada tabel 2.2.
14
OPERATOR DAN PENYELEKSI KONDISI
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
7. Jalankan program dengan memberi tanda "/*" pada awal baris ke 8, mengganti tanda "/*"
dengan tanda "*/" pada baris ke 18 dan hapus tanda "*/" pada baris ke 31.
8. Catat hasil keluaran program pada tabel 2.2.
9. Ubahlah tipe data variabel nilai pada kedua program sesuai dengan tipe data dalam tabel
2.3 dengan nilai masukan sesuai petunjuk asisten dan langkah ke 5 - 8.
10. Jalankan program dan catat hasilnya di dalam tabel 2.3
2.2.8 DATA HASIL PERCOBAAN
Tabel 2.2. Data hasil percobaan.
if-else switch
Masukan Keluaran Masukan Keluaran
0 0
2 2
3 3
5 5
17 17
Tabel 2.3. Perubahan tipe data pada penyeleksi kondisi.
if-else switch
Tipe Data Keluaran Tipe Data Keluaran
char char
float float
double double
2.2.9 ANALISA DATA HASIL PERCOBAAN
1. Jika salah satu else pada program percobaan dihapus, apa pengaruhnya pada program ?
Mengapa demikian ?
2. Tipe data apa saja yang dapat digunakan penyeleksian kondisi dengan menggunakan if atau
if-else ?
3. Jika salah satu pernyataan break pada program percobaan dihilangkan, apa pengaruhnya
pada program? Mengapa demikian ?
15
OPERATOR DAN PENYELEKSI KONDISI
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
4. Tipe data apa saja yang dapat digunakan pada penyeleksian kondisi dengan menggunakan
switch ?
5. Berdasarkan hasil percobaan, jelaskan perbedaan antara seleksi kondisi menggunakan
pernyataan if-else dan switch !
2.2.10 KESIMPULAN
2.2.11 TUGAS
(Diberikan oleh Asisten)
PRAKTIKUM
DASAR ALGORITMA DAN PEMROGRAMAN
PERCOBAAN III
PERULANGAN, ARRAY DAN STRUCT
TANGGAL PERCOBAAN :
ASISTEN PERCOBAAN :
NIM :
LABORATORIUM KOMPUTASI DAN JARINGAN
JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA
MALANG
16
PERULANGAN, ARRAY, DAN STRUCT
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
PERCOBAAN III
PERULANGAN, ARRAY, DAN STRUCT
3.1.1 LISTING PROGRAM PERCOBAAN
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <stdlib.h>
#include <stdio.h>
const int a;
int y;
int z=10;
Fungsi_Masukan()
{
printf("Kelipatan dari angka: ");
scanf("%d",&a);
}
int main()
{
Fungsi_Masukan();
y=a;
printf("Hasil menggunakan while:\n");
while(y<=z)
{
printf("%d\n",y);
y+=a;
}
system("pause");
y=a;
printf("Hasil menggunakan do-while:\n");
do
{
printf("%d\n",y);
y+=a;
}
while(y<=z);
system("pause");
printf("Hasil menggunakan for:\n");
for(y=a;y<=z;y+=a)
{
printf("%d\n",y);
}
}
Program 3.1. Program percobaan perulangan.
17
PERULANGAN, ARRAY, DAN STRUCT
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
3.1.4 PROSEDUR PERCOBAAN
1. Buatlah project dengan nama DAP_3.1.
2. Ketiklah Program 3.1.
3. Pelajari dan jalankan program.
4. Jika terjadi kesalahan program, perbaikilah sehingga program dapat berjalan.
5. Jalankan program dan catat hasil keluaran program dalam Tabel 3.1.
6. Ubahlah program sesuai dengan instruksi dari Asisten Laboratorium dan tuliskan pada Tabel
3.1.
7. Jalankan program dan catat hasil percobaaan dalam Tabel 3.1.
8. Lakukan langkah 6 dan 7 untuk setiap perubahan pada program (Sebelum melakukan
perubahan berikutnya program harus dikembalikan ke bentuk semula).
9. Jalankan program dan catat hasil percobaaan dalam Tabel 3.1.
3.1.5 DATA HASIL PERCOBAAN
Tabel 3.1 Data hasil percobaan
Perubahan Keluaran Program
while do-while for
Catatan : Untuk perubahan yang terakhir, percobaan dilakukan secara bergantian untuk tiap-
tiap bentuk perulangan. Sebelum melakukan langkah berikutnya program harus dikembalikan ke
bentuk semula.
3.1.6 ANALISA DATA HASIL PERCOBAAN
1. Pada program perulangan ........ sebelum dilakukan perubahan, berapa kali
bagian pernyataan dieksekusi ? Mengapa demikian ?
2. Pada saat nilai variable/konstanta diubah sesuai instruksi asisten laboratorium, keluaran
program menjadi seperti dalam Tabel 3.1. Mengapa demikian ?
18
PERULANGAN, ARRAY, DAN STRUCT
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
3. Pada saat ekspresi yang menjadi syarat perulangan diubah sesuai dengan instruksi asisten
laboratorium, keluaran program menjadi seperti dalam Tabel 3.1. Mengapa demikian ?
4. Pada saat variabel kontrol diubah sesuai dengan instruksi asisten laboratorium, keluaran
program menjadi seperti dalam Tabel 3.1. Mengapa demikian ?
3.1.7 KESIMPULAN
19
PERULANGAN, ARRAY, DAN STRUCT
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
3.1.8 TUGAS
(Diberikan oleh Asisten)
20
PERULANGAN, ARRAY, DAN STRUCT
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
3.2.1 LISTING PROGRAM PERCOBAAN
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<stdio.h>
#include<stdlib.h>
float number[5]={0.7,5.0,17,2.33,7.123};
int indeks;
int main()
{
while(indeks==indeks)
{
printf("Ketik indeks array yang ingin diakses : ");
scanf("%d", &indeks);
printf("Nilai array indeks ke-[%d] = %.3f \n", indeks, number[indeks]);
}
system("PAUSE");
return 0;
}
Program 3.2. Program percobaan array
3.2.2 PROSEDUR PERCOBAAN
1. Buatlah project dengan nama DAP_3.2.
2. Ketiklah Program 3.2.
3. Pelajari dan jalankan program.
4. Jika terjadi kesalahan program, perbaikilah sehingga program dapat berjalan.
5. Ketik data masukkan dan catat keluaran pada Tabel 3.2.
3.2.3 DATA HASIL PERCOBAAN
Tabel 3.2 Data hasil percobaan
Elemen Indeks Keluaran
1
2
3
4
5
6
3.2.4 ANALISA DATA HASIL PERCOBAAN
1 Nilai indeks data minimum dan maksimum sesuai dengan yang dideklarasikan pada
program DAP_3.2 adalah dan
21
PERULANGAN, ARRAY, DAN STRUCT
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
2 Mengapa data elemen ke-1 mengacu ke data indeks ke-0 ?
3 Jika kita mengakses array pada indeks di luar batas pendeklarasiannya, bagaimana keluaran
program ? Mengapa demikian ?
3.2.7 LISTING PROGRAM PERCOBAAN
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<stdio.h>
#include<stdlib.h>
char namaDepan[10];
int main()
{
printf("Masukkan nilai string : "); //Isi dengan nama depan anda
scanf("%c", &namaDepan);
printf("Output dengan placeholder %%c indeks ke-0 = %c \n", namaDepan[0]);
printf("Output dengan placeholder %%c indeks ke-1 = %c \n", namaDepan[1]);
printf("Output dengan placeholder %%s = %s \n", namaDepan);
system("PAUSE");
return 0;
}
Program 3.3. Program percobaan string
3.2.8 PROSEDUR PERCOBAAN
1. Buatlah project dengan nama DAP_3.3.
2. Ketiklah Program 3.3.
3. Pelajari dan jalankan program
4. Jika terjadi kesalahan program, perbaikilah sehingga program dapat berjalan.
5. Ketik data masukkan dan catat keluaran pada Tabel 3.3
6. Ubah placeholder pada baris ke-9 menjadi bertipe karakter string, dan catat keluaran
program.
22
PERULANGAN, ARRAY, DAN STRUCT
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
Tabel 3.3 Data hasil percobaan
Tipe
Karakter
Input
Keluaran
Indeks 0 Indeks 1 String
%c
%s
3.2.9 ANALISA DATA HASIL PERCOBAAN
1. Mengapa keluaran program saat menggunakan tipe karakter %c seperti pada hasil
percobaan?
2. Mengapa keluaran program saat menggunakan tipe karakter %s seperti pada hasil
percobaan?
3.2.10 KESIMPULAN
23
PERULANGAN, ARRAY, DAN STRUCT
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
3.2.11 TUGAS
(Diberikan oleh Asisten)
24
PERULANGAN, ARRAY, DAN STRUCT
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
3.3.2 LISTING PROGRAM PERCOBAAN
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <stdlib.h>
struct birthday
{
int tanggal;
char bulan[10];
}nama_anda; //sesuaikan dengan nama panggilan anda
int main()
{
printf("Berapa tanggal lahir anda ? ");
scanf("%d",&nama_anda.tanggal); // isi sesuai tanggal lahir anda
printf("Berapa bulan lahir anda ? ");
scanf("%s",&nama_anda.bulan); // isi sesuai bulan lahir anda
system("cls");
printf("Ulang tahun anda ");
printf("%d %s \n\n", nama_anda.tanggal, nama_anda.bulan);
system("PAUSE");
return 0;
}
Program 3.4. Program percobaan struct
3.3.4 PROSEDUR PERCOBAAN
1. Ketiklah file DAP_3.3.3, sesuaikan listing program dengan data diri anda.
2. Pelajari dan jalankan program.
3. Jika terjadi kesalahan program, perbaikilah sehingga program dapat berjalan.
4. Jawab semua pertanyaan yang muncul ketika program dijalankan (sesuaikan dengan data
diri anda).
5. Hapuslah nama anda pada baris ke-8, kemudian jalankan program.
6. Tanpa mengembalikan program ke kondisi semula, tambahkan sintaks “struct
nama_struct nama_anda;” pada baris ke-11 (setelah kurung kurawal), kemudian jalankan
program.
7. Kembalikan program ke kondisi awal.
8. Hapuslah pernyataan pada baris ke-6, kemudian jalankan program.
3.3.5 DATA HASIL PERCOBAAN
1. Bagaimana keluaran program setelah prosedur percobaan ke-4 dilakukan ?
25
PERULANGAN, ARRAY, DAN STRUCT
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
2. Apa yang terjadi pada saat prosedur percobaan ke-5 dilakukan?
3. Apa yang terjadi pada saat prosedur percobaan ke-6 dilakukan?
4. Apa yang terjadi pada saat prosedur percobaan ke-8 dilakukan?
3.3.6 ANALISA DATA HASIL PERCOBAAN
1. Mengapa pada saat prosedur percobaan ke-4 dilakukan, keluaran program seperti pada
data hasil percobaan?
2. Mengapa pada saat prosedur percobaan ke-5 dilakukan, yang terjadi seperti pada data
hasil percobaan?
3. Mengapa pada saat prosedur percobaan ke-6 dilakukan, yang terjadi seperti pada data
hasil percobaan?
4. Mengapa pada saat prosedur percobaan ke-8 dilakukan, yang terjadi seperti pada data
hasil percobaan?
26
PERULANGAN, ARRAY, DAN STRUCT
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
3.3.7 KESIMPULAN
3.3.8 TUGAS
(Diberikan oleh Asisten)
PRAKTIKUM
DASAR ALGORITMA DAN PEMROGRAMAN
PERCOBAAN IV
FUNGSI
TANGGAL PERCOBAAN :
ASISTEN PERCOBAAN :
NIM :
LABORATORIUM KOMPUTASI DAN JARINGAN
JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS BRAWIJAYA
MALANG
27
FUNGSI
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
PERCOBAAN IV
FUNGSI
4.1.1 LISTING PROGRAM PERCOBAAN
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <stdio.h>
#include <stdlib.h>
int a,b,hasil=0;
void input1(void)
{
printf("Harga Barang = ");
scanf("%d",&a);
}
void input2(void)
{
input1();
printf("Jumlah Barang = ");
scanf("%d",&b);
}
int jumlah(void)
{
return a*b;
}
int main()
{
input2();
hasil = jumlah();
printf("Total Harga = %d \n", hasil);
}
Program 4.1 Percobaan bentuk dasar fungsi.
4.1.2 PROSEDUR PERCOBAAN
1. Buatlah project dengan nama DAP_4.1.
2. Ketiklah program 4.1
3. Pelajari dan jalankan program.
4. Jika terjadi kesalahan program, perbaikilah sehingga program dapat berjalan.
5. Untuk langkah ke-.... sampai langkah ke-..., kembalikan program ke kondisi yang benar
sebelum diubah.
6. Hapuslah void (di luar tanda kurung) pada baris ke-6, jalankan program dan catat hasilnya.
7. Hapuslah void (di dalam tanda kurung) pada baris ke-6, jalankan program, dan catat hasilnya.
8. Hapuslah int pada baris ke-......, jalankan program dan catat hasilnya.
28
FUNGSI
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
9. Pindahkan baris ke-........ sampai baris ke-..... ke baris ke-17 (ke bagian bawah pendefinisian
fungsi input2), jalankan program dan catat hasilnya.
10. Hapus pernyataan input2(); pada baris ke-...., dan gantilah pernyataan tersebut dengan
pernyataan-pernyataan pada baris ke-..................... Hapus baris ke-..................... Jalankan
program dan catat hasilnya.
11. ......................................................................................................................................................
....................
12. ......................................................................................................................................................
.....................
13. Pindahkan baris ke-...... sampai baris ke-......... ke bagian bawah baris ke-30 (ke bagian bawah
pendefinisian fungsi main() ), jalankan program dan catat hasilnya.
4.1.3 DATA HASIL PERCOBAAN
1. Apa yang terjadi apabila langkah ke-6 dilakukan ?
2. Apa yang terjadi apabila langkah ke-7 dilakukan ?
3. Apa yang terjadi apabila langkah ke-8 dilakukan ?
4. Apa yang terjadi apabila langkah ke-9 dilakukan ?
5. Apa yang terjadi apabila langkah ke-10 dilakukan ?
6. Apa yang terjadi apabila langkah ke-11 dilakukan ?
7. Apa yang terjadi apabila langkah ke-12 dilakukan ?
8. Apa yang terjadi apabila langkah ke-13 dilakukan ?
29
FUNGSI
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
4.1.4 ANALISA DATA HASIL PERCOBAAN
1. Bagaimana urutan pengeksekusian program dengan menggunakan fungsi selain fungsi utama
?
2. Mengapa pada saat void di luar tanda kurung dihapus keluaran program seperti pada data
hasil percobaan ?
3. Mengapa pada saat void di dalam tanda kurung dihapus keluaran program seperti pada data
hasil percobaan ?
4. Mengapa pada saat int yang merupakan tipe data sub fungsi dihapus keluaran program
seperti pada data hasil percobaan ?
5. Mengapa pada langkah ke ... prosedur percobaan dilakukan keluaran program seperti pada
data hasil percobaan ?
6. Mengapa pada saat langkah ke… dilakukan, keluaran program seperti pada data hasil
percobaan?
30
FUNGSI
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
7. Mengapa pada saat langkah ke… dilakukan, keluaran program seperti pada data hasil
percobaan ? kemukakan alasan anda !
8. Mengapa pada saat langkah ke… dilakukan, keluaran program seperti pada data hasil
percobaan ?
9. Apa perbedaan antara fungsi yang bertipe void dengan fungsi yang bertipe selain void ?
4.1.5 KESIMPULAN
31
FUNGSI
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
4.1.6 TUGAS
(Diberikan oleh Asisten)
32
FUNGSI
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
4.2.1 LISTING PROGRAM PERCOBAAN
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <stdio.h>
#include <stdlib.h>
int var=5;
void func_static (void)
{
static int test=1;
printf("test = %d\n", test);
test++;
}
void pass_param (int y) //value
{
printf("y = %d\n", y);
printf("Nilai y diubah menjadi y = 6\n");
y=6;
printf("y = %d\n", y);
}
int main ()
{
int var=10;
int x=3;
printf("penggunaan extern\n");
{
extern int var;
printf("nilai dari variabel var = %d\n", var);
}
printf("penggunaan static\n");
int i=1;
while (i<6)
{
func_static();
i++;
}
printf("Pengiriman parameter\n");
printf("x = %d\n", x);
pass_param (x);
printf("x = %d\n", x);
printf("Nilai x setelah pengiriman berakhir\n");
printf("x = %d\n ",x);
system("PAUSE");
return 0;
}
Program 4.2. Program percobaan jenis-jenis variabel yang berhubungan dengan fungsi
33
FUNGSI
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
4.2.2 PROSEDUR PERCOBAAN
1. Buatlah project dengan nama DAP_4.2
2. Ketiklah program 4.2.
3. Pelajari dan jalankan program.
4. Jika terjadi kesalahan program, perbaikilah sehingga program dapat berjalan.
5. Untuk langkah ke-..... sampai langkah ke-....., kembalikan program ke kondisi yang benar
sebelum diubah.
6. Hapus kata static pada baris ke-...... Jalankan program dan catat hasilnya.
7. Hapus baris ke.................... Jalankan program dan catat hasilnya.
8. Tambahkan / Hilangkan tanda .................. pada baris ke-…...... pada ekspresi …....... dan
tambahkan / hilangkan tanda ......... pada baris ke................... pada ekspresi …......... Jalankan
program dan catat hasilnya.
4.2.3 DATA HASIL PERCOBAAN
1. Apa yang terjadi pada saat prosedur percobaan ke-...... dilakukan?
2. Apa yang terjadi pada saat prosedur percobaan ke-...... dilakukan? ?
3. Apa yang terjadi pada saat prosedur percobaan ke-...... dilakukan? ?
4.2.4 ANALISA DATA HASIL PERCOBAAN
1. Program DAP_3.2.C menggunakan variabel extern, yaitu
2. Program di atas menggunakan variabel automatic, yaitu
3. Mengapa pada saat prosedur percobaan ke… dilakukan keluaran program seperti pada data
hasil percobaan ?
4. Mengapa pada saat prosedur percobaan ke… dilakukan keluaran program seperti pada data
hasil percobaan ?
34
FUNGSI
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
5. Mengapa pada saat prosedur percobaan ke… dilakukan keluaran program seperti pada data
hasil percobaan ?
4.2.5 KESIMPULAN
4.2.6 TUGAS
(Diberikan oleh Asisten)
35
FUNGSI
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
4.3.2 LISTING PROGRAM PERCOBAAN
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <stdlib.h>
long int faktorial (int x)
{
if (x==0)
return 1;
else
return x*faktorial ((x-1));
}
int main ()
{
int a;
printf("Bilangan yang ingin kita faktorial = ");
scanf("%d", &a);
b=a;
printf("Nilai faktorialnya = %d\n", faktorial(a));
system("PAUSE");
return 0;
}
Program 4.3. Program percobaan fungsi forward dan fungsi rekursi.
4.3.3 PROSEDUR PERCOBAAN
1. Buatlah project dengan nama DAP_4.3.
2. Ketiklah program 4.3.
3. Pelajari dan jalankan program.
4. Jika terjadi kesalahan program, perbaikilah sehingga program dapat berjalan.
5. Jalankan program dan masukkan sembarang angka. Catat hasil keluaran program.
6. Pindahkan baris ke…. sampai baris ke..... menuju baris ke........ (Ke bawah pendefinisian
fungsi main)
7. Tambahkan pernyataan long int faktorial / pangkat (int x, int y); sebelum pendefinisian fungsi
main().
8. Jalankan program, masukkan sembarang angka dan catat hasil keluaran program.
9. Kembalikan program seperti semula.
10. Hapuslah baris ke…... sampai ke....., jalankan program dan catat hasilnya.
4.3.4 DATA HASIL PERCOBAAN
1. Apa yang terjadi saat prosedur percobaan ke-6 dan ke-7 dilakukan dan program dijalankan
?
36
FUNGSI
PRAKTIKUM DASAR ALGORITMA DAN PEMROGRAMAN
2. Apa yang terjadi saat prosedur percobaan ke-10 dilakukan dan program dijalankan ?
4.3.5 ANALISA DATA PERCOBAAN
1. Mengapa bisa terjadi keluaran seperti pada Data Hasil Percobaan No. 1 ?
2. Mengapa bisa terjadi keluaran seperti pada Data Hasil Percobaan No. 2 ?
4.3.6 KESIMPULAN
4.3.7 TUGAS
(Diberikan oleh Asisten)