Minggu, 01 Juli 2018

algoritma dan pemograman 2


assalamualaikum wr.wb saya akan menjelaskan tenatang pelajaran algoritma  dan pemograman pada semester 2.
algoritma adalah urutan langkah -langkah logis penyelesaian masalah yang disusun secara sistematis dan logis. Algoritma adalah spesifikasi urutan langkah untuk melakukan perkejaan tertentu.

Dalam mengerjakan program kita menggunakan aplikasi yaitu dev C++,dalam pemograman c++ kita menggunaka bahasa pemograman tingkat tinggi,yaitu menggunakan kata kata yang mudah dimengerti manusia. Program C++ merupakan program yang berbentuk fungsi-fungsi. Main() merupakan nama dari suatu fungsi yang harus ada di program C++.

1.    ARITMATIKA
Pada algoritma dan pemograman terdapat banyak macam operator,yaitu:
1 .Penjumlahan = Tanda Plus ( + )
2 . Pengurangan = Tanda Minus ( - )
3 . Perkalian = ( * )
4 . Pembagian = ( / )
5 . Sisa Pembagian atau modulus = ( % )
Contoh program aritmatika :
2.    POINTER
Pointer adalah variable yang berisi alamat memori dari suatu variabel yang berisi suatu nilai tertentu.

Operator pointer :
a.       Operator deference (&)
Operator ini biasanya disebut dengan address of atau operator alamat.
Contoh program :
Int p=75;
Cout<<&p;
 Hasilnya :
b.       Operator reference (*)
Operator ini biasanya disebut value pointed by. Dengan menggunakan operator ini, kita dapat mengakses secara langsung nilai yang terdapat pada suatu alamat memori.
Contoh program :

Pendeklarasian pointer :
a.       Pointer pada pointer
Tidak terbatas menunjuk alamat dari suatu variabel, pointer ini pun dapat menunjuk pointer lainnya. Kita tambahkan pointer reference (*) pada variable yang akan ditunjuk.
Contoh :

#include <iostream>
using namespace std;

main() {
int x;
int *px;
int **ppx;

x = 100;
px = &x;
ppx = &px;
cout << "Nilai x = " << x << endl;
cout << "Nilai px = " << *px << endl;
cout << "Nilai ppx = " << **ppx << endl;

}

Hasil :

b.       Pointer pada array
Pada array pointer hanya perlu menunjukkan alamat elemen petama saja karena alamat array dalam memori sudah disusun secara berurutan.

Contoh :
Int a[]={76,67,88,98};
Int *pa;
Pa=a;

Pernyataam pa=a artinya pointer pa menyimpan alamat  array a, yang alamatnya diwakili alamat elemen pertama,yaitu a[0].

Contoh program :
#include<iostream>
#include<stdio.h>
#include<conio.h>
using namespace std;
main()
{
          int i;
          int nilai[5];
          int *ptrnilai;
          ptrnilai=nilai;
          for(i=1;i<=5;i++)
          {
                          cout<<"masukan nilai pertama =";
                          cin>>nilai[i];
          }
          cout<<endl;
          cout<<"hasil pengaksesan elemen array lewat";
          cout<<"pointer";
          cout<<endl<<endl;
          for(i=1;i<=5;i++)
          {
                          cout<<"elemen"<<i<<"nilai"<<nilai[i];
                          cout<<"menepati alamat memori =";
                          cout<<&ptrnilai[i];
                          cout<<endl;
          }
          getch();
}
 Hasil :


c.       Pointer pada string

Contoh program :

#include<iostream>
#include<conio.h>
#define MAX 5
using namespace std;
main(){
          char nama[] = "ayu latifah";
          char *pNama = nama;
          cout<<"nama ="<<nama<<endl;
          cout<<"pNama ="<<pNama<<endl;
          pNama += 7; cout<<"\nSetelah pNama +=7"<<endl;
          cout<<"nama ="<<nama<<endl;
          cout<<"pNama ="<<pNama<<endl;
          getch();
}
Hasil :

3.       PROSEDUR PADA CPP
Prosedur dalam c++ dianggap sebagai fungsi yang tidak mengembalikan nilai, sehingga dalam pendeklarasian prosedur cukup dituliskan dengan kata kunci void dan diikuti dengan nama prosedur.

Contoh algoritma :
 Input : nilai a=3,nilai b=7, dan luas
Output = hasil luas segitiga

Deklarasi :
Alas = integer
Tinggi = integer
Luas= integer

Deskripsi :
 Hitung luas -> ½*alas*tinggi
Write luas

Contoh program :



4.       SORTING
Sorting adalah proses mengatur sekumpulan objek menurut aturan atau susunan tertentu. Urutan objek tersebut dapat menaik atau disebut juga ascending ataupun menurun yaitu descending.

Metode sorting :
a.       Bubble sort / pengurutan gelembung
merupakan suatu metode pengurutan gelembung yang diinspirasi oleh gelembung sabun yang ada di dalam permukaan air, karena berat jenis gelembung sabun lebih ringan daripada berat jenis air maka gelembung sabun akan selalu megapung. Prinsip pengapungan ini juga dipakai pada pengurutan gelembung. Elemen yang berharga paling kecil “diapungkan”, yang artinya diangkat ke atas (atau ke ujung paling kiri) melalui pertukaran.

