Profil

Foto saya
orang nya lucu,, funny N funky,, suka b'canda dan suka maen bola,,, suka jalan-jalan,, yang penting happy,, semangat untuk menjadi lebih baek untuk hari esok,, heeehhheee

Jumat, 16 Desember 2016

project Perumahan Cimanggis Depok

Halo Sobat Bolgger ,, mohon maaf baru bisa Update blog saya , dah berapa lama ya saya ga ngeblog hehhe ,
masih inget kan siapa saya hehhe ,,, ni coba kita liat Disini Profilku , oke kita lanjut ,,,,,
berikut aku kasih update apa yang saya kerjakan selama ini selalu fakum diblogger

1. Pengerjaan Perumahan Cimanggis
CREDENZA TV

SOFA DAN MEJA SUDUT


Add caption

MEJA MAKAN


Kamis, 24 Maret 2011

linked List


Pendahuluan
Dalam suatu linear list kita dapat melakukan operasi penyisipan atau penghapusan atas elemen-elemennya pada sembarang posisi.
Misalkan ada 1500 item yang merupakan elemen dari suatu linear list.
Jika elemen ke-56 akan kita keluarkan, maka elemen ke-1 s/d elemen ke-55 tidak akan berubah posisinya pada linear list tersebut. Tetapi elemen ke-57 akan menjadi elemen ke-56, elemen ke-58  akan menjadi elemen ke-57 dst. Selanjutnya, jika kita sisipkan satu elemen pada posisi setelah elemen ke-41, maka elemen ke-42 s/d elemen ke-1500 akan berubah posisinya.
Untuk menyatakan keadaan diatas diperlukan suatu konsep yang berbeda dengan konsep sekuensial sebelumnya.
Linked list merupakan suatu cara non-sekuensial yang digunakan untuk merepresentasikan suatu data.
Definisi
Linked list (one way list) adalah suatu kumpulan elemen data (yang disebut sebagai node) dimana urutannya ditentukan oleh suatu pointer.
Setiap elemen (node) dari suatu linked list terdiri atas dua bagian, yaitu :
¨  INFO      , berisi informasi tentang elemen data yang bersangkutan.
¨  NEXT     (link field/next pointer field), berisi alamat dari elemen (node) selanjutnya yang dituju.
¨  Berikut ini sebuah contoh linked list yang terdiri atas 4 node :


¨  Pada node ke-4 field NEXT-nya berisi NULL, artinya node ke-4 tsb. adalah node terakhir.
¨  Node-node dalam linked list tidak harus selalu digambarkan paralel seperti pada gambar diatas. Linked list pada contoh diatas dapat pula digambarkan seperti  berikut ini :
                 




Operasi Pada Linked List
Ada beberapa aturan yang didefinisikan pada operasi didalam linked list, yaitu :
¨  Jika P adalah suatu variabel pointer, maka nilainya adalah alamat atau lokasi dari variabel               lain yang dituju.
¨  Operasi yang didefinisikan pada suatu variabel pointer adalah :
                1. Test apakah sama dengan NULL.
                2. Test untuk kesamaan dengan variabel pointer lain.
                3. Menetapkan sama dengan NULL.
                4. Menetapkan menuju ke node lain.
Notasi yang didefinisikan sehubungan dengan operasi diatas adalah :
    1. NODE(P), artinya node yang ditunjuk oleh pointer P.
    2. INFO(P), artinya nilai INFO dari node yang ditunjuk pointer P.
    3. NEXT(P), artinya hubungan (link) selanjutnya dari node yang ditunjuk oleh pointer P.
Sebagai contoh, perhatikan linked list disamping:
NODE(P) = node yang ditunjuk oleh P yaitu node pertama.
                INFO(P)  = A
                NEXT(P) = node ke-dua
                INFO(NEXT(NEXT(P))) = C
Menghapus Node List
Pendahuluan
Dalam suatu linear list kita dapat melakukan operasi penyisipan atau penghapusan atas elemen-elemennya pada sembarang posisi.
Misalkan ada 1500 item yang merupakan elemen dari suatu linear list.
Jika elemen ke-56 akan kita keluarkan, maka elemen ke-1 s/d elemen ke-55 tidak akan berubah posisinya pada linear list tersebut. Tetapi elemen ke-57 akan menjadi elemen ke-56, elemen ke-58  akan menjadi elemen ke-57 dst. Selanjutnya, jika kita sisipkan satu elemen pada posisi setelah elemen ke-41, maka elemen ke-42 s/d elemen ke-1500 akan berubah posisinya.
Untuk menyatakan keadaan diatas diperlukan suatu konsep yang berbeda dengan konsep sekuensial sebelumnya.
Linked list merupakan suatu cara non-sekuensial yang digunakan untuk merepresentasikan suatu data.
Definisi
Linked list (one way list) adalah suatu kumpulan elemen data (yang disebut sebagai node) dimana urutannya ditentukan oleh suatu pointer.
Setiap elemen (node) dari suatu linked list terdiri atas dua bagian, yaitu :
¨  INFO      , berisi informasi tentang elemen data yang bersangkutan.
¨  NEXT     (link field/next pointer field), berisi alamat dari elemen (node) selanjutnya yang dituju.
¨  Berikut ini sebuah contoh linked list yang terdiri atas 4 node :


