SlideShare una empresa de Scribd logo
1 de 7
Descargar para leer sin conexión
BAB VII PEMROGRAMAN ARRAY DAN STRING
Pertemuan Minggu IX dan X
Alokasi Waktu

:

4 Jam Pertemuan

Standar Kompetensi

:

Mahasiswa dapat membuat program komputer sederhana dengan menggunakan bahasa
C

Kompetensi Dasar

:

Memahami program komputer yang menggunakan struktur Larik (Array)

Indikator

:

Mahasiswa dapat memahami struktur program bahasa C yang mengandung Array

:

Mahasiswa dapat membuat program dengan melibatkan struktur Array

Pada pemrograman yang sesungguhnya terkada kita membutuhkan suatu blok data yang mempunyai
karakteristik yang sama. Seperti di ilustrasikan tentang konsep variable dengan menganalogikan
penamaan alamat pada sebuah kamar hotel, array di analogikan pada aktifitas pemesanan beberapa kamar
hotel yang akan kita isi sesuai dengan kebutuhan si pemesan. Pada konsep pemrograman bahasa C array
didefinisikan sebagai berikut:
Tipe data nama_array [panjang_array]

Tipe data merupakan batasan dari variable tentang format data apa yang dapat dimanipulasi untuk
variable tersebut, nama_array merupakan nama variable yang dijadikan sebagai bentuk array, dan
panjang_array adalah jumlah maksimum data yang dapat di tamping dalam variable array tersebut.
Berikut adalah contoh format penulisan variable array
int nim [10]
char nama [30]

Pada contoh int nim [10] diartikan sebagai sebuah variable dengan nama nim yang bertipe integer dengan
kemampuan maksimum data yang dapat ditampung sebesar 10 digit. Demikian juga untuk contoh char
nama [30] mengindikasikan bahwa variable array nama bertipe char yang mampu menampung data
sebanyak 30 character (huruf). Hal yang perlu diperhatikan bahwa penulisan batas maksimum daya tamping
sebuah array di tulis dengan tanda kurung kotak [ ].
Pemrograman Array dibagi menjadi dua kelempok besar yaitu array satu dimensi dan array multi dimensi.
Pada pembahasan kali ini hanya akan di dibahas lebih mendalam tentang array 1 dimensi dan array 2
dimensi.

7.1. ARRAY 1 DIMENSI
Seperti dicontohkan pada penulisan variable array diatas, contoh tersebut mengacu pada sintak atau aturan
penulisan untuk array 1 dimensi. Dimana array tersebut hanya berbentuk 1 kolom atau pun baris. Berikut
adalah ilustrasi dari penerapan array 1 dimensi
Contoh 7.1
#include <stdio.h>
#include <conio.h>
/* Program menghitung nilai rata-rata */
main()
{

1
int n1, n2, n3, n4, n5;
float rata;
printf("Masukan nilai untuk n1, n2, n3, n4 dan n5n");
scanf("%d %d %d %d %d", &n1, &n2, &n3, &n4, &n5);
rata = (n1+n2+n3+n4+n5) / 5;
printf("Nilai rata-ratanya = %f ",rata);
getch();
}

Pada program contoh 7.1 diatas mengilustrasikan bahwa untuk dapat membuat rata-rata nilai dari sekian
data kita harus menyiapkan sekian variable sesuai dengan jumlah data yang akan kita kalkulasi, tentu hal
ini tidak akan menjadi masalah jika data yang akan kita hitung dalam rentang satuan, bagaimana jika data
yang akan kita kalkulasi sebanyak 100 bahkan 1000 buah data, tentu saja program pada contoh 7.1
menjadi tidak sangat efektif. Array salah satunya digunakan untuk mengelola blok data sehingga lebih
mudah dalam memanfaatkannya. Contoh 7.2 berikut akan mengilustrasikan manfaat penggunaan array
untuk memperbaiki efektifitas dari program contoh 7.1
Contoh 7.2
#include <stdio.h>
#include <conio.h>
/* Program menghitung nilai rata-rata dengan array*/
main()
{
int n[10];
int data, i,sum;
float rata;
printf("Berapa data yang akan Anda hitung ");
scanf("%d",&data);
sum =0;
for (i=0; i<data; i++)
{
printf("data ke-%d ",i+1);
scanf("%d",&n[i]);
sum = sum + n[i];
}
rata = sum/data;
printf("Nilai rata-ratanya = %.2f",rata);
getch();
}

Pada contoh 7.2 terlihat bahwa pemrograman array terkait erat dengan teknik pemrograman looping.
Penggunaan Teknik looping disini diperuntukan untuk menjalankan proses pemasukan (inisialisasi) data
secara otomatis terkait dengan jumlah data yang aka dikalkulasi secara dinamis. Pada contoh 7.2 Teknik
looping yang digunakan adalah dengan menggunakan struktur for akan tetapi pada dasarnya bisa diganti
dengan teknik looping yang lain. Cara kerja Struktur array adalah sebagai berikut:
1. Ketika pengguna memasukan angka kedalam program, angka tersebut ditangkap oleh variable
data yang bertipe integer.
2. Kemudian program berlanjut mengesekusi baris berikutnya yaitu menginisialisasi (pemberian
nilai awal) pada variable sum dengan nilai nol (0).
2
3. Program berlanjut ke struktur looping dimana proses looping akan dimulai dari angka ke 0 dan
berakhir pada nilai yang dikandung pada variable data dengan proses penambahan angka 1 setiap
perputaran looping yang ditandai dengan pernyataan i++. Proses looping akan berhenti ketika nilai
yang terkadung dalam variable i sudah lebih besar atau sama dengan nilai yang terkandung dalam
variable data.

7.2. ARRAY 2 DIMENSI
Struktur array 2 dimensi mengisyaratkan bahwa susunan data yang dibentuk menyerupai table yaitu akan
terdiri dari baris dan kolom. Pada konsep pemrograman bahasa C array 2 dimensi didefinisikan sebagai
berikut:
Tipe data nama_array [panjang_baris] [panjang_kolom]

Array 2 dimensi termasuk dalam kategori array multidimensi, lebih jauh tentang array multidimensi pada
penjabarannya kita dapat membuat array 3 dimensi, 4 dimensi dst, array multidimensi didefinisikan
sebagai berikut:
Tipe data nama_array [dimensi 1] [dimensi 2][dimensi 3]

array 3 dimesi

Tipe data nama_array [dimensi 1] [dimensi 2][dimensi 3][dimensi 4] array 4 dimesi

