Friday, 23 October 2015

Bahasa Pemrograman : Struktur Data 07

Operator Overloading :

istream&operator>>(istream&inArray1D&x)//operator overloading{
int posisi;//deklarasi posisi
cout<<"Mengisi Array Pada Posisi ke :";
in>>posisi;//input posisi
if(posisi>0&&posisi<=maks)//perulangan memasukan element array{
cout<<"Masukan Element Arraynya";
in.A[posisi];
}
else{
cout<<"Anda Memasukan Posisi diluar range";//output ketika memasukan posisi diluar range
return in;
}



Pengertian, Macam - macam, dan Penggunaan Linked List dalam C++

Linked list adalah sekumpulan elemen bertipe sama, yang mempunyai keterurutan tertentu, yang setiap elemennya terdiri dari dua bagian Linked list juga merupakan suatu cara untuk menyimpan data dengan struktur sehingga dapat secara otomatis menciptakan suatu tempat baru untuk menyimpan data yangdiperlukan. Struktur ini lebih dinamis karena banyaknya elemen dengan mudah ditambah atau dikurangi, berbeda dengan array yang ukurannya tetap. berikut gambaran kecil mengenai linked list.





Didalam Linked List terdapat beberapa bagian lagi

1. Linked List Circular

Double Linked List
Pengertian secara umumnya DLLC itu Linked list yang menggunakan pointer, dimana setiap node memiliki 3 field, yaitu:
1 field pointer yang menunjuk pointer berikutnya "next",
1 field menunjuk pointer sebelumnya " prev ",
1 field yang berisi data untuk node tersebut .

Double Linked List Circular pointer next dan prev nya menunjuk kedirinya sendiri secara circular. Bentuk Node DLLC





Single Linked List Single Linked List Circular (SLLC) adalah Single Linked List yang pointer nextnya menunjuk pada dirinya sendiri. Jika Single Linked List tersebut terdiri dari beberapa node, maka pointer next pada node terakhir akan menunjuk ke node terdepannya






2. Linked List Non Circular

Double Linked List Non Circular (DLLNC)

adalah Double Linked List yang memiliki 2 buah pointer yaitu pointernext dan prev.
Pointer next menunjuk pada node setelahnya dan pointer prev menunjuk pada node sebelumnya.

Pengertian:
Double : artinya field pointer-nya dua buah dan dua arah, ke node sebelum dan sesudahnya.
Linked List : artinya node-node tersebut saling terhubung satu sama lain.
Non Circular : artinya pointer prev dan next-nya akan menunjuk pada NULL.








Single Linked List Non Circular (SLLNC)


Adalah Linked List yang pointer nya selalu mengarah ke Node yang menampung *next bernilai NULL, jadi arahnya tidak menunjuk pointer didepannya sehingga tidak dapat kembali ke pointer - pointer sebelumnya. SLLNC ini juga memiliki 2 bagian, ada Tambah dan ada Hapus, masing - masing bagian ini juga masih meliputi 3 fungsi lain yaitu Belakang, Tengah, dan depan. untuk Contoh Tambah & Hapus






Bahasa Pemrograman : Struktur Data 06

Link List
#include <iostream>

using namespace std;
class Link{
public :
int data;
Link *next;
Link *back;
};

int main(int argc, char** argv) {
Link *a = new Link;
Link *b = new Link;
Link *c = new Link;
a->data = 1;
a->next = b;
b->data = 2;
b->next = c;
c->data = 3;
c->next= NULL;
cout<<a->next->data;
return 0;
}

Bahasa Pemrograman : Struktur Data 05


TDA(Tipe Data Abstrak).

Tipe Data Abstrak 1D Statis

# include <iostream.h>
# define maks 5
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[maks];

};

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

}

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

}

istream& operator>>(istream& in, Array1D& x){
int posisi;
cout << "Mengisi array pada posisi ke : ";
in >> posisi;
if (posisi > 0 && posisi <= maks) {
cout << "Masukkan elemen array-nya : ";
in >> x.A[posisi-1];
}
else
cout << "Anda memasukkan posisi di luar range ... ";
return in;
}

voi d Array1D::geser_kanan(){
int n = maks;
int temp = A[n-1];
f or (int i=n-1; i >= 0; i--)
A[i+1] = A[i];
A [0] = temp;
}


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


Main

main() {
Array1D x;
cout << "Array masih kosong : " << x;
cin >> x;
cout << "Isi Array saat ini : " << x;
x.geser_kiri();
cout << "Isi Array setelah digeser ke kiri : " << x;
x.geser_kanan();
cout << "Isi Array setelah digeser ke kanan : " << x;
return 0;
}

Saturday, 10 October 2015

Bahasa Pemrograman : Struktur Data 04

1. Array [Input & Output]

#include <iostream>
using namespace std;

class Arrq{
private:
int arr[9];
int i;
public:
void input(int i,int b){
if (i<b){
cout<<"Masukkan Array ";
cin>>arr[i];
input(i+1,b);

}

}
void output(int i,int b){


//for (int i=0;i<9;i++){
if (i<b){

cout<<arr[i]<<" ";
cout<<endl;
output(i+1,b);
}


}


};



