Selasa, 25 Agustus 2015

Operasi String dan Konversi Data

A.    JUDUL
            OPERASI STRING DAN KONVERSI DATA
B.     TUJUAN
a.       Mampu mengoperasikan string dalam satu kalimat
b.      Mampu mengoperasikan pemecahan dan penggabungan string
c.       Mampu mengkonversikan data ke tipe lainnya melalu casting atau penggunaan fungsi konversi
C.     ALAT DAN BAHAN
a.       PC atau Laptop
b.      Program Aplikasi Dev C++
c.       Microsoft Word
d.      Paint
D.    Keselamatan Kerja
a.       Berdoa sebelum memulai praktik.
b.      Baca dan pahami petunjuk pelaksanaan praktikum.
c.       Gunakan peralatan sesuai fungsinya dengan hati – hati.
d.      Setelah selesai, rapikanlah kembali alat dan bahan praktik.
E.     Landasan Teori
String merupakan kumpulan dari karakter ( char ). Cara pendeklarasian string mirip dengan cara pendeklarasian variable dengan tipe data char. Hanya perbedaannya terdapat penambahan tanda kurung siku ( “[“ dan “]” ). Ada tiga jenis pendeklarasian tipe data string, yaitu :
1.      Dengan menentukan panjang string
char <nama_var>”[“<panjang>”]” [=<inisialisasi>];
Contoh :
char nama[25];
2.      Tanpa menentukan panjang string dan langsung memberikan nilai awal kepada string
char <nama_var>”[ ]”=<inisialisasi>;
Contoh :
Char nama[ ]=”Nugroho Slamet R”;
3.      Dengan menggunakan pointer char
char <nama_var>”[ ]” = <inisialisasi>;
Contoh :
char *nama=”Nugroho Slamet R”;
Operasi String meliputi :
1)      Menyalin string
2)      Membandingkan string
3)      Menghitung jumlah karakter pada string
4)      Pencarian karakter atau string pada string tertentu
5)      Penggabungan string
Konversi String Dan Tipe Data meliputi :       
1)      Mengubah bentuk string
2)      Konversi tipe data secara otomatis
3)      Konversi tipe data menggunakan fungsi
4)      Konversi tipe data secara eksplisit ( casting )
Konversi Data meliputi :
1)      Fungsi dec, oct, hex
2)      Fungsi setbase
F.      Pelaksanaan Praktik
Ø Program 1
#include <cstdlib>
#include <string.h>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
            char registrasi[50];
            char kalimat[255];
            int indeks;
            char karakter;
            int jum_kar,jum_kap,jum_lwr,spasi;
                        cout<<"<<<<< Selamat datang di Dunia string >>>>>";
            cout<<endl;
            cout<<"Registrasi Nama           :";
            cin.getline(registrasi,sizeof(registrasi));
            cout<<endl;
            system("cls");
            cout<<" # REGISTRASI BERHASIL #"<<endl<<endl;
            cout<<"Nama Anda adalah ";
            cout<<"<<<< "<<registrasi;
            cout<<" >>>>"<<endl;
            cout<<endl<<endl;
           
            cout<<"Ketik kalimat di sini :";
            cin.getline(kalimat,255);
            cout<<endl;
           
            indeks = 0;
            jum_kar=jum_kap=jum_lwr=spasi=0;
           
                        while(kalimat[indeks]);
            {
                                    karakter=kalimat[indeks];
                                    jum_kar++;
                                    if(karakter>='A' && karakter<='Z')
                                    jum_kap++;
                                    if(karakter>='a' && karakter<='z')
                                    jum_lwr++;
                                    if(karakter==' ')
                                    spasi++;
                                    indeks++;
                                    }
                                    cout<<endl;
                                    cout<<"Jumlah .....       = "<<jum_kar<<endl;
                                    cout<<"Jumlah .....       = "<<jum_kap<<endl;
                                    cout<<"Jumlah .....       = "<<jum_lwr<<endl;
                                    cout<<"Jumlah .....       = "<<spasi<<endl;
                                    cout<<endl<<endl;
                                   
            system("PAUSE");
            return EXIT_SUCCESS;
}
Apabila program di atas dijalankan, maka akan muncul tampilan berikut :
Tuliskan nama, contohnya : Sartini, maka akan muncul tampilan berikut :
Ø Program 2
#include <cstdlib>
#include <iostream>
#include <string.h>
using namespace std;
int main(int argc, char *argv[])
{
            char teks[70];
            system("cls") ;
           
           
            cout<<"Kalimat:";
            cin . getline(teks,sizeof(teks));
           
            cout<<endl;
            cout<<"Termasuk palindrom";
            cin . getline(teks,sizeof(teks));
            cout<<endl<<endl;
           
            cout<<"Kalimat:";
            cin . getline(teks,sizeof(teks));
            cout<<endl<<endl;
           
            cout<<"Bukan polindrom ";
            cin . getline(teks,sizeof(teks));
            cout<<endl<<endl;
           
            system("PAUSE");
            return 0;
           
}
Apabila program di atas dijalankan, maka akan muncul tampilan berikut :
Ø Program 3
#include <cstdlib>
#include <iostream>
#include <string.h>
using namespace std;
int main(int argc, char *argv[])
{
            char teks[70];
           
            system("cls");
           
            cout<<" >> Uji Kompetensi Unit 3 <<  "           <<endl;
            cout<<" --        Pengolahan String        -- "       <<endl;
            cout<<" ========================== "    <<endl;
           
            cout<<endl;
            cout<<"Masukkan sebuah kalimat :";
            cin.getline (teks,sizeof(teks));
           
            cout<<endl;
            cout<<"Konversi ke huruf besar          :"<<strupr(teks)<<endl;
           
            cout<<endl;
            cout<<"Dibalik urutan kalimat :"<<strrev(teks)<<endl;
            cout<<endl<<endl;
            system("PAUSE");
            return 0;
}
Apabila program di atas dijalankan, maka akan muncul tampilan berikut :
G.    Kesimpulan
Ø Analisis Program 1
Program ini menjelaskan tentang registrasi. Ini seharusnya memasukkan nama Anda. Setelah dienter nama anda sudah diregistrasi.
Ø Analisis Program 2
Program ini merupakan program yang menentukan apakah kalimat yang diinput palindrom atau bukan. Kalimat disebut sebagai kalimat palindrom adalah kalimat itu jika pembacaannya dari belakang maka akan tetap bemakna dan bebunyi sama. Contohnya adalah :
KASUR RUSAK. Ini merupakan palindrom karena meskipun dibaca dari belakang akan berbunyi KASUR RUSAK. Sedangkan,
MAKAN MALAM. Ini bukan termasuk palindrom karena ketika pembacaan dari belakang akan berbunyi MALAM MAKAN.
Ø Analisis Program 3
Program ini merupakan program untuk mengubah bentuk string. Setelah memasukkan sebuah kalimat, contoh :
pemrograman dasar
maka secara langsung dikonversikan ke huruf besar. Hal ini terjadi karena kita menuliskan syntaxnya pada kode-kode di atas. Syntax untuk mengubah semua karakter menjadi huruf besar adalah
 strupr (<string);
