You are on page 1of 9

Array / Larik

A. Tujuan Kompetensi Khusus Membuat program sederhana yang menggunakan array satu dimensi dan array dua dimensi dan manipulasinya B. Uraian Materi Array merupakan kumpulan dari nilai-nilai data yang bertipe sama dalam urutan tertentu yang menggunakan nama yang sama. Letak atau posisi dari elemen array ditunjukkan oleh suatu index. Dilihat dari dimensinya array dapat dibagi menjadi Array dimensi satu, array dimensi dua dan array multi-dimensi. 1. Array Dimensi Satu y Setiap elemen array dapat diakses melalui indeks. y Indeks array secara default dimulai dari 0. Deklarasi Array Bentuk umum : Tipe_array nama_array[ukuran]; Contoh : Nilai[0] Nilai[1] Nilai[2] Nilai[3] Nilai[4]
int Nilai[5];

70

80

82

60

75

2. Array Dimensi Dua Array dua dimensi merupakan array yang terdiri dari m buah baris dan n buah kolom. Bentuknya dapat berupa matriks atau tabel. Deklarasi array : Tipe_array nama_array[baris][kolom]; Contoh : Int X[3][4]; X[0][0] X[0][1] X[0][2] X[0][3] X[1][0] X[1][1] X[1][2] X[1][3] X[2][0] X[2][1] X[2][2] X[2][3] Cara mengakses array : Untuk mengakses array, misalnya kita ingin mengisi elemen array baris 2 kolom 3 dengan 10 maka perintahnya adalah sbb : X[1][2] = 10; 3. Array Multidimensi Array multi-dimensi merupakan array yang mempunyai ukuran lebih dari dua. Bentuk pendeklarasian array sama saja dengan array dimensi satu maupun array dimensi dua. Bentuk umumnya yaitu : tipe_array nama_array[ukuran1][ukuran2][ukuranN]; Contoh :

float X[2][4][3];
X[0][0][0] X[0][1][0] X[0][2][0] X[0][3][0] X[0][0][1] X[0][1][1] X[0][2][1] X[0][3][1] X[0][0][2] X[0][1][2] X[0][2][2] X[0][3][2] X[1][0][0] X[1][1][0] X[1][2][0] X[1][3][0] X[1][0][1] X[1][1][1] X[1][2][1] X[1][3][1] X[1][0][2] X[1][1][2] X[1][2][2] X[1][3][2]

C. Langkah-Langkah Praktikum Untuk membuat program dalam C++ maka langkah pertama adalah memanggil program C seperti yang telah dijelaskan sebelumnya Tulis program berikut pada layar editornya.
Nama File Program 26 #include <stdio.h> #include <conio.h> void main() { int Nilai[10]; int index; float total,ratarata; // Pembacaan data dari keyboard printf(Pembacaan data nilai \n); for (index=0;index<10;index++) { printf(Nilai mahasiswa ke-%d = ,index+1); scanf(%d,&Nilai[index]); } // Perhitungan total dan rata-rata total=0; for (index=0;index<10;index++) total=total+Nilai[index];// atau total+=Nilai[index]; ratarata=total/10; // Menampilkan data yang telah dimasukan dan rata-rata. for (index=0;index<10;index++) printf(Nilai mahasiswa ke-%d = %3d\n,index+1,Nilai[index]); printf(Rata-rata = %6.2f\n,ratarata); getch(); } Nama File Program 27 : /* Program untuk menentukan jurusan & jenjang mahasiswa berdasarkan NIM*/ #include stdio.h #include conio.h #include string.h void main() { char jurusan[25], jenjang[10], nim[5], nama[20]; clrscr(); printf(Masukkan nama Anda : ); gets(nama); printf(Masukkan NIM Anda : ); gets(nim); /***** cari jurusan *****/ switch(nim[2]) { case 1 : strcpy(jurusan, Teknik Informatika); break; case 2 : strcpy(jurusan, Sistem Informasi);

break; case 3 : strcpy(jurusan, Teknik Komputer); break; case 4 : strcpy(jurusan, Komputerisasi Akuntansi); break; default : printf(Anda salah memasukkan NIM. Coba periksa lagi !); break; } /***** cari jenjang *****/ if(nim[4] == 5) { strcpy(jenjang, Strata-1); } else { if(nim[4] == 3) { strcpy(jenjang,Diploma-3); } else printf(ANda salah memasukkan NIM. Coba periksa lagi !); } /***** tampilkan data mahasiswa *****/ printf( << Data Mahasiswa Politeknik PIKSI Ganesha >>); printf(Nama : %s, nama); printf(NIM : %s, nim); printf(Jurusan : %s, jurusan); printf(Jenjang : %s, jenjang); getch(); } Nama File Program 28 : /* Program menginput nilai(bilangan) ke dalam array dimensi dua dan menampilkannya */ #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(); } Nama File Program 29 :

