Array berdimensi Satu
Array berdimensi dua
Variabel string
Input output data string
Menampilkan isi variabel string
9.2 Tujuan
Mahasiswa mampu mengenal dan memahami fungsi parametik dan
nonparametik.
Mahasiswa dapat menggunakan fungsi array dalam pemrograman.
Mahasiswa mampu mengenal dan memahami konsep string.
Mahasiswa dapat menggunakan I/O pada string.
9.3 Dasar Teori
Array berdimensi satu
Pendeklarasian dengan bentuk umum berupa :
Tipe nama_var[ukuran]
Contoh deklarasi : float nilai[5];
Bentuk pengaksesan
nama_var[indeks]
Array berdimensi dua
Pendeklarasian dengan bentuk umum berupa :
55
Contoh deklarasi : float data_nilai[4][3] Bentuk pengaksesan
nama_var[indeks pertama] [indeks kedua]
String merupakan bentuk data yang biasa dipakai dalam bahasa pemrograman untuk keperluan menampung dan memanipulasi data teks, misalnya untuk menampung (menyimpan) suatu kalimat. Pada bahasa C, string bukanlah merupakan tipe data tersendiri, melainkan hanyalah kumpulan dari nilai-nilai karakter yang berurutan dalam bentuk array berdimensi satu.
1. Variabel string
Variabel string adalah variabel yang dipakai utuk menyimpan nilai string.
Char nama_var [size] Misalnya :
char name[15];
merupakan instruksi untuk mendeklarasikan variabel string dengan panjang maksimal 15 karakter (termasuk karakter NULL). Deklarasi tersebut sebenarnya tidak lain merupakan deklarasi array bertipe char.
Input Output Data String
Pemasukan data string ke dalam suatu variabel biasa dilakukan dengan fungsi gets() atau scanf(). Bentuk umum pemakaiannya adalah sebagai berikut : #include <stdio.h> gets(nama_array); atau #include <stdio.h> scanf(“%s”, nama_array);
56 Menampilkan isi variable string
Untuk menampilkan isi variabel string, fungsi yang digunakan adalah puts() atau printf(). Bentuk umum pemakaiannya adalah sebagai berikut :
#include <stdio.h>
puts(var_string); atau
printf("%s",var_string);
Fungsi-fungsi Mengenai string
Fungsi strcpy() untuk menyalin nilai string
Fungsi strlen() untuk mengetahui panjang nilai string
Fungsi strcat() untuk menggabung nilai string
Fungsi strcmp() untuk membandingkan dua nilai string
Fungsi strchr() untuk mencari nilai karakter dalam string Contoh Program 1:
#include <stdio.h> main()
{
char jur[25];
printf(“Masukkan Jurusan yang dipilih : “); gets(jur);
printf(“\n Jurusan yang anda pilih %s”,jur); } Contoh program 2: #include <stdio.h> main() { char nama[50];
printf(“Masukkan nama anda : “); gets(jur);
57 printf(“Jumlah karakter = %d karakter\n,strlen(nama)); } 9.4 Hasil Praktikum 9.4.1 Percobaan 1
Membuat program penjumlahan dan pengurangan matrik ordo 3x3 ! Berikut di bawah ini scripnya :
Ket : Sengaja scrip di bawah ini saya beri komentar hal ini bertujuan untuk memperjelas penggunakan dari setiap fungsi.
#include <iostream.h>
main() {
// Mendefinisikan tipe data yang berbentuk array dua dimensi
typedef int MATRIK33 [3][3][3];
// Mendeklarasikan matriks1 sebagai array dua dimensi MATRIK33
matriks1,matriks2,matriks3,jumlahmatriks,hasilmatriks ;
int i, j, k; // Mendeklarasikan variabel // untuk indeks pengulangan
// Mengisikan nilai ke dalam elemen-elemen matriks1 cout<<"inputan matriks 1"<<endl;
for (i=0; i<2; i++) { for (j=0; j<2; j++) { for (k=0; k<2; k++) { cout<<"matriks1["<<i<<"]["<<j<<"]["<<k<<"] = "; cin>>matriks1[i][j][k]; } } }
58
cout<<endl;
// Mengisikan nilai ke dalam elemen-elemen matriks2 cout<<"inputen matriks 2"<<endl;
for (i=0; i<2; i++) { for (j=0; j<2; j++) { for (k=0;k<2; k++) { cout<<"matriks2["<<i<<"]["<<j<<"]["<<k<<"] = "; cin>>matriks2[i][j][k]; } } } cout<<endl;
// Melakukan penjumlahan matriks1,matriks2, dan matriks 3
// dan menyimpan hasilnya ke dalam jumlahmatriks for (i=0; i<2; i++) {
for (j=0; j<2; j++) { for (k=0;k<2; k++) { jumlahmatriks[i][j][k] = matriks1[i][j][k] + matriks2[i][j][k]; } } }
// Menampilkan hasil penjumlahan
cout<<"hasil penjumlahan matriks"<<endl; for (i=0; i<2; i++) {
for (j=0; j<2; j++) { for (k=0;k<2; k++) { cout<<"matriks["<<i<<"]["<<j<<"]["<<k<<"] = "<<jumlahmatriks[i][j][k]<<endl; } }
59
}
cout <<endl;
// Melakukan pengurangan matriks1,matriks2, dan matriks 3
// dan menyimpan hasilnya ke dalam jumlahmatriks for (i=0; i<2; i++) {
for (j=0; j<2; j++) { for (k=0;k<2; k++) { hasilmatriks[i][j][k] = matriks1[i][j][k] - matriks2[i][j][k]; } } }
// Menampilkan hasil penjumlahan
cout<<"hasil pengurangan matriks"<<endl; for (i=0; i<2; i++) {
for (j=0; j<2; j++) { for (k=0;k<2; k++) { cout<<"matriks["<<i<<"]["<<j<<"]["<<k<<"] = "<<hasilmatriks[i][j][k]<<endl; } } } return 0; }
60
Dari hasil scrip di atas maka akan di dapat sebuah outputan berikut gambar di bawah ini :
Gambar 9.1 inputan matrik
Dan langkah selanjutnya saya akan menginputkan beberapa bilangan pada program di atas , maka hasil yang di dapat akan seperti pada gambar di bawah ini :
Gambar 9.2 hasil percobaan 1
Keterangan : Manfaat dari program di atas yaitu Mahasiswa mampu menghitung nilai matrik pengurangan dan penjumlahan dengan menggunakan fungsi program array.
61 9.4.2 Percobaan 2
Membuat program menghitung nilai karakter. Berikut di bawah ini scripnya :
#include<stdio.h> #include<conio.h> main()
{
char kar,kalimat;
int jumkar=1, jumspasi=0;
printf("\tMasukkan Kalimat : "); scanf("%c",&kalimat);
while((kar = getchar()) != '\n'){
// jumlah karakter yang diinput tambah 1 hingga menemukan karakter enter
jumkar++;
// jika terdapat karakter spasi,maka variabel akan dihitung 1
if (kar == ' ') jumspasi++; }
printf("\n\tJumlah karakter\t= %d", jumkar); printf("\n\tJumlah spasi\t= %d\n", jumspasi); }
Dari hasil scrip di atas maka akan didapatkan sebuah program berikut di bawah ini :
62
Dan selanjutnya saya akan memasukan kalimat di mana kalimat yang akan saya masukan nanti akn di hitung jumlah karakter serta spasinya , berikut di bawah ini output programnya :
Gambar 9.4 hasil percobaan 2
Keterangan : Manfaat dari program di atas yaitu Mahasiswa mampu menghitung jumlah dari nilai kaarakter dan spasi yang telaah
diiunputkan pada program.
9.4.3 Percobaan 3
Menganalisa dan memperbaiki kesalahan dari sebuah program . Berikut di bawah ini scripnya yang salah :
#include<stdio.h> void main(){ struct date{ int tgl; int bulan; int tahun;} struct person{ char nama[30]; struct date lahir;}
struct person siswa[2];
int i;
printf("Masukkan Data siswa : \n"); for (i=0;i<2;i+)
{
printf("Masukkan Nama :");
fgets(siswa[i].nama, sizeof siswa[i]. nama, stdin);
Printf("Masukkan Tanngal lahir : "); scanf("%d", &siswa[i].lahir.tgl);
63
Printf("Masukkan bulan lahir : "); scanf("%d", &siswa[i].lahir.bulan); printf("Masukkan tahun lahir : "); scanf("%d", &siswa[i].lahir.tahun) fflush(stdin); printf("\n"); }; for(i=0;i<2;i++) {
printf(" data ke : %d \n ",i+1);
printf("Nama Siswa : %s",siswa[i].nama); printf("Tanggal lahir : %d-%d-%d ",siswa[i].lahir.tgl,siswa[i].lahir.bulan,siswa[i ].lahir.tahun) printf("\n\n") ; } }
Berikut di bawah ini pembenaranya : #include<stdio.h> void main(){ struct date{ int tgl; int bulan; int tahun;}; struct person{ char nama[30];
struct date lahir;}; struct person siswa[2]; int i;
printf("\t\tMasukkan Data siswa : \n");
printf("\t==================================\n"); for (i=0;i<2;i++)
64
printf("Masukkan Nama\t\t : ");
fgets(siswa[i].nama, sizeof siswa[i].nama, stdin); printf("Masukkan Tanggal lahir\t : ");
scanf("%d", &siswa[i].lahir.tgl); printf("Masukkan bulan lahir\t : "); scanf("%d", &siswa[i].lahir.bulan); printf("Masukkan tahun lahir\t : "); scanf("%d", &siswa[i].lahir.tahun); fflush(stdin); printf("\n"); } for(i=0;i<2;i++) { printf("data ke : %d \n ",i+1);
printf("Nama Siswa\t : %s",siswa[i].nama); printf("Tanggal lahir\t : %d-%d-%d ",siswa[i].lahir.tgl,siswa[i].lahir.bulan,siswa[i].lah ir.tahun); printf("\n\n") ; } }
Dari hasil pembenaran program di atas , maka akan di dapat sebuah output program berikut seperti pada gambar di bawah ini :
65
Langkah selanjutnya saya akan menginputkan nama, tanggal lahir,bulan lahir dan tahun lahir pada diri saya pribadi , maka tampilan yang akan di dapat berikut di bawah ini :
Gambar 9.6 hasil akhir percobaan 3
Keterangan : Manfaat dari program di atas yaitu Mahasiswa dapat menganalisa kesalahan program serta dapat membenarkanya .
66
BAB XI
PENUTUP
10.1 KesimpulanDari pelaksanaan praktikum yang telah berjalan dengan lancar, alhamdulillah saya dapat memahami materi yang di ajarkan tentang pemrogaman bahasa C dengan cukup jelas.
Bahasa C merupakan pemrogaman bahasa yang cukup rumit. Tetapi apabila kita tekuni dan berusaha sedikit, maka bahasa C adalah termasuk pemrogaman yang mudah untuk dipelajari.
10.2 Saran
Dalam mempelajari pemrogaman bahasa C banyak sekali hal yang harus diperhatikan. Maka dari itu diperlukan adanya ketelitian dan kesabaran, serta analisa.
67 10.3 Daftar Pustaka
Modul praktikum pemrograman dasar
http://informatika11f.blogspot.com http://informatiak11d.wordpress.com http://ilmukomputer.com
68 10.4 LAMPIRAN