Friday 23 March 2018

Linked list dalam C++

#include <iostream>
#include <conio.h>
#include <stdio.h>
using namespace std;
typedef struct TNode{
  int data;
  TNode *next;
 };
 TNode *head;

 void init(){
  head==NULL;
 }

 int isEmpty(){
  if(head==NULL)
   return 1;
   else
   return 0;
 }

 void insertdepan (int n){
  TNode *baru;
  baru = new TNode;
  baru->data=n;
  baru->next=NULL;
  if (isEmpty()==1){
   head=baru;
   head->next=NULL;
  }else{
   baru->next=head;
   head=baru;
  }
  cout<<"Data Terisi";
  }
 
 void insertbelakang(int n){
  TNode *baru, *bantu;
  baru = new TNode;
  baru->data=n;
  baru->next=NULL;
  if(isEmpty()==1){
   head=baru;
   head->next=NULL;
  }else{
   bantu=head;
   while(bantu->next!=NULL){
    bantu=bantu->next;
   }
   bantu->next=baru;
  }
  cout<<"Data Terisi";
 }

 void tampil(){
  TNode *bantu;
  bantu=head;
  if(isEmpty()==0){
   while(bantu!=NULL){
    cout<<bantu->data<<endl;
    bantu=bantu->next;
   }
  }else
  cout<<"Masih Kosong"<<endl;
 }

 void hapusdepan(){
  TNode *hapus;
  int d;
  if(isEmpty()==0){
   if(head!=NULL){
    hapus=head;
    d=hapus->data;
    head=hapus->next;
    delete hapus;
   }
   cout<<"Data : "<<d<<" Telah di Hapus"<<sendl;
  }
  else
  cout<<"Masih Kosong"<<endl;
 }

 main(){
  int pil;
  do{
   system("cls");
   int n;
   cout<<"1. Insert Depan"<<endl;
   cout<<"2. Insert Belakang"<<endl;
   cout<<"3. Display"<<endl;
   cout<<"4. Delete"<<endl;
   cout<<"5. Exit"<<endl;
   cout<<"Masukan Pilihan Anda :";pil=getche();
   switch(pil){
    case '1':{
     system("cls");
     cout<<"Masukan data :";cin>>n;
     isEmpty();
     insertdepan(n);
     break;
    }
    case '2':{
     system("cls");
     cout<<"Masukan Data :";cin>>n;
     isEmpty();
     insertbelakang(n);
     break;
    }
    case '3':{
     system("cls");
     isEmpty();
     tampil();
     break;
    }
    case '4':{
     system("cls");
     isEmpty();
     hapusdepan();
     break;
    }
   }getch();
  }while(pil!=5);
   return 0;
 }

Friday 9 March 2018

Pointer Dalam Bahasa C

Pointer Dalam Bahasa C

Pengertian Pointer

  • Pointer adalah suatu variabel yang menunjuk ke alamat memory variabel yang lainnya.
  • Suatu pointer bukan berisi dengan suatu nilai data seperti halnya pada variabel biasa, variabel pointer berisi dengan suatu alamat.
  • Untuk mendeklarasikan variabel pointer kita menggunakan tanda asterik / bintang (*) didepan variabel yang di deklarasikan pada tipe data tertentu.
  • Tanda ini juga dapat dipakai untuk mengakses nilai dari variabel yang telah ditunjuk.
  • Untuk mendapatkan alamat dari variabel pointer kita menggunakan tanda &

Deklarasi & Isi

Deklarasi variabel pointer seperti halnya deklarasi variabel lainnya hanya ditambahkan tanda * pada depan nama variabel.
int *b
Untuk mendapatkan alamat memori pointer (address of) maka perintah yang digunakan adalah menambahkan tanda & didepan variabel
&b
Untuk mendapatan Isi atau nilai dari variabel pointer maka perintah yang digunakan cukup nama variabelnya saja.
b
Untuk mendapatkan isi atau nilai dari alamat yang terdapat pada isi pointer (value pointed by) maka perintah yang digunakan adalah menambahkan tanda * didepan variabel
*b
Contoh program dengan pointer
#include <stdio.h>

main(){
    int *ptr;
    int k;
    k=7;
    printf("Isi variabel k = %d",k);
    printf("\nAlamat variabel k = %d",&k);
    printf("\nAlamat variabel *ptr = %d",&ptr);
    printf("\nIsi variabel *ptr = %d",ptr);
    ptr=&k;
    printf("\nAlamat variabel *ptr = %d",&ptr);
    printf("\nIsi variabel *ptr = %d",ptr);
    printf("\nIsi dari alamat %d = %d",ptr,*ptr);
    printf("\n");
}