#include stdio.h #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 puts(); } puts(); } getch(); }

D. Rangkuman Array merupakan kumpulan dari nilai-nilai data yang bertipe sama dalam urutan tertentu yang menggunakan nama yang sama. Letak atau posisi dari elemen array ditunjukkan oleh suatu index. Dilihat dari dimensinya array dapat dibagi menjadi Array dimensi satu, array dimensi dua dan array multi-dimensi. E. Tugas Untuk mengisi dan menampilkan isi elemen array ada dua cara yaitu : Row Major Order (secara baris per baris) Column Major Order (secara kolom per kolom) Jelaskan cara mengisi dan menampilkannya! F. Evaluasi Buatlah suatu program untuk menghitung jumlah anggota yang ada dalam suatu matrik. Contoh :

234 562 134 Total Elemen matrik adalah 30 Catatan : Anggota elemen dimasukan dari keyboard G. Pustaka 1. H.M, Yogiyanto. 1993. Konsep Dasar Pemrograman Bahasa C, Yogyakarta : Penerbit Andi 2. Hanif Al Fatta,S.Kom, 2006, Dasar Pemrograman C++, Yogyakarta: Penerbit Andi

BAB IX STRUCT (Record)

A. Tujuan Kompetensi Khusus Membuat program sederhana yang menggunakan array record (struct) B. Uraian Materi Turbo C tidak selalu menyediakan tipe data yang sesuai dengan tipe data yang diinginkan. Contoh kasus yaitu ketika kita ingin membuat suatu program mengolah data mahasiswa dimana data mahasiswa terdiri dari NIM, Nama, NilaiUTS, NilaiUAS, NilaiQuiz, NilaiAkhir dan Index Prestasinya. Turbo C tidak menyediakan tipe data untuk data tersebut. Oleh karena itu maka kita harus membuat suatu tipe data baru yang cocok dengan keperluan kita. Caranya adalah dengan menggunakan perintah struct. 1. Struct Struct merupakan kumpulan dari nilai-nilai data yang bertipe data berbeda,ditampung dalam satu deklarasi. Deklarasi tipe data baru (struct) untuk data mahasiswa dapat dilihat sebagai berikut :
struct TMhs { char NIM[11]; char Nama[21]; int NilaiUTS,NilaiUAS,NilaiQuiz; float NilaiAkhir; char index; };

Deklarasi diatas berarti kita telah membuat suatu tipe data yang bernama TMhs dimana setiap data bertipe TMhs mempunyai field NIM, Nama, NilaiUTS, NilaiUAS, NilaiQuiz, NilaiAkhir dan index. Untuk mendeklarasikan sebuah variable yang bertipe TMhs caranya adalah seperti berikut:
TMhs Mhs1,Mhs2;

Deklarasi tersebut berarti bahwa kita membuat suatu variable bernama Mhs1 dan Mhs2 dimana tiap variable tersebut mempunyai field sesuai dengan TMhs. Kalau digambarkan, maka struktur Mhs1 dan Mhs2 dapat dilihat seperti berikut:

Untuk mengisi Nilai UTS dari Mhs1 maka perintahnya adalah :


Mhs1.NilaiUTS=50; scanf(%i,&Mhs1.NilaiUTS);//membaca data dari keyboard

2. Array Struct Setiap tipe data dapat dibuat dalam bentuk array. Begitu juga dengan tipe data yang dibuat dengan perintah struct.

C. Langkah-Langkah Praktikum Untuk membuat program dalam C++ maka langkah pertama adalah memanggil program C seperti yang telah dijelaskan sebelumnya Tulis program berikut pada layar editornya.

Nama File Program 30 #include <stdio.h> #include <conio.h> #include <string.h> struct TMhs { char NIM[11]; char Nama[21]; int NilaiUTS,NilaiUAS,NilaiQuiz; float NilaiAkhir; char index; }; main() { TMhs mhs1,mhs2; printf(Pengisian Data); printf(NIM : );gets(mhs1.NIM); printf(NAMA : );gets(mhs1.Nama); printf(Nilai QUIZ : );scanf(%d,&mhs1.NilaiQuiz); printf(Nilai UTS : );scanf(%d,&mhs1.NilaiUTS); printf(Nilai UTAS : );scanf(%d,&mhs1.NilaiUAS); mhs1.NilaiAkhir=0.2*mhs1.NilaiQuiz+0.3*mhs1.NilaiUTS+0.5*mhs1.NilaiUAS; if(mhs1.NilaiAkhir>=80) mhs1.index=A;else if(mhs1.NilaiAkhir>=60) mhs1.index=B;else if(mhs1.NilaiAkhir>=40) mhs1.index=C;else if(mhs1.NilaiAkhir>=20) mhs1.index=D;else if(mhs1.NilaiAkhir>=00) mhs1.index=E; mhs2=mhs1; // mengisikan semua data di mhs1 ke mhs2 printf(Data yang telah dimasukan :); printf(NIM : %s\n,mhs2.NIM); printf(NAMA : %s\n,mhs2.Nama); printf(Nilai QUIZ : %i\n,mhs2.NilaiQuiz); printf(Nilai UTS : %d\n,mhs2.NilaiUTS); printf(Nilai UTAS : %d\n,mhs2.NilaiUAS); printf(Nilai Akhir: %.2f\n,mhs2.NilaiAkhir);

