210798067 Pemrograman Terstruktur Bahasa C

PEMROGRAMAN TERSTRUKTUR

Prof. Dr. Ir. Ansar Suyuti, MT JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS HASANUDDIN MAKASSAR 2013

KATA PENGANTAR

Puji syukur penulis panjatkan kehadirat Allah SWT yang telah memberikan rahmat dan karunianya serta kesehatan dan kesempatan kepada penulis sehingga penyusunan buku bahan ajar untuk mata kuliah pemrograman terstruktur ini dapat terselesaikan dengan sangat baik.

Penyusunan buku bahan ajar ini menjadi salah satu hal penting dalam pelaksanaan proses perkuliahan karena merupakan salah satu komponen

Pemrograman terstruktur merupakan ilmu yang mempelajari tentang teknik pembuatan program secara terstruktur agar penyusunan program untuk suatu masalah yang rumit dapat lebih sederhana, dapat dimodifikasi (dikembangkan) dengan mudah, dan mempermudah pencarian bagian yang error saat pengujian. Bahasa pemrograman yang digunakan dalam buku ini adalah bahasa C.

penunjang

pembelajaran.

Selama proses penyusunan buku ini, penulis menyadari masih banyaknya kekurangan dalam buku bahan ajar ini. Oleh karena itu, penulis dengan sangat terbuka menerima segala bentuk kritik dan saran yang tentunya dapat membangun dan meningkatkan kemampuan kita bersama. Penulis berharap semoga buku ini dapat membantu dan bermanfaat bagi para pembaca.

Makassar, 11 Oktober 2013 Penulis

BAB I PENDAHULUAN

1. Deskripsi Mata Kuliah

Pemrograman terstruktur adalah mata kuliah yang mempelajari tentang bagaimana menyelesaikan suatu masalah komputasi melalui program yang lebih terstruktur dan mudah untuk dipahami. Bahasa pemrograman yang digunakan selama mata kuliah ini adalah bahasa pemrograman bahasa C. Bahasa pemrograman

penggunaan bahasa pemrograman ini secara luas telah digunakan dan mudah untuk dipahami. Mata kuliah ini merupakan salah satu mata kuliah wajib pada program studi Teknik Informatika.

2. Kegunaan Mata Kuliah

Dengan adanya mata kuliah ini mahasiswa memperoleh manfaat berupa kemampuan untuk menyusun program yang lebih sistematis dan sederhana dalam menyelesaikan suatu masalah. Selain itu menambah soft-skill mahasiswa dalam bidang pemrograman.

3. Tujuan Instruksional

Diharapkan setelah mengikuti mata kuliah ini mahasiswa mampu menyelesaikan masalah pemrograman yang lebih kompleks dengan lebih sederhana.

4. Petunjuk bagi Mahasiswa

1) Sebelum mengikuti perkuliahan diharapkan mahasiswa telah membaca materi pembahasan dari bahan ajar dan literatur lainnya yang berkaitan.

2) Mintalah petunjuk dari dosen jika ada hal yang belum terselesaikan, baik dalam diskusi kelompok maupun dalam diskusi kelas

3) Kerjakan setiap tugas yang diberikan pada setiap akhir kegiatan/pertemuan dengan baik.

4) Perbanyaklah latihan mengerjakan soal, baik secara teori maupun langsung dipraktekan dalam komputer dengan menggunakan bahasa pemrograman Bahasa C.

5. Sistem Penilaian

Adapun sistem penilaian untuk mata kuliah ini adalah :

1) Kehadiran

2) Tugas

3) Mid

4) Final

6. Garis – Garis Besar Program Pembelajaran Estimasi

No Tujuan Instruksional Khusus

Pokok Bahasan

Sub Pokok Bahasan

Pemrograman Konsep

1. Go to less Programming

1. Terstruktur

Pemrograman

2. Lingkungan Bahasa C

1 x 100

Terstruktur

3. Desain Program

Menjelaskan struktur dasar berupa elemen- Elemen Dasar

1. Tipe Data

2. elemen dasar dalam bahasa C

2. Variable & Constant

1 x 100

3. Operator & Expresi

Menerapkan perintah – perintah dasar dalam Perintah Dasar

1. Instruksi Input

3. program sederhana.

2. Inatruksi Output

1 x 100

3. Instruksi Sequential

Menerapkan perintah penyeleksian kondisi Perintah

Selection 1. Instruksi selection

4. 2 x 100 (Selection) dan perulangan (iterasion)

dan Iteration

2. Instruksi iteration

Membuat program menggunakan struktur Array

1. Membuat array

5. data array.

2. Aspek-aspek penting pada array

2 x 100

3. Melewatkan array ke dalam fungsi

Membuat program dengan menggunakan Fungsi

1. Fungsi pustaka pada bahasa C

fungsi

2. Parameter fungsi

3. Jenis variabel fungsi

2 x 100

4. Melewatkan nilai pada fungsi 5. Fungsi rekursif

Membuat program dengan struktur data Pointer

1. Membuat perintah pointer

pointer

2. Operator pointer

3. Operasi pointer

1 x 100

4. Pointer pada pointer, array, dan string

Membuat program dengan menggunakan Operasi file

1. Pengantar file

operasi file

Membuka dan menutup file

3. Melaksanakan proses file 4. File sequensial

1 x 100

9 Membuat program untuk kasus tertentu

Studi kasus

Program manipulasi

2 x 100

BAB II STRUKTUR DASAR BAHASA C

1. Pendahuluan

a. Deskripsi

Bab ini akan menyajikan tentang pengenalan bahasa C, tipe – tipe data yang digunakan dalam bahasa C, pengertian konstanta dan variabel, cara mendeklarasikan konstanta, variabel, dan fungsi, operator – operator dalam bahasa C, komentar dan kata – kata terkadang dalam bahasa C.

b. Tujuan pembelajaran

Setelah mengikuti perkuliahan ini, mahasiswa diharapkan mampu mengenal dan menggunakan tipe data, variabel, konstanta, operator – operator dan komentar dalam sebuah program bahasa C.

2. Teori Dasar

a. Pengenalan Bahasa C

Bahasa C diciptakan oleh Dennis Ritchie tahun 1972 di Bell Laboratories. Bahasa C adalah suatu bahasa pemrograman. Bahasa

C termasuk sebagai bahasa pemrograman tingkat menengah, maksudnya bahasa C bisa dipelajari dengan lebih mudah karena mudah dimengerti tetapi mempunyai kemampuan yang tinggi.

Bahasa C bisa digunakan untuk merekayasa program untuk segala kebutuhan, baik untuk aplikasi bisnis, matematis atau bahkan game. Setiap bahasa pemrograman memiliki kelebihan dan Bahasa C bisa digunakan untuk merekayasa program untuk segala kebutuhan, baik untuk aplikasi bisnis, matematis atau bahkan game. Setiap bahasa pemrograman memiliki kelebihan dan

 Bahasa C tersedia hampir di semua jenis computer.  Kode bahasa C sifatnya adalah portable dan fleksibel untuk

semua jenis computer.  Bahasa C hanya menyediakan sedikit kata-kata kunci. hanya terdapat 32 kata kunci.  Proses executable program bahasa C lebih cepat

 Dukungan pustaka yang banyak.  C adalah bahasa yang terstruktur  Bahasa C termasuk bahasa tingkat menengah penempatan ini