Sedangkan untuk membalikkan urutan kalimat adalah dengan syntax
            strrev (<string);
Sumber : http://sasacrt.blogspot.com/2015/03/operasi-string-dan-konversi-data.html

Array 1 Dimensi dan Multidimensi

Array
Array merupakan bagian dasar pembentukan suatu struktur data yang lebih kompleks. Hampir setiap jenis struktur data kompleks dapat di sajikan secara logik oleh array.
Array adalah suatu tipe data terstuktur yang berupa sejumlah data sejenis (bertipe data sama) yang jumlahnya tetap dan diberi suatu nama tertentu.

Elemen-elemen array tersusun secara sekuensial di dalam memori sehingga memiliki alamat yang berdekatan. Array dapat berupa array 1 dimensi, 2 dimensi, bahkan n-dimensi. Elemen-elemen array bertipe data sama tapi bisa bernilai sama atau berbeda-beda. Array digunakan untuk menyimpan data-data yang diinputkan masing-masing kedalam memory komputer. Jadi jumlah datanya banyak namun satu jenis.

Karaktersitik Array :
1. mempunyai batasan dari pemesanan alokasi memory (bersifat statis)
2. mempunyai type data sama (homogen)
3. dapat di akses secara acak.
4. berurutan (terstruktur)

Array Mempunyai Dimensi :
1. Array Dimensi satu (vektor)