Pada pokok bahasan ini akan lebih ditekankan pada array dua dimensi yang akan diilustrasikan dengan
pemrograman matrik. Contoh program dibawah ini akan menampilkan susunan angka yang berbentuk
baris dan kolom.
Contoh 7.3
#include <stdio.h>
#include <conio.h>
main(void)
{
int t, i, num[3][4];
for(t=0; t<3; ++t)
for(i=0; i<4; ++i)
num[t][i] = (t*4)+i+1;
/* now print them out */
for(t=0; t<3; ++t)
{
for(i=0; i<4; ++i)
printf("%3d", num[t][i]);
printf("n");
}
getch();
}

Ketika di jalankan maka output dari program adalah sebagai berikut:
Gambar 7.1
Output program array 2 dimensi

3
Pada gambar 7.1 menampilkan susunan angka yang berpola, dalam gambar tersebut dapat terlihat susunan
table yang terdiri dari bari dan kolom. Berikut adalah ilustrasi dari hasil keluaran program diatas
1

2

3

4

Baris 1

5

6

7

8

Baris 2

9

10

11

12

Baris 3

Kol 1 Kol 2 Kol 3 Kol 4

Program contoh 7.3 mengilustrasikan pembuatan table yang terdiri dari 3 baris dan 4 kolom.
Pendeklarasian variable num[3][4] mengyatakan bahwa keluaran akan dibentuk kedalam table 3 x 4.
Sebagai catatan bahwa array 2 dimensi mempunyai default nilai koordinat untuk kiri atas adalah (0,0)
yang berarti bahwa table dimulau dari baris ke 0 dan kolom ke 0. Proses pembentukan tampilan adalah
sebagai berikut:
1. Looping dimulai pada baris ke 0 yang dinyatakan dengan nilai t=0, dalam ini terjadi proses
looping dimulai pada loop terluar yaitu pada loop for(t=0; t<3; ++t).
2. Program secara sequence mengeksekusi baris berikutnya yaitu pernyataan for(i=0; i<4; ++i). pada
loop kedua ini I dimulai dengan angka 0 yang menyatakan kolom ke 0. Sampai pada tahap ini
program sudah memegang nilai indeks yaitu di 0,0.
3. Program secara sequence mengeksekusi baris berikutnya yaitu pernyataan printf("%3d", num[t][i]).
Pernyataan tersebut merupakan sutau perintah untuk menampilkan angka sesuai dengan hasil
perhitungan pada pernyataan num[t][i] = (t*4)+i+1. num[t][i] adalah variable bertipe array 2 dimensi yang
akan menampatkan angka dari hasil perhitungan susai dengan nomor indeksnya. Pada
perhitungan awal variable num[t][i] bernilai 1 (satu) yang mempunyai indeks di (0,0) (lihat gambar
7.1). posisi tersebut menyatakan bahwa nilai 1 berada pada baris ke 0 dan kolom ke 0.
4. Setelah mencetak angka 1 program masih berjalan pada proses loop ke 2 yaitu pada posisi loop
for(i=0; i<4; ++i). pada loop ini variable i mengalami proses increament dari i= 0 menjadi i=1. Proses
looping yang kedua ini akan merubah harga indeks dari posisi elemen menjadi (0,1), sehingga
nilai 2 hasil dari perhitungan (t*4)+i+1 yang ditampung pada variable num[t][i] akan ditempatkan pada
posisi baris ke nol dan kolom 1.
5. Setelah mencetak angka 2 program masih berjalan pada proses loop ke 2 yaitu pada posisi loop
for(i=0; i<4; ++i). pada loop ini variable i mengalami proses increament dari i= 1 menjadi i=2. Proses
looping yang kedua ini akan merubah harga indeks dari posisi elemen menjadi (0,2), sehingga
nilai 3 hasil dari perhitungan (t*4)+i+1 yang ditampung pada variable num[t][i] akan ditempatkan pada
posisi baris ke nol dan kolom 2. Proses looping pada baris ke 0 akan berakhir setelah i bernilai 3
atau dari logika loop yang dimaksud jika I < 4 maka loop akan berakhir
6. Setelah baris pertama terpenuhi yaitu baris ke 0, maka proses looping akan melompat ke loop
yang terluar yaitu loop for(t=0; t<3; ++t). pada bagian ini proses looping akan berlanjut pada variable
t (lihat keterangan no 1), variable t yang semula bernilai 0 akan berubah menjadi 1 melalui proses
increament ++t. pada proses ini pengeksekusian program hanya melakukan proses increament nilai
t selajutnya program secara sequence mengeksekusi baris berikutnya yaitu pada loop for(i=0; i<4;
++i).

7. Pada tahap ini proses looping akan terjadi pada loop for(i=0; i<4; ++i), pada tahap kedua ini variable I
akan mengalai proses dari awal dengan I bernilai 0. Hanya saja pada tahap ini program memegang

4
indeks dengan nilai (1,0), yang merujuk pada t=1 yang menyatakan baris ke 1, dan I=0 yang
menyatakan kolom ke 0.
8. Program secara sequence mengeksekusi baris berikutnya yaitu pernyataan printf("%3d", num[t][i])
(lihat keterangan no 3). Pada perhitungan ini variable num[t][i] bernilai 5 (lima) yang mempunyai
indeks di (1,0) (lihat gambar 7.1). posisi tersebut menyatakan bahwa nilai 5 berada pada baris ke
1 dan kolom ke 0.
9. Setelah mencetak angka 5 program masih berjalan pada proses loop ke 2 yaitu pada posisi loop
for(i=0; i<4; ++i). pada loop ini variable i mengalami proses increament dari i= 0 menjadi i=1. Proses
looping yang kedua ini akan merubah harga indeks dari posisi elemen menjadi (1,1), sehingga
nilai 6 hasil dari perhitungan (t*4)+i+1 yang ditampung pada variable num[t][i] akan ditempatkan pada
posisi baris ke 1 dan kolom ke 1. Proses looping pada baris ke 1 akan berakhir setelah i bernilai 3
atau dari logika loop yang dimaksud jika I < 4 maka loop akan berakhir
10. Proses akan kembali seperti pada keterangan no. 6 yang akan merubah harga t dari 1 menjadi 2.
Proses di looping terluar akan berakhir ketiga harga berlogika kurang dari 3 (t<3) atau t bernilai 2.

7.3. STRING
String merupakan tipe data bentukan dari tipe data dasar yaitu char. Tipe char hanya mengijinkan untuk
pembacaan 1 huruf (character), dengan memanfaatkan array maka kita dapat menampung beberapa
karakter yang membentuk suatu kesatuan kata atau bahkan kalimat dengan menggunakan tipe data char,
berikut sintaks penulisan tipe bentukan string dalam bahasa C.
char nama[20];
char alamat[50];