hanya menegaskan bahwa c bukan bahasa pemrograman yang berorientasi pada mesin. yang merupakan ciri bahasa tingkat rendah. Melainkan berorientasi pada obyek tetapi dapat dinterprestasikan oleh mesin dengan cepat. secepat bahasa mesin. inilah salah satu kelebihan c yaitu memiliki kemudahan dalam menyusun programnya semudah bahasa tingkat tinggi namun dalam mengeksekusi program secepat bahasa tingkat rendah.

Kekurangan Bahasa C:  Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai.  Bagi pemula pada umumnya akan kesulitan menggunakan pointer.

b. Struktur Bahasa C [1]

Adapun struktur dari bahasa C adalah sebagai berikut : <preprosesor directive> { <statement>; <statement>; }

Contoh :

 Preprosesor Directive (#include) Preprosesor Directive (#include) adalah perintah yang digunakan untuk memanggil file header (include file) yang didalamnya terdapat perintah, fungsi atau prototype yang bisa digunakan dalam program yan dibuat. Jika perintah #include ini tidak ditulis, maka komputer tidak mengerti perintah-perintah yang ditulis. Contoh:

#include <stdio.h> #include phi 3.14

 Header File Header adalah berkas yang berisi prototype fungsi, definisi konstanta dan definisi variable. Fungsi adalah kumpulan code C yang diberi nama dan ketika nama tersebut dipanggil maka kumpulan kode tersebut dijalankan.

Contoh : File header stdio.h digunakan untuk penanganan input / output standar seperti penulisan ke layar, ke file atau pembacaan data dari keyboard atau file. Dan masih ada lagi beberapa file header lainnya seperti conio.h, math.h,dll.

 Void Void artinya fungsi yang mengikutinya tidak memiliki nilai kembalian (return).  Main ( ) Fungsi main ( ) adalah fungsi yang pertama kali dijalankan ketika program dieksekusi. Tanpa fungsi main suatu program tidak dapat dieksekusi namun dapat dikompilasi.

 Statement Statement adalah instruksi atau perintah kepada suatu

program ketika program itu dieksekusi untuk menjalankan suatu aksi. Setiap statement diakhiri dengan titik-koma (;).

c. Tipe Data

Dalam bahasa C tipe data merupakan bagian program yang sangat penting karena tipe data mempengaruhi setiap perintah yang akan dilaksanakan oleh komputer. Sebagai contoh 3 dibagi 2 menghasilkan 1.5000 jika bertipe data float dan menghasilkan 1 jika bertipe data integer. Berikut adalah tipe dasar dalam bahasa C. Pemilihan tipe data yang tepat membuat program menjadi efisien dan efektif.

Tabel 2.1 Tipe – tipe data dalam pemrograman bahasa C[4] Tipe

No Ukuran

Keterangan Data

I byte

-128 s/d 127

%c

Karakter/string

-32768 s/d

Integer/ bilangan

-3.4E-38s/d

Float/bilangan

1.7E-308s/d

Pecahan presisi

Tidak bertipe

Contoh Program : #include “stdio.h”

#include “conio.h” void main() {

int a, b, c; float d;

a = 3; b = 2; c = a/b; d = a/b;

printf ( "nilai a / b adalah :%i", c); printf ( "nilai a / b adalah :%f", d); getch ();

Tampilan program diatas :

Catatan [2]:

Pemilihan tipe data harus hati-hati. Pertimbangkan jangkauan yang dimiliki oleh tipe data yang dipilih. Kesalahan dalam memilih tipe data akan menimbulkan suatu hasil yang tidak diperkirakan. Contoh :

int a=32000; int b=769; int c;

c=a+b; printf(“%i + %i = %i\n”,a,b,c);

Jika program tersebut dijalankan, maka akan menghasilkan output seperti berikut :

32000 + 769 = -32767 Hal tersebut terjadi karena jangkuan nilai c sudah melebihi jangkauan nilai untuk sebuah tipe data int. Bila suatu variable telah melebihi jangkauan nilainya maka nilai variable tersebut akan berputar menjadi nilai minimalnya dan jika nilainya kurang dari minimal jangkauan nilainya maka variable tersebut akan terisi oleh bilangan maksimal tipe tersebut.

Contoh : Nilai yang diharapkan :

Nilai yang tercetak pada bahasa C

32767 -32768 -32767

d. Konstanta

Konstanta adalah suatu nilai yang sifatnya tetap. Konstanta secara garis besar dapat terbagi 2 yaitu konstanta bilangan contoh 1,

2, 3, ….. dan konstanta teks yang dapat berupa karakter contohnya „a‟, „b‟, 4, & dan dapat pula berupa teks (string) contohnya “Makassar”, “Universitas Hasanuddin”. bahasa C juga menyediakan beberapa karakter khusus yang disebut karakter escape, antara lain :

 \a : untuk bunyi bell (alert)  \b : mundur satu spasi (backspace)  \f : ganti halaman (form feed)  \n : ganti baris baru (new line)  \r : ke kolom pertama, baris yang sama (carriage return)  \v : tabulasi vertical  \0 : nilai kosong (null)  \‟ : karakter petik tunggal  \” : karakter petik ganda  \\ : karakter garis miring

e. Variabel

Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu nilai tertentu di dalam proses program. Berbeda dengan konstanta yang nilainya selalu tetap, nilai dari suatu Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu nilai tertentu di dalam proses program. Berbeda dengan konstanta yang nilainya selalu tetap, nilai dari suatu

 Nama variabel hanya boleh terdiri dari huruf, angka, dan garis bawah / underscore atau gabungan dari ketiganya, dimana karakter pertamanya adalah huruf.

 Tidak mengandung simbol khusus seperti +, -, =, %, ^, @, ?, :, $, #, !, &, *, (, ) dll dan tidak mengandung spasi.  Bersifat case sensitive yaitu huruf kecil dan huruf besar berbeda. Contoh : varibel nama, Nama, dan NAMA dianggap

berbeda.  Keyword (kata kunci) yang telah digunakan dalam bahasa C

tidak boleh digunakan sebagai nama variabel,seperti include, using, scanf, printf, int, float dll.

 Panjangnya bebas namun yang ditampilkan hanya 32 karakter.

Contoh penamaan variabel yang benar : x, nama, UNHAS, D411, nama_mhs, dll. Contoh penamaan variable yang salah : 12nama, %unhas, x#nama, nama saya, float, dll.

f. Deklarasi

Deklarasi diperlukan bila kita akan menggunakan pengenal (identifier) dalam program. Identifier dapat berupa variable, konstanta dan fungsi.

 Deklarasi Variabel Bentuk umum pendeklarasian suatu variable adalah :

Nama_tipe nama_variabel;

Contoh : int a;

(deklarasi a bertipe integer)

char b, huruf, nip[5]; (deklarasi b, huruf, nip[5], bertipe karakter) float c;

(deklarasi c bertipe float)

double d;

(deklarasi d bertipe double

int array[2][3]; (deklarasi array bertipe integer) char *p;

(deklarasi pointer bertipe karakter)  Deklarasi Konstanta Dalam bahasa C konstanta dideklarasikan menggunakan

preprocessor #define. Contohnya : #define PHI 3.14 #define nim “D412110123” #define nama “Si bulan”

 Deklarasi Fungsi

Fungsi merupakan bagian yang terpisah dari program dan dapat diaktifkan atau dipanggil di manapun di dalam program. Fungsi dalam bahasa C ada yang sudah disediakan sebagai fungsi pustaka seperti printf(), scanf(), getch() dan untuk menggunakannya tidak perlu dideklarasikan. Fungsi yang perlu dideklarasikan terlebih dahulu adalah fungsi yang dibuat oleh programmer. Bentuk umum deklarasi sebuah fungsi adalah :

Tipe_fungsi nama_fungsi (parameter_fungsi);

Contohnya : float luas_lingkaran(int jari); void tampil(); int tambah(int x, int y); Contohnya : float luas_lingkaran(int jari); void tampil(); int tambah(int x, int y);

1) Operator Penugasan

Operator Penugasan (Assignment operator) dalam bahasa C berupa tanda sama dengan (=) Contoh :

a=5;

A = x * y; Artinya : variabel a diisi dengan 5 dan variable A diisi dengan hasil perkalian antara x dan y.

2) Operator Aritmatika