Fungsi dan Pointer

Pada bagian ini akan dibahasa mengenai penggunaan pointer pada parameter fungsi. Parameter pass by reference adalah pemrosesan parameter di dalam sebuah fungsi di mana yang dimasukkan didalam prosedur adalah tempat atau alamat dari variabel yang menjadi parameter sehingga dapat terjadi perubahan nilai variabel yang menjadi parameter.
Contoh program fungsi dengan parameter pass by reference
#include <stdio.h>

int hitung(int a, int *b){
    *b = 15;
    return a + *b;

}

main(){
    int y,z,hasil;
    y=10;
    z=50;
    printf("Sebelum Jalankan Fungsin");
    printf("y=%d\n",y);
    printf("z=%d\n",z);
    hasil=hitung(y,&z);
    printf("Sebelum Jalankan Fungsin");
    printf("y=%d\n",y);
    printf("z=%d\n",z);
    printf("hasil=%d\n",hasil);
}

Larik dan Pointer

Dalam pemrograman C, definisi larik dituliskan: type_name array_name [number_of_array], misal larik A bertipe integer dengan 10 anggota didefinisikan dengan int A[10].Apa maksudnya? Dengan penulisan itu, maka diperintahkan kepada kompiler untuk menyediakan alamat memori sebesar 10 * sizeof(int). Bila ukuran int adalah 4 byte, maka compiler akan mengalokasikan sebesar 10 * 4 byte = 40 byte memori untuk A. Maka penggambarannya dapat diilustrasikan sebagai berikut.
ArrayAlamat Memori
A[0]0xDDDD0004
A[1]0xDDDD0008
A[2]0xDDDD000C
A[7]0xDDDD0020
A[8]0xDDDD0024
A[9]0xDDDD0028
Seperti pada pembahasan pointer dengan variabel, pointer pada larik sesungguhnya juga diperintahkan pointer agar menunjuk ke alamat yang telah dialokasikan oleh larik tersebut. Pada contoh diatas, bila didefinisikan suatu pointer
int *P:
kemudian kita tunjuk ke alamat larik A
P = &A[0];
maka alamat P akan menunjuk ke alamat 0xDDDD0004
Program berikut ini menampilkan alamat memory dan mengakses larik menggunakan pointer.

#include <stdio.h>

main(){
    int my_array[6] = {1,23,17,4,-5,100};
    int *p_array;

     // Dapat juga ditulis  p_array = my_array;
    p_array = &my_array[0];

    printf("Alamat dari p_array=%d\n",&p_array);
    printf("Isi dari isi p_array=%dn\n",*p_array);
    p_array++;
    printf("Isi dari p_array=%d\n",p_array);
    printf("Isi dari isi p_array=%d\n",*p_array);
}

Program berikut ini menampilkan larik dengan menggunakan pointer.
#include <stdio.h>

main(){

    int *pArray, Array[10],i;
    for(i=0;i<10;i++){
        Array[i] = i+10; //pengisian array
    }
    // tunjuk pArray ke alamat awal array
    pArray = &Array[0]; // bisa dituliskan pArray=Array
    for(i=0;i<10;i++){
        printf("Alamat pointer= %d. Isi dari alamat %d = %d\n",&pArray,pArray,*pArray++); //cetak pArray
    }
}

Latihan Pointer

Program berikut ini memasukan nilai dari keyboard dan perubahan nilai dari pointer.
#include <stdio.h>

main(){
    int *ptr,nilai;
    //memberikan alamat memori nilai ke variabel *ptr
    ptr=&nilai;

    printf("Isi Nilai = ");
    scanf("%d",&nilai);
    printf("Isi dari isi alamat ptr = %d\n\n",*ptr);

    printf("Isi Nilai = ");
    scanf("%d",&nilai);
    printf("Isi dari isi alamat ptr = %d\n\n",*ptr);

    printf("Isi Nilai = ");
    scanf("%d",&nilai);
    printf("Isi dari isi alamat ptr = %d\n\n",*ptr);
}
Program berikut ini mengisi dan menampilkan larik menggunakan pointer
#include <stdio.h>