Elemen-elemen array dapat diakses oleh program menggunakan suatu indeks tertentu. Pengaksesan elemen array dapat dilakukan berurutan atau random berdasarkan indeks tertentu secara langsung. Pengisian dan pengambilan nilai pada indeks tertentu dapat dilakukan dengan mengeset nilai atau menampilkan nilai pada indeks yang dimaksud.
Array satu dimensi juga disebut array dimensi satu atau biasa juga disebut Vektor karena hanya memiliki satu arah.

Deklarasi array satu dimensi :
tipe_data nama_var [ukuran_array]

Ket :
–type_data : menyatakan type elemen array misal int, char, float
–nama_var : nama variabel array
–ukuran : menyatakan jumlah maksimal elemen arranya

2. Array Dimensi banyak
- Dimensi dua (matrix / tabel )
- Dimensi tiga (kubik)

Array multi dimensi berarti array yang kita deklasaikan dapat dikembangkan ke array dimensi 2 dan seteruanya. Array multi dimensi merupakan topik yang menarik dalam matematika. Setiap dimensi dalam array direpresentasikan sebagai sub bagian dalam array.

Oleh karena itu, array dua dimensi array memiliki dua sub bagian, sebuah array tiga-dimensi memiliki tiga sub bagian dan sebagainya. Sebuah contoh bentuk nyata yang baik dari array dua dimensi adalah sebuah papan catur. Satu dimensinya merupakan delapan baris, sedangkan dimensi lainnya merupakan delapan kolom.

Array dua dimensi sering kali digambarkan/dianalogikan sebagai sebuah matriks atau bentuk grid. Jika array berdimensi satu hanya terdiri dari 1 baris dan banyak kolom, array berdimensi dua terdiri dari banyak baris dan banyak kolom yang bertipe sama.
Array dua dimensi merupakan array yang terdiri dari M buah baris dan N buah kolom. Bentuknya dapat berupa matriks atau tabel.

Bentuk Umum : 
Tipe_Data Nama_Variabel [index-1] [index-2]

Inisialisasi array dua dimensi
Seperti array berdimensi satu, array berdimensi dua juga bisa diinisialisasi.

Fungsi Array.
Jika suatu fungsi memberikan hasil balik, maka nilai hasil balik yang diberikan oleh fungsi dapat dilakukan oleh statement return yang diikuti  oleh nilai hasil baliknya yang ditulis tanda kurung.

Keuntungan penggunaan array sebagai tipe data dibandingkan dengan penggunaan tipe data yang lain adalah kemampuannya yang dapat mengumpulkan beberapa data yang bertipe sama dalam satu variabel, sehingga dalam pembuatan program yang terdiri dari beberapa tipe yang sama, tidak membutuhkan banyak variabel.

Array juga dapat berfungsi sebagai pointer untuk menunjukan index yang sedang kita
gunakan.

Contoh program array dimensi 1 :




#include <iostream.h>
#include <conio.h>
void main()
{
clrscr ();
 int A[5];
 int i;

 for(i=0;i<5;i++)
 {
cout<<"Masukkan Data "<<i<<"="; cin>>A[i];
 }
for(i=0;i<5;i++)
{
cout<<endl<<"array ke-"<<i<<" -> "<<A[i];
}     getch () ;
}

Hasilnya akan seperti ini :

 
 
 
 Atau contoh program Array dimensi 1 yang lainya :



#include<iostream.h>
#include<conio.h>
main()
{
clrscr();
int x;
int number[] = {1,2,3,4,5,6,7,8,9};
char character[] = {'H','E','L','L','O'};
for(x=0; x<9;++x)
{
cout <<"\nData ["<<x<<"] = "<< number[x];
}
cout<<"\n";
for(x=0; x<5; ++x)
{
cout<<"\nData["<<x<<"] = "<< character[x];
}
getch();
}


 
 
 
Untuk Contoh Program Array Dimensi 2 :