Bahasa C menyediakan lima operator aritmatika, yaitu : Tabel 2.2 Operator aritmatika Operator

Sisa Pembagian

Contoh program :

#include "stdio.h" #include "conio.h" void main() {

clrscr(); // untuk membersihkan layar printf("Nilai dari 7 + 3 = %i", 7 + 3); printf("\nNilai dari 7 - 3 = %i", 7 - 3); printf("\nNilai dari 7 * 3 = %i", 7 * 3); printf("\nNilai dari 7 / 3 = %i", 7 / 3); clrscr(); // untuk membersihkan layar printf("Nilai dari 7 + 3 = %i", 7 + 3); printf("\nNilai dari 7 - 3 = %i", 7 - 3); printf("\nNilai dari 7 * 3 = %i", 7 * 3); printf("\nNilai dari 7 / 3 = %i", 7 / 3);

Tampilan program diatas adalah :

3) Operator Unary

Operator Unary aadalah operator yang hanya membutuhkan satu operand saja. Berikut adalah beberapa operator unary dalam bahasa C : Tabel 2.3 Operator unary [4] Operator

- Unary minus

A + (-B) * C

operator

Peningkatan dengan Sebelum dan ++

A++ penambahan nilai 1

sesudah

Penurunan dengan Sebelum dan --

A-- pengurangan 1

sesudah

! Unary not

!A Menghasilkan alamat

Sebelum

&A memori operand

Sebelum

~ Bitwise NOT

~A Menghasilkan nilai dari

Sebelum

*A pointer

Sebelum

Ukuran dari operand dalam Sizeof

sizeof (A) byte

Sebelum

4) Operator Hubungan (Perbandingan)

Operator Hubungan digunakan untuk membandingkan hubungan antara dua buah operand sebuah nilai atau variable. Operator hubungan dalam bahasa C :

Tabel 2.4 Operator hubungan [4] Operator

Lebih kecil dari

a >= b >

Lebih kecil sama dengan dari

a<b >=

Lebih besar

a >= b ==

Lebih besar sama dengan dari

a == b !=

Sama dengan

Tidak sama dengan

a != b

5) Operator Logika

Operator logika adalah operator yang digunakan untuk membandingkan logika hasil dari operator-operator hubungan. Operator logika ada tiga macam, yaitu [3]:

&& : Logika AND (DAN) || : Logika OR (ATAU) ! : Logika NOT (INGKARAN)

6) Operator Bitwise

Operator bitwise digunakan untuk memanipulasi bit-bit dari nilai data yang ada di memori. Operator bitwise dalam bahasa C [3]: << : Pergeseran bit ke kiri >> : Pergeseran bit ke kanan & : Bitwise AND ^ : Bitwise XOR (exclusive OR) | : Bitwise OR ~ : Bitwise NOT

7) Kata Tercadang (Reserved Word)

Bahasa C standar ANSI memiliki 32 kata tercadang (reserved word) dan Turbo C menambahkannya dengan 7 kata tercadang. Semua reserved word tidak boleh digunakan dalam penamaan identifier (variable, nama fungsi dll). Kata Tercadang yang tersedia dalam bahasa C adalah sbb [4]:

*asm

switch auto

typedef break

union case

unsigned *cdecl

void char

volatile const

while continue

*far

long

static

float

*near

struct

8) Komentar Program

Komentar program hanya diperlukan untuk memudahkan pembacaan dan pemahaman suatu program (untuk keperluan dokumentasi program). Dengan kata lain, komentar program hanya merupakan keterangan atau penjelasan program. Untuk memberikan komentar atau penjelasan dalam bahasa C digunakan pembatas /* dan */ atau menggunakan tanda // untuk komentar yang hanya terdiri dari satu baris. Komentar program tidak akan ikut diproses dalam program (akan diabaikan). Contoh program :

#include <stdio.h> #include <conio.h> void main() { clrscr(); // untuk membersihkan layar printf(“Universitas Hasanuddin”); /* Mencetak Universitas Hasanuddin */ getch(); }

Tampilan program diatas :

3. Latihan Soal

Kerjakanlah latihan soal berikut!

1. Buatlah sebuah program menghitung nilai rata – rata dari data nilai mahasiswa yang terdiri atas nilai tugas1, tugas2 , mid test, dan final test dimana komposisi nilai adalah tugas 20%, mid 40%, dan final 40% .

2. Sebuah toko memberikan discount untuk setiap pembelian minimum Rp 50.000,-. Hitunglah jumlah yang harus dibayar oleh setiap pelanggan untuk setiap pembelian.

Daftar Pustaka

[1] Bahasa Pemrograman C. diakses pada tanggal 13 Oktober 2013. http://www2.ukdw.ac.id/kuliah/info/TI2023/Modul08A.pdf

[2] Kurniawan Khannedy Eko. 2007. “Pemrograman C”. Teknik Informatika. UNICOM.

[3] Frieyadie. 2005. “Panduan Pemrograman C ++ ”. Penerbit Andi. Yogyakarta

[4] Solichin Achmad. “Pemrograman Bahasa C dengan Turbo C”. www.ilmukomputer.com

BAB III INPUT DAN OUTPUT

1. Pendahuluan

a. Deskripsi

Bab ini menyajikan tentang beberapa perintah input dan output yang digunakan dalam bahasa C dan cara pendeklarasian dan penggunaannya masing – masing.

b. Tujuan Pembelajaran

Setelah mempelajari bab ini diharapkan mahasiswa mampu menggunakan setiap perintah input dan output dalam membuat program pada pemrograman bahasa C.

2. Teori Dasar

a. Perintah Input

Perintah standar input yang merupakan fungsi pustaka bahasa

C diantaranya adalah :

1) Scanf() [4]

Fungsi pustaka scanf() digunakan untuk menginput data berupa data numerik, karakter dan string secara terformat. Hal-hal yang perlu diperhatikan dalam pemakaian fungsi scanf() :

 Fungsi scanf() memakai penentu format  Fungsi scanf() memberi pergantian baris secara otomatis  Fungsi scanf() tidak memerlukan penentu lebar field  Variabelnya harus menggunakan operator alamat &

Bentuk umum dari fungsi ini adalah :

scanf (“penentu format”, &nama_variabel);

Tabel 3.1 Kode penentu format [1] Penentu

Tipe Data

Format Integer

%d atau %i Bentuk desimal/ berpangkat/

%e atau %f floating point

Karakter %c String

%s Unsigned octal integer

%o Unsigned hexadecimal integer

%x Unsigned integer

%u

Contoh program : #include <stdio.h>

#include <conio.h> void main () {

int a; float b; char nama[10];

printf("Masukkan nilai a = "); scanf("%d", &a); printf("Masukkan nilai b = "); scanf("%e", &b); printf("Masukkan nama Anda = "); scanf("%s", &nama);

