This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

Jumat, 13 Mei 2016

Kasus 8.2 : Pencarian Biner (Binary Search).


Pada kesempatan ini saya akan memposting Program dari materi SEARCHING AND SORTING , program ini akan dibuat dalam Dev C++ .

Algoritma :



function pencarianBiner(input aray : larik; kunci, low, high : integer) : integer


Deklarasi
ketemu : boolean
i, middle : integer
Deskripsi
ketemu <-- false
while (low <= high) and (not ketemu) do
middle <-- (low+high) div 2
if (kunci = aray[middle]) then ketemu <-- true { data pencarian = data di tengah }
else if (kunci < aray[middle]) then high <-- middle – 1 {data akan dicari lagi di sebelah kiri}
else low <-- middle + 1 {data akan dicari lagi di sebelah kanan}
endif
endwhile
if ketemu then pencarianBiner := middle
else pencarianBiner := -1;
endif


Dan ini kodingan Program C++ yang Menggunakan Aplikasi Dev C++ :

#include <iostream>
#define UKURAN 15

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

using namespace std;

void cetakHeader(void){
int i;
cout<<"\nSubscript : \n";
for (i=0;i<=UKURAN-1;i++) cout<<i<<" ";
cout<<"\n";
for (i=1; i <= 4*UKURAN; i++) cout<<"-";
cout<<"\n";
}
void cetakBaris(int b[], int low, int mid, int high){
int i;
for (i=0; i<=UKURAN-1; i++)
if (i<low || i>high) cout<< " ";
else if (i==mid) cout<< "*" <<b[i];
else cout<<b[i] << " ";
cout<<"\n";
}
int pencarianBiner(int b[], int kunciPencarian, int low, int high){
int i, middle;
while (low <= high) {
middle = (low+high) / 2;
cetakBaris(b, low, middle, high);
if (kunciPencarian == b[middle])
return middle;
else if (kunciPencarian < b[middle])
high = middle - 1;
else low = middle + 1;
}
return -1;
}

int main(int argc, char** argv) {
int a[UKURAN], i, kunci, hasil;
for (i=0; i<=UKURAN-1; i++) a[i] = 2*i;
cout<<"Masukkan bilangan antara 0-28 : ";
cin>>kunci;
cetakHeader();
hasil=pencarianBiner(a,kunci,0,UKURAN-1);
if (hasil != -1) cout<<kunci<<" ditemukan pada posisi : "<< hasil;
else
cout<<kunci<<" tidak ditemukan";

return 0;
}

Kasus 8.1 : Pencarian Linear (Linear Search).


Pada kesempatan ini saya akan memposting Program dari materi SEARCHING AND SORTING , program ini akan dibuat dalam bentuk Flowchart dan C++ . Program yang akan di buat yaitu : Tentang : Pencarian Linear (Linear Search).

Algoritma :


function pencarianLinier(input aray : larik; kunci, ukuran : integer) : integer




Deklarasi
ketemu : boolean
i, n : integer
Deskripsi
ketemu <-- false;
n <-- 1
while ((n < ukuran) and (not ketemu)) do
if (aray[n] = kunci) then
ketemu <-- true { data ketemu }
i <-- n { pada posisi ke-i }
endif
else n <-- n+1 { cek data berikutnya }
endwhile
if ketemu then pencarianLinier <-- i { data ketemu pada posisi ke-i }
else pencarianLinier <-- -1 { data tidak ketemu }
endif
end


Berikut ini adalah Gambar Program Flowchart yang menggunakan Aplikasi RAPTOR :












Output/hasil compiler dari program tersebut :








Dan ini Gambar Program C++ yang Menggunakan Aplikasi Dev C++ :

#include <iostream>
#define UKURAN 100

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

using namespace std;

int pencarianLinier(int array[], int kunci, int ukuran){
int i;

for (i=0; i<=ukuran-1; ++i)
if (array[i] == kunci)
return i;
return -1;
}

int main(int argc, char** argv) {

int a[UKURAN], x, kunciPencarian, elemen;

for (x=0; x<=UKURAN-1; x++) a[x] = 2*x;
cout<<"Bilangan yang mau dicari : ";
cin>>kunciPencarian;
elemen = pencarianLinier(a,kunciPencarian,UKURAN);
if (elemen != -1)
cout<<kunciPencarian<<" Ditemukan pada posisi elemen ke " << elemen;
else
cout<<kunciPencarian<<" Tidak ada.";

return 0;
}