int main(int argc, char *argv[]) {
Arrq a;
a.input(0,9);
cout<<endl;
a.output(0,9);


return 0;

}


2. Array [Mengubah baris menjadi kolom]

#include <iostream>
using namespace std;

int main(int argc, char *argv[]) {
int arr[9]={1,2,3,4,5,6,7,8,9,};
int p=0;
cout<<"sebelum di tukar= \n";

for(int b=0;b<3;b++){
for(int h=0;h<3;h++){
cout<<arr[h+p]<<" ";

}cout<<endl;
p=p+3;
}
int q=0;
for (int c=0;c<9;c++){
if (arr [c]%3!=0){
int temp=arr[c];
arr[c]=arr[c+1];
arr[c+1]=temp;

}
}
cout<<"setelah di tukar = \n";
cout<<endl;
for(int i=0;i<3;i++){
for (int a=0;a<3;a++){
cout<<arr[a+q]<<" ";

}cout<<endl;
q=q+3;

}





return 0;

}

Bahasa Pemrograman : Struktur Data 03



1. 3 Jenis Perulangan C++


For

Mencetak bilangan 10 sampai 1.
Void cetaklah(int i, int j){
int i=10;
int j=1;

for(i=10;i>=j;i--){
cout<<i;

}

Do...while

Mencetak bilangan 10 sampai 1.
void cetaklah(int i, int j){
int i=10;
int j=1;

do{
cout<<i;
}

while(i>j){
cout<<"Selesai";
}


While


Mencetak bilangan 10 sampai 1.
void cetaklah(int a, int b){
int i=a;
while(i>=b){
cout<<" I = "<<i;
}


2. Array

void masukandata(int A[], int n){
for(int i=0;i<=n;i++){
cout<<"Masukan Data ke"<<i+1;
cin>>A[i];
}

int jumlahkan(const int A[], int n){
int total=0;
for(int=0;i<n;i++){
total += A[i];
return total;
}

Bahasa Pemrograman : Struktur Data 02



Struct & Class

1. Main

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

int main(){
float bil1=0,bil2=0,jumlah;

cout<<"Masukan Bilangan A : "; cin>>bil1;
cout<<"Masukan Bilangan B : "; cin>>bil2;
jumlah =bil1+bil2;

cout<<"Jumlah "<<bil1<<" + "<<bil2<<" = "<<jumlah;


getch();
)

2. Fungsi

void masukandata(float &bil1,float &bil2){

cout<<"Masukan Bilangan A : "; cin>>A;
cout<<"Masukan Bilangan B : "; cin>>B;
jumlah =A+B;

)


float jumlahkan(float bil1,float bil2){
float jumlah;
jumlah=0;
jumlah=bil1+bil2;
return jumlah;
}


float tampilkan(float bil1,float bil2,jumlah){
cout<<"Jumlah "<<bil1<<" + "<<bil2<<" = "<<jumlah;
return jumlah;
}


3. Struct
Struct Bilangan{
float bil1;
float bil2;
}


Bilangan x;


masukandata(x.bil1,x.bil2);
float jumlah;
jumlah=jumlah(x.bil1,x.bil2);
tampilkan(x.bil1,x.bil2,jumlah);


}
4. Class
Class Bilangan{
public:
void masukandata();
float jumlah();
void tampilkan();

private:
float bil1;
float bil2;
float jumlah;
}

Bilangan x;

x.masukandata();
x.jumlah();
x.tampilkan();

Bahasa Pemrograman : Struktur Data 01



1. Perulangan For


#include <conio.h>


#include <iostream.h>





int main(){


for(int i=1;i<10;i++){


cout<<i;


}


getch();


)






2. Perulangan While


#include <conio.h>


#include <iostream.h>






int main(){


int i;


while (i<=10){


cout<<i;


}


getch();


}






3. Perulangan Do-while


#include <conio.h>


#include <iostream.h>






int main(){


int i;


do{


cout<<i;


i++;


}


while(i<=10)


}


getch();


}






4. Fungsi


#include <conio.h>


#include <iostream.h>






void main(){


int hitung(int a, int b){


total=0;


for(int a=1;a<=b;a++){


total=total+1;


return total;


}


getch();


}


5. Template (Fungsi)


#include <conio.h>


#include <iostream.h>





void main(){


Template<Class T>


T hitung(T a, T b){


total=0;


for(T a=1;a<=b;a++)


total=total+1;


return total;


}


getch();


}






6. Fungsi Ganjil


#include <conio.h>


#include <iostream.h>






void main(){


void ganjil(int a, int b){


for(a=1;a<=b;a++){


if(a%2!0){


cout<<a<<",";


}


getch();


}

R-chord 謝和弦 - I&#39;m Not Your Prince Charming 我不是白馬王子 Lyrics 歌詞 with Pinyin

R-chord 謝和弦 x 高爾宣 & 李傑明 - I'm Not Your Prince Charming 我不是白馬王子 (Wo Bu Shi Bai Ma Wang Zi) Lyrics 歌詞 with Pinyin | 謝和弦 我不是白馬王子 歌詞 ...