dalam pembuatan variable string aturan umum dalam pembuatan variable yaitu mencantumkan tipe data
di depan variable masih tetap berlaku, hanya saja setelah nama variable harus diikuti tanda kurung kotak
dengan disertai angka didalamnya. Sebagai contoh dua varibel diatas mengandung arti bahwa variable
nama dengan tipe char dapat menampung character/huruf sebanyak 20, demikian juga dengan variable
alamat yang mempunyai tipe char dengan huruf maksimal yang dapat ditampung sebanyak 50 huruf.
Terdapat Beberapa aturan yang perlu dicermati dalam melakukan inisialisasi awal pada variable string,
aturan dalam melakukan inisialisasi awal tersebut diantaranya sebagai berikut:
char saying[ ] = "This is a string."
2. char str[40] = "Feddy Setio Pribadi"
1.

Inisialisasi dengan kurung kotak kosong
Inisialisasi dengan kurung kotak terdifinisi

Contoh 7.4.
#include <stdio.h>
#include <conio.h>
int main(void)
{
char nama[80], alamat[80];
puts("Ketikan Nama Anda Lalu Tekan Enter");
puts("nLalu Ketikan Alamat Anda kemudian tekan Enter");
gets(nama);
gets(alamat);
printf("nNama Anda %s dengan Alamat %s",nama,alamat);

5
getch();
}

String mempunyai kajian tersendiri dalam pemrograman, C menyediakan library (string.h) yang berisi
tentang fungsi-fungsi untuk melakukan manipulasi terhadap string. Berikut adalah contoh program yang
menyajikan proses manipulasi yang dapat dilakukan pada string
Contoh 7.5.
#include <stdio.h>
#include <string.h>
#include <conio.h>
main()
{
char s1[80], s2[80];
puts("Ketikan Sebuah Kata Lalu Tekan Enter");
puts("nKetikan Sebuah Kata kemudian tekan Enter");
gets(s1);
gets(s2);
printf("lengths: %d %dn", strlen(s1), strlen(s2));
if(!strcmp(s1, s2)) printf("The strings are equaln");
strcat(s1, s2);
printf ("%sn", s1);
strcpy(s1, "This is a test.n");
printf(s1);
if(strchr("hello", 'e')) printf("e is in hellon");
if(strstr("hi there", "hi")) printf("found hi");
getch();
}

Pada contoh 7.5 perhatikan sintaks program pada bagian include, fungsi-fungsi manipulasi string seperti
strlen, strcmp, strcpy, strcat, dll terkandung dalam library <string.h>, oleh karena itu ketika kita akan melakukan
manipulasi string dengan fungsi-fungsi tersebut maka terlebih dahulu kita harus menyertakan #include
<string.h> pada bagain deklarsai library.

Pengayaan
Latihan 7.1
#include <stdio.h>
#include <conio.h>
main()
{
char str1[] = "To be or not to be";
char str2[] = ",that is the question";

6
int count = 0; /* Stores the string length */
while (str1[count] != '0') /* Increment count till we reach the string */
count++; /* terminating character. */
printf("nThe length of the string "%s" is %d characters.", str1, count);
count = 0; /* Reset to zero for next string */
while (str2[count] != '0') /* Count characters in second string */
count++;
printf("nThe length of the string "%s" is %d characters.n", str2, count);
getch();
}
Latihan 7.2
#include <conio.h>
#include <stdio.h>
void misteri(char *s);
main()
{
char string[] ="naufal";
printf("Sebelum proses %sn",string);
misteri(string);
printf("Setelah proses %s",string);
getch();
}
void misteri(char *s)
{
while (*s != '0')
{
if (*s >= 'a' && *s <= 'z')
*s -=32;
s++;
}
}

7

Más contenido relacionado

La actualidad más candente

Laporan praktikum modul iv
Laporan praktikum modul ivLaporan praktikum modul iv
Laporan praktikum modul ivDevi Apriansyah
 
Bahan dpk-io-array-fungsi
Bahan dpk-io-array-fungsiBahan dpk-io-array-fungsi
Bahan dpk-io-array-fungsiJevri Ardiansah
 
Bab ii keg pembel 6 array
Bab ii keg pembel 6  arrayBab ii keg pembel 6  array
Bab ii keg pembel 6 array087dwi
 
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
1. Algoritma, Struktur Data dan Pemrograman Terstruktur1. Algoritma, Struktur Data dan Pemrograman Terstruktur
1. Algoritma, Struktur Data dan Pemrograman TerstrukturKelinci Coklat
 
Laporan praktikum modul viii
Laporan praktikum modul viiiLaporan praktikum modul viii
Laporan praktikum modul viiiDevi Apriansyah
 
3. Pointer dan List Berkait Singly
3. Pointer dan List Berkait Singly3. Pointer dan List Berkait Singly
3. Pointer dan List Berkait SinglyKelinci Coklat
 
Array Dimensi banyak struktur data pertemuan ke 3
Array Dimensi banyak struktur data pertemuan ke 3Array Dimensi banyak struktur data pertemuan ke 3
Array Dimensi banyak struktur data pertemuan ke 3said zulhelmi
 
Materi : Struktur Data (2 Array)
Materi : Struktur Data (2 Array)Materi : Struktur Data (2 Array)
Materi : Struktur Data (2 Array)eka pandu cynthia
 

La actualidad más candente (20)

Laporan praktikum modul iv
Laporan praktikum modul ivLaporan praktikum modul iv
Laporan praktikum modul iv
 
Bahan dpk-io-array-fungsi
Bahan dpk-io-array-fungsiBahan dpk-io-array-fungsi
Bahan dpk-io-array-fungsi
 
Arrays c++
Arrays c++Arrays c++
Arrays c++
 
Bab ii keg pembel 6 array
Bab ii keg pembel 6  arrayBab ii keg pembel 6  array
Bab ii keg pembel 6 array
 
Pertemuan V
Pertemuan VPertemuan V
Pertemuan V
 
Matlab 3
Matlab 3Matlab 3
Matlab 3
 
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
1. Algoritma, Struktur Data dan Pemrograman Terstruktur1. Algoritma, Struktur Data dan Pemrograman Terstruktur
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
 
Laporan praktikum modul viii
Laporan praktikum modul viiiLaporan praktikum modul viii
Laporan praktikum modul viii
 
3. Pointer dan List Berkait Singly
3. Pointer dan List Berkait Singly3. Pointer dan List Berkait Singly
3. Pointer dan List Berkait Singly
 