Jumat, 06 Mei 2016

Rencana Kuliah Bulan ke- 3

latihan 1 :

 Berikut ini adalah Gambar Program Flowchart yang menggunakan Aplikasi RAPTOR :





Dan yang ini Gambar Program C++ yang Menggunakan Aplikasi Dev C++ :


#include <iostream>
#include <cstdlib>
#include <string>

using namespace std;

class Array1D{
 friend ostream& operator<<(ostream&, const Array1D&);
 friend istream& operator>>(istream&, Array1D&);
public:
 Array1D();
 void cetak();
 void geser_kiri();
 void geser_kanan();

private:
 char A[5];
 int posisi;
};

Array1D::Array1D(){
 for(int i=0;i<5;i++)
 A[i]='O';
}

void Array1D::cetak(){
 for(int i=0;i<5;i++)
 cout<<A[i]<<" ";
}

ostream& operator<<(ostream& out, const Array1D& x){
 for(int i=0;i<5;i++)
 out<<x.A[i]<<" ";
 out<<endl;
 return out;
}

istream& operator>>(istream& in, Array1D& x){
 int posisi;
 for (int posisi=1; posisi<=5; posisi++){
 cout<<"\nMasukkan Nilai Array Posisi Ke- : ";
 in>>x.posisi;
 if(posisi >= 0 && posisi <= 5){cout<<"Masukkan Elemen Array : ";
 in>>x.A[posisi-1];
 }
 }
 return in;
}

void Array1D::geser_kanan(){
 int n=5;
 int temp=A[n-1];
 for(int i=n-1;i>=0;i--)
 A[i+1]=A[i];
 A[0]=temp;
}

void Array1D::geser_kiri(){
 int n=5;
 int temp=A[0];
 for(int i=0;i<n;i++)
 A[i]=A[i+1];
 A[n-1]=temp;
}

int main(int argc, char *argv[]){
 Array1D x;
 cout<<"\t\t\tArray Masih Kosong : "<<x;
 cin>>x;

 cout<<"\nIsi Array Saat ini : "<<x;
 x.geser_kiri();
 cout<<"Isi Array Setelah di Geser Kiri  : "<<x;
 x.geser_kanan();
 cout<<"Isi Array Setelah di Geser Kanan : "<<x;
 cout<<"\nUrutan Elemen Pada Indeksnya Saat ini  : "<<x;
 system("PAUSE");

    return 0;
}








 Outputnya yaitu :





Latihan 2 :
Kasus : Mencari Median

C++

#include <iostream>
#include <cstdlib>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

using namespace std;

int main(int argc, char** argv) {
    int data[5];
    int median,i;

   for(i=0;i<5;i++){
    cout<<"Masukan Data : "<<(i+1)<<"\n";
    cin>>data[i];
   }
    i=i-1;
    median=(i+1)/2;
    cout<<endl<<data[median]<<endl;

 return 0;
}





Kasus : Mencari Mean
Raptor





outputnya 




Latihan 3 :
 Menghilangkan Duplikasi Dari Data Yang Diinputkan.

Dan yang ini Gambar Program C++ yang Menggunakan Aplikasi Dev C++ :

#include <iostream>
#include <cstdlib>
#include <string>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

using namespace std;

class Array1D{
 friend ostream& operator<<(ostream&, const Array1D&);
 friend istream& operator>>(istream&, Array1D&);
public:
 Array1D();
 void cetak();
 void geser_kiri();
 void geser_kanan();
 void hapus_elemen();

private:
 char A[5];
 int posisi;
};

Array1D::Array1D(){
 for(int i=0;i<5;i++)
 A[i]='O';
}

void Array1D::cetak(){
 for(int i=0;i<5;i++)
 cout<<A[i]<<" ";
}

ostream& operator<<(ostream& out, const Array1D& x){
 for(int i=0;i<5;i++)
 out<<x.A[i]<<" ";
 out<<endl;
 return out;
}

