Showing posts with label Refleksi Pemrograman Alpro. Show all posts
Showing posts with label Refleksi Pemrograman Alpro. Show all posts

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();


}

Monday, 25 May 2015

Refleksi Pertemuan Kedelapan Alpro

Pelajaran dimulai seperti biasa jam 7 saya datang tepat waktu .Pada pertemuan keenam saya belajar tentang pencarian Linier (Linear search)


Input: array aray dengan banyak data sebanyak ukuran.
Output: data kunci dalam array aray.
Prinsip: setiap data pada aray akan dibandingkan dengan kunci sampai pada data yang terakhir (kasus terburuk (worst case)).

Bila pada posisi ke-i data sama dengan kunci, berarti data ditemukan pada posisi ke-i.
Bila sampai akhir data, data tidak juga ditemukan berarti kunci tidak ada pada aray.

Monday, 6 April 2015

Refleksi Pertemuan Kenam Alpro

Pelajaran dimulai seperti biasa jam 7 saya datang tepat waktu .Pada pertemuan keenam saya belajar tentang fungsi yang mengubah nilai parameter ,
•Dinamakan pass by reference
•Fungsi menggunakan variabel asal
•Argumen harus berupa variabel, tidak boleh konstanta
•Dapat mengembalikan lebih dari satu nilai
Ada 2 jenis parameter yang dideklarasikan dalam subprogram, yaitu :
–parameter nilai (value parameter) : variabel yang dikirimkan tidak mengalami perubahan sekeluar dari subprogram)
–parameter variabel (variable parameter) : variabel yang dikirimkan tidak mengalami perubahan sekeluar dari subprogram)
Saya lumayan paham tentang materi ini. Hari selasa adalah hari yang melelahkan karena pelajaran dari pagi sampai malam.Ganbatte

Monday, 30 March 2015

Refleksi Pertemuan Kelima Alpro



Minggu kelima saya datang lebih pagi.Kuliah alpro dimulai lalu dosen menanyakan tugas dan menanyakan materi minggu ini.Dosen membuka slide dan memerintahkan tentang analisis dalam soal di dropbox.Yang di dapatkan pada minggu ke 5 yaitu tentang sabar dalam menjalani kehidupan.

Friday, 20 March 2015

Refleksi Pertemuan Keempat Alpro

Minggu keempat datang lebih pagi sarapan di kampus sambil wifian.Kuliah alpro seperti biasa ,yang di dapatkan pada minggu ke 4 yaitu perulangan for loop, while loop,do while loop,Repeat until. Setelah itu kita diskusi dan kerja kelompok. Dan di lanjut kuliah sampai malam. Alhamdulillah sabtu tanggal merah bisa istirahat ,hahaha

Friday, 13 March 2015

Refleksi Pertemuan Ketiga Alpro

Saya datang tepat waktu mengikuti perkuliahaan yang berjalan. Perkuliahan di mulai dengan tepat waktu. Kami di beri tugas diskusi dengan kelompok lain. Kami mengerjakan tugas dengan baik 80% tugas terselesaikan dengan baik. Membaca materi lebih baik lagi supaya saya bisa lancar dalam perkuliahan.

Friday, 6 March 2015

Refleksi Pertemuaan Kedua Alpro

Pertemuaan kedua dengan Alpro,semakin banyak program yang di gunakan dan kita harus membuat judul tugas proyek untuk di curhatkan dengan mentor. Pertemuan kedua ini membahas tentang pengerian sekuend, sekuend adalah sedertan pernyataan yang urutan dan pelaksanaan eksekusinya runtut yang lebih dahulu ditemukan akan dikerjakan lebih dahulu bila urutan pernyataan dibalik akan mempunyai makna yang berbeda. Dalam materi saya luamayan paham tentang sekuend. Semoga saya minggu depan lebih mengerti. Dan juga menyelesaikan tugas proyek dengan nilai bagus tanpa halangan.

Monday, 2 March 2015

Refleksi Pertemuaan Pertama Alpro

Awal perkuliahaan saya berjumpa dengan mata perkuliahaan Algoritma dan Pemrogramaan. Setelah libur panjang satu bulan mata kuliah ini sangat menarik. Karena menurut lowongan pekerjaan yang sering saya baca di internet selain C++ seorang game programer juga harus menguasai Algoritma dan Pemrograman.
Perkenalan pertama yang saya dapat antara lain:
1. Perkenalan dengan Dosen pengajar.
2. Deskripsi singkat tentang mata perkuliahaan Algoritma dan pemrogramaan.
3. Kontrak kerja pada perkuliahaan antara mahasiswa dan dosen.
4. Peraturan dalam perkulihaan Algoritma dan Pemrogramaan.
5. Buku pegangan.
Jadi menurut saya mata kuliah ini sangat menarik bagi saya. Karena saya selain tertarik dengan game artis 2D dan 3D saya juga tertarik dengan game programer.

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 | 謝和弦 我不是白馬王子 歌詞 ...