Array Dimensi banyak struktur data pertemuan ke 3
Array Dimensi banyak struktur data pertemuan ke 3Array Dimensi banyak struktur data pertemuan ke 3
Array Dimensi banyak struktur data pertemuan ke 3
 
Matlab 2
Matlab 2Matlab 2
Matlab 2
 
Tipe data
Tipe dataTipe data
Tipe data
 
Pertemuan 2 revisijan2013-mhs
Pertemuan 2 revisijan2013-mhsPertemuan 2 revisijan2013-mhs
Pertemuan 2 revisijan2013-mhs
 
Materi : Struktur Data (2 Array)
Materi : Struktur Data (2 Array)Materi : Struktur Data (2 Array)
Materi : Struktur Data (2 Array)
 
Function c++
Function c++Function c++
Function c++
 
Matlab tutor sns
Matlab tutor snsMatlab tutor sns
Matlab tutor sns
 
3 pemrograman matlab
3 pemrograman matlab3 pemrograman matlab
3 pemrograman matlab
 
Solusibsi wordpress-com
Solusibsi wordpress-comSolusibsi wordpress-com
Solusibsi wordpress-com
 
about C Languages
about C Languagesabout C Languages
about C Languages
 
Matlab 4
Matlab 4Matlab 4
Matlab 4
 

Similar a 5. pemrograman array dan_string

DASAR - DASAR ALGORITMA
DASAR - DASAR ALGORITMADASAR - DASAR ALGORITMA
DASAR - DASAR ALGORITMAWalid_1234
 
Terjemahan bahasa indonesia (foundation of algorithm by richard neapolitan)
Terjemahan bahasa indonesia (foundation of algorithm by richard neapolitan)Terjemahan bahasa indonesia (foundation of algorithm by richard neapolitan)
Terjemahan bahasa indonesia (foundation of algorithm by richard neapolitan)evarahma70
 
Laporan 1 penngantar program r
Laporan 1 penngantar program rLaporan 1 penngantar program r
Laporan 1 penngantar program rKhair Norrasid
 
Tugas1
Tugas1Tugas1
Tugas1Av Ri
 
Modul ix dan x algo
Modul ix dan x algoModul ix dan x algo
Modul ix dan x algoSTMIK AKAKOM
 
Minggu 09 - Array dan Tipe Bentukan.ppsx
Minggu 09 -  Array dan Tipe Bentukan.ppsxMinggu 09 -  Array dan Tipe Bentukan.ppsx
Minggu 09 - Array dan Tipe Bentukan.ppsxIndraWahyu33
 
Laporan praktikum iii visual basic
Laporan praktikum iii visual basicLaporan praktikum iii visual basic
Laporan praktikum iii visual basicrahmi wahyuni
 
Jeni Intro2 Bab04 Tour Dari Package Java.Lang
Jeni Intro2 Bab04 Tour Dari Package Java.LangJeni Intro2 Bab04 Tour Dari Package Java.Lang
Jeni Intro2 Bab04 Tour Dari Package Java.LangIndividual Consultants
 
Jeni Intro2 Bab03 Teknik Pemrograman Lanjut
Jeni Intro2 Bab03 Teknik Pemrograman LanjutJeni Intro2 Bab03 Teknik Pemrograman Lanjut
Jeni Intro2 Bab03 Teknik Pemrograman LanjutIndividual Consultants
 
M04b dasar program c
M04b dasar program cM04b dasar program c
M04b dasar program cBilly Alhamra
 
Laporan praktikum modul ii & iii
Laporan praktikum modul ii & iiiLaporan praktikum modul ii & iii
Laporan praktikum modul ii & iiiDevi Apriansyah
 
Pertemuan vi
Pertemuan viPertemuan vi
Pertemuan viwindi1
 
Struktur Runtunan Algoritma
Struktur Runtunan AlgoritmaStruktur Runtunan Algoritma
Struktur Runtunan Algoritmacasnadi
 
Modul vii dan viii algo
Modul vii dan viii algoModul vii dan viii algo
Modul vii dan viii algoSTMIK AKAKOM
 

Similar a 5. pemrograman array dan_string (20)

DASAR - DASAR ALGORITMA
DASAR - DASAR ALGORITMADASAR - DASAR ALGORITMA
DASAR - DASAR ALGORITMA
 
Terjemahan bahasa indonesia (foundation of algorithm by richard neapolitan)
Terjemahan bahasa indonesia (foundation of algorithm by richard neapolitan)Terjemahan bahasa indonesia (foundation of algorithm by richard neapolitan)
Terjemahan bahasa indonesia (foundation of algorithm by richard neapolitan)
 
Laporan 1 penngantar program r
Laporan 1 penngantar program rLaporan 1 penngantar program r
Laporan 1 penngantar program r
 
Perulangan for
Perulangan forPerulangan for
Perulangan for
 
Tugas1
Tugas1Tugas1
Tugas1
 
Modul ix dan x algo
Modul ix dan x algoModul ix dan x algo
Modul ix dan x algo
 
Minggu 09 - Array dan Tipe Bentukan.ppsx
Minggu 09 -  Array dan Tipe Bentukan.ppsxMinggu 09 -  Array dan Tipe Bentukan.ppsx
Minggu 09 - Array dan Tipe Bentukan.ppsx
 
Laporan praktikum iii visual basic
Laporan praktikum iii visual basicLaporan praktikum iii visual basic
Laporan praktikum iii visual basic
 
Laporan tugas struktur data
Laporan tugas struktur dataLaporan tugas struktur data
Laporan tugas struktur data
 
Jeni Intro2 Bab04 Tour Dari Package Java.Lang
Jeni Intro2 Bab04 Tour Dari Package Java.LangJeni Intro2 Bab04 Tour Dari Package Java.Lang
Jeni Intro2 Bab04 Tour Dari Package Java.Lang
 
Jeni Intro2 Bab03 Teknik Pemrograman Lanjut
Jeni Intro2 Bab03 Teknik Pemrograman LanjutJeni Intro2 Bab03 Teknik Pemrograman Lanjut
Jeni Intro2 Bab03 Teknik Pemrograman Lanjut
 
M04b dasar program c
M04b dasar program cM04b dasar program c
M04b dasar program c
 
File
FileFile
File
 
Algoritma - Array
Algoritma - ArrayAlgoritma - Array
Algoritma - Array
 
Laporan praktikum modul ii & iii
Laporan praktikum modul ii & iiiLaporan praktikum modul ii & iii
Laporan praktikum modul ii & iii
 