¨  Pada node ke-4 field NEXT-nya berisi NULL, artinya node ke-4 tsb. adalah node terakhir.
¨  Node-node dalam linked list tidak harus selalu digambarkan paralel seperti pada gambar diatas. Linked list pada contoh diatas dapat pula digambarkan seperti  berikut ini :
                 




Operasi Pada Linked List
Ada beberapa aturan yang didefinisikan pada operasi didalam linked list, yaitu :
¨  Jika P adalah suatu variabel pointer, maka nilainya adalah alamat atau lokasi dari variabel               lain yang dituju.
¨  Operasi yang didefinisikan pada suatu variabel pointer adalah :
                1. Test apakah sama dengan NULL.
                2. Test untuk kesamaan dengan variabel pointer lain.
                3. Menetapkan sama dengan NULL.
                4. Menetapkan menuju ke node lain.
Notasi yang didefinisikan sehubungan dengan operasi diatas adalah :
    1. NODE(P), artinya node yang ditunjuk oleh pointer P.
    2. INFO(P), artinya nilai INFO dari node yang ditunjuk pointer P.
    3. NEXT(P), artinya hubungan (link) selanjutnya dari node yang ditunjuk oleh pointer P.
Sebagai contoh, perhatikan linked list disamping:
NODE(P) = node yang ditunjuk oleh P yaitu node pertama.
                INFO(P)  = A
                NEXT(P) = node ke-dua
                INFO(NEXT(NEXT(P))) = C
Menghapus Node List
Sebelum proses penghapusan dilakukan, pencarian node yang ingin dihapus harus terlebih dahulu dilakukan. Bila node yang ingin dihapus ditemukan, suatu hal yang selalu harus diperhatikan adalah bagaimana mengeluarkan node tersebut dari linked list dan kemudian menyambung kembali linked list kembali. Kompleksitas menghapus sebuah node dalam linked list adalah O(n). Perhatikan gambar berikut ini:


/*PROGRAM LINKED-LIST
_ _ _ _ _ _ _ _ _ _ _ _ */
#include <iostream.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
class Node
{
public:
int x;
Node *ka;
};
void main()
{
int n,i;
Node *awal, *akhir, *temp;
awal = new Node;
akhir = awal;
cout<<"N = " ; cin>>n;
for ( i=1; i<=n; ++i)
{
temp = new Node;
temp->ka = NULL;
cout<<"Data ke " <<i <<" = ";
cin>> temp->x;
akhir->ka = temp;
akhir = temp;
}
cout<<"Seluruh Data1\n";
temp = awal->ka;
while (temp->ka !=NULL)
{
cout << temp->x <<endl;
temp = temp-> ka;
}
cout<< temp-> x <<endl;
cout<<"Seluruh Data2\n";
temp = awal->ka;
while (temp !=NULL)
{
cout << temp->x <<endl;
temp = temp-> ka;
}
int p;
cout<<"Hapus posisi ke " ; cin>>p;
Node *temp1, *temp2;
temp1 = awal;
for ( i= 1; i<p; ++i)
temp1=temp1->ka;
temp2 = temp1->ka;
temp1->ka = temp2->ka;
delete temp2;
cout<<"Seluruh Data\n";
temp = awal->ka;
while (temp !=NULL)
{
cout << temp->x <<endl;
temp = temp-> ka;
}
getch();
}










berikut adalah outputan program







Sebelum proses penghapusan dilakukan, pencarian node yang ingin dihapus harus terlebih dahulu dilakukan. Bila node yang ingin dihapus ditemukan, suatu hal yang selalu harus diperhatikan adalah bagaimana mengeluarkan node tersebut dari linked list dan kemudian menyambung kembali linked list kembali. Kompleksitas menghapus sebuah node dalam linked list adalah O(n). Perhatikan gambar berikut ini:


/*PROGRAM LINKED-LIST
_ _ _ _ _ _ _ _ _ _ _ _ */
#include <iostream.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
class Node
{
public:
int x;
Node *ka;
};
void main()
{
int n,i;
Node *awal, *akhir, *temp;
awal = new Node;
akhir = awal;
cout<<"N = " ; cin>>n;
for ( i=1; i<=n; ++i)
{
temp = new Node;
temp->ka = NULL;
cout<<"Data ke " <<i <<" = ";
cin>> temp->x;
akhir->ka = temp;
akhir = temp;
}
cout<<"Seluruh Data1\n";
temp = awal->ka;
while (temp->ka !=NULL)
{
cout << temp->x <<endl;
temp = temp-> ka;
}
cout<< temp-> x <<endl;
cout<<"Seluruh Data2\n";
temp = awal->ka;
while (temp !=NULL)
{
cout << temp->x <<endl;
temp = temp-> ka;
}
int p;
cout<<"Hapus posisi ke " ; cin>>p;
Node *temp1, *temp2;
temp1 = awal;
for ( i= 1; i<p; ++i)
temp1=temp1->ka;
temp2 = temp1->ka;
temp1->ka = temp2->ka;
delete temp2;
cout<<"Seluruh Data\n";
temp = awal->ka;
while (temp !=NULL)
{
cout << temp->x <<endl;
temp = temp-> ka;
}
getch();
}










berikut adalah outputan program







Sabtu, 01 Januari 2011

koding program untuk mencari nilai rata_rata

//rata-rata,nilai max,nilai min
#include<iostream.h>
void main(void)
{
    int i=0, Jumlah_Data, SUM=0, MAX, MIN, DATA[7];
    float Rata_Rata;
    cout<<"DATA["<<i<<"]=";cin>>DATA[i];
    while((DATA[i]>=0) && (i<7))
    {
        i++;
        cout<<"DATA["<<i<<"]=";cin>>DATA[i];
    }
    Jumlah_Data=i;
    if(Jumlah_Data<0)cout<<"Data Tidak Ada"<<endl;
    else
    {
        MAX=MIN=DATA[0];
        for(i=0;i<Jumlah_Data;i++)
        {
            SUM=SUM+DATA[i];
            if(MAX<DATA[i])MAX=DATA[i];
            if(MIN>DATA[i])MIN=DATA[i];
        }
        Rata_Rata=(float)SUM/Jumlah_Data;
        cout<<"Jumlah Data     = "<<Jumlah_Data<<endl;
        cout<<"nilai rata-rata = "<<Rata_Rata<<endl;
        cout<<"Data Maximus    = "<<MAX<<endl;
        cout<<"Data Minibus    = "<<MIN<<endl;
    }
}

Senin, 29 November 2010

Algoritma

  1. Sejarah Istilah Algoritma 
Kata algoritma berasal dari latinisasi nama seorang ahli matematika dari Uzbekistan Al Khawārizmi (hidup sekitar abad ke-9), sebagaimana tercantum pada terjemahan karyanya dalam bahasa latin dari abad ke-12 "Algorithmi de numero Indorum". Pada awalnya kata algorisma adalah istilah yang merujuk kepada aturan-aturan aritmetis untuk menyelesaikan persoalan dengan menggunakan bilangan numerik arab (sebenarnya dari India, seperti tertulis pada judul di atas). Pada abad ke-18, istilah ini berkembang menjadi algoritma, yang mencakup semua prosedur atau urutan langkah yang jelas dan diperlukan untuk menyelesaikan suatu permasalahan
  1. Pengertian
Menurut Muhammad ibn Mūsā al-Khwārizmī algoritma adalah : "Suatu metode khusus untuk menyelesaikan suatu persoalan". Menurut Goodman Hedet Niemi algoritma adalah : "Urut-urutan terbatas dari operasi terdefinisi dengan baik, yang masing-masing membutuhkan memori dan waktu yang terbatas untuk menyelesaikan suatu masalah".algoritma juga dapat diartikan sebagai Rangkaian langkah-langkah/alur pikiran untuk menyelesaikan suatu masalah yang sifatnya logis dan sistimatis. Dalam Wikipedia bahasa Indonesia  algoritma merupakan kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir. Masalah tersebut dapat berupa apa saja, dengan catatan untuk setiap masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum menjalankan algoritma. Algoritma akan dapat selalu berakhir untuk semua kondisi awal yang memenuhi kriteria, dalam hal ini berbeda dengan ystemg. Algoritma sering mempunyai langkah pengulangan (iterasi) atau memerlukan keputusan (logika Boolean dan perbandingan) sampai tugasnya selesai.
  1. Jenis algoritma