printf(Index : %c\n,mhs2.index); getch(); } Nama File Program 31 : #include <stdio.h> #include <conio.h> #include <string.h> #define maks 3 struct TMhs { char NIM[9]; char Nama[21]; int NilaiUTS,NilaiUAS,NilaiQuis; float NilaiAkhir; char index; }; main() { TMhs mhs[maks]; // array struct int i; for(i=0;i<maks;i++) { printf("Pengisian Data Mahasiswa Ke-%i\n",i+1); printf("NIM : ");fflush(stdin);gets(mhs[i].NIM); printf("NAMA : ");fflush(stdin);gets(mhs[i].Nama); printf("Nilai QUIZ : ");scanf("%d",&mhs[i].NilaiQuis); printf("Nilai UTS : ");scanf("%d",&mhs[i].NilaiUTS); printf("Nilai UTAS : ");scanf("%d",&mhs[i].NilaiUAS); mhs[i].NilaiAkhir=0.2*mhs[i].NilaiQuis+0.3*mhs[i].NilaiUTS+0.5*mhs[i].NilaiUA S; if(mhs[i].NilaiAkhir>=80) mhs[i].index='A';else if(mhs[i].NilaiAkhir>=60) mhs[i].index='B';else if(mhs[i].NilaiAkhir>=40) mhs[i].index='C';else if(mhs[i].NilaiAkhir>=20) mhs[i].index='D';else if(mhs[i].NilaiAkhir>=0) mhs[i].index='E'; }; clrscr(); printf("Data yang telah dimasukan adalah : \n"); printf("---------------------------------------------------------------------\n"); printf("| NIM | NAMA | QUIS | UTS | UAS | N A | INDEX |\n"); printf("---------------------------------------------------------------------\n"); for(i=0;i<maks;i++) { printf("| %-8s | %-20s | %3i | %3i | %3i | %6.2f | %c |\n", mhs[i].NIM,mhs[i].Nama,mhs[i].NilaiQuis,mhs[i].NilaiUTS, mhs[i].NilaiUAS,mhs[i].NilaiAkhir,mhs[i].index); } printf("---------------------------------------------------------------------\n"); getch(); return 0; }

D. Rangkuman Struct merupakan kumpulan dari nilai-nilai data yang bertipe data berbeda,ditampung dalam satu deklarasi. Deklarasi tipe data baru (struct) untuk data mahasiswa dapat dilihat sebagai berikut :
struct TMhs { char NIM[11]; char Nama[21]; int NilaiUTS,NilaiUAS,NilaiQuiz; float NilaiAkhir; char index; };

Setiap tipe data dapat dibuat dalam bentuk array. Begitu juga dengan tipe data yang dibuat dengan perintah struct. Sehingga digabungkan menjadi array struct. E. Tugas Jelaskan perbedaan antara Array dengan Struct ! F. Evaluasi Buatlah Program Array Struct, dimana Tampilan Akhir :
PT. Baju-Bajuan Jl. Bandung Selatan 234 ----------------------------------------------------Pengisian Data Pemesan Ke-1 Kode : 01 NAMA : Andri Heryandi Alamat : Bandung Pesanan : Kaos kaki Pengisian Data Pemesan Ke-2 Kode : 02 NAMA : Hery Dwi Yulianto Alamat : Jakarta Pesanan : Kaos Oblong Pengisian Data Pemesan Ke-3 Kode : 03 NAMA : Irmayanti Alamat : Bandung Pesanan : Kaos Oblong Data yang telah dimasukan adalah : -----------------------------------------------------| Kode | NAMA | Alamat | Pesanan | -----------------------------------------------------| 01 | Andri Heryandi | Bandung | Kaos Kaki | | 02 | Hery Dwi Yulianto | Jakarta | Kaos Oblong | | 03 | Irmayanti | Bandung | Jas almamater| ------------------------------------------------------

G. Pustaka 1. H.M, Yogiyanto. 1993. Konsep Dasar Pemrograman Bahasa C, Yogyakarta : Penerbit Andi 2. Hanif Al Fatta,S.Kom, 2006, Dasar Pemrograman C++, Yogyakarta: Penerbit Andi

You might also like