Pertemuan IV Teori
Pertemuan IV TeoriPertemuan IV Teori
Pertemuan IV Teori
 
Pertemuan vi
Pertemuan viPertemuan vi
Pertemuan vi
 
Struktur Runtunan Algoritma
Struktur Runtunan AlgoritmaStruktur Runtunan Algoritma
Struktur Runtunan Algoritma
 
Buku pemrograman dasar
Buku pemrograman dasarBuku pemrograman dasar
Buku pemrograman dasar
 
Modul vii dan viii algo
Modul vii dan viii algoModul vii dan viii algo
Modul vii dan viii algo
 

Más de Roziq Bahtiar

Techarea company profile
Techarea company profileTecharea company profile
Techarea company profileRoziq Bahtiar
 
static and dynamic routing
static and dynamic routingstatic and dynamic routing
static and dynamic routingRoziq Bahtiar
 
Perintah perintah dasar linux Operating Sistem
Perintah perintah dasar linux Operating SistemPerintah perintah dasar linux Operating Sistem
Perintah perintah dasar linux Operating SistemRoziq Bahtiar
 
Pengantar algoritma pemrograman
Pengantar algoritma pemrogramanPengantar algoritma pemrograman
Pengantar algoritma pemrogramanRoziq Bahtiar
 
Flowchart progrm linear bilangan bulat
Flowchart progrm linear bilangan bulatFlowchart progrm linear bilangan bulat
Flowchart progrm linear bilangan bulatRoziq Bahtiar
 
Tarby magazine salafiyah kajen
Tarby magazine  salafiyah kajenTarby magazine  salafiyah kajen
Tarby magazine salafiyah kajenRoziq Bahtiar
 
7. pemrograman struktur
7. pemrograman struktur7. pemrograman struktur
7. pemrograman strukturRoziq Bahtiar
 
6. pemrograman pointer
6. pemrograman pointer6. pemrograman pointer
6. pemrograman pointerRoziq Bahtiar
 
4. pemrograman fungsi
4. pemrograman fungsi4. pemrograman fungsi
4. pemrograman fungsiRoziq Bahtiar
 
3. teknik looping dalam_pemrograman
3. teknik looping dalam_pemrograman3. teknik looping dalam_pemrograman
3. teknik looping dalam_pemrogramanRoziq Bahtiar
 
2. teknik pemilihan dalam_pemrograman
2. teknik pemilihan dalam_pemrograman2. teknik pemilihan dalam_pemrograman
2. teknik pemilihan dalam_pemrogramanRoziq Bahtiar
 
1. variable identifier dan_tipe_data
1. variable identifier dan_tipe_data1. variable identifier dan_tipe_data
1. variable identifier dan_tipe_dataRoziq Bahtiar
 
3 piksel_dan_histogram
 3 piksel_dan_histogram 3 piksel_dan_histogram
3 piksel_dan_histogramRoziq Bahtiar
 

Más de Roziq Bahtiar (20)

Techarea company profile
Techarea company profileTecharea company profile
Techarea company profile
 
static and dynamic routing
static and dynamic routingstatic and dynamic routing
static and dynamic routing
 
Perintah perintah dasar linux Operating Sistem
Perintah perintah dasar linux Operating SistemPerintah perintah dasar linux Operating Sistem
Perintah perintah dasar linux Operating Sistem
 
Pengantar algoritma pemrograman
Pengantar algoritma pemrogramanPengantar algoritma pemrograman
Pengantar algoritma pemrograman
 
Flowchart progrm linear bilangan bulat
Flowchart progrm linear bilangan bulatFlowchart progrm linear bilangan bulat
Flowchart progrm linear bilangan bulat
 
Tarby magazine salafiyah kajen
Tarby magazine  salafiyah kajenTarby magazine  salafiyah kajen
Tarby magazine salafiyah kajen
 
Pcd 10
Pcd 10Pcd 10
Pcd 10
 
Pcd 11
Pcd 11Pcd 11
Pcd 11
 
7. pemrograman struktur
7. pemrograman struktur7. pemrograman struktur
7. pemrograman struktur
 
6. pemrograman pointer
6. pemrograman pointer6. pemrograman pointer
6. pemrograman pointer
 
4. pemrograman fungsi
4. pemrograman fungsi4. pemrograman fungsi
4. pemrograman fungsi
 
3. teknik looping dalam_pemrograman
3. teknik looping dalam_pemrograman3. teknik looping dalam_pemrograman
3. teknik looping dalam_pemrograman
 
2. teknik pemilihan dalam_pemrograman
2. teknik pemilihan dalam_pemrograman2. teknik pemilihan dalam_pemrograman
2. teknik pemilihan dalam_pemrograman
 
1. variable identifier dan_tipe_data
1. variable identifier dan_tipe_data1. variable identifier dan_tipe_data
1. variable identifier dan_tipe_data
 
Alpro tutor
Alpro tutorAlpro tutor
Alpro tutor
 
Pcd 7
Pcd 7Pcd 7
Pcd 7
 
Pcd 5
Pcd 5Pcd 5
Pcd 5
 
Pcd 4
Pcd 4Pcd 4
Pcd 4
 
Eigen
EigenEigen
Eigen
 
3 piksel_dan_histogram
 3 piksel_dan_histogram 3 piksel_dan_histogram
3 piksel_dan_histogram
 

Último

aksi nyata sosialisasi Profil Pelajar Pancasila.pdf
aksi nyata sosialisasi  Profil Pelajar Pancasila.pdfaksi nyata sosialisasi  Profil Pelajar Pancasila.pdf
aksi nyata sosialisasi Profil Pelajar Pancasila.pdfsdn3jatiblora
 
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.pptLATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.pptPpsSambirejo
 
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.ppt
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.pptppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.ppt
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.pptAgusRahmat39
 
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BModul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BAbdiera
 
Integrasi nasional dalam bingkai bhinneka tunggal ika
Integrasi nasional dalam bingkai bhinneka tunggal ikaIntegrasi nasional dalam bingkai bhinneka tunggal ika
Integrasi nasional dalam bingkai bhinneka tunggal ikaAtiAnggiSupriyati
 
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSovyOktavianti
 
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikaAtiAnggiSupriyati
 
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfSalinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfWidyastutyCoyy
 
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)MustahalMustahal
 
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...Kanaidi ken
 
(NEW) Template Presentasi UGM 2 (2).pptx
(NEW) Template Presentasi UGM 2 (2).pptx(NEW) Template Presentasi UGM 2 (2).pptx
(NEW) Template Presentasi UGM 2 (2).pptxSirlyPutri1
 
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptArkhaRega1
 
Perumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxPerumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxadimulianta1
 
Hiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
HiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaaHiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
Hiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaafarmasipejatentimur
 
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING M...
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING M...PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING M...
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING M...Kanaidi ken
 
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdfMODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdfNurulHikmah50658
 
PPT Penjumlahan Bersusun Kelas 1 Sekolah Dasar
PPT Penjumlahan Bersusun Kelas 1 Sekolah DasarPPT Penjumlahan Bersusun Kelas 1 Sekolah Dasar
PPT Penjumlahan Bersusun Kelas 1 Sekolah Dasarrenihartanti
 
Keterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTKeterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTIndraAdm
 
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING...
PELAKSANAAN  + Link-Link MATERI Training_ "Effective INVENTORY &  WAREHOUSING...PELAKSANAAN  + Link-Link MATERI Training_ "Effective INVENTORY &  WAREHOUSING...
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING...Kanaidi ken
 
Latsol TWK Nasionalisme untuk masuk CPNS
Latsol TWK Nasionalisme untuk masuk CPNSLatsol TWK Nasionalisme untuk masuk CPNS
Latsol TWK Nasionalisme untuk masuk CPNSdheaprs
 

Último (20)

aksi nyata sosialisasi Profil Pelajar Pancasila.pdf
aksi nyata sosialisasi  Profil Pelajar Pancasila.pdfaksi nyata sosialisasi  Profil Pelajar Pancasila.pdf
aksi nyata sosialisasi Profil Pelajar Pancasila.pdf
 
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.pptLATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
 
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.ppt
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.pptppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.ppt
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.ppt
 
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BModul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
 
Integrasi nasional dalam bingkai bhinneka tunggal ika
Integrasi nasional dalam bingkai bhinneka tunggal ikaIntegrasi nasional dalam bingkai bhinneka tunggal ika
Integrasi nasional dalam bingkai bhinneka tunggal ika
 
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
 
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
 
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfSalinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
 
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
 
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
 
(NEW) Template Presentasi UGM 2 (2).pptx
(NEW) Template Presentasi UGM 2 (2).pptx(NEW) Template Presentasi UGM 2 (2).pptx
(NEW) Template Presentasi UGM 2 (2).pptx
 
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
 
Perumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxPerumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptx
 
Hiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
HiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaaHiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
Hiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING M...
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING M...PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING M...
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING M...
 
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdfMODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
 
PPT Penjumlahan Bersusun Kelas 1 Sekolah Dasar
PPT Penjumlahan Bersusun Kelas 1 Sekolah DasarPPT Penjumlahan Bersusun Kelas 1 Sekolah Dasar
PPT Penjumlahan Bersusun Kelas 1 Sekolah Dasar
 
Keterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTKeterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UT
 
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING...
PELAKSANAAN  + Link-Link MATERI Training_ "Effective INVENTORY &  WAREHOUSING...PELAKSANAAN  + Link-Link MATERI Training_ "Effective INVENTORY &  WAREHOUSING...
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING...
 
Latsol TWK Nasionalisme untuk masuk CPNS
Latsol TWK Nasionalisme untuk masuk CPNSLatsol TWK Nasionalisme untuk masuk CPNS
Latsol TWK Nasionalisme untuk masuk CPNS
 

