MODUL 1
1. PERTEMUAN :1
2. JUDUL : ALGORITMA
3. TUJUAN :
a. Mampu memahami suatu permasalahan
b. Menyusun langkah-langkah penyelesaian masalah
c. Membuat algoritma deskriptif, flowchart dan pseudo code
4. DASAR TEORI
Program Komputer merupakan suatu cara untuk membantu manusia dalam menyelesaikan
pekerjaan. Sebelum Program dibuat, maka perlu disusun suatu algoritma pemrograman
agar program yang dibuat menjadi terstruktur dan terdokumentasi dengan baik.
Algoritma adalah urutan langkah-langkah penyelesaian suatu masalah atau tugas yang
tersusun secara sistematis dan logis.
Contoh : Buat algoritma untuk menentukan apakah suatu bilangan merupakan bilangan
ganjil atau bilangan genap.
Algoritmanya :
a. Masukkan sebuah bilangan sembarang
b. Bagi bilangan tersebut dengan bilangan 2
Flow-chart atau bagan alir adalah suatu skema/gambar yang memperlihatkan urutan
instruksi/kegiatan dan hubungan antar proses beserta instruksinya.
Gambaran ini dinyatakan dengan symbol. Dengan demikian setiap symbol
menggambarkan proses tertentu. Sedangkan antara proses digambarkan dengan garis
penghubung. Simbol-simbol Flowchart :
Contoh algoritma di atas tentang menentukan apakah suatu bilangan adalah bilangan ganjil
Pseudocode banyak digunakan untuk mewakili urutan-urutan proses dari program. Pseudo
berarti imitasi dan code dihubungkan dengan instruksi yang ditulis dalam bahasa
komputer.
5. PERCOBAAN
Buatlah algoritma dalam bentuk Deskriptif, Flowchart dan Pseudo Code untuk semua
maslah dibawah ini :
6. LATIHAN
Kumpulkan hasil percobaan di atas pada pertemuan ke- 3
MODUL 2
1. PERTEMUAN : 2
2. JUDUL : STRUKTUR DASAR PEMROGRAMAN C
3. TUJUAN :
a. Memahami IDE (Integrated Development Environment) bahasa C
b. Dapat menggunakan sintaks dan fungsi-fungsi dalam bahasa C
c. Mampu menterjemahkan algoritma untuk memecahkan suatu masalah kedalam
bahasa C
4. DASAR TEORI
Bahasa Pemrograman C merupakan bahasa yang biasa dipakai untuk pemrogram sistem,
antara lain:
Assembler
Interpreter
Program paket
Sistem operasi
Editor
Kompiler
Program bantu (utility)
Selain digunakan untuk pemrograman sistem juga digunakan untuk membuat berbagai
program aplikasi, seperti aplikasi bisnis, matematis, maupun games (permainan), serta
untuk menyusun program kecerdasan buatan (artificial intelligence).
Bahasa C merupakan lingkungan pemrograman terpadu yang disebut IDE (Integrated
Development Environment) yang bisa dipakai untuk :
Menulis program
Mengkompilasi program (compiling)
Melakukan pencarian kesalahan (debugging)
Mengkaitkan berbagai objek dan pustaka (lingking)
Menjalankan program (Running)
Ketik folder dan file TC.exe berada, atau klik Browse untuk mencari posisi file TC
Atau Klik 2 kali icon TC pada desktop
Contoh fungsi :
Main()
Printf()
Scanf()
4.4 Praprocessor
Praprocessor dipakai untuk membaca file yang dinamakan dengan file-judul (header file),
yaitu file yang berisi deklarasi fungsi dan defenisi konstanta. File ini mempunyai ciri yaitu
namanya diakhiri dengan extension .h. Contoh #include<stdio.h> memberikan pernyataan
pada kompiler agar membaca file bernama stdio.h pada saat pelaksanaan kompilasi.
/* Program contoh1
Dibuat oleh : Team */ Akhir komentar
#include<stdio.h>
main()
{
printf(“Selamat Belajar\n”);
printf(“Turbo C\n”);
}
5. PERCOBAAN
a. Terjemahkan Algoritma yang telah dibuat dalam tugas modul 1 menggunakan bahasa
pemrograman C .
b. Program pertukaran dua buah variabel
#include<stdio.h>
main()
{
int bejanaA,bejanaB,bejanaC;
clrscr();
bejanaA=10; bejanaB=15;
printf("Isi Bejana sebelum ditukarkan\n" );
printf("Isi BejanaA = %d\n",bejanaA );
printf("Isi BejanaB = %d\n",bejanaB );
bejanaC=bejanaA;
bejanaA=0;
bejanaA=bejanaB;
bejanaB=0;
bejanaB=bejanaC;
/*clrscr();*/
printf("Isi Bejana setelah ditukarkan\n" );
printf("Isi BejanaA = %d\n",bejanaA );
printf("Isi BejanaB = %d\n",bejanaB );
getch();
}
6. LATIHAN
1. Kerjakan soal-soal di bawah ini, dan sertakan jawaban Anda pada Laporan Resmi
#include <stdio.h>
main()
{
int value1, value2, sum;
value1 = 35;
value2 = 18;
sum = value1 + value2;
printf("The sum of %d and %d is %d\n", value1,value2,sum);
getch();
}
d. Buatlah program yang menerima masukan dua buah bilangan. Tampilkan keluaran
berupa jumlah, rata-rata dan kuadrat dari kedua bilangan yang dimasukkan.
c * c = 25,000000
Namun, belum berhasil karena masih ada beberapa kesalahan. Temukan minimal
3 kesalahan dalam program tersebut.
#include <Studio.h>
main ()
{
float a, b, c;
a = 3;
b = 4.0;
c=a*a+b*b
printf("c * c = %d", c);
getch();
}
MODUL 3
1. PERTEMUAN : 3 dan 4
2. JUDUL : ELEMEN-ELEMEN BAHASA PEMROGRAMAN C
3. TUJUAN :
a. Menjelaskan dan menggunkan tipe data dasar (jenis dan jangkauannya)
b. Menjelaskan dan menggunakan Variabel
c. Menjelaskan dan menggunakan konstanta
d. Menjelaskan dan menggunakan berbagai jenis operator
4. DASAR TEORI
4.2 Variabel
Variabel digunakan untuk menyimpan suatu nilai dalam program, dan nilai tersebut dapat
diubah-ubah selama eksekusi program berlangsung
a. Deklarasi variabel
Varibel yang digunakan dalam program harus dideklarasikan terlebih dahulu, yaitu
pemesanan memori dan penentuan jenis data yang bisa disimpan dalam variabel
tersebut. Bentuk umum deklarasi variabel :
Tipe nama-variabel
Pada deklarasi variabel, nama-variabel dapat terdiri dari satu variabel atau
beberapa variabel yang dipisahkan dengan tanda koma (,).
Contoh :
int R ;
float nilai, nilai_total, ipk;
variabel=nilai
Contoh :
R=10;
nilai=70.5; ipk=3.4;
c. inisialisasi variabel
Merupakan pemberian nilai awal terhadap suatu variabel. Adakalanya dalam
pembuatan program, setelah variabel dideklarasikan langsung diberi nilai awal.
Contoh :
int total; atau int total=0;
total=0;
4.3 Konstanta
Konstanta menyatakan nilai tetap. Tidak perlu dideklarasikan, dan mempunyai tipe data.
Aturan penulisan:
Konstanta karakter : diawali dan diakhiri dengan tanda petik tunggal, Contoh : ‘A’
dan ‘@’.
Konstanta integer : ditulis dengan angka (tanpa tanda petik) tanpa mengandung
pemisah ribuan dan tak mengandung bagian pecahan. Contoh : –1 dan 32767.
Konstanta real (float dan double) bisa mengandung pecahan (dengan tanda berupa
titik) dan nilainya bisa ditulis dalam bentuk eksponensial (menggunakan tanda e),
contohnya : 27.5f (untuk tipe float) atau 27.5 (untuk tipe double) dan 2.1e+5
(maksudnya 2,1 x 105 ).
Konstanta string merupakan deretan karakter yang diawali dan diakhiri dengan tanda
petik-ganda (“). Contoh: “Program Dasar”.
Menggunakan keyword #define
#define <nama_konstanta> <nilai>
atau
Menggunakan keyword const
const <tipe_konstanta> <nama_konstanta> = <nilai>;
Contoh:
#define PI 3.14159
atau : const float PI = 3.14159;
4.4 Operator
Operator merupakan simbol atau karakter yang digunakan untuk melakukan suatu operasi
atau manipulasi seperti operasi matematika, operasi logika dan lain sebagainya.
a. Opeartor Arimatika
Operator Operasi
* Perkalian
/ Pembagian
% Sisa pembagian
+ Penjumlahan
- Pengurangan
c. Operator relasi
Operator relasi (hubungan) biasa dipakai untuk membandingkan dua buah nilai.
Hasil perbandingan berupa keadaan benar atau salah.
Operator Operasi
> Besar dari
>= Besar dari atau sama dengan
< Kurang dari
<= Kurang dari atau sama dengan
== Sama dengan
!= Tidak sama dengan
d. Operator Logika
Biasa digunakan untuk menghubungkan ungkapan relasi
Operator Operasi
&& Dan (AND)
|| Atau (OR)
! Tidak (NOT)
5. PERCOBAAN
3. Operator Modulus
/* File program : modulus.c */
#include <stdio.h>
main()
{
int a = 14, b = 2, c = 3, d = 4;
printf("a = %d, b = %d, c = %d, d = %d\n\n",
a, b, c, d);
6. LATIHAN
MODUL 4
1. PERTEMUAN : 5
2. JUDUL : PROGRAM INPUT DAN OUTPUT
3. TUJUAN :
a. Menjelaskan dan menggunakan fungsi untuk input data
b. Menjelaskan dan menggunakan fungsi untuk menampilkan/mencetak informasi
c. Menggunakan penentu format
4. LANDASAN TEORI
Input data dan menampilkan data/informasi (output) merupakan kegiatan yang sering
dilakukan dalam pemrograman. Input data dilakukan melalui keyboard menghasilkan
output melalui piranti monitor atau printer.
5. PERCOBAAN
a. Menghitung keliling dan luas lingkaran
#include<stdio.h>
main()
{
int alas,tinggi;
float luas;
clrscr();
printf("Inputkan Alas Segitga : ");scanf("%d",&alas);
printf("Inputkan Tinggi Segitga : ");scanf("%d",&tinggi);
luas=alas*tinggi*0.5;
printf("Luas Segitiga = %.2f\n",luas );
getche ();
}
6. LATIHAN
a. Buatlah algoritma dan program untuk menghitung total nilai, nilai rata-rata mahasiswa
dengan menginputkan 5 buah nilai.
b. Buat algoritma dan program untuk menginputkan, menghitung dan menampilkan luas
persegi panjang, bujur sangkar, jumlah bayar barang
MODUL 5
1. PERTEMUAN : 6 dan 7
2. JUDUL : STRUKTUR KONTROL (PENGAMBILAN KEPUTUSAN)
3. TUJUAN :
a. Menjelaskan dan menggunakan operator kondisi (operator relasi dan logika)
b. Menggunaan pernyataan if
c. Menggunaan pernyataan if-else
d. Menggunaan pernyataan if dalam if
e. Menggunaan pernyataan switch
4. DASAR TEORI
Pengambilan keputusan diperlukan jika ada dua atau lebih kondisi yang harus dipilih salah
satu. Pernyataan-pernyataan yang dapat digunakan dalam pengambilan keputusan adalah :
Pernyataan if
Pernyataan if-else
Pernyataan switch
Pernyataan-pernyataan diatas memerlukan suatu kondisi yaitudibentuk dengan operator
relasi dan/atau operator logika.
4.1. Operator Relasi
Operator relasi (hubungan) biasa dipakai untuk membandingkan dua buah nilai.
Hasil perbandingan berupa keadaan benar atau salah.
Operator Operasi
> Besar dari
>= Besar dari atau sama dengan
< Kurang dari
<= Kurang dari atau sama dengan
== Sama dengan
!= Tidak sama dengan
4.3 Pernyataan if
Sintak:
5. PERCOBAAN
else
valid_operator = 0;
if(valid_operator)
printf("%g %c %g is %g\n", bil1, operator, bil2,
hasil);
else
printf("Invalid operator!\n");
getch();
}
6. LATIHAN
a. Buatlah algoritma dan program untuk menerima input 2 buah bilangan bulat. Tampilkan
hasil dari pembagian bilangan pertama dengan bilangan kedua, dengan ketelitian 3
desimal.
Input : bil1 dan bil2
Output : hasil bagi bil1 dengan bil2
Nilai tambah : program bisa mengecek pembagian dengan nol, yaitu jika bilangan
kedua adalah nol, maka tidak dilakukan proses pembagian, namun ditampilkan pesan
kesalahannya (division by zero).
b. Buatlah algoritma dan program untuk menghitung determinan dan mencari akar-akar
2
dari persamaan kuadrat : ax + bx + c = 0 , dengan ketentuan sbb :
2
D = b - 4ac
• Jika D = 0 , maka terdapat 2 akar real yang kembar, yaitu : x1 = x2 = -b / 2a
• Jika D > 0 , maka terdapat 2 akar real yang berlainan, yaitu :
x1 = (-b + sqrt(D)) / 2a
x2 = (-b - sqrt(D)) / 2a
• Jika D < 0 , maka terdapat 2 akar imaginair yang berlainan, yaitu :
x1 = -b / 2a + (sqrt(-D) / 2a) i
x2 = -b / 2a - (sqrt(-D) / 2a) i
Input : a, b, c (float)
Output : Nilai Determinan serta nilai akar-akar persamaan tsb (x1& x2).
Petunjuk : - untuk mencari akar dari x, gunakan : sqrt(x) yang didefinisikan pada
<math.h>.
- gunakan else if
c. Buatlah algoritma dan program untuk menampilkan menu dan melakukan proses sbb :
Menu :
1. Menghitung volume kubus
2. Menghitung luas lingkaran
3. Menghitung volume silinder.
Input : pilihan user (1, 2 atau 3)
Jika pilihan = 1, maka :
Input : panjang sisi kubus
3
Output : Volume kubus (vol = sisi )
Jika pilihan = 2, maka :
gk=gapok+tjg;
pph=0.1*gapok;
gb=gk-pph;
printf("Gaji Pokok : %.2f\n",gapok);
printf("Tunjangan : %.2f\n",tjg);
printf("Gaji Kotor : %.2f\n",gk );
printf("PPh : %.2f\n",pph);
printf("Gaji Bersih : %.2f\n",gb );
getch();
}
MODUL 6
1. PERTEMUAN : 8 DAN 9
2. JUDUL : PENGULANGAN (LOOPING) WHILE DAN DO-WHILE
3. TUJUAN :
a. Menjelaskan dan menggunakan proses pengulangan pernyataan while
b. Menjelaskan dan menggunakan proses pengulangan pernyataan do-while
c. Menjelaskan dan menggunakan pernyataan break
d. Menjelaskan dan menggunakan pernyataan continue
4. DASAR TEORI
- Sintak
while(kondisi)
pernyataan;
Selama kondisi benar maka pernyataan dikerjakan
Jika kondisi salah maka keluar dari blok loop
Contoh :
bil = 1;
while (bil <= 15)
{
printf("%d\n", bil);
bil = bil + 3;
}
Akan didapatkan hasil :
1
4
7
10
13
- Sintak :
do {
pernyataan;
} while(kondisi);
Pada loop:
while(kondisi)
{
break;
}
statement-x;
Pada switch:
switch (ekspresi)
{.....
case konstanta-2:
pernyataan-21;
break;
.....
}
Pernyataan Continue
Pada loop:
while(kondisi)
{
continue;
}
statemen-x;
C. PERCOBAAN
1. Menghitung jumlah kata dan karakter dalam suatu kalimat
/* File program : jumkar.c */
#include <stdio.h>
main()
{
char kar;
int jumkar = 0, jumspasi = 0;
clrscr();
puts("Masukkan sebuah kalimat dan akhiri dengan ENTER.");
puts("Saya akan menghitung jumlah karakter ");
puts("pada kalimat tersebut.\n");
while((kar = getchar()) != '\n')
{
jumkar++;
if (kar == ' ') jumspasi++;
}
total=total+harga;
printf("Mau menambah pesanan ? (Y/T)\n");
scanf("%s",&kar);
} while(kar=='Y');
if(total > 100000)
bayar=total-(0.15*total);
else
bayar=total;
printf("\nHarga yang harus dibayar = %10.2f\n",bayar);
getch();}
6. LATIHAN
1. Buatlah algoritma dan program untuk menampilkan semua bilangan genap yang
terletak antara 20 sampai dengan 200, dengan menggunakan While.
2. Buatlah algoritma dan program untuk menghitung jumlah angka dari suatu
bilangan.
Contohnya : Jumlah angka dari bilangan 3255 = 3 + 2 + 5 + 5 = 15
1. PERTEMUAN : 10
2. JUDUL : UJIAN MID SEMESTER
MODUL 7
1. PERTEMUAN : 11
2. JUDUL : PENGULANGAN (LOOP) FOR DAN NESTED LOOP
3. TUJUAN :
a. Menjelaskan dan menggunakan proses pengulangan pernyataan for
b. Menjelaskan penggunaan pernyataan goto
c. Menjelaskan menggunakan loop di dalam loop (nested loop)
d. Menjelaskan penggunaan exit() untuk menghentikan eksekusi program
4. DASAR TEORI
Digunakan untuk membuat looping dengan jumlah perulangan yang ditentukan di awal.
- Sintak:
for(ungkapan1; ungkapan2; ungkapan3)
pernyataan;
Keterangan :
Ungkapan1: digunakan untuk memberikan inisialisasi terhadap variabel
pengendali loop.
Ungkapan2: dipakai sebagai kondisi untuk keluar dari loop.
Ungkapan3: dipakai sebagai pengatur kenaikan nilai variabel pengendali loop.
Contoh :
for (bil = 1; bil <= 15; bil += 3)
printf("%d\n", bil);
Kadang-kadang dijumpai adanya pernyataan for yang tidak mengandung bagian ungkapan
yang lengkap (beberapa ungkapan dikosongkan). Hal ini disebabkan ungkapan-ungkapan
tersebut sudah di-inisialisasi di luar for atau dapat dikerjakan di dalam loop itu sendiri.
Contoh :
for (bil=10;bil<=60;bil++)
bil=10;
for( ; ; )
{
bil++;
if(bil==60)
break;
}
4. 4 . Nested-loop
Adalah loop di dalam loop. Kondisi ini hampir sama dengan nested-if.
- Sintak :
for(ungkapan1; ungkapan2; ungkapan3)
{
for(ungkapan4; ungkapan5; ungkapan6)
{
for(ungkapan-x; ungkapan-y; ungkapan-z)
{
Pernyataan1;
.
.
}
Pernyataan-n;
.
}
Pernyataan-m;
.
}
Pernyataan ini digunakan untuk keluar dari program. Biasa disertakan pada program
yang menggunakan looping dengan for, while atau do-while. Fungsi ini didefinisikan
di stdlib.h
Sintak:
exit();
Contoh:
/*tekan ESC untuk menghentikan program*/
#include<stdio.h>
#include<stdlib.h>
main()
{
puts(“Tekan ESC untuk menghentikan program.”);
for( ; ; )
if(getch()==27)
exit(0);
getch();
}
5. PERCOBAAN
#define MAKS 8
main()
{
int baris, kolom, hasil_kali;
for (baris = 1; baris <= MAKS; baris++)
{
for (kolom = 1; kolom <= MAKS; kolom++)
{
hasil_kali = baris * kolom;
printf ("%2d", hasil_kali);
}
printf("\n"); /* pindah baris */
}
}
#include<stdio.h>
main()
{
int d,i,l;
l=0;
printf("Masukkan sembarang bilangan bulat \n");
for(i=1;i<=5;i++)
{
printf("\nData ke- %d adalah = ",i);
scanf("%3d",&d);
if(d>l) //apakah bil yg diinputkan lebih //besar dari l?
{
l=d; //jika ya tukarkan nilai d dengan l
} //jika tidak, lanjutkan ke bil //berikutnya
}
printf("Bilangan terbesar adalah : %d\n",l);
}
D. SOAL
1. Bilangan bulat faktorial n, ditulis dengan n! adalah dihasilkan dari mengalikan dari 1
sampai dengan n. Contohnya 5! = 1 x 2 x 3 x 4 x 5 =120. Buatlah algoritma dan
program untuk menampilkan tabel hasil faktorial dari suatu bilangan yang diinputkan
(tampilan bilangan rata kanan)
1.
2. Buatlah algoritma dan program untuk menghitung jumlah angka dari suatu bilangan.
Contohnya : Jumlah angka dari bilangan 3255 = 3 + 2 + 5 + 5 = 15
Jumlah angka dari bilangan 4589 = 4 + 5 + 8 + 9 = 26
3. Buatlah algoritma dan program untuk menerima daftar nilai mahasiswa sbb :
Input : - Jumlah data (n)
- Nilai ke-1 s/d Nilai ke-n
Output : - Nilai minimal
- Nilai maksimal
- Nilai rata-rata (rata-rata = nilai total / jumlah data)
(Petunjuk : Gunakan loop for dan seleksi kondisi dengan if)
MODUL 8
1. PERTEMUAN : 12
2. JUDUL : PROGRAM PROSEDURAL DENGAN
PERNYATAAN FUNGSI (FUNCTION)
3. TUJUAN :
4. DASAR TEORI
Fungsi merupakan blok program yang dibentuk untuk melaksanakan suatu tugas khusus.
Tujuan penggunaan fungsi :
Program menjadi terstruktur, sehingga mudah dipahami dan mudah dikembangkan.
Mengurangi pengulangan kode (duplikasi kode)
Contoh program :
/* program fungsi yang mengandung argumen untuk mencari nilai minimum */
#include <stdio.h>
main()
{
int a, b, hasil;
a=25; b=84;
hasil=min(a, b);
printf(“nilai terkecil = %d\n”, hasil);
printf(“nilai terkecil = %d\n”, min(11, 9);
getch();
}
/* Fungsi minimum */
min(x, y)
int x, y;
{
if (x < y )
return(x);
else
return(y);
}
Contoh :
/* program fungsi bertipe selain integer untuk mencari nilai maximum */
#include <stdio.h>
float maks(float,float); /* deklarasi fungsi*/
main()
{
float a, b, hasil;
a= 35.6; b=65.9;
hasil=maks(a, b);
printf(“nilai maximum = %.2f\n”, hasil);
printf(“nilai terkecil = %.2f\n”,maks(11, 9);
getch();
}
/* Fungsi maximum */
4.5 Rekursi
Rekursi merupakan fungsi yang memanggil dirinya sendiri.
Contoh program :
/* Program Rekursi untuk mencari bilangan faktorial */
#include <stdio.h>
int faktorial(int);
main()
{
int n, hasil;
puts(“MENCARI BILANGAN FAKTORIAL n!”);
printf(“Masukkan Sebuah bilangan : “);
scanf(“%d”, &n);
hasil=faktorial(n);
printf(“Faktorial dari %d = %d\n”, n, hasil);
getch();
}
int faktorial(int m)
{
if (m==1)
return(1);
else
return(m*faktorial(m-1));
}
5. PERCOBAAN
6. LATIHAN
1. Apa hasil eksekusi dari program berikut :
#include <stdio.h>
void ubah(int);
main()
{
int x;
printf("Masukkan nilai x : ");
scanf("%d", &x);
ubah(x);
printf("x = %d\n", x);
}
void ubah(int y)
{
y = 85;
}
Contoh tampilan:
MODUL 9
1. PERTEMUAN : 13
2. JUDUL : ARRAY DIMENSI 1
3. TUJUAN :
a. Menjelaskan dan menggunakan array berdimensi satu
b. Menjelaskan deklarasi dan akses variabel array dimensi 1
4. DASAR TEORI
Array merupakan kumpulan data dengan setiap elemen data menggunakan nama dan tipe
data yang sama. Setiap elemen dapat diakses dan dibedakan dengan indeks array. Array
terdiri dari :
Array dimensi 1
Array dimensi dua
Array dimensi banyak
Array tak berukuran
Array Dimensi 1
Tipe_array nama_var_array[ukuran];
Keterangan :
Tipe : tipe data array
Nama_var_array : nama variabel array
Ukuran : menentukan jumlah maksimal elemen array
a. Deklarasi array
Contoh :
float nilai[10]
b. Mengakses elemen array
Data array akan disimpan dalam memori pada lokasi yang berurutan. Elemen
pertama mempunyai indeks bernilai 0 dan seterusnya.
Bentuk umum akses elemen array :
Nama_var_array[indeks]
Contoh :
Nilai[1] : elemen ke-1 dari nilai
Nilai[2] : elemen ke-2 dari nilai
Dari contoh diatas array berdimensi satu dapat digambarkan sebagai berikut:
int Nilai [5];
Contoh program :
/* Program array dimensi 1 untuk menyimpan sejumlah data nilai */
#include <stdio.h>
#define maks 7
main()
{
int j;
float total, rata2;
float nilai[maks]; /* deklarasi array*/
/* input data nilai */
for ( j= 0; j < maks; j++)
{
printf(“Nilai ke- %d : “, j);
scanf(“%f”, &nilai[ j ]);
}
5. PERCOBAAN
#include “string.h”
void main()
{ char jurusan[25], jenjang[10], nim[10], nama[20];
crlscr();
printf(“Masukkan nama Anda : “); gets(nama);
printf(“Masukkan NIM Anda : “); gets(nim);
/***** cari jurusan *****/
switch(nim[2])
{
case ‘1’ : strcpy(jurusan, “Sistem Informasi”);
break;
case ‘2’ : strcpy(jurusan, “Manajemen Informatika”);
break;
case ‘3’ : strcpy(jurusan, “Teknik Komputer”);
break;
case ‘4’ : strcpy(jurusan, “Komputerisasi Akuntansi”);
break;
default : printf(“Anda salah memasukkan NIM. Coba periksa lagi !”);
break;
}
/***** cari jenjang *****/
if(nim[4] == ‘5’)
{ strcpy(jenjang, “Strata-1”);
}
else
{ if(nim[4] == ‘3’)
{ strcpy(jenjang,”Diploma-3”);
}
else
printf(“Anda salah memasukkan NIM. Coba periksa lagi !”);
}
/***** tampilkan data mahasiswa *****/
printf(“ << Data Mahasiswa Politeknik Negeri Medan >>“);
printf(“Nama : %s”, nama);
printf(“NIM : %s”, nim);
printf(“Jurusan : %s”, jurusan);
printf(“Jenjang : %s”, jenjang);
getch();
}
6. Menentukan nilai maksimum dari sederetan nilai yang sudah diinisialisasi dan
disimpan dalam array; mengirim array sebagai parameter sebuah fungsi.
#include<stdio.h>
int maks(int [],int);
main()
{
int i;
int data1[]={5,34,56,-12,3,19};
int data2[]={1,-2,34,207,93,-12};
for(i=0;i<6;i++)
printf("data1[%d]= %d\n",i,data1[i]);
for(i=0;i<6;i++)
printf("data2[%d]= %d\n",i,data2[i]);
printf("nilai maksimum dari data1[] adalah %d\n",
maks(data1,6));
printf("nilai maksimum dari data2[] adalah %d\n",
maks(data2,6));
}
int maks(int nilai[],int jumlah_data)
{
int terbesar,i;
terbesar=nilai[0];
for(i=1;i<jumlah_data;i++)
if(nilai[i] > terbesar)
terbesar=nilai[i];
return terbesar;
}
6. LATIHAN
MODUL 10
1. PERTEMUAN : 14
2. JUDUL : ARRAY DIMENSI 2 ATAU BANYAK
3. TUJUAN :
a. Menjelaskan dan menggunakan array berdimensi dua
b. Menjelaskan deklarasi/akses variabel array dimensi 2 atau banyak
c. Menjelaskan tentang array berdimensi banyak
4. DASAR TEORI
Array Dimensi 2
Array dua dimensi merupakan array yang terdiri dari m buah baris dan n buah kolom.
Bentuknya dapat berupa matriks atau tabel.
Deklarasi array :
Tipe_array nama_array[baris][kolom];
Contoh :
Int X[3][4];
Untuk mengakses elemen array, misalnya kita ingin mengisi elemen array baris 2 kolom 3
dengan nilai 10 maka perintahnya adalah sebagai berikut :
X[1][2] = 10;
Array multi-dimensi merupakan array yang mempunyai ukuran lebih dari dua.
Bentuk pendeklarasian array sama saja dengan array dimensi satu maupun array dimensi
dua.
Bentuk umumnya yaitu :
tipe_array nama_array[ukuran1][ukuran2]…[ukuranN];
Contoh :
float X[2][4][3];
5. PERCOBAAN
#include “stdio.h”
#include “conio.h”
void main()
{ int baris, kolom, matriks[3][4];
clrscr();
{ for(j=0;j<4;j++)
printf("%6i",X[i][j]);printf("\n");
}
printf("\n\n");
getch();
}
}
}
/* Mencetak matriks hasil inversi*/
printf("\n\nMatriks inversi : \n");
for(i =1; i <=m; i++)
{ for(j=1; j<=m; j++)
printf(" %.1f", a[i][j]);
printf(" \n");
}
getch();
}
6. LATIHAN
MODUL 11
1. PERTEMUAN : 15
2. JUDUL : OPERASI STRING
3. TUJUAN :
4. DASAR TEORI
String merupakan data yang biasa dipakai untuk menampung dan memanipulasi teks.
Dalam bahasa C, string bukanlah sebagai tipe data tersendiri, melainkan jenis khusus dari
array.
I N F O R M A T I K A \0
Setiap karakter menempati memori sebesar 1 byte, byte terakhir secara otomatis berisi
karakter NULL (\0).
5. PERCOBAAN
#include<stdio.h>
#define MAKS 30
main()
{
int i;
char asli[] = "Saya menyukai bahasa C";
char salinan[MAKS];
i=0;
while(asli[i] != '\0')
{
salinan[i]=asli[i];
i++;
}
salinan[i]='\0';
printf("Isi salinan adalah : %s\n",salinan);
}
#define PJG 15
main()
{
char str1[PJG], str2[PJG];
strcpy(str1,"sala"); //str1 diisi "sala"
strcpy(str2,"tiga"); //str2 diisi "tiga"
strcat(str1,str2); //tambahkan isi str2 di akhir str1
printf("str1 --> %s str2 --> %s\n",str1,str2);
}
6. LATIHAN
1. Buat program untuk membalik string masukan.
Input : string masukan
Output : hasil pembalikan string masukan
Contoh :
Petunjuk :
- gunakan fungsi strlen() untuk menghitung panjang string yang prototypenya ada di
file <string.h>
- gunakan function call (pemanggilan fungsi)
- index array dimulai dari indeks ke-0
MODUL 12
1. PERTEMUAN : 16
2. JUDUL : PRE-DEFINED FUNCTION MATEMATIKA, KONVERSI
TIPE DATA.
3. TUJUAN :
a. Menjelaskan dan menggunakan fungsi operasi Matematika
b. Menjelaskan dan menggunakan berbagai fungsi Matematika
c. Menjelaskan dan melakukan cara mengkonversi Tipe data
4. DASAR TEORI
Fungsi Operasi Matematika (tersimpan dalam header “math.h” dan “stdlib.h”) yaitu
diantaranya :
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);
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);
5. PERCOBAAN
{ float sudut;
clrscr();
printf(“Menghitung nilai sinus, cosinus dan tangens\n”);
printf(“Masukkan sudut : “); scanf(“%f”, &sudut);
printf(“Nilai sinus %.2f derajat adalah %.3f”, sudut, sin(sudut));
printf(“Nilai cosinus %.2f derajat adalah %.3f”, sudut, cos(sudut));
printf(“Nilai tangens %.2f derajat adalah %.3f”, sudut, tan(sudut));
getch();
}
#include “stdio.h”
#include “conio.h”
#include “stdlib.h”
void main()
{ int x, y;
div_t hasil;
clrscr();
printf(“Menghitung sisa dan hasil pembagian x dengan y\n”);
printf(“x = “); scanf(“%i”, &x);
printf(“y = “); scanf(“%i”, &y);
hasil = div(x,y);
printf(“\n\n %3i div %3i = %3i sisa %3i”, x, y, hasil.quot, hasil.rem);
getch();
}
#include “stdio.h”
#include “conio.h”
#include “stdlib.h”
void main()
{ int x, y, z;
clrscr();
printf(“Menentukan bilangan terbesar dan terkecil\n”);
printf(“X = “); scanf(“%i”, &x);
printf(“Y = “); scanf(“%i”, &y);
printf(“Z = “); scanf(“%i”, &z);
printf(“\nBilangan terbesar : %i”, max(max(x, y), z));
printf(“\nBilangan terkecil : %i”, min(min(x, y), z));
getch();
}
3. Program Mengkonversikan Tipe data dan menampilkan hasilnya
#include “stdio.h”
#include “conio.h”
#include “math.h”
void main()
{ char x[4] = “100”, y[5] =”10.3”;
int a;
float b;
clrscr();
a = atoi(x); b = atof(y);
printf(“Semula A = %s B = %s\n”, x,y);
printf(“Setelah dikonversi A = %i B = %.2f”, a,b);
getch();
}
MODUL 13
1. PERTEMUAN : 17 DAN 18
2. JUDUL : OPERASI FILE
3. TUJUAN :
a. Menjelaskan struktur file
b. Menjelaskan tahap-tahap operasi pada file
c. Menjelaskan dan menggunakan fungsi untuk penyimpanan dan pembacaan file
4. DASAR TEORI
Secara umum program melibatkan media disk sebagai tempat untuk membaca atau
menyimpan data. Data sendiri disimpan dalam disk dalam suatu kesatuan yang disebut file.
Suatu file merupakan organisasi dari sejumlah record. Masing-masing record dapat terdri
dari satu atau beberapa field dan setiap field terdiri dari satu atau beberapa byte data. Satu
byte data terdiri dari 8 bit data. Struktur data dari fle ditunjukkan pada gambar
FILE
BYTE BYTE
(8 BIT) (8 BIT)
b. Proses/operasi file
c. Menutup file
Apabila suatu file tidak diproses lagi, file perlu ditutup. Hal ini sangat penting terutama
jika melakukan pemrosesan file yang jumlahnya lebih dari satu.
Untuk menutup file, fungsi yang digunakan adalah fclose(). Bentuk deklarasinya :
Fungsi fclose() menghasilkan keluaran berupa nol jika operasi penutupan file berhasil
dilakukan.
Contoh :
"rt" : mode file adalah teks dan file hendak dibaca
"rt+” : mode file adalah teks dan file bisa dibaca dan ditulisi.
Bisa juga ditulis : "r+t"
"rb" : mode file adalah biner dan file hendak dibaca.
Merupakan proses yang dilakukan untuk menyimpan atau membaca data file dalam bentuk
kesatuan blok (byte), seperti untuk menyimpan data bertipe float atau data bertipe sturct
(Struktur) digunakan fungsi fread() dan fwrite(). Bentuk deklarasinya :
Keterangan :
Buffer : Pointer yang menunjuk kearah memory yang akan ditempati data
dari file disk untuk fungsi fread() atau fwrite()
Jum_byte : Jumlah byte yang akan dibaca atau disimpan
n : Menentukan banyaknya blok data berukuran jum_byte yang akan
ditulis atau dibaca.
Ptr_file : Berupa pointer ke File yang berisi nilai keluaran dari fopen()
5. PERCOBAAN
#include<stdio.h>
#include<stdlib.h>
main()
{
FILE *pd;
char kar;
//Buka file
pd=fopen("COBA.TXT","r+");
if(pd==NULL)
{
printf("File tidak dapat dibuka \n");
exit(1);
}
//Baca karakter per karakter sampai ketemu End Of FIle
while((kar=fgetc(pd)) != EOF)
fputchar(kar);
while((kar=getchar()) != '\n')
fputc(kar,pd);
fclose(pd); //tutup file
}
7. Menghapus file
#include <stdio.h>
#include <stdlib.h>
#define PJG 65
main()
{
int kode;
char namafile[PJG];
printf("Nama file yang akan dihapus : ");
gets(namafile);
kode = remove(namafile);
if(kode == 0)
printf("File sudah dihapus\n");
else
printf("Gagal dalam menghapus file\n");
}
6. LATIHAN
a. Buat program untuk menyimpan dan membaca data dari file mahasiswa dengan
data input : Nama, Nim, Nilai
b. Buat program untuk menyimpan dan menampilkan data dari file pegawai dengan
data input : Nama, NIP, Gol, Status. Output yang diinginkan seperti berikut :
TOTAL
1. PERTEMUAN : 19
2. JUDUL : MINGGU KOMPENSASI
1. PERTEMUAN : 20
2. JUDUL : UJIAN SEMESTER
DAFTAR REFERENSI
1. Abdul Kadir, 2002, Pemrograman Dasar Turbo C Untuk IBM PC, Andi
Yogyakarta
2. Agfianto E P, 2002, Teknik Antarmuka Komputer : Konsep dan Aplikasi, Graha
Ilmu Yogyakarta
3. Rinaldi M, 2000, Algoritma dan Pemrograman dalam Bahasa Pascal dan C,
Informatika Bandung