Tampilan program diatas :

2) Gets()

Fungsi Gets () digunakan untuk memasukkan data string. Bentuk umum fungsi ini adalah [4]:

gets (nama_variabel_array)

Contoh program : #include <stdio.h>

#include <conio.h> void main () {

char nama[20]; char jurusan[20]; printf("Masukkan nama Anda : "); gets (nama); printf ("\nMasukkan jurusan Anda : "); gets (jurusan);

Tampilan program diatas adalah :

3) Getch()

Fungsi getch() (get character and echo) digunakan untuk sebuah karakter dengan sifat karakter yang dimasukkan tidak perlu diakhiri dengan menekan tombol ENTER, dan karakter yang dimasukkan tidak akan ditampilkan dilayar. File header yang harus disertakan adalah conio.h [4].

Contoh program [3]: #include <stdio.h>

#include <conio.h> void main () {

char a; printf("Masukkan sebuah karakter : ");

a = getch (); printf ("\nKarakter yang Anda masukkan adalah :%c ", a); getch ();

Tampilan program diatas :

4) Getchar()

Fungsi getchar() digunakan untuk membaca data yang bertipe karakter. Penggunaannya harus diakhiri dengan penekanan tombol ENTER dan karakter yang dimasukkan akan terlihat pada layar [4]. Contoh program : #include <stdio.h> void main () {char c;

printf ("Masukkan sebuah karakter: "); c = getchar (); printf ("%c", c); }

Tampilan program diatas adalah :

5) Getche()

Fungsi getche() digunakan untuk membaca sebuah karakter dengan sifat karakter yang dimasukkan tidak perlu diakhiri dengan menekan tombol ENTER, dan karakter yang dimasukkan ditampilkan dilayar. File header yang harus disertakan adalah conio.h[4]. Contoh program : #include <stdio.h>

#include <conio.h> void main () {

char a; printf("Masukkan sebuah karakter : ");

a = getche (); printf ("\nKarakter yang Anda masukkan adalah :%c ", a); getch ();

Tampilan program diatas adalah :

b. Perintah Output

Untuk menampilkan data pada layar maka fungsi yang dapat digunakan adalah [4] :

 Fungsi printf() digunakan untuk menampilkan semua jenis

data (numeric dan karakter)

Bentuk penulisan : printf (“string-kontrol”, argument-1, argument-2,..);

 Fungsi puts() digunakan untuk menampilkan data string dan secara otomatis akan diakhiri dengan perpindahan baris.  Fungsi putchar() digunakan untuk menampilkan sebuah karakter.

Contoh program : #include <stdio.h>

#include <conio.h> void main () {

int a = 10; float b = 5; char c[10] = "UNHAS"; printf ("Nilai a adalah :%i \n", a); printf ("Nilai a adalah ;%i dan nilai b adalah : %f\n\n", a, b); puts ("Saya kuliah di"); puts (c); puts ("\nSaya kuliah di"); putchar ('U'); putchar ('N'); putchar ('H'); putchar ('A');putchar ('S'); getch ();

Tampilan program diatas adalah :

Mengatur lebar field [1]: Bila ingin mencetak atau menampilkan data yang bertipe data float atau pecahan, tampilan yang tampak biasanya kurang bagus. Untuk mengatur lebar field dan jumlah desimal yang akan dicetak, dapat digunakan bentuk penulisan :

%a.bf

Jumlah desimal Contoh program [1]: #include <stdio.h>

Lebar field

#include <conio.h> void main () {

float a = 1.23, b = 321.5; printf ("Bilangan a tanpa pengaturan lebar fild = %f\n",a ); printf ("Bilangan b tanpa pengaturan lebar fild = %f\n\n",b ); printf ("Bilangan a dengan pengaturan lebar fild = %3.2f\n",a ); printf ("Bilangan b dengan pengaturan lebar fild = %3.2f\n",b ); getch ();

Contoh Kasus[2]

Di suatu perusahaan, data penggajian dihitung dengan ketentuan sebagai berikut : Gaji Pokok : Rp. 5000000

Gaji Lembur/jam : Rp. 5000 Total Gaji Lembur : Lama Lembur * Gaji Lembur/jam Gaji Kotor : Gaji Pokok + Total Gaji Lembur Pajak : 10% Gaji Bersih : Gaji Kotor - Pajak

Data yang diinputkan adalah : Nama Pegawai, Lama Lembur. #include <stdio.h>

#include <conio.h> main() {

int jamlembur; long int gajipokok=500000,gajikotor,totalgajilembur; float pajak,gajibersih; char nama[50]; clrscr(); printf("Nama Pegawai : ");gets(nama); printf("Lama Lembur : ");scanf("%i",&jamlembur); totalgajilembur=(long int)5000*jamlembur; gajikotor=gajipokok+totalgajilembur; pajak=0.1*gajikotor; gajibersih=gajikotor-pajak; clrscr(); printf("Hasil Perhitungan\n"); printf("Nama Pegawai : %s\n",nama); printf("Gaji Pokok : Rp. %10li\n",gajipokok); printf("Lama Lembur : %i jam\n",jamlembur); printf("Total Gaji Lembur : Rp. %10li\n",totalgajilembur); printf("Gaji Kotor : Rp. %10li\n",gajikotor); printf("Pajak (10%%) : Rp. %10.0f\n",pajak); printf("Gaji Bersih : Rp. %10.0f\n",gajibersih); getch();

Tampilan program diatas adalah :

3. Latihan

Kerjakanlah soal latihan berikut!

1) Buatlah sebuah Menginput data pegawai pada sebuah instansi

dimana data yang dibutuhkan adalah Nama, NIP, Tempat dan tanggal lahir, dan Alamat.

2) Buatlah sebuah program untuk membuat sebuah password.

3) Buatlah sebuah program untuk Menginput sebuah nilai yang menyatakan waktu dalam detik, kemudian cetaklah waktu tersebut dalam bentuk :

Jam, Menit, dan Detik

Daftar Pustaka

[1] Frieyadie. 2005. “Panduan Pemrograman C ++ ”. Penerbit Andi. Yogyakarta

[2] Kurniawan Khannedy Eko. 2007. “Pemrograman C”. Teknik Informatika. UNICOM.

[3] Sjukani Moh. 2009. “Algoritma (Algoritma & Struktur Data 1) dengan C, C++, dan Java, Teknik – Teknik Dasar Pemrograman Komputer ”. Edisis 5. Mitra Wacana Media. Jakarta

[4] Solichin Achmad. “Pemrograman Bahasa C dengan Turbo C”. www.ilmukomputer.com

BAB IV PENYELEKSIAN KONDISI

1. Pendahuluan

a. Deskripsi

Bab ini menyajikan tentang fungsi – fungsi yang digunakan dalam menyelesaikan program penyeleksian kondisi pada pemrograman bahasa C serta perbedaan penggunaan masing – masing.

b. Tujuan pembelajaran

Setelah mengikuti perkuliahan ini mahasiswa diharapkan mampu membuat program dengan menggunakan fungsi selection.

2. Teori Dasar

Penyeleksian kondisi digunakan untuk menentukan alur suatu proses. Penyeleksian kondisi biasanya digunakan dalam program yang kompleks. Penyeleksian kondisi melibatkan beberapa operator dalam bahasa C, yaitu : operator hubungan (perbandingan), logika, dan bitwise. Fungsi seleksi terdiri dari 3 tipe pernyataan yaitu :