/*Program Penjumlahan dan pengurangan array 2 dimensi(matriks)*/
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
main()
{
clrscr();
//deklarasi
    int matrixa[3][3],matrixb[3][3],matrixc[3][3];
   int i,j;
   char opr;
//input nilai matriks ke-1 dari baris dan kolom
   for(i=1;i<=2;i++){
   for(j=1;j<=2;j++){
   cout<<"Masukkan matriks(1) nilai baris ke-"<<i<<" kolom ke-"<<j<<" : ";cin>>matrixa[i][j];
   }
   cout<<endl;
   }
//output matriks ke-1
   for(i=1;i<=2;i++){
   for(j=1;j<=2;j++){
   cout<<matrixa[i][j]<<"\t";
   }
   cout<<endl;
   }
//input nilai matriks ke-2 dari baris dan kolom
   for(i=1;i<=2;i++){
   for(j=1;j<=2;j++){
   cout<<"Masukkan matriks(2) nilai baris ke-"<<i<<" kolom ke-"<<j<<" : ";cin>>matrixb[i][j];
   }
   cout<<endl;
   }
//output matriks ke-2
   cout<<endl;
   for(i=1;i<=2;i++){
   for(j=1;j<=2;j++){
   cout<<matrixb[i][j]<<"\t";
   }
   cout<<endl;
   }
//Input Operator
   cout<<"Pilih Operator +,- :";cin>>opr;
//switching operator
   for(i=1;i<=2;i++){
   for(j=1;j<=2;j++){
   switch(opr){
       case '+' : matrixc[i][j] = matrixa[i][j] + matrixb[i][j];
      break;
      case '-' : matrixc[i][j] = matrixa[i][j] - matrixb[i][j];
      break;
      default:
      cout<<"keyword yang anda masukkan salah/tidak terdaftar";
   }
//Output Hasil matriks dari Operator
   cout<<matrixc[i][j]<<"\t";
   }
   cout<<endl;
   }
getch();
return 0;
}


Maka Hasil Outputnya akan seperti ini, (jika di isi inputan secara berurutan)

 
 
Sumber : http://darkzone7.blogspot.com/2013/04/array-pada-c.html
 

Pengenalan Tipe Data

Pengenalan Tipe Data C


Tipe data adalah suatu media atau memori pada komputer yang digunakan untuk menampung 
Berikut adalah jenis – jenis dari tipe data :
Tipe Data
Keterangan
Ukuran
Jangkauan
Char
Untuk menyimpan karakte
1 byte
signed: -128 to 127
unsigned: 0 to 255
Wchar_t
Untuk menyimpan karakter lebar biasanya untuk unicode
2 byte
1 karakter lebar
Short int (short)
Untuk menyimpan bilangan bulat dengan jangkauan pendek
2 byte
signed: -32768 to 32767
unsigned: 0 to 65535
Int
Untuk menyimpan bilangan bulat dengan jangkauan menengah
4 byte
signed: -2147483648 to 2147483647
unsigned: 0 to 4294967295
Long int (long)
Untuk menyimpan bilangan bulat dengan jangkauan panjang
4 byte
signed: -2147483648 to 2147483647
unsigned: 0 to 4294967295
Float
Untuk menyimpan bilangan cacah
4 byte
3.4e +- 38 (7 digit)
Double
Untuk menyimpan bilangan cacah dengan ketelitian ganda
8 byte
1.7e +- 308 (15 digits)
Long double
Untuk menyimpan bilangan cacah dengan ketelitian ganda lebih detail (panjang)
8 byte
1.7e +- 308 (15 digits)
Bool
Untuk pernyataan true or false
I byte
True or false

Pengenalan Variabel

Pengenalan Variabel dalam Bahasa C