istream& operator>>(istream& in, Array1D& x){
 int posisi;
 for (int posisi=1; posisi<=5; posisi++){
 cout<<"\nMasukkan Nilai Array Posisi Ke- : ";
 in>>x.posisi;
 if(posisi >= 0 && posisi <= 5){cout<<"Masukkan Elemen Array : ";
 in>>x.A[posisi-1];
 }
 }
 return in;
}

void Array1D::geser_kanan(){
 int n=5;
 int temp=A[n-1];
 for(int i=n-1;i>=0;i--)
 A[i+1]=A[i];
 A[0]=temp;
}

void Array1D::geser_kiri(){
 int n=5;
 int temp=A[0];
 for(int i=0;i<n;i++)
 A[i]=A[i+1];
 A[n-1]=temp;
}

void Array1D::hapus_elemen(){
 int posisi;
 cout<<"Pilih Indeks Berapa Yangg akan Di Hapus : ";
 cin>>posisi;
 if(posisi>0 && posisi<=5)
 A[posisi-1]='O';
 else cout<<"Indeks yang Anda Masuukan Salah Karena Indek Hanya Terdiri Dari 1 - 5\n";
}

int main(int argc, char *argv[]){
 Array1D x;
 cout<<"\t\t\tArray Masih Kosong : "<<x;
 cin>>x;

 cout<<"\nIsi Array Saat ini : "<<x;
 x.geser_kiri();
 cout<<"Isi Array Setelah di Geser Kiri  : "<<x;
 x.geser_kanan();
 cout<<"Isi Array Setelah di Geser Kanan : "<<x;
 cout<<"\nUrutan Elemen Pada Indeksnya Saat ini  : "<<x;
 x.hapus_elemen();
 cout<<"\nSetelah dihapus Menjadi : "<<x;

 system("PAUSE");

    return 0;
}











 Outputnya yaitu :






Latihan dan tugas diskusi PPT 7 dan 8

Kasus

-Buatlah algoritma dan function dalam bahasa C++ untuk menggantikan strlen, yaitu mengetahui panjang suatu string.

C++

#include <iostream>

using namespace std;

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
 char kata[100];
 int jum=0,x;
 cout<<"Masukan Kata : "<<endl;
 cin.getline(kata,sizeof(kata));

 for (x=0; kata[x];x++)
 {
  jum=jum+1;
 }
 cout<<"-------------------------"<<endl;
 cout<<"Panjang Karakter Adalah : "<<jum;

 return 0;
}




Kasus

-Buatlah algoritma dan program untuk mengubah string menjadi bergantian huruf besar dan kecil.


 


1. array digunakan Ketika membutuhkan banyak variabel dengan tyipe data yang sama ,
untuk menyimpan suatu deratan nilai.

2.Array digunakan saat kita ingin memakai variable dengan nama yang sama tapi dengan nilai yang berbeda, saat program itu harus memisahkan satu karakter demi satu karakter.

3.Array mempunyai fleksibilitas rendah, karena array mempunyai batasan sebagai berikut:

Array harus bertipe homogen. Kita tidak dapat mempunyai array dimana satu elemen adalah karakter, elemen lain bilangan, dan elemen lain adalah tipe-tipe lain
memori yang digunakan terlalu besar sehingga tidak efisien
nilai variable tidak dapat dirubah

4. Program nya

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

using namespace std;
void baca1(int g,int f,int a[10][10]){
cout<<"matrik a = \n";
for (int i=0;i<f;i++){
for(int j=0;j<g;j++){
cout<<" a["<<i<<"]"<<"["<<j<<"] =";
cin>>a[j];
}
}
cout<<endl;
}

void baca2(int g,int f,int b[10][10]){
cout<<"matrik b = \n";
for (int i=0;i<f;i++){
for(int j=0;j<g;j++){
cout<<" b["<<i<<"]"<<"["<<j<<"] =";
cin>>b[j];

}
}
cout<<endl;
}

void tampil1(int g,int f,int a[10][10]){
for (int i=0;i<f;i++){
for(int j=0;j<g;j++)
cout<<" "<<a[j];
cout<<endl;


}
cout<<endl;
}