main(){

    int *pArray, Array[10];
    int i;
    // tunjuk pArray ke alamat awal array
    pArray = &Array[0]; // bisa dituliskan pArray=Array
    for(i=0;i<10;i++){
        *pArray = i+100; //pengisian array melalui pArray
        pArray++;
    }
    pArray = &Array[0];
    for(i=0;i<10;i++){
        printf("pArray = %d\n",*pArray++); //cetak pArray
    }
}
Program berikut ini mengisi larik dari keyboard dengan pointer dan menampilkannya.
#include <stdio.h>

main(){
    int *ptr,i,nilai,arrayA[3];
    ptr=arrayA;
    for(i=0;i<3;i++){
        printf("Isi nilai[%d] = ",i);
        scanf("%d",&nilai);
        *ptr=nilai;
        ptr++;
    }
    for(i=0;i<3;i++){
        printf("Isi nilai[%d] = %d",i,arrayA[i]);
        printf("\n");
    }
    printf("\n");
}
Program berikut ini memanipulasi larik dengan fungsi menggunakan pointer.
#include <stdio.h>

void rubah(int *b){
     printf("n%d",b);
    *--b = 7;
}

main(){
    int my_array[6] = {1,23,17,4,-5,100};
    int i;
    printf("Menampilkan Data Array\n");
    //Menggunakan Looping
    for(i=0;i<6;i++){
        printf("Data ke-%d =  %d\n",i+1,my_array[i]);
    }
    rubah(&my_array[3]);
    printf("Menampilkan Data Array Setelah di rubah\n");
    for(i=0;i<6;i++){
        printf("Data ke-%d =  %d\n",i+1,my_array[i]);
    }
}

Friday 2 February 2018

Klasmen Bola

Tugas Struktur Data, Riski Ramdan 121514

Source Code :

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

using namespace std;

int i,j,pil,k;
int W,L,D,P;
int goal1,goal2,xRan1,xRan2;
string tim1,tim2;
string tim[16];

namaTim(){
tim[0]="Persib";
tim[1]="Persija";
tim[2]="Persebaya";
tim[3]="Persiba";
tim[4]="Perseru";
tim[5]="Persepura";
tim[6]="Persiwa";
tim[7]="Persikabo";
tim[8]="Persikab";
tim[9]="Arsenal";
tim[10]="ManchesterU";
tim[11]="ManchesterC";
tim[12]="Chelsea";
tim[13]="Tottenham";
tim[14]="AcMilan";
tim[15]="Juventus";

cout<<"=============KLASEMEN LIGA============= \n";
cout<<"| no | Nama Tim       | M | S | K | P |   \n";
cout<<"|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|\n";
cout<<"| 01 | Persib         | "<<W<<" | "<<D<<" | "<<L<<" | "<<P<<" |\n";
cout<<"| 02 | Persija        | "<<W<<" | "<<D<<" | "<<L<<" | "<<P<<" |\n";
cout<<"| 03 | Persebaya      | "<<W<<" | "<<D<<" | "<<L<<" | "<<P<<" |\n";
cout<<"| 04 | Persiba        | "<<W<<" | "<<D<<" | "<<L<<" | "<<P<<" |\n";
cout<<"| 05 | Perseru        | "<<W<<" | "<<D<<" | "<<L<<" | "<<P<<" |\n";
cout<<"| 06 | Persepura      | "<<W<<" | "<<D<<" | "<<L<<" | "<<P<<" |\n";
cout<<"| 07 | Persiwa        | "<<W<<" | "<<D<<" | "<<L<<" | "<<P<<" |\n";
cout<<"| 08 | Persikabo      | "<<W<<" | "<<D<<" | "<<L<<" | "<<P<<" |\n";
cout<<"| 09 | Persikab       | "<<W<<" | "<<D<<" | "<<L<<" | "<<P<<" |\n";
cout<<"| 10 | Arsenal        | "<<W<<" | "<<D<<" | "<<L<<" | "<<P<<" |\n";
cout<<"| 11 | ManchesterU    | "<<W<<" | "<<D<<" | "<<L<<" | "<<P<<" |\n";
cout<<"| 12 | ManchasterC    | "<<W<<" | "<<D<<" | "<<L<<" | "<<P<<" |\n";
cout<<"| 13 | Chelsea        | "<<W<<" | "<<D<<" | "<<L<<" | "<<P<<" |\n";
cout<<"| 14 | Tottenham      | "<<W<<" | "<<D<<" | "<<L<<" | "<<P<<" |\n";
cout<<"| 15 | AcMilan        | "<<W<<" | "<<D<<" | "<<L<<" | "<<P<<" |\n";
cout<<"| 16 | Juventus       | "<<W<<" | "<<D<<" | "<<L<<" | "<<P<<" |\n";
cout<<"|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|\n";
cout<<"|              1.Keluar               |\n";
cout<<"|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|\n";
cout<<"Pilihan Anda : ";
cin>>pil;
switch(pil){
case 1: system("cls");
cout<<"|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|\n";
cout<<"|Terima Kasih Telah Menggunakan Aplikasi Kami|"<<endl;
cout<<"|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|\n";
break;
}

// for(k=0;k<16;k++)
// {
// cout<<"| "<<k+1<<" |"<<tim[k]<<"               \n";
// }                                                   
}