a. Struktur Kondisi “ if … “

Bentuk umum If [1]: if (kondisi)

{ statement1;

… statementn; }

Jika kondisi yang diseleksi terpenuhi maka statement tersebut akan dikerjakan sedangkan jika kondisi tersebut tidak terpenuhi maka akan menjalankan program berikutnya setelah seleksi kondisi tersebut. Contoh program 1: #include <stdio.h>

#include <conio.h> void main () {

float tot_pembelian, discount, tot_pembayaran; printf ("Masukkan Total Pembelian Rp :"); scanf ("%f",&tot_pembelian); if (tot_pembelian >= 100000)

discount = 0.2*tot_pembelian; printf ("\nAnda memperoleh discount 10 %"); printf ("\nBesarnya Potongan : Rp %10.0f",discount); tot_pembayaran = tot_pembelian - discount; printf ("\nJumlah yang Anda bayar adalah : Rp %10.0f",

tot_pembayaran); printf ("\n\nTERIMA KASIH ATAS KUNJUNGAN ANDA"); getch ();

Tampilan program diatas adalah :

Jika dalam sebuah IF perintah yang hendak dijalankan lebih dari 1 perintah, maka perintah – perintah tersebut harus dikelompokkan dalam sebuah blok { }. Format penulisannya adalah [5]:

if <kondisi> {

statement 1; statement 2;

} Statement 3; Statement 4;

Dengan format IF diatas, jika kondisi benar, maka perintah yang dijalankan adalah perintah yang terletak dalam kurung kurawal (statement 1 dan statement 2), sedangkan statement3 dan statement

4 akan dijalankan tanpa bergantung dari kondisi yang ada. Contoh program 2 [5]: # include <stdio.h>

#include <conio.h> main () { float suhu; printf ("Masukkan suhu dalam derajat Celcius :"); scanf ("%f", &suhu); if (suhu < 24)

{printf ("\nSebaiknya tidak mandi!\n"); printf ("\nJangan menyalakan AC."); } {printf ("\nSebaiknya tidak mandi!\n"); printf ("\nJangan menyalakan AC."); }

getch (); } Tampilan program diatas :

b. Struktur Kondisi “ if … else …“

Bentuk umum If – Else : if (kondisi)

{ Statement; } else } Statement; } Jika kondisi yang diseleksi terpenuhi maka statement pertama

yang akan dikerjakan sedangkan jika kondisi tersebut tidak terpenuhi statement kedua yang akan dikerjakan. Diakhir setiap statement menggunakan tanda (;) walaupun sebelum else. Contoh program :

#include <stdio.h> #include <conio.h> void main () { #include <stdio.h> #include <conio.h> void main () {

printf ("\nAnda memperoleh discount 10 %"); discount = 0.2*tot_pembelian;

} else {

printf ("\nAnda memperoleh discount 5 %"); discount = 0.05*tot_pembelian;

} printf ("\nBesarnya Potongan : Rp %10.0f",discount); tot_pembayaran = tot_pembelian - discount; printf ("\nJumlah yang Anda bayar adalah : Rp %10.0f",

tot_pembayaran); printf ("\n\nTERIMA KASIH ATAS KUNJUNGAN ANDA"); getch (); }

Tampilan program diatas adalah :

Contoh program 2 [4]: Berikut adalah program untuk menginput tiga buah bilangan bulat (misal A, B, dan C) kemudian mencetak ketiga nilai tersebut urut dari nilai kecil ke nilai besar [3] # include <stdio.h>

# include <conio.h> void main () { int A, B, C; printf ("Input nilai A ="); scanf ("%i", &A); printf ("Input nilai B ="); scanf ("%i", &B); printf ("Input nilai C ="); scanf ("%i", &C); if (A < B)

{ if (B < C) printf ("%i ,%i ,%i ",A, B, C);

else {if (A < C) printf ("%i ,%i ,%i ",A, C, B);

else printf ("%i ,%i ,%i ",C, A, B); } } else {if (A < C) printf ("%i ,%i ,%i ",B, A, C);

else { if (B < C) printf ("%i ,%i ,%i ", B, C, A); else

printf ("%i ,%i ,%i ",C, B, A); } } getch (); }

Tampilan program diatas adalah : Tampilan program diatas adalah :

Struktur kondisi switch digunakan untuk penyeleksian kondisi dengan kemungkinan yang terjadi cukup banyak[1]. Bentuk Umum Switch : switch (ekspresi)

{ case 1: Statement 1; break; case 2 : Statement 2; break;

… case n : Statement n;

break; default : Statement m;

Contoh program : #include <stdio.h>

#include <conio.h> void main () {

char jurusan; printf ("1. Teknik Sipil \n2. Teknik Mesin \n3. Teknik Perkapalan \n4.

Teknik Elektro"); printf ("\n5. Teknik Arsitektur \n6. Teknik Geologi"); printf ("\n\nMasukkan kode jurusan Anda :"); jurusan = getchar (); switch (jurusan)

{ case '1' : puts ("TEKNIK SIPIL"); break; case '2' : puts ("TEKNIK MESIN"); break; case '3' : puts ("TEKNIK PERKAPALAN"); break; case '4' : puts ("TEKNIK ELEKTRO"); break; case '5' : puts ("TEKNIK ARSITEKTUR"); break; case '6' : puts ("TEKNIK GEOLOGI"); break ; default : puts ("Kode Anda Salah"); break; }

getch (); }

Tampilan program diatas adalah :

Contoh Program 2 [2]: Contoh switch… case berjenjang

# include <stdio.h> # include <conio.h> void main () { char KodePulau; int KodeKota;

printf ("Kode Pulau : \nJ = Jawa \nS = Sumatera \nK = Kalimantan"); printf ("\nMasukkan Kode Pulau : \t"); scanf ("%c", &KodePulau); switch (KodePulau) { case 'J': printf ("Kode Pulau : \nJ = Jawa \nS = Sumatera \nK = Kalimantan"); printf ("\nMasukkan Kode Pulau : \t"); scanf ("%c", &KodePulau); switch (KodePulau) { case 'J':

Yogyakarta\n"); printf ("Masukkan Kode Kota :\t"); scanf ("%i", &KodeKota); switch (KodeKota) {

case 1 : printf ("\nJakarta");

break;

case 2 : printf ("\nSurabaya");

break;

case 3 : printf ("\nBandung");

break;

case 4 : printf ("\nSemarang");

break;

case 5 : printf ("\nYogyakarta");

break;

default : printf ("Kode Kota di Pulau Jawa Salah"); } break; case 'S': printf ("PULAU SUMATERA \n"); printf ("Kode Kota di Sumatera"); printf ("\n1. Medan \n2. Palembang \n3. Padang\n"); printf ("Masukkan Kode Kota : \t"); scanf ("%i", &KodeKota); switch (KodeKota) {

case 1 : printf ("\nMedan");

break;

case 2 : printf ("\nPalembang");

break;

case 3 : printf ("\nPadang");

break;

default : printf ("Kode Kota di Pulau Sumatera Salah"); } break; default : printf ("Kode Kota di Pulau Sumatera Salah"); } break;

case 1 : printf ("\nBanjarmasin");

break;

case 2 : printf ("\nPontianak");

break;

default : printf ("Kode Kota di Pulau Kalimantan Salah"); } break; default : printf ("Kode Pulau Salah");

} getch (); }

Tampilan program diatas adalah :