void tampil2(int g,int f,int b[10][10]){
for (int i=0;i<f;i++){
for(int j=0;j<g;j++)
cout<<" "<<b[j];
cout<<endl;

}
cout<<endl;
}

int hasil(int g,int f,int b[10][10],int a[10][10],int c[10][10]){
cout<<"jadi hasil penjumlahan kedua array tersebut adalah :\n ";
for (int i=0;i<f;i++){
for(int j=0;j<g;j++)
c[j]=a[j]+b[j];
cout<<" "<<c[j];
cout<<endl;
}
cout<<endl;
}


void main(){
int x,y, a[10][10], b[10][10], c[10][10];

cout <<"masukan baris :"; cin>>x;
cout <<"masukan kolom :"; cin>>y;

baca1(x,y,a);
tampil1(x,y,a);
baca2(x,y,b);
tampil2(x,y,b);
cout<<endl;
hasil(x,y,a,b,c);
cout<<endl;


return 0;
}


Problem solving 419

Kasus :


Judul : Summary of Hospital Revenue

Algoritma

Deklarasi:
I, j, max, temp integer
Deskripsi :
Max <------- input
For (i=1;i<=max;i++) then
Write(‘ Masukkan data ke- ‘I’)
for(i=1;i<=max;i++) then
write(‘data[i]’)
for(i=1;i<=max;i++) then
for(j=1;j<=max;j++) then
if(data[i]>data[j]) then
write(‘temp=data[i])
data[i] <------- data[j];
data[j] <------- temp;

C++

#include <iostream>
#include <cstdlib>
#include <conio.h>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {

 int a,b,max,temp;
 int data[15];
 cout<<"\t--------Summary of Hospital Revenue--------"<<endl;
 cout<<"Masukan banyak data : ";
 cin>>max;
 for(a=1;a<=max;a++){
  cout<<"Masukan data ke- "<<a<<"=";
  cin>>data[a];
   
 }
 cout<<"Data Awal : ";
 for(a=1;a<=max;a++)
 {cout<<data[a]<<" ";
 }
 for(a=1;a<=max;a++)
 {for(b=1;b<=max;b++){
  if(data[a]>data[b]){
   temp=data[a];
   data[a]=data[b];
   data[b]=temp;
  }
 }
 }
 return 0;
}





Diktat Bab 8

Kasus 7.1

C++

#include <iostream>
#define UKURAN 100
int pencarianLinier(int array[], int kunci, int ukuran)
{ int i;
for (i=0; i<=ukuran-1; ++i)
if (array[i] == kunci)
return i;
return -1;
}
void main(){
int a[UKURAN], x, kunciPencarian, elemen;
for (x=0; x<=UKURAN-1; x++) a[x] = 2*x;
cout << "Bilangan yang mau dicari : ";
cin >> kunciPencarian;
elemen = pencarianLinier(a,kunciPencarian,UKURAN);
if (elemen != -1)
cout << kunciPencarian << " ditemukan pada posisi elemen ke " << elemen;
else
cout << kunciPencarian << " tidak ada.";
}





Kasus 7.2

C++