Terdapat beragam klasifikasi algoritma dan setiap klasifikasi mempunyai alasan tersendiri. Salah satu cara untuk melakukan klasifikasi jenis-jenis algoritma adalah dengan memperhatikan ystemg dan metode yang digunakan untuk mendesain algoritma tersebut. Beberapa ystemg yang digunakan dalam menyusun suatu algoritma akan dipaparkan dibagian ini. Masing-masing ystemg dapat digunakan dalam banyak algoritma yang berbeda.
a)      Divide and Conquer, ystemg untuk membagi suatu permasalahan besar menjadi permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian memecahkan permasalahan-permasalahan kecil yang terbentuk.
b)      Dynamic programming, ystemg pemrograman dinamik akan sesuai jika digunakan pada suatu masalah yang mengandung sub-struktur yang optimal (, dan mengandung beberapa bagian permasalahan yang tumpang tindih . Paradigma ini sekilas terlihat mirip dengan ystemg Divide and Conquer, sama-sama mencoba untuk membagi permasalahan menjadi sub permasalahan yang lebih kecil, tapi secara ystemg ada perbedaan dari karakter permasalahan yang dihadapi.
c)      Metode serakah. Sebuah algoritma serakah mirip dengan sebuah Pemrograman dinamik, bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap; dan menggunakan pilihan “serakah” apa yang dilihat terbaik pada saat itu.
  1. Struktur dasar algoritma
1.      Struktur Sekuensial (Runtunan/ sequence)
Pada struktur sekuensial instruksi dikerjakan secara berurutan baris perbaris mulai dari baris pertama hingga baris terakhir, tanpa ada loncatan atau perulangan. Tiap instruksi dikerjakan satu per satu. Tiap instruksi dilaksanakan tepat sekali, tidak ada instruksi yang diulang. Urutan instruksi yang dilaksanakan pemroses sama dengan urutan instruksi sebagai tertulis di dalam teks algoritma. Akhir dari instruksi terakhir merupakan akhir algoritma.
2.      Struktur Seleksi (Pemilihan/ Selection)
Struktur seleksi adalah instruksi yang dipakai untuk memilih satu aksi dari beberapa kemungkinan aksi berdasarkan suatu syarat.
3.      Struktur Perulangan (repetition)
Perulangan adalah instruksi yang dapat mengulang sederetan Instruksi secara berulang-ulang sesuai persyaratan yang ditetapkan.
  1. Notasi Algoritma
1.      Untaian kalimat deskriptif
Setiap langkah dinyatakan dengan bahasa yang ystemg/jelas. Dengan notasi bergaya kalimat ini, deskripsi setiap langkah dijelaskan dengan bahasa yang ystemg. Proses diawali dengan kata kerja seperti ‘baca’, ‘hitung’, ‘bagi’, ‘ganti’, dan sebagainya, sedangkan pernyataan kondisional dinyatakan dengan ‘jika…maka…’. Notasi ini bagus untuk algoritma yang pendek, namun untuk masalah yang algoritmanya besar, notasi ini jelas tidak efisien. Selain itu, pengkonversian notasi algoritma ke notasi bahasa pemrograman cenderung relative sukar.
2.      Menggunakan diagram alir (flow chart)
a.       flowchart system, adalah suatu gambar yang menjelaskan :
- file-file yang diproses oleh program
- jenis piranti yang digunakan oleh file
- operasi terhadap file (masukan ataupun keluaran).
b.      flowchart program (biasa disebut flowchart saja), adalah suatu gambar yang menjelaskan urutan :
- Pembacaan data
- Pemrosesan data
- Pengambilan keputusan terhadap data
- Penyajian hasil pemrosesan data
3.      Menggunakan pseuo-code
Pseudo-code adalah notasi yang menyerupai notasi bahasa pemrograman tingkat tinggi, khususnya Pascal dan C. Bahasa pemrograman umumnya mempunyai notasi yang hampir mirip untuk beberapa instruksi seperti notasi if-then-else, while-do, repeat-until, read, write, dan sebagainya. Namun tidak seperti bahasa pemrograman yang direpotkan dengan tanda titik koma, indeks, format keluaran, kata-kata khusus, dan sebagainya, sembarang versi Pseudo-code dapat diterima asalkan perintahnya tidak membingungkan pembaca. Keuntungan menggunakan notasi Pseudo-code adalah kemudahan mentranslasi ke notasi bahasa pemrograman, karena terdapat korespodensi antara setiap Pseudo-code dengan notasi bahasa pemrograman. Sehingga Pseudo-code cocok untuk algoritma yang rumit.

Pratayang

Halo semua pada hari ini telah terbit blog pertamakuw semoga dapat berbagi bersama ,,, berbagi yuuuuuukkkkk