Variabel adalah suatu simbol dalam program yang berfungsi untuk mewakili suatu nilai/menyimpan nilai tertentu yang sifatnya dinamis, dapat berubah-ubah selama program dijalankan. Dalam pemrograman bahasa C, untuk menggunakan variabel harus mendeklarasikannya terlebih dahulu agar compiler mengenalinya. Bentuk umum untuk mendeklarasikan variabel dalam bahasa c adalah :
tipe_data nama_variabel;
contoh :
int a; /*Mendeklarasikan variabel a yang bertipe integer*/
int b, c; /*Mendeklarasikan variabel b dan c yang bertipe integer*/
char u; /*Mendeklarasikan variabel u yang bertipe char*/
Pada contoh diatas (baris I), variabel a dideklarasikan dengan tipe integer sehingga variabel tersebut (a) hanya dapat menampung nilai dengan tipe data integer. Begitu juga variabel b dan c pada baris kedua yang dideklarasikan dengan tipe integer, kedua variabel tersebut (b dan c) hanya akan menyimpan nilai yang bertipe integer.
Inisialisasi Variabel
Inisialisasi variabel adalah pemberian nilai pada variabel. Inisialisasi variabel dapat langsung dilakukan pada saat proses deklarasi variabel tersebut. Inisialisasi suatu variabel berguna untuk menghindari hal yang tidak diinginkan. Inisialisasi variabel terbagi menjadi dua menurut caranya, yaitu pemberian nilai secara langsung dan pemberian nilai dengan pembacaan input (mengisi nilai dengan piranti masukan). Sintak untuk melakukan inisialisasi variabel secara langsung :
int a = 0; /*melakukan inisialisasi terhadap variabel a dengan nilai 0*/
char u = 'A'; /*melakukan inisialisasi terhadap variabel u dengan nilai A*/
Lihat kode dan algoritma inisialisasi variabel secara langsung.
Sintak untuk melakukan inisialisasi dengan pembacaan :
read (a);
read(u);
Lihat kode dan algoritma inisialisasi variabel dengan pembacaaan input.
Untuk pemberian nilai ke suatu variabel yang bertipe string dan char harus menggunakan tanda kutip (') yang mengapit nilai tersebut.
Aturan Penamaan Variabel
Ada beberapa aturan penamaan variabel pada bahasa c, yaitu sebagai berikut :
  • Case sensitive, penulisan dengan menggunakan huruf kecil dan besar memiliki arti yang berbeda (merupakan variabel yang berbeda) Contoh : 
int a;
int A;
Variabel a dan A merupakan dua variabel yang berbeda.
  • Nama variabel tidak boleh menggunakan spasi.
int bilangan bulat; /*Salah karena menggunakan spasi*/
int bilangan_bulat; /*Benar, karena tidak menggunakan spasi*/
  • Nama variabel hanya boleh diawali dengan huruf atau garis bawah (tidak boleh diawali dengan angka dan simbol lain) dan selanjutnya boleh diikuti oleh huruf atau garis bawah atau angka (tetapi tidak boleh menggunakan simbol lain dibagian manapun, seperti : @, #, $ dan lain-lain).
int @ngka; /*Salah, karena menggunakan simbol*/
int angk@; /*Salah, karena menggunakan simbol, meskipun berada di belakang*/
int a5gk4; /*Benar, karena diawali dengan huruf dan diikuti angka*/
int _angka; /*Benar, karena diawali dengan garis bawah*/
int 4ngka; /*Salah, karena diawali dengan angka*/
  • Panjang variabel max 32 karakter.
int abcdefghijklmnopqrstuvwxyzabcdef;
  • Tidak boleh menggunakan keyword yang ada pada library
int for;
int void;
Klasifikasi Variabel
1. Variabel Menurut Lingkupnya
Lingkup variabel ditentukan oleh tempat dimana variabel tersebut dideklarasikan. Menurut lingkupnya, variabel dibedakan menjadi dua,, yaitu variabel global dan variabel lokal.
  • Variabel global, variabel yang  dideklarasikan di luar blok fungsi main dan fungsi pendukung lainnya. Variabel global dapat dikenali dan diakses oleh setiap fungsi yang terdapat dalam program. Lihat contoh penggunaan variabel global.
  • Variabel lokal, variabel yang dideklarasikan di dalam suatu fungsi. Variabel lokal hanya dapat diakses oleh fungsi dimana variabel tersebut dideklarasikan (tidak dapat diakses dan dikenali oleh fungsi lain). Lihat contoh penggunaan variabel lokal.
2. Variabel Menurut Jenisnya
Ada beberapa jenis variabel yang tersedia dalam bahasa C yang akan dibahas satu per satu agar mempermudah implementasi suatu variabel ke dalam sebuah program. Menurut jenisnya, variabel dibedakan menjadi empat, yaitu variabel otomatis, variabel statis, variabel external, dan variabel register.