#include <iostream>
#define UKURAN 15
void cetakHeader(void)
{ int i;
cout<<"\nSubscript : \n";
for (i=0;i<=UKURAN-1;i++) cout << i << " ";
cout << "\n";
for (i=1; i <= 4*UKURAN; i++) cout << "-";
cout << "\n";
}
void cetakBaris(int b[], int low, int mid, int high)
{ int i;
for (i=0; i<=UKURAN-1; i++)
if (i<low || i>high) cout << " ";
else if (i==mid) cout << "*" << b[i];
else cout << b[i] << " ";
cout << "\n";
}
int pencarianBiner(int b[], int kunciPencarian, int low, int high)
{ int i, middle;
while (low <= high) {
middle = (low+high) / 2;
cetakBaris(b, low, middle, high);
if (kunciPencarian == b[middle])
return middle;
else if (kunciPencarian < b[middle])
high = middle - 1;
else low = middle + 1;
}
return -1;
}
main() {
int a[UKURAN], i, kunci, hasil;
for (i=0; i<=UKURAN-1; i++) a[i] = 2*i;
cout << "Masukkan bilangan antara 0-28 : ";
cin >> kunci;
cetakHeader();
hasil=pencarianBiner(a,kunci,0,UKURAN-1);
if (hasil != -1) cout << kunci
<< " ditemukan pada posisi : "<< hasil;
else
cout << kunci << " tidak ditemukan";
return 0;


 

Kasus 7.3

C++

#include <iostream>
void baca_data(int A[], int n) {
int i;
for (i = 0; i < n; i++)
{
cout << "Data ke-" << i+1 << " : ";
cin >> A[i];
}
}
void cetak_data(const int A[], int n) {
int i;
for (i = 0; i < n; i++)
cout << A[i] << " ";
cout << "\n";
}
void tukar (int *a, int *b)
{ int temp;
temp = *a;
*a = *b;
*b = temp;
}
void buble_sort (int x[], int n)
{ int i, j;
for (i = 0; i<n-1; i++)
for (j = i+1; j<n; j++)
if (x[i] > x[j]) tukar(&x[i], &x[j]);
}
void main() {
int data[10], n;
cout << "Banyak data : ";
cin >> n;
baca_data(data,n);
cetak_data(data,n);
buble_sort(data,n);
cetak_data(data,n);
}




Kasus 7.4

C++

#include <iostream>
#include <conio.h>
using namespace std;
class Sorting {
friend istream& operator>>(istream& in, Sorting& a);
friend ostream& operator<<(ostream& out, Sorting& a);
public:
void baca_data();
void cetak_data();
void buble_sort();
void insertion_sort();
void selection_sort();
private:
void minimum(int , int, int&);
void tukar (int&, int&);
int data[10], n;
};
istream& operator>>(istream& in, Sorting& a) {
cout << "Banyak data : ";
in >> a.n;
for (int i = 0; i < a.n; i++) {
cout << "Data ke-" << i+1 << " : ";
in >> a.data[i];
}
return in;
}
ostream& operator<<(ostream& out, Sorting& a) {
for (int i = 0; i < a.n; i++)
out << a.data[i] << " ";
out << "\n";
return out;
}




Kasus 7.5

C++

#include <iostream>
using namespace std;
void baca_data(int A[], int n)
{ int i;
for (i = 0; i < n; i++)
{ cout << "Data ke-%d : ";i++);
cin >> A[i]);
}
}
void cetak_data(const int A[], int n)
{ int i;
for (i = 0; i < n; i++)
cout << "%d ",A[i]);
cout << "\n");
}
void tukar (int *a, int *b)
{ int temp;
temp = *a;
*a = *b;
*b = temp;
}
void minimum(int A[], int dari, int n, int * tempat)
{ int i, min;
min = A[dari];
*tempat = dari;
for (i = dari+1; i<n; i++)
if (A[i] < min)
{ min = A[i];
*tempat = i;
}
}
void selection_sort(int A[], int n)
{ int i, t;
for (i = 0; i<n; i++)
{ minimum(A, i, n, &t);
tukar(&A[i], &A[t]);
}
}
main() {
int data[10], n;
cout << "Banyak data : ");
cin >> n);
baca_data(data,n);
cetak_data(data,n);
selection_sort(data,n);
cetak_data(data,n);
return 0;
}


 

 


Kasus 7.6

C++

