Senin, 27 Februari 2017

Tugas 2 Struktur Data

Assalamualaikum.Wr.Wb.

1. Buatlah program untuk mencari data pada array 2 dimensi (opsional: tambahkan kode program untuk memberi inputan data dan ukuran array.

codingannya sbb :

#include <iostream>
#include <conio.h>
#include <stdlib.h>

using namespace std;

int main()
{
    int data[100][100];
    int bts_baris, bts_kolom, b, k, cari, flag=0;
    cout<<"Ukuran array"<<endl;
    cout<<"Masukkan Baris = "; cin>>bts_baris;
    cout<<"Masukkan Kolom = "; cin>>bts_kolom;

    for(b=0;b<bts_baris;b++){   //looping untuk baris
        for(k=0;k<bts_kolom;k++){   //looping untuk kolom, dan dselesaikan hingga for nya bernilai salah
            cout<<"Data Array, baris("<<b<<") kolom("<<k<<")  : ";cin>>data[b][k]; // menginputkan data pada array
        }
    }

    for(b=0;b<bts_baris;b++){
        for(k=0;k<bts_kolom;k++){
            cout<<data[b][k]<<"     "; // menampilkan data yang telah diinputkan 
        }
        cout<<endl;
    }

    cout<<"Masukkan data yang ingin dicari = "; cin>>cari;

    for(b=0;b<bts_baris;b++){
        for(k=0;k<bts_kolom;k++){
            if(cari==data[b][k]) { // kondisi dimana data yang dicari sama dengan data array
                cout<<"data "<<cari<<" berada pada posisi ["<<b<<"]["<<k<<"]"<<endl; // posisi data yang dicari pada index
                flag=1; // variable jika data ditemukan
            }
        }
    }


    if (flag==1){
        cout<<"data ditemukan!!!"<<endl; 
    }
    else {
        cout<<"data tidak ditemukan!!!"<<endl;
    }
    getch();
    return 0 ;
}

outputnya yaitu : 


















2. Buat program untuk mencari data berupa huruf pada inputan yang berupa kalimat. (Opsional: hitung jumlah konsonan, dan vokal). 

codingannya sbb  :

#include <iostream>
#include <conio.h>
#include <string.h>
#include <stdlib.h>

using namespace std;

int main()
{
    int v=0,k=0,s=0; //variable untuk konsonan dan spasi
    int flag=0, x, i;
    char kalimat[100],cari;

    cout <<"masukkan kalimat = "; cin.getline(kalimat,100);

    x=strlen(kalimat);
    cout<<endl;
    cout<<"Hasil : "<<endl;
    for(i=0;i<x;i++){  //looping untuk menghitung jumlah huruf vokal,konsonan dan spasi
            if(kalimat[i]=='a'||kalimat[i]=='i'||kalimat[i]=='u'||kalimat[i]=='e'||kalimat[i]=='o') {
                v++;   //mengitung jumlah huruf vokal
            }
            else if(kalimat[i]==' '){
                s++;   // menghitung jumlah huruf spasi
            }
            else
                k++; //menghitung jumlah huruf konsonan
        }
    cout<<"Huruf Vocal = "<<v<<" = ";   //menampilkan jumlah huruf vokal

    for(i=0;i<x;i++){
    if(kalimat[i]=='a'||kalimat[i]=='i'||kalimat[i]=='u'||kalimat[i]=='e'||kalimat[i]=='o') {
                cout<<kalimat[i]<<" ";
            }
        }
    cout<<endl;
    cout<<"Huruf konsonan = "<<k<<" = ";   //menampilkan jumlah huruf konsonan

    for(i=0;i<x;i++){
            if(kalimat[i]=='a'||kalimat[i]=='i'||kalimat[i]=='u'||kalimat[i]=='e'||kalimat[i]=='o'){
                cout<<"";
            }
            else if(kalimat[i]==' '){
                cout<<"";
            }
            else
                cout<<kalimat[i]<<" ";
        }
    cout<<endl;
    cout<<"jumlah spasi = "<<s;
    cout<<endl;
    cout<<"Masukkan data yang ingin dicari : "; cin>>cari;
    for(i=0;i<x;i++){
            if(kalimat[i]==cari)   //kondisi untuk mencari huruf
            flag=1;    //jika ditemukkan
        }

        if(flag==1){
                cout<<"Data ditemukan.."<<endl;
            }
            else{
                cout<<"Data tidak ditemukan..";
            }
    getch();
    return 0;
}


outputnya yaitu :













3. Buat program untuk mencari bilangan ganjil dan bilangan genap dari data angka yang diinputkan oleh user (opsional: berikan indeks untuk setiap data yang ditemukan)

codingannya sbb :

#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <string.h>

using namespace std;

    int main()
{
    int data[100], batas, i;   //membuat variable
    string kata;   //variable menginputkan huruf
    cout<<"Masukkan batas = "; cin>>batas;
    for (i=0; i<batas; i++){   //looping untuk menginput data
        cout<<"Masukkan data ke-"<<i<<" = "; cin>>data[i];
    }
    cout<<endl;
    cout<<"Data Anda = "<<endl;
    for (i=0; i<batas; i++){
        cout<<"Masukkan data ke-"<<i<<" = "<<data[i]<<endl;   //menampilkan data yang di inputkan
    }
    cout<<"tampilkan ganjil atau genap = "; cin>>kata;  //menginpukan kata

    if (kata=="ganjil"){    //jika diinputkan data yang ganjil
        cout<<"data ganjil : "<<endl<<endl;
        for(i=0; i<batas; i++){
        if(data[i]%2!=0){   //rumus mencari nilai ganjil
            cout<<data[i]<<" Berada Pada Indeks Ke-"<<i<<endl;   //menampilkan data ganjil
        }

    }
    }
    else if (kata=="genap"){   //jika diinputkan data genap
         cout<<"data genap : "<<endl<<endl;
        for (i=0; i<batas; i++){
            if(data[i]%2==0){   //rumus mencari nilai genap
                cout<<data[i]<<" Berada Pada Indeks Ke-"<<i+1<<endl;   //menampilkan data genap
            }

        }
    }
    else {
        cout<<"EROR! "<<endl;
    }
    getch();
    return 0;

}


output pertamanya :














output keduannya :

















TUGAS TAMBAHAN 

 Buka Modul PRAKTIKUM 3 SEARCHING ARRAY 
 
1. Kerjakan contoh 3, tambahkan code program untuk menampilkan indeks data yang dicari, jika data tersebut ditemukan SERTA tambahkan inputan untuk jumlah data awal dan nilai inputan yang dimasukkan.  
 

codingannya sbb :

#include <stdio.h>
#include <iostream>
using namespace std;

int main()
{
   int data[100], batas, flag=0, i, cari, awal, tengah, akhir;
   awal=0;
   cout<<"Masukkan banyaknya data yang di inginkan : "; cin>>batas;
   for (i=0; i<batas; i++){
    cout<<"Masukkan data "<<i+1<<" : "; cin>>data[i];
   }
   cout<<endl;
   cout<<"data "<<endl;
   for (i=0; i<batas; i++){
    cout<<data[i]<<" ";
   }
   akhir=batas;
    cout<<endl;
   cout<<"data yang dicari "; cin>>cari;
    while (awal<=akhir && flag==0){
        tengah=(awal+akhir)/2;
        cout<<"data tengah --> "<<tengah<<" data ke-"<<data[tengah]<<endl;
        if (data[tengah]==cari){
            flag=1;
            break;
        }
        else if (data[tengah]<cari){
            awal=tengah;
            cout<<"cari di bagian kanan"<<endl<<endl;
        }
        else {
            akhir=tengah-1;
            cout<<"cari di bagian kiri"<<endl<<endl;
        }
    }
    cout<<endl;
     if (flag==1) {
        cout<<"DATA DITEMUKAN !"<<endl;
        for (i=0; i<10; i++){
            if (data[i]==cari)
            cout<<"Data berada pada index ke-"<<i+1<<endl;
        }

     }
    else
        cout<<"NOT FOUND !";
}


outputnya yaitu :


















2. Kerjakan contoh 4, tambahkan code program untuk menampilkan indeks data yang dicari, jika data tersebut ditemukan SERTA tambahkan inputan untuk banyak data awal dan nilai inputan yang dimasukkan. 


codingannya sbb :

#include <stdio.h>
#include <iostream>
using namespace std;

int main()
{
   int data[100], batas, flag=0, i, cari;

   cout<<"Masukkan banyaknya data : "; cin>>batas;
   for (i=0; i<batas; i++){
    cout<<"Data "<<i+1<<" : "; cin>>data[i];
   }
   cout<<endl;
   cout<<"data "<<endl;
   for (i=0; i<batas; i++){
    cout<<data[i]<<" ";
   }
    cout<<endl;
   cout<<"data yang dicari "; cin>>cari;
    for (i=0; i<batas; i++){
    if (data[i]==cari){
        cout<<"data ditemukan, pada index ke-"<<i+1<<endl;
    }
   }
}


outputnya yaitu :



Minggu, 19 Februari 2017

Tugas Struktur Data-Array


Assalamualakum.wr.wb
ini adalah beberapa contoh pemrograman Array dan struck menggunakan bahasa C++ beserta outputnya dan compiler yang di gunakan dalam membuat ini yaitu Codeblocks.



1. Program penghapusan data dengan inputan berupa angka yang ingin dihapus oleh user.

#include <iostream>
#include <conio.h>

using namespace std;

int main() {
    int A [8] = {2,12,6,12,12,7,6,12},a,hps,tot=0;
    cout<<"Data saat ini \n";
    for(a=0; a<8; a++)
    {
        cout<<A[a]<<" ";
    }
    cout<<endl<<"Data yang akan dihapus : "<<endl;
    cin>>hps;  
    cout<<"Data "<<hps<< " berhasil di hapus !"<<endl;
    cout<<"\nData sekarang : ";
    cout<<endl;
    for(a=0;a<8;a++)
    {
        if(A[a] == hps)
            tot=tot+1;
        else
            cout<<A[a]<<" ";
    }
    cout<<endl;
    cout<<endl<<"Dan jumlah data yang telah dihapus yaitu : "<<tot;
    getch();
    return 0;

}



Outputnya sebagai berikut :





output pertama




 






output kedua









2. Program untuk melakukan update data.


#include <iostream>
#include <conio.h>

using namespace std;

int main() {
    int A[8] = {98, 97, 96, 95, 94, 93, 92, 91},lama,baru,e;
    cout<<"Data saat ini\n";
    for(baru=0;baru<8;baru++)
    {
    cout<<A[baru]<<" "<<endl;
    }
    cout<<"Masukkan data lama : ";cin>>lama;
    e=0;
    for(baru=0;
    baru<8;
    baru++)
    if(A[baru]==lama)
    {e=1 ;

    cout<<"Masukkan data baru: ";cin>>A[baru];
    cout<<endl;
    cout<<"Data yang telah diubah  : "<<endl;
    for(baru=0;baru<8;baru++)
    {
        cout<<A[baru]<<" "<<endl;
    }
    }
    if(e==0)
    {
        cout<<endl;
        cout<<"Data yang anda masukkan salah";}
    getch();
    return 0;

}


Outputnya sebagai berikut :






output pertama











output kedua








3. Program untuk melakukan penambahan data.

#include<iostream>
#include<conio.h>


using namespace std;

int main()
{
int tambah,indeks,y=0;
int data[]={1,2,3,4,5,6,7,8,9};
for(int i=0;i<9;i++)
    {
        cout<<data[i]<< " ";
    }

cout<<"\nMasukkan data yang akan ditambahkan : ";
cin>>tambah;
cout<<"\nMasukkan Indeks data yang dituju : ";
cin>>indeks;
for(int i=0;i<9;i++)
    {
    if(i>=indeks)
        {
        y=data[i];
        data[i]=tambah;
        tambah=y;
        }
    }
cout<<"\nData telah berhasil ditambahkan : \n";
for(int i=0;i<9;i++)
    {
    cout<<data[i]<<" ";
    }

getch();
return 0;
}


Outputnya sebagai berikut :






output pertama












output kedua 

Minggu, 12 Februari 2017

Struktur Data

Belajar Bahasa Pemrograman C++

Definisi
Berbicara mengenai C++ biasanya tidak lepas dari C, sebagai bahasa pendahulunya. Pencipta C adalah Brian W. Kerninghan dan Dennis M. Ritchie pada sekitar tahun 1972, dan sekitar satu dekade setelahnya diciptakanlah C++, oleh Bjarne Stroustrup dari Laboratorium Bell, AT&T, pada tahun 1983. C++ cukup kompatibel dengan bahasa pendahulunya C. Pada mulanya C++ disebut “ a better C “. Nama C++ sendiri diberikan oleh Rick Mascitti pada tahun 1983, yang berasal dari operator increment pada bahasa C. Keistimewaan yang sangat berari dari C++ ini adalah karena bahasa ini mendukung Pemrograman Berorientasi Objek ( OOP / Object Oriented Programming).

Program C++ dapat ditulis dengan menggunakan berbagai editor teks, seperti EDIT (milik DOS), WordStar, SideKick, ataupun menggunakan editor bawaan dari kompiler. Program C++ biasa ditulis dengan nama ektensi .CPP (dari kata C Plus Plus). Agar program bisa dijalankan (dieksekusi), program harus dikompilasi terlebih dahulu dengan menggunakan kompiler C++.
Borland C++ dan Turbo C++ adalah contoh media editor sekaligus sebagai Compiler.



Memasukkan data dan menampilkan data/informasi merupakan tindakan yang sering dilakukan dalam pemrograman. Penampilan data/informasi biasanya ditujukan ke piranti layar (monitor), sedangkan pemasukan data biasanya dilakukan melalui keyboard.
MENAMPILKAN DATA/INFORMASI KE LAYAR

Untuk keperluan penampilan data/informasi, Turbo C menyediakan sejumlah fungsi, diantaranya adalah PRINTF ( ), PUTS ( ) dan PUTCHAR ( )

PRINTF ( )
Merupakan fungsi yang paling umum digunakan dalam menampilkan data. Berbagai jenis data dapat ditampilkan ke layar dengan fungsi ini.
Bentuk penulisan : printf(“string kontrol”, argumen1, argumen2, …);
- String kontrol dapat berupa keterangan yang akan ditampilkan pada layar beserta penentu format seperti %d, %f. Penentu format dipakai untuk memberi tahu kompiler mengenai jenis data yang akan ditampilkan
- Argumen adalah data yang akan ditampilkan ke layar. Argumen ini dapatr berupa variabel, konstanta atau ungkapan

PUTS ( )
Fungsi ini digunakan khusus untuk menampilkan data string ke layar. Sifat fungsi ini, string yang ditampilkan secara otomatis akan diakhiri dengan \n (pindah baris). Dibandingkan dengan printf(), perintah ini mempunyai kode mesin yang lebih pendek.
PUTCHAR ( )
Digunakan khusus untuk menampilkan sebuah karakter ke layar. Penampilan karakter tidak diakhiri dengan perpindahan baris, misalnya :
putchar(‘A’); sama dengan printf(“%c”, A);
MEMASUKKAN DATA DARI KEYBOARD
Data dapat dimasukkan lewat keyboard saat eksekusi berlangsung. Fungsi yang digunakan diantaranya adalah : scanf ( ), getch ( ), dan getche ( ) .

SCANF ( )
Merupakan fungsi yang dapat digunakan untuk memasukkan berbagai jenis data. Bentuk scanf ( ) sesungguhnya menyerupai fungsi printf ( ) yang melibatkan penentu format. Bentuk penulisan : scanf(“string kontrol”, daftar argumen);
Hal-hal yang perlu diperhatikan dalam pemakaian scanf yaitu :
1. scanf memberi pergantian baris secara otomatis, artinya Anda tidak perlu memberi \n untuk berpindah ke baris berikutnya.
2. scanf memakai penentu format, tetapi tidak memerlukan penentu lebar field. Contoh yang salah : scanf(“10.2f”,&gaji);
3. Variabel yang dipakai di dalam scanf harus didahului dengan operator alamat (&).

MEMASUKKAN BEBERAPA DATA SECARA BERSAMA-SAMA
Data dapat dimasukkan secara bersama-sama dalam satu baris. Setiap data dipisahkan oleh sebuah karakter. Karakter-karakter yang dapat bertindak sebagai pemisah data adalah :
- Koma (‘)
- Garis hubung (-)
- Titik dua (:)
- Spasi

GETCH ( ) dan GETCHE ( )
Dipakai untuk membaca sebuah karakter dengan sifat karakter yang dimasukkan tidak perlu diakhiri dengan enter. Fungsi getch() merupakan singkatan dari get character artinya baca karakter tetapi isian data yang dimasukkan tidak akan ditampilkan di layar.
Nama fungsi getche() sebenarnya adalah singkatan dari get character and echo, artinya baca karakter lalu tampilkan di layar. Jadi setelah mengetikkan sebuah huruf, huruf tersebut akan ditampilkan di layar tanpa menekan enter.
Catatan :
- Program yang menggunakan printf(), putchar(), scanf() dan puts() mengandung baris yang berisi #include
- Program yang melibatkan getche() atau getch() mengandung baris yang berisi #include

FUNGSI-FUNGSI NUMERIK
Turbo C mempunyai kurang lebih 450 fungsi dan makro yang dapat dipanggil dari program yang telah dibuat. Fungsi-fungsi tersebut meliputi berbagai hal, misalnya :
- Proses Input Output tingkat tinggi dan tingkat rendah
- Manipulasi string dan file
- Alokasi memori
- Kontrol Proses
- Konversi data
- Perhitungan matematik

Fungsi-fungsi tersebut ada di dalam file library-nya (Cx.LIB, Mathx.LIB dan Graphics.LIB). Huruf x diganti dengan model memori yang dipakai.
Fungsi-fungsi tersebut disimpan di dalam file header (*.H). Fungsi tersebut dapat digabungkan ke dalam program dengan menyertakan file header yang mengandung fungsi atau rutin yang dipakai.

FUNGSI SQRT
Fungsi : Menghitung akar positif dari sebuah bilangan bulat
Include : #include

FUNGSI POW
Fungsi : Menghitung xy
Include : #include

FUNGSI TAN
Fungsi : Menghitung nilai tangent dari sebuah sudut
Include : #include
Fungsi tan menghitung nilai tangent dari sudut x. Sudut x dalam satuan radian. Jika sudut x yang diberikan dekat dengan phi/2 atau –phi/2, hasilnya adalah 0.

FUNGSI DIV
Fungsi : Membagi dua bilangan bulat, memberikan hasil bagi dan sisanya
Include : #include

FUNGSI CEIL
Fungsi : Membulatkan ke atas
Include : #include

FUNGSI FLOOR
Fungsi : Membulatkan ke bawah
Include : #include
Fungsi floor menghasilkan bilangan bulat terbesar yang tidak lebih dari x

FUNGSI EXP
Fungsi : Menghitung ex
Include : #include

FUNGSI MAX
Fungsi : Memberikan bilangan yang lebih besar dari 2 bilangan yang diberikan
Include : #include

FUNGSI MIN
Fungsi : Memberikan bilangan yang lebih kecil dari 2 bilangan yang diberikan
Include : #include


contoh program c++ :
#include <iostream>
#include <conio.h>
using namespace std;

int main()
{
inttgs,mid,uas;
double tot;
stringskp;
cout<< "Masukannilaitugas "; cin>>tgs;
cout<< "Masukannilai mid "; cin>>mid;
cout<< "Masukannilaiuas"; cin>>uas;
cout<< "Masukannilaisikap"; cin>>skp;
if (skp=="baik")
    {
tot=0.2*tgs+0.3*mid+0.5*uas;
cout<< "Nilaiakhir "<<tot;
    }
else
    {
cout<< "Nilaiakhir 0";
    }
getch ();
return 0;

}


Maka hasilnya akan seperti ini :