Contoh program :

#include <iostream.h>
#include <conio.h>
main(){
int nilai[‘n’];
int temp;
int n;
cout<<“Banyak Data: “;
cin>>n;
cout<<endl;
for (int a=1; a<=n; a++){
cout<<“nilai[“<<a<<“]: “;
cin>>nilai[a];
}
cout<<“\n\n”;
cout<<“Data Sebelum diurutkan”<<endl;
for(int a=1; a<=n; a++){
cout<<nilai[a]<<” “;
}
for(int a=n-1; a>=1; a–){
for(int b=1; b<=a; b++){
if(nilai[b]>nilai[b+1]){
temp=nilai[b+1];
nilai[b+1]=nilai[b];
nilai[b]=temp;
}
}
}
cout<<“\n\nData Setelah Diurutkan (Ascending)”<<endl;
for (int a=1; a<=n; a++){
cout<<nilai[a]<<” “;}
cout<<“\n\n”;
cout<<“\n\nData Setelah Diurutkan (Descending)”<<endl;
for (int a=n; a>=1; a–){
cout<<nilai[a]<<” “;}
getch();
}

hasil :

www.ishmuna.com
b.       Selection sort/ pengurutan maksimum – minimum
Metode pengurutan ini didasarkan pada pemilihan elemen maksimum atau minimum kemudian mempertukarkan elemen maksimum-minimum tersebut dengan elemen terujung larik (elemen ujung kiri atau elemen ujung kanan), selanjutnya elemen terujung itu kita “isolasi” dan tidak diikut sertakan pada proses selanjutnya. Karena proses utama dalam pengurutan adalah pemilihan elemen maksimum/minimum, maka metode ini disebut metode pemilihan ( selection).

Contoh program :
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
int main(){
//deklarasi array dengan 7 elemen
int A[7];
int j,k,i,temp;
int jmax,u=6;
//memasukkan nilai sebelum diurutkan
cout<<“Masukkan nilai pada elemen array :”<<endl;
for(i=0;i<7;i++)
{
cout<<“A[“<<i<<“]=”;
cin>>A[i];
}
//Proses pengurutan secara menaik (Ascending)
for(j=0;j<7;j++)
{
jmax=0;
for(k=1;k<=u;k++)
if (A[k] > A[jmax])
jmax=k;
temp=A[u];
A[u]=A[jmax];
A[jmax]=temp;
u–;
}
//menampilkan nilai setelah diurutkan
cout<<“\nNilai setelah diurutkan =”<<endl;
for(i=0;i<7;i++)
cout<<A[i]<<”  “;
getch();
}

Hasil :


c.       Insection sort / pengurutan sisip
metode pengurutan dengan cara menyisipkan elemen larik pada posisi yang tepat. Pencarian posisi yang tepat dilakukan dengan pencarian beruntun. Selama pencarian posisi yang tepat dilakukan pergeseran elemen larik.

Contoh program :

#include <iostream.h>
#include <stdio.h>
#include <conio.h>
main (){
int i,j, b, k, m, n,x,z,ketemu=0;
int data[‘n’], temp[100];
cout<<“\n======================\n”<<endl;
cout<<“\n—-BELAJAR SORTING—\n”;
cout<<“\n======================\n”<<endl;
cout<<“Inputkan Banyak Data: “;
cin>>n;
for(i=0; i<n; i++){
cout<<“Data Ke-“<<i<<” : “;
cin>>data[i];
}
cout<<“\n\n”;
cout<<“Data Sebelum diurutkan”<<endl;
for(int i=0; i<n; i++){
cout<<i+1<<“.”;
cout<<data[i]<<” “;
cout<<endl;
}
for (i=0; i<n; i++){
for (j=0; j<=i; j++)
{
if(data[i]<data[j])
{
m=data[i];
data[i]=data[j];
data[j]=m;
}
}
cout<<“\n#”<<i<<“: “;
for(k=0; k<=i; k++)
{
cout<<” “<<data[k];
}
}
cout<<“\n\n”;
cout<<“\nData Setelah Diurutkan (Ascending):”<<endl;
for(i=0; i<n; i++){
cout<<i+1<<” “;
cout<<data[i]<<” “<<endl;}
for (i=0; i<n; i++){
for (j=0; j<=i; j++)
{
if(data[i]>data[j])
{
m=data[i];
data[i]=data[j];
data[j]=m;
}
}
cout<<“\n#”<<i<<“: “;
for(k=0; k<=i; k++)
{
cout<<” “<<data[k];
}
}
cout<<“\n\n”;
cout<<“\nData Setelah Diurutkan (Descending):”<<endl;
for(i=0; i<n; i++){
cout<<i+1<<“.”;
cout<<data[i]<<” “<<endl;
}
getch();
}

hasil :


SUMBER :

algoritma dan pemograman 2

assalamualaikum wr.wb saya akan menjelaskan tenatang pelajaran algoritma  dan pemograman pada semester 2. algoritma adalah urutan langka...