#include <iostream>
using namespace std;
typedef int larik[10];
void masuk_data(int A[], int n)
{ int i;
for (i = 0; i < n; i++)
{ cout << "Data ke-%d : ",i+1;
cin >> A[i];
}
}
void cetak_data(const int A[], int n) {
int i;
for (i = 0; i < n; i++)
cout << "%d ",A[i];
cout << "\n";
}
void merge(larik a, int kiri, int tengah, int kanan)
{ int bagianKiri, posTemp, banyakElemen, i;
larik temp;
bagianKiri = tengah - 1;
posTemp = kiri;
banyakElemen = kanan - kiri + 1;
while ((kiri <= bagianKiri) &&
(tengah <= kanan))
if ((a[kiri] <= a[tengah]))
{ temp[posTemp] = a[kiri];
posTemp = posTemp + 1;
kiri = kiri + 1;
} else
{ temp[posTemp] = a[tengah];
posTemp = posTemp + 1;
tengah = tengah + 1;
}
/* kopi bagian kiri */
while ((kiri <= bagianKiri)) {
temp[posTemp] = a[kiri];
posTemp = posTemp + 1;
kiri = kiri + 1;
}
/* kopi bagian kanan */
while ((tengah <= kanan)) {
temp[posTemp] = a[tengah];
posTemp = posTemp + 1;
tengah = tengah + 1;
}
/* kopi kembali ke array asal */
for (i = 1; i <= banyakElemen; i++)
{ a[kanan] = temp[kanan];
kanan = kanan - 1;
}
}
void merge_sort(larik A, int kiri, int kanan)
{ int tengah;
if ((kiri < kanan))
{ tengah = (kiri + kanan) / 2;
merge_sort(A, kiri, tengah);
merge_sort(A, tengah + 1, kanan);
merge(A, kiri, tengah + 1, kanan);
}
}
main() {
int n;
larik data;
cout << "Berapa data array : ";
cin >> n;
masuk_data(data, n);
cetak_data(data, n);
merge_sort(data, 0, n-1);
cetak_data(data, n);
return 0;
}







Kasus 7.7

C++

#include <iostream>
using namespace std;
void masuk_data(int A[], int n) {
int i;
for (i = 0; i < n; i++) {
cout << "Data ke-%d : ",i+1;
cin >> A[i];
}
}
void cetak_data(const int A[], int n) {
int i;
for (i = 0; i < n; i++)
cout << "%d ",A[i];
cout << "\n";
}
void tukar (int *a, int *b)
{ int temp;
temp = *a;
*a = *b;
*b = temp;
}
void quick_sort(int data[], int L, int R) {
int i, j, p;
p = data[(L+R) / 2];
i = L;
j = R;
while (i<=j) {
while (data[i] < p) i++;
while (data[j] > p) j--;
if (i<=j)
{ tukar(&data[i], &data[j]);
i++;
j--;
}
}
if (L < j) quick_sort(data,L,j);
if (i < R) quick_sort(data,i,R);
}
void main() {
int data[10], n;
cout << "Banyak data : ");
cin >> n);
masuk_data(data,n);
cetak_data(data,n);
quick_sort(data,0,n-1);
cetak_data(data,n);
}







Latihan 1

C++
#include <iostream>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int main(int argc, char** argv) {
  int banyakData, cariData, posisi=0;
    bool ketemu = false;
    cout << "Banyak data : ";
    cin >> banyakData;
    int data[banyakData];
    for(int ulang=0; ulang<banyakData; ulang++)
    {
        cout <<"Berikan Data ke["<<ulang<<"] : ";
        cin >> data[ulang];
    }
    cout <<"Data yang akan di cari posisinya: ";
    cin >> cariData;
    for(int ulang=0; ulang<banyakData; ulang++)
    {
        if(cariData == data[ulang])
        {
            posisi = ulang;
            ketemu = true;
            break;
        }
    }
    if(ketemu)
    {
        cout<<"Data "<<cariData<<" ditemukan di posisi : "<<posisi<<endl;
        cout<<"Terimakasih"<<endl;
    }
    else
    {
        cout<<"Data yang anda berikan"<<endl;
        cout<<"Tidak tertera pada data Array"<<endl;
    }
 return 0;
}




Latihan 2 A

C++

#include <iostream>
#include <stdio.h>
#include <conio.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char** argv) {
 {
   int A[10],i,j,k,tkr,top,bottom,middle,tm;

   for(i=0; i<10; i++)
   {
    printf("Data ke-%d : ", i+1);
      scanf("%d", &A[i]);
   }
   printf("Masukkan data yang akan dicari : ");
   scanf("%d",&k);

   for(i=0; i<10; i++)
   {
     for(j=i+1; j<10; j++)
      {
        if(A[i]>A[j])
         {
           tkr=A[i];
            A[i]=A[j];
            A[j]=tkr;
         }
      }
   }

   tm=0;
   top=9;
   bottom=0;
   while(top>=bottom)
   {
     middle=(top+bottom)/2;
      if(A[middle]==k)
      {
        tm++;
      }
      if(A[middle]<k)
      {
        bottom=middle+1;
      }
      else
      {
        top=middle-1;
      }
   }

   if(tm>0)
   {
     printf("Data %d yang dicari ada dalam array\n",k);
   }
   else
   {
     printf("Data tidak diketemukan dalam array\n");
   }
}
 return 0;
}