d. Multi Kondisi dan Opertor Logika [3]

Kadang – kadang satu kondisi saja tidak cukup untuk menentukan suatu syarat, sehingga diperlukan dua atau lebih kondisi. Untuk menggabungkan kondisi – kondisi tersebut digunakan operator yang disebut operator logika. Adapun operator logika dapat digunakan : AND (&&), OR (||), dan NOT (!). Contoh Program 1 : # include <stdio.h>

# include <conio.h> void main () {

int a, b, c; printf ("Input nilai A : "); scanf ("%i", &a); printf ("Input nilai B : "); scanf ("%i", &b); printf ("Input nilai C : "); scanf ("%i", &c); if (a > b && a > c )

printf ("Nilai maksimum adalah %i", a); if (b > a && b > c ) printf ("Nilai maksimum adalah %i", b); if (c > a && c > b ) printf ("Nilai maksimum adalah %i", c);

getch (); }

Tampilan program diatas adalah :

Contoh program 2 [2]: #include <stdio.h> #include <conio.h> main() {

int kodejurusan,kodekelas,banyaktiket; long int hargatiket,total; float diskon,bayar; printf("Pilih Jurusan :\n"); printf("---------------\n"); printf("1. Jakarta\n2. Yogya\n3. Surabaya\n"); printf("---------------\n"); printf("Jurusan yang dipilih : ");scanf("%i",&kodejurusan); printf("Pilih Kelas :\n"); printf("---------------\n"); printf("1. Eksekutif\n2. Bisnis\n3. Ekonomi\n"); printf("---------------\n"); printf("Kelas yang dipilih : ");scanf("%i",&kodekelas); printf("Banyak Tiket : ");scanf("%i",&banyaktiket);

if((kodejurusan==1)&&(kodekelas==1)) hargatiket=70000; else if((kodejurusan==1)&&(kodekelas==2))

hargatiket=40000; else if((kodejurusan==1)&&(kodekelas==3))

hargatiket=10000; else if(kodejurusan==2) {

if(kodekelas==1) hargatiket=80000; else if(kodekelas==2) hargatiket=50000; else if(kodekelas==3) hargatiket=20000;

} else if(kodejurusan==3) { switch (kodekelas)

{ case 1:hargatiket=90000;break; case 2:hargatiket=60000;break; case 3:hargatiket=30000; } } printf("Harga Tiket : Rp. %li\n",hargatiket); total=banyaktiket*hargatiket; printf("Total Tiket : Rp. %li\n",total); if( ((kodejurusan==3)&&(kodekelas==1)) || ((kodejurusan==2)&&(kodekelas==2)) ) diskon=0.1*total; else diskon=0; printf("Diskon 10%% : Rp. %f\n",diskon); bayar=total-diskon; printf("Bayar : Rp. %f\n",bayar); getch(); return 0;

Tampilan program diatas adalah :

3. Latihan

1) Buatlah nilai huruf dengan kriteria sebagai berikut : Nilai Huruf

Range Nilai

A Nilai akhir > 85

B 70>= nilai akhir <= 85

C 60>= nilai akhir < 70

D 50 >= nilai akhir < 60

E Nilai akhir < 50

2) Buatlah program mengklasifikasikan jenis buku berikut : Kode 1 : komputer Kode 2 : akuntansi Kode 3 : hukum Kode 4 : manajemen Kode 5 : kedokteran

3) Buatlah sebuah program untuk menentukan jenis sebuah segitiga dengan memberi 3 input bilangan yang menyatakan panjang sisi dari sebuah segitiga. Jika ketiga sisi dari bilangan tersebut sama maka segitiga tersebut adalah segitiga sama sisi, jika kedua bilangan sama maka segitiga tersebut adalah segitiga sama kaki, dan jika ketiga bilangan yang diinput berbeda maka segitiga tersebut adalah segitiga sembarang.

a. Gunakan operator logika AND (&&) atau OR (||).

b. Gunakan operator logika AND (&&) dan OR (||).

Daftar Pustaka

[1] Frieyadie. 2005. “Panduan Pemrograman C ++ ”. Penerbit Andi. Yogyakarta

[2] Kurniawan Khannedy Eko. 2007. “Pemrograman C”. Teknik Informatika. UNICOM.

[3] Sjukani Moh. 2009. “Algoritma (Algoritma & Struktur Data 1) dengan C, C++, dan Java, Teknik – Teknik Dasar Pemrograman Komputer ”. Edisis 5. Mitra Wacana Media. Jakarta

[4] Solichin Achmad. “Pemrograman Bahasa C dengan Turbo C”. www.ilmukomputer.com

[5] Swastika Windra. April 2012. "Dasar Algoritma dan Pemrograman menggunakan C & Java". Prestasi Pustaka Publisher. Jakarta

BAB V PERULANGAN

1. Pendahuluan

a. Deskripsi

Dalam bab ini dijelaskan tentang fungsi – fungsi yang digunakan untuk membuat perintah perulangan dan perbedaan penggunaan masing - masing fungsi.

b. Tujuan Pembelajaran

Setelah mengikuti perkuliahan ini, mahasiswa diharapkan mampu menyelesaikan masalah perulangan dengan menggunakan program bahasa C.

2. Teori Dasar

Perulangan data atau yang biasa disebut dengan “looping” adalah proses yang dilakukan secara berulang-ulang sampai batas

yang ditentukan. Perulangan akan berhenti jika nilai yang dimasukan sudah tidak memenuhi syarat yang diberikan. Jenis – jenis perulangan:

a. For

For digunakan untuk mengulang suatu proses yang telah diketahui jumlah perulangannya. Syntax untuk menuliskan perintah for adalah sebagai berikut [4]:

for (inisialisasi; syarat_perulangan; pengubah_nilai_pencacah)

Keterangan :  Inisialisasi : bagian untuk memberikan nilai awal untuk variabel – variabel tertentu

 Syarat pengulangan : memegang kontrol terhadap pengulangan, karena bagian ini yang akan menentukan suatu

perulangan diteruskan atau dihentikan.  Pengubah nilai pencacah : mengatur kenaikan atau penurunan nilai pencacah.

Contoh program 1: #include <stdio.h>

#include <conio.h> void main () {

int a; for (a = 1; a <=10; a++) {

printf ("%d. UNIVERSITAS HASANUDDIN MAKASSAR\n",a);

} getch();

Tampilan program diatas :

Contoh program 2 : Berikut adalah contoh program untuk menghitung nilai factorial dari n (n!) menggunakan for.

#include <stdio.h> #include <conio.h>

main () { int i, j; int hasil = 1; printf ("PROGRAM UNTUK MENGHITUNG FAKTORIAL N!"); printf ("\n\nInput N = "); scanf ("%i", &j); for (i = j; i >=1; i--)

{hasil = hasil*i; } printf ("\n\nHasil faktorial : %d", hasil);

getch (); }

Tampilan Program diatas :

Contoh program 3 [2]: Berikut akan diberikan contoh penggunaan perintah for dalam for : #include <stdio.h>

#include <conio.h> main () { int i, j; for (i = 1; i < 6; i++)

{for (j = 1; j <=i ; j++)

{printf ("%d",i); } printf ("\n"); } getch (); }

Tampilan program diatas:

b. While

While digunakan untuk mengulang suatu proses yang belum diketahui jumlahnya. Pengecekan kondisi akan dilakukan terlebih dahulu. Jika kondisi masih bernilai true, maka looping akan terus berlanjut. Bentuk penulisan while adalah sebagai berikut[1]:

while (syarat_pengulangan) { statement_yang_akan_diulang; }

Contoh program 1: # include "stdio.h"

#include "conio.h" void main() { clrscr();

int bil = 1; int bil = 1;

printf ("%i", bil); bil++;

} getch(); }

Tampilan program diatas adalah :

Contoh program 2 [2]: #include <stdio.h>

#include <conio.h> main() {

int i; float f; i=1; while (i<=1000) { printf("%i\n",i); i++; } f=10; while (f>=0) { printf("%6.2f\n",f); f=f-0.5;

} getch(); return 0;}

Tampilan program diatas adalah : Tampilan program diatas adalah :

Do while digunakan untuk mengulang suatu proses yang belum diketahui jumlahnya. Instruksi akan dijalankan lebih dahulu, kemudian dilakukan pengecekan kondisi apabila masih bernilai true maka looping akan terus berlanjut. Bentu penulisannya sebagai berikut [1]:

do { statement-yang-akan-diulang; } while (syarat-pengulangan);

Contoh program : # include <stdio.h>

# include <conio.h> void main () {

int bil = 2; do

{ printf ("%i", bil); bil +=2;

} while (bil<=10); getch (); }

Tampilan program diatas adalah :

Contoh program 2 [2]: Contoh program berikut akan menunjukkan bagaimana proses penjualan n buah barang dengan melakukan entry harga barang dan jumlah pembelian. # include <stdio.h>

#include <conio.h> main () { int hitung = 0; // memberi nilai awal counter int n, jumlah; long harga, subtotal, total = 0; do {

printf ("\nBarang ke - %d\n", hitung+1); printf ("Harga Barang : "); scanf ("%d", &harga);

if (harga!=0)

{ printf ("Jumlah : ");

scanf ("%d", &jumlah);

subtotal = harga * jumlah; total = total + subtotal; hitung ++;

} }while (harga!=0); } }while (harga!=0);

Tampilan program diatas adalah :

Contoh aplikasi [3]: Titik A dan titik B hanya dihubungkan oleh satu buah jalan sepanjang 1000 m. Ali berangkat dari titik A menuju titik B tepat jam

08 : 15 : 27 dengan kecepatan tetap 2 m/det. Badu berangkat dari titik B pada jam yang sama menuju titik A dengan kecepatan tetap 3 m/det. Susun program untuk mencetak pukul berapa ( Jam: Menit: detik) Ali dan Badu berpapasan di jalan. # include <stdio.h>

#include <conio.h> void main () { int vAli, vBadu, sAli, sBadu, s, t; long int t1, t2, det, J, M, D; vAli = 2; vBadu = 3; sAli = 0; sBadu; #include <conio.h> void main () { int vAli, vBadu, sAli, sBadu, s, t; long int t1, t2, det, J, M, D; vAli = 2; vBadu = 3; sAli = 0; sBadu;

{ sAli = sAli + vAli; sAli = sBadu+ vBadu; t = t + 1;

} t1 = 8*3600L + 15*60 +27; t2 = t1 + t; det = t2; J = det/ 3600; det = det % 3600; M = det / 60; det = det % 60;

D = det; printf ("%li : %li : %li", J, M, D); getch (); }

Tampilan program diatas adalah :

3. Latihan

1) Buatlah program menghitung 10 deret bilangan genap dengan hasilnya!

a. Dan ganjil dengan hasilnya!

b. 1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 17 + 19 = 100

2) Buatlah program untuk menghitung perkalian deret bilangan ganjil membentuk segitiga siku dengan hasilnya!

1x3x5

1x3x5x7

1x3x5x7x9 = 945

3) Seseorang menyimpan uang Rp 1.000.000,- di bank dengan bunga ber-bunga 2 % perbulan. Jadi setelah satu bulan uangnya menjadi Rp 1.020.000,-. Satu bulan berikutnya uangnya ini mendapat bunga lagi 2%, sehingga setetlah 2 bulan, uangnya menjadi Rp 1.020.000 + Rp 20.400,- = Rp 1.040.400,- dan demikian seterusnya. Buatlah program untuk menghitung dan mencetak jumlah uangnya stetlah 10 bulan.

Daftar Pustaka

[1] Frieyadie. 2005. “Panduan Pemrograman C ++ ”. Penerbit Andi. Yogyakarta

[2] Kurniawan Khannedy Eko. 2007. “Pemrograman C”. Teknik Informatika. UNICOM.

[3] Sjukani Moh. 2009. “Algoritma (Algoritma & Struktur Data 1) dengan C, C++, dan Java, Teknik – Teknik Dasar Pemrograman Komputer ”. Edisis 5. Mitra Wacana Media. Jakarta

[4] Solichin Achmad. “Pemrograman Bahasa C dengan Turbo C”. www.ilmukomputer.com

BAB VI ARRAY

1. Pendahuluan

a. Deskripsi

Bab ini menyajikan tentang pengertian, cara deklarasi, dan penggunaan array baik array berdimensi satu, array berdimensi dua, dan array multi-dimensi. Serta disajikan contoh – contoh penggunaannya masing – masing.

b. Tujuan Pembelajaran

Setelah mengikuti perkuliahan ini, mahasiswa diharapkan dapat memahami penggunaan array serta mampu mengaplikasikan dalam menyelesaikan program yang membutuhkan penyelesaian dengan array.

2. Teori Dasar

Array atau larik adalah tipe terstruktur yan terdiri dari sejumlah komponen yang mempunyai tipe yang sama. Jumlah komponen dalam sebuah array adalah tetap. Banyaknya komponen dalam array ditunjukkan oleh indeks yang berfungsi untuk membedakan variabel yang satu dengan variabel lainnya. Dalam bahasa C dikenal 3 macam array yaitu :

a. Array Berdimensi Satu

Untuk mengakses setiap elemen dalam array dapat dilakukan dengan mengakses indeksnya. Indeks setiap array default dimulai dari nol. Adapun bentuk deklarasi array adalah [4]:

Tipe_data Nama_variabel[Ukuran]

Tipe data untuk menyatakan tipe data yang digunakan dan ukuran digunakan untuk menyatakan jumlah maksimum elemen array. Sebuah array dapat digambarkan sebagai kotak anjang yang berisi kotak – kotak kecil di dalam kotak panjang tersebut. Contoh :

int nilai[5];

indeks [0] [1] [2] [3] [4]

Contoh program : # include <stdio.h>

# include <conio.h> void main() { int index, barang[10]; clrscr();

// input jumlah barang// printf ("Masukkan jumlah Barang :\n"); for (index =0 ; index < 10; index ++) {

printf ("Barang %i : ", index+1); scanf ("%i", &barang[index]); } printf ("Jumlah barang yang telah diinput:"); for (index = 0; index < 10; index++) { printf ("%i", barang[index]); } getch (); }

Tampilan program diatas adalah :

Untuk mengakses array berdimensi 1, dapat digunakan bentuk pengaksesan sebagai berikut [1]:

Nama_array[indeks]

Contoh : nilai [3]; nilai [1]; nilai [0]; dst Sedangkan untuk inisialisasi suatu array dapat dilakukan dengan bentuk :

Tipe_data nama_array[indeks] = {nilai array};

Contoh :

float nilai[5] = {75.8 78,67 87,5 90.0 65.7};

Contoh program inisiakisasi dan mengakses array : #include <stdio.h>

#include <conio.h> main()