5. pemrograman array dan_string

  • 1. BAB VII PEMROGRAMAN ARRAY DAN STRING Pertemuan Minggu IX dan X Alokasi Waktu : 4 Jam Pertemuan Standar Kompetensi : Mahasiswa dapat membuat program komputer sederhana dengan menggunakan bahasa C Kompetensi Dasar : Memahami program komputer yang menggunakan struktur Larik (Array) Indikator : Mahasiswa dapat memahami struktur program bahasa C yang mengandung Array : Mahasiswa dapat membuat program dengan melibatkan struktur Array Pada pemrograman yang sesungguhnya terkada kita membutuhkan suatu blok data yang mempunyai karakteristik yang sama. Seperti di ilustrasikan tentang konsep variable dengan menganalogikan penamaan alamat pada sebuah kamar hotel, array di analogikan pada aktifitas pemesanan beberapa kamar hotel yang akan kita isi sesuai dengan kebutuhan si pemesan. Pada konsep pemrograman bahasa C array didefinisikan sebagai berikut: Tipe data nama_array [panjang_array] Tipe data merupakan batasan dari variable tentang format data apa yang dapat dimanipulasi untuk variable tersebut, nama_array merupakan nama variable yang dijadikan sebagai bentuk array, dan panjang_array adalah jumlah maksimum data yang dapat di tamping dalam variable array tersebut. Berikut adalah contoh format penulisan variable array int nim [10] char nama [30] Pada contoh int nim [10] diartikan sebagai sebuah variable dengan nama nim yang bertipe integer dengan kemampuan maksimum data yang dapat ditampung sebesar 10 digit. Demikian juga untuk contoh char nama [30] mengindikasikan bahwa variable array nama bertipe char yang mampu menampung data sebanyak 30 character (huruf). Hal yang perlu diperhatikan bahwa penulisan batas maksimum daya tamping sebuah array di tulis dengan tanda kurung kotak [ ]. Pemrograman Array dibagi menjadi dua kelempok besar yaitu array satu dimensi dan array multi dimensi. Pada pembahasan kali ini hanya akan di dibahas lebih mendalam tentang array 1 dimensi dan array 2 dimensi. 7.1. ARRAY 1 DIMENSI Seperti dicontohkan pada penulisan variable array diatas, contoh tersebut mengacu pada sintak atau aturan penulisan untuk array 1 dimensi. Dimana array tersebut hanya berbentuk 1 kolom atau pun baris. Berikut adalah ilustrasi dari penerapan array 1 dimensi Contoh 7.1 #include <stdio.h> #include <conio.h> /* Program menghitung nilai rata-rata */ main() { 1
  • 2. int n1, n2, n3, n4, n5; float rata; printf("Masukan nilai untuk n1, n2, n3, n4 dan n5n"); scanf("%d %d %d %d %d", &n1, &n2, &n3, &n4, &n5); rata = (n1+n2+n3+n4+n5) / 5; printf("Nilai rata-ratanya = %f ",rata); getch(); } Pada program contoh 7.1 diatas mengilustrasikan bahwa untuk dapat membuat rata-rata nilai dari sekian data kita harus menyiapkan sekian variable sesuai dengan jumlah data yang akan kita kalkulasi, tentu hal ini tidak akan menjadi masalah jika data yang akan kita hitung dalam rentang satuan, bagaimana jika data yang akan kita kalkulasi sebanyak 100 bahkan 1000 buah data, tentu saja program pada contoh 7.1 menjadi tidak sangat efektif. Array salah satunya digunakan untuk mengelola blok data sehingga lebih mudah dalam memanfaatkannya. Contoh 7.2 berikut akan mengilustrasikan manfaat penggunaan array untuk memperbaiki efektifitas dari program contoh 7.1 Contoh 7.2 #include <stdio.h> #include <conio.h> /* Program menghitung nilai rata-rata dengan array*/ main() { int n[10]; int data, i,sum; float rata; printf("Berapa data yang akan Anda hitung "); scanf("%d",&data); sum =0; for (i=0; i<data; i++) { printf("data ke-%d ",i+1); scanf("%d",&n[i]); sum = sum + n[i]; } rata = sum/data; printf("Nilai rata-ratanya = %.2f",rata); getch(); } Pada contoh 7.2 terlihat bahwa pemrograman array terkait erat dengan teknik pemrograman looping. Penggunaan Teknik looping disini diperuntukan untuk menjalankan proses pemasukan (inisialisasi) data secara otomatis terkait dengan jumlah data yang aka dikalkulasi secara dinamis. Pada contoh 7.2 Teknik looping yang digunakan adalah dengan menggunakan struktur for akan tetapi pada dasarnya bisa diganti dengan teknik looping yang lain. Cara kerja Struktur array adalah sebagai berikut: 1. Ketika pengguna memasukan angka kedalam program, angka tersebut ditangkap oleh variable data yang bertipe integer. 2. Kemudian program berlanjut mengesekusi baris berikutnya yaitu menginisialisasi (pemberian nilai awal) pada variable sum dengan nilai nol (0). 2
  • 3. 3. Program berlanjut ke struktur looping dimana proses looping akan dimulai dari angka ke 0 dan berakhir pada nilai yang dikandung pada variable data dengan proses penambahan angka 1 setiap perputaran looping yang ditandai dengan pernyataan i++. Proses looping akan berhenti ketika nilai yang terkadung dalam variable i sudah lebih besar atau sama dengan nilai yang terkandung dalam variable data. 7.2. ARRAY 2 DIMENSI Struktur array 2 dimensi mengisyaratkan bahwa susunan data yang dibentuk menyerupai table yaitu akan terdiri dari baris dan kolom. Pada konsep pemrograman bahasa C array 2 dimensi didefinisikan sebagai berikut: Tipe data nama_array [panjang_baris] [panjang_kolom] Array 2 dimensi termasuk dalam kategori array multidimensi, lebih jauh tentang array multidimensi pada penjabarannya kita dapat membuat array 3 dimensi, 4 dimensi dst, array multidimensi didefinisikan sebagai berikut: Tipe data nama_array [dimensi 1] [dimensi 2][dimensi 3] array 3 dimesi Tipe data nama_array [dimensi 1] [dimensi 2][dimensi 3][dimensi 4] array 4 dimesi Pada pokok bahasan ini akan lebih ditekankan pada array dua dimensi yang akan diilustrasikan dengan pemrograman matrik. Contoh program dibawah ini akan menampilkan susunan angka yang berbentuk baris dan kolom. Contoh 7.3 #include <stdio.h> #include <conio.h> main(void) { int t, i, num[3][4]; for(t=0; t<3; ++t) for(i=0; i<4; ++i) num[t][i] = (t*4)+i+1; /* now print them out */ for(t=0; t<3; ++t) { for(i=0; i<4; ++i) printf("%3d", num[t][i]); printf("n"); } getch(); } Ketika di jalankan maka output dari program adalah sebagai berikut: Gambar 7.1 Output program array 2 dimensi 3
  • 4. Pada gambar 7.1 menampilkan susunan angka yang berpola, dalam gambar tersebut dapat terlihat susunan table yang terdiri dari bari dan kolom. Berikut adalah ilustrasi dari hasil keluaran program diatas 1 2 3 4 Baris 1 5 6 7 8 Baris 2 9 10 11 12 Baris 3 Kol 1 Kol 2 Kol 3 Kol 4 Program contoh 7.3 mengilustrasikan pembuatan table yang terdiri dari 3 baris dan 4 kolom. Pendeklarasian variable num[3][4] mengyatakan bahwa keluaran akan dibentuk kedalam table 3 x 4. Sebagai catatan bahwa array 2 dimensi mempunyai default nilai koordinat untuk kiri atas adalah (0,0) yang berarti bahwa table dimulau dari baris ke 0 dan kolom ke 0. Proses pembentukan tampilan adalah sebagai berikut: 1. Looping dimulai pada baris ke 0 yang dinyatakan dengan nilai t=0, dalam ini terjadi proses looping dimulai pada loop terluar yaitu pada loop for(t=0; t<3; ++t). 2. Program secara sequence mengeksekusi baris berikutnya yaitu pernyataan for(i=0; i<4; ++i). pada loop kedua ini I dimulai dengan angka 0 yang menyatakan kolom ke 0. Sampai pada tahap ini program sudah memegang nilai indeks yaitu di 0,0. 3. Program secara sequence mengeksekusi baris berikutnya yaitu pernyataan printf("%3d", num[t][i]). Pernyataan tersebut merupakan sutau perintah untuk menampilkan angka sesuai dengan hasil perhitungan pada pernyataan num[t][i] = (t*4)+i+1. num[t][i] adalah variable bertipe array 2 dimensi yang akan menampatkan angka dari hasil perhitungan susai dengan nomor indeksnya. Pada perhitungan awal variable num[t][i] bernilai 1 (satu) yang mempunyai indeks di (0,0) (lihat gambar 7.1). posisi tersebut menyatakan bahwa nilai 1 berada pada baris ke 0 dan kolom ke 0. 4. Setelah mencetak angka 1 program masih berjalan pada proses loop ke 2 yaitu pada posisi loop for(i=0; i<4; ++i). pada loop ini variable i mengalami proses increament dari i= 0 menjadi i=1. Proses looping yang kedua ini akan merubah harga indeks dari posisi elemen menjadi (0,1), sehingga nilai 2 hasil dari perhitungan (t*4)+i+1 yang ditampung pada variable num[t][i] akan ditempatkan pada posisi baris ke nol dan kolom 1. 5. Setelah mencetak angka 2 program masih berjalan pada proses loop ke 2 yaitu pada posisi loop for(i=0; i<4; ++i). pada loop ini variable i mengalami proses increament dari i= 1 menjadi i=2. Proses looping yang kedua ini akan merubah harga indeks dari posisi elemen menjadi (0,2), sehingga nilai 3 hasil dari perhitungan (t*4)+i+1 yang ditampung pada variable num[t][i] akan ditempatkan pada posisi baris ke nol dan kolom 2. Proses looping pada baris ke 0 akan berakhir setelah i bernilai 3 atau dari logika loop yang dimaksud jika I < 4 maka loop akan berakhir 6. Setelah baris pertama terpenuhi yaitu baris ke 0, maka proses looping akan melompat ke loop yang terluar yaitu loop for(t=0; t<3; ++t). pada bagian ini proses looping akan berlanjut pada variable t (lihat keterangan no 1), variable t yang semula bernilai 0 akan berubah menjadi 1 melalui proses increament ++t. pada proses ini pengeksekusian program hanya melakukan proses increament nilai t selajutnya program secara sequence mengeksekusi baris berikutnya yaitu pada loop for(i=0; i<4; ++i). 7. Pada tahap ini proses looping akan terjadi pada loop for(i=0; i<4; ++i), pada tahap kedua ini variable I akan mengalai proses dari awal dengan I bernilai 0. Hanya saja pada tahap ini program memegang 4
  • 5. indeks dengan nilai (1,0), yang merujuk pada t=1 yang menyatakan baris ke 1, dan I=0 yang menyatakan kolom ke 0. 8. Program secara sequence mengeksekusi baris berikutnya yaitu pernyataan printf("%3d", num[t][i]) (lihat keterangan no 3). Pada perhitungan ini variable num[t][i] bernilai 5 (lima) yang mempunyai indeks di (1,0) (lihat gambar 7.1). posisi tersebut menyatakan bahwa nilai 5 berada pada baris ke 1 dan kolom ke 0. 9. Setelah mencetak angka 5 program masih berjalan pada proses loop ke 2 yaitu pada posisi loop for(i=0; i<4; ++i). pada loop ini variable i mengalami proses increament dari i= 0 menjadi i=1. Proses looping yang kedua ini akan merubah harga indeks dari posisi elemen menjadi (1,1), sehingga nilai 6 hasil dari perhitungan (t*4)+i+1 yang ditampung pada variable num[t][i] akan ditempatkan pada posisi baris ke 1 dan kolom ke 1. Proses looping pada baris ke 1 akan berakhir setelah i bernilai 3 atau dari logika loop yang dimaksud jika I < 4 maka loop akan berakhir 10. Proses akan kembali seperti pada keterangan no. 6 yang akan merubah harga t dari 1 menjadi 2. Proses di looping terluar akan berakhir ketiga harga berlogika kurang dari 3 (t<3) atau t bernilai 2. 7.3. STRING String merupakan tipe data bentukan dari tipe data dasar yaitu char. Tipe char hanya mengijinkan untuk pembacaan 1 huruf (character), dengan memanfaatkan array maka kita dapat menampung beberapa karakter yang membentuk suatu kesatuan kata atau bahkan kalimat dengan menggunakan tipe data char, berikut sintaks penulisan tipe bentukan string dalam bahasa C. char nama[20]; char alamat[50]; dalam pembuatan variable string aturan umum dalam pembuatan variable yaitu mencantumkan tipe data di depan variable masih tetap berlaku, hanya saja setelah nama variable harus diikuti tanda kurung kotak dengan disertai angka didalamnya. Sebagai contoh dua varibel diatas mengandung arti bahwa variable nama dengan tipe char dapat menampung character/huruf sebanyak 20, demikian juga dengan variable alamat yang mempunyai tipe char dengan huruf maksimal yang dapat ditampung sebanyak 50 huruf. Terdapat Beberapa aturan yang perlu dicermati dalam melakukan inisialisasi awal pada variable string, aturan dalam melakukan inisialisasi awal tersebut diantaranya sebagai berikut: char saying[ ] = "This is a string." 2. char str[40] = "Feddy Setio Pribadi" 1. Inisialisasi dengan kurung kotak kosong Inisialisasi dengan kurung kotak terdifinisi Contoh 7.4. #include <stdio.h> #include <conio.h> int main(void) { char nama[80], alamat[80]; puts("Ketikan Nama Anda Lalu Tekan Enter"); puts("nLalu Ketikan Alamat Anda kemudian tekan Enter"); gets(nama); gets(alamat); printf("nNama Anda %s dengan Alamat %s",nama,alamat); 5
  • 6. getch(); } String mempunyai kajian tersendiri dalam pemrograman, C menyediakan library (string.h) yang berisi tentang fungsi-fungsi untuk melakukan manipulasi terhadap string. Berikut adalah contoh program yang menyajikan proses manipulasi yang dapat dilakukan pada string Contoh 7.5. #include <stdio.h> #include <string.h> #include <conio.h> main() { char s1[80], s2[80]; puts("Ketikan Sebuah Kata Lalu Tekan Enter"); puts("nKetikan Sebuah Kata kemudian tekan Enter"); gets(s1); gets(s2); printf("lengths: %d %dn", strlen(s1), strlen(s2)); if(!strcmp(s1, s2)) printf("The strings are equaln"); strcat(s1, s2); printf ("%sn", s1); strcpy(s1, "This is a test.n"); printf(s1); if(strchr("hello", 'e')) printf("e is in hellon"); if(strstr("hi there", "hi")) printf("found hi"); getch(); } Pada contoh 7.5 perhatikan sintaks program pada bagian include, fungsi-fungsi manipulasi string seperti strlen, strcmp, strcpy, strcat, dll terkandung dalam library <string.h>, oleh karena itu ketika kita akan melakukan manipulasi string dengan fungsi-fungsi tersebut maka terlebih dahulu kita harus menyertakan #include <string.h> pada bagain deklarsai library. Pengayaan Latihan 7.1 #include <stdio.h> #include <conio.h> main() { char str1[] = "To be or not to be"; char str2[] = ",that is the question"; 6
  • 7. int count = 0; /* Stores the string length */ while (str1[count] != '0') /* Increment count till we reach the string */ count++; /* terminating character. */ printf("nThe length of the string "%s" is %d characters.", str1, count); count = 0; /* Reset to zero for next string */ while (str2[count] != '0') /* Count characters in second string */ count++; printf("nThe length of the string "%s" is %d characters.n", str2, count); getch(); } Latihan 7.2 #include <conio.h> #include <stdio.h> void misteri(char *s); main() { char string[] ="naufal"; printf("Sebelum proses %sn",string); misteri(string); printf("Setelah proses %s",string); getch(); } void misteri(char *s) { while (*s != '0') { if (*s >= 'a' && *s <= 'z') *s -=32; s++; } } 7