Latihan 2 B

C++

#include <iostream>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int main(int argc, char** argv) {
 int A[15],i,j,k,tkr,top,bottom,middle,tm;

   for(i=0; i<15; i++)
   {
    printf("Data ke-%d : ", i+1);
      scanf("%d", &A[i]);
   }
   printf("Masukkan data yang akan dicari : ");
   scanf("%d",&k);

   for(i=0; i<15; i++)
   {
     for(j=i+1; j<15; j++)
      {
        if(A[i]>A[j])
         {
           tkr=A[i];
            A[i]=A[j];
            A[j]=tkr;
         }
      }
   }

   tm=0;
   top=9;
   bottom=0;
   while(top>=bottom)
   {
     middle=(top+bottom)/2;
      if(A[middle]==k)
      {
        tm++;
      }
      if(A[middle]<k)
      {
        bottom=middle+1;
      }
      else
      {
        top=middle-1;
      }
   }

   if(tm>0)
   {
     printf("Data %d yang dicari ada dalam array\n",k);
   }
   else if(tm=71)
   {
     printf("Data tidak diketemukan dalam array\n");
   } else
   {
     printf("Data tidak diketemukan dalam array\n");
   }

 return 0;
}






Latihan 3

C++

#include <iostream>
#include <conio.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;

 int main()
{   int a,k,c,d,g;
    k=5;
    int b[5];

    cout<<"Bubble sort adalah salah satu metode sorting atau mengurutkan dari data terkecil ke data terbesar "<<endl<<endl;
    for(a=0;a<k;a++)
    {
        cout<<"Masukkan nilai "<<a+1<<" : ";
  cin>>b[a];
    }
    for(a=0;a<k-1;a++)
    {

        for(d=a+1;d<k;d++)
        {
        c=a;
            if(b[c]<b[d])
            {
                c=d;
            }
        g=b[c];
        b[c]=b[a];
        b[a]=g;
        }

    }
    cout<<"\n setelah diurutkan akan menjadi : \n";
    for(a=0;a<k;a++)
    {
        cout<<b[a]<<" \n";
    }

   return 0;
}


 

Latihan 4

C++

#include <iostream>
#include <conio.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;

 int main()
{
  int data [50];
     int a,b;
     int max,min;

// masukan untuk batas
printf("Banyak Bilangan: ");scanf ("%d",&a);

//pengulangan untuk memasukkan data ke dalam array
for (b=1;b<=a;b++)
{
    printf("\nbilangan ke-%d: ",b);scanf("%d",&data [b]);
}
//mencari nilai terbesar dan terkecil di array dengan looping
          max=data[1];
          min=data[1];
      for (b=1;b<=a;b++)
      {
          if (data[b]>=max)
          {
          max=data[b];
          }
          else if (data[b]<=min)
          {
          min=data[b];
          }
      }
printf("\n\nnilai tertinggi\t:%d", max);
printf("\n\nnilai terkecil\t:%d", min);
getch();

    return 0;
}


 



Latihan 5

C++

#include <iostream>
#include <iomanip>
#include <conio.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
template <class T>
void s_sort(T a[],int n)
 {
    int i,j,t;
    for(i=0;i<n;i++){
    for(j=i+1;j<n;j++){
    if(a[j]<a[i])
 {
    t=a[i];
    a[i]=a[j];
    a[j]=t;
    }
    }
    }
}
int main()
{
    int a[100],i,n;
    cout<<"Masukan jumlah elemen : ";
    cin>>n;
    cout<<"Masukan elemen - elemen tersebut :";
    for(i=0;i<n;i++)
    {
 cout<<"\n Enter : ";
    cin>>a[i];
    }
    s_sort(a,n);
    cout<<"Setelah di sorting :";
    for(i=0;i<n;i++)
    {
    cout<<a[i]<<" , ";
    }
    
    return 0;
}




Latihan 6

C++





Latihan 7

C++


Latihan 8

C++



Latihan 9

C++


Latihan 10

C++