input_tim(){
cout<<"=============PERTANDINGAN=============\n";
cout<<"|  Input Team Yang Akan Bertanding   |\n";
cout<<"|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|\n";
cout<<"  HOME : ";
cin>>tim1;
cout<<"  AWAY : ";
cin>>tim2;
cout<<"|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|\n";
}

input_goal(){
cout<<"|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|\n";
cout<<"|             Input Goal             |\n";
cout<<"|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|\n";
cout<<"  HOME : ";cin>>goal1;
cout<<"  AWAY : ";cin>>goal2;
cout<<"|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|\n";
}

tarung(){
srand(time(0));
xRan1=rand()%5+1;
xRan2=rand()%5+1;
cout<<"|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|\n";
cout<<"|  Enter Untuk Melihat Hasil Tanding |\n";
getch();
cout<<"|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|\n";
cout<<"       "<<tim1<<" "<<"["<<xRan1<<"]"<<" vs "<<"["<<xRan2<<"]"<<" "<<tim2<<"\n";
input_goal();
}


timtanding(){
input_tim();
cout<<"          "<<tim1<<" ";
cout<<" vs ";
cout<<tim2<<" \n";
}

pertandingan(){
timtanding();
tarung();
if (goal1 > goal2)
{
cout<<"     Team "<<tim1<<" Dinyatakan Menang"<< endl;
cout<<"|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|\n";
}
else if(goal1 < goal2)
{
cout<<"     Team "<<tim2<<" Dinyatakan Menang"<< endl;
cout<<"|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|\n";
}
else{
cout<<"              Hasil Seri"<<endl;
cout<<"|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|\n";
}
cout<<"|          1. Lihat Klasmen          |\n";
cout<<"|          2. Keluar                 |\n";
cout<<"|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|\n";
cout<<"Pilihan Anda (1,2) : ";
cin>>pil;
switch(pil){
case 1: system("cls");
namaTim();
break;
case 2: system("cls");
cout<<"----------------------------------------------"<<endl;
cout<<"|Terima Kasih Telah Menggunakan Aplikasi Kami|"<<endl;
cout<<"----------------------------------------------"<<endl;
break;
}


}
main(){
awal:
cout<<"==========APLIKASI TANDING BOLA==========\n";
cout<<"|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|\n";
cout<<"|           1. Tampil Klasmen           |\n";
cout<<"|           2. Pertandingan             |\n";
cout<<"|           3. Keluar                   |\n";
cout<<"|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|\n";
cout<<"Pilihan Anda (1,2,3) : ";
cin>>pil;
switch(pil){
case 1: system("cls");
namaTim();
break;
case 2: system("cls");
pertandingan();
break;
case 3: system("cls");
cout<<"----------------------------------------------"<<endl;
cout<<"|Terima Kasih Telah Menggunakan Aplikasi Kami|"<<endl;
cout<<"----------------------------------------------"<<endl;
break;
}

}





Monday 28 November 2016

Detective Conan Season 2


Hello Sob langsung aja ya, nih buat lanjutan Detective Conan Season 1 bisa di download di sini :


Oke sekian dari saya semoga dapat membantu dan apabila ada file atau link yang rusak harap laporkan kepada saya. 

                              Terimakasih Selamat Bernostalgia 

Untuk yang tidak mengetahui bagaimana cara melewati adf.ly bisa klik link ini
Untuk yang tidak mengetahui cara mendownload dari tusfiles bisa lewat sini
Untuk yang tidak mengetahui cara mendownload dari tusfiles bisa lewat sini