{ int i, nilai [5]; nilai [0] = 10; nilai [1] = 8; nilai [2] = 5; nilai [3] = 7; nilai [4] = 8; { int i, nilai [5]; nilai [0] = 10; nilai [1] = 8; nilai [2] = 5; nilai [3] = 7; nilai [4] = 8;

Tampilan program diatas adalah :

Contoh program [1]: # include <stdio.h>

# include <conio.h> void main() { int index,nilai[5] = {89, 75, 90, 65, 95};

for (index = 0; index <5 ; index ++) {

printf("\nNilai elemen ke %i adalah :%i", index+1, nilai[index]); } printf ("\n\nNilai elemen ke 3 : %i", nilai[2] ); getch(); }

Tampilan program diatas adalah : Tampilan program diatas adalah :

Array dimensi dua tersusun dalam bentuk baris dan kolom, dimana indeks pertama menunjukkan baris dan indeks kedua menunjukkan kolom. Array dimensi dua dapat digunakan pada pendataan penjualan, pendataan nilai, dan sebagainya. Bentuk umum pendeklarasian array [1]:

Tipe_data Nama_variabel [indeks-1][indeks-2]

Bentuk umum pengaksesan array berdimensi dua adalah :

Nama_array [index-1][index-2]

Contoh : Data [3][2] Data [0][1]

Bentuk pendefenisian array berdimensi dua adalah :

Tipe_data nama_array [juml_elemen] = {nilai array};

Contoh : Int data [2][4] = {{ 1, 2, 3, 4}, 4, 3, 2, 1}; Contoh deklarasi array pada bahasa C [5]: #include <stdio.h>

#include <conio.h> main() { int i,j, matriks [3][3]; matriks [0][0] = 10; matriks [0][1] = 6; matriks [0][2] = 5; matriks [1][0] = 7; matriks [1][1] = 9; matriks [1][2] = 5; matriks [2][0] = 7; matriks [2][1] = 3; #include <conio.h> main() { int i,j, matriks [3][3]; matriks [0][0] = 10; matriks [0][1] = 6; matriks [0][2] = 5; matriks [1][0] = 7; matriks [1][1] = 9; matriks [1][2] = 5; matriks [2][0] = 7; matriks [2][1] = 3;

Tampilan program diatas adalah :

Contoh Program 2[4]: #include "stdio.h"

#include "conio.h" void main() { int baris, kolom, matriks[3][4]; clrscr();

// Input elemen array secara Row Major Order printf("Input elemen Array : \n"); for(baris=0; baris<3; baris++) { for(kolom=0; kolom<4; kolom++)

{ printf("matriks[%i][%i] : ", baris+1, kolom+1); scanf("%i", &matriks[baris][kolom]); } printf("\n");

} // Tampilkan elemen Array secara Row Major Order printf("Isi array : \n"); for(baris=0; baris<3; baris++) { for(kolom=0; kolom<4; kolom++)

{ printf("%i", matriks[baris][kolom]); } printf("\n");

} getch(); }

Tampilan program diatas adalah :

Contoh program 2 [2]: Penjumlahan dua buah matriks #include <stdio.h>

#include <conio.h> #define maks 3 main() { int mat1[maks][maks], mat2[maks][maks], mathasil[maks][maks]; int b,k; printf("Pengisian Matrik 1 : \n"); for (b=0;b<maks;b++) { for (k=0;k<maks;k++) { printf("Matrik [%d,%d] : ",b,k); scanf("%d",&mat1[b][k]); }

} printf("Pengisian Matrik 2 : \n"); for (b=0;b<maks;b++) { for (k=0;k<maks;k++) { printf("Matrik [%d,%d] : ",b,k); scanf("%d",&mat2[b][k]); } } // awal operasi pertambahan matrik for (b=0;b<maks;b++) for (k=0;k<maks;k++) mathasil[b][k]=mat1[b][k]+mat2[b][k]; // akhir operasi perhitungan printf("Matrik 1 :\n") ; for (b=0;b<maks;b++) { for (k=0;k<maks;k++) { printf("%6d",mat1[b][k]); } printf("\n"); } printf("Matrik 2 :\n"); for (b=0;b<maks;b++) { for (k=0;k<maks;k++) { printf("%6d",mat2[b][k]); } printf("\n"); } printf("Matrik Hasil :\n"); for (b=0;b<maks;b++) { for (k=0;k<maks;k++) { } printf("Pengisian Matrik 2 : \n"); for (b=0;b<maks;b++) { for (k=0;k<maks;k++) { printf("Matrik [%d,%d] : ",b,k); scanf("%d",&mat2[b][k]); } } // awal operasi pertambahan matrik for (b=0;b<maks;b++) for (k=0;k<maks;k++) mathasil[b][k]=mat1[b][k]+mat2[b][k]; // akhir operasi perhitungan printf("Matrik 1 :\n") ; for (b=0;b<maks;b++) { for (k=0;k<maks;k++) { printf("%6d",mat1[b][k]); } printf("\n"); } printf("Matrik 2 :\n"); for (b=0;b<maks;b++) { for (k=0;k<maks;k++) { printf("%6d",mat2[b][k]); } printf("\n"); } printf("Matrik Hasil :\n"); for (b=0;b<maks;b++) { for (k=0;k<maks;k++) {

Tampilan program diatas adalah :

c. Array Multi-dimensi

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 [4]:

tipe_array nama_array[ukuran1][ukuran2]…[ukuranN]; Contoh : tipe_array nama_array[ukuran1][ukuran2]…[ukuranN]; Contoh :

#include “conio.h” void main() { int i, j, k;

static int data_huruf[2][8][8] = { { { 1, 1, 1, 1, 1, 1, 1, 0 }, { 1, 1, 0, 0, 0, 0, 1, 0 }, { 1, 1, 0, 0, 0, 0, 0, 0 }, { 1, 1, 1, 1, 1, 1, 1, 0 }, { 0, 0, 0, 0, 1, 1, 1, 0 }, { 1, 0, 0, 0, 1, 1, 1, 0 }, { 1, 1, 1, 1, 1, 1, 1, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0 } }, { { 1, 1, 0, 0, 0, 1, 1, 0 }, { 1, 1, 0, 0, 0, 1, 1, 0 }, { 1, 1, 0, 0, 0, 1, 1, 0 }, { 1, 1, 1, 1, 1, 1, 1, 0 }, { 1, 1, 1, 0, 0, 1, 1, 0 }, { 1, 1, 1, 0, 0, 1, 1, 0 }, { 1, 1, 1, 0, 0, 1, 1, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0 } } };

/* Tampilkan Huruf */ for(i=0; i<2; i++) { for(j=0; j<8; j++) { for(k=0;k<8; k++)

if (data_huruf[i][j][k]) putchar(„\xDB‟); else putchar(“ “); /* spasi */ puts(“”);

} puts(“”);

} getch(); }

Contoh aplikasi :  Pencarian data (searching) menggunakan array[5] :

#include <stdio.h> #include <conio.h> int main() { int a[20] = {0}; int i; int n; //mengacu pada jumlah array int target; //berisi data yang akan dicari int ketemu; // status dari proses pencarian; 1 = ketemu, 0 = tidak ketemu

printf("Masukkan data - data yang ingin dibuat MAX 20 data :\t"); scanf ("%i", &n); if (n >= 20) return 0;

printf ("Masukkan data - data pada array yang akan dibuat :\n"); for (i = 0; i < n; i++) { printf ("data ke-%d\t :", i+1); scanf ("%d", &a[i]);